Skip to main content

max / goingson

Take quasi 0.21.0 and makeover-build 0.42.0, so a part can say two lines Forward fix for Part gaining a flow. Nothing here asks for two lines yet: the site that wants it is .problem-body, which clamps in styles.css with a comment explaining why and is drawn by js/problems.js rather than described. It stops being dead when the problems list ports. The dead-vocabulary seal goes 26 to 27 for .row-relaxed, raised rather than answered with markup because no template here should be writing it. Same loose-in-the-safe-direction case as the track-* classes above it.
Author: Max Johnson <me@maxj.phd> · 2026-08-17 23:50 UTC
Signed with PGP, not checked
Commit: 9011e002fe0d26dc9960a7a5ddb41109ed085606
Parent: 93f0cf3
3 files changed, +51 insertions, -36 deletions
M Cargo.lock +25 -25
@@ -1367,7 +1367,7 @@
1367 1367 "libc",
1368 1368 "option-ext",
1369 1369 "redox_users",
1370 - "windows-sys 0.60.2",
1370 + "windows-sys 0.61.2",
1371 1371 ]
1372 1372
1373 1373 [[package]]
@@ -1608,7 +1608,7 @@
1608 1608 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
1609 1609 dependencies = [
1610 1610 "libc",
1611 - "windows-sys 0.60.2",
1611 + "windows-sys 0.61.2",
1612 1612 ]
1613 1613
1614 1614 [[package]]
@@ -3400,9 +3400,9 @@
3400 3400
3401 3401 [[package]]
3402 3402 name = "makeover-build"
3403 - version = "0.41.0"
3403 + version = "0.42.0"
3404 3404 source = "registry+https://github.com/rust-lang/crates.io-index"
3405 - checksum = "12050a224c62044ec8ba0a1b5b64cac7559e24f9e07714a5b826b6b68f7010cd"
3405 + checksum = "f9c1c61809fa3a15d56e50cd6baa4b96ff3ba62635bfad2c9e2232822785b771"
3406 3406 dependencies = [
3407 3407 "makeover",
3408 3408 "makeover-geometry",
@@ -3417,9 +3417,9 @@
3417 3417
3418 3418 [[package]]
3419 3419 name = "makeover-layout"
3420 - version = "0.28.0"
3420 + version = "0.28.1"
3421 3421 source = "registry+https://github.com/rust-lang/crates.io-index"
3422 - checksum = "4621aad492adac3b258a3a2822b5e4661b0ed3884ca565c29c933f32f5acc050"
3422 + checksum = "6f8f1e53e2d0f15249d4ba3c59b52df57af38a956488c1c43c1d3d7bbb31d59b"
3423 3423
3424 3424 [[package]]
3425 3425 name = "makeover-touch"
@@ -3444,9 +3444,9 @@
3444 3444
3445 3445 [[package]]
3446 3446 name = "makeover-webview"
3447 - version = "0.47.0"
3447 + version = "0.48.0"
3448 3448 source = "registry+https://github.com/rust-lang/crates.io-index"
3449 - checksum = "1b53e075387c3d151b065e073064aebb5ad299d5a7cd133e30d59257f25ae773"
3449 + checksum = "62ed5f0d1d82e482e7fc7a933e9c84647a3f3ead0c14c4304a537c1820c3aaf2"
3450 3450 dependencies = [
3451 3451 "makeover-geometry",
3452 3452 "makeover-layout",
@@ -3595,7 +3595,7 @@
3595 3595 "png 0.18.1",
3596 3596 "serde",
3597 3597 "thiserror 2.0.20",
3598 - "windows-sys 0.60.2",
3598 + "windows-sys 0.61.2",
3599 3599 ]
3600 3600
3601 3601 [[package]]
@@ -3728,7 +3728,7 @@
3728 3728 source = "registry+https://github.com/rust-lang/crates.io-index"
3729 3729 checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
3730 3730 dependencies = [
3731 - "windows-sys 0.60.2",
3731 + "windows-sys 0.61.2",
3732 3732 ]
3733 3733
3734 3734 [[package]]
@@ -4653,7 +4653,7 @@
4653 4653
4654 4654 [[package]]
4655 4655 name = "quasi-http"
4656 - version = "0.20.0"
4656 + version = "0.21.0"
4657 4657 dependencies = [
4658 4658 "form_urlencoded",
4659 4659 "http",
@@ -4662,14 +4662,14 @@
4662 4662
4663 4663 [[package]]
4664 4664 name = "quasi-router"
4665 - version = "0.20.0"
4665 + version = "0.21.0"
4666 4666 dependencies = [
4667 4667 "makeover-layout",
4668 4668 ]
4669 4669
4670 4670 [[package]]
4671 4671 name = "quasi-tauri"
4672 - version = "0.20.0"
4672 + version = "0.21.0"
4673 4673 dependencies = [
4674 4674 "http",
4675 4675 "quasi-http",
@@ -4679,7 +4679,7 @@
4679 4679
4680 4680 [[package]]
4681 4681 name = "quasi-webview"
4682 - version = "0.20.0"
4682 + version = "0.21.0"
4683 4683 dependencies = [
4684 4684 "docengine",
4685 4685 "makeover-layout",
@@ -5107,7 +5107,7 @@
5107 5107 "errno",
5108 5108 "libc",
5109 5109 "linux-raw-sys",
5110 - "windows-sys 0.60.2",
5110 + "windows-sys 0.61.2",
5111 5111 ]
5112 5112
5113 5113 [[package]]
@@ -5164,7 +5164,7 @@
5164 5164 "security-framework",
5165 5165 "security-framework-sys",
5166 5166 "webpki-root-certs",
5167 - "windows-sys 0.60.2",
5167 + "windows-sys 0.61.2",
5168 5168 ]
5169 5169
5170 5170 [[package]]
@@ -5694,7 +5694,7 @@
5694 5694 checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
5695 5695 dependencies = [
5696 5696 "libc",
5697 - "windows-sys 0.60.2",
5697 + "windows-sys 0.61.2",
5698 5698 ]
5699 5699
5700 5700 [[package]]
@@ -6469,7 +6469,7 @@
6469 6469 "getrandom 0.4.3",
6470 6470 "once_cell",
6471 6471 "rustix",
6472 - "windows-sys 0.60.2",
6472 + "windows-sys 0.61.2",
6473 6473 ]
6474 6474
6475 6475 [[package]]
@@ -6491,7 +6491,7 @@
6491 6491 "parking_lot",
6492 6492 "rustix",
6493 6493 "signal-hook",
6494 - "windows-sys 0.60.2",
6494 + "windows-sys 0.61.2",
6495 6495 ]
6496 6496
6497 6497 [[package]]
@@ -6973,7 +6973,7 @@
6973 6973 "png 0.18.1",
6974 6974 "serde",
6975 6975 "thiserror 2.0.20",
6976 - "windows-sys 0.60.2",
6976 + "windows-sys 0.61.2",
6977 6977 ]
6978 6978
6979 6979 [[package]]
@@ -7008,7 +7008,7 @@
7008 7008 dependencies = [
7009 7009 "memoffset",
7010 7010 "tempfile",
7011 - "windows-sys 0.60.2",
7011 + "windows-sys 0.61.2",
7012 7012 ]
7013 7013
7014 7014 [[package]]
@@ -7538,7 +7538,7 @@
7538 7538 source = "registry+https://github.com/rust-lang/crates.io-index"
7539 7539 checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
7540 7540 dependencies = [
7541 - "windows-sys 0.60.2",
7541 + "windows-sys 0.61.2",
7542 7542 ]
7543 7543
7544 7544 [[package]]
@@ -8369,15 +8369,15 @@
8369 8369
8370 8370 [[patch.unused]]
8371 8371 name = "quasi-axum"
8372 - version = "0.20.0"
8372 + version = "0.21.0"
8373 8373
8374 8374 [[patch.unused]]
8375 8375 name = "quasi-basics"
8376 - version = "0.20.0"
8376 + version = "0.21.0"
8377 8377
8378 8378 [[patch.unused]]
8379 8379 name = "quasi-immediate"
8380 - version = "0.20.0"
8380 + version = "0.21.0"
8381 8381
8382 8382 [[patch.unused]]
8383 8383 name = "quasi-store"
@@ -18,12 +18,12 @@
18 18 # Materialises all three generated files: themes/, geometry.css, layout.css,
19 19 # and holds both drift checks this build.rs used to carry itself: touch density
20 20 # as of 0.17, breakpoints as of 0.18.
21 - makeover-build = "0.41.0"
21 + makeover-build = "0.42.0"
22 22 # The table CSS is generated here too: the columns are this app's, so the
23 23 # shared helper cannot know them, but the tracks and the narrowing rules come
24 24 # from the description rather than from hand-written nth-child cuts.
25 - makeover-webview = "0.47.0"
26 - makeover-layout = "0.28.0"
25 + makeover-webview = "0.48.0"
26 + makeover-layout = "0.28.1"
27 27 # Width. Direct rather than through makeover-webview, because the narrow table
28 28 # pass keys off SizeClass::Compact and a boundary reached transitively is a
29 29 # boundary nobody pinned.
@@ -32,7 +32,7 @@
32 32 # `quasi` feature. Optional here as well as below so a default build compiles
33 33 # neither: one `dep:` name covers both tables, which is what lets the feature
34 34 # gate the build script and the crate together.
35 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.20", optional = true }
35 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.21", optional = true }
36 36
37 37 [dependencies]
38 38 goingson-core = { workspace = true }
@@ -50,10 +50,10 @@
50 50 # dependency's source even with the feature off -- so a public clone could not
51 51 # build at all against a URL it could not reach. quasi went public that day and
52 52 # the URL moved here with it.
53 - quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.20", optional = true }
54 - quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.20", optional = true }
55 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.20", optional = true }
56 - quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.20", optional = true }
53 + quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.21", optional = true }
54 + quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.21", optional = true }
55 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.21", optional = true }
56 + quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.21", optional = true }
57 57
58 58 # Tauri
59 59 tauri = { workspace = true, features = ["image-png", "devtools"] }
@@ -118,8 +118,8 @@
118 118 # The forms emitter and the description it renders. Runtime deps, not build:
119 119 # form markup depends on the value, the error and the options at the moment a
120 120 # modal opens, so it cannot be materialised the way the stylesheet is.
121 - makeover-webview = "0.47.0"
122 - makeover-layout = "0.28.0"
121 + makeover-webview = "0.48.0"
122 + makeover-layout = "0.28.1"
123 123 # Browser opening
124 124 open = { workspace = true }
125 125
@@ -566,10 +566,25 @@
566 566 /// count is loose in the safe direction, which is the documented state of
567 567 /// affairs and not a new problem.
568 568 ///
569 + /// # 26 to 27, 2026-08-17: `.row-relaxed`
570 + ///
571 + /// `makeover-layout` 0.28.1 named `Flow` and `makeover-webview` 0.48.0 emits
572 + /// the clamp it asks for, so the denominator went 54 to 55 and this app writes
573 + /// none of it. Raised rather than answered with markup, which the rule below
574 + /// says to check first: nothing here *should* be writing this class. It is
575 + /// emitted by a renderer when a description says a part may take two lines,
576 + /// which is the same loose-in-the-safe-direction case as the `track-*` classes
577 + /// above.
578 + ///
579 + /// The site that wants it is `.problem-body`, which clamps to two lines in
580 + /// `styles.css` with a comment explaining why, and it is drawn by
581 + /// `js/problems.js` rather than described. It stops being dead when the
582 + /// problems list ports, not before.
583 + ///
569 584 /// The one direction this number should move is down, so if it ever needs
570 585 /// raising for a class goingson's own markup *should* be writing, that is the
571 586 /// defect this exists to catch and the answer is the markup, not the seal.
572 - const DEAD_VOCABULARY_HIGH_WATER: usize = 26;
587 + const DEAD_VOCABULARY_HIGH_WATER: usize = 27;
573 588
574 589 /// Every file that can carry a class name.
575 590 fn markup_files(frontend: &Path) -> Vec<PathBuf> {