fix(music): playing an unknown key leaves the current track playing but untracked

Ouverte Adaptée aux débutants
#498 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
82/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript
Domaine
backend, testing

Piste de recherche

Lisez les lignes 61–74 de modules/music/src/music.library.ts et suivez la façon dont play() gère une clé manquante et la piste actuelle. Ajoutez un test unitaire qui lit une clé inconnue alors qu’une autre piste est active, puis vérifiez que l’ancienne piste n’affecte plus la lecture lorsqu’une clé valide est lue ensuite. Le travail est terminé lorsque le test confirme que l’ancienne piste ne continue pas à être lue en même temps que la nouvelle.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug good first issue modules:music
Which package is this bug report for?

music

Issue description

play("typo") sets _current = null without pausing the track that is playing, then throws. The next play("b") calls null?.pause(), so the old track keeps playing alongside the new one.

Where:

Evidence:

if (!element) {
  this._current = null;
  throw new NfNotFound(key);
}

Suggested fix: Throw before touching _current (or pause it first). Add a unit test.

Found during a code audit of main at be72076.

Code sample

No response

Versions
  • Engine main at be72076
  • pnpm 12.0.0, Node.js 26, Bun 1.3.14
Issue priority

Medium (should be fixed soon)

I have tested this issue on a development release

be72076

Langage dominant
TypeScript
Étoiles
7
Forks
2
Merge moyen
1 j 17 h
PR mergées (30 j)
17

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de NanoForge-dev/Engine

Toutes les issues de NanoForge-dev/Engine

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.