Compare commits

..

17 Commits

Author SHA1 Message Date
88fac4c2bc chore: Release
All checks were successful
Continuous integration / Check (push) Successful in 38s
Continuous integration / Test Suite (push) Successful in 39s
Continuous integration / Trunk (push) Successful in 37s
Continuous integration / Rustfmt (push) Successful in 45s
Continuous integration / build (push) Successful in 50s
Continuous integration / Disallow unused dependencies (push) Successful in 2m28s
2025-03-30 16:10:01 -07:00
1fad5ec536 server: remove unused dep opentelemetry 2025-03-30 16:09:42 -07:00
8e7214d531 chore: Release
All checks were successful
Continuous integration / Test Suite (push) Successful in 40s
Continuous integration / Check (push) Successful in 1m3s
Continuous integration / Trunk (push) Successful in 39s
Continuous integration / Rustfmt (push) Successful in 38s
Continuous integration / build (push) Successful in 49s
Continuous integration / Disallow unused dependencies (push) Successful in 2m4s
2025-03-30 11:18:44 -07:00
333c4a3ebb server: rewrite old nzbfinder download links 2025-03-30 11:18:19 -07:00
b9ba5a3bea fix(deps): update all non-major dependencies
All checks were successful
Continuous integration / Check (push) Successful in 55s
Continuous integration / Test Suite (push) Successful in 39s
Continuous integration / Trunk (push) Successful in 38s
Continuous integration / Rustfmt (push) Successful in 55s
Continuous integration / build (push) Successful in 1m19s
Continuous integration / Disallow unused dependencies (push) Successful in 2m46s
2025-03-20 05:31:31 +00:00
2a0989e74d chore(deps): lock file maintenance
All checks were successful
Continuous integration / Check (push) Successful in 38s
Continuous integration / Trunk (push) Successful in 53s
Continuous integration / Rustfmt (push) Successful in 32s
Continuous integration / build (push) Successful in 51s
Continuous integration / Disallow unused dependencies (push) Successful in 56s
Continuous integration / Test Suite (push) Successful in 4m22s
2025-03-17 00:01:34 +00:00
e9319dc491 fix(deps): update rust crate async-trait to v0.1.88
All checks were successful
Continuous integration / Test Suite (push) Successful in 48s
Continuous integration / Trunk (push) Successful in 38s
Continuous integration / Rustfmt (push) Successful in 34s
Continuous integration / build (push) Successful in 47s
Continuous integration / Check (push) Successful in 3m43s
Continuous integration / Disallow unused dependencies (push) Successful in 59s
2025-03-15 01:16:46 +00:00
57481a77cd fix(deps): update rust crate uuid to v1.16.0
All checks were successful
Continuous integration / Check (push) Successful in 36s
Continuous integration / Test Suite (push) Successful in 39s
Continuous integration / Trunk (push) Successful in 37s
Continuous integration / build (push) Successful in 48s
Continuous integration / Rustfmt (push) Successful in 1m10s
Continuous integration / Disallow unused dependencies (push) Successful in 57s
2025-03-14 04:31:07 +00:00
44915cce54 fix(deps): update rust crate tokio to v1.44.1
All checks were successful
Continuous integration / Test Suite (push) Successful in 40s
Continuous integration / Trunk (push) Successful in 39s
Continuous integration / Rustfmt (push) Successful in 32s
Continuous integration / Check (push) Successful in 2m26s
Continuous integration / build (push) Successful in 47s
Continuous integration / Disallow unused dependencies (push) Successful in 3m26s
2025-03-13 08:31:33 +00:00
1225483b57 chore: Release
All checks were successful
Continuous integration / Check (push) Successful in 35s
Continuous integration / Test Suite (push) Successful in 40s
Continuous integration / Trunk (push) Successful in 38s
Continuous integration / Rustfmt (push) Successful in 32s
Continuous integration / Disallow unused dependencies (push) Successful in 56s
Continuous integration / build (push) Successful in 5m37s
2025-03-12 16:44:04 -07:00
daeb8c88a1 server: recover on slurp fetch failures 2025-03-12 16:43:48 -07:00
8a6b3ff501 chore: Release
All checks were successful
Continuous integration / Check (push) Successful in 36s
Continuous integration / Test Suite (push) Successful in 39s
Continuous integration / Rustfmt (push) Successful in 31s
Continuous integration / build (push) Successful in 46s
Continuous integration / Trunk (push) Successful in 12m56s
Continuous integration / Disallow unused dependencies (push) Successful in 4m0s
2025-03-12 13:53:27 -07:00
a6fffeafdc web: change autoreload logic 2025-03-12 13:53:11 -07:00
d791b4ce49 chore: Release 2025-03-12 13:50:45 -07:00
8a0e4eb441 web: log all state changes and don't autoreload on error, causes infini-loop 2025-03-12 13:50:39 -07:00
fc84562419 fix(deps): update rust crate reqwest to v0.12.14
All checks were successful
Continuous integration / Test Suite (push) Successful in 40s
Continuous integration / Rustfmt (push) Successful in 32s
Continuous integration / build (push) Successful in 46s
Continuous integration / Disallow unused dependencies (push) Successful in 56s
Continuous integration / Check (push) Successful in 5m27s
Continuous integration / Trunk (push) Successful in 8m3s
2025-03-12 13:46:26 +00:00
37ebe1ebb3 fix(deps): update rust crate reqwest to v0.12.13
All checks were successful
Continuous integration / Test Suite (push) Successful in 1m14s
Continuous integration / Trunk (push) Successful in 38s
Continuous integration / Check (push) Successful in 2m30s
Continuous integration / Rustfmt (push) Successful in 32s
Continuous integration / Disallow unused dependencies (push) Successful in 56s
Continuous integration / build (push) Successful in 2m17s
2025-03-11 20:47:18 +00:00
8 changed files with 235 additions and 157 deletions

