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
dc166ec089
Move fuzz tests to a separate file and add a couple more tests to it
2023-09-22 08:43:58 -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
63dea34007
Add comment to document a somewhat confusing function
2023-09-21 11:35:47 -07:00
David Dworken
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
David Dworken
b05fb0f818
Fix typo-ed variable name
2023-09-21 11:25:26 -07:00
David Dworken
1c4570586c
Increase max supported line length for #93
2023-09-19 18:59:09 -07:00
David Dworken
69047109ac
Skip presaving the presave command, since it is currently spamming the recorded history entries in bash
2023-09-19 13:35:11 -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
c9da7a10e4
Make the initial search query for the TUI async so that the UI opens immediately, so that user's can start typing their query without any delay
2023-09-18 19:35:53 -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
f589a0b1ba
Increment the test_retry_count metric for failures too to ensure that it captures tests that fail all retries
2023-09-17 23:07:10 -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
e6c76eb222
Make WHERE query for deleting presaved entries stricter and re-add in the error check that was removed in 713ee96a96
2023-09-17 14:38:48 -07:00
David Dworken
4c912cfaed
Improve sh config file tweak function to make it stricter with presaving
2023-09-17 14:35:56 -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
713ee96a96
Delete error checking branch that isn't necessary because the filter condition above is much more precise now
2023-09-17 12:06:19 -07:00
David Dworken
4b99e4d0e8
Fix misleading error message that contained the wrong shell name due to a copy/paste mistake
2023-09-14 23:09:15 -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
30ba0bd35c
Presaving clean up improvements: Skip presaving empty commands and make timestamp format clearer
2023-09-14 21:04:23 -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
9fcdb7f960
Add TODO for tui UX improvement
2023-09-14 20:40:35 -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
f3e4a4e1e6
Disable tquery test that is failing on github actions
2023-09-13 21:56:58 -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
a039b19b9c
Change root command name to all lower case so that the cobra-generated examples work correctly on case-sensitive file systems
2023-09-13 19:46:49 -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
aebf526d1f
Add TODO for a theoretical bug I noticed
2023-09-12 17:51:55 -07:00
David Dworken
c311b09844
Improve error messages when we fail to delete pre-saved history entries
2023-09-12 15:53:52 -07:00
Sergio Moura
2b3912c750
fix check for empty array result
2023-09-11 16:34:22 -04: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
c269e7832e
Release v0.212
2023-09-09 15:17:55 -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
b6b4499a42
Add a few more ExtraDelays + comments to further improve test reliability
2023-09-09 11:50:07 -07:00
David Dworken
4d7e685a6e
Add ExtraDelay to make testTui/delete more reliable
2023-09-08 19:44:36 -07:00
David Dworken
ba099c384b
Add statsd incr for overall test failure
2023-09-08 19:40:10 -07:00
David Dworken
27d5c59263
Skip datadog integratio on macos if colima fails to start, since colima appears to be flaky due to a code signing error
2023-09-08 19:27:16 -07:00
David Dworken
3a8243d25d
Another set of extra delays for testTui/search, similar to 37c06a31db
2023-09-08 10:09:01 -07:00
David Dworken
cc10689d09
Skip running DD on non-master branches so that PRs can run successfully
2023-09-08 09:59:55 -07:00
David Dworken
37c06a31db
Add extra delay before adding token that makes it an invalid search query to make the race condition less likely
2023-09-08 09:53:39 -07:00
David Dworken
3448c3fdf6
Add hishtory export test as a pre-req for testTui/search to ensure that entries are getting properly stored
2023-09-07 22:18:16 -07:00
David Dworken
519a7ba706
Add OS tag for datadog test export
2023-09-07 22:03:03 -07:00
David Dworken
e5864c9a16
Fix datadog tags to be passed as key/values
2023-09-07 21:05:30 -07:00
David Dworken
a13549851c
Add basic datadog integration to monitor test failures in github actions
2023-09-07 18:30:47 -07:00
David Dworken
4bc23c9575
Add additional information about sync status to hishtory status -v
for debugging purposes
2023-09-07 18:10:17 -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
d80afc27d4
Clear out ~/.other-path/ in tests since it wasn't getting cleared, which meant retries were guaranteed to fail for this function
2023-09-06 20:13:36 -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
ce6484f465
constant context keys
2023-09-05 15:54:47 -04: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
f778c1b2b6
Increase number of retries for all retriable tests on github actions
2023-09-04 21:21:13 -07:00
David Dworken
fd018fa759
Increase number of retries for testTui/search since that method appears to be the flakiest on github actions
2023-09-04 18:57:00 -07:00
David Dworken
af0234797c
Refactor test retrying functions to make the number of retries configurable, and change the default to 3 retries (I'll be tuning this number in a follow up commit)
2023-09-04 18:17:02 -07:00
David Dworken
7b02d6f2a2
Update testTui setup function to ensure that entries are also added in the remote server and not just locally, to ensure they show up post-sync
2023-09-04 18:13:22 -07:00
David Dworken
434acd3738
Increase timeout amount for all github action tests
2023-09-04 18:09:11 -07:00
David Dworken
c690688834
Implement a few additional methods on retryingTester so it works with testify
2023-09-02 17:49:31 -07:00
David Dworken
58c791b662
Add extra delay before ENTER for searching to ensure that the async query finishes
2023-09-01 21:57:25 -07:00
David Dworken
96d14d3b9f
Add extra timing between search and the atom that makes it invalid to ensure that the initial search is processed
2023-09-01 21:54:12 -07:00
David Dworken
f808e3815a
Increase num retries for github actions
2023-09-01 16:30:42 -07:00
David Dworken
ab694c38b1
Split testTui again into smaller more specific test functions
2023-09-01 16:28:41 -07:00
David Dworken
1608543a4d
Remove TODO
2023-09-01 15:57:11 -07:00
David Dworken
134dba5ddd
Auto retry testControlR since it is the other test function that is flaky due to race conditions in screenshot tests
2023-09-01 15:55:13 -07:00
David Dworken
3b07aa9a37
Split testTui method into separate smaller test methods that are more specific
2023-09-01 15:42:02 -07:00
David Dworken
21e2370d98
Rework delays to primarily only do a delay before capturing output, since that is the critical time for async rendering
2023-09-01 11:23:03 -07:00
David Dworken
5fcd7a9c7b
Further increase sleep amount on github actions since actions seem to be super slow
2023-08-29 23:47:22 -07:00
David Dworken
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
David Dworken
a53485f04b
Remove TODOs that were fixed in 23a377e3c1
2023-08-29 19:03:12 -07:00
David Dworken
5fe9515749
Fix test for the user column so it passes on github actions
2023-08-29 19:01:46 -07:00
David Dworken
23a377e3c1
Preserve cursor position after deleting entries and resizing
2023-08-29 18:59:20 -07:00
David Dworken
6bc70d0732
Add additional delay for TestTui-Search
2023-08-28 20:56:16 -07:00
David Dworken
ab567edce3
Migrate more of client tests to testify for assertions
2023-08-28 20:55:15 -07:00
David Dworken
596b5b2770
Add tests for the User column + swap to using require.NoError(...) in a few places
2023-08-28 19:27:29 -07: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
5e44159a0b
Remove extraneous fmt.Println from beta-mode feature for pre-saving history entries
2023-08-27 22:11:22 -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
fe41687fd0
Remove extraneous new lines from TUI that make the UI jump around for invalid search atoms
2023-08-27 21:47:44 -07:00
David Dworken
9b37cb6db1
Increase sleep time to make tests reliably pass even with async queries
2023-08-27 18:36:08 -07:00
David Dworken
eba27e7721
Fix race condition in tests introduced by a79d401058
...
The race condition stems from the fact that queries are now async, so there is a chance this test hits ENTER before the new search queries have come in.
2023-08-27 16:12:54 -07:00
David Dworken
2294241003
Remove Search() call from install to optimize
2023-08-27 15:53:01 -07:00
David Dworken
ecdd6094b8
Remove Search() call from init to optimize init
2023-08-27 15:41:35 -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
a79d401058
Make queries async for better TUI performance when sqlite is slow
2023-08-27 11:42:17 -07:00
David Dworken
311b698388
Add TODOs
2023-05-19 17:16:54 -07:00
David Dworken
9f2b392ddb
Add key binding to select an entry and cd into that directory
2023-05-19 17:14:33 -07:00
David Dworken
06cbd0e7f3
Add extra string split so the test passes on github actions
2023-05-17 08:38:47 -07:00
David Dworken
082d342b0d
Add test to cover breakage in #82
2023-05-16 17:34:25 -07:00
David Dworken
c0e56eff0d
Fix #82 by ensuring that the results list also filters out duplicates
2023-05-16 17:12:52 -07:00
David Dworken
0b13a9705d
Fix control-K in offline mode for #80
2023-04-30 08:50:17 -07:00
David Dworken
3d3260db37
Re-enable tests on actions so I can debug them
2023-02-28 19:26:13 -08:00
David Dworken
765c1c18d0
Remove && false to enable the getwd syscall as a fallback
2023-02-28 17:44:05 -08:00
David Dworken
8422aa21db
Skip configuring the bash_profile on linux if bash_profile does not exist to fix #79
2023-02-27 18:14:32 -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
5089058165
Add missing help page text for a golden
2023-02-20 12:33:22 -08:00
David Dworken
c03f9d3d76
Add tests for opening and closing the help page
2023-02-20 12:15:27 -08:00
David Dworken
be5338ee21
Add updated goldens for help page
2023-02-20 11:56:16 -08:00
David Dworken
11c110e13e
Add untested version of help page
2023-02-20 10:54:16 -08:00
David Dworken
b69788967f
Fix bug where typing 'foo:' and then hitting backspace would lead to the error still being displayed
2023-02-19 22:08:38 -08:00
David Dworken
dc65fffd7b
Add an index on end_time to ensure that initial queries are fast to fix #68
2023-02-18 22:26:18 -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
4b5b729328
Add integration tests for escaping
2023-02-13 22:43:55 -08:00
David Dworken
a5926af49c
Unit tests for Search taking advantage of escaping
2023-02-13 22:32:42 -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
David Dworken
f79ab37bcf
Merge pull request #70 from hakanf/escape_chars
...
Allow search strings to escape special chars ' ', ':' and '-' using '\'
2023-02-13 21:34:23 -08:00
David Dworken
01e9d39350
Add TUI test for scrolling right by 2
2023-02-13 20:24:20 -08:00
David Dworken
f12cc8cdff
Add basic TUI test for horizontal scrolling
2023-02-11 23:09:40 -08:00
David Dworken
8f59b801dd
Add left scrolling test
2023-02-11 09:10:45 -08:00
David Dworken
fea151261f
Move goldens func to testutils and use it for some simple horizontal scrolling tests
2023-02-11 09:09:48 -08:00
David Dworken
e1cb97f7c6
Add comment calling out the fork + import table_test.go too
2023-02-11 08:51:28 -08:00
Håkan Fouren
3c468f46aa
Added local customized version of bubbles/table with horizontal cell scroll
2023-02-05 02:19:18 +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
226b39609f
Cleanup TUI code now that we persist table entries in the model
2022-12-18 22:29:23 -08:00
David Dworken
9322614a91
Add shortcut to delete entries in the TUI to fix #33
2022-12-18 22:02:29 -08:00
David Dworken
554d518caa
Persist history entries in the TUI model to prep for #33
2022-12-18 21:26:00 -08:00
David Dworken
27dce98528
Remove outdated TODO
2022-12-18 01:04:24 -08:00
David Dworken
c0bd577084
Add test to confirm that window resizing works
2022-12-18 01:01:05 -08:00
David Dworken
ebfdaa7a4a
Refactor tests to prep for supporting resizing tmux sessions
2022-12-18 00:34:25 -08:00
David Dworken
5f95ac48a4
Add control-d as an alternate key binding to close the TUI to fix #61 (plus some tests)
2022-12-18 00:27:29 -08:00
David Dworken
d15376f37d
Refactor out deletion request handling to prep for #33
2022-12-18 00:19:52 -08:00
David Dworken
10c8b97e84
Add comment
2022-12-17 21:55:30 -08:00
David Dworken
2edbf3977f
Add test for left scrolling in the input box
2022-12-17 12:14:28 -08:00
David Dworken
e6186d17b1
Fix TUI cursor bug by upgrading bubbles to include commit d1775121146a88a44a48562490cf08b7dd9df1c4
2022-12-17 11:54:51 -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
da35036aad
Add emacs key bindings for up and down to fix #55
2022-12-16 21:20:00 -08:00
David Dworken
7a04cae1be
Fix bug in TestZDotDir test
2022-12-11 21:59:41 -08:00
David Dworken
7c86b812bf
Add support for linux arm64 for #48
2022-12-11 20:39:45 -08:00
David Dworken
857e423e10
Fix linter errors + some general clean up
2022-12-11 20:31:50 -08:00
David Dworken
b7533479a3
Fix config corruption bug caused by parallel writes to the same tmp file to fix #47
2022-12-11 19:15:29 -08:00
David Dworken
a269478273
Improve the zdotdir test
2022-12-11 18:51:57 -08:00
David Dworken
233ca7ecd3
Treat TLS timeout as an offline error for #50
2022-12-10 09:43:02 -08:00
David Dworken
a481701cda
Add TODO
2022-11-29 17:17:45 -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
369e7ec8ea
Delete unused msg type
2022-11-27 09:03:12 -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
22330f3ee1
Ensure that tests assert a lack of leaked connections
2022-11-26 22:40:43 -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
a390bacf89
Support multi-line commands from zsh to fix #34
2022-11-19 22:27:08 -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
343f3cf1e5
Warn people if they're using an unsupported version of bash #37
2022-11-19 17:05:05 -08:00
David Dworken
31cea94096
Add TODO
2022-11-19 09:41:47 -08:00
David Dworken
f53e02731d
Replace newlines with semicolons to fix #34
2022-11-17 23:20:11 -08:00
David Dworken
1ae6b87dc1
Print a message telling people they must restart their shell per #37
2022-11-17 23:14:33 -08:00
David Dworken
abcc0566d5
Fix action goldens for macos
2022-11-16 22:03:08 -08:00
David Dworken
ec830508ef
Fix goldens for github actions
2022-11-16 22:00:23 -08:00
David Dworken
d4efc62df1
Add client-side code to ask for feedback when uninstalling
2022-11-16 21:54:05 -08:00
David Dworken
50dfa8ec5c
Add missing new lines
2022-11-16 21:31:48 -08:00
David Dworken
303033ef1f
Update golden for github action only failure
2022-11-16 20:47:21 -08:00
David Dworken
cb38bb1281
Add TODO
2022-11-16 20:43:11 -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
ba769ec700
Fix mis-alignment in example queries
2022-11-16 08:09:04 -08:00
David Dworken
65405b868f
Remove no-op config-set that isn't needed now that we have good docs from cobra
2022-11-16 08:07:02 -08:00
David Dworken
fe6394d1b5
Some test fixes for the cobra integration
2022-11-16 08:03:23 -08:00
David Dworken
be2cde72c2
Appears to be a functional migration to cobra
2022-11-16 08:03:23 -08:00
David Dworken
0667494239
Disable flag parsing for the querying functions so they can use exclusions + refactor redact to remove the --force flag
2022-11-16 08:03:23 -08:00
David Dworken
6ef9bb00d5
Add version to cobra help page
2022-11-16 08:03:23 -08:00
David Dworken
27bbe97cb2
Better organize the cobra generated help page
2022-11-16 08:03:23 -08:00
David Dworken
ecdd22dcdd
Everything migrated to cobra, but with some very significant TODOs
2022-11-16 08:03:23 -08:00
David Dworken
48e2a41d5c
Migrate reupload to cobra
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
342a02a843
Add initial cobra implementation for config-*
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
53a417296e
Improve backup and restore env function + fix makefile with quotes + remove the zdotdir created file
2022-11-13 16:53:37 -08:00
David Dworken
6017eac4a3
Tweak zdotdir test to work on github actions
2022-11-13 16:18:06 -08:00
David Dworken
c36e147fae
respect zdotdir to fix #29
2022-11-13 15:59:59 -08:00
David Dworken
4281684528
Fix confused defer
2022-11-13 15:38:02 -08:00
David Dworken
31672918a9
Filter out pipefail to make tests pass on actions
2022-11-13 07:04:34 -08:00
David Dworken
21bc1373ec
Fix compile failure in tests
2022-11-13 06:49:57 -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
e6b1bfd589
Better failure messages for action only test failures
2022-11-13 06:35:03 -08:00
David Dworken
0cfb8249d9
More changes to make tests pass on github actions
2022-11-13 06:25:16 -08:00
David Dworken
7005e15b15
More filtering for tests
2022-11-12 18:46:30 -08:00
David Dworken
86adcb64f6
Remove debug print
2022-11-12 18:46:14 -08:00
David Dworken
0abfefa80a
Filter out pipefails in test outputs
2022-11-12 17:27:24 -08:00
David Dworken
09ea6be493
Prefix install with a space so it doesn't get logged by hishtory
2022-11-12 17:05:50 -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
5b66943b9a
Update isAction golden after last commit + remove shell:bash that was only needed for windows
2022-11-12 08:07:49 -08:00
David Dworken
1792e694b0
Make the timestamp command super long to force table sizing to be consistent + add an explicit HISHTORY_SKIP_INIT_IMPORT in the tests
2022-11-12 07:50:06 -08:00
David Dworken
bc83349133
Specify tmux session in capture-pane command
2022-11-12 07:20:05 -08:00
David Dworken
8894328483
Remove incorrect new line in golden file
2022-11-12 07:03:19 -08:00
David Dworken
cda9c886e1
Introduce a helper method for checking if we're in github actions
2022-11-12 06:46:37 -08:00
David Dworken
e485dfdaf6
Split the timestamp format test on is_action
2022-11-12 06:39:51 -08:00
David Dworken
e3a793c753
Specify WAL when opening the sqlite file to defend against deadlocks
2022-11-12 06:39:37 -08:00
David Dworken
6e7822ebae
Attempt to fix github action only test failures
2022-11-12 06:18:05 -08:00
David Dworken
304282d234
Update local goldens to have a space before source
2022-11-11 19:55:21 -08:00
David Dworken
7b51182f18
Add space before source in the goldens
2022-11-11 19:25:48 -08:00
David Dworken
85685a2431
Prefix the source with a space so as to ensure it doesn't show up in the history on github actions
2022-11-11 19:06:00 -08:00
David Dworken
7199a36a71
Re-order test to make debugging easier + flip inverted !=
2022-11-11 18:46:22 -08:00
David Dworken
8a9a901b70
Disable a test on github actions
2022-11-11 18:34:42 -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
6f53fdd41e
Better handling for control-c with control-r search in the shell + update bubbletea
2022-11-11 16:42:07 -08:00
David Dworken
029bf27117
Add handling for TUI queries with no results + more tests
2022-11-11 15:57:13 -08:00
David Dworken
e520b23858
Improve history importing to not double import HISTFILE + improve tests
2022-11-11 18:12:23 -05:00
David Dworken
437d4a0b88
Add TODO
2022-11-11 18:11:49 -05:00
David Dworken
42e0ac2195
Document that we use WAL + run a checkpoint after hishtory imports
2022-11-11 17:14:11 -05:00
David Dworken
9c47afbe54
Add TODOs
2022-11-11 17:03:32 -05:00
David Dworken
188ff1d0fa
Test that duplicate filtering ignores trailing spaces
2022-11-11 11:16:12 -05:00
David Dworken
be0a61a7ea
Trim spaces when comparing commands for duplicates to fix #26
2022-11-11 10:54:00 -05:00
David Dworken
21a7a48afb
Migrate to logrus so we can auto-rotate the log file
2022-11-09 16:14:44 -08:00
David Dworken
6ded150f4a
Respect HISTFILE for bash history too
2022-11-09 15:15:08 -08:00
David Dworken
94722941cf
Make control-r faster by not blocking on processing pending deletion requests. Fixed #22
2022-11-09 15:07:00 -08:00
David Dworken
f51fbc085d
Add TODO for a test skip that I should fix + refactor a test to remove a test skip
2022-11-05 23:40:25 -07:00
David Dworken
35d22e67fc
Increase sleep for github action darwin
2022-11-04 23:43:32 -07:00
David Dworken
e46221f893
Revert all the windows+freebsd commits since they seem to be hopelessly broken
2022-11-04 23:14:34 -07:00
David Dworken
392fec9901
Add a bunch of test skips for freebsd
2022-11-04 22:38:11 -07:00
David Dworken
79ffb73bcf
Revert "Fix custom columns test on darwin actions"
...
This reverts commit 5223d1ea55
.
2022-11-04 22:11:46 -07:00
David Dworken
dc7bc5a265
Fix test that goes along with 5223d1ea55
2022-11-04 21:05:44 -07:00
David Dworken
5223d1ea55
Fix custom columns test on darwin actions
2022-11-04 20:37:49 -07:00
David Dworken
99ec7d64ce
Update a test to include a comment to confirm that the comment gets properly recorded
2022-11-04 20:34:36 -07:00
David Dworken
cfd1c9e7a7
Add extra sleep before capturing output since I think it may be the cause of test failures on macos on actions
2022-11-04 19:56:22 -07:00
David Dworken
ebb6b36b34
Add test for importing history entries from fish
2022-11-03 22:47:43 -07:00
David Dworken
df58d56829
Configure the bash_profile for linux too
2022-11-03 22:38:46 -07:00
David Dworken
d4ca466314
Import initial history from fish too
2022-11-03 22:32:55 -07:00
David Dworken
287dc3eda1
Remove extra new lines from golden files to get them to pass on github actions
2022-11-03 21:58:12 -07:00
David Dworken
72a5c83790
Re-organize testCustomColumns tests to hopefully make them pass on github actions
2022-11-03 21:27:01 -07:00
David Dworken
2d7d74c066
Run the TestRemoteDuplicateRows test with zsh rather than bash
2022-11-03 21:16:53 -07:00
David Dworken
c1d17842c4
Write the config fragment to the bash_profile for MacOs to fix #14
2022-11-03 21:01:57 -07:00
David Dworken
6dea8a989e
Add config option to filter out duplicate history entries as requested in #10
2022-11-03 20:36:36 -07:00
David Dworken
846f256fa4
Support a TMPDIR variable in case /tmp/ is mounted noexec
2022-11-03 18:04:16 -07:00
David Dworken
185d2739c7
Add offline mode for hiSHtory
2022-11-03 13:16:45 -07:00
David Dworken
eae127bd14
Fix broken uninstall if specific shells aren't installed
2022-11-03 13:01:06 -07:00
David Dworken
72ff95ab8b
Comment out the foreground save that led to awful latency
2022-11-02 19:46:02 -07:00
David Dworken
17ae676da0
Add uninstall command + tests for uninstall
2022-11-02 19:41:49 -07:00
David Dworken
f69460422a
Add test for smaller terminal
2022-11-02 18:50:27 -07:00
David Dworken
6983b04c47
Add handling to adjust the vertical size on the fly too
2022-11-02 18:40:31 -07:00
David Dworken
085d2a917f
Update the table after window resize to better handle horizontal resizing
2022-11-02 18:30:07 -07:00
David Dworken
e824665f2c
Add || true so that it works on linux too
2022-11-01 14:33:27 -07:00
David Dworken
1b460adb31
Fix build failure in lib_test
2022-11-01 12:15:35 -07:00
David Dworken
5554720451
Another attempt at fixing action tests
2022-11-01 12:00:40 -07:00
David Dworken
153e59eff3
Add goldens for isAction tquery and integration with zsh
2022-11-01 11:39:55 -07:00
David Dworken
24b342716e
Take into account shell differences
2022-11-01 11:08:16 -07:00
David Dworken
2efa93762a
Another attempt at getting github actions to pass
2022-11-01 11:03:49 -07:00
David Dworken
add3693967
Add more tests to testIntegrationWithNewDevice
2022-11-01 10:45:16 -07:00
David Dworken
acef5c0879
Make TestFish pass on github actions
2022-11-01 10:37:01 -07:00
David Dworken
8a3969cfc4
Add basic untested ability to do searches using atoms containing custom columns
2022-11-01 10:23:35 -07:00
David Dworken
c70134a6fb
Add more verbose output for golden failures
2022-10-31 21:16:15 -07:00
David Dworken
906ef3782b
Add integration to disable SLSA verification if there is a current SLSA outage
2022-10-31 17:32:55 -07:00
David Dworken
cdd7f60f0c
Test table display for fish too
2022-10-30 18:40:25 -07:00
David Dworken
de99d60f7c
Refactor fish tests to use the existing API
2022-10-30 18:01:53 -07:00
David Dworken
0e70347c0d
Add a more complex test for custom columns
2022-10-30 17:55:48 -07:00
David Dworken
7d924409fb
Try re-enabling a test on github actions to see if it still fails
2022-10-30 16:33:09 -07:00
David Dworken
6ad60f4e58
Move up the hishtory disable so as to avoid recording the query
2022-10-29 18:34:16 -07:00
David Dworken
51096276b6
Better error message for goldens
2022-10-29 17:55:37 -07:00
David Dworken
0f9e77223e
Chdir so that we have a consistent cwd for github actions
2022-10-29 17:53:40 -07:00
David Dworken
189f183d69
Normalize hostnames to attempt to get tests to pass in github actions
2022-10-27 23:30:09 -07:00
David Dworken
267aa086fa
Add tests for configuring displayed-columns
2022-10-27 23:07:00 -07:00
David Dworken
8b575e98c6
Add a test for custom columns for the classic non-TUI interface
2022-10-27 22:31:59 -07:00
David Dworken
7cfd03ccfe
Clean up string trimming code
2022-10-27 22:28:43 -07:00
David Dworken
9ef3b7890c
Add a basic test for defining a custom column
2022-10-27 22:20:53 -07:00
David Dworken
d3c631b191
Add control-r tests for changing the displayed columns
2022-10-27 22:11:57 -07:00
David Dworken
0fbf7178c3
Add an advanced search test for control-r
2022-10-27 22:07:11 -07:00
David Dworken
043e815716
Add a test for multi-line history entries
2022-10-27 22:02:19 -07:00
David Dworken
f9098d87d5
Another custom column test
2022-10-27 21:58:39 -07:00
David Dworken
dc5fd19c9e
Add another test for custom columns
2022-10-27 21:57:09 -07:00
David Dworken
cdc5421a7b
Move testutils to a separate package so as to move test-only code out of the main binary
2022-10-27 21:53:47 -07:00
David Dworken
bed19f5316
Basic test for custom columns
2022-10-27 21:28:37 -07:00
David Dworken
fb258627df
Migrate to using golden files for tests + get all existing tests passing again
2022-10-27 21:20:33 -07:00
David Dworken
16fa64b7a7
Add support for the TUI displaying custom columns
2022-10-26 22:11:07 -07:00
David Dworken
10d6c97a50
Better terminal sizing code
2022-10-26 21:48:36 -07:00
David Dworken
8a9ec509c5
Auto-size the table based on initial query results
2022-10-26 21:22:26 -07:00
David Dworken
10d26fa407
Make the custom column display code support entries that lack a newly configured custom column
2022-10-26 00:44:26 -07:00
David Dworken
890ddfd99c
Add ability to display columns that map to a custom column
2022-10-26 00:35:36 -07:00
David Dworken
07e4c781e4
Add code to build the custom columns from whatever is configured
2022-10-23 22:01:53 -07:00
David Dworken
12163483dd
Add data types for custom columns
2022-10-23 21:42:22 -07:00
David Dworken
51b41aa171
Add custom columns to config + use them in the non-TUI query
2022-10-23 20:54:46 -07:00
David Dworken
ebf8de2b1f
Refactor to enable control-r by default on upgrade + pave the way for prompts in the future
2022-10-23 19:29:29 -07:00
David Dworken
13cfbbc3b7
Move up the skip because tests are still failing
2022-10-23 17:37:33 -07:00
David Dworken
41586ba034
Remove the dedicated test shell scripts and instead auto-generate them
2022-10-23 17:35:02 -07:00
David Dworken
253f2fdc27
Enable control-r binding for new installs + prompt upgrades on whether they want to enable control-r bindings
2022-10-23 16:51:39 -07:00
David Dworken
467fd68ddb
Try re-enabling fish tests on actions
2022-10-23 16:04:17 -07:00
David Dworken
9614522c6d
Just skip the really weird bash failure on macos
2022-10-23 16:03:26 -07:00
David Dworken
d5893f0cfa
Support not recording empty commands in fish + add tests for this
2022-10-23 15:45:50 -07:00
David Dworken
aa3f449885
Skip recording empty history commands
2022-10-23 15:40:30 -07:00
David Dworken
73807746a7
Wire up the git commit hash to the TUI banner requesting code
2022-10-23 15:25:02 -07:00
David Dworken
964359c7c5
Add explicit key bindings so that the cursor doesn't jump around + bind the linux key codes for up/down arrow keys
2022-10-23 15:21:59 -07:00
David Dworken
4c986d8a45
Add sleep 1 after shell startup to give macos time to verify the binary
2022-10-23 14:58:47 -07:00
David Dworken
17e98f0366
Bump timeout for linux since linux appears to be a bit slower
2022-10-23 00:58:08 -07:00
David Dworken
4060f2d71d
Add tests for disabling control-r
2022-10-23 00:53:47 -07:00
David Dworken
ac808777d6
Fix debug info for hishtory timeout issue
2022-10-23 00:46:56 -07:00
David Dworken
907da9bf47
More debugging info for the time out in zsh background saving tests
2022-10-23 00:20:47 -07:00
David Dworken
d3b5ddc11d
Bump the hishtory time out in case that helps fix the background saving test
2022-10-23 00:04:25 -07:00
David Dworken
9bdb1ed4ed
Add debug code for a github actions only test failure
2022-10-22 23:54:35 -07:00
David Dworken
d5472be6b3
Swap bash-ism to fish-ism for enabling control-r
2022-10-22 23:52:10 -07:00
David Dworken
c10dd8897c
Swap bash-ism to fish-ism for enabling control-r
2022-10-22 18:00:17 -07:00
David Dworken
dbccaebf85
control-r tests for fish with a search atom
2022-10-22 11:58:59 -07:00
David Dworken
1c561f5cc8
Initial attempt at fixing the timezone bug that prevents tquery tests from running on actions
2022-10-22 11:45:04 -07:00
David Dworken
97742cf0eb
Add control-r tests for fish
2022-10-22 11:42:37 -07:00
David Dworken
cbb6a676be
More tquery searching tests
2022-10-22 00:50:34 -07:00
David Dworken
8c88bfe2f1
Skip TestFish on linux actions since it is weirdly failing
2022-10-22 00:36:57 -07:00
David Dworken
2c5a46565c
Add control-r tests for searching with simple queries
2022-10-22 00:34:19 -07:00
David Dworken
865fa879fe
Add control-r tests for selecting and executing a command
2022-10-22 00:27:53 -07:00
David Dworken
848c89ebc8
Make control-r tests pass for bash + refactor to use a small utility function for tmux tests
2022-10-22 00:17:21 -07:00
David Dworken
bfac5198ec
Fix bug where it was impossible to search for an empty string in the TUI
2022-10-21 23:29:49 -07:00
David Dworken
b8039e6d8a
Add test for fish recording background commands + remove todo
2022-10-21 23:26:41 -07:00
David Dworken
70f5d668de
Run TestFish with bash to see whether that fixes the obscure zsh error
2022-10-21 23:16:27 -07:00
David Dworken
4040451290
Add comments for all model fields + reorganize field order
2022-10-21 23:12:56 -07:00
David Dworken
6464264673
Support displaying query errors rather than crashing the entire TUI
2022-10-21 23:07:52 -07:00
David Dworken
7cdf9c0ac4
Escape instead of q so that the TUI can have search terms containing q
2022-10-21 22:58:51 -07:00
David Dworken
204ce10619
Make the TestTui function always use zsh since the TUI has nothing to do with shell support
2022-10-21 00:16:25 -07:00
David Dworken
c978ee9a2e
Enable control-r in tests + basic test for control-r in zsh
2022-10-21 00:14:28 -07:00
David Dworken
49b81bcc19
Support control-r search for fish
2022-10-20 23:39:56 -07:00
David Dworken
8a32ddef5a
Add test checking that hishtory records commands run in the background (it does, but this is currently broken in fish)
2022-10-19 21:33:31 -07:00
David Dworken
9d5eb73c76
brew install fish in actions + don't hardcode the fish path
2022-10-19 21:27:03 -07:00
David Dworken
2ee050a629
mkdir ~/.config/fish if it doesn't exist yet
2022-10-19 21:24:43 -07:00
David Dworken
54679dc2db
Test fish omitting certain commands
2022-10-19 18:01:16 -07:00
David Dworken
406b36f765
Add TODO
2022-10-19 17:57:43 -07:00
David Dworken
762e9a6e0a
Add basic test for fish recoridng history commands
2022-10-18 21:00:30 -07:00
David Dworken
db4295e745
Add the testing fish config
2022-10-18 20:16:58 -07:00
David Dworken
abe231f5b0
Initial non-unit tested version of fish support
2022-10-18 19:55:41 -07:00
David Dworken
b31d35685c
More tui tests + re-enable them for non-action runs
2022-10-18 15:07:56 -07:00
David Dworken
c7651179cf
Skip the tui test since it is still flaky
2022-10-18 14:51:54 -07:00
David Dworken
2c6061e497
Treat i/o timeouts as offline errors too
2022-10-18 11:52:52 -07:00
David Dworken
40d6d7daa5
Add a very basic test for the tui
2022-10-17 21:58:56 -07:00
David Dworken
1aae1be8a6
Add more tests
2022-10-17 20:35:32 -07:00
David Dworken
710e4dd901
control-r for bash
2022-10-17 20:18:28 -07:00
David Dworken
f9a01a56cb
Fix two bugs in the tui
2022-10-16 12:55:10 -07:00
David Dworken
5a943c20f1
Initial working version of control-r search
2022-10-16 12:43:16 -07:00
David Dworken
a66e473bb8
Fix bug in client_test that made me not realize that there was a bug in the install process
2022-10-16 09:56:14 -07:00
David Dworken
ab7db995aa
Restore stdin import for the hishtory import command
2022-10-16 09:51:52 -07:00
David Dworken
d255131d68
Fix bug where reading stdin would cause the install to hang
2022-10-16 09:47:26 -07:00
David Dworken
f337d7affd
Add a new field to the config for enabling control-r search and add undocumented commands to toggle this field from the CLI
2022-10-16 09:29:14 -07:00
David Dworken
37f351bb8a
Add basic undocumented tui for querying under the hishtory tquery command
2022-10-16 09:22:34 -07:00
David Dworken
7f75f10b3f
Treat 502 and 503 errors from the LB as network errors so they get silenced and retried
2022-10-15 10:12:18 -07:00
David Dworken
abb0684140
Swap to a forked version of rodaine/table that supports multi-line table entries
...
So now when zsh has a history entry with multiple lines, it will display correctly like so:
Hostname CWD Timestamp Runtime Exit Code Command
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:06:06 PDT 1.621s 1 while :; do ls; done
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:04:24 PDT 22.768s 130 hishtory query while
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:04:24 PDT 1.258s 0 hishtory query while
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:04:19 PDT 2.065s 0 while :
do
ls
done
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:03:18 PDT 628ms 0 ./hishtory query while
Davids-MacBook-Air.local ~/code/hishtory Oct 14 2022 23:03:15 PDT 717ms 0 hishtory query while
2022-10-15 09:29:47 -07:00
David Dworken
bb36a30ded
Avoid partial file writes by writing to a tmp file and then renaming
2022-10-14 16:42:47 -07:00
David Dworken
9da18eb7d5
Chunk the uploads when reuploading to avoid having one giant request
2022-10-10 22:04:59 -07:00