fix(sound): loading a key again leaks the old audio element, which keeps playing
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 78/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- typescript
调研方向
从 modules/sound/src/sound.library.ts:47-51 中的替换逻辑开始,并比较 modules/music/src/music.library.ts:51-56 如何跟踪当前元素。复现同一个键加载两次的情况,然后检查旧音频是否停止,并且无法再通过 _current 或 __clear 访问。替换键后没有遗留音频继续播放时,即为完成。
由索引模型根据 Issue 内容生成。
描述
Which package is this bug report for?
sound
Issue description
load replaces the map entry without pausing the old Audio element, which __clear can then no longer reach, so it keeps playing. In music, _current can point to the orphaned element.
Where:
Evidence:
const element = new Audio(file);
element.muted = this._muted || this._editorMuted;
this._sounds.set(key, element);
Suggested fix: Pause the old element and clear its src before replacing it.
Found during a code audit of main at be72076.
Code sample
No response
Versions
- Engine
mainat be72076 - pnpm 12.0.0, Node.js 26, Bun 1.3.14
Issue priority
Low (slightly annoying)
I have tested this issue on a development release
be72076
- 主要语言
- TypeScript
- 星标
- 7
- 派生
- 2
- 平均合并
- 1 天 17 小时
- 30 天内合并 PR
- 17
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NanoForge-dev/Engine 的其他 Issue
-
dependencies enhancement good first issue
难度 2/5 1-3 小时 新手友好度 78/100
NanoForge-dev/Engine#513 ·
维护者通常 1 天内回复
-
bug chore tests
难度 2/5 1-3 小时 新手友好度 77/100
NanoForge-dev/Engine#511 ·
维护者通常 1 天内回复
-
docs(network): TSDoc says ICE_SERVERS defaults to an empty list, the code uses public STUN servers未关闭documentation good first issue modules:network
难度 1/5 1 小时以内 新手友好度 88/100
NanoForge-dev/Engine#509 ·
维护者通常 1 天内回复
-
documentation modules:ecs packages:asset packages:core
难度 2/5 1-3 小时 新手友好度 82/100
NanoForge-dev/Engine#508 ·
维护者通常 1 天内回复
-
bug good first issue modules:scene
难度 1/5 1 小时以内 新手友好度 88/100
NanoForge-dev/Engine#504 ·
维护者通常 1 天内回复
查看 NanoForge-dev/Engine 的全部 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 天内回复