Advisory locking for concurrent editing #7

Open
opened 2026-04-28 22:38:37 -07:00 by evilchili · 0 comments
Owner

Prevent multiple users from overwriting each other's changes.

  • Acquire lock on entering edit/wysiwyg mode
  • Release lock on switching to view or navigating away
  • Consumer provides lock backend callbacks:
    • acquire(pageId) → { success, holder? }
    • release(pageId)
    • check(pageId) → { locked, holder? }
  • Show lock status in UI (who is editing)
  • Graceful handling of stale locks (timeout)
  • Conflict resolution: warn if content changed while editing
Prevent multiple users from overwriting each other's changes. - Acquire lock on entering edit/wysiwyg mode - Release lock on switching to view or navigating away - Consumer provides lock backend callbacks: - acquire(pageId) → { success, holder? } - release(pageId) - check(pageId) → { locked, holder? } - Show lock status in UI (who is editing) - Graceful handling of stale locks (timeout) - Conflict resolution: warn if content changed while editing
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: evilchili/ribbit#7