Skip to main content

max / goingson

take quasi 0.45 and makeover-webview 0.53 Filling gained control_attrs, so the form emitter names it. The dead-vocabulary seal rises 38 to 41 for the three classes a suggestion list is drawn with: goingson's one completion list is search.js, whose candidates depend on the caret, and that file is the measured reason the description carries none.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-21 14:12 UTC
Signed with PGP, not checked
Commit: b10260223bd737c5360a5647757304c63e6833b9
Parent: c238caa
4 files changed, +51 insertions, -34 deletions
M Cargo.lock +25 -25
@@ -1387,7 +1387,7 @@
1387 1387 "libc",
1388 1388 "option-ext",
1389 1389 "redox_users",
1390 - "windows-sys 0.60.2",
1390 + "windows-sys 0.61.2",
1391 1391 ]
1392 1392
1393 1393 [[package]]
@@ -1628,7 +1628,7 @@
1628 1628 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
1629 1629 dependencies = [
1630 1630 "libc",
1631 - "windows-sys 0.60.2",
1631 + "windows-sys 0.61.2",
1632 1632 ]
1633 1633
1634 1634 [[package]]
@@ -3480,7 +3480,7 @@
3480 3480
3481 3481 [[package]]
3482 3482 name = "makeover-webview"
3483 - version = "0.52.0"
3483 + version = "0.53.0"
3484 3484 dependencies = [
3485 3485 "makeover-geometry",
3486 3486 "makeover-layout",
@@ -3629,7 +3629,7 @@
3629 3629 "png 0.18.1",
3630 3630 "serde",
3631 3631 "thiserror 2.0.20",
3632 - "windows-sys 0.60.2",
3632 + "windows-sys 0.61.2",
3633 3633 ]
3634 3634
3635 3635 [[package]]
@@ -3762,7 +3762,7 @@
3762 3762 source = "registry+https://github.com/rust-lang/crates.io-index"
3763 3763 checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
3764 3764 dependencies = [
3765 - "windows-sys 0.60.2",
3765 + "windows-sys 0.61.2",
3766 3766 ]
3767 3767
3768 3768 [[package]]
@@ -4696,7 +4696,7 @@
4696 4696
4697 4697 [[package]]
4698 4698 name = "quasi-http"
4699 - version = "0.44.0"
4699 + version = "0.45.0"
4700 4700 dependencies = [
4701 4701 "form_urlencoded",
4702 4702 "http",
@@ -4705,7 +4705,7 @@
4705 4705
4706 4706 [[package]]
4707 4707 name = "quasi-notifs"
4708 - version = "0.44.0"
4708 + version = "0.45.0"
4709 4709 dependencies = [
4710 4710 "quasi-router",
4711 4711 "synckit-config",
@@ -4713,14 +4713,14 @@
4713 4713
4714 4714 [[package]]
4715 4715 name = "quasi-router"
4716 - version = "0.44.0"
4716 + version = "0.45.0"
4717 4717 dependencies = [
4718 4718 "makeover-layout",
4719 4719 ]
4720 4720
4721 4721 [[package]]
4722 4722 name = "quasi-tauri"
4723 - version = "0.44.0"
4723 + version = "0.45.0"
4724 4724 dependencies = [
4725 4725 "http",
4726 4726 "quasi-http",
@@ -4746,7 +4746,7 @@
4746 4746
4747 4747 [[package]]
4748 4748 name = "quasi-webview"
4749 - version = "0.44.0"
4749 + version = "0.45.0"
4750 4750 dependencies = [
4751 4751 "docengine",
4752 4752 "makeover-layout",
@@ -5185,7 +5185,7 @@
5185 5185 "errno",
5186 5186 "libc",
5187 5187 "linux-raw-sys",
5188 - "windows-sys 0.60.2",
5188 + "windows-sys 0.61.2",
5189 5189 ]
5190 5190
5191 5191 [[package]]
@@ -5242,7 +5242,7 @@
5242 5242 "security-framework",
5243 5243 "security-framework-sys",
5244 5244 "webpki-root-certs",
5245 - "windows-sys 0.60.2",
5245 + "windows-sys 0.61.2",
5246 5246 ]
5247 5247
5248 5248 [[package]]
@@ -5782,7 +5782,7 @@
5782 5782 checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
5783 5783 dependencies = [
5784 5784 "libc",
5785 - "windows-sys 0.60.2",
5785 + "windows-sys 0.61.2",
5786 5786 ]
5787 5787
5788 5788 [[package]]
@@ -6557,7 +6557,7 @@
6557 6557 "getrandom 0.4.3",
6558 6558 "once_cell",
6559 6559 "rustix",
6560 - "windows-sys 0.60.2",
6560 + "windows-sys 0.61.2",
6561 6561 ]
6562 6562
6563 6563 [[package]]
@@ -6579,7 +6579,7 @@
6579 6579 "parking_lot",
6580 6580 "rustix",
6581 6581 "signal-hook",
6582 - "windows-sys 0.60.2",
6582 + "windows-sys 0.61.2",
6583 6583 ]
6584 6584
6585 6585 [[package]]
@@ -7061,7 +7061,7 @@
7061 7061 "png 0.18.1",
7062 7062 "serde",
7063 7063 "thiserror 2.0.20",
7064 - "windows-sys 0.60.2",
7064 + "windows-sys 0.61.2",
7065 7065 ]
7066 7066
7067 7067 [[package]]
@@ -7096,7 +7096,7 @@
7096 7096 dependencies = [
7097 7097 "memoffset",
7098 7098 "tempfile",
7099 - "windows-sys 0.60.2",
7099 + "windows-sys 0.61.2",
7100 7100 ]
7101 7101
7102 7102 [[package]]
@@ -7626,7 +7626,7 @@
7626 7626 source = "registry+https://github.com/rust-lang/crates.io-index"
7627 7627 checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
7628 7628 dependencies = [
7629 - "windows-sys 0.60.2",
7629 + "windows-sys 0.61.2",
7630 7630 ]
7631 7631
7632 7632 [[package]]
@@ -8496,25 +8496,25 @@
8496 8496 "winnow 1.0.4",
8497 8497 ]
8498 8498
8499 - [[patch.unused]]
8500 - name = "ops-status"
8501 - version = "0.1.0"
8502 -
8503 8499 [[patch.unused]]
8504 8500 name = "makeover-immediate"
8505 8501 version = "0.30.0"
8506 8502
8503 + [[patch.unused]]
8504 + name = "ops-status"
8505 + version = "0.1.0"
8506 +
8507 8507 [[patch.unused]]
8508 8508 name = "quasi-axum"
8509 - version = "0.44.0"
8509 + version = "0.45.0"
8510 8510
8511 8511 [[patch.unused]]
8512 8512 name = "quasi-basics"
8513 - version = "0.44.0"
8513 + version = "0.45.0"
8514 8514
8515 8515 [[patch.unused]]
8516 8516 name = "quasi-immediate"
8517 - version = "0.44.0"
8517 + version = "0.45.0"
8518 8518
8519 8519 [[patch.unused]]
8520 8520 name = "quasi-store"
@@ -28,7 +28,7 @@
28 28 # The table CSS is generated here too: the columns are this app's, so the
29 29 # shared helper cannot know them, but the tracks and the narrowing rules come
30 30 # from the description rather than from hand-written nth-child cuts.
31 - makeover-webview = "0.52.0"
31 + makeover-webview = "0.53.0"
32 32 makeover-layout = "0.31.0"
33 33 # Width. Direct rather than through makeover-webview, because the narrow table
34 34 # pass keys off SizeClass::Compact and a boundary reached transitively is a
@@ -38,7 +38,7 @@
38 38 # `quasi` feature. Optional here as well as below so a default build compiles
39 39 # neither: one `dep:` name covers both tables, which is what lets the feature
40 40 # gate the build script and the crate together.
41 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.44", optional = true }
41 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
42 42
43 43 [dependencies]
44 44 goingson-core = { workspace = true }
@@ -56,10 +56,10 @@
56 56 # dependency's source even with the feature off -- so a public clone could not
57 57 # build at all against a URL it could not reach. quasi went public that day and
58 58 # the URL moved here with it.
59 - quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.44", optional = true }
60 - quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.44", optional = true }
61 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.44", optional = true }
62 - quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.44", optional = true }
59 + quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
60 + quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
61 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
62 + quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", optional = true }
63 63
64 64 # The notification declaration, and it is NOT behind the `quasi` feature: the
65 65 # watcher is desktop app behaviour rather than a described screen, and the
@@ -76,7 +76,7 @@
76 76 # before it has ported its screens cannot take it. `notifications::Notifier` is
77 77 # the eight lines meanwhile, and it goes when the flip makes quasi-router
78 78 # unconditional here.
79 - quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.44", features = ["synckit"] }
79 + quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.45", features = ["synckit"] }
80 80
81 81 # Tauri
82 82 tauri = { workspace = true, features = ["image-png", "devtools"] }
@@ -141,7 +141,7 @@
141 141 # The forms emitter and the description it renders. Runtime deps, not build:
142 142 # form markup depends on the value, the error and the options at the moment a
143 143 # modal opens, so it cannot be materialised the way the stylesheet is.
144 - makeover-webview = "0.52.0"
144 + makeover-webview = "0.53.0"
145 145 makeover-layout = "0.31.0"
146 146 # Browser opening
147 147 open = { workspace = true }
@@ -629,10 +629,23 @@
629 629 /// somewhere this app's markup already reaches. Lowered so it cannot grow back,
630 630 /// which is what the check asked for on every build in between.
631 631 ///
632 + /// # 38 to 41, 2026-08-21: a field's suggestion list
633 + ///
634 + /// `quasi` 0.45.0 gave a field a list of candidates it owns, and
635 + /// `makeover-webview` 0.53.0 rules the three classes it is drawn with:
636 + /// `.form-suggestions`, `.form-suggestion` and `.form-suggestion-why`. The
637 + /// denominator went 69 to 72 and this app writes none of them — goingson's one
638 + /// completion list is `search.js`, whose candidates depend on which token the
639 + /// caret is inside, and that file is the measured reason the description
640 + /// carries no caret at all (`d52884b0`).
641 + ///
642 + /// It tightens the day a described field here owns a list, which is what the
643 + /// rule below asks for.
644 + ///
632 645 /// The one direction this number should move is down, so if it ever needs
633 646 /// raising for a class goingson's own markup *should* be writing, that is the
634 647 /// defect this exists to catch and the answer is the markup, not the seal.
635 - const DEAD_VOCABULARY_HIGH_WATER: usize = 38;
648 + const DEAD_VOCABULARY_HIGH_WATER: usize = 41;
636 649
637 650 /// Every file that can carry a class name.
638 651 fn markup_files(frontend: &Path) -> Vec<PathBuf> {
@@ -222,6 +222,10 @@
222 222 let filling = Filling {
223 223 value,
224 224 trailing: spec.trailing_html.as_deref().map(Markup),
225 + // Nothing of this app's own goes on the control. The seam exists
226 + // for a host that knows a fact the description does not carry, and
227 + // quasi's suggestion source is the one caller there is.
228 + control_attrs: None,
225 229 id_prefix: id_prefix.as_deref(),
226 230 };
227 231