With allowPrerelease enabled, electron-updater may consider the current
version as an "available" update, causing the update banner to reappear
in a loop after restarting. Guard both update-available and
update-downloaded handlers to skip when the reported version matches the
running app version. Also preserve the userInitiated flag through the
same-version guard so user-initiated checks still show the "latest
version" toast.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Move activeWorktreeId/activeTabId clearing out of shutdownWorktreeTerminals
(a terminal-focused store action) and into the UI component that triggers
shutdown. The delete flow already handles this independently in worktrees.ts.
Also fix pre-existing lint issues and extract terminal helpers to separate file.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
The preload implementation and IPC handler for getVersion existed but
the type declaration was missing, causing TS2339 on Windows CI.
Also converts interfaces to type aliases in the preload type
declarations to satisfy the consistent-type-definitions lint rule.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* repo-added notifications feature
- Add repo-added notifications
* Fix lint issues in repos slice: use type alias, add curly braces
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Adds 4px top-left margin with matching size reduction to prevent
terminal content from touching the pane edges.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Wider invisible hit area around dividers (visible line drawn via CSS
::after pseudo-element) for easier grabbing
- Persist split ratios in layout snapshots so resized panes survive
tab switches and restores
- Double-click divider to equalize sibling panes
- Notify onLayoutChanged after drag-end to trigger ratio persistence
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Switch fontHintTarget from 'light' to 'normal' for crisper grid-fitting
- Enable fontThicken for bolder glyph rendering (restty feature)
- Add per-pane font zoom via Cmd+/- (only affects focused terminal pane)
- Fall back to browser zoom when not on a terminal view
- Add UI Zoom control to General settings with +/- buttons and reset
- Handle zoom shortcuts via before-input-event for reliable Cmd+- support
- Fix race condition in PTY exit handler (use captured ID, not mutable ref)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Intercept Shift+Enter and send Ctrl+V + LF (\x16\x0a) to the PTY,
which triggers quoted-insert in both bash (readline) and zsh (zle)
to insert a literal newline without executing the command.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement URL detection from PTY output since Restty's canvas-based
rendering doesn't expose a text layer for link detection.
- TerminalLinkDetector tracks PTY output, strips ANSI codes, and
maintains a line buffer to detect URLs at screen positions
- Each pane gets its own detector fed via beforeRenderOutput hook
- Ctrl+Click (or Cmd+Click) on a detected URL opens it in the
default browser via shell.openExternal
- Ctrl+hover shows pointer cursor when over a URL, reverts on release
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>