fix(loader-website): the progress bar ignores the first download
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 85/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- bun, typescript
- 领域
- frontend
调研方向
阅读 apps/website/src/window.ts 中 setLoadingStatus 附近的代码,以及 apps/website/src/cache/cache.ts 中下载循环附近的代码。检查索引 0 的进度如何更新,以及每次下载何时完成。完成标准是进度条反映已完成的下载,包括第一个文件和只有一个过时文件的情况。
由索引模型根据 Issue 内容生成。
描述
Which app is this bug report for?
website
Issue description
setLoadingStatus checks index && totalFiles > 0, so index 0 is treated as false. The cache calls it with n starting at 0 (cache.ts#L77-L82).
- The bar doesn't move for the first file, and stays empty when only one file is outdated (the usual case in watch mode).
- The bar is set to
(n + 1) / totalbefore that file is downloaded.
Expected: the bar reflects the downloads actually done.
Suggested fix: check index != null (or typeof index === "number"), and update the bar after each download completes.
Found during a read-only audit of main @ 044c766 (2026-11-11).
Code sample
if (loadingBarFill && index && totalFiles > 0) { // index 0 is falsy
const progress = ((index + 1) / totalFiles) * 100;
loadingBarFill.style.width = `${progress}%`;
}
Versions
- @nanoforge-dev/loader-client / @nanoforge-dev/loader-server / @nanoforge-dev/loader-website 1.7.0 (
main@ 044c766) - Bun 1.3.14
- Linux x86_64
Issue priority
Low (slightly annoying)
I have tested this issue on a development release
044c766
- 主要语言
- TypeScript
- 星标
- 1
- 派生
- 0
- 平均合并
- 17 小时 25 分钟
- 30 天内合并 PR
- 11
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NanoForge-dev/Loader 的其他 Issue
-
app:client app:website enhancement refactor
难度 2/5 1-3 小时 新手友好度 72/100
NanoForge-dev/Loader#145 ·
维护者通常 1 天内回复
-
chore(loader-client,loader-server): package.json entry points name files the build does not produce未关闭app:client app:server bug chore good first issue
难度 2/5 1-3 小时 新手友好度 78/100
NanoForge-dev/Loader#144 ·
维护者通常 1 天内回复
-
app:website bug good first issue
难度 2/5 1-3 小时 新手友好度 82/100
NanoForge-dev/Loader#140 ·
维护者通常 1 天内回复
-
app:server bug
难度 2/5 1-3 小时 新手友好度 85/100
NanoForge-dev/Loader#138 ·
维护者通常 1 天内回复
-
app:server bug
难度 2/5 1-3 小时 新手友好度 78/100
NanoForge-dev/Loader#134 ·
维护者通常 1 天内回复
查看 NanoForge-dev/Loader 的全部 Issue
相似的 Issue
-
Mend: dependency security vulnerability
难度 1/5 1-3 小时 新手友好度 65/100
fdm-monster/fdm-monster#5563 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
难度 2/5 1-3 小时 新手友好度 65/100
growilabs/growi#12246 · 3 条评论 ·
维护者通常 1 天内回复
-
🐛 The Rulekeeper - An index run that gives up on the lock ends Succeeded可能已有人在做 @github-actions 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
SSWConsulting/SSW.Rules#2809 · 1 条评论 ·
维护者通常 1 天内回复
-
automated-triage type/bug type/ci
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复