Skip to content

Make GitHub integration free for all users - #3152

Merged
AviPeltz merged 1 commit into
mainfrom
github-app-integration-paywall-access
Apr 3, 2026
Merged

AviPeltz merged 1 commit into
mainfrom
github-app-integration-paywall-access

Conversation

@AviPeltz

@AviPeltz AviPeltz commented Apr 3, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Remove the PostHog feature flag gate (GITHUB_INTEGRATION_ACCESS) from the GitHub integration on both web and desktop, making it visible to all users
  • Remove the desktop paywall (gateFeature) from the GitHub integration's "Manage" button so free users can access it directly
  • Update the plans comparison table to show GitHub integration as included in the Free tier
  • Add "GitHub integration" to the Free plan's feature list in billing constants
  • Add a new "Slack integration" row (Pro/Enterprise only) to the plans comparison table
  • Replace GitHub with Slack in the paywall modal preview (icon, label, description, and synced items)

Test plan

  • Verify GitHub integration card appears on the web integrations page without any feature flag enabled
  • Verify GitHub integration card appears in desktop settings integrations without any feature flag enabled
  • Verify clicking "Connect"/"Manage" on GitHub in desktop does not show the paywall modal for free users
  • Verify the plans comparison page shows a checkmark for GitHub integration in the Free column
  • Verify the paywall modal preview shows Linear + Slack (not GitHub) with correct icons and colors
  • Verify Linear and Slack integrations remain gated behind their respective feature flags and paywall

Summary by cubic

Make the GitHub integration free for all users by removing the feature flag and desktop paywall. Update plans and the paywall preview to show Slack as the gated integration instead.

  • New Features
    • Removed PostHog flag GITHUB_INTEGRATION_ACCESS on web and desktop; GitHub card is always visible.
    • Removed desktop gateFeature on GitHub Manage; free users can connect/manage directly.
    • Plans: GitHub integration included in Free (comparison table + Free plan feature list); added a "Slack integration" row for Pro/Enterprise.
    • Paywall preview: replaced GitHub with Slack (icon, label, description, synced items) and updated copy to “issues and conversations.”

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

Summary by CodeRabbit

  • New Features

    • GitHub integration is now included in the free plan.
    • Slack integration added to the feature comparison table and paywall preview.
  • Bug Fixes

    • Removed gating so GitHub integration visibility/management is no longer blocked by a feature flag.
    • Updated integration descriptions to reference Slack and conversations.

@coderabbitai

coderabbitai Bot commented Apr 3, 2026 •

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9ff4e9b0-d2eb-4fec-9684-86ae2c2ac04b

📥 Commits

Reviewing files that changed from the base of the PR and between a80144e and f99e86f.

📒 Files selected for processing (6)
  • apps/desktop/src/renderer/components/Paywall/components/FeaturePreview/components/IntegrationsDemo/IntegrationsDemo.tsx
  • apps/desktop/src/renderer/components/Paywall/constants.ts
  • apps/desktop/src/renderer/routes/_authenticated/settings/billing/constants.ts
  • apps/desktop/src/renderer/routes/_authenticated/settings/billing/plans/page.tsx
  • apps/desktop/src/renderer/routes/_authenticated/settings/integrations/components/IntegrationsSettings/IntegrationsSettings.tsx
  • apps/web/src/app/(dashboard-legacy)/integrations/page.tsx

📝 Walkthrough

Walkthrough

Removed GitHub feature-flag gating and made GitHub integration visible on the free plan; updated billing comparison rows; replaced GitHub demo assets with Slack in the paywall preview and adjusted synced item type/display.

Changes

