Commit Graph
361 Commits
Author SHA1 Message Date
Ali Waseem 1b319f8856 chore: added e2e tests for filter bar (#42709)
## 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?

Chore: E2E tests to cover the full keyboard and mouse flow for the AI
Filters

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

* **Tests**
* Added a comprehensive end-to-end test suite for the Filter Bar:
creation/removal of filters, keyboard and dropdown navigation,
operator/value flows, boolean/date/timestamp presets, multiple
simultaneous filters, and grid result validation.
* **Tests / Utilities**
* Added reusable test helpers to set up tables, interact with the filter
bar, and wait for data updates.
* **Style / Test hooks**
* Added test IDs and highlight attributes to filter UI elements to
improve test reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-13 08:56:59 -07:00
Ali Waseem 2cb5befaa3 fix: updated text jumping for value (#42743)
## 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?

Bug fix: when editing the value on the filter, going to the middle and
changing something forces you back and the end. Very annoying

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

## Summary by CodeRabbit

* **Refactor**
* Improved filter condition state management to ensure filter values
remain consistent and responsive during user interactions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-12 09:22:04 -07:00
Ali Waseem 765f95ce9f chore: update filters with new animations based on feedback (#42704)
## 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?

- Updated placeholder logic to be more context aware on tables
- Added AI loader
- more tests for utils

## Demo 


https://github.com/user-attachments/assets/0ea75037-3cd2-4394-9f99-ee5b3bff87c8



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

* **New Features**
* Enhanced loading indicator with animated AI icon during AI-powered
operations.
* Dynamic filter placeholder text that displays available filter
options.

* **Style**
* Simplified filter item selection UI by removing visual selection
checkmarks.
  * Improved label display formatting for filter actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-12 09:21:54 -07:00
Ali Waseem 1ed4ea0c60 fix: updated styling based on feedback (#42694)
## 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?

small: Update styling for filters based on internal feedback

## Demo
<img width="286" height="307" alt="Screenshot 2026-02-11 at 8 52 18 AM"
src="https://github.com/user-attachments/assets/fb7b6b01-a1c3-47be-b979-2dd774f535ca"
/>



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

* **Style**
* Simplified FilterBar item layout: operator symbol now appears inline
after labels and the right-side check indicator has been removed.
  * Filter headers use bolder text weight for improved hierarchy.
* Operator badges use a lighter foreground color for better visual
contrast and consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 10:33:55 -07:00
Ali Waseem 29c158490f chore: Update filters in the new experience to use grouping (#42661)
## 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?

- Filters are now grouped so it easier to navigate
- Cleaned up types
- Cleaned up default command line component, it was a bit messy with all
the new changes
- Added unit tests on new util method

## Demo


https://github.com/user-attachments/assets/1e75ebcc-177d-4fed-b316-a9824c74b01a



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

* **New Features**
* Operators are grouped (comparison, pattern, set-null) with labeled
sections and preselected operator highlighting.
* New command-list UI: selectable items with optional icons, operator
symbol badges, group headers/separators, and an empty-state message.

* **Refactor**
* Internal operator definitions reworked for stronger typing and
consistent grouping.

* **Tests**
  * Added coverage for grouping behavior and menu item ordering.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 08:18:02 -07:00
Saxon FletcherandJoshen Lim b9a09d8612 Connect sheet content structure (#42373)
This is part two of a [PR
breakdown](https://github.com/supabase/supabase/pull/42276) that
introduces our connect schema and how content is retrieved. This focuses
on the Framework tab to start.

Fields are generated and content is rendered using a connect.schema
file. This schema file defines modes, fields and steps. Each mode has a
set of fields. Each field can be dependent on another field. The steps
generated are then based off the values of the modes and fields. Each
step can also render varying content dynamically using a template
{{framework}}/{{frameworkVariant}}/{{library}} which just replaces those
values with what's in state (fields selected).

[Part one needs to be merged
first.](https://github.com/supabase/supabase/pull/42367)

The next stage will add back all other tabs and content.

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

* **New Features**
* New Connect Sheet UI to guide app-to-project connections with dynamic
configuration and copyable connection parameters.
* Multi-framework & mobile support with ready-to-use code examples,
install commands, and step-by-step setup for 20+ frameworks.
* Multiple PostgreSQL connection methods (direct, transaction, session)
with safe/masked connection previews.
  * Copy-prompt that aggregates step content and code for easy sharing.
* **UI**
* Multi-file code viewer with tabbed code blocks and added syntax
support (Swift, TOML, HTML).
* **Tests**
  * Comprehensive unit tests for resolver and state logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-11 13:32:45 +08:00
Ali Waseem cc7eab9dcf feat: updated highlight status when using the new filter bar (#42623)
## 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?

The experience is now based on the keyboard
- Selecting a filter can be done by pressing left or backspace on the
keyboard
- Pressing enter allows you to select and edit that filter
- Pressing backspace again on a filters value deletes it 
- Left or right arrows does selection, enter to edit

## Demo
 

![filters_new_keyboard](https://github.com/user-attachments/assets/3bc6f348-5a03-448f-93b8-a48ac3068c52)


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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Filter conditions now display visual highlighting with a distinct ring
outline when navigated via keyboard
* Enhanced keyboard navigation behavior for more intuitive filter
management
  * Filter condition highlights can be cleared using the Escape key
* Improved navigation flow when moving through filter groups and
conditions

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 08:48:07 -07:00
Matt RossmanandDanny White a5dd0a9671 feat(mcp): Gemini CLI extension instructions (#42622)
### Changes

- Adds instructions to install the [Supabase gemini
extension](https://github.com/supabase-community/gemini-extension) in
our MCP URL builder in docs / studio

Note this is only shown when "Hosted" platform selected since the
published extension [only bundles the hosted MCP
server](https://github.com/supabase-community/gemini-extension/blob/main/gemini-extension.json#L8).

### To verify

- Visit
https://docs-git-mattrossman-ai-341-gemini-cli-extension-docs-supabase.vercel.app/docs/guides/getting-started/mcp
and select Gemini client

<img width="1944" height="1524" alt="CleanShot 2026-02-09 at 15 31
47@2x"
src="https://github.com/user-attachments/assets/0e3cb54d-61f6-4857-b7f9-8e8d19b92158"
/>



Closes AI-341

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

* **New Features**
* MCP client installation instructions now adapt to deployment:
platform-specific guided setup with external links or simplified local
instructions.
* **Style**
  * Deep-link styling updated for clearer branded link appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-02-10 09:42:42 -05:00
Ali Waseem 6fe4d0cc14 fix: remove space handler as its no longer needed (#42620)
## 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?

Bug fix: unwanted space handler causing issues when typing multiple
words.

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

## Summary by CodeRabbit

* **Bug Fixes**
* Updated keyboard navigation behavior in the FilterBar. The Space key
no longer triggers focus movement when used in certain input contexts,
allowing for more intuitive default keyboard behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 07:25:39 -07:00
Danny WhiteandJoshen Lim ee484c8517 chore(studio): restore feedback gating (#42548)
## What kind of change does this PR introduce?

UI improvement for self-debugging efforts.

## What is the current behavior?

https://github.com/supabase/supabase/pull/40937 removed our gating on
the feedback form (plus some related affordances) in an effort to
concentrate support entry into the Help dropdown instead:

| Before | After |
| --- | --- |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/c7dacf40-5ae8-401c-a167-5e56c4c0635d"
/> | _Not applicable. This step is skipped in the new version._ |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/9bd2489d-7e87-49e5-99af-13eb5f387f60"
/> | <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/fa499a40-6d70-4674-9eb6-c7bd96019b27"
/> |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/e253381b-e8ba-476c-bd36-9dd522209498"
/> | <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/b5cf614b-329c-4517-90e9-c4d1b49bd139"
/> |

Despite putting other measures in place such as client-side form
detection, the result is that people are increasingly writing in to
support via the Feedback form.

## What is the new behavior?

- Restores the gating
- But also reuses the same self-debugging help options from the Help
dropdown

Other:

- Renames `HelpPopover` to `HelpDropdown` to match others
- Adjusts font size of `CommandMenu` _Search..._

| Before | After |
| --- | --- |
| <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/12e3be32-743d-488a-a13d-bf400fd0fd8d"
/> | <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/bb064ef1-a771-416d-9b5b-dbdd774efed3"
/> |
| _Not applicable. This step is skipped in the old version._ | <img
width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/3bc0b1c2-7003-4973-8e9c-2c7ee93fb0b4"
/> |
| <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/0bb18df4-d093-4440-8379-680f6c5e3cf9"
/> | <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/1ef801d3-9cd7-4005-9082-8d229b7cdd19"
/> |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/e253381b-e8ba-476c-bd36-9dd522209498"
/> | <img width="1024" height="794" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/b80de142-2199-420f-9018-8622b6d24312"
/> |

## To test

To test the “thanks” end state, add something like the following to
`feedback-send.ts`:

```ts
 if (MOCK_FEEDBACK_SUCCESS) {
    return {} as Awaited<ReturnType<typeof sendFeedback>>
  }
```

Where `MOCK_FEEDBACK_SUCCESS` is `true`.

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

## Release Notes

* **New Features**
* Introduced multi-stage feedback dropdown with Issue and Idea selection
paths.
* Added AI assistant integration in help menu for quick support access.
* Enhanced help dropdown with expanded options: documentation,
troubleshooting, Discord community, system status, and support links.
* Added Community Support section featuring Discord community promotion.

* **Style**
* Refined command menu placeholder text sizing for improved visual
hierarchy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-10 09:48:54 +11:00
Jordi Enric ad5442153a fix: update chart position (#42503)
- updates chart tooltip position

BEFORE
<img width="486" height="392" alt="CleanShot 2026-02-05 at 13 47 52@2x"
src="https://github.com/user-attachments/assets/d1b77b6a-7e35-494c-9097-d900183a5c83"
/>
AFTER
<img width="704" height="486" alt="CleanShot 2026-02-05 at 13 48 27@2x"
src="https://github.com/user-attachments/assets/fbe71474-16ca-4dd3-8b03-8fa3289e3805"
/>


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

## Summary by CodeRabbit

* **Bug Fixes**
* Adjusted the positioning of chart tooltips in the logs visualization
for improved visibility and user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-05 13:43:38 +00:00
Ivan Vasilov 1cd1ebfc7f chire: Sort imports in all packages, cms, design-system and ui-library apps (#41610)
Sorted all imports in all packages, `cms`, `design-system` and
`ui-library` apps by running `pnpm format` on them.

All changes in this PR are done by the script.
2026-02-05 13:54:10 +01:00
Ali Waseem 48d894243f fix: update loading state for filter bars (#42457)
## 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 loading state for filter bars when using the new experience

## Demo


https://github.com/user-attachments/assets/a243a6b2-2060-47b3-9c6c-6e9f7ceb1eb7


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

* **New Features**
* Added a loading indicator in the filter UI that displays a spinning
icon when data is being refetched.
* Header now surfaces refetching state to the filter controls so the
loading indicator appears during refreshes.
* Filter bar supports a customizable icon prop to enable the new loading
overlay behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 14:20:53 -07:00
Ali Waseem e1f37312d2 fix: Keyboard interactions with the new filter experience in the table editor (#42431)
## 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?

Fix: 
- Better keyboard support for cycling through filters
- Better deletion for dropdowns 
- Tabbing and enter support for selection
- small bug fixes

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
  * Added AI-assisted help text in filter input placeholders
* Enhanced keyboard navigation: Backspace removes conditions, Tab/Enter
navigate filter controls, Escape blurs focused elements
* Operator selections now display labels alongside symbols (e.g.,
"Equals (=)")
  * Improved filter workflow with smarter input focus transitions

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 09:51:39 -07:00
Jordi Enric f237b7bf2e refactor new homepage usage (#42394)
- uses old data source for charts
- uses new chart styles
- adapts the chart tooltip to be configurable
- removes animations from tooltip to prevent weird position transitions
- hides tooltip when there's no data

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

* **Improvements**
* Project usage now shows log-based statistics and filled time-series
for request trends.
* UI simplified to display total requests per service; error/warning
counts removed from main view.
  * Functions service removed from usage list.
* Chart tooltips hide zero-value series when enabled and support
configurable series labeling.
* **Chores**
  * Telemetry adjusted to make error count optional when not available.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 09:43:01 +01:00
Saxon FletcherandJoshen Lim 0e60c5f341 Chore/connect sheet/button (#42367)
This is the first smaller PR in the broader change of updating our
Connect dialog (see
[here](https://github.com/supabase/supabase/pull/42276)).

This PR focuses on decoupling the ConnectButton our of the Connect
dialog and into its own component . The button includes a flag to render
the new sheet. The new sheet is empty for the time being as the flag is
at 0%.

To test:
- Enable flag and click button, see new Sheet
- Disable and see old dialog
- Create a new project -> in getting started section see "connect to
app" step -> Click connect button and make sure it works


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

* **New Features**
  - Added a Connect button component and an alternative Connect sheet.
  - Added curl syntax highlighting for code blocks.

* **Changes**
- Connection dialog moved to a controlled open-state pattern; Connect
replaced legacy entry points across the UI and can be feature-flagged.
- Connection actions simplified and no longer depend on framework
selection.

* **Removals**
- Removed legacy framework selector, default framework constant, and
related tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-04 11:53:32 +11:00
Francesco Sansalvadore 6e2842dc86 chore(ui-patterns): reset command menu after selection (#42389) 2026-02-02 21:56:35 +01:00
f17f049e5e feat(log drains): add s3 form FE-2101 (#41031)
- adds s3 log drain form
- fixes issue tabbing over inputs


to test you can create an s3 bucket in a aws account, create some
credentials and try it, however I've tested it already and the logs
reach S3 just fine.

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

## Summary by CodeRabbit

* **New Features**
* Added Amazon S3 as a new log drain destination with configuration for
bucket, region, access credentials, and batch timeout settings.

* **Documentation**
* Updated guide documentation to include the new S3 destination
alongside existing options and standardized Datadog terminology.

* **Improvements**
* Simplified error message rendering in form layouts for improved
performance.

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

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-02 09:34:23 +01:00
Alaister Young 53d345d1f8 [FE-2371] chore(studio): swap useMemo for useLayoutEffect in useRegisterPage (#42308)
This is largely to avoid setting state inside a `useMemo()`.

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

## Summary by CodeRabbit

* **Refactor**
* Optimized CommandMenu page registration timing and dependency handling
to improve synchronization with DOM updates.

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-31 16:44:54 +08:00
Matt Rossman 0ef949849d docs(mcp): installation instructions for Kiro IDE (#42121)
- Adds Kiro to the list of MCP Clients in [MCP
docs](https://supabase.com/docs/guides/getting-started/mcp) / studio
Connect dialog with deep links to install the Supabase
[powers](https://kiro.dev/powers/)
- Makes description above deep link configurable via
`deepLinkDescription` (so Kiro's text can clarify that this installs the
power)
- Adds options to `generateDeepLink` so deep link can be different for
local/hosted platforms (so we can provide different deep links for the
local/hosted Kiro powers)

See MCP docs in preview:

https://docs-git-mattrossman-ai-301-kiro-installation-docs-supabase.vercel.app/docs/guides/getting-started/mcp

<img width="1756" height="1096" alt="CleanShot 2026-01-23 at 17 03
43@2x"
src="https://github.com/user-attachments/assets/dedc156d-6b86-4238-aa32-f7fda414d069"
/>


Resolves
[AI-301](https://linear.app/supabase/issue/AI-301/kiro-installation-docs)

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added support for Kiro MCP client with platform-aware configuration
handling
* Enhanced MCP configuration display to show platform-specific deep link
descriptions
  * Improved config file rendering with better visual presentation

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-30 19:17:31 -05:00
Jordi Enric 168c084f4e feat(o11y): overview page (#42098)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Observability Dashboard: unified overview for service health and
database infrastructure with interactive charts and metric cards (CPU,
memory, disk I/O, connections, error rate, slow queries).
* Service Health Monitoring: per-service health cards and a
multi-service table with error/warning counts and drill-down links to
reports/logs.
* Interval Selector: new chart-interval dropdown with plan-aware
retention messaging.
* Menu & Reports: updated Observability menu with Overview entry and
Custom Reports management.
* **Documentation**
  * Added a footer link to troubleshooting guides.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-30 14:00:01 +00:00
Joshen Lim 2ce307130a Update API types and properly render replication lag in replica detail page (#42191)
* Update API types and properly render replication lag in replica detail page

* Forgot to add the api types
2026-01-28 15:34:01 +08:00
Ivan Vasilov 036740b5b5 chore: Bump vulnerable deps (#42182)
* Bump @modelcontextprotocol/sdk.

* Bump qs.

* Bump preact.

* Bump react-router.

* Bump @smithy/config-resolver.

* Bump undici.

* Bump devalue.

* Bump h3.

* Bump tar.

* Bump diff.

* Bump lodash.

* Dedupe @aws-sdk/credential-providers.
2026-01-27 10:29:05 +01: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
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
Danny White 6837e1b9f4 chore(design-system): align PageSectionAside to bottom of text content (#41629)
* docs fixes

* optical alignment

* fix container query
2026-01-20 18:00:35 +11:00
Joshen Lim c6b2fe6fee Popover ui component to use portal by default, remove all manual declaration of portal for PopoverContent in dashboard (#41818)
* Popover ui component to use portal by default, remove all manual declaration of portal for PopoverContent in dashboard

* Forgot to add ui changes lol

* Clean uop
2026-01-20 11:58:31 +08:00
Joshen LimandAlaister Young 3b7bba9a9a Add read replicas details page from database replication (#41784)
* Add read replicas details page from database replication

* Clean

* Address 🐰

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2026-01-19 13:44:41 +08:00
Prashant Sridharan 94bee5edeb Minor tweaks to the Convex compete page (#41913)
* Minor tweaks to the Convex compete page

* ci: Autofix updates from GitHub workflow
2026-01-15 10:30:19 +07:00
Ali Waseem 56eb4f01a6 feat: add OpenCode support to MCP clients (#41825)
* feat: add OpenCode support to MCP clients

- Add OpenCodeMcpConfig interface and type guard
- Add OpenCode to MCP_CLIENTS array with remote config
- Include OAuth authentication instructions
- Add OpenCode icons with correct naming convention
- Fix duplicate JSON config display by removing primaryInstructions

Resolves FE-2350

* added missing images
2026-01-12 18:26:52 -07:00
kemal.earth 6c6d74fa21 fix(studio): modify area chart colours (#41496)
* fix: modify area chart colours

* feat: tones for dark and light

* chore: cleaning up

* chore: remove weird ai added debug fetches

* fix: suggestion from coderabbit

* chore: clean up

* feat: change from natural to bump on line charts

* fix: much better colour offset

* chore: remove comments

* feat: better dot implementation

* chore: remove unused props

* chore: remove pointless try catch
2026-01-08 10:06:51 +00:00
Francesco Sansalvadore 5bef19528b feat(studio): command search entities (#41554) 2026-01-08 14:13:36 +07:00
Charis 84be985a5b fix(ui-patterns): multiselect click behavior (#41726)
* fix(ui-patterns): multiselect click behavior

Multiselect clears only when it opens.

* fix(ui-patterns): multiselect placement

Multiselect placement needs to account for the remaining space so it
doesn't get cut off by the window edges.

* fixup! fix(ui-patterns): multiselect click behavior
2026-01-07 10:41:05 -05:00
Saxon Fletcher d2f4e808e5 Filter pattern refactor (#41545)
* filter refactor

* update tests

* prettier

* fix ts

* remove filter preview

* Filter bar in table editor behind flag (#41546)

filter bar in table editor behind flag

* fixes

* ts fix

* filter v1 refactor

* rename helpers

* unmount timeout

* fixes

* fix

* more
2026-01-06 08:04:28 +10:00
Francesco Sansalvadore 5213e681b4 feat(studio): add "create" command menu commands (#41473) 2025-12-29 09:18:06 +01:00
Sean Oliver de8e9f6b1b Fix first-touch referrer for initial $pageview (#41447) 2025-12-19 10:42:16 -08:00
Prashant Sridharan f42e46ac56 Added new case studies and a blog post (#41446)
* Waiting for new case sutides to be approved

* WIP case studies

* Added Koodos

* Added avatars

* Added mcp-use blog post

* two new case studies signed off, one new blog post

* ci: Autofix updates from GitHub workflow

* Fixed stats and added eXp Realty

* Cleaned up formatting
2025-12-17 19:52:58 +00:00
Pedro RodriguesandClaude Opus 4.5 46960b57f1 docs: Add version requirement note for Windsurf MCP client (#41426)
* docs: Add version requirement note for Windsurf MCP client

Add a warning note to the Windsurf MCP configuration page advising users
to use version 0.1.37 or higher. This version includes the fix for
Protected Resource Metadata Discovery (RFC 9728) in mcp-remote, which is
required for MCP authorization compliance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

* minor fixes

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 14:57:41 +00:00
Ivan Vasilov cc47bcfa6d chore: Migrate studio to use ui-patterns/shimmeringLoader (#41405)
* Add shimmering-loader CSS to ui-patterns.

* Import the shimmering-loader classes from the ui-patterns component.

* Remove ShimmeringLoader from studio.

* Migrate studio to use ui-patterns/ShimmeringLoader.

* Migrate away from using default import for ShimmeringLoader.

* Fix the css imports in docs and studio.
2025-12-17 14:54:07 +01:00
Pedro RodriguesandChris Chinchilla b401bc4d6d feat: Add Gemini CLI client configuration support (#40613)
* add codex and minor fixes

* sort clients by popularity

* fix rebase

* add codex and minor fixes

* add onCopy handle to other mcp clients

* update configs for different clients

* add codex and minor fixes

* sort clients by popularity

* feat: add Gemini CLI client configuration

- Add GeminiMcpConfig type
- Add Gemini CLI client to MCP_CLIENTS array
- Support both direct CLI installation and extension installation methods
- Include authentication instructions via /mcp auth supabase
- Link to Gemini CLI MCP server documentation

* add gemini logos

* add onCopy handle

* fix httpUrl

* fix format

* fix auth command

* add v0.20.2 disclaimer

* Update packages/ui-patterns/src/McpUrlBuilder/constants.tsx

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

* add gemini logo to studio and minor fixes

* nit: add comment to gemini config

---------

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2025-12-16 12:26:30 +00:00
3fdacb2cca chore(studio): delete Confirm Modal component (#41295)
* docs

* naming

* docs

* mini fix

* update policies component

* use destructured prop

* rls policies dialogs

* custom domain dialogs

* restart server dialog

* remove ConfirmDialog (aka ConfirmModal)

* remove unrelated changes

* delete unrelated file

* language

* Update apps/studio/components/interfaces/Storage/StoragePolicies/StoragePolicies.tsx

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

* fixed broken test

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-12-12 17:23:24 +08:00
Charis c0c824809e feat(studio): add infinite pagination for buckets policies (#41277)
## Summary of changes

Buckets policies page at /project/_/storage/files/policies now uses the
paginated buckets endpoint to fetch buckets.

## Before

Used a non-paginated query.

## After

To support a paginated query, we now have:
- Infinite scroll loading behavior
- Fixed some of the buckets utilities to account for policy references
to buckets that haven't loaded yet
2025-12-11 15:45:16 -05:00
Francesco Sansalvadore 40af66c39d chore: db settings form pattern (#41263)
* chore(studio): update connection pooling form layout
* chore(studio): ssl config form pattern
* chore(studio): database settings form styling
* chore(ui): add contrast to PrePostTab text
2025-12-11 17:21:30 +00:00
Francesco Sansalvadore 754af51312 chore: form patterns cursor rules (#41225)
* chore(studio): integrate cursor rules with form patterns
* chore(studio): update FormLayout inner styling
* chore(studio): align actions form field to the right
* chore(design-system): wrap each form field in a CardContent
2025-12-11 18:03:30 +01:00
kemal.earth ec6f55c00b feat(design-system): charts defrag (#41026)
* feat: remove unused chart files

* chore: regenerate registry

* fix: logs bar chart positioning

* feat: add charts page to ui patterns

* chore: alphabetise ui patterns nav

* feat: base composable chart components

* chore: prettier for charts.mdx

* chore: slowly putting example together

* feat: add chart header components

* feat: add chart content wrapper

* feat: add recharts to source

* feat: add empty state handling

* feat: add loading state for content area as well

* feat: starting on actual recharts pieces

* feat: add basic api to documentation

* feat: add disabled state too

* feat: couple of basic chart types

* chore: tidy up for now

* feat: modify eslint rules for our demo files

* fix: recharts logo colour on light mode

* feat: absorb metric card into chart

* feat: align prop for chart header

* feat: refactor chart content

* feat: example with table

* chore: format for prettier

* fix: pkg lock merge conflict

* fix: small bits from danny

* feat: add link in ui pattern intro to charts

* chore: remove charts link from atoms

* chore: update metric padding to saxon suggestion

* feat: table footer overrides by default

* feat: update api props in table

* chore: formating
2025-12-10 13:10:18 +00:00
Danny WhiteandJoshen Lim 11dc1324aa chore(studio): improve alert composition and usage (#41147)
* finesse optical alignment

* improvements

* actions styling

* improvements

* margins

* improvements

* fix docs

* fix

* improve schema warning admonition

* misc fixes

* tweaks

* docs and improvements

* alphabetical sidebar navigation

* remove alert-error

* fix build error

* Tiny fixes

* tiny docs update

* semantic description

* handle intro pages

* note NoPermission component

* docs sidebar ordering

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-10 08:05:30 +00:00
Charis 9225eebccb feat(studio): use bucket pagination for api docs (#41090)
* feat(studio): use bucket pagination for api docs

API docs V2 updated to use pagination for fetchign storage buckets.

Also some refactoring to split up large components for docs V2
interfaces.

* fix(studio): use bucket endpoint for getting single bucket
2025-12-09 13:17:59 -05:00
8e705ecdbc fix(export all rows): use cursor pagination if possible (#40536)
Exporting all rows (in CSV, SQL, or JSON format) currently uses offset pagination, which can cause performance problems if the table is large. There is also a correctness problem if the table is being actively updated as the export happens, because the relative row offsets could shift between queries.

Now that composite filters are available in postgres-meta, we can change to using cursor pagination on the primary key (or any non-null unique keys) wherever possible. Where this is not possible, the user will be shown a confirmation dialog explaining the possible performance impact.

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-08 13:39:10 -05:00
Danny White 0399beba0e chore(studio): use Admonition and deprecate AlertError (#41095)
* use admonition and deprecate

* spot fix

* remove mb on admonition itself

* smart layout handling based on actions count

* fixes

* remove class

* fixes

* remove mb-0 instances

* remove redundant m-0

* remove single-use component

* use props

* reset leading

* remove redundant clause
2025-12-08 12:15:18 +11:00
Joshen LimandAli Waseem e61d0e69cd Reinstate copy action for TextConfirmModal for staff only (#41042)
* Reinstate copy action for TextConfirmModal for staff only

* Clean

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-12-05 14:52:35 +00:00