Skip to content

feat: add pear logo in sidebar header - #1

Merged
willwashburn merged 1 commit into
mainfrom
feat/sidebar-logo
Mar 17, 2026
Merged

feat: add pear logo in sidebar header#1
willwashburn merged 1 commit into
mainfrom
feat/sidebar-logo

Conversation

@barryonthecape

Copy link
Copy Markdown

Summary\n- add pear logo SVG asset\n- render logo at the top-left of the sidebar header next to Workspaces\n\n## Testing\n- npm run build\n- npm run dev\n

@willwashburn
willwashburn merged commit 59ce862 into mainMar 17, 2026
miyaontherelay added a commit that referenced this pull request Jun 8, 2026
…lush
Fix#1/#13: initIfReady schedules a requestAnimationFrame retry when the
container has no layout (hidden tab, split page mounted at display:none).
mount() now always invokes initIfReady regardless of prior parentage so
the retry actually fires once the container becomes visible.
Fix#6: dispose() cancels the init rAF and calls clearPtyBuffer(key)
before flipping the disposed flag, so a queued rAF flush can't write
into a torn-down xterm. writeFromBuffer also early-returns when disposed
as belt-and-braces.
miyaontherelay added a commit that referenced this pull request Jun 8, 2026
…lush
Fix#1/#13: initIfReady schedules a requestAnimationFrame retry when the
container has no layout (hidden tab, split page mounted at display:none).
mount() now always invokes initIfReady regardless of prior parentage so
the retry actually fires once the container becomes visible.
Fix#6: dispose() cancels the init rAF and calls clearPtyBuffer(key)
before flipping the disposed flag, so a queued rAF flush can't write
into a torn-down xterm. writeFromBuffer also early-returns when disposed
as belt-and-braces.
miyaontherelay added a commit that referenced this pull request Jun 8, 2026
…stic on reconcile; drop window-focus auto-focus
Three fixes from reviewer-indep's NO-GO cold-eyes pass:
1. terminal-runtime-registry: detach(token) now calls cancelPendingInit().
The recursive initIfReady rAF retry loop (Fix#1 for hidden split-page
init) was not being cancelled when a runtime was parked. In split mode,
any non-visible display:none split page would spin a permanent rAF
against a disconnected container. Now matched-token detach drains it.
2. agent-store: reconcileChatMessages detects the optimistic-vs-canonical
human-echo case by (channel, body, project, time-window) and replaces
the optimistic local-UUID record with the canonical broker-event-id
record instead of appending both. This closes the duplicate-chat path
left open after the view-layer dedupe removal — the store-level
isDuplicateHumanEcho only guarded the optimistic-side append; the
reconcile path appended unconditionally on id miss.
3. use-terminal: removed the window-focus handler's auto-focus on alt-tab
back to pear. Same DECSET ?1004 emission class as the visibility-effect
focus removed in 701e2a7. Alt-tabbing is less frequent than
tab-switching but in the same bug class. User-initiated clicks still
focus via the pointerdown handler.
Gates: tsc clean on all three files; npm run build clean.
Note: the diagnostic instrumentation pushed in 5707dc7 is kept in this
commit pending the user's capture data for the per-/mcp-invocation
double-render (which neither the focus fix nor these three address —
that's still unaccounted-for and the instrumentation is how we find it).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@barryonthecape@willwashburn