news 2026/9/15 14:55:55

OpenProject 10.6.5 补丁版本发布说明:修复评论重复与俄语本地化翻译问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenProject 10.6.5 补丁版本发布说明:修复评论重复与俄语本地化翻译问题

OpenProject 10.6.5 补丁版本发布说明:修复评论重复与俄语本地化翻译问题

【免费下载链接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ⭐ Star us on GitHub项目地址: https://gitcode.com/GitHub_Trending/op/openproject

本文档对应 OpenProject 10.6.x 系列的一个补丁版本(patch release)。10.6.5 于 2020 年 7 月 21 日发布,聚焦于两项稳定性与质量修复:短时间内连续输入多条评论导致评论重复、以及俄语本地化中头像(Avatar)更改页面的不当翻译。读完本文你将了解该版本修复的具体问题、背后的工作包评论与活动(Journal)机制、俄语本地化文件的现状,以及如何将现有安装平滑升级到该补丁版本。

版本发布概览

OpenProject 10.6.5 是 10.6 分支的第五个补丁版本,官方发布页面对应于社区站点上的 10.6.5 版本条目(community.openproject.org/versions/1446)。发布说明位于仓库的 docs/release-notes/10/10-6-5/README.md,其 front matter 记录了关键元数据:

  • release_version: 10.6.5
  • release_date: 2020-07-21

官方对该版本的建议是:包含多项 bug 修复,推荐所有用户升级到最新版本。这也符合 OpenProject 的版本迭代节奏——10.6.x 系列每个补丁版本都会累积修复,前一版 10.6.4 的发布说明(2020-06-30)同样采用了"多个 bug 修复 + 建议升级"的表述。

从当前仓库源码 lib/open_project/version.rb 可以看到,OpenProject 主线版本号已演进到MAJOR = 18,因此 10.6.5 属于有较长历史沉淀的稳定分支版本,其发布说明对理解 OpenProject 补丁版本发布机制与升级策略仍有参考价值。

