Commit Graph

143 Commits

Author SHA1 Message Date
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
7272ca8448 Delete data from backend when uninstalling, fixes #132 (#143) 2023-12-10 09:15:11 -08:00
8419a883b4 Normalize hostnames in goldens so that golden files work well for local tests too 2023-12-09 15:12:40 -08:00
acdcd9569a Fix error checking so that if /tmp/test-goldens/ exists, then we don't error out 2023-12-03 16:58:31 -08:00
bdaf0f8a65 Make TUI always take exactly the full width of the terminal through more precise calculations of the overhead used for the table (#136)
* Make TUI always take exactly the full width of the terminal through more precise calculations of the overhead used for the table

* Update TUI goldens for more accurate TUI sizing

* More golden updates for wider table sizing

* Include failed test goldens as artifacts for easier test fixing on github actions
2023-12-03 13:15:38 -08:00
b928ff642f Add additional error checking for server startup 2023-11-22 20:47:40 -08:00
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
c52dbebb1b Consolidate TODOs 2023-11-12 05:04:55 -08:00
034c317d74 Update prompt to discourage adding formatting 2023-11-12 04:54:37 -08:00
1a450c0817 Add basic sanity test to confirm that our interactions with the OpenAI API are correct 2023-11-12 02:57:23 -08:00
6962233e1e Better log messages and error messages 2023-11-12 02:57:23 -08:00
afe1a38a0e Fix 2d63263b79 by applying the override on the backend rather than in the client-side variable that isn't actually being referenced 2023-11-12 02:57:23 -08:00
b0f3107da2 Add basic test for AI queries 2023-11-12 02:57:23 -08:00
0ea3ce2399 Add basic debouncing for AI integration + implement AI suggestions via hishtory API endpoint 2023-11-12 02:57:23 -08:00
eb835fe52c Add initial version of AI searching, but with a broken implementation of debouncing 2023-11-12 02:57:23 -08:00
390f37f20c Update testTui tests to run with online and offline installs 2023-10-25 20:44:26 -07:00
9433bd6e94 Refactor offline simulation tests so that they reliably set the env variable before ever starting the shell, since we need the env variable to also apply to presaving 2023-10-22 11:28:41 -07:00
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
56f54f0f65 Better output formatting for server failures 2023-10-15 12:48:05 -07:00
6fb6498515 Make deletion request processing happen in parallel to speed up query endpoint 2023-10-14 17:21:00 -07:00
f0dbcd6e3b Add more thorough tests for updates 2023-10-09 21:41:30 -07:00
d2788a9f31 Swap interface{} to any 2023-10-07 15:11:49 -07:00
d33bd6a046 Improve history import performance so that we can import 100k entries in ~6 seconds (down from ~20 seconds) 2023-10-02 22:27:24 -07:00
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
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
7e33e942e6 Delete no longer used function 2023-09-28 22:14:35 -07:00
9fda54d4c2 Remove testutils.Check(t, err) and replace it with require.NoError which gives a clearer error message and a full stacktrace 2023-09-28 22:13:27 -07:00
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
0c202e4130 Delete no longer used function 2023-09-24 18:09:41 -07:00
5121df5a8c Remove testutils.Check(t, err) and replace it with require.NoError which gives a clearer error message and a full stacktrace 2023-09-24 16:05:01 -07:00
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
51f2c15f35 Add index for deletion requests now that the volume of deletion requests will increase 2023-09-22 19:01:27 -07:00
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
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
a5f11af150 Add initial code to support unique per-entry IDs
This code has two caveats for old entries:
1. the ID is being backfiled with a random per-(device,entry) ID. So the ID won't match cross-device.
2. the server-side ID will still be a random ID that is unrelated to the entry ID
2023-09-22 13:16:24 -07:00
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
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
ff98a7907c Add preliminary support for persisting pre-saved history entries remotely 2023-09-21 12:39:04 -07:00
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
c08c9d68ff Add comments for shared data structures 2023-09-21 10:21:07 -07:00
2b115844f4 Improve testutils server runner to persist logs and kill existing servers automatically 2023-09-13 20:23:09 -07:00
3c0d3561fb Merge remote-tracking branch 'origin/master' into sergio/db 2023-09-11 10:15:53 -04:00
f9ee8ed189 use DateOnly as local constant instead of using the imported time package 2023-09-11 10:15:42 -04:00
2ccbb8d587 Store timestamps in DB in Unix time, and display them in the Local time for consistent TZs in displays, and to ensure ordering is correct
This fixes a bug where entries could be out of order if they were recorded on machines in different TZs (e.g. if one machine had the TZ set to UTC). Admittedly, this commit isn't a perfect fix since
it doesn't change all the existing hishtory entries to be stored in UTC, but this just means that the ordering bug will continue to exist for historical entries, but be fixed for new entries. And
for our purposes, that is good enough. :)

 # Please enter the commit message for your changes. Lines starting
2023-09-09 12:28:01 -07:00
382f234c09 remove usage_data related queries from the main package into a database package 2023-09-08 10:58:01 -04:00
25eae144d8 Revert all tmpfs related commits, since running in a tmpfs doesn't seem to meaningfully improve test reliability 2023-09-04 18:03:46 -07:00
9b06e6980a Revert 2ca6c751d0 and instead have BackupAndRestore keep files on the same mount point 2023-09-02 20:09:22 -07:00
2ca6c751d0 Avoid constantly copying the binary back and forth to make tests faster on github actions 2023-09-02 19:51:43 -07:00
c0f33a3456 Swap from os.Rename to a custom implementation that copies files to support cross-device renames, as needed for making ~/.hishtory/ a tmpfs for tests 2023-09-02 18:50:52 -07:00
ddddff0f1b Add automatic retries for the TestTui method which is sadly inherently flaky since it is akin to screenshot tests of a terminal 2023-08-29 23:23:21 -07:00