Discourse 2.4.0.beta2 发布说明

2.4.0.beta2 中的新功能

多个 TOTP 验证器

TOTP/双因素认证(2FA)设置现已集中在一页中管理。

在新的 TOTP 主页上,您可以管理现有的 TOTP 验证器和备份代码。此外,如果您需要多个 TOTP 验证器,现在也可以在此处添加和管理。

改进的标签搜索

搜索功能现在为标签提供了一些新选项。首先,搜索标签时,搜索框中会显示该标签,同时也会显示相关主题。

标签组是一种组织标签的有用方式,例如用于管理文档的一组标签。现在,您可以使用 #tag-group 作为搜索词按标签组进行搜索。

标签组搜索将返回包含该组中任意标签的主题。

最后,您可以使用搜索运算符 in:taggedin:untagged 来搜索已标记或未标记的主题。

禁用主题组件

是否有某个主题组件导致您的网站出现问题?或者您只是想暂时关闭它?现在可以在“管理 > 自定义 > 组件”菜单下禁用主题组件。

当某个组件被禁用时,会显示一条通知,说明是谁禁用了它,并提供一个按钮以重新启用该组件。

改进的键盘导航

在之前的版本中,我们改进了键盘导航快捷键 JK,通过平滑滚动并将长帖子拆分为多次按键操作,从而提供更好的用户体验(原始主题组件)。

在上一版本中,我们再次进行了调整,允许用户将键盘导航与鼠标滚动结合使用。例如,如果用户按下 J 直到第 42 号帖子,然后用鼠标滚动到第 50 号帖子,再按下 J,系统将从第 51 号帖子继续。此前系统会从第 43 号帖子继续,但这种情况已不再发生(原始功能请求)。

28 个赞

还有更多!

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

安全更新

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

  • 在管理面板中显示监控词时的 XSS 漏洞。
  • 默认类别的 SQL 注入
  • 升级 lodash
  • 偏好设置页面标题选择器的 XSS 漏洞
  • 从邀请邮件中剥离 HTML
  • 路由中的 XSS 漏洞
  • 转义包含 [details] 的帖子中的电子邮件文本。

插件改进

Discourse Solved

  • 改进按钮位置和可见性

Discourse Tooltips

  • 将 js-yaml 升级到 3.13.1

Discourse Style Guide

  • 按钮样式简化,类引用
  • 解释字体缩放系统

Discourse Spoiler Alert

  • 修复:工具栏生成无效的多段落剧透

Discourse Code Review

  • 已批准的通知
  • 重命名被覆盖的 title 方法

Discourse Assign

  • 如果不允许任何组,则跳过排队提醒
  • 以被通知用户的本地语言发送分配消息

Discourse Voting

  • 为 ‘vote_count’ 主题自定义字段添加唯一索引
  • 修复迁移类名
  • 使用正确的 URL 按投票数排序

Discourse OAuth2 Basic

  • 允许提供商设置电子邮件验证状态
  • 使用令牌回调用户详情
  • 处理获取用户详情的失败

Docker Manager

  • 使用 longPollingBaseUrl 时消息总线未能正确替换字符
  • 升级 lodash.defaultsdeep 到 4.6.1
  • 更新客户端应用程序以包含消息总线

Discourse Staff Notes

  • 改进样式,在翻译中将 staff notes 重命名为 user notes

Discourse Ad Plugin

  • 支持 AdSense 和 Ad Manager 中的多种广告尺寸

Discourse Chat Integration

  • 使用 Slack 显示名称而不是“name”字段

Discourse Prometheus Alert Receiver

  • 重新同步主题标题
  • 计算陈旧警报时不以开始时间作为警报键
  • 修正陈旧持续时间逻辑
  • 添加对非分组警报负载重新同步的支持

Discourse GitHub

  • 使用 GitHub API 授予徽章,而不是克隆仓库
  • 添加站点设置以排除永久链接覆盖
  • 支持多个电子邮件
  • 仓库名称末尾有斜杠时的 Octokit 错误
  • 如果 URL 不在 GitHub 上,则不要在作业中抛出错误

