Discourse 2.5.0.beta3 发布说明

安全更新

此测试版包含 4 个安全修复,用于解决我们社区和 HackerOne 报告的问题。

  • 确保用户可以看到群组及其成员
  • 加载书签元数据时尊重主题权限
  • 加载草稿元数据时尊重主题权限
  • 防止访问其他用户的书签列表

插件改进

所有插件

  • 错误修复
    • 我们已修复了整个插件套件中的 numerous 错误

Assign

  • 在分配和取消分配主题时发布 Webhook 事件

WP-Discourse

  • 防止“自动发布”设置自动发布帖子更新到 Discourse。“自动发布”设置仅在帖子首次在 WordPress 上发布时生效。如果帖子后来在 WordPress 上更新,要更新 Discourse 上的内容,请点击 WP Discourse 侧边栏中的“更新主题”按钮。
  • 当 Discourse 作为 WordPress 的 SSO 提供商时,将 WordPress 的 redirect_to URL 参数传递给 SSO 流程。

Solved

  • 在解决/取消解决主题时发布 Webhook 事件

Policy

  • 除按天数外,新增按月、按季和按年过期策略的选项

Canned Replies

  • 新增站点设置,允许非工作人员用户使用预设回复。

其他功能与修复

点击展开

新功能

  • 使报告过滤器可重复使用
  • user_badges 添加 created_at
  • 改进 RSS 订阅源的渲染
  • 用于导出群组的 Rake 任务
  • 用户可以被忽略六个月。
  • 在主题设置中支持 upload 格式。
  • 添加 user_session_refreshed 触发器
  • 强制执行 enforce_canonical_emails 站点设置
  • 插件支持转译常规 .js 文件
  • 添加 after-reviewable-post-user 插件出口
  • 用户获得徽章时的 Webhook 和事件
  • 向不支持的浏览器显示 noscript 视图
  • 支持将主题发布为页面
  • 添加同站 Cookie ‘None’ 选项以支持跨域系统
  • 为主内容和推荐主题添加屏幕阅读器地标
  • 默认在 iOS 上启用离线浏览和全屏 PWA
  • 在数据库中哈希化用户 API 密钥
  • 允许管理员禁用自助账户删除
  • 添加 auto_approve_email_domains 设置以自动批准用户
  • 在用户目录中显示“最后更新时间”
  • 支持多个自定义表情符号组
  • 可通过主题 CLI 更新子主题组件的选项
  • 更严格的用户存在规则
  • 邀请码不区分大小写
  • 允许插件排除向导步骤
  • 在指令弹窗中列出搜索菜单快捷键
  • 使用 J/K 浏览搜索结果
  • 处理标记时自动取消分配审查队列主题
  • 在“已投票”投票中向创建者显示票数
  • Google 日历不支持 iCalendar 中的 URL,添加备用描述
  • 书签提醒的 ICalendar 订阅源
  • 在类别列表中降低静音类别的优先级
  • 在用户摘要中显示被拒绝的帖子数量
  • 账户注册的可选全局邀请码
  • 支持类似 Gravatar 的自定义服务
  • 允许更大的最大帖子长度
  • 允许主题在其 about.json 文件中指定修饰符
  • 视频标记中对帖子上传的更广泛支持
  • 改进键盘快捷键帮助弹窗
  • 添加 embed_set_canonical_url 设置
  • 添加站点设置以禁用分阶段用户清理
  • 用于同时加载多个用户卡片的新路由
  • 防止在起草处罚时意外取消
  • 使用 SSL 连接到 Redis 的选项

