Implements a growth engineering experiment to improve new user onboarding
by providing AI-powered and template-based table creation options.
Features:
- AI prompt interface for describing app requirements
- Pre-built templates for common app types (social media, e-commerce, blog, etc.)
- Seamless integration with existing table editor
- State management using Valtio for reliable data flow
- PostHog feature flag controlled (tableQuickstart)
Technical implementation:
- Uses Valtio proxy-based state management instead of sessionStorage
- Properly handles quickstart flow to prevent race conditions
- Integrates with TableEditor via useQuickstartData hook
- Cleans up state appropriately to prevent panel re-opening issues
- Full TypeScript support with proper type definitions
The experiment aims to reduce time-to-value for new users by providing
smart defaults and reducing the SQL knowledge barrier for initial setup.
* feat(replication): Show warning when publication is not found
* Fix
* Pretty ✨
* Smol tweaks
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Create OrganizationProjectSelector which handles infinite scrolling in Popover
* Use OrganizationProjectSelector in InviteMemberButton
* Refactor OrganizationProjectSelector to optimize UX
* Use OrganizationProjectSelector in SupportFormV2
* Update apps/studio/data/projects/projects-infinite-query.ts
* Nit
---------
Co-authored-by: Jordi Enric <37541088+jordienr@users.noreply.github.com>
* fix(www): types for awaited params
* fix(docs): no extraneous exports from route page
* fix(studio): api handler types, no non-handlers allowed in pages
Debounce filter application in UnifiedLogs
Introduced debounced filter application using useDebounce to reduce excessive API calls when users quickly change filters in UnifiedLogs. This improves performance and user experience by batching rapid filter changes.
Remove the overly permissive *.posthog.com wildcard from CSP configuration.
The PostHog reverse proxy at ph.supabase.com/ph.supabase.green handles all
necessary PostHog endpoints including /flags for feature flags.
This improves security by only allowing our controlled reverse proxy domains
rather than the entire PostHog infrastructure.
* Add StateOfStartupsHeader component and update page
Introduces the StateOfStartupsHeader component for improved header styling on the state-of-startups page. Updates the page to use the new header and refactors the intro section layout. Adds a feature flag override for 'stateOfStartups' in useFlag for debugging purposes.
* Update StateOfStartupsHeader.tsx
* Update StateOfStartupsHeader.tsx
* Refactor progress bar components for reusability
Extracted a reusable ProgressBar component from DecorativeProgressBar and integrated it into StateOfStartupsHeader. Added support for configurable progress bars in header text blocks, improving code modularity and visual customization.
* Refactor StateOfStartupsHeader and update usage
Simplifies StateOfStartupsHeader by removing unused props and internalizing display logic. Progress bar delays are now randomized for a more dynamic effect. Updates state-of-startups.tsx to use the new header signature and removes legacy/commented code.
* Update StateOfStartupsHeader.tsx
* Update state-of-startups-og.png
* Update StateOfStartupsHeader.tsx
* Update header text color and OG image for State of Startups
Changed the 2025 TextBlock text color to 'text-brand-300' for improved visual consistency. Updated the Open Graph image for State of Startups.
Tests get spammed with unnecessary tsconfig errors because the Vitest
config tries to use tsconfig files from the examples directory.
Excluding those from tsConfigPaths for cleaner test output.
It's possible for individual PRs to pass typechecking, while the merge
result fails it. To prevent errors from getting into production, we can
fail the prod build if typecheck fails. Typecheck is still ignored on
preview builds for efficiency, since those are blocked on the GitHub
typecheck Action.
* feat: alternate search index for nimbus
Create an alternate search index for Nimbus that filters out
feature-flagged pages (equivalent to setting all feature flags to
false).
Notes:
- Creates two new DB tables, `page_nimbus` and `page_section_nimbus`,
which are filtered versions of `page` and `page_section`
- Makes `nimbus` versions of all the DB search functions
- Refactored the embedding upload script. Changes to make it faster (got
annoyed by how slow it was when testing...), incorporate retries, and
produce better summary logs.
- Upload script, when run with the environment variable
ENABLED_FEATURES_OVERRIDE_DISABLE_ALL, produces and uploads the
alternate search index
- Changed all the search calls in frontend/API to check for
`isFeatureEnabled('search:fullIndex')` to determine whether to search
the full or alternate index
* ci: produce nimbus search indexes on merge
* fix: turn full search index on
* fix(ui/auth-sessions): always show refresh token reuse interval
The reuse interval input was previously hidden when rotation was disabled. This
caused confusion, since the interval still applies regardless of rotation
setting. Allow zero values for reuse interval as it is supported in auth server
and is used by some projects.
* Always render SECURITY_REFRESH_TOKEN_REUSE_INTERVAL field.
* Removed .positive() schema check to allow 0 values
* Improves alignment between dashboard UI and backend behavior
* chore: prettier
---------
Co-authored-by: Chris Stockton <chris.stockton@supabase.io>
Many links were redirecting to a 404, this updates them to point
to each links new settings page.
Co-authored-by: Chris Stockton <chris.stockton@supabase.io>
* feat: change calls label to count
This changes the column title for calls to count for clarity
* feat: add cache hit rate col and number formatting
Adds a cache hit rate column for each query as well as tidies up some number formatting.
* feat: add styling for 0 numbers
This makes anything marked as 0 feint in the table for easier parsing.
* chore: remove debug console log
* fix: silly next-env again
* nit: remove avg rows col
* nit: add toFixed to cache hit rate
* feat: add tooltip for role column