Skip to content

feat(claude-terminal): meeting context + persistent session + remove insights - #24

Merged
emretheus merged 1 commit into
mainfrom
feat/claude-terminal-meeting-context
May 27, 2026
Merged

feat(claude-terminal): meeting context + persistent session + remove insights#24
emretheus merged 1 commit into
mainfrom
feat/claude-terminal-meeting-context

Conversation

@emretheus

Copy link
Copy Markdown
Owner

A batch of Claude Code terminal improvements and UX cleanup (developed + tested live this session).

Claude Code terminal

  • Meeting context: the terminal now primes the active recording meeting (id + title) into the claude session — it knows which meeting it's helping with, no more "which meeting?" guessing. For "summarize so far" it reads get_transcript directly (skips the empty mid-meeting get_summary).
  • Persistent session across tabs AND routes: the terminal is now a single app-level instance (ClaudeTerminalHost in the root layout). Its DOM node is re-parented (never re-created) between a hidden parking spot and the right-panel slot, so switching tabs or navigating routes no longer restarts claude. Bound once to the active recording meeting, so browsing other pages mid-recording doesn't reset it.
  • Light theme matching the app surface.

UX

  • Sidebar fix: "selected" (viewing) vs "recording" (live) are now distinct — only one row is highlighted; the recording meeting gets a small red pulsing dot instead of sharing the selection background. (Both used to light up.)

Removed: Copilot insights / proactive-watcher

Ran background LLM scans every 20s while recording (RAM/CPU/cost), not worth it. Deleted the watcher hook, InsightsPanel, the /insights/scan endpoint + PROACTIVE_WATCHER_SYSTEM prompt, and all store/types/refs. Recording now does zero extra background AI work.

Deps

portable-pty (Rust), @xterm/xterm + @xterm/addon-fit (frontend).

Verified

macOS build + clippy + fmt; backend ruff/mypy/pytest (82); frontend typecheck/lint/build — all green.

🤖 Generated with Claude Code

…remove insights

A batch of Claude Code terminal improvements + UX cleanup:

- **Meeting context:** the embedded terminal now primes the active recording
  meeting (id + title) into the `claude` session, so it knows which meeting
  it's helping with — no more "which meeting?" guessing. For "summarize so far"
  it reads get_transcript directly (skips the empty mid-meeting get_summary).
- **Persistent session across tabs AND routes:** the terminal is now a single
  app-level instance (ClaudeTerminalHost in the root layout). Its DOM node is
  re-parented (never re-created) between a hidden parking spot and the right
  panel's slot — so switching tabs (Copilot/Notes/Claude) or navigating routes
  no longer restarts `claude`. Bound to the active recording meeting once, so
  browsing other pages mid-recording doesn't reset it.
- **Light theme** for the terminal to match the app surface.
- **Sidebar fix:** "selected" (the meeting you're viewing) and "recording" (the
  live one) are now distinct — only one row is highlighted, and the recording
  meeting gets a small red pulsing dot instead of sharing the selection bg.
  (Previously both lit up.)
- **Remove the Copilot insights / proactive-watcher feature** entirely: it ran
  background LLM scans every 20s during recording (RAM/CPU/cost) and wasn't
  worth it. Deleted the watcher hook, InsightsPanel, the /insights/scan endpoint
  + PROACTIVE_WATCHER_SYSTEM prompt, and all store/types/refs. Recording now
  does zero extra background AI work.

Deps: portable-pty (Rust), @xterm/xterm + @xterm/addon-fit (frontend).
macOS build + clippy + fmt green; backend ruff/mypy/pytest green; frontend
typecheck/lint/build green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@emretheus
emretheus merged commit 1f0ee66 into main May 27, 2026
4 checks passed
@emretheus
emretheus deleted the feat/claude-terminal-meeting-context branch May 27, 2026 23:45
emretheus added a commit that referenced this pull request May 27, 2026
…remove insights (#24)

A batch of Claude Code terminal improvements + UX cleanup:

- **Meeting context:** the embedded terminal now primes the active recording
  meeting (id + title) into the `claude` session, so it knows which meeting
  it's helping with — no more "which meeting?" guessing. For "summarize so far"
  it reads get_transcript directly (skips the empty mid-meeting get_summary).
- **Persistent session across tabs AND routes:** the terminal is now a single
  app-level instance (ClaudeTerminalHost in the root layout). Its DOM node is
  re-parented (never re-created) between a hidden parking spot and the right
  panel's slot — so switching tabs (Copilot/Notes/Claude) or navigating routes
  no longer restarts `claude`. Bound to the active recording meeting once, so
  browsing other pages mid-recording doesn't reset it.
- **Light theme** for the terminal to match the app surface.
- **Sidebar fix:** "selected" (the meeting you're viewing) and "recording" (the
  live one) are now distinct — only one row is highlighted, and the recording
  meeting gets a small red pulsing dot instead of sharing the selection bg.
  (Previously both lit up.)
- **Remove the Copilot insights / proactive-watcher feature** entirely: it ran
  background LLM scans every 20s during recording (RAM/CPU/cost) and wasn't
  worth it. Deleted the watcher hook, InsightsPanel, the /insights/scan endpoint
  + PROACTIVE_WATCHER_SYSTEM prompt, and all store/types/refs. Recording now
  does zero extra background AI work.

Deps: portable-pty (Rust), @xterm/xterm + @xterm/addon-fit (frontend).
macOS build + clippy + fmt green; backend ruff/mypy/pytest green; frontend
typecheck/lint/build green.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to 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.

1 participant