quest'n'click 4.5.0 · r1

Built for quest'n'click 4.5.0, revision r1. Whether it is published, and which one is current, is recorded at publication.json.

Write refused on the hosted Studio: stale base revision (409)

Français · Type: troubleshooting · Audience: author · Context: hosted Studio · Status: ready · Applies from: 4.2.3

The Studio Server (hosted team Studio) · contract: experimental · verified by CI (support matrix of 4.4.0, 2026-10-23): Postgres, S3 and Keycloak in CI; Chromium and Firefox (job studio-hosted); WebKit on macOS, by hand only · automated checks: jobs studio-hosted, studio-install-smoke; CI plan studioHosted; 3 test files · people's passes: studio-hosted not run (#149), studio-collab not run (#150), studio-preview not run (#166), studio-assets-hosted not run (#167), studio-mcp-remote not run (#196), studio-oidc-generic not run (#197) · known limits: per-file

On a team Studio, your save was refused with a 409: someone else saved the same file after you opened it. Nothing of theirs was overwritten, and your draft is kept. This page says how to see what changed and how to save yours.

Symptom

Possible causes

Each write says which revision its editor read, in the header x-studio-base; every read answers with its revision in x-studio-revision. If one of the files the write changes was saved by someone else after that revision, the write is refused:

  1. Another member saved the same file after you opened it. The most common case.
  2. You saved it yourself from somewhere else: another tab, or an AI agent working for you through the MCP. Only the writes of the same tab, CLI or MCP session never refuse each other.
  3. Undo or redo of an operation whose file someone else changed since: refused the same way, "cannot undo …: <file> changed since".

Limit · per-file The check is per file: two notes edited at once are one file (notes.json), so they refuse each other. A script that sends no x-studio-base is not checked this way. The room view's placement is checked against what the Rooms tab read, while the view may still show an older preview for a moment.

Diagnosis

Fix

  1. Read what changed in the dialog: it may already hold what you wanted, or clash with it.
  1. For an edit the server makes on the file (a text, a value, a note, a voice line): click "Apply my edit on the latest version". Your edit is applied on top of theirs; nothing of theirs is lost.
  1. For a whole document (a room's layout, the storyboard): either click "Replace with my version (drops their change)", knowing it removes theirs, or copy your draft, reload the file, and redo your change on the new version.
  1. Through the API, read the file again (its answer gives the new x-studio-revision), redo the change, and send it with that revision as x-studio-base. Nothing is sent again unless you ask.

Check it is fixed

The save goes through, with a revision after the one in the error's head. GET /api/ops lists both operations, theirs and yours.

Neighbouring cases


Edit the source of this page · Report an error