The watched mark is no longer ours alone
This engine has written `seen` into the shared shape all along, on the grounds that the iPhone had no unread mark on a story. That turned out to be wrong in a way worth recording: the iPhone HAS the mark and was not writing it, locally or to a backup, so the ring around every contact relit at each launch and a restore through it lost the lot. The iPhone writes it now, so the comment claiming the field is ours alone is false and is replaced, and `stories[].seen` moves out of the vector's divergence list and into the canonical set. No behaviour change here. The code was already right; only what it said about the other engine was not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3607a85459
commit
ca6265e7a6
@@ -280,9 +280,12 @@ object BackupPayload {
|
||||
s.optString("key").ifEmpty { s.optString("id") }.ifEmpty { s.optLong("at").toString() },
|
||||
)
|
||||
s.optJSONObject("set")?.let { out.put("set", it) }
|
||||
// The iPhone has no unread mark on a story, so this is ours alone. It
|
||||
// travels anyway: coming back here it is the difference between a strip
|
||||
// that remembers what you watched and one that shows everything as new.
|
||||
// Whether the strip has been watched. This used to be ours alone and
|
||||
// travelled anyway, on the grounds that it was the difference between a
|
||||
// strip remembering what you watched and one showing everything as new.
|
||||
// The iPhone turned out to HAVE the mark and not to be writing it, so
|
||||
// it relit every ring at each launch; both engines carry it now and it
|
||||
// is in the canonical set rather than a divergence.
|
||||
if (s.optBoolean("seen", false)) out.put("seen", true)
|
||||
return out
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user