fix(stalker): guard every resolved edit write

This commit is contained in:
4gray committed 2026-08-09 18:40:29 +02:00
1 parent fabffcc902
commit 9d2cacff1e
7 files changed
+172 -46

No files matched your search

+6 -5
View File
@@ -214,11 +214,12 @@ late commit uses `transformPlaylistMeta()` inside the per-playlist write queue
to merge only the resolved connection/session fields into the current row, so
a newer title, EPG, or other metadata edit wins. The returned merged row feeds
the state-only update, while dialog close and success UI are suppressed after
destruction. The transform also requires the current row to retain the source
connection authority captured when Edit began; delete/restore or replacement
under the same ID therefore aborts instead of receiving a late portal/session
merge. A row identified by its persisted `portalUrl` stays on the Stalker
save path even if legacy Xtream fields remain, so an unrelated Xtream write
destruction. Both the ordinary resolved metadata update and this late transform
require the queued current row to retain the source connection authority
captured when Edit began; delete/restore or replacement under the same ID
therefore aborts instead of receiving a portal/session write. A row identified
by its persisted `portalUrl` stays on the Stalker save path even if legacy
Xtream fields remain, so an unrelated Xtream write
cannot strand the Edit reservation. Before discovery starts, Edit reserves the
playlist ID; an
overlapping Edit cannot replace that owner. The reservation blocks every new