2.9.0.beta3:粘贴GIF、新的分类页面样式、静音分类改进等

2.9.0.beta3 新功能

允许将 GIF 粘贴到编辑器中

以前,如果用户从网站复制 gif 到剪贴板并尝试将其粘贴到编辑器中,我们只会粘贴原始 gif 的静态单帧(图像)。现在,我们能够正确检测剪贴板中的 gif 并按预期将其粘贴到编辑器中。

新分类页面样式:“子分类与精选主题”

突出显示过期的书签提醒

已过期的书签提醒现在将在用户书签选项卡中以红色突出显示。

上传头像选项,支持选择头像上传

允许管理员或达到一定信任级别的用户上传头像,即使网站启用了选择头像功能。所有人仍然可以从列表中选择头像。上传选项显示在可选头像列表下方。管理员可以通过 selectable avatars mode 站点设置配置谁可以上传自己的头像。

仅可选头像:

可选头像和上传头像

统一的 2FA UI

自首次添加以来,Discourse 中的 2FA 支持已显著增长。最初只支持 TOTP(不断变化的 6 位数字代码),并且仅用于登录。如今,我们支持 TOTP、安全密钥(包括生物识别)和备用代码,并且 2FA 用于登录以外的其他操作的验证。这些更改增加了 2FA 系统的技术复杂性,导致存在 5 种不同的 UI 实现 :exploding_head:。在 beta3 中,我们已标准化和集中化了 2FA,使用单一 UI 来处理所有 2FA 方法。这个新 UI 将在接下来的几个 beta 版本中推广到所有使用 2FA 的地方。

隐藏子分类时同时隐藏父分类

这是一个长期以来社区要求的功能,隐藏一个分类现在也会同时隐藏其所有子分类。用户可以根据需要为特定子分类覆盖此设置。

缩放每日标记限制

与喜欢和编辑类似,用户每天可以使用的最大标记数量会随着用户信任级别的提高而增加。

更新的分享帖子模态框

我们更新了点击帖子时间戳时出现的模态框。

附加功能

  • 在灯箱中添加指向原始图像的链接
  • 用于创建用户关联帐户的 API
  • 根据前缀匹配优先显示群组搜索顺序
  • 为代码块添加全屏按钮
  • 自动选择分享 URL
  • 在搜索页面显示主题访问状态
  • 向 Webhook 添加 user_promoted 事件
  • 将“重置已读”批量操作重命名为“推迟”
  • 允许版主批量更改所有权
  • 如果邀请加入主题无效,则显示错误
  • 新的插件 API,用于检查是否使用了上传功能
27 个赞

更多更新!

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

插件改进

动态头像

新功能

  • 将 gifsicle 设为可选依赖项
  • 失去焦点时暂停动画

错误修复

  • 安装 gifsicle 时进行裁剪
  • 别名方法排序

分配 (Assign)

新功能

  • 改进随机分配功能,支持分配到帖子

错误修复

  • 添加缺失的通知标题
  • 新通知类型需要额外的 i18n 字符串
  • 新通知类型需要一些 i18n 字符串
  • 复用主题查询方法以查找群组主题

用户体验变更

  • 主题列表重构

Zendesk

错误修复

  • 创建工单规范

Discourse Chat

功能
  • 每条消息限制唯一表情符号反应数量为 30 个
  • 在编辑器中使用快捷键插入链接
  • 移除“移动到主题”功能
  • 删除聊天频道
  • 在归档聊天引用中包含反应
  • 设置最小消息长度及禁用附件
  • 关闭/打开聊天频道
  • 新增设置以定义默认表情符号反应
  • 重试失败的归档
  • 阻止重复消息的敏感度设置
  • 聊天频道归档
  • 在全屏模式下按键时自动聚焦编辑器
  • 添加 chat_default_channel_id 站点设置
  • 允许在聊天消息中使用 [chat] BBCode
  • 将聊天键盘快捷键添加到帮助弹窗
  • 自动屏蔽因举报而被标记的用户
  • 聊天频道状态
  • 自动屏蔽超过速率限制的用户
  • 为工作人员提供快速屏蔽按钮,并阻止被屏蔽用户与聊天互动
  • 如果消息为空,使用上传文件名作为回复摘要
  • 允许在聊天消息中使用 [quote] BBCode
  • 高亮显示聊天消息中的代码块
  • 向下无限滚动
  • 添加简单的编辑器快捷键
  • 在引用时通知聊天消息用户
  • 限制消息发送速率,并提供重新发送按钮
  • 聊天引用
