Commit Graph

444 Commits

Author SHA1 Message Date
David Dworken
5ac6f297fb Fix incorrect shell name in config.fish for pre-saving 2023-09-28 22:13:35 -07:00
David Dworken
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
David Dworken
beb907d59e Add bolding of matching search results for #112, currently behind the beta-mode flag 2023-09-28 22:13:11 -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
d14dc1cd50 Update presaving for bash to use history 1 rather than BASH_COMMAND to ensure we don't log bash functions 2023-09-26 19:41:12 -07:00
David Dworken
753b7241a8 Improve test for duplicate rows to make it more reliable/simple 2023-09-26 19:38:21 -07:00
David Dworken
0627891be2 Add test for beta-mode enabling highlighting of matching queries 2023-09-24 17:57:40 -07:00
David Dworken
b3fa5c9a6b Add very basic TUI test that also tests how the TUI uses escape sequences for colors 2023-09-24 17:03:54 -07:00
David Dworken
eeacd6fa70 Fix incorrect shell name in config.fish for pre-saving 2023-09-24 16:31:46 -07:00
David Dworken
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
David Dworken
0f375aacfc Add bolding of matching search results for #112, currently behind the beta-mode flag 2023-09-24 15:57:39 -07:00
David Dworken
e3c70beb6b Fix bug introduced in c00e5d where hishtory import would fail if shell history files didn't exist (e.g. because the user had never used zsh) 2023-09-23 20:37:41 -07:00
David Dworken
c3782dda18 Add additional error to IsOfflineError 2023-09-23 19:37:25 -07:00
David Dworken
1c2f9cf36c Run local server for TestAugmentedIsOfflineError and ensure that HISHTORY_TEST is set 2023-09-23 19:35:21 -07:00
David Dworken
8443292070 Augment IsOfflineError(err) so that it detects if the hishtory server is down, and will then treat all API errors as offline errors 2023-09-23 16:40:03 -07:00
David Dworken
ab12fa4d47 Fix consistency bug where ClientConfig would get out of date between different parts of the code 2023-09-23 12:40:57 -07:00
David Dworken
c00e5d357e Swap hishtory import to use iterators to improve import performance for #93 2023-09-23 12:19:06 -07:00
David Dworken
68c6bd6654 Improve TestTimestampFormat 2023-09-23 10:56:27 -07:00
David Dworken
e886763144 Make testCustomColumns simpler and more reliable 2023-09-23 05:34:36 -07:00
David Dworken
51ca2578b7 Follow up to e3d54e: Same thing for querying for pre-saved entries 2023-09-22 19:59:19 -07:00
David Dworken
e3d54e43e8 Make deletion request auto-retry SQLITE_LOCKED errors since deletion requests will now be much more common with pre-saving support 2023-09-22 19:47:10 -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
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
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
1c4570586c Increase max supported line length for #93 2023-09-19 18:59:09 -07:00
David Dworken
216803f325 Bring back logic that was removed in c9da7a10e4 that made it so invalid initial search queries will get replaced with a query for the empty string 2023-09-18 22:21:10 -07:00
David Dworken
4f592f4aef Automatically retry search queries when the DB is locked to increase reliability (especially when the backend is down, which leads to more queries, and thus more instances of the DB being locked) 2023-09-18 19:22:26 -07:00
David Dworken
134061085b Fix bug in searching logic that caused gorm to template in NULL for non-null values 2023-09-17 20:24:48 -07:00
David Dworken
1d7ba41289 Avoid performance hit caused by pre-saving by presaving in the background 2023-09-17 14:11:44 -07:00
David Dworken
48e33d5034 Make the query input box in the TUI match the terminal dimensions 2023-09-14 21:14:16 -07:00
David Dworken
328c35a096 Add presaving support for fish 2023-09-14 21:03:36 -07:00
David Dworken
c5a7245991 Add bug fix for presaving history where entries would sometimes end up duplicated 2023-09-14 21:01:13 -07:00
David Dworken
01d9924cc0 Check sqlite DB error messages with Contains to be slightly more lenient 2023-09-14 12:32:50 -07:00
David Dworken
d4e01ceb11 Add another error message substring for detecting errors due to being offline, to improve #30 2023-09-13 22:49:40 -07:00
David Dworken
e8ceb02138 Move tui.go out of lib and into a separate package 2023-09-13 22:47:48 -07:00
David Dworken
6d6a1a5e12 Move a bunch of update-specific code out of the generic lib.go file and into the update command 2023-09-13 22:45:49 -07:00
David Dworken
b6b4dbe37a Add tests for presaving history entries 2023-09-13 20:29:06 -07:00
David Dworken
6540b4dbf6 Improve logged error messages for API failures 2023-09-13 20:24:25 -07:00
David Dworken
763c8208f7 Make RetryingDbFunction more lenient so that it always ignores UNIQUE constraint errors, since if a DB.Create returns a UNIQUE error, then the create is not actually necessary 2023-09-13 19:20:15 -07:00
David Dworken
f1e2b8ddbf Update TestSortByConsistentTimezone to not use a golden for tquery since it was leading to occasional flakes, and swap it to using a regex. Also add a test for hishtory export as part of the sorting tests. 2023-09-12 19:09:01 -07:00
David Dworken
57c5a69f7d Fix bug where we failed to delete pre-saved history entries due to race conditions causing the DB to be locked 2023-09-12 18:55:13 -07:00
David Dworken
9b871e93ed Fix consistent time zone sorting test to account for table sizing differences on github actions 2023-09-10 17:13:48 -07:00
David Dworken
e3e3a7bd0d Add tablesizing command to get consistent table dimensions 2023-09-09 14:02:47 -07:00
David Dworken
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
David Dworken
223598c8f2 Remove golden that was forked for actions, that didn't need to be 2023-09-09 11:56:06 -07:00
David Dworken
c73b10011b Add TODO for a bug where sorting entries by timestamps in different timezones causes issues 2023-09-07 18:09:30 -07:00
David Dworken
578113e07c Revert "use errors.Is to determine what the error is" since it doesn't work with modernc.org/sqlite which we need in order to avoid using CGO (which we do to enable easy cross-compiles)
This reverts commit 1589f77956. When building with CGO_ENABLED=0, this code will fail to build.
2023-09-06 20:21:00 -07:00