You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix(website): phase 2 audit — P0 bugs, playground UX, homepage, content pages
P0 bugs:
- Guard onRouterTransitionStart behind NEXT_PUBLIC_SENTRY_DSN check to prevent
spurious router.push() redirect loops when DSN is absent
- Remove clients.claim() from WASM service worker activate handler to prevent
disruption of in-flight RSC fetches during page load
- Navbar: add pointerEvents:none to mobile menu initial/exit states to block
iOS ghost click causing accidental navigation; add type="button" to hamburger
- Navbar: change all md: breakpoints → lg: so desktop nav collapses at 1024px
Homepage:
- AnimatedCounter: initialize display to real value to eliminate zero flash on mount;
add prefers-reduced-motion guard to skip animation
- Hero: move overflow-hidden from section to blobs div; add break-words/hyphens-auto
to headline; fix playground link contrast text-zinc-500 → text-zinc-300
- SocialProof: fix GitHub shields.io badge URL gosqlx/gosqlx → ajitpratap0/GoSQLX
- VscodeSection: fix publisher ID gosqlx.gosqlx → ajitpratap0.gosqlx
Playground:
- WasmLoader: fix callAndParse to separate JSON parse errors from error objects so
Go WASM error responses propagate to callers instead of returning raw JSON strings
- AnalyzeTab: fix all field names to match actual Go JSON output (critical_count,
high_count, medium_count, low_count from security; Score, QueryComplexity,
Suggestions from optimization — PascalCase because no JSON struct tags in Go)
- Playground: fix breakpoints md: → lg: for side-by-side layout on desktop only
Content:
- GETTING_STARTED.md: replace all .md hrefs with /docs/ routes; update v1.6.0 → v1.12.0
- Sidebar: normalize trailing slash in isActive; add aria-current="page" to active link
with visual left border accent
- Toc: add H2/H3 visual hierarchy (weight, size, indent, ellipsis + title tooltip)
- blog/page.tsx: rename "Release Notes" → "Changelog" in heading and metadata
- BenchmarksContent: add competitor comparison table (GoSQLX vs xwb1989, pg_query_go,
blastrain/sqlparser)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(ci): auto-trigger Glama build on every GitHub release
Adds .github/workflows/glama-sync.yml which fires on every published
GitHub release and does two things in parallel:
1. bump-glama-version (continue-on-error):
- Strips the `v` prefix from the release tag
- Updates glama.json version field via jq
- Commits "[skip ci]" back to the release branch
- Best-effort: silently passes if branch protection rejects the push
2. trigger-glama-build:
- POSTs to Glama's admin Dockerfile endpoint with:
intent=build, pinnedCommitSha=<release SHA>
full build config (Go 1.26.1 download + compile)
- Pins the build to the exact release commit so Glama always
runs the binary that matches the published release
- Gracefully skips with setup instructions when
GLAMA_SESSION_COOKIE secret is not configured
- Fails with a clear message when the cookie has expired
Requires one-time manual setup:
Repo Settings → Secrets → GLAMA_SESSION_COOKIE
(Chrome DevTools → Network → copy Cookie header from glama.ai)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(website): skip SW hash update when WASM binary is absent (Vercel builds)
The postbuild update-sw-hash script called fs.readFileSync on public/wasm/gosqlx.wasm
which is gitignored. Vercel's automatic preview builds don't run the WASM compile step
(only the GitHub Actions workflow does), causing every Vercel deployment to fail.
Add an fs.existsSync guard: when the binary is absent the script prints a warning and
exits 0 instead of throwing. The SW cache key remains unchanged in that case, which is
correct — Vercel preview builds don't serve the WASM anyway.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(docker): bump Go base image from 1.25 to 1.26 to match go.mod
go.mod requires go >= 1.26.1 but the Dockerfile was using golang:1.25-alpine
(Go 1.25.8), causing all Render builds to fail with:
go: go.mod requires go >= 1.26.1 (running go 1.25.8; GOTOOLCHAIN=local)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(website): comprehensive audit fixes — phase 2 & 3
Homepage:
- Fix invalid double <main> nesting (layout.tsx wraps in <div> now)
- StatsBar: grid layout prevents 3+1 orphan at tablet breakpoints
- StatsBar: unify performance stat to 1,380,000 (matches benchmarks page)
- Hero: improve hover contrast and mobile overflow handling
- McpSection: fix badge contrast (zinc-500→zinc-300), add MCP guide CTA
Playground:
- SqlEditor: CodeMirror fills container height via theme + h-full wrapper
- Playground: skeleton loading state mirrors real UI layout
- FormatTab: consistent overflow handling
- AnalyzeTab: C:0 H:0 M:0 L:0 severity format with hover tooltip
Benchmarks:
- Section heading, GoSQLX highlight row, CTA section
- Accessible aria-labels on ✓/✗ symbols
- Mobile swipe hint, improved dot contrast, last-updated label
- Updated page title with 1.38M ops/sec
Docs:
- TOC width: w-48 → w-56 (224px) for better readability
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(website): VS Code & benchmarks page audit — a11y, SEO, UX fixes
Benchmarks page:
- Fix duplicate <main> landmark (use <div> wrapper)
- Standardize h2 headings to text-2xl font-bold
- Remove extra mt-16 from CTA section (fixes blank space gap)
- Add scope="col" to all <th> elements (WCAG 1.3.1)
- Add sr-only <caption> to both tables
- Fix version v1.12.1 → v1.12.0
- Add trailing slashes to CTA hrefs
- aria-hidden on methodology bullet dots
- Wrap -benchmem in <code> tag
- Add competitor measurement footnote
- Add page-specific openGraph + alternates.canonical
VS Code page:
- Fix duplicate <main> landmark (use <div> wrapper)
- Add sr-only <h2>Features</h2> (fix H1→H3 heading skip)
- aria-label on Install Extension CTA (new tab warning)
- aria-label on features <section>
- role/aria-label/tabIndex on <pre> Key Settings block
- Add page-specific openGraph + alternates.canonical
Shared components:
- FadeIn: respect prefers-reduced-motion via useReducedMotion()
- Navbar: aria-current="page" on active link + active text-white style
- Navbar: aria-label="Main navigation" on <nav>
- TerminalMockup: aria-hidden on decorative dots, break-all→break-words
- layout.tsx: relative canonical '/' (let pages override per-page)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(website): remove duplicate Competitor Comparison section on benchmarks page
The second competitor comparison table (lines 186-238) was an exact
duplicate of the first, rendered back-to-back. It also lacked the
accessibility improvements (scope="col", aria-labels, sr-only caption)
that were present on the first. Remove the stale duplicate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Ajit Pratap Singh <ajitpratapsingh@Ajits-Mac-mini-2655.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
<pclassName="text-xs text-zinc-500 mt-2 md:hidden">← Swipe to see all columns →</p>
181
+
<pclassName="text-xs text-zinc-500 mt-2">* Competitor figures estimated from published benchmarks on equivalent hardware. Results may vary by query complexity.</p>
146
182
</FadeIn>
147
183
</div>
148
184
</section>
@@ -155,14 +191,39 @@ export function BenchmarksContent() {
'Detailed performance benchmarks for GoSQLX: 1.38M+ ops/sec sustained throughput, 8M+ tokens/sec, zero race conditions across 20K+ concurrent operations. Compare against xwb1989/sqlparser, pg_query_go, and blastrain/sqlparser.',
'High-performance, zero-copy SQL parsing SDK for Go. Thread-safe with multi-dialect support for PostgreSQL, MySQL, SQLite, SQL Server, Oracle, and Snowflake.',
15
15
metadataBase: newURL('https://gosqlx.dev'),
16
16
alternates: {
17
-
canonical: 'https://gosqlx.dev',
17
+
canonical: '/',
18
18
},
19
19
openGraph: {
20
20
type: 'website',
@@ -83,7 +83,7 @@ export default function RootLayout({
Copy file name to clipboardExpand all lines: website/src/app/vscode/page.tsx
+9-1Lines changed: 9 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,15 @@ import { VscodeContent } from './VscodeContent';
4
4
exportconstmetadata: Metadata={
5
5
title: 'VS Code Extension',
6
6
description:
7
-
'Real-time SQL validation, formatting, and linting for VS Code. Powered by the GoSQLX parser with multi-dialect support.',
7
+
'Real-time SQL validation, formatting, and linting for VS Code. GoSQLX powers instant diagnostics, auto-formatting, and 10 built-in lint rules with multi-dialect support.',
0 commit comments