Scans all CRDT log rows for this user. Rows whose operation payload matches an earlier
row (same normalized JSON) are removed; the lowest data_version for each payload is kept. This cannot be undone. Removing tail rows can lower server
latest_version
after the next client sync.
Version
Type
Inserted
Operation
168
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "not_started", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:48:33Z"}
167
todo.update
%{"id" => "67931d4c-4be2-4ec5-bf40-03fcad199acf", "priority" => 1.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "not_started", "title" => "The todo count is wrong in the Users view of the service admin UI (way too low)", "type" => "todo.update", "updated_at" => "2026-03-27T23:48:32Z"}
166
todo.update
%{"id" => "67931d4c-4be2-4ec5-bf40-03fcad199acf", "priority" => 1.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "The todo count is wrong in the Users view of the service admin UI (way too low)", "type" => "todo.update", "updated_at" => "2026-03-27T23:48:28Z"}
165
todo.update
%{"id" => "67931d4c-4be2-4ec5-bf40-03fcad199acf", "priority" => 1.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "not_started", "title" => "The todo count is wrong in the Users view of the service admin UI (way too low)", "type" => "todo.update", "updated_at" => "2026-03-27T23:48:25Z"}
163
todo.update
%{"id" => "67931d4c-4be2-4ec5-bf40-03fcad199acf", "priority" => 1.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "The todo count is wrong in the Users view of the service admin UI (way too low)", "type" => "todo.update", "updated_at" => "2026-03-27T23:48:21Z"}
162
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:48:16Z"}
161
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "not_started", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:30:19Z"}
160
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:30:07Z"}
159
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "not_started", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:30:03Z"}
158
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:26:26Z"}
157
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "not_started", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:26:26Z"}
156
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:26:24Z"}
155
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "not_started", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:26:23Z"}
154
todo.update
%{"id" => "1556e907-2330-4218-818c-f9f1fe81f78e", "priority" => 2.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "Moving todos to another subproject has a multi-second delay", "type" => "todo.update", "updated_at" => "2026-03-27T23:25:23Z"}
153
todo.update
%{"id" => "1445e456-1f4e-4c8e-b7ee-f3a2da5dff24", "priority" => 3.0, "project_id" => "4fde0448-2ad8-4bba-93a7-a5d648016a76", "status" => "completed", "title" => "Sometimes a list, in day planner or project view, refreshes and scrolls all the way to the top automatically", "type" => "todo.update", "updated_at" => "2026-03-27T23:16:21Z"}
%{"id" => "230c7794-5c8f-4dc7-9523-26ab31defdf7", "priority" => 2.0, "project_id" => "2600ea1e-323f-4da0-ac82-718e100bebcd", "status" => "not_started", "title" => "Expand todo functionality - Add a \"body\" (Markdown text) to todos. Add ability to mark progress on a todo (i.e. It's not just done/undone but 35% done).", "type" => "todo.update", "updated_at" => "2026-03-27T23:15:38Z"}
149
todo.update
%{"id" => "67aaa682-0efe-4797-99de-348e64daf196", "priority" => 2.0, "project_id" => "2600ea1e-323f-4da0-ac82-718e100bebcd", "status" => "not_started", "title" => "Add view that shows un-bought to buys by the category (where to buy the thing)", "type" => "todo.update", "updated_at" => "2026-03-27T23:15:34Z"}