Rename Recovery and First Load - wongyiuming/FrontierCloud-Gin GitHub Wiki
music/黄耀明CD → music/黄耀明 的 495 个源文件仍存在,但目标路径有四个空子目录。SQL 根据已登记媒体判断目标不存在,先写入 rename_pending 并将媒体标为 renaming;随后文件系统拒绝覆盖已有目录。管理树错误地只查询 active,导致管理员看不到恢复中的资源。
恢复时先做一致的 SQLite 数据库快照,只用 rmdir 删除四个空子目录及空目标目录。原生 Go 后台任务继续原操作,完成路径和元数据事务。没有手写 SQL 更新、重新上传或生成新媒体 ID。495 个文件、优先级、歌词关联及隐藏状态均核验,Admin API 重新显示 43 个专辑、495 个文件。
防复发源码已随 2026-10-09 正式 main 8a6e309 部署:本地目标预检查与上传共用文件锁,冲突时不先登记改名;分布式改名等待恢复时仍在认证管理树和搜索中可见,显示操作状态和目标,公共播放不会暴露未完成路径。不会覆盖未知远端文件或猜测回滚。
严格检查北京时间 16:29–17:30。历史日志未保存 UA;按持续业务访问筛出的唯一候选出口,官方网段归属为中国移动浙江 AS56041。这是 IP 关联推断,不是已恢复的特斯拉 UA。
候选 228 个请求中无 504;目录响应为毫秒级。唯一 499 是客户端取消,约两秒后重试成功。303 是用户清缓存接口,307 是根路径/图标版本跳转,429 均为观测接口。没有证据证明 2–3 分钟发生在服务器处理阶段,也没有同运营商大陆探针可完成复现。
另一个明确的源码启动风险已修复:分类页不再等待观测脚本下载才呈现内嵌目录。隔离真实浏览器保持观测脚本下载不返回时,目录仍可显示。这不是车机弱网验收,更不声称已确认历史故障根因。
新 Nginx 格式加入 JSON 转义 UA 和分段上游耗时,仍不记录查询凭据、Cookie、Authorization 或中继 token。HTTP 日志无法记录请求尚未进入 HTTP 的 DNS/TLS 卡顿。
源码证据与完整统计见 审计文档。
旧分类页在 DOMContentLoaded 才启动目录,而后面的普通 <script> 会阻塞 HTML 解析;如果 network-observation.js 下载卡住,目录随之等待。首页的入口卡片直接在 HTML 中,因此可先显示;从首页进入还可能预热资源缓存。这不是目录业务在等待 WebRTC ICE 探测完成,源码中的异步 createOffer() 和 8 秒观测超时不被目录函数 await。
新版本分类页使用 <script async src="…network-observation.js…">,目录 DOM 已存在时立即启动 startBrowserPage(),不依赖观测下载或探测结果。现场读取的目录脚本资源版本为 d3c9c23d937f21ee;这是静态资源内容版本,不是 Git SHA。
2026-10-09 迁移后,通过 dnspup 对维护者提供的完整 artist 子 URL 进行 66 个大陆移动节点的 GET 测试:65 个 200,总耗时 0.879–2.950 秒;成都节点未在规定时间回传结果,没有目标状态码或 IP,不能把它判断为应用响应失败。本次不包含页面脚本执行或车机浏览器渲染,也不能反证此前 2–3 分钟现象。dnspup 官方说明 明确其测量的是单次 HTTP 请求。