# 2.9.0.beta5：安全修复、阻止热链接媒体、PM 标记、搜索改进等

**URL:** https://meta.discourse.org/t/2-9-0-beta5-security-fixes-block-hotlinked-media-pm-tagging-search-improvements-and-more/229845
**Category:** Announcements
**Tags:** release-notes
**Created:** [2022 年6 月 14 日 04:33 UTC](https://meta.discourse.org/t/2-9-0-beta5-security-fixes-block-hotlinked-media-pm-tagging-search-improvements-and-more/229845 "2022-06-14T04:33:54Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### 作者： ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### 发布日期： [2022 年6 月 14 日 04:33 UTC](https://meta.discourse.org/t/2-9-0-beta5-security-fixes-block-hotlinked-media-pm-tagging-search-improvements-and-more/229845/2 "2022-06-14T04:33:54Z")

</div>

### 还有更多！

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

### 安全更新

本次测试版包含 2 个安全修复，这些问题由我们的社区和 [HackerOne](https://hackerone.com/discourse) 报告。

- 不要在需要登录的站点中暴露横幅数据
- 在兑换邀请时移除自动批准

## 插件改进

### Assign（指派）

> **功能**
>
> - 在侧边栏主题部分下注册指派链接。
> - 推广多态书签
> - 在版主帖子中显示备注
> - 在工具提示中显示备注
> - 添加指派备注

> **错误修复**
>
> - 包含被指派到帖子而非主题的用户。
> - 仅当点击建议时才进行指派
> - 指派用户时若没有备注，则执行指派并关闭模态框
> - 支持多态书签
> - 重命名按钮
> - 帖子指派/取消指派时的用户链接
> - 当用户无法指派时隐藏页脚操作按钮
> - 修复损坏的可审核筛选器

> **用户体验变更**
>
> - 当无人被指派时，不提及群组。
> - 在群组指派列表中显示发帖人
> - 在被指派的 topic 列表中显示发帖人

> **性能**
>
> - 加速 `User.assign_allowed` SQL 查询

### Discourse Chat（Discourse 聊天）

> **功能**
>
> - 将书签按钮移至聊天消息快速操作
> - 为聊天实现 oneboxes
> - 添加按钮切换回小型聊天
> - 聊天通知邮件
> - 聊天消息书签
> - Chat-composer-buttons API
> - 将聊天消息移至另一个频道
> - 如果美化后的摘要为空，则将原始消息设为回复摘要

> **错误修复**
>
> - 确保已删除的消息可以被标记为已读
> - 为 onebox 请求更大的头像
> - 核心变更后测试失效
> - 防止加载更多时出现跳动
> - Onebox 应仅显示活跃用户
> - 确保聊天上传在模板中具有正确的 URL
> - 尝试 cloneJSON 时出现未定义的上传错误
> - 开发环境填充因缺少管理员用户而中断
> - 当标签获得可见性时刷新聊天状态
> - 添加额外的聊天快捷键帮助文本
> - 确保尝试用消息填充当前面板
> - 确保聊天在编辑器调整大小时具有正确的高度
> - 确保暂存消息不使用上传数组引用
> - 确保在草稿模式下取消订阅 /chat-reply
> - 已删除消息和最后阅读位置不正确的问题
> - 防止已销毁/删除的聊天对象导致管理页面崩溃
> - 消息顺序一致性
> - 使用 ISO8601 序列化日期
> - 添加 ChatChannelFetcher 规范并修复问题
> - 在摘要邮件中使用消息 full\_url
> - Send\_unread\_mentions\_summary 是一个类方法
> - 使书签行高亮与侧边栏兼容
> - 修复聊天频道获取器中的筛选器
> - 不要隐藏频道标题旁边的新消息分隔符。
> - 确保编辑器过渡完成后计算高度
> - msg-actions 的小修复
> - 减少回复指示器前圆点的外边距
> - 解决 Electron 的怪异行为
> - 在 Firefox 中防止仅需要一行时出现两行
> - 编辑器禁用状态不正确
> - 更新用户最后阅读端点。
> - 在聊天引用中添加频道 ID 属性
> - 使按名称获取频道能与聊天对象名称配合工作
> - 无成员身份进行反应时的错误信息更友好
> - 立即排队通知作业
> - 复杂消息的摘要
> - 编辑器上传出现在最后一条消息中
> - ChatMessageClasses 参数过多
> - 在折叠器中添加画廊
> - 确保提及被正确高亮
> - 不要隐藏频道标题旁边的新消息指示器
> - 不要在私聊频道中显示“移动消息”按钮
> - 不要假设频道存在名称
> - 不要隐藏频道标题旁边的新消息指示器。
> - 仅在开发环境中加载填充数据
> - 确保分隔符被正确翻译
> - 如果将可折叠内容编辑为可折叠内容，则显示编辑文本
> - 确保在旧版本中折叠功能正常
> - 确保显示编辑内容，并附带测试
> - 仅装饰一次 lazyYT
> - Get + computed 在旧版本中导致问题
> - 确保路由更改时小部件重新渲染
> - 修复溢出的 GitHub oneboxes
> - 将聊天图片/onebox 样式限定在 `.chat-message`
> - 关注公共频道未返回频道
> - 确保创建频道时刷新频道
> - 在 onebox 内调整图像大小
> - 确保我们不会重复订阅更新
> - 在 unread\_counts 中正确确认删除
> - 使用 @service 路由修复移动端聊天引用
> - 在所有情况下启用引用
> - 将 ChatMessageEmailStatus 记录的更新限定为当前用户
> - 默认频道设置不生效
> - 确保 HTML 粘贴正常工作
> - 切换频道时重置 dm-creator 状态
> - 确保从私聊创建时获得焦点
> - 改进上插入时的频道切换

> **用户体验变更**
>
> - 确保滚动到底部时从最后一条消息加载
> - 减少频道 onebox 中头像之间的间距
> - 将每个摘要的消息拆分为单独的行。
> - 微调归档频道的用户界面
> - 将聊天编辑器下拉按钮更改为使用“叉号”图标
> - 在所有情况下将私聊限制提高到 20
> - 鼠标离开时隐藏消息操作
> - 略微改善桌面端消息操作的外观
> - 在支持的设备上振动
> - 禁用更多元素上的文本选择
> - 使某些 UI 元素不可选择
> - 创建频道时显示暂存消息
> - 使用铅笔图标作为浏览频道按钮
> - 使用齿轮图标作为编辑频道按钮
> - 减少回复指示器的垂直内边距
> - 确保进度条达到完成状态

> **性能**
>
> - 在 isCollapsible 期间仅解析一次 HTML
> - 更新所有装饰器以使用 decorateChatMessage API
> - 仅在 cooked 内容变更时装饰消息

### 投票

#### 错误修复

- 启用/禁用投票时记录类别设置变更
- 不为类别设置重新创建数据库记录

### 模板（原 canned replies）

> **功能**
>
> - 包含变量 `%{topic_title}` 和 `%{topic_url}`
> - 如果 ID 不属于 canned reply，在 /canned\_replies/id/use 中返回 422
> - 限制最大回复数量以作为安全保护
> - 添加了用于将数据从 v1 迁移到 v2 的 rake 任务
> - 检查类别权限以查看用户是否可以使用 canned replies
> - 从回复列表中过滤掉具有不想要状态的 topic
> - 统一桌面和移动端的选择界面
> - 移除回复的 CUD 代码和 UI 元素
> - 允许用户按标签筛选 canned response
> - MVP - 从类别主题中获取回复

> **错误修复**
>
> - 修复以 reply\_ 开头的模板变量回归问题
> - 将迁移重命名为 reate\_discourse\_templates\_usage\_count
> - 从 v1 迁移时将默认 usage\_count 设为 0
> - CannedTagDrop 中的 @computed 导致测试失败
> - 在设置焦点之前测试是否找到筛选输入框
> - 移除了 canned-replies-modal.hbs 中不必要的内联样式
> - 使用 POST 更新回复使用情况
> - 移除了未使用的设置
> - 修复了 lint 错误

### 日历

#### 新功能

- 允许管理员按地区查看节假日
- 在类别页面添加事件日历

#### 错误修复

- 不要在未登录的 login\_required 页面上初始化
- 使当前用户也能看到地区
- 离开页面时不要隐藏即将发生的事件日历

#### 用户体验变更

- 修复时区选择器和多人逻辑
- 当不需要滚动时不显示滚动条

#### 安全变更

- 正确转义事件名称

### 群组追踪器

#### 错误修复

- 正确处理已删除用户的帖子

### 数据探索器

#### 错误修复

- 种子查询不应显示编辑按钮

### Perspective API

#### 错误修复

- 使用 set 在已销毁对象上时防止测试失败
- perspectiveSave 的 Promise finally 错误

### 加密

#### 新功能

- 推广多态书签

#### 错误修复

- 仅当帖子存在时才尝试后处理
- 支持多态书签
- 使用对象方法设置 Draft 的属性

### Steam 登录

#### 新功能

- 允许撤销 Steam 身份验证器

### Kolide

#### 新功能

- 推广多态书签
- 在用户提醒主题的标题中添加用户名。

#### 错误修复

- 添加多态书签支持
- 如果用户未找到，则跳过私聊提醒更新。

### 视频

#### 新功能

- 添加对下载 mp4 版本的支持

#### 错误修复

- 链接到正确的 mp4 文件名

### 年度回顾

#### 错误修复

- 添加多态书签支持

### 代码审查

#### 错误修复

- 使 Git 尾标解析更严格
- 在同步提交前等待 30 秒
- 转义最后一段中存在的 Git 尾标

#### 用户体验变更

- 分离个人资料按钮以修复悬停状态

### 订阅

#### 错误修复

- Discourse UI 中显示重复的付款

### 策略

#### 新功能

- 支持多群组策略

#### 错误修复

- 确保构建器状态正确设置

### 反应

#### 错误修复

- 达到最大反应次数的错误消息应与核心保持一致
- 防止多次点击时的错误
- 存储对扩展小部件的引用
- 如果之前是 popper，确保在销毁前隐藏它
- 简化 popper 生命周期
- 各种小修复
- 始终使用操作作为父小部件
- 切换时发布旧反应和新反应

#### 用户体验变更

- 稍微延迟选择器展开以防止快速移动
- 微调展开/折叠面板

### OpenID Connect

#### 错误修复

- 为所有出站请求添加 10 秒超时

### 翻译器

#### 新功能

- 更新 Google 翻译支持的语言

### 自动化

#### 新功能

- 添加 user\_granted\_badge 触发器
- 添加 close\_topic 脚本
- 为重复触发器字段添加间隔选项。

#### 错误修复

- 在星期计算中从 `RRule` 移除 `INTERVAL` 参数。

### 用户备注

#### 错误修复

- 确保用户是 EmberObject。

### Salesforce

#### 新功能

- 在用户账户创建时同步 Salesforce 潜在客户/联系人。

#### 错误修复

- 为登录按钮使用翻译

### 文档

#### 新功能

- 在侧边栏主题部分下注册文档链接。

### 聊天集成

#### 错误修复

- 渲染用户名/用户名时遵循核心设置

#### 用户体验变更

- 管理员控件对齐

### 游戏化

#### 新功能

- 当前用户的行高亮和数字格式化
- 添加排行榜样式

#### 错误修复

- 排名数字被隐藏
- 匿名用户导致异常
- 修复排行榜表中缺失的头像

#### 用户体验变更

- 管理员样式
- 为“欢呼”添加缺失的格式化
- 仅限移动端的数字简写
- 缩小领奖台 + 区域修复

## 其他功能和修复

> **点击展开**
>
> ### 新功能
> 
> - 在实验性侧边栏的标签部分链接中添加新/未读计数
> - 实验性侧边栏的标签部分初版。
> - 在实验性侧边栏中显示被跟踪类别的新/未读计数
> - 将部分链接添加到实验性侧边栏的类别部分
> - 创建 upload\_references 表
> - 通过消息总线传播用户状态
> - 默认高亮“无”选项用于书签
> - 用户状态
> - 使 S3 预签名 GET URL 过期时间可配置
> - 发布后立即拉取热链图片
> - 阻止重定向 URL 的 onebox 的站点设置
> - 将多态书签提升为默认值并迁移
> - 允许在 server\_plugin\_outlet 中传递 locals
> - 在 404 页面添加页面标题
> - 恢复用户活动页面的滚动
> - 提升“删除群组”员工操作日志。
> - 多态书签第 3 部分（提醒、导入、导出、重构）
> - 验证 exif 剥离和图像优化之间的设置组合
> - 当 auth\_overrides\_username 时，回退到建议值
> - 引入站点范围的设置以禁用时间选择器中建议周末
> - 可选地在建议用户名时跳过使用 full\_name
> - 在该上下文中将搜索限定为私聊
> - 从 Emoji 14.0 检测表情符号
> - 多态书签第 2 部分（列表、搜索）
> - 显示所需标签组的提示
> - 限制通知邮件中收件人列表的站点设置
> - 阻止对嵌入主题列表进行索引
> 
> ### 错误修复
> 
> - 确保 extract\_upload\_ids 适用于所有短 URL
> - 在 webhook 路由上跳过 CSRF 令牌检查
> - 为自定义表情符号组显示翻译后的回退作为群组名称
> - 允许图片以正确尺寸显示
> - Twitter onebox 为展开的链接保留空白
> - 优先使用全名时，将引用通知发送给正确的用户
> - 清理无效的旧站点设置数据
> - 处理 theme\_settings 中 upload\_references 的空字符串
> - 再次使在邮件中禁用 TLS 成为可能
> - 构建 onebox 预览 HTML 时转义 YouTube 标题
> - 跟踪主题列表中缺失的被跟踪子类别主题
> - 正确处理无效的身份验证 Cookie
> - 开发环境中迁移后初始化多站点数据库
> - 邮件发送帖子已被占用错误
> - 恢复向导中的自动样式预览
> - [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) 登录未根据电子邮件域名自动批准
> - 确保编辑器不会被预填充为无/所有标签
> - 不要在向导下拉菜单中抛出错误
> - 在仅邀请的站点中兑换邀请时批准用户
> - 不要在 twitter:image 元数据中使用 SVG
> - 在私聊和新主题之间来回切换时保留编辑器草稿
> - 在服务器/客户端上统一类别主体类生成
> - 显示被用户暂停
> - 在导航项之间导航时使 f 查询参数保持粘性
> - 主题列表导航项计数未尊重跟踪筛选器。
> - 更改选择套件行的事件目标
> - 跟踪筛选器未考虑最大类别嵌套为 3
> - 如果不存在，则回退到默认推送通知图标
> - 不要在生产中查找插件测试 js
> - 添加书签快速访问测试并修复用户名
> - 正确处理 to-markdown 中的嵌套引用
> - 在有关静音和暂停的邮件中尊重用户时区
> - 更改日期应重新计算输入
> - 书签快速操作菜单的 URL 不正确
> - 进一步细化重复书签删除查询
> - 删除多余的主题书签
> - InlineOneboxer 监控词审查错误
> - 将审查词应用于内联 onebox
> - 改进书签图标标题
> - 私聊和群组标题搜索的限制
> - 为 nil 用户简介跳过拉取热链图片
> - 应用默认用户选项对布尔标志不起作用
> - 布尔值的站点设置变更应记录为 true/false
> - 重构插件出口和索引的使用位置
> - 当帖子重新烘焙时清除内联 onebox 缓存
> - 默认情况下为视图 locals 传递空哈希
> - 将 ‘allowed\_href\_schemes’ 应用于所有 src/srcset 属性
> - 允许用户选择“常规”类别
> - 使用 CSS 过渡为编辑器腾出空间
> - 帖子操作中的 `acted` 状态可能与多个点赞不同步
> - 对邀请应用“隐藏电子邮件账户”
> - 防止在只读模式下进行任何形式的登录
> - 在生产环境中将 Safari 12 添加到 ember-cli 构建目标
> - 使只读错误尊重请求格式
> - 处理外部 Discourse 实例的引用渲染
> - 编辑可审核项时检查允许的标签
> - 自动边距导致内容过窄
> - 如果无法创建扩展，则显示错误消息
> - 如果值未更改，则不记录类别自定义字段变更
> - 在迁移之前创建 PostgreSQL 扩展
> - 在重复项上使用我们的头部值而不是自定义头部
> - 使用已注册的 bookmarkables 用于 BookmarkManager
> - 允许 .ics 用于多态书签
> - 使用后退按钮时存储滚动位置
> - 将监控词应用于用户字段
> - 书签报告的多态书签
> - 使用隐藏的站点设置进行批量预签名速率限制
> - 使用多态书签进行 in:bookmarks 搜索
> - 添加对管道化和多 Redis 命令的支持
> - 后台点赞计数更新未考虑用户自己的操作
> - 一致地优先处理名称和用户名
> - 限制 pan 事件处理程序以修复 TOC 中的滚动
> - 在导入脚本中使用正确的 ActiveRecord 方法
> - 确保点击 popper 时 d-popover 关闭
> - 新用户叙事机器人的多态书签
> - 防止重复触发 user\_badge\_granted 事件
> - 防止管理员主题设置崩溃
> - 作为操作用户验证帖子的投票
> - 主题计时器发布到受限类别时主题视图中断。
> - 具有 Unicode 用户名的用户无法在活动页面加载更多主题
> - 当 show\_emails 启用时，在管理员用户列表中添加电子邮件
> - 当翻译覆盖包含 `%{key}` 时缺少翻译
> - 跳过 hotlinked\_media 迁移中的无效自定义字段 json
> - 验证 permalink\_normalizations 设置
> - 在数据库恢复期间处理枚举类型
> - 隐藏日期弹出窗口时销毁实例
> - 处理 downloaded\_images 自定义字段中的无效 JSON
> - 处理 hotlinked\_media 迁移中的重复项
> - 当存在回复时更新过滤后的回复
> - 确保 post\_hotlinked\_media 索引不超过大小限制
> - 避免并发使用 AR 模型
> - 下载日历时关闭弹出窗口
> - 使用 tippy 进行弹出窗口
> - 仅当用户可以看到成员列表时才在筛选器中显示群组
> - 确保 select-kit 下拉菜单中的值被转义
> - 在创建图表之前准备数据以避免副作用
> - 移除 cache\_critical\_dns 上的刷新秒数覆盖
> - cache\_critical\_dns - 为 Redis 健康检查添加 TLS 支持
> - 优先使用 computed 而不是 discourseComputed
> - 正确处理 topics#show 中的 print 参数。
> - 在启用 [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) 之前检查 2FA 是否已禁用。
> - 正确清理 Thunderbird 邮件，不要移除链接
> - 确保 lazy-load-images 不移除整个 `img.style`
> - 使用用户名进行嵌套引用
> - 在类别页面显示页脚
> - 用 computed 替换 discourseComputed
> - 在未来日期输入选项上显示图标
> - 当使用 json 序列化的 Cookie 时不报错
> - 在主题列表末尾显示页脚
> - 为中等格式添加缺失的翻译
> - 更改安全性时跳过上传扩展验证
> - 不允许在只读模式下进行 [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) 登录
> - 当站点地图请求没有格式时返回 404
> - 确保 ‘crop’ 始终返回请求的尺寸
> - 在添加之前检查 bookmarkable 列是否存在
> - 未读和私聊主题跟踪状态不正确的问题
> - warn\_exception 期望第二个参数为哈希
> - 在 user-notifications 页面显示“全部忽略”模态框
> - 如果可见，则不显示可见性主题
> - 不要在引用的帖子内验证和渲染投票。
> - Gmail 应用深色模式的电子邮件样式
> 
> ### 用户体验变更
> 
> - 移除编辑器中表情符号搜索的限制
> - 移动表情符号选择器中更大的图片
> - 当父元素在视口外时隐藏 select-kits
> - 如果参考点在视口外，不要将 popper 固定到视口
> - 更新聊天菜单弹出窗口样式
> - 如果重新烘焙失败则显示消息
> - 使 YouTube 播放列表 onebox 全宽以匹配视频 onebox
> - 重新排序 INSTALL-cloud.md 中的主题以添加“开始前”部分
> - 对齐书签模态框中的垃圾桶按钮
> - 更新 hljs-builtin-name 颜色
> - 更新 hljs-builtin-name 高亮
> - 群组交互表单上的一致间距
> - 修复建议主题中的状态图标大小
> - 在标签组页面添加返回链接
> - 修复移动端的各种登录模态框问题
> - 允许按 Escape 键关闭弹出窗口
> - 防止用户网格在全文搜索时溢出
> - 从窄屏幕移除水平滚动
> - 确保 `#main-outlet-wrapper` 占据全宽。
> - 修复 WCAG 方案中扁平按钮的悬停状态
> - 在 README 中添加简短的无障碍摘要
> - 在用户卡片上显示 user.username
> - 为 WCAG 方案重置 `mark` 元素高亮
> - 添加 time\_shortcut.now 翻译
> - 改进慢速模式模态框中的选项列表
> - 将帖子日期移至分享模态框的标题下方
> - 移动主题列表的更大可点击区域
> - 修复短屏幕上主题管理菜单的布局
> - 微调主题管理菜单的对齐/大小
> - 防止群组提及换行
> - 使用快捷键删除帖子时请求确认
> - 修复几个 WCAG 颜色方案对比度问题
> - 将主题管理菜单组织成组
> - 为长时间投票显示所有饼图图例选项
> - 为用户页面的阅读时间统计添加标题
> - 更具体的版主管理设置
> - 当垂直空间较短时改进 select-kit 主体放置
> - 为删除完整引用站点设置描述添加更多细节
> - 电子邮件群组选择器对齐的小修复
> - 登录/注册关闭位置的小调整
> - 改进小操作按钮的对齐
> 
> ### 性能
> 
> - 提高 to-markdown 速度，更新代码
> - 延迟查找 emoji-picker 选择的多样性
> - 加速安全媒体和 ACL 同步 rake 任务
> - 在 UserDestroyer 中用一条查询更新所有 user\_histories
> 
> ### 无障碍性
> 
> - 为免打扰模态框添加键盘支持
> - `/u` 表标题的键盘访问
> - 修复通知标题的 WCAG 对比度

---

_[View the full topic](https://meta.discourse.org/t/2-9-0-beta5-security-fixes-block-hotlinked-media-pm-tagging-search-improvements-and-more/229845)._
