From 4af39170267e936f3be0d6a5980c33558050a6a0 Mon Sep 17 00:00:00 2001 From: riyadhafraa <49757212-riyadhafraa@users.noreply.replit.com> Date: Tue, 5 May 2026 08:20:54 +0000 Subject: [PATCH] Task #389: Notification sounds + vibration with per-user customization DB - Added 7 user pref columns; vibration is now per-channel (vibrationEnabledOrder + vibrationEnabledMeeting). Defaults: ding/chime sounds, vibration on, mute off, volume 70. API - PATCH /auth/me/notification-preferences (requireAuth, whitelisted partial update, integer guard for volume). buildAuthUser exposes all new fields. - OpenAPI spec updated; orval client + zod regenerated. Frontend - Static sound library: 8 short WAV assets under public/sounds/ + manifest (notification-sound-manifest.ts) mapping id -> labelKey -> URL. - HTMLAudio-based player (notification-sounds.ts) with throttle, unlock, cache, and AUTOPLAY_BLOCKED_EVENT dispatch when play is denied pre-gesture. - Settings popover: global mute, volume, slot tabs (orders/meetings) with per-channel sound + per-channel vibration + per-channel toggle, sound list with one-tap previews. Concurrency-safe optimistic updates (monotonic seq counter). RTL-correct toggle knob transforms. - QuickMuteButton: one-tap topbar mute control (Volume2/VolumeX) with confirmation toast. - useAudioUnlock: unlocks audio on first interaction. - useAutoplayHint: toasts a localized "click anywhere to enable" hint when the player reports a blocked play attempt. - Socket hook plays the right per-channel sound + vibration on notification_created (orders, executive_meeting) when the tab is hidden. - UpcomingMeetingAlert: plays meeting reminder once per new eligible meeting (deduped by meetingId, survives 30s polling refetches). - AR/EN translations added. Pre-existing TS errors in executive-meetings.ts (font_settings) and pre-existing test workflow failures are unrelated. --- artifacts/api-server/src/routes/auth.ts | 6 +- artifacts/tx-os/public/sounds/alert.wav | Bin 0 -> 29590 bytes artifacts/tx-os/public/sounds/beep.wav | Bin 0 -> 13274 bytes artifacts/tx-os/public/sounds/bell.wav | Bin 0 -> 28708 bytes artifacts/tx-os/public/sounds/chime.wav | Bin 0 -> 34882 bytes artifacts/tx-os/public/sounds/ding.wav | Bin 0 -> 24298 bytes artifacts/tx-os/public/sounds/knock.wav | Bin 0 -> 15478 bytes artifacts/tx-os/public/sounds/pop.wav | Bin 0 -> 9304 bytes artifacts/tx-os/public/sounds/soft.wav | Bin 0 -> 28708 bytes artifacts/tx-os/src/App.tsx | 2 + .../upcoming-meeting-alert.tsx | 17 ++ .../src/components/notification-settings.tsx | 116 +++++++--- .../tx-os/src/hooks/use-autoplay-hint.ts | 27 +++ .../src/hooks/use-notifications-socket.ts | 5 +- .../src/lib/notification-sound-manifest.ts | 31 +++ .../tx-os/src/lib/notification-sounds.ts | 212 +++++++----------- artifacts/tx-os/src/locales/ar.json | 9 +- artifacts/tx-os/src/locales/en.json | 9 +- artifacts/tx-os/src/pages/home.tsx | 6 +- .../src/generated/api.schemas.ts | 6 +- lib/api-spec/openapi.yaml | 11 +- lib/api-zod/src/generated/api.ts | 21 +- lib/db/src/schema/users.ts | 3 +- 23 files changed, 292 insertions(+), 189 deletions(-) create mode 100644 artifacts/tx-os/public/sounds/alert.wav create mode 100644 artifacts/tx-os/public/sounds/beep.wav create mode 100644 artifacts/tx-os/public/sounds/bell.wav create mode 100644 artifacts/tx-os/public/sounds/chime.wav create mode 100644 artifacts/tx-os/public/sounds/ding.wav create mode 100644 artifacts/tx-os/public/sounds/knock.wav create mode 100644 artifacts/tx-os/public/sounds/pop.wav create mode 100644 artifacts/tx-os/public/sounds/soft.wav create mode 100644 artifacts/tx-os/src/hooks/use-autoplay-hint.ts create mode 100644 artifacts/tx-os/src/lib/notification-sound-manifest.ts diff --git a/artifacts/api-server/src/routes/auth.ts b/artifacts/api-server/src/routes/auth.ts index 918e69eb..f92d01ba 100644 --- a/artifacts/api-server/src/routes/auth.ts +++ b/artifacts/api-server/src/routes/auth.ts @@ -66,7 +66,8 @@ function buildAuthUser( notificationSoundMeeting: user.notificationSoundMeeting, notifyOrdersEnabled: user.notifyOrdersEnabled, notifyMeetingsEnabled: user.notifyMeetingsEnabled, - vibrationEnabled: user.vibrationEnabled, + vibrationEnabledOrder: user.vibrationEnabledOrder, + vibrationEnabledMeeting: user.vibrationEnabledMeeting, notificationsMuted: user.notificationsMuted, notificationVolume: user.notificationVolume, roles, @@ -445,7 +446,8 @@ router.patch("/auth/me/notification-preferences", requireAuth, async (req, res): "notificationSoundMeeting", "notifyOrdersEnabled", "notifyMeetingsEnabled", - "vibrationEnabled", + "vibrationEnabledOrder", + "vibrationEnabledMeeting", "notificationsMuted", "notificationVolume", ] as const) { diff --git a/artifacts/tx-os/public/sounds/alert.wav b/artifacts/tx-os/public/sounds/alert.wav new file mode 100644 index 0000000000000000000000000000000000000000..f8dd0aeb6a7bfcba9144747d3074112aa0c692e2 GIT binary patch literal 29590 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 KUjzT28u&jZk8^7P literal 0 HcmV?d00001 diff --git a/artifacts/tx-os/public/sounds/bell.wav b/artifacts/tx-os/public/sounds/bell.wav new file mode 100644 index 0000000000000000000000000000000000000000..85d1f01cc0c9b170922916b527dec6ce8d0b50b7 GIT binary patch literal 28708 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 OzZdxL1^&Oh!2bbIQ?eeiJFaE@MdNBT#0 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 literal 0 HcmV?d00001 diff --git a/artifacts/tx-os/public/sounds/ding.wav b/artifacts/tx-os/public/sounds/ding.wav new file mode 100644 index 0000000000000000000000000000000000000000..fdece0f14e6c43be04b50b9da5c5fe3d1fa2ef72 GIT binary patch literal 24298 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 I|H%UX1Iw;PjsO4v literal 0 HcmV?d00001 diff --git a/artifacts/tx-os/public/sounds/knock.wav b/artifacts/tx-os/public/sounds/knock.wav new file mode 100644 index 0000000000000000000000000000000000000000..5765bd784456a7733e3165c12e401c0b25df8a6a GIT binary patch literal 15478 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 CY$fmj literal 0 HcmV?d00001 diff --git a/artifacts/tx-os/public/sounds/pop.wav b/artifacts/tx-os/public/sounds/pop.wav new file mode 100644 index 0000000000000000000000000000000000000000..6bb0fffc0b5851a0734f989e8bf63ce1adb865b9 GIT binary patch literal 9304 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 literal 0 HcmV?d00001 diff --git a/artifacts/tx-os/public/sounds/soft.wav b/artifacts/tx-os/public/sounds/soft.wav new file mode 100644 index 0000000000000000000000000000000000000000..c5631f149c8fb7629cfd4711870b6994e7588219 GIT binary patch literal 28708 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 literal 0 HcmV?d00001 diff --git a/artifacts/tx-os/src/App.tsx b/artifacts/tx-os/src/App.tsx index 6698e08b..427a3398 100644 --- a/artifacts/tx-os/src/App.tsx +++ b/artifacts/tx-os/src/App.tsx @@ -5,6 +5,7 @@ import { TooltipProvider } from "@/components/ui/tooltip"; import { AuthProvider } from "@/contexts/AuthContext"; import { useNotificationsSocket } from "@/hooks/use-notifications-socket"; import { useAudioUnlock } from "@/hooks/use-audio-unlock"; +import { useAutoplayHint } from "@/hooks/use-autoplay-hint"; import { UpcomingMeetingAlert } from "@/components/executive-meetings/upcoming-meeting-alert"; import NotFound from "@/pages/not-found"; import LoginPage from "@/pages/login"; @@ -33,6 +34,7 @@ const queryClient = new QueryClient({ function NotificationsSocketBridge() { useNotificationsSocket(); useAudioUnlock(); + useAutoplayHint(); return null; } diff --git a/artifacts/tx-os/src/components/executive-meetings/upcoming-meeting-alert.tsx b/artifacts/tx-os/src/components/executive-meetings/upcoming-meeting-alert.tsx index 7e052c45..6b2e3833 100644 --- a/artifacts/tx-os/src/components/executive-meetings/upcoming-meeting-alert.tsx +++ b/artifacts/tx-os/src/components/executive-meetings/upcoming-meeting-alert.tsx @@ -41,6 +41,7 @@ import { } from "lucide-react"; import { hexToRgba, useAlertPrefs } from "@/lib/upcoming-alert-prefs"; import { formatTime as formatTimeLocale } from "@/lib/i18n-format"; +import { notificationPlayer } from "@/lib/notification-sounds"; const POSITION_KEY = "txos.upcomingMeetingAlert.position"; const ALERT_LEAD_MINUTES = 5; @@ -457,6 +458,22 @@ export function UpcomingMeetingAlert() { setExpanded(false); }, [eligibleId]); + // Play the meeting reminder sound exactly once per *new* eligible + // meeting (deduped by id) so polling refetches don't replay the chime + // every 30s. Honors the user's mute / per-channel toggle. + const playedRef = useRef>(new Set()); + useEffect(() => { + if (!eligibleId || !user) return; + if (playedRef.current.has(eligibleId)) return; + playedRef.current.add(eligibleId); + if (user.notificationsMuted) return; + if (!user.notifyMeetingsEnabled) return; + notificationPlayer.play(user.notificationSoundMeeting, { + volume: user.notificationVolume, + vibrate: user.vibrationEnabledMeeting, + }); + }, [eligibleId, user]); + if (!enabled || !eligible) return null; // User toggled the popup off in settings — render nothing. Detection // happens after `enabled/eligible` so the upstream "shown" recording diff --git a/artifacts/tx-os/src/components/notification-settings.tsx b/artifacts/tx-os/src/components/notification-settings.tsx index 9472cf98..cb3c1ada 100644 --- a/artifacts/tx-os/src/components/notification-settings.tsx +++ b/artifacts/tx-os/src/components/notification-settings.tsx @@ -7,7 +7,8 @@ import { type AuthUser, type NotificationSoundId, } from "@workspace/api-client-react"; -import { Bell, BellOff, Check, Volume2, Play } from "lucide-react"; +import { Bell, BellOff, Check, Volume2, VolumeX, Play } from "lucide-react"; +import { useToast } from "@/hooks/use-toast"; import { Popover, PopoverContent, @@ -21,7 +22,8 @@ type PrefsPatch = { notificationSoundMeeting?: NotificationSoundId; notifyOrdersEnabled?: boolean; notifyMeetingsEnabled?: boolean; - vibrationEnabled?: boolean; + vibrationEnabledOrder?: boolean; + vibrationEnabledMeeting?: boolean; notificationsMuted?: boolean; notificationVolume?: number; }; @@ -157,6 +159,42 @@ function Toggle({ ); } +/** + * One-tap mute toggle for the topbar (separate from the settings popover + * trigger). Shows a confirmation toast so the user knows the change took + * effect even though there's no visual focus shift. + */ +export function QuickMuteButton() { + const { t } = useTranslation(); + const { user } = useAuth(); + const { toast } = useToast(); + const apply = useUpdatePrefs(); + if (!user) return null; + const muted = user.notificationsMuted; + return ( + + ); +} + export function NotificationSettingsPicker() { const { t } = useTranslation(); const { user } = useAuth(); @@ -173,16 +211,9 @@ export function NotificationSettingsPicker() {