Discourse 2.4.0.beta8 发布说明

2.4.0.beta8 中的新功能

标签同义词

Discourse 现在支持标签同义词以及标签合并。相似的标签、常见的拼写错误、口语化表达等现在可以合并为单个标签。此外,如果设置为同义词的标签已存在,标签将自动合并,所有相关主题将重新标记为主标签。

主题管理改进

Discourse 的主题系统在过去几个版本中有了巨大的发展。主题组件的引入使得网站设计师可以创建单一的设计或功能,并通过用户界面轻松添加到任何现有主题中。随着网站规模扩大以及更多主题和组件的创建,记住在每个主题中包含所有组件变得困难,且耗时。

网站设计师现在可以轻松地将组件添加到主题中,而无需离开主题组件页面,也可以快速将组件添加到所有活跃主题中。设计师还可以轻松地将所有活跃组件添加到一个主题中,而无需逐个选择每个组件。

请注意,“全部添加”功能仅添加活跃的主题/组件。如果某个主题或组件未被其他主题/组件使用,则不会通过“全部添加”功能添加。此类主题/组件需要至少先单独添加一次。

投票功能改进

Discourse 投票功能新增了两项特性。此前,投票结果仅以条形图显示。现在,投票创建者还可以选择饼图显示。请注意,使用饼图显示时无法展示投票者信息(公开投票)。

管理员现在可以直接从帖子中快速导出投票(条形图和饼图)。导出后,管理员将获得包含完整投票结果的 CSV 文件,可根据需要进一步分析。请注意,必须安装并启用 Data Explorer 插件此功能才能正常工作。

移除了“从最新动态中抑制”分类设置

“从最新动态中抑制”允许站点管理员将某个分类的主题从站点的默认首页(无论是 /latest/categories 还是其他页面)中移除。然而,当用户更改其首页偏好时,此功能会给管理员和用户带来困惑。我们还收到了更彻底隐藏分类(而不仅是在首页)的请求。此外,这是一个全站设置,因此希望在其首页看到该分类的用户无法自行选择。

所有设置为 suppress_from_latest 的分类将自动对所有用户设置为“已静音”。用户可以选择取消静音该分类,以便在其首页以及 Discourse 的其他视图中看到它。此外,新增了站点设置“默认静音所有分类”,适用于拥有大量分类且大多数分类默认不需要用户看到的站点。当启用“默认静音所有分类”时,管理员应配置 default_categories_trackingdefault_categories_watching 设置中的分类以覆盖静音状态,并确保新用户注册时能看到某些内容。

信任等级 2 的私信

达到信任等级 2(TL2)的用户将自动收到一封私信,祝贺其晋升并鼓励他们开始高级用户教程。与 Discourse 中的所有文本一样,管理员可以根据需要自定义此私信。

还有更多!

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

  • 支持在私信中粘贴用户名列表
  • 改进可疑用户的发现功能
  • 整合群组成员请求通知
  • 限制用户的活跃会话数量
  • 根据 DMARC 裁决隐藏来自传入邮件的帖子
  • 改进邮箱更改工作流程
  • 按日期范围筛选待审核项目
  • 按分类取消显示新帖子
  • 当只有一个验证器时自动重定向到验证器
  • 当标签添加到帖子时通知标签关注者
37 个赞

插件改进

Akismet

  • 跟踪用户的 Akismet 状态
  • 错误修复

Encrypt

  • 错误修复

Assign

  • 添加支持:仅当由其他用户分配时发送邮件(无自分配邮件)
  • 支持按分配用户筛选审核队列
  • 错误修复

BCC

首次发布。详见:

Math

  • 更新 KaTeX 渲染至 v0.11.1

Translator

  • 通过微软翻译添加越南语支持

Solved

  • 错误修复

Chat integration

  • 错误修复

Voting

  • 错误修复

Tooltips

  • 错误修复

Yearly Review

  • miscellaneous 改进

SAML

  • 支持通过 SAML 属性同步版主、信任级别和群组
  • 支持额外的 SAML 配置,如框架宽度/高度、按钮标题等。

Onebox

  • 错误修复

Calendar

  • 使用新的核心时区用户选项,而非插件用户选项。

Data Explorer

  • 添加投票结果查询以支持新的核心投票导出功能
  • 错误修复

Patreon

  • 错误修复

Group Tracker

  • 错误修复

Code Review

  • 在显示下一个未审核主题时,优先展示较新的主题而非较旧的
  • 错误修复

Policy

  • 错误修复

RSS Polling

  • 错误修复

其他功能与修复

点击展开

