fix(app): working scrollback search + stop prompt duplication on focus
Search fixes: - TerminalView sets allowProposedApi (the search addon's match decorations use registerMarker/registerDecoration); without it findNext threw before firing results, so the counter was stuck at 0/0. - The search bar now renders inside the panel it targets (in the header) instead of a global top-right overlay, so it's obvious which panel is searched. - Search is anchored to the panel it was opened on (searchSurfaceId) and no longer follows focus — opening it in one panel and switching away no longer shows it open elsewhere. Prompt duplication: - The focus border was 1px when unfocused, 2px when focused; with border-box that resized the content on every focus switch, firing ResizeObserver -> fit -> PTY SIGWINCH and making zsh/powerlevel10k reprint its prompt. The border is now a constant 2px, color-only on focus. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,10 @@ export function TerminalView({ surfaceId }: { surfaceId: string }) {
|
||||
|
||||
useEffect(() => {
|
||||
if (!ref.current) return;
|
||||
const term = new Terminal({ fontFamily: "'JetBrains Mono Variable', 'JetBrains Mono', monospace", fontSize: 13, convertEol: false, scrollback: 10000 });
|
||||
// allowProposedApi is required by the search addon: its match decorations
|
||||
// call registerMarker/registerDecoration (proposed API). Without it findNext
|
||||
// throws and the scrollback search counter never updates.
|
||||
const term = new Terminal({ fontFamily: "'JetBrains Mono Variable', 'JetBrains Mono', monospace", fontSize: 13, convertEol: false, scrollback: 10000, allowProposedApi: true });
|
||||
try {
|
||||
term.loadAddon(new WebglAddon());
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user