Commit Graph

693 Commits

Author SHA1 Message Date
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
David Dworken
8e6a55237c Try running all tests in github actions with a longer timeout 2022-10-09 19:04:03 -07:00
David Dworken
20af97c2d2 Fix bug where hishtory import wouldn't upload entries and thus those entries would be forever on the local device only 2022-10-09 17:19:15 -07:00
David Dworken
c16d260643 Make the reupload command more efficient by sending multiple entries at once 2022-10-09 17:10:11 -07:00
David Dworken
52c3b13cb6 Add reupload command + include source_device_id query param when submitting entries 2022-10-09 12:13:05 -07:00
David Dworken
30e6f048ab Add better handling for SLSA errors 2022-10-02 20:14:54 -07:00
David Dworken
1d8973ed2a Revert "Disable SLSA verification pending slsa-verifier bug"
This reverts commit baf9f7d9c1.
2022-10-02 19:37:07 -07:00
David Dworken
baf9f7d9c1 Disable SLSA verification pending slsa-verifier bug 2022-10-01 15:26:42 -07:00
David Dworken
757ebb9547 Prompt people if they run hishtory init and already have a bunch of entries + fix tests + add TODOs + add hishtory version to requests 2022-10-01 09:50:06 -07:00
David Dworken
4f94698ca6 Fix bug in tests that made tests fail if the date is between the first and the ninth 2022-09-30 23:56:04 -07:00
David Dworken
09fd371662 Remote outdated TODOs 2022-09-30 23:51:05 -07:00
David Dworken
6cd7fa00fc Have hishtory import also read from stdin 2022-09-30 23:50:25 -07:00
David Dworken
36993fb12b Add another error message that means the device is offline 2022-09-29 22:43:03 -07:00
David Dworken
06590601f0 Add fix for bash weirdness introduced by the previous commit 2022-09-27 22:30:35 -07:00
David Dworken
b5907379ac Export HISTTIMEFORMAT so that it is available to hishtory for usage 2022-09-27 22:25:57 -07:00
David Dworken
6b29591eec Re-add running the test server for some tests do actually sometimes need it 2022-09-27 22:25:14 -07:00
David Dworken
070f8cf3d3 Add more timestamp stripping tests 2022-09-27 22:07:54 -07:00
David Dworken
2bdfe3d64f Add FAST=1 env that can be used to run just some fast tests for quick testing 2022-09-27 22:03:37 -07:00
David Dworken
9a4e3a0a24 Add another time format test 2022-09-27 21:25:33 -07:00
David Dworken
a1d6aa8257 Remove incorrect comment line from previous commit 2022-09-27 21:22:35 -07:00
David Dworken
bf66f9f4fe Rename precommand and postcommand and ensure that hishtory doesn't stomp any existing PROMPT_COMMAND 2022-09-27 21:10:45 -07:00
David Dworken
23d85c81e5 Shorten test runtime for macos tests on github actions 2022-09-27 20:57:13 -07:00
David Dworken
dddee9eeff Fix hishtory status tests + optimize switchToDevice() function 2022-09-26 22:55:59 -07:00
David Dworken
616d87399f Fix broken help command test 2022-09-24 16:18:24 -07:00
David Dworken
90c4acefd3 Add more fuzz tests with redaction 2022-09-24 16:00:03 -07:00
David Dworken
92cec3a87c Delete unused variable + clean up README 2022-09-24 01:13:25 -07:00
David Dworken
ff6e42794c Remove TODO, a couple more fuzz tests 2022-09-22 23:25:06 -07:00
David Dworken
9895a5c677 Improve copy function error checking + delete make fuzz because of https://github.com/golang/go/issues/52569 2022-09-22 23:20:21 -07:00
David Dworken
1df50731be Run the fuzz test with bash and zsh 2022-09-22 23:12:41 -07:00
David Dworken
4e4caef10f Add initial implementation of fuzz testing that fuzzes multiple devices and multiple users 2022-09-22 23:06:28 -07:00
David Dworken
c18c2502cc Add a complex test with many users 2022-09-22 21:45:20 -07:00
David Dworken
c6d4f1ef68 Fix missing newline in zshrc, add test for hishtory redact prompting, and tag TODOs with plans 2022-09-22 18:22:06 -07:00
David Dworken
bd70b68ffc Remove test that no longer applies 2022-09-22 18:21:03 -07:00
David Dworken
fee21ee4f8 Pass in ctx 2022-09-22 18:11:35 -07:00
David Dworken
ee6680f571 Remove debugging information and give up on that test, and add work around for weird zsh bug with importing 2022-09-22 18:09:51 -07:00
David Dworken
99b51a356e Add debugging information for macos tests 2022-09-21 21:49:08 -07:00
David Dworken
133463ef96 Disable CGO in one more place (plus add a todo) 2022-09-21 20:30:50 -07:00
David Dworken
cb16984f77 Pipe ctx into the slsa code to avoid context.TODO() 2022-09-21 20:22:34 -07:00
David Dworken
d226fab7ec Pipe ctx into the Update function 2022-09-21 20:20:43 -07:00
David Dworken
8002c5e942 Add homedir to context 2022-09-21 20:19:11 -07:00
David Dworken
569e2f3e61 Add tests for offline behavior 2022-09-21 20:09:49 -07:00
David Dworken
4fceaa3110 Run tests without CGO since that is how prod is built + fix broken tests from previous commit 2022-09-21 19:58:10 -07:00
David Dworken
fb401dab88 Resume using the modernc.org sqlite driver so it works with CGO_ENABLED=0 2022-09-21 19:49:24 -07:00
David Dworken
486feb3fea Add missing new lines 2022-09-21 19:13:53 -07:00
David Dworken
1abd2a5376 Fix table format tests 2022-09-20 23:46:17 -07:00
David Dworken
ceb1becfa6 Fix ctx wiring so installs work properly 2022-09-20 23:30:57 -07:00
David Dworken
694c2e2679 Untested: ctx wired through 2022-09-20 22:28:40 -07:00
David Dworken
e47bcfc993 Part way through migrating to context 2022-09-20 22:03:15 -07:00
David Dworken
42c6f95eb4 Remove time.Sleep that was working around an old already fixed bug 2022-09-20 21:38:04 -07:00
David Dworken
5391ecd220 First version of working redaction with passing integration tests 2022-09-19 22:49:48 -07:00
David Dworken
1bf510ff8a Better offline handling, implemented the local portion of delete, and maybe fixed the bug when running tests on github actions 2022-09-18 09:42:24 -07:00
David Dworken
a445118e91 Remove outdated TODO 2022-09-17 23:05:50 -07:00
David Dworken
af0d20952f Remove the last bit of GITHUB_ACTION dependent code 2022-09-17 22:50:01 -07:00
David Dworken
55f0f97d29 Fix tests for importing so they pass on github actions 2022-09-17 21:56:39 -07:00