2.8.0.beta7:セキュリティリリース、高速編集、トピックブックマークなど

2.8.0.beta7 の新機能

:warning: セキュリティ修正

このベータ版には、重要なセキュリティ修正が含まれています。すべてのサイト管理者には、できるだけ早くアップデートすることを強くお勧めします。この修正により、悪意のある SNS 購読ペイロードを介した RCE(リモートコード実行)を防ぐことができます。

高速編集

投稿を投稿した直後に、小さな変更が必要だと気づいたことはありませんか?高速編集を使えば、これまでよりもはるかに迅速かつ簡単に変更できます。フルコンポーザーを開く必要はありません。修正が必要な単語をハイライト表示し、「編集」をクリックして、その場で変更を加えるだけです。

あなたやあなたのユーザーがこの機能を試していただく際、meta.discourse.org#feature カテゴリでのご提案をお待ちしています。バグを見つけた場合は、bug でお知らせください。

なお、高速編集はテーブル内の複数のセルを編集するなど、複雑な投稿コンテンツには対応できません。高速編集が機能しない場合は、自動的にフルコンポーザーが開きます。

トピックブックマーク

個別の投稿だけでなく、トピック自体をブックマークできるようになりました。トピックがブックマークされると、そのブックマークを追跡しているユーザーは、自動的に最後の未読位置に移動します。他の投稿がブックマークされていない場合、フッターからトピックブックマークを作成できます。

「空白のページ症候群」の改善

新規ユーザーや、投稿・いいね・通知などがまだないユーザーは、Discourse 内の「空白」のページにアクセスすることがよくありました。空白のページを表示する代わりに、Discourse は今すぐ必要な情報を表示し、ユーザーが最終的に表示される内容を理解できるようにします。このようなコンテンツは、アクティビティ/トピックページ、アクティビティ/読み込みページ、ユーザーメッセージページ、グループメッセージページ内に追加されました。

管理者承認における二要素認証

管理者アクセスを付与する際、既存の管理者で二要素認証が有効化されている場合、アクセス承認のために認証コードの入力(またはセキュリティキーの使用)が求められます。二要素認証が有効化されていない場合は、確認メールが送信されます。

削除された小規模アクション投稿の回復を許可

トピックを閉じて作成された小規模投稿を削除したが、必要だったと気づくことはありませんでしたか?そのため、再度トピックを開いて閉じ直し、小規模投稿を復活させようとしたことはありませんか?もうそんな必要はありません!小規模投稿は通常の投稿と同様に復元できるようになりました。

トピックカテゴリ編集時の通知を無効にするサイト設定

新しいサイト設定 disable category edit notifications により、管理者はモデレーターが投稿を異なるカテゴリに移動した際にユーザーに通知するかどうかを制御できます。

単一選択ポーリングからの投票削除を許可

以前は、ユーザーが単一選択ポーリングで選択を行った場合、投票を変更することはできても、削除することはできませんでした。現在では、投票削除ボタンを使用するか、同じオプションを再度選択することで、投票を削除できるようになりました。

新規サイトでの自動ダークモードのデフォルト有効化

Discourse は以前からダークテーマを含む複数のテーマを提供していました。新規サイトでは、デフォルトでライトテーマとダークテーマの両方が有効化され、ユーザーのデバイスの設定に基づいて自動的に切り替わるようになりました。

投稿とトピックの永久削除

デフォルトでは、Discourse はソフト削除を使用するため、投稿やトピックはサイトスタッフが必要に応じて復元できます。しかし、法的な問題などにより、投稿やトピックをデータベースから完全に削除する必要がある場合もあります。これに対応するため、新しいサイト設定 can permanently delete が追加されました。この設定は UI からはアクセスできず、SSH アクセスを持つ管理者が Rails コンソール経由で有効化する必要があります。有効化後、管理者は投稿を永久削除できるようになります。投稿を永久削除するには、削除から少なくとも 1 分待つ必要があります。ただし、初期削除が別の管理者によって行われた場合は、待機せずに永久削除が可能です。モデレーターには投稿を永久削除する権限はありません。

