Reduced-motion default is frozen at the first settings write

Offen Anfängerfreundlich
#15 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
82/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
typescript
Bereich
backend

Rechercherichtung

Beginne mit shared/settings.ts, insbesondere defaults() und updateSettings(), und verfolge anschließend, wie getSettings() gespeicherte Werte liest. Die OS-Einstellung bleibt wirksam, bis der Spieler die reduzierte Bewegung ausdrücklich einstellt; überprüfe dies mit npm run typecheck und npm run build. Fertig ist es, wenn die Arcade späteren Änderungen der OS-Einstellung folgt, bis die Option ausdrücklich überschrieben wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug severity: low

Summary

The reduced-motion default follows the OS preference, but the first settings change of any kind saves the resolved value permanently. Later OS changes are ignored.

Where

  • shared/settings.ts:55-59 (defaults() reads prefers-reduced-motion)
  • shared/settings.ts:66-68 (updateSettings saves the whole merged object)

Steps to reproduce

  1. With OS reduced motion off, press M in any game.
  2. Turn OS reduced motion on and reload: shake and flash still play.

Suggested fix

Persist only explicit overrides: keep reducedMotion as boolean | undefined in storage and resolve it in getSettings().

Acceptance criteria

  • Until the player sets the option explicitly, the arcade follows the OS preference

Getting started

  • Relevant files: shared/settings.ts
  • Run locally: npm install, then npm run dev
  • Checks: npm run typecheck and npm run build (there is no test suite yet)
  • Related docs: README.md

Filed by repo-audit/full-audit at b001f5d. Severity: low. Effort: S. audit-key: bug|shared/settings.ts|updateSettings

Vorherrschende Sprache
TypeScript
Sterne
3
Forks
3
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus TMHSDigital/GH-Arcade

Alle Issues in TMHSDigital/GH-Arcade

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.