3.1.0.beta6: Threads in Chat, Image Grid, Export Chat Messages, and more

New features in 3.1.0.beta6

Threads inside Discourse Chat

Threads are scoped conversations happening parallel to the main chat channel. In channels where threads are enabled, replying to a message will automatically start a new thread where conversations can continue on the side.

To start using threads in your favorite channels, see Introducing chat threads!

Image grid in posts

We added a new feature that can arrange images (or other media) into a grid in posts. Users can add the [grid] tag around images or uploads manually, or they can use an icon next to the first image in a block of images in the composer preview to toggle the grid on/off.

Export chat messages to CSV file

Admins can now export chat messages by going to /admin/plugins/chat and clicking the Create export button in the Export chat messages section:

Screenshot 2023-06-20 at 23 22 06

Then, admins will receive a PM with the exported file once ready. At the moment, the feature allows you to export up to 10,000 messages within the last 6 months. For more details, see the PR description.

Improved navigation menu configuration of categories and tags

In the navigation menu, we added a new modal to configure tags and categories, with filters to easily find what you’re looking for. To try it, click the pencil icon in the Categories or Tags sections of your menu.

Options to reset to defaults or to see the most popular items in the menu by de-selecting all have also been added.

edit-categories-navigation

Simplifying the main section of the navigation menu

We have removed the section heading of the main section of the navigation menu. The section now takes up a bit less space and is no longer collapsible, so the most important links are always visible while the menu is open. The section is still configurable by admins via a link in the More… menu.

31e53e1200b4916431baeedb167b333269026a9d

For more background about this change see this topic.

Introducing ‘loading slider’ for page navigation

To replace the full-page loading spinner with a loading bar at the top of the screen, functionality from the Horizontal loading slider theme-component was merged into Discourse.

ezgif-6-f4ed194f762c

This new loading indicator is now the default. The old spinner is planned to be removed in the near future, but remains an option for the time being by changing the page_loading_indicator site setting from slider to spinner. Admins on sites with the old theme component will be shown a prompt to uninstall it.

Security Updates

This release includes fixes for these security issues reported by our community and HackerOne.

19 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.

Plugin improvements

discourse-ai

New Features

  • Try to hone search so it reduces search terms in subsequent rounds
  • Add ai_bot_enabled_chat commands and tune search
  • Add Azure cognitive service support
  • Add full bot support for GPT 3.5

Bug Fixes

  • Typo while updating a section
  • Claude’s max_tookens_to_sample is a required field
  • Adjust token limits to account for functions
  • Avoid storing corrupt prompts
  • OpenAI Tokenizer was failing to truncate mid emojis
  • Serialize channel title for DMs

discourse-akismet

Bug Fixes

  • Delete reviewable when posts are deleted by user destroyer class.

discourse-assign

Bug Fixes

  • Sum assignments for group and group users

discourse-automation

New Features

  • Add first accepted answer triggerable to user global notice

discourse-cakeday

UX Changes

  • Add birthday cake icon when adding link to sidebar

discourse-calendar

Bug Fixes

  • Add missing Malaysia holidays for 2023

discourse-category-experts

Bug Fixes

  • Pass variables into plugin outlet correctly

discourse-client-performance

New Features

  • Report INP target selector
  • Collect ‘interaction next paint’ metric

Bug Fixes

  • Use correct script path on subfolder installations

discourse-code-review

Bug Fixes

  • Approval topic lists

discourse-data-explorer

Bug Fixes

discourse-docs

New Features

  • Use the same structure as core topic-list-item and add topic excerpts to docs index

Bug Fixes

  • Update user status test

discourse-gamification

New Features

  • Make scores click link to global leaderboard (both in user profile and user card)

Bug Fixes

  • Score recalculation didn’t update a user daily score if new score was 0

discourse-invite-tokens

Bug Fixes

  • Use correct plugin name

discourse-patreon

