Skip to content

pricing: phase-4: Rill Logo in Embeds#9163

Open
royendo wants to merge 14 commits intomainfrom
worktree-embedded-overlay
Open

pricing: phase-4: Rill Logo in Embeds#9163
royendo wants to merge 14 commits intomainfrom
worktree-embedded-overlay

Conversation

@royendo
Copy link
Copy Markdown
Contributor

@royendo royendo commented Apr 1, 2026

Rill Logo in Embeds for Free - Growth Plans.

Does not apply to Teams/Enterprise

Screenshot 2026-04-01 at 13 26 22

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

royendo and others added 14 commits April 1, 2026 12:37
…nd growth plans

Pass the org's billing plan name from `GetIFrame` to the embed frontend via a
`billing_plan` URL param. When the plan is `free-plan` or `growth-plan`, render
a branded badge in the bottom-right corner linking to rilldata.com.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add the RillFilled icon to the "Made with Rill" badge and increase
right offset to avoid overlapping the scrollbar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded Tailwind gray colors with the project's semantic
CSS variables (surface-overlay, fg-primary, fg-secondary, border)
so the badge adapts to light/dark and custom themes automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only show "Made with Rill" for free-plan and growth-plan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Encode billing_plan in the JWT attributes instead of as a plain URL
parameter, preventing embedders from tampering with the value to hide
the branding overlay. The frontend now decodes the plan from the
signed token payload.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the floating bottom-right badge with a Rill favicon in the
top-left of the embed header bar, matching the standard Rill Cloud
layout. The header bar now shows when branding is needed even if
navigation and chat are disabled.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix atob failing on JWTs with base64url characters by normalizing
to standard base64 before decoding. Extract `requiresEmbedBranding`
helper so the plan-name list lives in one place.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge origin/main to bring the branch up to date (no conflicts).
Convert the new `EmbedBranding.svelte` component from Svelte 4 patterns
(`export let`, `$:`) to Svelte 5 runes (`$props()`, `$derived`).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@royendo royendo changed the title pricing: Rill Logo in Embeds pricing: phase-4: Rill Logo in Embeds Apr 6, 2026
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