Files
htmx/dev/four/TODOS.md
2025-10-28 12:09:33 -06:00

63 lines
3.0 KiB
Markdown

# Big Open Questions
* Are we going support a morph swap out of the box? (Michael)
* Are we going to support CSS transitions?
* Maybe at least a simple version, wait on transition events?
* We could say just use morph
* Are we going to add head tag merging support to core?
* How should we handle response code mapping? (telroshan)
# TODOs
* SSE/streaming functionality (Christian)
* Support `hx-action="js:..."` and `js:` or `javascript:` broadly
* Allow users to turn off eval
* Build out a "patterns" set of examples to replace examples, cleaned up, add more advanced cases
* Updated website design
* Need to make `203 - No Content` not do the main swap once swapping settles down (lol)
* See "Open Questions"
* quirks.js implementation
* retrigger historical events based on mapping
* revert to older API (esp `htmx.ajax`)
* Move deprecated features into quirks.js?
* out of band swaps?
* out of band selects?
* ~~revert to htmx 2.0 attribute resolution~~
* mode to log elements that should marked as `:inherited`
* Unify __parseTriggerSpecs and __parseSwapModifiers somehow
* `htmx.onLoad()` function
* An "upgrade report" tool for htmx 2.0 applications
* Produces a report of all elements that need to be
* Marked as `:inherited`
* Need to have their swap strategy adjusted (all of them?)
* Use of no-longer supported events
* Use of old htmx API calls (???)
* Collect results into `localStorage` as a JSON array, w/path -> element id (or just outer HTML if no id)
* Display results via HTML
* Audits
* Event audit
* JavaScript API audit
* Configuration options audit
* Headers: request & response
* Michael has thoughts on request headers
* I think we need to add the `htmx-request` to the element making the request as well as the indicators
* Current `__resolveSwapEventTarget` logic is wrong: we should instead capture the parent hierarchy before swap and always
dispatch the event on the element and, if it is disconnected, dispatch it again on the first connected parent
* Add a `:merge` option for things like `hx-indicator`, where you want to merge in parent attribute values?
* hx-disable needs it too
* Server Actions (Christian)
* Request security configuration (disallow cross-site requests by default)
* Handling `<script>` tags: should we avoid hoisting all inserted script tags?
* Make attribute prefix configurable via `htmx.config.prefix` defaults to `hx-`
* ~~Optimistic response support (would be easy now)~~
* ~~Preload support?~~
* ~~Add in extended selectors (1cg)~~
* ~~Add in custom events like revealed, etc~~ (needs review)
* ~~Add `<partial>` support for SSE & out of band swaps~~
* ~~Add history support~~
* ~~full refresh every time (no local stuff, htmx has taught us our lesson)~~
* ~~Add explicit inheritances support~~
* ~~Create test infrastructure~~
* ~~Decide how we are going to distinguish public from private API~~
* ~~When should we `preventDefault()` on a triggering event?~~
* ~~trigger modifiers~~