Discourse 2.5.0.beta5 发布说明

2.5.0.beta5 中的新功能

话题缩略图与主题修饰符

显示话题缩略图是一项长期被请求的功能。过去,若要显示此类图片,必须安装插件。在 beta5 版本中,我们新增了对主题修饰符的支持,包括话题缩略图、SVG 图标和话题摘要。主题开发者在开发或更新主题时可以利用这些新选项。有关主题修饰符的更多详情,请参阅:Theme modifiers: A brief introduction

应用快捷方式支持

Discourse 现已支持新的“应用快捷方式菜单”,这是针对已安装的 PWA 的一项即将推出的浏览器功能。目前,应用快捷方式在 Android 和 Windows 上已得到支持。

在触摸平台上,右键单击或长按您的 Discourse 实例 PWA 图标,即可调出包含实用快捷方式的快速访问菜单:

更多详情及截图,请参阅 App Shortcut Menu support

移除已弃用的 Webhooks

去年(Discourse 2.3.0.beta7)我们推出了审核队列,这是一个用于查看所有可审核项(如标记、用户、帖子和话题)的统一视图。现有的 Webhooks(包括 flagqueued post)虽然仍保留,但已被 reviewable Webhook 重复。我们现在已移除这些旧版 Webhook,转而使用单一的 reviewable Webhook。

头像装饰图标选择器与图片上传器

为了让添加 头像装饰 更加便捷,我们将图片 URL 字段替换为选择 Font Awesome 图标或直接上传图片的选项。

群组成员资格被接受时的私信通知

目前,当用户申请加入私密群组被接受时,他们会收到通知。现在我们改为发送私信(PM),这样即使未访问站点的用户也能收到邮件。默认私信文本如下:

您加入 @group_name 的请求已被接受,您现在已成为成员。

与 Discourse 中的所有文本一样,站点管理员可根据需要进行自定义。

支持 PostgreSQL 12

我们的基础镜像已更新以支持 PostgreSQL 12。PostgreSQL 12 带来了许多改进,Discourse 将自动利用这些改进。要将您的站点升级到 PostgreSQL 12,需要进行两次连续的重建。有关详细信息(包括所需磁盘空间、升级两个容器安装以及手动升级),请参阅 PostgreSQL 12 update

下个月稍后发布 Discourse 2.5 - 结束对 IE 11 的支持

Internet Explorer 11 的支持即将结束。我们计划于本月稍后发布 Discourse 2.5,以便仍停留在 IE11 的用户有一个完整的发布版本进行过渡。Discourse 2.6.beta1 及后续版本将不再支持 IE11。

35 个赞

更多更新!

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

安全更新

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

  • 重新添加意外回退的提交:
  • 确保 embed_url 包含有效的 http(s) URI
  • 自定义电子邮件样式中的 ERB 执行
  • 更新 jQuery 至 3.5.0

插件改进

多个插件

  • 添加 rubocop-discourse
  • 错误修复
    • 我们已修复了许多插件中的 numerous 错误

Encrypt(加密)

  • 从加密的私信通知中移除“通过邮件回复”说明——暂不支持回复功能

Policy(策略)

  • 策略提醒通知现在为高优先级——使用绿色通知图标代替蓝色

Font Awesome Pro

聊天集成

  • 添加 GroupMe 作为支持的聊天服务提供商

知识探索器

  • 在未列出主题中显示主题是否已关闭

联盟

  • 添加对搜索 URL 的支持

数据探索器

  • 添加更多查询

分配

  • 分配通知现在为高优先级——使用绿色通知图标代替蓝色
  • 在按钮和下拉菜单中显示被分配用户的头像

订阅

  • 使用模型存储数据
    • 这使得插件仅能显示在 Discourse 上生成的订阅信息。订阅数据存储仅限于 Stripe 生成的外部标识符,以便我们可以与 API 交互。

Zoom

  • 添加使用加入 URL 而非 SDK 的选项
  • 添加更新过去网络研讨会条目标题/日期的功能

投票

  • 合并主题时移动已归档的投票

