3.2.0.beta3: Chat grace period, category dark mode, site settings UI improvements, and more

New features in 3.2.0.beta3

Spoiler alert and footnote plugins now bundled into core

Spoiler alert and Footnote are now bundled with Discourse core and enabled by default, so there is no need to install the plugins separately.

Say hi to AI Bot!

The new AI Bot uses the power of conversation to help you get any of your questions, suggestions, recommendations, or comments answered in seconds. All you have to do is ask! Learn more in the blog.

Site settings UI improvements

It is now easier to configure site settings like which tabs show up on topic lists by showing the available options to choose from. We’ve also made it easier to find site settings with search by matching on keywords in addition to name and description.

Chat improvements

Chat continues to become easier and more fun to use. Threads now display images in oneboxes and a new back button makes it easier to exit threads. Users now have a grace period allowing them to edit their chat messages after posting without (edited) showing on the message. And users can now specify a chat indicator preference for Only Mentions.

Dark mode option for category background

It is now possible to upload a dark mode category background as well as a dark mode category logo that will be used when Discourse is in dark mode.

image

Security Updates

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

12 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-activity-pub

Bug Fixes

  • Support different activity and object actors (34)

Performance

  • Improve topic serialization performance (32)

discourse-adplugin

Bug Fixes

  • Fully re-render ads when navigating between pages (188)

discourse-ai

New Features

  • Expose sentiment classifications via the admin dashboard. (284)
  • Support topic_id and post_id logging in ai audit log (274)
  • Automatic Chat Thread titles (269)
  • Make artist more creative (266)
  • Make embeddings turn-key (261)
  • AI helper on posts (244)
  • Defer creation of bot users (258)

Bug Fixes

  • Filter classification type using the correct column (286)
  • Don’t divide by zero if there is no emotion data for TL group (285)
  • Keep parity of shape for image command (275)
  • Update bedrock endpoint (272)
  • Unexpected return in aihelper entry_point (271)
  • Avoid semicolons at the end of queries for SQL Helper (268)
  • Make stable diffusion multi site friendly (265)
  • Openai prompt was incorrect for explain (262)
  • Allow for blank fields in Google results (255)

UX Changes

  • Prevent suggestion button from wrapping (282)
  • Update border on AI topic helpers (276)
  • Replace hardcoded string with translation (264)
  • Unify ai representing icon (257)

Performance

  • Better chat thread content format for LLM (273)

discourse-assign

Bug Fixes

  • Order items properly in user menu
  • Display assignments in user menu properly

UX Changes

  • Simplify markup to fix j/k highlighting (516)

discourse-automation

Bug Fixes

  • Always run automations in background when triggered via API (232)

UX Changes

  • Introduce custom field component (229)

discourse-calendar

New Features

  • Upcoming events list component (463)
  • Add a “none” option to avoid showing the category calendar on any outlet (459)
  • Use event category’s color for calendar event (441)

Bug Fixes

  • Skip html escaping event urls (473)
  • Preload category custom fields (472)
  • Move sidebar_show_upcoming_events into Event settings (466)
  • Remove superfluous note from sidebar show upcoming events description (467)
  • Fallback category color if there’s no category (461)

UX Changes

  • Remove ‘experimental’ from discourse_post_event_enabled (468)
  • Pass the current locale to FullCalendar (458)

discourse-data-explorer

New Features

  • Add JSON result type component (260)

discourse-gamification

Bug Fixes

  • db:migrate rake could fail in dev environment (118)

Performance

  • Precompute leaderboards using materialized views (112)

discourse-intercom

Bug Fixes

  • Include user in guardian for serializer (15)

discourse-kolide

New Features

  • Option to set current device name from list of devices onboarded on Kolide. (80)

UX Changes

  • Improve text of message which displays when there are no issues. (82)
  • Remove user alert notification if all the issues are resolved. (83)

discourse-multilingual

Bug Fixes

  • Failing tests due to i18n.default (3)

