* Optimize TUI performance via sqlite tuning + caching
* Disable TestTuiBench in GH actions since it is just meant for benchmarking
* Update golden
* Fix go errcheck finding
* Revert "Update golden"
This reverts commit 7c8865ce75.
* Clear the search cache after deletions
* Allowlist TestTuiBench-Query as an unused golden since it is not used on GH actions
* Refactor code for searching for custom columns
* Add support for searching custom columns in default searches
* Add integration test for default searches for custom columns
* Add memoization to avoid repeated work for queries
* update comment
* Update golden
* Update goldens
* Implement restrictions on default column searching for #268
* Add better docs for config-set excluded-default-search-columns
* Enable debugging
* Clean up server binaries to avoid wasting disk space
* Add tests
* Swap from configuring excluded columns to configuring included columns, to prep for future changes where we may add support for other default columns
* Reduce gotestsum re-runs since tests are less flaky nowadays
* Fix bug in lib.where(...) function that failed to trim the args list and caused DB query correctness issues
* Disable tmate debugging
* Update goldens
* 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
* 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
* Add support for configuring the TUI color scheme, for #134
* Add tests for getting and setting the custom color scheme, and support full colors where terminals support them
* Add comments to document termenv.ANSI setting, and fix tests so they work uniformly
This code has two caveats for old entries:
1. the ID is being backfiled with a random per-(device,entry) ID. So the ID won't match cross-device.
2. the server-side ID will still be a random ID that is unrelated to the entry ID