尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

OpenProject 7.0.1 补丁发布说明解读:15 项缺陷修复与对应功能模块源码解析

OpenProject 7.0.1 补丁发布说明解读:15 项缺陷修复与对应功能模块源码解析 OpenProject 7.0.1 补丁发布说明解读15 项缺陷修复与对应功能模块源码解析【免费下载链接】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 官方 7.0.1 补丁发布说明docs/release-notes/7/7-0-1/README.md为骨架逐项梳理该版本修复的 15 个缺陷并对照当前仓库源码定位论坛、Zen 模式、工作包复制、查询/过滤器、自定义字段、移动端交互等模块的实现帮助读者理解每个修复背后的功能点以及升级后应重点回归验证的区域。版本概览与升级建议OpenProject 7.0.1 是一个patch补丁版本于2017-06-08发布不包含新功能只修复缺陷。官方对该版本的态度是建议所有安装实例升级原文This patch release contains several bug fixes. We recommend to update your OpenProject installation to this version.理由是其中涉及工作包复制、查询保存、自定义字段赋值等日常高频操作路径上的问题。从版本号机制看OpenProject 的版本由MAJOR.MINOR.PATCH三段构成。当前仓库的 lib/open_project/version.rb 中仍保留着这套三段式结构当前主仓库版本为 18.0.07.0.1 属于历史发布线并通过to_semver方法拼接标准语义化版本号revision则取自 git HEAD 的前 9 位提交哈希。这意味着 7.0.1 这类补丁版本与当前主线的版本差异可以从MAJOR/MINOR/PATCH三个字段的演进中直观看出补丁版本只修正PATCH位不引入破坏性变更因此可以放心原地升级。15 项缺陷修复全览官方发布说明以工作项Work Package编号为索引记录了全部 15 项修复按功能模块可归类如下工作项修复内容所属模块#25463论坛页面导航未显示论坛Forums#25461Zen 模式在 iOS 上引发 JS 错误工作包全屏视图#25460移动端下拉菜单点击子菜单项时自动关闭移动端导航#25458复制工作包时报cannot write read-only attributesposition 属性工作包复制#25455子项目过滤器激活时工作包内联创建失败工作包内联创建#25454通过下拉切换查询时更早显示加载指示器查询切换#25447会议Meeting与预算Budget创建按钮文本对齐错误UI 细节#25446成本Budget过滤器未应用到已保存查询查询过滤器#25442存在项目用户自定义字段时无法访问项目设置项目设置/自定义字段#25439列表类型的版本自定义字段无法赋值版本自定义字段#25438保留默认列集时左右移动列不保存查询列配置#25433移动端创建按钮下拉菜单打开方向错误移动端 UI#25430内联编辑文本框未占满全部可用宽度内联编辑#25420未先停用总和则无法在第二个查询上显示总和查询总和Sums#25378全屏视图中主题与返回按钮未对齐全屏视图布局逐项解读核心修复与源码对照1. 论坛页面导航#25463该修复解决了论坛列表中分页导航不显示的问题。论坛页面在当前仓库中由 app/views/forums/show.html.erb 渲染视图顶部通过Primer::OpenProject::PageHeader构建页头与面包屑项目 → 论坛列表 → 当前论坛页头与内容区之间依赖标准的分页组件输出。7.0.1 修复的是分页渲染条件判断确保帖子数量超过单页阈值时导航条始终可见。升级后建议在帖子数量较多的论坛中回归验证分页导航。2. Zen 模式 iOS JS 错误#25461Zen 模式是工作包详情页的沉浸式全屏专注视图。当前实现位于 frontend/src/app/features/work-packages/components/wp-buttons/zen-mode-toggle-button/zen-mode-toggle-button.component.ts其核心逻辑点击按钮时在document.body上添加/移除zen-modeCSS 类同时通过screenfull库请求/退出浏览器全屏构造函数中注册screenfull.onchange监听一旦用户手动退出全屏如 iOS Safari 的手势操作立即调用deactivateZenMode()同步状态。7.0.1 修复的正是 iOS 上全屏 API 行为差异screenfull.isEnabled判断与onchange触发时机导致的 JS 异常保证在 iOS 设备上进入/退出 Zen 模式不会抛错且状态与全屏状态保持一致。这也是deactivateZenMode中注释所描述的退出全屏事件可能被多次触发的防御性处理来源。3. 复制工作包时的只读属性错误#25458错误信息 cannot write read-only attributes 出现在复制工作包时对position属性赋值。工作包复制流程由 app/services/work_packages/copy_service.rb 中的WorkPackages::CopyService驱动它通过params.except(:send_notifications, :copy_attachments, :copy_share_members)过滤控制类参数后将属性覆盖集传给新建工作包。position这类由系统维护的排序字段在目标对象上属只读复制时若不加排除会导致写入异常。7.0.1 在复制逻辑中对只读属性做了正确处理确保复制任务、子任务等场景不再中断。4. 查询相关修复#25446、#25454、#25420、#25438这一组修复都围绕查询Query模块是本次补丁中修复密度最高的区域#25446成本Budget过滤器未应用到已保存查询过滤器参数在查询重新加载时未正确回填导致保存的预算过滤条件丢失。升级后应重点回归保存带预算过滤的查询 → 重新打开 → 结果仍按预算过滤这条链路。#25454切换查询时更早显示加载指示器属于前端体验优化将加载态loading indicator的触发时机提前避免下拉切换查询时的白屏等待感。#25420第二个查询无法显示总和Sums总和列的启用状态在多个查询之间未正确同步必须先停用再启用才能生效。7.0.1 修正了总和开关的状态管理。#25438保留默认列集时左右移动列不保存列顺序调整与恢复默认列集两个操作叠加时移动结果未持久化。该修复涉及列配置的状态合并逻辑。5. 自定义字段相关修复#25442、#25439#25442存在项目用户自定义字段时无法访问项目设置项目设置页面在渲染用户类项目自定义字段User custom field时抛出异常导致整个设置页不可访问属于权限校验与字段渲染的兼容性问题。#25439列表类型的版本自定义字段无法赋值版本Version上挂载 List 类型自定义字段时赋值被拒绝修复后该字段类型可正常写入与回显。这两项修复提示在升级 7.0.1 后建议对启用了自定义字段尤其是用户类型与列表类型的项目执行一次打开项目设置 → 编辑版本字段的冒烟测试。6. 移动端与 UI 细节#25460、#25433、#25447、#25430、#25378#25460移动端下拉菜单点击子菜单项时关闭修复了事件冒泡导致父菜单误关闭的问题#25433移动端创建按钮下拉菜单打开方向错误根据屏幕剩余空间调整弹层方向#25447会议与预算创建按钮文本对齐错误纯样式修复#25430内联编辑文本框未占满可用宽度内联编辑输入框的宽度样式修正#25378全屏视图中主题与返回按钮未对齐全屏工作包视图的头部布局对齐修复。工作包内联创建与子项目过滤器#25455当查询启用了子项目过滤器时在工作包列表底部进行内联创建inline-create会失败。内联创建依赖当前查询上下文推导新工作包所属项目子项目过滤器改变了项目解析逻辑导致新行无法正确归属。7.0.1 修复了过滤器与内联创建默认值的协同关系。升级后可复现验证设置子项目过滤条件 → 在列表底部内联新建工作包 → 确认归属项目正确。社区贡献与后续参考官方发布说明特别致谢了社区成员Mike Lewis与Harsha BS对缺陷的报告与修复贡献体现了 OpenProject 补丁版本社区协同的典型流程。如需查阅该版本的完整变更清单可参见仓库内的 docs/release-notes 目录包含 7.0.1 在内的各版本发布说明或浏览 docs/release-notes/7/7-0-1/README.md 原文。升级安装相关操作可参考 docs/installation-and-operations 目录下的部署与运维文档。升级回归检查清单综合以上分析从 7.0 升级到 7.0.1 后建议按以下清单做回归验证论坛帖子分页导航是否正常显示iOS 设备上进入/退出 Zen 模式是否无 JS 报错复制工作包含子任务是否成功无只读属性报错启用子项目过滤器时列表底部内联创建工作包是否正常保存带预算/成本过滤器的查询后重新打开过滤条件是否仍生效对 List 类型的版本自定义字段赋值是否成功查询列左右移动后重新打开是否保持新顺序在第二个查询上启用总和列是否立即生效移动端菜单与创建按钮下拉方向是否符合预期。以上清单覆盖了本次 15 项修复涉及的全部核心模块可作为升级验收的最小测试集。【免费下载链接】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),仅供参考
返回列表