This issue applies only to running with the Helix 6 backend.
For documents stored in Helix 6 api.aem.live, collab should check periodically (e.g. every 5 seconds) that the document hasn't been changed in the backend by another entity. For example the document could have been deleted, or a different document copied in its place (a direct POST/PUT call on api.aem.live sourcebus).
Collab should do a HEAD request every x seconds to check that the ETag is still the same as the ETag that it knows, and if it isn't (or if the doc is deleted) it should invalidate its own internal state for that document.
We should make sure that the polling is only happening when the collab session is happening, and that it doesn't keep the collab session alive if it's not actually used. This should be possible by using a normal JS timeout (avoiding a Durable Object alarm/timer).
This issue applies only to running with the Helix 6 backend.
For documents stored in Helix 6 api.aem.live, collab should check periodically (e.g. every 5 seconds) that the document hasn't been changed in the backend by another entity. For example the document could have been deleted, or a different document copied in its place (a direct POST/PUT call on api.aem.live sourcebus).
Collab should do a HEAD request every x seconds to check that the ETag is still the same as the ETag that it knows, and if it isn't (or if the doc is deleted) it should invalidate its own internal state for that document.
We should make sure that the polling is only happening when the collab session is happening, and that it doesn't keep the collab session alive if it's not actually used. This should be possible by using a normal JS timeout (avoiding a Durable Object alarm/timer).