# Move waiting strategy changes past this device's own landed changes · dara/icarus

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

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

Visibility: public

Requested revision: 2c0380d6a068a49ab3f08a51dff06e3055ea5e33

Requested commit: 2c0380d6a068a49ab3f08a51dff06e3055ea5e33

Commit: 2c0380d6a068a49ab3f08a51dff06e3055ea5e33

Tree: c77ed81b27563442b05416ac213854e4d106e228

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Move waiting strategy changes past this device's own landed changes

A strategy patch, and a page add, delete or reorder, is checked against
the strategy's revision and moves it on when it lands. A change waiting
behind one of this device's own that was being sent still expected the
old revision, so the server refused it once the first landed: a page
reorder made while a map change was sending went to attention, with no
teammate involved. Keeping a waiting patch's revision through a merge
(the previous commit) made a map and theme change behind a reorder hit
the same refusal.

When the server accepts one of this device's own strategy-revision
changes, moving the strategy from r - 1 to r, every waiting change that
expects r - 1 now expects r. Only an accepted answer moves waiting work
on: a revision read live says nothing about who made it, and a
teammate's leaves the work to be refused and the user asked.

The test server now checks page adds, deletes and reorders against the
strategy's revision and chains a batch's ops made from one revision, as
the real server does, and can hold a batch's answers after the live read
shows it.

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

```

## Parents

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

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