335
Cargo.lock generated
View File

@@ -175,9 +175,9 @@ checksum = "71938f30533e4d95a6d17aa530939da3842c2ab6f4f84b9dae68447e4129f74a"
[[package]]
name = "async-graphql"
version = "7.0.15"
version = "7.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfff2b17d272a5e3e201feda444e2c24b011fa722951268d1bd8b9b5bc6dc449"
checksum = "d3ee559e72d983e7e04001ba3bf32e6b71c1d670595780723727fd8a29d36e87"
dependencies = [
"async-graphql-derive",
"async-graphql-parser",
@@ -191,8 +191,8 @@ dependencies = [
"futures-timer",
"futures-util",
"handlebars",
"http 1.2.0",
"indexmap 2.7.1",
"http 1.3.1",
"indexmap 2.8.0",
"log",
"mime",
"multer",
@@ -209,9 +209,9 @@ dependencies = [
[[package]]
name = "async-graphql-derive"
version = "7.0.15"
version = "7.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8e5d0c6697def2f79ccbd972fb106b633173a6066e430b480e1ff9376a7561a"
checksum = "29db05b624fb6352fc11bfe30c54ab1b16a1fe937d7c05a783f4e88ef1292b3b"
dependencies = [
"Inflector",
"async-graphql-parser",
@@ -226,9 +226,9 @@ dependencies = [
[[package]]
name = "async-graphql-parser"
version = "7.0.15"
version = "7.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8531ee6d292c26df31c18c565ff22371e7bdfffe7f5e62b69537db0b8fd554dc"
checksum = "4904895044116aab098ca82c6cec831ec43ed99efd04db9b70a390419bc88c5b"
dependencies = [
"async-graphql-value",
"pest",
@@ -238,9 +238,9 @@ dependencies = [
[[package]]
name = "async-graphql-rocket"
version = "7.0.15"
version = "7.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0e11abfbf871009deb4946acc4028931cfc1f59e4ca7a8d5a9528199f327e14"
checksum = "958be85f900a591a1c0c4d6b9b43b310a5c6cfb5de82cf164dddfeb9d5dfe411"
dependencies = [
"async-graphql",
"rocket",
@@ -251,12 +251,12 @@ dependencies = [
[[package]]
name = "async-graphql-value"
version = "7.0.15"
version = "7.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "741110dda927420a28fbc1c310543d3416f789a6ba96859c2c265843a0a96887"
checksum = "d0cde74de18e3a00c5dd5cfa002ab6f532e1a06c2a79ee6671e2fc353b400b92"
dependencies = [
"bytes 1.10.1",
"indexmap 2.7.1",
"indexmap 2.8.0",
"serde",
"serde_json",
]
@@ -285,9 +285,9 @@ dependencies = [
[[package]]
name = "async-trait"
version = "0.1.87"
version = "0.1.88"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d556ec1359574147ec0c4fc5eb525f3f23263a592b1a9c07e0a75b427de55c97"
checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
dependencies = [
"proc-macro2",
"quote",
@@ -365,7 +365,7 @@ dependencies = [
"axum-core",
"bytes 1.10.1",
"futures-util",
"http 1.2.0",
"http 1.3.1",
"http-body 1.0.1",
"http-body-util",
"itoa 1.0.15",
@@ -391,7 +391,7 @@ dependencies = [
"async-trait",
"bytes 1.10.1",
"futures-util",
"http 1.2.0",
"http 1.3.1",
"http-body 1.0.1",
"http-body-util",
"mime",
@@ -443,9 +443,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "base64ct"
version = "1.6.0"
version = "1.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3"
[[package]]
name = "binascii"
@@ -688,7 +688,7 @@ dependencies = [
"serde",
"sqlx",
"thiserror 2.0.12",
"tokio 1.44.0",
"tokio 1.44.1",
"tracing",
"urlencoding",
]
@@ -890,7 +890,7 @@ dependencies = [
"serde",
"serde_json",
"thread_local",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-stream",
"tonic",
"tracing",
@@ -1161,7 +1161,7 @@ checksum = "e28b595ccb4e7e622ce8b18ce101bb44dd5f48579cab690af88c1e55a690b9b9"
dependencies = [
"cssparser 0.31.2",
"html5ever 0.27.0",
"indexmap 2.7.1",
"indexmap 2.8.0",
"lru",
"pico-args",
"rayon",
@@ -1552,7 +1552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
dependencies = [
"libc",
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
@@ -1647,9 +1647,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.4"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "foreign-types"
@@ -1983,7 +1983,7 @@ dependencies = [
"futures-core",
"futures-sink",
"gloo-utils 0.2.0",
"http 1.2.0",
"http 1.3.1",
"js-sys",
"pin-project",
"serde",
@@ -2132,9 +2132,9 @@ dependencies = [
"futures-sink",
"futures-util",
"http 0.2.12",
"indexmap 2.7.1",
"indexmap 2.8.0",
"slab",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-util",
"tracing",
]
@@ -2150,10 +2150,10 @@ dependencies = [
"fnv",
"futures-core",
"futures-sink",
"http 1.2.0",
"indexmap 2.7.1",
"http 1.3.1",
"indexmap 2.8.0",
"slab",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-util",
"tracing",
]
@@ -2368,9 +2368,9 @@ dependencies = [
[[package]]
name = "http"
version = "1.2.0"
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea"
checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
dependencies = [
"bytes 1.10.1",
"fnv",
@@ -2407,18 +2407,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
dependencies = [
"bytes 1.10.1",
"http 1.2.0",
"http 1.3.1",
]
[[package]]
name = "http-body-util"
version = "0.1.2"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
dependencies = [
"bytes 1.10.1",
"futures-util",
"http 1.2.0",
"futures-core",
"http 1.3.1",
"http-body 1.0.1",
"pin-project-lite",
]
@@ -2443,9 +2443,9 @@ checksum = "5c3b1f728c459d27b12448862017b96ad4767b1ec2ec5e6434e99f1577f085b8"
[[package]]
name = "humantime"
version = "2.1.0"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f"
[[package]]
name = "hyper"
@@ -2495,7 +2495,7 @@ dependencies = [
"itoa 1.0.15",
"pin-project-lite",
"socket2",
"tokio 1.44.0",
"tokio 1.44.1",
"tower-service",
"tracing",
"want 0.3.1",
@@ -2511,14 +2511,14 @@ dependencies = [
"futures-channel",
"futures-util",
"h2 0.4.8",
"http 1.2.0",
"http 1.3.1",
"http-body 1.0.1",
"httparse",
"httpdate",
"itoa 1.0.15",
"pin-project-lite",
"smallvec 1.14.0",
"tokio 1.44.0",
"tokio 1.44.1",
"want 0.3.1",
]
@@ -2529,12 +2529,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2"
dependencies = [
"futures-util",
"http 1.2.0",
"http 1.3.1",
"hyper 1.6.0",
"hyper-util",
"rustls",
"rustls-pki-types",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-rustls",
"tower-service",
"webpki-roots",
@@ -2549,7 +2549,7 @@ dependencies = [
"hyper 1.6.0",
"hyper-util",
"pin-project-lite",
"tokio 1.44.0",
"tokio 1.44.1",
"tower-service",
]
@@ -2575,7 +2575,7 @@ dependencies = [
"bytes 1.10.1",
"hyper 0.14.32",
"native-tls",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-native-tls",
]
@@ -2590,7 +2590,7 @@ dependencies = [
"hyper 1.6.0",
"hyper-util",
"native-tls",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-native-tls",
"tower-service",
]
@@ -2604,12 +2604,12 @@ dependencies = [
"bytes 1.10.1",
"futures-channel",
"futures-util",
"http 1.2.0",
"http 1.3.1",
"http-body 1.0.1",
"hyper 1.6.0",
"pin-project-lite",
"socket2",
"tokio 1.44.0",
"tokio 1.44.1",
"tower-service",
"tracing",
]
@@ -2836,9 +2836,9 @@ dependencies = [
[[package]]
name = "indexmap"
version = "2.7.1"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652"
checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058"
dependencies = [
"equivalent",
"hashbrown 0.15.2",
@@ -2886,7 +2886,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
dependencies = [
"hermit-abi 0.5.0",
"libc",
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
@@ -2965,7 +2965,7 @@ dependencies = [
[[package]]
name = "letterbox-notmuch"
version = "0.10.1"
version = "0.10.6"
dependencies = [
"itertools 0.14.0",
"log",
@@ -2980,14 +2980,14 @@ dependencies = [
[[package]]
name = "letterbox-procmail2notmuch"
version = "0.10.1"
version = "0.10.6"
dependencies = [
"anyhow",
]
[[package]]
name = "letterbox-server"
version = "0.10.1"
version = "0.10.6"
dependencies = [
"ammonia",
"anyhow",
@@ -3010,7 +3010,6 @@ dependencies = [
"mailparse",
"maplit",
"memmap",
"opentelemetry",
"regex",
"reqwest",
"rocket",
@@ -3021,7 +3020,7 @@ dependencies = [
"sqlx",
"tantivy",
"thiserror 2.0.12",
"tokio 1.44.0",
"tokio 1.44.1",
"tracing",
"url",
"urlencoding",
@@ -3030,7 +3029,7 @@ dependencies = [
[[package]]
name = "letterbox-shared"
version = "0.10.1"
version = "0.10.6"
dependencies = [
"build-info",
"letterbox-notmuch",
@@ -3039,7 +3038,7 @@ dependencies = [
[[package]]
name = "letterbox-web"
version = "0.10.1"
version = "0.10.6"
dependencies = [
"build-info",
"build-info-build",
@@ -3073,9 +3072,9 @@ checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25"
[[package]]
name = "libc"
version = "0.2.170"
version = "0.2.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
[[package]]
name = "libgit2-sys"
@@ -3117,9 +3116,9 @@ dependencies = [
[[package]]
name = "libz-sys"
version = "1.1.21"
version = "1.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa"
checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d"
dependencies = [
"cc",
"libc",
@@ -3144,9 +3143,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]]
name = "linux-raw-sys"
version = "0.9.2"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db9c683daf087dc577b7506e9695b3d556a9f3849903fa28186283afd6809e9"
checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413"
[[package]]
name = "litemap"
@@ -3510,12 +3509,12 @@ dependencies = [
"bytes 1.10.1",
"encoding_rs",
"futures-util",
"http 1.2.0",
"http 1.3.1",
"httparse",
"memchr",
"mime",
"spin",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-util",
"version_check",
]
@@ -3691,9 +3690,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.20.3"
version = "1.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc"
[[package]]
name = "oneshot"
@@ -3779,7 +3778,7 @@ checksum = "a8863faf2910030d139fb48715ad5ff2f35029fc5f244f6d5f689ddcf4d26253"
dependencies = [
"async-trait",
"bytes 1.10.1",
"http 1.2.0",
"http 1.3.1",
"opentelemetry",
"reqwest",
"tracing",
@@ -3793,7 +3792,7 @@ checksum = "5bef114c6d41bea83d6dc60eb41720eedd0261a67af57b66dd2b84ac46c01d91"
dependencies = [
"async-trait",
"futures-core",
"http 1.2.0",
"http 1.3.1",
"opentelemetry",
"opentelemetry-http",
"opentelemetry-proto",
@@ -3801,7 +3800,7 @@ dependencies = [
"prost",
"reqwest",
"thiserror 2.0.12",
"tokio 1.44.0",
"tokio 1.44.1",
"tonic",
"tracing",
]
@@ -3851,7 +3850,7 @@ dependencies = [
"rand 0.8.5",
"serde_json",
"thiserror 2.0.12",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-stream",
"tracing",
]
@@ -4418,7 +4417,7 @@ dependencies = [
"rustls",
"socket2",
"thiserror 2.0.12",
"tokio 1.44.0",
"tokio 1.44.1",
"tracing",
]
@@ -4453,14 +4452,14 @@ dependencies = [
"once_cell",
"socket2",
"tracing",
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
name = "quote"
version = "1.0.39"
version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801"
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
dependencies = [
"proc-macro2",
]
@@ -4723,9 +4722,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
[[package]]
name = "reqwest"
version = "0.12.12"
version = "0.12.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da"
checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
dependencies = [
"base64 0.22.1",
"bytes 1.10.1",
@@ -4734,7 +4733,7 @@ dependencies = [
"futures-core",
"futures-util",
"h2 0.4.8",
"http 1.2.0",
"http 1.3.1",
"http-body 1.0.1",
"http-body-util",
"hyper 1.6.0",
@@ -4758,7 +4757,7 @@ dependencies = [
"serde_urlencoded",
"sync_wrapper",
"system-configuration",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-native-tls",
"tokio-rustls",
"tower 0.5.2",
@@ -4773,9 +4772,9 @@ dependencies = [
[[package]]
name = "ring"
version = "0.17.13"
version = "0.17.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee"
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
dependencies = [
"cc",
"cfg-if 1.0.0",
@@ -4799,7 +4798,7 @@ dependencies = [
"either",
"figment",
"futures 0.3.31",
"indexmap 2.7.1",
"indexmap 2.8.0",
"log",
"memchr",
"multer",
@@ -4815,7 +4814,7 @@ dependencies = [
"state",
"tempfile",
"time 0.3.39",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-stream",
"tokio-util",
"ubyte",
@@ -4831,7 +4830,7 @@ checksum = "575d32d7ec1a9770108c879fc7c47815a80073f96ca07ff9525a94fcede1dd46"
dependencies = [
"devise",
"glob",
"indexmap 2.7.1",
"indexmap 2.8.0",
"proc-macro2",
"quote",
"rocket_http",
@@ -4868,7 +4867,7 @@ dependencies = [
"futures 0.3.31",
"http 0.2.12",
"hyper 0.14.32",
"indexmap 2.7.1",
"indexmap 2.8.0",
"log",
"memchr",
"pear",
@@ -4880,15 +4879,15 @@ dependencies = [
"stable-pattern",
"state",
"time 0.3.39",
"tokio 1.44.0",
"tokio 1.44.1",
"uncased",
]
[[package]]
name = "rsa"
version = "0.9.7"
version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519"
checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b"
dependencies = [
"const-oid",
"digest 0.10.7",
@@ -4951,7 +4950,7 @@ dependencies = [
"rustc_version 0.4.1",
"serde",
"serde_json",
"tokio 1.44.0",
"tokio 1.44.1",
"xml-rs",
]
@@ -4989,7 +4988,7 @@ dependencies = [
"serde",
"serde_json",
"shlex 1.3.0",
"tokio 1.44.0",
"tokio 1.44.1",
"zeroize",
]
@@ -5065,7 +5064,7 @@ dependencies = [
"rustc_version 0.4.1",
"serde",
"sha2 0.9.9",
"tokio 1.44.0",
"tokio 1.44.1",
]
[[package]]
@@ -5136,20 +5135,20 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys 0.4.15",
"windows-sys 0.52.0",
"windows-sys 0.59.0",
]
[[package]]
name = "rustix"
version = "1.0.1"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dade4812df5c384711475be5fcd8c162555352945401aed22a35bffeab61f657"
checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825"
dependencies = [
"bitflags 2.9.0",
"errno",
"libc",
"linux-raw-sys 0.9.2",
"windows-sys 0.52.0",
"linux-raw-sys 0.9.3",
"windows-sys 0.59.0",
]
[[package]]
@@ -5728,7 +5727,7 @@ dependencies = [
"futures-util",
"hashbrown 0.15.2",
"hashlink",
"indexmap 2.7.1",
"indexmap 2.8.0",
"log",
"memchr",
"once_cell",
@@ -5739,7 +5738,7 @@ dependencies = [
"smallvec 1.14.0",
"thiserror 2.0.12",
"time 0.3.39",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-stream",
"tracing",
"url",
@@ -5780,7 +5779,7 @@ dependencies = [
"sqlx-sqlite",
"syn 2.0.100",
"tempfile",
"tokio 1.44.0",
"tokio 1.44.1",
"url",
]
@@ -6229,16 +6228,15 @@ dependencies = [
[[package]]
name = "tempfile"
version = "3.18.0"
version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c317e0a526ee6120d8dabad239c8dadca62b24b6f168914bbbc8e2fb1f0e567"
checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600"
dependencies = [
"cfg-if 1.0.0",
"fastrand",
"getrandom 0.3.1",
"once_cell",
"rustix 1.0.1",
"windows-sys 0.52.0",
"rustix 1.0.2",
"windows-sys 0.59.0",
]
[[package]]
@@ -6395,9 +6393,9 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.44.0"
version = "1.44.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9975ea0f48b5aa3972bf2d888c238182458437cc2a19374b81b25cdf1023fb3a"
checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a"
dependencies = [
"backtrace",
"bytes 1.10.1",
@@ -6493,7 +6491,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
dependencies = [
"native-tls",
"tokio 1.44.0",
"tokio 1.44.1",
]
[[package]]
@@ -6541,7 +6539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
dependencies = [
"rustls",
"tokio 1.44.0",
"tokio 1.44.1",
]
[[package]]
@@ -6569,7 +6567,7 @@ checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
dependencies = [
"futures-core",
"pin-project-lite",
"tokio 1.44.0",
"tokio 1.44.1",
]
[[package]]
@@ -6660,16 +6658,16 @@ dependencies = [
[[package]]
name = "tokio-util"
version = "0.7.13"
version = "0.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078"
checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034"
dependencies = [
"bytes 1.10.1",
"futures-core",
"futures-io",
"futures-sink",
"pin-project-lite",
"tokio 1.44.0",
"tokio 1.44.1",
]
[[package]]
@@ -6699,7 +6697,7 @@ version = "0.22.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
dependencies = [
"indexmap 2.7.1",
"indexmap 2.8.0",
"serde",
"serde_spanned",
"toml_datetime",
@@ -6718,7 +6716,7 @@ dependencies = [
"base64 0.22.1",
"bytes 1.10.1",
"h2 0.4.8",
"http 1.2.0",
"http 1.3.1",
"http-body 1.0.1",
"http-body-util",
"hyper 1.6.0",
@@ -6730,7 +6728,7 @@ dependencies = [
"rustls-native-certs",
"rustls-pemfile",
"socket2",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-rustls",
"tokio-stream",
"tower 0.4.13",
@@ -6775,7 +6773,7 @@ dependencies = [
"pin-project-lite",
"rand 0.8.5",
"slab",
"tokio 1.44.0",
"tokio 1.44.1",
"tokio-util",
"tower-layer",
"tower-service",
@@ -6792,7 +6790,7 @@ dependencies = [
"futures-util",
"pin-project-lite",
"sync_wrapper",
"tokio 1.44.0",
"tokio 1.44.1",
"tower-layer",
"tower-service",
]
@@ -7054,9 +7052,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
version = "1.15.1"
version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0f540e3240398cce6128b64ba83fdbdd86129c16a3aa1a3a252efd66eb3d587"
checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
dependencies = [
"getrandom 0.3.1",
"js-sys",
@@ -7349,32 +7347,31 @@ checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3"
[[package]]
name = "windows-registry"
version = "0.2.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3"
dependencies = [
"windows-result",
"windows-strings",
"windows-targets 0.52.6",
"windows-targets 0.53.0",
]
[[package]]
name = "windows-result"
version = "0.2.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189"
dependencies = [
"windows-targets 0.52.6",
"windows-link",
]
[[package]]
name = "windows-strings"
version = "0.1.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
dependencies = [
"windows-result",
"windows-targets 0.52.6",
"windows-link",
]
[[package]]
@@ -7428,13 +7425,29 @@ dependencies = [
"windows_aarch64_gnullvm 0.52.6",
"windows_aarch64_msvc 0.52.6",
"windows_i686_gnu 0.52.6",
"windows_i686_gnullvm",
"windows_i686_gnullvm 0.52.6",
"windows_i686_msvc 0.52.6",
"windows_x86_64_gnu 0.52.6",
"windows_x86_64_gnullvm 0.52.6",
"windows_x86_64_msvc 0.52.6",
]
[[package]]
name = "windows-targets"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b"
dependencies = [
"windows_aarch64_gnullvm 0.53.0",
"windows_aarch64_msvc 0.53.0",
"windows_i686_gnu 0.53.0",
"windows_i686_gnullvm 0.53.0",
"windows_i686_msvc 0.53.0",
"windows_x86_64_gnu 0.53.0",
"windows_x86_64_gnullvm 0.53.0",
"windows_x86_64_msvc 0.53.0",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"
@@ -7447,6 +7460,12 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
@@ -7459,6 +7478,12 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_aarch64_msvc"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
@@ -7471,12 +7496,24 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnu"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_gnullvm"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
@@ -7489,6 +7526,12 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_i686_msvc"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
@@ -7501,6 +7544,12 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnu"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
@@ -7513,6 +7562,12 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
@@ -7526,10 +7581,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
version = "0.7.3"
name = "windows_x86_64_msvc"
version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1"
checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
[[package]]
name = "winnow"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36"
dependencies = [
"memchr",
]
@@ -7587,7 +7648,7 @@ dependencies = [
"opentelemetry-resource-detectors",
"opentelemetry_sdk",
"thiserror 2.0.12",
"tokio 1.44.0",
"tokio 1.44.1",
"tracing",
"tracing-appender",
"tracing-core",

View File

@@ -8,7 +8,7 @@ authors = ["Bill Thiede <git@xinu.tv>"]
edition = "2021"
license = "UNLICENSED"
publish = ["xinu"]
version = "0.10.1"
version = "0.10.6"
repository = "https://git.z.xinu.tv/wathiede/letterbox"
[profile.dev]

View File

@@ -30,7 +30,6 @@ lol_html = "2.0.0"
mailparse = "0.16.0"
maplit = "1.0.2"
memmap = "0.7.0"
opentelemetry = "0.28.0"
regex = "1.11.1"
reqwest = { version = "0.12.7", features = ["blocking"] }
rocket = { version = "0.5.0-rc.2", features = ["json"] }
@@ -48,8 +47,8 @@ urlencoding = "2.1.3"
#xtracing = { path = "../../xtracing" }
#xtracing = { git = "http://git-private.h.xinu.tv/wathiede/xtracing.git" }
xtracing = { version = "0.3.0", registry = "xinu" }
letterbox-notmuch = { version = "0.10.1", path = "../notmuch", registry = "xinu" }
letterbox-shared = { version = "0.10.1", path = "../shared", registry = "xinu" }
letterbox-notmuch = { version = "0.10.6", path = "../notmuch", registry = "xinu" }
letterbox-shared = { version = "0.10.6", path = "../shared", registry = "xinu" }
[build-dependencies]
build-info-build = "0.0.40"

View File

@@ -0,0 +1,20 @@
-- Bad examples:
-- https://nzbfinder.ws/getnzb/d2c3e5a08abadd985dccc6a574122892030b6a9a.nzb&i=95972&r=b55082d289937c050dedc203c9653850
-- https://nzbfinder.ws/getnzb?id=45add174-7da4-4445-bf2b-a67dbbfc07fe.nzb&r=b55082d289937c050dedc203c9653850
-- https://nzbfinder.ws/api/v1/getnzb?id=82486020-c192-4fa0-a7e7-798d7d72e973.nzb&r=b55082d289937c050dedc203c9653850
UPDATE nzb_posts
SET link =
regexp_replace(
regexp_replace(
regexp_replace(
link,
'https://nzbfinder.ws/getnzb/',
'https://nzbfinder.ws/api/v1/getnzb?id='
),
'https://nzbfinder.ws/getnzb',
'https://nzbfinder.ws/api/v1/getnzb'
),
'&r=',
'&apikey='
)
;

View File

@@ -318,13 +318,16 @@ impl<'c> Transformer for SlurpContents<'c> {
} else {
let resp = reqwest::get(link.as_str()).await?;
let status = resp.status();
if status.is_server_error() || retryable_status.contains(&status) {
return Err(TransformError::RetryableHttpStatusError(
status,
link.to_string(),
));
if status.is_server_error() {
error!("status error for {link}: {status}");
return Ok(html.to_string());
}
if retryable_status.contains(&status) {
error!("retryable error for {link}: {status}");
return Ok(html.to_string());
}
if !status.is_success() {
error!("unsuccessful for {link}: {status}");
return Ok(html.to_string());
}
let body = resp.text().await?;

View File

@@ -12,5 +12,5 @@ version.workspace = true
[dependencies]
build-info = "0.0.40"
letterbox-notmuch = { version = "0.10.1", path = "../notmuch", registry = "xinu" }
letterbox-notmuch = { version = "0.10.6", path = "../notmuch", registry = "xinu" }
serde = { version = "1.0.147", features = ["derive"] }

View File

@@ -33,8 +33,8 @@ wasm-bindgen = "=0.2.100"
uuid = { version = "1.13.1", features = [
"js",
] } # direct dep to set js feature, prevents Rng issues
letterbox-shared = { version = "0.10.1", path = "../shared", registry = "xinu" }
letterbox-notmuch = { version = "0.10.1", path = "../notmuch", registry = "xinu" }
letterbox-shared = { version = "0.10.6", path = "../shared", registry = "xinu" }
letterbox-notmuch = { version = "0.10.6", path = "../notmuch", registry = "xinu" }
seed_hooks = { version = "0.4.0", registry = "xinu" }
strum_macros = "0.27.1"

View File

@@ -118,7 +118,7 @@ fn on_url_changed(old: &Url, mut new: Url) -> Msg {
// `update` describes how to handle each `Msg`.
pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
debug!("update({})", msg);
info!("update({})", msg);
match msg {
Msg::Noop => {}
Msg::RefreshStart => {
@@ -293,7 +293,6 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
});
}
Msg::FrontPageResult(Err(e)) => {
orders.send_msg(Msg::Reload);
error!("error FrontPageResult: {e:?}");
}
Msg::FrontPageResult(Ok(graphql_client::Response {
@@ -301,7 +300,6 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
errors: None,
..
})) => {
orders.send_msg(Msg::Reload);
error!("FrontPageResult no data or errors, should not happen");
}
Msg::FrontPageResult(Ok(graphql_client::Response {
@@ -309,7 +307,6 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
errors: Some(e),
..
})) => {
orders.send_msg(Msg::Reload);
error!("FrontPageResult error: {e:?}");
}
Msg::FrontPageResult(Ok(graphql_client::Response {
@@ -405,7 +402,6 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
orders.send_msg(Msg::WindowScrolled);
}
Msg::ShowThreadResult(bad) => {
orders.send_msg(Msg::Reload);
error!("show_thread_query error: {bad:#?}");
}
Msg::CatchupRequest { query } => {
@@ -438,7 +434,6 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
}
}
Msg::CatchupResult(bad) => {
orders.send_msg(Msg::Reload);
error!("catchup_query error: {bad:#?}");
}
Msg::SelectionSetNone => {
@@ -599,12 +594,12 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
model.read_completion_ratio = ratio;
}
Msg::UpdateServerVersion(version) => {
if version != model.versions.client {
// Only git versions contain dash, don't autoreload there
if !version.contains('-') && version != model.versions.client {
warn!(
"Server ({}) and client ({}) version mismatch, reloading",
version, model.versions.client
);
#[cfg(not(debug_assertions))]
orders.send_msg(Msg::Reload);
}
model.versions.server = Some(version);