2.8.0.beta5:PM 改进、未见视图、允许按信任级别上传头像等

2.8.0.beta5 中的新功能

个人/群组消息改进

我们为消息界面添加了许多改进。

  • 轻松切换个人和群组收件箱。
  • 新增“所有收件箱”视图,可同时查看个人收件箱以及用户有权访问的任何群组收件箱中的消息。
  • 新增和未读消息列表——轻松查看您尚未查看的新消息,即使其他群组成员已经阅读并归档了这些消息。
  • 支持批量忽略“新增”或“未读”消息

允许管理员删除用户的所有帖子

默认情况下,Discourse 仅允许在用户帖子少于 15 条时删除其“所有帖子”。这有助于确保拥有大量帖子的用户不会被删除,而工作人员却不知晓帖子数量。管理员始终可以修改站点设置,以删除拥有更多帖子的用户。为避免管理员频繁更改设置,现在管理员不受此限制。系统会显示警告,允许管理员删除所有帖子。版主仍受此限制影响。

改善“空白页面综合症”

新用户以及没有帖子、点赞、通知等的用户,经常会在 Discourse 中进入“空白”页面。Discourse 现在不再显示空白页面,而是适时显示信息,帮助用户了解最终将显示的内容。此类内容已添加到通知页面、书签页面、消息页面以及用户菜单中。

新增“未查看”视图

Discourse 现在支持“未查看”视图,与“最新”、“新增”、“未读”、“热门”等视图并列。“未查看”会显示用户未屏蔽且包含未读帖子的所有主题。这包括用户从未阅读过的新主题,以及用户部分阅读过的主题。

用户可以通过 /unseen 访问“未查看”视图,管理员也可以通过 top menu 站点设置将“未查看”添加到顶部菜单。

在用户菜单中显示草稿数量

用户拥有的草稿数量现在会显示在用户菜单中。草稿数量也会显示在用户活动页面上。

按信任等级允许上传头像

此前,管理员可以禁用对自定义上传用户头像的支持,但这会影响站点上的所有用户。allow uploaded avatars 站点设置现在支持信任等级,使站点能够阻止低信任等级用户上传头像,同时允许高信任等级用户上传。

无障碍功能

为屏幕阅读器添加了“跳至主要内容”链接。

26 个赞

还有更多!

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

安全更新

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

  • 转义猫名称
  • 用户的主题阅读状态泄露给未授权的客户端。
  • 清理 d-popover 属性
  • EmailChangeRequest 被销毁时,销毁 EmailToken
  • 删除主题时,不要泄露之前悄悄帖子的用户。
  • 不要在私信中透露悄悄发帖者。

插件改进

众多插件

  • 翻译
    • 我们已更新了众多插件的翻译

Assign(分配)

新功能

  • 分配给群组
  • 改善空白页面综合征
  • 改进随机分配自动化

错误修复

  • 更正群组图标和通知消息
  • 确保 move_to_inbox 在取消分配时不会引发错误
  • 修复损坏的建议
  • 悄悄操作显示为空白
  • 使下拉菜单使用绝对定位
  • 在用户选择时明确分配
  • 如果用户无权访问,则隐藏“未分配”

Intercom

错误修复

  • Discourse.User 已弃用

Voting(投票)

用户体验变更

  • 添加快速搜索建议

Patreon

错误修复

  • 弃用装饰器的使用

Calendar(日历)

错误修复

  • 过期/未过期事件逻辑
  • EventFinder 中的 expired 选项无法正常工作
  • Firefox 不允许在输入框上使用伪类
  • Chrome 中滑块输入需要 z-index

Data Explorer(数据浏览器)

新功能

  • 移除“导入查询”模态框

错误修复

  • 返回按钮

Solved(已解决)

新功能

  • 在用户卡片上显示已接受答案的数量
  • 显示第二个发布已接受答案的用户

错误修复

  • 阻止 register_topic_list_preload_user_ids 破坏旧版本
  • 正确序列化 accepted_answers
  • 为旧版 Discourse 在提交中固定插件

用户体验变更

  • 如果帖子是悄悄帖子,则不显示编辑器教育消息

Encrypt(加密)

新功能

  • 解密书签标题

错误修复

  • 匿名用户无法加密私信
  • 始终解密主题标题
  • 搜索缓存可能仅包含首帖
  • 仅包含用户可读的结果
  • 不要重复下载和解密同一文件
  • 消除逻辑或赋值
  • 确保 post_search_data 存在
  • 如果结果已存在,则不添加
  • 如果缺少身份,则显示激活模态框
  • 首先从通用元素解密标题
  • 在编辑器预览中显示图片上传
  • 在窗口名称中显示解密后的主题标题

用户体验变更

  • 模仿复制按钮行为

性能

  • 获取所有提及、标签和上传

SAML

新功能

  • 根据响应中的用户属性更新用户区域设置。
  • 根据 saml_user_field_statements 环境变量同步用户字段。

