 wait4xandGLM-5.3
|
6e343c80dc
|
test(e2e): 书架改「开合翻转」口径,数据板断言更新为 5j 口径
- 书架(方案 C):置顶书默认展开是设计行为,点它=收起。原断言误点已展开的
置顶行断言「变开」→ 必然失败。改为断言开合状态恰好翻转一次
- 数据板断言:5j T2 有意退役 streak/贡献蛇 SVG(信息并入热力图区),原
「数据板渲染」断言过时;改为断言连续贡献统计条 + 更新时间标注 + 第三方
资产零命中(含退役的 /github-assets/)
验证: E2E_BASE=http://127.0.0.1:18925 node tests/e2e.mjs → 56/56 PASS
Spec: none (测试口径随 5j 定稿同步)
Co-authored-by: GLM-5.3
|
2026-11-04 23:03:45 +08:00 |
|
 wait4xandGLM-5.3
|
7e0167a8bb
|
feat(opensource): 热力图五方案预览 + 开源页叙述合一(5j T1 + 预设)
用户两项新需求:
①「开源页的叙述为什么要区分链接前和链接后?完全可以用 markdown 富文本统一替代」
②「热力图可以有更多的动效,而不是静态的一张图,探索相关方案供我审阅」
T1 叙述合一:
- opensource.yaml 新增 story(双语 markdown,链接内联),blurb/blurb_after 保留为
legacy(story 为空时才用)→ 旧 yaml 零回归
- site-content 访问器取 story,GithubProfile 走 renderRich 行内模式;markdown 生成的
裸 <a> 补 .pf-bio :global(a) 样式,与 .pf-link 观感一致
- 实测产物:pf-bio 内联 <a> 渲染成功、pf-link 拼接痕迹 0 处
热力图五方案预览(/heatmap-preview/,供用户选型):
- 新增 geek/HeatGrid.astro:可复用网格渲染件(371 格带 --c/--r 供错峰延迟),
沿用线上同款 ink 灰阶(accent 只做高亮,不参与数据编码)
- A 入场波纹(视口内一次性斜向漫过)、B 光标光晕(radial-gradient 跟随 + 日期读数)、
C 年度回放(滑块 scrub + 累计计数 + 自动播放)、D 连续电流(最近连续段流光 +
连续天数大数)、E 悬停周详情(整列抬起 + 周合计/最好一天面板)
- 五案均守灰阶红线、均在 prefers-reduced-motion 下静态化、零第三方依赖、无常驻 rAF
- **两处真坑**:①网格是子组件渲染,页面级 scoped 样式够不到其内部元素 → 与格内元素
相关的选择器必须 :global()(否则 A 的动画与 E 的抬列静默不生效)②「当前连续」按
今天起算会得 0(今天尚未贡献)→ 改为以最后一个有贡献的日子为终点往回数,并标注
「截至 <日期>」
另修 E2E 过时断言:书架改版为抽书阅读后,原「年份折叠组」断言必然失败,
改为「抽书行渲染 + 点击可抽开」(56/56 PASS)
验证: 构建 51 页 exit 0;content-lint 52 页 0/0/0;E2E 56/56;
Playwright 逐案实测:A 动画 hmRise 0.42s 且播完 opacity=1、B 光晕 opacity=1
并显示「日期 · 次数」、C 拖到第 10 周读数与淡出正确、D 12 格流光 hmFlow +
连续 5 天(截至 2026-10-24)、E 整列 lift matrix(…,-2);390 零横向溢出;
reduced-motion 下动画 none、光晕 display:none
Spec: 2026-11-03_blog-5j-content-refine (T1 + 热力图预览)
Co-authored-by: GLM-5.3
|
2026-11-04 20:09:10 +08:00 |
|
 wait4xandGLM-5.3
|
6061c16396
|
test(e2e): 覆盖 5i 的字体加载/评论不误报/灯箱关闭/开源页动效(46→55 项)
新增九条断言,把本包修的四类回归固化成门禁:
- 字体真加载:技术轨文章的 document.fonts 必须含 LXGW WenKai Screen 与 WF-Hwmc
(此前「class 在、计算值对、字体集里没有」是静默失效,只有这条能抓到)
- 评论不误报:进视口挂载后 #artalk-retry 必须保持 hidden,且容器打上 mounted 标记
- 灯箱关闭:点 #lb-close 后 dialog 必须变 closed(此前被右侧全高侧栏吃掉点击,
表现是点了没反应,只能靠这条兜住)
- 开源页:零第三方外链图 + 打字机存在 + 数据板有自托管资产
验证: E2E_BASE=http://127.0.0.1:18934 node tests/e2e.mjs → 55/55 PASS
Spec: 2026-11-02_blog-5i-fonts-polish
Co-authored-by: GLM-5.3
|
2026-11-03 11:50:10 +08:00 |
|
 wait4xandGLM-5.3
