Ctrl K
ComunidadGuías…

changelog.d/5004-role-revocation-work-kept.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
- **Two people changing one Design text no longer lose a text silently (#5004).** On reconnect after a stale canvas, the sync kept one text by client order and the other one disappeared without a word. The person who reconnects now gets a Czech notice with the text that lost, whichever side it came from, and can restore or copy it. The notice is a sealed browser draft, so it survives a reload and is removed with the other drafts when read access goes.
- **Losing read access on a Project now says that the local draft is gone (#5004).** The browser deleted an unsaved source or comment draft on a verified read revocation, as Design does, but the page only asked to reopen once access returned, which promised a draft that no longer existed. The Project page and the library viewer now say plainly that the local draft was deleted. The deletion itself stays: a person without read access keeps no copy of the content.
- **Design no longer claims changes are saved after the write right went (#5004).** With work that never reached the server, the status said "Live · changes saved as you work" next to the Read only badge. It now says in Czech that the unsent changes stay in this browser and return with the right. Synced work reads as up to date. A refused Project save now shows a Czech sentence instead of the raw API error.
- **Design tracks work until the server confirms it (#5004).** The conflict check compared against a canvas that already held edits still queued or sent but not confirmed, so a text could lose with no notice, and the status could read "Live · up to date" over unconfirmed work. The editor now keeps the confirmed canvas apart from local work, across reconnects, new connections, a lost write right and reloads, and shows "Live · sending changes…" until a server reply covers the work. A text losing to a frame while connected is reported too.
- **Restoring a Design text changes only the text (#5004).** Restore used to write back the whole stale layer over newer position, style, name and link. If the text changed after the conflict, the lost text now lands in a separate layer. Conflict records merge under the cross-tab draft lock, so one tab no longer deletes another tab's records, and a failed read or write is not taken for an empty list.
- **Design keeps a deletion in the conflict check and rapid saves on the socket (#5004).** A text that lost to a deletion was not reported, because a deletion does not advance the Yjs state vector. Confirming one tab's canvas no longer clears another tab's mark for work that canvas does not hold. Version saves now share the client's sync pacing with background barriers, so rapid saves cannot trigger the server's 4429 close.