Repository navigation
fix(surveys): use gradient PostHog logo in survey footer - #5635
rafaeelaudibert wants to merge 6 commits into
Conversation
The footer used the flat "print" variant of the logo. Use the default "gradient" variant from @posthog/brand instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 7e052f9e-66b8-445d-8a9b-de04c1478a19
|
Coherence📄 0 spec file errors · ⛔ 0 broken rules · 🚪 1 unchecked input · 🐛 0 bugs that came back What is Coherence?Coherence compares the code with its spec files ( This check read 44 parts of the code and 7 rules. Note These findings do not make this check fail. None of these findings are in files that this pull request changes. You do not need to fix them in this pull request. 🚪 Unchecked inputs (1)
What this means and how to fix itInput from outside this code comes in at these places. The spec does not say what checks that input. 10 more places were already like this when Coherence was added. This list does not show them. To close one of these, find the place by its name in the
To get the line to add, run |
|
Size Change: +38.8 kB (+0.15%) Total Size: 26.6 MB 📦 View Changed
ℹ️ View Unchanged
|
Temporary. The next commit removes them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 7e052f9e-66b8-445d-8a9b-de04c1478a19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 7e052f9e-66b8-445d-8a9b-de04c1478a19
posthog-js Compliance ReportDate: 2026-11-09 17:15:23 UTC ✅ All Tests Passed!26/26 tests passed Capture Tests✅ 26/26 tests passed View Details
|
SDK performance: posthog-nodeBenchmarks completed. No changes flagged for review. Flags require at least a 5% change in the median and all six pairs agreeing on direction. This is a noise filter, not proof of a performance change or a CI gate. View all results
Values are medians of paired measurements. Not flagged does not mean unchanged. Unavailable means a measurement could not be provided, not zero. Estimated allocation measurements retain their instrumentation uncertainty. RSS measures the whole process, not just SDK allocations; observed peaks are sampled checkpoints. Paired ranges in the diagnostics describe variability, not confidence intervals. Each shard uses its own runner; compare Before PR against With PR within a row, not across shards. Compared 102 metric rows; 102 rows shown in all results. Omitted or shortened data remain in |
The gradient logo is made for light backgrounds. On dark survey and product tour backgrounds, show the one-color (mono) mark from @posthog/brand in the text color, as the brand package and the PostHog app do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 7e052f9e-66b8-445d-8a9b-de04c1478a19
Temporary. The next commit removes them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 7e052f9e-66b8-445d-8a9b-de04c1478a19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 7e052f9e-66b8-445d-8a9b-de04c1478a19
Problem
The "Survey by PostHog" footer uses the flat
print(4-color/CMYK) variant of the logo from@posthog/brand. On screen it looks like the old logo, because the default brand logo is thegradientvariant.Why: The survey footer must show the logo as the brand package shows it by default on screen.
Changes
IconPosthogLogoSVG with thegradientlandscape logo from@posthog/brand0.17.2 (the logo geometry is the same as in 0.12.3, which fix(surveys): use new PostHog logo in survey footer branding #5152 used).mono) mark from@posthog/brandin the text color. This is what the brand docs say to do on dark backgrounds, and what the PostHog app'sLogodoes in dark mode. The SVG has both marks, and one CSS variable (--ph-logo-mono) picks which one shows.setLogoVariantsets it whengetContrastingTextColor(backgroundColor)gives white text. Surveys and product tours both call it.@posthog/brandas a dependency. ItsLogocomponent needs React (sopreact/compatin the surveys bundle), and all its SVG markup is in oneLOGO_BODYobject that a bundler cannot tree-shake. A minified test bundle with<Logo />was about 34 KB (6.9 KB gzipped). The inline icon was about 5.6 KB (1.8 KB gzipped).Screenshots
Rendered in headless Chromium at 3x with the footer CSS from
survey.css(11px,opacity: 0.6). The text color is the onegetContrastingTextColorpicks for each background. The survey card is a mock-up. Only the footer logo is the real markup from this PR.Before (
main,printvariant):After (
gradienton light,monoon dark):Dark mode compared with
<Logo variant="mono" />from@posthog/brand:Release info Sub-libraries affected
Libraries affected
Checklist
If releasing new changes
pnpm changesetto generate a changeset file🤖 Agent context
Autonomy: Human-driven (agent-assisted)
LOGO_BODY.landscape.gradientin@posthog/brand0.17.2 and converted it to JSX withoxfmt.pnpm lintpasses inpackages/browser-commonandpackages/browser. The surveys vitest suite passes (17 files, including a new test forsetLogoVariant). On Node 26 it needsNODE_OPTIONS=--no-experimental-webstorage, because the built-inlocalStoragebreaks jsdom. Thetscerrors inbrowser-commonare the same as onmain(missing@posthog/coretype files locally). The screenshots come from a standalone render, not from a real survey in an app, so please look at the footer in a test survey before merge. The screenshot PNGs are added in one commit and removed in the next, so they do not go tomainwith the squash merge.Created with PostHog from a Slack thread
🤖 Generated with Claude Code