* add manual middleware config option with getMiddlewareContext()
* refactor requestInfo to action object
* set action error response status from render context
* update automatic middleware to plain POST handler
* fix missing Locals type
* test: add separate POST and cookie forwarding tests
* remove actions.middleware flag
* add docs on actionResultAlreadySet
* test: use Astro.rewrite instead of middleware next(). TODO: fix next()
* fix type errors from rebase
* test: remove middleware handler
* test: use cookie forwarding for 'lots of fields'
* refactor: _isPrerendered -> ctx.isPrerendered
* expose getOriginPathname as middleware utility
* add support for handling RPC action results from middleware
* test: RPC security middleware
* refactor POST route handler to use getMiddlewareContext()
* remove unused actionRedirect flag
* changeset
* test: add expectedd rewrite failure for Ema to debug
* fix e2e test
* nit: form -> from
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
* rename getMiddlewareContext -> getActionContext
* rename form-action -> form
* move /_actions/ route pattern to const
* move type defs to user-accessible ActionMiddlewareContext type
* export action middleware context type
* strip omitted fields for Action API Context
* add satisfies to type for good measure
* move getOriginPathname to shared ctx.originPathname
* remove `next()` rewrite because it isn't supported
* fix empty forms raising a 415
* fix missing async on cookie example
* nit: ctx -> context
* fix json parse error when content length is 0
* refactor body parsing to function
* edit: migration -> updating your HTML form actions
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* update changeset to match docs v5 guide
* add absolute urls to changeset links
---------
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* fix(vue): initialized the 'app' variable earlier in the client.js script by assigning the 'appInstance' reference to it so that it is available for the later established 'astro:unmount' event listener
* Add changeset
* fix(vue): reverted the last change and instead moved the 'astro:unmount' event listener to inside of the 'if' statement where the 'app' variable is initialized
---------
Co-authored-by: Matt Kane <m@mk.gg>
* - fix: 'component is not defined' error when unmount svelte 5 component
* added changeset
* Moving unmount listener to where the component is defined.
* Update .changeset/eighty-ligers-punch.md
---------
Co-authored-by: Hermit <70563349+hermit99@users.noreply.github.com>
* - fix: 'component is not defined' error when unmount svelte 5 component
* added changeset
* Moving unmount listener to where the component is defined.
* Update .changeset/eighty-ligers-punch.md
Co-authored-by: Martin Trapp <94928215+martrapp@users.noreply.github.com>
---------
Co-authored-by: Martin Trapp <94928215+martrapp@users.noreply.github.com>
* docs: update Vite links to use their new domain
See https://github.com/withastro/docs/issues/9548
* update other links with the new Vite domain
* Create strange-cats-notice.md
---------
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
* use shorthash for filename of data url images
* add changeset
* add fixture to test processing of data url images
* run format
* update changeset
* fix test
* Update .changeset/dull-worms-own.md
---------
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>