PUT now takes {changed, deleted} and merges per annotation id, so concurrent
edits to different annotations both survive; same-annotation edits are
last-write-wins by arrival. No version/locking. No-op saves don't write a
revision. Tests cover merge, LWW, stale-client safety, attribution
(server-stamped/spoof-resistant, creator preserved), revisions, and access.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| management | ||
| migrations | ||
| __init__.py | ||
| admin.py | ||
| apps.py | ||
| attribution.py | ||
| models.py | ||
| tests.py | ||
| urls.py | ||
| views.py | ||