Skip to content

fix(subscribeassistantenhanced): 统一配置页滚动条并恢复移动端修改计数 - #364

Merged
InfinityPacer merged 1 commit into
mainfrom
codex/fix/subscribeassistant-config-scrollbar-dirty-count
Aug 2, 2026
Merged

fix(subscribeassistantenhanced): 统一配置页滚动条并恢复移动端修改计数#364
InfinityPacer merged 1 commit into
mainfrom
codex/fix/subscribeassistant-config-scrollbar-dirty-count

Conversation

@InfinityPacer

Copy link
Copy Markdown
Owner

问题与背景

订阅助手配置页此前自行监听滚动事件并切换滚动条显隐样式,导致其视觉行为与主程序统一后的原生滚动条规则不一致。移动端配置项发生修改后,底部保存栏也只显示保存按钮,缺少待保存项数量,用户无法直接确认本次修改规模。

原因分析

  • 配置页为两个滚动容器注册了独立的 scroll 监听、空闲定时器和 WebKit/标准滚动条覆盖,覆盖了宿主提供的滚动条主题与浏览器原生行为。
  • 移动端底部保存栏已经根据 changedCount 控制显示,但没有渲染该计数对应的状态文案。

解决方案

  • 删除配置页自身的滚动监听、定时器、动态 class 和滚动条 CSS,让联邦组件直接继承主程序滚动条样式;用于 sticky header 状态的 IntersectionObserver 保持不变。
  • 在移动端保存栏恢复待保存项计数,并补齐简体中文、繁体中文和英文文案。
  • 更新组件与国际化测试,重新生成模块联邦构建产物。
  • 将插件版本同步到 0.6.12,并在插件入口、package.v2.json 和 README 中保持一致的发布说明。

影响与风险

  • 仅影响订阅助手增强版的 Vue 配置页,不修改插件业务配置、保存接口或后台任务。
  • 滚动条外观由主程序和浏览器统一管理,旧版主程序仍可使用自身已有样式,不需要配置或数据迁移。
  • 移动端计数只展示尚未保存的字段数量,不改变现有保存 payload 与保存时机。

验证

  • .githooks/pre-push
  • scripts/plugin_coverage.py --base-ref origin/main:A 档覆盖率门禁通过,订阅助手增强版 1342 passed,行覆盖率 93.47%,方法覆盖率 98.27%
  • tests/run.py -q:v1 33 passed,v2 2207 passed
  • 插件前端 yarn format:check
  • 插件前端 yarn lint
  • 插件前端 yarn typecheck
  • 插件前端 yarn test:coverage37 passed,总覆盖率 99.67%
  • 插件前端 yarn build
  • python -m json.tool package.v2.json
  • python -m compileall -q plugins.v2/subscribeassistantenhanced
  • git diff --check
  • 真实浏览器验证桌面端滚动条继承与移动端待保存计数;未保存或改变运行配置,控制台无 warning/error。

交付路径

本 PR 为 SubscribeAssistantEnhanced v0.6.12 发版 PR。合并后由 Plugin Release workflow 创建 tag、GitHub Release 和 ZIP 资产。

@InfinityPacer
InfinityPacer enabled auto-merge (squash) August 2, 2026 17:40
@InfinityPacer
InfinityPacer merged commit 30a71bc into main Aug 2, 2026
6 checks passed
@InfinityPacer
InfinityPacer deleted the codex/fix/subscribeassistant-config-scrollbar-dirty-count branch August 2, 2026 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant