From 8cb7cbd2fcccaf48cf7e975b9fc6be53050ba20e Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:01:21 +0800
Subject: [PATCH 089/257] Delete pages/guides/self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 54 ------------------------------
1 file changed, 54 deletions(-)
delete mode 100644 pages/guides/self-guided-tours.mdx
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
deleted file mode 100644
index fdc3ed1ecc..0000000000
--- a/pages/guides/self-guided-tours.mdx
+++ /dev/null
@@ -1,54 +0,0 @@
-import Script from "next/script";
-import { useEffect } from "react";
-
-function useNavatticPopup(embedUrl, config) {
- useEffect(() => {
- let cancelled = false;
- function init() {
- if (cancelled) return;
- if (typeof window !== "undefined" && window.NavatticEmbed?.initPopup) {
- window.NavatticEmbed.initPopup(embedUrl, config);
- } else {
- setTimeout(init, 100);
- }
- }
- init();
- return () => { cancelled = true; };
- }, [embedUrl, JSON.stringify(config)]);
-}
-
-export function DemoCard({ id, title, label = "Product Overview", thumbnail, alt = "" }) {
- const embedUrl = `https://capture.navattic.com/${id}`;
- useNavatticPopup(embedUrl, { title, preload: false });
- return (
-
window.NavatticEmbed?.openPopup(embedUrl)}
- >
-
- {thumbnail ? (
-
- ) : (
-
Preview loads on click
- )}
-
-
-
{label}
-
{title}
-
Opens in a modal.
-
-
- );
-}
-
-# Self-Guided Product Tours
-
-Explore our product with interactive, self-guided tours. Click any card to launch a pop-up walkthrough - no new windows.
-
-
-
-
-
-
From edd6431c95bd1dad00d1f06111c23aaac42014f2 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:06:04 +0800
Subject: [PATCH 090/257] Update cspell.json
---
cspell.json | 1 -
1 file changed, 1 deletion(-)
diff --git a/cspell.json b/cspell.json
index aac39afb41..b3197f2006 100644
--- a/cspell.json
+++ b/cspell.json
@@ -74,7 +74,6 @@
"cloudfunctions",
"cloudimport",
"clsx",
- "cmfkxwfa",
"cnlhbjpye",
"Cocoapods",
"cohorting",
From 4d122325314f29e62d00984af7df21db59d08f5d Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:06:25 +0800
Subject: [PATCH 091/257] Update _meta.ts
---
pages/guides/_meta.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/pages/guides/_meta.ts b/pages/guides/_meta.ts
index 32643e29b5..b734984015 100644
--- a/pages/guides/_meta.ts
+++ b/pages/guides/_meta.ts
@@ -5,7 +5,6 @@ export default {
},
"what-is-mixpanel": "What is Mixpanel?",
"whats-new": "What's New?",
- "self-guided-tours": "Self Guided Tours",
"solutions-and-workflows": {
"type": "separator",
"title": "SOLUTIONS & WORKFLOWS"
From 3bcea28cf176c626833fdfdc54ba1762ff9dc4d2 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:14:28 +0800
Subject: [PATCH 092/257] Create self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 56 ++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 pages/guides/self-guided-tours.mdx
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
new file mode 100644
index 0000000000..61551c4ace
--- /dev/null
+++ b/pages/guides/self-guided-tours.mdx
@@ -0,0 +1,56 @@
+import Script from "next/script";
+import { useEffect } from "react";
+
+function useNavatticPopup(embedUrl, config) {
+ useEffect(() => {
+ let cancelled = false;
+ function init() {
+ if (cancelled) return;
+ if (typeof window !== "undefined" && window.NavatticEmbed?.initPopup) {
+ window.NavatticEmbed.initPopup(embedUrl, config);
+ } else {
+ setTimeout(init, 100);
+ }
+ }
+ init();
+ return () => { cancelled = true; };
+ }, [embedUrl, JSON.stringify(config)]);
+}
+
+export function DemoCard({ id, title, label = "Product Overview", thumbnail, alt = "" }) {
+ const embedUrl = `https://capture.navattic.com/${id}`;
+ useNavatticPopup(embedUrl, { title, preload: false });
+ return (
+
window.NavatticEmbed?.openPopup(embedUrl)}
+ >
+
+ {thumbnail ? (
+
+ ) : (
+
Preview loads on click
+ )}
+
+
+
{label}
+
{title}
+
Opens in a modal.
+
+
+ );
+}
+
+# Self-Guided Product Tours
+
+Explore our product with interactive, self-guided tours. Click any card to launch a pop-up walkthrough - no new windows.
+
+
+
+
+
+
+
+
From e42b95c8d98cfa431af8c2070279e802b309e636 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:19:43 +0800
Subject: [PATCH 093/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 61551c4ace..ae9eefb2b1 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -42,15 +42,3 @@ export function DemoCard({ id, title, label = "Product Overview", thumbnail, alt
);
}
-
-# Self-Guided Product Tours
-
-Explore our product with interactive, self-guided tours. Click any card to launch a pop-up walkthrough - no new windows.
-
-
-
-
-
-
-
-
From 0cb5fd3e2d50a0bac74be456ef87aad00107c787 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:23:10 +0800
Subject: [PATCH 094/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 26 --------------------------
1 file changed, 26 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index ae9eefb2b1..e87d98ce87 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -16,29 +16,3 @@ function useNavatticPopup(embedUrl, config) {
return () => { cancelled = true; };
}, [embedUrl, JSON.stringify(config)]);
}
-
-export function DemoCard({ id, title, label = "Product Overview", thumbnail, alt = "" }) {
- const embedUrl = `https://capture.navattic.com/${id}`;
- useNavatticPopup(embedUrl, { title, preload: false });
- return (
-
window.NavatticEmbed?.openPopup(embedUrl)}
- >
-
- {thumbnail ? (
-
- ) : (
-
Preview loads on click
- )}
-
-
-
{label}
-
{title}
-
Opens in a modal.
-
-
- );
-}
From ec4bec0c78488756f035d83a3369594bcc9da944 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:25:28 +0800
Subject: [PATCH 095/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index e87d98ce87..f6c2681863 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -1,18 +1,2 @@
import Script from "next/script";
import { useEffect } from "react";
-
-function useNavatticPopup(embedUrl, config) {
- useEffect(() => {
- let cancelled = false;
- function init() {
- if (cancelled) return;
- if (typeof window !== "undefined" && window.NavatticEmbed?.initPopup) {
- window.NavatticEmbed.initPopup(embedUrl, config);
- } else {
- setTimeout(init, 100);
- }
- }
- init();
- return () => { cancelled = true; };
- }, [embedUrl, JSON.stringify(config)]);
-}
From 34108cd582d6a09055075bd680b801dd196ae43d Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:30:58 +0800
Subject: [PATCH 096/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index f6c2681863..a5ea0c9807 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -1,2 +1,14 @@
import Script from "next/script";
import { useEffect } from "react";
+
+# Self-Guided Product Tours
+
+Explore our product with interactive, self-guided tours. Click any card to launch a pop-up walkthrough - no new windows.
+
+
+
+
+
+
+
+
From 6a4b664306b5140c1030a81d58cb1542e09473da Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:35:10 +0800
Subject: [PATCH 097/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index a5ea0c9807..3667931049 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -1,6 +1,32 @@
import Script from "next/script";
import { useEffect } from "react";
+export function DemoCard({ id, title, label = "Product Overview", thumbnail, alt = "" }) {
+ const embedUrl = `https://capture.navattic.com/${id}`;
+ useNavatticPopup(embedUrl, { title, preload: false });
+ return (
+
window.NavatticEmbed?.openPopup(embedUrl)}
+ >
+
+ {thumbnail ? (
+
+ ) : (
+
Preview loads on click
+ )}
+
+
+
{label}
+
{title}
+
Opens in a modal.
+
+
+ );
+}
+
# Self-Guided Product Tours
Explore our product with interactive, self-guided tours. Click any card to launch a pop-up walkthrough - no new windows.
From ded5bae82e1e901554020855662ea6bc998ccd56 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:39:15 +0800
Subject: [PATCH 098/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 3667931049..61551c4ace 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -1,6 +1,22 @@
import Script from "next/script";
import { useEffect } from "react";
+function useNavatticPopup(embedUrl, config) {
+ useEffect(() => {
+ let cancelled = false;
+ function init() {
+ if (cancelled) return;
+ if (typeof window !== "undefined" && window.NavatticEmbed?.initPopup) {
+ window.NavatticEmbed.initPopup(embedUrl, config);
+ } else {
+ setTimeout(init, 100);
+ }
+ }
+ init();
+ return () => { cancelled = true; };
+ }, [embedUrl, JSON.stringify(config)]);
+}
+
export function DemoCard({ id, title, label = "Product Overview", thumbnail, alt = "" }) {
const embedUrl = `https://capture.navattic.com/${id}`;
useNavatticPopup(embedUrl, { title, preload: false });
From ff602ca9740cf3d52c50f7f5ea9707ca1d73d0f2 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:41:35 +0800
Subject: [PATCH 099/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 169 +++++++++++++++++++++--------
1 file changed, 124 insertions(+), 45 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 61551c4ace..f523572f60 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -1,56 +1,135 @@
import Script from "next/script";
import { useEffect } from "react";
-function useNavatticPopup(embedUrl, config) {
- useEffect(() => {
- let cancelled = false;
- function init() {
- if (cancelled) return;
- if (typeof window !== "undefined" && window.NavatticEmbed?.initPopup) {
- window.NavatticEmbed.initPopup(embedUrl, config);
- } else {
- setTimeout(init, 100);
- }
- }
- init();
- return () => { cancelled = true; };
- }, [embedUrl, JSON.stringify(config)]);
-}
-
-export function DemoCard({ id, title, label = "Product Overview", thumbnail, alt = "" }) {
- const embedUrl = `https://capture.navattic.com/${id}`;
- useNavatticPopup(embedUrl, { title, preload: false });
- return (
-
window.NavatticEmbed?.openPopup(embedUrl)}
- >
-
- {thumbnail ? (
-
- ) : (
-
Preview loads on click
- )}
-
-
-
{label}
-
{title}
-
Opens in a modal.
-
-
- );
-}
-
# Self-Guided Product Tours
Explore our product with interactive, self-guided tours. Click any card to launch a pop-up walkthrough - no new windows.
+
+
-
-
-
+
+
+
+
+
+
+
+
+ Product Overview
+
+
2-minute mini product tour
+
Opens in a modal, not a new window.
+
+
+
+
+
+
+
+
+
+
+ Product Overview
+
+
5-minute full product tour
+
Opens in a modal.
+
+
+
+
+
+
+
+
+
+
+ CRM
+
+
Customizing the Lead Page
+
Opens in a modal.
+
+
+
From 8517fa37144aca021a6bec0732dd5c82fae0a353 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:43:12 +0800
Subject: [PATCH 100/257] Update cspell.json
---
cspell.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/cspell.json b/cspell.json
index b3197f2006..aac39afb41 100644
--- a/cspell.json
+++ b/cspell.json
@@ -74,6 +74,7 @@
"cloudfunctions",
"cloudimport",
"clsx",
+ "cmfkxwfa",
"cnlhbjpye",
"Cocoapods",
"cohorting",
From 345a8399e54db674453d7c8cd024af00e1410907 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 21:50:31 +0800
Subject: [PATCH 101/257] Update _meta.ts
---
pages/guides/_meta.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/pages/guides/_meta.ts b/pages/guides/_meta.ts
index b734984015..32643e29b5 100644
--- a/pages/guides/_meta.ts
+++ b/pages/guides/_meta.ts
@@ -5,6 +5,7 @@ export default {
},
"what-is-mixpanel": "What is Mixpanel?",
"whats-new": "What's New?",
+ "self-guided-tours": "Self Guided Tours",
"solutions-and-workflows": {
"type": "separator",
"title": "SOLUTIONS & WORKFLOWS"
From 13bfd726711a57b60b84d2630f81b469015f616c Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 22:00:51 +0800
Subject: [PATCH 102/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 79 ++++++++++++++++++++----------
1 file changed, 52 insertions(+), 27 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index f523572f60..056292f8d4 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -8,33 +8,58 @@ Explore our product with interactive, self-guided tours. Click any card to launc
From 9888747e1ad658c5b4f13ece92795f0a9c228792 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Tue, 21 Oct 2025 23:03:07 +0800
Subject: [PATCH 103/257] Update cspell.json
---
cspell.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/cspell.json b/cspell.json
index aac39afb41..54dc4752bd 100644
--- a/cspell.json
+++ b/cspell.json
@@ -142,6 +142,7 @@
"Iframely",
"intervalize",
"Intervalized",
+ "inited",
"irlandese",
"Isha",
"ivandiblasi",
From 19afbc98f6df514c145d2ef3c6b7826f5795e2cc Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 08:49:21 +0800
Subject: [PATCH 104/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 056292f8d4..1993fce090 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -15,25 +15,33 @@ Explore our product with interactive, self-guided tours. Click any card to launc
else document.addEventListener("DOMContentLoaded", fn);
}
- var inited = Object.create(null);
-
- function ensureEmbed(cb) {
+ // Inject the CDN script if it's not already present
+ function ensureScript(cb) {
if (window && window.NavatticEmbed && window.NavatticEmbed.initPopup) return cb();
- var tries = 0;
- (function wait() {
- if (window && window.NavatticEmbed && window.NavatticEmbed.initPopup) return cb();
- if (tries++ > 100) return console.warn("[Navattic] embed script not found.");
- setTimeout(wait, 100);
- })();
+ var existing = document.querySelector('script[data-navattic-cdn="1"]');
+ if (!existing) {
+ var s = document.createElement("script");
+ s.src = "https://cdn.navattic.com/js/embed.umd.js";
+ s.defer = true;
+ s.async = true;
+ s.setAttribute("data-navattic-cdn", "1");
+ s.onload = function(){ cb(); };
+ s.onerror = function(){ console.warn("[Navattic] failed to load CDN script"); };
+ document.head.appendChild(s);
+ } else {
+ existing.addEventListener("load", cb);
+ }
}
+ var inited = Object.create(null);
+
function initAndOpen(el) {
var id = el.getAttribute("data-navattic-id");
if (!id) return;
var title = el.getAttribute("data-navattic-title") || "Product tour";
var url = "https://capture.navattic.com/" + id;
- ensureEmbed(function () {
+ ensureScript(function () {
try {
if (!inited[url]) {
window.NavatticEmbed.initPopup(url, { title: title, preload: false });
@@ -49,7 +57,6 @@ Explore our product with interactive, self-guided tours. Click any card to launc
}
whenReady(function () {
- // Delegate clicks from the whole document (covers dynamically-rendered buttons too)
document.addEventListener("click", function (evt) {
var el = evt.target.closest("[data-navattic-id]");
if (el) {
From 73ca67929c81dc7ced1a34bf2db12f4b84b2a1ac Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 12:34:50 +0800
Subject: [PATCH 105/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 157 +++++++----------------------
1 file changed, 37 insertions(+), 120 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 1993fce090..84140bcd69 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -1,165 +1,82 @@
import Script from "next/script";
-import { useEffect } from "react";
# Self-Guided Product Tours
-Explore our product with interactive, self-guided tours. Click any card to launch a pop-up walkthrough - no new windows.
+Explore our product with interactive, self-guided tours.
+Click any card to launch a pop-up walkthrough — no new windows.
-
-
-
+
+ {/* Card 1 */}
-
-
-
-
+
Product Overview
-
2-minute mini product tour
-
Opens in a modal, not a new window.
+
+ 2-minute mini product tour
+
+
Opens in a modal.
+ {/* Card 2 */}
-
-
-
-
+
Product Overview
-
5-minute full product tour
+
+ 5-minute full product tour
+
Opens in a modal.
+ {/* Card 3 */}
-
-
-
-
+
CRM
-
Customizing the Lead Page
+
+ Customizing the Lead Page
+
Opens in a modal.
From 35ed0bbc6fa124b31f86298a99546386ec4379ae Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 12:58:26 +0800
Subject: [PATCH 106/257] Update next.config.mjs
---
next.config.mjs | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/next.config.mjs b/next.config.mjs
index dbb5a302dc..41673fb787 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -65,3 +65,33 @@ export default withNextra({
});
},
});
+
+// NEW: site-wide security headers incl. CSP
+async headers() {
+ // IMPORTANT: merge your existing allowed domains into these directives.
+ const csp = [
+ "default-src 'self';",
+ // Allow Navattic loader
+ "script-src 'self' 'unsafe-eval' 'unsafe-inline' https://js.navattic.com;",
+ // Allow the Navattic popup iframe
+ "frame-src 'self' https://capture.navattic.com;",
+ // (Optional) tighten/extend other directives as needed:
+ // "img-src 'self' data: blob:;",
+ // "style-src 'self' 'unsafe-inline';",
+ // "connect-src 'self';",
+ ].join(" ");
+
+ return [
+ {
+ source: "/(.*)",
+ headers: [
+ { key: "Content-Security-Policy", value: csp },
+ // You may also already set these elsewhere; keep or remove as appropriate:
+ // { key: "X-Content-Type-Options", value: "nosniff" },
+ // { key: "Referrer-Policy", value: "same-origin" },
+ // { key: "X-Frame-Options", value: "SAMEORIGIN" }, // avoid if you embed iframes cross-origin
+ ],
+ },
+ ];
+},
+});
From 87ccbc49cd52edd52273c72545e53d699d5ccb46 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 13:08:48 +0800
Subject: [PATCH 107/257] Update next.config.mjs
---
next.config.mjs | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/next.config.mjs b/next.config.mjs
index 41673fb787..dfc7f36000 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -64,7 +64,6 @@ export default withNextra({
return parseRedirectPartsFromFile(filecontent).map(formatForNextRedirect);
});
},
-});
// NEW: site-wide security headers incl. CSP
async headers() {
@@ -92,6 +91,5 @@ async headers() {
// { key: "X-Frame-Options", value: "SAMEORIGIN" }, // avoid if you embed iframes cross-origin
],
},
- ];
-},
+ ];
});
From 062d0bf6d942d444132c9e13af0a9dfea7208688 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 13:11:20 +0800
Subject: [PATCH 108/257] Update next.config.mjs
---
next.config.mjs | 30 +-----------------------------
1 file changed, 1 insertion(+), 29 deletions(-)
diff --git a/next.config.mjs b/next.config.mjs
index dfc7f36000..012b80b8ee 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -63,33 +63,5 @@ export default withNextra({
const filecontent = fs.readFileSync(pathToFile, "utf8");
return parseRedirectPartsFromFile(filecontent).map(formatForNextRedirect);
});
- },
-
-// NEW: site-wide security headers incl. CSP
-async headers() {
- // IMPORTANT: merge your existing allowed domains into these directives.
- const csp = [
- "default-src 'self';",
- // Allow Navattic loader
- "script-src 'self' 'unsafe-eval' 'unsafe-inline' https://js.navattic.com;",
- // Allow the Navattic popup iframe
- "frame-src 'self' https://capture.navattic.com;",
- // (Optional) tighten/extend other directives as needed:
- // "img-src 'self' data: blob:;",
- // "style-src 'self' 'unsafe-inline';",
- // "connect-src 'self';",
- ].join(" ");
-
- return [
- {
- source: "/(.*)",
- headers: [
- { key: "Content-Security-Policy", value: csp },
- // You may also already set these elsewhere; keep or remove as appropriate:
- // { key: "X-Content-Type-Options", value: "nosniff" },
- // { key: "Referrer-Policy", value: "same-origin" },
- // { key: "X-Frame-Options", value: "SAMEORIGIN" }, // avoid if you embed iframes cross-origin
- ],
- },
- ];
+ },
});
From f9de1ac9cb9b64d97c7765c84db26a5920fc86f0 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 13:15:57 +0800
Subject: [PATCH 109/257] Update next.config.mjs
---
next.config.mjs | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/next.config.mjs b/next.config.mjs
index 012b80b8ee..025e9242dc 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -64,4 +64,34 @@ export default withNextra({
return parseRedirectPartsFromFile(filecontent).map(formatForNextRedirect);
});
},
+
+ // NEW: site-wide security headers incl. CSP
+ async headers() {
+ // IMPORTANT: merge your existing allowed domains into these directives.
+ const csp = [
+ "default-src 'self';",
+ // Allow Navattic loader
+ "script-src 'self' 'unsafe-eval' 'unsafe-inline' https://js.navattic.com;",
+ // Allow the Navattic popup iframe
+ "frame-src 'self' https://capture.navattic.com;",
+ // (Optional) tighten/extend other directives as needed:
+ // "img-src 'self' data: blob:;",
+ // "style-src 'self' 'unsafe-inline';",
+ // "connect-src 'self';",
+ ].join(" ");
+
+ return [
+ {
+ source: "/(.*)",
+ headers: [
+ { key: "Content-Security-Policy", value: csp },
+ // You may also already set these elsewhere; keep or remove as appropriate:
+ // { key: "X-Content-Type-Options", value: "nosniff" },
+ // { key: "Referrer-Policy", value: "same-origin" },
+ // { key: "X-Frame-Options", value: "SAMEORIGIN" }, // avoid if you embed iframes cross-origin
+ ],
+ },
+ ];
+ },
+
});
From 1ce0000f68f8f7c621985cc54f3ab856c6941972 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 13:59:06 +0800
Subject: [PATCH 110/257] Update next.config.mjs
---
next.config.mjs | 32 +-------------------------------
1 file changed, 1 insertion(+), 31 deletions(-)
diff --git a/next.config.mjs b/next.config.mjs
index 025e9242dc..3749383386 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -63,35 +63,5 @@ export default withNextra({
const filecontent = fs.readFileSync(pathToFile, "utf8");
return parseRedirectPartsFromFile(filecontent).map(formatForNextRedirect);
});
- },
-
- // NEW: site-wide security headers incl. CSP
- async headers() {
- // IMPORTANT: merge your existing allowed domains into these directives.
- const csp = [
- "default-src 'self';",
- // Allow Navattic loader
- "script-src 'self' 'unsafe-eval' 'unsafe-inline' https://js.navattic.com;",
- // Allow the Navattic popup iframe
- "frame-src 'self' https://capture.navattic.com;",
- // (Optional) tighten/extend other directives as needed:
- // "img-src 'self' data: blob:;",
- // "style-src 'self' 'unsafe-inline';",
- // "connect-src 'self';",
- ].join(" ");
-
- return [
- {
- source: "/(.*)",
- headers: [
- { key: "Content-Security-Policy", value: csp },
- // You may also already set these elsewhere; keep or remove as appropriate:
- // { key: "X-Content-Type-Options", value: "nosniff" },
- // { key: "Referrer-Policy", value: "same-origin" },
- // { key: "X-Frame-Options", value: "SAMEORIGIN" }, // avoid if you embed iframes cross-origin
- ],
- },
- ];
- },
-
+ },
});
From 8bb4542b05a80627b9c1a35fab2c7e4ffc4c14b0 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 14:13:14 +0800
Subject: [PATCH 111/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 35 ++++++++++--------------------
1 file changed, 12 insertions(+), 23 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 84140bcd69..538c0151d2 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -5,7 +5,7 @@ import Script from "next/script";
Explore our product with interactive, self-guided tours.
Click any card to launch a pop-up walkthrough — no new windows.
-
+
@@ -34,28 +34,17 @@ Click any card to launch a pop-up walkthrough — no new windows.
{/* Card 2 */}
-
-
-
-
- Product Overview
-
-
- 5-minute full product tour
-
-
Opens in a modal.
-
-
+
Open Pop-Up
+
{/* Card 3 */}
Date: Wed, 22 Oct 2025 15:04:35 +0800
Subject: [PATCH 112/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 538c0151d2..34cf139ebc 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -34,17 +34,10 @@ Click any card to launch a pop-up walkthrough — no new windows.
{/* Card 2 */}
-
Open Pop-Up
-
+
+
+ Click me
+
{/* Card 3 */}
Date: Wed, 22 Oct 2025 15:08:48 +0800
Subject: [PATCH 113/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 1 -
1 file changed, 1 deletion(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index 34cf139ebc..bc7aa4e81b 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -34,7 +34,6 @@ Click any card to launch a pop-up walkthrough — no new windows.
{/* Card 2 */}
-
Click me
From b4d29bc6310766bef97a073916013ff03849cde8 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 15:15:45 +0800
Subject: [PATCH 114/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 53 ------------------------------
1 file changed, 53 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index bc7aa4e81b..f6f17b27ca 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -7,59 +7,6 @@ Click any card to launch a pop-up walkthrough — no new windows.
-
-
- {/* Card 1 */}
-
-
-
-
- Product Overview
-
-
- 2-minute mini product tour
-
-
Opens in a modal.
-
-
-
- {/* Card 2 */}
Click me
-
- {/* Card 3 */}
-
-
-
-
- CRM
-
-
- Customizing the Lead Page
-
-
Opens in a modal.
-
-
-
-
From 5d42346a86f9ac359a8e64d0c9f41ff7a508b59e Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 15:24:10 +0800
Subject: [PATCH 115/257] Update self-guided-tours.mdx
---
pages/guides/self-guided-tours.mdx | 82 ++++++++++++++++++++++++++++--
1 file changed, 78 insertions(+), 4 deletions(-)
diff --git a/pages/guides/self-guided-tours.mdx b/pages/guides/self-guided-tours.mdx
index f6f17b27ca..00f00e4a20 100644
--- a/pages/guides/self-guided-tours.mdx
+++ b/pages/guides/self-guided-tours.mdx
@@ -5,8 +5,82 @@ import Script from "next/script";
Explore our product with interactive, self-guided tours.
Click any card to launch a pop-up walkthrough — no new windows.
-
+{/* Load Navattic’s official embed script */}
+
-
- Click me
-
+{/* Card grid */}
+
+
+ {/* Card 1 */}
+
+
+
+
+ Product Overview
+
+
+ 2-minute mini product tour
+
+
Opens in a modal.
+
+
+
+ {/* Card 2 */}
+
+
+
+
+ Product Overview
+
+
+ 5-minute full product tour
+
+
Opens in a modal.
+
+
+
+ {/* Card 3 */}
+
+
+
+
+ CRM
+
+
+ Customizing the Lead Page
+
+
Opens in a modal.
+
+
+
+
From d6cac4406d7c326fd4b78d6ead0c9c60f92cdadd Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 15:26:11 +0800
Subject: [PATCH 116/257] Update next.config.mjs
---
next.config.mjs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/next.config.mjs b/next.config.mjs
index 3749383386..60b2fb9558 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -63,5 +63,5 @@ export default withNextra({
const filecontent = fs.readFileSync(pathToFile, "utf8");
return parseRedirectPartsFromFile(filecontent).map(formatForNextRedirect);
});
- },
+ },
});
From 7343c6c952123c86a0ce117d09b881adfadbc198 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 15:26:44 +0800
Subject: [PATCH 117/257] Update next.config.mjs
---
next.config.mjs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/next.config.mjs b/next.config.mjs
index 60b2fb9558..dbb5a302dc 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -63,5 +63,5 @@ export default withNextra({
const filecontent = fs.readFileSync(pathToFile, "utf8");
return parseRedirectPartsFromFile(filecontent).map(formatForNextRedirect);
});
- },
+ },
});
From e045cff9a1f1f63b3311a83307da0e2a3138ffab Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 15:32:43 +0800
Subject: [PATCH 118/257] Update middleware.ts
---
middleware.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/middleware.ts b/middleware.ts
index 9b5df4907d..600cc83f94 100644
--- a/middleware.ts
+++ b/middleware.ts
@@ -6,7 +6,7 @@ export function middleware() {
// Set custom header
response.headers.set(`X-Frame-Options`, `deny`);
response.headers.set(`X-Content-Type-Options`, `nosniff`);
- response.headers.set(`Content-Security-Policy`, `default-src 'self' https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://ekr.zendesk.com wss://mixpanelsupport.zendesk.com https://mixpanel.com https://*.mixpanel.com; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://*.kapa.ai https://*.hotjar.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://cdn.rollbar.com https://*.zopim.com https://assets.zendesk.com https://www.youtube.com/embed/ https://connect.facebook.net https://apis.google.com https://accounts.google.com 'unsafe-eval' https://*.6sc.co https://*.bing.com https://*.clarity.ms https://cdnjs.cloudflare.com d2wy8f7a9ursnm.cloudfront.net https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.gstatic.cn https://*.gstatic.com https://*.g2crowd.com https://snap.licdn.com https://*.marketo.com https://*.marketo.net https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net https://www.redditstatic.com/ads/ https://*.singular.net https://*.ads-twitter.com https://mxpnlcms.wpengine.com https://*.youtube.com https://*.zoominfo.com https://cdn.sprig.com; connect-src 'self' blob: data: https://kapa-widget-proxy-la7dkmplpq-uc.a.run.app https://*.hotjar.com wss://*.hotjar.com https://*.hotjar.io https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://api.rollbar.com https://api.sprig.com https://cdn.sprig.com https://*.zdassets.com https://mixpanelsupport.zendesk.com https://*.zopim.com wss://*.zopim.com https://storage.googleapis.com https://*.facebook.com https://*.6sc.co https://*.adnxs.com https://*.bing.com https://*.bugsnag.com https://*.clarity.ms https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://*.g2crowd.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.mktoresp.com https://cdn.linkedin.oribi.io https://*.reddit.com https://www.redditstatic.com/ads/ https://*.singular.net https://mxpnlcms.wpengine.com https://*.zoominfo.com; media-src 'self' https://user-images.githubusercontent.com; img-src 'self' blob: data: https://www.google.com https://*.gstatic.com https://t2.gstatic.com https://github-production-user-asset-6210df.s3.amazonaws.com https://github.com https://user-images.githubusercontent.com https://avatars.githubusercontent.com/ https://*.chmln-cdn.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.zdassets.com https://*.zopim.com https://v2uploads.zopim.io https://*.facebook.com https://*.gravatar.com https://*.wp.com https://*.6sc.co https://*.adnxs.com https://*.adroll.com https://*.bidswitch.net https://*.bing.com https://cdn.bizible.com https://cdn.bizibly.com https://*.bugsnag.com https://*.casalemedia.com https://*.clarity.ms https://*.crwdcntrl.net https://*.doubleclick.net https://*.exelator.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.googleusercontent.com https://*.imrworldwide.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.reddit.com https://t.co/ https://analytics.twitter.com https://*.wpengine.com https://mxpnlcms.wpengine.com https://mxpnlcms.wpenginepowered.com https://*.analytics.yahoo.com https://*.google.com https://*.google.ad https://*.google.ae https://*.google.com.af https://*.google.com.ag https://*.google.al https://*.google.am https://*.google.co.ao https://*.google.com.ar https://*.google.as https://*.google.at https://*.google.com.au https://*.google.az https://*.google.ba https://*.google.com.bd https://*.google.be https://*.google.bf https://*.google.bg https://*.google.com.bh https://*.google.bi https://*.google.bj https://*.google.com.bn https://*.google.com.bo https://*.google.com.br https://*.google.bs https://*.google.bt https://*.google.co.bw https://*.google.by https://*.google.com.bz https://*.google.ca https://*.google.cd https://*.google.cf https://*.google.cg https://*.google.ch https://*.google.ci https://*.google.co.ck https://*.google.cl https://*.google.cm https://*.google.cn https://*.google.com.co https://*.google.co.cr https://*.google.com.cu https://*.google.cv https://*.google.com.cy https://*.google.cz https://*.google.de https://*.google.dj https://*.google.dk https://*.google.dm https://*.google.com.do https://*.google.dz https://*.google.com.ec https://*.google.ee https://*.google.com.eg https://*.google.es https://*.google.com.et https://*.google.fi https://*.google.com.fj https://*.google.fm https://*.google.fr https://*.google.ga https://*.google.ge https://*.google.gg https://*.google.com.gh https://*.google.com.gi https://*.google.gl https://*.google.gm https://*.google.gr https://*.google.com.gt https://*.google.gy https://*.google.com.hk https://*.google.hn https://*.google.hr https://*.google.ht https://*.google.hu https://*.google.co.id https://*.google.ie https://*.google.co.il https://*.google.im https://*.google.co.in https://*.google.iq https://*.google.is https://*.google.it https://*.google.je https://*.google.com.jm https://*.google.jo https://*.google.co.jp https://*.google.co.ke https://*.google.com.kh https://*.google.ki https://*.google.kg https://*.google.co.kr https://*.google.com.kw https://*.google.kz https://*.google.la https://*.google.com.lb https://*.google.li https://*.google.lk https://*.google.co.ls https://*.google.lt https://*.google.lu https://*.google.lv https://*.google.com.ly https://*.google.co.ma https://*.google.md https://*.google.me https://*.google.mg https://*.google.mk https://*.google.ml https://*.google.com.mm https://*.google.mn https://*.google.com.mt https://*.google.mu https://*.google.mv https://*.google.mw https://*.google.com.mx https://*.google.com.my https://*.google.co.mz https://*.google.com.na https://*.google.com.ng https://*.google.com.ni https://*.google.ne https://*.google.nl https://*.google.no https://*.google.com.np https://*.google.nr https://*.google.nu https://*.google.co.nz https://*.google.com.om https://*.google.com.pa https://*.google.com.pe https://*.google.com.pg https://*.google.com.ph https://*.google.com.pk https://*.google.pl https://*.google.pn https://*.google.com.pr https://*.google.ps https://*.google.pt https://*.google.com.py https://*.google.com.qa https://*.google.ro https://*.google.ru https://*.google.rw https://*.google.com.sa https://*.google.com.sb https://*.google.sc https://*.google.se https://*.google.com.sg https://*.google.sh https://*.google.si https://*.google.sk https://*.google.com.sl https://*.google.sn https://*.google.so https://*.google.sm https://*.google.sr https://*.google.st https://*.google.com.sv https://*.google.td https://*.google.tg https://*.google.co.th https://*.google.com.tj https://*.google.tl https://*.google.tm https://*.google.tn https://*.google.to https://*.google.com.tr https://*.google.tt https://*.google.com.tw https://*.google.co.tz https://*.google.com.ua https://*.google.co.ug https://*.google.co.uk https://*.google.com.uy https://*.google.co.uz https://*.google.com.vc https://*.google.co.ve https://*.google.co.vi https://*.google.com.vn https://*.google.vu https://*.google.ws https://*.google.rs https://*.google.co.za https://*.google.co.zm https://*.google.co.zw https://*.google.cat; style-src 'self' 'unsafe-inline' https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://hello.myfonts.net; font-src 'self' data: https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://mixpanel.com https://*.mixpanel.com; frame-src 'self' https://www.googletagmanager.com https://js.stripe.com https://www.loom.com/embed/ https://player.vimeo.com/video/ https://www.youtube.com/embed/ https://*.facebook.com https://accounts.google.com https://static.addtoany.com https://*.bing.com https://*.doubleclick.net https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://recaptcha.google.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net; worker-src 'self' blob:;`);
+ response.headers.set(`Content-Security-Policy`, `default-src 'self' https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://ekr.zendesk.com wss://mixpanelsupport.zendesk.com https://mixpanel.com https://*.mixpanel.com; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://*.kapa.ai https://*.hotjar.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://cdn.rollbar.com https://*.zopim.com https://assets.zendesk.com https://www.youtube.com/embed/ https://connect.facebook.net https://apis.google.com https://accounts.google.com 'unsafe-eval' https://*.6sc.co https://*.bing.com https://*.clarity.ms https://cdnjs.cloudflare.com d2wy8f7a9ursnm.cloudfront.net https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.gstatic.cn https://*.gstatic.com https://*.g2crowd.com https://snap.licdn.com https://*.marketo.com https://*.marketo.net https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net https://www.redditstatic.com/ads/ https://*.singular.net https://*.ads-twitter.com https://mxpnlcms.wpengine.com https://*.youtube.com https://*.zoominfo.com https://cdn.sprig.com; https://js.navattic.com; connect-src 'self' blob: data: https://kapa-widget-proxy-la7dkmplpq-uc.a.run.app https://*.hotjar.com wss://*.hotjar.com https://*.hotjar.io https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://api.rollbar.com https://api.sprig.com https://cdn.sprig.com https://*.zdassets.com https://mixpanelsupport.zendesk.com https://*.zopim.com wss://*.zopim.com https://storage.googleapis.com https://*.facebook.com https://*.6sc.co https://*.adnxs.com https://*.bing.com https://*.bugsnag.com https://*.clarity.ms https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://*.g2crowd.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.mktoresp.com https://cdn.linkedin.oribi.io https://*.reddit.com https://www.redditstatic.com/ads/ https://*.singular.net https://mxpnlcms.wpengine.com https://*.zoominfo.com; media-src 'self' https://user-images.githubusercontent.com; img-src 'self' blob: data: https://www.google.com https://*.gstatic.com https://t2.gstatic.com https://github-production-user-asset-6210df.s3.amazonaws.com https://github.com https://user-images.githubusercontent.com https://avatars.githubusercontent.com/ https://*.chmln-cdn.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.zdassets.com https://*.zopim.com https://v2uploads.zopim.io https://*.facebook.com https://*.gravatar.com https://*.wp.com https://*.6sc.co https://*.adnxs.com https://*.adroll.com https://*.bidswitch.net https://*.bing.com https://cdn.bizible.com https://cdn.bizibly.com https://*.bugsnag.com https://*.casalemedia.com https://*.clarity.ms https://*.crwdcntrl.net https://*.doubleclick.net https://*.exelator.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.googleusercontent.com https://*.imrworldwide.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.reddit.com https://t.co/ https://analytics.twitter.com https://*.wpengine.com https://mxpnlcms.wpengine.com https://mxpnlcms.wpenginepowered.com https://*.analytics.yahoo.com https://*.google.com https://*.google.ad https://*.google.ae https://*.google.com.af https://*.google.com.ag https://*.google.al https://*.google.am https://*.google.co.ao https://*.google.com.ar https://*.google.as https://*.google.at https://*.google.com.au https://*.google.az https://*.google.ba https://*.google.com.bd https://*.google.be https://*.google.bf https://*.google.bg https://*.google.com.bh https://*.google.bi https://*.google.bj https://*.google.com.bn https://*.google.com.bo https://*.google.com.br https://*.google.bs https://*.google.bt https://*.google.co.bw https://*.google.by https://*.google.com.bz https://*.google.ca https://*.google.cd https://*.google.cf https://*.google.cg https://*.google.ch https://*.google.ci https://*.google.co.ck https://*.google.cl https://*.google.cm https://*.google.cn https://*.google.com.co https://*.google.co.cr https://*.google.com.cu https://*.google.cv https://*.google.com.cy https://*.google.cz https://*.google.de https://*.google.dj https://*.google.dk https://*.google.dm https://*.google.com.do https://*.google.dz https://*.google.com.ec https://*.google.ee https://*.google.com.eg https://*.google.es https://*.google.com.et https://*.google.fi https://*.google.com.fj https://*.google.fm https://*.google.fr https://*.google.ga https://*.google.ge https://*.google.gg https://*.google.com.gh https://*.google.com.gi https://*.google.gl https://*.google.gm https://*.google.gr https://*.google.com.gt https://*.google.gy https://*.google.com.hk https://*.google.hn https://*.google.hr https://*.google.ht https://*.google.hu https://*.google.co.id https://*.google.ie https://*.google.co.il https://*.google.im https://*.google.co.in https://*.google.iq https://*.google.is https://*.google.it https://*.google.je https://*.google.com.jm https://*.google.jo https://*.google.co.jp https://*.google.co.ke https://*.google.com.kh https://*.google.ki https://*.google.kg https://*.google.co.kr https://*.google.com.kw https://*.google.kz https://*.google.la https://*.google.com.lb https://*.google.li https://*.google.lk https://*.google.co.ls https://*.google.lt https://*.google.lu https://*.google.lv https://*.google.com.ly https://*.google.co.ma https://*.google.md https://*.google.me https://*.google.mg https://*.google.mk https://*.google.ml https://*.google.com.mm https://*.google.mn https://*.google.com.mt https://*.google.mu https://*.google.mv https://*.google.mw https://*.google.com.mx https://*.google.com.my https://*.google.co.mz https://*.google.com.na https://*.google.com.ng https://*.google.com.ni https://*.google.ne https://*.google.nl https://*.google.no https://*.google.com.np https://*.google.nr https://*.google.nu https://*.google.co.nz https://*.google.com.om https://*.google.com.pa https://*.google.com.pe https://*.google.com.pg https://*.google.com.ph https://*.google.com.pk https://*.google.pl https://*.google.pn https://*.google.com.pr https://*.google.ps https://*.google.pt https://*.google.com.py https://*.google.com.qa https://*.google.ro https://*.google.ru https://*.google.rw https://*.google.com.sa https://*.google.com.sb https://*.google.sc https://*.google.se https://*.google.com.sg https://*.google.sh https://*.google.si https://*.google.sk https://*.google.com.sl https://*.google.sn https://*.google.so https://*.google.sm https://*.google.sr https://*.google.st https://*.google.com.sv https://*.google.td https://*.google.tg https://*.google.co.th https://*.google.com.tj https://*.google.tl https://*.google.tm https://*.google.tn https://*.google.to https://*.google.com.tr https://*.google.tt https://*.google.com.tw https://*.google.co.tz https://*.google.com.ua https://*.google.co.ug https://*.google.co.uk https://*.google.com.uy https://*.google.co.uz https://*.google.com.vc https://*.google.co.ve https://*.google.co.vi https://*.google.com.vn https://*.google.vu https://*.google.ws https://*.google.rs https://*.google.co.za https://*.google.co.zm https://*.google.co.zw https://*.google.cat; style-src 'self' 'unsafe-inline' https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://hello.myfonts.net; font-src 'self' data: https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://mixpanel.com https://*.mixpanel.com; frame-src 'self' https://www.googletagmanager.com https://js.stripe.com https://www.loom.com/embed/ https://player.vimeo.com/video/ https://www.youtube.com/embed/ https://*.facebook.com https://accounts.google.com https://static.addtoany.com https://*.bing.com https://*.doubleclick.net https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://recaptcha.google.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net; https://capture.navattic.com; worker-src 'self' blob:;`);
response.headers.set(`X-Permitted-Cross-Domain-Policies`, `none`);
response.headers.set(`Referrer-Policy`, `strict-origin`);
response.headers.set(`Permissions-Policy`, `accelerometer=(), camera=(), encrypted-media=(self "https://www.youtube.com" "https://www.loom.com"), fullscreen=(self "https://www.youtube.com" "https://www.loom.com"), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=()`);
From 45dbc81c06ba0d3fbf82d9d0c7037a28af7dc1d7 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 15:43:45 +0800
Subject: [PATCH 119/257] Update middleware.ts
---
middleware.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/middleware.ts b/middleware.ts
index 600cc83f94..f5bd331d10 100644
--- a/middleware.ts
+++ b/middleware.ts
@@ -6,7 +6,7 @@ export function middleware() {
// Set custom header
response.headers.set(`X-Frame-Options`, `deny`);
response.headers.set(`X-Content-Type-Options`, `nosniff`);
- response.headers.set(`Content-Security-Policy`, `default-src 'self' https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://ekr.zendesk.com wss://mixpanelsupport.zendesk.com https://mixpanel.com https://*.mixpanel.com; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://*.kapa.ai https://*.hotjar.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://cdn.rollbar.com https://*.zopim.com https://assets.zendesk.com https://www.youtube.com/embed/ https://connect.facebook.net https://apis.google.com https://accounts.google.com 'unsafe-eval' https://*.6sc.co https://*.bing.com https://*.clarity.ms https://cdnjs.cloudflare.com d2wy8f7a9ursnm.cloudfront.net https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.gstatic.cn https://*.gstatic.com https://*.g2crowd.com https://snap.licdn.com https://*.marketo.com https://*.marketo.net https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net https://www.redditstatic.com/ads/ https://*.singular.net https://*.ads-twitter.com https://mxpnlcms.wpengine.com https://*.youtube.com https://*.zoominfo.com https://cdn.sprig.com; https://js.navattic.com; connect-src 'self' blob: data: https://kapa-widget-proxy-la7dkmplpq-uc.a.run.app https://*.hotjar.com wss://*.hotjar.com https://*.hotjar.io https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://api.rollbar.com https://api.sprig.com https://cdn.sprig.com https://*.zdassets.com https://mixpanelsupport.zendesk.com https://*.zopim.com wss://*.zopim.com https://storage.googleapis.com https://*.facebook.com https://*.6sc.co https://*.adnxs.com https://*.bing.com https://*.bugsnag.com https://*.clarity.ms https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://*.g2crowd.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.mktoresp.com https://cdn.linkedin.oribi.io https://*.reddit.com https://www.redditstatic.com/ads/ https://*.singular.net https://mxpnlcms.wpengine.com https://*.zoominfo.com; media-src 'self' https://user-images.githubusercontent.com; img-src 'self' blob: data: https://www.google.com https://*.gstatic.com https://t2.gstatic.com https://github-production-user-asset-6210df.s3.amazonaws.com https://github.com https://user-images.githubusercontent.com https://avatars.githubusercontent.com/ https://*.chmln-cdn.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.zdassets.com https://*.zopim.com https://v2uploads.zopim.io https://*.facebook.com https://*.gravatar.com https://*.wp.com https://*.6sc.co https://*.adnxs.com https://*.adroll.com https://*.bidswitch.net https://*.bing.com https://cdn.bizible.com https://cdn.bizibly.com https://*.bugsnag.com https://*.casalemedia.com https://*.clarity.ms https://*.crwdcntrl.net https://*.doubleclick.net https://*.exelator.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.googleusercontent.com https://*.imrworldwide.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.reddit.com https://t.co/ https://analytics.twitter.com https://*.wpengine.com https://mxpnlcms.wpengine.com https://mxpnlcms.wpenginepowered.com https://*.analytics.yahoo.com https://*.google.com https://*.google.ad https://*.google.ae https://*.google.com.af https://*.google.com.ag https://*.google.al https://*.google.am https://*.google.co.ao https://*.google.com.ar https://*.google.as https://*.google.at https://*.google.com.au https://*.google.az https://*.google.ba https://*.google.com.bd https://*.google.be https://*.google.bf https://*.google.bg https://*.google.com.bh https://*.google.bi https://*.google.bj https://*.google.com.bn https://*.google.com.bo https://*.google.com.br https://*.google.bs https://*.google.bt https://*.google.co.bw https://*.google.by https://*.google.com.bz https://*.google.ca https://*.google.cd https://*.google.cf https://*.google.cg https://*.google.ch https://*.google.ci https://*.google.co.ck https://*.google.cl https://*.google.cm https://*.google.cn https://*.google.com.co https://*.google.co.cr https://*.google.com.cu https://*.google.cv https://*.google.com.cy https://*.google.cz https://*.google.de https://*.google.dj https://*.google.dk https://*.google.dm https://*.google.com.do https://*.google.dz https://*.google.com.ec https://*.google.ee https://*.google.com.eg https://*.google.es https://*.google.com.et https://*.google.fi https://*.google.com.fj https://*.google.fm https://*.google.fr https://*.google.ga https://*.google.ge https://*.google.gg https://*.google.com.gh https://*.google.com.gi https://*.google.gl https://*.google.gm https://*.google.gr https://*.google.com.gt https://*.google.gy https://*.google.com.hk https://*.google.hn https://*.google.hr https://*.google.ht https://*.google.hu https://*.google.co.id https://*.google.ie https://*.google.co.il https://*.google.im https://*.google.co.in https://*.google.iq https://*.google.is https://*.google.it https://*.google.je https://*.google.com.jm https://*.google.jo https://*.google.co.jp https://*.google.co.ke https://*.google.com.kh https://*.google.ki https://*.google.kg https://*.google.co.kr https://*.google.com.kw https://*.google.kz https://*.google.la https://*.google.com.lb https://*.google.li https://*.google.lk https://*.google.co.ls https://*.google.lt https://*.google.lu https://*.google.lv https://*.google.com.ly https://*.google.co.ma https://*.google.md https://*.google.me https://*.google.mg https://*.google.mk https://*.google.ml https://*.google.com.mm https://*.google.mn https://*.google.com.mt https://*.google.mu https://*.google.mv https://*.google.mw https://*.google.com.mx https://*.google.com.my https://*.google.co.mz https://*.google.com.na https://*.google.com.ng https://*.google.com.ni https://*.google.ne https://*.google.nl https://*.google.no https://*.google.com.np https://*.google.nr https://*.google.nu https://*.google.co.nz https://*.google.com.om https://*.google.com.pa https://*.google.com.pe https://*.google.com.pg https://*.google.com.ph https://*.google.com.pk https://*.google.pl https://*.google.pn https://*.google.com.pr https://*.google.ps https://*.google.pt https://*.google.com.py https://*.google.com.qa https://*.google.ro https://*.google.ru https://*.google.rw https://*.google.com.sa https://*.google.com.sb https://*.google.sc https://*.google.se https://*.google.com.sg https://*.google.sh https://*.google.si https://*.google.sk https://*.google.com.sl https://*.google.sn https://*.google.so https://*.google.sm https://*.google.sr https://*.google.st https://*.google.com.sv https://*.google.td https://*.google.tg https://*.google.co.th https://*.google.com.tj https://*.google.tl https://*.google.tm https://*.google.tn https://*.google.to https://*.google.com.tr https://*.google.tt https://*.google.com.tw https://*.google.co.tz https://*.google.com.ua https://*.google.co.ug https://*.google.co.uk https://*.google.com.uy https://*.google.co.uz https://*.google.com.vc https://*.google.co.ve https://*.google.co.vi https://*.google.com.vn https://*.google.vu https://*.google.ws https://*.google.rs https://*.google.co.za https://*.google.co.zm https://*.google.co.zw https://*.google.cat; style-src 'self' 'unsafe-inline' https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://hello.myfonts.net; font-src 'self' data: https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://mixpanel.com https://*.mixpanel.com; frame-src 'self' https://www.googletagmanager.com https://js.stripe.com https://www.loom.com/embed/ https://player.vimeo.com/video/ https://www.youtube.com/embed/ https://*.facebook.com https://accounts.google.com https://static.addtoany.com https://*.bing.com https://*.doubleclick.net https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://recaptcha.google.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net; https://capture.navattic.com; worker-src 'self' blob:;`);
+ response.headers.set(`Content-Security-Policy`, `default-src 'self' https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://ekr.zendesk.com wss://mixpanelsupport.zendesk.com https://mixpanel.com https://*.mixpanel.com; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://*.kapa.ai https://*.hotjar.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://cdn.rollbar.com https://*.zopim.com https://assets.zendesk.com https://www.youtube.com/embed/ https://connect.facebook.net https://apis.google.com https://accounts.google.com 'unsafe-eval' https://*.6sc.co https://*.bing.com https://*.clarity.ms https://cdnjs.cloudflare.com d2wy8f7a9ursnm.cloudfront.net https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.gstatic.cn https://*.gstatic.com https://*.g2crowd.com https://snap.licdn.com https://*.marketo.com https://*.marketo.net https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net https://www.redditstatic.com/ads/ https://*.singular.net https://*.ads-twitter.com https://mxpnlcms.wpengine.com https://*.youtube.com https://*.zoominfo.com https://cdn.sprig.com https://js.navattic.com; connect-src 'self' blob: data: https://kapa-widget-proxy-la7dkmplpq-uc.a.run.app https://*.hotjar.com wss://*.hotjar.com https://*.hotjar.io https://*.mixpanel.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://api.rollbar.com https://api.sprig.com https://cdn.sprig.com https://*.zdassets.com https://mixpanelsupport.zendesk.com https://*.zopim.com wss://*.zopim.com https://storage.googleapis.com https://*.facebook.com https://*.6sc.co https://*.adnxs.com https://*.bing.com https://*.bugsnag.com https://*.clarity.ms https://*.doubleclick.net https://*.google.com https://*.google-analytics.com https://*.googlesyndication.com https://*.g2crowd.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.mktoresp.com https://cdn.linkedin.oribi.io https://*.reddit.com https://www.redditstatic.com/ads/ https://*.singular.net https://mxpnlcms.wpengine.com https://*.zoominfo.com; media-src 'self' https://user-images.githubusercontent.com; img-src 'self' blob: data: https://www.google.com https://*.gstatic.com https://t2.gstatic.com https://github-production-user-asset-6210df.s3.amazonaws.com https://github.com https://user-images.githubusercontent.com https://avatars.githubusercontent.com/ https://*.chmln-cdn.com https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.zdassets.com https://*.zopim.com https://v2uploads.zopim.io https://*.facebook.com https://*.gravatar.com https://*.wp.com https://*.6sc.co https://*.adnxs.com https://*.adroll.com https://*.bidswitch.net https://*.bing.com https://cdn.bizible.com https://cdn.bizibly.com https://*.bugsnag.com https://*.casalemedia.com https://*.clarity.ms https://*.crwdcntrl.net https://*.doubleclick.net https://*.exelator.com https://*.google-analytics.com https://*.googlesyndication.com https://www.googletagmanager.com https://*.googleusercontent.com https://*.imrworldwide.com https://*.linkedin.com https://mixpanel.com https://*.mixpanel.com https://*.reddit.com https://t.co/ https://analytics.twitter.com https://*.wpengine.com https://mxpnlcms.wpengine.com https://mxpnlcms.wpenginepowered.com https://*.analytics.yahoo.com https://*.google.com https://*.google.ad https://*.google.ae https://*.google.com.af https://*.google.com.ag https://*.google.al https://*.google.am https://*.google.co.ao https://*.google.com.ar https://*.google.as https://*.google.at https://*.google.com.au https://*.google.az https://*.google.ba https://*.google.com.bd https://*.google.be https://*.google.bf https://*.google.bg https://*.google.com.bh https://*.google.bi https://*.google.bj https://*.google.com.bn https://*.google.com.bo https://*.google.com.br https://*.google.bs https://*.google.bt https://*.google.co.bw https://*.google.by https://*.google.com.bz https://*.google.ca https://*.google.cd https://*.google.cf https://*.google.cg https://*.google.ch https://*.google.ci https://*.google.co.ck https://*.google.cl https://*.google.cm https://*.google.cn https://*.google.com.co https://*.google.co.cr https://*.google.com.cu https://*.google.cv https://*.google.com.cy https://*.google.cz https://*.google.de https://*.google.dj https://*.google.dk https://*.google.dm https://*.google.com.do https://*.google.dz https://*.google.com.ec https://*.google.ee https://*.google.com.eg https://*.google.es https://*.google.com.et https://*.google.fi https://*.google.com.fj https://*.google.fm https://*.google.fr https://*.google.ga https://*.google.ge https://*.google.gg https://*.google.com.gh https://*.google.com.gi https://*.google.gl https://*.google.gm https://*.google.gr https://*.google.com.gt https://*.google.gy https://*.google.com.hk https://*.google.hn https://*.google.hr https://*.google.ht https://*.google.hu https://*.google.co.id https://*.google.ie https://*.google.co.il https://*.google.im https://*.google.co.in https://*.google.iq https://*.google.is https://*.google.it https://*.google.je https://*.google.com.jm https://*.google.jo https://*.google.co.jp https://*.google.co.ke https://*.google.com.kh https://*.google.ki https://*.google.kg https://*.google.co.kr https://*.google.com.kw https://*.google.kz https://*.google.la https://*.google.com.lb https://*.google.li https://*.google.lk https://*.google.co.ls https://*.google.lt https://*.google.lu https://*.google.lv https://*.google.com.ly https://*.google.co.ma https://*.google.md https://*.google.me https://*.google.mg https://*.google.mk https://*.google.ml https://*.google.com.mm https://*.google.mn https://*.google.com.mt https://*.google.mu https://*.google.mv https://*.google.mw https://*.google.com.mx https://*.google.com.my https://*.google.co.mz https://*.google.com.na https://*.google.com.ng https://*.google.com.ni https://*.google.ne https://*.google.nl https://*.google.no https://*.google.com.np https://*.google.nr https://*.google.nu https://*.google.co.nz https://*.google.com.om https://*.google.com.pa https://*.google.com.pe https://*.google.com.pg https://*.google.com.ph https://*.google.com.pk https://*.google.pl https://*.google.pn https://*.google.com.pr https://*.google.ps https://*.google.pt https://*.google.com.py https://*.google.com.qa https://*.google.ro https://*.google.ru https://*.google.rw https://*.google.com.sa https://*.google.com.sb https://*.google.sc https://*.google.se https://*.google.com.sg https://*.google.sh https://*.google.si https://*.google.sk https://*.google.com.sl https://*.google.sn https://*.google.so https://*.google.sm https://*.google.sr https://*.google.st https://*.google.com.sv https://*.google.td https://*.google.tg https://*.google.co.th https://*.google.com.tj https://*.google.tl https://*.google.tm https://*.google.tn https://*.google.to https://*.google.com.tr https://*.google.tt https://*.google.com.tw https://*.google.co.tz https://*.google.com.ua https://*.google.co.ug https://*.google.co.uk https://*.google.com.uy https://*.google.co.uz https://*.google.com.vc https://*.google.co.ve https://*.google.co.vi https://*.google.com.vn https://*.google.vu https://*.google.ws https://*.google.rs https://*.google.co.za https://*.google.co.zm https://*.google.co.zw https://*.google.cat; style-src 'self' 'unsafe-inline' https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://hello.myfonts.net; font-src 'self' data: https://cdn.mxpnl.com https://cdn-dev.mxpnl.com https://mixpanel.com https://*.mixpanel.com; frame-src 'self' https://www.googletagmanager.com https://js.stripe.com https://www.loom.com/embed/ https://player.vimeo.com/video/ https://www.youtube.com/embed/ https://*.facebook.com https://accounts.google.com https://static.addtoany.com https://*.bing.com https://*.doubleclick.net https://*.google.com https://*.marketo.com https://mixpanel.com https://*.mixpanel.com https://www.google.com/recaptcha/ https://recaptcha.google.com/recaptcha/ https://recaptcha.net https://*.recaptcha.net https://capture.navattic.com; worker-src 'self' blob:;`);
response.headers.set(`X-Permitted-Cross-Domain-Policies`, `none`);
response.headers.set(`Referrer-Policy`, `strict-origin`);
response.headers.set(`Permissions-Policy`, `accelerometer=(), camera=(), encrypted-media=(self "https://www.youtube.com" "https://www.loom.com"), fullscreen=(self "https://www.youtube.com" "https://www.loom.com"), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), usb=()`);
From 11a1126919360bb18a7e7b6f3d117e6989152985 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 16:09:24 +0800
Subject: [PATCH 120/257] Create Launch an Experiment.png
---
public/navattic/Launch an Experiment.png | 1 +
1 file changed, 1 insertion(+)
create mode 100644 public/navattic/Launch an Experiment.png
diff --git a/public/navattic/Launch an Experiment.png b/public/navattic/Launch an Experiment.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/public/navattic/Launch an Experiment.png
@@ -0,0 +1 @@
+
From d3686831b5aea8cdda49facc9bc6b0d8d301daa4 Mon Sep 17 00:00:00 2001
From: kurbycchua <50901466+kurbycchua@users.noreply.github.com>
Date: Wed, 22 Oct 2025 16:09:39 +0800
Subject: [PATCH 121/257] Add files via upload
---
public/navattic/Launch an Experiment.png | Bin 1 -> 315045 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/public/navattic/Launch an Experiment.png b/public/navattic/Launch an Experiment.png
index 8b137891791fe96927ad78e64b0aad7bded08bdc..5fc21e6ca1cf3f1236f3ce8d4f238ec88e344052 100644
GIT binary patch
literal 315045
zcmb5WcT`hP+b&EMkP;A;o`6VEkkF)tB2}f@LFq^nkPZo
9{-g2-)Hh{(*Kj2crBakzj9NLWt0C`
zn)2p9#i|*uM2ROF=f{R_BqX=_{y9jWJimKLLZVFaMD5W_DCur1O|pq54E3({$GcMF
zsdfbxJU6H9Iw9opOM1aD}dCa`4?A@<1L^ap@Ek|GD_6v(4rc5i{lvQrG^wJVWtx
zx=1=`XL9c~OO7?lLF}CwM|=AxtzJv#=fH%^`1!AYsvOSILf8{bo7?v9@0WjEW47`B
zPPIB3g4bvsE0f)b3!u2mP5SSX!un);v^Dd$-~H!Bh}Az)CXJ?l^gk$K_J~={}_Wqyre
zqn)v%rnYwPf%Oimm5SvT6{RF?e(r<9|7_L~Zy&2`_Wpgowzl@V#_s*X?^sPeb5De=
zlhbV>i&(S5>S~Ge(~I2^{92McrDQDV-HXKka6&&eV_;O~tR`sGp(1SyYp)A3ccr|Q
z>QQ+Gc@g_SO;6JC*+m~gU+96-e?AcdDOE_A`p3rfBc961$yNOhf4tonh`DqByExOp
z5UR4WQrJmPZ`4Fj^0=VHutF7=N0q8dVI}z=&%sR=Qi{6{ue7^R_fx;$`MRA^;Fq;S
zA!teet@)bbi>ayOpEKa0&L$qJBzCGW@KdC%iP-DPL*D?
zW++(w5kL)q1n=+f-<(+fY{Nrid!p_rJ;<
zvQqzcN%UP{j9d;3!K>Ve`CV02F3foQPeBQgd{frrJ6WpiD`V@||IT8VemjY3SL=R=>lJAp6w#~5QFPI?;j~MmoYv)&*W2=lbfAXRdI51
z+M?E@F*Y9l%6qfMn<@EEh?Ltu)mzg9%3YK2tovAf7p@1DI&AB93wPvE)VnzbS~W7^Gqwe0=GQ7Gg!AbH=r|Z%Dm*26b4#+)z{Y@Cp*LHDc{Vp;mWR+
z^x%P3lE^)<|4ih-k6VL-FLY=0Z+m!!758~$IK26%MGOffYX>qay+~e8G08jH!4lNA
z)D?!0ACV5L{BRt+|L-P@s1SAjiWJ>9%N1j5L`PYb+jQ9kVXWI~XX=5~wP7~
z`Vu_ETbso&%fum4?&r#mVPs8qeXGg?tU;W9U;gcS?pV_^gY-xM9A@5n?#>&RwQPs+
zq|dze!v!5A8IzM2_#d}g5lzT$l-n9lHd_Q=hNxLxNEk(3X6B+n-S?mK@M$iq@!b6?
zR}8x9!=C}Pef!yFmG$YiEAGgQL(j>)a=
zOqjGeJTd%TP5ec8(Vn8TZ)_;o|G(@zl!BCK8I@Q6-RKfK$q6HaX0Xu)4sM2lM7num
zV75CkRhEbm^x>wCl@=%b@CrM)yl=b`VyzkBaHt|7Ci}&LJzsjSGU^2lerWxd^L0xN
zDzAjIvlww?eS^c&gsI}ObXJ5_dSU`g+XdxDabC=QrQ@okq_(y;UQ@;w-~RXW8d4>r
zeX9IofwmIF$tlcy^i|wgIWTfg{%m1k0iMt}*_#oK5M;S;*_EpvDNguiRdz4(dr_sn
zDYJF=+l+@w#a&*(H`1klCkVaSe488I3P=EN9d^B&Tx(ifT!eN;CoNKQ+Sr#OrjEnB
zv$S_zE>suwTdTt;F*zB3aMSO;5*C`N?u{>cBFD#Fex-kqt9I0Dv`eB7s}$6ud6S|L
zD@bq{JYU%?N=(|ZQB{J>yFxSm5
zG1zVa{XG(-&+?F0GIKGNgM1_l*e{qXf3~urY_|17tC{plQ=_eog3(v!Za*o-n2frW
z@P_EK7O0CQRf!M7InYEJORaz4kq16Z@wRr~-%kB%A&Iayy&4|prP2N~%R4&U%qxks
zZvB<9Q8n1c)`wr1O#Bko8A>mZz^9e?ZBkeMVKiY2^w+G#pCm;YtEn!ik&KN9p|)G6uLrbDFDGncec8^(_R$x;t1JEp
zF0aDJJ1hF#ULGDvCG8Qk+>GRF_48
zgEI6{!Or}2XMlq~-eH5Stz^MguC;>tU6G76@{Js-10mI*!GUKxF=?;vutx;8zF+H`
z8!R(!9@wj2`f?T*ueTU?*7!nKR(4MXdDnA){*_4U$wUR*91L^GG=1C^Rf0ww0Xzem
z589d?VmG=)+HvR_y`vP+pG+Tgztx`~uQvXa`+2xJ4PQI^B~;#0<*?9HJMY|0Zv}=}eRW}dg8He$y{<#tMBZEPGLtZ6GwzLx&j@*v5g89m@65KCNt->e1`6SD9#Z@v|1
zC2az#P^qn+{B*Z1jCPxB85qeG4?D;)ygru<-a*W|GK%N4Uj~gtjz8TP(|=aX!`5Nj
zK~7FCdm*7;%kX+(A@cdnz&mjoN^i(uRvcVhT3+26xH
zfA-MxKI>-zlLC}l_>K{SGiojABa(3pj