David Dworken
e520b23858
Improve history importing to not double import HISTFILE + improve tests
2022-11-11 18:12:23 -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
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
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
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
17ae676da0
Add uninstall command + tests for uninstall
2022-11-02 19:41:49 -07:00
David Dworken
e824665f2c
Add || true so that it works on linux too
2022-11-01 14:33:27 -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
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
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
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
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
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
aa3f449885
Skip recording empty history commands
2022-10-23 15:40:30 -07:00
David Dworken
2ee050a629
mkdir ~/.config/fish if it doesn't exist yet
2022-10-19 21:24:43 -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
2c6061e497
Treat i/o timeouts as offline errors too
2022-10-18 11:52:52 -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
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
9da18eb7d5
Chunk the uploads when reuploading to avoid having one giant request
2022-10-10 22:04:59 -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
30e6f048ab
Add better handling for SLSA errors
2022-10-02 20:14:54 -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
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
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
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
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
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
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
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
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
0b3ccb63a5
Skip reading history files if they don't exist
2022-09-17 12:22: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
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
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
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
de15305fb5
Patch vendored slsa verifier and fix updates
2022-06-04 21:31:16 -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
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
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
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
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
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
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
76f12ab64a
Swap to getting date in seconds since BSD date doesn't support nanos
2022-04-18 22:36:57 -07:00
David Dworken
ca1987a9ab
Fix OBO that removed first character from recorded commands
2022-04-18 22:19:51 -07:00
David Dworken
ce0a0742b7
Maybe fix for macos recording hidden commands with bash
2022-04-18 22:08:48 -07:00
David Dworken
3553897101
Attempt to fix failing test on macos for bash
2022-04-18 21:41:49 -07:00
David Dworken
1cc36fa0ef
Add todo, extra debugging output for failing mac test, and a check on resp.StatusCode
2022-04-18 21:28:41 -07:00
David Dworken
16055f982e
Skip commands prefixed with a space for zsh + update tests + touch ~/.zshrc so tests can run on actions
2022-04-17 21:04:44 -07:00
David Dworken
aae18d44b9
Working basic zsh integration (with lots of failing tests that are currently getting skipped)
2022-04-17 19:54:17 -07:00
David Dworken
be6ccbbcc6
Add untested update operation that works with the new releases
2022-04-17 12:30:46 -07:00
David Dworken
8259fc4e45
For some reason macos includes N at the end of ints, fix this
2022-04-17 11:09:30 -07:00
David Dworken
cf55805578
Verify the version tag in SLSA too
2022-04-17 10:29:48 -07:00
David Dworken
8aa44e5e26
Add missing return
2022-04-16 21:54:34 -07:00
David Dworken
339b115542
Fix version comparison logic
2022-04-16 21:39:40 -07:00
David Dworken
158f08f5c6
Improved update flow
...
Using the previously added new API endpoint, the update flow can now skip updates if the latest version is already installed. This also improves the output by making it so update can print the version. Also improved the error handling.
2022-04-16 20:50:02 -07:00
David Dworken
3d7af0cd4b
Add SLSA verification of updated binary
...
Currently the SLSA verifier is meant to be used a standalone binary. I copied a bit of code from their main (and imported the rest of their code as a library) in order to support embedding it as a library. This ensures that the updated hishtory passes SLSA L3.
2022-04-16 16:02:07 -07:00
David Dworken
c369661e53
More server-side logging + client-side logging
2022-04-16 00:44:47 -07:00
David Dworken
b09b725f49
Properly skip recording of commands prefixed with a space to match bash's history behavior
2022-04-15 00:04:49 -07:00
David Dworken
dc6fb6a47b
Refactor tests to make them non-flakey and pass on actions
...
This required adding the ability to have hishtory run synchronously to avoid reconditions. I also added additional waiting code. Also a whole bunch of new tests and disabled gorm's default logger which also caued flakeyness
2022-04-14 20:18:49 -07:00
David Dworken
e2b5fd13bf
tests passing inside act, hopefully on real actions
2022-04-13 21:30:27 -07:00
David Dworken
5325fc75ae
Add negative conditions to search queries + tests + better error messages by including filename:line in error messages
2022-04-11 22:36:52 -07:00
David Dworken
97670c92f5
Display the hostname in the table
2022-04-09 14:52:10 -07:00
David Dworken
cfa41c676c
Added info to README + two todos for future ideas
2022-04-09 14:26:43 -07:00
David Dworken
108e1526b8
trying again with ldflags + fixed update url
2022-04-08 22:56:44 -07:00
David Dworken
475497d7b7
Message when updated
2022-04-07 22:16:45 -07:00
David Dworken
f2e6de2eb3
pre-commit + stricter formatting + pre-commit fixes
2022-04-07 21:40:22 -07:00
David Dworken
c2465d7c99
refactored to move no longer shared things out of the shared/ folder
2022-04-07 21:05:58 -07:00
David Dworken
c48c4dc83f
formatted
2022-04-06 22:44:10 -07:00
David Dworken
1065fff062
refactoring, better tests, commit hash, banner, and tested working locally
2022-04-06 22:43:07 -07:00
David Dworken
684511f4f7
working update
2022-04-06 18:18:46 -07:00
David Dworken
71fc809f9a
tests are passing and getting close now. Need to test the live update flow along with more thorough testing for everything
2022-04-05 23:31:24 -07:00
David Dworken
e2acc6612a
well, it builds :D but still failing all the tests
2022-04-04 22:07:01 -07:00