アクセシビリティ

  • タイトルと同じ aria-label を出力しない
  • ハンバーガーメニューのラベルを短縮
  • いくつかの minor な問題を修正
  • 検索フィールドやカテゴリ通知セレクターにラベルを追加
  • いくつかのドロップダウンに対してより説明的なラベルを追加
  • ドロップダウンに listbox ロールを使用
  • aria-label のデフォルトラベルを無効化
  • スクリーンリーダー向けのアカウント作成モーダルの改善

その他の機能

このベータ版にはあまりにも多くの新機能があり、すべてを詳細に説明することはできません。以下に注目すべき追加機能をいくつか挙げます。新機能の完全なリストは、以下の投稿をご覧ください。

  • 停止されたユーザーを一般ユーザー向けのサイト全体検索から非表示にする
  • ユーザーが「未確認」をデフォルト表示として選択できるようにする
  • PM の「もっとメッセージを表示」に新着/未読カウントを表示
  • 非対応ブラウザにゲームコンソールを追加
  • ユーザーアクティビティでドラフトの要約を調理(レンダリング)
  • 全ページ検索でのユーザー/カテゴリ/タグ結果
  • ファイルサイズエラーメッセージの人間化
  • 引用(q)と高速編集(e)のショートカット
  • Single Sign On でのユーザー名と名前の提案にメールをソースとして使用しないようにする
  • ユーザー名の提案にメールをソースとして使用できるようにする非表示設定を追加
「いいね!」 35

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

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

Assign

New Features

  • Assignment target is polymorphic
  • Better UI for group assignments
  • Advance search groups
  • New assignable group option instead of messageable

Bug Fixes

  • More accurate and flexible random assign automation
  • Assignment table migration when SKIP_POST_DEPLOYMENT_MIGRATIONS
  • N+1 query on list of private messages assigned
  • Refresh first post after assign and unassign
  • Tests were broken on Ember CLI
  • Properly fabricate data for topic query specs.
  • Allow Never selection for frequency of assigned topic reminders
  • N+1 assignment
  • Add assigned fields to suggested topic serializer
  • Unassign/assign when group pm is archived

UX Changes

  • Remove an obsolete css class from an element
  • Fix input styling in group assignments page
  • Fix input alignment following core changes

Voting

Performance

  • Exclude vote fields in topic-list-item serializer for PMs.

Staff Notes

UX Changes

  • Fix alignment of user profile buttons

Chart

Bug Fixes

  • Fixes regressions due to ember-cli and chartjs updates
  • Add pluginId to avoid deprecation

Akismet

New Features

  • Various improvements and refactoring

Bug Fixes

  • Show akismet state only if it exists
  • Don’t trigger a spam check when a post is edited by a staff member.

Calendar

New Features

  • Use default calendar to save events

Bug Fixes

  • Add Recurrence Translation for ‘every_two_weeks’
  • Remove unused RRuleGenerator param
  • Two week recurring events not working
  • Small region preferences select
  • Mobile style fix
  • Safely set one key/value of bulkInvites
  • Deprecation with pluginId

UX Changes

  • Fix date field overlap
  • Add tabs to filter between different types of RSVPed guests
  • Fix slider appearance
  • Fix overflow + wrap issues for long usernames

Data Explorer

New Features

Bug Fixes

  • Assign queries

UX Changes

  • Fix button alignment following core changes

Ssolved

New Features

  • Improve blank page syndrome
  • Enable solved for topics with specific tags.

Bug Fixes

  • Import test helpers properly
  • Typo in mixin and incorrect setting description

Performance

  • Use UserAction to count accepted answers

Encrypt

