Repository navigation
fix(tables): keep table cells working through lost database connections - #9705
waleedlatif1 wants to merge 9 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
[Medium impact] The PR appears safe to merge; no new actionable issue was found. SummaryKeeps table cells moving through lost database connections without replaying workflows.
All previous threads were rechecked against the supplied current code; no original finding remains outstanding. None had a supplied Comment number.
|
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 13 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 13 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 13 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 13 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
Track whether a carrier's own pickup landed instead of inferring it from the write. After a pickup, an unclaimed marker belongs to a newer run, so the write is dropped and the cascade drains it. Before a pickup, an error over a marker leaves the execution id null so a newer carrier can still claim it.
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 13 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
A repeat after a lost reply finds nothing left to update, so it cannot name the cells the lost attempt failed. The cleanup now owns its retry and signals a refetch. Correct the retry budget comment: maxElapsedMs only decides whether another attempt starts.
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 13 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
Summary
withDatabaseReadRetry, bounded by attempts and elapsed time.withIdempotentWriteRetryfor pickup and terminal state writes. It retries connection loss only, never lock, deadlock, or capacity errors.writeWorkflowGroupStateDurablychecks what the last attempt did before repeating it. A landed commit only re-emits its event, so an edit made since survives and a cleared cell stays cleared. Cancel stamps have no guard and are never repeated.Type of Change
Testing
cell-write.integration.ts: real schema,updateRow, and SQL guards through a proxy that forwards COMMIT, withholds the reply, and sends a real TCP reset. Covers a landed commit, a later user edit, a cleared cell, a Stop or newer run during backoff, a repeated cancel stamp, and which row markers get failed.connection-loss.integration.ts: real resets against postgres.js for reads and transactional writes, including a full pool of reset sockets.workflow-column-execution-connection-loss.test.ts,read-retry.test.ts, and sibling cell-write, dispatcher, and resume suites.test:integration, plus scoped Biome. Type-check,check:audits, and the full test suite run in CI.Checklist
test-auditauthoring gate)