Update ws extension to use htmx.swap#3638
Merged
1cg merged 1 commit intobigskysoftware:fourfrom Jan 29, 2026
Merged
Conversation
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.
Description
This possible change update the web socket extension to use htmx.swap as its swapping method instead of insertContent. This allows hx-partial tags and oob swaps to work as normal. Also the ws extension had a custom hx-partial format with id= attribute which did not match with the core htmx hx-partial design so I've updated the core htmx design to allow this natural id format which allows simple use cases like:
which will just do a default innerHTML swap of the contents of the element with id foo.
This change allows most of the existing ws tests to remain as id only hx-partial's
There is one other breaking change and that is that before the swap style of the active element or from the JSON wrapper would set the default hx-partial swap style which is not how existing hx-partial normal works where each one is treated as innerHTML default and you have to be explicit in its swap method so that hx-partials are fully self contained.
Corresponding issue:
Testing
Updated tests.
Checklist
masterfor website changes,devforsource changes)
approved via an issue
npm run test) and verified that it succeeded