release: v0.6.31#217
Merged
Merged
Conversation
The header already shows a live, accurate star count via its own fetch. The showcase page rendered a second badge backed by a client-side localStorage cache that was never refreshed, so users hitting /showcase saw a stale number (e.g. 14.2K against the header's 21.5K). Removing the badge also lets the page lose 'use client', the useState/useEffect pair, and the formatNumber import — /showcase becomes a fully-static route (478 B vs 4.85 kB before). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ShowcaseGradient is a small decorative orb layer (cyan + indigo,
matching the Hero's existing vocabulary). Drop it inside any
`relative overflow-x-clip` wrapper and three pointer-events-none
orbs distribute down the page at alternating sides.
Wired into the framework's pitch surfaces:
- homepage (replaces the inline orb cluster)
- /why-gofr, /comparison/*, /migrate/* via MarketingPage's new
opt-in `withGradient` prop
- /showcase (its custom layout doesn't use MarketingPage, so
it composes ShowcaseGradient directly)
Reading-mode pages keep the calm canvas they had — /faq, /learn
also use MarketingPage but don't pass withGradient. /docs/** and
the rest of the site are untouched.
Also fixes the testimonials masonry on narrow viewports
(`Reviews.jsx`): added `block break-inside-avoid w-full` to each
card and `gap-x-6` between columns. Without break-inside-avoid,
CSS multi-column layout was splitting tall cards across the
column boundary, rendering the two halves on top of each other.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three independent regressions surfaced by a staging-wide QA sweep
(51 pages × 2 viewports). All addressed in one polish pass.
1) src/components/Prose.jsx
- prose-table:block prose-table:overflow-x-auto so wide reference
tables (notably /docs/references/configs, /docs/references/testing,
/docs/guides/deploying-to-kubernetes, /comparison, /migrate/from-*)
scroll inside their column instead of widening the entire page
past the mobile viewport.
- prose-pre:overflow-x-auto so long YAML / JSON / shell snippets
scroll inside the <pre> instead of stretching the prose column.
- prose-code:break-words so long unbreakable inline-code tokens
(env-var names, connection strings, fully-qualified Go identifiers)
wrap.
2) src/components/AnimatedTimelineItem.jsx
- Default isVisible=true; short-circuit the IntersectionObserver
fade for prefers-reduced-motion: reduce users (and SSR / no-JS).
- Previously, those users got every other timeline image at
opacity 0 — looked like /events was missing photos.
3) src/components/CompanyTrustedList.jsx
- 9 logos now render as a 3+3+3 grid at every breakpoint instead
of the previous w-1/4 / sm:w-1/6 / lg:w-1/5 ladder which produced
ragged 4+4+1 (mobile), 6+3 (sm), 5+4 (desktop) splits.
Validated by re-screenshotting the affected pages against a fully-
populated docker build (gofr/docs/Dockerfile overlay) and comparing
against the staging baseline. All flagged pages now render correctly
on mobile, with no desktop regression.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dropping the `prose-table:block prose-table:overflow-x-auto` from
the previous commit. For reference pages like /docs/references/configs,
the page-level horizontal overflow at mobile widths is actually
more useful than a per-table horizontal scroll: every column
stays visible at once (small but scannable) instead of hiding
2 of 4 columns behind a thin, discovery-hostile scrollbar.
Page-width measurements before/after this revert (all mobile 375px target):
/docs/references/configs 787 → 787 (intentional, was the user's call)
/docs/references/testing 375 → 375 (prose-pre handles it)
/docs/quick-start/configuration 375 → 375 (prose-code:break-words handles it)
/docs/guides/deploying-to-k8s 527 → 527 (unchanged on staging too)
/comparison 453 → 453 (table-block didn't actually move
the needle here either; mild overflow
inherited from the matrix is the same
either way)
Keeping `prose-pre:overflow-x-auto` and `prose-code:break-words` —
those are unambiguous wins.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…d test # Conflicts: # src/app/showcase/page.jsx
The lowercase 'r' is the canonical brand mark (matches the logo).
Two website-side spots had drifted to "GoFR" (all-caps R) or
"Gofr" (lowercase 'ofr'):
- src/lib/navigation.js — 7 desc strings used 'GoFR' through-out
the nav. This is the website's standalone copy of nav metadata;
the framework's gofr/docs/navigation.js overlays it during the
framework-docs docker build, so when paired with gofr#3398 the
fix lands in both layers.
- src/components/Search.jsx — `prettifySegment` was naive Title
Case, so search breadcrumbs rendered slugs like 'gofr-vs-gin'
as 'Gofr Vs Gin' and 'wrap-grpc' as 'Wrap Grpc'. Added a small
PRETTY_TOKENS map (gofr → GoFr, gofrcli → GoFr CLI, vs → vs,
grpc → gRPC, etc.) so the breadcrumb honors the brand mark and
common acronyms while plain words still fall through to Title
Case.
Code identifiers left alone (RegisterServerWithGofr, GOFR_TELEMETRY).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Rollup release PR combining showcase/marketing visual polish, docs UX fixes, events reduced-motion handling, and brand-correct breadcrumb/nav copy updates across the GoFr website.
Changes:
- Introduces a shared
ShowcaseGradientdecorative layer and wires it into key marketing surfaces via awithGradientopt-in onMarketingPage. - Fixes layout/UX issues: testimonials masonry column-splitting, docs mobile overflow for code/pre, and reduced-motion visibility on
/eventstimeline items. - Corrects GoFr brand casing in navigation descriptions and search breadcrumbs.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/lib/navigation.js | Updates nav description strings to use correct “GoFr” brand casing. |
| src/components/ShowcaseGradient.jsx | Adds reusable three-orb decorative gradient layer. |
| src/components/Search.jsx | Improves breadcrumb prettification via token map (GoFr, gRPC, vs, acronyms). |
| src/components/Reviews.jsx | Prevents multi-column card splitting with break-inside-avoid and spacing tweak. |
| src/components/Prose.jsx | Adds pre horizontal scrolling and inline-code word breaking to prevent mobile overflow. |
| src/components/MarketingPage.jsx | Adds withGradient prop to optionally render the gradient layer + clip overflow. |
| src/components/HomePage.jsx | Adds ShowcaseGradient to homepage wrapper. |
| src/components/CompanyTrustedList.jsx | Switches logo wall to consistent 3×3×3 grid layout. |
| src/components/AnimatedTimelineItem.jsx | Defaults images visible; skips observer animation for reduced-motion / SSR/no-JS. |
| src/app/why-gofr/layout.jsx | Enables gradient via withGradient. |
| src/app/showcase/page.jsx | Removes redundant cached GitHub-stars badge; adds gradient layer; route becomes static. |
| src/app/migrate/layout.jsx | Enables gradient via withGradient. |
| src/app/comparison/layout.jsx | Enables gradient via withGradient. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Umang01-hash
approved these changes
May 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's Changed
Full Changelog: v0.6.30...v0.6.31