Commit Graph

252 Commits

Author SHA1 Message Date
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