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.5release_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: trueapp/models/journal.rbJournal 通过多态关联挂接到任意可记录对象工作包、会议等代码注释明确指出Journal#notes即评论Inline attachments for Journal#notes aka comments并声明了add_work_package_comments、edit_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页面的部分翻译文本存在错误甚至冒犯性内容abusive10.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.510.6.5 属于补丁/小版本patch/minor release官方升级路径对运维非常友好。完整升级指南见 docs/installation-and-operations/operation/upgrading/README.md。注意事项升级前必读升级指南开篇明确提醒两点先备份升级尤其是跨多个版本升级前务必按照 备份指南 完成数据备份版本跨度OpenProject 支持从一个主版本含其 minor 与 patch直接迁移到下一个主版本跨两个主版本则需先升到中间版本可使用官方提供的分步数据库迁移脚本完成。方式一Debian / Ubuntuaptsudo apt-get update sudo apt-get install --only-upgrade openproject sudo openproject configure方式二CentOS / RHELyumsudo yum update sudo yum install openproject sudo openproject configure方式三SuSEzyppersudo zypper refresh openproject sudo zypper update openproject sudo openproject configure方式四Docker Composedocker-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),仅供参考