Skip to main content

max / quasi

Take makeover-webview 0.59.1 and drop MAKEOVER_UNLISTED That crate names cell-fill, form-group and form-label itself now, along with a dozen more it emitted and never wrote down, so the constant that put them back is gone rather than kept as a habit. figures leaves OWN with it: the strip is makeover's name, emitted here to interleave acts.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-22 22:16 UTC
Signed with PGP, not checked
Commit: 7a06fa4f72201bf64ce2b9c2479e0c202ec5f33d
Parent: e2e145f
4 files changed, +24 insertions, -35 deletions
M Cargo.lock +6 -6
@@ -2643,9 +2643,9 @@
2643 2643
2644 2644 [[package]]
2645 2645 name = "makeover-webview"
2646 - version = "0.58.0"
2646 + version = "0.59.1"
2647 2647 source = "registry+https://github.com/rust-lang/crates.io-index"
2648 - checksum = "6ec0cf871810510f38e24230d1781cb572437a0c4550b638b3d45e3ba1474cb4"
2648 + checksum = "59714ea075f5c266616199eb8345808f85092be04278471ffde546bdb0f43cb6"
2649 2649 dependencies = [
2650 2650 "makeover-geometry",
2651 2651 "makeover-layout",
@@ -6213,10 +6213,10 @@
6213 6213 name = "tagtree"
6214 6214 version = "0.4.1"
6215 6215
6216 - [[patch.unused]]
6217 - name = "quasi-type"
6218 - version = "0.1.0"
6219 -
6220 6216 [[patch.unused]]
6221 6217 name = "synckit-client"
6222 6218 version = "0.8.1"
6219 +
6220 + [[patch.unused]]
6221 + name = "quasi-type"
6222 + version = "0.1.0"
@@ -16,7 +16,7 @@
16 16 quasi-router = { path = "../quasi-router", version = "0.56.0" }
17 17 quasi-http = { path = "../quasi-http", version = "0.56.0" }
18 18 makeover-layout = "0.35.0"
19 - makeover-webview = "0.58.0"
19 + makeover-webview = "0.59.1"
20 20 # `Node::Rich` carries markdown source and this is what turns it into markup.
21 21 # Sanitising comes with it, which is why the node can carry what a user typed.
22 22 #
@@ -101,8 +101,9 @@
101 101 "field-consults",
102 102 "field-suggests",
103 103 "field-writes",
104 + // `figures`, the strip these sit in, is makeover-webview's name and is
105 + // emitted here rather than owned here. It named it from 0.59.0.
104 106 "figure-act",
105 - "figures",
106 107 "form",
107 108 "frame",
108 109 "frame-status",
@@ -153,28 +154,19 @@
153 154 "widget",
154 155 ];
155 156
156 - /// Classes makeover emits that [`makeover_webview::vocabulary::names`] omits.
157 - ///
158 - /// Measured 2026-08-22 by the guard in [`super::tests`], which is how they were
159 - /// found: they come out in markup and makeover's own set does not contain them.
160 - ///
161 - /// Kept here rather than worked around silently, and kept separate from [`OWN`]
162 - /// because they are not this crate's to name. `cell-fill` is
163 - /// `makeover_webview::list`'s, and `form-group` and `form-label` are
164 - /// `makeover_webview::form`'s. When makeover's set grows to include them this
165 - /// constant becomes empty and can go; until then, an app checking against
166 - /// makeover alone would call three live rules dead.
167 - pub const MAKEOVER_UNLISTED: &[&str] = &["cell-fill", "form-group", "form-label"];
168 -
169 157 /// The prefix-free stem of the one open family. See the module header.
170 158 const COLUMN_STEM: &str = "col-";
171 159
172 160 /// Every fixed class a document served by this renderer can contain.
173 161 ///
174 - /// [`OWN`] plus [`MAKEOVER_UNLISTED`] plus
175 - /// [`makeover_webview::vocabulary::names`], prefixed the way `opts` prefixes
176 - /// them. The union rather than any one part: this crate emits all three, and an
177 - /// app checking against one would call the rest dead.
162 + /// [`OWN`] plus [`makeover_webview::vocabulary::names`], prefixed the way
163 + /// `opts` prefixes them. The union rather than either part: this crate emits
164 + /// both, and an app checking against one would call the other dead.
165 + ///
166 + /// A `MAKEOVER_UNLISTED` constant stood beside [`OWN`] until
167 + /// makeover-webview 0.59.0, holding the three classes that crate emitted and
168 + /// did not name. It names its own unruled half now, so the workaround is gone
169 + /// rather than kept as a habit.
178 170 ///
179 171 /// **Prefer [`covers`] for checking a name.** This set is the fixed half; a
180 172 /// `col-<name>` class is legitimate and is not in here, because it cannot be.
@@ -185,11 +177,7 @@
185 177 #[must_use]
186 178 pub fn names(opts: &Emit) -> BTreeSet<String> {
187 179 let mut all = makeover_webview::vocabulary::names(opts);
188 - all.extend(
189 - OWN.iter()
190 - .chain(MAKEOVER_UNLISTED)
191 - .map(|name| makeover_webview::class(name, opts)),
192 - );
180 + all.extend(OWN.iter().map(|name| makeover_webview::class(name, opts)));
193 181 all
194 182 }
195 183
@@ -54,10 +54,9 @@
54 54 /// `chip-remove` and `field-writes` are what the transport binds to. They name
55 55 /// what an element *does* on this host, which is a webview concern rather than
56 56 /// a description one, and makeover deliberately names no behaviour.
57 - /// - **Structure this renderer assembles.** `region`, `selector`, `figures`,
58 - /// `form`, `rest` and the rest name containers makeover's vocabulary has no
59 - /// word for because nothing else needs one: makeover styles the things inside
60 - /// them.
57 + /// - **Structure this renderer assembles.** `region`, `selector`, `form`,
58 + /// `rest` and the rest name containers makeover's vocabulary has no word for
59 + /// because nothing else needs one: makeover styles the things inside them.
61 60 ///
62 61 /// Anything added here should be one of those two. A name that describes how a
63 62 /// thing *looks* belongs in makeover, and putting it here is how the drift this
@@ -83,7 +82,9 @@
83 82 "field-suggests",
84 83 "field-writes",
85 84 "figure-act",
86 - "figures",
85 + // `figures` was here until makeover-webview 0.59.0, which names it: the
86 + // strip is `figures_html`'s and this renderer emits it to interleave the
87 + // acts, which is emitting rather than owning.
87 88 "form",
88 89 "heading",
89 90 "notices",