Skip to content

fix(branding): refresh Google branding - #6786

Open
BillLeoutsakosvl346 wants to merge 1 commit into
stagingfrom
fix/google-branding-refresh
Open

fix(branding): refresh Google branding#6786
BillLeoutsakosvl346 wants to merge 1 commit into
stagingfrom
fix/google-branding-refresh

Conversation

@BillLeoutsakosvl346

@BillLeoutsakosvl346 BillLeoutsakosvl346 commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Replace the shared legacy Google G with Google's current official transparent Identity asset.
  • Render the exact official PNG bytes inside the existing SVG component API, removing the foreignObject/CSS gradient/mask/filter stack that could render blank in WebKit.
  • Correct Google Vault OAuth surfaces to use the dedicated Vault product icon while retaining the corporate Google base-provider icon.
  • Align Google authentication CTAs on login, signup, and the landing auth modal with current wording and 20px icon sizing.
  • Regenerate the docs icon projection and add focused regression coverage.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Other

Testing

  • Focused Vitest suite: 3 files, 45 tests passed
  • Full bun run test: 17/17 Turbo tasks; 29,390 tests passed, 47 skipped, 0 failed
  • bun run lint:check: 24/24 tasks passed
  • bun run type-check: 24/24 tasks passed
  • bun run check:icon-paths
  • bun run check:bare-icons
  • bun run docs:check
  • bunx turbo run build --filter=@sim/app: 1,293/1,293 static pages generated
  • git diff --check

Reviewer focus:

  • The embedded 200x204 RGBA asset is the exact file linked by Google's branding guidance; tests pin its 33,661-byte payload and SHA-256.
  • GoogleIcon no longer uses foreignObject, CSS gradients, masks, filters, clip paths, IDs, or url(#...) references.
  • The existing GoogleIcon(props: SVGProps<SVGSVGElement>) API and all callsites remain intact.
  • Product-specific Google marks remain unchanged.

Checklist

  • Code follows project style guidelines
  • Self-reviewed the changes
  • Tests added and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the Contributor License Agreement

Screenshots/Videos

Browser screenshots are not attached because no in-app browser session was available during automation. The implementation removes the WebKit-fragile rendering primitives identified in review, pins the exact official raster bytes in tests, and passes the complete production build.

@vercel

vercel Bot commented Aug 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 17, 2026 10:29pm

Request Review

@cursor

cursor Bot commented Aug 17, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
UI and branding-only changes with no auth logic, token handling, or security-sensitive behavior modified.

Overview
Updates Google sign-in branding to match Google's Identity guidelines and fixes a WebKit rendering issue on the old multi-path logo.

GoogleIcon no longer uses the legacy four-color SVG paths. It now wraps Google's official transparent PNG (embedded as a data URI in an <image> inside SVG), avoiding foreignObject, gradients, masks, and url(#…) references that could show blank in WebKit. The same component API (SVGProps) is unchanged; docs get the mirrored update in apps/docs/components/icons.tsx.

Auth surfaces use "Continue with Google" and a 20px logo on social login chips, the landing auth modal, and related flows; the Google chip switches from leftIcon to leftAdornment so sizing applies directly to the icon.

Google Vault OAuth now uses GoogleVaultIcon for the service icon while GoogleIcon remains the corporate base-provider icon (oauth.ts + test).

Tests pin the embedded PNG (dimensions, SHA-256), assert no fragile SVG paint stack, cover social button CTA/loading behavior, and OAuth provider branding for Vault.

Reviewed by Cursor Bugbot for commit 705ecd7. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps

greptile-apps Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR refreshes the shared Google branding artwork, assigns the dedicated Vault product icon to Google Vault OAuth, and aligns Google authentication CTA wording and sizing.

  • Replaces the legacy path-based Google mark with namespaced gradient SVG artwork in the app and generated docs projection.
  • Updates login and landing authentication surfaces to use the 20px Google mark and current CTA wording.
  • Adds focused tests for SVG IDs, social sign-in state, and OAuth icon configuration.

Confidence Score: 4/5

The PR appears safe to merge, with a non-blocking gap in browser-level visual coverage for the new SVG rendering technique.

The authentication and OAuth configuration changes remain consistent with existing behavior, but the new Google artwork relies on browser-rendered foreignObject and CSS effects that are only tested as serialized markup.

Files Needing Attention: apps/sim/components/icons.test.tsx, apps/sim/components/icons.tsx

Important Files Changed

Filename Overview
apps/sim/components/icons.tsx Replaces the shared Google icon with namespaced mask, filter, and foreignObject-based gradient artwork; browser-rendered output is not covered.
apps/docs/components/icons.tsx Mirrors the updated Google icon implementation for the documentation icon projection.
apps/sim/components/icons.test.tsx Verifies serialized artwork structure and unique SVG references, but does not validate visual rendering in a browser.
apps/sim/app/(auth)/components/social-login-buttons.tsx Updates the Google CTA text and uses an explicitly sized left adornment while preserving sign-in behavior.
apps/sim/app/(landing)/components/auth-modal/auth-modal.tsx Increases the Google logo from 18px to the intended 20px size.
apps/sim/lib/oauth/oauth.ts Correctly assigns the existing GoogleVaultIcon to the Vault service while retaining Google family branding.

Reviews (1): Last reviewed commit: "fix(branding): refresh Google logo" | Re-trigger Greptile

Comment thread apps/sim/components/icons.test.tsx Outdated
Comment on lines +13 to +29
const markup = renderToStaticMarkup(
<GoogleIcon className='google-icon' data-testid='google-icon' aria-label='Google' />
)

expect(markup).toContain('viewBox="10 10 20 20"')
expect(markup).toContain('width="24"')
expect(markup).toContain('height="24"')
expect(markup).toContain('class="google-icon"')
expect(markup).toContain('data-testid="google-icon"')
expect(markup).toContain('aria-label="Google"')
expect(markup).toContain('conic-gradient(from 90deg')
expect(markup.match(/<filter\b/g)).toHaveLength(7)
expect(markup.match(/<ellipse\b/g)).toHaveLength(6)
expect(markup).not.toContain('data-figma')
})

it('namespaces every definition and resolves every URL reference', () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Browser rendering remains untested

This Node-based test only inspects serialized markup, so it does not exercise the new foreignObject, CSS conic gradient, mask, and filter combination in a browser. A browser-level visual assertion would prevent blank or partial Google artwork from passing this regression suite.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@BillLeoutsakosvl346 BillLeoutsakosvl346 Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 705ecd7. GoogleIcon no longer relies on browser-painted foreignObject, conic-gradient, masks, filters, clip paths, or SVG IDs. It now embeds Google's exact official transparent 200x204 PNG in the existing SVG wrapper. The regression test pins the byte length, dimensions, and SHA-256 and explicitly guards against reintroducing the fragile primitives. No browser session was available, so I am not claiming a Safari screenshot check.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 8328c9b. Configure here.

Comment thread apps/sim/components/icons.tsx Outdated
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

How it looks now:

demo1 demo2 demo3

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.

1 participant