Make mobile issue capture idempotent across retries #178

Merged
rockachopa merged 1 commits from timmy/177-idempotent-mobile-issue-create into main 2026-08-07 07:55:31 +00:00
Member

Closes #177

Product slice

  • persist one operation key with the mobile issue draft across ambiguous failures and reloads
  • coalesce/replay keyed creation requests without a second upstream Gitea mutation
  • reject changed payloads and bound retained operations by TTL and size

Verification

  • RED observed for concurrent duplicate creation, timeout recovery, payload conflict, registry bounds, and reload persistence
  • pytest -q — 239 passed
  • python3 -m compileall -q src
  • node --check frontend/create-issue-sheet.js
Closes #177 ## Product slice - persist one operation key with the mobile issue draft across ambiguous failures and reloads - coalesce/replay keyed creation requests without a second upstream Gitea mutation - reject changed payloads and bound retained operations by TTL and size ## Verification - RED observed for concurrent duplicate creation, timeout recovery, payload conflict, registry bounds, and reload persistence - `pytest -q` — 239 passed - `python3 -m compileall -q src` - `node --check frontend/create-issue-sheet.js`
rockachopa added 1 commit 2026-08-07 07:54:53 +00:00
feat: make mobile issue capture idempotent (#177)
All checks were successful
CI / lint (pull_request) Successful in 13s
CI / build-frontend (pull_request) Successful in 4s
6f54d5764b
rockachopa merged commit 1947f878e9 into main 2026-08-07 07:55:31 +00:00
Sign in to join this conversation.
No reviewers
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: stackchain/stackchain-dashboard#178
No description provided.