218 Commits

Author SHA1 Message Date
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
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
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
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
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
David Dworken
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
Sergio Moura
a12b0e5f6f no context pointers 2023-09-05 15:45:17 -04:00
Sergio Moura
1589f77956 use errors.Is to determine what the error is 2023-09-05 15:37:42 -04:00
Sergio Moura
83ad8c7b1f wrap errors with %w instead of using %v 2023-09-05 15:08:55 -04:00
David Dworken
66f3dc13ec Add support for displaying the user as a column via the 'User' column 2023-08-28 12:19:14 -07:00
David Dworken
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
David Dworken
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
David Dworken
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
David Dworken
765c1c18d0 Remove && false to enable the getwd syscall as a fallback 2023-02-28 17:44:05 -08:00
David Dworken
ff24b66fce Fix unescape function per comments on #73 and add tests for searching for a backslash 2023-02-20 15:46:39 -08:00
David Dworken
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
David Dworken
27cd544524 Add support for arm7 for #63 to support raspberry pis 2023-02-18 22:00:39 -08:00
David Dworken
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
David Dworken
2ae54ef74e Simplify stripBackslash 2023-02-14 08:47:38 -08:00
David Dworken
162dd86893 Add unit tests + rename method 2023-02-13 22:26:02 -08:00
David Dworken
b6eb4da4f3 Rename deEscape to unescape 2023-02-13 21:36:54 -08:00
Håkan Fouren
f08cac491c Use rune instead of byte when traversing strings 2023-02-05 02:13:42 +08:00
Håkan Fouren
9062c24a7e Allow search strings to escape special chars ' ', ':' and '-' using '\' 2023-02-05 02:13:42 +08:00
David Dworken
d15376f37d Refactor out deletion request handling to prep for #33 2022-12-18 00:19:52 -08:00
David Dworken
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
David Dworken
7c86b812bf Add support for linux arm64 for #48 2022-12-11 20:39:45 -08:00
David Dworken
233ca7ecd3 Treat TLS timeout as an offline error for #50 2022-12-10 09:43:02 -08:00
David Dworken
35444bf56e Swap ioutil to non-deprecated alternatives + clean up pre-commit errors 2022-11-27 11:59:06 -08:00
David Dworken
5249ee6709 Add better handling for invalid searches in the TUI + better error messages in a couple other places to improve #40 2022-11-27 08:54:34 -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
f5adac5140 Move code out of lib that is only referenced for one command 2022-11-19 17:14:27 -08:00
David Dworken
ab6bb719a7 Move code out of lib that is only referenced for one command 2022-11-19 17:12:43 -08:00
David Dworken
d9c4a59ddd Move code out of lib that is only referenced for one command 2022-11-19 17:06:28 -08:00
David Dworken
86f9d67aff Fix test failures caused by the cobra install command not respecting the secret key
Also added a persistLog() function so that I can easily inspect the hishtory logs from test runs.
2022-11-16 20:28:25 -08:00
David Dworken
fe6394d1b5 Some test fixes for the cobra integration 2022-11-16 08:03:23 -08:00
David Dworken
c59de42008 More refactoring to use cobra 2022-11-16 08:03:23 -08:00
David Dworken
49a1035169 Fix flakey test failures by removing cache=shared which is a discouraged mode (https://www.sqlite.org/sharedcache.html). WAL is sufficient for our purposes. Plus fix a bug where the TUI would go into an infinite loop if there were zero results. 2022-11-15 23:20:19 -08:00
David Dworken
a18d444d09 Treat connect timeouts as network failures to fix #30 2022-11-14 16:29:55 -08:00
David Dworken
c36e147fae respect zdotdir to fix #29 2022-11-13 15:59:59 -08:00
David Dworken
3e2373d76e More fixes for github action failures + add link to where to file a bug 2022-11-13 06:42:37 -08:00
David Dworken
86adcb64f6 Remove debug print 2022-11-12 18:46:14 -08:00
David Dworken
0268554903 Rework history importing to ensure we read from HISTFILE exactly once and still always read the standard bash/zsh hist files 2022-11-12 16:39:21 -08:00
David Dworken
15abcd8d13 Strip history entries with zsh weirdness rather than skip them + ensure the hishtory import command runs a full re-import 2022-11-12 16:30:59 -08:00
David Dworken
e6fc09cc5d Remove debug logs 2022-11-12 16:08:39 -08:00
David Dworken
e72ef668ea Add custom timestamp format as requested in the original HN thread 2022-11-11 17:17:54 -08:00
David Dworken
e520b23858 Improve history importing to not double import HISTFILE + improve tests 2022-11-11 18:12:23 -05:00