UI Polish & Hardening
Bug Fixes
- Container recreate alias hardening — Unconditional 30s transient window skip, single inspect per event, security-bounded suppression. Fixes slow-shutdown containers producing duplicate MQTT/Telegram entries. (#156)
- Dashboard host-status for remote watchers — Widget now shows correct container counts for non-agent remote watchers. (#155)
- Tooltip viewport overflow — Replaced CSS pseudo-element tooltips with body-appended popup using
position:fixedand auto-flip. (#165) - Theme switcher — Restored document binding for
startViewTransitionAPI.
New Features
- Click-to-copy on version tags —
CopyableTagcomponent with "Copied!" tooltip feedback on all version displays (dashboard, container list, detail panels). (#164) - Dark mode icon inversion — Simple Icons (
si:prefix) auto-invert in dark mode. - Tailwind v4 class-based dark mode —
@custom-variant darkdirective for proper.darkclass detection.
Improvements
- Dashboard version column centered
- Sidebar search button border removed, ⌘K badge improved dark mode contrast
- CI pipeline graph connected (lint/test now depend on security check, build gates on all three)
- Pre-push build-test script captures output for readable failure diagnostics
- URL rebrand: all references updated to
getdrydock.com - CHANGELOG split into proper v1.4.2/v1.4.3/v1.4.4 sections
- TypeScript quality improvements across UI source and test files