Thanks to visit codestin.com
Credit goes to github.com

Skip to content

feat: show a premium paywall on the external auth settings page - #28435

Merged
david-fraley merged 5 commits into
mainfrom
dfraley/external-auth-paywall
Aug 21, 2026
Merged

feat: show a premium paywall on the external auth settings page#28435
david-fraley merged 5 commits into
mainfrom
dfraley/external-auth-paywall

Conversation

@david-fraley

@david-fraley david-fraley commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

TL;DR: hooking up more than one Git provider needs Premium, and now the page says so the same way every other Premium page does.

The Premium Copy Updates doc has a description, a Learn more URL, and three bullets for /deployment/external-auth, but the page rendered a plain Alert, which had nowhere to put them. It was also the only premium surface left out of the funnel telemetry added in #28425.

  • The Alert is replaced with PremiumPaywallSmall, using the doc's description and bullets.
  • The paywall only renders when the deployment lacks the multiple_external_auth entitlement. Previously the notice showed unconditionally, including on deployments that already had the feature.
  • New external_auth value in PremiumFunnelSource (codersdk/premiumfunnel.go, plus make gen output) so CTA clicks are attributable like every other paywall.
  • The page's "Read the docs" header button already points at /admin/external-auth, which is the doc's Learn more URL. The deep link to #multiple-external-providers-premium that lived in the alert is dropped in favour of that button.
  • Stories now cover all three states: paywalled, entitled, and paywalled without license access.

Proof

From a local dev deployment with no license. The earlier screenshot here showed a large blank band above the paywall. That was a capture artifact: the Playwright bundled Chromium cannot decode the H.264 external-auth.mp4, so the video collapsed to a 300x150 fallback box. Re-captured in real Chrome, the video renders at 953x348, sits flush against the header, and the paywall follows 24px below it from the wrapper's mt-6. No spacing change was needed. DOM assertions on that page:

1 | Connect multiple Git and OAuth providers at once.
1 | Connect multiple Git providers at once
1 | Match providers by regex per host
1 | Separate credentials for each provider
0 | Integrating with multiple external authentication providers   (old alert copy, gone)
cta href: /deployment/premium

Telemetry, captured by clicking "Start trial for free" on that page and recording the outbound request:

POST /api/v2/deployment/premium-funnel-events
{"id":"43f9f124-6b94-4586-833f-97f99509a2bc","source":"external_auth","variant":"small"}
landed on: /deployment/premium

make gen, go build ./codersdk/..., pnpm exec tsc --noEmit, pnpm exec biome check src, and the page's Storybook tests pass.


Generated by Coder Agents on behalf of @david-fraley.

The browser-only connections paywall on /deployment/security fell back to
the generic PREMIUM_FEATURES list. Use the bullets from the Premium Copy
Updates doc, and add a paywalled story so the state is covered.
The multiple-providers notice was a plain info alert, so the copy doc
bullets for external auth had nowhere to render and the surface was
missing from premium funnel attribution.

Replace it with PremiumPaywallSmall, shown only when the deployment lacks
the multiple_external_auth entitlement, and add an external_auth premium
funnel source so CTA clicks are attributable like every other paywall.
@github-actions

Copy link
Copy Markdown
Contributor

Docs preview

Check off each page once it's been reviewed. If a page changes in a later push, its checkbox clears automatically so it gets a fresh look. Pages not yet wired into the docs navigation aren't listed here.

@mattvollmer

mattvollmer commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Spacing in the screenshot is gnarly (if the screenshot is accurate). Also, should we remove the empty providers* UI below the paywall? If we do, the paywall will be the only thing on the page, so we should probably use the bigger paywall layout to be consistent.

Edit: I forgot we allow 1 external auth on Community licenses, so we'll need to retain that UI.

@david-fraley

Copy link
Copy Markdown
Collaborator Author

@mattvollmer manually confirmed, the weird spacing was cause the gif wasn't rendering in the screenshot
image

@david-fraley
david-fraley merged commit cb52f53 into main Aug 21, 2026
35 checks passed
@david-fraley
david-fraley deleted the dfraley/external-auth-paywall branch August 21, 2026 16:45
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants