Skip to content

feat(experimentation): Snowflake warehouse frontend#7566

Merged
Zaimwa9 merged 15 commits into
mainfrom
feat/experimentation-external-snowflake-frontend
May 22, 2026
Merged

feat(experimentation): Snowflake warehouse frontend#7566
Zaimwa9 merged 15 commits into
mainfrom
feat/experimentation-external-snowflake-frontend

Conversation

@Zaimwa9
Copy link
Copy Markdown
Contributor

@Zaimwa9 Zaimwa9 commented May 21, 2026

  • 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

Frontend

  • Add Snowflake connection drawer form (CreateWarehouseConnectionModal) with edit mode support
  • Replace trash button with three-dot action menu (Edit + Delete for external warehouses, Delete only for Flagsmith)
  • Show warehouse type in card title for external connections (e.g. "My Snowflake (Snowflake)")
  • Add updateWarehouseConnection PATCH mutation in RTK Query service
  • Narrower side-modal variant (side-modal--narrow, 640px)
  • Layout: Flagsmith toggle and external warehouse section separated with visual spacing
  • Save button disabled in edit mode until changes are made
  • Error state when warehouse connections fail to load

How did you test this code?

  • npm run typecheck — clean
  • Create snowflake connection via drawer form → card appears with type label
  • Three-dot menu on snowflake card → Edit and Delete options
  • Three-dot menu on flagsmith card → Delete only
  • Edit snowflake → form pre-filled, save disabled until change, save updates connection
  • Delete connection → confirm dialog → connection removed
  • No connections → "Connect an external Warehouse" section visible
  • Has connections → "Configure a warehouse" button top-right
image image

@Zaimwa9 Zaimwa9 requested a review from a team as a code owner May 21, 2026 15:24
@Zaimwa9 Zaimwa9 requested review from talissoncosta and removed request for a team May 21, 2026 15:25
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 21, 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 22, 2026 9:24am
flagsmith-frontend-staging Ready Ready Preview, Comment May 22, 2026 9:24am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Ignored Ignored Preview May 22, 2026 9:24am

Request Review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

Docker builds report

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

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

passed  1 passed

Details

stats  1 test across 1 suite
duration  38.3 seconds
commit  7651d68
info  🔄 Run: #16895 (attempt 1)

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

passed  1 passed

Details

stats  1 test across 1 suite
duration  36.4 seconds
commit  7651d68
info  🔄 Run: #16895 (attempt 1)

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

passed  2 passed

Details

stats  2 tests across 2 suites
duration  49.2 seconds
commit  7651d68
info  🔄 Run: #16895 (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, 6 seconds
commit  7651d68
info  🔄 Run: #16895 (attempt 1)

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

passed  1 passed

Details

stats  1 test across 1 suite
duration  38.3 seconds
commit  00b18b8
info  🔄 Run: #16906 (attempt 1)

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

passed  3 passed

Details

stats  3 tests across 3 suites
duration  32.5 seconds
commit  00b18b8
info  🔄 Run: #16906 (attempt 1)

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

passed  1 passed

Details

stats  1 test across 1 suite
duration  53.8 seconds
commit  00b18b8
info  🔄 Run: #16906 (attempt 1)

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

passed  3 passed

Details

stats  3 tests across 3 suites
duration  41.3 seconds
commit  00b18b8
info  🔄 Run: #16906 (attempt 1)

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

passed  1 passed

Details

stats  1 test across 1 suite
duration  38.1 seconds
commit  0817d08
info  🔄 Run: #16907 (attempt 1)

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

passed  1 passed

Details

stats  1 test across 1 suite
duration  38.9 seconds
commit  0817d08
info  🔄 Run: #16907 (attempt 1)

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

passed  3 passed

Details

stats  3 tests across 3 suites
duration  42.9 seconds
commit  0817d08
info  🔄 Run: #16907 (attempt 1)

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

passed  2 passed

Details

stats  2 tests across 2 suites
duration  58.5 seconds
commit  0817d08
info  🔄 Run: #16907 (attempt 1)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

Visual Regression

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

@Zaimwa9 Zaimwa9 requested a review from gagantrivedi May 21, 2026 15:38
Base automatically changed from feat/experimentation-warehouse-setup-frontend to main May 22, 2026 08:58
@github-actions github-actions Bot added feature New feature or request and removed feature New feature or request labels May 22, 2026
@Zaimwa9
Copy link
Copy Markdown
Contributor Author

Zaimwa9 commented May 22, 2026

@gemini-code-assist review please

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist 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

This pull request adds support for creating and updating external warehouse connections, specifically Snowflake. It includes new API mutations, updated TypeScript types, and a new modal for connection management. The warehouse tab UI has been updated to handle multiple connections and an edit workflow. Feedback points out hardcoded placeholder statistics, invalid HTML from nested buttons in the connection cards, and the potentially accidental removal of SCIM configuration types.

I am having trouble creating individual review comments. Click here to see my feedback.

frontend/web/components/pages/environment-settings/tabs/warehouse-tab/WarehouseConnectionCard.tsx (93-103)

high

The statistics (lastEventReceived, totalEventsReceived, uniqueEventsCount) and the SQL query string are currently hardcoded with placeholder values (e.g., '19 May 2026', 'SELECT * FROM users'). These should be dynamically populated from the connection data or handled as empty/loading states if the data is not yet available from the API.

frontend/web/components/pages/environment-settings/tabs/warehouse-tab/WarehouseConnectionCard.tsx (136-145)

high

The Button component (which renders a <button> tag) is nested inside another <button> (the accordion header at line 109). Nesting interactive elements like buttons is invalid HTML and can cause issues with event propagation and accessibility. Consider changing the outer <button> to a <div> and handling the click event there.

frontend/common/types/requests.ts (737-740)

high

SCIM configuration request types are being removed here. This change is not mentioned in the PR description and seems unrelated to the Snowflake warehouse feature. Please verify if this deletion was intentional or an accidental result of a merge conflict.

@Zaimwa9
Copy link
Copy Markdown
Contributor Author

Zaimwa9 commented May 22, 2026

Fixed

SCIM configuration request types are being removed here. This change is not mentioned in the PR description and seems unrelated to the Snowflake warehouse feature. Please verify if this deletion was intentional or an accidental result of a merge conflict.

2 other comments are discardable

@Zaimwa9 Zaimwa9 merged commit 8545240 into main May 22, 2026
29 checks passed
@Zaimwa9 Zaimwa9 deleted the feat/experimentation-external-snowflake-frontend branch May 22, 2026 11:42
setMenuOpen(!menuOpen)
}}
>
<Icon name='more-vertical' width={16} fill='#656D7B' />
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.

Can you please check if we really need those hardcoded colours ?

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.

3 participants