Commit Graph
3343 Commits
Author SHA1 Message Date
Charis 13c4b1584c fix,perf(policies search) (#39790)
* fix(policies search): replace useUrlState with nuqs

There is a bug when typing quickly into the search field on the policies
page: because useUrlState naively uses router.replace, which is
asynchronous, the search term can get corrupted, e.g., searching for
"dummy" might end up with a final value of "dum". Switched to nuqs for
better handling.

* perf(policies page): memoize and optimize for projects with many tables

A project with hundreds of tables will have extremely slow search
performance for the policies page, because of heavy rerendering. Made
some optimizations:
- Memoized to reduce rerendering
- Hid filtered-out tables instead of unmounting, so we don't have to
remount when the search is cleared

* refactor(policies page): pass policies info through context

Avoid having a mess of props by creating a PoliciesDataContext to share
policy information.

* cleanup(policies pages): minor code cleanup, no user-facing changes
2025-10-22 20:57:11 +00:00
Jordi Enric 8358d85d73 capitalize overview in sidebar (#39780)
capitalize overview
2025-10-22 18:11:43 +02:00
Jordi Enric a37ae0a3dc swap error rate for success rate and add tests (#39774)
* swap error rate for success rate and add tests

* rm comment

* format delta
2025-10-22 17:15:15 +02:00
Jordi EnricandAli Waseem aa30698cc2 feat: new getting started section to open correct presets in Connect dialog DESIGN-302 (#39731)
* fix framework dropdown opening and scrolling page up

* fix tab opening

* add infertab util

* add some tests

* update getting started section

* fix rounded

* smol explainer

* Update apps/studio/components/interfaces/Connect/Connect.tsx

Co-authored-by: Ali Waseem <waseema393@gmail.com>

* simplify confiitonal

* moar tests

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-10-22 17:14:36 +02:00
Kevin Grüneberg abcc8a8ee9 fix: clear additional cache keys on project deletion (#39767) 2025-10-22 23:06:51 +08:00
CharisandJoshen Lim d8f7cc0d57 feat(support form): attach dashboard logs (#39539)
* o11y: mirror and sanitize breadcrumbs

Mirror Sentry breadcrumbs as the basis for our own support logging. Also
adds more sanitization to breadcrumbs.

* feat(support form): toggle for attaching dashboard  logs

Add a toggle to the support form when the category is "Dashboard bug",
to attach recent dashboard logs. Users can preview the attached logs and
opt out.

* feat(support links): dedicated support link component

Add a new component for support links, which:
- Uses the serializer for support link params to ensure
serialization/deserialization pairs correctly
- Snapshots breadcrumbs so the attached log on the support form will be
cut off at the support link click (otherwise we will get support form
actions cluttering up the log)

* tests(support form): extend timeout on flaky test

* Minor clean up

* fix(support form): allow url to specifically indicate no specified project

* minor nits

* Fix tests

* Fix tests

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-22 08:57:49 -04:00
Filipe Cabaço 1418fc9af6 realtime: add more settings to Realtime (#39566)
* Enable / Disable Realtime for tenant
* Set max payload size in kb
* Set max presence events per second
2025-10-22 12:43:15 +01:00
Joshen Lim e53839ad54 Improve messaging in policy table rows (#39755) 2025-10-22 19:05:22 +08:00
Timothy Lim 2da52a0f84 chore: Clarify Custom SMTP minimum interval (#39761)
* chore: Clarify Custom SMTP minimum interval

* Prettier fix
2025-10-22 10:43:39 +00:00
Alaister Young cf315681f4 chore: add cloudflare cdn to default src csp (#39765)
chore: add cloudflare cdn to csp
2025-10-22 09:20:24 +00:00
Joshen Lim 1f07439ab5 Chore/table editor stay on schema after creating table (#39758)
* Stay on schema after creating a new table if schema is not public

* Small improvement to tab closing behaviour if tab is in focused
2025-10-22 17:16:39 +08:00
Joshen Lim 52aac9dfa6 Consolidate enabled flag checks to use isOptedIntoProjectLevelPermissions for useProjectsQuery (#39762) 2025-10-22 17:05:18 +08:00
Alaister Young 9af17e8d0b fix: use dedicated nimbus env var (#39763) 2025-10-22 08:41:44 +00:00
Joshen Lim bf45063e69 Use upgrade plan button in FreeProjectLimitWarning (#39715) 2025-10-22 15:08:11 +08:00
CharisandJoshen Lim 9c4919948a fix(policy editor): reduce number of table role access queries (#39601)
* fix(policy editor): reduce number of table role access queries

On the Policies page, every single PolicyTableRow fires off its own
table roles access query (because each query is keyed to an individual
table). For users with many tables (400+), this causes the API to
rate-limit the dashboard.

Changed so that the table roles access query now fetches information for
the entire schema in one go, then organizes it by table.

* Nit refactors

* refactor: return minimal data from table access query

All we need to know is whether a given table has anon or authenticated
access, so just query for the list of tables that match that criteria
from information_schema.role_table_grants.

* refactor(policies page): more efficient sql query for getting anon/auth access tables

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-22 14:39:42 +08:00
9edc74f1b7 Swap project query to fix team role picker (#39720)
* Swap project query to fix team role picker

* Cleanup

* Fetch the projects in all cases, instead of only when there's no scoped roles.

* Make the projects fetch only when the panel is visible.

* Nit

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-22 13:13:11 +08:00
CharisandAli Waseem 2cdbc381df cleanup(region selector): remove code from selected region (#39730)
* cleanup(region selector): remove code from selected region

Selector looks a bit busy and you probably know the code if you've
already selected it, so removing it from the dropdown as suggested in a
previous PR.

* refactor(region selector): clean up unnecessary type checks

Co-authored-by: Ali Waseem <waseema393@gmail.com>

* ci: Autofix updates from GitHub workflow

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-10-21 17:32:21 -04:00
Charis a73c4cf4bb docs(readme): fix dev instructions for internal/external (#39728) 2025-10-21 15:47:55 -04:00
Stojan Dimitrovski 153987462c feat: reduce profile information requests, faster page renders (#39729) 2025-10-21 20:23:53 +02:00
Ali Waseem 0c8b200ac0 Updated docs to use pnpm for studio (#39727)
updated docs to use pnpm
2025-10-21 11:59:54 -04:00
CharisandJoshen Lim 91645ade09 feat(region selector): get region status by desired size (#39631)
* feat(region selector): get region status by desired size

The available-regions endpoint now takes a desired_instance_size query
parameter to return more accurate status data.

* Align call of useOrganizationAvailableRegionsQuery in [slug] with RegionSelector, and rearrange some consts

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-21 11:08:57 -04:00
Filipe Cabaço 541b6fc4f5 fix: improve realtime inspector (#39626)
* Add better error descriptions when the channel fails to join
* If there are no publications, database changes will be disabled and untoggled to prevent errors
2025-10-21 14:56:49 +01:00
Stojan Dimitrovski 401d6fe892 feat: add navigator lock debugging to track down some rare issue (#39688)
* feat: add navigator lock debugging to track down some rare issue

* send exception to sentry
2025-10-21 11:40:33 +02:00
Han Qiao bda94ac187 fix: use separate query clause for self hosted (#39711) 2025-10-21 09:16:10 +00:00
Han Qiao 3c9d46ffde fix: cron logs query to handle type cast (#39704) 2025-10-21 16:45:59 +08:00
Joshen Lim be9ba28be0 Silence text model error in diff editor (#39703) 2025-10-21 16:43:53 +08:00
Joshen Lim 02a232d1f4 Chore/simplified support form (#39554)
* Simplified support form

* Nit
2025-10-21 13:28:46 +08:00
Danny WhiteandJoshen Lim c1681cfcc2 chore(studio): add feature preview for auth security template UI (#39661)
* feature preview logic

* sidebar changes based on feature preview

* singular naming

* minor

* Flip isPlatformOnly for new preview

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-21 15:18:56 +11:00
CharisandJoshen Lim bd2ee0de8a fix: add time zone to commit time and add to support message (#39629)
* fix: add time zone to commit time and add to support message

The time zone isn't getting logged on the commit times, which makes it
confusing what the actual time is. Also added it to the support message
alongside the version number, to help quickly rule out outdated version
issues.

* Nit unrelated update auth users sort dropdown copy

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-20 15:37:23 -04:00
Matt RossmanandGreg Richardson 9f5620c7cd feat: self-hosted MCP debugging tools (#39366)
* feat: stub `getDebuggingOperations`

* fix: logflare variables in `generateLocalEnv.js`

* chore: upgrade `supabase`, `@supabase/mcp-server-supabase`

* feat: shared `retrieveAnalyticsData`, implement `getLogs` for MCP

* feat: shared `getLints`, implement MCP security/performance advisors with filter

* chore: update lockfile

* fix: prefer `??`

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>

* docs: comment origin of `LINT_SQL`

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>

* chore: bump `supabase` devDependency for latest images

Changes rely on fix from loglare v1.23.0

* fix: edge function logs query

Based on https://github.com/supabase/supabase/pull/39388/files#diff-b4e9726d34a406fa1a6133a18bdb972c90be9df0c89598de0695592514e22941R199-R206

---------

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
2025-10-20 13:11:15 -04:00
Jordi Enric 5c5371d41b fix db connections free (#39624)
fix
2025-10-20 17:08:19 +02:00
Charis f3a6973db4 fix: increase retry delay for throttled api requests (#39634)
Increasing this because of reports that CSV uploads are hitting 429s. (I
checked and there are no Retry-After headers, so we should be falling
back to the default exponential backoff.)

Also brings the implementation in line with the comment :P Before, the
comment claimed we were starting at 1s but we were starting at 500ms.
2025-10-20 09:27:18 -04:00
Han Qiao 03af3b931d fix: allow merge request with stale PR to be closed (#39670)
* fix: allow merge request with stale PR to be closed

* chore: comment on review requested field
2025-10-20 12:31:45 +00:00
Joshen Lim 0ea4f24bb5 Chore/persist auth users search configuration (#39649)
* Perist auth users search configuration

* nit

* Clean up

* Swap more params to use URL state

* Clean up
2025-10-20 12:52:51 +08:00
Joshen Lim 127aa08870 Nit tidy up hotkey settings (#39628) 2025-10-17 23:46:04 +08:00
Joshen Lim a880031cc0 Fix project card instance size missing (#39616)
* Fix project card instance size missing

* Fix types
2025-10-17 23:39:33 +08:00
Jordi Enric 5df4e2e442 FE-1955 fix query perf links (#39622)
fix
2025-10-17 16:15:15 +02:00
CharisandJoshen Lim 3eb7da7766 feat(preferences): allow disable hotkeys (#39573)
* feat(preferences): allow disable hotkeys

Add a section in /account/me for disabling hotkeys. Only added one
hotkey for now (Cmd + E for toggling editor side panel) but we can add
more with the same pattern.

* refactor: remove default export on ProjectLayout

* feat(hotkeys): allow toggling of command menu and ai assistant hotkeys

* Nit

* PRettier lint

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 08:09:38 -04:00
Francesco Sansalvadore c6d7092946 remove connection string badge in dropdown (#39617) 2025-10-17 13:17:51 +02:00
Ignacio Dobronich d57279dde6 feat: entitlements (#39338)
* feat: entitlements

* Sample usage

* format

* Reworked

* format

* gen

* removed

* removed
2025-10-17 11:51:06 +02:00
CharisandJoshen Lim 59fc28adc5 fix(users search): add explanation for 'all columns' search (#39599)
* fix(users search): add explanation for 'all columns' search

* Tiny

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 17:07:28 +08:00
Alaister Young 1174981650 [FE-1938] feat: show region capacity issues (#39611)
feat: show region capacity issues
2025-10-17 16:48:17 +08:00
Francesco SansalvadoreandJoshen Lim 5988f4ad47 change connection string via dropdown (#39354)
* change connection string via dropdown
* rearrange descriptive content and actions in connection string tab
* update connection string url state based on selected type and method
* reset query states when switching tabs
* fix steps layout in Connection String dialog tab
* rounded-lg on mobile
* update wording of step 3 on connection string tab
* improve map key naming

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 10:39:22 +02:00
Ivan VasilovandCharis 0eec4e2247 feat: Redirect the user after claiming a project (#39527)
* Use the url in the response to redirect the user.

* Fix a title warning.

* Update apps/studio/pages/claim-project.tsx

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

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-17 09:23:30 +02:00
Alaister YoungandJoshen Lim 947d3b2a73 fix: plan upgrade url for org usage pages (#39608)
* fix: plan upgrade url for org usage pages

* nit fix

* fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 14:41:54 +08:00
Han Qiao 6a416ab89f fix: update github app name for nimbus (#39606) 2025-10-17 11:35:41 +08:00
Saxon FletcherandCharis 7e6796125c AI model selection (#39472)
* expose model and model selection

* tooltip

* simplify

* Update ai-assistant-state.tsx

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

* Update ModelSelector.tsx

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-17 11:17:43 +10:00
Danny WhiteandJoshen Lim 44f0eff125 studio(chore): improve analytics bucket page (#39545)
* specialized dialog for analytics (and vector) bucket creation

* handle missing wrapper extension and iceberg wrapper integration

* bucket creation improvements

* extension and integration checks

* dialog header consistency

* simplify bucket dialog creation button trigger

* fix subtitle ternary

* example bucket without dynamic route

* create dynamic segment

* fancy connection table

* improve bucket page

* connection table polish

* polish

* delete bucket modal

* improve missing installations design

* new table modal

* fix copy icon

* copy all env button placeholder

* list all analytics buckets

* specialised bucket modal

* shared installer hooks and components

* make iceberg wrapper not dependent on wrapper extension

There are cases where the Iceberg Wrapper can be installed but the Wrapper extension has since been removed

* better admonition copywriting

* todo

* misc

* simplify

* simplifications

* work within existing page

* improvements to existing route

* v2 tables

* simplify

* new table modal

* change route to thin wrapper

* reduce size of PR

* remove double scaffold element

* minor nits

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 11:08:04 +11:00
Charis 869ec0541e feat(cron jobs): manual run tooltip (#39600)
Add a tooltip explaining that manual runs don't show up as cron jobs.
Some users were confused about this.
2025-10-16 16:08:39 -04:00
Fatuma Abdullahi e2bfe3eed2 feat: add toggle password visibility logic and icon (#39404) 2025-10-16 17:11:15 +00:00