错误修复
  • 粘贴带有活动文本选区的链接时功能失效
  • DOM 操作应在渲染后执行
  • 确保 chat-composer-details 使用可用空间
  • 确保在频道切换时取消编辑
  • 按下 ? 时不要自动聚焦聊天
  • 在 Safari 上复制聊天引用到剪贴板时功能失效
  • 用户不存在时不报错
  • 获取消息后错误地忽略粘性滚动
  • 确保移动端仅有一个消息操作
  • 快速选择器仅返回开放频道
  • 我们之前正在比较用户对象和 ID
  • 仅在需要时显示未读指示器
  • 为 chat-emoji-avatar 使用与 chat-user-avatar 相似的样式
  • 归档主题和帖子时使用系统用户
  • 使用正确的 chat_allow_uploads 设置
  • 显示最近使用的 3 个表情符号作为最近反应
  • 将未读指示器移至 chat-channel-title
  • 确保 tc-reply-display 占用必要空间
  • 仅在反应时使用专用的表情符号存储
  • 频道归档时清除未读状态
  • 在移动端自动大写句子
  • 全屏模式无法捕获空格键
  • 聊天频道选择器对传入的 Webhook 失效
  • Guardian 的 can_rebake? 破坏了核心帖子重构建端点
  • 归档工具改进
  • 归档频道优化
  • 此条件总是评估为真
  • 在推送通知中将表情符号转换为 Unicode
  • chat_default_channel_id 站点设置的区域设置嵌套
  • 将频道设置按钮移至频道浏览列表
  • 将 chat-composer 的 keyUp 事件回退到 keyDown
  • 如果可以管理,则显示已删除的消息
  • 能够在聊天头部按 Tab 键并回车
  • 确保插入频道列表时不滚动正文
  • 确保回复中正确显示在线徽章
  • 保留与 ChatUpload 关联的上传内容
  • 能够对之前暂存的消息进行反应
  • 新私信因 canModifyMessages 在创建时报错
  • 向上滚动时不要展开已删除的消息
  • 点击“编辑消息”按钮后聚焦编辑器
  • 上传时始终使用深色背景
  • 上传中使用的回调从方法返回
  • 在预览频道时阻止更多 UI 交互
  • 不要从 Webhook 事件创建错误的聊天消息
  • 用户的反应被正确标记为 reacted
用户体验变更
  • 在移动端居中显示频道标题
  • 更具体的聊天提及通知
  • 减小在线状态圆圈的宽度
  • 将存在指示器实现为圆圈而非气泡
  • 聊天通知一致性
  • 恢复 .chat-channel-title 的边距变更
  • 在移动端重新应用频道边距
  • 改进聊天可见时图标的行为
  • 重新设计浏览频道页面
  • 调整样式,移除“离开聊天”按钮
  • 拖动文件上传到聊天时添加视觉元素
  • 扩大聊天上传的目标区域
  • 移除更多警报类型的警报间隙
  • 小修内边距
  • 修复聊天引用中的样式不一致问题
  • 字体、宽度和图标调整的次要修复
性能
  • 移除每条消息两个不必要的嵌套 div
  • 移除 in_reply_to 消息的 n+1 查询
无障碍性
  • 为聊天的重要区域添加 role region 和 aria 标签

投票

错误修复

  • 添加第二排序列以在分页时保持顺序。

BBB

错误修复

  • 核心变更后修复兼容性问题

日历

新功能

  • 为聊天添加节日徽章
  • 支持时区(重复和非重复事件)
  • 添加当前离开报告

错误修复

  • 确保客户端向后端发送 UTC 时间
  • 当前离开报告缺少翻译
  • 应用最新的节假日定义
  • 确保规范中重新加载自定义字段
  • 修复月视图中隐藏的日历周
  • 即使周围没有空白也移除箭头
  • 验证重复规则

Solved

错误修复

  • 初始化器回归问题
  • 刷新自定义字段并移除重复的 fabricator

Encrypt

错误修复

  • 使用加密原语检查签名
  • 当不存在 currentRouteName 时不报错
  • 更新“生成纸质密钥”说明的清晰度

用户体验变更

  • 编辑器按钮样式的次要更新

Kolide

