Skip to content

28 migrate kc themes to vaadin part 1 - #36

Draft
Ekhorn wants to merge 8 commits into
mainfrom
28-migrate-kc-themes-to-vaadin-part-1
Draft

Ekhorn wants to merge 8 commits into
mainfrom
28-migrate-kc-themes-to-vaadin-part-1

Conversation

@Ekhorn

@Ekhorn Ekhorn commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Stack created with GitHub Stacks CLI • Give Feedback 💬

@Ekhorn
Ekhorn added this pull request to stack #41 October 2, 2026 13:24
Ekhorn added 8 commits October 2, 2026 16:01
Vaadin's InputControlMixin manages the slotted <input>: it replaces the id
and silently drops name, value, required and autocomplete, re-delegating
its own from the host element. Setting them on the input rendered a
correct-looking but unnamed field, so every form posted nothing but its
submit button (login=).

Move them onto the component in field() and on the two hand-written
checkboxes, and hide Lumo's required indicator, which the design does not
show.
The or-booting rule survived the Keycloakify migration but nothing set
the class any more, so stock OpenRemote branding painted and then visibly
flipped to the realm's own.

index.html now adds it before first paint; applyBranding removes it on
success, on failure, and from a 400ms timeout so an unreachable manager
can never leave a blank page.

Branding is cached per realm in localStorage and applied at once,
with the fetch revalidating in the background, and the page is only
revealed once the logo has decoded. The autofocus field is focused
again on reveal, since browsers refuse focus inside visibility:
hidden.
Resolved against the manager like the logo, and set on the one
<link rel="icon"> the theme ships rather than appending a second, which
browsers would choose between by their own rules. Bumps the branding
cache version, because the cached shape gains a field.
Keycloak draws the code on a fixed 246px canvas, so its quiet zone
varies with the otpauth URL (10.2% to 15.4% measured on 26.7). The
image is cropped a fixed 6% per side and a quiet zone we control is
added back. If Keycloak ever renders less white border, the crop cuts
into the code and it may stop scanning.
@Ekhorn
Ekhorn force-pushed the 28-migrate-kc-themes-to-vaadin-part-1 branch from 5c036a5 to 83c5255 Compare October 2, 2026 14:01
@Ekhorn Ekhorn self-assigned this Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant