David Dworken
d2788a9f31
Swap interface{} to any
2023-10-07 15:11:49 -07:00
David Dworken
d404a73c9b
Make history entry start times more precise (down to the nanosecond) to make the recorded runtime more accurate, since currently start times are rounded to the nearest second. Though note that 'date' on MacOS doesn't support %N, so this doesn't apply to MacOS
2023-10-07 14:47:54 -07:00
David Dworken
5323c264b3
Further improve history importing performance for #93
2023-10-07 14:41:34 -07:00
David Dworken
69b9b58cd0
Fix test that should have been updated in 3efe624
2023-10-07 11:06:56 -07:00
David Dworken
f5264b6eff
Tweak ImportHistory so that all entries are guaranteed to have sequential timestamps that are monotonically increasing
2023-10-07 11:05:19 -07:00
David Dworken
c7d1abdc83
Add additional tests for history importing
2023-10-03 08:00:16 -07:00
David Dworken
d33bd6a046
Improve history import performance so that we can import 100k entries in ~6 seconds (down from ~20 seconds)
2023-10-02 22:27:24 -07:00
David Dworken
2e793b2c10
Test refactoring to remove a function that can be replaced with testify
2023-10-01 18:21:11 -07:00
David Dworken
0b57034c39
Revert "Revert all commits since v0.223 to enable me to release a patch on top of v0.223"
...
This reverts commit 68ed9f2d5d
.
2023-09-29 18:21:23 -07:00
David Dworken
68ed9f2d5d
Revert all commits since v0.223 to enable me to release a patch on top of v0.223
2023-09-28 22:15:30 -07:00
David Dworken
fdec51bd14
Update presaving for bash to use history 1
rather than BASH_COMMAND to ensure we don't log bash functions
2023-09-28 22:14:53 -07:00
David Dworken
5d46c94b13
Improve test for duplicate rows to make it more reliable/simple
2023-09-28 22:14:47 -07:00
David Dworken
5ac6f297fb
Fix incorrect shell name in config.fish for pre-saving
2023-09-28 22:13:35 -07:00
David Dworken
9fda54d4c2
Remove testutils.Check(t, err) and replace it with require.NoError which gives a clearer error message and a full stacktrace
2023-09-28 22:13:27 -07:00
David Dworken
beb907d59e
Add bolding of matching search results for #112 , currently behind the beta-mode flag
2023-09-28 22:13:11 -07:00
David Dworken
6d5a86a8bb
Revert all commits since v0.223 to enable me to release a patch on top of v0.223
2023-09-28 21:49:37 -07:00
David Dworken
d14dc1cd50
Update presaving for bash to use history 1
rather than BASH_COMMAND to ensure we don't log bash functions
2023-09-26 19:41:12 -07:00
David Dworken
753b7241a8
Improve test for duplicate rows to make it more reliable/simple
2023-09-26 19:38:21 -07:00
David Dworken
0627891be2
Add test for beta-mode enabling highlighting of matching queries
2023-09-24 17:57:40 -07:00
David Dworken
b3fa5c9a6b
Add very basic TUI test that also tests how the TUI uses escape sequences for colors
2023-09-24 17:03:54 -07:00
David Dworken
eeacd6fa70
Fix incorrect shell name in config.fish for pre-saving
2023-09-24 16:31:46 -07:00
David Dworken
5121df5a8c
Remove testutils.Check(t, err) and replace it with require.NoError which gives a clearer error message and a full stacktrace
2023-09-24 16:05:01 -07:00
David Dworken
0f375aacfc
Add bolding of matching search results for #112 , currently behind the beta-mode flag
2023-09-24 15:57:39 -07:00
David Dworken
e3c70beb6b
Fix bug introduced in c00e5d where hishtory import would fail if shell history files didn't exist (e.g. because the user had never used zsh)
2023-09-23 20:37:41 -07:00
David Dworken
c3782dda18
Add additional error to IsOfflineError
2023-09-23 19:37:25 -07:00
David Dworken
1c2f9cf36c
Run local server for TestAugmentedIsOfflineError and ensure that HISHTORY_TEST is set
2023-09-23 19:35:21 -07:00
David Dworken
8443292070
Augment IsOfflineError(err) so that it detects if the hishtory server is down, and will then treat all API errors as offline errors
2023-09-23 16:40:03 -07:00
David Dworken
ab12fa4d47
Fix consistency bug where ClientConfig would get out of date between different parts of the code
2023-09-23 12:40:57 -07:00
David Dworken
c00e5d357e
Swap hishtory import to use iterators to improve import performance for #93
2023-09-23 12:19:06 -07:00
David Dworken
68c6bd6654
Improve TestTimestampFormat
2023-09-23 10:56:27 -07:00
David Dworken
e886763144
Make testCustomColumns simpler and more reliable
2023-09-23 05:34:36 -07:00
David Dworken
51ca2578b7
Follow up to e3d54e: Same thing for querying for pre-saved entries
2023-09-22 19:59:19 -07:00
David Dworken
e3d54e43e8
Make deletion request auto-retry SQLITE_LOCKED errors since deletion requests will now be much more common with pre-saving support
2023-09-22 19:47:10 -07:00
David Dworken
1d878195b2
Rework ff98a7907c
to use the newly added EntryId column rather than deleting based on the start time
2023-09-22 14:03:41 -07:00
David Dworken
9b847c5e35
Further optimize client-server roundtrips by including deletion and dump requests in submit responses (follow up to 1e43de689f
)
2023-09-22 13:49:29 -07:00
David Dworken
a5f11af150
Add initial code to support unique per-entry IDs
...
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
2023-09-22 13:16:24 -07:00
David Dworken
2a5a6d65c4
Roll-forward "Add preliminary support for persisting pre-saved history entries remotely"
...
This rolls-forward commit 66916c27cb
.
2023-09-22 13:13:46 -07:00
David Dworken
66916c27cb
Revert "Add preliminary support for persisting pre-saved history entries remotely"
...
This reverts commit ff98a7907c
. That commit is incomplete since it doesn't include support for the continous deletion of pre-saved history entries as soon as they
finish running. Support for this will require a good bit more work/thought, so reverting for and keeping this code in the git history.
2023-09-21 12:39:20 -07:00
David Dworken
ff98a7907c
Add preliminary support for persisting pre-saved history entries remotely
2023-09-21 12:39:04 -07:00
David Dworken
1c4570586c
Increase max supported line length for #93
2023-09-19 18:59:09 -07:00
David Dworken
216803f325
Bring back logic that was removed in c9da7a10e4
that made it so invalid initial search queries will get replaced with a query for the empty string
2023-09-18 22:21:10 -07:00
David Dworken
4f592f4aef
Automatically retry search queries when the DB is locked to increase reliability (especially when the backend is down, which leads to more queries, and thus more instances of the DB being locked)
2023-09-18 19:22:26 -07:00
David Dworken
134061085b
Fix bug in searching logic that caused gorm to template in NULL for non-null values
2023-09-17 20:24:48 -07:00
David Dworken
1d7ba41289
Avoid performance hit caused by pre-saving by presaving in the background
2023-09-17 14:11:44 -07:00
David Dworken
48e33d5034
Make the query input box in the TUI match the terminal dimensions
2023-09-14 21:14:16 -07:00
David Dworken
328c35a096
Add presaving support for fish
2023-09-14 21:03:36 -07:00
David Dworken
c5a7245991
Add bug fix for presaving history where entries would sometimes end up duplicated
2023-09-14 21:01:13 -07:00
David Dworken
01d9924cc0
Check sqlite DB error messages with Contains to be slightly more lenient
2023-09-14 12:32:50 -07:00
David Dworken
d4e01ceb11
Add another error message substring for detecting errors due to being offline, to improve #30
2023-09-13 22:49:40 -07:00
David Dworken
e8ceb02138
Move tui.go out of lib and into a separate package
2023-09-13 22:47:48 -07:00