feat(web): restore polished workbench UI and conversation rendering - #352
Open
somewan820 wants to merge 2 commits into
Open
feat(web): restore polished workbench UI and conversation rendering#352somewan820 wants to merge 2 commits into
somewan820 wants to merge 2 commits into
Conversation
The session-admission hardening in openpi-dev#326 (d1118f8) rewrote web/ui and dropped most of the polished design: the settings dialog (language/theme), landing logo animation, rich thinking/tool-call rendering, subagent/workflow status cards, turn rail, activity bar, favicon, and the engineering-grid background. Restore the 4421944 design baseline while keeping the admission and recovery hardening intact. - Settings dialog with language/theme pickers persisted browser-locally - Thinking rows with live timers, tool lines with icons/summaries and right-edge outcome glyphs, 4+ run grouping, per-turn copy/time actions - Subagent/workflow activity cards and composer activity chips adapted to the current { items, omitted } capability projections - Turn rail, favicon.svg + static route, grid/sidebar/paper-lane backdrop - Tests: restore positive assertions for the revived UI surface Refs openpi-dev#76, relates to openpi-dev#345, openpi-dev#346, openpi-dev#350
tt-a1i
requested changes
Sep 2, 2026
tt-a1i
reviewed
Sep 2, 2026
tt-a1i
reviewed
Sep 2, 2026
Collaborator
|
维护者已明确当前没有手机端范围,因此我撤回窄屏模糊作为本次合并阻塞项;该问题可以留到后续移动端支持时处理。当前只剩主题/语言持久化形成第二配置源这一项仓库配置契约问题。PR head 仍为 4724e5c,尚未包含对应修复。 |
…penpi-dev#350 P1: an off-canvas sidebar with backdrop-filter makes Chromium blur the whole page backdrop at <=760px. The narrow drawer is now opaque and skips the backdrop filter and ghost grid; regression assertions lock the media query rules. P2: theme/language pickers persisted to localStorage would fork a second config store from the package configuration contract. Remove the settings entry, dialog, pickers, theme overrides, and persistence from this PR; openpi-dev#350 lands preferences through the canonical setup config.
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The session-admission hardening inside #326 (commit d1118f8) rewrote
web/uiand silently dropped most of the polished design from 4421944 (feat(web): polish workbench UI): the settings dialog (language/theme pickers), the landing logo animation, rich thinking/tool-call rendering, subagent/workflow status cards, the turn rail, the composer activity bar, the favicon, and the engineering-grid backdrop. The merged workbench shipped with a minimal generic transcript instead, far from the workbench experience outlined in #76.Value
Approach
web/ui/{app.js,index.html,styles.css}to the 4421944 design, embedded into the current hardened data flow rather than overwriting it:sessionSwitching,applyRuntimeEvent, prompt admission tokens, andresetLiveStateare preserved.applyRuntimeEvent, reset inresetLiveState), tool lines with icons/argument summaries and right-edge outcome glyphs (✓/✗/running dot), 4+ run grouping, family cards for subagent/workflow calls, per-turn copy/time message actions, turn rail, and composer activity chips adapted to the current{ items, omitted }capability projections.openpi.language,openpi.web.theme) matching the original behavior; canonical setup-config integration remains future work tracked by feat(web): add persistent theme/language preferences and accessibility/mobile hardening #350.favicon.svgand its static route inweb/host/web-host.ts.doesNotMatchlock-in assertions back to positive assertions for the revived UI surface; fixtures aligned to current protocol types.Validation
node --check web/ui/app.js— OKbun run check— config contract, biome format/lint, tsc all passbun run test— 1236 tests, 1235 pass / 0 fail / 1 skipImpact
web-host.tsserving/favicon.svgfrom the existing static allowlist.openpi.language,openpi.web.theme); no canonical configuration changes.Refs #76. Relates to #345, #346, #350 (partial — restores the baseline these issues extend).