* Add support for hx-on:* attribute
* Use shorter XPath selector
* Add support for "hx-on::" shorthand
* Add note about mixing the two forms of `hx-on`
* Add hx-history="false" to prevent sensitive or session data entering the localStorage cache
* Correctly get value of hx-history attribute.
* Add test for hx-history attribute.
* Allow history cache to be disabled when multiple `hx-history` attributes are present in a document, and any one of them is set to false.
* Add documentation for `hx-history` attribute.
* Add `hx-history` attribute to reference doc
* Correct the order of the `hx-history` attr in the reference doc.
* Add events support for WebSockets
* Stop reconnection attempts after element has been removed
* Add tests for websockets
* Hide socker wrapper behind a more strict interface to avoid breaking changes in the future
* Fix legacy websocket tests interfering with new extension tests
* Minor doc fixes
* Add `wsBinaryType` configuration option
* Add data-loading-aria-busy directive for loading-states extension; add tests for the extension
* Update docs
* Fix tests of scoped loading states
* Commit test files
* Improve delay tests by using sinon timer
* Add reference to MDN about `aria-busy` attribute
absolute 👑
* Restore WS and SSE code
First pass at restoring removed ws and sse code. More to come.
* More progress on WS and SSE restore
* Update htmx.js
crucial whitespace
* Update documentation
* Combine SSE and WS servers into single "realtime" demo
* Realtime Test Server Updates
- separated tests for old- and new- style calling
- updated intro content and stylesheet
- removed extensions from manual test suite
* Remove SSE/WS from manual tests
* `timeout` - the request timeout
* `credentials` - send credentials w/ the request
* `noHeaders` - do not send any non-standard headers with the request
We also support the `htmx.config.timeout` configuration value for setting the default timeout
If an element is replaced by an extension in `handleSwap`, the events
(`afterSwap.htmx` and `afterSettle.htmx`) were not received by the
`onLoad` method of extensions defined on parents of the target, because
theses extensions were retrieved after the replacement, and so it was
not possible to get through the parents, the target not being in the dom
anymore.
This commits loads the extensions for the target and save them in
`eventDetail` before doing the swap, so they are accessible in
`triggerEvent`, and passed to `withExtensions` that use this list if
passed (else load them).
A new test is added that fails without the updates in `htmx.js`.