Skip to content

Published update record editing

Authors can correct an existing update record from mobile and desktop Library work details, or from Overview in Editor and Studio on either screen size. Library places Update history above reviews; Overview places it below the work title. Choose Edit beside a record, change its title or optional details in the dialog, then Save. Other readers see the history without edit controls. Cancel discards the draft; a failed save retains it for retry. English, Simplified Chinese, Traditional Chinese, Japanese and Spanish labels are included.

Overview also allows authors to manage records after unpublishing a saved work. New unsaved drafts show a save-first hint without making a history request. Guest mode and read-only inspection do not offer editing. Published notes appear in an already open Overview without a page refresh; notes held for review remain outside published history. Dialog shortcuts keep text undo/redo local and save the update record without saving the work itself.

Overview also offers Add record to create a standalone update record. Enter a title and optional details, optionally mark it as a major update, then choose Add. Creating a record does not save editor changes or publish the work. Notifications are off by default; for a published work, authors can choose to notify players who have favorited it. Records for saved, unpublished works are always added without notifications, and notification controls remain unavailable until publication. Pending review restrictions still apply: resolve the pending review before adding a standalone record. Editing an existing record continues to send no notifications.

Data and permissions

  • POST /api/worlds/:id/updates accepts title, content, isMajor and optional notifyPlayers. Overview always sends an explicit notification choice; omitting it preserves the older notify-dialog behavior.
  • canCreate and canNotify in the history response distinguish independent record creation from editing existing notes and notifying readers. Overview reloads these permissions when publication or held-edit status changes.
  • PATCH /api/worlds/:id/updates/:updateId accepts title and content.
  • GET /api/worlds/:id/updates returns canEdit only for the work's author. The UI requires both this permission and the current surface's edit permission.
  • The write atomically checks the record's source world and its author. An administrator who is not the author cannot edit it through this endpoint.
  • History may combine language variants. The client preserves each record's source worldId and uses it when saving.
  • Editing preserves the original timestamp and major-update flag. It does not create a record, bump the work, resend notifications or change past notification snapshots.
  • No schema migration or dependency changes are needed.

Verification

The release is checked with the app's world-update-history and world-update-history-data test files, the server's world-update-edits, world-update-history, world-update-history-permissions, world-update-creation and world-update-note test files, the Library layout boundary checks, plus pnpm build and pnpm typecheck. These cover author access, source-world matching, validation, metadata preservation, cancellation, failed-save retries and stale responses after switching works. Creation coverage includes explicit notification choices, duplicate-submit prevention, and a delayed creation refresh succeeding or failing after a newer edit; neither response may replace the saved correction. No live production records are changed for verification.