代码审查

  • 添加选项,默认静音由该插件创建的新分类
  • 添加选项,为插件创建的新分类设置父分类

Discourse Hub 应用(Android 和 iOS)

  • 添加对新高优先级通知的支持(例如带提醒的书签)
  • 改进按钮可访问性
  • 修复在某些罕见情况下从后台返回应用时出现空白屏幕的问题

其他功能和修复

点击展开

新功能

  • 添加设置以禁用 S3 存储桶中自动安装 CORS 规则
  • 标签的永久链接
  • 默认列表过滤器的分类设置
  • 当原始发帖者(OP)重新烘焙时更新主题摘要
  • 添加主题摘要最大长度站点设置
  • 添加同站 Cookie 'None’选项,以实现跨域系统
  • 在客户端插件 API 中暴露 Composer.serializeToTopic
  • 延长允许的下载时长
  • 为单个 SVG 图标添加端点
  • 添加结构化数据以符合 Google 指南
  • 引入仅限工作人员的 discourse-presence 覆盖密钥
  • 为标签页面添加 noindex 头
  • 允许 UserApiKeys 进行参数认证
  • 允许插件注册回调以忽略 DraftSequence
  • 默认规范 URL
  • 将 revisor 实例传递给 post_edited DiscourseEvent
  • 为徽章、分组和 /my 页面添加 noindex 头
  • 允许 Google 索引页面以便其移除它们
  • 如果 robots 被禁用,则添加 no_index 头
  • 按插件筛选设置
  • 收紧“忘记密码”的速率限制规则
  • 从“热门”主题列表中排除静音的分类
  • 可选地在发送提醒时删除书签
  • 导出分类时包含分类位置
  • Reddit 视频 onebox
  • Facebook 视频 onebox
  • Nokogumbo

