Commit Graph

186 Commits

Author SHA1 Message Date
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
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
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
c73b10011b Add TODO for a bug where sorting entries by timestamps in different timezones causes issues 2023-09-07 18:09:30 -07:00
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
c5bdee9ad5 Merge pull request #102 from lsmoura/sergio/no-ctx-ptr
Remove context pointers since there is no need to pass around a pointer to an interface
2023-09-06 19:58:08 -07:00
a12b0e5f6f no context pointers 2023-09-05 15:45:17 -04:00
1589f77956 use errors.Is to determine what the error is 2023-09-05 15:37:42 -04:00
83ad8c7b1f wrap errors with %w instead of using %v 2023-09-05 15:08:55 -04:00
66f3dc13ec Add support for displaying the user as a column via the 'User' column 2023-08-28 12:19:14 -07:00
2490082088 no-op refactoring: Move history entry building code from lib.go to cmd file for saving history entries 2023-08-27 22:05:24 -07:00
5dae81d336 Sort by start_time in beta mode only, to fix failing tests caused by changing the sorting 2023-08-27 15:20:40 -07:00
25ec191f1a Implement pre-saving feature to ensure that long-running/non-terminating commands are saved in hishtory 2023-08-27 14:24:59 -07:00
765c1c18d0 Remove && false to enable the getwd syscall as a fallback 2023-02-28 17:44:05 -08:00
ff24b66fce Fix unescape function per comments on #73 and add tests for searching for a backslash 2023-02-20 15:46:39 -08:00
0a694c39d5 Add workaround for #69 that avoids go's getCwd method that relies on stat rather than getwd 2023-02-20 12:42:23 -08:00
27cd544524 Add support for arm7 for #63 to support raspberry pis 2023-02-18 22:00:39 -08:00
f2298def32 Ignore a single dash as a token to improve search behavior for queries like 'ls -' to improve #67 2023-02-18 21:46:51 -08:00
2ae54ef74e Simplify stripBackslash 2023-02-14 08:47:38 -08:00
162dd86893 Add unit tests + rename method 2023-02-13 22:26:02 -08:00
b6eb4da4f3 Rename deEscape to unescape 2023-02-13 21:36:54 -08:00
f08cac491c Use rune instead of byte when traversing strings 2023-02-05 02:13:42 +08:00
9062c24a7e Allow search strings to escape special chars ' ', ':' and '-' using '\' 2023-02-05 02:13:42 +08:00
d15376f37d Refactor out deletion request handling to prep for #33 2022-12-18 00:19:52 -08:00
f8b51e49da Support customizing HISHTORY_PATH for people who want to install hishtory in an alternate location to fix #54 2022-12-16 22:22:57 -08:00
7c86b812bf Add support for linux arm64 for #48 2022-12-11 20:39:45 -08:00
233ca7ecd3 Treat TLS timeout as an offline error for #50 2022-12-10 09:43:02 -08:00
35444bf56e Swap ioutil to non-deprecated alternatives + clean up pre-commit errors 2022-11-27 11:59:06 -08:00