Commit Graph

735 Commits

Author SHA1 Message Date
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
David Dworken
d4302501eb Improve table matching for tests and attempt to fix the tests that fail only on github actions 2022-09-17 12:49:27 -07:00
David Dworken
5b1c9140b3 Support runtimes that contain a period 2022-09-17 12:37:02 -07:00
David Dworken
0b3ccb63a5 Skip reading history files if they don't exist 2022-09-17 12:22:29 -07:00
David Dworken
6093d06110 Remove outdated TODO + fix TODO to add tests for the table output 2022-09-17 12:19:29 -07:00
David Dworken
bad123a3dd Add tests for history importing and add output showing the number of imported entries 2022-09-17 11:49:31 -07:00
David Dworken
23315a7e75 Fix code signing bug and add the implementation for initial importing of existing history files 2022-09-17 11:21:42 -07:00
David Dworken
de1a6f3da8 Add info on bypassing SLSA to the error message 2022-09-16 23:02:52 -07:00
David Dworken
5a38a4a754 Treat EOF error as an offline error 2022-09-10 18:07:45 -07:00
David Dworken
e22dd10c18 More format specifiers 2022-09-07 23:32:25 -07:00
David Dworken
d54bece705 Add HomeDirectory to HistoryEntry so we can query with or without ~/ in the cwd atom 2022-09-07 23:20:31 -07:00
David Dworken
e063f34997 Improve datetime parsing for the after: and before: search atoms 2022-09-07 22:53:48 -07:00
David Dworken
aef13b16d0 Offline first! Now if a devide is offline it will detect this and upload the entries later 2022-09-04 18:37:46 -07:00
David Dworken
74ed49dd1a Revert "Add completely broken support for an incrementing id"
This reverts commit da624cf8aa. This commit was just added for history purposes.
2022-09-04 15:40:30 -07:00
David Dworken
da624cf8aa Add completely broken support for an incrementing id 2022-09-04 15:40:18 -07:00
David Dworken
83a0beff43 Bump go version, remove the vendored slsa library, and depend on a newer copy with a different API. Updates now work. 2022-09-02 00:15:58 -07:00
David Dworken
b63cc313fd Better timestamp stripping 2022-09-01 23:22:53 -07:00
David Dworken
e8f001c78b Add basic support for stripping out HISTTIMEFORMAT prefixes 2022-06-12 21:28:19 -07:00
David Dworken
3f32891469 Revert "Half implement querying based on relative and non-relative paths"
This reverts commit af05d823fe. I will pick up work on this later.
2022-06-12 20:28:40 -07:00
David Dworken
af05d823fe Half implement querying based on relative and non-relative paths 2022-06-12 20:28:33 -07:00
David Dworken
ad7e412855 Add help command 2022-06-05 18:26:02 -07:00
David Dworken
5e44e7ef36 Support queries as part of the export command + more info sent to the banner endpoint 2022-06-05 18:05:06 -07:00
David Dworken
b471eea2ee Enable 'strict' mode for zsh 2022-06-04 23:11:26 -07:00
David Dworken
0fac3b7286 Make query params required rather than having weird undefined behavior 2022-06-04 23:03:05 -07:00
David Dworken
84182ba5c3 Delete TODO for a test that I don't think is needed 2022-06-04 22:30:20 -07:00
David Dworken
de606c52a7 Improve error message instead of panic 2022-06-04 22:29:07 -07:00
David Dworken
00f6bed62c Add a test for the install.py script 2022-06-04 22:27:04 -07:00
David Dworken
30ee41a6ea Automatic retries when the DB is busy 2022-06-04 22:06:50 -07:00
David Dworken
c918c5042e Fix test on incorrect update output + prevent downgrades 2022-06-04 21:42:40 -07:00
David Dworken
de15305fb5 Patch vendored slsa verifier and fix updates 2022-06-04 21:31:16 -07:00
David Dworken
e638b9795b Manually vendor the slsa_verifier lib so we can make tweaks to it 2022-06-04 21:21:49 -07:00
David Dworken
dd4e2e9278 Add TODO + better error messages 2022-06-04 20:35:47 -07:00
David Dworken
05c67895c8 Fix bug with newly opened terminals where user hits control-c immediately in new terminal 2022-05-27 23:05:28 -07:00
David Dworken
0a31e8a787 Skip flaky test in github actions 2022-05-27 23:00:10 -07:00
David Dworken
e7de3d9d42 Bump allowable size difference (+ fix linter errors) 2022-05-27 22:41:52 -07:00
David Dworken
1da703e9c2 Working update code for macos 2022-05-26 23:45:08 -07:00
David Dworken
677b596d49 Debugging code signing, added error checking for my xattr code and discovered that arm xattrs aren't being persisted 2022-05-22 20:08:30 -07:00
David Dworken
47d13a9c27 Passing the basic dump testss 2022-05-22 19:45:46 -07:00
David Dworken
feaa8b2bd1 Add a DB dump test that passes on zsh (is failing for an unknown reason on bash currently) + fix backup and restore for WAL files + better offline support 2022-05-01 22:37:26 -04:00
David Dworken
46d7e9e013 Tests passing when being run offline, still not integrated with the new API endpoints yet 2022-04-28 11:26:55 -07:00
David Dworken
0499010981 Remove the 'e' prefix from api endpoints + implement backend APIs for clean loading of all data from other instances 2022-04-28 10:56:59 -07:00
David Dworken
87c8c961e9 Delete already done todo 2022-04-28 10:01:58 -07:00
David Dworken
4cb5773632 Add hex parsing for xattr setting + log rather than error when offline 2022-04-28 09:51:01 -07:00
David Dworken
93e59f37ec Fix downloading the xattr file 2022-04-25 22:21:17 -07:00
David Dworken
c79a510b9c Maybe working xattr support for code signing 2022-04-25 22:03:31 -07:00
David Dworken
74caf87eda Add basic xattr implementation (commiting to save it, about to delete most of it) 2022-04-25 21:42:28 -07:00
David Dworken
ff419e71f9 More debugging info for failing to install the update 2022-04-21 22:52:38 -07:00
David Dworken
980d299543 Run the command in the background for zsh 2022-04-21 22:25:24 -07:00
David Dworken
fe93be79f4 Support a host: atom as an alias for the hostname: atom 2022-04-21 21:10:25 -07:00
David Dworken
6a18504755 Enable WAL for increased concurrency, and add additional expectedOutput option for testDisplayTable 2022-04-20 22:13:10 -07:00
David Dworken
edfbf7769e Fix updating on m1 darwin
For some reason, calling unlink() on the binary causes all future spawned processes to die with a "signal: killed" error. I have no idea why this happens, but it doesn't seem to be necessary to call
unlink on darwin, so I'm just tweaking this to not call unlink on darwin. Also remove tidy from the pre-commit since macos ships with a truly ancient version of tidy
2022-04-20 21:57:37 -07:00
David Dworken
94c88c76fe Skip testUpdate when running on linux/arm64 since that isn't a supported platform 2022-04-20 20:56:01 -07:00
David Dworken
89fd59a132 Disabe CGO since it is incompatible with cross-compiling for darwin and swap to a non-cgo sqlite library 2022-04-20 17:28:19 -07:00
David Dworken
10ee085d4c Remove unnecessary set -m calls, speed up the local make acttest command, embed ReleaseVersion into the test server to fix the test failures on macos, and update install to be resistant to bashrc and zshrc not existing 2022-04-19 21:05:54 -07:00
David Dworken
0c0943fc79 Fix failing test + fix syntax error in workflow 2022-04-19 19:21:39 -07:00
David Dworken
62c29dc68c Enable some previously disabled tests that I think should now pass on macos 2022-04-18 23:07:39 -07:00
David Dworken
77f9ee707c Fix date in both places :) 2022-04-18 22:50:26 -07:00
David Dworken
d6a142dfe7 Fix failing lib_test + add test for displaying the correct cwd in the table 2022-04-18 22:45:07 -07:00
David Dworken
76f12ab64a Swap to getting date in seconds since BSD date doesn't support nanos 2022-04-18 22:36:57 -07:00