Bug Fixes

  • Change search to fully match the query
  • Raise error on huge file uploads
  • Improve search in encrypted posts
  • Improve search in encrypted topics
  • Use unique pluginId for modifyClass
  • Decrypt drafts in user stream
  • Unescape emoji in titles from PMs quick menu
  • Deprecation with pluginId

Performance

  • Preload encryption keys in topic lists

BCC

Bug Fixes

  • Use modifyClass API instead of calling reopen

Ad Plugin

Bug Fixes

  • Use imports instead of Discourse global

SAML

Bug Fixes

  • Pin the plugin in commit for old versions of Discourse.

Github

Bug Fixes

  • Check if badge can be used as a title

Code Review

Bug Fixes

  • Topic-list template should match core changes
  • Fix deprecation by adding pluginId

RSS Polling

New Features

  • Allow setting discourse tags for each feed

Subscriptions

Bug Fixes

  • Set interval field correctly in object root for recurring plans.

Policy

Bug Fixes

  • Deprecation with missing pluginId

Zoom

Bug Fixes

  • Post creation was broken when the category experts plugin is also installed
  • CSP issue, anonymous webinar visibility

Shared Edits

Bug Fixes

  • Improve localization and disabled state
  • Deprecations with modifyClass

Reactions

Bug Fixes

  • Bump version to 0.2
  • Deprecation on modifyClass for pluginId

Security Changes

  • Leaking PMs and secure categories topics

Saved Searches

Bug Fixes

  • We need to import visit or tests fail

OpenID Connect

New Features

  • Token endpoint client_secret_post authentication, and explicit claims

Bug Fixes

  • Only send claims parameter if it has been set
  • Correctly handle end_session_endpoint with query parameters

Category Experts

New Features

  • Job to mark historical posts as category expert posts

Bug Fixes

  • Skip post processing for non-regular posts
  • Don’t try to render buttons when no data
  • Switch post handling to DiscourseEvent
  • Skip posts that error in historical job
  • Fetch all groups for group-chooser in category settings

User Notes

UX Changes

  • Fix alignment of user profile buttons

Sign in with Apple

UX Changes

  • Minor copyedit for login button in mobile view.

Docs

New Features

  • Add filter + alpha & numeric sort to categories and tags in docs sidebar

Bug Fixes

  • Ignore category filter when incorrect param

UX Changes

  • Add in:docs quick tip in search widget

Canned Replies

Bug Fixes

  • isVisible conflicts with a deprecated ember property

Chat Integration

Bug Fixes

  • Update dashboard warning link to point to new chat-integration URL

Additional Features and Fixes

Click to expand

New Features

  • Change all core to use uppy-image-uploader
  • Add reversed and type to allowed attributes
  • Cache CORS preflight for MessageBus
  • Cache CORS preflight requests for 2h
  • Add downloadCalendar to plugin api
  • Adds an API to exclude a tag from a TopicQuery
  • Save local date to calendar
  • Return subcategories on categories endpoint
  • Make username suggester suggest user1, user2 etc. for input that contains invalid characters only
  • Add update banner to the categories and latest topics view
  • Local dates range on click
  • Remove duplicated messages about new advices
  • Make the multisite config path configurable
  • Publish read topic tracking events for private messages.
  • Allow plugins to extend Groups

