Skip to content

feat(web): polish desktop chat interactions and motion - #865

Open
testikun wants to merge 5 commits into
openpi-dev:mainfrom
testikun:codex/design-reference-refinement
Open

testikun wants to merge 5 commits into
openpi-dev:mainfrom
testikun:codex/design-reference-refinement

Conversation

@testikun

@testikun testikun commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Closes #867

The desktop chat UI has inconsistent spacing, weak state feedback, and abrupt transitions across the composer, transcript, attachments, and review panel. Long model names and tool output are difficult to scan, and image inspection lacks convenient navigation and zoom controls.

Value

Makes extended coding conversations easier to read and operate while preserving OpenPI's palette, elapsed-time separators, and existing Pi execution facts. Motion explains opening, resizing, selection, and progress without adding artificial delays to model output.

Approach

  • Refine composer and model/thinking controls, typography, icon alignment, long labels, and keyboard focus. Keep IME confirmation from submitting a prompt or selecting a slash command.
  • Add coordinated menu, dialog, attachment, disclosure, and streaming feedback. Follow incoming content while preserving the position of someone reading history; completed output remains immediately available.
  • Add image navigation, anchored zoom, bounded panning, and thumbnail-to-preview transitions; preserve draft ownership, cancellation, cleanup, and focus restoration.
  • Improve code-block wrapping and copy feedback, Bash evidence, split/unified diff reading, and references to the exact old or new file line.
  • Clarify queued prompts, question review, child-session states, usage details, and pane resizing. Use existing UI primitives and local browser animation APIs.
  • Rebuild the tracked web assets. Merge upstream main through 78dc5743 before validation.

Validation

  • bun run check: passed, including web build, formatting, lint, and type checks.
  • bun run test: passed: 2,647 Node tests, 9 existing skips; 1,525 UI tests across 98 files. Run with a fresh PI_CODING_AGENT_DIR so the developer's saved Pi presentation preferences do not change fixture expectations.
  • Existing UI tests cover image focus/navigation/zoom and cancelled dragging, pane-resize cancellation, exact diff references, and IME behavior. Existing E2E locators were adapted; no new E2E scenarios were added.
  • Earlier desktop browser reviews and the local before/after HTML remain available as design evidence. This main merge did not change the pending UI patch. A new post-merge browser/provider smoke and the complete E2E suite have not been run.

Impact

  • User-visible behavior: desktop visual polish and motion; new image and diff inspection controls; clearer code, tool, queue, and child-session presentation.
  • Model-visible context/tools: None.
  • Runtime/lifecycle: no changes to Pi execution, queue admission, or cancellation ownership. UI animations clean up on owner changes, dismissal, and unmount.
  • Persisted config/data: None. No new preferences, storage, or dependencies.
  • Compatibility/risk: preserve existing themes and reduced-motion handling. Newer browser animation features use guarded fallbacks. Mobile-specific refinement and exhaustive platform/browser acceptance remain outside this desktop-first pass.

Resolve the squash-history overlap using the latest pre-landing PR 820 tree as the content base. Preserve PR 825 research records, retain the latest PR 823 fixture repair, incorporate current main compatibility and restore-confirmation fixes, and regenerate Web assets.
…nce-refinement

# Conflicts:
#	tests/web/pi-runtime-native.test.ts
#	web/dist/app.js
#	web/dist/styles.css
#	web/runtime/pi-runtime.ts

This branch has not been deployed

No deployments
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.

[Web UX] 精修桌面对话、输入区与交互动效

1 participant