新功能

  • 向 Webhook 帖子序列化器添加 topic_filtered_posts_count 属性。
  • 添加隐藏设置以在 CSP 中允许 unsafe-eval
  • 在新主题按钮旁添加插件出口
  • 使站点文本控制器处理页面和区域设置
  • 将时区添加到核心用户选项
  • 新 API 用于向审核队列应用自定义过滤器
  • 为 WebAuthn 支持 RS256 算法
  • 规范化服务工作者路由
  • 默认阻止 Screaming Frog SEO 蜘蛛
  • 引入基于 IP 的默认应用级速率限制
  • 允许将搜索范围限定到标签
  • 允许 FinalDestination 为特定主机使用自定义用户代理

错误修复

  • 在 HTML 到 Markdown 转换中保留 rubyrt 标签。
  • 在灯箱中保护上传 URL
  • BufferedValuesString.split 不是一个函数
  • 防止 LockOn 发生多次跳转
  • 迁移到 S3 时允许上传记录为 nil
  • 确保在使用 lockon 滚动前元素已在页面上
  • 在确定下一页时使用过滤后的帖子
  • 为所有主题添加组件时仅包含激活的主题
  • 将选择组件/主题移至顶部
  • 改进 defaultIsAvailable
  • 添加 filter(Boolean) 并移除 btn 类
  • 当仅有一个 slug 可用时的入站链接
  • 不允许类别 slug 全为数字
  • 在标题中尊重 enable_inline_emoji_translation 设置
  • 通过表情符号选择器插入时前置空白字符
  • 代码检查
  • 当帖子为悄悄话时正确过滤读者头像
  • 调用正确的方法
  • 确保审核队列中正确延迟回复的顺序
  • 缺失徽章分组导致的 500 错误
  • 当结果分组时隐藏饼图图例
  • 投票饼图容器过大
  • 不要在代码块中自动补全类别或表情符号
  • 使用子目录时正确生成重定向 URL
  • 正确处理三层级的 none 路径
  • 确保审查器始终至少有一个空字符串来处理
  • 延迟 ‘send_advanced_tutorial_message’ 作业以防止竞态条件
  • 优化引用的图片
  • 为开发人员表添加唯一索引
  • 修复拼写错误
  • 确保暂停状态是最新的
  • 向 quick-access-item 添加 data-topic-id
  • 代码审查后的改进
  • 代码审查后的改进 2
  • 直接使用 mapBy 和 filterBy
  • 使 Google Groups 抓取器适用于 G Suite 用户
  • 在服务端缓存失败的 Onebox URL 请求
  • 如果用于主题组件,自动将安全媒体上传标记为不安全
  • 为 Google PageSpeed 提供爬虫视图
  • 在处理被标记的帖子时正确忽略/批准回复
  • 从 SSO/认证器注销时不要启动登录流程
  • 为所有视频类型使用专用的 Vimeo Onebox
  • 在 Oneboxes 中正确调整懒加载图片的大小
  • 修正 vimeo.com 中的主机名
  • 绕过 Vimeo 链接的 FinalDestination 检查
  • 重置 bumped_at 时不要验证主题
  • 显示邀请发送日期的 updated_at
  • 回复新主题时草稿未清除
  • Oneboxer.js 无限重试失败的请求
  • 通过正确计算 DST 改进重复事件
  • 当 dif 中当前值为空时不要报错
  • 构建;运行 prettier
  • 收到类别列表时更新站点数据
  • 仅在需要时触发上传 ACL 更新
  • 正确显示引用的图片
  • 更谨慎地替换 Markdown 字符
  • 在上传的 Markdown 文件名中将 %20 替换为空格
  • 关闭类别时通过 MessageBus 通知
  • 防止异常和更多重复项
  • 防止预览中显示重复的时区
  • 方法名称不正确
  • 始终为安全媒体返回 secure_proxy_without_cdn URL
  • 从 discourse loader 中移除不需要的部分
  • 功能正常的 require 别名
  • 允许在需要登录的站点中重用私有媒体上传
  • 将 this.get(“foo”) 替换为 this.foo 以修复代码检查
  • a8d58c3b 的后续跟进
  • 在 discourse local-dates 中处理德语引号
  • 带有句点及类别或标签的移动顶部主题列表
  • 如果传递给应用的 MIME 类型无效则不记录
  • EventTarget 错误
  • 在 narrative bot 插件中再添加一处 skip_validations
  • 当标题表情符号禁用时允许高级教程
  • 为主题导出使用正确的 MIME 类型
  • 如果 censored_words_regexp 为 nil,则提前中止 CensoredWordsValidator
  • Amazon 视频 Onebox 无法工作。
  • 如果全局 S3 设置激活且 enable_s3_uploads 验证通过,则允许安全上传
  • 更多未导入的 Promise 用法
  • 对于单个认证器,不要中断注册流程
  • 以引号开头的帖子的邮件摘录显示了用户名
  • 关闭具有计划提升的主题的自动提升
  • 并行测试系统需要为每个工作进程提供专用的上传文件夹。
  • ‘default_categories_muted’ 站点设置对匿名用户无效。
  • 不要向类别用户插入冲突行
  • 在开发环境中自动从错误的 sprockets 缓存中恢复
  • 无法从类别中移除必需的标签组
  • 使用名称中包含冒号的标签时出现错误
  • 确保 load-more 考虑当前位置
  • 更好地处理 Group 模型状态
  • Enter 键应提交密码重置表单,而不是刷新页面
  • 用户菜单中的私信符号应始终对工作人员显示
  • 我们不需要如此频繁地刷新日期
  • 尝试在使用重复时正确计算 DST
  • 仅私信标签应链接到消息
  • 当用户缺失时不要对 CleanUpInactiveUserJob 报错
  • 确保对存储编辑原因进行修订,且不删除任何原因
  • 支持插件的 rake db:rollback
  • 在主题摘要中包含 5 名参与者
  • 在导航项上使用 this.content.category 而不是 this.category
  • 启用备用代码后确认新邮箱
  • 不要将机器人显示为帖子读者
  • 恢复移动设备跳转到最后一条帖子的行为
  • SVG Sprite 版本哈希应基于捆绑结果
  • 构建顶部菜单时,标签主题列表应传递 noSubcategories
  • 跟踪主题状态需了解 category_seen_at
  • discourse-narrative-bot 插件需要 require open-uri
  • 允许导入 extra_js 中包含子目录的主题
  • Utilities 中缺失 User 对象
  • 测试失败
  • 缺少大括号
  • Computed 是 @ember/object 的一部分,而非 @ember/object/computed
  • 允许在没有 customHref 的情况下 forceActive
  • 不要剥离 nil 字符串
  • 不要停用有最近帖子或 API 密钥的管理员账户
  • 移动帖子后更新引文
  • 按标签和指定过滤器筛选的主题列表无法工作
  • 标签和类别监视器回归
  • 更好地处理无效区域设置包版本的错误
  • 如果 @ember/object 尚未加载
  • 不要在用户搜索中跳过某些邮件
  • 在群组简介摘录中保留表情符号图片
  • 更多缺失的 RSVP 导入
  • 之前使用的是原生浏览器 Promise 而非 RSVP
  • 使用正确的类变量获取通知级别
  • 移除通知级别中的魔法数字
  • 为最近的更改更新 api_key rake 任务
  • Discourse.Session 返回弃用警告
  • 如果主题使用 Discourse.NavItem,则为其添加弃用警告
  • 运行 prettier 以修复构建
  • 别名模块既被 require 又被 import
  • 如果惩罚开始于 6 个月前,则计算当前惩罚
  • 使用 ‘about.json’ 端点而不是使用 ember 模型获取数据
  • 徽章和用户标题交互修复
  • 确保通过安全密钥满足工作人员强制 2FA 的要求
  • 草稿通过 draft_key 和 user_id 唯一
  • 正确显示 API 密钥详情 UI 中的最后使用日期
  • Prettier 修复构建
  • 检查前将 SSO 外部邮箱转换为小写以匹配 Discourse 邮箱
  • 在开发环境中包含 Onebox 默认选项
  • 主题时间线上的内部位置是滚动位置
  • 移动时间线中不显示摘录的回归
  • 在日期格式中使用月份的长版本
  • 为 URL 编码的 Unicode 组名
  • 视频 Onebox 中过多的空白填充

UX 变更

  • 防止初始面板加载时出现滚动条
  • 调整向导步骤边距
  • 添加链接时跳过选择中的前导空格。
  • 即使标题相同也显示群组全称。
  • 在触摸设备上不要为悬停图片显示阴影
  • 当备份恢复被禁用时显示明显的消息
  • 为灯箱图片添加悬停效果
  • 将投票中的“隐藏结果”重命名为“显示投票”
  • 如果比例未定义,则将选定比例设置为 100%
  • 使深色主题中的分享图标颜色一致
  • 增加长注册表单内容的淡出效果以更明显地提示滚动
  • 更明显的备用认证链接
  • 允许按 Enter 键提交管理面板中的测试邮件
  • 不再显示总用户数,仅显示将受影响的用戶数量。
  • 在私信主题列表中添加 +n 指示器
  • 向 content_security_policy_script_src 设置添加 CSP 文档链接
  • 在 Firefox 中复制 API 密钥时不要添加前导/尾随空格

性能

  • 转换帖子时减少查询次数。
  • 在 NGINX 中延长静态资源的缓存时间
23 个赞