Skip to main content

max / makenotwork

Take makeover-layout 0.36.0 and the renderers that follow it makeover-layout 0.36.0 (Tone::Neutral answers `content`; `Field::note`), makeover-webview 0.62.0, makeover-build 0.55.0, makeover-tui 0.36.0 and quasi 0.71.0. Nothing here changes visually. The server's sortable headings are real `<th>` in a real `<table>`, where `display: table-cell` is what the user agent sets anyway, so makeover-webview's scoping of that rule under `.table` regenerates to the same result. `Tone::Neutral` reaches no site here that was drawing a figure value. DEAD_VOCABULARY_HIGH_WATER goes 45 to 46. `.form-note` arrives dead by construction, the same way `.form-hint` and `.form-error` did on the 0.59.0 bump: it is markup in a dependency and this server spells no field messages of its own. It stops being dead when a described screen here carries a note.
Author: Max Johnson <me@maxj.phd> · 2026-08-27 23:30 UTC
Signed with PGP, not checked
Commit: 76028427541357b64fe7c7fe963bc402804ff28d
Parent: 44aa868
5 files changed, +54 insertions, -47 deletions
@@ -18,7 +18,7 @@
18 18 # `makeover-tui` is the terminal renderer, and its `theme` feature is the
19 19 # intents-to-ratatui-colours mapping. No hex value is written in this crate.
20 20 makeover = "3.0"
21 - makeover-tui = { version = "0.35.0", features = ["theme"] }
21 + makeover-tui = { version = "0.36.0", features = ["theme"] }
22 22 tokio = { version = "1.50.0", features = ["macros", "rt-multi-thread", "time", "sync", "signal", "fs"] }
23 23 # `rustls-no-provider` rather than `rustls`: the latter is an alias for
24 24 # `__rustls-aws-lc-rs`, which links a C crypto backend. The provider is ring
@@ -15,7 +15,7 @@
15 15 # selection; `makeover-tui` is the terminal renderer, and its `theme` feature is
16 16 # the intents-to-ratatui-colours mapping. No colour is named in this crate.
17 17 makeover = "3.0"
18 - makeover-tui = { version = "0.35.0", features = ["theme"] }
18 + makeover-tui = { version = "0.36.0", features = ["theme"] }
19 19 tokio = { version = "1", features = ["full"] }
20 20 # `rustls-no-provider` rather than `rustls`: the latter is an alias for
21 21 # `__rustls-aws-lc-rs`, which links a C crypto backend. The provider is ring
M server/Cargo.lock +36 -36
@@ -2875,7 +2875,7 @@
2875 2875 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
2876 2876 dependencies = [
2877 2877 "libc",
2878 - "windows-sys 0.59.0",
2878 + "windows-sys 0.61.2",
2879 2879 ]
2880 2880
2881 2881 [[package]]
@@ -3660,7 +3660,7 @@
3660 3660 checksum = "1a791e6620676a875f362f3156ed213e73ca099a09bf992c18812abe65cc37b1"
3661 3661 dependencies = [
3662 3662 "bstr",
3663 - "hashbrown 0.15.5",
3663 + "hashbrown 0.17.1",
3664 3664 ]
3665 3665
3666 3666 [[package]]
@@ -4811,7 +4811,7 @@
4811 4811 source = "registry+https://github.com/rust-lang/crates.io-index"
4812 4812 checksum = "82cb6a9f675da968c63b6208c641b9dca58fc0133ae53375736b1767b0cab8bd"
4813 4813 dependencies = [
4814 - "windows-sys 0.59.0",
4814 + "windows-sys 0.61.2",
4815 4815 ]
4816 4816
4817 4817 [[package]]
@@ -5390,9 +5390,7 @@
5390 5390
5391 5391 [[package]]
5392 5392 name = "makeover-build"
5393 - version = "0.54.0"
5394 - source = "registry+https://github.com/rust-lang/crates.io-index"
5395 - checksum = "020c6b00d4d0defcdbc1d5a3f879a02c3960566f259ae0801b0cbb807de40441"
5393 + version = "0.55.0"
5396 5394 dependencies = [
5397 5395 "makeover",
5398 5396 "makeover-geometry",
@@ -5408,9 +5406,7 @@
5408 5406
5409 5407 [[package]]
5410 5408 name = "makeover-layout"
5411 - version = "0.35.0"
5412 - source = "registry+https://github.com/rust-lang/crates.io-index"
5413 - checksum = "774bfd81b003f0d0059ff50daa8e625e6969175bc0132ddf7c2108bba40c47d5"
5409 + version = "0.36.0"
5414 5410
5415 5411 [[package]]
5416 5412 name = "makeover-timing"
@@ -5423,9 +5419,7 @@
5423 5419
5424 5420 [[package]]
5425 5421 name = "makeover-touch"
5426 - version = "0.25.0"
5427 - source = "registry+https://github.com/rust-lang/crates.io-index"
5428 - checksum = "c479d37b37002c0f5d3bb8ec7ac1c99bf85eaa6ff2eae06590ab53182893114c"
5422 + version = "0.26.0"
5429 5423 dependencies = [
5430 5424 "makeover-geometry",
5431 5425 "makeover-layout",
@@ -5433,9 +5427,7 @@
5433 5427
5434 5428 [[package]]
5435 5429 name = "makeover-webview"
5436 - version = "0.61.0"
5437 - source = "registry+https://github.com/rust-lang/crates.io-index"
5438 - checksum = "6399dc739e0d326e3577bc80643c1a9ab2afcc005ec240a7c9765e060f359f34"
5430 + version = "0.62.0"
5439 5431 dependencies = [
5440 5432 "makeover-geometry",
5441 5433 "makeover-layout",
@@ -5722,7 +5714,7 @@
5722 5714 source = "registry+https://github.com/rust-lang/crates.io-index"
5723 5715 checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
5724 5716 dependencies = [
5725 - "windows-sys 0.59.0",
5717 + "windows-sys 0.61.2",
5726 5718 ]
5727 5719
5728 5720 [[package]]
@@ -6636,7 +6628,7 @@
6636 6628
6637 6629 [[package]]
6638 6630 name = "quasi-axum"
6639 - version = "0.70.0"
6631 + version = "0.71.0"
6640 6632 dependencies = [
6641 6633 "axum",
6642 6634 "http 1.4.2",
@@ -6647,7 +6639,7 @@
6647 6639
6648 6640 [[package]]
6649 6641 name = "quasi-basics"
6650 - version = "0.70.0"
6642 + version = "0.71.0"
6651 6643 dependencies = [
6652 6644 "makeover-layout",
6653 6645 "quasi-router",
@@ -6655,7 +6647,7 @@
6655 6647
6656 6648 [[package]]
6657 6649 name = "quasi-http"
6658 - version = "0.70.0"
6650 + version = "0.71.0"
6659 6651 dependencies = [
6660 6652 "form_urlencoded",
6661 6653 "http 1.4.2",
@@ -6664,7 +6656,7 @@
6664 6656
6665 6657 [[package]]
6666 6658 name = "quasi-router"
6667 - version = "0.70.0"
6659 + version = "0.71.0"
6668 6660 dependencies = [
6669 6661 "makeover-layout",
6670 6662 ]
@@ -6687,7 +6679,7 @@
6687 6679
6688 6680 [[package]]
6689 6681 name = "quasi-webview"
6690 - version = "0.70.0"
6682 + version = "0.71.0"
6691 6683 dependencies = [
6692 6684 "docengine",
6693 6685 "makeover-layout",
@@ -7339,7 +7331,7 @@
7339 7331 "errno",
7340 7332 "libc",
7341 7333 "linux-raw-sys 0.12.1",
7342 - "windows-sys 0.59.0",
7334 + "windows-sys 0.61.2",
7343 7335 ]
7344 7336
7345 7337 [[package]]
@@ -7419,7 +7411,7 @@
7419 7411 "security-framework 3.7.0",
7420 7412 "security-framework-sys",
7421 7413 "webpki-root-certs",
7422 - "windows-sys 0.59.0",
7414 + "windows-sys 0.61.2",
7423 7415 ]
7424 7416
7425 7417 [[package]]
@@ -8545,7 +8537,7 @@
8545 8537 "getrandom 0.4.3",
8546 8538 "once_cell",
8547 8539 "rustix 1.1.4",
8548 - "windows-sys 0.59.0",
8540 + "windows-sys 0.61.2",
8549 8541 ]
8550 8542
8551 8543 [[package]]
@@ -9971,7 +9963,7 @@
9971 9963 source = "registry+https://github.com/rust-lang/crates.io-index"
9972 9964 checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
9973 9965 dependencies = [
9974 - "windows-sys 0.48.0",
9966 + "windows-sys 0.61.2",
9975 9967 ]
9976 9968
9977 9969 [[package]]
@@ -10761,11 +10753,11 @@
10761 10753
10762 10754 [[patch.unused]]
10763 10755 name = "quasi-immediate"
10764 - version = "0.70.0"
10756 + version = "0.71.0"
10765 10757
10766 10758 [[patch.unused]]
10767 10759 name = "quasi-notifs"
10768 - version = "0.70.0"
10760 + version = "0.71.0"
10769 10761
10770 10762 [[patch.unused]]
10771 10763 name = "quasi-store"
@@ -10773,7 +10765,23 @@
10773 10765
10774 10766 [[patch.unused]]
10775 10767 name = "quasi-tauri"
10776 - version = "0.70.0"
10768 + version = "0.71.0"
10769 +
10770 + [[patch.unused]]
10771 + name = "synckit-client"
10772 + version = "0.9.1"
10773 +
10774 + [[patch.unused]]
10775 + name = "synckit-config"
10776 + version = "0.2.0"
10777 +
10778 + [[patch.unused]]
10779 + name = "makeover-immediate"
10780 + version = "0.37.0"
10781 +
10782 + [[patch.unused]]
10783 + name = "makeover-tui"
10784 + version = "0.36.0"
10777 10785
10778 10786 [[patch.unused]]
10779 10787 name = "kberg"
@@ -10786,11 +10794,3 @@
10786 10794 [[patch.unused]]
10787 10795 name = "painhours"
10788 10796 version = "0.1.0"
10789 -
10790 - [[patch.unused]]
10791 - name = "synckit-client"
10792 - version = "0.9.1"
10793 -
10794 - [[patch.unused]]
10795 - name = "synckit-config"
10796 - version = "0.2.0"
@@ -163,29 +163,29 @@
163 163 # through quasi beside its Askama equivalent, so the cost of describing a screen
164 164 # here is measured rather than argued. Not load-bearing for any shipped route.
165 165 # See wiki look-wave-2, tier G.
166 - quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.70" }
166 + quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.71" }
167 167 # The description vocabulary quasi's screen types are built from. Pinned here
168 168 # rather than reached through quasi-router's re-export because a described
169 169 # screen names FieldKind and Tone directly; it has to track what quasi-router
170 170 # resolves or the two `layout::` paths are different crates.
171 - makeover-layout = "0.35.0"
171 + makeover-layout = "0.36.0"
172 172 # The webview renderer's field emitter, called directly by
173 173 # `quasi::rich_field` so one markdown editor's markup comes from the same
174 174 # place a whole described screen's would. Pinned here rather than reached
175 175 # through quasi-webview for makeover-layout's reason: two `form::` paths from
176 176 # two resolutions are two crates, and the `data-format="markdown"` rules in
177 177 # `static/layout.css` are generated from this one.
178 - makeover-webview = "0.61.0"
178 + makeover-webview = "0.62.0"
179 179 # For the request head the per-viewer state factory reads. axum re-exports it,
180 180 # but the factory's signature is quasi-axum's and names `http::request::Parts`.
181 181 http = "1.3.1"
182 - quasi-axum = { git = "https://makenot.work/git/max/quasi.git", version = "0.70" }
183 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.70" }
182 + quasi-axum = { git = "https://makenot.work/git/max/quasi.git", version = "0.71" }
183 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.71" }
184 184 # The first-party widget set. The carousel was proved here against three pages
185 185 # and then moved there; what is left in `quasi/widgets/carousel.rs` is the
186 186 # Askama glue. Not `makeover-basics`: a widget is an assembly of `Node`s, so it
187 187 # sits above quasi-router rather than inside the description suite.
188 - quasi-basics = { git = "https://makenot.work/git/max/quasi.git", version = "0.70" }
188 + quasi-basics = { git = "https://makenot.work/git/max/quasi.git", version = "0.71" }
189 189
190 190 # Git source browser
191 191 gix = { version = "0.86", default-features = false, features = ["blame", "mailmap", "revision", "sha1", "max-performance-safe"] }
@@ -254,7 +254,7 @@
254 254 # Emits static/geometry.css (makeover-geometry) and static/layout.css
255 255 # (makeover-webview). The same generator GO and BB run; only the output paths
256 256 # differ, since the server serves its stylesheets rather than bundling them.
257 - makeover-build = "0.54.0"
257 + makeover-build = "0.55.0"
258 258 # Read directly for the embeds' own copy of the spacing layer, which they need
259 259 # because an iframe cannot link a stylesheet. makeover-build does not re-export
260 260 # it, so the pin lives here and has to track the one makeover-build resolves.
@@ -277,7 +277,7 @@
277 277 # Written from the crate rather than copied into the repo for the reason the
278 278 # constants exist: a stale copy in a static directory is a silently dead bulk
279 279 # bar, and the version has to be the one the emitter agrees with.
280 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.70" }
280 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.71" }
281 281
282 282 [dev-dependencies]
283 283 tower = { version = "0.5.3", features = ["util"] }
M server/build.rs +8 -1
@@ -503,12 +503,19 @@
503 503 /// can measure, which is "no markup in this repo spells it", and the markup
504 504 /// that spells it is now Rust in a dependency.
505 505 ///
506 + /// 45 to 46, 2026-08-27: makeover-layout 0.36.0 added `Field::note` and
507 + /// makeover-webview 0.62.0 draws it, so `.form-note` arrives dead here by
508 + /// construction -- the same way `.form-hint` and `.form-error` did on the
509 + /// 0.59.0 bump above. It is markup in a dependency, and this server spells no
510 + /// field messages of its own. It stops being dead the moment a described
511 + /// screen here carries a note.
512 + ///
506 513 /// So a rising number here is not automatically a regression. Read it against
507 514 /// what moved: markup deleted in favour of a description will raise it, and a
508 515 /// class that genuinely lost its writer will too. The list the failure prints
509 516 /// is what tells them apart -- if a name on it is one this server still means
510 517 /// to render, that is the bug.
511 - const DEAD_VOCABULARY_HIGH_WATER: usize = 45;
518 + const DEAD_VOCABULARY_HIGH_WATER: usize = 46;
512 519
513 520 /// The scripts this build script generates into `static/`.
514 521 ///