# Keep the page on screen when a cloud page switch can't read the next page · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/d75c1d509b5099c39fb11e72e20bfa4939ccad07)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: d75c1d509b5099c39fb11e72e20bfa4939ccad07

Requested commit: d75c1d509b5099c39fb11e72e20bfa4939ccad07

Commit: d75c1d509b5099c39fb11e72e20bfa4939ccad07

Tree: d7f37989e852f23f2cf7fa3fe1b274633be9c5ea

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Keep the page on screen when a cloud page switch can't read the next page

Switching pages made the target page active and dropped the current
page's server copy before reading the target. When that read failed
(offline, say), the switch reverted, but the page on screen no longer
had a server copy to compare edits against, so every later edit stayed
on the canvas and never reached the durable queue. A crash or forced
close lost them; a real release build against a stopped local Convex
showed exactly that.

The switch now reads the target page first and changes nothing unless
the read works. A failed read leaves the page on screen as it was,
still queueing its edits, and says the page couldn't be opened. With
the connection known down it fails at once instead of waiting out the
read's 30 s timeout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

- [b37db17193e1663587dcb6bd8c57652b1a752acd](https://git.cafe/dara/icarus/commit/b37db17193e1663587dcb6bd8c57652b1a752acd?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/d75c1d509b5099c39fb11e72e20bfa4939ccad07?format=markdown)
