Skip to content

feat: experimentation warehouse setup frontend#7543

Open
Zaimwa9 wants to merge 9 commits into
mainfrom
feat/experimentation-warehouse-setup-frontend
Open

feat: experimentation warehouse setup frontend#7543
Zaimwa9 wants to merge 9 commits into
mainfrom
feat/experimentation-warehouse-setup-frontend

Conversation

@Zaimwa9
Copy link
Copy Markdown
Contributor

@Zaimwa9 Zaimwa9 commented May 19, 2026

Thanks for submitting a PR! Please check the boxes below:

  • I have read the Contributing Guide.
  • I have added information to docs/ if required so people know about the feature.
  • I have filled in the "Changes" section below.
  • I have filled in the "How did you test this code" section below.

Changes

Contributes to #7288

Adds the frontend for the Warehouse Connection feature (V1 — Flagsmith hosted type only) in Environment Settings.

New components:

  • WarehouseTab — tab content: shows a Setting toggle when no connection exists (with confirmation modal), renders connection cards when connections exist.
  • WarehouseConnectionCard — collapsible card with status indicator (colour swatch + tooltip), delete button, and expandable body showing either SDK code snippets (pending) or stats (connected/errored).
  • WarehouseEventCodeHelp — SDK code snippets for 11 languages with an enabled flag (only JavaScript and Python enabled for V1).
  • WarehouseStats — displays last event received, total events, and unique events count. Shows a red warning icon and error message when the connection is in error state.

Modified:

  • EnvironmentSettingsPage restructured into pages/environment-settings/ folder following the organisation-settings pattern, with warehouse components under tabs/warehouse-tab/.
  • Warehouse tab is always visible, gated by PlanBasedBanner — users without the right plan see an upgrade prompt instead of the tab content.
  • Plan requirement is remotely configurable via the experimentation_warehouse_connection flag JSON value (array of plan names), with enterprise always included as fallback.
  • useCollapsibleHeight hook: fixed overflow from hidden to visible when fully expanded, so dropdowns aren't clipped.
  • RTK Query service (useWarehouseConnection) with list-based GET, create mutation, and delete mutation.
  • Toast notifications on create/delete success and failure.

How did you test this code?

image

@Zaimwa9 Zaimwa9 requested a review from gagantrivedi May 19, 2026 16:03
@Zaimwa9 Zaimwa9 requested a review from a team as a code owner May 19, 2026 16:03
@Zaimwa9 Zaimwa9 requested review from kyle-ssg and removed request for a team May 19, 2026 16:03
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
flagsmith-frontend-preview Ready Ready Preview, Comment May 20, 2026 10:23am
flagsmith-frontend-staging Ready Ready Preview, Comment May 20, 2026 10:23am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Ignored Ignored Preview May 20, 2026 10:23am

Request Review

@Zaimwa9 Zaimwa9 removed the request for review from kyle-ssg May 19, 2026 16:03
@github-actions github-actions Bot added the front-end Issue related to the React Front End Dashboard label May 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

Docker builds report

Image Build Status Security report
ghcr.io/flagsmith/flagsmith-api-test:pr-7543 Finished ✅ Skipped
ghcr.io/flagsmith/flagsmith-e2e:pr-7543 Finished ✅ Skipped
ghcr.io/flagsmith/flagsmith-api:pr-7543 Finished ✅ Results
ghcr.io/flagsmith/flagsmith:pr-7543 Finished ✅ Results
ghcr.io/flagsmith/flagsmith-private-cloud:pr-7543 Finished ✅ Results
ghcr.io/flagsmith/flagsmith-frontend:pr-7543 Finished ✅ Results

@Zaimwa9
Copy link
Copy Markdown
Contributor Author

Zaimwa9 commented May 19, 2026

@claude review once

@github-actions github-actions Bot added the feature New feature or request label May 19, 2026
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, comment @claude review on this pull request to trigger a review.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

Playwright Test Results (oss - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  37.8 seconds
commit  5b694af
info  🔄 Run: #16832 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  53.2 seconds
commit  5b694af
info  🔄 Run: #16832 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)

passed  3 passed

Details

stats  3 tests across 3 suites
duration  34.7 seconds
commit  5b694af
info  🔄 Run: #16832 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  41.4 seconds
commit  5b694af
info  🔄 Run: #16832 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  39.4 seconds
commit  b419979
info  🔄 Run: #16836 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)

passed  2 passed

Details

stats  2 tests across 2 suites
duration  1 minute, 5 seconds
commit  b419979
info  🔄 Run: #16836 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  40.2 seconds
commit  b419979
info  🔄 Run: #16836 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-16)

passed  4 passed

Details

stats  4 tests across 4 suites
duration  47.2 seconds
commit  b419979
info  🔄 Run: #16836 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  36.8 seconds
commit  415c150
info  🔄 Run: #16861 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  41.8 seconds
commit  415c150
info  🔄 Run: #16861 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)

passed  2 passed

Details

stats  2 tests across 2 suites
duration  57.6 seconds
commit  415c150
info  🔄 Run: #16861 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-16)

failed  1 failed
passed  1 passed

Details

stats  2 tests across 2 suites
duration  43.3 seconds
commit  415c150
info  📦 Artifacts: View test results and HTML report
🔄 Run: #16861 (attempt 1)

Failed tests

firefox › tests/environment-permission-test.pw.ts › Environment Permission Tests › Environment-level permissions control access to features, identities, and segments @enterprise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

Visual Regression

19 screenshots compared. See report for details.
View full report

@Zaimwa9
Copy link
Copy Markdown
Contributor Author

Zaimwa9 commented May 19, 2026

@claude review-once

1 similar comment
@Zaimwa9
Copy link
Copy Markdown
Contributor Author

Zaimwa9 commented May 20, 2026

@claude review-once

Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization has reached its monthly code review spending cap.

An organization admin can view or raise the cap at claude.ai/admin-settings/claude-code. The cap resets at the start of the next billing period.

Once the cap resets or is raised, comment @claude review on this pull request to trigger a review.

invalidatesTags: [{ id: 'LIST', type: 'WarehouseConnection' }],
query: ({ environmentId }) => ({
method: 'DELETE',
url: `environments/${environmentId}/warehouse-connections/`,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we calling delete without ID of connection?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good one, addressed in 415c150

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request front-end Issue related to the React Front End Dashboard

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants