Server updates undoable by the client

I want to have activities initiated by the user be completed by the server, and still undoable by the client.

Here is a simplified version of my code flow:

ymap.set(uuid, candidateValue)


	const uuid = event.changes.keys[0]
	const candidateValue = ymap.get(uuid)
	const persistedValue = persistToDatabase(candidateValue)
	// replace candidate with persisted
	ymap.set(, persistedValue)


undoManager.undo() // nothing happens

I would like the client to be able to delete the persisted key/value from the ymap by undoing.

To you so, the replace action should be done on behalf of the client from the server.
Is there a way to apply updates to a doc on behalf of a remote origin?

1 Like