Commit Graph

38 Commits

Author SHA1 Message Date
David Dworken
7ebb693cdb
Fix double-syncing error where devices receive entries from themselves #202 (#204)
* Fix double-syncing error where devices receive entries from themselves

* Fix incorrect error message

* Add TODO

* Update TestESubmitThenQuery after making query more efficient

* Update TestDeletionRequests and remove unnecessary asserts

* Swap server_test.go to using require

* Fix incorrect require due to typo
2024-04-14 22:53:28 -07:00
Nguyễn Hoàng Đức
8c4ede4186
Allow register new device when exceed user limit when user already exist (#181) 2024-02-19 12:27:16 -08:00
David Dworken
339da47636
Add cleaning for integration test devices to remove DB entries 2024-02-19 11:50:12 -08:00
David Dworken
3a01e47701
Refactor: Move UsageData and Device to the backend/server directory since they are purely server-side constructs 2023-12-10 10:32:04 -08:00
David Dworken
7272ca8448
Delete data from backend when uninstalling, fixes #132 (#143) 2023-12-10 09:15:11 -08:00
David Dworken
0c2774ec15
Change deletion request code to not filter on DeviceId since the two device ID fields are not actually the same (see the newly added comment) 2023-11-22 20:44:57 -08:00
David Dworken
047ff97cfc
Add more thorough deep cleaning to delete entries for users that have more than 50 million entries, since these users are clearly misusing hishtory in some way that is causing DB load issues 2023-10-28 23:30:18 -07:00
David Dworken
f3c8ecc9e6
Update deep clean code to actually execute the delete now that I validated that it is reasonable 2023-10-28 15:06:58 -07:00
David Dworken
0c39dbf27c
Update deep clean code to be stricter and to fix a bug 2023-10-27 20:16:30 -07:00
David Dworken
a937b35e54
Avoid returning DB error when deleted message identifiers don't have a device ID 2023-10-18 18:59:12 -07:00
David Dworken
cd53e9a40d
Add another filter check to remove integration test devices 2023-10-15 17:58:25 -07:00
David Dworken
cd69973939
Update usage_data queries to filter out integration tests 2023-10-15 17:30:55 -07:00
David Dworken
460d161c76
Update some usage calculations to exclude is_integration_test_device 2023-10-15 14:52:45 -07:00
David Dworken
f6b3890f20
Fix incorrect comparisons for checking if a timestamp is zero-valued 2023-10-15 12:59:42 -07:00
David Dworken
67f2ed6de1
Fix transaction for creating deletion requests so that it actually uses the passed in tx 2023-10-15 11:49:36 -07:00
David Dworken
cfefbb9b19
Improve DeleteMessagesFromBackend with better error checking and optimized queries for cases when MessageIdentifier is missing data 2023-10-15 11:43:29 -07:00
David Dworken
9f32ae5d2e
Refactor deletion request creation to happen in a transaction to avoid 1-n DB queries 2023-10-15 10:29:47 -07:00
David Dworken
151dfb4009
Optimize query endpoint so that it applies all deletion requests in one SQL query rather than having a 1-n pattern 2023-10-15 10:19:30 -07:00
David Dworken
4c1479b920
Add comment with example of creating index concurrently 2023-10-14 11:41:06 -07:00
David Dworken
0b57034c39
Revert "Revert all commits since v0.223 to enable me to release a patch on top of v0.223"
This reverts commit 68ed9f2d5d.
2023-09-29 18:21:23 -07:00
David Dworken
68ed9f2d5d
Revert all commits since v0.223 to enable me to release a patch on top of v0.223 2023-09-28 22:15:30 -07:00
David Dworken
4370820281
Skip storing user stats when running with sqlite, since the queries aren't compatible with sqlite 2023-09-28 22:15:16 -07:00
David Dworken
96e8e4f620
Add backend table to track daily/weekly active user stats 2023-09-28 22:14:55 -07:00
David Dworken
678ba25ecd
Update CreateIndices() function so that it works with sqlite 2023-09-28 22:14:44 -07:00
David Dworken
c77d5a5424
Remove prints from server startup 2023-09-28 22:13:23 -07:00
David Dworken
6d5a86a8bb
Revert all commits since v0.223 to enable me to release a patch on top of v0.223 2023-09-28 21:49:37 -07:00
David Dworken
d0712f84c6
Skip storing user stats when running with sqlite, since the queries aren't compatible with sqlite 2023-09-26 20:49:21 -07:00
David Dworken
db4e31d997
Add backend table to track daily/weekly active user stats 2023-09-26 20:11:06 -07:00
David Dworken
3d0673e6e9
Update CreateIndices() function so that it works with sqlite 2023-09-24 18:49:40 -07:00
David Dworken
6c6245d962
Remove prints from server startup 2023-09-24 15:59:39 -07:00
David Dworken
5bdbd9b262
Revert increased read_count requirement for deletion requests since deleting via encrypted-ID should be reliable 2023-09-22 19:19:06 -07:00
David Dworken
cc11916f3c
Create func to automatically create DB indexes rather than just documenting them in a comment that has to be manually executed 2023-09-22 19:11:43 -07:00
David Dworken
8c6443ed07
Fix incorrect column name 2023-09-22 18:59:37 -07:00
David Dworken
1d878195b2
Rework ff98a7907c to use the newly added EntryId column rather than deleting based on the start time 2023-09-22 14:03:41 -07:00
David Dworken
2a5a6d65c4
Roll-forward "Add preliminary support for persisting pre-saved history entries remotely"
This rolls-forward commit 66916c27cb.
2023-09-22 13:13:46 -07:00
David Dworken
66916c27cb
Revert "Add preliminary support for persisting pre-saved history entries remotely"
This reverts commit ff98a7907c. That commit is incomplete since it doesn't include support for the continous deletion of pre-saved history entries as soon as they
finish running. Support for this will require a good bit more work/thought, so reverting for and keeping this code in the git history.
2023-09-21 12:39:20 -07:00
David Dworken
ff98a7907c
Add preliminary support for persisting pre-saved history entries remotely 2023-09-21 12:39:04 -07:00
David Dworken
772aaf2453
Move internal/ directory into backend/server since it is all server-specific internals 2023-09-17 12:51:21 -07:00