Files
gscMy/k8s
Super User a63aa4e2b7 feat(settings): cross-app language preference
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>
2026-05-18 14:53:35 +02:00
..