SIGN IN SIGN UP

Fix a batch of CI flakes in the nbrowser and server tests (#2498)

Some waits now key off a real condition: the panel having content, a
transition settling, or a count of in-flight work reaching zero.
TestPendingOps adds that last one for admin checks and pastes, in the
spirit of BaseAPI.numPendingRequests. The rest are timeouts with more
headroom.

waitForAdminPanel used to return before the panel had content, so tests
asserting an item is absent were passing without testing anything.

Dropping withExpandedItem's driver.sleep(500) exposed a bug it had
hidden: it toggled rather than expanded, so an item left expanded by an
earlier test was collapsed for the callback. The assertion held either
way, so nothing failed.

The last step of a backup finalizes it, so it does extra work and can be
slow. The old check allowed one slow step, which that final step could
consume, leaving no room for any other. A single ordinary step drifting
over the 250ms bar on a busy machine then failed the run. The final step
is now checked separately, and ordinary steps must stay under sqlite's 1
second busy timeout, which is when a blocked write actually fails.
P
Paul Fitzpatrick committed
c1ac8ca6fc6d3e123cc5b9de63e508221121a8f5
Parent: c567c0c
Committed by GitHub <noreply@github.com> on 8/3/2026, 8:17:30 PM