Repository navigation
test(groupware): wait for contacts to render before deleting - #508
Merged
Merged
Conversation
The contacts mutation scene tests acted after a fixed number of 16 ms frames while the synthetic store and transport answer each of six sequential requests after 20 ms. On a loaded machine the first click ran before the list (or the writable address book) had rendered, and the post-mutation assertions relied on forty fixed frames. Wait with the bounded settleUntil helper for the observable state each step needs: the contact row, an enabled Create contact control, and the reconciled terminal state after create and delete. Each wait is capped at 5 seconds and the existing assertions are unchanged.
obiente-cloud
Bot
temporarily deployed
to
Obiente Preview / PR #508 / NC Native
October 15, 2026 00:38
Destroyed
Obiente previewNC Native · Obiente updates this comment as the preview changes. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This branch was successfully deployed
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.
Outcome
Test-only change with no user-visible effect.
GroupwareContactsMutationSceneTestno longer fails on a slow or loaded machine.Before the contact list renders, the screen makes six sequential fake requests, each delayed 20 ms. The tests acted after a fixed 10 frames of about 16 ms. Under load, the first click ran before the "Synthetic contact" row existed ("No rendered native control labeled 'Synthetic contact'"). The second test had the same race: it clicked "Create contact" before the control was enabled. Raising the fake delay to 40 ms locally reproduced both failures every time. Running the class with the test classes changed in #499 passed, so this is timing, not test order or shared state.
Both tests now wait with the scene driver's existing bounded
settleUntil(5 s cap) for the state each step needs:Fixed frame repeats are removed. Assertions are unchanged, and no sleeps or retries were added. Other scene tests with real-time waits measure intended UI timing (double-click, debounce, animation), so they are unchanged.
Verification
Every check relevant to the changed scope passes, or each unrun check is listed below with a reason
bash tools/check-repository.shpassesA new
changes/unreleased/fragment records the changeNo credentials, private server data, machine-local paths, or generated output are included
:ui:desktopTest --rerun --tests '*GroupwareContactsMutationSceneTest': 10 of 10 runs passed. Both tests also passed 2 of 2 with the fake delay temporarily raised to 40 ms (not committed).Full
:ui:desktopTest :androidApp:testDebugUnitTest(both executed): desktop 3862 tests, 0 failures, 69 skipped; Android 1167 tests, 0 failures. Two more full:ui:desktopTestruns: 0 failures each.bash tools/check-kotlin-architecture.shandbash tools/check-repository.shpass.Local runs on Windows with JDK 21.
Compatibility and risk
Desktop test code only. No production, platform, or server behavior changes.
Visual changes
Not applicable.