UX Changes

  • Add missing font awesome icon in login button

discourse-post-voting

Bug Fixes

  • Handle empty topic views

discourse-solved

Bug Fixes

  • Search bug for status:unsolved returns topics from non-solution enabled categories

discourse-tooltips

UX Changes

  • Don’t show tooltips when no text is available

All Features and Fixes

New Features

  • Show tooltip for bootstrap mode
  • Warn about outdated translation overrides in admin dashboard
  • Separated ‘trusted users can edit others’ setting for trust level 3 & 4
  • Add default site settings to control the defaults of navigation menu preferences
  • Basic support for threads.net onebox
  • Enable loading slider by default
  • New jump to channel menu
  • Introduce ‘loading slider’ for page navigations
  • Allow user to override watched_precedence_over_muted setting
  • Use rich user status tooltip everywhere
  • Allows to enable/disable threading in UI
  • Track last_viewed_at datetime for channel members
  • Show available interpolation keys when overriding translations
  • Sort thread list by unread threads first
  • Conditionally change back button route for thread
  • New watched_precedence_over_muted setting
  • Try to load plugin gems platform variants
  • Show first notification tip to all users
  • Add hooks for email poller plugins
  • Display commit hash for each plugin on /admin/plugins page.
  • Add dropdown to filter by selected in edit nav menu modal
  • Split navigation preference for count and behavior of sidebar links
  • Add db:resize:notification_id task for growing table
  • Export chat messages to CSV file
  • Add deslect all and reset to defaults btn edit nav menu modal
  • Add input filter for editing tags in navigation menu modal
  • Add modal for editing tags in navigation menu
  • Scroll to first message when clicking date in chat
  • Enable image grid by default
  • Allow users to manually track threads without replying
  • Thread indicator improvements and participants
  • Implement max_tags_per_email_subject

