Skip to main content

max / goingson

Say a latched chip with a guard `Tag::latched` takes no argument as of quasi 0.109; a condition is a guard, which is `Choice::chosen`'s shape and its reason. Eight chip strips move with it.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01P8ostB2UmZJGj5WjSHRSot
Author: Max Johnson <me@maxj.phd> · 2026-09-08 18:13 UTC
Signed with PGP, not checked
Commit: 878f09ea20e302987a07fff7f11b3b0d7c5bcc3a
Parent: dc0e27d
9 files changed, +18 insertions, -18 deletions
@@ -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.108" }
39 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.109" }
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.108" }
58 - quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.108" }
59 - quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.108" }
60 - quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.108" }
57 + quasi-router = { git = "https://makenot.work/git/max/quasi.git", version = "0.109" }
58 + quasi-http = { git = "https://makenot.work/git/max/quasi.git", version = "0.109" }
59 + quasi-webview = { git = "https://makenot.work/git/max/quasi.git", version = "0.109" }
60 + quasi-tauri = { git = "https://makenot.work/git/max/quasi.git", version = "0.109" }
61 61 quasi-declare = { git = "https://makenot.work/git/max/quasi.git", version = "0.1" }
62 62
63 63 # The notification declaration, and it is NOT behind the `quasi` feature: the
@@ -70,7 +70,7 @@
70 70 # so an app wanting eight lines over `tauri-plugin-notification` had to link the
71 71 # whole description stack for them. quasicoherent `c231ff13` moved it here,
72 72 # where the `Deliver` trait it implements already lives.
73 - quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.108", features = ["synckit", "describe", "tauri"] }
73 + quasi-notifs = { git = "https://makenot.work/git/max/quasi.git", version = "0.109", features = ["synckit", "describe", "tauri"] }
74 74
75 75 # Tauri
76 76 tauri = { workspace = true, features = ["image-png", "devtools"] }
@@ -194,7 +194,7 @@
194 194 for in_use in offered.iter() {
195 195 chip in_use
196 196 to doing list_action(listing.search.as_deref(), cleared(listing, in_use)) {
197 - latched tag_latched(listing, in_use);
197 + latched when tag_latched(listing, in_use);
198 198 }
199 199 }
200 200 }
@@ -693,7 +693,7 @@
693 693 include label_field(band) unless band.labels.is_empty();
694 694
695 695 chip "Include archived" to doing band.toggling_archived() {
696 - latched band.view.archived;
696 + latched when band.view.archived;
697 697 }
698 698
699 699 act "Mark all read" to doing band.view.carry(Action::post("/emails/read-all"));
@@ -252,7 +252,7 @@
252 252 page "Events";
253 253 act "New event" to get "/events/new";
254 254 chip "Snoozed" to doing list_action(not_snoozed(listing)) {
255 - latched listing.snoozed;
255 + latched when listing.snoozed;
256 256 }
257 257 }
258 258
@@ -458,13 +458,13 @@
458 458 for state in STATUSES {
459 459 chip status_word(state)
460 460 to doing list_action(state, listing.source.as_deref()) {
461 - latched status_latched(listing, state);
461 + latched when status_latched(listing, state);
462 462 }
463 463 }
464 464
465 465 for source in offered.iter() {
466 466 chip source to doing list_action(listing.status, cleared(listing, source)) {
467 - latched source_latched(listing, source);
467 + latched when source_latched(listing, source);
468 468 }
469 469 }
470 470 }
@@ -326,7 +326,7 @@
326 326
327 327 chip "Shared only" to doing list_action(loaded.view.sharing_toggled())
328 328 when offers_sharing(loaded) {
329 - latched loaded.view.shared_only;
329 + latched when loaded.view.shared_only;
330 330 }
331 331
332 332 act retired_label(loaded) to doing list_action(loaded.view.retired_toggled())
@@ -1094,7 +1094,7 @@
1094 1094 for offered in STATUSES.iter() {
1095 1095 chip status_word(offered.as_ref())
1096 1096 to doing listing.view.with_status(offered.clone()).list() {
1097 - latched is_status(listing, offered.as_ref());
1097 + latched when is_status(listing, offered.as_ref());
1098 1098 }
1099 1099 }
1100 1100
@@ -1117,16 +1117,16 @@
1117 1117 for offered in PRIORITIES {
1118 1118 chip priority_word(&offered)
1119 1119 to doing listing.view.toggling_priority(&offered).list() {
1120 - latched is_priority(listing, &offered);
1120 + latched when is_priority(listing, &offered);
1121 1121 }
1122 1122 }
1123 1123
1124 1124 chip "Include snoozed" to doing listing.view.toggling_snoozed().list() {
1125 - latched listing.view.snoozed;
1125 + latched when listing.view.snoozed;
1126 1126 }
1127 1127
1128 1128 chip "Waiting only" to doing listing.view.toggling_waiting().list() {
1129 - latched listing.view.waiting;
1129 + latched when listing.view.waiting;
1130 1130 }
1131 1131
1132 1132 act "Clear filters" to doing View::default().list() when listing.view.filtered();
@@ -869,7 +869,7 @@
869 869 for window in WINDOWS {
870 870 chip "{window}d"
871 871 to doing windowed_view(report.view, window).carry(Action::get("/timer/report")) {
872 - latched over_window(report, window);
872 + latched when over_window(report, window);
873 873 }
874 874 }
875 875
@@ -664,7 +664,7 @@
664 664 Action::post("/weekly-review/vacation/{day.index}"),
665 665 review.week
666 666 ) {
667 - latched day.off;
667 + latched when day.off;
668 668 }
669 669 }
670 670 }