Store the document PDF on quorum request - #1794
Conversation
709f7ac to
beae13d
Compare
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
beae13d to
77e6d8e
Compare
There was a problem hiding this comment.
All reported issues were addressed across 6 files (changes from recent commits).
Requires human review: Auto-approval blocked because this review re-detected 2 unresolved issues already reported by Cubic.
Tip: instead of fixing issues one by one fix them all with cubic
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
1e284c0 to
0392e95
Compare
There was a problem hiding this comment.
All reported issues were addressed across 8 files (changes from recent commits).
Tip: instead of fixing issues one by one fix them all with cubic
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
d919f37 to
c412cb0
Compare
There was a problem hiding this comment.
All reported issues were addressed across 7 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Fix all with cubic | Re-trigger cubic
A refused quorum previously had no file of its own, so the reviewed version was lost after a later quorum was accepted. Generate the PDF in a dedicated worker so Chrome does not hold database locks, and keep the file internal to the quorum row. Signed-off-by: Sacha Al Himdani <sacha@probo.com>
c412cb0 to
dda2602
Compare
There was a problem hiding this comment.
All reported issues were addressed across 7 files (changes from recent commits).
Requires human review: Auto-approval blocked because this review re-detected 1 unresolved issue already reported by Cubic.
Tip: Review your code locally with the cubic CLI to iterate faster.
Fix all with cubic | Re-trigger cubic
A refused quorum previously had no file of its own, so the reviewed version was lost after a later quorum was accepted.
Generate the PDF in a dedicated worker so Chrome does not hold database locks, and keep the file internal to the quorum row.
Summary by cubic
A refused quorum previously had no file of its own, so the reviewed version was lost after a later quorum was accepted. This PR stores the reviewed document as a PDF on the quorum row, generated by a dedicated worker so Chrome never holds database locks, and exposes the quorum through the GraphQL Node interface.
Coredata
+289-13file_id,pdf_attempt_count, andpdf_claimed_atto quorums via a new migration.ClaimNextWithoutFileForUpdateatomically claims the oldest pending quorum without a PDF, skipping locked rows and expired claims, and increments the attempt counter.HasPDFClaim,AttachPDFFile, andReleasePDFClaimguard the claim lifecycle so the file attaches only while the claim is held and failures retry.Service
+341-11loadDocumentPDFInputandrenderDocumentPDFfor reuse, and wires the worker intoprobodstartup and shutdown.GraphQL API
+10-0ActionDocumentVersionApprovalListpermission.Written for commit dda2602. Summary will update on new commits.