gscMy /settings now hosts a single Language picker. - Persisted in admin.users.locale (keyed by gscSID). Per the gsc-identity-boundaries decision, locale is one of the explicitly allowed app-local preference columns. - Cross-app effect via NEXT_LOCALE cookie set with Domain=.gosec.internal — every sibling host on *.gosec.internal picks it up on the next request (no relogin, no DB read). - Server action prisma.user.upsert + cookies().set; client form reloads after save so next-intl re-resolves immediately. This deliberately collapses the previous kitchen-sink AccountSettings page (which depended on the broken gscUserId/getUserEffectiveSettings path) — full settings UI will return when the database/users.ts redesign in Phase-2 lands. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.1 KiB
7.1 KiB