mirror of
https://github.com/bulwarkmail/native.git
synced 2026-10-31 08:06:36 +00:00
Etar moves an event, or turns a series into a single event, by deleting the row and inserting a copy. The pair uploaded the move as a patch of the event, but then took the copy as it stood for the new baseline and wrote the server's version over it, so everything else saved with the move was dropped: a changed reminder came back, and an edit made before the move never reached the server. The synced occurrences, which Etar does not copy, were deleted with the old row, losing an occurrence edit that was still waiting. The copy now starts from the old row's baseline with only what the move changed, so any other difference stays dirty and uploads right after the move as an ordinary update. The old row's occurrences move to the new row with what they wait to upload. Attendee rows of the copy are the app's re-insert (Etar writes everyone as required, without a status) and are not read as edits. Checked with planner tests and runs through the engine and the fake server: a reminder saved with the move and a pending occurrence edit both reach the server, the event keeps its uid, and the echo writes nothing.