From 555ec40a055305bc87ed46ef0a8614af103ea1d7 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Sun, 8 Feb 2026 22:12:56 -0600 Subject: [PATCH 1/4] Enhance Supabase integration by adding SUPABASE_USE_DB environment variable support in compile script and conditionally initializing Supabase sync based on its value. --- apps/roam/scripts/compile.ts | 1 + apps/roam/src/index.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/roam/scripts/compile.ts b/apps/roam/scripts/compile.ts index 19d36b71f..9a34613fe 100644 --- a/apps/roam/scripts/compile.ts +++ b/apps/roam/scripts/compile.ts @@ -159,6 +159,7 @@ export const compile = ({ bundle: true, format, define: { + "process.env.SUPABASE_USE_DB": `"${process.env.SUPABASE_USE_DB}"`, "process.env.SUPABASE_URL": dbEnv.SUPABASE_URL ? `"${dbEnv.SUPABASE_URL}"` : "null", diff --git a/apps/roam/src/index.ts b/apps/roam/src/index.ts index 1bed828d4..ca4de9197 100644 --- a/apps/roam/src/index.ts +++ b/apps/roam/src/index.ts @@ -120,7 +120,7 @@ export default runExtension(async (onloadArgs) => { text: "(BETA) Suggestive Mode Enabled", }).value; - if (isSuggestiveModeEnabled) { + if (isSuggestiveModeEnabled && process.env.SUPABASE_USE_DB !== "none") { initializeSupabaseSync(); } From e4ef40bdcb7bfbaeb25d178f15df90111611ba88 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Sun, 8 Feb 2026 22:32:51 -0600 Subject: [PATCH 2/4] Update compile script to conditionally set SUPABASE_USE_DB environment variable, ensuring it defaults to "null" when not defined. --- apps/roam/scripts/compile.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/roam/scripts/compile.ts b/apps/roam/scripts/compile.ts index 9a34613fe..d41619b52 100644 --- a/apps/roam/scripts/compile.ts +++ b/apps/roam/scripts/compile.ts @@ -159,7 +159,9 @@ export const compile = ({ bundle: true, format, define: { - "process.env.SUPABASE_USE_DB": `"${process.env.SUPABASE_USE_DB}"`, + "process.env.SUPABASE_USE_DB": dbEnv.SUPABASE_USE_DB + ? `"${dbEnv.SUPABASE_USE_DB}"` + : "null", "process.env.SUPABASE_URL": dbEnv.SUPABASE_URL ? `"${dbEnv.SUPABASE_URL}"` : "null", From 0085199ff3c986cc533a4116002fffbff8f6c3c8 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Sun, 8 Feb 2026 22:33:05 -0600 Subject: [PATCH 3/4] Disable ESLint naming convention rule in compile script to allow for more flexible variable naming. --- apps/roam/scripts/compile.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/roam/scripts/compile.ts b/apps/roam/scripts/compile.ts index d41619b52..dcc682461 100644 --- a/apps/roam/scripts/compile.ts +++ b/apps/roam/scripts/compile.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/naming-convention */ import esbuild from "esbuild"; import fs from "fs"; import path from "path"; From 6f0c55a48ba0760add32a8779b3799e75aadb5b1 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Sun, 8 Feb 2026 22:51:15 -0600 Subject: [PATCH 4/4] Update envContents function to include SUPABASE_USE_DB variable from getVariant, ensuring it is returned alongside parsed dotenv data. --- packages/database/src/dbDotEnv.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/database/src/dbDotEnv.mjs b/packages/database/src/dbDotEnv.mjs index 023af9f17..73f4fcdb1 100644 --- a/packages/database/src/dbDotEnv.mjs +++ b/packages/database/src/dbDotEnv.mjs @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/naming-convention */ import { readFileSync, existsSync } from "node:fs"; import { join, dirname, basename } from "node:path"; import { fileURLToPath } from "node:url"; @@ -69,10 +70,12 @@ export const envFilePath = () => { }; export const envContents = () => { + const variant = getVariant(); const path = envFilePath(); if (!path) { // Fallback to process.env when running in production environments const raw = { + SUPABASE_USE_DB: variant, SUPABASE_URL: process.env.SUPABASE_URL, SUPABASE_ANON_KEY: process.env.SUPABASE_ANON_KEY, NEXT_API_ROOT: process.env.NEXT_API_ROOT, @@ -80,7 +83,10 @@ export const envContents = () => { return Object.fromEntries(Object.entries(raw).filter(([, v]) => !!v)); } const data = readFileSync(path, "utf8"); - return dotenv.parse(data); + return { + ...dotenv.parse(data), + SUPABASE_USE_DB: variant, + }; }; let configDone = false;