feat(workspaces): add full-bleed single-widget tabs#109627
Conversation
|
Codex review: found issues before merge. Reviewed July 17, 2026, 12:36 AM ET / 04:36 UTC. Summary PR surface: Source +105, Tests +166, Docs +6. Total +277 across 15 files. Reproducibility: not applicable. this adds a new Workspaces layout capability rather than repairing an established current-main behavior, and the intended before/after result is directly demonstrated. Review metrics: 2 noteworthy metrics.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review findings
Review detailsBest possible solution: Use the repository’s flat string-enum tool schema, retain missing layout as grid, and add explicit persisted v1 round-trip and upgrade coverage before landing this narrow slice independently of gallery work. Do we have a high-confidence way to reproduce the issue? Not applicable: this adds a new Workspaces layout capability rather than repairing an established current-main behavior, and the intended before/after result is directly demonstrated. Is this the best way to solve the issue? No, not quite as submitted: the plugin-owned persisted layout and shared renderer are the right boundaries, but the agent-tool enum needs the provider-compatible schema form and the v1 persistence contract needs explicit proof or approval. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against e3618454f245. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +105, Tests +166, Docs +6. Total +277 across 15 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (1 earlier review cycle)
|
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: feat(workspaces): add full-bleed single-widget tabs This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
|
Merged via squash.
|
* feat(workspaces): add full-bleed app tabs * fix(workspaces): harden full-bleed rendering * fix(workspaces): eliminate full-bleed iframe gap * fix(workspaces): keep tab layout type internal --------- Co-authored-by: Eva <[email protected]>
Closes #101148
Extracted from #101908 with credit to @100yenadmin. This PR intentionally contains only the approved full-bleed tab slice: no gallery, install, persistence, action, history, Teams, or SSRF/SDK work.
What Problem This Solves
Workspace tabs always render a widget grid and card chrome, even when a single widget is intended to behave like a full app.
Why This Change Was Made
Adds a validated
grid/fulltab layout across the Workspaces schema, gateway, agent tool, CLI, and Control UI. Full layout accepts at most one widget and reuses the existing binding, builtin context, custom-widget approval, manifest, sandbox, and error-boundary paths.User Impact
Operators and agents can make a zero- or one-widget tab fill the available workspace content area with
openclaw workspaces tabs full <slug>, then return it to the grid withopenclaw workspaces tabs grid <slug>.Evidence
Before: grid card chrome
After: full-bleed single widget
Co-authored-by: Eva [email protected]