casual-simulation / casualos

Casual Open Simulation for the Web
https://ab1.bot
MIT License
48 stars 8 forks source link

YJS updates that overwrite bots are processed incorrectly #487

Closed KallynGowdy closed 3 weeks ago

KallynGowdy commented 3 weeks ago

In the RemoteYjsPartition and YjsPartition, some yjs updates may be processed incorrectly. In some cases, a YJS update will surface a set of tag changes as an update to the bot map itself, instead of as separate tags.

This may occur in cases where a bot gets overwritten with another bot (as may be the case if two separate initialization updates for a bot are applied). Currently, the YJS partitions are not correctly setup to handle this case, and simply ignore the updates.

The result of ignoring these updates is a desync between CasualOS and yjs, which may lead to a variety of issues.