Commit Graph
34920 Commits
Author SHA1 Message Date
Gildas Garcia 77004016f4 fix: cannot resize table editor columns on safari (#43450)
## Problem

On Safari, it's impossible to resize a column.

## Solution 

This is actually a bug in `react-data-grid` that has been fixed in more
recent versions but we can't use them.
Patch the package

## How to test

- Open the any table in the _Table editor_
- Resize a column
2026-03-06 08:01:22 +01:00
Danny WhiteandJoshen Lim 8a5ad58f81 chore(studio): replace CloseConfirmationModal with DiscardChangesConfirmationDialog (#43430)
## What kind of change does this PR introduce?

Form handling improvement.

## What is the current behavior?

https://github.com/supabase/supabase/pull/43201/ standardised our
discard changes behaviour with a shared hook and
`DiscardChangesConfirmationDialog` component. But many forms and sheets
still:

1. Don’t have any Discard-confirm close behaviour, making it too easy to
make accidental discards
2. Use a more complicated, manually-created `CloseConfirmationModal`
approach

## What is the new behavior?

- Replaced all instances of `#2` above that had `CloseConfirmationModal`
with `DiscardChangesConfirmationDialog` and its hook
- Improved design system documentation around dirty form dismissal

| Before | After |
| --- | --- |
| <img width="987" height="569" alt="Mercor Apexroles Foo
Supabase-9A40EC7C-F335-4B26-B567-450FC0845463"
src="https://github.com/user-attachments/assets/363bed82-34d2-4cc8-9164-6d18cfdbdbbc"
/> | <img width="987" height="569" alt="Mercor Apexroles Foo
Supabase-F427F1FA-DECC-4194-B663-A9E5A6F285A1"
src="https://github.com/user-attachments/assets/d49fafdc-a5c2-46df-9b67-ec42bacbe716"
/> |

## To test

Try editing values these sheets in staging, then blurring the sheet or
pressing `esc`:

- CreateQueueSheet.tsx
- CronJobsTab.tsx
- CronJobPage.tsx
- EditWrapperSheet.tsx
- OverviewTab.tsx
- WrappersTab.tsx
- CreateFunction/index.tsx
- EditHookPanel.tsx
- TriggerSheet.tsx
- SidePanelEditor.tsx
- EditSecretSheet.tsx
- PolicyEditorModal/index.tsx
- PolicyEditorPanel/index.tsx

## Still to come

- [ ] Incrementally take on `#1`: implement
`DiscardChangesConfirmationDialog` and its hook in sheets or dialog
forms that have no dirty form dismissal handling

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-03-06 03:17:35 +00:00
Danny White a832d62785 chore(studio): update Claude icon and minify dark icons (#43422)
## What kind of change does this PR introduce?

- UI fixes and cleanup

## What is the current behavior?

- We use the _Anthropic_ logo for _Claude Code_ in the MCP connector
panel
- We have a bunch of redundant dark mode logos (visually the same as
their light mode siblings)

| Before | After |
| --- | --- |
| <img width="987" height="373" alt="Krosno Toolshed
Supabase-03CD5E6F-53E6-4282-9087-ACB9F67B6DDA"
src="https://github.com/user-attachments/assets/ca7b5d9c-2a2b-4520-8bd4-8cf26c759c73"
/> | <img width="987" height="373" alt="Krosno Toolshed
Supabase-53F3849B-2D86-494B-BE25-8D23EA050243"
src="https://github.com/user-attachments/assets/7bd2e9a6-82ae-48a1-9ef1-591b7a33632e"
/> |

## What is the new behavior?

- We use the _Claude_ logo for _Claude Code_
- Removed duplicative logos
- Made note of which MCP servers have a different logo for dark mode
2026-03-06 14:00:04 +11:00
Danny White df55c5c327 feat(studio): platform webhooks scaffolding (#43276)
## What kind of change does this PR introduce?

Impending feature addition. Resolves DEPR-340.

## What is the current behavior?

We don’t have any platform webhook support.

## What is the new behavior?

This puts the scaffolding for platform webhooks **behind a feature
flag**. The content is currently UI-only (with mock data and a
[temporary tracking
file](https://github.com/supabase/supabase/blob/8adadc61f57c70b686a0f5f05e9f7f05837e0466/apps/studio/components/interfaces/Platform/Webhooks/DEPR-340-backend-integration-tracker.md)).

Merging this in lets us work incrementally from here on.
2026-03-06 02:56:54 +00:00
Danny White 5da7ca4c04 fix(studio): circle centering (#43472)
## What kind of change does this PR introduce?

UI fix

## What is the current behavior?

Radio button circles are off-center in Safari.

## What is the new behavior?

Radio button circles are centered in Safari. Extraneous stroke on the
Lucide Circle icon also removed.

| Before | After |
| --- | --- |
| <img width="1502" height="864" alt="General Supabase"
src="https://github.com/user-attachments/assets/7fea0cc5-d62f-4c29-b341-494e66b91c38"
/> | <img width="1502" height="864" alt="General Supabase"
src="https://github.com/user-attachments/assets/296cbb72-ced2-44f7-8c73-d2c758a66507"
/> |

It’s hard to see the before-after via screenshots. Go to org settings on
`master` in Safari to see the difference.

## Additional context

We already applied this fix in `radio-group-stacked`.
2026-03-06 12:23:41 +11:00
Danny WhiteandJoshen Lim 503c01b5bc chore(studio): refactor oauth apps page and table (#43366)
## What kind of change does this PR introduce?

UI update.

## What is the current behavior?

The org’s /apps page is glaringly out of date compared to similar pages.
It uses old page and layout components.

## What is the new behavior?

- Refactored /apps to use latest
[layout](https://supabase.com/design-system/docs/ui-patterns/layout) and
[table](https://supabase.com/design-system/docs/components/table)
components

Unrelated minor changes snuck in:

- Global `pnpm format` to properly format recurring annoyances elsewhere
- Minor polish on org tiles (pictured)

| Before | After |
| --- | --- |
| <img width="1728" height="997" alt="OAuth Apps
Supabase-30B6CDAE-4954-40F8-886A-939797999AA6"
src="https://github.com/user-attachments/assets/163c2787-f6ab-4a0b-80aa-af81260bdf9f"
/> | <img width="1728" height="997" alt="OAuth Apps
Supabase-7DD241E0-262A-4817-91B2-D2A299F8EB93"
src="https://github.com/user-attachments/assets/29928305-9110-4256-8663-c3821e696587"
/> |
| <img width="1728" height="997" alt="OAuth Apps
Supabase-9870816A-8022-479D-8011-236A813249AB"
src="https://github.com/user-attachments/assets/32e41835-59bc-4d83-92eb-635b98c5f4a5"
/> | <img width="1728" height="997" alt="OAuth Apps
Supabase-21CFBC16-E850-44A6-BEFF-C4FBED8ACB43"
src="https://github.com/user-attachments/assets/6999e2a0-ea17-44cb-99f2-42f985354589"
/> |
| <img width="1152" height="664"
alt="Supabase-9DD87028-2D46-47D0-8546-240184E1711B"
src="https://github.com/user-attachments/assets/2c7d8b2a-280f-48d6-9f78-19c519cf4654"
/> | <img width="1152" height="664"
alt="Supabase-F1C92F66-C602-4DC9-B3B4-AE3FB673276E"
src="https://github.com/user-attachments/assets/0a24a98e-386f-4ada-b282-0a59b159bbab"
/> |

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-03-06 12:23:33 +11:00
Danny White 406be76af0 chore(docs): LLM icons (#43416)
## What kind of change does this PR introduce?

UI update.

## What is the current behavior?

https://github.com/supabase/supabase/pull/43355 introduced “Copy to
ChatGPT” and “Copy to Claude” buttons with the general `ExternalLink`
Lucide icon each.

## What is the new behavior?

Branded icons for each, so users can quickly skim the sidebar for their
LLM of choice.

| Before | After |
| --- | --- |
| <img width="1152" height="662" alt="Database Supabase
Docs-0BAB1226-CCD6-4022-9383-1C323C83475D"
src="https://github.com/user-attachments/assets/efba85e7-1b82-4faa-a460-fd1d07448064"
/> | <img width="1152" height="662" alt="Database Supabase
Docs-44494743-65AE-40BF-AE19-375A2E5F7665"
src="https://github.com/user-attachments/assets/968180b1-ef31-46d4-84d9-bf2819a24fc4"
/> |
2026-03-06 00:25:55 +00:00
Ignacio Dobronich 9f8536584c chore: remove maybeShowUpgradePrompt for entitlement-based gate (#43457)
### Changes
- Remove maybeShowUpgradePrompt (plan-based) in favor of
maybeShowUpgradePromptIfNotEntitled (entitlement-based)
- Replaced the `maybeShowUpgradePrompt` with a `hasAccessToHelper`
callback to default the date selection to a safe default so pages don't
load with an out-of-range date.

### Testing

- With an Org on the Free Plan, head to
`/project/_/observability/api-overview?its=2026-03-04T15:06:50.704Z&ite=2026-03-20T15:06:50.704Z`.
Notice that the end date in the URL is 16 days after the start date.
- Assert that the actual range defaults to the entitled range of 1 day.

<img width="467" height="483" alt="image"
src="https://github.com/user-attachments/assets/e17c6957-3ece-4956-87aa-30cf62c84acd"
/>
2026-03-05 19:25:47 -03:00
AnaandAna Mogul 8f71a43b86 chore/www log drains blog post (#43454)
## 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?

Update image for thumbnail

## What is the current behavior?

N/A

## What is the new behavior?

imgThumb has been updated to
`https://zhfonblqamxferhoguzj.supabase.co/functions/v1/generate-og?template=ruler&layout=icon-only&copy=Log+Drains+on+Pro&icon=icon-columns.svg`

## Additional context

Add any other context or screenshots.

---------

Co-authored-by: Ana Mogul <ana1337x@users.noreply.github.com>
2026-03-05 14:12:18 -05:00
Matt Linkous 5b2721c0db fix(studio): update log drain empty state to show pro tier upgrade (#43462)
Updates the log drain empty state now that log drains are available to
pro tier
2026-03-05 18:48:25 +00:00
Prashant Sridharan 96b2ba71a6 Fixed typos and changed the prize on an event (#43459) v1.26.03 2026-03-05 18:41:27 +00:00
AnaandAna Mogul 604fc7b4c8 blog: add Supabase Storage performance, security, and reliability updates (#43461)
## 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?

Adding a blog post for the Supabase Storage performance, security, and
reliability updates that has been shipped

## What is the current behavior?

N/A

## What is the new behavior?

Adds the blog post "Supabase Storage: major performance, security, and
reliability updates" covering:

- Path traversal prevention
- Accidental SQL delete protection
- Object listing rewrite (up to 14.8x faster deep pagination on 60M+ row
tables)
- Query cancellation and statement timeouts
- Idempotent migrations
- TUS zombie lock fix
- Orphan object scanner improvements
- OpenTelemetry metrics
- Bug fixes

## Additional context

Related PRs: https://github.com/supabase/storage/pull/818,
https://github.com/supabase/storage/pull/817,
https://github.com/supabase/storage/pull/841,
https://github.com/supabase/storage/pull/805,
https://github.com/supabase/storage/pull/812,
https://github.com/supabase/storage/pull/830,
https://github.com/supabase/storage/pull/819,
https://github.com/supabase/storage/pull/831

---------

Co-authored-by: Ana Mogul <ana1337x@users.noreply.github.com>
2026-03-05 13:22:43 -05:00
Ali Waseem e40bf39b9c fix: updated filter bar logic to support selection of columns once set (#43408)
## 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?

- Allow selecting the column, it respects different types and updates
the values correctly. If the values are different it gets wiped due to
mismatches
- Updated E2E tests and unit tests
2026-03-05 10:42:17 -07:00
Aaron Brooks c4eee6d63e chore: Add "Aaron Brooks" to humans.txt (#43363)
Hey, I can't help that my name is alphabetically the first — in school
this meant I always had to give presentations first. Not fun!

## 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?

On-boarding addition of my name (Aaron Brooks) to humans.txt

## What is the current behavior?

Aaron Brooks is not part of humans.txt

## What is the new behavior?

Aaron Brooks is part of humans.txt
2026-03-05 12:37:40 -05:00
549ca3677e feat: add similar threads on contribute (#42638)
## 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?

This adds a component showing a list of AI curated related threads to
the detail thread view.

## What is the current behavior?

This is not available.

## What is the new behavior?

A new component on the thread view.

## Additional context

Add any other context or screenshots.

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-03-05 12:06:55 -05:00
Ignacio Dobronich 4f7d4a3b4a chore: dedicated pooler entitlement (#43400)
Adds the new `dedicated_pooler` entitlement and it's respective
entitlement checks in the following components: `ConnectTabContent`,
`ConnectStepsSection`, `LogsSidebarMenuV2` and `ConnectionPooling`

## Testing 

### ConnectTabContent and ConnectStepsSection
- Head to `project/_?showConnect=true` with an Org on the Pro Plan or
above
- Assert that the `Dedicated Pooler` option is available.

<img width="1007" height="641" alt="image"
src="https://github.com/user-attachments/assets/b4891544-b84b-4745-9e25-4cbc7c76686c"
/>

### IPv4SidePanel
- Head to `/project/_/database/settings` with an Org on the Pro Plan and
above and assert that the Dedicated Pooler is available

<img width="889" height="562" alt="image"
src="https://github.com/user-attachments/assets/3150cb3d-18e9-4b34-bc9b-2589d0a33c5f"
/>

### Dedicated Pooler Logs
- Head to `/project/_/logs/dedicated-pooler-logs` with an Org on the Pro
Plan and assert that you are in the `dedicated-poolers-logs` page.
- Head to `/project/_/logs/dedicated-pooler-logs` with an Org on the
Free Plan and assert that you are redirected to `/logs/pooler-logs`


### Logs Sidebar

- Head to `/project/jdvjfujajfyywbaaakje/logs/explorer` with an Org on
the Free Plan
- Assert that only the "Poolers" collection is shown

- Head to `/project/jdvjfujajfyywbaaakje/logs/explorer` with an Org on
the Pro Plan
- Assert that the Dedicated and Shared Poolers collections are shown
<img width="251" height="774" alt="image"
src="https://github.com/user-attachments/assets/747bceee-d5e7-4a8f-911d-6b02cdb115eb"
/>
2026-03-05 13:38:45 -03:00
Ignacio Dobronich 6a873c67fa chore: logs entitlements badges (#43443)
### Changes
- Replace hardcoded plan-to-days mapping (`getAvailableInForDays`) with
entitlement-driven checks.
- Show a lock icon on date picker helpers that exceed the user's
entitled log retention, instead of a plan name badge.
- Remove availableIn from DatetimeHelper type — the entitlement API is
now the single source of truth.

### Testing
- Head to `/project/_/logs` on a free plan project and verify lock icons
appear on helpers beyond 1 day
- Verify clicking a locked helper still triggers the upgrade prompt
<img width="511" height="483" alt="image"
src="https://github.com/user-attachments/assets/41dce8c0-205a-4d82-9c07-12f4bb6b0f4d"
/>
2026-03-05 13:38:07 -03:00
Thomas HammerlandChris Chinchilla dfdfe279df docs: Fix SQL queries in realtime documentation (#41519)
I'm relatively new to supabase, but in my current understanding the SQL
selects are inconsistent with the given example schema as the column is
named `room_topic` there.

## 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?

Updates documentation.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Documentation**
* Corrected authorization policy examples in realtime guides to use
accurate column references for topic-based access control in Broadcast
and Presence features.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-03-05 17:05:45 +01:00
Jordi Enric e3eb51f428 fix(query-performance): optimize pg_stat_statements query DEBUG-28 (#43383)
- Filter out never-run queries early: previously the queries didn't
check if a statement had ever actually been executed, so PostgreSQL
would process and return those useless rows. Adding WHERE calls > 0
skips
  them upfront.
- Replace window functions with a pre-computed total: two queries were
using a SQL window function to calculate the "% of total time" column,
which forces PostgreSQL to load every single row into memory before
returning results. Replaced with a small CTE that computes the total
once separately, so PostgreSQL can apply the row limit without buffering
everything first. This was the main cause of page crashes on databases
   with a large query history.
 - slowQueriesCount bug fix: added missing as statements alias
- queryMetrics WHERE clause fix: ${where} was producing WHERE ... WHERE
..., now uses .replace(/^WHERE/, 'AND')
2026-03-05 16:33:15 +01:00
AnaandAna Mogul 1fe188fcb7 Add Log Drains now available on Pro blog post (#43433)
## 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?

A new blog post to announce Log Drains being available on Pro

## What is the current behavior?

N/A

## What is the new behavior?

Adds the blog post 2026-03-05-log-drains-now-available-on-pro.mdx
announcing Log Drains availability on the Pro tier. It will be live at
https://supabase.com/blog/log-drains-now-available-on-pro

## Additional context

Related to #43360 (Log Drains feature page update for Pro launch)

Co-authored-by: Ana Mogul <ana1337x@users.noreply.github.com>
2026-03-05 10:08:38 -05:00
AnaandAna Mogul e988996e62 chore(www): update Log Drains feature page for Pro launch (#43360)
## 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?

Update Log Drains feature page

## What is the current behavior?

The Log Drains feature page (`/features/log-drains`) reflects outdated
information:
- Status shows Public Alpha
- Description only mentions Datadog and custom HTTP endpoints
- Docs link points to the original blog post (`/blog/log-drains`)
- No mention of Pro plan availability

## What is the new behavior?

- Status updated to GA
- Description updated to reflect Pro plan availability (previously
Team/Enterprise only)
- All supported destinations listed: Datadog, Grafana Loki, Sentry, AWS
S3, Axiom, and generic HTTP
- Pricing included: $60/drain/project + $0.20/M events + $0.09/GB egress
- Docs link updated to `/docs/guides/telemetry/log-drains`

## Additional context

Add any other context or screenshots.

Co-authored-by: Ana Mogul <ana1337x@users.noreply.github.com>
2026-03-05 10:08:23 -05:00
Gildas Garcia 9cf5800082 fix: order recently impersonated users in descending order on the SQL (#43447)
## Problem

When testing things in SQL Editor, you often have to impersonate the
same user many times. It's cumbersome to look for them. We have a
_Recents_ list but its order is not practical.

## Solution

Invert the order of the _Recents_ list so that the last impersonated
user is the first one

## How to test

- Create multiple users
- Open the SQL Editor
- Impersonate different users
- Check the order of the list
2026-03-05 16:07:19 +01:00
Terry Sutton d027d90b80 Spelling (#43446)
We need to make sure we take spelling into acccount.

![screenshot-2026-03-05-at-10 32
16](https://github.com/user-attachments/assets/e3545f68-1bd3-4433-abd8-a38d488f8b45)
2026-03-05 11:25:01 -03:30
Ali Waseem 6cd3857d70 fix: added support for is and is not null (#43404)
## 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?

- For the new filters experience, we are missing null changes for dates
and also no support for isNull
- Updated E2E tests to account for new null cases
2026-03-05 07:07:54 -07:00
Francesco Sansalvadore 03bd82de81 remove zombie flags (#43341)
removing flags:
- `enableCreateCommands`
- `enableSearchEntitiesCommands`
2026-03-05 14:59:13 +01:00
Monica Khoury a51470ca52 docs(storage): add S3 CLI method for bulk storage operations (#43402)
Added an alternative approach using the Supabase S3-compatible API and
AWS CLI for bulk operations such as downloading, moving, and
reorganizing objects in a bucket.

Linear task:
https://linear.app/supabase/issue/DOCS-725/update-storage-troubleshooting-doc-with-bulk-operation-workaround.
2026-03-05 14:54:22 +01:00
Chris Chinchilla d6006f9d08 docs: Update Remix SSR example code (#43351)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES
2026-03-05 14:20:15 +01:00
Gildas GarciaandJoshen Lim 9ce3bdf552 fix: storage view is not reset when switching buckets (#43370)
## Problem

When navigating between buckets after having selected a folder, the
storage view shows the previous folder content.

## Solution

Set the selected bucket before navigating to it, preventing a race
condition with Valtio updates and the effect that loads the bucket
content.

## How to test

1. Create 2 buckets
2. In one of them, create a folder and upload some files
3. Go back to the bucket list
4. Open the other bucket

Results:
- It should not show the previous bucket content anymore
- It should not show an empty 2nd column either

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-03-05 12:10:46 +01:00
Ivan Vasilov e0a736181a chore: Bump next in studio to v16.1.6 (#43149)
This pull request upgrades the `next` framework and its related
dependencies from version 16.0.11 to 16.1.6 across the `studio` project.
2026-03-05 11:59:43 +01:00
Ivan Vasilov 6437bd2a38 fix: Change the valid time for temp API keys to 30 seconds. (#43390)
This pull request makes a minor adjustment to the temporary API key
validation logic. The key is now considered invalid if it has less than
30 seconds remaining before expiry, instead of the previous 20 seconds.
This change helps avoid edge cases where a key might expire during use.
2026-03-05 09:56:38 +01:00
Pamela Chia 4a9455cb2f chore(studio): update downgrade survey to use 'what made you' framing (#43435)
## Summary

- Updates exit survey question wording from "why" framing to "what made
you" framing across both downgrade and project deletion flows
- Based on [Jason Cohen's
research](https://www.lennysnewsletter.com/p/why-your-product-stopped-growing)
showing this reframing roughly doubles response rates and improves
response quality by prompting users to recall a specific trigger event

### Changes

| Location | Before | After |
|---|---|---|
| ExitSurveyModal (downgrade) | "Share with us why you're downgrading
your plan." | "What made you decide to downgrade your plan?" |
| DeleteProjectModal (delete) | "Help us improve by sharing why you're
deleting your project." | "What made you decide to delete your project?"
|

### No downstream impact
- `CANCELLATION_REASONS` chip values unchanged
- API payload fields (`reasons`, `additionalFeedback`, `exitAction`)
unaffected
- No PostHog event names or properties tied to question wording

Closes GROWTH-657

## Test plan

- [ ] Trigger downgrade flow (paid plan → Free) and verify new wording
appears
- [ ] Trigger project deletion on a paid plan and verify new wording
appears
- [ ] Confirm survey submission still works end-to-end
2026-03-05 08:35:14 +00:00
TheOtherBrian1 d272224bc3 docs: updating egress troubleshooting guide (#43420)
## 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?

Docs Update

## What is the current behavior?

There is a troubleshooting guide on egress

## What is the new behavior?

Just made light modifications to the troubleshooting guide

## Additional context

None really. Just added a few small corrections and rewordings
2026-03-05 09:32:53 +01:00
Pamela Chia 5880966b15 chore: add telemetry standards skill for CodeRabbit (#43436)
## Summary

- Adds a combined telemetry standards skill
(`.claude/skills/telemetry-standards/SKILL.md`) that covers PostHog
event naming conventions, property standards, review rules, and
implementation guide
- Intended to be imported as CodeRabbit learnings after merge so
CodeRabbit can flag missing/incorrect tracking in PRs
- Consolidates standards from existing `review-telemetry` and
`implement-tracking` Claude commands into a single source of truth

## Post-merge steps

### 1. Import as CodeRabbit learnings (one-time)

Comment on any PR in the repo:
```
@coderabbitai add a learning using .claude/skills/telemetry-standards/SKILL.md
```

This teaches CodeRabbit the telemetry standards. It will then:
- Flag naming/property violations when `telemetry-constants.ts` is
changed
- Suggest adding `useTrack()` tracking when PRs add user-facing
interactions without it
- Propose event names following `[object]_[verb]` convention

### 2. Add path instructions in CodeRabbit web UI (optional,
recommended)

Go to CodeRabbit settings > Review > Path Instructions and add:

- **Path:** `packages/common/telemetry-constants.ts`
- **Instructions:** "Strictly enforce event naming: [object]_[verb] in
snake_case. Only approved verbs: opened, clicked, submitted, created,
removed, updated, retrieved, intended, evaluated, added. Properties must
be camelCase and self-explanatory. Flag any usage of
useSendEventMutation."

### 3. Remove old Claude commands (after verifying skill works)

Delete `.claude/commands/review-telemetry.md` and
`.claude/commands/implement-tracking.md` — this skill replaces both.

Closes GROWTH-661
2026-03-05 17:08:26 +09:00
Prashant Sridharan ef6e44bc24 Fixed a few typos in the text (#43434)
## 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?

Just clarified that the prize is an iPhone 17 Pro Max and the dinner is
on a Wednesday, not a Tuesday.
2026-03-05 08:05:59 +00:00
Danny WhiteandJoshen Lim a052dd7409 chore(studio): clarify dedicated pooler compatibility (#43320)
## What kind of change does this PR introduce?

UI clarification.

## What is the current behavior?

Our messaging around the compatibility of:

- Dedicated pooler
- Shared pooler

...in conjunction with the following connection types:

- IPv4
- IPv6
- Direct connection

...is hard to parse.

## What is the new behavior?

Copywriting clarifications to all of the above. Plus:

- Broader copywriting clarifications to `IPV4SidePanel`
- Replace deprecated `Radio` component with `RadioGroupItem_Shadcn_` as
the former has little-to-no visual difference between unselected and
selected states
- Fixed `SidePanel` header gap and button labelling

## Additional context

| Before | After |
| --- | --- |
| <img width="1024" height="563" alt="AWS Healthy Toolshed
Supabase-4587771A-83A2-40E8-845B-256CE7E1A7DB"
src="https://github.com/user-attachments/assets/09591fa1-48b8-4f3c-aaef-733af8dbdc9a"
/> | <img width="1024" height="563" alt="AWS Healthy Toolshed
Supabase-D56A2209-7421-43C2-A7C1-6C6965B3F008"
src="https://github.com/user-attachments/assets/13a05e51-02a5-486a-9549-4c5fe049c65a"
/> |
| <img width="1024" height="563" alt="Add ons
Supabase-10CC55BC-C3D8-4E40-9F73-31FFE8D7F42A"
src="https://github.com/user-attachments/assets/73e206dc-58a3-4356-8e31-cf2ad74383f8"
/> | <img width="1024" height="563" alt="Add ons
Supabase-6311B7FE-4291-4982-968E-5EDBA76DE519"
src="https://github.com/user-attachments/assets/503667ef-9b36-4d62-9872-53ac6b32f56f"
/> |

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-03-05 15:41:22 +08:00
Danny WhiteandJoshen Lim aef1d70351 chore(studio): standardise discard changes behaviour (#43201)
## What kind of change does this PR introduce?

UX consistency improvement. Updates DEPR-355.

## What is the current behavior?

Discard-confirm close behavioir is implemented inconsistently across
Studio forms:

- some sheets/dialogs used `useConfirmOnClose`
- some duplicated local `CloseConfirmationModal` components
- some (e.g. `CreateHookSheet`) closed unconditionally and could lose
unsaved changes

## What is the new behavior?

Extracts and validates a reusable discard-close pattern for
dialogs/sheets
- enhances `useConfirmOnClose` with `handleOpenChange(open)` for
`Dialog`/`Sheet` `onOpenChange`
- adds shared `DiscardChangesConfirmationDialog` (`AlertDialog`-based,
override-able copy)
- migrates:
	- `InviteMemberButton`
	- `CreateHookSheet`
	- `EditSecretSheet`

This standardizes close-guard behavior for
backdrop/escape/close-button/cancel-button flows without trying to block
route changes or arbitrary unmounts.

## Additional context

`CreateHookSheet` now also marks the generated secret action as dirty
(`setValue(..., { shouldDirty: true })`) so the discard guard behaves
correctly.

- Added tests for `useConfirmOnClose` covering:
	- clean vs dirty close
	- handleOpenChange(true|false)
	- confirm/cancel behavior
	- latest callback ref behavior

A follow-up PR is needed to migrate remaining duplicated
`CloseConfirmationModal` usages and older `useConfirmOnClose` call sites
to the shared `DiscardChangesConfirmationDialog` + `handleOpenChange`
pattern.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-03-05 11:32:39 +11:00
Prashant Sridharan cd0e2c9fa9 Added more landing pages for upcoming events (#43412)
## 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?

Added landing pages for contests and giveaways at upcoming conferences.
Also updated the iPhone 17 Pro Max image with a higher quality one with
proper masking.
2026-03-04 23:07:02 +00:00
Ignacio Dobronich 8efac5cffa chore: auth performance settings entitlement (#43322)
Adds an entitlement check to the Auth Performance Settings page.

### Testing
- Head to `/project/_/auth/performance` with an org on the Free Plan
- Assert that you can't edit any values in the page
- Assert that the upgrade prompt is shown
<img width="1203" height="148" alt="image"
src="https://github.com/user-attachments/assets/9046eb36-75eb-47d9-824a-07c12431d3e5"
/>

- Head to `/project/_/auth/performance` with an org on the Pro Plan or
above
- Assert that the upgrade prompt is not rendered
- Assert that you're able to modify and save values
2026-03-04 19:32:53 -03:00
Matt Rossman 00436076bb chore(studio): bump mcp-server-supabase to 0.7.0 and mcp-utils to 0.4.0 (#43356)
Bumps `@supabase/mcp-server-supabase` from 0.6.3 to 0.7.0 and
`@supabase/mcp-utils` from 0.3.2 to 0.4.0.

**References**
- https://github.com/supabase-community/supabase-mcp/releases/tag/v0.7.0

Closes AI-462
2026-03-04 14:50:41 -05:00
Ali Waseem 28be36f04c chore: allow using multiple ports for next dev (#43398)
## 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?

Trying agents with multiple git worktrees, want the ability to run
multiple instances of dev

## Context

For agent scripts that support git worktrees, you can set STUDIO_PORT to
0 and have the OS assign a port so they don't conflict with each other
2026-03-04 10:47:35 -07:00
Jeremias Menichelli 45fd69d9cf fix(Docs): Avoid empty URL on AI links (#43399) 2026-03-04 17:03:43 +00:00
Ignacio Dobronich 7e3986df8d chore: restore to new project entitlement (#43313)
Adds an entitlement check to prompt upgrades for restoring backups to
new projects

### Testing
- Head to `/project/_/database/backups/restore-to-new-project` with a
Free Project
- Assert that the upgrade prompt is shown
<img width="1271" height="309" alt="image"
src="https://github.com/user-attachments/assets/ca1cf071-db2f-4398-ab6f-ef0cf7ccc714"
/>

- Head to `/project/_/database/backups/restore-to-new-project` with a
Pro Project or above
- Assert that the restore backups UI is shown

<img width="1271" height="685" alt="image"
src="https://github.com/user-attachments/assets/43d0be5a-370c-4827-bb39-c0ab9e7b74e7"
/>
2026-03-04 13:25:09 -03:00
Ignacio Dobronich 1e6c7f2931 chore: github integration entitlement (#43294)
Adds the Github Integration entitlement to the
GitHubIntegrationConnectionForm.


### Testing
- Head to `/project/_/settings/integrations` with an org on the Free
Plan
- Assert that you see the upgrade prompt:
<img width="829" height="272" alt="image"
src="https://github.com/user-attachments/assets/9b852595-b486-4ef9-99c8-3359463c9dc3"
/>

- Head to `/project/_/settings/integrations` with an org on the Pro Plan
- Assert that you don't see the upgrade prompt and you're able to enable
and make changes to the Github Integration
2026-03-04 13:24:34 -03:00
Alex Hall aa73bf2f7b Add Alex Hall to humans.txt (#43393)
## 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?

Adding myself to humans.txt
2026-03-04 11:06:06 -05:00
Jeremias Menichelli 8b4bf646fc feat(Docs): Add copy as markdown and AI tools to guide (#43355) 2026-03-04 16:31:02 +01:00
af3b8971c5 feat: update @supabase/*-js libraries to v2.98.1-canary.0 (#43378)
This PR updates @supabase/*-js libraries to version 2.98.1-canary.0.

**Source**: manual

**Changes**:
- Updated @supabase/supabase-js to 2.98.1-canary.0
- Updated @supabase/auth-js to 2.98.1-canary.0
- Updated @supabase/realtime-js to 2.98.1-canary.0
- Updated @supabase/postgest-js to 2.98.1-canary.0
- Refreshed pnpm-lock.yaml

This PR was created automatically.

Co-authored-by: mandarini <6603745+mandarini@users.noreply.github.com>
Co-authored-by: Katerina Skroumpelou <mandarini@users.noreply.github.com>
2026-03-04 16:33:48 +02:00
Mert YEREKAPAN 6c436d5aa3 fix(Nav): update dashboard link to point to sign-up page (#43384)
## 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?

Redirect to the signup page for "Start your project" button

## What is the current behavior?

That button redirects to signin page

## What is the new behavior?

Redirects to signup page

## Additional context

Add any other context or screenshots.
2026-03-04 14:58:14 +01:00
Ivan Vasilov de3a9eb4db chore: Bump vulnerable dependencies (#43371)
This PR bumps and fixes the following vulnerabilities in the following
deps:
- minimatch
- rollup
- ajv
- devalue
- hono

It also dedupes the @babel deps.
2026-03-04 14:48:17 +01:00
Chris Chinchillaandcoderabbitai[bot] 558ed3859b docs: Update backup docs to be physical by default (#43188)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-03-04 13:32:41 +01:00
Chandana Anumula 088fca231d Update auto-generated-docs.mdx to display the new UI (#43373)
## 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?

docs update

## What is the current behavior?

Shows the old UI instructions and video

## What is the new behavior?

Updated with new UI instructions and video

## Additional context

Add any other context or screenshots.
2026-03-04 17:48:05 +05:30