diff --git a/about/package-lock.json b/about/package-lock.json
index f867ddc58e2..1e189d2be29 100644
--- a/about/package-lock.json
+++ b/about/package-lock.json
@@ -13606,9 +13606,9 @@
}
},
"url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index cdb3fb7727b..e8879568c3c 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -37,7 +37,7 @@ services:
auth:
container_name: supabase-auth
- image: supabase/gotrue:v2.5.8
+ image: supabase/gotrue:v2.5.21
depends_on:
- db
restart: unless-stopped
diff --git a/examples/angular-todo-list/package-lock.json b/examples/angular-todo-list/package-lock.json
index 18a11279b7a..f152818b879 100644
--- a/examples/angular-todo-list/package-lock.json
+++ b/examples/angular-todo-list/package-lock.json
@@ -15068,9 +15068,9 @@
}
},
"url-parse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
- "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
"requires": {
"querystringify": "^2.1.1",
diff --git a/examples/nuxtjs-user-management/package-lock.json b/examples/nuxtjs-user-management/package-lock.json
index 0bbbc5b770a..e6c1b3a9d52 100644
--- a/examples/nuxtjs-user-management/package-lock.json
+++ b/examples/nuxtjs-user-management/package-lock.json
@@ -6884,6 +6884,11 @@
"sha.js": "^2.4.8"
}
},
+ "picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
+ },
"picomatch": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
@@ -6916,27 +6921,18 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
"postcss": {
- "version": "7.0.35",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
- "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
"requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "requires": {
- "has-flag": "^3.0.0"
- }
}
}
},
diff --git a/examples/react-todo-list-collaborative/package-lock.json b/examples/react-todo-list-collaborative/package-lock.json
index 20b453698ba..788ebc0a3f3 100644
--- a/examples/react-todo-list-collaborative/package-lock.json
+++ b/examples/react-todo-list-collaborative/package-lock.json
@@ -21387,9 +21387,9 @@
}
},
"url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
diff --git a/examples/react-todo-list-collaborative/yarn.lock b/examples/react-todo-list-collaborative/yarn.lock
index bd8b93d6563..b4ab86183dd 100644
--- a/examples/react-todo-list-collaborative/yarn.lock
+++ b/examples/react-todo-list-collaborative/yarn.lock
@@ -8546,9 +8546,9 @@ querystring@0.2.0:
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
querystringify@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
- integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
+ integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
raf@^3.4.1:
version "3.4.1"
@@ -10337,9 +10337,9 @@ url-loader@2.3.0:
schema-utils "^2.5.0"
url-parse@^1.4.3:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
- integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
+ integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
diff --git a/examples/react-todo-list/package-lock.json b/examples/react-todo-list/package-lock.json
index 61705ce1a8e..8e9066a3e12 100644
--- a/examples/react-todo-list/package-lock.json
+++ b/examples/react-todo-list/package-lock.json
@@ -17009,9 +17009,9 @@
}
},
"url-parse": {
- "version": "1.5.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.7.tgz",
- "integrity": "sha512-HxWkieX+STA38EDk7CE9MEryFeHCKzgagxlGvsdS7WBImq9Mk+PGwiT56w82WI3aicwJA8REp42Cxo98c8FZMA==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
diff --git a/examples/react-todo-list/yarn.lock b/examples/react-todo-list/yarn.lock
index c37c20da34d..48f3518fb26 100644
--- a/examples/react-todo-list/yarn.lock
+++ b/examples/react-todo-list/yarn.lock
@@ -10982,9 +10982,9 @@ url-loader@4.1.1:
schema-utils "^3.0.0"
url-parse@^1.4.3:
- version "1.5.7"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.7.tgz#00780f60dbdae90181f51ed85fb24109422c932a"
- integrity sha512-HxWkieX+STA38EDk7CE9MEryFeHCKzgagxlGvsdS7WBImq9Mk+PGwiT56w82WI3aicwJA8REp42Cxo98c8FZMA==
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
+ integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
diff --git a/examples/react-user-management/package-lock.json b/examples/react-user-management/package-lock.json
index 1fe9db36890..375e76d3e5a 100644
--- a/examples/react-user-management/package-lock.json
+++ b/examples/react-user-management/package-lock.json
@@ -19486,9 +19486,9 @@
}
},
"node_modules/url-parse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
- "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
@@ -36791,9 +36791,9 @@
}
},
"url-parse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
- "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
diff --git a/examples/vue3-ts-todo-list/package-lock.json b/examples/vue3-ts-todo-list/package-lock.json
index 300434ce6f0..5dd1a045701 100644
--- a/examples/vue3-ts-todo-list/package-lock.json
+++ b/examples/vue3-ts-todo-list/package-lock.json
@@ -14207,9 +14207,9 @@
}
},
"node_modules/url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
"dependencies": {
"querystringify": "^2.1.1",
@@ -27727,9 +27727,9 @@
}
},
"url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
"requires": {
"querystringify": "^2.1.1",
diff --git a/studio/components/interfaces/Authentication/Users/InviteUserModal.tsx b/studio/components/interfaces/Authentication/Users/InviteUserModal.tsx
index f3d27cbd51b..23185950f55 100644
--- a/studio/components/interfaces/Authentication/Users/InviteUserModal.tsx
+++ b/studio/components/interfaces/Authentication/Users/InviteUserModal.tsx
@@ -72,29 +72,35 @@ const InviteUserModal = () => {
size="small"
key="invite-user-modal"
visible={visible}
- title="Invite new user"
+ header="Invite new user"
hideFooter
onCancel={handleToggle}
closable
>
- }
- autoFocus
- // @ts-ignore
- ref={inputRef}
- value={emailValue}
- onChange={onInputChange}
- type="text"
- name="email"
- id="email"
- placeholder="User email"
- className="w-full"
- />
-
-
+
+
+ }
+ descriptionText="Type in the full email address"
+ autoFocus
+ // @ts-ignore
+ ref={inputRef}
+ value={emailValue}
+ onChange={onInputChange}
+ type="email"
+ name="email"
+ id="email"
+ placeholder="User email"
+ className="w-full"
+ />
+
+
+
+
+
)
diff --git a/studio/components/interfaces/Authentication/Users/UserDropdown.tsx b/studio/components/interfaces/Authentication/Users/UserDropdown.tsx
index 5a2e36dd827..48e333d73d6 100644
--- a/studio/components/interfaces/Authentication/Users/UserDropdown.tsx
+++ b/studio/components/interfaces/Authentication/Users/UserDropdown.tsx
@@ -115,6 +115,7 @@ const UserDropdown: FC<{ user: any }> = ({ user }) => {
return (
{user.email !== null ? (
@@ -132,7 +133,7 @@ const UserDropdown: FC<{ user: any }> = ({ user }) => {
Send OTP
) : null}
-
+
}>
Delete user
diff --git a/studio/components/interfaces/Authentication/Users/Users.tsx b/studio/components/interfaces/Authentication/Users/Users.tsx
index 3027d085782..d9463ff14c7 100644
--- a/studio/components/interfaces/Authentication/Users/Users.tsx
+++ b/studio/components/interfaces/Authentication/Users/Users.tsx
@@ -45,10 +45,10 @@ const Users = () => {
return (
-
+
{
]}
/>
-
-
} type="default" onClick={refreshUsers}>Reload
+
+ }
+ type="default"
+ loading={PageState.usersLoading}
+ onClick={refreshUsers}
+ >
+ Reload
+
{inviteEnabled && }
-
+
diff --git a/studio/components/interfaces/Authentication/Users/UsersListItem.tsx b/studio/components/interfaces/Authentication/Users/UsersListItem.tsx
index a504b94094e..471e226e733 100644
--- a/studio/components/interfaces/Authentication/Users/UsersListItem.tsx
+++ b/studio/components/interfaces/Authentication/Users/UsersListItem.tsx
@@ -1,7 +1,7 @@
import dayjs from 'dayjs'
import { FC } from 'react'
import { observer } from 'mobx-react-lite'
-import { Badge, Typography } from '@supabase/ui'
+import { Badge, IconUser, Typography } from '@supabase/ui'
import Table from 'components/to-be-cleaned/Table'
import SimpleCodeBlock from 'components/to-be-cleaned/SimpleCodeBlock'
@@ -16,20 +16,22 @@ const UserListItem: FC
= ({ user }) => {
return (
- {!user.email ? '-' : user.email}
+
+ {!user.email ? '-' : user.email}
+
- {!user.phone ? '-' : user.phone}
+ {!user.phone ? '-' : user.phone}
-
+
{user?.raw_app_meta_data?.provider || user?.app_metadata?.provider}
-
+
-
+
{dayjs(user.created_at).format('DD MMM, YYYY HH:mm')}
-
+
{!isUserConfirmed ? (
diff --git a/studio/components/interfaces/Authentication/Users/UsersPagination.tsx b/studio/components/interfaces/Authentication/Users/UsersPagination.tsx
index 6d12f0974ea..51629e18e6b 100644
--- a/studio/components/interfaces/Authentication/Users/UsersPagination.tsx
+++ b/studio/components/interfaces/Authentication/Users/UsersPagination.tsx
@@ -18,13 +18,13 @@ const UsersPagination = () => {
return (
}
- />
+ >
+
+
+ Please delete one of your free projects to downgrade this project back to free tier
+
+
+