新功能

  • 设备被销毁后更新用户警报私信内容。
  • 从 Discourse 群组警报私信分配设备所有者。

错误修复

  • Kolide API 的 PUT 方法需要 Content-Type 头。

代码审查

错误修复

  • 允许重新导入已删除的主题
  • 验证 code_review_default_parent_category 设置
  • 如果插件未配置则显示错误
  • 替换链接前转义 Git 尾部信息
  • 不重用 GraphQL 客户端

RSS 轮询

错误修复

  • 如果用户为 nil 则快速失败

订阅

错误修复

  • 组件销毁时确保移除侧边栏类

Cakeday

错误修复

  • 禁用 Cakeday 时不要禁用生日表情符号。

Zoom

错误修复

  • 核心变更后修复兼容性问题

反应

错误修复

  • 更改时始终为每个反应获取用户
  • 移除重复代码

无障碍性

  • 确保反应按钮的焦点清晰可见

自动化

新功能

  • 实现帖子字段
  • 在使用 %%REPORT%% 时支持参数
  • 允许使用占位符语法插入报告
  • 支持 Zapier Webhook 脚本
  • 在自动回复脚本中匹配主题标题

错误修复

  • GroupField 可能在初始化期间被销毁
  • 跟进 #b17235b 导致的表单破坏问题
  • 如果不是 start_date/end_date 则不解析日期
  • 确保我们不会在第一个空结果处停止
  • 在某些情况下防止自动化在不必要时运行
  • 确保如果未提供 URL 则不会崩溃

用户体验变更

  • 在尚未创建任何自动化时添加默认状态
  • 正确描述键将被作为正则表达式评估
  • 在新自动化中选择脚本时显示 Caret
  • 明确更改脚本/触发器也会保存新状态

性能

  • 在自动回复中防止不必要的工作

文档

错误修复

  • 移除对 share-popup 的引用

聊天集成

错误修复

  • 在转录线程提示中使用正确的标识符
  • 为“所有类别”使用正确的复制文本

其他功能与修复

点击展开

新功能

  • 允许审核项覆盖评分类型标题。
  • 更新推送通知图标
  • 启用规范 URL 索引
  • 在 posts.rss 馈送中使用规范链接
  • 为主题和类别的 RSS 替代链接添加 nofollow
  • 添加具有名称和值的新站点设置列表类型
  • 使用 Postgres unaccent 忽略重音符号
  • 从 MaxMindDb 返回地理名称 ID
  • 添加 ENV 以控制 themes:update 错误
  • 用分享模态框替换分享帖子弹窗
  • 默认禁用非规范页面的索引
  • 添加设置以调整每日举报限制
  • 为邀请模态框使用新的主题选择器

