mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-14 21:26:15 -08:00
fix(server-storage): adopted writes without a known version conflict instead of overwriting
A page that never read the server has no version tags, so an adopted write went out unconditionally and replaced newer server data with its cached value. Adopted edits now use the never-matching version when this page knows none (and for a queued write without a tag), so the server answers 412 and the edits are replayed on its value. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2320b64e01
commit
586ba74ea7
3 files changed
+45
-3
No files matched your search
@@ -233,7 +233,9 @@ settings and guards read them in every build.
|
||||
which copies `sessionStorage`, leaves the running tab its writes. A page
|
||||
load that still looked live (or whose close flag storage refused) is
|
||||
checked again every 30 s and, once it does not, adopted like a closed
|
||||
tab's: its edits go ahead of this page's newer ones; the writes of a tab closed before it
|
||||
tab's: its edits go ahead of this page's newer ones, and without a
|
||||
server version this page read they are sent so that they conflict and
|
||||
replay; the writes of a tab closed before it
|
||||
could send them are queued, ahead of its own, by the next re-read in
|
||||
another tab once that tab's record has gone stale; the result replays the
|
||||
closed tab's edits first and this tab's newer ones last. Tabs never clear each other's.
|
||||
|
||||
Reference in new issue
Block a user