nandi/jolt-nativepublic Fork 0
26defff
Commits
Clone
git clone https://git.rickub.com/nandi/jolt-native.git
git clone ssh://git@rickub.com/nandi/jolt-native.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Take :checkbutton, which is :checkbox under another name

frq writes both. libvidya's tag table has them as one arm —
`"checkbutton" | "checkbox" => Self::CheckButton` — so a client that
switched backends would have found half its checkboxes rendering as empty
containers, which is what an unknown tag becomes here.

Found by diffing every hiccup tag frq renders against the ones this
backend handles, rather than by someone noticing a missing tick.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
nandi committed 2026-09-10T05:43:18-07:00 Browse files
26defff parent: 0b92f67
modified glimmer-backends/glimmer-jvui/src/glimmer_jvui/core.clj +4 -1
@@ -149,7 +149,10 @@
149149 (record! n id)
150150 (when hit? (fire! n :on-click)))
151151
152- :checkbox (let [was (boolean (:checked props))
152+ ;; :checkbutton is the same widget under GTK's name for it, which is
153+ ;; what libvidya calls it too — `"checkbutton" | "checkbox"` is one
154+ ;; arm of its tag table. frq writes both.
155+ (:checkbox :checkbutton) (let [was (boolean (:checked props))
153156 id (c/next-id key)
154157 now (w/checkbox was s {:key key})]
155158 (record! n id)
@@ -149,7 +149,10 @@
149 (record! n id)149 (record! n id)
150 (when hit? (fire! n :on-click)))150 (when hit? (fire! n :on-click)))
151 151
152- :checkbox (let [was (boolean (:checked props))152+ ;; :checkbutton is the same widget under GTK's name for it, which is
153+ ;; what libvidya calls it too — `"checkbutton" | "checkbox"` is one
154+ ;; arm of its tag table. frq writes both.
155+ (:checkbox :checkbutton) (let [was (boolean (:checked props))
153 id (c/next-id key)156 id (c/next-id key)
154 now (w/checkbox was s {:key key})]157 now (w/checkbox was s {:key key})]
155 (record! n id)158 (record! n id)