Say why a lineup was refused instead of calling it a conflict (#212)

* Say why a lineup was refused instead of calling it a conflict

A lineup the server refused because its origin or landing was deleted
(LINEUP_LINK_END_MISSING) or because it clashes with a lineup on another
page (LINEUP_PAGE_MISMATCH) showed "Another edit reached the cloud
first" in both the toast and the sync popover. The queue now keeps that
refusal as its attention reason, and the popover and toast show the
specific message, with what Keep mine and Use cloud will do.

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

* Keep a lineup refusal's reason through reopening and undo

Opening a strategy looked up its attention records under the previous
strategy, so the specific reason fell back to the generic conflict text.
Undoing an edit to a refused change cleared the server's reason, which
also stopped Keep mine from re-sending a refused link. The link message
now fits refused edits as well as new lineups, and the leave dialog no
longer promises an automatic retry for work that waits on the user.

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

* Say a link's end isn't on its page, not that it's gone

The server refuses a link whose origin or landing is deleted or on
another page, so the message no longer claims it left the cloud.

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

* Still explain conflicts that sit beside a lineup refusal

With a refused lineup and ordinary conflicts both needing attention, the
popover explained only the lineup. The queue now notes the conflicts
beside the lineup's reason, and the popover says another edit reached
the cloud first for the other changes.

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

* Note other refused work neutrally beside a lineup refusal

The other work may be a failed validation rather than a conflict, so the
popover no longer claims another edit reached the cloud first for it.

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

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
5b0abd0b7aDara Adedeji committed on 9/27/2026, 8:20:52 PM· committed by GitHubparentafa19df
10 files changedLine totals unavailable