Measure real iOS UI readiness timings - #12887
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
34ecef4 perf: coalesce concurrent process snapshots across diagnostics and restore (manaflow-ai#13014) 150d7fa Add app-host test failure census (manaflow-ai#13124) 04ac7a4 Merge pull request manaflow-ai#12735 from manaflow-ai/feat-ios-connectivity-soak c022438 fix: update Ghostty environment lifetime fix (manaflow-ai#13191) eb18207 Fix mobile devices dashboard WebSocket failures and naming (manaflow-ai#13156) c7d961d perf: split BrowserPanelView's modifier chain so it type-checks quickly (manaflow-ai#13130) e188035 refactor: move the Computer Use runtime out of the app module into a package (manaflow-ai#13132) cf2b850 Bound terminal markers and verify restored selection 2d7fc1c Measure terminal latency separately after reconnect 44dcd1e Reconcile iOS monitor stack with main 70034bc Merge pull request manaflow-ai#13116 from manaflow-ai/feat-ios-monitor-e2e-repair deafe6e Skip release gate text scans without a probe a1be46b Release terminal ownership from reader teardown 96d6574 Restore transport target after UI evidence 31ff358 Schedule terminal owner cleanup from deinit e82f6f6 Keep bounded terminal text evidence reliable ccbc4b2 Bound frame evidence scans and handshake setup 301dbad Make terminal evidence capture causal 6b50e3a Finish bounded release gate cleanup 14f2cd9 Stop stale release gate probes and bound frame inspection cd64e8c Bound pairing bootstrap loading 035fd37 Harden release gate evidence and readiness b6ca6e9 Close release gate review races 389026e Make release gate readiness and dismissal causal aa2bb02 Restore main translations for the pairing preparation error 46bbfc9 Restore the pairing preparation handling already present on main 1bcbf60 Give the soak one owned terminal reader across steady-state commands 9d700f9 Test soak terminal consumer lifetime across commands and reconnects 1dd9f69 Fix existing Cloud test imports and nested macro compilation bd5fee0 Give launch-request samples a distinct statistics key bc68fbf Measure UI readiness from the actual simulator launch request e5772e8 Test launch request timing across app initialization 8006ba9 Clear prior UI evidence before each retained-simulator launch d8e1b4c Reuse isolated monitor devices while cold-launching the app 0968fcf Test the dedicated monitor simulator plan boundary e7da214 Wait for the published pairing identity and inject screenshot capture 0af38fe Avoid the Swift task-group isolation checker defect in refresh test 48a0eb9 Own UI measurements per launch and capture composited terminal evidence 7e28e4e Mint pairing tickets with the active v2 device identity f498caf Test pairing tickets against the current transport identity 95f931d Correct the foreground suspension entrypoint in the test f5d5b2b Use the public foreground lifecycle for regression-test cleanup 0eded5a End the UI exercise only after terminal consumer ownership is released c0a61bb Keep UI state on its actor across the task-group boundary 30000a5 Drive and measure the real workspace UI before each soak; decouple background discovery 0d896f5 test: foreground refresh must finish while secondary discovery is blocked 4e739bb test: require real UI selection and stable first-frame measurements aeb554a Measure real iOS UI readiness timings (manaflow-ai#12887) 6a2c896 Record per-operation iOS soak latencies (manaflow-ai#12883) 39d7669 test: advertise workspace actions in the soak reconnect fixture 7e9a676 fix: disconnect the soak session before testing reconnect c51a096 test: require stress reconnect to replace a healthy connection e1a2767 fix: import the workspace model from its owning module e6a6ba4 fix: import mobile workspace preview module 3361141 Merge remote-tracking branch 'origin/main' into feat-ios-connectivity-soak dbfebac Merge remote-tracking branch 'origin/main' into feat-ios-connectivity-soak 3f8ceec fix: forward connection snapshots through deferred Iroh transport d8f30dc test: require deferred transports to forward native path snapshots 3dce84c fix: observe soak path and identity on the native RPC connection 38ee330 test: require native connection path evidence throughout soak 055880c test: cover final soak deadline and name failed usage actions b27046c fix: bound stalled soak cycles with an independent deadline 7f1f748 test: require stalled soak operations to report promptly e116e6b Use accepted boolean spelling for the Mac relay setting aa3dc13 Exercise relay setup command arguments in both modes db17d3d Constrain current Iroh endpoints to relays in app gates 245b55e Reproduce release gate missing current Iroh relay policy c9289ed Add focused Iroh soak harness test plan aec8291 Support an isolated agent account for unattended soaks 915c080 Add deterministic iOS Iroh connectivity soak workloads # Conflicts: # .github/workflows/ci.yml # .github/workflows/iroh-v2.yml
Summary
uiLatenciesfor app UI to workspace list, workspace selection tap to workspace detail, and workspace detail to the first terminal frame.This corrects the earlier action/RPC timings, which did not prove what a user could see. The companion monitor consumes these fields in https://github.com/manaflow-ai/cmuxterm-hq/pull/479.
Testing
MobileIrohSoakRunnerTests; a fresh follow-up build on the assigned mini could not complete because its volume ran out of space (No space left on device), so this UI path is not yet live-run verified.MobileReleaseGateUIProbeTeststo verify measured transitions are emitted only when their real UI events occur.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Measures real iOS UI readiness with debug-only lifecycle events at the app root, workspace list, workspace selection, workspace detail, and the first presented terminal frame, so the release gate report reflects what a user actually sees instead of earlier action/RPC timings.
Details
appRootVisible,workspaceListVisible,workspaceSelectionTapped,workspaceDetailVisible, andterminalFramePresented; the terminal event fires only when a frame is presented.uiLatenciesfor root-to-list, tap-to-detail, and detail-to-first-terminal-frame; a missing terminal frame omits the readiness latency.uiLatencies.Written for commit 6753587. Summary will update on new commits.