From ba6bad58fa3ad7af984baac3fe98e95038bee9fd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:34:56 +0000 Subject: [PATCH 1/3] Initial plan From b11948d3b34add91e311b93710aae7ddfdb53456 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:48:30 +0000 Subject: [PATCH 2/3] Initial plan Co-authored-by: xCyanGrizzly <53275238+xCyanGrizzly@users.noreply.github.com> --- package-lock.json | 10 ++++++++++ package.json | 1 + 2 files changed, 11 insertions(+) diff --git a/package-lock.json b/package-lock.json index c905614..2aaa6a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "clsx": "^2.1.1", "cmdk": "^1.1.1", "dotenv": "^17.3.1", + "geist": "^1.7.0", "lucide-react": "^0.574.0", "next": "16.1.6", "next-auth": "^5.0.0-beta.30", @@ -8100,6 +8101,15 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/geist": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/geist/-/geist-1.7.0.tgz", + "integrity": "sha512-ZaoiZwkSf0DwwB1ncdLKp+ggAldqxl5L1+SXaNIBGkPAqcu+xjVJLxlf3/S8vLt9UHx1xu5fz3lbzKCj5iOVdQ==", + "license": "SIL OPEN FONT LICENSE", + "peerDependencies": { + "next": ">=13.2.0" + } + }, "node_modules/generate-function": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", diff --git a/package.json b/package.json index 504d8c0..d09d995 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "clsx": "^2.1.1", "cmdk": "^1.1.1", "dotenv": "^17.3.1", + "geist": "^1.7.0", "lucide-react": "^0.574.0", "next": "16.1.6", "next-auth": "^5.0.0-beta.30", From 48829e2efcc30d085048a125279c54176414a4db Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:51:28 +0000 Subject: [PATCH 3/3] fix: switch to local geist fonts and use direct prisma binary in entrypoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace next/font/google Geist imports with geist npm package to eliminate Google Fonts CDN network dependency during Docker image builds (was causing intermittent build failures → redeployment errors) - Use ./node_modules/.bin/prisma directly in docker-entrypoint.sh instead of npx for both migrate deploy and db seed commands Co-authored-by: xCyanGrizzly <53275238+xCyanGrizzly@users.noreply.github.com> --- docker-entrypoint.sh | 4 ++-- src/app/layout.tsx | 15 +++------------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index df27d53..67125a6 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -10,11 +10,11 @@ if [ "$AUTH_SECRET" = "change-me-to-a-random-secret-in-production" ] || [ -z "$A fi echo "Running database migrations..." -npx prisma migrate deploy +./node_modules/.bin/prisma migrate deploy if [ "$SEED_DATABASE" = "true" ]; then echo "Seeding database..." - npx prisma db seed || echo "Seeding skipped or already done." + ./node_modules/.bin/prisma db seed || echo "Seeding skipped or already done." fi echo "Starting application..." diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 99a8c37..a752780 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,5 +1,6 @@ import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; +import { GeistSans } from "geist/font/sans"; +import { GeistMono } from "geist/font/mono"; import { SessionProvider } from "@/components/providers/session-provider"; import { ThemeProvider } from "@/components/providers/theme-provider"; import { Toaster } from "@/components/ui/sonner"; @@ -7,16 +8,6 @@ import { TooltipProvider } from "@/components/ui/tooltip"; import { APP_NAME } from "@/lib/constants"; import "./globals.css"; -const geistSans = Geist({ - variable: "--font-geist-sans", - subsets: ["latin"], -}); - -const geistMono = Geist_Mono({ - variable: "--font-geist-mono", - subsets: ["latin"], -}); - export const metadata: Metadata = { title: { default: APP_NAME, @@ -29,7 +20,7 @@ export const metadata: Metadata = { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( -
+