错误修复

  • 如果标题无法爬取则不抛出异常
  • 确保所有/无子类别过滤器与标签正确配合
  • 为无效的 /tags/c/... 路由返回 404
  • 在 browser-detect 中添加 replaceAll
  • 工作人员不应能向“无人”可发消息的群组发送私信
  • 使用 Ember CLI 时,插件管理代码未在测试中加载
  • 重置现有书签的最后发送时间
  • 再次导入 Ember 测试
  • 在 discourse-loader 中添加 Ember 测试条目
  • 编辑时默认显示书签选项
  • 移除管理员用户的竞争请求
  • 为多个 Rake 任务跳过 Ember CLI 构建内存优化
  • 转换为私信时始终包含第一个发帖人
  • 不要将 Ember CLI 分块文件通过 Babel 两次
  • J/K 帖子流导航不一致
  • 当 RetrieveTitle.crawl 失败时返回 nil
  • 更新主题路由 ID 参数
  • 在所有实例中使站点设置缓存失效
  • 归档/取消归档时更新群组收件箱通知
  • 在每次重定向时应用 Onebox 阻止域名检查
  • Firefox 上跳转至帖子的功能存在缺陷
  • 为插件添加的 API 范围包含引擎挂载路径
  • 允许管理员更改用户忽略列表
  • 仅显示列出的第一个价格
  • 通过修复拼写错误使回复 ID 公开
  • 在 /posts/:id/raw 和 /p/:id 上显示 404 HTML
  • 更新并重构建对旧中心化头像服务的使用
  • 防止 discoveryTopics 对 discoveryTopics 的自引用
  • 更好的 0 文件大小检测和日志记录
  • 支持亚马逊产品页面的新布局
  • iOS 的推送通知尚未正常工作
  • 保存传入电子邮件日志中的电子邮件拒绝错误类名
  • 使用 post_action_destroyer 正确通知订阅者
  • 计算停靠 - 包含主偏移量
  • 主题跟踪状态间接静音的类别
  • 全屏代码的次要缩进修复
  • 从初始自动完成设置表情符号过滤器
  • 确保 html_raw 在自定义 Markdown 烹饪函数中被提升
  • 在移动端,如果按钮过多则溢出帖子控制
  • 编辑被举报的主题时尊重冷却窗口
  • 新的间接静音类别
  • 销毁帖子时避免验证
  • 将 selectable_avatars_mode_validator_spec 移至新目录
  • 在类别选择器中使用类别的纯文本描述
  • 清理提供给用户操作的参数
  • 开发子文件夹会话 Cookie
  • 不要在空的 .discourse-compatibility 上发出警告
  • 编辑主题标题时不要推进草稿序列
  • 尊重引用内的文本方向
  • 如果可以邀请用户则显示邀请按钮
  • 在顶部链接部分显示点击数为 0 的链接
  • 如果默认值为无,则允许无类别
  • 编译样式表时使用最新的主题设置值
  • 确保类别/标签类被正确添加和移除
  • 使 EmailLog#bounce_error_code 符合 RFC 标准
  • 增加 FinalDestination MAX_REQUEST_SIZE_BYTES
  • 统计带有查询参数的链接点击次数
  • ReplyByEmailAddressValidator 应利用 EmailAddressValidator
  • 离开群组后更新 can_see_members 属性。
  • 处理 DistributedCache#defer_get_set 中的 nil
  • 如果 generation_method == ‘ascii’,则不接受 Slug 中的重音符号
  • 仅加载一次短上传 URL
  • 当按用户字段排序时无法过滤用户目录。
  • 不要为当前用户增加邀请计数
  • Redis 初始化器中 Redis 可能不可用
  • 标签页面 - 直到没有主题时才隐藏无主题页脚
  • 迁移帖子以修复具有安全 URL 的自定义表情符号
  • 现在 Ember CLI 是默认值,更新 application_helper 逻辑
  • 确保主题 JavaScript 缓存获得一致的 SHA1 摘要

用户体验变更

  • 全局横幅的样式变更
  • 如果群组头像徽章块为空则隐藏
  • 调整“新”徽章的大小、位置和颜色
  • 允许 d-editor 缩小
  • 打印视图始终显示 0 票,将其隐藏
  • 修复未对齐的头像
  • 在添加新管理员时为 2FA 页面添加描述
  • 区分“是”和“非工作人员”的“电子邮件已禁用”通知
  • 从表情符号选择器中移除加载旋转器
  • 更改颜色函数以匹配原始的 primary 和 tertiary 函数
  • 改进时间线的触摸点击区域
  • 将 discourse-follow 添加到官方插件列表
  • 即使用户只有两篇帖子也显示帖子计数徽章
  • 修复全屏搜索的对齐问题
  • 样式指南变更及颜色变量添加
  • 更改管理员批量邀请按钮的样式
  • 在主题错误消息中添加“更新”
  • 防止用户菜单在极小屏幕上溢出
  • 控制类别主题列表中的空白字符
  • 为日期选择器使用 autocomplete=“off”
  • 改进 default_code_lang 的复制文本

性能

  • 修复类别 + 精选主题的 n+1 查询
  • 避免在主题 RSS 馈送中跟随链接
  • 仅登录时订阅 /new
  • 在后台执行所有缓存计数
  • 将 message_bus 升级到 4.2
  • 对跟踪主题的回复使用共享消息
  • 一次性加载所有常用密码
  • 将 anon_polling_interval 降低以匹配 long_polling_interval
  • 将 message_bus 升级到 4.1
  • 跳过在每个 PresenceChannel 方法期间运行 ‘auto_leave’
  • 引入站点/全局表情符号缓存
  • 减少 CachedCounting 的 EXPIRE 调用次数
  • 使用 Redis SET EX GET 替代 LUA 脚本进行计数
  • ember build 期间终止 rake 进程
  • 更新 ember-auto-import 和 webpack

无障碍性

  • 在主题列表中聚焦最后查看的主题
  • 在 iOS 设备上使用动态类型缩放
24 个赞