Cohort / File(s) Summary
Demo UI
apps/desktop/src/renderer/components/Paywall/components/FeaturePreview/components/IntegrationsDemo/IntegrationsDemo.tsx
Swapped GitHub icon/styling for Slack (FaSlack), changed a synced item from type "pr" to "message" and updated displayed text.
Paywall / Descriptions
apps/desktop/src/renderer/components/Paywall/constants.ts
Updated integrations feature description to reference Slack and "issues and conversations" wording.
Billing Constants
apps/desktop/src/renderer/routes/_authenticated/settings/billing/constants.ts
Added github feature entry to the free plan's features list (included: true).
Billing Plans Page
apps/desktop/src/renderer/routes/_authenticated/settings/billing/plans/page.tsx
Marked GitHub integration as included for the free column ([true, true, true]) and added a Slack integration row with [null, true, true].
Integrations Visibility Logic
apps/desktop/src/renderer/routes/_authenticated/settings/integrations/components/IntegrationsSettings/IntegrationsSettings.tsx, apps/web/src/app/(dashboard-legacy)/integrations/page.tsx
Removed GITHUB_INTEGRATION_ACCESS gating and simplified visibility logic to rely on item visibility / Slack access only.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐇 I hopped through code with nimble paws,

swapped a cat for purple Slack applause.
Gates fell down, the free plan beams—
syncs now hum with lighter dreams.
🥕 Hooray, integrations hop in teams!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main change: making GitHub integration free for all users, which is the central objective of the entire PR.
Description check ✅ Passed The PR description includes all required template sections with clear, detailed information about changes, testing, and context.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch github-app-integration-paywall-access

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR makes the GitHub integration freely available to all users by removing the PostHog GITHUB_INTEGRATION_ACCESS feature flag gate and desktop paywall (gateFeature) that previously restricted access. Alongside this, all marketing surfaces (billing plans comparison table, free-tier feature list, paywall preview demo, and paywall description copy) are updated to consistently reflect GitHub as a free feature while Slack is promoted as the new Pro-tier integration highlight.

Key changes:

  • Web & desktop GitHub ungating: hasGithubAccess checks and gateFeature calls removed from both IntegrationsPage (web) and IntegrationsSettings (desktop); no orphaned imports remain since FEATURE_FLAGS and gateFeature are still used for Slack/Linear.
  • Billing surfaces updated consistently: Plans comparison table (plans/page.tsx) now shows a checkmark for GitHub in the Free column; Free plan feature list (billing/constants.ts) gains a GitHub entry; a new Slack row is added as Pro/Enterprise only.
  • Paywall preview updated: The IntegrationsDemo replaces the GitHub icon/item with Slack (correct brand color #4A154B), and Paywall/constants.ts updates the integrations description to mention Slack instead of GitHub.
  • Potential follow-up: FEATURE_FLAGS.GITHUB_INTEGRATION_ACCESS likely still exists as dead code in the shared constants package — worth cleaning up in a follow-up PR.

Confidence Score: 5/5

  • Safe to merge — changes are small, well-scoped, and consistently applied across all affected surfaces.
  • All six changed files make coherent, mutually consistent changes. No unused imports are introduced, no logic errors were found, and the gating removal is clean on both web and desktop. The only loose end is the now-unused FEATURE_FLAGS.GITHUB_INTEGRATION_ACCESS constant in the shared package, which is out of scope for this PR and a minor cleanup candidate.
  • No files require special attention — all changes are straightforward and consistent.

Important Files Changed

Filename Overview
apps/desktop/src/renderer/components/Paywall/components/FeaturePreview/components/IntegrationsDemo/IntegrationsDemo.tsx Replaces GitHub icon/label/synced item with Slack in the paywall preview — consistent with GitHub being made free.
apps/desktop/src/renderer/components/Paywall/constants.ts Updates integrations feature description from "Linear, GitHub" to "Linear, Slack" — consistent with GitHub moving to the free tier.
apps/desktop/src/renderer/routes/_authenticated/settings/billing/constants.ts Adds GitHub integration to the Free plan's feature list; straightforward data change.
apps/desktop/src/renderer/routes/_authenticated/settings/billing/plans/page.tsx GitHub integration comparison row updated to show checkmark for Free tier; new Slack row added as Pro/Enterprise only — consistent with the rest of the PR.
apps/desktop/src/renderer/routes/_authenticated/settings/integrations/components/IntegrationsSettings/IntegrationsSettings.tsx Removes hasGithubAccess PostHog check and gateFeature paywall from GitHub card; gateFeature is still used for Linear and Slack so no dead imports are left behind.
apps/web/src/app/(dashboard-legacy)/integrations/page.tsx Removes hasGithubAccess feature-flag filter so GitHub always appears; FEATURE_FLAGS import is still needed for SLACK_INTEGRATION_ACCESS — no orphaned imports.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User opens Integrations] --> B{Platform?}
    B -->|Web| C[integrations/page.tsx]
    B -->|Desktop| D[IntegrationsSettings.tsx]

    C --> E{Integration?}
    E -->|GitHub| F[Always visible ✅]
    E -->|Slack| G{hasSlackAccess flag?}
    G -->|Yes| H[Show Slack card]
    G -->|No| I[Hidden]
    E -->|Linear| J[Show Linear card via isItemVisible]

    D --> K{Integration?}
    K -->|GitHub| L[isItemVisible only — no flag gate ✅]
    L --> M[onManage → open web directly ✅]
    K -->|Slack| N{hasSlackAccess flag?}
    N -->|Yes| O[Show → gateFeature paywall]
    K -->|Linear| P[isItemVisible → gateFeature paywall]

    subgraph Paywall Preview Updated
        Q[IntegrationsDemo] --> R[Linear ↔ Slack ✅]
    end

    subgraph Billing Updated
        S[Free plan features] --> T[+ GitHub integration ✅]
        U[Comparison table] --> V[GitHub = Free ✅]
        U --> W[Slack = Pro/Enterprise ✅]
    end
