dms_tailscalectl/tailscalectl
Ebeneezer (Hermes Agent) 7c31598594 fix(ui): layout spacer, peer empty state, busy mutex, style
- RowLayout + real Layout.fillWidth spacer (#18)
- ListView boundsBehavior StopAtBounds (#27)
- Show Not connected empty state when disconnected (#55)
- Single-flight _busy guard across status/toggle/exit/copy
- Inline exit-node active/clear checks (no over-abstract predicates)
- Terminate JS statements in QML handlers with semicolons

Written by AI agent working for @jtmorris. Model: Grok 4.5.
2026-07-15 01:11:59 -07:00
..
i18n feat(i18n): make lib.js strings I18n source keys (strategy A); remove dead symbol exports; update tests; add i18n/ scaffolding + en.json placeholder 2026-05-25 03:00:33 +00:00
lib.js fix: clear disconnected peer state; abort toggle on failed status poll 2026-07-15 01:11:59 -07:00
plugin.json fix: remove duplicate version key from plugin.json and modernize for-in loop in lib.js 2026-05-25 03:00:33 +00:00
TailscaleWidget.qml fix(ui): layout spacer, peer empty state, busy mutex, style 2026-07-15 01:11:59 -07:00