Skip to content

fix: treat [checked] as bool like disabled - #87

Merged
gRoussac merged 1 commit into
Interchouette-ITC:devfrom
Interchouette:fix/checked-bool-prop
Sep 23, 2026
Merged

gRoussac merged 1 commit into
Interchouette-ITC:devfrom
Interchouette:fix/checked-bool-prop

Conversation

@Interchouette

Copy link
Copy Markdown
Member

Summary

  • [checked] / [(checked)] use eval_bool like [disabled], so false is not a truthy prop_str in the DOM
  • Banana writeback uses (change) + el.checked → Host::set(Value::Bool)
  • Dogfood checkbox in two-way fixture + demo-leptos

Closes #85

Test plan

  • cargo test -p rangular-parser -p rangular-aot -p rangular-runtime (checked / two_way filters)
  • cargo clippy -p rangular-parser -p rangular-aot -p rangular-runtime --all-targets -- -D warnings
  • cargo check --manifest-path demo-leptos/Cargo.toml
  • Toggle checkbox in demo-leptos two-way panel (unchecked by default; Push from Host sets true)

prop_str("false") was truthy in the DOM; banana writeback now uses
(change) + el.checked → Value::Bool. Dogfood in two-way demo.

Closes Interchouette-ITC#85

Co-authored-by: Cursor <cursoragent@cursor.com>
@gRoussac
gRoussac merged commit 3985abc into Interchouette-ITC:dev Sep 23, 2026
17 checks passed
@Interchouette
Interchouette deleted the fix/checked-bool-prop branch September 23, 2026 14:45
gRoussac added a commit to gRoussac/horto-os-ui that referenced this pull request Sep 23, 2026
Pick up Interchouette-ITC/rangular#87 so Connection checkboxes
render and write real bools instead of truthy "false" strings.

Co-authored-by: Cursor <cursoragent@cursor.com>
gRoussac added a commit to Hortos-Network/horto-os-ui that referenced this pull request Sep 23, 2026
* feat(remote): gate setup on current tip CLI and expose cli_version

Refuse remote setup when the box agent is behind Desktop unless the
operator opts in; strip tip-only flags for stale agents. Surface tip vs
box versions in Connection with Update CLI, and report cli_version from
Status API health and status for day-2 checks without SSH.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): redesign Connection CLI compare card

Replace the Tip/Box/Source/Match dump with a status chip, two-pane
version compare, quiet meta line, and a clear Update / allow-older row.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): fold CLI versions into Surfaces, drop compare card

No lead, chip, or pane chrome. Probe + Update CLI, Desktop/Box rows
only after a check, Allow older CLI under Install options.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): show CLI mismatch on one Surfaces row

Drop the duplicate Desktop/Box list. When behind, CLI is
box · Desktop tip (warn color); when current, box version alone.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): drop unused SurfacesUiReport.cli field

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): put Apply and Allow older CLI under Install on box

Both stay off by default; keep them out of the Install options list.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: bump rangular for checked bool binding

Pick up Interchouette-ITC/rangular#87 so Connection checkboxes
render and write real bools instead of truthy "false" strings.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): gate install on probe/CLI match and place Update feedback

Lock install until probe (or Allow older when behind); show Update CLI
and mismatch note with Surfaces; keep Apply under Install; route Update
CLI log next to that action; pack remote setup invoke args for clippy.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat(web): check/uncheck all for install options and extra apps

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): space Releases block before and after

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[checked] / [(checked)] treat as bool like disabled

2 participants