Skip to content

feat(desktop): polish agent-session transcript UI atop declared-ownership model#1273

Draft
tellaho wants to merge 1 commit into
mainfrom
tho/activity-ui-polish-replay
Draft

feat(desktop): polish agent-session transcript UI atop declared-ownership model#1273
tellaho wants to merge 1 commit into
mainfrom
tho/activity-ui-polish-replay

Conversation

@tellaho

@tellaho tellaho commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Overview

Category: improvement
User Impact: The agent-session transcript view gets a polish pass — cleaner grouping, tool-call summaries, assistant-bubble avatars, and density-aware markdown — now reconciled with the declared-ownership activity model.

Problem: PR #1061 (tho/activity-ui-polish) drifted 164 commits behind main and was based on a now-closed branch (tho/activity-ingress-ownership, #1060). A straight rebase was gnarly — the branch's own later commits delete what its early commits add. Meanwhile #1229 reworked activity authorization from key-custody to declared ownership, superseding the old ingress foundation.

Solution: Replayed the 20 UI-polish commits as a single net diff onto fresh main, dropping the 3 superseded ingress commits and hand-reconciling against #1229's merged model. The polish layers cleanly atop viewerIsOwner = isCurrentUserOwner || isOwner rather than reverting it.

Supersedes #1061 (whose base branch is closed). Observer-seed screenshot work is intentionally excluded as a separate follow-up.

Reconcile notes

markdown.tsx — ported the compact/tight variant system into main's newer lightbox/spoiler markdown component (rather than overwriting it), layering variant density/leading overrides after the base owl-spacing so tailwind-merge wins. Dropped the branch's hardcoded text-[15px] in favor of main's rem-token text-sm base (post-#1052 zoom-safe scale).

AgentSessionTranscriptList.tsx — preserved #1089's content-visibility-auto on the item wrapper (perf win for long transcripts).

agentSessionTranscript.ts — pass TranscriptItemContext (not channelId).

managed_agents / runtime.rs — threaded avatar_url through ManagedAgentSummary so the transcript renders the assistant-bubble avatar from the pinned record snapshot; bumped runtime.rs size override 2001 → 2002 for the +1 line.

Reproduction Steps

  1. Build the desktop app off this branch.
  2. Open a channel with managed agent-session activity.
  3. Observe the polished transcript: grouped items, tool-call summaries, assistant avatars, and density-aware markdown rendering.
  4. Confirm ownership gating still behaves per fix(observability): gate agent observability on declared ownership, not key custody #1229 (managed agent OR declared NIP-OA owner sees the transcript).

Validation

  • pnpm check (biome + file-sizes + px-text) ✓
  • pnpm typecheck
  • pnpm test — 1183 pass / 0 fail ✓
  • cargo check
  • All lefthook pre-commit + pre-push hooks ✓

…ship model

Replay of PR #1061 (tho/activity-ui-polish) onto fresh main: lands the
20 UI-polish commits as one net diff, reconciled with #1229's merged
declared-ownership model (viewerIsOwner = isCurrentUserOwner || isOwner)
and #1089's content-visibility-auto virtualization.

Notable reconciles:
- markdown.tsx: ported the compact/tight variant system into main's
  newer lightbox/spoiler markdown component (rather than overwriting it),
  layering variant density/leading overrides after the base owl-spacing
  so tailwind-merge wins. Dropped the branch's hardcoded text-[15px] in
  favor of main's rem-token text-sm base (post-#1052 zoom-safe scale).
- agentSessionTranscript.ts: pass TranscriptItemContext (not channelId).
- managed_agents: thread avatar_url through ManagedAgentSummary so the
  transcript renders the assistant-bubble avatar from the pinned record
  snapshot; bumped runtime.rs size override 2001 -> 2002 for the +1 line.

Observer-seed screenshots intentionally excluded (separate follow-up).

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
@tellaho tellaho marked this pull request as draft June 25, 2026 06:13
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