From 1844ef5fc2095d07ce667c73df01baebe61b1afd Mon Sep 17 00:00:00 2001 From: Angelika Serwa Date: Wed, 18 Dec 2024 02:19:45 +0100 Subject: [PATCH] [sqlite] Fix corrupted creation_time timestamps in threads Summary: https://linear.app/comm/issue/ENG-9955/threadstore-timestamp-corruption-issue I guess this line was supposed to insert the current time, but it doesn't work. It turns out `time` is a function (https://en.cppreference.com/w/c/chrono/time) so it reinterpret_casts a pointer to the `time` function as a creation date. So that's why I was seeing weird timestamps like `6637613460` and often the same for each thread. Test Plan: The most sure way to reproduce the bug (works 100% of the time): Create a new account (but maybe you don't have to do this) Restart the app (so we save to sqlite db and read from it again) See the threads creation dates in the store. Before the fix they were corrupted, after the fix they're ok. Reviewers: kamil, tomek Reviewed By: tomek Subscribers: ashoat Differential Revision: https://phab.comm.dev/D14168 --- .../DatabaseManagers/entities/Thread.h | 2 +- .../_generated/comm_query_executor.wasm | Bin 2347093 -> 2347093 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/Thread.h b/native/cpp/CommonCpp/DatabaseManagers/entities/Thread.h index 6fc84e727f..6b520e3208 100644 --- a/native/cpp/CommonCpp/DatabaseManagers/entities/Thread.h +++ b/native/cpp/CommonCpp/DatabaseManagers/entities/Thread.h @@ -56,7 +56,7 @@ struct Thread { bindStringPtrToSQL(name, sql, idx + 2); bindStringPtrToSQL(description, sql, idx + 3); bindStringToSQL(color, sql, idx + 4); - bindInt64ToSQL(reinterpret_cast(time), sql, idx + 5); + bindInt64ToSQL(creation_time, sql, idx + 5); bindStringPtrToSQL(parent_thread_id, sql, idx + 6); bindStringPtrToSQL(containing_thread_id, sql, idx + 7); bindStringPtrToSQL(community, sql, idx + 8); diff --git a/web/shared-worker/_generated/comm_query_executor.wasm b/web/shared-worker/_generated/comm_query_executor.wasm index 57b1fcd67bdea821a3b0cd717e8ad3383bc1a006..0774fc5aaf49bbe61a5922fd354e48821a8a2469 100755 GIT binary patch delta 15859 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