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
196
element.update
%{"body" => nil, "data" => %{"done" => false}, "element_type" => "task_list", "id" => "f4834656-b6eb-4f83-8760-84bae6f4f924", "idea_id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-28T12:59:02Z", "position" => 0, "title" => "Feature: Idea types - different types have different blocks (e.g. a house project doesn't need the linked repo block). Start with types \"software\" which has all the existing blocks (hardcoded for all users). Provide a way for users to define their own idea types and select which blocks are included. But any idea should also be customizable to add/remove blocks (e.g. a software project defaults to having linked repos but the user could create a new software idea and then remove that block for that idea); the normally associated blocks with an idea type are just what a new idea of that type starts with, they aren't mandatory.", "type" => "element.update", "updated_at" => "2026-08-29T13:47:35Z"}
195
idea.update
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T13:34:53Z"}
194
element.update
%{"data" => "{\"done\":true}", "element_type" => "task_list", "id" => "3cbb9a06-162c-4bcd-8e16-025fe639df2b", "idea_id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-28T14:17:12Z", "position" => 0, "title" => "Feature: Download page (part of the admin service) that requires a unique invite code. Code generated by admin (\"create download link\"). If provided code is invalid, it shows a generic \"in closed beta\" message. When valid, the page shows all the download options (i.e. right now that's Windows desktop app and Android mobile app)", "type" => "element.update", "updated_at" => "2026-08-30T13:34:53Z"}
193
idea.update
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T13:31:33Z"}
192
element.create
%{"data" => %{"done" => false}, "element_type" => "task_list", "id" => "6d3ad759-4dfc-423e-9217-598ea1428fc1", "idea_id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-30T13:31:33Z", "position" => 0, "title" => "Feature : Check for updates for Android. Checks if there is a new version and gives the ability to visit the download page to get it (needs to generate a valid link for that user to download)", "type" => "element.create", "updated_at" => "2026-08-30T13:31:33Z"}
%{"archived" => false, "id" => "d2e9dd63-1248-4a90-8cf6-69b6e9233827", "inserted_at" => "2026-08-30T12:21:41Z", "name" => "Knowledge Horse", "pitch" => "Horsepower for the mind. Track, organize, and work with knowledge of any type. From books to websites, track anything you're thinking about or want to think about.\n\nYou can't spell knowledge without horse.", "type" => "idea.update", "updated_at" => "2026-08-30T12:22:05Z"}
189
idea.create
%{"archived" => false, "id" => "d2e9dd63-1248-4a90-8cf6-69b6e9233827", "inserted_at" => "2026-08-30T12:21:41Z", "name" => "Knowledge Horse", "pitch" => "Horsepower for the mind. Track, organize, and work with knowledge of any type. From books to websites, track anything you're thinking about or want to think about.", "type" => "idea.create", "updated_at" => "2026-08-30T12:21:41Z"}
188
idea.update
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T12:03:43Z"}
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T12:03:27Z"}
185
element.update
%{"data" => "{\"done\":true}", "element_type" => "task_list", "id" => "64c24537-6984-4087-88e6-7015dfeeede4", "idea_id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-28T12:54:18Z", "position" => 0, "title" => "UX: [Android] Toolbar painted over top of text area instead of above it. This cuts off the top of the view", "type" => "element.update", "updated_at" => "2026-08-30T12:03:27Z"}
184
idea.update
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T12:03:24Z"}
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T12:03:23Z"}
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T12:03:22Z"}
%{"archived" => false, "category" => "app", "id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-25T23:21:27Z", "name" => "I have an idea", "pitch" => "Track all ideas through all stages of completion", "type" => "idea.update", "updated_at" => "2026-08-30T12:03:19Z"}
177
element.update
%{"data" => "{\"done\":true}", "element_type" => "task_list", "id" => "f4834656-b6eb-4f83-8760-84bae6f4f924", "idea_id" => "2d97d724-fd45-4168-8c36-f8db6c05cbd0", "inserted_at" => "2026-08-28T12:59:02Z", "position" => 0, "title" => "Feature: Idea types - different types have different blocks (e.g. a house project doesn't need the linked repo block)", "type" => "element.update", "updated_at" => "2026-08-30T12:03:19Z"}