Commit Graph
16565 Commits
Author SHA1 Message Date
Ali Waseem 5d08e8ca90 updated code rabbit review 2026-01-22 15:00:32 -07:00
Ali Waseem 9bce140f50 updated code rabbit review 2026-01-22 14:58:49 -07:00
Ali Waseem cfea0a83f5 added comment 2026-01-22 14:12:37 -07:00
Ali Waseem 31dc75a364 updated types 2026-01-22 14:08:35 -07:00
Ali Waseem 1421934f3c updated bug for edits 2026-01-22 14:06:05 -07:00
Ali Waseem 2b0bba51e6 updated rows 2026-01-22 13:57:45 -07:00
Ali Waseem bfba68aa38 cleaned up source 2026-01-22 13:49:23 -07:00
Ali Waseem e3474d9096 updated logic to show correct undo 2026-01-22 13:40:51 -07:00
Ali Waseem 188b9b8d30 updated to not crash the table editor 2026-01-22 13:36:46 -07:00
Ali Waseem 552d6b2ad1 wip: added undo 2026-01-22 13:31:46 -07:00
Charis d27bb74258 test(studio): add tests for data api toggles (#42051)
* test(studio): add tests for data api toggles
2026-01-22 12:46:54 -05:00
Charis d34cc65e30 fix(studio): handle large cron.job_run_details table gracefully (#41992)
* fix(studio): check job_run_details size in cron display

When cron.job_run_details grows too large (200k+ rows), loading the
cron jobs overview can timeout and affect other queries by pulling
excessive data into shared buffers.

This change:
- Estimates table size using pg_stat before fetching cron jobs data
- Shows a cleanup notice when the table exceeds the threshold
- Provides batched deletion using ctid ranges to avoid buffer pollution
- Allows scheduling an automated daily cleanup cron job
- Handles timeout errors gracefully with a "suspected overflow" state

The useCronJobsData hook now returns a discriminated union status that
tracks loading, estimate-error, overflow-confirmed, overflow-suspected,
and ready states, allowing the UI to respond appropriately to each case.

* fix(studio): use index when querying cron.job_run_details

cron.job_run_details is only indexed by runid, not by start_time. Change
the query to use the runid index (which gives the same result, since
runid is auto-incrementing).
2026-01-22 11:17:49 -05:00
kemal.earth ee25ba20dc feat(studio): replace auth overview charts (#41464)
* feat: replace usage metric cards with new charts

* feat: use new chart components for auth api and error codes

* style: some tweaks to the two tables

* fix: padding around empty states

* feat: smol adjustment

* fix: add aria label to go to logs tooltip

* fix: diff value

* fix: status code method font colour

* fix: actions onClick
2026-01-22 12:56:32 +00:00
kemal.earth 434d8735f3 feat(studio): swap area chart fills for gradients (#42063)
* feat: swap area chart fills for gradients

* chore: further tweaks

* fix: light mode gradient stop thanks coderabbit
2026-01-22 12:53:13 +00:00
Prashant SridharanandCopple 25fcc4a304 Added a new blog post for Postgres AI agents (#42030)
* Added a new blog post for POstgres AI agents

* ci: Autofix updates from GitHub workflow

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/www/_blog/2026-01-21-postgres-best-practices-for-ai-agents.mdx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Made edits as requested and changed og image

* Fixed a prettier issue

---------

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
2026-01-22 12:52:38 +00:00
Jordi Enric 6fe990c658 papercut: add units to api charts (#42027)
* add units

* prettier
2026-01-22 13:34:34 +01:00
15eb27fb19 docs: improve Facebook OAuth guide with troubleshooting and clearer instructions (#41893)
* docs: improve Facebook OAuth guide with troubleshooting and clearer instructions

- Add explicit callback URI pattern with link to dashboard
- Add dedicated "Configure email permissions" section with caution admonition
- Add "Testing your integration" section explaining development mode
- Add "Going live with App Review" section with step-by-step guide
- Add "Troubleshooting" section for common issues
- Add error handling to JavaScript code examples
- Fix Swift example with complete ASWebAuthenticationSession implementation
- Add note about checking pub.dev for latest Flutter package version

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* docs: improve Facebook OAuth guide with troubleshooting and clearer instructions

- Add explicit callback URI pattern with link to dashboard
- Add dedicated "Configure email permissions" section with caution admonition
- Add "Testing your integration" section explaining development mode
- Add "Going live with App Review" section with step-by-step guide
- Add "Troubleshooting" section for common issues
- Add error handling to JavaScript code examples
- Update Swift example to use webAuthenticationSession environment
- Add note about checking pub.dev for latest Flutter package version

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* style: run format

* Apply suggestions from code review

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-01-22 09:21:53 -03:00
Danny White 69f15cc788 chore(studio): update upgrade to pro admonition button variants (#42056)
* update admonition and button

* other instances

* misc

* misc

* pitr

* buttonVariant naming

* fixes

* rabbit

* rename buttonVariant to variant

* rabbit
2026-01-22 19:04:13 +11:00
f293036ec7 Add UX guardrails for edge functions RE unsaved and unimported files (#41921)
* Add UX guardrails for edge functions RE unsaved and unimported files

* useLatest on hasUnsavedChanges

* Remove checking of unimported files + add VS code like indicator for modified and unsaved files

* Nit

* Fix TS

* Fix

* nit

* Fixes

* Nit

* move hasUnsavedChanges on demand

* code rabbit nit

* code rabbit nit 2

* prettier

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-01-22 13:31:28 +08:00
Kostas Botsas db6ef58c3f connection method docs clarifications and examples (#42029) 2026-01-21 20:14:13 +02:00
Ali Waseem 9e1df69853 fix: handle errors better in index advisor (#42043)
* fix: handle errors better in index advisor

* added admonition
2026-01-21 11:11:39 -07:00
Joshen Lim b55c399c42 Fix API keys copy button for safari (#42036)
* Fix API keys copy button for safari

* nit
2026-01-21 09:45:35 -07:00
Ana 4ca9075892 Add Ana Mogul to humans.txt (#42039)
Adding a new team member that will help with product marketing to the Growth team!
2026-01-21 16:37:40 +00:00
Haritabh Gupta fa95286398 docs: add Haritabh Gupta to humans.txt (#42014) 2026-01-21 16:32:53 +00:00
Ant Evans 2b6aa930d3 Add Ant E to humans.txt (#42008)
It's an onboarding thing
2026-01-21 10:46:53 +01:00
Jordi Enric d982417830 query perf improvements FE-2223 (#42026)
* query perf improvements

* info tooltips

* filter fixes

* prettier wont work in cursor for some reason

* fix type error

* rm clear all filters button, its too much

* prettier
2026-01-21 09:01:10 +00:00
Lukas Bernert 8626f06d0f Add Lukas Bernert to humans.txt (#42003) 2026-01-21 08:43:02 +01:00
Jordi Enric fbd40fa0d4 Query Perf: rename column (#42025)
rename
2026-01-21 08:25:25 +01:00
Danny White 1db3da7a04 chore(studio): add URL state management to database tables page (#42022)
swap input
2026-01-21 14:33:18 +08:00
Michal Kleczek 2681cc8ff2 Add Michal Kleczek to humans.txt (#42001) 2026-01-21 06:32:07 +00:00
Pamela Chia faa2588392 chore(studio): remove homeNew feature flag helper (#41984)
PostHog migration from boolean to string variants is complete.
The helper was only useful during migration - now it's just
`value === 'new-home'` which is trivial to inline.

- Delete apps/studio/lib/featureFlags/ folder
- Inline flag check at 3 call sites
2026-01-21 12:32:02 +07:00
Danny WhiteandCharis Lam 05dc676d36 feat(studio): incident-aware AI assistant (#41603)
* handling and mock data support

* admonition

* only show in empty state

* rabbit

* mock without local overrides

* remove admonition

* make incident banner more prominent

* remove mock data

* move to tool

* prettier

* fix(studio): get_active_incidents tool

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2026-01-21 13:52:29 +11:00
Danny WhiteandJoshen Lim 60dfcc00ea fix(studio): PageSectionSummary alignment (#42019)
* system

* nit

* docs and fixes

* more resilient component

* remove redundant text

* format

* nit

* PRettier

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-01-21 10:18:15 +08:00
SheikhandChris Chinchilla 26a2cb1263 docs(ai): update example code to use Transformers.js v3 (#39915)
More info: https://github.com/huggingface/transformers.js/issues/1291

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-01-20 22:31:13 +00:00
Elia TolinandChris Chinchilla 892d2aa3a7 docs: Update custom-claims-and-role-based-access-control-rbac.mdx (#39911)
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-01-20 22:13:08 +00:00
supabase-supabase-autofixer[bot]andsupabase-releaser[bot] 029d159d2f docs: update js sdk docs (2.91.0) (#42013)
Co-authored-by: supabase-releaser[bot] <223506987+supabase-releaser[bot]@users.noreply.github.com>
2026-01-21 09:08:24 +11:00
Illia BasalaievandIllia Basalaiev f9776163d1 remove studio observability reference from high swap troubleshooting (#41999)
Co-authored-by: Illia Basalaiev <illiab@IMB3.local>
2026-01-21 08:34:29 +11:00
Tina Ha c7e4234ab6 Update humans.txt (#42016) 2026-01-20 14:17:30 -05:00
Andrey A. 19c712ffac fix: add help popover for self-hosted and cli (#42015)
fix: add help icon for self-hosted and cli
2026-01-20 10:08:28 -07:00
Andrey A. 21e9d07dea fix: skip incident status query for CLI and self-hosted (#41972) 2026-01-20 10:07:49 -07:00
Andrey A. c5267c896a fix: do not show observability reports for CLI and self-hosted (#41971)
* fix: do not include reports for CLI and self-hosted

* fix: do not display empty product reports

* fix: do not include api gw and custom reports for self-hosted

* fix: ran prettier
2026-01-20 10:07:12 -07:00
Andrey A. c5a142dd2b fix: do not show replication for self-hosted and CLI (#41970) 2026-01-20 10:02:08 -07:00
Kalleby Santos b74bf9bef4 fix(studio): studio broken local/self-hosted pages 1 (database settings) (#40579)
* feat: non-platform empty local state fallback for database settings page

* stamp: improving local database settings layout

* stamp: format
2026-01-20 10:01:00 -07:00
Kalleby SantosandTerry Sutton 9792deb109 feat(studio): improve ai assistant error feedback (#41132)
* feat: improve ai assistant error alert

* stamp: format

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2026-01-20 12:30:04 -03:30
Marcus WeinerandMarcus Weiner a7f8469946 Add Marcus to list of humans (#42011)
Co-authored-by: Marcus Weiner <marcus@supabase.io>
2026-01-20 22:46:54 +07:00
Danny White c51fa00db2 chore(www): remove announcement banner (#42002)
remove banner
2026-01-20 09:33:58 -04:00
Ignacio Dobronich 485dff74e3 chore: project scoped roles entitlement (#41587)
* chore: project access entitlment

* typegen
2026-01-20 22:00:11 +09:00
c3dfbc5956 feat: add support for dropping and auto-extracting zip files in Edge Functions editor (#41801)
* feat: add support for dropping and auto-extracting zip files in Edge Functions editor

* fix: add type assertions for readonly array includes checks in zip extraction

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat: add support for PDF and image files in zip extraction

- Moved wasm from ALLOWED_EXTENSIONS to ALLOWED_BINARY_EXTENSIONS
- Added PDF support for document files
- Added common image formats: jpg, jpeg, png, gif, svg, bmp, ico, webp
- Binary files are extracted and preserved but show "Cannot Edit" message in editor

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* refactor: remove file extension validation from zip extraction

Makes zip extraction behavior consistent with regular file drops.
Now all file types are accepted in both cases, matching the
permissive behavior users expect.

Removed:
- ALLOWED_EXTENSIONS and ALLOWED_BINARY_EXTENSIONS arrays
- isAllowedExtension() and isAllowedBinaryFile() validation functions
- getFileExtension() helper (no longer needed)
- Extension-based rejection logic from extractZipFile()

Kept:
- File size validation (individual and total limits)
- Hidden file filtering (.DS_Store, __MACOSX, etc.)
- Binary file detection for proper content reading

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: correct file replacement detection in addDroppedFiles

Bug: The condition `updatedFiles !== files` always evaluated to true
because updatedFiles is created via files.map() which always returns
a new array reference, even when no files were actually modified.

This caused onFilesChange to be called unnecessarily when dropping
zip files that only contained files with names not matching any
existing files.

Fix: Track whether any existing files were actually replaced using
a hasReplacedFiles flag that is set to true only when we modify
files in the updatedFiles array during zip extraction.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: add graceful error handling for zip file extraction

Replaced dangerous non-null assertion operator (!) with proper error
handling for entry.getData() calls.

Changes:
- Check entry.directory and entry.getData before extraction
- Wrap getData calls in try-catch to handle extraction failures
- Track failed files and include them in error reporting
- Skip files that can't be extracted instead of crashing

This prevents runtime errors when:
- Zip entries are directories (defensive check)
- Zip entries don't have getData method (corrupted/unusual entries)
- File extraction fails for any reason (encoding issues, etc.)
- Binary/text file reading encounters errors

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* refactor: improve file processing logic with enum and switch statement

Replaced if-else chain with cleaner enum-based approach per PR feedback.

Changes:
- Added FileAction enum (CREATE_NEW, REPLACE_EXISTING, REPLACE_NEW)
- Created getFileAction() helper function that returns action + index
- Refactored file processing loop to use switch statement
- Eliminated duplicate findIndex() calls (was calling it twice)
- Reduced variable count from 2 (existingFileIndex, newFileIndex) to 1 (actionResult)

Benefits:
- More readable and maintainable code
- Single source of truth for file lookup logic
- Better type safety with discriminated union
- Easier to extend with new file actions in the future

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* prettier

* fix: add guard for undefined entry.uncompressedSize in zip extraction

Prevents NaN from bypassing size validation when entry.uncompressedSize
is undefined.

Issue:
- entry.uncompressedSize can be undefined in malformed/corrupted zips
- Without guard: totalExtractedSize + undefined = NaN
- NaN comparisons always return false, bypassing MAX_TOTAL_EXTRACTED_SIZE
- Security risk: allows extraction of files with unknown sizes

Fix:
- Check if uncompressedSize is undefined or NaN before any arithmetic
- Skip files with unknown sizes and add to oversizedFiles array
- Provide descriptive error message: "unknown size - metadata unavailable"
- Ensures size validation always runs safely

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Refactor to streamline handling of regular and zip files in FileExplorerAndEditor

* Address rabbit feedback

* Nit

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-01-20 20:09:01 +08:00
Pamela Chia 0d4fc54fb3 docs(studio): clarify free project limit message (#42007)
docs: clarify free project limit across organizations
2026-01-20 16:45:38 +07:00
Kanishk Dudeja 4281be70ed feat(billing): use entitlements for read replica access (#41940) 2026-01-20 13:19:43 +05:30