Loading

Reviews (1): Last reviewed commit: "feat: make GitHub integration free for a..." | Re-trigger Greptile

Remove the PostHog feature flag gate and desktop paywall from the GitHub
integration so it is accessible to all plan tiers. Update billing plans
to reflect GitHub as a free feature and replace GitHub with Slack in the
pro features paywall preview.
@AviPeltz
AviPeltz force-pushed the github-app-integration-paywall-access branch from a80144e to f99e86f Compare April 3, 2026 18:52

@cubic-dev-ai cubic-dev-ai Bot left a comment

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.

No issues found across 6 files

@github-actions

github-actions Bot commented Apr 3, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ✅ Neon database branch
  • ✅ Electric Fly.io app

Thank you for your contribution! 🎉

@coderabbitai coderabbitai Bot left a comment

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.

🧹 Nitpick comments (1)
apps/desktop/src/renderer/routes/_authenticated/settings/billing/plans/page.tsx (1)

138-157: Consider a single source for integration entitlements.

PLANS.free.features now carries GitHub, while this comparison matrix separately hard-codes GitHub and Slack availability. Since other billing views already render plan.features, keeping both structures aligned will get brittle quickly. Consider deriving these rows from shared plan-entitlement data instead of duplicating them here.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@apps/desktop/src/renderer/routes/_authenticated/settings/billing/plans/page.tsx`
around lines 138 - 157, The comparison matrix duplicates integration
entitlements that already live on PLANS (e.g., PLANS.free.features) and
plan.features; remove the hard-coded rows ("GitHub integration", "Slack
integration", etc.) and instead derive those rows from a single source of truth
by mapping the shared plan entitlement data (PLANS[*].features or plan.features)
into the comparison rows; implement a small mapper or helper used by the page
component to produce label, values and comingSoon from the feature keys so the
matrix always reflects PLANS entries and avoids divergence.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@apps/desktop/src/renderer/routes/_authenticated/settings/billing/plans/page.tsx`:
- Around line 138-157: The comparison matrix duplicates integration entitlements
that already live on PLANS (e.g., PLANS.free.features) and plan.features; remove
the hard-coded rows ("GitHub integration", "Slack integration", etc.) and
instead derive those rows from a single source of truth by mapping the shared
plan entitlement data (PLANS[*].features or plan.features) into the comparison
rows; implement a small mapper or helper used by the page component to produce
label, values and comingSoon from the feature keys so the matrix always reflects
PLANS entries and avoids divergence.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ff75364d-27b7-4dec-95d8-aca5ecefd3aa

📥 Commits

Reviewing files that changed from the base of the PR and between 8922b94 and a80144e.

📒 Files selected for processing (6)
  • apps/desktop/src/renderer/components/Paywall/components/FeaturePreview/components/IntegrationsDemo/IntegrationsDemo.tsx
  • apps/desktop/src/renderer/components/Paywall/constants.ts
  • apps/desktop/src/renderer/routes/_authenticated/settings/billing/constants.ts
  • apps/desktop/src/renderer/routes/_authenticated/settings/billing/plans/page.tsx
  • apps/desktop/src/renderer/routes/_authenticated/settings/integrations/components/IntegrationsSettings/IntegrationsSettings.tsx
  • apps/web/src/app/(dashboard-legacy)/integrations/page.tsx

