The player's sound control and the stored "narrate by default" are one setting
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- Half a day
- Newbie friendliness
- 66/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start in DeckPlayer.tsx, where the speaker and the sheet's Narration switch currently call narration.toggle, and in src/voicePreference.tsx, which holds connected-deck:narrate-by-default. Add the optional onToggleNarration prop and have PresentationDeck pass the stored setter, so all three surfaces read and write one value. Done when a deck opened after muting starts silent, Settings shows Silent, and the engine's tests still pass.
Written by the indexing model from the issue text.
Description
Why
The viewer bar's speaker and the sheet's Narration switch change only the deck being watched (DeckPlayer.tsx passes narration.toggle). The launch page's Settings keeps a separate stored preference, connected-deck:narrate-by-default (src/voicePreference.tsx). Turn narration on inside a deck, and the next deck opens silent. Turn it off in Settings, and the deck you have open doesn't change. One question gets answered in two places that disagree.
What changes
DeckPlayertakes an optionalonToggleNarration. When a host passes it,narrateByDefaultis the live setting, and the bar's speaker and the sheet's switch call it instead of toggling the session.PresentationDeckpasses the stored preference's setter, so the speaker, the sheet and the launch page's Settings all read and write one value.- Turning narration off still clears Audiobook mode.
- A host that passes nothing keeps today's session-only toggle.
Done when
- Muting inside a deck and then opening another deck opens it muted, and the launch page's Settings shows Silent.
- Turning narration on in Settings takes effect in an open deck's sheet.
- The engine's tests pass.
Out of scope
- The notes window's own narration toggle.
- The sheet's layout.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 30m
- Merged PRs (30d)
- 9
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from johnfrog76/connected-deck
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
johnfrog76/connected-deck#21 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
johnfrog76/connected-deck#19 ·
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
johnfrog76/connected-deck#18 · 3 comments ·
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 70/100
johnfrog76/connected-deck#23 ·
-
enhancement good first issue
Difficulty 3/5 Half a day Newbie friendliness 70/100
johnfrog76/connected-deck#22 ·
All issues in johnfrog76/connected-deck
Similar issues
-
Add: Class TV ModaOpencheck:passed streams:add
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
GiganticMinecraft/seichi-playguide#183 ·
Maintainers usually reply within 1 day
-
area: core complexity: easy impact: medium
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
ueberdosis/tiptap#8668 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
longbridge/nsh#804 ·
Maintainers usually reply within 1 day