RSS Polling(RSS 轮询)

新功能

  • 允许为每个源设置 Discourse 分类
  • 处理 YouTube RSS 源
  • 允许根据项目的分类属性过滤源

Theme Creator(主题创建器)

错误修复

  • 确保即使用户缺失也能序列化主题
  • 不再使用 Discourse.User

Zoom

错误修复

  • 调用 ContentSecurityPolicy::Extension.path_specific_extension 的父实现

Reactions(反应)

错误修复

  • 不要在“我的反应”中返回已删除的帖子

Saved Searches(保存的搜索)

错误修复

  • 允许空的保存搜索集
  • 不依赖 Discourse 全局变量

OpenID Connect

错误修复

  • 确保 nonce 不匹配能正确导致认证失败

Category Experts(分类专家)

错误修复

  • 插件禁用时不运行事件钩子

LTI

新功能

  • 允许 LTI 登录的“重连”

Antivirus(杀毒软件)

新功能

  • 将健康指标导出到 Prometheus。

其他功能和修复

点击展开

新功能

  • 更新现有用户默认通知级别的选项。
  • 为兑换的邀请创建通知
  • 在编辑器中使用 Uppy 直接进行 S3 分片上传
  • 允许添加专为群组设计的小操作代码
  • pinned_at 列对置顶主题进行排序
  • 通过 ENV 对例外情况进行速率限制
  • 在编辑器中首次使用 Uppy
  • 允许在邀请接受时链接现有账户
  • 允许在外部认证注册期间链接现有账户
  • 恢复禁止 TL0 用户在标题中放置 URL 的限制
  • 禁止 TL-0 用户在标题中放置 URL
  • 发送 user-card:show 事件
  • 将备份日志作为上传附加
  • 将帖子编辑计数添加到用户活动
  • Onebox 可根据 content_type 匹配引擎
  • 使用 Uppy 和存根直接进行 S3 上传的初步实现

