# 3.3.0.beta1：Discourse Discover 可选加入、热门话题页、“非法”标记原因等！

**URL:** https://meta.discourse.org/t/3-3-0-beta1-discourse-discover-opt-in-hot-topics-page-its-illegal-flag-reason-and-more/298236
**Category:** Announcements
**Tags:** release-notes
**Created:** [2024 年3 月 15 日 07:41 UTC](https://meta.discourse.org/t/3-3-0-beta1-discourse-discover-opt-in-hot-topics-page-its-illegal-flag-reason-and-more/298236 "2024-03-15T07:41:01Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### 作者： ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### 发布日期： [2024 年3 月 15 日 07:41 UTC](https://meta.discourse.org/t/3-3-0-beta1-discourse-discover-opt-in-hot-topics-page-its-illegal-flag-reason-and-more/298236/1 "2024-03-15T07:41:01Z")

</div>

## 3.3.0.beta1 中的新功能：

### 如果您还没有，请选择加入 Discourse Discover！

我们添加了一个新的 `include in discourse discover` 管理员设置。启用后，您的站点将被考虑收录到一个即将推出的 Discourse 社区展示站点中！[了解更多](https://meta.discourse.org/t/introducing-discourse-discover/295223)

### 对哪些 👍 反应被计为点赞 ❤ 的更改

Discourse Reactions 插件以前只识别一个反应作为主题排名和徽章授予的点赞。现在，除了被拒绝列表中的反应外，所有反应都会被计算在内，默认排除的是“点踩”反应。如果您想排除某些反应，可以将其添加到拒绝列表中。[了解更多](https://meta.discourse.org/t/changes-to-which-reactions-are-counted-as-likes/294696)

### 新的热门话题页面

Hot 是您可以添加到站点菜单的新页面，它使用新的算法对主题进行排序，以便您的会员可以更轻松地发现当前热门的对话。[了解更多](https://meta.discourse.org/t/discover-popular-conversations-in-your-community-with-hot-topic-sorting/296747)

### AI 图片字幕

AI Captions 是一个新模块，它使用人工智能为帖子中添加的图片建议字幕，使其对于依赖屏幕阅读器的用户来说更易于理解。[了解更多](https://meta.discourse.org/t/ai-image-captioning-feature-in-discourse-ai-plugin/296087)

### 新的“非法”举报原因

为了帮助站点遵守《数字服务法》，我们在举报模态框中添加了一个新的“非法”原因。该原因将包含在举报报告中，用于审计目的，并会向版主发送通知和私人消息。

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/4/8/048127edb1c24b6a04dc37ebdfa542848042b32e.png)

### CSP “strict-dynamic” 是新的默认设置

我们添加了一个新的“strict-dynamic” CSP 实现，这应该能大大简化主题、插件和外部脚本的安全集成。这个新实现现在是默认设置。[了解更多](https://meta.discourse.org/t/content-security-policy-now-uses-strict-dynamic/298172)

### 完成 Ember 5 升级

我们的 Ember 5 升级早已完成。在此版本中，我们已删除旧的 `EMBER_VERSION=3` 标志。[了解更多](https://meta.discourse.org/t/preparing-for-discourses-upgrade-to-ember-5/287211)

## 安全更新

此版本包括对我们社区和 [HackerOne](https://hackerone.com/discourse) 报告的以下安全问题的修复。

- 泄露秘密子类别的存在 [(CVE-2024-24748)](https://github.com/discourse/discourse/security/advisories/GHSA-3qh8-xw23-cq4x)
- 通过像素洪水进行的拒绝服务攻击 [(CVE-2024-24827)](https://github.com/discourse/discourse/security/advisories/GHSA-58vw-246g-fjj4)
- 通过邀请进行的拒绝服务攻击 - 没有最大字段大小 [(CVE-2024-27085)](https://github.com/discourse/discourse/security/advisories/GHSA-cvp5-h7p8-mjj6)
- 通过工作人员操作日志进行的拒绝服务攻击 [(CVE-2024-27100)](https://github.com/discourse/discourse/security/advisories/GHSA-xq4v-gxgc)
- 泄露带有自定义背景的秘密类别的存在 [CVE-2024-28242](https://github.com/discourse/discourse/security/advisories/GHSA-c7q7-7f6q-2c23)

---

<div class="post-metadata">

### 作者： ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### 发布日期： [2024 年3 月 15 日 11:56 UTC](https://meta.discourse.org/t/3-3-0-beta1-discourse-discover-opt-in-hot-topics-page-its-illegal-flag-reason-and-more/298236/3 "2024-03-15T11:56:41Z")

</div>

### 更多更新！

等等，还有更多！我们尽力为您突出显示新功能和变更，但变更太多，无法一一详述。如需查看新功能、错误修复、用户体验改进等的完整列表，请务必查看下面列出的“其他功能和修复”。

## 插件改进

### discourse-activity-pub

#### 错误修复

- 确保 full\_topic 活动存在主题集合 ([67](https://github.com/discourse/discourse-activity-pub/pull/67))
- 使用完整的 slugPath 重新加载具有权限的分类 ([65](https://github.com/discourse/discourse-activity-pub/pull/65))
- 投递作业失败日志 ([64](https://github.com/discourse/discourse-activity-pub/pull/64))

### discourse-adplugin

#### 新功能

- 改进 DFP / Ad-manager 内容安全策略兼容性 ([201](https://github.com/discourse/discourse-adplugin/pull/201))

#### 错误修复

- 在服务器端计算无广告组 ([200](https://github.com/discourse/discourse-adplugin/pull/200))
- 为每个广告平台添加排除组 ([197](https://github.com/discourse/discourse-adplugin/pull/197))

### discourse-ai

#### 新功能

- 通过 URL 分享与 AI 的对话 ([521](https://github.com/discourse/discourse-ai/pull/521))
- AI 快速语义搜索 ([501](https://github.com/discourse/discourse-ai/pull/501))
- 添加 GitHub 助手 AI 机器人角色和工具 ([513](https://github.com/discourse/discourse-ai/pull/513))
- 支持 Claude Opus 和 Sonnet ([508](https://github.com/discourse/discourse-ai/pull/508))
- 选项：AI 分流可将帖子发送至审核队列 ([498](https://github.com/discourse/discourse-ai/pull/498))
- AI 助手支持非英语语言 ([489](https://github.com/discourse/discourse-ai/pull/489))
- 处理图片标题中的安全上传 ([476](https://github.com/discourse/discourse-ai/pull/476))
- AI 图片标题 ([470](https://github.com/discourse/discourse-ai/pull/470))
- 新的 Discourse 助手角色 ([473](https://github.com/discourse/discourse-ai/pull/473))
- 可提及的角色、随机选择器工具、上下文限制 ([466](https://github.com/discourse/discourse-ai/pull/466))
- 允许角色提供 top\_p 和 temperature 参数 ([459](https://github.com/discourse/discourse-ai/pull/459))
- 微调 LLM 报告以更严格地遵循指令 ([451](https://github.com/discourse/discourse-ai/pull/451))

#### 错误修复

- 启用 CSP 时共享 AI 对话的语法高亮 ([532](https://github.com/discourse/discourse-ai/pull/532))
- 处理 tokenizer 上的 Unicode ([515](https://github.com/discourse/discourse-ai/pull/515))
- CSS 更改时使资产过期
- 分享页面缺少翻译 ([528](https://github.com/discourse/discourse-ai/pull/528))
- 不要错误地显示分享对话 ([526](https://github.com/discourse/discourse-ai/pull/526))
- 回填情感时过滤软删除的主题 ([527](https://github.com/discourse/discourse-ai/pull/527))
- Ai-image-caption 在检查 currentUser can\_use\_assistant 时不应崩溃 ([523](https://github.com/discourse/discourse-ai/pull/523))
- 图片标题功能应尊重编辑器 AI 助手组 ([522](https://github.com/discourse/discourse-ai/pull/522))
- 调整函数调用 ([519](https://github.com/discourse/discourse-ai/pull/519))
- 改进 AI 角色编辑器输入和可选的 GitHub 身份验证 ([518](https://github.com/discourse/discourse-ai/pull/518))
- 防止在回复发布之前创建 AI 聊天线程标题 ([517](https://github.com/discourse/discourse-ai/pull/517))
- 避免所有机器人反馈循环 ([507](https://github.com/discourse/discourse-ai/pull/507))
- 编辑器自定义提示中的退格键关闭菜单 ([505](https://github.com/discourse/discourse-ai/pull/505))
- 系统角色非英语保存，缺少机器人私信
- 支持多个工具调用 ([502](https://github.com/discourse/discourse-ai/pull/502))
- 直接私信角色时流式传输消息 ([500](https://github.com/discourse/discourse-ai/pull/500))
- 支持 Open AI 参数中的空格 ([499](https://github.com/discourse/discourse-ai/pull/499))
- 编辑器服务调用破坏共享编辑 ([494](https://github.com/discourse/discourse-ai/pull/494))
- 降低 Gemini Embeddings 的截断大小 ([493](https://github.com/discourse/discourse-ai/pull/493))
- Gemini 中的图片生成已损坏 ([490](https://github.com/discourse/discourse-ai/pull/490))
- 多次连续调用时标题功能已损坏 ([481](https://github.com/discourse/discourse-ai/pull/481))
- 无法与角色用户分享对话 ([479](https://github.com/discourse/discourse-ai/pull/479))
- 当发生后续搜索时清理 AI 搜索结果 ([469](https://github.com/discourse/discourse-ai/pull/469))
- 更好的 AI 聊天线程标题 ([467](https://github.com/discourse/discourse-ai/pull/467))
- 为线程标题使用专用提示 ([464](https://github.com/discourse/discourse-ai/pull/464))
- 在兼容迁移中显式检查空字符串 ([463](https://github.com/discourse/discourse-ai/pull/463))
- 模块禁用时隐藏相关主题 ([461](https://github.com/discourse/discourse-ai/pull/461))
- 导致 text\_embedding\_3\_large 失败的拼写错误 ([460](https://github.com/discourse/discourse-ai/pull/460))
- 改进嵌入生成 ([452](https://github.com/discourse/discourse-ai/pull/452))
- 添加表名以消除 SQL 中的模糊列引用 ([449](https://github.com/discourse/discourse-ai/pull/449))

#### UX 变更

- 为共享 AI 页面添加标题后缀 ([531](https://github.com/discourse/discourse-ai/pull/531))
- 添加暗色模式支持 ([529](https://github.com/discourse/discourse-ai/pull/529))
- 更新分享功能的样式和标记 ([525](https://github.com/discourse/discourse-ai/pull/525))
- AI 助手定位 ([506](https://github.com/discourse/discourse-ai/pull/506))
- 图片标题大小、行为的细微调整 ([484](https://github.com/discourse/discourse-ai/pull/484))
- 图片标题样式细微调整 ([482](https://github.com/discourse/discourse-ai/pull/482))
- 添加缺失的设置描述 ([465](https://github.com/discourse/discourse-ai/pull/465))
- 重新引入嵌入设置验证 ([457](https://github.com/discourse/discourse-ai/pull/457))
- 验证嵌入设置 ([455](https://github.com/discourse/discourse-ai/pull/455))

#### 安全变更

- 从插件调用服务时放置 SSRF 保护。 ([485](https://github.com/discourse/discourse-ai/pull/485))

### discourse-akismet

#### 错误修复

- 编辑 PostVotingComment 时出现 500 错误 ([127](https://github.com/discourse/discourse-akismet/pull/127))
- 缺少 review\_tl1\_users\_first\_post\_voting\_comment 的翻译 ([128](https://github.com/discourse/discourse-akismet/pull/128))

### discourse-automation

#### 新功能

- 允许在触发器中使用 custom\_fields 或 user\_fields ([253](https://github.com/discourse/discourse-automation/pull/253))
- 用户更新时自动创建帖子 ([249](https://github.com/discourse/discourse-automation/pull/249))

#### 错误修复

- 更新我们将值传递给 `ModalJsonSchemaEditor` 的方式 ([257](https://github.com/discourse/discourse-automation/pull/257))
- 正确格式化占位符 ([255](https://github.com/discourse/discourse-automation/pull/255))
- 从当前时间计算下一个每日重复 ([248](https://github.com/discourse/discourse-automation/pull/248))

### discourse-cakeday

#### UX 变更

- 修复页面布局，清理 ([123](https://github.com/discourse/discourse-cakeday/pull/123))

### discourse-calendar

#### 新功能

- 使用 downloadCalendar 的新选项 ([549](https://github.com/discourse/discourse-calendar/pull/549))

#### 错误修复

- 编辑事件自定义字段不起作用 ([550](https://github.com/discourse/discourse-calendar/pull/550))
- 更新节假日调整测试 ([541](https://github.com/discourse/discourse-calendar/pull/541))

#### 安全变更

- 向无权查看事件帖子的用户隐藏受邀者 ([544](https://github.com/discourse/discourse-calendar/pull/544))
- 禁止自我邀请到私人事件 ([543](https://github.com/discourse/discourse-calendar/pull/543))

### discourse-client-performance

#### 错误修复

- 在 PLUGIN\_NAME 中使用正确的插件名称

### discourse-data-explorer

#### 新功能

- 添加 group\_list 参数类型 ([283](https://github.com/discourse/discourse-data-explorer/pull/283))

### discourse-global-filter

#### 错误修复

- 通过将其转换为 glimmer 来修复空的分类矩阵 ([133](https://github.com/discourse/discourse-global-filter/pull/133))

### discourse-group-membership-ip-block

#### 安全变更

- 不要暴露来自其他插件的自定义字段 ([13](https://github.com/discourse/discourse-group-membership-ip-block/pull/13))

### discourse-jira

#### 错误修复

- 更新 jira 字段以使用 Component API。 ([61](https://github.com/discourse/discourse-jira/pull/61))
- 拼写错误 ([58](https://github.com/discourse/discourse-jira/pull/58))

### discourse-kolide

#### 新功能

- 在入职过程中添加新复选框以将设备标记为移动设备 ([89](https://github.com/discourse/discourse-kolide/pull/89))

### discourse-math

#### UX 变更

- 隐藏 mathjax 加载提示 ([78](https://github.com/discourse/discourse-math/pull/78))

### discourse-microsoft-auth

#### 安全变更

- 来自 microsoft 的电子邮件未验证 ([72](https://github.com/discourse/discourse-microsoft-auth/pull/72))

### discourse-multilingual

#### 错误修复

- 由于 i18n.default 导致测试失败 ([3](https://github.com/discourse/discourse-multilingual/pull/3))

#### 安全变更

- 为 content\_languages 自定义字段添加最大长度

### discourse-oauth2-basic

#### 新功能

- 允许在检索 userinfo 时指定必需路径 ([96](https://github.com/discourse/discourse-oauth2-basic/pull/96))

### discourse-post-voting

#### 错误修复

- 爬虫的下一页问题 ([193](https://github.com/discourse/discourse-post-voting/pull/193))

### discourse-reactions

#### 新功能

- 将所有反应计为喜欢，例外由站点设置控制 ([267](https://github.com/discourse/discourse-reactions/pull/267))

#### 错误修复

- 在没有更多反应时停止请求 ([282](https://github.com/discourse/discourse-reactions/pull/282))
- 不要在 reactions-received 端点显示 Likes ([279](https://github.com/discourse/discourse-reactions/pull/279))
- 查看其他用户的活动反应 ([278](https://github.com/discourse/discourse-reactions/pull/278))
- \_allowHover() 函数调用 ([277](https://github.com/discourse/discourse-reactions/pull/277))
- 悬停反应图标导致错误会淹没 AJAX 请求 ([274](https://github.com/discourse/discourse-reactions/pull/274))
- 不要在帖子 … 菜单下显示已反应的用户 ([275](https://github.com/discourse/discourse-reactions/pull/275))
- 不要在 likes-received 列表中显示带有反应的喜欢 ([273](https://github.com/discourse/discourse-reactions/pull/273))
- 处理 UserAction 同步中为 null 的 post.user\_id ([270](https://github.com/discourse/discourse-reactions/pull/270))
- 在 plugin.rb 中要求缺失的计划作业 ([269](https://github.com/discourse/discourse-reactions/pull/269))

### discourse-solved

#### 错误修复

- 将 combobox 嵌套在 LI 元素内 ([280](https://github.com/discourse/discourse-solved/pull/280))

### discourse-steam-login

#### 错误修复

- 按钮样式和标签 ([79](https://github.com/discourse/discourse-steam-login/pull/79))

### discourse-subscriptions

#### 错误修复

- 确认时确保删除产品 ([195](https://github.com/discourse/discourse-subscriptions/pull/195))

### discourse-templates

#### 新功能

- 添加指向模板源主题的链接 ([70](https://github.com/discourse/discourse-templates/pull/70))

#### 错误修复

- 列出模板和模板分类时的缓慢问题 ([67](https://github.com/discourse/discourse-templates/pull/67))

### discourse-vk-auth

#### UX 变更

- 改进按钮设计以匹配其他登录方式 ([29](https://github.com/discourse/discourse-vk-auth/pull/29))

## 所有功能和修复

### 新功能

- 可选显示指向 [discourse.org](http://discourse.org) 的“Powered by Discourse”链接 ([26162](https://github.com/discourse/discourse/pull/26162))
- 过滤侧边栏的额外关键词 ([26148](https://github.com/discourse/discourse/pull/26148))
- 对 support\_mixed\_text\_direction 使用浏览器 `dir="auto"` ([26129](https://github.com/discourse/discourse/pull/26129))
- 关闭通知用户设置 ([26072](https://github.com/discourse/discourse/pull/26072))
- 改进“+ 子分类”选项 ([26086](https://github.com/discourse/discourse/pull/26086))
- 默认启用 strict-dynamic 内容安全策略 ([26051](https://github.com/discourse/discourse/pull/26051))
- 在 category-drop 中显示剩余数量 ([25938](https://github.com/discourse/discourse/pull/25938))
- 将返回论坛链接移至过滤器上方 ([26070](https://github.com/discourse/discourse/pull/26070))
- 批量静默关闭主题 ([26043](https://github.com/discourse/discourse/pull/26043))
- 重新添加“+ 子分类”选项 ([26035](https://github.com/discourse/discourse/pull/26035))
- 允许强制创建线程 ([25987](https://github.com/discourse/discourse/pull/25987))
- 站点设置以在惩罚消息中包含帖子 ([26025](https://github.com/discourse/discourse/pull/26025))
- 为 loom 添加 onebox ([26016](https://github.com/discourse/discourse/pull/26016))
- 引入用于操作标题图标的 API ([25916](https://github.com/discourse/discourse/pull/25916))
- 允许特定组查看原始电子邮件 ([26003](https://github.com/discourse/discourse/pull/26003))
- 添加恢复 API 范围 ([25978](https://github.com/discourse/discourse/pull/25978))
- 支持 schema 主题设置的布尔、枚举和整数字段 ([25933](https://github.com/discourse/discourse/pull/25933))
- 引入 chat\_preferred\_mobile\_index 设置 ([25927](https://github.com/discourse/discourse/pull/25927))
- 允许 HTML 表使用 `rowspan` 和 `colspan` 属性 ([20973](https://github.com/discourse/discourse/pull/20973))
- 过滤管理员侧边栏 ([25853](https://github.com/discourse/discourse/pull/25853))
- 在聊天成员列表中添加用户状态 ([25831](https://github.com/discourse/discourse/pull/25831))
- Schema 主题设置输入字段 ([25811](https://github.com/discourse/discourse/pull/25811))
- 当用户隐藏公开个人资料和在线状态时隐藏用户状态 ([24300](https://github.com/discourse/discourse/pull/24300))
- 添加计划 Twitter 登录问题检查 - 第一部分 ([25830](https://github.com/discourse/discourse/pull/25830))
- 调用 hub API 更新 Discourse discover 注册。 ([25634](https://github.com/discourse/discourse/pull/25634))
- 为包装器插件出口添加自动 `before` 和 `after` 出口 ([24254](https://github.com/discourse/discourse/pull/24254))
- 在侧边栏部分之前/之后添加 plugin-outlet ([25807](https://github.com/discourse/discourse/pull/25807))
- 添加复选框供用户在标记为非法前确认 ([25762](https://github.com/discourse/discourse/pull/25762))
- Schema 主题设置的返回按钮 ([25743](https://github.com/discourse/discourse/pull/25743))
- 创建链接以开始新聊天 ([25722](https://github.com/discourse/discourse/pull/25722))
- 向 transformedPost 添加 `.topic` 属性 ([25757](https://github.com/discourse/discourse/pull/25757))
- 为 strict-dynamic CSP 添加实验性选项 ([25664](https://github.com/discourse/discourse/pull/25664))
- Schema 主题设置 UI 的基础工作 ([25673](https://github.com/discourse/discourse/pull/25673))
- Shift+j 和 shift+k 将滚动整个帖子 ([25684](https://github.com/discourse/discourse/pull/25684))
- 将置顶应用于热门主题列表 ([25690](https://github.com/discourse/discourse/pull/25690))
- 从 Logster 返回站点的反向链接 ([25669](https://github.com/discourse/discourse/pull/25669))
- 自动生成并显示视频预览图片 ([25633](https://github.com/discourse/discourse/pull/25633))
- 异步加载分类和聊天标签 ([25526](https://github.com/discourse/discourse/pull/25526))
- 添加新的“非法”标记原因 ([25498](https://github.com/discourse/discourse/pull/25498))
- 在移动设备上显示未读帖子指示器 ([25421](https://github.com/discourse/discourse/pull/25421))
- 用户永久链接 ([25552](https://github.com/discourse/discourse/pull/25552))
- 允许为非管理员用户禁用用户活动选项卡 ([25540](https://github.com/discourse/discourse/pull/25540))
- 热门功能改进 ([25533](https://github.com/discourse/discourse/pull/25533))
- 添加指向原始消息的链接 ([25503](https://github.com/discourse/discourse/pull/25503))

### 错误修复

- 在 strict-dynamic 下正确剥离不需要的 csp 指令 ([26180](https://github.com/discourse/discourse/pull/26180))
- 支持引用块中的 `[code]` ([26182](https://github.com/discourse/discourse/pull/26182))
- 处理搜索结果中的 nil post\_search\_data ([26179](https://github.com/discourse/discourse/pull/26179))
- 点击表情符号自动完成中的“更多…” ([26176](https://github.com/discourse/discourse/pull/26176))
- 点击表情符号自动完成中的“更多…” ([26160](https://github.com/discourse/discourse/pull/26160))
- 管理员侧边栏改进 ([26168](https://github.com/discourse/discourse/pull/26168))
- 当私信对用户禁用时隐藏发送私信建议 ([26157](https://github.com/discourse/discourse/pull/26157))
- 在主题中 @ 提及暂存用户时避免发送用户电子邮件 ([26102](https://github.com/discourse/discourse/pull/26102))
- 在 `loadMore` 期间等待异步 `Topic.apply_transformations` ([26143](https://github.com/discourse/discourse/pull/26143))
- 回溯断言在 \< iOS 16.4 中不可用 ([26139](https://github.com/discourse/discourse/pull/26139))
- 导航时关闭用户菜单 ([26131](https://github.com/discourse/discourse/pull/26131))
- 显示自动完成前检测代码“块” ([26023](https://github.com/discourse/discourse/pull/26023))
- 正确检测 RTL ([26127](https://github.com/discourse/discourse/pull/26127))
- 确保导航离开时标题主题信息立即更新 ([26128](https://github.com/discourse/discourse/pull/26128))
- 修正 glimmer 标题中的 pm 图标链接 ([26125](https://github.com/discourse/discourse/pull/26125))
- 不要阻止在 🍔wrapper 中打开常规链接 ([26126](https://github.com/discourse/discourse/pull/26126))
- 通过 SSO 创建用户时存储注册 IP 地址 ([26121](https://github.com/discourse/discourse/pull/26121))
- 当属性值非必需时允许 nil ([26112](https://github.com/discourse/discourse/pull/26112))
- 使用用户的区域设置进行聊天推送通知 ([26107](https://github.com/discourse/discourse/pull/26107))
- desktopNotifications 服务中不允许取消订阅的错误 ([26103](https://github.com/discourse/discourse/pull/26103))
- 改进线程消息链接 ([26095](https://github.com/discourse/discourse/pull/26095))
- 消除未读未正确消除 ([26096](https://github.com/discourse/discourse/pull/26096))
- Glimmer 标题中的主题搜索 ([26040](https://github.com/discourse/discourse/pull/26040))
- 在 dismissRead 中检查 `options` ([26065](https://github.com/discourse/discourse/pull/26065))
- 恢复 discourse-sidebar 图标 ([26050](https://github.com/discourse/discourse/pull/26050))
- 当默认区域设置更改时更新 Discobot 的 `UserProfile#bio_raw` ([26045](https://github.com/discourse/discourse/pull/26045))
- 展开表格上的 `<td>` 间距 ([26037](https://github.com/discourse/discourse/pull/26037))
- 不要显示没有回复的线程 ([26033](https://github.com/discourse/discourse/pull/26033))
- 正确显示无法聊天的用户为禁用状态 ([26010](https://github.com/discourse/discourse/pull/26010))
- 活动 webhook 类型排除非活动插件 ([26022](https://github.com/discourse/discourse/pull/26022))
- `ThemeSettingsObjectValidator` 不允许字符串的 URL 路径 ([26005](https://github.com/discourse/discourse/pull/26005))
- 如果满足所有要求，则不要降级信任级别。 ([25953](https://github.com/discourse/discourse/pull/25953))
- 防止传入电子邮件中的重复附件 ([25986](https://github.com/discourse/discourse/pull/25986))
- 返回主题地图参与者头像中缺失的 href 属性 ([25981](https://github.com/discourse/discourse/pull/25981))
- 离开时立即移除群组消息 ([25961](https://github.com/discourse/discourse/pull/25961))
- `import:rebake_uncooked_*` 作业无法并行运行 ([25969](https://github.com/discourse/discourse/pull/25969))
- 在 category-chooser 中显示“无分类” ([25917](https://github.com/discourse/discourse/pull/25917))
- 从我的线程页面实时更新线程 ([25955](https://github.com/discourse/discourse/pull/25955))
- 频道成员状态实时更新 ([25925](https://github.com/discourse/discourse/pull/25925))
- 在用户书签菜单中显示已删除的书签提醒 ([25905](https://github.com/discourse/discourse/pull/25905))
- 当用户无法发送私信时不要显示发送私信提示 ([25912](https://github.com/discourse/discourse/pull/25912))
- 向频道成员资格序列化器添加状态 ([25906](https://github.com/discourse/discourse/pull/25906))
- 创建 DM 时更好地处理错误 ([25908](https://github.com/discourse/discourse/pull/25908))
- `ThemeSettingsValidator.validate_value` 返回错误 ([25901](https://github.com/discourse/discourse/pull/25901))
- 当整数值设置为字符串类型设置的默认值时出错 ([25898](https://github.com/discourse/discourse/pull/25898))
- 防止最后回复具有已删除用户时出现异常 ([25852](https://github.com/discourse/discourse/pull/25852))
- 转换中止时不要引发错误 ([25841](https://github.com/discourse/discourse/pull/25841))
- 点击滚动箭头时正确更新最后阅读 ([25838](https://github.com/discourse/discourse/pull/25838))
- 防止安全模式下的管理员侧边栏错误 ([25832](https://github.com/discourse/discourse/pull/25832))
- 过滤到标签时静音标签破坏热门页面 ([25824](https://github.com/discourse/discourse/pull/25824))
- 不要在侧边栏中双重突出显示管理员插件链接 ([25808](https://github.com/discourse/discourse/pull/25808))
- `onFilesPicked` 操作的回归 ([25819](https://github.com/discourse/discourse/pull/25819))
- 使 category-drop 搜索子分类 ([25817](https://github.com/discourse/discourse/pull/25817))
- 在 category-chooser 中显示未分类 ([25794](https://github.com/discourse/discourse/pull/25794))
- 允许查询由整数组成的用户名 ([25815](https://github.com/discourse/discourse/pull/25815))
- 更改侧边栏面板时 FollowRedirects ([25814](https://github.com/discourse/discourse/pull/25814))
- 自定义表单模板视图模态页脚按钮 ([25804](https://github.com/discourse/discourse/pull/25804))
- 使 /categories/search 顺序确定 ([25793](https://github.com/discourse/discourse/pull/25793))
- 确保设置模型属性 ([25790](https://github.com/discourse/discourse/pull/25790))
- 缓存键应为字符串 ([25791](https://github.com/discourse/discourse/pull/25791))
- 加载带有搜索主题结果的分类 ([25700](https://github.com/discourse/discourse/pull/25700))
- 分类结果应按术语排序 ([25771](https://github.com/discourse/discourse/pull/25771))
- 管理员侧边栏隐藏了聊天/论坛切换按钮 ([25781](https://github.com/discourse/discourse/pull/25781))
- 不要重复管理员侧边栏插件链接 ([25780](https://github.com/discourse/discourse/pull/25780))
- 暗色模式中的管理员导航活动链接 ([25759](https://github.com/discourse/discourse/pull/25759))
- 将视频背景设置为黑色 ([25744](https://github.com/discourse/discourse/pull/25744))
- 聊天中 auto\_join\_users\_info 的正确分类名称 ([25739](https://github.com/discourse/discourse/pull/25739))
- 完整帖子跳转不起作用 ([25734](https://github.com/discourse/discourse/pull/25734))
- 在视频占位符播放按钮周围添加边框 ([25727](https://github.com/discourse/discourse/pull/25727))
- 预加载侧边栏的父分类 ([25726](https://github.com/discourse/discourse/pull/25726))
- 从 CSP 扩展中移除 strict-dynamic 特定逻辑 ([25725](https://github.com/discourse/discourse/pull/25725))
- 尊重管理员侧边栏“返回论坛”链接上的主页首选项 ([25642](https://github.com/discourse/discourse/pull/25642))
- 匿名执行操作的用户 Is\_my\_own? 检查 ([25716](https://github.com/discourse/discourse/pull/25716))
- 使最近搜索项用值填充输入 ([25704](https://github.com/discourse/discourse/pull/25704))
- b797434 中的回归 ([25694](https://github.com/discourse/discourse/pull/25694))
- 生产环境中的 Logster 反向链接配置 ([25685](https://github.com/discourse/discourse/pull/25685))
- 使相似主题可选 ([25682](https://github.com/discourse/discourse/pull/25682))
- 允许几个聊天频道具有空 slug ([25680](https://github.com/discourse/discourse/pull/25680))
- 在主题状态切换时隐藏计时器信息 ([25596](https://github.com/discourse/discourse/pull/25596))
- 润色非法标记类型翻译 ([25670](https://github.com/discourse/discourse/pull/25670))
- 不要在无标签过滤器的页面上添加 `"tag-"` 类 ([25677](https://github.com/discourse/discourse/pull/25677))
- 序列化 can\_ignore\_users ([25672](https://github.com/discourse/discourse/pull/25672))
- 不要不必要地从主页清除查询参数 ([25665](https://github.com/discourse/discourse/pull/25665))
- 预加载用户特定的分类字段 ([25663](https://github.com/discourse/discourse/pull/25663))
- 电子邮件分类徽章不应使用分类文本颜色 ([25655](https://github.com/discourse/discourse/pull/25655))
- 引用的私有主题 URL 尊重子文件夹安装 ([25643](https://github.com/discourse/discourse/pull/25643))
- 按 slug 排序聊天频道 ([25656](https://github.com/discourse/discourse/pull/25656))
- 没有权限时不要将回复作为新主题 ([25641](https://github.com/discourse/discourse/pull/25641))
- 子文件夹设置中的 Webauthn 原点不正确 ([25651](https://github.com/discourse/discourse/pull/25651))
- 按提及、未读和频道标题排序聊天频道 ([25565](https://github.com/discourse/discourse/pull/25565))
- 更改 max\_image\_megapixels 逻辑 ([25625](https://github.com/discourse/discourse/pull/25625))
- 为电子邮件内联渲染分类徽章样式 ([25487](https://github.com/discourse/discourse/pull/25487))
- 查找所有频道标签 ([25617](https://github.com/discourse/discourse/pull/25617))
- 懒加载分类时预加载子分类的关联 ([25630](https://github.com/discourse/discourse/pull/25630))
- 始终为侧边栏中的管理员预加载管理员插件列表 ([25606](https://github.com/discourse/discourse/pull/25606))
- Hot 未添加最近提升的主题 ([25619](https://github.com/discourse/discourse/pull/25619))
- 不要异步加载已加载的分类 ([25607](https://github.com/discourse/discourse/pull/25607))
- 在顶级流量来源报告中尊重日期范围 ([25599](https://github.com/discourse/discourse/pull/25599))
- 缓存禁用时的服务工作者推送通知 ([25610](https://github.com/discourse/discourse/pull/25610))
- 始终信任管理员和版主进行帖子编辑 ([25602](https://github.com/discourse/discourse/pull/25602))
- 主题上的非法标记缺少翻译 ([25603](https://github.com/discourse/discourse/pull/25603))
- 始终允许工作人员（管理员和版主）发布链接 ([25601](https://github.com/discourse/discourse/pull/25601))
- 向 warn 添加 id ([25597](https://github.com/discourse/discourse/pull/25597))
- 当启用 unsafe-inline 时省略 CSP nonce 和哈希值 ([25590](https://github.com/discourse/discourse/pull/25590))
- 恢复 PrettyText 中对 `.js.es6` 文件的支持 ([25588](https://github.com/discourse/discourse/pull/25588))
- 相似主题依赖于小部件搜索菜单 ([25586](https://github.com/discourse/discourse/pull/25586))
- 点击通知会触发错误 ([25583](https://github.com/discourse/discourse/pull/25583))
- 使用系统头像的通知头像的正确 className ([25578](https://github.com/discourse/discourse/pull/25578))
- TL3 的访问次数实际上意味着“阅读帖子：唯一天数” ([25468](https://github.com/discourse/discourse/pull/25468))
- 使用侧边栏导航时保存之前的聊天状态 ([25537](https://github.com/discourse/discourse/pull/25537))
- 插入超链接搜索徽章间距 ([25563](https://github.com/discourse/discourse/pull/25563))
- 正确保存群组邀请 ([25566](https://github.com/discourse/discourse/pull/25566))
- 运行主题迁移后更新主题 JavaScript 缓存 ([25562](https://github.com/discourse/discourse/pull/25562))
- 为仅移动聊天路由添加桌面重定向 ([25561](https://github.com/discourse/discourse/pull/25561))
- 处理不支持 isConditionalMediationAvailable 的旧版 Firefox ([25549](https://github.com/discourse/discourse/pull/25549))
- 生产环境中的插件图像资产 ([25547](https://github.com/discourse/discourse/pull/25547))
- 防止 discourse 标题位于 ipad 导航下方 ([25542](https://github.com/discourse/discourse/pull/25542))
- 仅在聊天中对有效提及使用提及样式 ([25523](https://github.com/discourse/discourse/pull/25523))
- 懒加载分类时预加载侧边栏分类 ([25332](https://github.com/discourse/discourse/pull/25332))
- 在当前用户上序列化 uploaded\_avatars\_allowed\_groups 检查 ([25515](https://github.com/discourse/discourse/pull/25515))
- 更好地支持 ipad 和 hub 页脚导航 ([25518](https://github.com/discourse/discourse/pull/25518))
- iOS 上的视频播放 ([25513](https://github.com/discourse/discourse/pull/25513))
- 在 i18n 字符串中使用 feedback\_category 占位符 ([25514](https://github.com/discourse/discourse/pull/25514))
- 重映射 postgres 文本搜索邻近运算符 ([25497](https://github.com/discourse/discourse/pull/25497))
- 缺少 guidelines\_topic.body 的翻译 ([25505](https://github.com/discourse/discourse/pull/25505))
- 在移动设备上条件隐藏“我的线程” ([25494](https://github.com/discourse/discourse/pull/25494))
- 移除快速编辑正则表达式和字符串替换 ([25496](https://github.com/discourse/discourse/pull/25496))
- 聊天频道行指示器应仅显示紧急计数 ([25458](https://github.com/discourse/discourse/pull/25458))
- 默认更多群组设置为工作人员 + TL(N) ([25493](https://github.com/discourse/discourse/pull/25493))
- 从 HTML 到 markdown 解析器中移除 img alt & title 中的换行符 ([25473](https://github.com/discourse/discourse/pull/25473))
- 站点设置整数输入类型 ([25485](https://github.com/discourse/discourse/pull/25485))

### UX 变更

- 修复抽屉和侧边栏中的聊天标题边距 ([26171](https://github.com/discourse/discourse/pull/26171))
- 修复聊天导航栏标题对齐 ([26161](https://github.com/discourse/discourse/pull/26161))
- 使用新的拖放图标更新 Glimmer 标题 ([26166](https://github.com/discourse/discourse/pull/26166))
- 显示对象类型主题设置的描述 ([26152](https://github.com/discourse/discourse/pull/26152))
- 改进 [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) 的错误处理 ([26140](https://github.com/discourse/discourse/pull/26140))
- 聊天线程最后回复用户的头像 ([26123](https://github.com/discourse/discourse/pull/26123))
- 从“我的线程”预览中移除最后回复并重新设计样式 ([25568](https://github.com/discourse/discourse/pull/25568))
- 在发送消息时，将编辑器中的默认操作标签从“消息”更改为“发送消息” ([26109](https://github.com/discourse/discourse/pull/26109))
- 汉堡菜单中返回论坛链接的样式 ([26118](https://github.com/discourse/discourse/pull/26118))
- 在加载 ace-editor 依赖项时显示加载旋转器 ([26099](https://github.com/discourse/discourse/pull/26099))
- 聊天头像在线状态样式 ([26012](https://github.com/discourse/discourse/pull/26012))
- 更新 Facebook 蓝色十六进制值，添加关于按钮颜色的注释 ([26105](https://github.com/discourse/discourse/pull/26105))
- 在实验性的新视图中不隐藏新的导航项 ([26094](https://github.com/discourse/discourse/pull/26094))
- 添加可选的 below-content grid-area ([26091](https://github.com/discourse/discourse/pull/26091))
- 清理邀请按钮 ([26068](https://github.com/discourse/discourse/pull/26068))
- 左对齐推荐主题的标题和页脚文本 ([26058](https://github.com/discourse/discourse/pull/26058))
- 添加侧边栏图标 ([26046](https://github.com/discourse/discourse/pull/26046))
- 将顶部关闭按钮从 `topics` 移动到 `d-navigation` ([26032](https://github.com/discourse/discourse/pull/26032))
- 修复“优先用户名”设置的字体大小和粗细 ([26034](https://github.com/discourse/discourse/pull/26034))
- 清理聊天消息创建者的 scss + 调整用户名显示的设计 ([25928](https://github.com/discourse/discourse/pull/25928))
- 在触摸设备上始终显示图像控件 ([26018](https://github.com/discourse/discourse/pull/26018))
- 站点设置描述的初步版本 ([25829](https://github.com/discourse/discourse/pull/25829))
- 在图像预览控件不可见时禁用它们 ([25990](https://github.com/discourse/discourse/pull/25990))
- 改进群组电子邮件设置的换行，清理样式 ([25985](https://github.com/discourse/discourse/pull/25985))
- 改进高级搜索的换行，移除移动设备样式表 ([25975](https://github.com/discourse/discourse/pull/25975))
- 清理标签信息样式，移除移动设备样式表 ([25973](https://github.com/discourse/discourse/pull/25973))
- 简化图像上传器的样式 ([25970](https://github.com/discourse/discourse/pull/25970))
- 在移动设备上启用徽章标题，清理样式 ([25968](https://github.com/discourse/discourse/pull/25968))
- 将适当的 `btn-flat` 实例更新为 `btn-transparent` ([25945](https://github.com/discourse/discourse/pull/25945))
- 增加聊天预滚动条的对比度 ([25930](https://github.com/discourse/discourse/pull/25930))
- 聊天 \>` 常规修复 ([25929](https://github.com/discourse/discourse/pull/25929))
- 当用户使用已兑换的电子邮件时，改进邀请错误消息 ([25695](https://github.com/discourse/discourse/pull/25695))
- 灵活的自动完成宽度 ([25900](https://github.com/discourse/discourse/pull/25900))
- 确保 a 标签使用边框半径变量 ([25882](https://github.com/discourse/discourse/pull/25882))
- 修复聊天消息操作中下拉菜单的边框半径 ([25881](https://github.com/discourse/discourse/pull/25881))
- 移除聊天消息中标记图标的边距 ([25859](https://github.com/discourse/discourse/pull/25859))
- 移除硬编码值 ([25499](https://github.com/discourse/discourse/pull/25499))
- 聊天 \>` 发送按钮对齐 + 硬编码值修复 ([25836](https://github.com/discourse/discourse/pull/25836))
- 聊天编辑器 \>` 修复输入指示器和顶部填充（移动设备） ([25821](https://github.com/discourse/discourse/pull/25821))
- 群组名称不应始终大写 ([25820](https://github.com/discourse/discourse/pull/25820))
- 修复主题地图链接扩展悬停 ([25822](https://github.com/discourse/discourse/pull/25822))
- 发送按钮的调整 ([25816](https://github.com/discourse/discourse/pull/25816))
- 允许在移动设备上全屏显示编辑器 ([25787](https://github.com/discourse/discourse/pull/25787))
- 聊天编辑器设计更新（移动设备） ([25789](https://github.com/discourse/discourse/pull/25789))
- 修复侧边栏部分模态框样式 ([25803](https://github.com/discourse/discourse/pull/25803))
- 模态框移动设备修复 ([25788](https://github.com/discourse/discourse/pull/25788))
- 聊天频道标题链接到频道设置 ([25785](https://github.com/discourse/discourse/pull/25785))
- 更改覆盖点的颜色，使其在深色模式下略微可见 ([25782](https://github.com/discourse/discourse/pull/25782))
- 在移动设备上隐藏侧边栏表单中的可拖动图标 ([25738](https://github.com/discourse/discourse/pull/25738))
- 修复视频旋转器的 css ([25770](https://github.com/discourse/discourse/pull/25770))
- 调整播放按钮的 css ([25754](https://github.com/discourse/discourse/pull/25754))
- 管理侧边栏的调整 ([25717](https://github.com/discourse/discourse/pull/25717))
- 允许在确认会话时重置密码 ([25708](https://github.com/discourse/discourse/pull/25708))
- 更好的卡片对齐 ([25720](https://github.com/discourse/discourse/pull/25720))
- 显示更多上下文的搜索历史 ([25705](https://github.com/discourse/discourse/pull/25705))
- 聊天浏览重新设计 ([25698](https://github.com/discourse/discourse/pull/25698))
- 清理一些标签和表单的不一致之处，减少多余的加粗 ([25701](https://github.com/discourse/discourse/pull/25701))
- 防止群组名称换行 ([25696](https://github.com/discourse/discourse/pull/25696))
- 修复群组搜索结果的对齐和样式 ([25681](https://github.com/discourse/discourse/pull/25681))
- 显示完整的移动设备阅读状态指示器 ([25678](https://github.com/discourse/discourse/pull/25678))
- 在“新或更新”私信横幅中添加加载指示器 ([25676](https://github.com/discourse/discourse/pull/25676))
- 使用 YYYY 而不是 'YY 澄清旧日期 ([25661](https://github.com/discourse/discourse/pull/25661))
- 为新功能项设置宽度 ([25657](https://github.com/discourse/discourse/pull/25657))
- 在加载“新或更新的主题”时添加加载指示器 ([25649](https://github.com/discourse/discourse/pull/25649))
- Onebox 容器大小 ([25658](https://github.com/discourse/discourse/pull/25658))
- 提高聊天操作菜单的 z-index ([25645](https://github.com/discourse/discourse/pull/25645))
- 使刷新通知文本更友好 ([25646](https://github.com/discourse/discourse/pull/25646))
- 在更改通知过滤器时不显示空状态 ([25631](https://github.com/discourse/discourse/pull/25631))
- 修复主题地图中头像上的帖子计数位置 ([25622](https://github.com/discourse/discourse/pull/25622))
- 在移动设备聊天频道设置页面底部添加填充 ([25587](https://github.com/discourse/discourse/pull/25587))
- 在 /u 页面上给名称更多空间 ([25576](https://github.com/discourse/discourse/pull/25576))
- 移动设备上的聊天大小 ([25543](https://github.com/discourse/discourse/pull/25543))
- 重构“请勿打扰”指示器 ([25508](https://github.com/discourse/discourse/pull/25508))
- 在聊天中显示 PWA/Hub 页脚导航 ([25501](https://github.com/discourse/discourse/pull/25501))
- 更新选中的颜色变量 ([25500](https://github.com/discourse/discourse/pull/25500))

### 安全更改

- 在客户端生成更多类别 CSS
- 限制邀请参数长度
- 防止大型管理员操作导致 DoS
- 为上传添加速率限制
- 不披露秘密子类别的存在

### 性能

- 从已登录用户的会话中省略 HTML 视图。 ([26170](https://github.com/discourse/discourse/pull/26170))
- 在创建新的数据库覆盖时避免保存两次 `ThemeSetting` ([26076](https://github.com/discourse/discourse/pull/26076))
- 添加索引以加速用户菜单中的通知查询 ([26048](https://github.com/discourse/discourse/pull/26048))
- 减少 `CategoryList#find_relevant_topics` 中的 ActiveRecord 分配 ([25950](https://github.com/discourse/discourse/pull/25950))
- 停止在所有环境的开发模式下运行 bootsnap ([25737](https://github.com/discourse/discourse/pull/25737))
- 使用 `-ping` 选项作为 ImageMagick `identify` 命令 ([25713](https://github.com/discourse/discourse/pull/25713))
- 将 `-ping` 选项传递给 `identify` ImageMagick 命令以加速它 ([25697](https://github.com/discourse/discourse/pull/25697))
- 不允许单个用户独占 defer 队列 ([25593](https://github.com/discourse/discourse/pull/25593))
- 为 Category.asyncFindByIds 添加缓存 ([25531](https://github.com/discourse/discourse/pull/25531))

### 无障碍性

- 更新批量选择键盘快捷键 ([26069](https://github.com/discourse/discourse/pull/26069))
- 将侧边栏表单错误标记为实时区域 ([25937](https://github.com/discourse/discourse/pull/25937))
- 添加自定义侧边栏链接时，新行的第一个输入应获得焦点 ([25920](https://github.com/discourse/discourse/pull/25920))
- 将编辑器角色更改为对话框，改进 aria-labels ([25666](https://github.com/discourse/discourse/pull/25666))
- 为屏幕阅读器标记自定义导航部分表单 ([25623](https://github.com/discourse/discourse/pull/25623))
