2.7.0.beta6: Automatic Group Avatar Flair, Improved User Education Content, Bookmark Pinning, and more

New features in 2.7.0.beta6

Move site updated modal into a less obtrusive prompt

As those who read these notes can attest to, Discourse is constantly receiving updates. When a site admin updates the site, end-users need to refresh their browser to take advantage of the changes. If an end-user does not do so within 24 hours of an update, they’ll receive a message prompting them to refresh. This message previously appeared as a modal, blocking the user from taking any further actions. It now appears as a banner, to avoid blocking the user.

Allow setting avatar flair for automatic groups

Admins can now configure avatar flair for automatic groups like admins, moderators, staff, and trust levels. Want to highlight your TL4 users? Why not give them flair!

Improving user education and help text

In beta6 we’ve started working our way through all the various pages in Discourse that can be “blank”, and improving the information shown. Previously, a user with no messages in their inbox would see this:

image

Now, they instead see the following, providing some info on how to use messages:

image

We’ll be adding similar content throughout Discourse over the next few releases.

Automatic header anchor links

Have a long topic and want to link users to a paragraph 2/3 of the way down? No problem, Discourse now allows users to copy links with anchors allowing users to jump to a header within a topic. Hover over a header to reveal a :link:, like in the screenshot below. Click the link to add an anchor to the URL. Copy the URL from your address bar to share with others.

image

Import and export watched words

Admins can now import and export watched words as CSV, making it easier to manage large sets of words.

Bookmark pinning

Bookmarks can now be pinned, like topic, keeping them at the top of your list so you never have to dig deep for your favorite topic.

Support invites and non-local logins

Discourse now supports invites even when local logins aren’t enabled. This includes DiscourseConnect, social logins like Google, Apple, and Twitter, as well as OAuth2, OpenID Connect, and SAML. A user receiving an invite will be redirected to the auth provider for authentication, then directed back to Discourse.

image

New flag option for staff: Queue For Review

Staff flagging posts will now see a new option, Queue For Review. When selected, the post will be immediately hidden, and added to the review queue for further review by staff.

image

Accessibility improvements

We’re always working to ensure that everyone on the internet can use Discourse, including those using assistive technology. To that end, this release includes additional accessibility improvements based on a recent audit we underwent.

  • Makes replies count a button and not a link
  • Make the keyboard accessible + aria attribs
  • Do not use positive tabindex in composer
  • Makes search results count readable by screen reader
  • Improves avatar menu focus/active states
  • Associates lists with labels on interface page
  • Links change username input to its label

Additional Features

This beta has so many new features we can’t detail them all. Below are some additional features of note. You can find the full list of new features in the following post.

  • Cache successful HTTP GET requests during Oneboxing
  • Allow admins to pre-populate user fields
  • Implement nonces for Google Tag Manager integration
  • Treat emoji or similar characters as one
  • Add CSP frame-ancestors support
  • Add a typographer rule to replace (pa) with ¶.
  • Implement browser update in crawler view
  • Check email availability in signup form
  • Allow users to save draft and close composer
  • Obfuscate emails on invite show page
  • Improve expired invites tab
  • Add above-timeline plugin outlet
  • New DiscourseEvent trigger for likes
  • Enable contact picker on new invite modal
  • Always show tag dropdown when tagging is enabled
39 Likes

Even more!

But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.

Security Updates

This beta includes 1 security fix for issues reported by our community and HackerOne.

  • Fix is_private_ip for RateLimiter to cover all cases

Plugin improvements

Many plugins

  • Bug fix
    • We’ve patched numerous bugs in many of our plugins
  • Translations
    • We’ve updated the translations in many of our plugins

Encrypt

  • Permenantly delete encrypted messages 1 minute after deletion

Docs

  • Add selectTag, tags, and categories to plugin outlet

Docker Manager

  • Add indicator if plugin is official but forked

WP Discourse

  • Update wp-scripts dev-dependency
  • Move Discourse Sidebar styles.css to the root of the /discourse-sidebar directory
  • Add wpdc_comments_count filter to allow comments count for posts that have not been published to Discourse to be filtered

Subscriptions

  • Add Danish Krone as supported currency

User Notes

  • “Show post” should be a link so admins can open the post in a new tab.

Additional Features and Fixes

Click to expand

New Features

  • Treat site settings as plain text and add a new HTML type.
  • Retrieve an existing link only invite
  • Add maximum limit for secondary emails
  • Copying invite link triggers a save
  • Use appEvents instead of jQuery for composer resizing progress
  • Add new :topic_tags_changed DiscourseEvent
  • Add admin-area class to HTML tag
  • Replace markdown-it replacements rule.
  • Fallback to system users when creating new TopicEmbed
  • Allow a cluster_name to be configured and used for /srv/status
  • Flag to disable DiscourseConnect CSRF protection
  • Add tag-custom-settings plugin outlet