Discourse Calendar

  • 添加 ID 以防止内存泄漏
  • 为活跃用户计算节假日

Discourse Plugin Discord Auth

  • 允许撤销

Discourse Translator

  • 使用 zh-Hans 和 zh-Hant 作为 Microsoft API 的语言代码

Discourse Akismet

  • 依赖 auth token 日志来获取用户代理/用户 IP 信息,以便发送给 Akismet

其他功能和修复

点击展开

新功能

  • 在精美的主题标题中使用配置的引号
  • 排版引号的站点设置
  • 在 S3 或 CDN 更改时,在恢复期间重新映射上传
  • 添加隐藏设置以在备份中包含 S3 上传
  • 允许在帖子通知中使用 Markdown。(#7864)
  • 在无 Ember 布局上显示登录和注册按钮 (#7867)
  • 在组的发布选项中添加“组所有者”
  • 为“已登录用户”添加新的组可见性选项 (#7814)
  • Rake 主题安装程序 (#7848)
  • 添加白俄罗斯语
  • 为无访问权限的用户提供主题的选择性指导 (#7852)
  • 在登录时重定向到内部链接时支持查询参数 (#7829)
  • 为关联账户行添加 CSS 类
  • 在极端负载下禁用搜索
  • 预填来自主题的私信标题
  • 在管理员用户列表页面添加无限滚动 (#7821)
  • 导出支持表格模式的任何类型的报告。(#7662)
  • 添加端点以单独更新主题设置 (#7789)
  • 在搜索时给已关闭的主题施加轻微惩罚 (#7782)
  • 添加对新表情符号的早期支持 (#7785)

错误修复

  • 允许 site_texts 路由中的 & 符号
  • 当依赖设置更改时重新计算设置
  • 使用默认语言环境作为旗帜原因
  • 如果帖子没有回复,则不显示 bootbox。(#7866)
  • 在只读模式下关闭搜索日志记录 (#7877)
  • 确保在加载更多时 tags/show 上显示加载动画 (#7876)
  • 确保带哈希的路由不会卡住历史记录 (#7872)
  • 确保带哈希的路由不会卡住历史记录
  • 最新的 Selenium gem 破坏了 Google Groups 导入脚本
  • 恢复期间的重新映射对于 CDN URL 是错误的
  • 当备份来自多站点时以不同方式重新映射
  • Turbo 测试退出代码
  • 切换选项卡时清除主题编辑器内容
  • 重新映射不应尝试更改只读列
  • 在爬虫视图中标题中显示类别名称
  • 使用正确的时区进行手动 SQL
  • 不要使用异常来捕获冲突
  • 后退按钮会进入上一个主题而不是列表
  • 仅在宽度和高度以像素为单位时添加图像尺寸
  • IE 网格布局问题在用户自己的活动页面上
  • 如果无法更新任何标签则失败
  • 如果本地登录被禁用,则不显示邀请按钮
  • 确保带查询字符串的重定向到 / 的路由正常工作 (#7859)
  • 如果站点使用 S3,则不要禁用 download_remote_images_to_local (#7861)
  • 如果唯一约束失败,则上插自定义字段
  • 确保轻箱图像下载在 S3 中具有正确的内容处置 (#7845)
  • 防止 emoji-picker 不显示 (#7856)
  • 尊重来自插件身份验证提供程序的 full_screen_login 参数 (#7855)
  • 为通知项使用 title 属性。(#7840)
  • 移除放置错误的保存按钮
  • 为所有表格报告显示“导出”按钮。(#7838)
  • 启用/禁用组件的日志应显示在员工操作日志中
  • 确保表情符号辅助功能与自定义表情符号一起工作 (#7843)
  • 确保 /t/TOPIC_ID/POST_NUMBER 正确路由 (#7841)
  • 页面从 1 开始 (#7844)
  • 移除放置错误的 outlet
  • 创建新徽章在空 SQL 查询时失败 (#7837)
  • 仅向有权限的用户显示移除计时器按钮
  • 对于预填的编辑器,使用普通标题而不是精美标题
  • 当用户不允许查看主题时,不要发送通知电子邮件
  • 确保静态页面使用绝对路径 (#7828)
  • 在比较远程主题的更新时,将本地主题更改复制到正确的临时文件夹
  • 修复导航错误
  • FakeExceptions 应具有原始类名
  • 异常原因本身就是一个异常
  • 当取消父主题时,将子类别中的主题标记为未读
  • Turbo_rspec 不接受这些选项
  • 仅将待处理/同意的分数包含在总分中
  • 提供表情符号辅助功能以用图像替换代码 (#7802)
  • 防止当 TL 在内部对象上被突变时失败 (#7808)
  • 如果没有可用的发布类别,则不允许创建主题 (#7786)
  • 使用字符串调用操作已弃用 (#7807)
  • 按 Escape 键关闭搜索菜单 (#7804)
  • 如果禁用在未分类中发布,则不要在 topic_create_allowed 中包含 uncategorized_category_id
  • 在制作横幅之前确保主题存在。(#7781)
  • 不要使用 DistributedCache 存储 redis 只读状态
  • CategoryUser#batch_set (#7787)
  • 从 category_users 唯一索引中移除 notification_level
  • CategoryUser#batch_set 未更新现有记录
  • 变更被错误报告
  • 清除监控词缓存时进行迭代
  • 多站点上传 URL 必须具有数据库名称或单词 ‘short-url’。
  • 高固定模态框的移动端溢出
  • 确保完整可审查对话的 URL 在子文件夹上正常工作
  • 类别选择器搜索应限定到类别 (#7794)
  • 确保触发 :after_auth 事件。(#7791)
  • index 路由重定向时的后退按钮恶作剧
  • 支持 InlineUploads 中的回车符
  • 不要将锚标签内的 img 标签替换为 Markdown 格式。
  • InlineUploads 中锚标签的边界情况。
  • 一些工具栏操作未触发 change 事件
  • 如果用户删除了隐藏的帖子,它不应丢失历史记录
  • 保存时不要刷新所有设置的所有设置,仅限制为少数几个
  • ‘status’ 参数更改未过滤标签路由中的主题。
  • InlineUploads 的 BBcode 边界情况。
  • 使用 selectable_avatars_enabled 站点设置的正确名称
  • InlineUploads 应使用 Markdown 文本替换附件链接。
  • Upload#short_url 在扩展名为 nil 时生成错误的 URL。
  • 当原始帖子被锁定时,不允许用户编辑主题信息
  • 无法修改不在注册表中的小部件
  • 移除用于修复 iOS 错误的临时hack (#7773)

用户体验变更

  • 确保 popup-tip 显示在下拉菜单之上 (#7891)
  • 移动端编辑器样式修复 (#7878)
  • 更新标签组的占位符
  • 为私信图标链接添加 title 属性和 aria-label
  • 如果所选帖子不在视口中,则丢弃它。(#7869)
  • 展开帖子按钮对齐修复 (#7865)
  • 将默认站点徽标高度设置为 40px
  • 为徽章图标添加宽度以容纳无维度的 SVG
  • 改进带有换行符的 Twitter 状态 onebox
  • 为引用的推文添加样式 (#7832)
  • 改进编辑器中类似主题结果的样式 (#7839)
  • 在搜索结果菜单中将标签和类别放在同一行 (#7830)
  • 改进主题计时器移除按钮的移动端定位
  • 在搜索结果菜单中为每条信息提供单独的行 (#7825)
  • 更新 ignored_user_summary 文本 (#7748)
  • 移动链接以显示跟踪的主题,简化翻译
  • 更改视频占位符的图标
  • 帖子已读后隐藏帖子未读工具提示 (#7813)
  • 将视频占位符图标设为灰色
  • 如果在已关闭的主题中批准帖子,则需要确认
  • 新的内联按钮以移除主题计时器 (#7790)
  • 添加推迟主题的快捷键 (#7798)
  • 改进更改时间戳模态框的日期选择器 (#7771)
  • 在已归档的帖子上显示点赞图标 (#7775)

性能

  • 使用 Oj 序列化 JSON。(#7820)
  • 限制比较大块文本所花费的时间
23 个赞