From 63f3247b1b6d939994653529efdaaeb8fe887f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Omar=20L=C3=B3pez?= Date: Fri, 1 Sep 2023 14:36:59 -0700 Subject: [PATCH] fix: Vercel preview rewrites 404s (#11090) --- apps/web/pagesAndRewritePaths.js | 2 +- apps/web/test/lib/next-config.test.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/web/pagesAndRewritePaths.js b/apps/web/pagesAndRewritePaths.js index e406b11299..1ad9c00727 100644 --- a/apps/web/pagesAndRewritePaths.js +++ b/apps/web/pagesAndRewritePaths.js @@ -25,7 +25,7 @@ const otherNonExistingRoutePrefixes = ["forms", "router", "success", "cancel"]; let subdomainRegExp = (exports.subdomainRegExp = getSubdomainRegExp( process.env.NEXT_PUBLIC_WEBAPP_URL || "https://" + process.env.VERCEL_URL )); -exports.orgHostPath = `^(?${subdomainRegExp})\\..*`; +exports.orgHostPath = `^(?${subdomainRegExp})\\.(?!vercel\.app).*`; let beforeRewriteExcludePages = pages.concat(otherNonExistingRoutePrefixes); exports.orgUserRoutePath = `/:user((?!${beforeRewriteExcludePages.join("|")}|_next|public)[a-zA-Z0-9\-_]+)`; diff --git a/apps/web/test/lib/next-config.test.ts b/apps/web/test/lib/next-config.test.ts index 0237cdc0f4..efa875c56d 100644 --- a/apps/web/test/lib/next-config.test.ts +++ b/apps/web/test/lib/next-config.test.ts @@ -31,7 +31,7 @@ beforeAll(async () => { describe("next.config.js - Org Rewrite", () => { const orgHostRegExp = (subdomainRegExp: string) => // RegExp copied from pagesAndRewritePaths.js orgHostPath. Do make the change there as well. - new RegExp(`^(?${subdomainRegExp})\\..*`); + new RegExp(`^(?${subdomainRegExp})\\.(?!vercel\.app).*`); describe("Host matching based on NEXT_PUBLIC_WEBAPP_URL", () => { it("https://app.cal.com", () => { @@ -87,6 +87,11 @@ describe("next.config.js - Org Rewrite", () => { ?.orgSlug ).toEqual("some-other"); }); + it("Should ignore Vercel preview URLs", () => { + const subdomainRegExp = getSubdomainRegExp("https://cal-xxxxxxxx-cal.vercel.app"); + expect(orgHostRegExp(subdomainRegExp).exec("https://cal-xxxxxxxx-cal.vercel.app")).toMatchInlineSnapshot('null') + expect(orgHostRegExp(subdomainRegExp).exec("cal-xxxxxxxx-cal.vercel.app")).toMatchInlineSnapshot('null') + }); }); describe("Rewrite", () => {