docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

docs(nextjs): added guide for Cloudlfare OpenNext support - #15652

Merged
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide
Dec 2, 2025
Merged

docs(nextjs): added guide for Cloudlfare OpenNext support#15652
logaretm merged 4 commits into
masterfrom
awad/nextjs-cf-workers-guide

Conversation

@logaretm

@logaretmlogaretm commented Nov 27, 2025

Copy link
Copy Markdown
Member

I won't merge this yet as it partially needs getsentry/sentry-javascript#18336 to be released, but I wanted some initial opinions.

This PR adds new information about supporting Next.js deployments on Cloudflare Workers via Cloudflare's official OpenNext adapter.

During my investigation of Cloudflare Workers not sending any errors or traces for Next.js apps, I found out that it was because Cloudflare workers didn't support https.request module until recently which would've prevented the SDK from sending anything. Setting the compat date alone fixes most of the sending issues.

So I wanted to document this information so users are able to find it more easily.

My findings can be verified by checking out this repo and try setting the compat date to anything below August 16th. You don't need a cloudflare account, just wranger dev should give you a similar environment locally to verify that.


Question for reviewers: Should this live in special guides like I did here? or maybe add it to the manual setup?

@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
sentry-docsReadyReadyPreviewCommentDec 2, 2025 1:52pm
1 Skipped Deployment
ProjectDeploymentPreviewCommentsUpdated (UTC)
develop-docsIgnoredIgnoredPreviewDec 2, 2025 1:52pm

@codecov

codecovBot commented Nov 28, 2025

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 53.93kB (0.15%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle nameSizeChange
sentry-docs-server-cjs24.85MB53.93kB (0.22%) ⬆️
sentry-docs-client-array-push10.22MB-6 bytes (-0.0%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: sentry-docs-server-cjs

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
1729.js-3 bytes5.5MB-0.0%
6529.js-3 bytes4.92MB-0.0%
../instrumentation.js-3 bytes4.82MB-0.0%
../app/[[...path]]/page.js.nft.json17.98kB1.08MB1.69%
../app/platform-redirect/page.js.nft.json17.98kB1.08MB1.69%
../app/sitemap.xml/route.js.nft.json17.98kB1.08MB1.7%
view changes for bundle: sentry-docs-client-array-push

Assets Changed:

Asset NameSize ChangeTotal SizeChange (%)
static/chunks/pages/_app-*.js-3 bytes893.1kB-0.0%
static/chunks/9366-*.js-3 bytes436.99kB-0.0%
server/middleware-*.js6.46kB7.46kB645.5% ⚠️
server/middleware-*.js-6.46kB1.0kB-86.59%
static/td9sZNUUKk6XDqFdO_yxF/_buildManifest.js(New)684 bytes684 bytes100.0% 🚀
static/td9sZNUUKk6XDqFdO_yxF/_ssgManifest.js(New)77 bytes77 bytes100.0% 🚀
static/nqm6A74xPzr4rwqrvKq8e/_buildManifest.js(Deleted)-684 bytes0 bytes-100.0% 🗑️
static/nqm6A74xPzr4rwqrvKq8e/_ssgManifest.js(Deleted)-77 bytes0 bytes-100.0% 🗑️

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, I think it makes sense to set up a separate page for this. Ideally, our quick start guides shouldn't contain any information that can't be found elsewhere, so I think your approach is a good one.

Overall, I think the page looks great 👍. Please add a little more information so that users understand why they need to do this (see my comments).

@logaretm

Copy link
Copy Markdown
MemberAuthor

Many thanks for the review, I updated the page with your suggestions.

@inventarSarahinventarSarah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

thanks for the update -- looks good to me! 🌟

logaretmand others added 2 commits December 2, 2025 14:40
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
…ng-on-cloudflare.mdx
Co-authored-by: Sarah Mischinger <sarah@codingwriter.com>
@logaretm

Copy link
Copy Markdown
MemberAuthor

Release 10.28.0 was tagged with the flushing mechanism needed, merging this now.

@logaretm
logaretm merged commit d167c05 into masterDec 2, 2025
15 checks passed
@logaretm
logaretm deleted the awad/nextjs-cf-workers-guide branch December 2, 2025 15:02
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Dec 18, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@logaretm@inventarSarah