Commit Graph
49 Commits
Author SHA1 Message Date
issuedat 115ca3a2e3 feat(auth): improved user search (#41199)
* feat(auth): improved user search

* chore: fix types for columns

* feat: cursor-based pagination

* chore: remove trigram indexes in favour of b-tree
2025-12-24 12:24:43 +01:00
Joshen Lim 0c2f44d0b8 Remove use of useQueryStateWithSelect for auth users (#41380)
* Remove use of useQueryStateWithSelect for auth users

* Address code rabbit
2025-12-17 14:35:52 +08:00
Joshen Lim 34b5e0bf07 Fix deleting a user shows User not found toast error (#41339) 2025-12-15 07:42:08 -07:00
Joshen Lim 511229f7a6 Fix creating users not invalidating users list and count (#41254) 2025-12-11 11:06:06 -07:00
Ivan Vasilov 0d5be306ef chore: Bump React Query to v5 (#40174)
* Bump the deps, refactor deprecated code.

* Migrate keepPreviousData usage.

* Migrate all uses of InfiniteQuery.

* Fix refetchInterval in queries.

* Migrate all use of isLoading to isPending in mutations.

* Fix accessing location in claim-project.

* Fix a bug in duplicate query keys.

* Migrate all queries to use isPending.

* Revert "Fix accessing location in claim-project."

This reverts commit 2a07df64b5.

* Revert the rss.xml file to master.
2025-12-10 10:10:29 +01:00
issuedat cb25d2383a feat(auth): allow opting in to creating indexes on auth.users (#40955)
* feat(auth): allow opting in to creating indexes on `auth.users`

* chore: organize imports. use alert above table.

* chore: use default type to avoid 2 primary actions
2025-12-08 10:42:18 +01:00
Joshen Lim 5701a291fe Fix Users page not invalidating data when switching search mode (#40809)
* Fix Users page not invalidating data when switching search mode

* Nit fix
2025-11-26 16:15:34 +08:00
Francesco SansalvadoreandAli Waseem 939f58a843 param routing: users and policies (#40520)
* add useQueryStateWithSelect to Policies

* add useQueryStateWithSelect to Users

* use show for users param routing

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-19 08:24:29 -07:00
Joshen Lim 482aeb7333 Default auth users search to email (#40419) 2025-11-13 16:36:59 +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
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
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
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
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
Pamela Chia 5b2351da86 Add tracking for API docs usage (#39307) 2025-10-08 08:58:15 -04:00
Joshen LimandCharis Lam 843234e153 Add flag to hide email and phone columns in auth users (#39151)
* add flag to hide email and phone columns in auth users

* fix: add authentication:show_email_phone_columns to required schema

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-10-02 01:26:14 +08:00
Yadong (Adam) Zhang 9cfa6e8b53 fix: allow NumpadEnter key for search and pagination actions (#38889) 2025-09-26 18:59:05 +00:00
Joshen Lim 1b91f5ae79 Address odd bug between data grid contextmenu and overlay (#38809)
* Address odd bug between data grid contextmenu and overlay

* nit

* Smol tweak
2025-09-18 18:54:28 +08:00
CharisandJoshen Lim 271ee3af6d fix: estimate number of users when count is large (#38638)
* fix: estimate number of users when count is large

In the Auth Users table, we always fetch an exact count of users. This
can be a problem for projects with many (>50K) users as the count(*)
might cause performance issues on the database. We already have logic on
the Table Editor to only run automatic count estimates (fetching the
exact count only if usr requests it), this change ports the same logic
over to Auth Users.

* Nit refactor

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-12 13:07:31 +08:00
Joshen Lim f066c02c69 Shift refresh button to header in table editor and make realtime + API docs button smaller (#38463)
* Shift refresh button to header in table editor and make realtime button + api docs button smaller

* Fix ts
2025-09-08 14:15:39 +08:00
Alaister YoungandJoshen Lim a0f86b3010 feat: disable users features (#38020)
* feat: disable logs features

* feat: disable project homepage features

* feat: disable org features

* Nit fixes

* reenable billing

* feat: disable database features

* feat: disable users features

* Change create user flag to send invite

* Change create user flag to send invite flag

* Tiny nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-19 14:22:12 +08:00
Joshen Lim cab0585533 Fe 1799/consolidate to useselectedprojectquery and (#37684)
* Replace all usage of useProjectContext with useSelectedProjectQuery

* Replace all usage of useSelectedProject with useSelectedProjectQuery

* Replace all usage of useProjectByRef with useProjectByRefQuery

* Replace all usage of useSelectedOrganization with useSelectedOrganizationQuery

* Deprecate useSelectedProject, useSelectedOrganization, and useProjectByRef hooks

* Deprecate ProjecContext
2025-08-06 10:53:10 +07:00
Joshen Lim 9a8bd0fae4 Chore/convert cron jobs to data grid (#37601)
* Use DataGrid for cron jobs interface instead of cards

* Deprecate CronJobCard and database-cron-jobs-run-query.ts

* Add tooltip for editing unnamed job

* Implement infinite scrolling to cron jobs + server side searching

* Deprecate database-cron-jobs-query, and add a singular database-cron-job-query

* Add hover card for cron job table cell command
2025-08-01 15:20:31 +08:00
Joshen LimandAlaister Young b9a0908331 Refactor post calls from lib/common/fetch in auth pages to data/fetchers (#36506)
* Deprecate use of getWithTimeout, refactor BuildingState and RestoringState to use RQ

* Refactor profile-create-mutation to use data/fetchers, and edge-function-status-query to use fetch

* Shift post from lib/common/fetch, refactor bucket-object-download-mutation

* Address feedback

* Minor fix

* Refactor post calls from lib/common/fetch in auth pages to data/fetchers

* Add missing POST users endpoint + small fix when deleting user via context menu

* simplify handleFetchError

* allow handleFetchError to accept unknown

* non-breaking change

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-07-21 12:45:53 +08:00
Joshen Lim c8dbc57051 Minor update to new API keys modal for disabling / reenabling legacy keys (#36554)
* Minor update to new API keys modal for disabling / reenabling legacy keys

* Minor update

* Refresh user count as well when clicking refresh in auth users management
2025-06-23 15:28:07 +08:00
Joshen Lim 1153a214c1 Fix delete button in users management (#36435) 2025-06-16 18:00:35 +08:00
d75cb8b45c fix: studio circular imports (#36026)
* fix: studio circular imports

* Fix the import cycle on Wrappers tabs components.

* Remove duplicate declarations of the feature previews array.

* fix feature previews circular import

* Minor nit

* update all project contexts to use useSelectedProject

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-06 16:38:25 +08:00
Francesco SansalvadoreandAlaister Young a4cfcd9b2e global user dropdown in docs and www (#35063)
* docs: user nav dropdown

* www: user dropdown nav

* update menus

* chore: add complete local storage allowlist

* move all local-storage to common

* reload after logOut

* add local storage key changes from #35175

* fix errors

* add more keys

* fix merge bugs

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-05-05 11:48:06 +02:00
Joshen Lim 6bba977213 Small refactor to use a separate confirmation modal for right click delete user (#33542) 2025-02-12 16:15:19 +08:00
Joshen Lim 25a4424869 Add context menu to auth users (#33524)
* Add context menu to auth users

* Smol lint
2025-02-12 11:24:02 +08:00
Joshen Lim a7f872dd4e Set stale time for users infinite query on auth/users to infinite (#33308) 2025-02-04 19:53:35 +08:00
Joshen LimandAlaister Young cc6c6bf096 Fix unnecessary requests in auth users (#33269)
* Fix unnecessary requests in auth users

* fix hasNextPage

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-02-04 15:45:13 +08:00
Joshen Lim 5024df75c0 Refactor auth users the way we retrieve providers (#33258)
* Refactor auth users the way we retrieve providers

* Fix

* Fix
2025-02-04 10:38:12 +08:00
Francesco Sansalvadore ecd181bcd9 studio mobile v2 (#32630)
* improve some studio mobile layouts

* improve some studio mobile layouts

* improve settings

* assistant mobile

* assistant mobile

* assistant mobile

* responsive formlayout and new project layout

* improve dashboard pages headers

* improve dashboard auth pages

* mobile org settings

* mobile billing fixes

* adjust paused project container height

* remove comments

* triggers

* leftovers

* ai assistant

* fix errors

* remove 16px input size

* fix test

* merge access tokens settings page conflicsts

* smol integrations here and there
2025-01-17 19:07:35 +01:00
Joshen Lim 771ff70891 Support bulk deletes in auth users (#31271)
* Support bulk deletes in auth users

* Close overview panel if user was deleted

* Add max select up to 20 users limit, and add cancel selection button
2024-12-23 14:29:18 +08:00
Ivan Vasilov d08719e2bb fix: Lowercase the search term before searching users table (#31070)
* Lowercase the search string when searching for users.

* Switch the lowercasing to be done to the query hook param.
2024-12-13 15:01:36 +01:00
Alaister YoungandJoshen Lim 6c592dec99 chore: remove useExecuteSqlQuery() part 2 (#30467)
* foreign-key-constraints

* update entity-types stale time

* schemas query

* deprecate useExecuteSqlQuery

* users count query

* database size query

* indexes query

* keywords query

* migrations query

* table columns

* database functions

* database roles query

* fdws query

* replication lag query

* ongoing queries query

* vault secrets query

* remove unneeded staleTime: 0

* max connections query

* fix entity types key in tests

* Some fixes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-18 05:15:37 +00:00
Joshen Lim af4cc07a36 Add users length to dependency array for formatting user column (#30507)
* Add users length to dependency array for formatting user column

* Just check on users
2024-11-18 12:29:44 +08:00
Kevin Grüneberg e5c87ea560 chore: remove kpsVersion property (#30350)
KPS has long been removed and the property is never set for projects
2024-11-07 16:28:21 +08:00
Joshen Lim 1e462453f5 Add sort by last sign in at in auth users (#30202)
* Add sort by last sign in at in auth users

* Feex
2024-11-01 17:32:23 +08:00
Joshen Lim bc203b9078 Chore/user management fixes (#29635)
* Fix waiting for verification column as cell was not re-rendering after users are loaded

* Fix waiting for verification column as cell was not re-rendering after users are loaded

* Fix grid, overview panel and linking to providers for SAML users
2024-10-02 14:22:46 +08:00
Joshen Lim 2e7745883a Fix search user (#29615)
* Fix search user

* Tiny
2024-10-01 18:58:22 +08:00
Joshen LimandAlaister Young 536dc37d58 Chore/user management v2 panel part 2 (#29515)
* Set up banning and unbanning user, although untested due to API CORs issue

* Update search filter UI for users management V2

* Update API types

* Minoir

* Small fix

* Update UI

* Add support for resizing and re-ordering columns

* Add google profile image url to csp

* Revert test button

* Implement toggling of columns

* Fix loading

* Fully implement banning/unbanning user

* Fix

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

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>

* Fallback non CSP supported avatar urls to user icon

* Fix some bugs

* Remove prism-react-renderer from studio, add to ui patterns

* Migrate users query from API to studio

* Address some feedback

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-10-01 14:32:46 +08:00
Ivan Vasilov 09a62662d8 chore: Clean up ui-patterns imports (#29132)
* Switch all top-level imports for ui-patterns components to use specific components when importing.

* Remove the @ui-patterns shorthand since it works exactly the same without the @.

* More import fixes.

* Fix the ui-patterns tests.
2024-09-30 21:41:26 +02:00
Terry Sutton 92831d539f Add next page loading state (#29569)
* Add next page loading state

* Add loading line on refetch
2024-09-30 09:39:34 -02:30
Joshen Lim 6af9ff6061 Chore/user management v2 panel (#29468)
* Midway implementing user management v2 panel

* Do up overview panel less provider information

* Midway provider info

* Wrap up provider information

* Add banned until banner

* Slight adjustment to search input

* Fix

* Fix provider icons in data grid

* Fix

* Moar fixes

* Add loading line

* Address some feedback

* Reorder some elements in the user overview panel

* Fix icons going over cell headers
2024-09-25 12:40:18 +08:00
hallidayoandAlaister Young 97a38375f0 feat: auth users search (#20362)
* auth users search uid

* update new users UI

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2024-09-19 08:28:16 +00:00
Joshen Lim b371266203 Chore/refactor auth users page to use data grid (#29105)
* Convert auth users page to use data grid

* Deprecate old components for auth users

* Remove unused state

* Remove unnecessary file

* Add copy cell value

* Reload -> Refresh

* Fix spelling

* Adjust sizing of search and dropdown

* Add feature flag and reinstate original auth/users UI

* Remove font mono on auth users data grid header and row cells

* Address comments
2024-09-10 11:02:25 +08:00