Skip to main content

max / goingson

Take quasi 0.83.0, where a notice can carry an act Three Node::Notice literals became Node::banner. The day band's comment said a notice carries no act, which stopped being true: the Contexts chip stays beside the banners rather than moving onto one, because the way in has to be there whether or not a banner is.
Author: Max Johnson <me@maxj.phd> · 2026-08-30 19:47 UTC
Signed with PGP, not checked
Commit: 3e9fb55bd25c5730e58cc0530fd1978061208d7f
Parent: 491ecc4
5 files changed, +41 insertions, -51 deletions
M Cargo.lock +24 -24
@@ -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]]
@@ -3650,7 +3650,7 @@
3650 3650 "png 0.18.1",
3651 3651 "serde",
3652 3652 "thiserror 2.0.20",
3653 - "windows-sys 0.60.2",
3653 + "windows-sys 0.61.2",
3654 3654 ]
3655 3655
3656 3656 [[package]]
@@ -3783,7 +3783,7 @@
3783 3783 source = "registry+https://github.com/rust-lang/crates.io-index"
3784 3784 checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
3785 3785 dependencies = [
3786 - "windows-sys 0.60.2",
3786 + "windows-sys 0.61.2",
3787 3787 ]
3788 3788
3789 3789 [[package]]
@@ -4717,7 +4717,7 @@
4717 4717
4718 4718 [[package]]
4719 4719 name = "quasi-http"
4720 - version = "0.82.0"
4720 + version = "0.83.0"
4721 4721 dependencies = [
4722 4722 "form_urlencoded",
4723 4723 "http",
@@ -4726,7 +4726,7 @@
4726 4726
4727 4727 [[package]]
4728 4728 name = "quasi-notifs"
4729 - version = "0.82.0"
4729 + version = "0.83.0"
4730 4730 dependencies = [
4731 4731 "quasi-router",
4732 4732 "synckit-config",
@@ -4734,14 +4734,14 @@
4734 4734
4735 4735 [[package]]
4736 4736 name = "quasi-router"
4737 - version = "0.82.0"
4737 + version = "0.83.0"
4738 4738 dependencies = [
4739 4739 "makeover-layout",
4740 4740 ]
4741 4741
4742 4742 [[package]]
4743 4743 name = "quasi-tauri"
4744 - version = "0.82.0"
4744 + version = "0.83.0"
4745 4745 dependencies = [
4746 4746 "http",
4747 4747 "quasi-http",
@@ -4767,7 +4767,7 @@
4767 4767
4768 4768 [[package]]
4769 4769 name = "quasi-webview"
4770 - version = "0.82.0"
4770 + version = "0.83.0"
4771 4771 dependencies = [
4772 4772 "docengine",
4773 4773 "makeover-layout",
@@ -5206,7 +5206,7 @@
5206 5206 "errno",
5207 5207 "libc",
5208 5208 "linux-raw-sys",
5209 - "windows-sys 0.60.2",
5209 + "windows-sys 0.61.2",
5210 5210 ]
5211 5211
5212 5212 [[package]]
@@ -5263,7 +5263,7 @@
5263 5263 "security-framework",
5264 5264 "security-framework-sys",
5265 5265 "webpki-root-certs",
5266 - "windows-sys 0.60.2",
5266 + "windows-sys 0.61.2",
5267 5267 ]
5268 5268
5269 5269 [[package]]
@@ -5803,7 +5803,7 @@
5803 5803 checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
5804 5804 dependencies = [
5805 5805 "libc",
5806 - "windows-sys 0.60.2",
5806 + "windows-sys 0.61.2",
5807 5807 ]
5808 5808
5809 5809 [[package]]
@@ -6563,7 +6563,7 @@
6563 6563 "getrandom 0.4.3",
6564 6564 "once_cell",
6565 6565 "rustix",
6566 - "windows-sys 0.60.2",
6566 + "windows-sys 0.61.2",
6567 6567 ]
6568 6568
6569 6569 [[package]]
@@ -6585,7 +6585,7 @@
6585 6585 "parking_lot",
6586 6586 "rustix",
6587 6587 "signal-hook",
6588 - "windows-sys 0.60.2",
6588 + "windows-sys 0.61.2",
6589 6589 ]
6590 6590
6591 6591 [[package]]
@@ -7067,7 +7067,7 @@
7067 7067 "png 0.18.1",
7068 7068 "serde",
7069 7069 "thiserror 2.0.20",
7070 - "windows-sys 0.60.2",
7070 + "windows-sys 0.61.2",
7071 7071 ]
7072 7072
7073 7073 [[package]]
@@ -7102,7 +7102,7 @@
7102 7102 dependencies = [
7103 7103 "memoffset",
7104 7104 "tempfile",
7105 - "windows-sys 0.60.2",
7105 + "windows-sys 0.61.2",
7106 7106 ]
7107 7107
7108 7108 [[package]]
@@ -7632,7 +7632,7 @@
7632 7632 source = "registry+https://github.com/rust-lang/crates.io-index"
7633 7633 checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
7634 7634 dependencies = [
7635 - "windows-sys 0.60.2",
7635 + "windows-sys 0.61.2",
7636 7636 ]
7637 7637
7638 7638 [[package]]
@@ -8489,22 +8489,22 @@
8489 8489 "winnow 1.0.4",
8490 8490 ]
8491 8491
8492 - [[patch.unused]]
8493 - name = "ops-status"
8494 - version = "0.1.0"
8495 -
8496 8492 [[patch.unused]]
8497 8493 name = "quasi-axum"
8498 - version = "0.82.0"
8494 + version = "0.83.0"
8499 8495
8500 8496 [[patch.unused]]
8501 8497 name = "quasi-basics"
8502 - version = "0.82.0"
8498 + version = "0.83.0"
8503 8499
8504 8500 [[patch.unused]]
8505 8501 name = "quasi-immediate"
8506 - version = "0.82.0"
8502 + version = "0.83.0"
8507 8503
8508 8504 [[patch.unused]]
8509 8505 name = "quasi-store"
8510 8506 version = "0.1.0"
8507 +
8508 + [[patch.unused]]
8509 + name = "ops-status"
8510 + version = "0.1.0"
@@ -36,7 +36,7 @@
36 36 makeover-geometry = "0.7"
37 37 # Only to write its selection and clock scripts into the frontend. Those two are
38 38 # the whole of `frontend/js/` since the swap.
39 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.82" }
39 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.83" }
40 40
41 41 [dependencies]
42 42 goingson-core = { workspace = true }
@@ -54,10 +54,10 @@
54 54 # dependency's source even with the feature off -- so a public clone could not
55 55 # build at all against a URL it could not reach. quasi went public that day and
56 56 # the URL moved here with it.
57 - quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.82" }
58 - quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.82" }
59 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.82" }
60 - quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.82" }
57 + quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.83" }
58 + quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.83" }
59 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.83" }
60 + quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.83" }
61 61
62 62 # The notification declaration, and it is NOT behind the `quasi` feature: the
63 63 # watcher is desktop app behaviour rather than a described screen, and the
@@ -74,7 +74,7 @@
74 74 # before it has ported its screens cannot take it. `notifications::Notifier` is
75 75 # the eight lines meanwhile, and it goes when the flip makes quasi-router
76 76 # unconditional here.
77 - quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.82", features = ["synckit", "describe"] }
77 + quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.83", features = ["synckit", "describe"] }
78 78
79 79 # Tauri
80 80 tauri = { workspace = true, features = ["image-png", "devtools"] }
@@ -268,13 +268,11 @@
268 268 // after: deleting a migrated context is the one delete on this screen that
269 269 // does something to a record the user did not author here.
270 270 if existing.is_some_and(|context| context.migrated_from_event_id.is_some()) {
271 - pane = pane.with(Node::Notice {
272 - kind: makeover_layout::Notice::Banner,
273 - tone: makeover_layout::Tone::Info,
274 - text: "Converted from an event. Deleting this puts that event back on the timeline, \
275 - with its times intact."
276 - .to_owned(),
277 - });
271 + pane = pane.with(Node::banner(
272 + makeover_layout::Tone::Info,
273 + "Converted from an event. Deleting this puts that event back on the timeline, \
274 + with its times intact.",
275 + ));
278 276 }
279 277
280 278 pane = pane.with(Node::Form {
@@ -280,17 +280,13 @@
280 280 // flag on the weekly review, which could say that one thing and nothing
281 281 // else -- a trip, an illness and a sprint had no way to be said at all.
282 282 for context in &response.contexts {
283 - band = band.with(Node::Notice {
284 - kind: makeover_layout::Notice::Banner,
285 - tone: Tone::Info,
286 - text: context.label.clone(),
287 - });
283 + band = band.with(Node::banner(Tone::Info, context.label.clone()));
288 284 }
289 285
290 - // The way to the screen that authors them. A `Notice` carries no act, so the
291 - // banner above cannot be the way in: it says what frames the day and this
292 - // says where that came from. Offered whether or not one is showing, because
293 - // recording a context is most often done for days you are not looking at.
286 + // The way to the screen that authors them, beside the banners rather than
287 + // on one. A notice can carry an act now, and this is still not one:
288 + // recording a context is most often done for days you are not looking at,
289 + // so the way in has to be there whether or not a banner is.
294 290 band = band.with(Node::Token(Tag::chip("Contexts", Action::get("/contexts"))));
295 291
296 292 band
@@ -236,11 +236,7 @@
236 236 .awaiting(),
237 237 )))
238 238 .with(match error {
239 - Some(message) => Node::Notice {
240 - kind: makeover_layout::Notice::Banner,
241 - tone: makeover_layout::Tone::Danger,
242 - text: message.to_owned(),
243 - },
239 + Some(message) => Node::banner(makeover_layout::Tone::Danger, message),
244 240 None => Node::text(""),
245 241 })
246 242 }