@byline/host-tanstack-start 6.7.2 → 6.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin-shell/admin-roles/container_module.css +1 -1
- package/dist/admin-shell/admin-roles/delete.js +1 -1
- package/dist/admin-shell/admin-users/container.js +181 -159
- package/dist/admin-shell/admin-users/container.module.js +2 -1
- package/dist/admin-shell/admin-users/container_module.css +5 -1
- package/dist/admin-shell/admin-users/delete.js +1 -1
- package/dist/admin-shell/chrome/admin-app-bar.d.ts +0 -7
- package/dist/admin-shell/collections/api.d.ts +6 -2
- package/dist/admin-shell/collections/api.js +109 -3
- package/dist/admin-shell/collections/api.test.d.ts +8 -0
- package/dist/admin-shell/collections/edit.js +2 -0
- package/dist/admin-shell/collections/preview-link.js +17 -13
- package/dist/admin-shell/collections/view-menu.d.ts +8 -1
- package/dist/admin-shell/collections/view-menu.js +124 -107
- package/dist/admin-shell/collections/view-menu.module.js +1 -0
- package/dist/admin-shell/collections/view-menu_module.css +15 -1
- package/dist/admin-shell/scheduled-publications/list.js +2 -2
- package/dist/admin-shell/singletons/preview-link.js +17 -13
- package/dist/admin-shell/singletons/view-menu.js +78 -63
- package/dist/admin-shell/singletons/view.js +2 -0
- package/dist/integrations/byline-admin-services.js +2 -0
- package/dist/integrations/passkey-admin-services.d.ts +9 -0
- package/dist/integrations/passkey-admin-services.js +53 -0
- package/dist/integrations/session-coordination.d.ts +3 -1
- package/dist/integrations/session-coordination.js +3 -1
- package/dist/integrations/session-middleware.d.ts +3 -1
- package/dist/integrations/session-middleware.js +87 -79
- package/dist/integrations/sign-in-body.d.ts +3 -0
- package/dist/integrations/sign-in-body.js +19 -4
- package/dist/integrations/sign-in-middleware.js +30 -5
- package/dist/server-fns/auth/passkey-admission.d.ts +24 -0
- package/dist/server-fns/auth/passkey-admission.js +88 -0
- package/dist/server-fns/auth/passkeys.d.ts +96 -0
- package/dist/server-fns/auth/passkeys.js +238 -0
- package/dist/server-fns/auth/reconcile-locale.d.ts +20 -0
- package/dist/server-fns/auth/reconcile-locale.js +16 -0
- package/dist/server-fns/auth/sign-in.js +1 -15
- package/dist/server-fns/collections/get.d.ts +1 -0
- package/dist/server-fns/collections/get.js +4 -0
- package/package.json +11 -11
- package/src/admin-shell/admin-roles/container.module.css +1 -1
- package/src/admin-shell/admin-roles/delete.tsx +1 -1
- package/src/admin-shell/admin-users/container.module.css +7 -1
- package/src/admin-shell/admin-users/container.tsx +22 -2
- package/src/admin-shell/admin-users/delete.tsx +1 -1
- package/src/admin-shell/chrome/admin-app-bar.tsx +2 -2
- package/src/admin-shell/chrome/dashboard.test.tsx +2 -2
- package/src/admin-shell/collections/api.test.tsx +223 -0
- package/src/admin-shell/collections/api.tsx +98 -3
- package/src/admin-shell/collections/edit.tsx +9 -1
- package/src/admin-shell/collections/preview-link.tsx +13 -12
- package/src/admin-shell/collections/view-menu.module.css +29 -3
- package/src/admin-shell/collections/view-menu.tsx +114 -96
- package/src/admin-shell/scheduled-publications/list.tsx +3 -4
- package/src/admin-shell/singletons/history.test.tsx +1 -1
- package/src/admin-shell/singletons/preview-link.tsx +13 -12
- package/src/admin-shell/singletons/view-menu.tsx +65 -59
- package/src/admin-shell/singletons/view.test.tsx +4 -4
- package/src/admin-shell/singletons/view.tsx +3 -1
- package/src/integrations/byline-admin-services.ts +3 -0
- package/src/integrations/passkey-admin-services.ts +85 -0
- package/src/integrations/session-client.test.node.ts +73 -0
- package/src/integrations/session-coordination.ts +3 -1
- package/src/integrations/session-middleware.ts +86 -72
- package/src/integrations/sign-in-body.test.node.ts +31 -1
- package/src/integrations/sign-in-body.ts +27 -3
- package/src/integrations/sign-in-middleware.ts +42 -9
- package/src/server-fns/auth/passkey-admission.test.node.ts +173 -0
- package/src/server-fns/auth/passkey-admission.ts +125 -0
- package/src/server-fns/auth/passkeys.test.node.ts +247 -0
- package/src/server-fns/auth/passkeys.ts +252 -0
- package/src/server-fns/auth/reconcile-locale.ts +40 -0
- package/src/server-fns/auth/sign-in.ts +1 -32
- package/src/server-fns/collections/get.ts +3 -0
|
@@ -29,10 +29,9 @@ import {
|
|
|
29
29
|
import { getServerConfig } from '@byline/core'
|
|
30
30
|
import { passwordSignInSchema } from '@byline/core/validation'
|
|
31
31
|
|
|
32
|
-
import { readAdminLocaleCookie } from '../../i18n/locale-cookie.js'
|
|
33
|
-
import { bylineCore } from '../../integrations/byline-core.js'
|
|
34
32
|
import { normalizeClientIp } from '../../integrations/client-ip.js'
|
|
35
33
|
import { wasSignInBodyChecked } from '../../integrations/sign-in-body.js'
|
|
34
|
+
import { reconcileLocaleAfterSignIn } from './reconcile-locale.js'
|
|
36
35
|
|
|
37
36
|
export interface SignInInput {
|
|
38
37
|
email: string
|
|
@@ -137,33 +136,3 @@ export const adminSignIn = createServerFn({ method: 'POST' })
|
|
|
137
136
|
|
|
138
137
|
return { userId: result.actor.id, sessionId: result.sessionId }
|
|
139
138
|
})
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Apply the `byline_admin_lng` cookie to `admin_users.preferred_locale`
|
|
143
|
-
* when the two diverge after sign-in. No-op when:
|
|
144
|
-
*
|
|
145
|
-
* - The cookie is unset (the cascade falls through to the existing
|
|
146
|
-
* column / Accept-Language / default anyway).
|
|
147
|
-
* - The cookie carries a locale outside `i18n.admin.locales`
|
|
148
|
-
* (stale value pointing at a removed locale — let the resolver
|
|
149
|
-
* fall through cleanly).
|
|
150
|
-
* - No admin store is configured (headless tooling paths).
|
|
151
|
-
* - The stored value already matches the cookie.
|
|
152
|
-
*/
|
|
153
|
-
async function reconcileLocaleAfterSignIn(adminUserId: string): Promise<void> {
|
|
154
|
-
const cookieLocale = readAdminLocaleCookie()
|
|
155
|
-
if (cookieLocale == null) return
|
|
156
|
-
|
|
157
|
-
const core = bylineCore()
|
|
158
|
-
const locales = core.config.i18n.admin.locales
|
|
159
|
-
if (!locales.includes(cookieLocale)) return
|
|
160
|
-
|
|
161
|
-
const adminStore = core.adminStore
|
|
162
|
-
if (adminStore == null) return
|
|
163
|
-
|
|
164
|
-
const row = await adminStore.adminUsers.getById(adminUserId)
|
|
165
|
-
if (!row) return
|
|
166
|
-
if (row.preferred_locale === cookieLocale) return
|
|
167
|
-
|
|
168
|
-
await adminStore.adminUsers.setPreferredLocale(adminUserId, cookieLocale)
|
|
169
|
-
}
|
|
@@ -120,6 +120,8 @@ const getDocumentFn = createServerFn({ method: 'GET' })
|
|
|
120
120
|
| string[]
|
|
121
121
|
| undefined
|
|
122
122
|
|
|
123
|
+
const unavailableBlocks = document._unavailableBlocks
|
|
124
|
+
|
|
123
125
|
// Same preservation for the available-locales metadata — both are stripped
|
|
124
126
|
// by the Zod parse but the sidebar widget needs them at edit time:
|
|
125
127
|
// `availableLocales` — the stored editorial set → initialises the
|
|
@@ -155,6 +157,7 @@ const getDocumentFn = createServerFn({ method: 'GET' })
|
|
|
155
157
|
return {
|
|
156
158
|
...withEditableRevision(parsed, document),
|
|
157
159
|
_publishedVersion: publishedVersion,
|
|
160
|
+
...(unavailableBlocks?.length ? { _unavailableBlocks: unavailableBlocks } : {}),
|
|
158
161
|
...(restoreWarnings && restoreWarnings.length > 0
|
|
159
162
|
? { _restoreWarnings: restoreWarnings }
|
|
160
163
|
: {}),
|