You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This slice prepares the current Vercel app for the switch (ADRs 0001 and 0002 in #122). Browser storage can't cross to the new address, so the last releases of the old app have to move data into accounts and then stop changes, in this order:
Move guests and finish syncing. A guest holding saved data is asked to sign in, and the existing adoption code moves their records into the account. Signed-in users are prompted to finish syncing any pending changes.
Make the app read-only. A release makes the old app itself read-only. It stops accepting new edits (saves, imports, deletes) but still pushes changes that are already pending, and it shows a banner explaining the move. It also offers "Save my unsent changes", which downloads any records still waiting to sync, or any guest records, as a file the new app's import accepts (Import custom yields from Excel/CSV in the browser #127). This is the way across for a device that stayed offline the whole time, which the server can't see.
Freeze the API. After a waiting period for devices to come online, a single setting puts the old API into read-only mode. Every write endpoint answers with a clear error, and reads keep working.
Both backends (api/ and server/) must honour the API setting.
Acceptance criteria
A guest with saved records sees a prompt to sign in, and signing in moves their records into the account
Signed-in users with pending changes see a prompt, and the sync finishes before they leave
With the app read-only, no new edit can be made in the browser, pending changes still sync, and a banner explains the move
What to build
This slice prepares the current Vercel app for the switch (ADRs 0001 and 0002 in #122). Browser storage can't cross to the new address, so the last releases of the old app have to move data into accounts and then stop changes, in this order:
Both backends (
api/andserver/) must honour the API setting.Acceptance criteria
api/andserver/answers with a documented error, and tests cover each oneBlocked by
None - can start immediately