diff options
| author | historia <[not public]> | 2026-09-15 20:14:02 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-15 20:14:02 -0400 |
| commit | 69235cac5b3da5ff0dc20310e7474cabd8e63ba3 (patch) | |
| tree | ce96c9506531e219c157f29ac6a6dc53de1df15b /internal/admin/undo.go | |
| parent | 6f3c43aca62a7d33a19f14f6ad7c16891952673a (diff) | |
| download | thehouseoficarus-69235cac5b3da5ff0dc20310e7474cabd8e63ba3.tar.gz | |
feat: route all html editor API mutations through single owner task
Diffstat (limited to 'internal/admin/undo.go')
| -rw-r--r-- | internal/admin/undo.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/admin/undo.go b/internal/admin/undo.go index 0f9744c..98d8d9a 100644 --- a/internal/admin/undo.go +++ b/internal/admin/undo.go @@ -61,6 +61,10 @@ type UndoInfo struct { RedoSize int `json:"redo_size"` } +// UndoStack protects history with a mutex, not live game state. Production +// callers must execute Push/Undo/Redo/Clear within the editor's owner task. +// Undo/Redo and the subsequent rebuildAfterUndo are one task, not separate +// dispatches; migrateRoomIDs is an owner-only callback. type UndoStack struct { mu sync.Mutex dataDir string |
