* fix: Use savepoints to prevent race condition in get_or_create chain Replace commit()/rollback() with begin_nested() savepoints in get_or_create_workspace, get_or_create_peers, and get_or_create_session so that an IntegrityError rollback in a nested call doesn't undo flushed work from the caller. Moves transaction commit responsibility to the outermost caller and defers cache operations to post-commit callbacks on GetOrCreateResult. Closes DEV-1321 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: Add missing commit and post_commit in chat endpoint The chat() endpoint in routers/peers.py called get_or_create_peers() but discarded the result without committing or invoking post_commit(). This meant new peers created lazily via SDK chat calls were never persisted, and cache invalidation was skipped. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| collection.py | ||
| deriver.py | ||
| document.py | ||
| message.py | ||
| peer.py | ||
| peer_card.py | ||
| representation.py | ||
| session.py | ||
| webhook.py | ||
| workspace.py | ||