Commit Graph
2557 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 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
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
Joshen Lim 1160f89b70 Address various console warnings (#38789) 2025-09-17 22:36:07 +08: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 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
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
hallidayo 8b63757187 fix: studio storage settings link (#38133)
check on settings link in storage
2025-09-16 20:50:03 +00: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
Alaister YoungandJoshen Lim c0da4fc689 chore: add custom content provider label (#38745)
* chore: add custom content provider label

* Remove lowercase for desc in ProjectCard

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-16 22:06:57 +08:00
kemal.earth bc2dac6d68 feat(studio): add columns and update labels for query performance (#38744)
* 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
2025-09-16 13:43:43 +01:00
Jordi Enric 83122eb4c6 fix query performance links (#38738)
* fix links

* fix links

* rm nextenv

* fix formatting changes
2025-09-16 13:58:55 +02:00
Joshen Lim d46525eac1 Chore/swap use check permissions with use async check project permissions part 8 (Season Finale) (#38619)
* Update perms checking in audit logs

* Deprecate useCheckPermissions, useIsPermissionsLoaded and useCheckProjectPermissions as they're no longer used

* Rename useAsyncCheckProjectPermissions to useAsyncCheckPermissions

* Fix TS
2025-09-16 17:05:57 +08:00
Joshen Lim 466760099d Support opening table rows for foreign tables in side panel (read only) (#38699)
* Support opening table rows for foreign tables in side panel (read only)

* Fix TS
2025-09-16 11:54:03 +08:00
Joshen Lim 57a10f2f6d Fix project card provider undefined (#38705) 2025-09-16 11:24:53 +08:00
Alaister Young 7f0fbe378d chore: add compute price to enabled features (#38696) 2025-09-16 03:13:34 +00:00
Charis 0c3377975a fix: handle undefined count when fetching table rows (#38727)
fix: handle undefined count when fetchint table rows

count can be undefined in the return from fetching table rows (it uses
executeSqlQuery under the hood which has no type safety) so we need to
deal with that case
2025-09-16 11:04:45 +08:00
Saxon FletcherandJoshen Lim 30e73ee44d Home New: Report (#38341)
* new home top

* advisors

* fix ts

* add report section

* add report

* Nit refactor

* refactor row

* prevent adding snippet twice

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-16 11:00:25 +08:00
Joshen Lim 84e3f5041e Fix missing app frameworks in connect modal (#38712)
* Fix missing app frameworks in connect modal

* Clean up

* More clena up

* Deprecate ConnectTabCustomContent
2025-09-15 15:14:11 +00:00
Terry Sutton e4e65b9979 Fix frameworks error (#38710) 2025-09-15 11:46:02 -02:30
hallidayo 22e09b81d0 feat: studio connect framework state (#38637)
* connect using framework state

* initial opening remove params
2025-09-15 11:01:28 -02:30
kemal.earth 604be766a8 feat(studio): query performance metric cards (#38634)
* feat: remove tabs and unify columns

This removes the tabs from Query Performance with unified columns in the table.

* chore: remove unused imports

* chore: small adjustment to min max and mean time col size

* feat: original experiment with metric cards

* fix: height of table container on load

* feat: add percentage background for time consumed col

Adds a percentage based background colour for time consumed column and reshuffles some columns.

* feat: working metrics above rows

* feat: simplify stats + go back full width

* style: bring up percentage bar opacity

* chore: remove reportType again

* feat: add metric queries to reset function

* fix: type error for passing query metrics

* fix: query queries plural thing

* chore: remove next-env weirdness
2025-09-15 12:45:23 +01:00
Joshen Lim 6a1c3390e1 Fix default value placeholder for fields with foreign keys (#38693) 2025-09-15 18:17:44 +08:00
Stojan Dimitrovski 1d0d56a3f3 feat: web3 (ethereum) ui (#38623) 2025-09-15 11:57:03 +02:00
Alaister Young 4cda1d5d38 fix: disable plan selection on billing enabled flag (#38697) 2025-09-15 17:00:28 +08:00
Alaister YoungandJoshen Lim 62ac8d9eb0 chore: move connect modal custom content to enabled features (#38695)
* chore: move connect modal custom content to enabled features

* smol

* Smol nit

* Flip back flags

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-15 16:59:38 +08:00
Alaister YoungandJoshen Lim de3eacda5b chore: add sso settings to enabled features (#38694)
* chore: add sso settings to enabled features

* mark as required

* Smol tweaks

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-15 16:58:54 +08:00
Francesco Sansalvadore 6cff20b7a2 fix vertical scroll in mobile schema selector (#38671) 2025-09-15 11:01:18 +08:00
Riccardo Busetti 262265ef76 fix(replication): Use correct url for tables (#38658) 2025-09-12 19:35:07 +08:00
Han QiaoandJoshen Lim 0487fbf625 fix: let api handle signing key validation error (#38649)
* fix: let api handle signing key validation error

* Fix styles

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-12 17:50:27 +08:00
Alaister Young 92587df2e0 chore: add show testimonial as an enabled feature (#38651) 2025-09-12 13:56:24 +08:00
CharisandJoshen Lim 229f5560a6 fix: prevent crash on _ page when user has no organizations (#38640)
* fix: prevent crash on _ page when user has no organizations

* Nit refactors to make wild card pages consistent + fix loading state of org wildcard route

* Smol fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-12 13:50:02 +08:00