* Make htmx IE11 compatible again + tests IE11 compatible
* IE11 compatible handmade socket mock for ws-ext tests
* Fallback when xpath isn't supported, hx-on wildcard now working on IE11
* Merge remote-tracking branch 'upstream/relative-url-in-hx-boost' into ie11-compatibility
This resolves a bug when file system URLs are used on Windows. It
reverts part of a previous change where URLs were normalized prior to
the request in order to reduce key collisions in the history cache.
Because htmx's history cache is based entirely on response URLs, not
request URLs, I am reasonably confident that reverting this line doesn't
affect that optimization at all, but in any case it causes a bug which
is more important.
New function to turn off the logger after using `logAll()`. I applied to
this to the tests as well so that `logAll()` is only used in the specfic
places where debug output is required. This makes the console output of
the tests dramatically more useful when run from the command line.
* 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`
* Normalize URL used as a cache key for history, without breaking IE.
* Update test `boosted element hx-disinherit sanity check` to check that the fully resolved href of the boosted element matches request.detail.requestConfig.path
The `htmx:trigger` event is fired whenever an HTMX AJAX request would
be. Now, `hx-trigger` can also be specified on an element without an
AJAX request, which will simply fire the `htmx:trigger` event on the
action specified by the attribute, and do nothing else.
This pattern allows for specifying client-side actions that don't
require a network request, while remaining within the HTMX control
paradigm.
* 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
this fixes an ugly bug introduced when the trigger logic was pulled out, where the handler of the first revealed element was used over and over again for any future elements that also were revealed. many braincells lost mmm.