Repository navigation
v0.5.105
Upgrading
- tey/standards ^0.11.54 is required. Earlier releases reject the adoption inventory's new
features.<id>.composerkey (exit 2), so kit raises its floor with it. - Run
kit:update plan|applyforcore(re-pinnedsha256:174d42c2…a230→sha256:a2b97a31…95c1):Kit/Form/submitForm.tsaddshttpSubmit, andKit/index.tsexports it. A handler that awaits Inertia'suseHttpdirectly should move tohttpSubmit(below). - Run
kit:update plan|applyforsession-ui(re-pinnedsha256:561e7a1d…8854→sha256:f971fe6c…8bbf):Auth/Login,Auth/ForgotPassword,Auth/ResetPassword,Auth/ConfirmPasswordandAuth/VerifyEmailtake the type fix below. No behaviour changes.
Fixed
- The adoption inventory lists each feature's composer dependencies.
resources/adoption/surfaces.jsonfeatures.<id>.composernow carries every feature'sfeature.jsonrequires.packageskeys (lessphpandlaravel/framework), and the schema allows the key. tey/standards readspatie/laravel-multitenancyin an app's composer.json as a hand-rolledworkspaces.tenancysignal, because kit carries it only inrequire-dev; tey/standards 0.11.54 exempts a package an installed feature declares here. The drift test rebuilds the list from the feature.json files. - A
useSubmitFormhandler over Inertia'suseHttpno longer reads a 422 as a success.useHttpdoesn't reject on a validation failure: it callsonErrorand resolvesundefined, so a handler that awaited it returned normally and the form showed Saved for a refused save. The docs said auseHttperror is read from what it throws, which is only true of the other statuses; they now say to usehttpSubmit(docs/submit-form.md › With Inertia's useHttp). - The guest auth pages type-check on every Inertia 3. They bound
:options="{ onHttpException: tooMany }"inline, and<Form>'soptionstype (FormComponentOptions, aPickofVisitOptionswithoutonHttpException) failed vue-tsc's excess-property check (TS2353) in a host. Each page now types the handler as the visit'sonHttpExceptionand widens it to<Form>'soptionstype (:options="formOptions"), both read off@inertiajs/vue3's ownFormandrouter.visit, so no stub imports@inertiajs/core; at runtime<Form>still spreads it into the visit. The components type-check (bin/typecheck-components.sh, CI's vue-tsc job) now covers these five pages and runs a second time against@inertiajs/vue33.7.1 (installed as@inertiajs/vue3-37,typecheck/tsconfig.inertia-3.7.json) as well as the pinned current version.
Added
httpSubmit((data, hooks) => request), auseSubmitFormhandler over auseHttprequest: pass it the hooks it gives you (http.post(url, hooks)). A 422 rejects with aSubmitErrorof the field errors; a 409stale_writerejects as the conflict (form.conflict); any other status, a network failure, and a resolve ofundefinedwith noonErrorreject with the generic message. Only a 2xx resolves, with the response data. Exported from the kit barrel.node --test tests/js/submit-form.test.mjscovers each outcome over a stand-in foruseHttp3.9.1, including a bareuseHttphandler that reads a 422 as success.
What's Changed
- List each feature's composer dependencies in the adoption inventory (0.5.x) by @jaspertey in #479
- Fail useSubmitForm on a useHttp 422 with httpSubmit (0.5.x) by @jaspertey in #482
- Type the auth pages' onHttpException for every Inertia 3 (0.5.x) by @jaspertey in #484
- Release v0.5.105 by @jaspertey in #486
Full Changelog: v0.5.104...v0.5.105