Skip to content

Conversation

@iambriccardo
Copy link
Contributor

@iambriccardo iambriccardo commented Aug 27, 2025

This PR improves the replication UI with the following improvements:

  • Leverages auto-defaults on the backend side, now the frontend doesn't need anymore to provide defaults as these will be automatically applied by the backend when the field is not sent by the frontend.
  • Improved the feeling for enabling and disabling a pipeline, now we optimistically give feedback about starting to enable and disable a pipeline immediately after the button is pressed.
  • The deletion dialog user experience has been improved, now when you press delete, you have immediate feedback about the deletion in progress.
  • In case a pipeline is running and there are one or more failures in the tables, this is shown in the View Status button.
  • When creating/editing a destination the confusing enable has been removed. Now the system has Cancel, Apply and Apply and Restart/Apply and Start buttons for a much cleaner UX.
  • The system that manages state transitions has been redesigned to be simpler and more reliable.
  • Now the system asks you to Start or Stop a pipeline which is clearer.

Screenshots

New Replication Status Warning

image

New Buttons in the Panel

image

Restarting State

image

Delete Destination Dialog

image

@supabase
Copy link

supabase bot commented Aug 27, 2025

This pull request has been ignored for the connected project xguihxuzqibwxjnimxev because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@vercel
Copy link

vercel bot commented Aug 27, 2025

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

Project Deployment Preview Comments Updated (UTC)
studio-self-hosted Ready Ready Preview Comment Aug 29, 2025 9:30am
studio-staging Ready Ready Preview Comment Aug 29, 2025 9:30am
supabase-studio-nimbus Ready Ready Preview Comment Aug 29, 2025 9:30am
6 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
cms Ignored Ignored Aug 29, 2025 9:30am
studio Ignored Ignored Aug 29, 2025 9:30am
design-system Skipped Skipped Aug 29, 2025 9:30am
docs Skipped Skipped Aug 29, 2025 9:30am
ui-library Skipped Skipped Aug 29, 2025 9:30am
zone-www-dot-com Skipped Skipped Aug 29, 2025 9:30am

@coveralls
Copy link

coveralls commented Aug 27, 2025

Coverage Status

coverage: 70.808%. remained the same
when pulling c8f3c80 on riccardobusetti/feat/rework-defaults
into 7aaaa84 on master.

@iambriccardo iambriccardo changed the title riccardobusetti/feat/rework defaults feat(replication): Significantly improve the replication UI behavior Aug 27, 2025
const { data: replicationStatusData } = useReplicationPipelineReplicationStatusQuery(
{ projectRef, pipelineId: pipeline?.id },
{
enabled: !!pipeline?.id,
Copy link
Member

Choose a reason for hiding this comment

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

shouldn't be needed - cause the RQ hook itself checks for if pipelineId is undefined or not
image

}
)
const errorCount = (replicationStatusData?.table_statuses || []).filter(
(t: any) => t.state?.name === 'error'
Copy link
Member

@joshenlim joshenlim Aug 29, 2025

Choose a reason for hiding this comment

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

avoid any as much as possible - this one seems unnecessary since table_statuses is typed correctly

I'll push up the fixes btw so no worries - just leaving comments as I review along

defaultValues,
})

const onSubmit = async (data: z.infer<typeof FormSchema>) => {
Copy link
Member

Choose a reason for hiding this comment

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

There's quite a bit of duplicated logic between this and apply and run - if we can consolidate a bit

}
}

const onApplyAndRun = () => {
Copy link
Member

Choose a reason for hiding this comment

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

can't we just call onSubmit from form.handleSubmit? with success handlers

Copy link
Member

@joshenlim joshenlim left a comment

Choose a reason for hiding this comment

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

LGTM! Tested on staging preview

  • Creating a new pipeline
  • Updating an existing pipeline
  • Deleting a pipeline

Also tested deleting SQL snippets due to the change in API types for content delete mutation

@iambriccardo iambriccardo merged commit 77356bf into master Aug 29, 2025
20 of 21 checks passed
@iambriccardo iambriccardo deleted the riccardobusetti/feat/rework-defaults branch August 29, 2025 10:20
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.

3 participants