svelte-kanban icon indicating copy to clipboard operation
svelte-kanban copied to clipboard

Multiuser CRDT issues

Open dev-guy opened this issue 1 year ago • 0 comments

Test Cases

The following tests need to be run, as real tests and/or thought experiments. List the changes that need to be made to the component in the next section.

  1. Tracking which card is being dragged using the X,Y board coordinates will not work when other users can change the board at the same time. Instead, the id of the card will need to be tracked and the card will need to be located by its id. This will be addressed when #61 is implemented.
  2. The drop target column can be deleted before the user releases the mouse button. This bug will be addressed after #61.
  3. The dragged card can be deleted before the user releases the mouse button. This bug will be addressed after #61.
  4. The column from which a card is dragged can be deleted before the user releases the mouse button. This bug will be addressed after #61.
  5. Moving a column by one user immediately after another user deletes a column may result in errors
  6. Moving or dragging a card within a column immediately after another users deletes the same or different card in the target column may result in errors
  7. Updating a card (eg its title or category) immediately after another user deletes it
  8. Two users drag the same card to different columns at roughly the same time

Changes Needed

  1. Pass column object (from the store) to <Column> instead of an index number, because columns can be reordered
  2. Pass card object (from the store) to <Card> instead of an index number, because cards can be reordered
  3. Pass column objects instead of indices via events
  4. Pass card objects instead of indices via events

dev-guy avatar Sep 23 '23 22:09 dev-guy