Commit Graph
15063 Commits
Author SHA1 Message Date
Sean Oliver 07fe32ace2 feat: implement inline expandable TableQuickstart for new homepage
- Created new inline TableQuickstart component with expandable card pattern
- Added feature flag support (control, ai, templates variants)
- Implemented smooth Framer Motion animations for expand/collapse
- Ported AI generation and template selection from legacy components
- Integrated with GettingStartedSection using PostHog feature flag
- Organized components into inline/ and legacy/ folders for clean separation
- Maintains all existing functionality while providing better UX

Key improvements:
- No navigation away from Getting Started section
- Progressive disclosure with smooth animations
- Supports A/B testing with feature flag variants
- Reuses existing API endpoints and logic
2025-09-19 10:15:11 -07:00
Sean Oliver 73f352c847 lint 2025-09-19 09:44:03 -07:00
Sean Oliver 223a6df33c comment to docs RE max duration 2025-09-19 09:22:53 -07:00
Sean Oliver 6a63f8ae1a fix: remove default values from primary keys and add table descriptions
- Primary key fields now don't have default values set in the table editor
- Table descriptions are now populated from AI/template rationale
- Updated AI prompt to not generate default values for primary keys
- Updated quickstartStore to pass rationale field through
2025-09-19 09:16:29 -07:00
Sean Oliver 6d13c3f176 fix: change ip_address type from inet to varchar for TypeScript compatibility 2025-09-18 20:04:19 -07:00
Sean Oliver 0e0179fef1 feat: ensure all template options have exactly 3 tables
- Added order_items table to E-commerce template (links orders and products)
- Added comments table to Blog template (for reader engagement)
- Added team_members table to Todo List/Project template (for collaboration)
- Added sessions table to Analytics template (for tracking user engagement)
- All templates now consistently show 3 tables for better UX consistency
2025-09-18 20:03:14 -07:00
Sean Oliver 22e4a44753 fix: improve hover border visibility in dark mode
- Changed hover:border-foreground/20 to hover:border-foreground-muted across all components
- Fixed focus state border in AiPromptInput to use foreground-muted
- Ensures consistent hover effects that remain visible in both light and dark modes
2025-09-18 19:59:27 -07:00
Sean Oliver da21ad079f cleanup 2025-09-18 19:55:06 -07:00
Sean Oliver fa35501715 cleanup unused constants 2025-09-18 19:50:26 -07:00
Sean Oliver cce34fd5b5 fix: properly detect primary keys regardless of field type
- Changed useQuickstartData to respect isPrimary flag from AI/templates
- Always mark 'id' fields as primary key regardless of data type
- Fixes issue where text-type id fields weren't marked as primary
2025-09-18 19:38:05 -07:00
Sean Oliver 2372295edf fix: ensure AI-generated tables always mark id fields as primary keys
- Updated convertAISchemaToTableSuggestions to always set isPrimary: true for id fields
- Updated AI prompt to explicitly instruct marking id fields as primary
- Ensures consistency with template behavior when reaching table editor
2025-09-18 19:32:22 -07:00
Sean Oliver d34cb5754d feat: Redesign Table Quickstart UI with modern, cohesive design (#38837)
Squash merging UI redesign into AI generation branch
2025-09-18 19:23:02 -07:00
Sean Oliver ed05cd5221 refactor: Remove unused projectType field from AI schema generation 2025-09-18 15:13:38 -07:00
Sean Oliver 7827bef36b feat: Add AI-powered table schema generation for Table Quickstart
- Add API endpoint for generating database schemas using OpenAI
- Integrate AI generation into Table Quickstart frontend
- Support 2-3 table generation based on user prompts
- Add proper error handling with toast notifications
- Whitelist endpoint in middleware for hosted environment
2025-09-18 15:11:10 -07:00
Sean Oliver ec4bc204b1 feat: Add TableQuickstart experiment for onboarding flow
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.
2025-09-17 16:01:40 -07:00
Prashant Sridharan 0ef781b3b8 Added new security blog post (#38758) 2025-09-17 21:06:26 +00:00
Charis 2b4619d10f chore: fix package versions that don't match policy (#38796)
* Revert "chore(deps): bump axios from 1.10.0 to 1.12.0 (#38678)"

This reverts commit 7c36a174c2.

* deps: bump axios
2025-09-17 14:56:48 -04:00
Charis 2e6a7093d6 refactor: make MCP docs url configurable (#38763) 2025-09-17 12:25:31 -04:00
Matt Rossman 2deedf479b chore: untrack next-env.d.ts (#38792)
* chore: untrack `next-env.d.ts`

* chore: `next typegen` in pretypecheck for docs, studio, www
2025-09-17 12:01:41 -04:00
Riccardo BusettiandJoshen Lim ff7f5021f4 feat(replication): Show warning when publication is not found (#38786)
* feat(replication): Show warning when publication is not found

* Fix

* Pretty ✨

* Smol tweaks

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-17 23:49:51 +08:00
Jordi EnricandCharis c75bb1b60d Auth Report tests and improvements (#38550)
* move to new ReportConfig

* separate types

* add auth report config

* add auth report transofmration test

* add fetchlogs util for reports

* rm auth-charts

* rm auth-report-query

* rm dupped code

* simplify upsell compo

* rm unnecessary hook

* use upsell in database report instead of old component

* rip ReportChart you wont be missed

* more tests

* rm unnecessary import

* Fix SQL in active users

* support hide inside report chart component

* add max bar size to avoid having big ass bars when theres little data

* fix incorrect timestamp key passed on to fillTimeseries

* add tooltip to auth report

* fix bug with timestamp key inside tooltips

* add report settings

* rm debugging check

* Update apps/studio/data/reports/v2/auth.config.ts

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* safely access result

* fix sign in latency query

* add toggleable attributes

* handle toggleable attributes

* pass on hideHighlightedValue

* fix signup latency

* pass hideHighlighted

* report chart pass on hide highlighted value

* cleanup finalChartData

* simplify tests, use timestamp for everything

* fix test

* rm dupped attribute

* add tooltip to auth errors

* Update apps/studio/data/reports/v2/auth.config.ts

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/studio/components/ui/Charts/ComposedChart.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* prettify

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-09-17 17:41:10 +02:00
kemal.earth 3a9c377ac3 feat(studio): add query perf symlink to reports (#38783)
* feat: add query perf symlink to reports

* nit: remove preserveQueryParams from QP link
2025-09-17 16:25:25 +01:00
kemal.earth cd07289476 fix(studio): query perf update label formatting and column name (#38778)
* chore: update rows read column label

* fix: toLocaleString for grid numbers
2025-09-17 16:24:55 +01:00
Charis fd308c6bad fix: search and sync scripts (#38756)
* fix: search script

* fix: sync script
2025-09-17 11:20:43 -04:00
Jordi Enric 506b20734f Add sample rate to fetcher (#38785)
* add sample rate to fetcher

* 20

* default to always capture and base sample rate of 20%

* rm unnecessray type
2025-09-17 14:39:35 +00:00
Joshen Lim 1160f89b70 Address various console warnings (#38789) 2025-09-17 22:36:07 +08:00
Charis a46c31f551 chore: set min release age for pnpm (#38787)
* chore: bump pnpm version to 10.16.1

* chore: set min release age for pnpm

* chore: bump pnpm to 10.16.1 in dockerfile
2025-09-17 10:34:33 -04:00
Filipe Cabaçoandgithub-actions[bot] 2b3abd79f5 realtime: improve getting started guide (#38562)
---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-17 14:31:58 +01:00
Joshen LimandCharis 3ad683da81 Contextual error for foreign tables in table editor (#38736)
* Contextual error for foreign tables in table editor

* Update apps/studio/components/grid/components/grid/Grid.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-09-17 19:59:27 +08:00
Jordi EnricandCharis 3d55164563 propagate sentry issue id to form (#38714)
* propagate sentry issue id to form

* fix, add to payload

* empty

* name fix

* add test button

* rm thrower

* Update apps/studio/components/ui/GlobalErrorBoundaryState.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-09-17 12:59:07 +02:00
Jordi EnricandCharis 4236f8781e add status code to tags instead of context (#38706)
* add attachment with error for better filtering

* fix type error

* move status code to tag

* skip 4xxs in sentry

* Update apps/studio/data/permissions/permissions-query.ts

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/studio/data/permissions/permissions-query.ts

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-09-17 11:30:57 +02:00
Jordi Enric 08960d0f48 FE-1856: fix shared api report filters (#38775)
* fix filters

* handle numbers
2025-09-17 11:19:16 +02:00
Joshen LimandJordi Enric 11b6f77db4 Support for projects pagination (Part 2) (#38654)
* 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>
2025-09-17 16:51:14 +08:00
Danny White efd8f161cc feat: select ‘25 banner (#38773)
* first push

* select branding

* banner data

* fix: type errors
2025-09-17 08:31:13 +00:00
Joshen Lim f2ba7f0270 Add self-remediation for orphan prefixes and refactor delete objects to be a singular request (#38753)
* Add self-remediation for orphan prefixes and refactor delete objects to be a singular request

* Update comment

* Update delete prefix

* Smol fix
2025-09-17 14:07:51 +08:00
Charis 283b125369 fix: failing type errors in build (#38761)
* 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
2025-09-17 15:55:38 +10:00
Jonathan Summers-Muir 872a372119 fix: Debounce filter application in UnifiedLogs (#37275)
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.
2025-09-17 11:45:08 +08:00
Han QiaoandCharis 77561e8e09 chore: replace branch id with branch ref (#38735)
* chore: remove unused mutation to disable branching

* chore: use branch ref in delete mutation

* chore: use branch ref in diff query

* chore: use branch ref in push mutation

* chore: use branch ref in detail query

* chore: use branch ref in update mutation

* Update apps/studio/data/branches/branch-query.ts

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-09-17 10:31:01 +08:00
Sean Oliver 03f381cffa fix: remove PostHog wildcard domain from CSP (#38759)
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.
2025-09-16 15:48:56 -07:00
hallidayo 8b63757187 fix: studio storage settings link (#38133)
check on settings link in storage
2025-09-16 20:50:03 +00:00
Charis 62fef7b9c8 fix(docs): typo (#38760) 2025-09-16 15:42:37 -04:00
dependabot[bot] 7c36a174c2 chore(deps): bump axios from 1.10.0 to 1.12.0 (#38678)
Bumps [axios](https://github.com/axios/axios) from 1.10.0 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.10.0...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-16 17:01:25 -02:30
Jonathan Summers-Muir 0c202628a3 Chore/state of startups (#38733)
* 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.
2025-09-17 02:54:43 +08:00
Yuliya Marinova 5c114676cd Update humans.txt Yuliya Marinova (#38535)
Update humans.txt

Adding Yuliya Marinova to humans.txt
2025-09-16 17:23:18 +00:00
Charis 425d9ca592 chore: prevent extraneous tsconfig errors in tests (#38718)
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.
2025-09-16 13:22:00 -04:00
Charis a054caea9b chore: turn on typechecking on prod build (#38715)
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.
2025-09-16 13:12:12 -04:00
Charis 8cd5e10038 feat: alternate search index for nimbus (#38662)
* 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
2025-09-16 12:37:53 -04:00
Chris StocktonandChris Stockton 9907fb25f4 fix(ui/auth-sessions): always show refresh token reuse interval (#38723)
* 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>
2025-09-16 09:20:33 -07:00
Lakshan Perera 757332fec8 docs: add default environment variables available in hosted enviroment (#38666) 2025-09-16 17:51:58 +02:00
Joshen Lim 87ab63a1d7 Chore/optimize auth users UI query (#38739)
* only select required columns, instead of *

* Use CTE, run agg only within the results block
2025-09-16 22:58:41 +08:00