3.2.0.beta1: Discourse「PicturePhone」開始。チャットのグローバルメンション警告、タグによるダイジェスト抑制など

3.2.0.beta1 の新機能:

チャットのグローバルメンション警告(送信前・送信後)

チャットで @all または @here と入力すると、そのチャンネルでグローバルメンションが無効になっている場合に通知されるようになりました。

タグを使用してメール要約からトピックを除外する

メール要約から特定のトピックを選択的に除外できるようになりました。これを行うには、新しい digest_suppress_tags サイト設定にタグを指定し、除外したいトピックにタグを追加します。

WEBP および AVIF の Onebox とダウンロード

投稿での WEBP および AVIF 画像の oneboxing と、それらのフォーマットのリモート画像のダウンロードをサポートしました。

セキュリティアップデート

このリリースには、コミュニティおよび HackerOne から報告された以下のセキュリティ問題の修正が含まれています。

  • ユーザーあたりのドラフト数と draft_key の長さを制限 CVE-2023-38706
  • TOTP オーセンティケーターとセキュリティキーの名前フィールドの長さを制限 CVE-2023-40588
  • SVG スプライトキャッシュの最大サイズを削減して DoS を防止 CVE-2023-41043
  • テーマとテーマアセットの制限を追加 CVE-2023-41042
「いいね!」 8

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

  • Include tag and category context in search (217)
  • Add tags and categories to read context (215)
  • Add cancel button to loading context menu (213)
  • Add semantic search with hyde bot (210)
  • Use stop_sequences for faster HyDE searches with Claude (203)
  • Tweak HyDE prompts for better grounding in forum subject and limit response size (200)
  • HyDE-powered semantic search. (136)
  • Return only applicable suggestions in AiHelper category/tags suggestions (184)
  • Better link in Claude summaries (183)
  • Add researcher persona (181)
  • Additional AI suggestion options (176)
  • New site setting explorer persona (178)
  • Add initial support for personas (172)
  • Show suggested title prompt in new location (171)
  • Add setting_context experimental command (160)
  • StableBeluga2 support for AiHelper (162)
  • AI Helper Context Menu (148)
  • Implement command framework for non Open AI (147)
  • Try to generate OpenAI Summaries in current language (146)
  • Support 16k and 32k variants for Azure GPT (140)
  • Optional warning attached to all AI bot conversations (137)
  • Tweaks to Anthropic Summarization (138)
  • Basic progress for image generation (133)
  • Streaming mode for the FoldContent strategy. (134)
  • Experimental read command for bot (129)
  • Add support for StableBeluga and Upstage Llama2 instruct (126)
  • Compatibility with protected Hugging Face Endpoints (123)
  • Add support for final stable diffusion xl model (122)

Bug Fixes

  • Trigger initial semantic search. (219)
  • Perform semantic search only when searchTerm is valid (216)
  • Generate embeddings job was broken (211)
  • Flaky spec in AI Helper modal (208)
  • Flaky Spec (207)
  • Filter allowed categories from semantic search results (206)
  • Invalidate semantic search cache entries when hyde or embedding model changes (202)
  • Update migrations with latest vector rep changes (199)
  • Tag/category suggestion broke in 2c0f535 (198)
  • Flaky spec (197)
  • Cut completion short after function call is found (182)
  • Ai_bot_allowed_groups now works with restricted visibility (180)
  • Setting explorer was exceeding token budget
  • Show warning when trying to generate suggestions without content (175)
  • Trim first space when getting a reply from anthropic (164)
  • Renumber StableBeluga2 AiHelper prompts to fix conflict (163)
  • Context menu not appearing in Firefox (154)
  • Automatic bot titles missing sometime (151)
  • Pages with small composers breaking (155)
  • Add check for PMs before showing AI helper context menu (153)
  • Show AI helper only if in allowed groups (152)
  • Display related topics when scrolling to the bottom of a topic. (150)
  • Improve token counting (145)
  • Fix embeddings truncation strategy (139)
  • Refine image and read command (131)
  • Remove muted from Similar list (127)
  • Google command was including full payload (128)