|
3e377adc7f
|
feat(opensource): 开源页改原生档案卡,个人叙述迁往关于页(5h T5/T6)
用户原话:开源页开篇是从 GitHub README 直接移植的,「部分内容没有居中,有些图片
也没有正常显示,可以自行进行美化,无需完全一致……有些可以直接移植到关于页面」。
病根:README 是 GitHub 专用 markdown——`<div align="center">` 靠 HTML 属性居中
(本站按普通块渲染,故"没居中"),且依赖 7 类外链图(readme-typing-svg /
shields.io / github-readme-stats / streak-stats / activity-graph / snake /
komarev),慢网或被墙时全空白(故"图片不显示")。
T5 开源页重构:
- 新增 geek/GithubProfile.astro:头像 / 名字@handle / 定位叙述 / 社交图标 /
统计四格(followers、公开仓、总星标)/ 语言占比灰阶条(仅第一名 accent,
其余 tokens 灰阶)——**零外链图、零 iframe、零第三方徽章**
- 语言聚合复用 loadProjects 的结果;followers 与公开仓数走 GitHub REST
- 任一取数失败只隐藏该项(catch + warn),绝不炸构建
- opensource.astro / en:档案卡承接原 README 位置 → 热力图 → 项目墙;
README 渲染降级为兼容通道(intro_from=off 时不执行),yaml 注释写明
7 类外链图与 align 失效原因并标「不推荐」
- **修既有隐患**:GitHub API 请求原先不带 token,匿名 60 次/小时在密集构建下
被打满 → 项目墙退化成兜底 JSON(今天一度只剩 1 条)。现对 api.github.com
自动附 Bearer(token 读宿主 0600 文件,不入仓),墙恢复 16 条、总星标 0→66、
语言占比变真值
T6 关于页承接:
- about.yaml blocks 扩为 prose / tracks(兴趣版图)/ prose(关于我)/
linklist(找到我:本站·邮件·GitHub·自建 gitea·RSS)/ prose(本站如何构建),
双语齐备;AboutPage 零改动(blocks 早已驱动)
- 原则落地:关于页讲人,开源页讲开源,两边不再重复
验证: 构建 51 页 exit 0;content-lint 51 页 0/0/0;config-check 全过;
E2E **46/46 PASS**(37 原有 + 本包新增 9 项:置顶顺序与徽标、文章页计数、
模板彩色与折叠、瞬间评论区与只读计数、关于页块驱动);
dist/opensource 七类第三方外链零命中、第三方 img 数 0;数据实值:
语言占比 Python/TypeScript 各 36%、Shell/Rust/JS 各 9%
Spec: 2026-11-02_blog-5h-content-social (T5/T6)
Co-authored-by: GLM-5.3
|
2026-11-02 20:35:56 +08:00 |
|
 wait4xandGLM-5.3
