htmx is hypermedia oriented in that, when it makes network exchanges, those are in terms of hypermedia, which differentiates it from most js libraries. Not all, there is unpoly, Hotwire, etc as well.
Sse and web sockets are extensions. Hx-on is to address the fact that standard on* attributes can only handle fixed events, but I agree it is wandering away from the core hypermedia functionality of htmx. I was on the fence on adding it, but relented when we found a good mechanism for supporting it (xpath) and some long time users expressed that they wanted to avoid needing something like alpine for the simple scripting use cases of their apps.
Htmx also fires a lot of events and I don’t make a secret of the fact that scripting is part of fieldings description of the web and perfectly acceptable in a hypermedia driven application:
Sse and web sockets are extensions. Hx-on is to address the fact that standard on* attributes can only handle fixed events, but I agree it is wandering away from the core hypermedia functionality of htmx. I was on the fence on adding it, but relented when we found a good mechanism for supporting it (xpath) and some long time users expressed that they wanted to avoid needing something like alpine for the simple scripting use cases of their apps.
Htmx also fires a lot of events and I don’t make a secret of the fact that scripting is part of fieldings description of the web and perfectly acceptable in a hypermedia driven application:
https://hypermedia.systems/client-side-scripting/