修复一:5 分钟内连续输入多条评论导致评论重复(#33744)

问题现象

发布说明记载的修复条目为:

Fixed: Comments get repeated when entering several comments within 5 minutes ([#33744])

即在约 5 分钟的时间窗口内连续提交多条评论时,用户会看到评论内容被重复展示。这类问题通常与工作包(Work Package)的活动/评论提交链路有关,往往由前端重复请求、渲染聚合或并发提交场景触发。

评论与活动的底层实现:Journal 机制

在 OpenProject 中,工作包评论(comment/note)与历史变更并非直接写入工作包记录,而是以Journal(日志/活动记录)的形式持久化。仓库中的核心模型 app/models/journal.rb 定义如下:

class Journal < ApplicationRecord self.table_name = "journals" self.ignored_columns += ["activity_type"] include ::JournalChanges include ::JournalFormatter include ::Acts::Journalized::FormatHooks include Journal::Timestamps include Reactable # Inline attachments for Journal#notes aka comments acts_as_attachable view_permission: :view_work_packages, add_on_new_permission: :add_work_package_comments, add_on_persisted_permission: :edit_own_work_package_comments, delete_permission: :edit_own_work_package_comments ...

关键信息:

  • self.table_name = "journals":所有活动/评论统一落在journals表中;
  • belongs_to :journable, polymorphic: true(app/models/journal.rb):Journal 通过多态关联挂接到任意可记录对象(工作包、会议等);
  • 代码注释明确指出Journal#notes即评论("Inline attachments for Journal#notes aka comments"),并声明了add_work_package_commentsedit_own_work_package_comments等评论相关权限。

因此,用户在活动标签页看到的一条条"评论"本质上是按时间排序的 Journal 记录。当一次操作在短时间内产生多条内容相同的 Journal 记录时,活动时间线就会表现为"评论重复"。从当前代码结构看,可以推断 10.6.5 的修复目标正是消除这类在 5 分钟窗口内出现的重复记录生成或重复渲染路径,使每条评论只出现一次。

活动标签页的渲染链路

工作包详情页的"活动"(Activities)标签页负责展示这些 Journal 记录。仓库中该标签页的渲染逻辑位于 app/controllers/concerns/work_packages/activities_tab/component_streaming.rb,它通过 OpTurbo 流式更新活动标签页,其中:

  • replace_whole_tab/update_index_component负责整页或列表的刷新;
  • update_item_component按单个 journal 生成WorkPackages::ActivitiesTab::Journals::ItemComponent,用于增量更新单条活动条目。

这类"按单条 journal 增量渲染"的机制,正是需要保证每条评论对应唯一一条 Journal 记录的原因——若同一评论生成了多条 journal 或同一 journal 被多次渲染,活动时间线就会出现重复项。

修复二:俄语本地化头像更改页面的不当翻译(#33888)

问题现象

发布说明记载的第二项修复为:

Fixed: Wrong (abusive) translations on avatar change page in russian localization. ([#33888])

即俄语(Russian)本地化中,头像更改(avatar change)页面的部分翻译文本存在错误甚至冒犯性内容("abusive"),10.6.5 对相关翻译词条进行了更正。

俄语本地化文件的现状

OpenProject 的本地化采用标准 Rails i18n 体系,翻译文件按语言存放在 config/locales 下。俄语翻译由 Crowdin 社区协同维护,文件为 config/locales/crowdin/ru.yml,其中与头像相关的词条包括:

avatar: 'Аватар' ... label_my_avatar: Мой аватар

从当前文件内容看,avatar(Аватар,即"头像")与"我的头像"(Мой аватар)等词条均为正常翻译。可以推断 10.6.5 针对该页面此前错误的翻译词条进行了校正,且后续社区本地化过程中相关词条保持正常。这起案例也体现了 OpenProject 社区驱动的本地化工作流价值:翻译质量问题通过社区成员报告(issue)进入发布修复清单。

如何升级到 10.6.5

10.6.5 属于补丁/小版本(patch/minor release),官方升级路径对运维非常友好。完整升级指南见 docs/installation-and-operations/operation/upgrading/README.md。

注意事项(升级前必读)

升级指南开篇明确提醒两点:

  1. 先备份:升级(尤其是跨多个版本升级)前务必按照 备份指南 完成数据备份;
  2. 版本跨度:OpenProject 支持从一个主版本(含其 minor 与 patch)直接迁移到下一个主版本;跨两个主版本则需先升到中间版本,可使用官方提供的分步数据库迁移脚本完成。

方式一:Debian / Ubuntu(apt)

sudo apt-get update sudo apt-get install --only-upgrade openproject sudo openproject configure

方式二:CentOS / RHEL(yum)

sudo yum update sudo yum install openproject sudo openproject configure

方式三:SuSE(zypper)

sudo zypper refresh openproject sudo zypper update openproject sudo openproject configure

方式四:Docker Compose

docker-compose pull --ignore-buildable docker-compose up -d

关键:升级后务必执行openproject configure

无论采用哪种包管理方式,升级完成后都必须运行openproject configure。升级指南明确指出:

It is important that you run theopenproject configurecommand aftereveryupgrade of OpenProject, as this will ensure your installation is being updated and necessary database migrations are being performed.

该命令会以向导形式展示新增配置步骤;若想重走完整配置流程,可安全地执行openproject reconfigure——向导仍会保留之前已填写的值,只需按回车跳过无需变更的步骤即可(密码字段即使显示为空,跳过也等于沿用原值)。

社区贡献

10.6.5 发布说明的"Contributions"部分对参与报告与定位问题的社区成员表达了感谢,特别鸣谢了:

  • Christoph Arnold
  • Антон Сміян(Anton Smiyan)

这也体现了 OpenProject 的社区驱动开发模式——bug 由社区成员在 社区实例 上以工作包(Work Package)形式提交(如 #33744、#33888),经官方确认后进入后续补丁版本修复。

延伸阅读

  • 同系列发布说明:OpenProject 10.6.4 及其他 10.x 版本发布说明
  • 升级与运维完整指南:Upgrading your OpenProject installation
  • 备份指南:docs/installation-and-operations/operation/backing-up
  • 评论/活动底层模型:app/models/journal.rb
  • 活动标签页渲染实现:app/controllers/concerns/work_packages/activities_tab/component_streaming.rb
  • 俄语本地化文件:config/locales/crowdin/ru.yml

【免费下载链接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ⭐ Star us on GitHub项目地址: https://gitcode.com/GitHub_Trending/op/openproject

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 14:55:08

博客网站需要的功能全解析:3个实战案例教你避开流量陷阱

博客网站需要的功能全解析:3个实战案例教你避开流量陷阱 网站做好了没人访问,这大概是很多老板最头疼的事。花了钱,花了时间,甚至亲自盯进度,结果上线后后台数据一片惨淡。别急着怀疑自己内容写得烂,大概率是功能没对齐。我做过上百个项目,见过太多老板把精力全砸在页面设计上,却忽略了那些真正能留住用户、被搜索…

作者头像 李华
网站建设 2026/9/15 14:54:48

从35个Python源码文件拆解自动化测试框架设计

简介&#xff1a;这是一份面向自动化测试初学者与测试开发工程师的Python自动化测试框架设计源码包&#xff0c;围绕测试用例组织、流程控制、UI操作与数据管理搭建出清晰可扩展的项目骨架&#xff0c;适合用于学习或直接裁剪落地。压缩包共57个文件&#xff0c;包含36个Python…

作者头像 李华
网站建设 2026/9/15 14:54:46

PHP MVC学生管理系统源码解析:从统一入口到PDO预处理

简介&#xff1a;这是一个基于PHP的MVC架构学生信息查询管理系统完整源码包&#xff0c;面向PHP学习者、Web开发新手以及需要快速实现学生信息管理功能的技术人员。资源共438个文件&#xff0c;以278个PHP源文件为核心&#xff0c;并附有CSS样式、JavaScript脚本、SQL数据库脚本…

作者头像 李华
网站建设 2026/9/15 14:52:30

腾讯云服务器搭建个人网站全流程:从选型到备案上线

今天想和你聊聊腾讯云服务器搭建个人网站这件事。这几年我帮朋友和自己前前后后折腾过不下十台云服务器&#xff0c;从最早的纯命令行部署到后来用可视化面板&#xff0c;踩过的坑、走过的弯路都相当有数。如果你手里已经有一台腾讯云服务器&#xff0c;或者正在纠结要不要买一…

作者头像 李华