Skip to content

POR-22607: Retry attachment uploads and filter transient S3 network Sentry noise - #1405

Draft
cursor[bot] wants to merge 2 commits into
mainfrom
cursor/por-22607-cursor-automated-triage-response-b8b5
Draft

POR-22607: Retry attachment uploads and filter transient S3 network Sentry noise#1405
cursor[bot] wants to merge 2 commits into
mainfrom
cursor/por-22607-cursor-automated-triage-response-b8b5

Conversation

@cursor

@cursor cursor Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Changes

  • Added up to 3 retry attempts in uploadAttachmentHandler for signed-url fetch and Supabase storage upload failures (restores the retry behavior previously present in the removed inlineImage.ts helper).
  • Added client-side Sentry ignoreErrors patterns for transient storage upload network failures (RequestError: send request failed, S3 image upload failed).

Testing Criteria

  • yarn lint:check — passes.

Notes

  • Linear: POR-22607
  • Root cause: transient client network failure during TapWrite image/attachment upload to Supabase storage (S3-backed). The RequestError: send request failed message is a low-level transport error (VPN/proxy blip, DNS/TLS hiccup, ad blocker, or brief storage endpoint unreachability), not a tasks-app business-logic bug.
  • Behavioral fix: retry uploads up to 3 times before surfacing failure to the user.
  • Sentry fix: filter known-noise upload transport errors on the browser SDK, matching prior fetch-failure filtering (OUT-3756 / OUT-4086).
  • Manual intervention when retries still fail: ask the user to retry upload, check network/VPN/ad blockers, and confirm the workspace storage domain is reachable.

Impact & Surface Area of Change

  • Client-side attachment/image uploads in TapWrite editors (task description, comments, replies, templates).
  • Browser-side Sentry reporting only for the ignore list; no server-side behavior change.
Open in Web View Automation 

priosshrsth and others added 2 commits August 7, 2026 10:33
…1397)

deleteLabel passed `id: currentLabel?.id` straight into label.delete, so when
findFirst matched nothing Prisma got `{ id: undefined }` and threw
PrismaClientValidationError, failing the whole delete transaction. Return early
instead.
…entry noise

Add up to 3 attempts in uploadAttachmentHandler for signed-url fetch and
Supabase storage PUT failures. Filter client-side Sentry noise for transient
RequestError/send-request-failed patterns during image uploads.

Co-authored-by: Neil Raina <makeitraina@users.noreply.github.com>
@linear-code

linear-code Bot commented Aug 21, 2026

Copy link
Copy Markdown

POR-22607

@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tasks-app Ready Ready Preview Aug 21, 2026 5:08am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants