Repository navigation
fix(e2e): integrate Studio testing and owner approval workflows - #336
Merged
Merged
Conversation
ZhangHanDong
marked this pull request as ready for review
September 10, 2026 06:03
ZhangHanDong
changed the base branch from
fix/studio-widget-path-selection
to
main
September 10, 2026 06:07
This was referenced Sep 10, 2026
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.
Owner approvals could remain plain messages, expose inconsistent controls across cached room panes, or open at an old scroll position. This PR adds a shared canonical approval model, authenticated owner-room discovery, one-time verdict handling, and navigation to the latest approval while ordinary room selection preserves reading position.
It also includes the Studio E2E driver and its transport deadlines and strict widget path selectors, the room-action ownership and escaped message-preview fixes, Makepad compatibility updates, and room Info focus and pointer capture fixes.
Integration target: main. This branch includes all commits from #333, #334 and #335 and incorporates the fixes from #331 and #332; these Robrix PRs do not need to merge first. The complete change relative to main is reviewed here. It pins the tested Makepad source from #10 (including #8/#9); Makepad #11 has merged the remaining fixes directly into dev. It pairs with HAgency #160. External dependency PRs have their own merge and validation status.
The main-target CI exposed a spec-guard composition bug: each changed task contract received the entire integration diff and rejected files owned by other contracts. The guard now assigns every file to all matching active contracts, rejects uncovered paths and explicit denies, and still runs native boundary verification plus unchanged-contract regressions. Structured JSON handling also prevents a broken diagnostic pipe from aborting later checks. Existing task boundaries, test bindings and manual-skip policy are unchanged. The previous nonblocking uncertainty policy for unchanged regression contracts is also preserved, but those scenarios now print
UNVERIFIEDwith counts and diagnostics; active-contract uncertainty blocks the gate.Validation:
cargo test --release --locked --libfrom this publication checkout: 749 passed, 0 failed, 4 ignored. Source files were unchanged across the run.2c523dd7changes only the guard, its tests and its new task contract. Final-head Cargo guard tests passed in a clean ordinary Git checkout, and the new native task contract passed all 7 verification items. All 13 final-head CI checks passed, including Clippy, the full spec gate, and all configured desktop/mobile builds. CI run, build matrix.Five historical Octos mention-gating scenarios bind
octos-bus, which is outside this Cargo workspace. They remain UNVERIFIED, not passing or replaced by placeholder tests. The spec already documents separate Octos validation; this PR does not claim current verification in that repository. Other skipped scenarios also remain explicitly unverified.Remaining E2E limitations: the latest full three-layer native task stopped at a Codex provider usage limit and has no verified lower-agent task result. Search and invitation modals did not dismiss themselves on Escape during the focused check, although they no longer close Info underneath. Mobile-device behavior and the full manual compatibility matrix remain unverified. These limitations are not counted as passing checks.