Tags: SurgeDM/Surge
Tags
feat(tui): pin tab + auto-follow new downloads (#438) * feat(tui): add pin tab feature and auto-follow new downloads - Add pinnedTab field to RootModel to track which tab is pinned (-1 = none) - Press ctrl+tab to toggle pin on the active tab; a 📌 icon appears in the tab bar - When a tab is pinned, automatic tab switching is suppressed — the UI stays put - When no tab is pinned, the TUI now auto-follows new downloads started from the browser extension (sets SelectedDownloadID on DownloadStarted/Queued events) - Update Tab component to accept a Pinned field and render the pin icon - Add PinTab key binding to dashboard help view Closes #431 * fix(tui): use switch for tab name resolution (staticcheck) * style(tui): replace pin emoji with unicode ◆ (U+25C6) * fix(tui): change pin tab key from ctrl+tab to 't' ctrl+tab is consumed by the terminal emulator and never reaches the TUI. Use 't' (toggle) as the pin key instead — consistent with single-key binding style used throughout the dashboard (q/w/e, p, r, x, etc.). * feat(tui): arrow key tab switching, remove j/k, fix pin override - Left/right arrows now switch tabs (prev/next); tab key retained for next - Remove vim j/k navigation bindings (closes #430) - Fix: pin tab now fully overrides ALL tab switches including: - Downloads started via 'a' key (startDownload in process.go) - Browser extension downloads (update_events.go) - Download completion follow-through (list.go) * feat(tui): block tab switching when pinned, log hint to unpin When a tab is pinned, pressing q/w/e, left/right, or tab now logs '◆ Tab is pinned — press t to unpin' instead of switching tabs. * fix(tui): address auto-follow edge cases and add tests
feat(tui): pin tab + auto-follow new downloads (#438) * feat(tui): add pin tab feature and auto-follow new downloads - Add pinnedTab field to RootModel to track which tab is pinned (-1 = none) - Press ctrl+tab to toggle pin on the active tab; a 📌 icon appears in the tab bar - When a tab is pinned, automatic tab switching is suppressed — the UI stays put - When no tab is pinned, the TUI now auto-follows new downloads started from the browser extension (sets SelectedDownloadID on DownloadStarted/Queued events) - Update Tab component to accept a Pinned field and render the pin icon - Add PinTab key binding to dashboard help view Closes #431 * fix(tui): use switch for tab name resolution (staticcheck) * style(tui): replace pin emoji with unicode ◆ (U+25C6) * fix(tui): change pin tab key from ctrl+tab to 't' ctrl+tab is consumed by the terminal emulator and never reaches the TUI. Use 't' (toggle) as the pin key instead — consistent with single-key binding style used throughout the dashboard (q/w/e, p, r, x, etc.). * feat(tui): arrow key tab switching, remove j/k, fix pin override - Left/right arrows now switch tabs (prev/next); tab key retained for next - Remove vim j/k navigation bindings (closes #430) - Fix: pin tab now fully overrides ALL tab switches including: - Downloads started via 'a' key (startDownload in process.go) - Browser extension downloads (update_events.go) - Download completion follow-through (list.go) * feat(tui): block tab switching when pinned, log hint to unpin When a tab is pinned, pressing q/w/e, left/right, or tab now logs '◆ Tab is pinned — press t to unpin' instead of switching tabs. * fix(tui): address auto-follow edge cases and add tests
PreviousNext