Skip to main content

max / ripgrow

build: depend on supernote-push by git, not a path out of the repo ripgrow is public and MIT, but the workspace pointed supernote-push at ../../Libraries/supernote-push. That only resolves inside the ~/Code layout, so a clone anywhere else failed to load the manifest before it could compile a line. Point it at the public mnw URL instead, pinned by rev. Also correct the workspace repository field: it named ~maxjmath on sr.ht, which is not the account (the srht remote is ~maxmj), and per the remote policy the public face is makenot.work rather than an srht URL. Re-resolving picks up a stale lockfile's worth of updates in supernote-push's tree, notably ureq 2 -> 3 and mdns-sd 0.11 -> 0.20. It compiles, but the Supernote push path is not exercised by any test, so the `p` key wants a live run on mbp before it is trusted.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-27 15:38 UTC
Signed with PGP, not checked
Commit: fcb3631fb414827b1bb660061852d230375efbab
Parent: 3210d59
2 files changed, +81 insertions, -239 deletions
M Cargo.lock +75 -237
@@ -35,12 +35,6 @@
35 35 source = "registry+https://github.com/rust-lang/crates.io-index"
36 36 checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
37 37
38 - [[package]]
39 - name = "bitflags"
40 - version = "1.3.2"
41 - source = "registry+https://github.com/rust-lang/crates.io-index"
42 - checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
43 -
44 38 [[package]]
45 39 name = "bitflags"
46 40 version = "2.13.1"
@@ -53,6 +47,12 @@
53 47 source = "registry+https://github.com/rust-lang/crates.io-index"
54 48 checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
55 49
50 + [[package]]
51 + name = "bytes"
52 + version = "1.12.1"
53 + source = "registry+https://github.com/rust-lang/crates.io-index"
54 + checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
55 +
56 56 [[package]]
57 57 name = "cassowary"
58 58 version = "0.3.0"
@@ -110,15 +110,6 @@
110 110 "static_assertions",
111 111 ]
112 112
113 - [[package]]
114 - name = "concurrent-queue"
115 - version = "2.5.0"
116 - source = "registry+https://github.com/rust-lang/crates.io-index"
117 - checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
118 - dependencies = [
119 - "crossbeam-utils",
120 - ]
121 -
122 113 [[package]]
123 114 name = "convert_case"
124 115 version = "0.10.0"
@@ -143,19 +134,13 @@
143 134 "cfg-if",
144 135 ]
145 136
146 - [[package]]
147 - name = "crossbeam-utils"
148 - version = "0.8.22"
149 - source = "registry+https://github.com/rust-lang/crates.io-index"
150 - checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
151 -
152 137 [[package]]
153 138 name = "crossterm"
154 139 version = "0.28.1"
155 140 source = "registry+https://github.com/rust-lang/crates.io-index"
156 141 checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
157 142 dependencies = [
158 - "bitflags 2.13.1",
143 + "bitflags",
159 144 "crossterm_winapi",
160 145 "mio",
161 146 "parking_lot",
@@ -171,7 +156,7 @@
171 156 source = "registry+https://github.com/rust-lang/crates.io-index"
172 157 checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b"
173 158 dependencies = [
174 - "bitflags 2.13.1",
159 + "bitflags",
175 160 "crossterm_winapi",
176 161 "derive_more",
177 162 "document-features",
@@ -269,17 +254,6 @@
269 254 "windows-sys 0.61.2",
270 255 ]
271 256
272 - [[package]]
273 - name = "displaydoc"
274 - version = "0.2.6"
275 - source = "registry+https://github.com/rust-lang/crates.io-index"
276 - checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
277 - dependencies = [
278 - "proc-macro2",
279 - "quote",
280 - "syn",
281 - ]
282 -
283 257 [[package]]
284 258 name = "document-features"
285 259 version = "0.2.12"
@@ -323,6 +297,12 @@
323 297 source = "registry+https://github.com/rust-lang/crates.io-index"
324 298 checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
325 299
300 + [[package]]
301 + name = "fastrand"
302 + version = "2.5.0"
303 + source = "registry+https://github.com/rust-lang/crates.io-index"
304 + checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
305 +
326 306 [[package]]
327 307 name = "find-msvc-tools"
328 308 version = "0.1.9"
@@ -341,9 +321,9 @@
341 321
342 322 [[package]]
343 323 name = "flume"
344 - version = "0.11.1"
324 + version = "0.12.0"
345 325 source = "registry+https://github.com/rust-lang/crates.io-index"
346 - checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"
326 + checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be"
347 327 dependencies = [
348 328 "futures-core",
349 329 "futures-sink",
@@ -356,15 +336,6 @@
356 336 source = "registry+https://github.com/rust-lang/crates.io-index"
357 337 checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
358 338
359 - [[package]]
360 - name = "form_urlencoded"
361 - version = "1.2.2"
362 - source = "registry+https://github.com/rust-lang/crates.io-index"
363 - checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
364 - dependencies = [
365 - "percent-encoding",
366 - ]
367 -
368 339 [[package]]
369 340 name = "futures-core"
370 341 version = "0.3.33"
@@ -438,6 +409,22 @@
438 409 source = "registry+https://github.com/rust-lang/crates.io-index"
439 410 checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
440 411
412 + [[package]]
413 + name = "http"
414 + version = "1.4.2"
415 + source = "registry+https://github.com/rust-lang/crates.io-index"
416 + checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
417 + dependencies = [
418 + "bytes",
419 + "itoa",
420 + ]
421 +
422 + [[package]]
423 + name = "httparse"
424 + version = "1.10.1"
425 + source = "registry+https://github.com/rust-lang/crates.io-index"
426 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
427 +
441 428 [[package]]
442 429 name = "iana-time-zone"
443 430 version = "0.1.65"
@@ -462,123 +449,20 @@
462 449 "cc",
463 450 ]
464 451
465 - [[package]]
466 - name = "icu_collections"
467 - version = "2.2.0"
468 - source = "registry+https://github.com/rust-lang/crates.io-index"
469 - checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c"
470 - dependencies = [
471 - "displaydoc",
472 - "potential_utf",
473 - "utf8_iter",
474 - "yoke",
475 - "zerofrom",
476 - "zerovec",
477 - ]
478 -
479 - [[package]]
480 - name = "icu_locale_core"
481 - version = "2.2.0"
482 - source = "registry+https://github.com/rust-lang/crates.io-index"
483 - checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29"
484 - dependencies = [
485 - "displaydoc",
486 - "litemap",
487 - "tinystr",
488 - "writeable",
489 - "zerovec",
490 - ]
491 -
492 - [[package]]
493 - name = "icu_normalizer"
494 - version = "2.2.0"
495 - source = "registry+https://github.com/rust-lang/crates.io-index"
496 - checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4"
497 - dependencies = [
498 - "icu_collections",
499 - "icu_normalizer_data",
500 - "icu_properties",
501 - "icu_provider",
502 - "smallvec",
503 - "zerovec",
504 - ]
505 -
506 - [[package]]
507 - name = "icu_normalizer_data"
508 - version = "2.2.0"
509 - source = "registry+https://github.com/rust-lang/crates.io-index"
510 - checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38"
511 -
512 - [[package]]
513 - name = "icu_properties"
514 - version = "2.2.0"
515 - source = "registry+https://github.com/rust-lang/crates.io-index"
516 - checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de"
517 - dependencies = [
518 - "icu_collections",
519 - "icu_locale_core",
520 - "icu_properties_data",
521 - "icu_provider",
522 - "zerotrie",
523 - "zerovec",
524 - ]
525 -
526 - [[package]]
527 - name = "icu_properties_data"
528 - version = "2.2.0"
529 - source = "registry+https://github.com/rust-lang/crates.io-index"
530 - checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14"
531 -
532 - [[package]]
533 - name = "icu_provider"
534 - version = "2.2.0"
535 - source = "registry+https://github.com/rust-lang/crates.io-index"
536 - checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421"
537 - dependencies = [
538 - "displaydoc",
539 - "icu_locale_core",
540 - "writeable",
541 - "yoke",
542 - "zerofrom",
543 - "zerotrie",
544 - "zerovec",
545 - ]
546 -
547 452 [[package]]
548 453 name = "ident_case"
549 454 version = "1.0.1"
550 455 source = "registry+https://github.com/rust-lang/crates.io-index"
551 456 checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
552 457
553 - [[package]]
554 - name = "idna"
555 - version = "1.1.0"
556 - source = "registry+https://github.com/rust-lang/crates.io-index"
557 - checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
558 - dependencies = [
559 - "idna_adapter",
560 - "smallvec",
561 - "utf8_iter",
562 - ]
563 -
564 - [[package]]
565 - name = "idna_adapter"
566 - version = "1.2.2"
567 - source = "registry+https://github.com/rust-lang/crates.io-index"
568 - checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714"
569 - dependencies = [
570 - "icu_normalizer",
571 - "icu_properties",
572 - ]
573 -
574 458 [[package]]
575 459 name = "if-addrs"
576 - version = "0.13.4"
460 + version = "0.15.0"
577 461 source = "registry+https://github.com/rust-lang/crates.io-index"
578 - checksum = "69b2eeee38fef3aa9b4cc5f1beea8a2444fc00e7377cafae396de3f5c2065e24"
462 + checksum = "c0a05c691e1fae256cf7013d99dad472dc52d5543322761f83ec8d47eab40d2b"
579 463 dependencies = [
580 464 "libc",
581 - "windows-sys 0.59.0",
465 + "windows-sys 0.61.2",
582 466 ]
583 467
584 468 [[package]]
@@ -677,12 +561,6 @@
677 561 source = "registry+https://github.com/rust-lang/crates.io-index"
678 562 checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
679 563
680 - [[package]]
681 - name = "litemap"
682 - version = "0.8.2"
683 - source = "registry+https://github.com/rust-lang/crates.io-index"
684 - checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
685 -
686 564 [[package]]
687 565 name = "litrs"
688 566 version = "1.0.0"
@@ -715,14 +593,16 @@
715 593
716 594 [[package]]
717 595 name = "mdns-sd"
718 - version = "0.11.5"
596 + version = "0.20.3"
719 597 source = "registry+https://github.com/rust-lang/crates.io-index"
720 - checksum = "8fe7c11a1eb3cfbfcf702d1601c1f5f4c102cdc8665b8a557783ef634741676e"
598 + checksum = "86dbb9f00c8c367f75ed3a775d3eb31d0375a72f58275ef64a1bc53c255a2ce2"
721 599 dependencies = [
600 + "fastrand",
722 601 "flume",
723 602 "if-addrs",
724 603 "log",
725 - "polling",
604 + "mio",
605 + "socket-pktinfo",
726 606 "socket2",
727 607 ]
728 608
@@ -822,31 +702,6 @@
822 702 source = "registry+https://github.com/rust-lang/crates.io-index"
823 703 checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
824 704
825 - [[package]]
826 - name = "polling"
827 - version = "2.8.0"
828 - source = "registry+https://github.com/rust-lang/crates.io-index"
829 - checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
830 - dependencies = [
831 - "autocfg",
832 - "bitflags 1.3.2",
833 - "cfg-if",
834 - "concurrent-queue",
835 - "libc",
836 - "log",
837 - "pin-project-lite",
838 - "windows-sys 0.48.0",
839 - ]
840 -
841 - [[package]]
842 - name = "potential_utf"
843 - version = "0.1.5"
844 - source = "registry+https://github.com/rust-lang/crates.io-index"
845 - checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564"
846 - dependencies = [
847 - "zerovec",
848 - ]
849 -
850 705 [[package]]
851 706 name = "proc-macro2"
852 707 version = "1.0.106"
@@ -871,7 +726,7 @@
871 726 source = "registry+https://github.com/rust-lang/crates.io-index"
872 727 checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b"
873 728 dependencies = [
874 - "bitflags 2.13.1",
729 + "bitflags",
875 730 "cassowary",
876 731 "compact_str",
877 732 "crossterm 0.28.1",
@@ -892,7 +747,7 @@
892 747 source = "registry+https://github.com/rust-lang/crates.io-index"
893 748 checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
894 749 dependencies = [
895 - "bitflags 2.13.1",
750 + "bitflags",
896 751 ]
897 752
898 753 [[package]]
@@ -951,7 +806,7 @@
951 806 source = "registry+https://github.com/rust-lang/crates.io-index"
952 807 checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f"
953 808 dependencies = [
954 - "bitflags 2.13.1",
809 + "bitflags",
955 810 "fallible-iterator",
956 811 "fallible-streaming-iterator",
957 812 "hashlink",
@@ -974,7 +829,7 @@
974 829 source = "registry+https://github.com/rust-lang/crates.io-index"
975 830 checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
976 831 dependencies = [
977 - "bitflags 2.13.1",
832 + "bitflags",
978 833 "errno",
979 834 "libc",
980 835 "linux-raw-sys 0.4.15",
@@ -987,7 +842,7 @@
987 842 source = "registry+https://github.com/rust-lang/crates.io-index"
988 843 checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
989 844 dependencies = [
990 - "bitflags 2.13.1",
845 + "bitflags",
991 846 "errno",
992 847 "libc",
993 848 "linux-raw-sys 0.12.1",
@@ -1161,13 +1016,24 @@
1161 1016 checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
1162 1017
1163 1018 [[package]]
1164 - name = "socket2"
1165 - version = "0.5.10"
1019 + name = "socket-pktinfo"
1020 + version = "0.4.0"
1166 1021 source = "registry+https://github.com/rust-lang/crates.io-index"
1167 - checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
1022 + checksum = "3e8e43b4bdce7cff8a4d3f8025ee38fce5ca138fab868ebbf9529c81328fbf9d"
1168 1023 dependencies = [
1169 1024 "libc",
1170 - "windows-sys 0.52.0",
1025 + "socket2",
1026 + "windows-sys 0.61.2",
1027 + ]
1028 +
1029 + [[package]]
1030 + name = "socket2"
1031 + version = "0.6.5"
1032 + source = "registry+https://github.com/rust-lang/crates.io-index"
1033 + checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
1034 + dependencies = [
1035 + "libc",
1036 + "windows-sys 0.61.2",
1171 1037 ]
1172 1038
1173 1039 [[package]]
@@ -1179,12 +1045,6 @@
1179 1045 "lock_api",
1180 1046 ]
1181 1047
1182 - [[package]]
1183 - name = "stable_deref_trait"
1184 - version = "1.2.1"
1185 - source = "registry+https://github.com/rust-lang/crates.io-index"
1186 - checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
1187 -
1188 1048 [[package]]
1189 1049 name = "static_assertions"
1190 1050 version = "1.1.0"
@@ -1228,6 +1088,7 @@
1228 1088 [[package]]
1229 1089 name = "supernote-push"
1230 1090 version = "0.1.0"
1091 + source = "git+https://makenot.work/git/max/supernote-push.git?rev=6bdbff1e76736f1c2b5b09d7f74f5ce23e9a308b#6bdbff1e76736f1c2b5b09d7f74f5ce23e9a308b"
1231 1092 dependencies = [
1232 1093 "mdns-sd",
1233 1094 "percent-encoding",
@@ -1248,17 +1109,6 @@
1248 1109 "unicode-ident",
1249 1110 ]
1250 1111
1251 - [[package]]
1252 - name = "synstructure"
1253 - version = "0.13.2"
1254 - source = "registry+https://github.com/rust-lang/crates.io-index"
1255 - checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
1256 - dependencies = [
1257 - "proc-macro2",
1258 - "quote",
1259 - "syn",
1260 - ]
1261 -
1262 1112 [[package]]
1263 1113 name = "thiserror"
1264 1114 version = "2.0.18"
@@ -1279,16 +1129,6 @@
1279 1129 "syn",
1280 1130 ]
1281 1131
1282 - [[package]]
1283 - name = "tinystr"
1284 - version = "0.8.3"
1285 - source = "registry+https://github.com/rust-lang/crates.io-index"
1286 - checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d"
1287 - dependencies = [
1288 - "displaydoc",
1289 - "zerovec",
1290 - ]
1291 -
1292 1132 [[package]]
1293 1133 name = "toml"
1294 1134 version = "0.8.23"
@@ -1373,39 +1213,38 @@
1373 1213
1374 1214 [[package]]
1375 1215 name = "ureq"
1376 - version = "2.12.1"
1216 + version = "3.3.0"
1377 1217 source = "registry+https://github.com/rust-lang/crates.io-index"
1378 - checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d"
1218 + checksum = "dea7109cdcd5864d4eeb1b58a1648dc9bf520360d7af16ec26d0a9354bafcfc0"
1379 1219 dependencies = [
1380 1220 "base64",
1381 1221 "flate2",
1382 1222 "log",
1383 - "once_cell",
1223 + "percent-encoding",
1384 1224 "rustls",
1385 1225 "rustls-pki-types",
1386 - "serde",
1387 - "serde_json",
1388 - "url",
1389 - "webpki-roots 0.26.11",
1226 + "ureq-proto",
1227 + "utf8-zero",
1228 + "webpki-roots",
1390 1229 ]
1391 1230
1392 1231 [[package]]
1393 - name = "url"
1394 - version = "2.5.8"
1232 + name = "ureq-proto"
1233 + version = "0.6.0"
1395 1234 source = "registry+https://github.com/rust-lang/crates.io-index"
1396 - checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed"
1235 + checksum = "e994ba84b0bd1b1b0cf92878b7ef898a5c1760108fe7b6010327e274917a808c"
1397 1236 dependencies = [
1398 - "form_urlencoded",
1399 - "idna",
1400 - "percent-encoding",
1401 - "serde",
1237 + "base64",
1238 + "http",
1239 + "httparse",
1240 + "log",
1402 1241 ]
1403 1242
1404 1243 [[package]]
1405 - name = "utf8_iter"
1406 - version = "1.0.4"
1244 + name = "utf8-zero"
Lines truncated
M Cargo.toml +6 -2
@@ -6,7 +6,7 @@
6 6 version = "0.1.0"
7 7 edition = "2024"
8 8 license-file = "LICENSE"
9 - repository = "https://git.sr.ht/~maxjmath/ripgrow"
9 + repository = "https://makenot.work/git/max/ripgrow"
10 10
11 11 [workspace.dependencies]
12 12 ripgrow-core = { path = "crates/ripgrow-core" }
@@ -16,6 +16,10 @@
16 16 dirs = "6"
17 17 ratatui = "0.29"
18 18 crossterm = "0.29"
19 - supernote-push = { path = "../../Libraries/supernote-push" }
19 + # Git rather than a path dep: ripgrow is a public repo, and a relative path
20 + # out to ../../Libraries only resolves inside Max's ~/Code layout, so a clone
21 + # anywhere else could not even load the manifest. Pinned by rev so a build is
22 + # reproducible; bump deliberately.
23 + supernote-push = { git = "https://makenot.work/git/max/supernote-push.git", rev = "6bdbff1e76736f1c2b5b09d7f74f5ce23e9a308b" }
20 24 serde = { version = "1", features = ["derive"] }
21 25 toml = "0.8"