tr
TryGhost
GitHub
Ghost
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
Ghost
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
GitHub
Ghost
Workspace
Succeeded
30469
89bdb888 Removed the slug hook from the session hooks branch no ref The slug hook ships on its own so the session and verification hooks can park until the re-auth dialog that consumes them lands. Nothing else here imports `@tryghost/string`, so the dependency and its ambient declaration go with the hook.
by Steve Larson
S
Succeeded
30469
6842ec77 Added session sign-in, verification and slug hooks to the admin framework no ref The React post editor needs to re-authenticate in place when a save hits an expired session, and to ask the server for a deduplicated slug when the title or slug changes. Ember does both through its cookie authenticator and slug-generator service; the framework only had sign-out. `useAddSession` and `useVerifySession` mirror the Ember wire shapes for `POST /session` and `PUT /session/verify`. Sign-in creates the session but returns 403 with a `2FA_TOKEN_REQUIRED` / `2FA_NEW_DEVICE_DETECTED` code when an emailed code is needed first, so `isTwoFactorRequiredError` lets the caller branch into the verification step without inspecting the error payload itself. Neither mutation invalidates queries: the session cookie is the only thing that changes. `useGenerateSlug` is an imperative async function, like `useFindLabelByName`, because the editor calls it from a state machine rather than rendering its result. It slugifies client-side with `@tryghost/string` before encoding, as Ember does, so raw reserved characters never reach the URL path.
by Steve Larson
S
Succeeded
30469
6842ec77 Added session sign-in, verification and slug hooks to the admin framework no ref The React post editor needs to re-authenticate in place when a save hits an expired session, and to ask the server for a deduplicated slug when the title or slug changes. Ember does both through its cookie authenticator and slug-generator service; the framework only had sign-out. `useAddSession` and `useVerifySession` mirror the Ember wire shapes for `POST /session` and `PUT /session/verify`. Sign-in creates the session but returns 403 with a `2FA_TOKEN_REQUIRED` / `2FA_NEW_DEVICE_DETECTED` code when an emailed code is needed first, so `isTwoFactorRequiredError` lets the caller branch into the verification step without inspecting the error payload itself. Neither mutation invalidates queries: the session cookie is the only thing that changes. `useGenerateSlug` is an imperative async function, like `useFindLabelByName`, because the editor calls it from a state machine rather than rendering its result. It slugifies client-side with `@tryghost/string` before encoding, as Ember does, so raw reserved characters never reach the URL path.
by Steve Larson
S
Previous
Next