Bug Fixes

  • Make the verbose_auth_token_logging setting off by default
  • Show search context only in topic routes
  • Broken quick search on iPadOS
  • Reset sso email and payload when user navigates away
  • None row doesn’t have a value, use class to target it
  • Topic timeline not updating in megatopics.
  • Do not query backend when searching “in this topic”
  • Remove ‘crawl_images’ site setting
  • Only replaces double quotes and uses unicode
  • Do not show recipient user in email participants list
  • Clarify None Needed option when editing bookmarks
  • Hide full screen toggle button when textarea is disabled
  • Category and tag picker alignment on mobile
  • Correct api version after minor bump
  • Improve quick search speed and result highlights
  • Allow staff to view pending/expired invites of other users
  • Also track textContent mutations
  • Decorate posts that are loaded after the initial render in post stream
  • Improvements for download local dates
  • Ensure embedded replies/reply-to links open in _blank
  • Groups using users icon were lacking margin in search
  • Attempts to observe preview mutation asap
  • Attempts to enforce caret position in filter
  • Use absolute URLs in search shortcut
  • BackupRestore::DatabaseRestorer failures with Ruby 3
  • Show group filter only when user is logged in and groups are present
  • Extract filter pm and categories from UserAction
  • Nil the baked version after moving the posts.
  • Use category’s default sort order in latest & unseen filters only.
  • Missing excerpt for post small actions in topic timeline.
  • Remove List-Post email header
  • Move check if user is suspended later
  • Update translation key to match flag reason.
  • Phpbb import - attachments not embedded in posts
  • Handle separately invite to topic and forum
  • Topic_tracking_state not erroring when missing user_stat
  • Ruby 3 does not freeze interpolated string
  • Fix local-dates in non-post contexts, and in long topics
  • Correct password change path for password managers
  • Resolve quoting issues by reverting new shortcuts
  • Disable previews if diffhtml is enabled
  • Apply quote selection workaround to all browsers
  • Selection going missing in Safari
  • JS error when showing topic search results
  • Strip discourse-logged-in header during force_anonymous!
  • Do not persist tags query param
  • Tooltip in quick search didn’t work
  • Check env for multisite config path even if config file exists
  • Disable Show results if nobody voted
  • Hide form after password reset
  • Parse address lists in embedded emails
  • Local date trim when no time available
  • Select all button on group assigned page
  • Reenable global setting HTML support.
  • Display embeddable host’s post to category.
  • Support Ruby 3 keyword arguments
  • Ember CLI was always loading the admin payload in dev mode
  • Vimeo private video oneboxes were broken
  • Use addresses to compare email header
  • Stop tracking incoming message after navigating away take 2.
  • Stop incoming message tracking after navigating away.
  • Make score’s reason link building more explicit
  • Empty state message on the user bookmarks page
  • Exclude PMs that user sent to themselves.
  • Topic.similar_to results in invalid query for certain locales.
  • Do not show ‘new or updated topics’ for mobile categories page
  • Follow the canonical URL when importing a remote topic.
  • Error loading suggested topics for anon users.
  • Notify incoming to categories and latest topics view specifically.
  • Restrict other user’s notification routes
  • Incorrect interpolation was limiting to 1 dispatch / component
  • Do not publish post for PM topic tracking if not new for user.
  • Support Ruby 3 keyword arguments for DiscourseRedis
  • Workaround Safari 15 createImageBitmap bug
  • Do not display userColorSchemeId in the UI
  • Make update banner always available on the categories view
  • More robust tabindex restriction on preview
  • Ensure subcategory list is hidden when not required
  • Do not error _removeDeleteOnOwnerReplyBookmarks on navigate
  • Don’t try to boot the ember app on old browsers
  • Correctly defines data-attributes used by local-dates
  • Feature detect globalThis
  • include_ serializer methods must end with ?
  • Use unread post excerpt for topic-level bookmark excerpt
  • Use active record update_attribute instead of mini sql.
  • Do not reload card if already loaded
  • Handle forwarded email quotes around Reply-To display name
  • Return empty array when no parent for range
  • Rss gem is bundled gem since Ruby 3
  • Empty state message on the group messages pages
  • Update only passed custom fields
  • Hoisting linebreaks shouldn’t fail for HTML5 elements
  • Offer site_logo_dark_url as an option for dark mode themes
  • Add locales for group mention PM variants
  • Remove incoming messages for read events.
  • Address ArgumentError to support Ruby 3 keyword arguments
  • Prevents extreme cases to overflow in selected content
  • Do not suggest Emoji when in open code blocks
  • Update only present fields in request
  • Optimistically fix topic timeline state issues
  • Use <textarea> for theme translations
  • Do not error mobile upload button if !allowUpload
  • Mobile nav styling
  • Give the topic timeline unique keys for state
  • Make sure S3 object headers are preserved on copy
  • Don’t publish PM archive events to acting user.
  • Don’t attempt to migrate multisite test db while holding the mutex
  • Resolve short URLs after diffHTML was loaded
  • Correct the play icon position
  • Do not replace in mentions and hashtags
  • Display unread/new PM links only when viewing own user.
  • Remove dismissed new topics from PM topic tracking state.
  • Remove dismiss read topics from PM topic tracking state.
  • Better positioning for “Skip to main content” button
  • Ember CLI was being hijacked before potential errors
  • Composer height issue in Safari on iOS 15
  • Ignore canonical link for medium.com oneboxes
  • Do not show spoiler content in RSS
  • Always show the creation date of posts in crawler view
  • Correct highest post number for read topic tracking state.
  • Better filter for groups search
  • Error in Ember CLI environment
  • Capture CC addresses for forwarded emails
  • Perform agree_and_keep action only if possible.
  • Correct the forwarded by user small post for group inbox
  • Use random file name for temporary uploads
  • Search was not being initialized properly.
  • We weren’t properly resetting the mobile state between tests.
  • Don’t attempt to migrate concurrently with other migrations
  • Allow single string values on custom multiple select fields and not just arrays
  • Increase chunk size to fetch title tag correctly

