From 635109463224cf9da5c0d33169ad4a2e9ee067b9 Mon Sep 17 00:00:00 2001 From: Dharshni Date: Fri, 11 Sep 2026 14:02:43 +0530 Subject: [PATCH 1/6] bug fix:updated root page meta description --- src/app/layout.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 557e5ecd..839027b0 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -15,7 +15,7 @@ import { Toaster } from "@/components/ui/sonner"; export const metadata: Metadata = { title: "LibreDB Studio | Universal Database Editor", description: - "A self-hosted, web-based SQL IDE for PostgreSQL, MySQL, MongoDB and more, with AI-assisted queries, schema exploration, and support for SQL and NoSQL engines.", + "A self-hosted database management platform for SQL and NoSQL databases, with schema exploration, query tools, data import, and AI-assisted database development.", icons: { icon: [ { url: withBasePath("/favicon.ico?v=2"), sizes: "any" }, From 213885264f2b1c7e50b3750fbf683182add7d4be Mon Sep 17 00:00:00 2001 From: Mehmet Cevheri BOZOGLAN Date: Fri, 11 Sep 2026 13:00:10 +0300 Subject: [PATCH 2/6] fix(format): Update layout.tsx --- src/app/layout.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index ab8db255..5b1b0a05 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -24,7 +24,8 @@ const previewImage = { export const metadata: Metadata = { title: "LibreDB Studio | Universal Database Editor", - description: "A self-hosted database management platform for SQL and NoSQL databases, with schema exploration, query tools, data import, and AI-assisted database development.", + description: + "A self-hosted database management platform for SQL and NoSQL databases, with schema exploration, query tools, data import, and AI-assisted database development.", openGraph: { type: "website", url: siteUrl, From 459a21171703837f270907bc513434b43347d6c1 Mon Sep 17 00:00:00 2001 From: Mehmet Cevheri BOZOGLAN Date: Fri, 11 Sep 2026 13:10:50 +0300 Subject: [PATCH 3/6] style: Update layout.tsx From 147f65f32c545f37d39d6cd7ac6a96c259e02ae0 Mon Sep 17 00:00:00 2001 From: cevheri Date: Sat, 12 Sep 2026 04:52:11 +0300 Subject: [PATCH 4/6] fix(format): app layout description with biome format:fix --- src/app/layout.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 5b1b0a05..c7579217 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -24,7 +24,7 @@ const previewImage = { export const metadata: Metadata = { title: "LibreDB Studio | Universal Database Editor", - description: + description: "A self-hosted database management platform for SQL and NoSQL databases, with schema exploration, query tools, data import, and AI-assisted database development.", openGraph: { type: "website", From 9f7518fa714acce24ceceeb131953abfed2f8745 Mon Sep 17 00:00:00 2001 From: cevheri Date: Sat, 12 Sep 2026 04:52:11 +0300 Subject: [PATCH 5/6] fix(test): RootLayout metadata matches PR description --- tests/components/RootLayout.test.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/components/RootLayout.test.tsx b/tests/components/RootLayout.test.tsx index 5cc38c39..694b8367 100644 --- a/tests/components/RootLayout.test.tsx +++ b/tests/components/RootLayout.test.tsx @@ -42,23 +42,22 @@ describe("RootLayout", () => { test("shares a branded static image with matching Open Graph and Twitter metadata", () => { const screenshot = readFileSync(new URL("../../public/screenshots/hero-editor.png", import.meta.url)); const image = { - url: "https://app.libredb.org/screenshots/hero-editor.png", + url: "https://raw.githubusercontent.com/libredb/libredb-studio/main/public/screenshots/hero-editor.png", alt: "LibreDB Studio SQL editor and query results", }; expect(metadata.openGraph).toMatchObject({ type: "website", - url: "https://app.libredb.org", + url: "https://libredb.org", title: metadata.title, - description: metadata.description, siteName: "LibreDB Studio", images: [{ ...image, width: screenshot.readUInt32BE(16), height: screenshot.readUInt32BE(20) }], }); expect(metadata.twitter).toMatchObject({ card: "summary_large_image", title: metadata.title, - description: metadata.description, images: [image], }); + expect(metadata.openGraph?.description).toBe(metadata.twitter?.description); }); test("describes the database scope in a search-result snippet", () => { @@ -67,7 +66,7 @@ describe("RootLayout", () => { expect(description.length).toBeLessThanOrEqual(160); expect(description).toContain("self-hosted"); expect(description).toContain("SQL and NoSQL"); - expect(description).toContain("and more"); + expect(description).toContain("database management platform"); expect(description).not.toMatch(/\d/); }); From 6e1d8520ea3b28f1917aaf5530261dcd21c43a61 Mon Sep 17 00:00:00 2001 From: cevheri Date: Sat, 12 Sep 2026 04:52:11 +0300 Subject: [PATCH 6/6] fix(layout): share metadata description with OG and Twitter --- src/app/layout.tsx | 7 +++---- tests/components/RootLayout.test.tsx | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c7579217..0fa3c713 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -14,7 +14,7 @@ import { Toaster } from "@/components/ui/sonner"; const title = "LibreDB Studio | Universal Database Editor"; const description = - "A self-hosted, web-based SQL IDE for PostgreSQL, MySQL, MongoDB and more, with AI-assisted queries, schema exploration, and support for SQL and NoSQL engines."; + "A self-hosted database management platform for SQL and NoSQL databases, with schema exploration, query tools, data import, and AI-assisted database development."; // Project previews use the public demo documented in README, including on private deployments. const siteUrl = "https://libredb.org"; const previewImage = { @@ -23,9 +23,8 @@ const previewImage = { }; export const metadata: Metadata = { - title: "LibreDB Studio | Universal Database Editor", - description: - "A self-hosted database management platform for SQL and NoSQL databases, with schema exploration, query tools, data import, and AI-assisted database development.", + title, + description, openGraph: { type: "website", url: siteUrl, diff --git a/tests/components/RootLayout.test.tsx b/tests/components/RootLayout.test.tsx index 694b8367..5665b849 100644 --- a/tests/components/RootLayout.test.tsx +++ b/tests/components/RootLayout.test.tsx @@ -49,15 +49,16 @@ describe("RootLayout", () => { type: "website", url: "https://libredb.org", title: metadata.title, + description: metadata.description, siteName: "LibreDB Studio", images: [{ ...image, width: screenshot.readUInt32BE(16), height: screenshot.readUInt32BE(20) }], }); expect(metadata.twitter).toMatchObject({ card: "summary_large_image", title: metadata.title, + description: metadata.description, images: [image], }); - expect(metadata.openGraph?.description).toBe(metadata.twitter?.description); }); test("describes the database scope in a search-result snippet", () => {