Skip to content

fix(web): retain clipboard fallback and credit overlapping PR contributions - #439

Merged
tt-a1i merged 1 commit into
mainfrom
codex/web-pr-contributions
Sep 7, 2026
Merged

fix(web): retain clipboard fallback and credit overlapping PR contributions#439
tt-a1i merged 1 commit into
mainfrom
codex/web-pr-contributions

Conversation

@tt-a1i

@tt-a1i tt-a1i commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Problem and result

The React migration already carries most of #352's workbench design and stronger implementations of #377's request deadlines and #358's Pi-native cancellation. One useful behavior was missing: Copy assumed the Clipboard API existed and succeeded. It now falls back to the original temporary-textarea mechanism, restores focus and selection, reports failure honestly, and permits retry without leaking feedback timers after unmount.

README credits QuinnWan (@somewan820) for the restored UI baseline and clipboard fallback, and @seekskyworld for the timeout and cancellation proposals. The integration commit includes their verified original author identities as co-authors.

Scope and compatibility

  • Preserve copying the original message text, including Markdown.
  • Retain current request deadlines through body reading and caller cancellation. Add regressions for stalled bodies and listener/timer cleanup.
  • Retain exact session/command/epoch cancellation and its existing settlement evidence tests. Do not reintroduce the old session-only endpoint or feat(web): expose Pi-native turn cancellation #358's unrelated capability-intent change.
  • No model context, tools, runtime authority, persisted preferences, or new dependencies change.

Validation

  • Base: 8481afe.
  • bun run check passed.
  • bun run test: 1,442 Node tests passed, 1 skipped; 92 Vitest tests passed.
  • Focused final clipboard/render/transport suite: 28 passed.
  • bun run test:web:e2e: 4 passed with the built production workbench; no live-provider runtime acceptance claimed.
  • Two independent design reviews and two final read-only reviews: no unresolved findings.

Closes #438. Refs #352, #377, #358; those source PRs remain available as contribution history.

Restore QuinnWan's #352 clipboard fallback with selection restoration,
honest failure feedback, and component cleanup. Preserve current exact-turn
cancellation and request deadlines; cover body stalls and request cleanup
inspired by seekskyworld's #377. Credit #352, #377, and #358 in README.

Refs #438, #352, #377, #358

Co-authored-by: QuinnWan <144975606+somewan820@users.noreply.github.com>
Co-authored-by: seekskyworld <djh1813553759@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Preserve useful overlapping Web PR contributions in React

1 participant