Skip to content

feat(settings): add expanded video auto-unmute preference#1104

Merged
tomcasaburi merged 3 commits intomasterfrom
codex/feature/unmute-expanded-video-sound
Mar 17, 2026
Merged

feat(settings): add expanded video auto-unmute preference#1104
tomcasaburi merged 3 commits intomasterfrom
codex/feature/unmute-expanded-video-sound

Conversation

@tomcasaburi
Copy link
Member

@tomcasaburi tomcasaburi commented Mar 17, 2026

Adds an interface preference to auto-unmute videos when they are expanded from thumbnails.

Closes #1103


Note

Low Risk
Low risk: adds a new UI preference and a persisted Zustand flag that only affects the muted attribute for expanded video playback, plus translations and test updates.

Overview
Adds a new Interface Settings toggle (unmute_video_sound) that persists via useExpandedMediaStore and controls whether expanded <video> elements start muted.

Updates CommentMedia to set muted based on the new store flag, extends store persistence/tests to cover the new preference, and adds translations for the new strings across supported locales (plus minor checkbox spacing tweak in settings CSS).

Written by Cursor Bugbot for commit 752b8bc. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • New Features

    • Added an option to automatically unmute sound for expanded video playback; setting is available in Interface Settings and persisted across sessions.
    • Translations added for the new setting across supported languages.
  • Style

    • Adjusted checkbox spacing in settings for improved alignment.
  • Tests

    • Added tests covering the new preference and its persistence.

@vercel
Copy link

vercel bot commented Mar 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
5chan Ready Ready Preview, Comment Mar 17, 2026 11:09am

Request Review

@coderabbitai
Copy link

coderabbitai bot commented Mar 17, 2026

📝 Walkthrough

Walkthrough

Adds an "unmute expanded video sound" preference: translation entries across many locales, a new boolean and setter in the expanded media store, a settings checkbox in Interface Settings, wiring to unmute expanded video playback, and related tests and small CSS spacing adjustment.

Changes