discourse-post-voting

New Features

  • Default disable the plugin (171)

Bug Fixes

  • Add category list preloading (173)

discourse-reactions

Bug Fixes

  • Missing reaction user for heart emoji breaks post mover (255)
  • Skip adding reaction data if there are no reactions on OP (253)
  • Update post id for reactions when post is moved (250)

discourse-solved

Bug Fixes

  • Solved count on user profile (264)
  • Correct getOwner import (260)

UX Changes

  • Add linked-stat class to profile stat (266)

discourse-staff-alias

Bug Fixes

  • Allow topics created by staff alias to have their tags edited (60)

discourse-teambuild

Bug Fixes

  • Ensure teambuild link appears and doesn’t break teambuild url (64)

discourse-templates

UX Changes

  • Fix button container to avoid mobile overflow (56)

discourse-user-notes

Bug Fixes

  • Restore button to add user notes to post admin menu (85)

All Features and Fixes

New Features

  • Add ability to hide modal header (24290)
  • Add theme-components route for admin (24264)
  • Add custom fields to members on group index (24232)
  • Chat redesign - back button to exit threads (24189)
  • Improve push notification message for watching_category_or_tag notifications (24228)
  • Show lightbox carousel by default if post has 2 or more images (24216)
  • Add plugin outlets for topic title suffix (24215)
  • Theme settings migrations (24071)
  • Add keywords support for site_settings search (24146)
  • Add new chat indicator preference for Only Mentions (23848)
  • Add onebox support for chat threads (23580)
  • Bundle discourse-spoiler-alert plugin into core (24030)
  • Bundle discourse-footnote plugin into core (23995)
  • Add grace period for chat edits (23800)
  • Add dark mode option for category backgrounds (24003)
  • Add all user update API scopes (24016)
  • Predefined simple list for admin setting (23953)
  • Use async search for category dropdowns (23774)

Bug Fixes

  • Adjust border radius (24301)
  • Prevent invalid tos and privacy URLs in cache (24291)
  • User got notified about a mention inside a chat message quote (24229)
  • Replace watched words with wildcards (24279)
  • Fix hashtag decoration on later pages of user activity stream (24261)
  • Relocate above-discovery-categories outlet (24287)
  • Restore “categories and top topics” layout (24275)
  • Correctly handle subscriptions (24270)
  • Deleting tags via <TagInfo /> component (24268)
  • Correctly map fingerprinted vendor.js file in production (24267)
  • Expand globally pinned topics correctly (24266)
  • Deleting/recovering a post in topics caused bookmark side effects (24226)
  • Target chat-message-text only on secondary action (24255)
  • Targeting chat-message-text is more reliable (24245)
  • Broken login with security key when passkeys enabled (24249)
  • Do not log client site setting deprecations (24237)
  • The referenced site setting is named differently
  • Form template upload type validation (24148)
  • Remove background image from lightbox backdrop (24225)
  • Add dominant color attribute to chat image uploads (24214)
  • Broken hashtags on embed and publish pages (24210)
  • Reliably reorder link in custom sections (24188)
  • Add translation for new push notification (24203)
  • Skip animated gif treatment for onebox avatar (24199)
  • Adjust placement and animation of labels for custom user fields (24201)
  • Increase defer queue length (24200)
  • Correctly handle materialized views during db restore (24193)
  • Send push notifications for category/tag watching notifications (24196)
  • Further optimize mentioning groups in chat messages (part 2) (24185)
  • Use correct location for wizard background image (24183)
  • Maintain destination_url after passkey login (24171)
  • Further optimize mentioning groups in chat messages (24122)
  • Full name validation regression (24178)
  • Update date url for thread oneboxes (24172)
  • Add rel=0 to youtube lazy videos url (24173)
  • Add checkbox-label to more checkbox label elements (24174)
  • Correctly sanitize negative integers in site settings (24170)
  • Account creation regression (24169)
  • autotracking.mutation-after-consumption (24164)
  • Correctly display escaped thread titles (24159)
  • Alter “Take Action” default behaviour to hide post (24088)
  • Only check for conditional mediation when needed (24142)
  • Memoization in EmberCli ruby helper class (24139)
  • Ensure JS transpiler is available for multisite-migrate (24136)
  • Only clear upload list if multiple not allowed (24123)
  • Revise and reject post breaks on new topics queued (24109)
  • Hashtags were not decorated in user activity list (24125)
  • Username validation in create-account modal (24114)
  • Restore support for custom NavItem class (24113)
  • Optimize a slow query when mentioning groups in chat messages (24103)
  • Do not check if inside cooked early (24105)
  • Clear state if selected text is empty (24102)
  • Don’t show like error on topic creation (24084)
  • Improves reliability of post-text-selection bar (24093)
  • Correct import path in styleguide (24092)
  • Typo in migration (24089)
  • Add checkbox-label CSS class to flag modal labels (24087)
  • Add support for OffscreenCanvas in media optimization worker (24074)
  • Add checkbox-label class to site setting checkboxes (24075)
  • Ensures users can open channel invites (24067)
  • Update path for spoiler-alert plugin (24064)
  • Replaces data-tooltip usage by <DTooltip /> (24062)
  • Display and link to correct grant_by users for granted badges (24021)
  • Missing quote (24049)
  • Disable filter when loading tags in edit nav menu tags modal (23789)
  • Use the category logo matching the theme (24033)
  • Don’t lose SummaryBox state through widget re-renders. (24020)
  • Remove invalid chars from feed XMLs (24001)
  • Order result set of category search (24027)
  • Correctly set categoryId on Composer model (23934)
  • Change max-width size to make the background image expand the same width as the browser (24004)
  • Preserve preview_theme_id param on topic redirects (23965)
  • Secure upload post processing race condition (23968)
  • Log for CleanUpTags job (23964)
  • Properly attach secure images to email for non-secure uploads (23865)
  • Synonym tags are not considered as unused (23950)
  • Do not serialize status when profile is hidden (23946)

UX Changes

  • Adjust bulk selection position to avoid edits (24231)
  • Invite signup page styling + separation (24293)
  • Render reviewable table with cooked styles (24230)
  • Small tweaks to recent search changes (24220)
  • Update search menu styling to cmd-k style (24181)
  • Update composer border colour (24176)
  • Call discourseLater on menu animations (24168)
  • Form template simpler “value missing” i18n (24154)
  • Fix minor chat transcript overflow (24158)
  • Convert share modal margin to gap (24157)
  • Fix btn-flat focus style (24156)
  • Set tag sort based on siteSetting (24147)
  • Avoid footer admin menu from overflowing top (24149)
  • Impove badge granted spacing with grid (24150)
  • Adjust various button classes (24121)
  • Remove border radius and box shadow (24135)
  • Fix mobile passkeys login button (24124)
  • Improves support of window resize in chat (24115)
  • Wait for render before invoking A11YDialog (24100)
  • Improve quote/edit bar’s rendering (24097)
  • Update user field styling in the create-account modal (24091)
  • Change to input field + label styling (24060)
  • Add conditional UI for passkeys (24041)
  • Fixes for mobile “create account” modal (24043)
  • Unify ai representing icon (24029)
  • Move global option to sidebar modal footer, shorten translation (24024)
  • Fix form template mobile issues (24019)
  • Video placeholder icon should always be white (23990)
  • Update highlight.js styles (23999)
  • Wizard static confetti (23973)
  • Minor fixes to passkey handling (23947)
  • Improve handling of long theme names in admin (23963)
  • Fix deselect text location in edit sidebar category/tag modal (23966)
  • Fix icon color for video placeholder (23957)
  • Improve touch, swipe, panning performance on mobile menus (23775)

Performance

  • Cook message in background (24227)
  • Stop eagerly-loading core helper modules (24015)
8 Likes