Bug Fixes

  • Ensure software-update banner is only shown after 24 hours
  • Prevent double slashes in Ember templates paths
  • Make HTML scrubber work with deep HTML
  • Small tweaks to “no messages” education
  • Include watched topics from muted categories in digests
  • Keep current filter while navigating posts in a topic
  • Retain tags when loading a topic draft in composer
  • Show sign up modal when local logins are disabled
  • Clear state after creating new topic
  • New Topic button regression in tag page
  • Simplify send PM to email settings
  • Bulk select on full-page search
  • Rake themes:update should fail if a theme update fails
  • With vanilla js .href and getAttribute(“href”) are not equal
  • Rake themes:install error if theme cannot be updated
  • Downloading watched words was broken
  • Better error message for redeemed invite
  • “confirm new email” emails were failing for EmailChangeRequest records with blank requested_by_user_id field
  • Post merging was failing silently
  • Title when YouTube is pasted as the title to composer
  • Autocorrect values for dropdown imported user fields
  • Reload messages after a bulk operation
  • Handle staged users as unregistered users for external auth
  • User fields are case insensitive in bulk CSV
  • Redirect to provided origin after auth
  • Improve error messages if user cannot send PM emails
  • AdditionalOpts update and change to function
  • Show error messages when adding permalinks in the admin UI
  • Prevent UniqueViolation exceptions when syncing group mentions
  • Set the “hasTargetGroups” attribute in the composer when clicking the group message button.
  • Isolate modal and global key-binds
  • Bookmark topics were not being updated when the post moved
  • Allow dismissing Discard Drafts modal via ESC
  • Add all the keys that should be allowed in user_notifications
  • Replace ‘Chromebook’ with ‘Chrome OS’
  • Allow pasting invitees in invite modal
  • Composer save button should be :pencil2: Save Edit when editing a PM post
  • Remove @discobot likes feature on public topics
  • uploads:fix_missing_s3 rake task used wrong SHA1
  • Delete orphan post revisions
  • Add topic_diff to PostRevisor
  • Make mobile back/forward keybinds work for anons
  • Error overriding user notification string with valid keys
  • New-topic route with sub-category and tags were broken
  • 404 error when editing an expanded reply
  • Rake db:validate_indexes was broken
  • Correct mailing list migration
  • Perform better email validation
  • Add migration to set correct redemption_count
  • Regression in colors used by non-default theme
  • Bulk “archive” and “move to inbox” for group messages was broken
  • Replace censored watched word consistently
  • Do not show duplicate_link notice for quotes
  • Never display the invite show page form if DiscourseConnect enabled
  • Don’t attempt to delete non-existent bookmark
  • Anons should see the Topic slow mode notice.
  • Ensures popper’s autocomplete instance is destroyed
  • Improvements to email styles
  • Ensures invisible link is not interfering with UI/tab order
  • Restore client.zh_TW.yml
  • A never created listener was removed
  • Tests were broken in Firefox
  • Clear draft modal correctly when switching topics
  • Ensure 100-logster initializer is run before 101-lograge
  • Only refresh the review count when the user can see the review queue.
  • Improve handling when email is obfuscated
  • Delete invalid web push subscriptions
  • Do not fail if Postgres is not available
  • All staff members (regardless of TL) should be able to pin/unpin topics
  • Browser-update should work with old browsers
  • Do not treat code tag as block level element
  • Delete post action from permanently deleted posts
  • Be able to handle long file extensions
  • In components, fall back to default theme color variables
  • Do not raise if post no longer exists
  • Viewing some tag routes wasn’t rendering the list without JS
  • Tests in admin/tests were not running
  • Fix narrative bot settings in multisites
  • Allow group owners manage group flair
  • Escape Font Awesome icons
  • Mention notification takes precedence over group
  • Correctly use invite to topic email templates
  • Do not convert format for site setting uploads
  • Deprecation warning - initialization autoloaded the constant
  • Move PWA App shortcut for bookmarks to new path
  • Allow additional valid theme .git url formats
  • Kernel.open is deprecated
  • Show a proper error message when trying to bulk award a disabled badge.
  • Show link in invite panel
  • Invite acceptance tests were broken in Ember CLI
  • Make sure tag-based topic list uses its own preload key
  • Do not block uploads path in robots.txt
  • When destroying a topic, destroy its associated published page.
  • Include json_schemer in prod
  • Nav items not recomputing on query param change
  • Add amazon sites to force_get_hosts

UX Changes

  • Icon instead of text for hiding mobile preview
  • Better position for search bulk select button
  • Move logs/watched_words to customize/watched_words in admin section
  • More consistent user control button width
  • Remove reference to contact form in settings
  • Login modal adjustments
  • Fix tab list alignment in emoji popup
  • Let users know they disabled discobot and they can’t interact with it.
  • Emoji popup layout adjustments
  • Display a tooltip when trying to delete an automatic group.
  • Make sure staff logs don’t break the layout
  • Rename button with a duplicated name.
  • Composer actions menu header should display the icon of selected action
  • Show first unique letters in invite link
  • Improve topic footer alignment and layout
  • Move modal footer into better container
  • Add image uploader widget for uploading badge images
  • Reduce opacity of code copy button
  • Show Topic column in invites pending tab
  • Show the Dismiss New button at the top of the topics.
  • Add class to body on first unread notification
  • Respect “prioritize username in ux” setting wherever possible
  • Add bell emoji for better unread education
  • Pasting a twitter link into composer title will not set the title

Performance

  • Improve category moderators query
  • Avoid regex on uploads table
22 Likes