You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ui): polish a11y, branding, and UX; fix log-follow and stale-state bugs (#5222)
Web UI polish + bug-fix pass over the SPA served by the operator,
`ksail ui`, and the desktop app:
Bugs / unintended behavior
- LogViewer no longer yanks the view to the bottom while reading
scrollback: auto-follow pauses on scroll-up and a Follow button
resumes it (also fixes invalid <div> inside <pre>).
- ResourcesView closes detail/log/exec/confirm state when the active
cluster switches, so panels never operate on the previous cluster.
- ApplyManifestsDialog only spins the clicked action (Validate vs
Apply) instead of both, and disables the file picker while busy.
- OverviewView no longer shows a false "No pods." empty state and a
blank Workloads card while live health is still loading.
- Create-cluster name is now validated inline (required + RFC 1123
pattern) instead of silently no-op'ing the submit.
- Local/desktop surface preselects Docker as create-form provider
(the operator keeps the in-cluster Kubernetes default).
- Theme follows live OS appearance changes until explicitly toggled;
endpoint copy failures surface a toast.
Accessibility & guideline compliance
- Real labels for the replicas input, secrets/apply textareas, and
the command-palette input; aria-pressed on segmented toggles.
- Visible focus states for sort headers, row actions, format
toggles, the login link, and secondary/ghost buttons.
- prefers-reduced-motion honored globally; overscroll containment in
modals, drawers, and menus; skip-to-content link; error banners
and error toasts announced via role=alert; aria-busy on buttons.
- Platform-aware shortcut hint (⌘K vs Ctrl K), theme-color metas,
touch-action: manipulation on interactive elements.
Branding & polish
- The sidebar and login screen now carry the real KSail twin-sail
sloop mark (shared inline Logo component) instead of a generic
boxes icon; subtle brand glow on the login screen.
- Toast slide-in, cluster-switcher menu transition, animated health
bars, contextual empty-state icons, search-type filter input.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0 commit comments