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

Make GitHub integration free for all users#3152
AviPeltz merged 1 commit into
mainfrom
github-app-integration-paywall-access

Conversation

@AviPeltz
Copy link
Copy Markdown
Collaborator

@AviPeltz AviPeltz commented Apr 3, 2026

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
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 3, 2026

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
Copy link
Copy Markdown

greptile-apps Bot commented Apr 3, 2026

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
Copy link
Copy Markdown
Contributor

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

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
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

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

Thank you for your contribution! 🎉

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

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

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

ゴースト・マージ復元 (revert 134cfd5 で消失した内容):
- 538f306 superset-sh#3120 — Patch vuln ✓
- 1588d20 superset-sh#3108 — terminal lifecycle分離 ✓
- 59426f6 superset-sh#3122 — file tree + FilePane + Alert refactor (手動統合) ✓
- 10d9a5d superset-sh#3097 — tiptap line-height ✓
- 337a9ae superset-sh#3121 — Codex hooks削除 ✓
@Kitenite Kitenite deleted the github-app-integration-paywall-access branch May 6, 2026 04:54
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