Repository navigation
v0.7.3
Upgrading
- Run
kit:update plan|applyforcore(re-pinnedsha256:909d632f…822e→sha256:9a290690…555b):feature.jsonaddsclass-variance-authorityandtw-animate-csstorequires.npm. No stub changes. - The dev floor for tey/standards is now
^0.11.52, the first release that reads an inventory'sfeaturesblock.
Added
- CI guards the adoption inventory's completeness (contributor-facing).
composer test:adoption-completeness(tests/AdoptionCompletenessCheck.php, in the same CI job as the other adoption checks) fails when a page, layout or shell component a feature installs underresources/js/pagesis named by nosurfaces.jsonrow'suses.files,uses.componentsoruses.importsand has no entry in the newresources/adoption/internal.json, and when a row withhandRolledsignals has no adoption fixture expecting ithand-rolled(or anunprovenentry there). Staleinternal.jsonentries fail too, and every entry needs a reason. Rowsadoptedin no fixture are listed as a note. To pass,uses.filesnow also names the shell partials (UserMenu,WorkspaceSwitcher,Breadcrumbs,GlobalSearch,UserAvatar,Wordmark,FocusShellundershell.workspace;GuestShellandPublic/Markdownundershell.public), the remaining auth screens (ResetPassword,ConfirmPassword,VerifyEmail), the dashboard partials,Sections/Index,Search, the placeholder, error and no-workspace pages (workspace.pages),Settings/Delete(workspace.settings) and the People pages and invitation page (access.members);internal.jsonlists the sample notes pages and the welcome steps. New fixtures pin a hand-rolled outcome for the 19 rows that had none:public-shell-hand-rolled,split-hand-rolled,search-hand-rolled,action-bar-hand-rolled,menu-hand-rolled,modal-hand-rolled,rich-text-hand-rolled,list-hand-rolled,badge-hand-rolled,avatar-hand-rolled,alert-hand-rolled,activity-hand-rolled,timezone-hand-rolled,auth-hand-rolled,passkeys-hand-rolled,teams-hand-rolled(workspace.pages,access.members,workspaces.tenancy) andmcp-hand-rolled. No stub changes, no re-pin.
Changed
- A workspace without the dashboard opens its first navigation page. With
workspace.dashboardoff, the workspace root (/@{workspace}, and/in the short form) was a 404. It now redirects (302) to the first primary navigation page the viewer may open, or to/me/workspaceswhen there is none. At the kit's home, a person with several workspaces still goes to the root of the one they last used, so with the dashboard off they land on its first page instead of the workspace list (docs/dashboard.md › Without a dashboard). Give your pageorder< -10 to make it first. Only the capability being off redirects: a role that lacksdashboard.read, a non-member and a JSON client are refused as before. An accepted invitation's landing uses the same lookup, unchanged. No stub changes, no re-pin.composer test:workspace-root(new, in CI) covers it;test:capability-guardnow expects the root's redirect.
Fixed
-
standards:adoption no longer reads the kit's own dependencies and host UI as gaps.
resources/adoption/surfaces.jsonnow carries a top-levelfeaturesobject: for each feature withrequires.npmorrequires.host_ui, its npm package names and its host UI primitives, exactly as itsfeature.jsonlists them. tey/standards 0.11.52 treats those packages as the kit's (never a package.json gap or a third-party import) and thosecomponents/uifiles as kit-owned (never an app component, gap or hand-rolled hit) for each installed feature. The schema allows the field, and the inventory test fails when it drifts from thefeature.jsonfiles. -
core declares every npm package its components need.
Kit/Feedback/alertVariants.ts(like the shadcnbuttonit pairs with) importsclass-variance-authority, and the kit's menus, toasts and select animate withtw-animate-cssutilities (animate-in,fade-in-0,zoom-in-95); neither was inrequires.npm, so a host without them got no plan attention for it. Both are now required, at^0.7.1and^1.4.0. -
The adoption inventory reads hand-rolled account and settings pages wherever they live.
account.pagesandworkspace.settingsapplied only when a route URI saidsettings, so an app serving its own account page at/account, or workspace settings at/w/{workspace}/deletion, readn/a. Two facts computed from file names close that:has-account-pages(pages underAccount/,Me/,Profile/,Security/,Preferences/,Settings/{Account,Profile,Security,Password,Preferences}/, and*AccountSettings*,*ProfileSettings*,*UserSettings*,*UserPreferences*pages) andhas-workspace-settings-pages(Teams/Show.vue,Team*/Settings/,Workspace*/Edit,Workspace*/Deletion/,Organisation/Organizationsettings,Settings/Workspace*,Settings/Team*, and*TeamSettings*,*WorkspaceSettings*,*OrganizationSettings*pages). Both read inside tey/mod module page folders too, and never flag the kit's ownWorkspace/Account/**andWorkspace/Settings/**pages orcomponents/ui/**. A domain component such asSlideSettings.vuematches none of them.account.pagesalso counts the kit's Password and Delete pages as adoption. -
New surfaces:
settings.frameandmcp.connections.settings.frameis the account and workspace settings frame (Workspace/Account/Layout.vue,Workspace/Settings/Layout.vue); an app's ownAccount/Layout.vue,Settings/Layout.vue,Settings/Indexorlayouts/settings/**reads hand-rolled.mcp.connectionsis the AI assistants page (Workspace/Settings/Connections/Page.vue);*Connection*,*ConnectedApp*,*Assistant*and*Token*pages underSettings/,Account/,Profile/orMe/,ConnectedApp*/,ApiTokens/and Jetstream'sAPI/pages, and an app controller, view model, action or Livewire class referencing Passport'sToken/TokenRepositoryor Sanctum'sPersonalAccessTokenread hand-rolled. -
platform.timezoneflags an app's own timezone picker. A*Timezone*.vueoutside the kit's components and Welcome timezone pages reads hand-rolled. The kit ships no passkey management page (only thePasskeyOffer), soauth.passkeysis unchanged.
The fixtures account-hand-rolled, account-kit-installed and slide-settings-domain pin these outcomes. No stub changes, no re-pin.
What's Changed
- Declare feature npm and host UI deps in the adoption inventory by @jaspertey in #465
- Read hand-rolled account and settings pages in the adoption inventory by @jaspertey in #468
- Guard the adoption inventory's completeness in CI by @jaspertey in #470
- Open the first navigation page at a workspace root without a dashboard by @jaspertey in #457
- Release v0.7.3 by @jaspertey in #473
Full Changelog: v0.7.2...v0.7.3