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.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: evilchili/ribbit#7
No description provided.