Commit Graph

46 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
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
c52dbebb1b
Consolidate TODOs 2023-11-12 05:04:55 -08:00
David Dworken
f3727dbeff
Wire through a flag so that we can track when installations come from tests, and delete those from the DB more aggressively 2023-10-15 13:09:48 -07:00
David Dworken
d2788a9f31
Swap interface{} to any 2023-10-07 15:11:49 -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
51f2c15f35
Add index for deletion requests now that the volume of deletion requests will increase 2023-09-22 19:01:27 -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
9b847c5e35
Further optimize client-server roundtrips by including deletion and dump requests in submit responses (follow up to 1e43de689f) 2023-09-22 13:49:29 -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
1e43de689f
Optimize number of round-trip HTTP connections made by the client by having the submit handler return metadata about whether there are pending dump/deletion requests
For now, I'm still keeping the dedicated endpoints for those functionalities, but since most of the time there are no dump/deletion requests this should cut down the number of requests made by the client by 2/3.
2023-09-21 11:35:24 -07:00
David Dworken
c08c9d68ff
Add comments for shared data structures 2023-09-21 10:21:07 -07:00
David Dworken
27cd544524
Add support for arm7 for #63 to support raspberry pis 2023-02-18 22:00:39 -08:00
David Dworken
7c86b812bf
Add support for linux arm64 for #48 2022-12-11 20:39:45 -08:00
David Dworken
c603537137
Optimize the apiSubmit function to ensure that it doesn't lead to errors from large insertions 2022-11-26 10:31:43 -08:00
David Dworken
d4efc62df1
Add client-side code to ask for feedback when uninstalling 2022-11-16 21:54:05 -08:00
David Dworken
cdc5421a7b Move testutils to a separate package so as to move test-only code out of the main binary 2022-10-27 21:53:47 -07:00
David Dworken
37c36ea5f1 Add docs on the manually created postgres indices 2022-10-23 17:35:30 -07:00
David Dworken
41f82e8034 Add ReadCount field to deletion requests so that we can eventually delete them from the DB 2022-09-20 21:13:59 -07:00
David Dworken
5391ecd220 First version of working redaction with passing integration tests 2022-09-19 22:49:48 -07:00
David Dworken
1da703e9c2 Working update code for macos 2022-05-26 23:45:08 -07:00
David Dworken
cbc4e70605 Integrated client-side with dump requests, haven't written any integration tests yet 2022-04-28 11:46:14 -07:00
David Dworken
74caf87eda Add basic xattr implementation (commiting to save it, about to delete most of it) 2022-04-25 21:42:28 -07:00
David Dworken
e98783d30f Add server-side code to handle updates for non-linux 2022-04-17 12:02:56 -07:00
David Dworken
735a98a611 Add API endpoint for getting information about the latest hishtory version and download URLs 2022-04-16 16:34:09 -07:00
David Dworken
bf789605d1 record registration ip and date in the server-side DB for usage analytics 2022-04-09 16:37:51 -07:00
David Dworken
c2465d7c99 refactored to move no longer shared things out of the shared/ folder 2022-04-07 21:05:58 -07:00
David Dworken
1065fff062 refactoring, better tests, commit hash, banner, and tested working locally 2022-04-06 22:43:07 -07:00
David Dworken
684511f4f7 working update 2022-04-06 18:18:46 -07:00
David Dworken
71fc809f9a tests are passing and getting close now. Need to test the live update flow along with more thorough testing for everything 2022-04-05 23:31:24 -07:00
David Dworken
843bcb32b3 goodbye to the Persist method that was silly 2022-04-04 22:09:14 -07:00
David Dworken
e2acc6612a well, it builds :D but still failing all the tests 2022-04-04 22:07:01 -07:00
David Dworken
c5eea01a23 device ID is now a random uuid generated by the client 2022-04-03 21:00:46 -07:00
David Dworken
32e74eb3a1 building, before doing the refactor to make device ID just another random ID 2022-04-03 20:55:37 -07:00
David Dworken
2a3887b9ed adapted to have it duplicate entries into per-device entries server-side 2022-04-03 10:08:18 -07:00
David Dworken
0a3d60769c fixed the DB error, was stupid mistake in test-only code 2022-04-02 22:54:09 -07:00
David Dworken
f1303849cf still horribly broken, just a commit before refactoring to move http handlers onto a struct 2022-04-02 22:27:20 -07:00
David Dworken
252e9ab122 Website landing page, install instructions, update command, status command, set up postgres, and fixing broken tests 2022-03-29 21:56:28 -07:00
David Dworken
3cc9118a69 working tracking for start time 2022-01-09 16:39:13 -08:00
David Dworken
3d450a1175 in progress integration tests 2022-01-09 11:00:53 -08:00
David Dworken
a523504c40 split into local client and remote client, and add tests 2022-01-08 21:59:28 -08:00
David Dworken
6fbad3a194 init versions pre-split 2022-01-08 20:27:18 -08:00