Skip to content

docs(nextjs): Add waitUntil workaround for Vercel functions#17061

Open
JPeer264 wants to merge 1 commit intomasterfrom
jp/waituntil-nextjs
Open

docs(nextjs): Add waitUntil workaround for Vercel functions#17061
JPeer264 wants to merge 1 commit intomasterfrom
jp/waituntil-nextjs

Conversation

@JPeer264
Copy link
Member

DESCRIBE YOUR PR

A follow up to #16818 (comment) that also adds the usage of waitUntil

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

LEGAL BOILERPLATE

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

EXTRA RESOURCES

@JPeer264 JPeer264 requested review from Lms24 and chargome March 23, 2026 08:13
@JPeer264 JPeer264 self-assigned this Mar 23, 2026
@vercel
Copy link

vercel bot commented Mar 23, 2026

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

Project Deployment Actions Updated (UTC)
sentry-docs Ready Ready Preview, Comment Mar 23, 2026 8:22am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
develop-docs Ignored Ignored Mar 23, 2026 8:22am

Request Review

Comment on lines 384 to 394
);

waitUntil(
Sentry.startSpan(
{ name: "webhook.process", op: "task" },
() => processWebhook(data)
)
);

return Response.json({ received: true });
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The code example incorrectly shows after() and waitUntil() being used together, which will cause the wrapped processWebhook(data) function to execute twice for each request.
Severity: CRITICAL

Suggested Fix

The code example should be updated to show after() and waitUntil() as mutually exclusive alternatives. This can be achieved by providing separate code blocks or using tabs to let the user switch between the after() example and the waitUntil() example. Do not show both being called in the same function body.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: docs/platforms/javascript/guides/nextjs/tracing/index.mdx#L383-L394

Potential issue: The documentation for handling detached spans provides a code example
that simultaneously calls both `after()` and `waitUntil()` with the same
`processWebhook(data)` function. Since both `after()` and `waitUntil()` are designed to
execute a task after the response is sent, a developer copying this example would
inadvertently cause their webhook handler to run twice. This could lead to critical
production issues like duplicate payment charges, duplicate order creation, or redundant
notifications. The surrounding documentation text correctly presents these functions as
alternatives, but the code example is misleadingly structured.

Did we get this right? 👍 / 👎 to inform future reviews.

Copy link
Contributor

@coolguyzone coolguyzone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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