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

2.9.0.beta5 中的新功能

允许阻止热链接媒体

block_hotlinked_media 是一个新的站点设置,启用后,所有热链接媒体(图像、视频和音频)的尝试都将失败,并被链接占位符替换。可以通过 block_hotlinked_media_exceptions 站点设置添加规则的例外。download_remote_image_to_local 可以与此功能一起使用。在这种情况下,热链接图像将在创建帖子时立即被阻止,但几秒钟后将被下载的版本替换。

允许每个域的 DiscourseConnect 密钥重叠

以前,我们将 DiscourseConnect 提供商限制为每个域 1 个密钥。这使得在配置需要时间传播的环境中轮换密钥非常麻烦。

此更改允许同一域拥有多个密钥。

允许类别版主连续发帖

类别版主现在可以绕过其类别中的 max_consecutive_replies 站点设置,允许像首发帖者和员工一样无限次连续回复。

允许非员工发送私人消息标签

以前,允许在私人消息中进行标签的唯一方法是使用 allow_staff_to_tag_pms 站点设置。我们已用 pm_tags_allowed_for_groups 替换了该站点设置,它允许非员工在私人消息中进行标签。

先前已启用员工在私人消息中进行标签的站点将自动将 staff 组添加到新设置中。

image

向高级搜索添加 group_messages: 关键字

这使用户可以搜索特定群组收件箱中的消息。例如,输入 group_messages:support keyword 将在 support 群组的私人消息中搜索“keyword”。

添加 in:messages 搜索修饰符

以前可以通过 in:personal 修饰符搜索私人消息。我们发现这个功能不太容易发现,因此我们也添加了对 in:messages 的支持。

暗黑模式电子邮件支持

我们已添加对暗黑模式电子邮件的支持!需要注意的是,在此功能发布时,电子邮件客户端中的暗黑模式支持是最好的——并非所有电子邮件客户端都支持此功能。

17 个赞

还有更多!

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

安全更新

本次测试版包含 2 个安全修复,这些问题由我们的社区和 HackerOne 报告。

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

插件改进

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 登录未根据电子邮件域名自动批准
  • 确保编辑器不会被预填充为无/所有标签
  • 不要在向导下拉菜单中抛出错误
  • 在仅邀请的站点中兑换邀请时批准用户
  • 不要在 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 之前检查 2FA 是否已禁用。
  • 正确清理 Thunderbird 邮件,不要移除链接
  • 确保 lazy-load-images 不移除整个 img.style
  • 使用用户名进行嵌套引用
  • 在类别页面显示页脚
  • 用 computed 替换 discourseComputed
  • 在未来日期输入选项上显示图标
  • 当使用 json 序列化的 Cookie 时不报错
  • 在主题列表末尾显示页脚
  • 为中等格式添加缺失的翻译
  • 更改安全性时跳过上传扩展验证
  • 不允许在只读模式下进行 DiscourseConnect 登录
  • 当站点地图请求没有格式时返回 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 对比度
10 个赞