UX Changes

  • Prevent input text from covering suggestion button (212)
  • Show suggestion buttons only if sufficient content is present (204)
  • Change AI Helper toggle icon to sparkles (201)
  • Clicking outside editor should close context menu (170)
  • Prevent context menu overflow outside of container (168)
  • Improve styling and make button full width of context menu (167)
  • Pill design is the default on both mobile and desktop (142)
  • Adjust bot warning so it looks better (141)

discourse-antivirus

Bug Fixes

  • Use hostname and port passed to the proc. There are no instance variables (45)
  • Scan files when a single server is online (42)
  • Use named arguments and angle bracket syntax for CookText component (43)

discourse-assign

Bug Fixes

  • Move comment out of the translation value (503)
  • Fix reminder frequency not getting sent daily when early by a few seconds/minutes (496)

discourse-automation

New Features

  • Additional options for pm_created and post_created_edited triggers (210)
  • Option to force title and flair updates for badge-group syncs (208)
  • Add script to modify user group memberships through badges (206)

Bug Fixes

  • Do not output non existing descriptions (215)
  • I18n lookup locale (211)
  • Post created event issue when group specified (212)

UX Changes

  • Show complete title on category notification level (213)

discourse-calendar

New Features

  • Display calendar events adjusted for timezones (432)
  • Add a new site setting that shows upcoming events in the sidebar (434)

discourse-category-experts

Bug Fixes

  • Amend failing reviewable system test selector (120)
  • Category expert approval in modal (119)

discourse-code-review

Bug Fixes

  • Skip empty events for PR timelines (179)

discourse-encrypt

Bug Fixes

  • Don’t error when rotating identities of protocol-v0 (277)

discourse-follow

Bug Fixes

  • Use new plugin API to render notification (97)

discourse-global-filter

Bug Fixes

  • /login loop when categories is default homepage (117)

UX Changes

  • Remove the none options from the categories dropdown (116)

discourse-math

Bug Fixes

  • Correctly enables features of discourse-math (73)

discourse-openid-connect

Bug Fixes

  • Openid_connect_client_secret should be marked secret (63)

discourse-post-voting

Bug Fixes

  • Unset width for sorting methods on mobile (165)
  • Show small action posts when sorted by activity (161)
  • Disallow voting on posts and comments for archived or closed topics (160)
  • Comment serialization for deleted users (154)

UX Changes

  • Align the sort by buttons to the right of the post (164)

discourse-prometheus

New Features

  • Instrument reason for the trigger of last major GC (74)

Bug Fixes

  • Gc_major_by process metric not working (75)
  • Exclude gc duration from application duration metric (73)

discourse-reactions

Bug Fixes

  • Adding DATE casts to the Reaction dashboard report (235)
  • Support older versions of core in JS intializer (231)
  • Display correct title text for unauthenticated users (230)

UX Changes

  • Fix locale for multiple reactions (239)

discourse-salesforce

UX Changes

  • Show a user readable error when credentials are incorrect (60)

discourse-shared-edits

Bug Fixes

  • TL4 users can use shared edit too (79)
  • Adds support for addPostAdminMenuButton (78)

discourse-templates

Bug Fixes

  • Make the keyboard shortcuts compatible with modals using the new API (48)

UX Changes

  • Center the templates modal correctly on the screen (41)

discourse-theme-creator

Bug Fixes

  • Remove install-theme modal overrides (73)
  • Deprecated theme modal overrides (72)

discourse-user-notes

Bug Fixes

  • Note info not appearing (82)

discourse-video

New Features

  • Adds a max duration site setting (46)

discourse-voting

New Features

  • Add topic_slug to the upvote event payload (161)
  • Trigger a custom webhook on upvotes (158)

discourse-zoom

New Features

  • Implement oAuth authorization for use with SDK zoom app (47)

All Features and Fixes

