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 以支持此功能。此设置无法通过用户界面访问,具有 SSH 访问权限的管理员必须通过 Rails 控制台启用它。启用后,管理员可以永久删除帖子。管理员必须在帖子被删除后至少等待一分钟才能进行永久删除。如果初始删除是由另一位管理员执行的,则无需等待即可永久删除帖子。版主没有永久删除帖子的权限。

可访问性

  • 不输出与标题相同的 aria 标签
  • 为汉堡菜单使用更短的标签
  • 修复若干小问题
  • 为部分搜索字段和分类通知选择器添加标签
  • 为部分下拉菜单添加更具描述性的标签
  • 为下拉菜单使用 listbox 角色
  • 不默认将标签用于 aria-label
  • 改进创建账户模态框以适配屏幕阅读器

其他功能

此测试版包含如此多的新功能,我们无法一一详述。以下是一些值得注意的附加功能。您可以在以下帖子中找到完整的新功能列表。

  • 向普通用户隐藏被暂停用户的站点范围搜索结果
  • 允许用户选择“未查看”作为默认视图
  • 在浏览更多消息中显示新消息/未读消息计数(针对私信)
  • 将游戏主机添加到不支持的浏览器列表中
  • 在用户活动中处理草稿摘录
  • 在全页搜索中支持用户/分类/标签结果
  • 人性化文件大小错误消息
  • 为引用(q)和快速编辑(e)添加快捷键
  • 停止使用电子邮件作为单点登录(SSO)的用户名和姓名建议来源
  • 添加一个隐藏设置,启用使用电子邮件作为用户名建议的来源
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 个赞