|
280654f9e3
|
feat(reader): PDF 改 pdf.js 渲染+斜体 bug 根治+评论假挂载修复+排版类
【T1 PDF 内置阅读重做】iframe 对 arXiv PDF 实测 ERR_ABORTED(浏览器 PDF
插件策略差异)→ pdfjs-dist 6.4.299 客户端 canvas 渲染:只在 /papers/
动态 import(worker ?url 打包,不进全站 bundle);文档一次取回 + IO
懒渲染(rootMargin 400px)+ 页占位 aspect-ratio 防跳动 + 12s 首屏兜底 +
微信 UA 直接兜底;工具条页码/缩放/翻页/下载/arXiv/授权声明保留。红线:
PDF 由访客浏览器直取 arXiv(CORS * 实测),仓内零副本。真页实测:
13 页 canvas 全绘制、首屏墨迹像素非空、零 console 错误。
【T2 斜体排版 bug 真凶】global.css 的 `.prose-* p > em:only-child
{ display:block; text-align:center }` 图注样式按"斜体独占段"自动命中,
把所有正文独占段斜体变成块级居中。改:图注用显式 .fig-cap 驱动 + 补
em/i { display:inline; font-style:italic } 基线;media-sample 迁移新写法,
指南注明旧写法失效原因。实测独占段与行内斜体均 display:inline/italic。
【T3 评论"假挂载"真 bug】原 initArtalk 一进来就置 mounted=true——脚本
404/被拦截时把空容器误标已挂载,5s 兜底被绕过,正是"评论区一直空着"的
来源之一。改为库就绪才算成功;另加三触发路径(IO 主 + 锚点点击 + 滚到
页底 2s 兜底)、5s 失败提示+重试钮、软导航重挂、成功打
data-artalk-mounted=1 供 E2E。
【T4 文章排版类 + 安全白名单】11 个受限类(ink-1/2/3/muted/accent、
font-serif/kai/sans/mono、drop-cap、quote-line、fig-cap)全走 tokens 禁
任意 hex;新增 rehype-class-whitelist.ts:className 白名单 + 剥离 style
与 on*;实测注入用例只剩 class="ink-2",style/onclick 全无。新坑入档:
markdown raw HTML 在 hast 是 type:'raw' 节点、白名单插件看不见 span,必须
先 rehype-raw 再过滤 → 插件链 [rehypeRaw, rehypeClassWhitelist,
rehypeLinkCards]。新依赖:pdfjs-dist、rehype-raw。
车道:op-artalk(T1 6/6、T2 2/2、T3 3/3、T4 6/6);收编复验:build 46 页、
E2E 37/37、四专项 playwright 实测(PDF 13 canvas/斜体 inline/白名单净化/
评论 mounted 标记)
验证: node v26.13.0 + astro 7.4.4 构建 46 页 exit 0;E2E 37/37 PASS
Spec: none (阅读体验四件,车道级交付)
Co-authored-by: GLM-5.3
|
2026-11-02 15:59:28 +08:00 |
|
 wait4xandGLM-5.3
|
3b951d3de6
|
feat(archive): 文章折叠——首页 6 篇+归档年月折叠+书架年折叠
①首页 PostList limit=6 + 「全部文章 →」双轨入口(用户拍板 6 篇)
②/archives 年 <details>(最新年 open,summary「2026 · N 篇」+▸ 自绘
箭头)+ 年内按月分组小标题;零 JS 依赖、内容全在 DOM(SEO
无损)③/books 年折叠(色脊/书封渲染零改动)④E2E +3 断言
(首页≤6+入口/归档 open 唯一+月分组/书架年组不变量)
E2E 弦键竞态根治:折叠批的多次导航扰动 g-chords 时序——洁净起
点(先回稳定页)再测弦,测试意图不依赖前序状态,37/37 连跑稳定
车道:op-gitea(lint 43 页 0/0/0);收编复验首页 6 行+入口/归档
1 年开 12 月组/书架年折叠/en 轨全过
验证: E2E 37/37 连跑两次;content-lint 0/0/0;首页/归档/书架/
en 四页 playwright 实测
Spec: none (折叠批,车道级交付)
Co-authored-by: GLM-5.3
|
2026-11-02 10:00:45 +08:00 |
|
 wait4xandGLM-5.3
|
90b8d0fbc0
|
test(e2e): ? 帮助浮层断言加固——焦点残留竞态三连治
面板测试后焦点可能残留输入域致 ? 键被吞(今日第三次偶发):
Esc 收场+activeElement blur+重试三连,3/3 稳定复现。
验证: E2E_BASE=dist 口连跑三轮 34/34 全绿
Spec: 2026-10-26_blog-5f
Co-authored-by: GLM-5.3
|
2026-11-01 09:34:47 +08:00 |
|
 wait4xandGLM-5.3
|
814b138f89
|
test(e2e): E2E_BASE 环境变量覆写——本地 dist 口验未推代码
staging=origin/main 纪律下,spec 分支在途代码的 E2E 只能打本地
dist;此前 BASE 硬编码迫使车道手工绕(T2 收编验收实锤)。
验证: E2E_BASE=http://127.0.0.1:18924 node tests/e2e.mjs 34/34
PASS(含新 canonical 断言)
Spec: 2026-10-26_blog-5f
Co-authored-by: GLM-5.3
|
2026-11-01 09:13:44 +08:00 |
|
 wait4xandGLM-5.3
