[pull] master from supabase:master#643
Merged
pull[bot] merged 9 commits intocode:masterfrom Feb 3, 2026
Merged
Conversation
…42384) ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? `create-react-app` is deprecated, so this PR brings vite before `create-react-app` when opening React in the connect dialog.
## Context Related to unifying read replicas into the database replication page Updates some copywriting on the database replication page if the feature flag is on ## Before <img width="768" height="104" alt="image" src="https://github.com/user-attachments/assets/2f49d5b7-5141-4606-b50c-886a6b62f80e" /> <img width="1109" height="209" alt="image" src="https://github.com/user-attachments/assets/d1c37f8f-2105-49ad-a029-e5d00a81050a" /> ## After <img width="899" height="89" alt="image" src="https://github.com/user-attachments/assets/ffcbd1de-56ea-4181-937c-29b96c25d7d0" /> <img width="1094" height="206" alt="image" src="https://github.com/user-attachments/assets/9942134c-8bf1-4978-a343-93df4397d044" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Replication interface now displays contextual guidance and descriptions based on your configuration. * Enhanced messaging for data synchronization and destination management. * **UI Improvements** * Refined layout spacing in the destinations empty state for improved visual clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Context Just adding some documentation to the more complex parts of the dashboard in hopes to ease working on these parts for those who aren't familiar <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Folder creation and updates in the SQL Editor now properly sync to the backend with API calls, success notifications, and improved error handling. * Snippet save/upsert behavior updated: saves run via API with optimistic handling and debounced execution; default automatic refresh after save has been reduced to avoid unnecessary invalidations. * **Documentation** * Added a comprehensive SQL Editor guide covering UI, data flow, snippet management, and improvement notes. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…lue (#42382) ## Context Addresses a small footgun where copying and paste a single value with new lines and hitting save in the edge function secrets page will also save the new lines in the secret name. Fix is just adding a trim <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Internal code organization and refactoring improvements to enhance codebase maintainability and consistency across the Functions module. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
… state handling (#42378) ## Context Related to unifying read replicas into database replication page which is currently in internal testing ## Changes involved - Updates the "New replica" CTA in `DatabaseSelector` (e.g within the SQL Editor) to link to the replication page instead of settings infrastructure - Refactor replication UI to use URL query states for new destination + edit destination ## To test - [ ] Verify that the "New replica" CTA links correctly to replication page if flag is on - [ ] Verify that new + edit destination UI works as expected - Note that there's some server side validation for ETL replication now so might be tricky to test creating an actual ETL replication - Minimally can test creating a read replica and ensure that the UI behaviour is all as expected <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added unified replication experience with URL-based state management for destination creation and editing * **Refactor** * Simplified replication panel component interfaces and consolidated destination data fetching logic * Enhanced edit flows to leverage URL parameters for seamless navigation * **Chores** * Marked legacy read replica creation panel as deprecated <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary Adds exposure tracking for the HomeV2 experiment and the Getting Started section. These events help measure user engagement with the new home page experience and track how many users see the Getting Started onboarding flow. Resolves [GROWTH-602](https://linear.app/supabase/issue/GROWTH-602/track-home-page-and-getting-started-exposure-events) ## Changes - Add `home_new_experiment_exposed` event that fires when users see the HomeV2 experiment (captures which variant they're assigned) - Add `home_getting_started_section_exposed` event that fires when the Getting Started section is displayed (captures current workflow state) - Define corresponding TypeScript interfaces in telemetry-constants.ts - Both events use `useRef` to ensure they only fire once per component mount ## Testing Tested locally and on staging that events fire to posthog. **Quick test:** 1. Navigate to a project home page with the `homeNew` flag enabled 2. Verify `home_new_experiment_exposed` event fires in PostHog with the correct variant 3. For projects < 10 days old, verify `home_getting_started_section_exposed` fires when the section is visible 4. Confirm events don't fire for dismissed sections or mature projects <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added exposure tracking for home experiment variants and the Getting Started section to surface which experience users see. * **Chores** * Standardized and consolidated analytics calls to improve reliability of interaction tracking. * Enhanced event payloads to capture workflow choices, step interactions, and dismissals for better product insights. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Context Part of an investigation to see how we can make the dashboard more resilient for large databases by ensuring that the dashboard never becomes the reason for taking down the database accidentally. Am proposing that for interfaces that rely heavily on queries to the database for data to render, we add preflight checks to ensure that we never run queries that exceed a certain cost threshold (and also have UI handlers to communicate this) - this can be done by running an EXPLAIN query before running the actual query, and if the cost from the EXPLAIN exceeds a specified threshold, the UI throws an error then and skips calling the actual query. ## Demo Am piloting this with the Table Editor, and got an example here in which my table has 500K+ rows, and I'm trying to sort on an unindexed column: https://github.com/user-attachments/assets/ccad2ea9-d62c-4106-8295-2a6df5941474 With this UX, the pros are that - It's relatively seamless and not too invasive, most users won't notice this unless they run into this specific scenario - We can incrementally apply this to other parts of the dashboard, next will probably be Auth Users for example However there are some considerations: - The additional EXPLAIN query adds a bit more latency to the query since its a separate API request to the query endpoint - ^ On a similar note, it will hammer the API a bit more, which may result in higher probability of 429s - However, I reckon that the preflight checks are meant to be used sparingly and only for certain parts of the dashboard that we believe may cause high load. - e.g for the Table Editor, reckon we only need this for fetching rows? The count query is largely optimized already (although we could just add a preflight check there too) - It's just meant to be a safeguard to prevent running heavy queries on the database <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Query preflight with cost checks and a user-facing high-cost dialog showing cost details and remediation suggestions. * Grid exposes an explicit error flag and surfaces richer error metadata. * **Bug Fixes** * Standardized error handling and more consistent error displays across the app. * Explain analysis now reports an additional max-cost metric for queries. * **UI** * Tweaked empty-state interaction/layout and slightly wider header delete control. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Ali Waseem <waseema393@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )