Commit Graph
13 Commits
Author SHA1 Message Date
gitea-adminandClaude Fable 5.1 ebbd5821fd Harden Hub startup and display-name handling
- Display names starting with '-' were parsed by tmux rename-window as
  flags. The alias was persisted before tmux rejected it, so every later
  start/refresh/open failed in refresh_labels until aliases.json was
  edited by hand. Guard rename-window with '--', apply the name before
  persisting it, and roll back the in-memory table on failure.
- Start the Hub tmux server with -f /dev/null by default. Reading the
  user's ~/.tmux.conf let theme status-formats replace the Sessions bar
  and root-table bindings leak into Herdr; HERDR_HUB_TMUX_CONFIG still
  opts into a custom file.
- An unreadable aliases.json blocked start/refresh/open/choose. Degrade
  to default names with a warning (stderr, or the popup message) and
  leave the file untouched for `doctor` to report.
- `doctor` crashed with a traceback when a *_BIN override pointed at a
  missing executable; report it as a failure instead.
- Refuse to run inside another tmux server before discovery and server
  creation, so no unattached Hub is left behind.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 02:58:45 +00:00
gitea-adminandClaude Fable 5.1 6b906de476 Fix retry crash for unregistered remotes in the Sessions popup
Opening a window whose target was removed from the registry (its tab
stays open by design) and failing landed in the action menu with a
"重试连接" row that indexed self.entries directly and raised KeyError,
killing the popup with a traceback.

Only offer the retry action for registered targets, degrade a stale
retry row to a message, and keep the popup alive when a handler raises
anything unexpected instead of dying with a traceback.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 02:58:45 +00:00
gitea-admin 6f933e1c80 Add Herdr update and live handoff menu actions
The Ctrl+A h command menu gains two host-scoped actions: a plain
`herdr update` that streams updater output into the popup, and an
experimental update-and-hot-restart flow that verifies a live server
handoff and reconnects the originating Hub tab once the popup closes.

Remote updates use the remote host's own proxy settings. A standalone
helper reads literal proxy assignments from shell profiles and running
Clash/Mihomo listeners without executing startup files; Windows reads
process, user and machine proxy variables through PowerShell.
2026-10-03 02:51:44 +00:00
gitea-admin a5e8e32f1e Add shortcut help popup 2026-09-18 14:32:58 +00:00
gitea-admin 6e420b2db5 Add Herdr agent fork command menu 2026-09-18 09:07:04 +00:00
gitea-admin d6697d46f8 Keep session manager open on launch failure 2026-09-12 18:25:39 +00:00
gitea-admin e5c5c3015f Document Termux copy workflow 2026-09-09 15:57:02 +00:00
gitea-admin 36bee161cb Simplify session manager interaction model 2026-09-03 14:42:25 +00:00
gitea-admin 58e68b26de Allow removing unreachable remotes from session manager 2026-09-03 14:10:01 +00:00
gitea-admin b12f2c4986 Allow deleting stopped sessions with stale tabs 2026-09-03 14:05:24 +00:00
gitea-admin c65361c009 Fix delete shortcut handling in session manager 2026-09-03 13:54:06 +00:00
gitea-admin 02d83a04bd Improve remote session management and Windows support 2026-09-03 12:58:24 +00:00
gitea-admin 6c2c9672e1 Initial release of herdr session switcher 2026-09-02 01:33:38 +00:00