|
c307285a25
|
fix(i18n): localePath 三处双 en 一刀治+canonical 全量(blog-5f T2/T3 车道收编)
- T2:localePath 先归一 zh 再拼前缀(Header/CommandPalette/
BaseLayout 三处 /en/en/ 同源病根一刀),返回值统一尾斜杠;
BaseLayout 自指 canonical 全量 35 页;E2E 新增 en canonical
自指断言(33→34)
- T3:content-lint.mjs 零依赖三检(断链 FAIL/缺图 FAIL/zh-en
配对 WARN;CONTENT_LINT 逃生门;photos-originals 叠加层与
/admin 单语两误报已修);prod-smoke.sh 三断言(robots 未落明
确 FAIL 不静默);build.sh 守卫行挂载(smoke 对 staging 首版
容忍,T1 robots 上线后转硬门,触发条件注释在案)
- tasks.md verify 字面量 33→34 联动同步(6 处)
车道:op-gitea(verify 六条实录);收编验收:E2E 34/34+产物零
/en/en/+lint 0/0/0 实跑复现
验证: node tests/e2e.mjs 34/34 PASS;! grep -r /en/en/ dist/;
content-lint 三检 0 违例;bash -n+test -x 过
Spec: 2026-10-26_blog-5f
Co-authored-by: GLM-5.3
|
2026-11-01 09:12:01 +08:00 |
|
 wait4xandGLM-5.3
