Commit Graph
469 Commits
Author SHA1 Message Date
Danny WhiteandJoshen Lim eaf35c14c6 chore(studio): filter policies by bucket name (#40456)
* filter buckets

* Simplify

* General refactors

* Smol

* Add missing empty state for search

* Clean up 😬

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-14 17:47:16 +08:00
Danny WhiteandJoshen Lim 849c29f824 chore(studio): improve Storage UI (#40367)
* clarify breadcrumbs

* tiny badge variant

* improve admonition

* indicate max buckets limit

* nit

* Minor nits

* badge fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-13 20:30:49 +11:00
Joshen Lim 482aeb7333 Default auth users search to email (#40419) 2025-11-13 16:36:59 +08:00
Danny WhiteandJoshen Lim a4928ef049 chore(studio): security notification emails announcements (#40366)
* announcement

* fix link

* Minor clean up

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-12 13:28:42 +11:00
CharisandAlaister Young 8828c4e734 refactor(close confirmation modal): abstract out useConfirmOnClose hook (#40310)
Abstract out a hook, useConfirmOnClose, for the pattern where we show a
confirmation modal on close, conditional on whether the user has made
edits.

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-11-11 13:34:50 -05:00
Ali Waseem edb59e0674 Fix: updated RLS to use messages instead of formatted error (#40356)
updated RLS to use messages instead of formatted error
2025-11-11 13:08:32 -05:00
issuedat ffc43451ed fix(auth): add margin to email templates UI (#40339) 2025-11-11 16:11:30 +01:00
kunalvirmani98andAli Waseem e456054e73 Bug fix for #27475 [Send Magic Link button text change] (#40276)
* magic link button code changes added for #27475

* pnpm run format executed successfully

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-10 14:20:27 -05:00
Jordi Enric be5e8b289e Auth Overview: Refactor to Logflare Endpoint for all metrics (#40042)
* refactor

* fix schema, add validation, add tests, remove old code

* remove debugging tag

* fix imports

* prettier

* fix prettier

* move query to its own file
2025-11-10 11:30:12 +01:00
Danny WhiteandJoshen Lim e900020014 feat(studio): email template configuration (#40069)
* basics

* code editor

* template editor

* validator cleanup

* validator fixes

* style tweaks

* validator

* style improvements

* copy

* related setting

* clearer ternary

* handle path in related setting

* copywriting fixes

* smtp copy cleanup

* fix type

* remove related setting work

* copy nit

* backwards compatability

* fix type error

* copy cleanup

* revert horizontal subject field

* remove extraneous hover

* remove excess padding

* fix whitespace

* document whitespace issue

* simplify spam check

* fix saved value issue

* fix spacing

* Add console logs

* Clean console logs

* Small improvements + clean ups

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-10 19:52:07 +11:00
Danny White 4a4ccc30f5 chore: remove sidebar labels (#39924)
* basics

* draft docs

* remove labels

* restore needed pills

* remove extraneous diff

* vault beta status

* remove audit logs beta

* minor fix

* fix integration status
2025-11-07 10:00:49 +11:00
TheMikeyRossandAli Waseem 2da9e9c965 fix: unable to update null policy (#34813)
Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-06 10:21:40 -08:00
7682bac0f3 Fix: Updated to use optimized search columns when getting user counts (#40107)
* Updated to use optimized search columns when getting user counts

* added unit tests for query builders

* minor

* Nit fix keywords URL param not getting loaded into search input field

* removed user footer

* updated tests for upstream

* updated integration tests

* updated tests to be int for paginated

* updated schema

* updated types

* updated type imports

* updated type imports

* Apply suggestion from @avallete

Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>

* updated literal import

* refactor: use common escaping (#40186)

refactor: use utils for sql escaping

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>
2025-11-06 15:32:34 +08:00
Danny White 5305a7b245 chore(studio): auth email template copywriting improvements (#40163)
* misc typo

* improve copywriting
2025-11-06 08:52:35 +11:00
Saxon Fletcher d66307f98b fix responsive issues (#40029)
* fix responsive issues

* sidebar width
2025-10-31 19:25:41 +10:00
Joshen Lim b4d38fabd0 Chore/barrel files bye part 05 (#40016)
* Clean up barrel files part 4

* nit

* Part 5 of cleaning up barrel files

* Revert changes for types

* Nit
2025-10-31 13:15:31 +08:00
Francesco SansalvadoreandIvan Vasilov bc22be3855 feat: OAuth 2.1 - OAuth apps (#39165)
* oAuth clients index layout

* oAuth apps crud

* is public

* add user count and client secret generation and management

* scaffold oauth server settings

* improve oauth server enablement / disablement

* show cover when oAuth server is disabled

* fix update panel update button

* add site url and authorization path settings values

* move oauth server to it's own nav item

* remove unneeded oauth server settings

* let the user disactivate oauth server even after creating oauth apps

* better delete button

* cleanup

* fix typecheck

* test endpoints

* add EnableOAuth21 feature flag

* update OAUTH_SERVER_ auth config api

* load OAUTH_SERVER_ENABLED in oauth list

* Update the api.d.ts. Remove the custom versions of supa libs.

* Add query for getTemporaryAPIKey.

* Add a hook for initializing a supabase client.

* Add hooks for oAuth Server apps.

* Regenerate pnpm-lock.yaml.

* Revert updates to the platform.d.ts. Not needed for this PR.

* Migrate all code to use the new hooks.

* Try to integrate the mutations and fix some of the sheet and dialogs.

* improve default and saving states

* fix oauth app form validation

* unify components into CreateOrUpdateOAuthAppModal

* create or update oauth app

* Update the OAuth Server page.

* Remove extra files.

* Minor various fixes.

* More fixes to the creation of oauth apps.

* Bump the libs to fix a DELETE oauth app error.

* Clean up the scope feature.

* Move the feature flag in the auth layout.

* Bunch of smaller fixes.

* Regenerate pnpm-lock.

* Revert SidePanel and CardDescription changes.

* Add confirm dialog for regenerating secret.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-10-30 17:07:07 +00:00
Joshen Lim cac225b24a Clean up barrel files part 4 (#40015)
* Clean up barrel files part 4

* nit
2025-10-31 00:30:42 +08:00
Joshen Lim 75e1717a02 Remove barrel files part 02 (#39956)
* Remove barrel files part 02

* Clean up
2025-10-30 23:50:14 +08:00
faf8107d69 feat(auth): add account changes notifications template schemas (#39899)
* feat(auth): add account changes notifications template schemas

* add ability to enable/disable the security templates

* layout tweaks

* misc padding and spacing

* filter out new templates for non-preview users

* Fix premature error state when loading templates page

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-30 18:03:09 +11:00
Joshen Lim 72d50d8ac4 Remove barrel files part 1 (#39955) 2025-10-29 18:07:20 +08:00
Ivan Vasilov da4a40e308 chore: Migrate RQ functions to use object syntax style (#39895)
* Migrate all uses of invalidateQueries to use object syntax.

* Migrate the remainder of useInfiniteQuery.

* Migrate all setQueriesData.

* Migrate all fetchQuery uses.

* Migrate some leftover functions from RQ.

* Fix issues found by Charis.
2025-10-28 10:43:14 +01:00
738c568e6b Sidebar manager (#39795)
* sidebar-manager

* storage keys

* tests

* more ai spots

* test fix

* revert to default

* remove ref

* Update apps/studio/state/sidebar-manager-state.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/ui/AIAssistantPanel/AIAssistant.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix ts

* fix

* fux

* fux query param

* clean

* fix

* more

* mock local storage

* simplify

* remove provider test

* remve useopensidebar

* fix(new homepage): open ai assistant on advisor card button clicks

* Update apps/studio/components/layouts/ProjectLayout/LayoutSidebar/index.tsx

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

* Update apps/studio/state/sidebar-manager-state.tsx

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

* refine

* FIX

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-10-28 10:07:21 +10:00
Stojan DimitrovskiandTerry Sutton 482e477d00 feat: rewrite auth audit logs toggle to be in the positive sense (#39846)
* feat: rewrite auth audit logs toggle to be in the positive sense

* Light edit

* Copy update

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2025-10-27 18:19:55 +01:00
Danny White 0c65581e6c chore(studio): split auth templates into subpages (#39831)
* basic subpages

* add template descriptions

* keep tabbed navigation alive

* revert active tab

* use bespoke layout for each template

* redirect non-feature preview users away

* template page improvements

* fix docs link

* add TemplateEditor

* fix errors

* better error for missing routes

* extract slugifyTitle function to ensure consistent slugs
2025-10-27 15:52:34 +11:00
kemal.earth b8bc7ffc18 fix(studio): comma formatting for auth overview numbers (#39838)
fix: bring commans in for big numbers
2025-10-24 11:37:00 +01:00
kemal.earth e5beda1b0e fix(studio): auth overview table arrow styling (#39810)
* fix: align arrows to end always

* chore: remove dummy data
2025-10-23 16:48:49 +01:00
Jordi Enric 37500328a2 Rename Active Users to Auth Activity (#39805)
rename active users to auth activity
2025-10-23 15:22:06 +02:00
kemal.earth 53163c5bc3 feat(studio): auth overview ui tidy (#39785)
* feat: overview usage card match homepage

This matches the tiles for auth overview usage to the card styling on the homepage.

* style: smol tweak to card header

* style: table empty state

* style: table row styling

* feat: remove dummy test codes

* chore: remove ai slop empty file

* nit: remove border top from spacer

* chore: remove loading label from table cards

* fix: loading state for stat cards

* style: skeleton loader of cards tidy
2025-10-23 10:55:04 +01:00
Joshen LimandAli Waseem a3fc267d4a Add threshold value to persist sort by in auth users (#39782)
* Add threshold value to persist sort by in auth users

* Update apps/studio/components/interfaces/Auth/Users/UsersV2.tsx

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

* Fix local storage values getting overriden when landing on auth users page directly, and merge useEffect for loading local storage values

* Nit

* Fix

* Update warning

* Fix

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-10-23 11:40:57 +08:00
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
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
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
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
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
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
Jordi Enric 851b8b2dba auth overview: adds query id (#39591)
add
2025-10-16 09:07:48 +00:00
Jordi Enric d515fb66f2 feat: add err handling to auth overview (#39589)
err handling
2025-10-16 10:42:27 +02:00
Ivan Vasilov 56d40fe0b2 chore: Migrate eslint for all apps to use flat config (#39486)
* Use the "eslint" command instead of built-in next lint since it's getting obsolete.

* Bump all deps to support eslint 9+.

* Convert the rules in eslint-config-supabase to be flat-config compatible.

* Migrate all apps to use the new eslint config rules.

* Fix all errors found in the new setup.

* Fix the no default exports ignores.

* Scan all files for linting in studio.

* Fix all lint errors.

* Make the reportUnusedDisableDirectives a warning.
2025-10-15 16:35:24 +02:00
issuedat 2b512439b2 chore: add telemetry for users search (#39409) 2025-10-15 11:28:36 +02:00
Stojan DimitrovskiandJoshen Lim 0a3f4184a7 feat: optimized users page (#39349)
* feat: optimized users page

* Update UI

* Reinstate footer with count if mode is freeform

* Simplify disabled sort in performance mode

* Clean

* Small fix

* Final fixes

* Shift users SQL query to packages/pg-meta

* Nit unrelated: Clear query params from useLogsUrlState when going to logs tab of a selected user

* Shift user count SQL and get count estimate SQL into packages/pg-meta

* Fix

* Nit

* Nit

* Minor nits

* Refactor UX for searching

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-14 15:02:00 +08:00
Jordi Enric b36792aa49 Auth Overview fixes (#39483)
* rm arrows

* clean

* add overview table

* add errors sql

* add overview monitoring section

* update overview usage rm monitoring from it

* add monitoring to overview page

* reusable link

* text-foreground-light

* links to header

* fix links

* fix links

* width fix
2025-10-13 18:50:59 +02:00
kemal.earth 1e1b7a05b8 chore(studio): update auth overview light mode images (#39484)
chore: update auth overview light mode images

This provides image alternatives for light mode on the Learn More cards.
2025-10-13 12:22:50 +01:00
kemal.earthandJordi Enric a4d7bc6231 feat(studio): auth overview monitoring section (#39327)
* feat: begin monitoring with compute metrics

* chore: simplify monitoring constants

* chore: something got added

* feat: add database connections chart

* make it success rate instead of error rate

* add new metrics

* hide monitoring

* rm unused

* rm

* rm

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2025-10-10 21:52:15 +02:00
Joshen Lim 085bddafc5 Chore/consolidate copy icons (#39386)
* Replace all clipboard icons with copy icons

* Fix Menu.Item active styling for light mode

* Update

* Use bg side bar accent
2025-10-10 11:06:42 +08:00
kemal.earth a37468dee1 chore(studio): update auth overview learn more copy (#39393)
* chore: update auth overview learn more copy

* chore: few more authentication to auth changes
2025-10-09 18:23:26 +01:00
Pamela Chia 5b2351da86 Add tracking for API docs usage (#39307) 2025-10-08 08:58:15 -04:00
kemal.earth 7927865669 feat(studio): auth overview usage section (#39207)
* feat: add button to all reports and basic layout

* feat: add last 24 hours indicator

* feat: add active users tile

* feat: working first row of usage stats

* feat: add basic report charts for sign in and sign up

* fix: change prev number to difference from before

* feat: pass time range to view all reports link

* fix: get static numbers to show

* fix: type error

* fix: exclude admin users from active users

* fix: revert change as number stopped working

* feat: testing latest sign ups table

* chore: remove table redoing

* feat: testing with renderers

* feat: revert back to reportchartv2

* feat: make sure sign up and sign in charts are bar by default

* fix: class name for default difference num

* chore: bit of clean up

* chore: tidy up constants file

* chore: remove unused auth renderers

* feat: single query instead of multiple tiny ones

* fix: query fetching

* feat: simplify how the query does averages

* nit: small css bits
2025-10-08 08:52:25 +01:00
issuedat cc6645a43b fix: providers sheet should have a minimum width (#39229) 2025-10-07 17:34:12 +02:00