From 43cc61818cfde975ab4e21262ca59d6773585a05 Mon Sep 17 00:00:00 2001
From: Ivan Vasilov
Date: Thu, 20 Nov 2025 17:44:53 +0200
Subject: [PATCH] chore: Migrate all `isPending` uses in `react-query` (#40642)
* Bump react-query. Minor type and logic fixes.
* Migrate all use of isLoading to isPending in mutations.
* Fix type errors.
---
.../grid/components/editor/JsonEditor.tsx | 4 +-
.../grid/components/editor/TextEditor.tsx | 4 +-
.../interfaces/APIKeys/APIKeyDeleteDialog.tsx | 2 +-
.../APIKeys/CreatePublishableAPIKeyDialog.tsx | 2 +-
.../APIKeys/CreateSecretAPIKeyDialog.tsx | 2 +-
.../interfaces/APIKeys/SecretAPIKeys.tsx | 3 +-
.../AccessTokens/NewAccessTokenDialog.tsx | 6 +-
.../Preferences/AccountConnections.tsx | 3 +-
.../Account/Preferences/AccountIdentities.tsx | 2 +-
.../Preferences/ChangeEmailAddress.tsx | 6 +-
.../Preferences/DeleteAccountButton.tsx | 8 +--
.../Preferences/ProfileInformation.tsx | 4 +-
.../Account/TOTPFactors/AddNewFactorModal.tsx | 4 +-
.../Account/TOTPFactors/DeleteFactorModal.tsx | 4 +-
.../interfaces/Advisors/AdvisorRuleItem.tsx | 2 +-
.../interfaces/Advisors/CreateRuleSheet.tsx | 2 +-
.../interfaces/Advisors/DisableRuleModal.tsx | 2 +-
.../interfaces/Advisors/EnableRuleModal.tsx | 2 +-
.../interfaces/Auth/AuditLogsForm.tsx | 2 +-
.../Auth/AuthProvidersForm/ProviderForm.tsx | 2 +-
.../interfaces/Auth/BasicAuthSettingsForm.tsx | 2 +-
.../Auth/EmailTemplates/EmailTemplates.tsx | 2 +-
.../interfaces/Auth/Hooks/CreateHookSheet.tsx | 2 +-
.../interfaces/Auth/Hooks/HooksListing.tsx | 2 +-
.../Auth/OAuthApps/CreateOAuthAppSheet.tsx | 2 +-
.../Auth/OAuthApps/OAuthAppsList.tsx | 2 +-
.../OAuthApps/OAuthServerSettingsForm.tsx | 6 +-
.../Auth/Policies/PolicyEditorPanel/index.tsx | 4 +-
.../ProtectionAuthSettingsForm.tsx | 2 +-
.../interfaces/Auth/RateLimits/RateLimits.tsx | 2 +-
.../Auth/RedirectUrls/AddNewURLModal.tsx | 4 +-
.../Auth/RedirectUrls/RedirectUrls.tsx | 2 +-
.../interfaces/Auth/SmtpForm/SmtpForm.tsx | 2 +-
.../ThirdPartyAuthForm/CreateAuth0Dialog.tsx | 6 +-
.../CreateAwsCognitoAuthDialog.tsx | 6 +-
.../CreateClerkAuthDialog.tsx | 9 ++-
.../CreateFirebaseAuthDialog.tsx | 6 +-
.../ThirdPartyAuthForm/CreateWorkOSDialog.tsx | 6 +-
.../interfaces/Auth/Users/BanUserModal.tsx | 2 +-
.../interfaces/Auth/Users/CreateUserModal.tsx | 2 +-
.../interfaces/Auth/Users/DeleteUserModal.tsx | 2 +-
.../interfaces/Auth/Users/InviteUserModal.tsx | 2 +-
.../interfaces/Auth/Users/UserOverview.tsx | 8 +--
.../ChangePaymentMethodModal.tsx | 2 +-
.../DeletePaymentMethodModal.tsx | 2 +-
.../BranchManagement/CreateBranchModal.tsx | 4 +-
.../BranchManagement/EditBranchModal.tsx | 4 +-
.../interfaces/BranchManagement/Overview.tsx | 4 +-
.../interfaces/BranchManagement/ReviewRow.tsx | 2 +-
.../Database/Backups/BackupItem.tsx | 2 +-
.../Database/Backups/BackupsList.tsx | 2 +-
.../Database/Backups/PITR/PITRSelection.tsx | 2 +-
.../CreateNewProjectDialog.tsx | 2 +-
.../ETL/DestinationPanel/DestinationPanel.tsx | 12 ++--
.../Database/ETL/EnableReplicationModal.tsx | 2 +-
.../Database/ETL/NewPublicationPanel.tsx | 2 +-
.../ReplicationPipelineStatus.tsx | 4 +-
.../Database/ETL/RetryOptionsDropdown.tsx | 4 +-
.../CreateEnumeratedTypeSidePanel.tsx | 2 +-
.../DeleteEnumeratedTypeModal.tsx | 2 +-
.../EditEnumeratedTypeSidePanel.tsx | 2 +-
.../Extensions/EnableExtensionModal.tsx | 2 +-
.../Database/Extensions/ExtensionRow.tsx | 2 +-
.../Functions/CreateFunction/index.tsx | 4 +-
.../Functions/FunctionsList/FunctionsList.tsx | 18 +++---
.../Database/Hooks/DeleteHookModal.tsx | 2 +-
.../Database/Indexes/CreateIndexSidePanel.tsx | 2 +-
.../interfaces/Database/Indexes/Indexes.tsx | 6 +-
.../Publications/PublicationsTableItem.tsx | 4 +-
.../Database/Roles/CreateRolePanel.tsx | 2 +-
.../Database/Roles/DeleteRoleModal.tsx | 2 +-
.../interfaces/Database/Roles/RoleRow.tsx | 2 +-
.../Database/Triggers/TriggerSheet.tsx | 4 +-
.../Triggers/TriggersList/TriggersList.tsx | 18 +++---
.../DiskManagement/DiskManagementForm.tsx | 6 +-
.../EdgeFunctionDetails.tsx | 4 +-
.../EdgeFunctionTesterSheet.tsx | 16 ++---
.../EdgeFunctionSecrets/AddNewSecretForm.tsx | 5 +-
.../EdgeFunctionSecrets.tsx | 4 +-
.../EdgeFunctionSecrets/EditSecretSheet.tsx | 2 +-
.../CreateCronJobSheet/CreateCronJobSheet.tsx | 2 +-
.../CronJobScheduleSection.tsx | 2 +-
.../CronJobs/CronJobTableCell.tsx | 4 +-
.../Integrations/CronJobs/DeleteCronJob.tsx | 6 +-
.../Integrations/Queues/CreateQueueSheet.tsx | 13 +---
.../Integrations/Queues/QueueTab.tsx | 2 +-
.../Queues/SingleQueue/DeleteQueue.tsx | 4 +-
.../SingleQueue/MessageDetailsPanel.tsx | 6 +-
.../Queues/SingleQueue/PurgeQueue.tsx | 4 +-
.../Queues/SingleQueue/SendMessageModal.tsx | 4 +-
.../Vault/Secrets/DeleteSecretModal.tsx | 2 +-
.../Vault/Secrets/EditSecretModal.tsx | 20 +++----
.../VercelGithub/IntegrationConnection.tsx | 2 +-
.../Integrations/Webhooks/OverviewTab.tsx | 2 +-
.../Wrappers/CreateIcebergWrapperSheet.tsx | 4 +-
.../Wrappers/CreateWrapperSheet.tsx | 4 +-
.../Wrappers/DeleteWrapperModal.tsx | 2 +-
.../Wrappers/EditWrapperSheet.tsx | 2 +-
.../create-key-dialog.tsx | 6 +-
.../jwt-secret-keys-table/index.tsx | 14 ++---
.../rotate-key-dialog.tsx | 7 +--
.../interfaces/JwtSecrets/jwt-settings.tsx | 4 +-
.../BillingSettings/BillingEmail.tsx | 2 +-
.../CostControl/SpendCapSidePanel.tsx | 2 +-
.../BillingSettings/CreditTopUp.tsx | 2 +-
.../Subscription/ExitSurveyModal.tsx | 4 +-
.../Subscription/PaymentMethodSelection.tsx | 4 +-
.../SubscriptionPlanUpdateDialog.tsx | 4 +-
.../Subscription/UpgradeModal.tsx | 2 +-
.../AwsMarketplaceCreateNewOrg.tsx | 2 +-
.../AwsMarketplaceLinkExistingOrg.tsx | 2 +-
.../NewAwsMarketplaceOrgModal.tsx | 8 +--
.../interfaces/Organization/Documents/DPA.tsx | 2 +-
.../DeleteOrganizationButton.tsx | 2 +-
.../OrganizationDetailsForm.tsx | 2 +-
.../SidePanelVercelProjectLinker.tsx | 2 +-
.../InvoicesSettings/InvoicePayButton.tsx | 4 +-
.../Organization/OAuthApps/DeleteAppModal.tsx | 2 +-
.../OAuthApps/OAuthSecrets/OAuthSecrets.tsx | 2 +-
.../OAuthApps/OAuthSecrets/SecretRow.tsx | 2 +-
.../Organization/OAuthApps/RevokeAppModal.tsx | 2 +-
.../Organization/ProjectClaim/confirm.tsx | 4 +-
.../interfaces/Organization/SSO/SSOConfig.tsx | 4 +-
.../Organization/SecuritySettings.tsx | 2 +-
.../TeamSettings/InviteMemberButton.tsx | 2 +-
.../TeamSettings/MemberActions.tsx | 6 +-
.../OrganizationInvite/OrganizationInvite.tsx | 2 +-
.../IndexAdvisor/EnableIndexAdvisorButton.tsx | 2 +-
.../IndexAdvisorDisabledState.tsx | 2 +-
.../interfaces/Realtime/RealtimeSettings.tsx | 2 +-
.../interfaces/Reports/CreateReportModal.tsx | 2 +-
.../components/interfaces/Reports/Reports.tsx | 2 +-
.../interfaces/Reports/UpdateModal.tsx | 2 +-
.../interfaces/SQLEditor/MoveQueryModal.tsx | 4 +-
.../SQLEditor/OngoingQueriesPanel.tsx | 4 +-
.../interfaces/SQLEditor/RenameQueryModal.tsx | 2 +-
.../interfaces/SQLEditor/SQLEditor.tsx | 6 +-
.../Settings/API/HardenAPIModal.tsx | 4 +-
.../Settings/API/PostgrestConfig.tsx | 2 +-
.../Settings/Addons/CustomDomainSidePanel.tsx | 4 +-
.../Settings/Addons/IPv4SidePanel.tsx | 4 +-
.../Settings/Addons/PITRSidePanel.tsx | 4 +-
.../Settings/Database/BannedIPs.tsx | 2 +-
.../ConnectionPooling/ConnectionPooling.tsx | 2 +-
.../ConfirmDisableReadOnlyModal.tsx | 4 +-
.../DatabaseSettings/ResetDbPassword.tsx | 2 +-
.../Database/DiskSizeConfiguration.tsx | 2 +-
.../Database/DiskSizeConfigurationModal.tsx | 2 +-
.../AddRestrictionModal.tsx | 2 +-
.../NetworkRestrictions/AllowAllModal.tsx | 2 +-
.../NetworkRestrictions/DisallowAllModal.tsx | 2 +-
.../RemoveRestrictionModal.tsx | 2 +-
.../Settings/Database/SSLConfiguration.tsx | 2 +-
.../ProjectComplianceMode.tsx | 2 +-
.../CustomDomainActivate.tsx | 6 +-
.../CustomDomainConfig/CustomDomainConfig.tsx | 2 +-
.../CustomDomainConfig/CustomDomainVerify.tsx | 4 +-
.../CustomDomainsConfigureHostname.tsx | 4 +-
.../DeleteProjectPanel/DeleteProjectModal.tsx | 4 +-
.../interfaces/Settings/General/General.tsx | 2 +-
.../Infrastructure/PauseProjectButton.tsx | 2 +-
.../Infrastructure/ProjectUpgradeAlert.tsx | 2 +-
.../Infrastructure/RestartServerButton.tsx | 4 +-
.../TransferProjectButton.tsx | 12 ++--
.../DeployNewReplicaPanel.tsx | 4 +-
.../DropAllReplicasConfirmationModal.tsx | 2 +-
.../DropReplicaConfirmationModal.tsx | 2 +-
.../RestartReplicaConfirmationModal.tsx | 2 +-
.../GitHubIntegrationConnectionForm.tsx | 8 +--
.../VercelIntegrationConnectionForm.tsx | 4 +-
.../SignIn/ForgotPasswordWizard.tsx | 8 +--
.../interfaces/SignIn/SignInMfaForm.tsx | 2 +-
.../interfaces/SignIn/SignUpForm.tsx | 2 +-
.../ConnectTablesDialog.tsx | 2 +-
.../NamespaceWithTables/index.tsx | 2 +-
.../AnalyticsBucketDetails/index.tsx | 4 +-
.../useAnalyticsBucketAssociatedEntities.tsx | 10 ++--
.../CreateAnalyticsBucketModal.tsx | 6 +-
.../DeleteAnalyticsBucketModal.tsx | 4 +-
.../interfaces/Storage/CreateBucketModal.tsx | 2 +-
.../interfaces/Storage/DeleteBucketModal.tsx | 4 +-
.../interfaces/Storage/EditBucketModal.tsx | 2 +-
.../interfaces/Storage/EmptyBucketModal.tsx | 6 +-
.../StorageExplorer/useFetchFileUrlQuery.tsx | 2 +-
.../StorageSettings/CreateCredentialModal.tsx | 2 +-
.../StorageSettings/RevokeCredentialModal.tsx | 2 +-
.../Storage/StorageSettings/S3Connection.tsx | 2 +-
.../StorageListV2MigrationCallout.tsx | 2 +-
.../StorageSettings/StorageSettings.tsx | 2 +-
.../VectorBuckets/CreateVectorTableSheet.tsx | 4 +-
.../VectorBuckets/DeleteVectorBucketModal.tsx | 2 +-
.../VectorBuckets/DeleteVectorTableModal.tsx | 2 +-
.../VectorBuckets/VectorBucketDetails.tsx | 4 +-
.../DeleteConfirmationDialogs.tsx | 6 +-
.../TableGridEditor/GridHeaderActions.tsx | 2 +-
.../RowEditor/JsonEditor/index.tsx | 4 +-
.../SidePanelEditor/RowEditor/TextEditor.tsx | 4 +-
.../SidePanelEditor/SchemaEditor.tsx | 4 +-
.../components/DownloadLogsButton.tsx | 6 +-
.../LayoutHeader/MergeRequestButton.tsx | 2 +-
.../ProjectLayout/PauseFailedState.tsx | 2 +-
.../PausedState/ProjectPausedState.tsx | 2 +-
.../ProjectLayout/RestoreFailedState.tsx | 2 +-
.../layouts/ProjectLayout/RestoringState.tsx | 3 +-
.../layouts/ReportsLayout/ReportsMenu.tsx | 2 +-
.../SQLEditorNavV2/DeleteSnippetsModal.tsx | 2 +-
.../SQLEditorNavV2/SQLEditorNav.tsx | 2 +-
.../SQLEditorNavV2/ShareSnippetModal.tsx | 2 +-
.../SQLEditorNavV2/UnshareSnippetModal.tsx | 2 +-
.../AIAssistantPanel/DisplayBlockRenderer.tsx | 2 +-
.../AIAssistantPanel/EdgeFunctionRenderer.tsx | 2 +-
.../components/ui/EditorPanel/EditorPanel.tsx | 12 ++--
.../ProjectSettings/ToggleLegacyApiKeys.tsx | 2 +-
.../jwt-secret-updating-status-query.ts | 2 +-
.../config/project-upgrade-status-query.ts | 2 +-
.../oauth-server-apps-query.ts | 2 +-
.../iceberg-wrapper-create-mutation.ts | 6 +-
.../s3-vectors-wrapper-create-mutation.ts | 6 +-
apps/studio/hooks/forms/useAIOptInForm.ts | 2 +-
apps/studio/lib/profile.tsx | 2 +-
apps/studio/package.json | 4 +-
.../pages/integrations/github/authorize.tsx | 4 +-
.../[slug]/marketplace/choose-project.tsx | 2 +-
.../pages/integrations/vercel/install.tsx | 2 +-
apps/studio/pages/new/[slug].tsx | 2 +-
.../[ref]/auth/templates/[templateId].tsx | 2 +-
.../pages/project/[ref]/branches/index.tsx | 2 +-
.../project/[ref]/branches/merge-requests.tsx | 4 +-
.../[ref]/functions/[functionSlug]/code.tsx | 2 +-
.../pages/project/[ref]/functions/new.tsx | 2 +-
.../project/[ref]/logs/explorer/index.tsx | 2 +-
apps/studio/pages/project/[ref]/merge.tsx | 8 +--
.../project/[ref]/observability/database.tsx | 2 +-
.../project/[ref]/settings/log-drains.tsx | 4 +-
apps/studio/tests/helpers.tsx | 6 --
apps/studio/types/react-query.ts | 2 +-
pnpm-lock.yaml | 60 +++++++++----------
237 files changed, 447 insertions(+), 462 deletions(-)
diff --git a/apps/studio/components/grid/components/editor/JsonEditor.tsx b/apps/studio/components/grid/components/editor/JsonEditor.tsx
index e99c1104c6c..4922d306c7a 100644
--- a/apps/studio/components/grid/components/editor/JsonEditor.tsx
+++ b/apps/studio/components/grid/components/editor/JsonEditor.tsx
@@ -73,7 +73,7 @@ export const JsonEditor = ({
const [isPopoverOpen, setIsPopoverOpen] = useState(true)
const [value, setValue] = useState(jsonString)
- const { mutate: getCellValue, isLoading, isSuccess } = useGetCellValueMutation()
+ const { mutate: getCellValue, isPending, isSuccess } = useGetCellValueMutation()
const loadFullValue = () => {
if (selectedTable === undefined || project === undefined || !isTableLike(selectedTable)) return
@@ -167,7 +167,7 @@ export const JsonEditor = ({
value={value ?? ''}
language="markdown"
/>
-
+
) : (
diff --git a/apps/studio/components/grid/components/editor/TextEditor.tsx b/apps/studio/components/grid/components/editor/TextEditor.tsx
index ca49402a3d5..9607dda28ad 100644
--- a/apps/studio/components/grid/components/editor/TextEditor.tsx
+++ b/apps/studio/components/grid/components/editor/TextEditor.tsx
@@ -45,7 +45,7 @@ export const TextEditor = ({
const [value, setValue] = useState(initialValue)
const [isConfirmNextModalOpen, setIsConfirmNextModalOpen] = useState(false)
- const { mutate: getCellValue, isLoading, isSuccess } = useGetCellValueMutation()
+ const { mutate: getCellValue, isPending, isSuccess } = useGetCellValueMutation()
const isTruncated = isValueTruncated(initialValue)
@@ -121,7 +121,7 @@ export const TextEditor = ({
value={value ?? ''}
language="markdown"
/>
-
+
) : (
diff --git a/apps/studio/components/interfaces/APIKeys/CreatePublishableAPIKeyDialog.tsx b/apps/studio/components/interfaces/APIKeys/CreatePublishableAPIKeyDialog.tsx
index 8a837bf9d47..f195342a307 100644
--- a/apps/studio/components/interfaces/APIKeys/CreatePublishableAPIKeyDialog.tsx
+++ b/apps/studio/components/interfaces/APIKeys/CreatePublishableAPIKeyDialog.tsx
@@ -51,7 +51,7 @@ function CreatePublishableAPIKeyDialog() {
},
})
- const { mutate: createAPIKey, isLoading: isCreatingAPIKey } = useAPIKeyCreateMutation()
+ const { mutate: createAPIKey, isPending: isCreatingAPIKey } = useAPIKeyCreateMutation()
const onSubmit: SubmitHandler> = async (values) => {
createAPIKey(
diff --git a/apps/studio/components/interfaces/APIKeys/CreateSecretAPIKeyDialog.tsx b/apps/studio/components/interfaces/APIKeys/CreateSecretAPIKeyDialog.tsx
index a480f73d8da..4eb18794257 100644
--- a/apps/studio/components/interfaces/APIKeys/CreateSecretAPIKeyDialog.tsx
+++ b/apps/studio/components/interfaces/APIKeys/CreateSecretAPIKeyDialog.tsx
@@ -64,7 +64,7 @@ const CreateSecretAPIKeyDialog = () => {
},
})
- const { mutate: createAPIKey, isLoading: isCreatingAPIKey } = useAPIKeyCreateMutation()
+ const { mutate: createAPIKey, isPending: isCreatingAPIKey } = useAPIKeyCreateMutation()
const onSubmit: SubmitHandler> = async (values) => {
createAPIKey(
diff --git a/apps/studio/components/interfaces/APIKeys/SecretAPIKeys.tsx b/apps/studio/components/interfaces/APIKeys/SecretAPIKeys.tsx
index 2828644e12d..c3d55af77a0 100644
--- a/apps/studio/components/interfaces/APIKeys/SecretAPIKeys.tsx
+++ b/apps/studio/components/interfaces/APIKeys/SecretAPIKeys.tsx
@@ -9,7 +9,6 @@ import { useAPIKeyDeleteMutation } from 'data/api-keys/api-key-delete-mutation'
import type { APIKeysData } from 'data/api-keys/api-keys-query'
import { useAPIKeysQuery } from 'data/api-keys/api-keys-query'
import useLogsQuery from 'hooks/analytics/useLogsQuery'
-import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQueryStateWithSelect'
import { Card, EyeOffIcon } from 'ui'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
@@ -87,7 +86,7 @@ export const SecretAPIKeys = () => {
handleErrorOnDelete(deletingAPIKeyIdRef, selectedId, `API Key not found`),
})
- const { mutate: deleteAPIKey, isLoading: isDeletingAPIKey } = useAPIKeyDeleteMutation({
+ const { mutate: deleteAPIKey, isPending: isDeletingAPIKey } = useAPIKeyDeleteMutation({
onSuccess: () => {
toast.success(`Successfully deleted API key`)
setAPIKeyToDelete(null)
diff --git a/apps/studio/components/interfaces/Account/AccessTokens/NewAccessTokenDialog.tsx b/apps/studio/components/interfaces/Account/AccessTokens/NewAccessTokenDialog.tsx
index afd1d8b7cf1..714055746a5 100644
--- a/apps/studio/components/interfaces/Account/AccessTokens/NewAccessTokenDialog.tsx
+++ b/apps/studio/components/interfaces/Account/AccessTokens/NewAccessTokenDialog.tsx
@@ -67,7 +67,7 @@ export const NewAccessTokenDialog = ({
defaultValues: { tokenName: '', expiresAt: ExpiresAtOptions['month'].value },
mode: 'onChange',
})
- const { mutate: createAccessToken, isLoading } = useAccessTokenCreateMutation()
+ const { mutate: createAccessToken, isPending } = useAccessTokenCreateMutation()
const onSubmit: SubmitHandler> = async (values) => {
// Use custom date if custom option is selected
@@ -240,7 +240,7 @@ export const NewAccessTokenDialog = ({
-
diff --git a/apps/studio/components/interfaces/Account/Preferences/AccountConnections.tsx b/apps/studio/components/interfaces/Account/Preferences/AccountConnections.tsx
index 5d7d4052125..e5f17b5c5d3 100644
--- a/apps/studio/components/interfaces/Account/Preferences/AccountConnections.tsx
+++ b/apps/studio/components/interfaces/Account/Preferences/AccountConnections.tsx
@@ -15,7 +15,6 @@ import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
- DropdownMenuSeparator,
DropdownMenuTrigger,
} from 'ui'
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
@@ -34,7 +33,7 @@ export const AccountConnections = () => {
const isConnected = gitHubAuthorization !== null
- const { mutate: removeAuthorization, isLoading: isRemoving } =
+ const { mutate: removeAuthorization, isPending: isRemoving } =
useGitHubAuthorizationDeleteMutation({
onSuccess: () => {
toast.success('GitHub authorization removed successfully')
diff --git a/apps/studio/components/interfaces/Account/Preferences/AccountIdentities.tsx b/apps/studio/components/interfaces/Account/Preferences/AccountIdentities.tsx
index 81801248215..b866e6bb73e 100644
--- a/apps/studio/components/interfaces/Account/Preferences/AccountIdentities.tsx
+++ b/apps/studio/components/interfaces/Account/Preferences/AccountIdentities.tsx
@@ -50,7 +50,7 @@ export const AccountIdentities = () => {
const [selectedProviderUnlink, setSelectedProviderUnlink] = useState()
const [selectedProviderUpdateEmail, setSelectedProviderUpdateEmail] = useState()
- const { mutate: unlinkIdentity, isLoading: isUnlinking } = useUnlinkIdentityMutation({
+ const { mutate: unlinkIdentity, isPending: isUnlinking } = useUnlinkIdentityMutation({
onSuccess: () => {
toast.success(
`Successfully unlinked ${getProviderName(selectedProviderUnlink ?? '')} identity!`
diff --git a/apps/studio/components/interfaces/Account/Preferences/ChangeEmailAddress.tsx b/apps/studio/components/interfaces/Account/Preferences/ChangeEmailAddress.tsx
index c853e7514c9..0aa80154dda 100644
--- a/apps/studio/components/interfaces/Account/Preferences/ChangeEmailAddress.tsx
+++ b/apps/studio/components/interfaces/Account/Preferences/ChangeEmailAddress.tsx
@@ -66,7 +66,7 @@ export const ChangeEmailAddressForm = ({ onClose }: { onClose: () => void }) =>
defaultValues: { email: '' },
})
- const { mutate: updateEmail, isLoading } = useEmailUpdateMutation({
+ const { mutate: updateEmail, isPending } = useEmailUpdateMutation({
onSuccess: (_, vars) => {
toast.success(
`A confirmation email has been sent to ${vars.email}. Please confirm the change within 10 minutes.`
@@ -121,10 +121,10 @@ export const ChangeEmailAddressForm = ({ onClose }: { onClose: () => void }) =>
-
+
Cancel
-
+
Confirm
diff --git a/apps/studio/components/interfaces/Account/Preferences/DeleteAccountButton.tsx b/apps/studio/components/interfaces/Account/Preferences/DeleteAccountButton.tsx
index 90e9c00edb2..bbc1968e44c 100644
--- a/apps/studio/components/interfaces/Account/Preferences/DeleteAccountButton.tsx
+++ b/apps/studio/components/interfaces/Account/Preferences/DeleteAccountButton.tsx
@@ -65,7 +65,7 @@ export const DeleteAccountButton = () => {
})
const { account } = form.watch()
- const { mutate: submitSupportTicket, isLoading } = useSendSupportTicketMutation({
+ const { mutate: submitSupportTicket, isPending } = useSendSupportTicketMutation({
onSuccess: () => {
setIsOpen(false)
setDeletionRequestFlag()
@@ -171,7 +171,7 @@ export const DeleteAccountButton = () => {
autoFocus
{...field}
autoComplete="off"
- disabled={isLoading}
+ disabled={isPending}
placeholder="Enter the account above"
/>
@@ -186,8 +186,8 @@ export const DeleteAccountButton = () => {
size="small"
type="danger"
htmlType="submit"
- loading={isLoading}
- disabled={account !== accountEmail || isLoading}
+ loading={isPending}
+ disabled={account !== accountEmail || isPending}
>
Submit request for account deletion
diff --git a/apps/studio/components/interfaces/Account/Preferences/ProfileInformation.tsx b/apps/studio/components/interfaces/Account/Preferences/ProfileInformation.tsx
index 2c9decfe6ec..091420f9ad3 100644
--- a/apps/studio/components/interfaces/Account/Preferences/ProfileInformation.tsx
+++ b/apps/studio/components/interfaces/Account/Preferences/ProfileInformation.tsx
@@ -59,7 +59,7 @@ export const ProfileInformation = () => {
values: defaultValues,
})
- const { mutate: updateProfile, isLoading } = useProfileUpdateMutation({
+ const { mutate: updateProfile, isPending } = useProfileUpdateMutation({
onSuccess: (data) => {
toast.success('Successfully saved profile')
const { first_name, last_name, username, primary_email } = data
@@ -175,7 +175,7 @@ export const ProfileInformation = () => {
Save
diff --git a/apps/studio/components/interfaces/Account/TOTPFactors/AddNewFactorModal.tsx b/apps/studio/components/interfaces/Account/TOTPFactors/AddNewFactorModal.tsx
index c0db7372cc8..28956b51802 100644
--- a/apps/studio/components/interfaces/Account/TOTPFactors/AddNewFactorModal.tsx
+++ b/apps/studio/components/interfaces/Account/TOTPFactors/AddNewFactorModal.tsx
@@ -21,7 +21,7 @@ interface AddNewFactorModalProps {
export const AddNewFactorModal = ({ visible, onClose }: AddNewFactorModalProps) => {
// Generate a name with a number between 0 and 1000
const [name, setName] = useState(`App ${Math.floor(Math.random() * 1000)}`)
- const { data, mutate: enroll, isLoading: isEnrolling, reset } = useMfaEnrollMutation()
+ const { data, mutate: enroll, isPending: isEnrolling, reset } = useMfaEnrollMutation()
useEffect(() => {
// reset has to be called because the state is kept between if the process is canceled during
@@ -122,7 +122,7 @@ const SecondStep = ({
)
const { mutate: unenroll } = useMfaUnenrollMutation({ onSuccess: () => onClose() })
- const { mutate: challengeAndVerify, isLoading: isVerifying } = useMfaChallengeAndVerifyMutation({
+ const { mutate: challengeAndVerify, isPending: isVerifying } = useMfaChallengeAndVerifyMutation({
onError: (error) => {
toast.error(`Failed to add a second factor authentication: ${error?.message}`)
},
diff --git a/apps/studio/components/interfaces/Account/TOTPFactors/DeleteFactorModal.tsx b/apps/studio/components/interfaces/Account/TOTPFactors/DeleteFactorModal.tsx
index 57d5aed609b..d26cc6e7c01 100644
--- a/apps/studio/components/interfaces/Account/TOTPFactors/DeleteFactorModal.tsx
+++ b/apps/studio/components/interfaces/Account/TOTPFactors/DeleteFactorModal.tsx
@@ -26,7 +26,7 @@ const DeleteFactorModal = ({
''
)
- const { mutate: unenroll, isLoading } = useMfaUnenrollMutation({
+ const { mutate: unenroll, isPending } = useMfaUnenrollMutation({
onSuccess: async () => {
if (lastVisitedOrganization) {
await queryClient.invalidateQueries({
@@ -46,7 +46,7 @@ const DeleteFactorModal = ({
title="Confirm to delete factor"
confirmLabel="Delete"
confirmLabelLoading="Deleting"
- loading={isLoading}
+ loading={isPending}
onCancel={onClose}
onConfirm={() => factorId && unenroll({ factorId })}
alert={{
diff --git a/apps/studio/components/interfaces/Advisors/AdvisorRuleItem.tsx b/apps/studio/components/interfaces/Advisors/AdvisorRuleItem.tsx
index afd8c3016d9..199f0bc8f47 100644
--- a/apps/studio/components/interfaces/Advisors/AdvisorRuleItem.tsx
+++ b/apps/studio/components/interfaces/Advisors/AdvisorRuleItem.tsx
@@ -59,7 +59,7 @@ export const AdvisorRuleItem = ({ lint }: AdvisorRuleItemProps) => {
const selectedRuleMeta = data.exceptions.find((x) => x.id === selectedRuleToDelete)
const selectedMemberForRule = members.find((x) => x.gotrue_id === selectedRuleMeta?.assigned_to)
- const { mutate: deleteRule, isLoading: isDeleting } = useLintRuleDeleteMutation({
+ const { mutate: deleteRule, isPending: isDeleting } = useLintRuleDeleteMutation({
onSuccess: () => {
toast.success('Successfully deleted rule')
setSelectedRuleToDelete(undefined)
diff --git a/apps/studio/components/interfaces/Advisors/CreateRuleSheet.tsx b/apps/studio/components/interfaces/Advisors/CreateRuleSheet.tsx
index e825a9ff1e7..8c03074cb2b 100644
--- a/apps/studio/components/interfaces/Advisors/CreateRuleSheet.tsx
+++ b/apps/studio/components/interfaces/Advisors/CreateRuleSheet.tsx
@@ -73,7 +73,7 @@ export const CreateRuleSheet = ({ lint, open, onOpenChange }: CreateRuleSheetPro
const { data: organization } = useSelectedOrganizationQuery()
const { data: members = [] } = useOrganizationMembersQuery({ slug: organization?.slug })
- const { mutate: createRule, isLoading: isCreating } = useLintRuleCreateMutation({
+ const { mutate: createRule, isPending: isCreating } = useLintRuleCreateMutation({
onSuccess: (_, vars) => {
const ruleLint = vars.exception.lint_name
const ruleLintMeta = lintInfoMap.find((x) => x.name === ruleLint)
diff --git a/apps/studio/components/interfaces/Advisors/DisableRuleModal.tsx b/apps/studio/components/interfaces/Advisors/DisableRuleModal.tsx
index 1b6aff2393d..f3b0a271deb 100644
--- a/apps/studio/components/interfaces/Advisors/DisableRuleModal.tsx
+++ b/apps/studio/components/interfaces/Advisors/DisableRuleModal.tsx
@@ -29,7 +29,7 @@ export const DisableRuleModal = ({ lint }: DisableRuleModalProps) => {
const [open, setOpen] = useState(false)
- const { mutate: createRule, isLoading: isCreating } = useLintRuleCreateMutation({
+ const { mutate: createRule, isPending: isCreating } = useLintRuleCreateMutation({
onSuccess: (_, vars) => {
const ruleLint = vars.exception.lint_name
const ruleLintMeta = lintInfoMap.find((x) => x.name === ruleLint)
diff --git a/apps/studio/components/interfaces/Advisors/EnableRuleModal.tsx b/apps/studio/components/interfaces/Advisors/EnableRuleModal.tsx
index c744e3d632b..10f55aabad5 100644
--- a/apps/studio/components/interfaces/Advisors/EnableRuleModal.tsx
+++ b/apps/studio/components/interfaces/Advisors/EnableRuleModal.tsx
@@ -29,7 +29,7 @@ export const EnableRuleModal = ({ lint, rule }: EnableRuleModalProps) => {
const [open, setOpen] = useState(false)
- const { mutate: deleteRule, isLoading: isDeleting } = useLintRuleDeleteMutation({
+ const { mutate: deleteRule, isPending: isDeleting } = useLintRuleDeleteMutation({
onSuccess: () => {
toast.success(`Successfully enabled the "${lint.title}" rule`)
setOpen(false)
diff --git a/apps/studio/components/interfaces/Auth/AuditLogsForm.tsx b/apps/studio/components/interfaces/Auth/AuditLogsForm.tsx
index 7eace1cfe1d..1b3a726bb0b 100644
--- a/apps/studio/components/interfaces/Auth/AuditLogsForm.tsx
+++ b/apps/studio/components/interfaces/Auth/AuditLogsForm.tsx
@@ -57,7 +57,7 @@ export const AuditLogsForm = () => {
isLoading,
} = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation({
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation({
onError: (error) => {
toast.error(`Failed to update audit logs: ${error?.message}`)
},
diff --git a/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx b/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx
index d05e65d1528..025f54e74ac 100644
--- a/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx
+++ b/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx
@@ -38,7 +38,7 @@ export const ProviderForm = ({ config, provider, isActive }: ProviderFormProps)
const [urlProvider, setUrlProvider] = useQueryState('provider', { defaultValue: '' })
const [open, setOpen] = useState(false)
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation()
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation()
const { can: canUpdateConfig } = useAsyncCheckPermissions(
PermissionAction.UPDATE,
diff --git a/apps/studio/components/interfaces/Auth/BasicAuthSettingsForm.tsx b/apps/studio/components/interfaces/Auth/BasicAuthSettingsForm.tsx
index b5da9b10312..109aee65947 100644
--- a/apps/studio/components/interfaces/Auth/BasicAuthSettingsForm.tsx
+++ b/apps/studio/components/interfaces/Auth/BasicAuthSettingsForm.tsx
@@ -54,7 +54,7 @@ export const BasicAuthSettingsForm = () => {
isSuccess,
isLoading,
} = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation()
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation()
const { can: canReadConfig, isSuccess: isPermissionsLoaded } = useAsyncCheckPermissions(
PermissionAction.READ,
diff --git a/apps/studio/components/interfaces/Auth/EmailTemplates/EmailTemplates.tsx b/apps/studio/components/interfaces/Auth/EmailTemplates/EmailTemplates.tsx
index cf8ba29f02a..d64d70e5de2 100644
--- a/apps/studio/components/interfaces/Auth/EmailTemplates/EmailTemplates.tsx
+++ b/apps/studio/components/interfaces/Auth/EmailTemplates/EmailTemplates.tsx
@@ -84,7 +84,7 @@ export const EmailTemplates = () => {
isSuccess,
} = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation({
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation({
onError: (error) => {
toast.error(`Failed to update settings: ${error?.message}`)
},
diff --git a/apps/studio/components/interfaces/Auth/Hooks/CreateHookSheet.tsx b/apps/studio/components/interfaces/Auth/Hooks/CreateHookSheet.tsx
index ecc4de59e65..b17059315fc 100644
--- a/apps/studio/components/interfaces/Auth/Hooks/CreateHookSheet.tsx
+++ b/apps/studio/components/interfaces/Auth/Hooks/CreateHookSheet.tsx
@@ -187,7 +187,7 @@ export const CreateHookSheet = ({
return permissionChanges
}, [hook, values.postgresValues.schema, values.postgresValues.functionName])
- const { mutate: updateAuthHooks, isLoading: isUpdatingAuthHooks } = useAuthHooksUpdateMutation({
+ const { mutate: updateAuthHooks, isPending: isUpdatingAuthHooks } = useAuthHooksUpdateMutation({
onSuccess: () => {
toast.success(`Successfully created ${values.hookType}.`)
if (statements.length > 0) {
diff --git a/apps/studio/components/interfaces/Auth/Hooks/HooksListing.tsx b/apps/studio/components/interfaces/Auth/Hooks/HooksListing.tsx
index 9e07fcae460..cdc156ea283 100644
--- a/apps/studio/components/interfaces/Auth/Hooks/HooksListing.tsx
+++ b/apps/studio/components/interfaces/Auth/Hooks/HooksListing.tsx
@@ -31,7 +31,7 @@ export const HooksListing = () => {
const [selectedHookForDeletion, setSelectedHookForDeletion] = useState(null)
- const { mutate: updateAuthHooks, isLoading: isDeletingAuthHook } = useAuthHooksUpdateMutation({
+ const { mutate: updateAuthHooks, isPending: isDeletingAuthHook } = useAuthHooksUpdateMutation({
onSuccess: async () => {
if (!selectedHookForDeletion) return
diff --git a/apps/studio/components/interfaces/Auth/OAuthApps/CreateOAuthAppSheet.tsx b/apps/studio/components/interfaces/Auth/OAuthApps/CreateOAuthAppSheet.tsx
index 934930c4134..3eae0ae5c5b 100644
--- a/apps/studio/components/interfaces/Auth/OAuthApps/CreateOAuthAppSheet.tsx
+++ b/apps/studio/components/interfaces/Auth/OAuthApps/CreateOAuthAppSheet.tsx
@@ -84,7 +84,7 @@ export const CreateOAuthAppSheet = ({ visible, onSuccess, onCancel }: CreateOAut
const { data: supabaseClientData } = useSupabaseClientQuery({ projectRef })
- const { mutateAsync: createOAuthApp, isLoading: isCreating } = useOAuthServerAppCreateMutation({
+ const { mutateAsync: createOAuthApp, isPending: isCreating } = useOAuthServerAppCreateMutation({
onSuccess: (data) => {
toast.success(`Successfully created OAuth app "${data.client_name}"`)
onSuccess(data)
diff --git a/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx b/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx
index 49c65bb2086..39edef0400a 100644
--- a/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx
+++ b/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx
@@ -71,7 +71,7 @@ export const OAuthAppsList = () => {
{ enabled: isOAuthServerEnabled }
)
- const { mutateAsync: regenerateSecret, isLoading: isRegenerating } =
+ const { mutateAsync: regenerateSecret, isPending: isRegenerating } =
useOAuthServerAppRegenerateSecretMutation({
onSuccess: (data) => {
if (data) {
diff --git a/apps/studio/components/interfaces/Auth/OAuthApps/OAuthServerSettingsForm.tsx b/apps/studio/components/interfaces/Auth/OAuthApps/OAuthServerSettingsForm.tsx
index 8270fcb165f..491804aff12 100644
--- a/apps/studio/components/interfaces/Auth/OAuthApps/OAuthServerSettingsForm.tsx
+++ b/apps/studio/components/interfaces/Auth/OAuthApps/OAuthServerSettingsForm.tsx
@@ -81,7 +81,7 @@ export const OAuthServerSettingsForm = () => {
isLoading: isAuthConfigLoading,
isSuccess,
} = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading } = useAuthConfigUpdateMutation({
+ const { mutate: updateAuthConfig, isPending } = useAuthConfigUpdateMutation({
onSuccess: () => {
toast.success('OAuth server settings updated successfully')
},
@@ -346,14 +346,14 @@ export const OAuthServerSettingsForm = () => {
)}
- form.reset()} disabled={isLoading}>
+ form.reset()} disabled={isPending}>
Cancel
Save changes
diff --git a/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/index.tsx b/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/index.tsx
index 5f99b384f83..5e9c7a45edc 100644
--- a/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/index.tsx
+++ b/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/index.tsx
@@ -122,7 +122,7 @@ export const PolicyEditorPanel = memo(function ({
const supportWithCheck = ['update', 'all'].includes(command)
const isRenamingPolicy = selectedPolicy !== undefined && name !== selectedPolicy.name
- const { mutate: executeMutation, isLoading: isExecuting } = useExecuteSqlMutation({
+ const { mutate: executeMutation, isPending: isExecuting } = useExecuteSqlMutation({
onSuccess: async () => {
// refresh all policies
await queryClient.invalidateQueries({ queryKey: databasePoliciesKeys.list(ref) })
@@ -132,7 +132,7 @@ export const PolicyEditorPanel = memo(function ({
onError: (error) => setError(error),
})
- const { mutate: updatePolicy, isLoading: isUpdating } = useDatabasePolicyUpdateMutation({
+ const { mutate: updatePolicy, isPending: isUpdating } = useDatabasePolicyUpdateMutation({
onSuccess: () => {
toast.success('Successfully updated policy')
onSelectCancel()
diff --git a/apps/studio/components/interfaces/Auth/ProtectionAuthSettingsForm/ProtectionAuthSettingsForm.tsx b/apps/studio/components/interfaces/Auth/ProtectionAuthSettingsForm/ProtectionAuthSettingsForm.tsx
index 63f6674bf8b..0d523816eba 100644
--- a/apps/studio/components/interfaces/Auth/ProtectionAuthSettingsForm/ProtectionAuthSettingsForm.tsx
+++ b/apps/studio/components/interfaces/Auth/ProtectionAuthSettingsForm/ProtectionAuthSettingsForm.tsx
@@ -76,7 +76,7 @@ export const ProtectionAuthSettingsForm = () => {
isError,
isLoading,
} = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation({
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation({
onError: (error) => {
toast.error(`Failed to update settings: ${error?.message}`)
},
diff --git a/apps/studio/components/interfaces/Auth/RateLimits/RateLimits.tsx b/apps/studio/components/interfaces/Auth/RateLimits/RateLimits.tsx
index 55e086b2a44..881979f463b 100644
--- a/apps/studio/components/interfaces/Auth/RateLimits/RateLimits.tsx
+++ b/apps/studio/components/interfaces/Auth/RateLimits/RateLimits.tsx
@@ -48,7 +48,7 @@ export const RateLimits = () => {
isError,
isSuccess,
} = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation({
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation({
onSuccess: () => {
toast.success('Rate limits successfully updated')
},
diff --git a/apps/studio/components/interfaces/Auth/RedirectUrls/AddNewURLModal.tsx b/apps/studio/components/interfaces/Auth/RedirectUrls/AddNewURLModal.tsx
index 92fdbf8fde1..0bf6ba0e790 100644
--- a/apps/studio/components/interfaces/Auth/RedirectUrls/AddNewURLModal.tsx
+++ b/apps/studio/components/interfaces/Auth/RedirectUrls/AddNewURLModal.tsx
@@ -5,6 +5,7 @@ import { useFieldArray, useForm } from 'react-hook-form'
import { toast } from 'sonner'
import * as z from 'zod'
+import { Label } from '@ui/components/shadcn/ui/label'
import { useParams } from 'common'
import { useAuthConfigUpdateMutation } from 'data/auth/auth-config-update-mutation'
import {
@@ -19,7 +20,6 @@ import {
} from 'ui'
import { Input } from 'ui-patterns/DataInputs/Input'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
-import { Label } from '@ui/components/shadcn/ui/label'
import { urlRegex } from '../Auth.constants'
const MAX_URLS_LENGTH = 2 * 1024
@@ -32,7 +32,7 @@ interface AddNewURLModalProps {
export const AddNewURLModal = ({ visible, allowList, onClose }: AddNewURLModalProps) => {
const { ref } = useParams()
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation()
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation()
const FormSchema = z.object({
urls: z
diff --git a/apps/studio/components/interfaces/Auth/RedirectUrls/RedirectUrls.tsx b/apps/studio/components/interfaces/Auth/RedirectUrls/RedirectUrls.tsx
index 4db53464020..d1434eb583c 100644
--- a/apps/studio/components/interfaces/Auth/RedirectUrls/RedirectUrls.tsx
+++ b/apps/studio/components/interfaces/Auth/RedirectUrls/RedirectUrls.tsx
@@ -29,7 +29,7 @@ export const RedirectUrls = () => {
isError,
isSuccess,
} = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation()
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation()
const URI_ALLOW_LIST_ARRAY = useMemo(() => {
return authConfig?.URI_ALLOW_LIST
diff --git a/apps/studio/components/interfaces/Auth/SmtpForm/SmtpForm.tsx b/apps/studio/components/interfaces/Auth/SmtpForm/SmtpForm.tsx
index 6b8c9357bc0..bae64905289 100644
--- a/apps/studio/components/interfaces/Auth/SmtpForm/SmtpForm.tsx
+++ b/apps/studio/components/interfaces/Auth/SmtpForm/SmtpForm.tsx
@@ -46,7 +46,7 @@ interface SmtpFormValues {
export const SmtpForm = () => {
const { ref: projectRef } = useParams()
const { data: authConfig, error: authConfigError, isError } = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation()
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation()
const [enableSmtp, setEnableSmtp] = useState(false)
const [hidden, setHidden] = useState(true)
diff --git a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAuth0Dialog.tsx b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAuth0Dialog.tsx
index 69010641e6d..9f3bf9f61c0 100644
--- a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAuth0Dialog.tsx
+++ b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAuth0Dialog.tsx
@@ -50,7 +50,7 @@ export const CreateAuth0IntegrationDialog = ({
const isCreating = true
const { ref: projectRef } = useParams()
- const { mutate: createAuthIntegration, isLoading } = useCreateThirdPartyAuthIntegrationMutation({
+ const { mutate: createAuthIntegration, isPending } = useCreateThirdPartyAuthIntegrationMutation({
onSuccess: () => {
toast.success(`Successfully created a new Auth0 Auth integration.`)
onClose()
@@ -169,10 +169,10 @@ export const CreateAuth0IntegrationDialog = ({
)}
- onClose()}>
+ onClose()}>
Cancel
-
+
{isCreating ? 'Create connection' : 'Update connection'}
diff --git a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAwsCognitoAuthDialog.tsx b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAwsCognitoAuthDialog.tsx
index c27876c6261..bf209bf461a 100644
--- a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAwsCognitoAuthDialog.tsx
+++ b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateAwsCognitoAuthDialog.tsx
@@ -53,7 +53,7 @@ export const CreateAwsCognitoAuthIntegrationDialog = ({
const isCreating = true
const { ref: projectRef } = useParams()
- const { mutate: createAuthIntegration, isLoading } = useCreateThirdPartyAuthIntegrationMutation({
+ const { mutate: createAuthIntegration, isPending } = useCreateThirdPartyAuthIntegrationMutation({
onSuccess: () => {
toast.success(`Successfully created a new Amazon Cognito Auth integration.`)
onClose()
@@ -179,10 +179,10 @@ export const CreateAwsCognitoAuthIntegrationDialog = ({
)}
- onClose()}>
+ onClose()}>
Cancel
-
+
{isCreating ? 'Create connection' : 'Update connection'}
diff --git a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateClerkAuthDialog.tsx b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateClerkAuthDialog.tsx
index 50b78761d0d..76639f6d3bc 100644
--- a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateClerkAuthDialog.tsx
+++ b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateClerkAuthDialog.tsx
@@ -1,11 +1,11 @@
import { zodResolver } from '@hookform/resolvers/zod'
-import { Trash } from 'lucide-react'
import { useEffect } from 'react'
import { SubmitHandler, useForm } from 'react-hook-form'
import { toast } from 'sonner'
import * as z from 'zod'
import { useParams } from 'common'
+import { InlineLink } from 'components/ui/InlineLink'
import { useCreateThirdPartyAuthIntegrationMutation } from 'data/third-party-auth/integration-create-mutation'
import {
Button,
@@ -22,7 +22,6 @@ import {
Separator,
} from 'ui'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
-import { InlineLink } from 'components/ui/InlineLink'
interface CreateClerkAuthIntegrationProps {
visible: boolean
@@ -60,7 +59,7 @@ export const CreateClerkAuthIntegrationDialog = ({
onDelete,
}: CreateClerkAuthIntegrationProps) => {
const { ref: projectRef } = useParams()
- const { mutate: createAuthIntegration, isLoading } = useCreateThirdPartyAuthIntegrationMutation({
+ const { mutate: createAuthIntegration, isPending } = useCreateThirdPartyAuthIntegrationMutation({
onSuccess: () => {
toast.success(`Successfully created a new Clerk integration.`)
onClose()
@@ -138,10 +137,10 @@ export const CreateClerkAuthIntegrationDialog = ({
- onClose()}>
+ onClose()}>
Cancel
-
+
Create connection
diff --git a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateFirebaseAuthDialog.tsx b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateFirebaseAuthDialog.tsx
index 4c49a1fefc1..9c13f8e70ad 100644
--- a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateFirebaseAuthDialog.tsx
+++ b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateFirebaseAuthDialog.tsx
@@ -50,7 +50,7 @@ export const CreateFirebaseAuthIntegrationDialog = ({
const isCreating = true
const { ref: projectRef } = useParams()
- const { mutate: createAuthIntegration, isLoading } = useCreateThirdPartyAuthIntegrationMutation({
+ const { mutate: createAuthIntegration, isPending } = useCreateThirdPartyAuthIntegrationMutation({
onSuccess: () => {
toast.success(`Successfully created a new Firebase Auth integration.`)
onClose()
@@ -151,10 +151,10 @@ export const CreateFirebaseAuthIntegrationDialog = ({
)}
- onClose()}>
+ onClose()}>
Cancel
-
+
{isCreating ? 'Create connection' : 'Update connection'}
diff --git a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateWorkOSDialog.tsx b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateWorkOSDialog.tsx
index 9a2ee0d3efa..2edd1728780 100644
--- a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateWorkOSDialog.tsx
+++ b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/CreateWorkOSDialog.tsx
@@ -56,7 +56,7 @@ export const CreateWorkOSIntegrationDialog = ({
const isCreating = true
const { ref: projectRef } = useParams()
- const { mutate: createAuthIntegration, isLoading } = useCreateThirdPartyAuthIntegrationMutation({
+ const { mutate: createAuthIntegration, isPending } = useCreateThirdPartyAuthIntegrationMutation({
onSuccess: () => {
toast.success(`Successfully created a new WorkOS integration.`)
onClose()
@@ -160,10 +160,10 @@ export const CreateWorkOSIntegrationDialog = ({
)}
- onClose()}>
+ onClose()}>
Cancel
-
+
{isCreating ? 'Create connection' : 'Update connection'}
diff --git a/apps/studio/components/interfaces/Auth/Users/BanUserModal.tsx b/apps/studio/components/interfaces/Auth/Users/BanUserModal.tsx
index 7543072de08..97d7cb372d6 100644
--- a/apps/studio/components/interfaces/Auth/Users/BanUserModal.tsx
+++ b/apps/studio/components/interfaces/Auth/Users/BanUserModal.tsx
@@ -33,7 +33,7 @@ interface BanUserModalProps {
export const BanUserModal = ({ visible, user, onClose }: BanUserModalProps) => {
const { ref: projectRef } = useParams()
- const { mutate: updateUser, isLoading: isBanningUser } = useUserUpdateMutation({
+ const { mutate: updateUser, isPending: isBanningUser } = useUserUpdateMutation({
onSuccess: (_, vars) => {
const bannedUntil = dayjs()
.add(Number(vars.banDuration), 'hours')
diff --git a/apps/studio/components/interfaces/Auth/Users/CreateUserModal.tsx b/apps/studio/components/interfaces/Auth/Users/CreateUserModal.tsx
index 16ab8f410ff..9b905af61f6 100644
--- a/apps/studio/components/interfaces/Auth/Users/CreateUserModal.tsx
+++ b/apps/studio/components/interfaces/Auth/Users/CreateUserModal.tsx
@@ -43,7 +43,7 @@ const CreateUserModal = ({ visible, setVisible }: CreateUserModalProps) => {
'create_user'
)
- const { mutate: createUser, isLoading: isCreatingUser } = useUserCreateMutation({
+ const { mutate: createUser, isPending: isCreatingUser } = useUserCreateMutation({
onSuccess(res) {
toast.success(`Successfully created user: ${res.email}`)
form.reset({ email: '', password: '', autoConfirmUser: true })
diff --git a/apps/studio/components/interfaces/Auth/Users/DeleteUserModal.tsx b/apps/studio/components/interfaces/Auth/Users/DeleteUserModal.tsx
index 8c596658878..c68031a943a 100644
--- a/apps/studio/components/interfaces/Auth/Users/DeleteUserModal.tsx
+++ b/apps/studio/components/interfaces/Auth/Users/DeleteUserModal.tsx
@@ -20,7 +20,7 @@ export const DeleteUserModal = ({
}: DeleteUserModalProps) => {
const { ref: projectRef } = useParams()
- const { mutate: deleteUser, isLoading: isDeleting } = useUserDeleteMutation({
+ const { mutate: deleteUser, isPending: isDeleting } = useUserDeleteMutation({
onSuccess: () => {
toast.success(`Successfully deleted ${selectedUser?.email}`)
onDeleteSuccess?.()
diff --git a/apps/studio/components/interfaces/Auth/Users/InviteUserModal.tsx b/apps/studio/components/interfaces/Auth/Users/InviteUserModal.tsx
index 0fca24fe1d6..6edd5664f0c 100644
--- a/apps/studio/components/interfaces/Auth/Users/InviteUserModal.tsx
+++ b/apps/studio/components/interfaces/Auth/Users/InviteUserModal.tsx
@@ -16,7 +16,7 @@ const InviteUserModal = ({ visible, setVisible }: InviteUserModalProps) => {
const { ref: projectRef } = useParams()
const handleToggle = () => setVisible(!visible)
- const { mutate: inviteUser, isLoading: isInviting } = useUserInviteMutation({
+ const { mutate: inviteUser, isPending: isInviting } = useUserInviteMutation({
onSuccess: (_, variables) => {
toast.success(`Sent invite email to ${variables.email}`)
setVisible(false)
diff --git a/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx b/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx
index 516e60b2111..9eb3c0608e2 100644
--- a/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx
+++ b/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx
@@ -99,7 +99,7 @@ export const UserOverview = ({ user, onDeleteSuccess }: UserOverviewProps) => {
const seconds = Math.floor(mailerOtpExpiry % 60)
const formattedExpiry = `${mailerOtpExpiry > 60 ? `${minutes} minute${minutes > 1 ? 's' : ''} ${seconds > 0 ? 'and' : ''} ` : ''}${seconds > 0 ? `${seconds} second${seconds > 1 ? 's' : ''}` : ''}`
- const { mutate: resetPassword, isLoading: isResettingPassword } = useUserResetPasswordMutation({
+ const { mutate: resetPassword, isPending: isResettingPassword } = useUserResetPasswordMutation({
onSuccess: (_, vars) => {
setSuccessAction('send_recovery')
toast.success(`Sent password recovery to ${vars.user.email}`)
@@ -108,7 +108,7 @@ export const UserOverview = ({ user, onDeleteSuccess }: UserOverviewProps) => {
toast.error(`Failed to send password recovery: ${err.message}`)
},
})
- const { mutate: sendMagicLink, isLoading: isSendingMagicLink } = useUserSendMagicLinkMutation({
+ const { mutate: sendMagicLink, isPending: isSendingMagicLink } = useUserSendMagicLinkMutation({
onSuccess: (_, vars) => {
setSuccessAction('send_magic_link')
toast.success(
@@ -125,7 +125,7 @@ export const UserOverview = ({ user, onDeleteSuccess }: UserOverviewProps) => {
)
},
})
- const { mutate: sendOTP, isLoading: isSendingOTP } = useUserSendOTPMutation({
+ const { mutate: sendOTP, isPending: isSendingOTP } = useUserSendOTPMutation({
onSuccess: (_, vars) => {
setSuccessAction('send_otp')
toast.success(`Sent OTP to ${vars.user.phone}`)
@@ -140,7 +140,7 @@ export const UserOverview = ({ user, onDeleteSuccess }: UserOverviewProps) => {
setIsDeleteFactorsModalOpen(false)
},
})
- const { mutate: updateUser, isLoading: isUpdatingUser } = useUserUpdateMutation({
+ const { mutate: updateUser, isPending: isUpdatingUser } = useUserUpdateMutation({
onSuccess: () => {
toast.success('Successfully unbanned user')
setIsUnbanModalOpen(false)
diff --git a/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/ChangePaymentMethodModal.tsx b/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/ChangePaymentMethodModal.tsx
index 2157dc2189e..cb6503be215 100644
--- a/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/ChangePaymentMethodModal.tsx
+++ b/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/ChangePaymentMethodModal.tsx
@@ -15,7 +15,7 @@ const ChangePaymentMethodModal = ({
onClose,
}: ChangePaymentMethodModalProps) => {
const { slug } = useParams()
- const { mutate: markAsDefault, isLoading: isUpdating } =
+ const { mutate: markAsDefault, isPending: isUpdating } =
useOrganizationPaymentMethodMarkAsDefaultMutation({
onSuccess: () => {
toast.success(
diff --git a/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/DeletePaymentMethodModal.tsx b/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/DeletePaymentMethodModal.tsx
index e05ff07ce4b..a4c077dde45 100644
--- a/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/DeletePaymentMethodModal.tsx
+++ b/apps/studio/components/interfaces/Billing/Payment/PaymentMethods/DeletePaymentMethodModal.tsx
@@ -17,7 +17,7 @@ const DeletePaymentMethodModal = ({
}: DeletePaymentMethodModalProps) => {
const { slug } = useParams()
- const { mutate: deletePayment, isLoading: isDeleting } =
+ const { mutate: deletePayment, isPending: isDeleting } =
useOrganizationPaymentMethodDeleteMutation({
onSuccess: () => {
toast.success(
diff --git a/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx b/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx
index 6488c82b3bc..18374b74843 100644
--- a/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx
+++ b/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx
@@ -177,12 +177,12 @@ export const CreateBranchModal = () => {
const { mutate: sendEvent } = useSendEventMutation()
- const { mutateAsync: checkGithubBranchValidity, isLoading: isCheckingGHBranchValidity } =
+ const { mutateAsync: checkGithubBranchValidity, isPending: isCheckingGHBranchValidity } =
useCheckGithubBranchValidity({
onError: () => {},
})
- const { mutate: createBranch, isLoading: isCreatingBranch } = useBranchCreateMutation({
+ const { mutate: createBranch, isPending: isCreatingBranch } = useBranchCreateMutation({
onSuccess: async (data) => {
toast.success(`Successfully created preview branch "${data.name}"`)
if (projectRef) {
diff --git a/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx b/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx
index 0f2439e5238..8ccee1d7239 100644
--- a/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx
+++ b/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx
@@ -69,12 +69,12 @@ export const EditBranchModal = ({ branch, visible, onClose }: EditBranchModalPro
})
const { data: branches } = useBranchesQuery({ projectRef })
- const { mutateAsync: checkGithubBranchValidity, isLoading: isChecking } =
+ const { mutateAsync: checkGithubBranchValidity, isPending: isChecking } =
useCheckGithubBranchValidity({
onError: () => {},
})
- const { mutate: updateBranch, isLoading: isUpdating } = useBranchUpdateMutation({
+ const { mutate: updateBranch, isPending: isUpdating } = useBranchUpdateMutation({
onSuccess: (data) => {
toast.success(`Successfully updated branch "${data.name}"`)
onClose()
diff --git a/apps/studio/components/interfaces/BranchManagement/Overview.tsx b/apps/studio/components/interfaces/BranchManagement/Overview.tsx
index 4f9f6f047b9..64ef6818bae 100644
--- a/apps/studio/components/interfaces/BranchManagement/Overview.tsx
+++ b/apps/studio/components/interfaces/BranchManagement/Overview.tsx
@@ -190,14 +190,14 @@ const PreviewBranchActions = ({
] = useState(false)
const [showEditBranchModal, setShowEditBranchModal] = useState(false)
- const { mutate: resetBranch, isLoading: isResetting } = useBranchResetMutation({
+ const { mutate: resetBranch, isPending: isResetting } = useBranchResetMutation({
onSuccess() {
toast.success('Success! Please allow a few seconds for the branch to reset.')
setShowConfirmResetModal(false)
},
})
- const { mutate: updateBranch, isLoading: isUpdatingBranch } = useBranchUpdateMutation({
+ const { mutate: updateBranch, isPending: isUpdatingBranch } = useBranchUpdateMutation({
onSuccess() {
toast.success('Successfully updated branch')
setShowBranchModeSwitch(false)
diff --git a/apps/studio/components/interfaces/BranchManagement/ReviewRow.tsx b/apps/studio/components/interfaces/BranchManagement/ReviewRow.tsx
index 4e932850701..5dc02d0e0cf 100644
--- a/apps/studio/components/interfaces/BranchManagement/ReviewRow.tsx
+++ b/apps/studio/components/interfaces/BranchManagement/ReviewRow.tsx
@@ -24,7 +24,7 @@ export const ReviewRow = ({ branch }: ReviewRowProps) => {
const queryClient = useQueryClient()
const { project_ref: branchRef, parent_project_ref: projectRef } = branch
- const { mutate: updateBranch, isLoading: isUpdating } = useBranchUpdateMutation({
+ const { mutate: updateBranch, isPending: isUpdating } = useBranchUpdateMutation({
onSuccess: () => {
toast.success('Branch marked as not ready for review')
queryClient.invalidateQueries({
diff --git a/apps/studio/components/interfaces/Database/Backups/BackupItem.tsx b/apps/studio/components/interfaces/Database/Backups/BackupItem.tsx
index f298ebd9142..d0682d6e124 100644
--- a/apps/studio/components/interfaces/Database/Backups/BackupItem.tsx
+++ b/apps/studio/components/interfaces/Database/Backups/BackupItem.tsx
@@ -25,7 +25,7 @@ export const BackupItem = ({ index, isHealthy, backup, onSelectBackup }: BackupI
'queue_job.restore.prepare'
)
- const { mutate: downloadBackup, isLoading: isDownloading } = useBackupDownloadMutation({
+ const { mutate: downloadBackup, isPending: isDownloading } = useBackupDownloadMutation({
onSuccess: (res) => {
const { fileUrl } = res
diff --git a/apps/studio/components/interfaces/Database/Backups/BackupsList.tsx b/apps/studio/components/interfaces/Database/Backups/BackupsList.tsx
index e913babcfe0..74a21047659 100644
--- a/apps/studio/components/interfaces/Database/Backups/BackupsList.tsx
+++ b/apps/studio/components/interfaces/Database/Backups/BackupsList.tsx
@@ -29,7 +29,7 @@ export const BackupsList = () => {
const { data: backups } = useBackupsQuery({ projectRef })
const {
mutate: restoreFromBackup,
- isLoading: isRestoring,
+ isPending: isRestoring,
isSuccess: isSuccessBackup,
} = useBackupRestoreMutation({
onSuccess: () => {
diff --git a/apps/studio/components/interfaces/Database/Backups/PITR/PITRSelection.tsx b/apps/studio/components/interfaces/Database/Backups/PITR/PITRSelection.tsx
index 786cda8b371..ab8638b2ad0 100644
--- a/apps/studio/components/interfaces/Database/Backups/PITR/PITRSelection.tsx
+++ b/apps/studio/components/interfaces/Database/Backups/PITR/PITRSelection.tsx
@@ -45,7 +45,7 @@ export const PITRSelection = () => {
const {
mutate: restoreFromPitr,
- isLoading: isRestoring,
+ isPending: isRestoring,
isSuccess: isSuccessPITR,
} = usePitrRestoreMutation({
onSuccess: (_, variables) => {
diff --git a/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/CreateNewProjectDialog.tsx b/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/CreateNewProjectDialog.tsx
index 504787eb6c8..e62e335673a 100644
--- a/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/CreateNewProjectDialog.tsx
+++ b/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/CreateNewProjectDialog.tsx
@@ -74,7 +74,7 @@ export const CreateNewProjectDialog = ({
)
const hasPITREnabled = cloneBackups?.pitr_enabled
- const { mutate: triggerClone, isLoading: cloneMutationLoading } = useProjectCloneMutation({
+ const { mutate: triggerClone, isPending: cloneMutationLoading } = useProjectCloneMutation({
onError: (error) => {
toast.error(`Failed to restore to new project: ${error.message}`)
},
diff --git a/apps/studio/components/interfaces/Database/ETL/DestinationPanel/DestinationPanel.tsx b/apps/studio/components/interfaces/Database/ETL/DestinationPanel/DestinationPanel.tsx
index bfc4f9cd6f1..7ac88336bc7 100644
--- a/apps/studio/components/interfaces/Database/ETL/DestinationPanel/DestinationPanel.tsx
+++ b/apps/studio/components/interfaces/Database/ETL/DestinationPanel/DestinationPanel.tsx
@@ -93,23 +93,23 @@ export const DestinationPanel = ({
)
const [isFormInteracting, setIsFormInteracting] = useState(false)
- const { mutateAsync: createDestinationPipeline, isLoading: creatingDestinationPipeline } =
+ const { mutateAsync: createDestinationPipeline, isPending: creatingDestinationPipeline } =
useCreateDestinationPipelineMutation({
onSuccess: () => form.reset(defaultValues),
})
- const { mutateAsync: updateDestinationPipeline, isLoading: updatingDestinationPipeline } =
+ const { mutateAsync: updateDestinationPipeline, isPending: updatingDestinationPipeline } =
useUpdateDestinationPipelineMutation({
onSuccess: () => form.reset(defaultValues),
})
- const { mutateAsync: startPipeline, isLoading: startingPipeline } = useStartPipelineMutation()
+ const { mutateAsync: startPipeline, isPending: startingPipeline } = useStartPipelineMutation()
- const { mutateAsync: createS3AccessKey, isLoading: isCreatingS3AccessKey } =
+ const { mutateAsync: createS3AccessKey, isPending: isCreatingS3AccessKey } =
useS3AccessKeyCreateMutation()
- const { mutateAsync: createNamespace, isLoading: isCreatingNamespace } =
- useIcebergNamespaceCreateMutation({ projectRef })
+ const { mutateAsync: createNamespace, isPending: isCreatingNamespace } =
+ useIcebergNamespaceCreateMutation()
const {
data: publications = [],
diff --git a/apps/studio/components/interfaces/Database/ETL/EnableReplicationModal.tsx b/apps/studio/components/interfaces/Database/ETL/EnableReplicationModal.tsx
index b16a92f9bcf..40bc4d4764c 100644
--- a/apps/studio/components/interfaces/Database/ETL/EnableReplicationModal.tsx
+++ b/apps/studio/components/interfaces/Database/ETL/EnableReplicationModal.tsx
@@ -20,7 +20,7 @@ export const EnableReplicationModal = () => {
const { ref: projectRef } = useParams()
const [open, setOpen] = useState(false)
- const { mutate: createTenantSource, isLoading: creatingTenantSource } =
+ const { mutate: createTenantSource, isPending: creatingTenantSource } =
useCreateTenantSourceMutation({
onSuccess: () => {
toast.success('ETL replication has been successfully enabled!')
diff --git a/apps/studio/components/interfaces/Database/ETL/NewPublicationPanel.tsx b/apps/studio/components/interfaces/Database/ETL/NewPublicationPanel.tsx
index 5bac190cfbc..9227a39bfd4 100644
--- a/apps/studio/components/interfaces/Database/ETL/NewPublicationPanel.tsx
+++ b/apps/studio/components/interfaces/Database/ETL/NewPublicationPanel.tsx
@@ -34,7 +34,7 @@ interface NewPublicationPanelProps {
export const NewPublicationPanel = ({ visible, sourceId, onClose }: NewPublicationPanelProps) => {
const { ref: projectRef } = useParams()
- const { mutateAsync: createPublication, isLoading: creatingPublication } =
+ const { mutateAsync: createPublication, isPending: creatingPublication } =
useCreatePublicationMutation()
const { data: tables } = useReplicationTablesQuery({
projectRef,
diff --git a/apps/studio/components/interfaces/Database/ETL/ReplicationPipelineStatus/ReplicationPipelineStatus.tsx b/apps/studio/components/interfaces/Database/ETL/ReplicationPipelineStatus/ReplicationPipelineStatus.tsx
index e6eb18fbf74..51e34cc0e70 100644
--- a/apps/studio/components/interfaces/Database/ETL/ReplicationPipelineStatus/ReplicationPipelineStatus.tsx
+++ b/apps/studio/components/interfaces/Database/ETL/ReplicationPipelineStatus/ReplicationPipelineStatus.tsx
@@ -103,8 +103,8 @@ export const ReplicationPipelineStatus = () => {
})
const hasUpdate = Boolean(versionData?.new_version)
- const { mutateAsync: startPipeline, isLoading: isStartingPipeline } = useStartPipelineMutation()
- const { mutateAsync: stopPipeline, isLoading: isStoppingPipeline } = useStopPipelineMutation()
+ const { mutateAsync: startPipeline, isPending: isStartingPipeline } = useStartPipelineMutation()
+ const { mutateAsync: stopPipeline, isPending: isStoppingPipeline } = useStopPipelineMutation()
const destinationName = pipeline?.destination_name
const statusName = getStatusName(pipelineStatusData?.status)
diff --git a/apps/studio/components/interfaces/Database/ETL/RetryOptionsDropdown.tsx b/apps/studio/components/interfaces/Database/ETL/RetryOptionsDropdown.tsx
index 16f331f8a95..862511fdfa6 100644
--- a/apps/studio/components/interfaces/Database/ETL/RetryOptionsDropdown.tsx
+++ b/apps/studio/components/interfaces/Database/ETL/RetryOptionsDropdown.tsx
@@ -37,7 +37,7 @@ export const RetryOptionsDropdown = ({ tableId, tableName }: RetryOptionsDropdow
const { ref: projectRef, pipelineId: _pipelineId } = useParams()
const [isOpen, setIsOpen] = useState(false)
- const { mutate: rollbackTable, isLoading: isRollingBack } = useRollbackTableMutation({
+ const { mutate: rollbackTable, isPending: isRollingBack } = useRollbackTableMutation({
onSuccess: (_, vars) => {
const { projectRef, pipelineId } = vars
toast.success(`Table "${tableName}" rolled back successfully and pipeline is being restarted`)
@@ -50,7 +50,7 @@ export const RetryOptionsDropdown = ({ tableId, tableName }: RetryOptionsDropdow
)
},
})
- const { mutate: startPipeline, isLoading: isRestartingPipeline } = useStartPipelineMutation({
+ const { mutate: startPipeline, isPending: isRestartingPipeline } = useStartPipelineMutation({
onSuccess: () => {
toast.success('Pipeline restarted successfully')
setIsOpen(false)
diff --git a/apps/studio/components/interfaces/Database/EnumeratedTypes/CreateEnumeratedTypeSidePanel.tsx b/apps/studio/components/interfaces/Database/EnumeratedTypes/CreateEnumeratedTypeSidePanel.tsx
index 0e7ef55f107..b830d3caea5 100644
--- a/apps/studio/components/interfaces/Database/EnumeratedTypes/CreateEnumeratedTypeSidePanel.tsx
+++ b/apps/studio/components/interfaces/Database/EnumeratedTypes/CreateEnumeratedTypeSidePanel.tsx
@@ -42,7 +42,7 @@ const CreateEnumeratedTypeSidePanel = ({
const initialValues = { name: '', description: '', values: [{ value: '' }] }
const submitRef = useRef(null)
const { data: project } = useSelectedProjectQuery()
- const { mutate: createEnumeratedType, isLoading: isCreating } = useEnumeratedTypeCreateMutation({
+ const { mutate: createEnumeratedType, isPending: isCreating } = useEnumeratedTypeCreateMutation({
onSuccess: (res, vars) => {
toast.success(`Successfully created type "${vars.name}"`)
closePanel()
diff --git a/apps/studio/components/interfaces/Database/EnumeratedTypes/DeleteEnumeratedTypeModal.tsx b/apps/studio/components/interfaces/Database/EnumeratedTypes/DeleteEnumeratedTypeModal.tsx
index 362a2a0314e..37e3b1ab71d 100644
--- a/apps/studio/components/interfaces/Database/EnumeratedTypes/DeleteEnumeratedTypeModal.tsx
+++ b/apps/studio/components/interfaces/Database/EnumeratedTypes/DeleteEnumeratedTypeModal.tsx
@@ -18,7 +18,7 @@ const DeleteEnumeratedTypeModal = ({
onDelete,
}: DeleteEnumeratedTypeModalProps) => {
const { data: project } = useSelectedProjectQuery()
- const { mutate: deleteEnumeratedType, isLoading: isDeleting } = useEnumeratedTypeDeleteMutation({
+ const { mutate: deleteEnumeratedType, isPending: isDeleting } = useEnumeratedTypeDeleteMutation({
onSuccess: () => {
toast.success(`Successfully deleted "${selectedEnumeratedType.name}"`)
onClose()
diff --git a/apps/studio/components/interfaces/Database/EnumeratedTypes/EditEnumeratedTypeSidePanel.tsx b/apps/studio/components/interfaces/Database/EnumeratedTypes/EditEnumeratedTypeSidePanel.tsx
index 8beba161e56..d307fbfcb2f 100644
--- a/apps/studio/components/interfaces/Database/EnumeratedTypes/EditEnumeratedTypeSidePanel.tsx
+++ b/apps/studio/components/interfaces/Database/EnumeratedTypes/EditEnumeratedTypeSidePanel.tsx
@@ -41,7 +41,7 @@ const EditEnumeratedTypeSidePanel = ({
}: EditEnumeratedTypeSidePanelProps) => {
const submitRef = useRef(null)
const { data: project } = useSelectedProjectQuery()
- const { mutate: updateEnumeratedType, isLoading: isCreating } = useEnumeratedTypeUpdateMutation({
+ const { mutate: updateEnumeratedType, isPending: isCreating } = useEnumeratedTypeUpdateMutation({
onSuccess: (_, vars) => {
toast.success(`Successfully updated type "${vars.name.updated}"`)
onClose()
diff --git a/apps/studio/components/interfaces/Database/Extensions/EnableExtensionModal.tsx b/apps/studio/components/interfaces/Database/Extensions/EnableExtensionModal.tsx
index c6b58a9307a..2298b219e85 100644
--- a/apps/studio/components/interfaces/Database/Extensions/EnableExtensionModal.tsx
+++ b/apps/studio/components/interfaces/Database/Extensions/EnableExtensionModal.tsx
@@ -46,7 +46,7 @@ const EnableExtensionModal = ({ visible, extension, onCancel }: EnableExtensionM
{ enabled: visible }
)
const { data: protectedSchemas } = useProtectedSchemas({ excludeSchemas: ['extensions'] })
- const { mutate: enableExtension, isLoading: isEnabling } = useDatabaseExtensionEnableMutation({
+ const { mutate: enableExtension, isPending: isEnabling } = useDatabaseExtensionEnableMutation({
onSuccess: () => {
toast.success(`Extension "${extension.name}" is now enabled`)
onCancel()
diff --git a/apps/studio/components/interfaces/Database/Extensions/ExtensionRow.tsx b/apps/studio/components/interfaces/Database/Extensions/ExtensionRow.tsx
index d418a6ce95c..a5c8b1bbb85 100644
--- a/apps/studio/components/interfaces/Database/Extensions/ExtensionRow.tsx
+++ b/apps/studio/components/interfaces/Database/Extensions/ExtensionRow.tsx
@@ -41,7 +41,7 @@ export const ExtensionRow = ({ extension }: ExtensionRowProps) => {
? `${DOCS_URL}${extensionMeta?.link}`
: extensionMeta?.link ?? undefined
- const { mutate: disableExtension, isLoading: isDisabling } = useDatabaseExtensionDisableMutation({
+ const { mutate: disableExtension, isPending: isDisabling } = useDatabaseExtensionDisableMutation({
onSuccess: () => {
toast.success(`${extension.name} is off.`)
setIsDisableModalOpen(false)
diff --git a/apps/studio/components/interfaces/Database/Functions/CreateFunction/index.tsx b/apps/studio/components/interfaces/Database/Functions/CreateFunction/index.tsx
index 94b78e8a2bb..88efee47e75 100644
--- a/apps/studio/components/interfaces/Database/Functions/CreateFunction/index.tsx
+++ b/apps/studio/components/interfaces/Database/Functions/CreateFunction/index.tsx
@@ -92,9 +92,9 @@ export const CreateFunction = ({
onClose,
})
- const { mutate: createDatabaseFunction, isLoading: isCreating } =
+ const { mutate: createDatabaseFunction, isPending: isCreating } =
useDatabaseFunctionCreateMutation()
- const { mutate: updateDatabaseFunction, isLoading: isUpdating } =
+ const { mutate: updateDatabaseFunction, isPending: isUpdating } =
useDatabaseFunctionUpdateMutation()
const onSubmit: SubmitHandler> = async (data) => {
diff --git a/apps/studio/components/interfaces/Database/Functions/FunctionsList/FunctionsList.tsx b/apps/studio/components/interfaces/Database/Functions/FunctionsList/FunctionsList.tsx
index 30b5aef655e..f63d1428eed 100644
--- a/apps/studio/components/interfaces/Database/Functions/FunctionsList/FunctionsList.tsx
+++ b/apps/studio/components/interfaces/Database/Functions/FunctionsList/FunctionsList.tsx
@@ -6,19 +6,24 @@ import { useRef } from 'react'
import { toast } from 'sonner'
import { useParams } from 'common'
+import {
+ ReportsSelectFilter,
+ selectFilterSchema,
+} from 'components/interfaces/Reports/v2/ReportsSelectFilter'
+import { SIDEBAR_KEYS } from 'components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider'
import ProductEmptyState from 'components/to-be-cleaned/ProductEmptyState'
import AlertError from 'components/ui/AlertError'
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
import SchemaSelector from 'components/ui/SchemaSelector'
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
-import { SIDEBAR_KEYS } from 'components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider'
-import { useDatabaseFunctionsQuery } from 'data/database-functions/database-functions-query'
import { useDatabaseFunctionDeleteMutation } from 'data/database-functions/database-functions-delete-mutation'
+import type { DatabaseFunction } from 'data/database-functions/database-functions-query'
+import { useDatabaseFunctionsQuery } from 'data/database-functions/database-functions-query'
import { useSchemasQuery } from 'data/database/schemas-query'
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
+import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQueryStateWithSelect'
import { useQuerySchemaState } from 'hooks/misc/useSchemaQueryState'
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
-import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQueryStateWithSelect'
import { useIsProtectedSchema } from 'hooks/useProtectedSchemas'
import { useAiAssistantStateSnapshot } from 'state/ai-assistant-state'
import { useSidebarManagerSnapshot } from 'state/sidebar-manager-state'
@@ -32,13 +37,8 @@ import {
TableHeader,
TableRow,
} from 'ui'
-import {
- ReportsSelectFilter,
- selectFilterSchema,
-} from 'components/interfaces/Reports/v2/ReportsSelectFilter'
import { ProtectedSchemaWarning } from '../../ProtectedSchemaWarning'
import FunctionList from './FunctionList'
-import type { DatabaseFunction } from 'data/database-functions/database-functions-query'
import { useIsInlineEditorEnabled } from 'components/interfaces/Account/Preferences/InlineEditorSettings'
import { CreateFunction } from 'components/interfaces/Database/Functions/CreateFunction'
@@ -203,7 +203,7 @@ const FunctionsList = () => {
handleErrorOnDelete(deletingFunctionIdRef, selectedId, `Function not found`),
})
- const { mutate: deleteDatabaseFunction, isLoading: isDeletingFunction } =
+ const { mutate: deleteDatabaseFunction, isPending: isDeletingFunction } =
useDatabaseFunctionDeleteMutation({
onSuccess: (_, variables) => {
toast.success(`Successfully removed function ${variables.func.name}`)
diff --git a/apps/studio/components/interfaces/Database/Hooks/DeleteHookModal.tsx b/apps/studio/components/interfaces/Database/Hooks/DeleteHookModal.tsx
index d01331af18e..c9e8146b382 100644
--- a/apps/studio/components/interfaces/Database/Hooks/DeleteHookModal.tsx
+++ b/apps/studio/components/interfaces/Database/Hooks/DeleteHookModal.tsx
@@ -21,7 +21,7 @@ const DeleteHookModal = ({
const { name, schema } = selectedHook ?? {}
const { data: project } = useSelectedProjectQuery()
- const { mutate: deleteDatabaseTrigger, isLoading: isDeleting } = useDatabaseTriggerDeleteMutation(
+ const { mutate: deleteDatabaseTrigger, isPending: isDeleting } = useDatabaseTriggerDeleteMutation(
{
onSuccess: () => {
toast.success(`Successfully deleted ${name}`)
diff --git a/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx b/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx
index a76f24f6ae7..557f9d92dc5 100644
--- a/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx
+++ b/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx
@@ -78,7 +78,7 @@ const CreateIndexSidePanel = ({ visible, onClose }: CreateIndexSidePanelProps) =
connectionString: project?.connectionString,
})
- const { mutate: createIndex, isLoading: isExecuting } = useDatabaseIndexCreateMutation({
+ const { mutate: createIndex, isPending: isExecuting } = useDatabaseIndexCreateMutation({
onSuccess: () => {
onClose()
toast.success(`Successfully created index`)
diff --git a/apps/studio/components/interfaces/Database/Indexes/Indexes.tsx b/apps/studio/components/interfaces/Database/Indexes/Indexes.tsx
index c10c7e8da91..9adff97567c 100644
--- a/apps/studio/components/interfaces/Database/Indexes/Indexes.tsx
+++ b/apps/studio/components/interfaces/Database/Indexes/Indexes.tsx
@@ -18,15 +18,15 @@ import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQuer
import { useIsProtectedSchema } from 'hooks/useProtectedSchemas'
import {
Button,
+ Card,
Input,
SidePanel,
Table,
TableBody,
TableCell,
TableHead,
- TableRow,
TableHeader,
- Card,
+ TableRow,
} from 'ui'
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
import { ProtectedSchemaWarning } from '../ProtectedSchemaWarning'
@@ -83,7 +83,7 @@ const Indexes = () => {
connectionString: project?.connectionString,
})
- const { mutate: deleteIndex, isLoading: isExecuting } = useDatabaseIndexDeleteMutation({
+ const { mutate: deleteIndex, isPending: isExecuting } = useDatabaseIndexDeleteMutation({
onSuccess: async () => {
setSelectedIndexNameToDelete(null)
toast.success('Successfully deleted index')
diff --git a/apps/studio/components/interfaces/Database/Publications/PublicationsTableItem.tsx b/apps/studio/components/interfaces/Database/Publications/PublicationsTableItem.tsx
index 62b689f9843..d550f90628b 100644
--- a/apps/studio/components/interfaces/Database/Publications/PublicationsTableItem.tsx
+++ b/apps/studio/components/interfaces/Database/Publications/PublicationsTableItem.tsx
@@ -33,7 +33,7 @@ export const PublicationsTableItem = ({
'publications'
)
- const { mutate: updatePublications, isLoading } = useDatabasePublicationUpdateMutation()
+ const { mutate: updatePublications, isPending } = useDatabasePublicationUpdateMutation()
const toggleReplicationForTable = async (
table: PostgresTable,
@@ -94,7 +94,7 @@ export const PublicationsTableItem = ({
toggleReplicationForTable(table, selectedPublication)}
/>
diff --git a/apps/studio/components/interfaces/Database/Roles/CreateRolePanel.tsx b/apps/studio/components/interfaces/Database/Roles/CreateRolePanel.tsx
index 7381c5968cf..6d070ec4aa8 100644
--- a/apps/studio/components/interfaces/Database/Roles/CreateRolePanel.tsx
+++ b/apps/studio/components/interfaces/Database/Roles/CreateRolePanel.tsx
@@ -53,7 +53,7 @@ export const CreateRolePanel = ({ visible, onClose }: CreateRolePanelProps) => {
resolver: zodResolver(FormSchema),
})
- const { mutate: createDatabaseRole, isLoading: isCreating } = useDatabaseRoleCreateMutation({
+ const { mutate: createDatabaseRole, isPending: isCreating } = useDatabaseRoleCreateMutation({
onSuccess: (_, vars) => {
toast.success(`Successfully created new role: ${vars.payload.name}`)
handleClose()
diff --git a/apps/studio/components/interfaces/Database/Roles/DeleteRoleModal.tsx b/apps/studio/components/interfaces/Database/Roles/DeleteRoleModal.tsx
index 2b42240b506..4bc9d70584d 100644
--- a/apps/studio/components/interfaces/Database/Roles/DeleteRoleModal.tsx
+++ b/apps/studio/components/interfaces/Database/Roles/DeleteRoleModal.tsx
@@ -15,7 +15,7 @@ interface DeleteRoleModalProps {
export const DeleteRoleModal = ({ role, visible, onClose, onDelete }: DeleteRoleModalProps) => {
const { data: project } = useSelectedProjectQuery()
- const { mutate: deleteDatabaseRole, isLoading: isDeleting } = useDatabaseRoleDeleteMutation({
+ const { mutate: deleteDatabaseRole, isPending: isDeleting } = useDatabaseRoleDeleteMutation({
onSuccess: () => {
toast.success(`Successfully deleted role: ${role.name}`)
onClose()
diff --git a/apps/studio/components/interfaces/Database/Roles/RoleRow.tsx b/apps/studio/components/interfaces/Database/Roles/RoleRow.tsx
index c4c5b82dee4..b4d03690567 100644
--- a/apps/studio/components/interfaces/Database/Roles/RoleRow.tsx
+++ b/apps/studio/components/interfaces/Database/Roles/RoleRow.tsx
@@ -31,7 +31,7 @@ export const RoleRow = ({ role, disabled = false, onSelectDelete }: RoleRowProps
const { data: project } = useSelectedProjectQuery()
const [isExpanded, setIsExpanded] = useState(false)
- const { mutate: updateDatabaseRole, isLoading: isUpdating } = useDatabaseRoleUpdateMutation()
+ const { mutate: updateDatabaseRole, isPending: isUpdating } = useDatabaseRoleUpdateMutation()
const { isSuperuser, canLogin, canCreateRole, canCreateDb, isReplicationRole, canBypassRls } =
role
diff --git a/apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx b/apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx
index 4d5cf8d0f4a..c14145482fd 100644
--- a/apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx
+++ b/apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx
@@ -92,7 +92,7 @@ export const TriggerSheet = ({
const [showFunctionSelector, setShowFunctionSelector] = useState(false)
- const { mutate: createDatabaseTrigger, isLoading: isCreating } = useDatabaseTriggerCreateMutation(
+ const { mutate: createDatabaseTrigger, isPending: isCreating } = useDatabaseTriggerCreateMutation(
{
onSuccess: () => {
toast.success(`Successfully created trigger`)
@@ -103,7 +103,7 @@ export const TriggerSheet = ({
},
}
)
- const { mutate: updateDatabaseTrigger, isLoading: isUpdating } = useDatabaseTriggerUpdateMutation(
+ const { mutate: updateDatabaseTrigger, isPending: isUpdating } = useDatabaseTriggerUpdateMutation(
{
onSuccess: () => {
toast.success(`Successfully updated trigger`)
diff --git a/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggersList.tsx b/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggersList.tsx
index d4c4df241d4..f7c47373648 100644
--- a/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggersList.tsx
+++ b/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggersList.tsx
@@ -1,28 +1,29 @@
import type { PostgresTrigger } from '@supabase/postgres-meta'
import { PermissionAction } from '@supabase/shared-types/out/constants'
import { DatabaseZap, FunctionSquare, Plus, Search, Shield } from 'lucide-react'
-import { useRef, useState } from 'react'
import { parseAsBoolean, parseAsString, useQueryState } from 'nuqs'
+import { useRef, useState } from 'react'
import { toast } from 'sonner'
+import { useIsInlineEditorEnabled } from 'components/interfaces/Account/Preferences/InlineEditorSettings'
+import { ProtectedSchemaWarning } from 'components/interfaces/Database/ProtectedSchemaWarning'
+import { DeleteTrigger } from 'components/interfaces/Database/Triggers/DeleteTrigger'
+import { TriggerSheet } from 'components/interfaces/Database/Triggers/TriggerSheet'
import { SIDEBAR_KEYS } from 'components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider'
import AlertError from 'components/ui/AlertError'
import { ButtonTooltip } from 'components/ui/ButtonTooltip'
import SchemaSelector from 'components/ui/SchemaSelector'
-import { ProtectedSchemaWarning } from 'components/interfaces/Database/ProtectedSchemaWarning'
-import { DeleteTrigger } from 'components/interfaces/Database/Triggers/DeleteTrigger'
-import { TriggerSheet } from 'components/interfaces/Database/Triggers/TriggerSheet'
import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader'
-import { useDatabaseTriggersQuery } from 'data/database-triggers/database-triggers-query'
import { useDatabaseTriggerDeleteMutation } from 'data/database-triggers/database-trigger-delete-mutation'
+import { useDatabaseTriggersQuery } from 'data/database-triggers/database-triggers-query'
import { useTablesQuery } from 'data/tables/tables-query'
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
+import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQueryStateWithSelect'
import { useQuerySchemaState } from 'hooks/misc/useSchemaQueryState'
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
-import { handleErrorOnDelete, useQueryStateWithSelect } from 'hooks/misc/useQueryStateWithSelect'
import { useIsProtectedSchema, useProtectedSchemas } from 'hooks/useProtectedSchemas'
-import { useIsInlineEditorEnabled } from 'components/interfaces/Account/Preferences/InlineEditorSettings'
import { useAiAssistantStateSnapshot } from 'state/ai-assistant-state'
+import { useEditorPanelStateSnapshot } from 'state/editor-panel-state'
import { useSidebarManagerSnapshot } from 'state/sidebar-manager-state'
import {
AiIconAnimation,
@@ -35,7 +36,6 @@ import {
TableRow,
} from 'ui'
import { TriggerList } from './TriggerList'
-import { useEditorPanelStateSnapshot } from 'state/editor-panel-state'
import { generateTriggerCreateSQL } from './TriggerList.utils'
export const TriggersList = () => {
@@ -114,7 +114,7 @@ export const TriggersList = () => {
handleErrorOnDelete(deletingTriggerIdRef, selectedId, `Database Trigger not found`),
})
- const { mutate: deleteDatabaseTrigger, isLoading: isDeletingTrigger } =
+ const { mutate: deleteDatabaseTrigger, isPending: isDeletingTrigger } =
useDatabaseTriggerDeleteMutation({
onSuccess: (_, variables) => {
toast.success(`Successfully removed ${variables.trigger.name}`)
diff --git a/apps/studio/components/interfaces/DiskManagement/DiskManagementForm.tsx b/apps/studio/components/interfaces/DiskManagement/DiskManagementForm.tsx
index 5ff32c1e12f..4de34f0e855 100644
--- a/apps/studio/components/interfaces/DiskManagement/DiskManagementForm.tsx
+++ b/apps/studio/components/interfaces/DiskManagement/DiskManagementForm.tsx
@@ -225,13 +225,13 @@ export function DiskManagementForm() {
const isProjectRequestingDiskChanges = isRequestingChanges && !isProjectResizing
const noPermissions = isPermissionsLoaded && !canUpdateDiskConfiguration
- const { mutateAsync: updateDiskConfiguration, isLoading: isUpdatingDisk } =
+ const { mutateAsync: updateDiskConfiguration, isPending: isUpdatingDisk } =
useUpdateDiskAttributesMutation({
// this is to suppress to toast message
onError: () => {},
onSuccess: () => setRefetchInterval(2000),
})
- const { mutateAsync: updateSubscriptionAddon, isLoading: isUpdatingCompute } =
+ const { mutateAsync: updateSubscriptionAddon, isPending: isUpdatingCompute } =
useProjectAddonUpdateMutation({
// this is to suppress to toast message
onError: () => {},
@@ -240,7 +240,7 @@ export function DiskManagementForm() {
if (projectRef) setProjectStatus({ ref: projectRef, status: PROJECT_STATUS.RESIZING })
},
})
- const { mutateAsync: updateDiskAutoscaleConfig, isLoading: isUpdatingDiskAutoscaleConfig } =
+ const { mutateAsync: updateDiskAutoscaleConfig, isPending: isUpdatingDiskAutoscaleConfig } =
useUpdateDiskAutoscaleConfigMutation({
// this is to suppress to toast message
onError: () => {},
diff --git a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx
index 9320f44a7e5..541b73566c8 100644
--- a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx
+++ b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx
@@ -104,8 +104,8 @@ export const EdgeFunctionDetails = () => {
slug: functionSlug,
})
- const { mutate: updateEdgeFunction, isLoading: isUpdating } = useEdgeFunctionUpdateMutation()
- const { mutate: deleteEdgeFunction, isLoading: isDeleting } = useEdgeFunctionDeleteMutation({
+ const { mutate: updateEdgeFunction, isPending: isUpdating } = useEdgeFunctionUpdateMutation()
+ const { mutate: deleteEdgeFunction, isPending: isDeleting } = useEdgeFunctionDeleteMutation({
onSuccess: () => {
toast.success(`Successfully deleted "${selectedFunction?.name}"`)
router.push(`/project/${projectRef}/functions`)
diff --git a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionTesterSheet.tsx b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionTesterSheet.tsx
index 06585eba6e0..a4c8c3b5b1f 100644
--- a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionTesterSheet.tsx
+++ b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionTesterSheet.tsx
@@ -96,7 +96,7 @@ export const EdgeFunctionTesterSheet = ({ visible, onClose }: EdgeFunctionTester
const { serviceKey } = getKeys(apiKeys)
const { mutate: sendEvent } = useSendEventMutation()
- const { mutate: testEdgeFunction, isLoading } = useEdgeFunctionTestMutation({
+ const { mutate: testEdgeFunction, isPending } = useEdgeFunctionTestMutation({
onSuccess: (res) => setResponse(res),
onError: (err) => {
setError(err instanceof Error ? err.message : 'An unknown error occurred')
@@ -248,7 +248,7 @@ export const EdgeFunctionTesterSheet = ({ visible, onClose }: EdgeFunctionTester
{...field}
size="tiny"
placeholder="Enter key..."
- disabled={isLoading}
+ disabled={isPending}
className="h-auto py-2 font-mono rounded-none shadow-none bg-transparent border-l-0 border-r-1 border-t-0 border-b-0 border-border"
/>
@@ -263,7 +263,7 @@ export const EdgeFunctionTesterSheet = ({ visible, onClose }: EdgeFunctionTester
{...field}
size="tiny"
placeholder="Enter value..."
- disabled={isLoading}
+ disabled={isPending}
className="h-auto py-2 font-mono rounded-none shadow-none bg-transparent border-none"
/>
@@ -310,7 +310,7 @@ export const EdgeFunctionTesterSheet = ({ visible, onClose }: EdgeFunctionTester
diff --git a/apps/studio/components/interfaces/SignIn/SignInMfaForm.tsx b/apps/studio/components/interfaces/SignIn/SignInMfaForm.tsx
index 199cb417e00..7685f4e2a34 100644
--- a/apps/studio/components/interfaces/SignIn/SignInMfaForm.tsx
+++ b/apps/studio/components/interfaces/SignIn/SignInMfaForm.tsx
@@ -49,7 +49,7 @@ export const SignInMfaForm = ({ context = 'sign-in' }: SignInMfaFormProps) => {
} = useMfaListFactorsQuery()
const {
mutate: mfaChallengeAndVerify,
- isLoading: isVerifying,
+ isPending: isVerifying,
isSuccess,
} = useMfaChallengeAndVerifyMutation({
onSuccess: async () => {
diff --git a/apps/studio/components/interfaces/SignIn/SignUpForm.tsx b/apps/studio/components/interfaces/SignIn/SignUpForm.tsx
index 34844f5251b..b63c723fb94 100644
--- a/apps/studio/components/interfaces/SignIn/SignUpForm.tsx
+++ b/apps/studio/components/interfaces/SignIn/SignUpForm.tsx
@@ -67,7 +67,7 @@ export const SignUpForm = () => {
token: parseAsString.withDefault(''),
})
- const { mutate: signup, isLoading: isSigningUp } = useSignUpMutation({
+ const { mutate: signup, isPending: isSigningUp } = useSignUpMutation({
onSuccess: () => {
toast.success(`Signed up successfully!`)
setIsSubmitted(true)
diff --git a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/ConnectTablesDialog.tsx b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/ConnectTablesDialog.tsx
index 63e7daf01b6..b8276aa0f7a 100644
--- a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/ConnectTablesDialog.tsx
+++ b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/ConnectTablesDialog.tsx
@@ -428,7 +428,7 @@ const EnableReplicationDialogContent = ({ onClose }: { onClose: () => void }) =>
const noAccessToReplication =
!enablePgReplicate || error?.message.includes('feature flag is required')
- const { mutateAsync: createTenantSource, isLoading: creatingTenantSource } =
+ const { mutateAsync: createTenantSource, isPending: creatingTenantSource } =
useCreateTenantSourceMutation()
const onEnableReplication = async () => {
diff --git a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/NamespaceWithTables/index.tsx b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/NamespaceWithTables/index.tsx
index 41f4eee9ad7..b64829a6227 100644
--- a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/NamespaceWithTables/index.tsx
+++ b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/NamespaceWithTables/index.tsx
@@ -97,7 +97,7 @@ export const NamespaceWithTables = ({
const isSyncedPublicationTablesAndNamespaceTables =
publicationTablesNotSyncedToNamespaceTables.length === 0
- const { mutateAsync: importForeignSchema, isLoading: isImportingForeignSchema } =
+ const { mutateAsync: importForeignSchema, isPending: isImportingForeignSchema } =
useFDWImportForeignSchemaMutation()
const rescanNamespace = async () => {
diff --git a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/index.tsx b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/index.tsx
index 5bac33e4abe..48d8a950d97 100644
--- a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/index.tsx
+++ b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/index.tsx
@@ -65,7 +65,7 @@ export const AnalyticBucketDetails = () => {
const [pollIntervalNamespaces, setPollIntervalNamespaces] = useState(0)
const [pollIntervalNamespaceTables, setPollIntervalNamespaceTables] = useState(0)
- const { mutateAsync: startPipeline, isLoading: isStartingPipeline } = useStartPipelineMutation()
+ const { mutateAsync: startPipeline, isPending: isStartingPipeline } = useStartPipelineMutation()
/** The wrapper instance is the wrapper that is installed for this Analytics bucket. */
const { data: wrapperInstance, isLoading: isLoadingWrapperInstance } =
@@ -455,7 +455,7 @@ const ExtensionNeedsUpgrade = ({
}
const WrapperMissing = ({ bucketName }: { bucketName?: string }) => {
- const { mutateAsync: createIcebergWrapper, isLoading: isCreatingIcebergWrapper } =
+ const { mutateAsync: createIcebergWrapper, isPending: isCreatingIcebergWrapper } =
useIcebergWrapperCreateMutation()
const onSetupWrapper = async () => {
diff --git a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/useAnalyticsBucketAssociatedEntities.tsx b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/useAnalyticsBucketAssociatedEntities.tsx
index e5161679117..f046a1ed733 100644
--- a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/useAnalyticsBucketAssociatedEntities.tsx
+++ b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/useAnalyticsBucketAssociatedEntities.tsx
@@ -95,15 +95,15 @@ export const useAnalyticsBucketDeleteCleanUp = ({
} = useAnalyticsBucketAssociatedEntities({ projectRef, bucketId: bucketId })
// Default error handlers from all mutations will be silenced
- const { mutateAsync: deleteFDW, isLoading: isDeletingWrapper } = useFDWDeleteMutation({
+ const { mutateAsync: deleteFDW, isPending: isDeletingWrapper } = useFDWDeleteMutation({
onError: () => {},
})
- const { mutateAsync: deleteS3AccessKey, isLoading: isDeletingKey } = useS3AccessKeyDeleteMutation(
+ const { mutateAsync: deleteS3AccessKey, isPending: isDeletingKey } = useS3AccessKeyDeleteMutation(
{ onError: () => {} }
)
- const { mutateAsync: deletePublication, isLoading: isDeletingPublication } =
+ const { mutateAsync: deletePublication, isPending: isDeletingPublication } =
useDeletePublicationMutation({ onError: () => {} })
- const { mutateAsync: deletePipeline, isLoading: isDeletingPipeline } =
+ const { mutateAsync: deletePipeline, isPending: isDeletingPipeline } =
useDeleteDestinationPipelineMutation({ onError: () => {} })
const isDeleting =
@@ -162,5 +162,5 @@ export const useAnalyticsBucketDeleteCleanUp = ({
}
}
- return { mutateAsync, isLoading: isDeleting }
+ return { mutateAsync, isPending: isDeleting }
}
diff --git a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/CreateAnalyticsBucketModal.tsx b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/CreateAnalyticsBucketModal.tsx
index 8fac15884b7..9c40b53232d 100644
--- a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/CreateAnalyticsBucketModal.tsx
+++ b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/CreateAnalyticsBucketModal.tsx
@@ -115,16 +115,16 @@ export const CreateAnalyticsBucketModal = ({
const { mutate: sendEvent } = useSendEventMutation()
- const { mutateAsync: createAnalyticsBucket, isLoading: isCreatingAnalyticsBucket } =
+ const { mutateAsync: createAnalyticsBucket, isPending: isCreatingAnalyticsBucket } =
useAnalyticsBucketCreateMutation({
// [Joshen] Silencing the error here as it's being handled in onSubmit
onError: () => {},
})
- const { mutateAsync: createIcebergWrapper, isLoading: isCreatingIcebergWrapper } =
+ const { mutateAsync: createIcebergWrapper, isPending: isCreatingIcebergWrapper } =
useIcebergWrapperCreateMutation()
- const { mutateAsync: enableExtension, isLoading: isEnablingExtension } =
+ const { mutateAsync: enableExtension, isPending: isEnablingExtension } =
useDatabaseExtensionEnableMutation()
const config = BUCKET_TYPES['analytics']
diff --git a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/DeleteAnalyticsBucketModal.tsx b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/DeleteAnalyticsBucketModal.tsx
index 1367552aba0..706ce136ed3 100644
--- a/apps/studio/components/interfaces/Storage/AnalyticsBuckets/DeleteAnalyticsBucketModal.tsx
+++ b/apps/studio/components/interfaces/Storage/AnalyticsBuckets/DeleteAnalyticsBucketModal.tsx
@@ -22,10 +22,10 @@ export const DeleteAnalyticsBucketModal = ({
const { ref: projectRef } = useParams()
const { data: project } = useSelectedProjectQuery()
- const { mutateAsync: deleteAnalyticsBucketCleanUp, isLoading: isCleaningUpAnalyticsBucket } =
+ const { mutateAsync: deleteAnalyticsBucketCleanUp, isPending: isCleaningUpAnalyticsBucket } =
useAnalyticsBucketDeleteCleanUp({ projectRef, bucketId })
- const { mutate: deleteAnalyticsBucket, isLoading: isDeletingAnalyticsBucket } =
+ const { mutate: deleteAnalyticsBucket, isPending: isDeletingAnalyticsBucket } =
useAnalyticsBucketDeleteMutation({
onSuccess: async () => {
if (project?.connectionString) await deleteAnalyticsBucketCleanUp()
diff --git a/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx b/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx
index f9f67579801..0650510f289 100644
--- a/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx
+++ b/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx
@@ -114,7 +114,7 @@ export const CreateBucketModal = ({
const formattedGlobalUploadLimit = `${value} ${unit}`
const { mutate: sendEvent } = useSendEventMutation()
- const { mutateAsync: createBucket, isLoading: isCreatingBucket } = useBucketCreateMutation({
+ const { mutateAsync: createBucket, isPending: isCreatingBucket } = useBucketCreateMutation({
// [Joshen] Silencing the error here as it's being handled in onSubmit
onError: () => {},
})
diff --git a/apps/studio/components/interfaces/Storage/DeleteBucketModal.tsx b/apps/studio/components/interfaces/Storage/DeleteBucketModal.tsx
index 7e92b014f6e..c4c52d6982e 100644
--- a/apps/studio/components/interfaces/Storage/DeleteBucketModal.tsx
+++ b/apps/studio/components/interfaces/Storage/DeleteBucketModal.tsx
@@ -31,10 +31,10 @@ export const DeleteBucketModal = ({ visible, bucket, onClose }: DeleteBucketModa
schema: 'storage',
})
- const { mutateAsync: deletePolicy, isLoading: isDeletingPolicies } =
+ const { mutateAsync: deletePolicy, isPending: isDeletingPolicies } =
useDatabasePolicyDeleteMutation()
- const { mutate: deleteBucket, isLoading: isDeletingBucket } = useBucketDeleteMutation({
+ const { mutate: deleteBucket, isPending: isDeletingBucket } = useBucketDeleteMutation({
onSuccess: async () => {
if (!project) return console.error('Project is required')
diff --git a/apps/studio/components/interfaces/Storage/EditBucketModal.tsx b/apps/studio/components/interfaces/Storage/EditBucketModal.tsx
index 43b7e7849e2..ab73a2db457 100644
--- a/apps/studio/components/interfaces/Storage/EditBucketModal.tsx
+++ b/apps/studio/components/interfaces/Storage/EditBucketModal.tsx
@@ -69,7 +69,7 @@ export const EditBucketModal = ({ visible, bucket, onClose }: EditBucketModalPro
const [selectedUnit, setSelectedUnit] = useState(StorageSizeUnits.MB)
const { value: fileSizeLimit } = convertFromBytes(bucket?.file_size_limit ?? 0)
- const { mutate: updateBucket, isLoading: isUpdating } = useBucketUpdateMutation({
+ const { mutate: updateBucket, isPending: isUpdating } = useBucketUpdateMutation({
onSuccess: () => {
toast.success(`Successfully updated bucket "${bucket?.name}"`)
onClose()
diff --git a/apps/studio/components/interfaces/Storage/EmptyBucketModal.tsx b/apps/studio/components/interfaces/Storage/EmptyBucketModal.tsx
index fe7d4849c69..de94b5f5958 100644
--- a/apps/studio/components/interfaces/Storage/EmptyBucketModal.tsx
+++ b/apps/studio/components/interfaces/Storage/EmptyBucketModal.tsx
@@ -26,7 +26,7 @@ export const EmptyBucketModal = ({ visible, bucket, onClose }: EmptyBucketModalP
const { ref: projectRef } = useParams()
const { fetchFolderContents } = useStorageExplorerStateSnapshot()
- const { mutate: emptyBucket, isLoading } = useBucketEmptyMutation({
+ const { mutate: emptyBucket, isPending } = useBucketEmptyMutation({
onSuccess: async () => {
if (bucket === undefined) return
await fetchFolderContents({
@@ -70,10 +70,10 @@ export const EmptyBucketModal = ({ visible, bucket, onClose }: EmptyBucketModalP
-
+
Cancel
-
+
Empty bucket
diff --git a/apps/studio/components/interfaces/Storage/StorageExplorer/useFetchFileUrlQuery.tsx b/apps/studio/components/interfaces/Storage/StorageExplorer/useFetchFileUrlQuery.tsx
index b20aa1d2d90..74579a90e62 100644
--- a/apps/studio/components/interfaces/Storage/StorageExplorer/useFetchFileUrlQuery.tsx
+++ b/apps/studio/components/interfaces/Storage/StorageExplorer/useFetchFileUrlQuery.tsx
@@ -47,7 +47,7 @@ export const useFetchFileUrlQuery = (
const pathToFile = getPathAlongOpenedFolders(false)
const formattedPathToFile = [pathToFile, file?.name].join('/')
- return useQuery({
+ return useQuery({
queryKey: [projectRef, 'buckets', bucket.public, bucket.id, 'file', formattedPathToFile],
queryFn: () =>
fetchFileUrl(formattedPathToFile, projectRef, bucket.id, bucket.public, DEFAULT_EXPIRY),
diff --git a/apps/studio/components/interfaces/Storage/StorageSettings/CreateCredentialModal.tsx b/apps/studio/components/interfaces/Storage/StorageSettings/CreateCredentialModal.tsx
index 5ebafadc367..fd2855a3997 100644
--- a/apps/studio/components/interfaces/Storage/StorageSettings/CreateCredentialModal.tsx
+++ b/apps/studio/components/interfaces/Storage/StorageSettings/CreateCredentialModal.tsx
@@ -64,7 +64,7 @@ export const CreateCredentialModal = ({ visible, onOpenChange }: CreateCredentia
const {
data: createS3KeyData,
mutate: createS3AccessKey,
- isLoading: isCreating,
+ isPending: isCreating,
} = useS3AccessKeyCreateMutation({
onSuccess: () => {
setShowSuccess(true)
diff --git a/apps/studio/components/interfaces/Storage/StorageSettings/RevokeCredentialModal.tsx b/apps/studio/components/interfaces/Storage/StorageSettings/RevokeCredentialModal.tsx
index a310de9eb1d..5257a9ee204 100644
--- a/apps/studio/components/interfaces/Storage/StorageSettings/RevokeCredentialModal.tsx
+++ b/apps/studio/components/interfaces/Storage/StorageSettings/RevokeCredentialModal.tsx
@@ -26,7 +26,7 @@ export const RevokeCredentialModal = ({
onClose,
}: RevokeCredentialModalProps) => {
const { ref: projectRef } = useParams()
- const { mutate: deleteS3AccessKey, isLoading: isDeleting } = useS3AccessKeyDeleteMutation({
+ const { mutate: deleteS3AccessKey, isPending: isDeleting } = useS3AccessKeyDeleteMutation({
onSuccess: () => {
toast.success('Successfully revoked S3 access key')
onClose()
diff --git a/apps/studio/components/interfaces/Storage/StorageSettings/S3Connection.tsx b/apps/studio/components/interfaces/Storage/StorageSettings/S3Connection.tsx
index 52c8804c22a..ebb010fe2bf 100644
--- a/apps/studio/components/interfaces/Storage/StorageSettings/S3Connection.tsx
+++ b/apps/studio/components/interfaces/Storage/StorageSettings/S3Connection.tsx
@@ -81,7 +81,7 @@ export const S3Connection = () => {
{ enabled: canReadS3Credentials }
)
- const { mutate: updateStorageConfig, isLoading: isUpdating } =
+ const { mutate: updateStorageConfig, isPending: isUpdating } =
useProjectStorageConfigUpdateUpdateMutation({
onSuccess: (_, vars) => {
if (vars.features) form.reset({ s3ConnectionEnabled: vars.features.s3Protocol.enabled })
diff --git a/apps/studio/components/interfaces/Storage/StorageSettings/StorageListV2MigrationCallout.tsx b/apps/studio/components/interfaces/Storage/StorageSettings/StorageListV2MigrationCallout.tsx
index a357faaaebf..37667545832 100644
--- a/apps/studio/components/interfaces/Storage/StorageSettings/StorageListV2MigrationCallout.tsx
+++ b/apps/studio/components/interfaces/Storage/StorageSettings/StorageListV2MigrationCallout.tsx
@@ -77,7 +77,7 @@ const StorageListV2MigrationDialog = () => {
const [open, setOpen] = useState(false)
- const { mutate: updateStorageConfig, isLoading: isUpdating } =
+ const { mutate: updateStorageConfig, isPending: isUpdating } =
useProjectStorageConfigUpdateUpdateMutation({
onSuccess: () => {
toast.success(`Project's storage will be upgraded shortly!`)
diff --git a/apps/studio/components/interfaces/Storage/StorageSettings/StorageSettings.tsx b/apps/studio/components/interfaces/Storage/StorageSettings/StorageSettings.tsx
index 2929585ddb6..9e823f6d9d8 100644
--- a/apps/studio/components/interfaces/Storage/StorageSettings/StorageSettings.tsx
+++ b/apps/studio/components/interfaces/Storage/StorageSettings/StorageSettings.tsx
@@ -175,7 +175,7 @@ export const StorageSettings = () => {
buckets.find((x) => x.name === affectedBuckets[0])?.file_size_limit ?? 0
)
- const { mutate: updateStorageConfig, isLoading: isUpdating } =
+ const { mutate: updateStorageConfig, isPending: isUpdating } =
useProjectStorageConfigUpdateUpdateMutation({
onSuccess: () => {
toast.success('Successfully updated storage settings')
diff --git a/apps/studio/components/interfaces/Storage/VectorBuckets/CreateVectorTableSheet.tsx b/apps/studio/components/interfaces/Storage/VectorBuckets/CreateVectorTableSheet.tsx
index 964c2864bf0..4d78cc7234f 100644
--- a/apps/studio/components/interfaces/Storage/VectorBuckets/CreateVectorTableSheet.tsx
+++ b/apps/studio/components/interfaces/Storage/VectorBuckets/CreateVectorTableSheet.tsx
@@ -136,10 +136,10 @@ export const CreateVectorTableSheet = ({ bucketName }: CreateVectorTableSheetPro
name: 'metadataKeys',
})
- const { mutateAsync: createVectorBucketTable, isLoading: isCreatingVectorBucketTable } =
+ const { mutateAsync: createVectorBucketTable, isPending: isCreatingVectorBucketTable } =
useVectorBucketIndexCreateMutation()
- const { mutateAsync: importForeignSchema, isLoading: isImportingForeignSchema } =
+ const { mutateAsync: importForeignSchema, isPending: isImportingForeignSchema } =
useFDWImportForeignSchemaMutation({
onError: () => {},
})
diff --git a/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorBucketModal.tsx b/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorBucketModal.tsx
index 8ddc6b4f9a8..8f44eb2d081 100644
--- a/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorBucketModal.tsx
+++ b/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorBucketModal.tsx
@@ -32,7 +32,7 @@ export const DeleteVectorBucketModal = ({
const { mutate: deleteFDW } = useFDWDeleteMutation()
- const { mutateAsync: deleteBucket, isLoading: isDeletingBucket } = useVectorBucketDeleteMutation({
+ const { mutateAsync: deleteBucket, isPending: isDeletingBucket } = useVectorBucketDeleteMutation({
onSuccess: async () => {
toast.success(`Bucket "${bucketName}" deleted successfully`)
if (vectorBucketWrapper) {
diff --git a/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorTableModal.tsx b/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorTableModal.tsx
index 89ded2ebe2e..6c4902c68a5 100644
--- a/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorTableModal.tsx
+++ b/apps/studio/components/interfaces/Storage/VectorBuckets/DeleteVectorTableModal.tsx
@@ -24,7 +24,7 @@ export const DeleteVectorTableModal = ({
onError: () => {},
})
- const { mutate: deleteIndex, isLoading: isDeleting } = useVectorBucketIndexDeleteMutation({
+ const { mutate: deleteIndex, isPending: isDeleting } = useVectorBucketIndexDeleteMutation({
onSuccess: (_, vars) => {
deleteForeignTable({
projectRef: project?.ref,
diff --git a/apps/studio/components/interfaces/Storage/VectorBuckets/VectorBucketDetails.tsx b/apps/studio/components/interfaces/Storage/VectorBuckets/VectorBucketDetails.tsx
index b09d31dd93d..dea77d4df28 100644
--- a/apps/studio/components/interfaces/Storage/VectorBuckets/VectorBucketDetails.tsx
+++ b/apps/studio/components/interfaces/Storage/VectorBuckets/VectorBucketDetails.tsx
@@ -413,9 +413,9 @@ const ExtensionNeedsUpgrade = ({
const WrapperMissing = ({ bucketName }: { bucketName?: string }) => {
const { data: project } = useSelectedProjectQuery()
- const { mutateAsync: createS3VectorsWrapper, isLoading: isCreatingS3VectorsWrapper } =
+ const { mutateAsync: createS3VectorsWrapper, isPending: isCreatingS3VectorsWrapper } =
useS3VectorsWrapperCreateMutation()
- const { mutateAsync: createSchema, isLoading: isCreatingSchema } = useSchemaCreateMutation()
+ const { mutateAsync: createSchema, isPending: isCreatingSchema } = useSchemaCreateMutation()
const onSetupWrapper = async () => {
if (!bucketName) return console.error('Bucket name is required')
diff --git a/apps/studio/components/interfaces/TableGridEditor/DeleteConfirmationDialogs.tsx b/apps/studio/components/interfaces/TableGridEditor/DeleteConfirmationDialogs.tsx
index b68e8230141..37613bfa3e2 100644
--- a/apps/studio/components/interfaces/TableGridEditor/DeleteConfirmationDialogs.tsx
+++ b/apps/studio/components/interfaces/TableGridEditor/DeleteConfirmationDialogs.tsx
@@ -69,7 +69,7 @@ const DeleteConfirmationDialogs = ({
},
})
- const { mutate: deleteRows, isLoading: isDeletingRows } = useTableRowDeleteMutation({
+ const { mutate: deleteRows, isPending: isDeletingRows } = useTableRowDeleteMutation({
onSuccess: () => {
if (snap.confirmationDialog?.type === 'row') {
snap.confirmationDialog.callback?.()
@@ -81,7 +81,7 @@ const DeleteConfirmationDialogs = ({
},
})
- const { mutate: deleteAllRows, isLoading: isDeletingAllRows } = useTableRowDeleteAllMutation({
+ const { mutate: deleteAllRows, isPending: isDeletingAllRows } = useTableRowDeleteAllMutation({
onSuccess: () => {
if (snap.confirmationDialog?.type === 'row') {
snap.confirmationDialog.callback?.()
@@ -96,7 +96,7 @@ const DeleteConfirmationDialogs = ({
},
})
- const { mutate: truncateRows, isLoading: isTruncatingRows } = useTableRowTruncateMutation({
+ const { mutate: truncateRows, isPending: isTruncatingRows } = useTableRowTruncateMutation({
onSuccess: () => {
if (snap.confirmationDialog?.type === 'row') {
snap.confirmationDialog.callback?.()
diff --git a/apps/studio/components/interfaces/TableGridEditor/GridHeaderActions.tsx b/apps/studio/components/interfaces/TableGridEditor/GridHeaderActions.tsx
index 460e816fb78..11fac7f273a 100644
--- a/apps/studio/components/interfaces/TableGridEditor/GridHeaderActions.tsx
+++ b/apps/studio/components/interfaces/TableGridEditor/GridHeaderActions.tsx
@@ -113,7 +113,7 @@ export const GridHeaderActions = ({ table, isRefetching }: GridHeaderActionsProp
isRealtimeEnabled,
})
- const { mutate: updatePublications, isLoading: isTogglingRealtime } =
+ const { mutate: updatePublications, isPending: isTogglingRealtime } =
useDatabasePublicationUpdateMutation({
onSuccess: () => {
setShowEnableRealtime(false)
diff --git a/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/JsonEditor/index.tsx b/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/JsonEditor/index.tsx
index 7736b7e8855..ca0f3aa7576 100644
--- a/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/JsonEditor/index.tsx
+++ b/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/JsonEditor/index.tsx
@@ -55,7 +55,7 @@ export const JsonEditor = ({
const jsonString = typeof value === 'object' ? JSON.stringify(value) : (value as string)
const isTruncated = isValueTruncated(jsonString)
- const { mutate: getCellValue, isLoading, isSuccess, reset } = useGetCellValueMutation()
+ const { mutate: getCellValue, isPending, isSuccess, reset } = useGetCellValueMutation()
const validateJSON = async (resolve: () => void) => {
try {
@@ -194,7 +194,7 @@ export const JsonEditor = ({
performance issues
-
+
Load full JSON data
diff --git a/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/TextEditor.tsx b/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/TextEditor.tsx
index 5f7d353f6ac..2915aaf4dcf 100644
--- a/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/TextEditor.tsx
+++ b/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/RowEditor/TextEditor.tsx
@@ -48,7 +48,7 @@ export const TextEditor = ({
const value = row?.[column as keyof typeof row] as unknown as string
const isTruncated = isValueTruncated(value)
- const { mutate: getCellValue, isLoading, isSuccess, reset } = useGetCellValueMutation()
+ const { mutate: getCellValue, isPending, isSuccess, reset } = useGetCellValueMutation()
const loadFullValue = () => {
if (
@@ -184,7 +184,7 @@ export const TextEditor = ({
performance issues
-
+
Load full text data
diff --git a/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/SchemaEditor.tsx b/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/SchemaEditor.tsx
index 3db2efb86f3..bc4d2fbb696 100644
--- a/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/SchemaEditor.tsx
+++ b/apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/SchemaEditor.tsx
@@ -17,7 +17,7 @@ const SchemaEditor = ({ visible, onSuccess, closePanel }: SchemaEditorProps) =>
const [errors, setErrors] = useState<{ name?: string }>({ name: undefined })
const [name, setName] = useState('')
- const { mutateAsync: createSchema, isLoading } = useSchemaCreateMutation()
+ const { mutateAsync: createSchema, isPending } = useSchemaCreateMutation()
useEffect(() => {
if (visible) {
@@ -56,7 +56,7 @@ const SchemaEditor = ({ visible, onSuccess, closePanel }: SchemaEditorProps) =>
className="transition-all duration-100 ease-in"
onCancel={closePanel}
onConfirm={onSaveChanges}
- loading={isLoading}
+ loading={isPending}
cancelText="Cancel"
confirmText="Save"
>
diff --git a/apps/studio/components/interfaces/UnifiedLogs/components/DownloadLogsButton.tsx b/apps/studio/components/interfaces/UnifiedLogs/components/DownloadLogsButton.tsx
index db112a7241c..0d5843b8515 100644
--- a/apps/studio/components/interfaces/UnifiedLogs/components/DownloadLogsButton.tsx
+++ b/apps/studio/components/interfaces/UnifiedLogs/components/DownloadLogsButton.tsx
@@ -42,7 +42,7 @@ export const DownloadLogsButton = ({ searchParameters }: DownloadLogsButtonProps
const [numHours, setNumHours] = useState(DEFAULT_NUM_ROWS)
const [selectedFormat, setSelectedFormat] = useState<'csv' | 'json'>()
- const { mutate: retrieveLogs, isLoading } = useGetUnifiedLogsMutation({
+ const { mutate: retrieveLogs, isPending } = useGetUnifiedLogsMutation({
onSuccess: (res) => {
if (selectedFormat === 'json') {
const blob = new Blob([JSON.stringify(res, null, 2)], { type: 'text/json;charset=utf-8;' })
@@ -158,12 +158,12 @@ export const DownloadLogsButton = ({ searchParameters }: DownloadLogsButtonProps
setSelectedFormat(undefined)}
>
Cancel
-
+
Export
diff --git a/apps/studio/components/layouts/ProjectLayout/LayoutHeader/MergeRequestButton.tsx b/apps/studio/components/layouts/ProjectLayout/LayoutHeader/MergeRequestButton.tsx
index 6f4e8f92afc..085f58da157 100644
--- a/apps/studio/components/layouts/ProjectLayout/LayoutHeader/MergeRequestButton.tsx
+++ b/apps/studio/components/layouts/ProjectLayout/LayoutHeader/MergeRequestButton.tsx
@@ -22,7 +22,7 @@ export const MergeRequestButton = () => {
const { mutate: sendEvent } = useSendEventMutation()
- const { mutate: updateBranch, isLoading: isUpdating } = useBranchUpdateMutation({
+ const { mutate: updateBranch, isPending: isUpdating } = useBranchUpdateMutation({
onError: () => {
toast.error(`Failed to open merge request`)
},
diff --git a/apps/studio/components/layouts/ProjectLayout/PauseFailedState.tsx b/apps/studio/components/layouts/ProjectLayout/PauseFailedState.tsx
index cdd1f10dcfe..949c6e0ef28 100644
--- a/apps/studio/components/layouts/ProjectLayout/PauseFailedState.tsx
+++ b/apps/studio/components/layouts/ProjectLayout/PauseFailedState.tsx
@@ -26,7 +26,7 @@ export const PauseFailedState = () => {
const { data } = useDownloadableBackupQuery({ projectRef: ref })
const backups = data?.backups ?? []
- const { mutate: downloadBackup, isLoading: isDownloading } = useBackupDownloadMutation({
+ const { mutate: downloadBackup, isPending: isDownloading } = useBackupDownloadMutation({
onSuccess: (res) => {
const { fileUrl } = res
diff --git a/apps/studio/components/layouts/ProjectLayout/PausedState/ProjectPausedState.tsx b/apps/studio/components/layouts/ProjectLayout/PausedState/ProjectPausedState.tsx
index 482fb73888a..38f31fce41a 100644
--- a/apps/studio/components/layouts/ProjectLayout/PausedState/ProjectPausedState.tsx
+++ b/apps/studio/components/layouts/ProjectLayout/PausedState/ProjectPausedState.tsx
@@ -90,7 +90,7 @@ export const ProjectPausedState = ({ product }: ProjectPausedStateProps) => {
const [showConfirmRestore, setShowConfirmRestore] = useState(false)
const [showFreeProjectLimitWarning, setShowFreeProjectLimitWarning] = useState(false)
- const { mutate: restoreProject, isLoading: isRestoring } = useProjectRestoreMutation({
+ const { mutate: restoreProject, isPending: isRestoring } = useProjectRestoreMutation({
onSuccess: (_, variables) => {
setProjectStatus({ ref: variables.ref, status: PROJECT_STATUS.RESTORING })
toast.success('Restoring project')
diff --git a/apps/studio/components/layouts/ProjectLayout/RestoreFailedState.tsx b/apps/studio/components/layouts/ProjectLayout/RestoreFailedState.tsx
index 2d5637f5a19..9ef2b41120f 100644
--- a/apps/studio/components/layouts/ProjectLayout/RestoreFailedState.tsx
+++ b/apps/studio/components/layouts/ProjectLayout/RestoreFailedState.tsx
@@ -26,7 +26,7 @@ export const RestoreFailedState = () => {
const { data } = useDownloadableBackupQuery({ projectRef: ref })
const backups = data?.backups ?? []
- const { mutate: downloadBackup, isLoading: isDownloading } = useBackupDownloadMutation({
+ const { mutate: downloadBackup, isPending: isDownloading } = useBackupDownloadMutation({
onSuccess: (res) => {
const { fileUrl } = res
diff --git a/apps/studio/components/layouts/ProjectLayout/RestoringState.tsx b/apps/studio/components/layouts/ProjectLayout/RestoringState.tsx
index d39bd4a382f..afb93d573e2 100644
--- a/apps/studio/components/layouts/ProjectLayout/RestoringState.tsx
+++ b/apps/studio/components/layouts/ProjectLayout/RestoringState.tsx
@@ -12,7 +12,6 @@ import { useProjectStatusQuery } from 'data/projects/project-status-query'
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
import { PROJECT_STATUS } from 'lib/constants'
import { Button } from 'ui'
-import status from 'http-status'
const RestoringState = () => {
const { ref } = useParams()
@@ -48,7 +47,7 @@ const RestoringState = () => {
}
}, [isProjectStatusSuccess, projectStatusData, ref, invalidateProjectDetailsQuery])
- const { mutate: downloadBackup, isLoading: isDownloading } = useBackupDownloadMutation({
+ const { mutate: downloadBackup, isPending: isDownloading } = useBackupDownloadMutation({
onSuccess: (res) => {
const { fileUrl } = res
diff --git a/apps/studio/components/layouts/ReportsLayout/ReportsMenu.tsx b/apps/studio/components/layouts/ReportsLayout/ReportsMenu.tsx
index f0644ef7740..5283d43e30d 100644
--- a/apps/studio/components/layouts/ReportsLayout/ReportsMenu.tsx
+++ b/apps/studio/components/layouts/ReportsLayout/ReportsMenu.tsx
@@ -61,7 +61,7 @@ const ReportsMenu = () => {
projectRef: ref,
type: 'report',
})
- const { mutate: deleteReport, isLoading: isDeleting } = useContentDeleteMutation({
+ const { mutate: deleteReport, isPending: isDeleting } = useContentDeleteMutation({
onSuccess: () => {
setDeleteModalOpen(false)
toast.success('Successfully deleted report')
diff --git a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/DeleteSnippetsModal.tsx b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/DeleteSnippetsModal.tsx
index 4e07cb6b0e5..3ba65b2fab1 100644
--- a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/DeleteSnippetsModal.tsx
+++ b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/DeleteSnippetsModal.tsx
@@ -37,7 +37,7 @@ export const DeleteSnippetsModal = ({
if (ids.length > 0) ids.forEach((id) => snapV2.removeSnippet(id))
}
- const { mutate: deleteContent, isLoading: isDeleting } = useContentDeleteMutation({
+ const { mutate: deleteContent, isPending: isDeleting } = useContentDeleteMutation({
onSuccess: (data) => {
toast.success(
`Successfully deleted ${snippets.length.toLocaleString()} quer${snippets.length > 1 ? 'ies' : 'y'}`
diff --git a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/SQLEditorNav.tsx b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/SQLEditorNav.tsx
index 28dda2cedd8..af4caf81d54 100644
--- a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/SQLEditorNav.tsx
+++ b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/SQLEditorNav.tsx
@@ -294,7 +294,7 @@ export const SQLEditorNav = ({ sort = 'inserted_at' }: SQLEditorNavProps) => {
},
})
- const { mutate: deleteFolder, isLoading: isDeletingFolder } = useSQLSnippetFoldersDeleteMutation({
+ const { mutate: deleteFolder, isPending: isDeletingFolder } = useSQLSnippetFoldersDeleteMutation({
onSuccess: (_, vars) => {
toast.success('Successfully deleted folder')
const { ids } = vars
diff --git a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/ShareSnippetModal.tsx b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/ShareSnippetModal.tsx
index 28c2be47152..5f0ebac1ffd 100644
--- a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/ShareSnippetModal.tsx
+++ b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/ShareSnippetModal.tsx
@@ -21,7 +21,7 @@ export const ShareSnippetModal = ({
const { ref: projectRef } = useParams()
const snapV2 = useSqlEditorV2StateSnapshot()
- const { mutate: upsertContent, isLoading: isUpserting } = useContentUpsertMutation({
+ const { mutate: upsertContent, isPending: isUpserting } = useContentUpsertMutation({
onError: (error) => {
toast.error(`Failed to update query: ${error.message}`)
},
diff --git a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/UnshareSnippetModal.tsx b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/UnshareSnippetModal.tsx
index 69ecf902ab2..42a9e4d0dc5 100644
--- a/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/UnshareSnippetModal.tsx
+++ b/apps/studio/components/layouts/SQLEditorLayout/SQLEditorNavV2/UnshareSnippetModal.tsx
@@ -21,7 +21,7 @@ export const UnshareSnippetModal = ({
const { ref: projectRef } = useParams()
const snapV2 = useSqlEditorV2StateSnapshot()
- const { mutate: upsertContent, isLoading: isUpserting } = useContentUpsertMutation({
+ const { mutate: upsertContent, isPending: isUpserting } = useContentUpsertMutation({
onError: (error) => {
toast.error(`Failed to update query: ${error.message}`)
},
diff --git a/apps/studio/components/ui/AIAssistantPanel/DisplayBlockRenderer.tsx b/apps/studio/components/ui/AIAssistantPanel/DisplayBlockRenderer.tsx
index eb3f1e621ae..89b77ff8b46 100644
--- a/apps/studio/components/ui/AIAssistantPanel/DisplayBlockRenderer.tsx
+++ b/apps/studio/components/ui/AIAssistantPanel/DisplayBlockRenderer.tsx
@@ -100,7 +100,7 @@ export const DisplayBlockRenderer = ({
const {
mutate: executeSql,
error: executeSqlError,
- isLoading: executeSqlLoading,
+ isPending: executeSqlLoading,
} = useExecuteSqlMutation({
onError: () => {
// Suppress toast because error message is displayed inline
diff --git a/apps/studio/components/ui/AIAssistantPanel/EdgeFunctionRenderer.tsx b/apps/studio/components/ui/AIAssistantPanel/EdgeFunctionRenderer.tsx
index bf9ddabd1e0..7fade2aed77 100644
--- a/apps/studio/components/ui/AIAssistantPanel/EdgeFunctionRenderer.tsx
+++ b/apps/studio/components/ui/AIAssistantPanel/EdgeFunctionRenderer.tsx
@@ -42,7 +42,7 @@ export const EdgeFunctionRenderer = ({
const {
mutate: deployFunction,
error: deployError,
- isLoading: isDeploying,
+ isPending: isDeploying,
} = useEdgeFunctionDeployMutation({
onSuccess: () => {
setIsDeployed(true)
diff --git a/apps/studio/components/ui/EditorPanel/EditorPanel.tsx b/apps/studio/components/ui/EditorPanel/EditorPanel.tsx
index 912a4906af5..59b414fab58 100644
--- a/apps/studio/components/ui/EditorPanel/EditorPanel.tsx
+++ b/apps/studio/components/ui/EditorPanel/EditorPanel.tsx
@@ -3,22 +3,23 @@ import { useRouter } from 'next/router'
import { useState } from 'react'
import { LOCAL_STORAGE_KEYS, useParams } from 'common'
-import { SIDEBAR_KEYS } from 'components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider'
import {
createSqlSnippetSkeletonV2,
suffixWithLimit,
} from 'components/interfaces/SQLEditor/SQLEditor.utils'
import Results from 'components/interfaces/SQLEditor/UtilityPanel/Results'
import { SqlRunButton } from 'components/interfaces/SQLEditor/UtilityPanel/RunButton'
-import { QueryResponseError, useExecuteSqlMutation } from 'data/sql/execute-sql-mutation'
-import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
+import { SIDEBAR_KEYS } from 'components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider'
+import { useExecuteSqlMutation } from 'data/sql/execute-sql-mutation'
+import { useLocalStorageQuery } from 'hooks/misc/useLocalStorage'
import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
+import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
import { BASE_PATH } from 'lib/constants'
import { uuidv4 } from 'lib/helpers'
import { useProfile } from 'lib/profile'
import { useEditorPanelStateSnapshot } from 'state/editor-panel-state'
-import { useSqlEditorV2StateSnapshot } from 'state/sql-editor-v2'
import { useSidebarManagerSnapshot } from 'state/sidebar-manager-state'
+import { useSqlEditorV2StateSnapshot } from 'state/sql-editor-v2'
import {
Button,
cn,
@@ -43,7 +44,6 @@ import { containsUnknownFunction, isReadOnlySelect } from '../AIAssistantPanel/A
import AIEditor from '../AIEditor'
import { ButtonTooltip } from '../ButtonTooltip'
import { SqlWarningAdmonition } from '../SqlWarningAdmonition'
-import { useLocalStorageQuery } from 'hooks/misc/useLocalStorage'
export const EditorPanel = () => {
const {
@@ -92,7 +92,7 @@ export const EditorPanel = () => {
?.slice(1) ?? []
: [error?.message ?? '']
- const { mutate: executeSql, isLoading: isExecuting } = useExecuteSqlMutation({
+ const { mutate: executeSql, isPending: isExecuting } = useExecuteSqlMutation({
onSuccess: async (res) => {
setResults(res.result)
setError(undefined)
diff --git a/apps/studio/components/ui/ProjectSettings/ToggleLegacyApiKeys.tsx b/apps/studio/components/ui/ProjectSettings/ToggleLegacyApiKeys.tsx
index ecbd079f512..367a48f7445 100644
--- a/apps/studio/components/ui/ProjectSettings/ToggleLegacyApiKeys.tsx
+++ b/apps/studio/components/ui/ProjectSettings/ToggleLegacyApiKeys.tsx
@@ -142,7 +142,7 @@ const ToggleApiKeysModal = ({
const { ref: projectRef } = useParams()
const { enabled: isLegacyKeysEnabled } = legacyAPIKeysStatusData || {}
- const { mutate: toggleLegacyAPIKey, isLoading: isTogglingLegacyAPIKey } =
+ const { mutate: toggleLegacyAPIKey, isPending: isTogglingLegacyAPIKey } =
useToggleLegacyAPIKeysMutation()
const onToggleLegacyAPIKeysEnabled = () => {
diff --git a/apps/studio/data/config/jwt-secret-updating-status-query.ts b/apps/studio/data/config/jwt-secret-updating-status-query.ts
index 6e7e4831e55..c2ac6980191 100644
--- a/apps/studio/data/config/jwt-secret-updating-status-query.ts
+++ b/apps/studio/data/config/jwt-secret-updating-status-query.ts
@@ -56,7 +56,7 @@ export const useJwtSecretUpdatingStatusQuery = {
const client = useQueryClient()
- const query = useQuery({
+ const query = useQuery({
queryKey: configKeys.jwtSecretUpdatingStatus(projectRef),
queryFn: ({ signal }) => getJwtSecretUpdatingStatus({ projectRef }, signal),
enabled: enabled && typeof projectRef !== 'undefined',
diff --git a/apps/studio/data/config/project-upgrade-status-query.ts b/apps/studio/data/config/project-upgrade-status-query.ts
index 98b22b8e614..908456c7cb9 100644
--- a/apps/studio/data/config/project-upgrade-status-query.ts
+++ b/apps/studio/data/config/project-upgrade-status-query.ts
@@ -45,7 +45,7 @@ export const useProjectUpgradingStatusQuery = {
const client = useQueryClient()
- const query = useQuery({
+ const query = useQuery({
queryKey: configKeys.upgradeStatus(projectRef),
queryFn: ({ signal }) => getProjectUpgradingStatus({ projectRef, trackingId }, signal),
enabled: enabled && typeof projectRef !== 'undefined',
diff --git a/apps/studio/data/oauth-server-apps/oauth-server-apps-query.ts b/apps/studio/data/oauth-server-apps/oauth-server-apps-query.ts
index 6b8740f39b2..9e8348da037 100644
--- a/apps/studio/data/oauth-server-apps/oauth-server-apps-query.ts
+++ b/apps/studio/data/oauth-server-apps/oauth-server-apps-query.ts
@@ -43,7 +43,7 @@ export const useOAuthServerAppsQuery = (
...options
}: UseCustomQueryOptions = {}
) => {
- return useQuery({
+ return useQuery({
queryKey: oauthServerAppKeys.list(projectRef),
queryFn: () => getOAuthServerApps({ projectRef, supabaseClient }),
enabled: enabled && typeof projectRef !== 'undefined' && !!supabaseClient,
diff --git a/apps/studio/data/storage/iceberg-wrapper-create-mutation.ts b/apps/studio/data/storage/iceberg-wrapper-create-mutation.ts
index 15f0c37d46c..de2a08e28df 100644
--- a/apps/studio/data/storage/iceberg-wrapper-create-mutation.ts
+++ b/apps/studio/data/storage/iceberg-wrapper-create-mutation.ts
@@ -40,10 +40,10 @@ export const useIcebergWrapperCreateMutation = () => {
'*'
)
- const { mutateAsync: createS3AccessKey, isLoading: isCreatingS3AccessKey } =
+ const { mutateAsync: createS3AccessKey, isPending: isCreatingS3AccessKey } =
useS3AccessKeyCreateMutation()
- const { mutateAsync: createFDW, isLoading: isCreatingFDW } = useFDWCreateMutation()
+ const { mutateAsync: createFDW, isPending: isCreatingFDW } = useFDWCreateMutation()
const mutateAsync = async ({ bucketName }: { bucketName: string }) => {
const createS3KeyData = await createS3AccessKey({
@@ -78,7 +78,7 @@ export const useIcebergWrapperCreateMutation = () => {
return {
mutateAsync,
- isLoading: isCreatingFDW || isCreatingS3AccessKey,
+ isPending: isCreatingFDW || isCreatingS3AccessKey,
hasPermission: canCreateCredentials,
}
}
diff --git a/apps/studio/data/storage/s3-vectors-wrapper-create-mutation.ts b/apps/studio/data/storage/s3-vectors-wrapper-create-mutation.ts
index 41047d0bf6c..81e6d49714c 100644
--- a/apps/studio/data/storage/s3-vectors-wrapper-create-mutation.ts
+++ b/apps/studio/data/storage/s3-vectors-wrapper-create-mutation.ts
@@ -27,10 +27,10 @@ export const useS3VectorsWrapperCreateMutation = () => {
'*'
)
- const { mutateAsync: createS3AccessKey, isLoading: isCreatingS3AccessKey } =
+ const { mutateAsync: createS3AccessKey, isPending: isCreatingS3AccessKey } =
useS3AccessKeyCreateMutation()
- const { mutateAsync: createFDW, isLoading: isCreatingFDW } = useFDWCreateMutation()
+ const { mutateAsync: createFDW, isPending: isCreatingFDW } = useFDWCreateMutation()
const mutateAsync = async ({ bucketName }: { bucketName: string }) => {
const createS3KeyData = await createS3AccessKey({
@@ -64,7 +64,7 @@ export const useS3VectorsWrapperCreateMutation = () => {
return {
mutateAsync,
- isLoading: isCreatingFDW || isCreatingS3AccessKey,
+ isPending: isCreatingFDW || isCreatingS3AccessKey,
hasPermission: canCreateCredentials,
}
}
diff --git a/apps/studio/hooks/forms/useAIOptInForm.ts b/apps/studio/hooks/forms/useAIOptInForm.ts
index 10f94b86252..fd227bba2a4 100644
--- a/apps/studio/hooks/forms/useAIOptInForm.ts
+++ b/apps/studio/hooks/forms/useAIOptInForm.ts
@@ -41,7 +41,7 @@ export const useAIOptInForm = (onSuccessCallback?: () => void) => {
false
)
- const { mutate: updateOrganization, isLoading: isUpdating } = useOrganizationUpdateMutation()
+ const { mutate: updateOrganization, isPending: isUpdating } = useOrganizationUpdateMutation()
const form = useForm({
resolver: zodResolver(AIOptInSchema),
diff --git a/apps/studio/lib/profile.tsx b/apps/studio/lib/profile.tsx
index 0a971f27bf3..211251d186e 100644
--- a/apps/studio/lib/profile.tsx
+++ b/apps/studio/lib/profile.tsx
@@ -37,7 +37,7 @@ export const ProfileProvider = ({ children }: PropsWithChildren<{}>) => {
const signOut = useSignOut()
const { mutate: sendEvent } = useSendEventMutation()
- const { mutate: createProfile, isLoading: isCreatingProfile } = useProfileCreateMutation({
+ const { mutate: createProfile, isPending: isCreatingProfile } = useProfileCreateMutation({
onSuccess: () => {
sendEvent({ action: 'sign_up', properties: { category: 'conversion' } })
diff --git a/apps/studio/package.json b/apps/studio/package.json
index 2e7f4c4096c..3c341cdfdfa 100644
--- a/apps/studio/package.json
+++ b/apps/studio/package.json
@@ -65,8 +65,8 @@
"@supabase/shared-types": "0.1.80",
"@supabase/sql-to-rest": "^0.1.6",
"@supabase/supabase-js": "catalog:",
- "@tanstack/react-query": "4.35.7",
- "@tanstack/react-query-devtools": "4.35.7",
+ "@tanstack/react-query": "^4.42.0",
+ "@tanstack/react-query-devtools": "^4.42.0",
"@tanstack/react-table": "^8.21.3",
"@tanstack/react-virtual": "^3.13.12",
"@uidotdev/usehooks": "^2.4.1",
diff --git a/apps/studio/pages/integrations/github/authorize.tsx b/apps/studio/pages/integrations/github/authorize.tsx
index 6e5ebe28246..07a3ec3b03b 100644
--- a/apps/studio/pages/integrations/github/authorize.tsx
+++ b/apps/studio/pages/integrations/github/authorize.tsx
@@ -6,7 +6,7 @@ import { useGitHubAuthorizationCreateMutation } from 'data/integrations/github-a
const GitHubIntegrationAuthorize = () => {
const { code, state, setup_action } = useParams()
- const { mutate, isSuccess, isError, isLoading } = useGitHubAuthorizationCreateMutation({
+ const { mutate, isSuccess, isError, isPending } = useGitHubAuthorizationCreateMutation({
onSuccess() {
window.close()
},
@@ -25,7 +25,7 @@ const GitHubIntegrationAuthorize = () => {
Completing GitHub Authorization...
{isSuccess && You can now close this window.
}
- {isLoading && Authorizing...
}
+ {isPending && Authorizing...
}
{isError && Unable to authorize. Please try again.
}
)
diff --git a/apps/studio/pages/integrations/vercel/[slug]/marketplace/choose-project.tsx b/apps/studio/pages/integrations/vercel/[slug]/marketplace/choose-project.tsx
index b4964c57e3a..6df3aad7e7e 100644
--- a/apps/studio/pages/integrations/vercel/[slug]/marketplace/choose-project.tsx
+++ b/apps/studio/pages/integrations/vercel/[slug]/marketplace/choose-project.tsx
@@ -77,7 +77,7 @@ const VercelIntegration: NextPageWithLayout = () => {
const snapshot = useIntegrationInstallationSnapshot()
- const { mutate: createConnections, isLoading: isCreatingConnection } =
+ const { mutate: createConnections, isPending: isCreatingConnection } =
useIntegrationVercelConnectionsCreateMutation({
onSuccess() {
if (next && isVercelUrl(next)) {
diff --git a/apps/studio/pages/integrations/vercel/install.tsx b/apps/studio/pages/integrations/vercel/install.tsx
index 8494b474892..2030ab86411 100644
--- a/apps/studio/pages/integrations/vercel/install.tsx
+++ b/apps/studio/pages/integrations/vercel/install.tsx
@@ -111,7 +111,7 @@ const VercelIntegration: NextPageWithLayout = () => {
}
}
- const { mutate, isLoading: isLoadingVercelIntegrationCreateMutation } =
+ const { mutate, isPending: isLoadingVercelIntegrationCreateMutation } =
useVercelIntegrationCreateMutation({
onMutate() {
snapshot.setLoading(true)
diff --git a/apps/studio/pages/new/[slug].tsx b/apps/studio/pages/new/[slug].tsx
index 3dc60cf8e8f..2e49335364c 100644
--- a/apps/studio/pages/new/[slug].tsx
+++ b/apps/studio/pages/new/[slug].tsx
@@ -241,7 +241,7 @@ const Wizard: NextPageWithLayout = () => {
const {
mutate: createProject,
- isLoading: isCreatingNewProject,
+ isPending: isCreatingNewProject,
isSuccess: isSuccessNewProject,
} = useProjectCreateMutation({
onSuccess: (res) => {
diff --git a/apps/studio/pages/project/[ref]/auth/templates/[templateId].tsx b/apps/studio/pages/project/[ref]/auth/templates/[templateId].tsx
index be89c68b888..e8578974935 100644
--- a/apps/studio/pages/project/[ref]/auth/templates/[templateId].tsx
+++ b/apps/studio/pages/project/[ref]/auth/templates/[templateId].tsx
@@ -62,7 +62,7 @@ const RedirectToTemplates = () => {
const { data: authConfig, isLoading: isLoadingConfig } = useAuthConfigQuery({ projectRef })
- const { mutate: updateAuthConfig, isLoading: isUpdatingConfig } = useAuthConfigUpdateMutation({
+ const { mutate: updateAuthConfig, isPending: isUpdatingConfig } = useAuthConfigUpdateMutation({
onError: (error) => {
toast.error(`Failed to update settings: ${error?.message}`)
},
diff --git a/apps/studio/pages/project/[ref]/branches/index.tsx b/apps/studio/pages/project/[ref]/branches/index.tsx
index 411755feb33..c7ef6910775 100644
--- a/apps/studio/pages/project/[ref]/branches/index.tsx
+++ b/apps/studio/pages/project/[ref]/branches/index.tsx
@@ -77,7 +77,7 @@ const BranchesPage: NextPageWithLayout = () => {
const isLoading = isLoadingConnections || isLoadingBranches
const isSuccess = isSuccessConnections && isSuccessBranches
- const { mutate: deleteBranch, isLoading: isDeleting } = useBranchDeleteMutation({
+ const { mutate: deleteBranch, isPending: isDeleting } = useBranchDeleteMutation({
onSuccess: () => {
toast.success('Successfully deleted branch')
setSelectedBranchToDelete(undefined)
diff --git a/apps/studio/pages/project/[ref]/branches/merge-requests.tsx b/apps/studio/pages/project/[ref]/branches/merge-requests.tsx
index dfc38846481..f045acb4a0c 100644
--- a/apps/studio/pages/project/[ref]/branches/merge-requests.tsx
+++ b/apps/studio/pages/project/[ref]/branches/merge-requests.tsx
@@ -91,7 +91,7 @@ const MergeRequestsPage: NextPageWithLayout = () => {
const { mutate: sendEvent } = useSendEventMutation()
- const { mutate: updateBranch, isLoading: isUpdating } = useBranchUpdateMutation({
+ const { mutate: updateBranch, isPending: isUpdating } = useBranchUpdateMutation({
onError: () => {
toast.error(`Failed to update the branch`)
},
@@ -330,7 +330,7 @@ const MergeRequestsPageWrapper = ({ children }: PropsWithChildren<{}>) => {
const { mutate: sendEvent } = useSendEventMutation()
- const { mutate: updateBranch, isLoading: isUpdating } = useBranchUpdateMutation({
+ const { mutate: updateBranch, isPending: isUpdating } = useBranchUpdateMutation({
onError: () => {
toast.error(`Failed to update the branch`)
},
diff --git a/apps/studio/pages/project/[ref]/functions/[functionSlug]/code.tsx b/apps/studio/pages/project/[ref]/functions/[functionSlug]/code.tsx
index 9814b767b44..e529ae02cd8 100644
--- a/apps/studio/pages/project/[ref]/functions/[functionSlug]/code.tsx
+++ b/apps/studio/pages/project/[ref]/functions/[functionSlug]/code.tsx
@@ -61,7 +61,7 @@ const CodePage = () => {
)
const [files, setFiles] = useState([])
- const { mutate: deployFunction, isLoading: isDeploying } = useEdgeFunctionDeployMutation({
+ const { mutate: deployFunction, isPending: isDeploying } = useEdgeFunctionDeployMutation({
onSuccess: () => {
toast.success('Successfully updated edge function')
setShowDeployWarning(false)
diff --git a/apps/studio/pages/project/[ref]/functions/new.tsx b/apps/studio/pages/project/[ref]/functions/new.tsx
index f2a58ee4e39..df447398a86 100644
--- a/apps/studio/pages/project/[ref]/functions/new.tsx
+++ b/apps/studio/pages/project/[ref]/functions/new.tsx
@@ -136,7 +136,7 @@ const NewFunctionPage = () => {
},
})
- const { mutate: deployFunction, isLoading: isDeploying } = useEdgeFunctionDeployMutation({
+ const { mutate: deployFunction, isPending: isDeploying } = useEdgeFunctionDeployMutation({
// [Joshen] To investigate: For some reason, the invalidation for list of edge functions isn't triggering
onSuccess: () => {
toast.success('Successfully deployed edge function')
diff --git a/apps/studio/pages/project/[ref]/logs/explorer/index.tsx b/apps/studio/pages/project/[ref]/logs/explorer/index.tsx
index 1bc393f7aee..8a1dc32d16e 100644
--- a/apps/studio/pages/project/[ref]/logs/explorer/index.tsx
+++ b/apps/studio/pages/project/[ref]/logs/explorer/index.tsx
@@ -120,7 +120,7 @@ export const LogsExplorerPage: NextPageWithLayout = () => {
const results = logData
const isLoading = logsLoading
- const { mutate: upsertContent, isLoading: isUpsertingContent } = useContentUpsertMutation({
+ const { mutate: upsertContent, isPending: isUpsertingContent } = useContentUpsertMutation({
onError: (e) => {
const error = e as { message: string }
console.error(error)
diff --git a/apps/studio/pages/project/[ref]/merge.tsx b/apps/studio/pages/project/[ref]/merge.tsx
index 27f237d8bf8..eec16f0cf9c 100644
--- a/apps/studio/pages/project/[ref]/merge.tsx
+++ b/apps/studio/pages/project/[ref]/merge.tsx
@@ -94,7 +94,7 @@ const MergePage: NextPageWithLayout = () => {
currentBranchCreatedAt: currentBranch?.created_at,
})
- const { mutate: updateBranch, isLoading: isUpdating } = useBranchUpdateMutation({
+ const { mutate: updateBranch, isPending: isUpdating } = useBranchUpdateMutation({
onError: (error) => {
toast.error(`Failed to update branch: ${error.message}`)
},
@@ -189,7 +189,7 @@ const MergePage: NextPageWithLayout = () => {
})
}, [router])
- const { mutate: pushBranch, isLoading: isPushing } = useBranchPushMutation({
+ const { mutate: pushBranch, isPending: isPushing } = useBranchPushMutation({
onSuccess: (data) => {
toast.success('Branch update initiated!')
if (data?.workflow_run_id) {
@@ -215,7 +215,7 @@ const MergePage: NextPageWithLayout = () => {
const { mutate: sendEvent } = useSendEventMutation()
- const { mutate: mergeBranch, isLoading: isMerging } = useBranchMergeMutation({
+ const { mutate: mergeBranch, isPending: isMerging } = useBranchMergeMutation({
onSuccess: (data) => {
setIsSubmitting(false)
if (data.workflowRunId) {
@@ -256,7 +256,7 @@ const MergePage: NextPageWithLayout = () => {
},
})
- const { mutate: deleteBranch, isLoading: isDeleting } = useBranchDeleteMutation({
+ const { mutate: deleteBranch, isPending: isDeleting } = useBranchDeleteMutation({
onSuccess: () => {
toast.success('Branch closed successfully')
router.push(`/project/${parentProjectRef}/branches`)
diff --git a/apps/studio/pages/project/[ref]/observability/database.tsx b/apps/studio/pages/project/[ref]/observability/database.tsx
index a2b2bd003ff..2133bdaed14 100644
--- a/apps/studio/pages/project/[ref]/observability/database.tsx
+++ b/apps/studio/pages/project/[ref]/observability/database.tsx
@@ -133,7 +133,7 @@ const DatabaseUsage = () => {
defaultMaxClientConn
)
- const { isLoading: isUpdatingDiskSize } = useProjectDiskResizeMutation({
+ const { isPending: isUpdatingDiskSize } = useProjectDiskResizeMutation({
onSuccess: (_, variables) => {
toast.success(`Successfully updated disk size to ${variables.volumeSize} GB`)
setshowIncreaseDiskSizeModal(false)
diff --git a/apps/studio/pages/project/[ref]/settings/log-drains.tsx b/apps/studio/pages/project/[ref]/settings/log-drains.tsx
index 1674d5bd8bc..0c3e78d33e0 100644
--- a/apps/studio/pages/project/[ref]/settings/log-drains.tsx
+++ b/apps/studio/pages/project/[ref]/settings/log-drains.tsx
@@ -57,7 +57,7 @@ const LogDrainsSettings: NextPageWithLayout = () => {
{ enabled: !isLoadingEntitlement && hasAccessToLogDrains }
)
- const { mutate: createLogDrain, isLoading: createLoading } = useCreateLogDrainMutation({
+ const { mutate: createLogDrain, isPending: createLoading } = useCreateLogDrainMutation({
onSuccess: () => {
toast.success('Log drain destination created')
setOpen(false)
@@ -68,7 +68,7 @@ const LogDrainsSettings: NextPageWithLayout = () => {
},
})
- const { mutate: updateLogDrain, isLoading: updateLoading } = useUpdateLogDrainMutation({
+ const { mutate: updateLogDrain, isPending: updateLoading } = useUpdateLogDrainMutation({
onSuccess: () => {
toast.success('Log drain updated')
setOpen(false)
diff --git a/apps/studio/tests/helpers.tsx b/apps/studio/tests/helpers.tsx
index 504b910da5e..7f39856c96d 100644
--- a/apps/studio/tests/helpers.tsx
+++ b/apps/studio/tests/helpers.tsx
@@ -102,12 +102,6 @@ const ReactQueryTestConfig: React.FC = ({ children }) =
retry: false,
},
},
- logger: {
- log: console.log,
- warn: console.warn,
- // ✅ no more errors on the console for tests
- error: process.env.NODE_ENV === 'test' ? () => {} : console.error,
- },
})
)
diff --git a/apps/studio/types/react-query.ts b/apps/studio/types/react-query.ts
index bbee81fc593..9b34c2e5bef 100644
--- a/apps/studio/types/react-query.ts
+++ b/apps/studio/types/react-query.ts
@@ -10,7 +10,7 @@ export type UseCustomQueryOptions<
TError = unknown,
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
-> = UseQueryOptions
+> = Omit, 'queryKey'>
export type UseCustomMutationOptions<
TData = unknown,
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 439335a8002..67894125197 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -868,11 +868,11 @@ importers:
specifier: 'catalog:'
version: 2.83.0
'@tanstack/react-query':
- specifier: 4.35.7
- version: 4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^4.42.0
+ version: 4.42.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tanstack/react-query-devtools':
- specifier: 4.35.7
- version: 4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^4.42.0
+ version: 4.42.0(@tanstack/react-query@4.42.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tanstack/react-table':
specifier: ^8.21.3
version: 8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -8996,12 +8996,12 @@ packages:
resolution: {integrity: sha512-CNwKraj/Xa8H7DUyzrFBQC3wL96JzIxT4i9CW0hxqFNNmLDyUcMJr8264iqqfxC0u1lFSG96URad08T2Qhadpw==}
engines: {node: '>=12'}
- '@tanstack/match-sorter-utils@8.8.4':
- resolution: {integrity: sha512-rKH8LjZiszWEvmi01NR72QWZ8m4xmXre0OOwlRGnjU01Eqz/QnN+cqpty2PJ0efHblq09+KilvyR7lsbzmXVEw==}
+ '@tanstack/match-sorter-utils@8.19.4':
+ resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==}
engines: {node: '>=12'}
- '@tanstack/query-core@4.35.7':
- resolution: {integrity: sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==}
+ '@tanstack/query-core@4.41.0':
+ resolution: {integrity: sha512-193R4Jp9hjvlij6LryxrB5Mpbffd2L9PeWh3KlIy/hJV4SkBOfiQZ+jc5qAZLDCrdbkA5FjGj+UoDYw6TcNnyA==}
'@tanstack/query-core@5.13.4':
resolution: {integrity: sha512-8+rJucXvC/xlr4OrxHhEIob/cTlbT4fgmz1VsvB0D12FRStKaXeLORNGcOhSAynRd2NL74SV/Qq0IIb4DedLcA==}
@@ -9009,18 +9009,18 @@ packages:
'@tanstack/query-core@5.83.0':
resolution: {integrity: sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==}
- '@tanstack/react-query-devtools@4.35.7':
- resolution: {integrity: sha512-oe3reHNvXBTUvNb9jwLY8EYOXyp8Oq8/c40iwpXBnEkAtJI+RryrCXaGKFTivg72roPcYHzKILQHR9jbX8sn1Q==}
+ '@tanstack/react-query-devtools@4.42.0':
+ resolution: {integrity: sha512-N35fQ+tayyyNhKfkyH5OJdJL5eBx5S8lsyagtJre8rxtkyEjyQSEGyF+Xusao8LiqbYsi1ZMQgC7+e3zrwH3Kw==}
peerDependencies:
- '@tanstack/react-query': ^4.35.7
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ '@tanstack/react-query': ^4.42.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- '@tanstack/react-query@4.35.7':
- resolution: {integrity: sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==}
+ '@tanstack/react-query@4.42.0':
+ resolution: {integrity: sha512-j0tiofkzE3CSrYKmVRaKuwGgvCE+P2OOEDlhmfjeZf5ufcuFHwYwwgw3j08n4WYPVZ+OpsHblcFYezhKA3jDwg==}
peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-native: '*'
peerDependenciesMeta:
react-dom:
@@ -17339,8 +17339,8 @@ packages:
remedial@1.0.8:
resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==}
- remove-accents@0.4.2:
- resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==}
+ remove-accents@0.5.0:
+ resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==}
remove-trailing-separator@1.1.0:
resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
@@ -28607,30 +28607,30 @@ snapshots:
'@tanstack/history@1.114.22': {}
- '@tanstack/match-sorter-utils@8.8.4':
+ '@tanstack/match-sorter-utils@8.19.4':
dependencies:
- remove-accents: 0.4.2
+ remove-accents: 0.5.0
- '@tanstack/query-core@4.35.7': {}
+ '@tanstack/query-core@4.41.0': {}
'@tanstack/query-core@5.13.4': {}
'@tanstack/query-core@5.83.0': {}
- '@tanstack/react-query-devtools@4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@tanstack/react-query-devtools@4.42.0(@tanstack/react-query@4.42.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@tanstack/match-sorter-utils': 8.8.4
- '@tanstack/react-query': 4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@tanstack/match-sorter-utils': 8.19.4
+ '@tanstack/react-query': 4.42.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
superjson: 1.13.3
- use-sync-external-store: 1.2.0(react@18.3.1)
+ use-sync-external-store: 1.5.0(react@18.3.1)
- '@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@tanstack/react-query@4.42.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@tanstack/query-core': 4.35.7
+ '@tanstack/query-core': 4.41.0
react: 18.3.1
- use-sync-external-store: 1.2.0(react@18.3.1)
+ use-sync-external-store: 1.5.0(react@18.3.1)
optionalDependencies:
react-dom: 18.3.1(react@18.3.1)
@@ -39390,7 +39390,7 @@ snapshots:
remedial@1.0.8: {}
- remove-accents@0.4.2: {}
+ remove-accents@0.5.0: {}
remove-trailing-separator@1.1.0: {}