Cohort / File(s) Summary
Translations
public/translations/*/default.json (multiple locales: ar, bn, cs, da, de, el, en, es, fa, fi, fil, fr, he, hi, hu, id, it, ja, ko, mr, nl, no, pl, pt, ro, ru, sq, sv, te, th, tr, uk, ur, vi, zh, etc.)
Added unmute_video_sound_tip and unmute_video_sound translation keys across locales; minor JSON syntax adjustments (trailing commas) to accommodate new keys.
Expanded Media Store
src/stores/use-expanded-media-store.ts
Added unmuteExpandedVideoSound: boolean (default false) to state and exposed setUnmuteExpandedVideoSound(unmute: boolean) setter; persisted in store.
Store Tests
src/stores/__tests__/ui-state-stores.test.ts
Extended test to assert persistence of expanded media preferences including unmuteExpandedVideoSound.
Comment Media
src/components/comment-media/comment-media.tsx
Video element muted state changed from always muted to muted={!unmuteExpandedVideoSound} by reading value from the expanded media store.
Comment Media Tests
src/components/comment-media/__tests__/comment-media.test.tsx
Added test-state flag unmuteExpandedVideoSound in mocks and tests asserting video muted behavior when the flag is true/false.
Interface Settings UI
src/components/settings-modal/interface-settings/interface-settings.tsx
Extracted unmuteExpandedVideoSound and setUnmuteExpandedVideoSound from store; added checkbox control bound to them and tooltip using unmute_video_sound_tip.
Interface Settings Tests
src/components/settings-modal/interface-settings/__tests__/interface-settings.test.tsx
Extended mock store to include setUnmuteExpandedVideoSoundMock and unmuteExpandedVideoSound, added test for toggling the checkbox and adjusted test lifecycle and some assertions.
Interface Settings Styling
src/components/settings-modal/interface-settings/interface-settings.module.css
Increased checkbox margin-right from 2px to 5px for spacing.

Sequence Diagram

sequenceDiagram
    participant User
    participant InterfaceSettings
    participant ExpandedMediaStore
    participant CommentMedia
    participant VideoElement

    User->>InterfaceSettings: Toggle "Unmute video sound" checkbox
    InterfaceSettings->>ExpandedMediaStore: setUnmuteExpandedVideoSound(true)
    ExpandedMediaStore->>ExpandedMediaStore: Update state & persist to localStorage

    Note over User,VideoElement: Later, user opens an expanded video
    User->>CommentMedia: Click video thumbnail
    CommentMedia->>ExpandedMediaStore: Read unmuteExpandedVideoSound
    ExpandedMediaStore-->>CommentMedia: Return true/false
    CommentMedia->>VideoElement: Set muted = !unmuteExpandedVideoSound
    VideoElement-->>CommentMedia: Video renders with sound enabled/disabled
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰
I twitched my nose and nudged the play,
A little toggle lights the way,
No more silence when videos bloom,
A hop, a cheer — sound fills the room! 🎧

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main feature added: a new settings preference to automatically unmute expanded videos, which is the primary change across the codebase.
Linked Issues check ✅ Passed The PR fully addresses issue #1103 by implementing a user-visible preference setting for auto-unmuting expanded videos, persisting it via useExpandedMediaStore, updating CommentMedia component behavior, and adding UI controls in InterfaceSettings with test coverage.
Out of Scope Changes check ✅ Passed All changes are directly related to the objective of adding an expanded video auto-unmute preference: translation files add UI labels, store logic handles persistence, component updates apply the setting, CSS adjusts spacing for new checkbox, and tests validate the feature.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/feature/unmute-expanded-video-sound
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@public/translations/da/default.json`:
- Line 322: Replace the Danish string value for the "unmute_video_sound_tip"
translation key to use a proper playback term: change "Slå lyd automatisk til
ved videoforspil" to "Slå lyd automatisk til ved videoafspilning" so the UI
reads correctly; update the value for unmute_video_sound_tip accordingly.

In `@public/translations/it/default.json`:
- Around line 321-322: The Italian translations are missing the label key
"unmute_video_sound" (only "unmute_video_sound_tip" exists), causing fallback;
add a new "unmute_video_sound" entry in the same JSON with the Italian label
(e.g., a short phrase matching the tip like "Attiva l'audio durante i video" or
the appropriate localized label) so both "unmute_video_sound" and
"unmute_video_sound_tip" are present and consistent.

In `@public/translations/ja/default.json`:
- Around line 321-322: Add the missing translation key "unmute_video_sound" in
the Japanese translations next to the existing "unmute_video_sound_tip"; set its
value to a concise Japanese checkbox label such as "動画再生時に音声を自動でオンにする" so the UI
shows a proper label instead of the raw key.

In `@public/translations/pt/default.json`:
- Around line 321-322: Add the missing translation key "unmute_video_sound" in
the Portuguese locale next to the existing "unmute_video_sound_tip" entry so the
settings label resolves correctly; use the appropriate Portuguese text (e.g.,
"Ativar o som na reprodução de vídeo") as the value for "unmute_video_sound" to
match the tip and ensure UI shows a localized label instead of a raw key.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7b87b83e-0668-467e-b44e-8ccc6e295a17

📥 Commits

Reviewing files that changed from the base of the PR and between 8d3c82f and 45622d9.

📒 Files selected for processing (42)
  • public/translations/ar/default.json
  • public/translations/bn/default.json
  • public/translations/cs/default.json
  • public/translations/da/default.json
  • public/translations/de/default.json
  • public/translations/el/default.json
  • public/translations/en/default.json
  • public/translations/es/default.json
  • public/translations/fa/default.json
  • public/translations/fi/default.json
  • public/translations/fil/default.json
  • public/translations/fr/default.json
  • public/translations/he/default.json
  • public/translations/hi/default.json
  • public/translations/hu/default.json
  • public/translations/id/default.json
  • public/translations/it/default.json
  • public/translations/ja/default.json
  • public/translations/ko/default.json
  • public/translations/mr/default.json
  • public/translations/nl/default.json
  • public/translations/no/default.json
  • public/translations/pl/default.json
  • public/translations/pt/default.json
  • public/translations/ro/default.json
  • public/translations/ru/default.json
  • public/translations/sq/default.json
  • public/translations/sv/default.json
  • public/translations/te/default.json
  • public/translations/th/default.json
  • public/translations/tr/default.json
  • public/translations/uk/default.json
  • public/translations/ur/default.json
  • public/translations/vi/default.json
  • public/translations/zh/default.json
  • src/components/comment-media/__tests__/comment-media.test.tsx
  • src/components/comment-media/comment-media.tsx
  • src/components/settings-modal/interface-settings/__tests__/interface-settings.test.tsx
  • src/components/settings-modal/interface-settings/interface-settings.module.css
  • src/components/settings-modal/interface-settings/interface-settings.tsx
  • src/stores/__tests__/ui-state-stores.test.ts
  • src/stores/use-expanded-media-store.ts

@tomcasaburi
Copy link
Member Author

Addressed the valid review findings in the latest commit by adding the missing label key across non-English locales and fixing the Danish tip wording. The remaining CodeRabbit comments were duplicates of that translation gap; no separate code-path changes were needed.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 14

🧹 Nitpick comments (1)
public/translations/de/default.json (1)

322-322: Minor grammatical issue: "beim" should be "bei der".

"Videowiedergabe" is a feminine noun in German, so the preposition contraction should be "bei der" (feminine dative), not "beim" (which is "bei dem" for masculine/neuter).

Proposed fix
-  "unmute_video_sound_tip": "Ton beim Videowiedergabe automatisch aktivieren",
+  "unmute_video_sound_tip": "Ton bei der Videowiedergabe automatisch aktivieren",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/de/default.json` at line 322, The translation value for
the key "unmute_video_sound_tip" uses the incorrect contraction "beim"; change
the string so the preposition matches the feminine noun "Videowiedergabe" by
replacing "beim" with "bei der" (i.e., update the "unmute_video_sound_tip" value
to "Ton bei der Videowiedergabe automatisch aktivieren").
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@public/translations/cs/default.json`:
- Around line 322-323: The "unmute_video_sound" translation key is still in
English; update the value for the key unmute_video_sound to a Czech translation
(e.g., "Zapnout zvuk videa" or similar) so it matches the localized tip key
unmute_video_sound_tip and maintains consistency across translations.

In `@public/translations/de/default.json`:
- Line 323: The translation for the key "unmute_video_sound" is currently
English; update the value in the German locale JSON so it contains a proper
German translation (e.g., "Video-Ton aktivieren" or "Stummschaltung des Videos
aufheben") by editing the "unmute_video_sound" entry in
public/translations/de/default.json to replace the English string with the
chosen German string.

In `@public/translations/el/default.json`:
- Around line 322-323: Replace the English value of the localization key
"unmute_video_sound" with the proper Greek translation; locate the key
"unmute_video_sound" in the Greek locale (public/translations/el/default.json)
and change its value from "Un-mute video sound" to a Greek label such as
"Ενεργοποίηση ήχου βίντεο" so it matches the translated "unmute_video_sound_tip"
and other locale patterns.

In `@public/translations/fi/default.json`:
- Line 323: The Finnish locale entry for the key "unmute_video_sound" is still
English; update the value for "unmute_video_sound" in the fi translation file to
the correct Finnish label (e.g., "Poista videon mykistys" or another approved
Finnish phrasing) so the settings UI no longer shows mixed language.

In `@public/translations/fil/default.json`:
- Line 323: Update the Filipino translation for the key "unmute_video_sound" so
it’s localized instead of English; locate the JSON entry "unmute_video_sound" in
public/translations/fil/default.json and replace "Un-mute video sound" with the
appropriate Filipino string (e.g., "Buksan muli ang tunog ng video" or preferred
localized phrasing) ensuring the value remains a valid JSON string.

In `@public/translations/id/default.json`:
- Around line 322-323: Replace the English value for the translation key
"unmute_video_sound" with an Indonesian string to match
"unmute_video_sound_tip"; update the value for the key unmute_video_sound
(currently "Un-mute video sound") to an appropriate Indonesian translation such
as "Aktifkan suara video" so the file uses consistent Indonesian translations.

In `@public/translations/mr/default.json`:
- Around line 322-323: Replace the English string for the JSON key
"unmute_video_sound" with its Marathi translation to match the locale file;
locate the "unmute_video_sound" key in public/translations/mr/default.json and
update its value to the appropriate Marathi text (e.g., a vetted translation for
"Un-mute video sound") ensuring punctuation and quoting follow the existing JSON
formatting.

In `@public/translations/nl/default.json`:
- Line 323: Replace the English value for the JSON key "unmute_video_sound" in
the nl locale with a Dutch translation; update the value string for
"unmute_video_sound" in public/translations/nl/default.json to a proper Dutch
label such as "Geluid van video dempen opheffen" (preserve JSON
quoting/formatting).

In `@public/translations/ru/default.json`:
- Around line 322-323: The key "unmute_video_sound" is still in English; update
its value to a Russian translation to match "unmute_video_sound_tip". Locate the
"unmute_video_sound" entry in the translations and replace "Un-mute video sound"
with a Russian string such as "Включить звук при воспроизведении видео" (or
"Включить звук видео") so both keys are localized consistently.

In `@public/translations/sv/default.json`:
- Line 323: Replace the English label for the key "unmute_video_sound" with its
Swedish translation by updating the value from "Un-mute video sound" to a
Swedish phrase such as "Slå på videons ljud" (or "Slå på ljudet i videon") so
the sv locale contains only Swedish text.

In `@public/translations/te/default.json`:
- Line 323: Replace the English string for the key "unmute_video_sound" with the
correct Telugu translation to match the locale file (follow the same
phrasing/pattern used by "unmute_video_sound_tip"); update the value for the
"unmute_video_sound" key so it is fully translated into Telugu and verify the
wording with a native Telugu speaker or by mirroring the existing tip
translation style.

In `@public/translations/tr/default.json`:
- Around line 322-323: Update the two translation keys so both are Turkish and
scoped to the expanded-video behaviour: change "unmute_video_sound_tip" to a
Turkish string that explicitly references expanded videos (e.g., indicate
"genişletilmiş videolarda otomatik olarak sesi aç") and change
"unmute_video_sound" from English to a concise Turkish label referencing
expanded videos (e.g., "Genişletilmiş videolarda sesi aç"). Modify the values
for the keys unmute_video_sound_tip and unmute_video_sound accordingly so they
are consistent and localized.

In `@public/translations/ur/default.json`:
- Line 323: The locale entry for the key "unmute_video_sound" is still in
English; update the value to its Urdu translation so the label is localized for
Urdu users—locate the "unmute_video_sound" key in the Urdu translations file and
replace "Un-mute video sound" with the appropriate Urdu text (e.g., an accurate
Urdu phrase meaning "Un-mute video sound") ensuring the JSON value remains a
proper string.

In `@public/translations/zh/default.json`:
- Line 323: The zh locale has an English string for the "unmute_video_sound"
key; update the value for "unmute_video_sound" to a proper Chinese translation
(e.g., "取消静音视频声音" or the approved localized phrase) in the translations file so
the settings label is fully localized; modify the "unmute_video_sound" entry in
public/translations/zh/default.json to replace "Un-mute video sound" with the
Chinese text.

---

Nitpick comments:
In `@public/translations/de/default.json`:
- Line 322: The translation value for the key "unmute_video_sound_tip" uses the
incorrect contraction "beim"; change the string so the preposition matches the
feminine noun "Videowiedergabe" by replacing "beim" with "bei der" (i.e., update
the "unmute_video_sound_tip" value to "Ton bei der Videowiedergabe automatisch
aktivieren").

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e400d625-4c80-4d7a-bbce-fb7125903362

📥 Commits

Reviewing files that changed from the base of the PR and between 45622d9 and 0497148.

📒 Files selected for processing (34)
  • public/translations/ar/default.json
  • public/translations/bn/default.json
  • public/translations/cs/default.json
  • public/translations/da/default.json
  • public/translations/de/default.json
  • public/translations/el/default.json
  • public/translations/es/default.json
  • public/translations/fa/default.json
  • public/translations/fi/default.json
  • public/translations/fil/default.json
  • public/translations/fr/default.json
  • public/translations/he/default.json
  • public/translations/hi/default.json
  • public/translations/hu/default.json
  • public/translations/id/default.json
  • public/translations/it/default.json
  • public/translations/ja/default.json
  • public/translations/ko/default.json
  • public/translations/mr/default.json
  • public/translations/nl/default.json
  • public/translations/no/default.json
  • public/translations/pl/default.json
  • public/translations/pt/default.json
  • public/translations/ro/default.json
  • public/translations/ru/default.json
  • public/translations/sq/default.json
  • public/translations/sv/default.json
  • public/translations/te/default.json
  • public/translations/th/default.json
  • public/translations/tr/default.json
  • public/translations/uk/default.json
  • public/translations/ur/default.json
  • public/translations/vi/default.json
  • public/translations/zh/default.json
🚧 Files skipped from review as they are similar to previous changes (19)
  • public/translations/no/default.json
  • public/translations/uk/default.json
  • public/translations/vi/default.json
  • public/translations/bn/default.json
  • public/translations/ko/default.json
  • public/translations/hu/default.json
  • public/translations/th/default.json
  • public/translations/da/default.json
  • public/translations/es/default.json
  • public/translations/fa/default.json
  • public/translations/fr/default.json
  • public/translations/pl/default.json
  • public/translations/hi/default.json
  • public/translations/ro/default.json
  • public/translations/sq/default.json
  • public/translations/ja/default.json
  • public/translations/ar/default.json
  • public/translations/pt/default.json
  • public/translations/he/default.json

Comment on lines +322 to +323
"unmute_video_sound_tip": "Automaticky zapnout zvuk při přehrávání videa",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Missing Czech translation for unmute_video_sound label.

The unmute_video_sound value is still in English ("Un-mute video sound") while the tip on line 322 is correctly translated to Czech. This label should be localized to Czech for consistency (e.g., "Zapnout zvuk videa" or similar).

Proposed fix
   "unmute_video_sound_tip": "Automaticky zapnout zvuk při přehrávání videa",
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "Zapnout zvuk videa"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound_tip": "Automaticky zapnout zvuk při přehrávání videa",
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound_tip": "Automaticky zapnout zvuk při přehrávání videa",
"unmute_video_sound": "Zapnout zvuk videa"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/cs/default.json` around lines 322 - 323, The
"unmute_video_sound" translation key is still in English; update the value for
the key unmute_video_sound to a Czech translation (e.g., "Zapnout zvuk videa" or
similar) so it matches the localized tip key unmute_video_sound_tip and
maintains consistency across translations.

"app_p2p_info": "Du kannst dich jederzeit mit jedem Board verbinden, vollständig P2P, niemand kann dich aufhalten. Füge einfach seine Adresse in das Suchfeld oben ein."
"app_p2p_info": "Du kannst dich jederzeit mit jedem Board verbinden, vollständig P2P, niemand kann dich aufhalten. Füge einfach seine Adresse in das Suchfeld oben ein.",
"unmute_video_sound_tip": "Ton beim Videowiedergabe automatisch aktivieren",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Missing German translation for unmute_video_sound.

The value "Un-mute video sound" is in English. This is the German locale file, so this key should have a German translation (e.g., "Video-Ton aktivieren" or "Stummschaltung des Videos aufheben").

Proposed fix
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "Video-Ton aktivieren"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound": "Video-Ton aktivieren"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/de/default.json` at line 323, The translation for the key
"unmute_video_sound" is currently English; update the value in the German locale
JSON so it contains a proper German translation (e.g., "Video-Ton aktivieren" or
"Stummschaltung des Videos aufheben") by editing the "unmute_video_sound" entry
in public/translations/de/default.json to replace the English string with the
chosen German string.

Comment on lines +322 to +323
"unmute_video_sound_tip": "Αυτόματη ενεργοποίηση ήχου κατά την αναπαραγωγή βίντεο",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check how unmute_video_sound is translated in other locale files to identify patterns

# Find all translation files and check the unmute_video_sound value
fd 'default.json' public/translations --exec grep -H '"unmute_video_sound":' {}

Repository: bitsocialnet/5chan

Length of output: 2929


🏁 Script executed:

#!/bin/bash
# Get the context around lines 321-323 in the Greek translation file
echo "=== Context around lines 321-323 ==="
sed -n '318,326p' public/translations/el/default.json | cat -n

# Check if there are other untranslated (English) strings in the Greek file
echo -e "\n=== Checking for patterns of untranslated strings in Greek file ==="
# First, let's see how many translation keys exist
echo "Total translation entries in Greek file:"
grep -c '":' public/translations/el/default.json

# Check for English-only entries (not Greek text) - look for entries without Greek characters
echo -e "\nEntries that might be untranslated (English pattern, excluding known exceptions):"
grep '": "Un-' public/translations/el/default.json | head -5

Repository: bitsocialnet/5chan

Length of output: 879


Missing Greek translation for unmute_video_sound label.

The unmute_video_sound_tip is correctly translated to Greek, but unmute_video_sound still contains the English text "Un-mute video sound". This is the only untranslated entry in the Greek locale file, and Greek users will see an English label in the interface.

Provide a Greek translation to match the pattern used for this key in other locales (e.g., Portuguese: "Ativar som do vídeo", Italian: "Attiva audio del video").

🌐 Suggested translation
  "unmute_video_sound_tip": "Αυτόματη ενεργοποίηση ήχου κατά την αναπαραγωγή βίντεο",
- "unmute_video_sound": "Un-mute video sound"
+ "unmute_video_sound": "Κατάργηση σίγασης ήχου βίντεο"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound_tip": "Αυτόματη ενεργοποίηση ήχου κατά την αναπαραγωγή βίντεο",
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound_tip": "Αυτόματη ενεργοποίηση ήχου κατά την αναπαραγωγή βίντεο",
"unmute_video_sound": "Κατάργηση σίγασης ήχου βίντεο"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/el/default.json` around lines 322 - 323, Replace the
English value of the localization key "unmute_video_sound" with the proper Greek
translation; locate the key "unmute_video_sound" in the Greek locale
(public/translations/el/default.json) and change its value from "Un-mute video
sound" to a Greek label such as "Ενεργοποίηση ήχου βίντεο" so it matches the
translated "unmute_video_sound_tip" and other locale patterns.

"app_p2p_info": "Voit aina yhdistää mihin tahansa boardiin, täysin P2P, kukaan ei voi estää sinua. Liitä vain sen osoite yllä olevaan hakukenttään."
"app_p2p_info": "Voit aina yhdistää mihin tahansa boardiin, täysin P2P, kukaan ei voi estää sinua. Liitä vain sen osoite yllä olevaan hakukenttään.",
"unmute_video_sound_tip": "Ota ääni automaattisesti päälle videotoiston yhteydessä",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Localize the Finnish label instead of shipping English text.

unmute_video_sound is still in English in the fi locale, so the settings UI will show mixed language.

💬 Suggested fix
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "Poista videon äänen mykistys"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound": "Poista videon äänen mykistys"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/fi/default.json` at line 323, The Finnish locale entry
for the key "unmute_video_sound" is still English; update the value for
"unmute_video_sound" in the fi translation file to the correct Finnish label
(e.g., "Poista videon mykistys" or another approved Finnish phrasing) so the
settings UI no longer shows mixed language.

"app_p2p_info": "Maaari mong palaging kumonekta sa anumang board, ganap na P2P, walang makakapigil sa iyo. I-paste lamang ang address nito sa search field sa itaas."
"app_p2p_info": "Maaari mong palaging kumonekta sa anumang board, ganap na P2P, walang makakapigil sa iyo. I-paste lamang ang address nito sa search field sa itaas.",
"unmute_video_sound_tip": "I-unmute ang tunog nang awtomatiko kapag nagpe-play ng video",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Localize the new setting label for the Filipino locale.

Line 323 is still in English ("Un-mute video sound"), which creates mixed-language UI in fil.

💬 Suggested fix
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "I-unmute ang tunog ng video"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound": "I-unmute ang tunog ng video"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/fil/default.json` at line 323, Update the Filipino
translation for the key "unmute_video_sound" so it’s localized instead of
English; locate the JSON entry "unmute_video_sound" in
public/translations/fil/default.json and replace "Un-mute video sound" with the
appropriate Filipino string (e.g., "Buksan muli ang tunog ng video" or preferred
localized phrasing) ensuring the value remains a valid JSON string.

"app_p2p_info": "Du kan alltid ansluta till vilket board som helst, helt P2P, ingen kan stoppa dig. Klistra bara in dess adress i sökfältet ovan."
"app_p2p_info": "Du kan alltid ansluta till vilket board som helst, helt P2P, ingen kan stoppa dig. Klistra bara in dess adress i sökfältet ovan.",
"unmute_video_sound_tip": "Aktivera ljud automatiskt vid videouppspelning",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Localize Swedish label for unmute_video_sound

Line 323 is still English in the sv locale. Please translate this label to Swedish to avoid mixed-language UI.

💡 Suggested fix
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "Aktivera videoljud"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound": "Aktivera videoljud"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/sv/default.json` at line 323, Replace the English label
for the key "unmute_video_sound" with its Swedish translation by updating the
value from "Un-mute video sound" to a Swedish phrase such as "Slå på videons
ljud" (or "Slå på ljudet i videon") so the sv locale contains only Swedish text.

"app_p2p_info": "మీరు ఎప్పుడైనా ఏ బోర్డ్‌కైనా కనెక్ట్ అవ్వవచ్చు, పూర్తిగా P2P, ఎవరూ మిమ్మల్ని ఆపలేరు. పైన ఉన్న సెర్చ్ ఫీల్డ్‌లో దాని అడ్రస్ పేస్ట్ చేయండి."
"app_p2p_info": "మీరు ఎప్పుడైనా ఏ బోర్డ్‌కైనా కనెక్ట్ అవ్వవచ్చు, పూర్తిగా P2P, ఎవరూ మిమ్మల్ని ఆపలేరు. పైన ఉన్న సెర్చ్ ఫీల్డ్‌లో దాని అడ్రస్ పేస్ట్ చేయండి.",
"unmute_video_sound_tip": "వీడియో ప్లే చేసేటప్పుడు స్వయంచాలకంగా సౌండ్ అన్-మ్యూట్ చేయండి",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Untranslated label in Telugu locale file.

The unmute_video_sound value is English ("Un-mute video sound") while this is the Telugu translation file. The tip on line 322 is properly translated to Telugu, but the main label is not. This will result in mixed-language UI for Telugu users.

🌐 Proposed fix
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "వీడియో సౌండ్ అన్-మ్యూట్ చేయండి"

Note: Please verify this translation with a native Telugu speaker or use the same translation pattern as unmute_video_sound_tip.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound": "వీడియో సౌండ్ అన్-మ్యూట్ చేయండి"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/te/default.json` at line 323, Replace the English string
for the key "unmute_video_sound" with the correct Telugu translation to match
the locale file (follow the same phrasing/pattern used by
"unmute_video_sound_tip"); update the value for the "unmute_video_sound" key so
it is fully translated into Telugu and verify the wording with a native Telugu
speaker or by mirroring the existing tip translation style.

Comment on lines +322 to +323
"unmute_video_sound_tip": "Video oynatırken sesi otomatik aç",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Localize and scope the new Turkish setting text.

Line 323 is still English, and Line 322 reads broader than the feature intent (expanded videos). Please align both strings to Turkish and to the expanded-video behavior.

💬 Suggested translation update
-  "unmute_video_sound_tip": "Video oynatırken sesi otomatik aç",
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound_tip": "Küçük resimden genişletilen videolarda sesi otomatik aç",
+  "unmute_video_sound": "Genişletilen videolarda sesi aç"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound_tip": "Video oynatırken sesi otomatik aç",
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound_tip": "Küçük resimden genişletilen videolarda sesi otomatik aç",
"unmute_video_sound": "Genişletilen videolarda sesi aç"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/tr/default.json` around lines 322 - 323, Update the two
translation keys so both are Turkish and scoped to the expanded-video behaviour:
change "unmute_video_sound_tip" to a Turkish string that explicitly references
expanded videos (e.g., indicate "genişletilmiş videolarda otomatik olarak sesi
aç") and change "unmute_video_sound" from English to a concise Turkish label
referencing expanded videos (e.g., "Genişletilmiş videolarda sesi aç"). Modify
the values for the keys unmute_video_sound_tip and unmute_video_sound
accordingly so they are consistent and localized.

"app_p2p_info": "آپ ہمیشہ کسی بھی بورڈ سے جڑ سکتے ہیں، مکمل طور پر P2P، کوئی آپ کو روک نہیں سکتا۔ اوپر والے سرچ فیلڈ میں اس کا پتہ پیسٹ کریں۔"
"app_p2p_info": "آپ ہمیشہ کسی بھی بورڈ سے جڑ سکتے ہیں، مکمل طور پر P2P، کوئی آپ کو روک نہیں سکتا۔ اوپر والے سرچ فیلڈ میں اس کا پتہ پیسٹ کریں۔",
"unmute_video_sound_tip": "ویڈیو پلے ہونے پر آواز خود بخود آن کریں",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Translate the Urdu locale label instead of leaving English text

Line 323 is still in English ("Un-mute video sound"), so Urdu users will see a mixed-language setting label.

💬 Suggested fix
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "ویڈیو کی آواز آن کریں"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound": "ویڈیو کی آواز آن کریں"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/ur/default.json` at line 323, The locale entry for the
key "unmute_video_sound" is still in English; update the value to its Urdu
translation so the label is localized for Urdu users—locate the
"unmute_video_sound" key in the Urdu translations file and replace "Un-mute
video sound" with the appropriate Urdu text (e.g., an accurate Urdu phrase
meaning "Un-mute video sound") ensuring the JSON value remains a proper string.

"app_p2p_info": "你随时可以连接到任何看板,完全 P2P,没人能阻止你。只需将其地址粘贴到上方搜索框中即可。"
"app_p2p_info": "你随时可以连接到任何看板,完全 P2P,没人能阻止你。只需将其地址粘贴到上方搜索框中即可。",
"unmute_video_sound_tip": "视频播放时自动开启声音",
"unmute_video_sound": "Un-mute video sound"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Localize the new setting label for Chinese UI consistency.

Line 323 is still English ("Un-mute video sound"), which causes mixed-language settings text in the zh locale.

🌐 Proposed fix
-  "unmute_video_sound": "Un-mute video sound"
+  "unmute_video_sound": "自动取消视频静音"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"unmute_video_sound": "Un-mute video sound"
"unmute_video_sound": "自动取消视频静音"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/translations/zh/default.json` at line 323, The zh locale has an
English string for the "unmute_video_sound" key; update the value for
"unmute_video_sound" to a proper Chinese translation (e.g., "取消静音视频声音" or the
approved localized phrase) in the translations file so the settings label is
fully localized; modify the "unmute_video_sound" entry in
public/translations/zh/default.json to replace "Un-mute video sound" with the
Chinese text.

@tomcasaburi tomcasaburi merged commit 714c39c into master Mar 17, 2026
3 of 4 checks passed
@tomcasaburi tomcasaburi deleted the codex/feature/unmute-expanded-video-sound branch March 17, 2026 11:09
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

/>
) : type === 'video' ? (
<video src={url} controls autoPlay loop muted />
<video src={url} controls autoPlay loop muted={!unmuteExpandedVideoSound} />
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unmuted autoplay blocked by browsers, breaking video playback

High Severity

When unmuteExpandedVideoSound is true, muted becomes false, so the <video> element has autoPlay without muted. Modern browsers (Chrome 67+, Firefox 67+, Safari 16+) block unmuted autoplay entirely — the video won't play at all unless the user has significant prior engagement with the site. This makes the preference counterproductive: instead of playing with sound, the video simply doesn't autoplay, which is worse than the default muted behavior. The video needs to start muted to guarantee autoPlay works, then be programmatically unmuted via an onPlaying handler.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expanded video embeds opened from thumbnails stay muted

1 participant