|
3a59edc79a
|
feat(nav): 书架进导航(车道 G)——图标钮出舱钉死右侧
- 评估实数:第 6 项增量 zh +34-44/en +49-51px,旧结构 en 达
102-125px 滚区且主题钮出首屏——收纳策略=搜索/语言/主题三钮
移出 nav 滚动区钉死 .nav-actions 常驻右侧,内滚只波及文本项,
任何宽度三功能钮可见(搜索是移动端主发现路径不可藏)
- nav 序:开源 · 文章 · 书架 · 图库 · 瞬间 · 关于(书架=阅读轨
延伸紧跟文章);ui.ts +nav_books/kbd_gs_books
- Keyboard g-chord 增 s 键(g s→书架,双轨前缀路由),帮助表
按既有 kbd_* 词条模式接入
- E2E en 导航断言扩为 ≥6 且含 /en/books/
- 已知余量:en 390-430 文本区滚 ~114px(词条已最短化,再省需砍
语义留观);zh 全宽段 1-16px 基本无感
车道:op-gitea(八格扫描+E2E 33/33);收编验收:序/双轨 href/
三宽度三功能钮可见性/g s 实跳全过
验证: pnpm astro build exit 0;本地 dist 六项 playwright 全过;
E2E 33/33(推送后 staging 复验)
Spec: none (导航扩容+出舱策略,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:47:17 +08:00 |
|
 wait4xandGLM-5.3
|
d00ca7e447
|
fix(i18n): 语言轨导航修复+重排,热力图切 GitHub(车道 E)
- 真 bug(用户实测:切 en 后点板块回中文):Header nav href 硬编码
zh 路径,curLocale 只喂了词条——localeOf(Astro.url) 构建期自推断
+五项+品牌链接全轨化(brand 原指 / 同病同修),aria 同步
- 导航重排(用户拍板):开源 · 文章 · 图库 · 瞬间 · 关于;瞬间
新进导航;移动 320-430×双轨八格页面级溢出全 0(内滚阈值 350→450
+中段地板再收;en 390-430 尾部约 55px 靠内滚——'Open Source'→
'Projects' 改名可省 35px,留用户拍板)
- 热力图纯切 GitHub(用户拍板):GraphQL contributionsCollection
53 周窗口(上海日界);token=宿主 0600 github-token.txt,缺位→
WARN 降级样例数据(当前站点即样例);三级回落 token→样例→空网格
- E2E 新增 2 断言:en 页 nav 全 /en/ 前缀+brand 指 /en/(本 bug
的回归测试)
车道:op-gitea(自验 33/33);收编验收:en/zh 序实测+三宽度溢出 0+
E2E 33/33(本地 dist 口径——staging 未含未推代码为既定纪律)
验证: pnpm astro build 34 页 exit 0;node tests/e2e.mjs 33/33;
en/zh 导航序与 href 前缀 playwright 实测
Spec: none (Header 修复+重排+热力图换源,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:19:40 +08:00 |
|
 wait4xandGLM-5.3
|
363cc616f7
|
feat(motion): 动效层三件——背景辉光/入场/心跳,页脚撤双入口
- 背景鼠标辉光:ink 色 4% 径向渐变跟随(pointer:fine×非
reduced-motion 才有 JS,raf 节流 document 级监听 VT 存活)——
丙灰阶语言的"活背景",触屏/减动效自动隐藏
- 正文入场 rise-in 12px/0.4s(VT 换页自然重放)+ 列表行悬停
1px 微浮;全量 prefers-reduced-motion 豁免
- 首页"最近心跳":构建期拉 blog 仓最新 commit(gitea API 8s 超时
静默降级),脉冲点+相对时长——本站自己的脉搏
- 页脚撤「装备/制作」入口(页面保留,用户决策:只删入口)
- E2E 加固:g-chords 修好后 location.href 与 goto 竞态(en 页弦
导航迟到提交打断 goto)——中断重试模式
- 过程教训:str.replace 静默无操作再犯(锚点瞄错组件文件)——
脚本未进产物却报"全落地",replace 必须 assert 配对 grep 产物
验证: --mx 鼠标双跳 15.6% 实测跟随;E2E 31/31 PASS(竞态重试后
确定性);构建 34 页 exit 0
Spec: none (动效层+页脚撤口+测试加固,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 22:09:41 +08:00 |
|
 wait4xandGLM-5.3
|
0b6524f53c
|
perf(home): 首屏 eager+关键 CSS 内联,Lighthouse 伪影根因修毕
- 车道 D 三件收编(op-gitea):①index.astro 首两图 eager+首图
fetchpriority=high(Image 默认 lazy 曾压 LCP 至 6.4s,好模式现
1.3s)②inline-home-css.mjs:BaseLayout 11KB 内联首页 head(省
发现+下载跳)③build.sh 守卫挂钩
- 诊断结论入档:home 中位漂移根因=测试床伪影(python server 不压
缩,裸传 67KB vs 生产 gzip 9.2KB;lantern 对未压缩 HTML 流式归因
双峰 99↔165ms 翻转出两个世界)——gzip 等价口径中位 100
(FCP 0.9-1.1s/LCP 1.3-1.4s/TBT 0/CLS 0)
- 测试床转正:gz-server.py 泛化入仓(ThreadingHTTPServer+gzip
[端口 目录] 参数化)——兼治 SW 预缓存风暴竞速(单线程 server
曾把 E2E /gallery/ networkidle 饿死,实锤于收编验收)
- E2E serviceWorkers:'block':SW 有专属测试,站点 E2E 求确定性
- 三连否定留档:SW✗/css链✗/子集内联 v3✗(6×63 反例钉死,已
回滚)——残尾 20% 离群属 lantern trace 抖动,采中位+多轮
车道:op-gitea(过程三连否定+测试床移交);收编验收:内联 10KB
实出+首图 eager 实证+E2E 31/31(SW 屏蔽后确定性复现)
验证: gz 测试床 18743 gzip 10KB(生产等价口径);node tests/e2e.mjs
31/31 PASS;构建+守卫链复跑
Spec: none (性能三件+测试床转正,车道级交付)
Co-authored-by: GLM-5.3
|
2026-10-25 21:37:38 +08:00 |
|
 wait4xandGLM-5.3
|
8fe9455c23
|
perf(fonts): 思源黑/宋切换变字体——CSS 345→106KB 全站提速
- @fontsource-variable/{noto-sans,noto-serif}-sc 替换静态三档:
wght 轴单文件覆盖 400-700(font-face 303→101/family)
- tokens 字体栈前插 Variable 族名(旧静态名留兜底链)
- 全站 Lighthouse:home 64→70 / en 73→82 / terminal 79→84 /
gallery 68→74,FCP 4-6s→2-3.5s(主线程解析减半)
- 已知取舍:mian-sha 字节反增(变体切片 2-4x,55 片 3.4MB)但
FCP 关键路径不受影响(swap);按页字体 CSS 子集化立为后续包
- E2E 加固:软导航主题切换断言加 VT 竞态重试(今日第二次偶发,
隔离 3/3 过=测试姿势问题非产品缺陷)
验证: node tests/e2e.mjs 31/31 PASS;本地 dist Lighthouse 五页型
对比(lh-var vs lh-local 两轮全量审计)
Spec: none (性能二轮:字体管线单点换包,Lighthouse 前后对照已入档)
Co-authored-by: GLM-5.3
|
2026-10-25 20:31:54 +08:00 |
|
 wait4xandGLM-5.3
|
e57c853f20
|
fix(theme): 软导航主题回退——ThemeScript 补 data-astro-rerun
- 病根:ClientRouter 软导航换 html 属性把 data-theme 抹回无主题态,
而内联脚本默认仅首次执行(Astro 规矩:重跑须显式 data-astro-rerun)
——切换明暗后一切栏目即回系统默认(用户实测报告)
- 写入端审计:Header/Keyboard t/命令面板/终端四入口均写同一
localStorage key,无第二套实现,病灶唯一
- E2E 补软导航持久断言(原仅测 reload,漏了真实 bug 场景)
验证: node tests/e2e.mjs 31/31 PASS(软导航后=dark 断言新增)
Spec: none (线上热修:单属性缺陷 + 回归断言)
Co-authored-by: GLM-5.3
|
2026-10-25 20:15:06 +08:00 |
|
 wait4xandGLM-5.3
|
ce587236e2
|
test(e2e): staging 服务端口 18742→18743(让位 Sveltia 冒烟)
18742 被 op-gitea 车道 T3 从 public/ 起的服务占用(团队协作:车道
临时服务与主验证端口分离的教训,preflight 同步迁移)
验证: node tests/e2e.mjs 30/30 PASS(18743 实测)
Spec: 2026-10-25_add-terminal-books-admin
Co-authored-by: GLM-5.3
|
2026-10-25 13:46:56 +08:00 |
|
 wait4xandGLM-5.3
|
e21fac7e1d
|
fix(polish): 视觉复核二轮六项——网格单一高度源/导航i18n/热力图缓存等
- 图库:li 去 aspect-ratio(与行跨度双高度约束竞争=列洞根因面),
img 改 object-fit cover 填满;截图前整页滚动触发懒加载
- Header:导航标签按 locale 取字典(en 页曾是中文);图标钮暗色
提色去底块(视觉复核 02/12 的灰块)
- 热力图:构建期模块级缓存,zh/en 两页共享一次抓取(en 页曾空格)
- en 首页移除机器翻译横幅(文章级标注才是本意);面板居中;计数器
文字投影
- Artalk E2E 报 fetch 失败定性为测试环境跨域(127.0.0.1 页面拉
wait4x.online API),生产同源不受影响——上线后专项验证
验证: pnpm astro build 21 页 exit 0;node tests/e2e.mjs 30/30 PASS
(新构建全链重跑,含滚动后 21/21 图库断言)
Spec: 2026-10-25_fix-site-polish
Co-authored-by: GLM-5.3
|
2026-10-25 10:57:16 +08:00 |
|
 wait4xandGLM-5.3
|
7a2880b65d
|
fix(polish): 上线四缺陷修复——明暗委托/灯箱常开/评论站点名/书评宋体
- 明暗切换:document 级委托(软导航换 DOM 后元素级监听全丢);
E2E 再抓一坑:SVGElement 非 HTMLElement 实例,守卫用 Element 基类
- 图库:#lb 无条件 display:flex 覆盖 UA 隐藏 → 灯箱"永远打开"盖全页;
改 #lb:not([open]) 显式 none;时间戳标题清空;灯箱打磨(切换钮
实底阴影/n/21 计数器/空标题隐藏/原图链接暗底亮蓝)
- 评论:site 'wait4x'→'wait4x.online' 对齐 Artalk 服务端(404 根因)
- 书评字体:文楷→思源宋(@fontsource 预分片);文楷降级金句 --font-kai
- 数据:21 张照片组修正 street→landscape(迁移器收到内部组 id 的坑)
- 新增 tests/e2e.mjs:Playwright 30 项全功能 E2E
验证: node tests/e2e.mjs 30/30 PASS(含软导航后明暗切换回归项)
Spec: 2026-10-25_fix-site-polish
Co-authored-by: GLM-5.3
|
2026-10-25 10:46:03 +08:00 |
|