Commit Graph

213 Commits

Author SHA1 Message Date
b3e145d764 Enable presaving by default rather than having it gated behind BetaMode 2023-11-24 16:46:22 -08:00
c52dbebb1b Consolidate TODOs 2023-11-12 05:04:55 -08:00
eb835fe52c Add initial version of AI searching, but with a broken implementation of debouncing 2023-11-12 02:57:23 -08:00
99d899254a Fix %v that should have been a %w so that we can use errors.Is reliably 2023-11-11 11:24:16 -08:00
166661dd7f Remove arbitrary limit of only supporting 10 custom columns 2023-10-30 17:51:07 -07:00
f8b515c328 Update custom column support to also automatically retry DB errors to further harden against issues like #119 2023-10-30 17:50:47 -07:00
2b1af986d8 Add support for running hishtory redact while offline, even though this may lead to syncing inconsistency bugs 2023-10-22 11:43:56 -07:00
9efef65e3a Update README and make column name matching more relaxed 2023-10-18 19:17:05 -07:00
58e92e5760 Refactor by moving methods out of lib.go into more specific packages 2023-10-15 18:30:39 -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
4bcc5fb335 Periodically call query endpoint and retrieve data to ensure that the local DB is always reasonably up to date 2023-10-15 12:29:50 -07:00
6fb6498515 Make deletion request processing happen in parallel to speed up query endpoint 2023-10-14 17:21:00 -07:00
fca2b1441f Always include user and device ID in API request headers, so that they're available in all server-side handlers 2023-10-14 10:52:51 -07:00
dbb555e20c Add progress bar to monitor importing history entries for #93 2023-10-12 19:35:52 -07:00
45aa218bd3 Move err check so that it only executes if it is reassigned 2023-10-08 20:26:33 -07:00
717cf2c4b0 Add check so that if there are zero leftover entries, we don't try to import them into the DB since this leads to install errors 2023-10-08 20:25:53 -07:00
4bb0ebfb2e Bubble up error when we fail to encrypt history entries 2023-10-07 20:02:02 -07:00
480f8696fb Also read imports from ~/.zhistory which is sometimes used by zsh 2023-10-07 15:19:51 -07:00
d2788a9f31 Swap interface{} to any 2023-10-07 15:11:49 -07:00
5323c264b3 Further improve history importing performance for #93 2023-10-07 14:41:34 -07:00
f5264b6eff Tweak ImportHistory so that all entries are guaranteed to have sequential timestamps that are monotonically increasing 2023-10-07 11:05:19 -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
beb907d59e Add bolding of matching search results for #112, currently behind the beta-mode flag 2023-09-28 22:13:11 -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
0f375aacfc Add bolding of matching search results for #112, currently behind the beta-mode flag 2023-09-24 15:57:39 -07:00
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
c3782dda18 Add additional error to IsOfflineError 2023-09-23 19:37:25 -07:00
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
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
c00e5d357e Swap hishtory import to use iterators to improve import performance for #93 2023-09-23 12:19:06 -07:00
51ca2578b7 Follow up to e3d54e: Same thing for querying for pre-saved entries 2023-09-22 19:59:19 -07:00
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
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
1c4570586c Increase max supported line length for #93 2023-09-19 18:59:09 -07:00
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
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
c5a7245991 Add bug fix for presaving history where entries would sometimes end up duplicated 2023-09-14 21:01:13 -07:00
01d9924cc0 Check sqlite DB error messages with Contains to be slightly more lenient 2023-09-14 12:32:50 -07:00
d4e01ceb11 Add another error message substring for detecting errors due to being offline, to improve #30 2023-09-13 22:49:40 -07:00
e8ceb02138 Move tui.go out of lib and into a separate package 2023-09-13 22:47:48 -07:00
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
6540b4dbf6 Improve logged error messages for API failures 2023-09-13 20:24:25 -07:00
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