错误修复

  • 处理没有 ID 的子子类别路径
  • caret 图标应继承其颜色
  • 区分单行/多行的 sk 轮廓处理
  • /user_avatar/ 链接使用绝对 URL
  • 正确将 ‘two-rows’ 类添加到 header-topic-info 容器
  • 改进复制代码块按钮的选择器
  • 仅当设置了提醒时才确认删除书签
  • 拒绝无效的类别 slug
  • PublishedPages 错误响应
  • TopicsController 错误响应(同一记录存在两个独立的 Topic 实例的问题。这确保只有一个最新的实例。)
  • 使 InlineUploads 处理更多 URL 格式
  • 当类别或标签被静音时,更新用户
  • 临时兼容 Topic Route 上的 Evented
  • 将类别描述设置为第一个帖子的 cooked 值
  • 使嵌入式帖子可见时的并发问题
  • 除非帖子是常规帖子,否则不使主题可见
  • 允许仅更新嵌入的标题
  • 嵌入式主题无法更新其标题
  • opts 哈希实际上并非可选 :slight_smile:
  • 如果选择了 Light 主题,向导会创建重复的 Light 主题
  • 没有环境变量时,恢复到 S3 无法工作
  • migrate_to_s3 rake 任务中的无限循环
  • 防止自定义表情符号显示双冒号并设置背景图片
  • 在密码重置登录时设置用户时区
  • 如果帖子操作类型为 nil,不抛出错误
  • 阻止书签键盘事件传播到模态框
  • 搜索结果中的主题标题包含 data-topic-id
  • 不稳定的 groups_controller_spec
  • Template-lint 使用严格的 rel-noopener 规则,需要 noreferrer
  • 如果 Webhook 被删除,干净地中止 emit_web_hook_event 作业
  • Reviewable 评分 JS 位于错误的文件夹
  • 设置向导中的键盘导航修复
  • 当默认信任级别为 3 时,不要将用户降级到 TL2
  • 确保使用 c 快捷键时不传播键盘事件
  • 轮转后重新打开 sidekiq 日志文件
  • 使 topic-list-item 装饰器在移动设备上工作
  • 清理带有提醒的书签的小问题
  • Google 群组导入更改了登录 URL
  • 尝试更可靠地监听 scopedCategoryId 变化
  • 仅在主题列表中应用粗体字体
  • 移除搜索结果高亮的单词边界正则表达式 (\b)
  • 向 upload_serializer 添加 short_path
  • 允许自定义群组更新无需重新编译即可反映
  • 取消模态框后,主题书签切换无法工作
  • 在 ‘posts’ 报告中包含子类别
  • 移除无效背景
  • 在 /users 页面周期选择器上显示今天的日期
  • 确保工具栏在作曲家操作更改时更新
  • 电子邮件会话登录时缺少时区猜测
  • 在缩小 gif 时使用正确的命令行属性 gifsicle
  • 为 iOS 9.3 添加 values/entries/NodeList.forEach/before polyfills
  • 检测更多不支持的浏览器
  • 确保在尝试书签主题之前加载第一个帖子
  • 符合 WCAG-AA 标准的主题列表热力图颜色
  • 模态框关闭和 dismiss-error 按钮的标签
  • 在 user_api_keys.key_hash 上添加索引
  • 确保 .gap 宽度不超过窗口宽度
  • 引用帖子
  • 使用回复按钮时正确归属引用
  • 使用 replyAsNewTopic 时正确归属引用
  • 允许引用引用
  • 正确将引用标记为“完整”
  • 如果引用为空,不要尝试创建
  • 如果审查可见性默认值高于低分,防止低分标记自动关闭主题
  • 当 SSO 更改电子邮件时,尊重自动组成员资格
  • 在客户端将 /my/*path 重定向到 /login-preferences
  • 在桌面上加宽模态框
  • 从 TL3 要求中排除私信
  • 通过在 URL 中添加随机参数来重置 Gravatar 缓存
  • 修复无标题/长链接超出框的问题
  • CSV 导出在日期无效时抛出错误
  • 包括所有待处理的排队用户,无论其分数如何
  • 显示带有提醒的主题级别书签模态框
  • 恢复意外移除的 CSS 类
  • 为子子类别添加类别标签支持
  • 防止注册多个 topic-notifications-button:changed
  • 加载草稿时设置主题
  • 从非英语翻译中移除书签提醒的日期
  • Guardian 总是获取用户,但有时是匿名的
  • Guardian 总是获取用户,但有时是匿名的
  • 确保 category_id 是整数
  • Topic.time_to_first_response 应包括子子类别
  • 从主题转换时限制私信参与者
  • 检查所有请求的活动主题
  • 如果过滤器不为空,不要尝试取消选择标签
  • Jobs/delete_replies:添加 Time+Duration,而不是 Time+Time #9314
  • 将总行数计数和加载更多 URL 移动到 meta 内部
  • 允许 color-input 通过输入设置十六进制和颜色名称
  • 如果 onebox 主体中的链接与标题链接相同,则跟踪该链接
  • 向导中默认使用浅色主题,以便显示预览
  • 在 /top 页面周期选择器上显示今天的日期
  • jQuery 弃用警告
  • 使用 duration 移除计时器不起作用
  • 在优先级通知迁移中将 null high_priority 列设置为 false
  • 用向导中的新值替换默认欢迎主题帖子
  • 如果架构包含当前数据库用户不拥有的对象,则恢复失败
  • 如果该用户的帖子已被工作人员拒绝,FlagSockpuppets 不应标记帖子
  • 如果该用户的帖子已被工作人员拒绝,FlagSockpuppets 不应标记帖子
  • Ninja 编辑回复无法工作
  • 根据 ID 正确加载草稿
  • 分阶段用户收到 user_linked 和 user_quoted 电子邮件
  • 为 auth 路由绕过 service worker 缓存
  • group-member-dropdown 的正确操作现在是 actOnGroup
  • 当帖子移动时复制通知级别
  • 切换回复类型时更新选项
  • 加载时不要保存草稿
  • 更改主题类别并创建标签时的错误
  • 使点击和显示日期选择器更可靠
  • 如果未选择,确保 mini-tag-chooser 显示最小标签要求
  • 防止渲染空的 timeline-controls
  • 正确考虑 CSV 导出中的类别/群组过滤器
  • 防止点击 ace 编辑器上方的组件标题时出现异常
  • 允许适配器定义自定义主键
  • 允许邀请电子邮件字段对于邀请令牌为空
  • Get_size_from_image_sizes 应返回 [width, height] 或 nil
  • 引用嵌套引用应保留原始帖子信息
  • 带有尾部注释的自定义 SQL 可能会破坏 BadgeGranter SQL
  • 在规范化之前检查名称是否存在
  • 保留日期对象
  • Narrative bot 对带有提醒的书签不起作用
  • 确保 wiki 编辑器一致分配
  • 自动重定向具有无效扩展名
  • 转译损坏
  • nil != false
  • 如果没有配置标签,Mbox 导入失败
  • migrate_to_s3 rake 任务找不到 AWS SDK
  • 使用 pgbouncer 导入失败
  • 群组过滤输入导致整个页面重新加载
  • 使用用户指定的图像尺寸进行裁剪
  • 使用用户指定的图像尺寸进行裁剪
  • 在带有代码的电子邮件中使用正确的间距
  • 嵌入主题时显示小型帖子操作
  • 提高安全上传 rake 任务效率的第一次尝试
  • 更改安全媒体以包含附件
  • 允许 JS 转译
  • 解析器未正确设置
  • 使用 1 列而不是 4 列作为永久链接目标
  • 确保 date-time-input 中有日期对象
  • TopicEmbed#absolutize_urls 试图修改冻结的字符串
  • 单词边界正则表达式 (\b) 在 Unicode 语言中不起作用
  • 修复图像优化管道
  • 不要使用原始文件名来提取原始文件名
  • 确保搜索菜单不会短暂显示之前的结果
  • User-selector 未排除 currentUser
  • 搜索菜单中的竞态条件
  • 防止计划发布到已删除的类别
  • 改进用户时区保存
  • 在显示 404 页面之前检查永久链接
  • 向导测试缺失
  • 在 /about 页面上尊重 prioritize_username_in_ux 设置
  • 中键点击读取了所有通知
  • 回填主题计时器持续时间
  • 在 OAuth 登录流程中正确移除 authentication_data cookie
  • 帖子编辑 Webhook 未反映更新的主题标题
  • 永久链接应重定向到包含 ID 的类别 URL
  • 在 OAuth 登录流程中正确移除 authentication_data cookie
  • 版主应该能够审查被标记的私信,因为一直以来都是如此
  • 如果测试环境不支持 Webauthn,不要失败
  • 在永久链接中包含整个 slug 路径
  • 在搜索中支持子子类别 slug
  • 允许 CSP 为非默认主机名/方案正确工作
  • default_email_digest_frequency 更新时,更新 email_digests 用户选项
  • 当被标记的帖子是私信时显示信封图标。被标记的私信必须由管理员独家审查
  • 修复当草稿并发创建时的 PostgreSQL 错误
  • set_or_create_timer 方法中使用新的 duration 属性
  • 在 OAuth 登录流程中正确移除 authentication_data cookie
  • 书签列表的 N1 问题
  • 在 hbs 文件中使用 id 而不是 elementId
  • 改进 HTML 到 Markdown 的转换
  • 压缩电子邮件中的行代码
  • 防止移动书签模态框被截断
  • 使用错误的子文件夹设置的主题-javascripts
  • 书签模态框中 userHasTimezone 计算损坏以及普通用户缺少 tap-tile 模板
  • 远程主题 Github 链接应指向自定义分支 #9184
  • 在用户个人资料中显示静音/忽略菜单的一致性
  • 不要为不活动的插件显示 Webhook
  • 中键点击时取消通知
  • 在书签模态框中为“无时区”链接添加 basePath
  • 改进移动端的书签模态框和书签同步 rake 任务
  • composer 草稿指示器使用 Sync-alt
  • 使用 delete_all_posts_max 以提高在管理视图中使用删除按钮时的一致性
  • 在投票构建器中显示时间输入
  • 创建通知前检查帖子是否存在
  • 书签提醒和改进变更
  • 确保 show_short URL 处理使用多站点的安全上传
  • 修复 ApplicationController 重新加载后开发环境中的 HTML 响应
  • 插件可能有相对符号链接
  • RANDOM_PASSWORD 在 rake admin:create 中不起作用
  • Telligent 导入脚本的方法被意外删除
  • 忽略已迁移的嫌疑用户或六个月前创建的用户
  • 无法从没有翻译覆盖的版本恢复备份
  • 从标签组中移除父标签
  • 确保书签序列化器适用于已删除的主题和帖子
  • 在 email/sender 中添加主题已删除检查
  • 防止 i18n 助手返回 SafeString
  • 带有附件的通知电子邮件结构不正确
  • 输入提交超链接插入模态框的表单
  • 当要转义的表情符号不是字符串时防止崩溃
  • 区分 flag-modal 和 flag-modal-body
  • 当 iPad 处于纵向时显示主题进度
  • 当启用 must_approve_users 时,我们不想将嫌疑用户发送到审查队列。只应发送未批准的用户。提供迁移以自动批准每个有问题的审查项目
  • SMF2 导入器中缺少常量
  • 草稿保存时的拼写错误
  • ContactPicker 未在主题上设置邀请输入
  • Featured_topic.fancy_title 渲染时没有表情符号
  • confirm-new-email 中的一些错误和清理
  • 支持无用户帖子的各种修复
  • 最后一个 IP 地址可能指向错误的 IP
  • 确保 categoryBadgeHTML 中的 hideParent 类别存在
  • 当从群组中移除用户失败时抛出错误
  • 在主题导入期间写入私钥时不要破坏它
  • 限制主题跟踪快捷键并强制执行主题 ID
  • 保留 TopicCreator 的时间戳分辨率
  • 正确检查组件是否在模态框中
  • 确保 pinned-options 标题显示正确状态
  • 保存个人资料时区时设置当前用户时区
  • 通过电子邮件登录时的错误消息
  • 在个人资料上突出显示主题时的 403 错误消息
  • 保留 PostCreator 的 created_at 分辨率
  • 检查存在时使用 bio_excerpt
  • 移除旧的 refreshQueryWithoutTransition
  • 导入脚本可能由于缺少 ORDER BY 而跳过了一些用户
  • 确保可以从审查项目更改类别和标签
  • 尴尬的算法拼写错误 → security keys 的算法
  • 在撤销之前检查 auth token 是否存在
  • 防止处理帖子时的竞态条件
  • 容忍没有用户名和标题的引用
  • 从 phpbb3 导入缺失用户的帖子
  • 防止头像装饰图片在用户/群组卡片上重复
  • 允许定义 select-kit 主体的放置策略
  • 仅对类别下拉菜单使用全局 allow_uncategorized_topics
  • 正确格式化群组投票字段的 select 选项
  • 允许在撰写回复时从已关闭的主题引用
  • 如果 TOTP/安全密钥缺少名称/代码,显示更友好的错误

UX 变更

  • sk 组件中更好的轮廓支持
  • 修复损坏的图像占位符样式
  • 在 iOS 上启动作曲家时设置焦点
  • 向导字体大小
  • 防止类别下拉菜单换行计数,限制移动宽度
  • 改进已发布页面的头像分辨率
  • 为 onebox 应用默认背景颜色
  • 将 HTML 转换为 Markdown 时剥离 base64 图像 URL
  • 注意“总结此主题”设置的行为
  • 调整 noscript 页脚导航
  • 显示范围时显示完整日期时间
  • 确保显示日期时使用时区而不是 localTimezone
  • 显示不带前缀的时区以减少噪音
  • 重新设计书签提醒模态框
  • 如果未选择样式,移除类别上的颜色
  • 在触摸设备上移除“作为链接分享”的备用方案
  • 使用颜色变量作为快捷键的背景
  • 在菜单标题中换行非常长的单词
  • 微调用户目录“最后更新”样式
  • 更好地自定义移动端的表情符号布局
  • 为最新主题列表添加装饰样式
  • 确保在日期表单中 esc 键正常工作
  • 修复带有硬件键盘的 iPad 上的作曲家位置
  • 改进 select-kit 标签中图标的间距
  • 改进移动端的 date-time-input
  • 尽可能将批量选择菜单切换与主包装器对齐
  • 在“默认标签”站点设置选择器中禁止标签创建
  • 显示更好的错误图片
  • 在类别路由主题列表项中显示头像装饰
  • 在移动设备上增大用户菜单中个人资料面板的点击区域
  • 快捷键 K 可以选择部分帖子
  • 禁用已删除帖子的突出显示动画
  • 移除用户或更改所有者时刷新组成员资格列表
  • 改进 /review 上的嫌疑用户文案
  • 在 iOS 上移除“实时通知”用户个人资料部分
  • 使用 mod+p 代替 ctrl+p 和 command+p 进行 printTopic
  • 改进嫌疑用户功能的文案
  • 改进 select-kit 标签中图标的间距
  • 为用户头像标题尊重 prioritize_username_in_ux 设置
  • 添加对颜色设置类型的支持

性能

  • 改进 Safari 中的懒加载性能
  • 默认启用新用户卡片路由
  • 缓存 Category.subcategory_ids
  • 加快多站点上的迁移速度
  • 存储大量上传到 S3 的备份速度很慢
27 个赞