90 Commits

Author SHA1 Message Date
258eb42bfc fix(deps): update all dependencies
Some checks failed
renovate/artifacts Artifact file update failure
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
2025-07-10 00:30:14 +00:00
10f832c1d1 fix(deps): update rust crate serde to v1.0.219
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-06-03 03:27:44 +00:00
c57b1bc434 chore(deps): update rust crate axum to v0.8.4
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-06-03 00:28:23 +00:00
6b2cc8925a chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-03-04 01:47:13 +00:00
e9b810837e fix(deps): update rust crate uuid to v1.15.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-27 01:45:00 +00:00
12fd200185 chore(deps): update all dependencies
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2025-02-25 01:42:42 +00:00
bb4e6ba6ab fix(deps): update rust crate uuid to v1.14.0
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-02-21 01:44:48 +00:00
66099d5bb7 fix(deps): update rust crate serde to v1.0.218
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-20 06:54:17 +01:00
817d1db963 chore(deps): update all dependencies
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-02-20 05:43:17 +00:00
4e5ed0c27f chore(deps): update all dependencies
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2025-02-18 01:43:20 +00:00
245aa67f09 chore(deps): update rust crate tempfile to v3.17.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-17 01:38:27 +00:00
43593c5852 fix(deps): update rust crate prost to v0.13.5
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-13 01:39:33 +00:00
657b11c3f7 chore(deps): update rust crate clap to v4.5.29
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-12 01:45:19 +00:00
8ce42aac25 chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-06 01:42:13 +00:00
ada480ea02 chore(deps): update rust crate clap to v4.5.28
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-04 01:43:06 +00:00
8a995b191c fix(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-29 01:45:42 +00:00
4897e56d7d chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-22 01:40:28 +00:00
c69ebb0fe4 fix(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-20 01:39:19 +00:00
0b71fd889e fix(deps): update rust crate serde_json to v1.0.136
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-19 01:40:37 +00:00
68f6ce63e5 fix(deps): update rust crate uuid to v1.12.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-15 01:45:30 +00:00
e7e169352d fix(deps): update all dependencies to v6
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-13 01:38:50 +00:00
fc392ac43b fix(deps): update rust crate uuid to v1.11.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-10 05:34:27 +00:00
25f854f2fe chore(deps): update rust crate clap to v4.5.26
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-10 01:35:24 +00:00
eaaa63e0b6 chore(deps): update rust crate tokio to v1.43.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-09 01:37:46 +00:00
000f96f965 chore(deps): update rust crate clap to v4.5.24
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-08 01:33:50 +00:00
8870b89378 fix(deps): update rust crate serde_json to v1.0.135
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-07 01:36:16 +00:00
2704b0b0c3 fix(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-04 05:32:25 +00:00
39b05501f1 chore(deps): update rust crate axum to 0.8
Some checks failed
renovate/artifacts Artifact file update failure
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-02 01:33:14 +00:00
2d4ae16de8 chore(deps): update rust crate itertools to 0.14.0
Some checks failed
renovate/artifacts Artifact file update failure
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-01 01:34:55 +00:00
f036db202d fix(deps): update rust crate serde to v1.0.217
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-28 01:38:06 +00:00
384ee78652 chore(deps): update rust crate anyhow to v1.0.95
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-23 01:39:54 +00:00
f5ca5970c1 fix(deps): update rust crate serde_json to v1.0.134
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-22 01:33:09 +00:00
6a179f0881 chore(release): v0.5.0 (#62)
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
chore(release): 0.5.0

Co-authored-by: cuddle-please <bot@cuddle.sh>
Reviewed-on: #62
2024-12-15 11:44:44 +01:00
09546907e5 feat: allow taking a local path
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-12-15 11:41:41 +01:00
83f9816cce fix(deps): update rust crate serde to v1.0.216
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-11 05:33:05 +00:00
c261d6cb65 fix(deps): update rust crate prost to v0.13.4
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-07 01:39:32 +00:00
fb01406738 chore(deps): update rust crate clap to v4.5.23
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-06 01:43:44 +00:00
352fd86145 chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-04 01:45:10 +00:00
bea5258e8f chore(deps): update rust crate tracing-subscriber to v0.3.19
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-30 02:15:38 +00:00
a0a256ac7f chore(deps): update rust crate tracing to v0.1.41
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-28 01:40:06 +00:00
9cd12f8636 chore(release): v0.4.0 (#15)
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
chore(release): 0.4.0

Co-authored-by: cuddle-please <bot@cuddle.sh>
Reviewed-on: #15
2024-11-23 14:30:38 +01:00
34fba9754c feat: update hyperlog
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-11-23 14:26:11 +01:00
ee0680194b fix(deps): update rust crate tower-http to v0.6.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-19 01:28:57 +00:00
38f8db78cd chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-17 05:32:40 +00:00
02b8b8cd59 chore(deps): update rust crate axum to v0.7.8
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-16 01:38:26 +00:00
09fb11f9d9 chore(deps): update rust crate clap to v4.5.21
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-14 01:33:16 +00:00
102b35e083 fix(deps): update rust crate serde to v1.0.215
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-12 01:30:48 +00:00
986d261bd7 chore(deps): update rust crate tempfile to v3.14.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-08 05:30:54 +00:00
0f70cf9f7b chore(deps): update rust crate tokio to v1.41.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-08 01:32:34 +00:00
eb30858d9d chore(deps): update rust crate anyhow to v1.0.93
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-07 01:32:05 +00:00
22900ba92a chore(deps): update rust crate anyhow to v1.0.92
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-02 01:36:39 +00:00
44ef8a708c fix(deps): update rust crate serde to v1.0.214
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-29 01:39:13 +00:00
acc7e0cd6d fix(deps): update rust crate serde to v1.0.213
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-23 02:58:53 +02:00
e8d222f4ba chore(deps): update all dependencies to v1.0.91
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is passing
2024-10-23 00:40:51 +00:00
3c5fb25fa3 fix(deps): update rust crate ratatui to 0.29.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-22 00:32:43 +00:00
b3b170c057 fix(deps): update rust crate serde_json to v1.0.132
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-20 00:38:17 +00:00
e64fc61926 feat: add hyperlog
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
2024-10-19 11:49:32 +02:00
4eb1a8224a chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-19 00:36:20 +00:00
6dfe2bf0d6 fix(deps): update rust crate serde_json to v1.0.129
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-18 00:36:43 +00:00
0e38e23942 fix(deps): update rust crate uuid to v1.11.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-17 00:37:43 +00:00
c35aad3cf8 fix(deps): update rust crate human-panic to v2.0.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-11 00:33:58 +00:00
10c2282c78 chore(deps): update rust crate clap to v4.5.20
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-09 00:35:54 +00:00
35c4fae36a chore(deps): update rust crate futures to v0.3.31
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-06 00:32:26 +00:00
b11d72ca05 chore(deps): update rust crate clap to v4.5.19
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-02 00:35:30 +00:00
a97ef32ffb chore(deps): update rust crate tempfile to v3.13.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-29 00:33:52 +00:00
2873ff3d7e chore(deps): update rust crate axum to v0.7.7
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-28 00:38:27 +00:00
4096790f2a chore(deps): update tonic monorepo to v0.12.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-27 00:31:35 +00:00
0ce0e691ee fix(deps): update rust crate tower-http to v0.6.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-24 00:36:53 +00:00
40dfbcd031 fix(deps): update rust crate prost to v0.13.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-22 00:40:54 +00:00
4ff3261dbc chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-21 00:58:02 +00:00
53c2cdf018 fix(deps): update rust crate tower-http to 0.6.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-20 00:42:29 +00:00
c96eebf6f9 chore(deps): update rust crate anyhow to v1.0.89
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-15 04:31:24 +00:00
9d9d6be3b7 chore(deps): update rust crate anyhow to v1.0.88
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-12 00:33:33 +00:00
f106929cca chore(deps): update rust crate anyhow to v1.0.87
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-07 04:29:21 +00:00
d876891242 fix(deps): update rust crate serde to v1.0.210
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-07 00:31:58 +00:00
6961987a77 chore(deps): update rust crate similar-asserts to v1.6.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-06 00:30:16 +00:00
d3695eba50 chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-05 00:32:33 +00:00
f175c4ebcf fix(deps): update rust crate sqlx to v0.8.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-04 00:27:32 +00:00
58df153c6e fix(deps): update rust crate prost to v0.13.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-31 00:28:05 +00:00
2b7a05bc4e chore(deps): update rust crate tokio to v1.40.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-30 08:27:22 +00:00
fcb0ea7393 chore(deps): update tonic monorepo to v0.12.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-26 20:42:40 +00:00
3a1741d7dc fix(deps): update rust crate ratatui to v0.28.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-25 09:51:50 +00:00
8886af4a8f fix(deps): update rust crate sqlx to v0.8.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-24 08:07:53 +00:00
08a6f77146 fix(deps): update rust crate serde to v1.0.209
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-24 03:54:43 +00:00
c15c7f0ae2 fix(deps): update rust crate serde_json to v1.0.127
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-23 21:19:27 +00:00
04c6e97f30 fix(deps): update rust crate serde_json to v1.0.126
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-23 20:40:42 +00:00
29e0c37599 fix(deps): update rust crate prost to 0.13.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-21 23:30:14 +00:00
e655c57f21 chore(deps): update tonic monorepo to 0.12.0
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2024-08-21 22:31:50 +00:00
28fb99e6f9 fix(deps): update rust crate serde to v1.0.208
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-21 23:22:49 +02:00
3a231cea96 chore(deps): update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-21 21:02:46 +00:00
15 changed files with 892 additions and 548 deletions

View File

@@ -6,6 +6,78 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.5.0] - 2024-12-15
### Added
- allow taking a local path
### Fixed
- *(deps)* update rust crate serde to v1.0.216
- *(deps)* update rust crate prost to v0.13.4
### Other
- *(deps)* update rust crate clap to v4.5.23
- *(deps)* update all dependencies
- *(deps)* update rust crate tracing-subscriber to v0.3.19
- *(deps)* update rust crate tracing to v0.1.41
## [0.4.0] - 2024-11-23
### Added
- update hyperlog
- add hyperlog
### Fixed
- *(deps)* update rust crate tower-http to v0.6.2
- *(deps)* update rust crate serde to v1.0.215
- *(deps)* update rust crate serde to v1.0.214
- *(deps)* update rust crate serde to v1.0.213
- *(deps)* update rust crate ratatui to 0.29.0
- *(deps)* update rust crate serde_json to v1.0.132
- *(deps)* update rust crate serde_json to v1.0.129
- *(deps)* update rust crate uuid to v1.11.0
- *(deps)* update rust crate human-panic to v2.0.2
- *(deps)* update rust crate tower-http to v0.6.1
- *(deps)* update rust crate prost to v0.13.3
- *(deps)* update rust crate tower-http to 0.6.0
- *(deps)* update rust crate serde to v1.0.210
- *(deps)* update rust crate sqlx to v0.8.2
- *(deps)* update rust crate prost to v0.13.2
- *(deps)* update rust crate ratatui to v0.28.1
- *(deps)* update rust crate sqlx to v0.8.1
- *(deps)* update rust crate serde to v1.0.209
- *(deps)* update rust crate serde_json to v1.0.127
- *(deps)* update rust crate serde_json to v1.0.126
- *(deps)* update rust crate prost to 0.13.0
- *(deps)* update rust crate serde to v1.0.208
### Other
- *(deps)* update all dependencies
- *(deps)* update rust crate axum to v0.7.8
- *(deps)* update rust crate clap to v4.5.21
- *(deps)* update rust crate tempfile to v3.14.0
- *(deps)* update rust crate tokio to v1.41.1
- *(deps)* update rust crate anyhow to v1.0.93
- *(deps)* update rust crate anyhow to v1.0.92
- *(deps)* update all dependencies to v1.0.91
- *(deps)* update all dependencies
- *(deps)* update rust crate clap to v4.5.20
- *(deps)* update rust crate futures to v0.3.31
- *(deps)* update rust crate clap to v4.5.19
- *(deps)* update rust crate tempfile to v3.13.0
- *(deps)* update rust crate axum to v0.7.7
- *(deps)* update tonic monorepo to v0.12.3
- *(deps)* update all dependencies
- *(deps)* update rust crate anyhow to v1.0.89
- *(deps)* update rust crate anyhow to v1.0.88
- *(deps)* update rust crate anyhow to v1.0.87
- *(deps)* update rust crate similar-asserts to v1.6.0
- *(deps)* update all dependencies
- *(deps)* update rust crate tokio to v1.40.0
- *(deps)* update tonic monorepo to v0.12.2
- *(deps)* update tonic monorepo to 0.12.0
- *(deps)* update all dependencies
## [0.3.0] - 2024-06-30
### Added

1211
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -14,16 +14,16 @@ tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
clap = { version = "4", features = ["derive", "env"] }
dotenv = { version = "0.15" }
axum = { version = "0.7" }
axum = { version = "0.8" }
serde = { version = "1.0.202", features = ["derive"] }
serde_json = "1.0.117"
itertools = "0.13.0"
itertools = "0.14.0"
uuid = { version = "1.8.0", features = ["v4"] }
tonic = { version = "0.11.0", features = ["tls", "tls-roots"] }
tonic = { version = "0.12.0", features = ["tls", "tls-roots"] }
futures = { version = "0.3.30" }
sha2 = { version = "0.10.8" }
hex = { version = "0.4.3" }
toml = { version = "0.8.14" }
toml = { version = "0.9.0" }
[workspace.package]
version = "0.3.0"
version = "0.5.0"

4
buf.yaml Normal file
View File

@@ -0,0 +1,4 @@
version: v2
modules:
- path: crates/hyperlog-protos/proto
name: buf.build/noschemaplz/hyperlog

View File

@@ -6,7 +6,7 @@ version.workspace = true
[dependencies]
tonic.workspace = true
prost = "0.12.6"
prost = "0.13.0"
[build-dependencies]
tonic-build = "0.11.0"
tonic-build = "0.12.0"

View File

@@ -16,8 +16,8 @@ serde_json.workspace = true
uuid.workspace = true
tonic.workspace = true
tower-http = { version = "0.5.2", features = ["cors", "trace"] }
sqlx = { version = "0.7.4", features = [
tower-http = { version = "0.6.0", features = ["cors", "trace"] }
sqlx = { version = "0.8.0", features = [
"runtime-tokio",
"tls-rustls",
"postgres",

View File

@@ -22,13 +22,13 @@ uuid.workspace = true
hex.workspace = true
toml.workspace = true
ratatui = "0.26.2"
crossterm = { version = "0.27.0", features = ["event-stream"] }
directories = "5.0.1"
ratatui = "0.29.0"
crossterm = { version = "0.29.0", features = ["event-stream"] }
directories = "6.0.0"
human-panic = "2.0.0"
ropey = "1.6.1"
bus = "2.4.1"
dirs = "5.0.1"
dirs = "6.0.0"
[dev-dependencies]
similar-asserts = "1.5.0"

View File

@@ -221,6 +221,7 @@ impl<'a> App<'a> {
}
fn open_editor(&self, item: &GraphItem) -> Option<Command> {
tracing::info!("entering editor for session");
match editor::EditorSession::new(item).execute() {
Ok(None) => {
tracing::info!("editor returned without changes, skipping");

View File

@@ -392,7 +392,6 @@ impl<'a> StatefulWidget for GraphExplorer<'a> {
fn render(self, area: Rect, buf: &mut Buffer, state: &mut Self::State) {
let Rect { height, .. } = area;
let _height = height as usize;
if let Some(graph) = &state.graph {
let movement_graph: MovementGraph =

View File

@@ -1,3 +1,5 @@
use std::path::PathBuf;
use tonic::transport::{Channel, ClientTlsConfig};
use crate::{
@@ -7,34 +9,37 @@ use crate::{
#[allow(dead_code)]
pub struct State {
engine: SharedEngine,
pub storage: Storage,
events: Events,
pub commander: Commander,
pub querier: Querier,
backend: Backend,
}
pub enum Backend {
Local,
Local { path_override: Option<PathBuf> },
Remote { url: String },
}
impl State {
pub async fn new(backend: Backend) -> anyhow::Result<Self> {
let storage = Storage::new();
let engine = storage.load()?;
let events = Events::default();
let engine = SharedEngine::from(engine);
let (querier, commander) = match backend {
Backend::Local => (
Querier::local(&engine),
Commander::local(engine.clone(), storage.clone(), events.clone())?,
),
let (querier, commander) = match &backend {
Backend::Local { path_override } => {
let mut storage = Storage::new();
if let Some(path_override) = path_override {
storage.with_base(path_override);
}
let engine = storage.load()?;
let events = Events::default();
let engine = SharedEngine::from(engine);
(
Querier::local(&engine),
Commander::local(engine.clone(), storage.clone(), events.clone())?,
)
}
Backend::Remote { url } => {
let channel = Channel::from_shared(url)?
.tls_config(ClientTlsConfig::new())?
let tls = ClientTlsConfig::new();
let channel = Channel::from_shared(url.clone())?
.tls_config(tls.with_native_roots())?
.connect()
.await?;
@@ -46,12 +51,31 @@ impl State {
};
Ok(Self {
engine: engine.clone(),
storage: storage.clone(),
events: events.clone(),
commander,
querier,
backend,
})
}
pub fn unlock(&self) {
if let Backend::Local { path_override } = &self.backend {
let mut storage = Storage::new();
if let Some(path_override) = path_override {
storage.with_base(path_override);
}
storage.clear_lock_file();
}
}
pub fn info(&self) -> Option<anyhow::Result<String>> {
if let Backend::Local { path_override } = &self.backend {
let mut storage = Storage::new();
if let Some(path_override) = path_override {
storage.with_base(path_override);
}
return Some(storage.info());
}
None
}
}

View File

@@ -5,6 +5,10 @@ use std::{
};
use anyhow::{anyhow, Context};
use crossterm::{
terminal::{disable_raw_mode, enable_raw_mode},
ExecutableCommand,
};
use hyperlog_core::log::{GraphItem, ItemState};
use itertools::Itertools;
use serde::{Deserialize, Serialize};
@@ -127,6 +131,11 @@ impl SessionFile {
impl Drop for SessionFile {
fn drop(&mut self) {
// std::io::stdout()
// .execute(crossterm::terminal::EnterAlternateScreen)
// .expect("to be able to restore alternative mode");
// enable_raw_mode().expect("to be able to restore raw mode");
if self.path.exists() {
tracing::debug!("cleaning up file: {}", self.path.display());
@@ -180,6 +189,7 @@ impl<'a> EditorSession<'a> {
.as_bytes(),
)
.context("failed to write to file")?;
file.flush().context("failed to flush to disk")?;
let modified_time = file.metadata()?.modified()?;
@@ -209,7 +219,26 @@ impl<'a> EditorSession<'a> {
editor,
session_file.get_path().display()
);
if let Err(e) = std::process::Command::new(editor)
std::io::stdout().flush()?;
// disable_raw_mode()?;
// std::io::stdout().execute(crossterm::terminal::LeaveAlternateScreen)?;
let path = session_file.get_path();
if let Some(parent) = path.parent() {
if let Err(e) = std::process::Command::new(editor)
.arg(
path.file_name()
.ok_or(anyhow::anyhow!("failed to find file in the given path"))?,
)
.current_dir(parent)
.status()
{
tracing::error!("failed command with: {}", e);
return Ok(None);
}
} else if let Err(e) = std::process::Command::new(editor)
.arg(session_file.get_path())
.status()
{
@@ -238,7 +267,7 @@ trait ItemExt {
fn get_digest(&self) -> Option<String>;
}
impl<'a> ItemExt for &'a GraphItem {
impl ItemExt for &GraphItem {
fn get_digest(&self) -> Option<String> {
if let GraphItem::Item { title, .. } = self {
let digest = sha2::Sha256::digest(title.as_bytes());

View File

@@ -31,7 +31,7 @@ pub mod state;
mod engine;
mod events;
mod querier;
mod storage;
pub mod storage;
mod editor;
mod logging;

View File

@@ -80,6 +80,13 @@ impl Storage {
pub fn clear_lock_file(self) {
let mut lock_file = self.lock_file.lock().unwrap();
if let Ok(lock) = self.state_lock() {
if lock.exists() {
tracing::info!("clearing lock file");
std::fs::remove_file(&lock).expect("to be able to remove lockfile");
}
}
if lock_file.is_some() {
*lock_file = None;
}

View File

@@ -21,7 +21,7 @@ serde_json.workspace = true
uuid.workspace = true
bus = "2.4.1"
dirs = "5.0.1"
dirs = "6.0.0"
[dev-dependencies]
similar-asserts = "1.5.0"

View File

@@ -1,3 +1,5 @@
use std::path::PathBuf;
use clap::{Parser, Subcommand, ValueEnum};
use hyperlog_tui::{
commander,
@@ -15,6 +17,9 @@ struct Command {
#[arg(long = "backend-url", required_if_eq("backend", "remote"))]
backend_url: Option<String>,
#[arg(long = "local-path")]
local_path: Option<PathBuf>,
}
#[derive(ValueEnum, Clone)]
@@ -90,7 +95,9 @@ pub async fn execute() -> anyhow::Result<()> {
let backend_url = cli.backend_url;
let backend = match backend {
BackendArg::Local => Backend::Local,
BackendArg::Local => Backend::Local {
path_override: cli.local_path.clone(),
},
BackendArg::Remote => Backend::Remote {
url: backend_url.expect("backend-url to be set"),
},
@@ -164,11 +171,13 @@ pub async fn execute() -> anyhow::Result<()> {
}
Some(Commands::Info {}) => {
let state = State::new(backend).await?;
println!("graph stored at: {}", state.storage.info()?)
if let Some(info) = state.info() {
println!("graph stored at: {}", info?);
}
}
Some(Commands::ClearLock {}) => {
let state = State::new(backend).await?;
state.storage.clear_lock_file();
state.unlock();
println!("cleared lock file");
}
None => {