Repository navigation
v0.5.112
Upgrading
- The capability fix below is in the package and re-pins nothing. A host that adopted
settingsonly so People would open, or so owners could manage others' MCP connections, no longer needs it for that. Keep it if you use its General section or its MCP settings tools, and for the AI assistants page whilekit.mcp.connection_abilityis the defaultsettings.read(kit:statusflags this). - The kit now refuses to boot when an ability is gated on a capability no adopted feature declares, naming the ability, the capability and the feature. A host whose own provider calls
Registry::abilities()keeps booting: the check covers what the kit's features contribute. kit:statusnow flags declared permissions missing from the database as a blocking step.php artisan migrate --forceputs them back.- Run
kit:update plan|applyforsession-ui(re-pinnedsha256:e0286318…10a2→sha256:3147e395…e42e): this addsAuth/Register/Page.vue; hosts with their own register page can drop it.Auth/Login/Page.vuetakes the "Create an account" link below. A host that copiestypes/kit.d.tsre-copies it:LoginViewModelhasregister, andRegisterViewModelis new. Registration stays closed by default, so nothing changes until an app opens it.
Added
- A Register page (
Auth/Register, session-ui; README › session-ui). While an app turns on Fortify'sregistrationfeature and Concierge's registration mode isn't closed,/registerrenders it (Fortify'sregisterView) and posts to Fortify, so the account is still the app'sCreatesNewUsersaction. It matches the other guest cards:novalidatewith field errors in the card, name focused on load, FormStatus, both passwords cleared after every attempt, and a 429, an expired session (419) or a network failure shown in the card instead of Inertia's error modal. Sign in shows a "Create an account" link in Concierge's open mode, and Register links back to sign in. An app's own sign-up (an invited account, say) renders the same page from its own route with aRegisterViewModelof its own, so its copy stays the kit's:action,heading,leadandsubmitLabel, an address shown as text instead of the email input (email,emailHint), values posted that aren't inputs (submit), and its own 429 copy (throttleMessage). An error on a key with no input (invitation, oremailshown as text) is one alert at the top of the card.composer test:registercovers the page, its props, the gating, a registration and its validation errors; the browser job covers the card on the real@inertiajs/vue3;bin/typecheck-components.shtype-checks it on Inertia 3.7.1 and current.
Fixed
- People opens, and owners manage MCP connections, without the
settingsfeature. workspace-ui gatesmembers.manageand mcp gates managing connections onworkspace.settings, but onlysettingsdeclared that capability. A host withoutsettingsnever defined it, so it read as off: People was a 404 for every owner, and so was managing another member's MCP connection, whateverkit.capabilitiessaid. workspace-ui and mcp now declareworkspace.settingsthemselves. A capability declared by more than one feature is kept once. - Workspace invites offer member roles only. People, its Invite modal and Change role never offer a scoped Concierge role (such as
guest), even when a host'sGrantPolicylists one, and an invite or role change posted with a scoped role is refused (403,role_not_grantable). - A missing declared permission comes back on the next migrate. The deploy sync skipped whenever the catalog fingerprint was unchanged, even if the database had lost a declared permission. It now syncs again while any declared permission is missing.
What's Changed
- Declare every capability an ability is gated on, fail closed at boot, resync lost permissions, member-only invite roles (0.5.x) by @jaspertey in #510
- Add a session-ui Register page (0.5.x) by @jaspertey in #501
- Release v0.5.112 by @jaspertey in #515
Full Changelog: v0.5.111...v0.5.112