* Implement fix for #238 by sourcing .profile from .bash_profile to prevent breaking users that rely on .profile from bash
* Add tests for fix for #238
This is a tricky bug to fix because the width of a tab character varies depending on context. This means that when we're trying to build a table and calculating the width of columns for budgeting, we can't actually know the width of a tab without knowing exactly what characters come before it. This is in theory doable, but it leads to some really complex code that I'd rather not adopt.
* Add support for custom key bindings for #190
* Add tests for configuring custom key bindings
* Simplify key bindings test
* Add docs on custom key bindings + error message for unhandled actions
* Fix double-syncing error where devices receive entries from themselves
* Fix incorrect error message
* Add TODO
* Update TestESubmitThenQuery after making query more efficient
* Update TestDeletionRequests and remove unnecessary asserts
* Swap server_test.go to using require
* Fix incorrect require due to typo
* Enable golden tests for linux and ensure all goldens get saved as outputs
* Swap in OS specific goldens
* Update colored goldens to take into account OS version, since different macos versions have different behavior here
* Update goldens
* Re-enable golden tests
* Add missing golden
* Empty commit
* Remove linux kernel version from OS name
As requested in #176 and #147
* Add initail version of a web UI for querying history from the browser
* Rename webui command
* Add basic test for the web UI
* Add README for the web UI
* Add basic auth for the web server
* Add status code when panic-ing
* Remove a few direct DB insertions to prepare for parallel tests
* Revert "Remove a few direct DB insertions to prepare for parallel tests"
This reverts commit f8a3552ad8.
* Add rudimentary experiment of splitting tests into two chunks to make them faster
* Add missing tag
* Remove code that enforces that all goldens are used, since it is incompatible with how tests are currently split into chunks
* Lay out the framework for checking goldens being used across all test runs
* Fix missing brace
* Revert "Remove code that enforces that all goldens are used, since it is incompatible with how tests are currently split into chunks"
This reverts commit 06cc3eedbc.
* Add initial work towards checking that all goldens are used
* Delete incorrect and unreferenced matrix
* Upgrade actions/upload-artifact to see if that makes the download in the next job work
* Alternatively, try downloading the artifact by name
* Update golden checker to read all the golden artifacts
* Swap to using glob to enumerate all golden files, rather than hardcoding them
* Remove debugging commands
* Remove goldens that are actually used
* Remove another golden that is actually used
* Add more comprehensive support for test sharding
* Fix references to test shards and increase shard count
* Shard the fuzz test
* Add debug prints
* Mark additional tests for sharding
* Fix logic error that broke test sharding
* Remove debug print
* Fix incorrect logic with skipping the fuzz test
* Move sharding functions to testutils and add some comments
* Upgrade all setup-go actions to enable caching of deps
* Remove goldens that don't exist
* Remove new line
* Reduce delay
* Correct stage name
* Remove incorrect skip code from the first version of sharding
* Remove unused import
* Reduce number of test shards to match GitHub's limit of 5 concurrent macos jobs
* Use cask for installing homebrew to speed up github actions
* More cleanup for unused goldens
* Improve install.py script to attempt to detect when /tmp/ is noexec
* Add test to install from python script at HEAD
* Remove incorrect duplicated line
* Delete the tmp hishtory-client download since it may be dropped in CWD rather than /tmp/
* Add ability to configure a default filter (for #76)
* Add test for color of default filter
* Add basic test for default filter
* Add goldens for tests
* Add more tests for default filters
* Update goldens
* Add another golden
* Update goldens
* Remove debug log
* Add golden to allowlist
* Update goldens
* Invert condition so that a bunch of golden tests only run on actions, since that is now our primary testing environment
* Update goldens to match them on GH actions
* Update goldens to split them based on OS so they can run on GH actions
* Add runtime.GOOS to golden names
* Update goldens that are now split by OS
* Update another test to fork on OS
* Update shell exclusion to properly exclude fish
* More golden updates
* Add more goldens
* More goldens
* Move golden files to testdata dir
* Add assertion that requires that all goldens are used
* Add map init so the map is non-nil
* Add print to confirm that tests finished running
* Remove colon so that this doesn't match against gotestsum looking for the substring "panic:", which can happen depending on how stdout is buffer
* Revert "Remove colon so that this doesn't match against gotestsum looking for the substring "panic:", which can happen depending on how stdout is buffer"
This reverts commit b44e53a17b.