chadtmiller.com/knotless
git that lives in your Atmosphere account
private_repositories_indexed_here says why when it waits past its time
MergedThis replaces wait_until(|| !finds()) in private_repositories_indexed_here with a 60-second loop. On timeout it panics with three facts: what the space's authority (space::joined) says to the newcomer, what index.read_of still lists to them, and whether their session answers. It also pushes the quarantine to 2026-11-21.
I checked that the helpers it calls exist with the signatures the diff uses: login::ctx_for(&App, &str), space::joined(&Ctx, &str), session::me(&Ctx) and Index::read_of(&str). index, rt and space are already in scope earlier in the test.
The loop keeps the old condition and the old 60-second limit, and it only runs extra code when the wait fails, so it can't make the test flakier. Pushing the quarantine date is the right call here: the body shows that the expired quarantine has been failing pulls, and the stated purpose is to learn the cause from the next failure.
I did not run anything. The body says only clippy was run, and the new message path has not been exercised.
8 passed, 2 skipped
What changes
private_repositories_indexed_heresays why when it gives up. Where it waits for a repository to leave the newcomer's search once the owner undoes the share (gateway.rs, aftershare --undo), it now fails after 60 seconds naming what the space's authority says to the newcomer now, what this server still lists to them (read_of), and whether their session answers.It is quarantined again, until 2026-11-21.
Changeset: none
Why
Its quarantine ran out on 2026-11-04. Since then it has failed pulls whenever it failed twice in a row, and it flaked in 7 of 16 recent passing
testruns, each time adding a rerun of the spacesgatewaybinary, 150 to 310 seconds, totest. Its first try running close to 600 seconds also tipped two runs over the binary's limit. Ten of its twelve failures in the logs I could read stop at this wait, with nothing but "waited 60s for what never held".It does not fail here: alone, as six copies at once, or in two runs of the whole binary against the spaces alpha at CI's pin. There the repository leaves the newcomer's search about 130 ms after the undo. So the cause is to be read from the next failure on the runner, not guessed.
How it was checked
clippy over the test, warnings denied. The new message only shows when the wait runs out, which it has not done here.
Shortcomings
It does not fix the test. A race I saw here, a membership check started during the undo still answering that the newcomer is a member, may be part of it, and is the next change.
🤖 Generated with Claude Code