首屏去掉三个小依赖 #125

Open
opened 2026-10-28 06:02:09 +08:00 by Claude · 2 comments
Collaborator

来自 #118 代码体检(体检第 16 条),清单第 6 单。由 Claude 直接实现,不交 Grok。

问题

只为 yyyy-MM-dd 引入 date-fns;只为退出才用的登录库客户端;只为分享才用的报告转换在外壳里,所有页面首屏都带;page.tsx 有一个未使用的 import。估约 27 KB gzip。

改法

日期格式化用现有工具;退出与分享时再加载。

验收标准

首屏再 −20 KB 左右;退出登录、转发照常;tsc/lint/npm test 不变。

规矩

  • 基于 origin/staging,独立工作树 codex/*;只改这一件事。
  • BUG 号开工时按 docs/BUG_HISTORY.md 全文件取最大号 +1。
  • 同时改 frontend/src/app/(app)/page.tsx 的单按清单顺序串行。
  • 体检报告:docs/research/code_health_audit_2026_10_28.md(staging a31b6dda3)
来自 #118 代码体检(体检第 16 条),清单第 6 单。**由 Claude 直接实现,不交 Grok。** ## 问题 只为 `yyyy-MM-dd` 引入 date-fns;只为退出才用的登录库客户端;只为分享才用的报告转换在外壳里,所有页面首屏都带;`page.tsx` 有一个未使用的 import。估约 27 KB gzip。 ## 改法 日期格式化用现有工具;退出与分享时再加载。 ## 验收标准 首屏再 −20 KB 左右;退出登录、转发照常;tsc/lint/npm test 不变。 ## 规矩 - 基于 origin/staging,独立工作树 `codex/*`;只改这一件事。 - BUG 号开工时按 `docs/BUG_HISTORY.md` 全文件取最大号 +1。 - 同时改 `frontend/src/app/(app)/page.tsx` 的单按清单顺序串行。 - 体检报告:`docs/research/code_health_audit_2026_10_28.md`(staging `a31b6dda3`)
Claude added the agent/试点agent/排队 labels 2026-10-28 06:02:12 +08:00
Author
Collaborator

已改完,推上 staging a81b3234,正在部署。

每个页面第一次打开再少下载一截(压缩后,和 #124 改完之后比):

页面 改前 改后 少了
首页 609,606 字节 580,366 字节 29,240
星盘页 587,783 558,606 29,177
档案页 552,205 523,027 29,178
报告页 550,781 521,602 29,179
星历页 555,071 531,466 23,605

单子要求首页再少约 20 KB、其他页面约 15 KB,都达到了;首页仍是静态页。

  • 出生日期:不再为了一个「年-月-日」格式带整个日期库,改用自己写的小函数。我拿新旧两版在 9 万多个日期上逐个比过(含 2 月 30 日、1900 年 2 月 29 日这类不存在的日期),结果完全一样。
  • 退出:点「退出」时才下载登录库。
  • 分享:报告转换在页面出来后空闲时下载;点「分享」时已经到手,就和以前一样直接复制。万一还没到手,用的是复制未打开对话时已有的那种写法,Safari 也认作这次点击。
  • 顺手删了首页一个没用到的引用。
  • 检查:类型检查、代码规范 0 问题;全量前端测试和 staging 逐条比,没有新失败,新增 3 条;有一条旧测试锁着那个没用的引用,已改。记为 BUG-1475。

真机清单:docs/testing/code-health-118-20261028.md 第 16~18 条(第 17 条手机 Safari 分享最好试一次)。部署好了我再说。

<!-- agent:claude review sha=a81b32349fabc174dcedd7bc2c7c4acc3f7e8b85 verdict=pass staging=a81b32349fabc174dcedd7bc2c7c4acc3f7e8b85 checklist=docs/testing/code-health-118-20261028.md --> 已改完,推上 staging `a81b3234`,正在部署。 每个页面第一次打开再少下载一截(压缩后,和 #124 改完之后比): | 页面 | 改前 | 改后 | 少了 | | --- | --- | --- | --- | | 首页 | 609,606 字节 | 580,366 字节 | 29,240 | | 星盘页 | 587,783 | 558,606 | 29,177 | | 档案页 | 552,205 | 523,027 | 29,178 | | 报告页 | 550,781 | 521,602 | 29,179 | | 星历页 | 555,071 | 531,466 | 23,605 | 单子要求首页再少约 20 KB、其他页面约 15 KB,都达到了;首页仍是静态页。 - **出生日期**:不再为了一个「年-月-日」格式带整个日期库,改用自己写的小函数。我拿新旧两版在 9 万多个日期上逐个比过(含 2 月 30 日、1900 年 2 月 29 日这类不存在的日期),结果完全一样。 - **退出**:点「退出」时才下载登录库。 - **分享**:报告转换在页面出来后空闲时下载;点「分享」时已经到手,就和以前一样直接复制。万一还没到手,用的是复制未打开对话时已有的那种写法,Safari 也认作这次点击。 - 顺手删了首页一个没用到的引用。 - 检查:类型检查、代码规范 0 问题;全量前端测试和 staging 逐条比,没有新失败,新增 3 条;有一条旧测试锁着那个没用的引用,已改。记为 BUG-1475。 真机清单:`docs/testing/code-health-118-20261028.md` 第 16~18 条(第 17 条手机 Safari 分享最好试一次)。部署好了我再说。
Claude added agent/部署中 and removed agent/排队 labels 2026-10-28 11:35:36 +08:00
Author
Collaborator

@jesse 已部署到 staging(线上版本 a81b3234,前端和排盘服务都是这一版;门禁、数据库迁移成功,登录页 200、未登录读账户 401 正常)。

请看真机清单第 16~18 条:退出、分享(手机 Safari 也试一次)、填出生日期。

没问题请关单,有问题直接在这里说。

<!-- agent:claude deployed sha=a81b32349fabc174dcedd7bc2c7c4acc3f7e8b85 --> @jesse 已部署到 staging(线上版本 `a81b3234`,前端和排盘服务都是这一版;门禁、数据库迁移成功,登录页 200、未登录读账户 401 正常)。 请看真机清单第 16~18 条:退出、分享(手机 Safari 也试一次)、填出生日期。 没问题请关单,有问题直接在这里说。
Claude added agent/待真机 and removed agent/部署中 labels 2026-10-28 11:57:22 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: root/Jyotisha#125