New Features

  • Allow consumers to parse a search string (23528)
  • AddBeforeAuthCompleteCallback plugin API method (23441)
  • Add silence reason dropdown to admin penalty reason
  • Secure uploads in PMs only (23398)
  • Add a shortcut to archive PM
  • Add group filter for admin reports (23381)
  • Support to initial values for form templates through /new-topic (23313)
  • Display count of topics being dismissed in dialog (23288)
  • Onebox and Download for WEBP and AVIF (23235)
  • Chat global mention warnings (pre-send & post-send) (22764)
  • Digest suppression by tags (23089)
  • Implements user based sidebar mode (23078)
  • New topics vs replies toggle for the new new view (22920)
  • Do not bump topics when retroactively closing (23115)
  • Stream topic summaries. (23065)
  • Add topic voting webhook event type (23072)
  • Add a param to exclude users by groups on the users directory page (23067)
  • Add audio.com onebox provider (22936)
  • Bundle discourse-checklist plugin into core (22927)
  • Count only approved flagged posts in user pages (22799)
  • Remove restrictions from the chat messages export (22854)

Bug Fixes

  • tooltips can be over the header (23548)
  • cancel post toolbar on click outside (23546)
  • Chat layout shift when loading videos (23537)
  • Send email to normalized email owner when hiding emails (23524)
  • Empty query param in group-index url (23520)
  • Prevent chat message actions to disappear on mouseleave (23063)
  • Ensure declarative DModals do not interfere with service (23510)
  • Ensures swipe works with scroll (23508)
  • Double footer in install-theme modal (23503)
  • Render ‘In topic context’ search results at the correct time (23481)
  • Ensures automation can send chat message (23478)
  • Focus state color on .btn[href]`` (23469)
  • Do not consider code-blocks when parsing mentions (23280)
  • Add missing translation key
  • Everyone should be aware a cached summary is outdated. (23438)
  • Don’t mix up action labels between different reviewables (23365)
  • Tests
  • Admins not able to convert topics if they aren’t in personal_message_enabled_groups (23399)
  • An incorrect import (23414)
  • Respect default category sort when filter=default (23411)
  • Update asset precompile list following c7dce90f (23393)
  • Replying to OP is a reply to the topic, not the post (23380)
  • Update DIRECT_UPLOAD CORS ruleset to include new Amazon signing headers (23379)
  • Attribute pending post to author in PendingPostSerialier (23369)
  • Allow pending posts to have empty titles (23366)
  • Closes chat emoji picker on body scroll (23362)
  • Pop up dialog correctly when fail to delete a user (20645)
  • Chat message button radius (23358)
  • Form template cooked heading from label (23359)
  • Wrap tag description in a span tag (23357)
  • Add missing props to move-to-topic (23349)
  • Confusing vague upload error (23347)
  • Add mobile specific stylesheet for onebox (23329)
  • Hide core plugins from the admin Plugins list (23328)
  • Remove chat “enable chat plugin text” (23327)
  • Add hashtag placeholder when chat message sent (23287)
  • No form template logic when editing posts (23317)
  • Remove border radius on more topics container buttons: (23314)
  • Correct link to meta.discourse.org
  • Include ‘notify staff’ separator in chat message flag modal (23301)
  • Typo in summary URL (23298)
  • Display summaries for anonymous users. (23294)
  • Update search-menu.scss (23292)
  • Avoid scroll jumping for topics on slow connections (23290)
  • Improve admin plugin list and modernize code (23256)
  • Adjust border-radius in multiple locations (23278)
  • Ensures we update cached model last message bus id (23271)
  • Respect default category sort order when navigating within app (23270)
  • Badge preview not displaying grant count (23269)
  • Incorrect chat message reaction text (23260)
  • Create a reviewable when flagging a chat message for ‘something else’ (23264)
  • Compile js-processor before db:migrate (23229)
  • Prevents setPanel to also set separated mode (23227)
  • Add site name to sitelinks structured data (23151)
  • assets:precompile:js_processor task issue (23219)
  • Correctly resets editing state when done (23209)
  • Video thumbnail uploads interfering with subsequent uploads (23216)
  • Infinite loading broken on group members list (23214)
  • Sidebar URL full reload when anchor (23121)
  • Topic timeline/progress switching edge-cases (23202)
  • Ensure service-worker cache is cleaned correctly (23204)
  • Hide tooltips when scrolling on mobile (23098)
  • Correctly check chat tab is present (23200)
  • Correctly closes panel when exiting chat (23201)
  • next vs return in maxmind task (23196)
  • Keep track of suggestion updates during scrolling and navigation. (23190)
  • Revert previously removed mentions transformation on the client (23084)
  • Displays popup error for any error (23184)
  • Do not delete empty message with uploads (23177)
  • Correctly display max users message error (23178)
  • Correctly recognizes URL with subfolder (23173)
  • Resize-modifier event listener cleanup (23166)
  • Delete fast typer reviewable when deleting user (23162)
  • Correctly handles mobile and default (23152)
  • Sets sidebar state on load (23150)
  • Correct bulk invite expire time for DST (23073)
  • Pending post deletion by creator (23130)
  • Correctly makes this accessible in the scope (23146)
  • Don’t fail when exporting chat messages from deleted channels (23131)
  • Allow mouse to resize chat drawer on touch devices (23061)
  • Don’t run post validations when hiding post (23139)
  • Inject currentUser service for related-messages (23128)
  • Ensure javascript caches are unique per theme/theme_field (23126)
  • Do not mutate this.attrs and this.actions (23125)
  • Increase sidebar URL limit to 1000 (23120)
  • /filter route input field not updating on route change (23119)
  • Reference to non-existent groups#remove_members in API key scope (23042)
  • Use the latest version of puppeteer-core package to fix page.click issue (22989)
  • Avoid double-counting pageviews when navigating with loading spinner (23107)
  • Display ‘shown on X’ user field flags (23109)
  • TopicSummarization workaround for Postgres’ discrete range types (23105)
  • Correctly deletes webhook_events with webhook (23097)
  • Correct select-kit positioning strategy in modals (23096)
  • Adjust badge overflow ellipsis (23086)
  • Topic summary UI fixes. (23085)
  • Prevents user-tips to interfere with widget (23066)
  • Chat styleguide modal import (23062)
  • Ensures generic onebox has width/height for thumbnail (23040)
  • Correctly applies aria-expanded/aria-controls (23029)
  • Removes useless model reload (23016)
  • Search by tag context was broken (23006)
  • Avoid eager rewrite of /my* routes (23011)
  • Don’t create a reviewable when sending PM to user in chat (22914)
  • Cook hashtags in small action posts (23008)
  • Disable switch sidebar panel button after click (23007)
  • Allow lightbox cleanup on navigation changes (22954)
  • Don’t cut browse more message on the mobile app. (22998)
  • Prevents readonly mode to crash channel_messages#index (22987)
  • Attempt to connect with navigator.onLine is initially false (22981)
  • Use only first character when looking up emoji (22977)
  • Account for empty string setting values when migrating category settings (22979)
  • Quoting text selection across elements (22974)
  • Keep first post edit history when moving/merging (22966)
  • Display browse more message as long as there are suggested topics (22967)
  • A select-kit+modal regression (22961)
  • Poll breakdown regressions (22955)
  • Make poll breakdown modal closable again (22952)
  • Display customised community section button when no secondary links (22948)
  • created:@ search keyword for uppercase usernames (22878)
  • Compact tag picker input not focused in iOS (22922)
  • Add ‘Ignored’ flags to Moderator Activity report (22041)
  • Poll builder UI issues (22931)
  • Prevent event bubbling when closing modals with escape key (22928)
  • Prevent event propagation when pressing escape key on lightbox (22924)
  • Intercept escape in lightbox and prevent default (22923)
  • Default to the first list if the preferred one is empty (22915)
  • Display similar topics for anons on mobile. (22907)
  • Use category hashtag instead of link in discourse_welcome_topic.body (22875)
  • Ensure PresenceChannel does not raise error during readonly (22899)
  • Validate page/limit params for directory, user-badges and groups (22877)
  • Ensure presence channels ‘leave’ correctly when the tab is backgrounded
  • Can’t dismiss unread posts in topics of a sub-subcategory (22870)
  • Chat translation minor issues (22869)
  • When using arrow to bottom fetch from newest (22860)
  • Breaking typo, missing closing parenthesis in topic-post.scss (22852)
  • Missing pending queued posts from topic view (22838)
  • Hydration of embedded records (22809)
  • Internal oneboxes with github links (22829)
  • Tweak right arrow position; set other arrow placements to default (22848)
  • Member Highlights on Group Cards (22828)

