Go to file
aaverbitskiy 341bc42778 auth ui: prevent flash of manager-only controls on load
Anonymous visitors briefly saw the manager-only filters (Brand/Manager/Status),
checkboxes and appearance menu on refresh, because applyRoleUi() hides them only
after the async Keycloak check-sso resolves.

Fix: mark those elements .manager-only and hide them pre-paint via a .role-pending
class set on <html> by the inline head script, gated by a render-blocking CSS rule
(html.role-pending .manager-only { display:none }). applyRoleUi() drops
.role-pending once the role is known and then applies the final per-element state.
Default is now fail-closed (hidden until confirmed manager), so anonymous never
flashes them; managers see the controls appear a moment after load.
2026-08-14 11:29:51 +00:00
frontend auth ui: prevent flash of manager-only controls on load 2026-08-14 11:29:51 +00:00
static auth: Keycloak OIDC — anonymous (truncated) vs manager (full) tiers 2026-08-14 11:05:47 +00:00
.gitignore db creds: move ClickHouse user/password to gitignored .env via compose env_file; drop hardcoded default from main.py 2026-07-23 05:19:13 +00:00
auth.py auth: Keycloak OIDC — anonymous (truncated) vs manager (full) tiers 2026-08-14 11:05:47 +00:00
docker-compose.yml db creds: move ClickHouse user/password to gitignored .env via compose env_file; drop hardcoded default from main.py 2026-07-23 05:19:13 +00:00
Dockerfile auth: Keycloak OIDC — anonymous (truncated) vs manager (full) tiers 2026-08-14 11:05:47 +00:00
main.py auth: Keycloak OIDC — anonymous (truncated) vs manager (full) tiers 2026-08-14 11:05:47 +00:00
requirements.txt auth: Keycloak OIDC — anonymous (truncated) vs manager (full) tiers 2026-08-14 11:05:47 +00:00