UX Changes

  • Adjust quick search input width
  • Better topic search experience
  • Show fewer toolbar icons in mobile composer
  • Display full-page user search in a grid
  • Better visibility for context search
  • Add Enter hint to search dropdown
  • Add missing translation
  • Remove aria-label for buttons when title attribute exists.
  • Improve route hierarchy in for user-invites
  • Restore new messages button on mobile on PM route.
  • Adds shortcuts for quote (q) and fast edit (e)
  • Add keyboard shortcut for fast edits
  • More consistent shortcut labels for macOS
  • Fix alignment of composer when tags are disabled
  • Revamp quick search
  • Change layout of invites page to match other user pages
  • Global notice no longer accepts HTML.
  • Capitalize unsubscribed email locale
  • Use consistent category badge font size in dropdowns
  • Fix label in search when tagging is disabled
  • PM inboxes being expanded incorrectly when viewing tags.
  • Don’t display group messages link for group with no messages.
  • Show scrollbar only when needed in dropdowns
  • Adjust mobile spacing for full page search
  • Ensure sticky elements don’t overflow header
  • Better placement for bulk select actions button
  • Move fast edit before sharing
  • Adjust quote button position on mobile
  • Add second Search button on mobile
  • Share button margin consistency
  • Fix profile button spacing
  • Improve composer button bar on mobile
  • Prevent invite form fields from resizing
  • Fix date input icon display issues
  • Minor fast edit tweaks
  • Improves fast edit fallback handling
  • Optionally show a “Summarize” button in topic timeline
  • Fix tab groups editing layout issues on mobile
  • Use standard font size for buttons at the end of /top page
  • Fix mobile styling for admin color schemes
  • Fix alignment for admin controls on mobile
  • Fix date input display in iOS
  • Minor layout tweaks to dropdowns
  • Normalize sizing for inputs, buttons, dropdowns
  • Adjust button spacing
  • Limit select-kit tag chooser width
  • Remove :empty on topic-statuses, clean up

Performance

  • Reduce work when external sources are allowed in InlineUploads
  • Use a subquery when excluding a tag from topic query.
  • Avoid running ignored users DB query for anon users.
  • Revert all inboxes from messages route.
  • Improve database query perf when loading topics for a category.
  • Fix N+1 queries in SiteSerialier.
  • Improve query performance all inbox private messages.
  • Avoid running query unnecessarily when updating bookmark.
  • Avoid additional database query when viewing own user.
  • Improve query perf when fetching unread for PM topic tracking state.
「いいね!」 20