Backend (voice-call groundwork, no call engine yet): - Profile.callsEnabled (Boolean default true) + migration - canCall(caller,callee): mutual-follow AND callee.callsEnabled — server-side hard guard - POST /api/me/calls-enabled (opt-out toggle), GET /api/chat/can-call/:userId - expose callsEnabled in /api/auth/me Frontend: - "Allow calls" toggle in Profile privacy section (default on, optimistic+rollback) - Me.callsEnabled + i18n DE/EN/FR/AR Bundled DM UI work from this session: - image lightbox is now a swipeable carousel over all shared images (+ counter) - keyboard stays open after sending (input ref refocus) - voice notes: Instagram-style waveforms (own=white/mint, other=black/grey), removed the blue progress dot; lazy-load expo-media-library with clean fallback - expo-linear-gradient + expo-media-library deps Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
9 lines
397 B
SQL
9 lines
397 B
SQL
-- Voice-Calls Opt-out-Flag pro User (Phase 0).
|
|
-- Default true: Anrufe sind erlaubt, solange beide sich gegenseitig folgen.
|
|
-- Server-seitig erzwungen in social.canCall (mutual-follow + calls_enabled).
|
|
--
|
|
-- Deploy: pnpm prisma migrate deploy (auf Hetzner, via deploy-from-artifact.sh)
|
|
|
|
ALTER TABLE "rebreak"."profiles"
|
|
ADD COLUMN IF NOT EXISTS "calls_enabled" boolean NOT NULL DEFAULT true;
|