fix(loader-website): the progress bar ignores the first download

未关闭 适合新手
#141 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 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 内容生成。

描述

app:website bug good first 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) / total before 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

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

NanoForge-dev/Loader 的其他 Issue

查看 NanoForge-dev/Loader 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。