Skip to content

release: v0.6.31#217

Merged
aryanmehrotra merged 9 commits into
mainfrom
development
May 7, 2026
Merged

release: v0.6.31#217
aryanmehrotra merged 9 commits into
mainfrom
development

Conversation

@aryanmehrotra
Copy link
Copy Markdown
Member

@aryanmehrotra aryanmehrotra commented May 7, 2026

What's Changed

Full Changelog: v0.6.30...v0.6.31

aryanmehrotra and others added 9 commits May 5, 2026 23:09
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>
Copilot AI review requested due to automatic review settings May 7, 2026 06:41
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ShowcaseGradient decorative layer and wires it into key marketing surfaces via a withGradient opt-in on MarketingPage.
  • Fixes layout/UX issues: testimonials masonry column-splitting, docs mobile overflow for code/pre, and reduced-motion visibility on /events timeline 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.

Comment thread src/components/AnimatedTimelineItem.jsx
Comment thread src/components/HomePage.jsx
Comment thread src/components/ShowcaseGradient.jsx
@aryanmehrotra aryanmehrotra changed the title release: showcase polish + docs/events fixes + brand casing (2026-05-07) release: v0.6.31 May 7, 2026
@aryanmehrotra aryanmehrotra merged commit 42445a4 into main May 7, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants