Skip to content

fix(web-ui): bound background resources and restore retry grouping - #3258

Merged
GCWing merged 8 commits into
mainfrom
gcwing/dev
Sep 30, 2026
Merged

GCWing merged 8 commits into
mainfrom
gcwing/dev

Conversation

@GCWing

@GCWing GCWing commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Summary

Retry recovery now starts a fresh FlowChat group that can collect subsequent operations, while retaining retry history, stable group identities, and explicit host grouping policy. Legacy native retry hints are interpreted without rewriting saved records.

This also ships the accumulated workspace improvements: bounded reconstructable history/display caches, retained reader bookmarks, inactive editor-view and terminal-renderer release, separate workbench/companion startup imports, and shared outlined Tab actions.

Type and Areas

  • Type: bug fix, performance improvement, UI refinement
  • Areas: shared Web UI, FlowChat, editor, terminal, startup, design-system TabGroup

Motivation / Impact

  • Keep retry-success content grouped across following rounds instead of leaving cards scattered.
  • Reclaim reconstructable background resources under a shared budget while protecting visible transcripts, live interactions, drafts, exact editor models, undo state, IME composition, and find/replace state.
  • Restore evicted reader windows through the existing paged host API, with explicit failure and retry.
  • Warm one adjacent Relay history page only when visible and within budget; live record and mailbox subscriptions continue while hidden.
  • Suspend inactive Monaco views and release terminal WebGL rendering after 30 seconds while document models and PTYs retain ownership.

Verification

  • pnpm.cmd run check:web passed, including Web UI type checking, Appearance/theme color/visual governance, and Canvas SDK checks.
  • Targeted Vitest regression run passed: 35 files, 663 tests covering grouping, store/event/history compatibility, editor documents/residency, embedded/subagent sessions, startup, tabs, and scene lifecycle.
  • node --test design-system/packages/ui/tests/tab-group.test.mjs design-system/packages/ui/tests/icon-button.test.mjs: 19 tests passed.
  • Changed production TypeScript/TSX ESLint checks passed.
  • git diff origin/main...HEAD --check, merge-tree conflict check, and repository Git object-size check passed.

Reviewer Notes

AI-assisted; focused automated validation completed. Native WebView visual behavior, measured memory/GPU/startup performance, and live Remote Workspace, Remote Control, Peer Device Mode, and Detached Dispatch scenarios were not exercised. Behavioral tests use existing isolated host/rendering fixtures; no mock screenshots or browser automation were used as visual evidence.

The PR diff contains 39 implementation/test files. Markdown documents, audit/process reports, video production, and media assets are excluded. The existing gcwing/dev branch is reused; previously merged branch history is reconciled without changing the validated product tree.

Checklist

  • This PR excludes secrets, temporary prompts, generated scratch files, reports, and media artifacts.
  • Relevant automated verification and manual-validation limits are recorded above.
  • No user-facing locale strings were added; existing owner-document edits are intentionally kept local per the requested scope.

@GCWing
GCWing merged commit 154c205 into main Sep 30, 2026
9 checks passed
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