错误修复

  • 改进图片缩小脚本
  • 如果上传 URL 是无效的 mailto 链接则返回 false
  • 对主导主题警告进行编辑校对
  • 创建主题缩略图时的并发错误
  • 添加自动成员资格域名时,如果域名无效,不要返回 500 错误
  • 不允许使用名称为 ‘none’ 的标签
  • 正确禁止非人类用户从草稿系统中访问
  • 在已烹饪帖子 HTML 中包含 lazyYT-container
  • 文档使用了错误的函数
  • 电子邮件样式评估顺序错误
  • 创建新私信时,用户名/组名应不区分大小写
  • 无需再次转换为小写
  • 跳过具有无效花饰 URL 的组的单次作业
  • 不要回退到 flair_url 列
  • 切换到私信时保留标题和回复内容
  • 当用户具有标题时,销毁用户失败
  • 如果用户无法查看其成员,则不显示组卡片
  • 显式调用 getURL 方法以防止 this 上下文覆盖
  • 移动端双按钮对齐
  • 更好的跨浏览器主题页脚按钮对齐
  • 如果排队中的帖子被拒绝,我们不会创建 Post 对象。我们需要直接计算审核项目。
  • 开发中 CSS 的实时重载
  • 从上传中移除访问控制帖子外键
  • 标签输入显示标签为可选,但实际上是必需的
  • 允许 GitHub 应用 client_id 用于 OAuth 配置
  • 确保分类选择器不区分大小写
  • 为已发布页面头部添加缺失的标签
  • 徽章授予者默认被禁用
  • Sidekiq 使用 _forim_session
  • 如果拒绝的帖子数量是唯一要显示的值,则显示工作人员计数器
  • 请求未正确记录
  • 路径应为 addon 而非 app
  • 允许弃用与 Ember CLI 一起工作
  • Select-kit 位置错误
  • 更新 default_template.html
  • guidFor 不是 Ember.Object 的一部分
  • 不要参数化 tag_id
  • 解析无效或非 ASCII URL 时不要崩溃
  • 为标志发出 Webhooks
  • 不为没有事件的 Webhooks 设置默认值
  • 当数据库部分迁移时,迁移不应失败
  • 将 discobot 切换为从 Gravatar 拉取头像
  • 删除用户时清除所有关联数据
  • S3 存储的 has_been_uploaded? 未考虑 S3 存储桶路径
  • 恢复备份可能因大于 8GiB 的数据库转储而失败
  • 在尝试打印错误之前检查回溯和回溯位置
  • ‘uncategorized’ 分类的描述为空
  • 当启动插件失败且没有回溯时显示有用的消息
  • GroupArchivedMessage 属于 Group,而非 User
  • 在 topic-footer-main-buttons 上应用 flex
  • 将书签迁移连接到用户以避免丢失用户记录
  • 从 fixtures 创建时随机化文件名
  • 使用 /tmp/pid 文件夹保存 fixture 文件
  • 将 rack 版本从 2.0.8 提升至 2.2.2
  • 恢复备份未清除缓存的翻译覆盖
  • 撤销多个翻译覆盖未清除缓存
  • 改进并修复了 category-selector 的回归问题
  • 更稳健/一致的日期选择器加载
  • 确保在主题缩略图序列化期间不下载图片
  • 允许以 delete_replies 类型删除主题计时器
  • 确保在卡片销毁时调用 hide
  • 使用英语区域时不要移除停用词
  • 在 user_spec 中提取 reset_last_seen_cache!
  • 切换 composer 操作不会刷新 composer 操作内容
  • 组件仍被数据探索器使用
  • 预览主题时包含插件 CSS 资源
  • 如果未选择名称,则在 sk 头部显示标题
  • 更正插件 API 版本提升
  • 使用 CDN URL 作为主题缩略图
  • 允许使用 #change 进行帖子迁移以执行不安全迁移
  • 始终为非人类用户当前 DraftSequence 返回 0
  • WebAPK 铸造因快捷方式图标而损坏
  • 用户规范随机失败
  • 解决 WebAPK 服务器在处理无尺寸图片时的 bug
  • 不要在分类索引路由上为机器人计算草稿
  • 应用无语法高亮的代码引用
  • 为应用快捷方式菜单使用正确的图标
  • 仅在登录后运行 Cookie 测试
  • 允许 pull_hotlinked_images 获取 lazy-yt 缩略图
  • 删除旧迁移
  • 不要在主题列表中为(机器)人 :robot: 计算草稿
  • 针对回复摘要邮件的特定电子邮件错误
  • 使用用户代理检测 Wayback Machine
  • 在向导应用中首先加载区域设置
  • 更新 mini racer 以正确生成堆转储
  • 在保存时永不移除草稿
  • 如果 composer 未打开,则不发布打字状态
  • 防止 Safari 在关闭 composer 时滚动
  • 防止 SvgSprite.bundle 两次查询 ThemeField
  • 回复时 Composer presence 显示用户正在编辑
  • 在 discourse-presence 中节流打字函数
  • 将 /bookmarks URL 改回主题列表并添加书签发布者的头像
  • 处理缺失的提供商返回 sso URL
  • 防止审核代码中的列名冲突
  • 确保预览正确计算当前用户的时区
  • 为快捷方式菜单图标添加类型
  • 如果无法创建 TopicLink,则不抛出异常
  • 将缺失的 rss 路由添加到参数 API 白名单
  • 如果插件有设置,则显示设置按钮
  • 无条件保存草稿会增加序列号
  • 移除正则表达式中不必要的正斜杠
  • 在 tabLoc 帖子链接上添加 tabindex=-1
  • 改进移动页脚导航的可访问性
  • 为通知按钮设置标题
  • 多项 schema.org 改进
  • 标题应尝试在名称之前回退到标签
  • 处理缩略图生成中已删除的主题
  • 在编辑时于徽章预览中显示分类名称
  • 防止渲染空的 topic-category
  • 停止错误地清除标题
  • 打开时默认为空白标题
  • 解决某些区域设置中“下周一”书签功能无法正常工作的问题
  • CurrentUser 现在必须传递给 resolveTimezone 以解决用户卡片本地时间问题
  • ESC 键关闭空草稿主题 composer
  • 书签模态输入
  • 支持具有根管理员文件夹的插件中转译 js
  • 对表格 UI 进行一些调整
  • 不为机器人用户触发 user_updated 事件
  • 移除已弃用的 URI.escape
  • 不允许书签管理器使用 null 选项
  • 迁移以设置 bookmarks 表中的 delete_when_reminder_sent 列不为 NULL
  • 错误的 CSS 类
  • 括号错误,导致表达式始终为真
  • preload-store 已被移除
  • 改进 sk 在模态框内的移动端定位
  • 为私信主题显示书签按钮
  • 改进主题时间线计算逻辑
  • 更正私信的编辑通知用户名
  • 在区域设置回退中使用 default_locale 导致问题
  • 使 can_invite_to_forum 能够抵御插件干扰
  • 在本地时间中显示投票的结束日期
  • preload-store 已被移动
  • HTML 预览中的范围结束日期不正确
  • 更改用户摘要邮件总未读通知计算
  • discobot 未使用我们的自定义头像创建
  • 引用时保留代码块
  • 不稳定的测试。由于 CSS 过渡,透明度可能尚未为 0
  • 修复带有较大按钮的按钮换行问题
  • 避免在图片 URL 数据库迁移中使用临时表
  • 解决 Schema.org 验证问题
  • 应用 450px 屏幕宽度的 sameWidth
  • 如果时间相同,则在书签编辑时预选“稍后今天”
  • PostgreSQL 回退因 Rails 掩盖异常而损坏
  • 改进 Outlook 2016 上的摘要邮件样式
  • 恢复使用观察者以支持加载更多通知