Bug Fixes

  • Conditionally hide Add Alternate Email button based on site setting
  • Default parameter recipients to create new message via params must be a string
  • Update remaining backup code count after creation
  • Ensure dialogs are still rendered if triggered during boot
  • Makes chat user avatar show presence by default
  • Always clear caches after committing the current transaction
  • Typo in property name
  • Don’t use etags for post-upload verification
  • Show preview of Arial/System font in wizard
  • Track thread in UI when user sends first message
  • Can’t dismiss new topics for experimental new new view
  • Don’t redirect when manually adding 2fa
  • Correctly makes dm creator to follow channel
  • Set test transaction to before_all transaction
  • Do not attempt to focus topic-list-item after destroy
  • Removes discourse-teams-sidebar support
  • Limits legacy sidebar height
  • Add missing chat translations
  • Mark threads read when threading enabled for a channel
  • Show replies count on thread indicator regardless of participants
  • Avoid transitioning when a chat thread component is destroyed
  • Post alerter notification when topic directly watched
  • Better handling of deleted thread original messages
  • Prevent field name conflicts when using the groups_for_users_search modifier
  • More consistent composer focus and replying indicator
  • Do not filter on category name
  • Correctly show unread and presence
  • Error when loading a channel with threading enabled but no threads
  • Mobile share canonical URL
  • Minor Twitter onebox improvements
  • Correctly intercept ``<a href target=“_self”`
  • Allow to use %h%m%s for youtube t param
  • Improve performance of post alerter job
  • Tags in tag groups not shown in edit nav menu tags modal
  • Preload fonts before rerendering wizard style canvas
  • ActiveModel::Types :array load error in production
  • Revert uppy aws-s3 upgrade
  • Do not follow redirects for twitter oneboxes
  • Consistent sidebar section external links
  • Fix normalize_raw method for nil inputs in migration scripts
  • DateTimeInputRange should show correct intervals with @relativeDate param
  • A mobile header regression in 9cc2b5c
  • Error when CategoryList tried to find relevant topics
  • Chat threads N1
  • Set Jobs::BackfillSidebarSiteSettings cluster concurrency to 1
  • Nest theme translation data so it saves
  • Cater for polls that can have multiple votes per user
  • Hide “Save Draft” button when editing post on same topic.
  • Abort transition when transition.from present on new-topic route
  • Render plugin’s commit URL correctly and open in new window.
  • Show tag chooser in composer for PM on mobile
  • Longer touch for active message
  • Sidebar dot color when chat is off
  • Attempt to reconnect to server when browser visibilty changes
  • Use Twitter API v2 for oneboxes and restore OpenGraph fallback
  • Force ordering to make things more consistent and fix flaky test
  • Staged user creation loses user custom field data
  • Site’s top tags not shown for anonymous user
  • Update unread and new count for categories
  • ‘in all topics’ should search in all topics
  • Don’t error when clicking on a custom link in community section
  • Add aria-label attribute to cooked hashtags
  • Make the arrow and tooltip background the same color
  • Theme translations resetting on save
  • Don’t add “Re:” prefix in email subject for first post of group PMs.
  • Broken group messages inboxes when group name is mixed case
  • Small bug with topics and my posts translations
  • Incompatibility between default_composer_category and default_subcategory_on_read_only_category
  • Restore behavior of window.Discourse
  • Correctly sets and uses has-reply class
  • Css class was incorrect
  • Various mobile chat improvements
  • Direct message channels can be flagged
  • Allows selection of messages in threads
  • Minor thread indicator issue
  • De-duplicate poll vote on user merge
  • Rename everything link to topics
  • Update sidebar to be navigation menu
  • Moderator(non-admin staff user) group visibility scope queries
  • Don’t add the no-text class if translatedLabel is present
  • Correctly get the topic_id from the first post
  • Update workbox class references following version bump
  • Allow half-merged user to be accessed in admin UI
  • Backfill chat thread memberships

UX Changes

  • Improve user tips
  • Double scroll fix for keyboard shortcuts modal
  • Remove section heading for community section
  • Lower border radius for channel cards
  • Fix margin for group label
  • Indicate main sidebar section is always public
  • Change z-index of thread resizer to be below emoji popup
  • Message creator spacing and sizing on mobile + fix text wrapping
  • Do not show presence in message creator selection
  • Clarify “disable tags/category notification” settings
  • Adjust sidebar modal styles, consolidate css
  • Improve position of modal close button
  • Thread indicator small fixes
  • Visual indicator for reorder sidebar links mode
  • Make template fields fill the container width
  • Use modals to edit categories and tags that appear in sidebar
  • Align chat separators, increase mobile chat width
  • Add max-width to thread indicator
  • Fix position of filters in edit categories/tags nav menu modals
  • Order categories in edit navigation menu modal by name
  • Fix user preference saved! position
  • Chat message thread indicator improvements
  • Adding max height to image in chat blockquote
  • Fix overridden setting highlight color
  • Fix edit tags/categories navigation menu modal has no focus on input
  • Adds small delay before making message active
  • Display spinner while loading tags for edit nav menu tags modal
  • Remove horizontal scroll on mobile for edit categories nav modal
  • Remove short topic timeline transition
  • Fix avatar selector overflow
  • Consistent button hover transitions
  • Improve defaults shown for categories and tags section in sidebar
  • Softer dropdown and menu panel shadows
  • Stack group inbox label horizontally
  • Hide sidebar on invites page
  • Remove branded blobs background
  • Add required indicator to fields with required validation

Performance

  • Paginate loading of tags in edit nav menu tags modal
  • Fixes multiple N+1 while loading threads
  • Limit anonymization to 1 per cluster
  • Increase performance of large csv exports for User Histories

Accessibility

  • Don’t output aria-labelledby when card is empty
  • Adjust contrast and font size for mini profiler widget
  • Adjust contrast for the Dark and Solarized Dark tertiary color schemes
11 Likes