Skip to content

v1.9.1

紧急修复版:修复底栏导航按钮点击无响应(自 v1.9.0 起)。根因:ADR-238 桥接重构后,menus 子系统加载锚点丢失,叠加 frontend/package.jsonsideEffects: false 声明导致打包器移除「绑定未被使用」的 import,nav-actions.ts 模块永不加载——按钮 click handler 与 ui-action-bridge 注册(navAction / toggleOverlayMode / handleAndroidBack)全部丢失。

修复

  • 底栏按钮无响应(P0)library-setup.ts 顶层显式调用 initNavActions(),恢复 menus 子系统加载锚点(core/main.ts side-effect import → library-setupnav-actions
  • tree-shaking 陷阱根治:移除 frontend/package.json"sideEffects": false——项目大量模块级副作用注册(registerSceneAction / registerUiAction),该声明会导致「仅导入不使用」的模块被 Rollup / esbuild 摇掉
  • 按钮接线健壮性installNavBindings 增加按钮元素 null 防御——个别按钮缺失时跳过接线而非抛异常中断整个模块求值(顺带修复测试环境 11 个文件 import 崩溃)

影响

  • 构建产物主包 +153 KB(gzip +43 KB),因 menus 子系统(nav-actions 及其依赖链)重新进入 bundle
  • 全量测试 258 文件 / 4363 用例通过(修复前 nav-actions 从未加载,部分用例静默缺失)

工程

  • 两轮排查定位:第一轮(main.ts side-effect import)在 sideEffects: false 下同样被摇掉;第二轮以 ui-action-bridge 未注册告警为线索,dev server 实测确认 esbuild / Rollup 均移除未使用 import