Commit Graph
6 Commits
Author SHA1 Message Date
Danny White 4215b6ca32 feat(studio): add cost estimates and validation feedback to pipeline review (#51641)
## Problem

The pipeline wizard in #49243 needs estimated costs and validation
feedback in review before creation.

## Solution

Add the megabranch’s inline cost estimate and validation feedback to
preview-enabled creation. Initial-sync costs follow the selected tables;
ongoing pipeline and streaming rates remain visible. Missing estimates
do not block creation. Validation feedback distinguishes critical issues
from warnings.

Preview off and editing keep the existing layout. The Start action,
warning confirmation and final cost dialog stay unchanged; no wizard
routing is added. Stacked on #51635.

## Review instructions

1. Open the [Pipelines
preview](https://studio-staging-git-dnywh-featpipeline-review-costs-supabase.vercel.app/dashboard/project/_/database/pipelines),
select a test project with Pipelines enabled, enable **Pipeline creation
wizard** in Feature Previews and click **Add pipeline**. Select a
publication and confirm **Estimated costs** follows Data review.
2. Compare **All tables**, **No tables** and selected-table initial
sync. Confirm initial-sync totals follow the selection, while hourly
pipeline and streaming rates stay visible. With **No tables**, initial
sync should cost zero. Check desktop and phone widths.
3. Enter valid-format but incorrect destination credentials and click
**Start pipeline**. Confirm critical validation issues appear inline and
creation stops. Correct the credentials and retry. If warnings are
returned, confirm the review explains they may affect replication and
the existing **Start pipeline anyway** confirmation still applies.
Cancel before final creation.
4. Turn the preview off and reopen **Add pipeline**. Confirm there is no
inline cost review. With the preview on, edit an existing pipeline and
confirm its original layout remains.
2026-10-15 11:31:13 +11:00
Danny White f20277377b feat(studio): add pipeline data and custom settings review (#51635)
## Problem

The pipeline wizard in #49243 needs publication, initial sync and custom
settings reviewed before creation.

## Solution

Extend the preview-enabled review from #51633 with Data, custom
connection settings and configured BigQuery table layouts. Values update
as fields change. Unchanged advanced defaults and unconfigured table
layouts are omitted; an explicit maximum staleness of zero is shown.

Preview off and editing keep their existing layout. Validation and
creation behaviour stay the same; no wizard routing is added. Stacked on
#51633.

| This PR: Simple Case | This PR: Extreme Case | Reference: Final Wizard
|
| --- | --- | --- |
| <img width="1244" height="1994" alt="CleanShot 2026-10-14 at 11 22
16@2x"
src="https://github.com/user-attachments/assets/5c2c9ea4-7b2b-4f0b-8ebe-0cfc2ac27059"
/> | <img width="1226" height="3568" alt="CleanShot 2026-10-14 at 12 02
16@2x"
src="https://github.com/user-attachments/assets/dc556d4a-5130-4b6c-80b5-8644603d9a55"
/> | <img width="1486" height="2364" alt="CleanShot 2026-10-14 at 10 50
30@2x"
src="https://github.com/user-attachments/assets/982b7d23-9449-4841-b002-9e30fbbabfe9"
/> |

## Review instructions

1. Open the [Pipelines
preview](https://studio-staging-git-dnywh-featpipeline-data-review-supabase.vercel.app/dashboard/project/_/database/pipelines),
select a test project with Pipelines enabled, enable **Pipeline creation
wizard** in Feature Previews and click **Add pipeline**. Confirm
**Data** review follows the destination review.
2. Select a publication. Confirm its name, table count and initial-sync
choice appear as read-only fields. Choose selected tables to include or
exclude and confirm their schema-qualified names appear. Change
publication and confirm old tables are not shown.
3. Under Data’s **Advanced settings**, change batch wait time, table
sync workers or initial sync connections. Confirm only custom values
appear in review. Restore defaults and confirm those rows disappear. For
BigQuery, configure partitioning or clustering and confirm the table
name and wrapping layout summary appear in the main column under **Table
layout**; unconfigured layouts should be omitted.
4. Change BigQuery connection pool size or maximum staleness and confirm
they appear within **Connection**. If available, check DuckLake pool
size and Snowflake role too. Check desktop and phone widths, then cancel
and discard changes; no credentials or creation are needed.
5. Turn the preview off and reopen **Add pipeline**: confirm no review.
With the preview on, edit an existing pipeline and confirm no review
there either.
2026-10-15 11:17:34 +11:00
Danny White 17a7d2a00f feat(studio): add destination review for preview pipeline creation (#51633)
## Problem

The pipeline wizard in #49243 needs a review of destination details
before creation.

## Solution

Add `PipelineDestinationReview` after Data in preview-enabled creation.
It uses the megabranch’s Destination and Connection sections,
destination logo, read-only fields and field descriptions. Values update
as fields change. Credentials are omitted. Custom DuckLake catalog URLs
and ClickHouse endpoints are masked as whole fields, with an eye toggle;
changing a URL masks it again.

Preview off and editing keep the existing layout. Validation and
creation behaviour stay the same; no wizard routing is added.
Publication, advanced settings and cost review will follow in later
slices.

| This PR | Reference: Final Wizard |
| --- | --- |
| <img width="1254" height="1308" alt="CleanShot 2026-10-14 at 11 01
05@2x"
src="https://github.com/user-attachments/assets/e792ed7f-d4f4-4557-b338-8a120c8663b5"
/> | <img width="1486" height="2364" alt="CleanShot 2026-10-14 at 10 50
30@2x"
src="https://github.com/user-attachments/assets/982b7d23-9449-4841-b002-9e30fbbabfe9"
/> |

## Review instructions

1. Open the [Pipelines
preview](https://studio-staging-git-dnywh-featpipeline-destinati-25606b-supabase.vercel.app/dashboard/project/_/database/pipelines),
select a test project with Pipelines enabled and go to **Database →
Pipelines**. Enable **Pipeline creation wizard** in Feature Previews,
then click **Add pipeline**. Confirm the review follows **Data**, with
**Destination** and **Connection** sections.
2. With BigQuery selected, enter a pipeline name, project ID and dataset
ID. Confirm the review updates with those values in read-only fields,
includes field descriptions and the destination logo/region, and omits
the service-account key. Check desktop and phone widths.
3. If available, select DuckLake with a custom catalog. Enter a catalog
URL and data path. Confirm the whole URL is hidden in review, use the
eye toggle to reveal/hide it, then change the URL and confirm it is
hidden again. For Supabase DuckLake, confirm the bucket is shown
instead. Snowflake shows account/database/schema without its private
key; ClickHouse shows database/engine and a masked endpoint without its
password.
4. Cancel and discard changes; no pipeline creation is needed. Turn the
preview off and reopen **Add pipeline**: confirm there is no review
section. With the preview on, edit an existing pipeline and confirm
there is no review section there either.
2026-10-15 10:44:23 +11:00
Danny White 7fa436050a refactor(studio): compose the pipeline data section for wizard reuse (#51572)
## Problem

The pipeline wizard in #49243 needs publication, initial sync and
replication settings together on its data step.

## Solution

Compose `PipelineDataSection` from the existing controls and use it in
preview-enabled creation. It includes the publication selector,
initial-sync controls and data advanced settings, including BigQuery
table layout.

This preserves the grouping from #51570. Preview off and editing keep
the existing layout. Validation and creation behaviour stay the same; no
wizard routing is added. Stacked on #51570.

## Review instructions

1. Open the [Pipelines
preview](https://studio-staging-git-dnywh-featpipeline-data-section-supabase.vercel.app/dashboard/project/_/database/pipelines),
select a test project with Pipelines enabled and go to **Database →
Pipelines**. Enable **Pipeline creation wizard** in Feature Previews,
then click **Add pipeline**. Confirm **Data** follows **Destination
connection**, with publication and initial sync above its **Advanced
settings**.
2. Select a publication and change the initial-sync option. For
selected-table options, confirm the publication tables are available.
Click **New publication** in the publication selector and confirm the
existing creation panel opens, then cancel it.
3. Expand **Advanced settings** under **Data**. Confirm replication
settings appear, plus table layout for BigQuery, without connection pool
size, staleness or role. Change **Batch wait time**, collapse and reopen
the accordion, and confirm the value remains. Check desktop and phone
widths. Cancel and discard changes; no credentials or pipeline creation
are needed.
4. Turn the preview off and reopen **Add pipeline**. Confirm the
original layout remains. With the preview on, edit an existing pipeline
and confirm its original layout also remains.
2026-10-14 10:28:21 +11:00
Danny White 37fb536e6c feat(studio): group connection settings in the pipeline creation preview (#51570)
## Problem

The pipeline wizard in #49243 needs connection settings before table
selection.

## Solution

With **Pipeline creation wizard** enabled, rearrange the creation sheet
into destination selection, **Destination connection**, then **Data**.
Group name, region, credentials and connection advanced settings
together. Keep publication, initial sync, replication settings and
BigQuery table layout in the data section.

Preview off and editing keep the existing layout. Validation and
creation behaviour stay the same. This still uses the sheet; no wizard
routing is added. Stacked on #51568.

| Feature Preview Off | Feature Preview On |
| --- | --- |
| <img width="1272" height="2536" alt="CleanShot 2026-10-13 at 13 16
36@2x"
src="https://github.com/user-attachments/assets/ebad1082-b9ae-4f5e-91ad-08638ea2b032"
/> | <img width="1244" height="2538" alt="CleanShot 2026-10-13 at 13 17
20@2x"
src="https://github.com/user-attachments/assets/b5400b31-d60e-44e7-a4d6-cca1732b7974"
/> |
| _One “Advanced settings” at the bottom of the sheet that combines
everything. Destination details handles Publication and Initial sync._ |
_An “Advanced settings” accordion under BigQuery settings. Another
“Advanced settings” under Data (clipped above). Data contains fields for
Publication and Initial sync._ |

## Review instructions

1. Open the [Pipelines
preview](https://studio-staging-git-dnywh-featpipeline-connectio-6d0876-supabase.vercel.app/dashboard/project/_/database/pipelines),
select a test project with Pipelines enabled and click **Add pipeline**.
Enable **Pipeline creation wizard** in Feature Previews, then reopen the
sheet. Confirm the order is destination cards → connection → data.
2. With BigQuery selected, expand **Advanced settings** under
**Destination connection**. Confirm it contains pool size and staleness.
Expand **Advanced settings** under **Data** below publication and
initial sync. Confirm it contains replication settings and table layout,
without duplicate connection fields. Change a value and collapse/reopen
the accordion; confirm it remains.
3. If available, select DuckLake or Snowflake. Confirm their connection
accordion contains **Pool size** or **Role**, respectively. ClickHouse
and Analytics Bucket have no connection accordion. Check desktop and
phone widths. Cancel and discard changes; no credentials or pipeline
creation are needed.
4. Turn the preview off and reopen **Add pipeline**. Confirm the
original layout returns. With the preview on, edit an existing pipeline
and confirm it also keeps the original layout.
2026-10-14 10:17:20 +11:00
Danny White d457ab59c7 feat(studio): add pipeline wizard destination selection (#51568)
## Problem

The pipeline creation wizard in #49243 needs a destination selection
step that can be reviewed before wizard routing lands.

## Solution

Add `PipelineDestinationSelection` with BigQuery, DuckLake, Snowflake,
ClickHouse and deprecated Analytics Bucket radio options, using Studio’s
existing destination logos. Show it in the creation sheet only when
**Pipeline creation wizard** is enabled in Feature Previews and allowed
by ConfigCat. Preview off and editing retain the existing dropdown.

This is an incremental preview: creation still uses the sheet. No wizard
routing or design-system changes are included.

| Feature Preview Off | Feature Preview On |
| --- | --- |
| <img width="1274" height="1316" alt="CleanShot 2026-10-13 at 10 39
24@2x"
src="https://github.com/user-attachments/assets/433e4fb1-5fa2-4dc3-982e-0aee6b266015"
/> | <img width="1250" height="1890" alt="CleanShot 2026-10-13 at 10 53
09@2x"
src="https://github.com/user-attachments/assets/033d7e43-1a57-4d61-90e8-9048e3560909"
/> |

## Review instructions

1. Open the [preview to Database →
Pipelines](https://studio-staging-git-dnywh-featpipeline-destinati-54dc7d-supabase.vercel.app/dashboard/project/_/database/pipelines),
select a test project with Pipelines enabled and click **Add pipeline**.
With **Pipeline creation wizard** off, confirm the existing destination
dropdown appears.
2. Close the sheet, enable **Pipeline creation wizard** in Feature
Previews and reopen **Add pipeline**. Confirm radio cards replace the
dropdown, with BigQuery selected initially and only destinations
available to your project shown.
3. If Analytics Bucket is available, confirm its card has a
**DEPRECATED** badge. Select it and confirm the bucket fields appear and
the description below says **Destination type cannot be changed after
creation. Analytics Bucket is deprecated.** Click another destination.
Confirm only one card is selected and the connection fields below switch
to that destination. Use arrow keys to move focus and Space to select a
destination. Check at desktop and phone widths. Cancel and discard
changes; no credentials or pipeline creation are needed.
4. With the preview still on, open an existing pipeline for editing.
Confirm its destination dropdown remains locked. Turn the preview off
and reopen **Add pipeline** to confirm the original dropdown returns.
2026-10-14 09:59:48 +11:00