Each test wrapped its whole sequence in waitFor() and slept 1s inside
every step, so waitFor's 1s timeout always expired ("Timed out in
waitFor"). Steps are now awaited in order, "open" is findBy* and
"closed" a single-condition waitFor, with an explicit cleanup between
tests. Both now pass (4 and 3) and exit, so they leave the yarn test
exclusions.
- dev ^0.86.4 at the root and in packages/apps; directives renamed by
pezkuwi-dev-migrate-eslint10.
- eslint --fix with the 0.86.4 config; one fix broke syntax
(typescript-eslint prefer-optional-chain turned
`(isStarted && onStart) && onStart()` into `(isStarted && onStart?.();`
in TxButton) and is corrected by hand.
- The remaining findings fixed rather than disabled: optional chains
(each suggestion reviewed), `cause` on rethrown errors, `if` instead of
`a && promise` in effects, parallel instead of sequential awaits in
Promise.all, Error rejections, no `delete` on arrays (the storage query
cache is a Map; an upload's file list no longer keeps a hole), no
`[object Object]` stringification (TFunction's second argument is text
or options), dead code removed (referenda's never-shown expand button,
react-query's unused CoreDescriptor).