错误修复

  • 正确使用 dir-span 的命名参数
  • 帖子流中的“跳转到回复”按钮无法工作
  • 确保在 db:migrate 期间不重置 ID 序列
  • 更新 PresenceChannel#present 以适用于 Redis 6.0
  • 允许 PresenceChannel 在 Redis 6.0 上工作
  • 正确将异常填充应用于个人资料下拉菜单
  • 在调用 create_multipart 时捕获 S3 元数据
  • 正确显示 GitHub 代码 Onebox
  • 不要向邮件列表模式订阅者发送私信邮件
  • Topic reset_new 未限定作用域导致巨大查询
  • 在 S3Helper 中不要为 temp/ S3 键添加 s3_bucket_folder_path 前缀
  • LogsNotice 服务从未从 mbus 取消订阅
  • 移除 GitHub Onebox 中的间距
  • 为主题列表用户查找添加插件事件
  • 使 user-card-metadata 插件出口无标签
  • 对输出的主题样式表进行排序
  • 重构用于直接 S3 上传的 temp/ 文件夹
  • 空状态消息在用户书签阶段的错误时刻出现
  • 不允许 LIMIT 为负值
  • 转发到群组收件箱时使用原始发件人地址
  • Safari 中 SK3 样式的小问题
  • 如果搜索词在将帖子移动到不同主题时发生变化,则丢弃旧的搜索结果
  • Sk3 向导回归问题
  • 如果下拉菜单已折叠,则搜索后不聚焦
  • 当打开的冒号 : 被移除时关闭表情符号自动补全
  • 为 composer-upload-uppy 正确重置 preProcessorStatus 状态
  • 使用 file.id 而不是 file.name 进行媒体优化解析器
  • 添加调试并修复 media-optimization-worker 问题
  • 编辑帖子时始终重新加载帖子的原始内容
  • Pick-files-button 组件
  • 使 themes:update 适用于多站点
  • 已弃用的方法仍应保持相同行为。
  • 撤销管理员或版主身份无需刷新即可删除/匿名化/合并用户
  • 不要在站点文本自定义中显示默认区域设置选项
  • 模态页脚中的书签删除按钮对齐
  • 在快速搜索建议中包含标签
  • 为“未查看”视图标签添加提示字符串
  • 从所有翻译语言中移除标记
  • 当 SSO nonce 验证失败时记录正确的错误消息
  • 使站点任务适用于重复的上传
  • 未读群组私信应使用 GroupUser#first_unread_pm_at
  • 如果分类 slug 不存在,则通过 ID 搜索
  • 将书签模态按钮移入模态页脚
  • 使用 keyUp,因为小部件不处理冒泡
  • 不要在界面下拉菜单中显示配色方案 ID
  • 允许上下文菜单中的粘贴操作生效
  • 将 fileName 传递给媒体优化的错误处理程序
  • 在编辑器中正确清理上传事件
  • 取消和删除时,编辑器“处理/上传”状态未清除
  • 使用 Uppy 时,粘贴事件未从编辑器传播
  • 消息上的按钮对齐
  • 查询队列中的项目以计算用户的标记帖子数量。
  • 使用 present 反解哈希部分以处理 URL 编码字符
  • TopicTrackingState.report 未包含工作人员的未读帖子。
  • 旧浏览器上的通知菜单损坏
  • 分类群组版主可以读取标记帖子的 meta_topics
  • 检查 TL1 欢迎消息是否启用了 BasicBadge
  • 修复右对齐的 RTL 样式
  • 防止格式错误的消息引发异常
  • 不要在用户头像上显示私人群组徽章
  • 在群组预览中重用 avatar-flair 组件
  • 跨文件系统边界时的 Errno::EXDEV 错误
  • 防止 s 快捷键生成错误
  • 如果无法运行 yarn ember build,不要吞掉错误
  • 如果徽章不可见,则不显示徽章背景色
  • 更新 simplecast onebox 的 iframe URL
  • 更新 simplecast onebox 的 oEmbed URL
  • 群组收件箱的新过滤器未考虑已忽略的主题。
  • 移除对忽略未读和新消息的限制。
  • 恢复标签消息过滤器的服务器端路由。
  • 群组显示的默认通知级别错误
  • 移除 Nokogumbo 引用
  • 序列增加时更新草稿计数
  • 使 rake site:export_structure 导出上传内容
  • 在群组消息页面使用搜索消息上下文
  • 使用 update_attribute 方法触发回调。
  • 移除“上方回复行”标记
  • 点击编辑通知时始终显示历史模态框
  • 内联具有重复名称的安全图片
  • 调整投票按钮
  • 如果存在,则使用回复地址处理传入邮件
  • 上传占位符缺少换行符
  • 使搜索适用于子分类下的子分类
  • 不要在用户头像上显示私人群组徽章
  • 媒体优化期间更好的编辑器占位符处理
  • 验证自定义下拉用户字段的值 - 下拉菜单和多选框
  • 上传重映射在备份恢复期间可能失败
  • 如果无效,则不提示保存草稿
  • intercept-click 中的拼写错误
  • 创建帖子后更新草稿计数
  • 将 users-directory-controls 出口添加到移动模板
  • 允许在 bootstrap 中存在认证数据
  • 避免在主题标签未更改时创建帖子修订版
  • 用户名包含句点时,私信标签路由应能工作
  • 减少 to_tsvector 的输入以符合限制
  • 当 auth_overrides_name 启用时,用户可以更改名称。
  • 移除 uppy-upload 的额外设置检查
  • 更改帖子所有者未更新回复的 reply_to_user_id
  • 不要向不存在的用户授予分享徽章
  • 在帖子图片的 schema 标记中使用正确的 URL。
  • SVG 路径为 nil 时不引发异常
  • 取消订阅时显示“未分类”
  • 当 git sha 更改时清除 Site#categories 缓存。
  • 不要在周日显示日期选择器中的“本周六”选项
  • 不要在周日显示日期选择器中的“本周稍后”选项
  • 对 TopicQuery 进行更好且更安全的时段验证
  • 为所有用户显示私信上的批量按钮
  • 如果窗口变为活动状态则进行长轮询

用户体验变更

  • 用逗号分隔公共自定义字段列表
  • Select-kit 更新对齐修复
  • 小型桌面窗口的更好登录/注册样式
  • 使用现有的 guardian 方法检查可发消息的群组。
  • 在嵌入评论视图中显示正确的回复计数。
  • 改善用户消息页面的空白页面综合征
  • 向向导添加样式步骤
  • 更新“获取房间”编辑器消息
  • 不要在悄悄帖子上显示选中的编辑器教育消息
  • 为用户过滤器输入添加标题
  • 支持深色模式的 README 徽标 SVG
  • 为分享输入添加边距
  • 为特色主题项目添加 data-topic-id
  • 修复普通用户的移动私信导航
  • 仅对私人成员可见性显示徽章帮助文本
  • 仅在确实受限时才指示受限的历史修订版
  • 更新成员可见性帮助文本以包含徽章信息
  • 修复侧边栏设置边框和活动样式
  • 私信标签路由的 title 属性缺少翻译。
  • 如果用户无法执行操作,则禁用“排队审查”按钮。
  • 为有后续屏幕的操作添加省略号
  • 确保外部登录图标在悬停时可见
  • 用户体验修复
  • 为管理员用户列添加带完整日期的悬停标题
  • 历史控件应使用 nav-pill 样式
  • 当群组成员搜索无结果时改进复制文本
  • 在主导主题消息中使用分享模态框
  • 用户书签页面样式调整
  • 更新注册表单中只读值的样式
  • 移除主题特定的 CSS,修复空格
  • 优先处理私信中的版主背景色

性能

  • 使 TopicViewSerializer#requested_group_name 更高效。
  • 移除冗余的 post_timings_summary 索引
  • 按需生成日期提示
  • 减少 local-dates 的渲染时间
17 个赞