feat(GAL): Add idempotency key to publish functions#119534
Conversation
c44d404 to
f291887
Compare
f291887 to
c0175fc
Compare
c0175fc to
9f3c7f0
Compare
| actor_id=payload["actor_id"], | ||
| source=payload["source"], | ||
| data=payload["data"], | ||
| idempotency_key=payload.get("idempotency_key"), |
There was a problem hiding this comment.
Yeah, we need the dup handling here.
9f3c7f0 to
cfe21de
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit cfe21de. Configure here.
| ) | ||
| except IntegrityError: | ||
| # Idempotency conflict; we treat this as a no-op. | ||
| pass |
There was a problem hiding this comment.
Duplicate key still triggers processing
Medium Severity
After an idempotency IntegrityError, the handler still registers transaction.on_commit to run trigger_group_log_processing. A collision is meant to be a no-op for the publish path, but this schedules derived work (inline or async) even when no new log entry was written.
Reviewed by Cursor Bugbot for commit cfe21de. Configure here.
cfe21de to
aab5246
Compare
Intended to help prevent collisions on activity double-write and activity backfill (but may be useful overall!)
aab5246 to
c331b4d
Compare


Intended to help prevent collisions on activity double-write and activity backfill (but may be useful overall!)