Skip to content

feat(ui): share adapter-neutral conversation presentation - #1385

Merged
luokerenx4 merged 2 commits into
devfrom
codex/agent-conversation-ui
Sep 5, 2026
Merged

feat(ui): share adapter-neutral conversation presentation#1385
luokerenx4 merged 2 commits into
devfrom
codex/agent-conversation-ui

Conversation

@luokerenx4

@luokerenx4 luokerenx4 commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Align the ongoing browser conversation with the existing launch composer and establish an adapter-neutral presentation boundary. Pi is the only live adapter in this change.

Included increments

  • Shared ComposerShell for launch and conversation pages; consistent 46rem reading measure and circular primary action.
  • Prop-driven ConversationView, normalized content/activity types, and shared Markdown/tool/reasoning/unknown-payload rendering.
  • Pi-only wire conversion and polling/commands in webpi-presentation and useWebPiConversation.
  • Supported actions supplied as callbacks, no invented controls; preserved errors, stop, compaction, IME, draft recovery, and reader-controlled scrolling.
  • Pending request guard and keyed session isolation; non-Pi presentation fixture proves no Pi event schema is required by the shared view.

Design decision

Share presentation, not execution protocols or persisted messages. The launch page retains its runtime/credential selectors in slots. Existing-session settings remain in Settings rather than adding unsupported inline model or attachment actions. Remove permanent Idle/WebPi chrome from the top bar; keep active/failure state visible. Narrow layouts preserve composer width and local output scrolling. Native disclosure, keyboard focus and reduced motion are retained.

Verification

  • pnpm test:owner:ui: 290 files / 1759 tests passed.
  • Final focused regression rerun: 3 files / 13 tests passed, including late previous-session responses, non-Pi rendering, duplicate submission, failure draft preservation, unsupported actions, compaction and IME.
  • pnpm exec tsc -b ui: passed.
  • git diff --check: passed.
  • Real isolated-development browser route: existing Pi conversation rendered, launch page regression checked, 1280px screenshot inspected, 390px DOM geometry verified without horizontal overflow.
  • pnpm electron:smoke:workspace: unsigned packaged app passed isolated CLI/PTY/tool-socket and managed Pi side-effect acceptance, cleanup complete. This verifies the packaged runtime baseline, not a visual WebPi send/stop walkthrough inside Electron.

Boundary touch

UI presentation and UI polling lifecycle only. No backend protocol, credential, trading, persistence, dependency or runtime-retention change. No new adapter integration. Browser acceptance did not send prompts to the user's existing sessions.

Acceptance

Draft for maintainer visual review; not merge authorization. Follow-up adapters can reuse these components by normalizing their content and supplying supported operations.

Sidebar selection follow-up

  • Expanded navigation highlights only the selected Session, not its Harness header. The compact rail retains Harness location; landing selects the header.
  • 44 targeted Chat/Auto Quant navigation tests and UI typecheck passed; real Pi route verified with only the Session marked aria-current.

@luokerenx4 luokerenx4 added workflow:parallel Autonomous parallel contribution; leave open for later acceptance theme:accessibility Keyboard, assistive technology, or interaction semantics area:workspace Workspace, Session, templates, or sidebar lifecycle labels Sep 5, 2026
@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
openalice-demo Ready Ready Preview Sep 5, 2026 7:44pm UTC

Request Review

@luokerenx4
luokerenx4 marked this pull request as ready for review September 5, 2026 20:07
@luokerenx4
luokerenx4 merged commit 7fdf5ca into dev Sep 5, 2026
3 checks passed
@luokerenx4
luokerenx4 deleted the codex/agent-conversation-ui branch September 5, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:workspace Workspace, Session, templates, or sidebar lifecycle theme:accessibility Keyboard, assistive technology, or interaction semantics workflow:parallel Autonomous parallel contribution; leave open for later acceptance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant