Skip to content

Fix compliance page logo incorrectly set from org settings uploads#1460

Draft
gearnode wants to merge 3 commits into
mainfrom
cursor/fix-compliance-logo-f93a
Draft

Fix compliance page logo incorrectly set from org settings uploads#1460
gearnode wants to merge 3 commits into
mainfrom
cursor/fix-compliance-logo-f93a

Conversation

@gearnode

@gearnode gearnode commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes ENG-583: uploading a logo in organization settings (especially on first upload) could pin the wrong asset on the public compliance page.

The root cause was an auto-copy in UpdateOrganization that wrote the uploaded organization logo file ID into trust_centers.logo_file_id whenever the compliance page had no dedicated logo yet. Once set, later uploads (including horizontal logos for documents) did not update the public page, leaving customers with a stale or incorrect logo.

Changes

  • Remove auto-copy of organization logo uploads into trust_centers.logo_file_id during org create/update.
  • Add runtime fallback: when no dedicated compliance logo is configured, serve the organization square logo (organizations.logo_file_id) on the public compliance page, console brand UI, MCP, and email branding paths.
  • Data migration: clear trust_centers.logo_file_id values that were inherited from organization or horizontal logo file IDs so existing tenants pick up the fallback behavior.
  • E2E test: verify uploading a horizontal logo in IAM settings does not replace the compliance page logo.

Testing

  • Added e2e/console/connect_organization_horizontal_logo_test.go
  • make go-fmt passes on touched Go files

Linear Issue: ENG-583

Open in Web Open in Cursor 

Summary by cubic

Fixes ENG-583 by ensuring org settings uploads no longer override the compliance page logo. Removes the auto-copy and serves the org square logo as a fallback when no compliance logo is set, with a migration to clear inherited values.

Tests +212 -0

  • Add e2e to confirm a horizontal logo upload in settings does not replace the compliance page logo.
  • Verify the fallback serves the org logo.

Coredata +43 -0

  • Add TrustCenter.EffectiveLogoFileID to resolve the active logo (trust-center-specific or org square).
  • Migration clears trust_centers.logo_file_id when it matches org logo IDs.

Service +58 -53

  • Remove auto-copy of org logo into compliance logo on create/update.
  • Use EffectiveLogoFileID for logo resolution in compliance page, email branding, and mailing lists.

GraphQL API +39 -5

  • Console and public resolvers load the org logo when no compliance logo is set.
  • Fix wsl lint in trust resolver by inlining scope construction.

MCP +7 -2

  • Tool resolver uses EffectiveLogoFileID so MCP reflects the same fallback behavior.

Written for commit ca946c8. Summary will update on new commits.

Review in cubic

cursoragent and others added 3 commits July 3, 2026 12:00
Organization settings uploads were auto-copying the square logo into
trust_centers.logo_file_id on first upload, which could stick a
document-oriented horizontal asset on the public compliance page.

Serve the organization square logo as a runtime fallback when no
dedicated compliance logo is configured, and clear inherited logo
file IDs that match organization or horizontal logo files.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
Flatten the fallback branch so blank lines separate the scope
load from the following if, matching the console resolver style.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
Inline the scope construction so only one statement precedes
the organization load error check.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
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.

2 participants