@AviPeltz
AviPeltz merged commit c7508e5 into main Apr 3, 2026
14 checks passed
MocA-Love pushed a commit to MocA-Love/superset that referenced this pull request Apr 5, 2026
Remove the PostHog feature flag gate and desktop paywall from the GitHub
integration so it is accessible to all plan tiers. Update billing plans
to reflect GitHub as a free feature and replace GitHub with Slack in the
pro features paywall preview.
MocA-Love added a commit to MocA-Love/superset that referenced this pull request Apr 5, 2026
cherry-pick方式で内容を取り込み済みの14コミットをgit履歴上もマージ済みにする。

取り込み済み (cherry-pick / 手動移植):
- be22b46 ParadevAI#3125 — スキップ (下記参照)
- 88bc7fb ParadevAI#3127 — Revert DA1 ✓
- 92d0ff9 ParadevAI#3054 — DA1 fix ✓
- c48450e ParadevAI#3093 — file viewer pane fix ✓
- fffa8db ParadevAI#3128 — version 1.4.7 ✓
- 589a7c7 ParadevAI#3136 — fuzzy scorer (ハイブリッド方式) ✓
- ceb8c81 ParadevAI#3150 — Electron 40.8.5 ✓
- 8922b94 ParadevAI#3137 — terminalId分離 ✓
- c7508e5 ParadevAI#3152 — GitHub無料化 ✓
- 2b91f11 ParadevAI#3155 — v2 terminal theme ✓
- b8b11af ParadevAI#3154 — TUI dimension fix ✓
- 7599ace ParadevAI#3149 — v2 sidebar file tree (手動統合) ✓
- 4d7c612 ParadevAI#3174 — DnD重複削除 ✓
- 864977d ParadevAI#3157 — Host Service分離 ✓

意図的にスキップ:
- be22b46 ParadevAI#3125 (GitHub polling簡素化)
  フォーク独自のGitHubSyncService (バックエンド集中ポーリング) と
  設計が異なるため不採用。upstreamはフロントエンドhover駆動、フォークは
  バックエンドキャッシュウォーマー方式。詳細は githubQueryPolicy.ts と
  github-sync-service.ts のFORK NOTEを参照。

ゴースト・マージ復元 (revert 134cfd5 で消失した内容):
- 538f306 ParadevAI#3120 — Patch vuln ✓
- 1588d20 ParadevAI#3108 — terminal lifecycle分離 ✓
- 59426f6 ParadevAI#3122 — file tree + FilePane + Alert refactor (手動統合) ✓
- 10d9a5d ParadevAI#3097 — tiptap line-height ✓
- 337a9ae ParadevAI#3121 — Codex hooks削除 ✓
@Kitenite
Kitenite deleted the github-app-integration-paywall-access branch May 6, 2026 04:54
saddlepaddle added a commit that referenced this pull request Aug 28, 2026
The PostHog flag has been at 100% with no readers since the GitHub
integration went free for all (#3152); it is archived alongside
slack-integration-access.
saddlepaddle added a commit that referenced this pull request Aug 28, 2026
…triggers are (#6933)

* feat(integrations): offer trigger-only integrations only where their triggers are

Notion, Microsoft Teams, Sentry and Google exist to feed automation
triggers, which the automation-event-triggers flag gates to @superset.sh,
yet every user saw their Connect buttons on desktop settings and web
/integrations. Visibility now derives from the same flag payload: GitHub,
Slack and Linear are standalone (repos/PRs, the Slack app, tasks) and
always offered; the rest are offered while one of their trigger kinds is
in the payload, and their web pages 404 otherwise.

* chore(shared): drop the unused GITHUB_INTEGRATION_ACCESS flag constant

The PostHog flag has been at 100% with no readers since the GitHub
integration went free for all (#3152); it is archived alongside
slack-integration-access.

This branch was previously deployed

1 inactive deployment
preview — f99e86f6 Deployed Apr 3, 2026 by AviPeltz via Deploy Marketing #3557
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