用户体验变更

  • 移除实时主题预览,改为刷新
  • 个人资料链接标题使用“用户名”而非“username”
  • 为用户个人资料链接添加标题
  • 更一致的移动横幅/警报样式,CSS 清理
  • 在移动端下拉菜单中将 editFirstPost 移至可标记私信中
  • 从私信书签和分享按钮中剥离文本
  • 将“编辑消息”重命名为“编辑”
  • 从分类徽章文本中移除粗体
  • 改进主题通知按钮的加载行为
  • 更改主题通知级别时添加视觉反馈
  • 从通知按钮中移除箭头
  • 允许安全媒体 URL 在短时间内被缓存
  • 仅在主题页脚按钮下拉选择框中显示箭头
  • 允许 dropdown-select-box 显示箭头
  • 在可用时获取更高分辨率的 YouTube 缩略图
  • 编辑分类时聚焦分类名称
  • 点击复制按钮后添加复制的文本
  • 创建新主题时更好的 composer-action 图标
  • 如果主题回复数量受限,则在 TL3 报告中添加符号
  • 不要将小型 onebox 图片用作帖子/主题图片
  • 限制 iOS 模态键盘更改仅限于 composer
  • 在编辑帖子时引入 composer-actions
  • 不要禁用“创建账户”按钮,并为必填字段显示错误消息
  • 修复 Crazy in Love 徽章描述中的硬编码值
  • 改进站点设置验证消息的显示
  • 从 del 和 ins 元素中移除下划线
  • 防止时间线与主题页脚按钮重叠
  • 改进横幅和警报关闭按钮的对齐和一致性
  • 修复 iOS 键盘可见时的模态定位
  • 调整管理菜单以适应短(水平)视口
  • 移除 Reddit onebox 描述的顶部填充
  • 移除粗体以淡化已访问主题上的分类名称
  • 修复用户活动页面上的时间对齐
  • 添加前缀属性,使 Firefox 也能获得代码中的 4 空格制表符
  • 尝试更好地利用可用空间与 sk
  • 书签移除微调
  • 改进第二因素 UI

性能

  • 避免在 loadScript 中遍历 DOM
  • 从书签中移除外键
  • 确保在上下文中运行完整 GC
  • 解构 topic_reply_count
  • 避免创建主题链接时的竞态条件
  • 避免执行相同的查询两次
  • 获取机器人用户草稿序列时避免访问数据库
  • 更改表时减少独占锁定
  • 将头像获取移动到 discobot 证书的 hijack 中
33 个赞