feat: adopt htmx hx-live as default-on for client-side reactivity#1826
Merged
Conversation
Adds the htmx 4 hx-live extension as a default import in the scaffolded config.js, alongside hx-preload. Mirrors the existing hx-preload / hx-sse re-export pattern in @alltuner/vibetuner. Rewrites the OAuth scope chip editor (debug/oauth_app_form.html.jinja) to use hx-on: + hx-live, dropping the inline onclick / onkeydown handlers and 40-line inline sync script. The new pattern works under vibetuner's strict script-src CSP (which blocks raw inline handler attributes). Documents the idiomatic patterns and rough edges in htmx-migration.md, the llms.txt / llms-full.txt feature catalogues, and the scaffolded frontend rule file. Closes #1777. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
davidpoblador
pushed a commit
that referenced
this pull request
May 15, 2026
🤖 I have created a release *beep* *boop* --- ## [10.15.0](v10.14.2...v10.15.0) (2026-05-15) ### Features * adopt htmx hx-live as default-on for client-side reactivity ([#1826](#1826)) ([16325aa](16325aa)) ### CI/CD Changes * unpin claude-code-action now that symlink bug is fixed upstream ([#1824](#1824)) ([4cee0ad](4cee0ad)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #1777.
hx-liveextension as a default import invibetuner-template/config.js, alongsidehx-preload. Mirrors the existinghx-preload/hx-ssere-export pattern in@alltuner/vibetuner(newhtmx-live.js+./htmx/liveexport entry).debug/oauth_app_form.html.jinja) to usehx-on:+hx-live, dropping inlineonclick/onkeydownhandlers and 26 of the 40 lines of inline sync script. The new pattern works under vibetuner's strictscript-src 'nonce-X' 'strict-dynamic'CSP (which blocks raw inline handler attributes at the spec level).htmx-migration.md, thellms.txt/llms-full.txtfeature catalogues, and the scaffolded.claude/rules/frontend.md.Why default-on
onclick=/onchange=attributes are blocked by vibetuner's CSP.hx-on:andhx-liveevaluate through htmx's nonced TrustedTypes pipeline.exportsentry. Extension auto-registers on import.htmx.takeClass/htmx.forEvent(moved out of core into this extension) have zero call sites acrossvibetuner-py/vibetuner-template/vibetuner-jinja/vibetuner-js.Test plan
just lint-jinja— passes (47/47 files, 0 errors)just lint-md— my files clean (only unrelated README.md issues remain)vibetuner-js/package.jsonJSON valid;./htmx/liveexport resolves to existing file@alltuner/vibetuner-jinja@10.14.2publish lag (Renovate-style transitive). CI will resolve from the registry once the release publishes — verify CI green before merge.🤖 Generated with Claude Code