UX Changes

  • Remove unsupported filterable attr from form template sample (23535)
  • Wider code lines so background takes the whole width (23536)
  • Implements swipe on row channel (23436)
  • Remove unsupported features from form template help text (23482)
  • Fix mobile timeline footer button positioning (23470)
  • Popping animation for adding users (23459)
  • Fix tag chooser width when there are multiple tags (23432)
  • Show only one username on multiple likes notification (23385)
  • Fix checkbox slider (23412)
  • Lower z-index (23386)
  • Hides header’s unread indicator on full page (23370)
  • Thread list design changes (23348)
  • Hides original message user in thread participants (23350)
  • Display warning message when uploads are not included in backup. (23253)
  • Remove Plugin Settings tab (23345)
  • Composer fixes (23334)
  • Settings are misaligned when translations are too long (23308)
  • Fix github onebox on mobile (23306)
  • Prevent initial jump when dragging topic timeline scroller (23291)
  • Chat composer (23267)
  • Minor tweaks to thread list item (23259)
  • Update styling for related/suggested (23242)
  • Update styling for related/suggested (23231)
  • Refines thread list item (23207)
  • Fix form template error label position (23208)
  • Update styling for related/suggested (23217)
  • Update styling for related/suggested (23213)
  • Update outdated description of chat messages export (23191)
  • Do not show user tab preference when disabled (23188)
  • Fix positioning of mobile show-more following 71ff3417 (23189)
  • Update /new toggle styles, class names (23154)
  • Update admin popular theme list (23134)
  • Improved animation (23145)
  • Remove border radius on tippy (23133)
  • Remove boostrap mode rounded corners (23132)
  • Use pill design on both mobile and desktop (23124)
  • Support links in tag descriptions (22994)
  • Add show more button to long post queued reviewables (23075)
  • Ensures user-status-picker’s input is autofocused (23083)
  • Add transition (23034)
  • Align tags to top in modal (23055)
  • Prevent overscroll behaviour in composer (23056)
  • Micro animations chat input (23030)
  • Add bookmark-delete icon (23025)
  • Differentiate focus state from hover state (22985)
  • Add disabled styling to <DToggleSwitch/> (22988)
  • Temporarily add twitter-x Font Awesome icon (22946)
  • Simplify and redesign summary skeleton (22965)
  • Fix hover color for header icons in WCAG (22959)
  • Introduce toggle-switch UI for plugins (22910)
  • Add tooltip about multiple emails to admin.groups.incoming_email field (22926)
  • Do not scroll-top for aborted transitions (22744)
  • Fixes for new related topic styles (22906)
  • Use full width when displaying a single recommendations list. (22896)
  • Fix long image titles in experimental lightbox (22883)
  • Topic recommendations tweaks. (22880)
  • Move Admin Guide link to URL (22789)
  • Clarify ‘disable tag/category edit notifications’ site settings (22874)
  • Fix alignment extra buttons in post controls (22872)
  • Increase experimental lightbox z-index (22865)
  • Refactor AI summarizing animation (22839)
  • Allow composer title to shrink when needed (22863)
  • More tweaks to compact tag picker (22859)

Performance

  • Cache each theme field value once (23192)
  • Improve rendering performance of empty PluginOutlets (23165)
  • Avoid calling the same translation twice when rendering lists view (22976)
  • Improve performance of queries when loading a topic list (22949)
  • Optimise TopicTrackingState.report query to speed up query (22871)
  • Add exponential backoff for /presence/update errors (22864)

Accessibility

  • Improvements to <DToggleSwitch/> component (23514)
  • Ensure you can tab to submit on 2FA modal (23135)
  • Improve setting focus to post (23243)
  • Fix selecting topic when navigation via keyboard (22996)
「いいね!」 10