From 556e561e7e062d08ff02e46b03e12755073057c8 Mon Sep 17 00:00:00 2001 From: Arman Date: Wed, 8 Feb 2023 16:22:30 +0100 Subject: [PATCH 01/21] feat: refactor activity page to show users --- src/lib/layout/activity.svelte | 45 +++++++++++++--------------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/src/lib/layout/activity.svelte b/src/lib/layout/activity.svelte index ebe9c0420..113f89809 100644 --- a/src/lib/layout/activity.svelte +++ b/src/lib/layout/activity.svelte @@ -1,5 +1,5 @@ {#if logs.total} - Client + User Event Location IP @@ -38,28 +33,22 @@ {#each logs.logs as log} - {#if log.clientName} -
-
- {log.clientName} +
+ {#if log.userEmail} + {#if log.userName} + + {log.userName} + {:else} + + {log.userEmail} + {/if} + {:else} +
+
- - {log.clientName} - {log.clientVersion} - on {log.osName} - {log.osVersion} - -
- {:else} -
- -

Unknown

-
- {/if} + {log.userName ?? 'Anonymous'} + {/if} +
{log.event} From 3edcfb6e57fffd530792b19dc63cbd07fb11d66d Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 10 Feb 2023 17:42:37 +0100 Subject: [PATCH 02/21] fix: function fist deployment, select validity --- src/lib/elements/forms/inputSelect.svelte | 8 +++++++ .../attributes/enum.svelte | 2 ++ .../function-[function]/[[page]]/+page.svelte | 2 +- .../function-[function]/create.svelte | 24 ++++++++++++------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/lib/elements/forms/inputSelect.svelte b/src/lib/elements/forms/inputSelect.svelte index f0cf489bf..14bd7505f 100644 --- a/src/lib/elements/forms/inputSelect.svelte +++ b/src/lib/elements/forms/inputSelect.svelte @@ -27,6 +27,14 @@ error = element.validationMessage; }; + $: if (element && required && !value) { + element.setCustomValidity('This field is required'); + } + + $: if (element && required && value) { + element.setCustomValidity(''); + } + $: if (value) { error = null; } diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte index 0499984d0..839191430 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte @@ -7,6 +7,7 @@ export let value: string; export let attribute: Models.AttributeEnum; export let optionalText: string | undefined = undefined; + export let required = false; $: options = attribute.elements.map((element) => { return { @@ -22,5 +23,6 @@ {id} {label} {optionalText} + required={attribute.required} placeholder="Select a value" showLabel={!!label?.length} /> diff --git a/src/routes/console/project-[project]/functions/function-[function]/[[page]]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/[[page]]/+page.svelte index abf5c880c..af41f1d46 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/[[page]]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/[[page]]/+page.svelte @@ -156,7 +156,7 @@
Inactive
- {#if data.deployments.total > 1} + {#if data.deployments.total > 1 || (!activeDeployment && data.deployments.total === 1)} Deployment ID diff --git a/src/routes/console/project-[project]/functions/function-[function]/create.svelte b/src/routes/console/project-[project]/functions/function-[function]/create.svelte index 3f5ff6e0b..f296dd13d 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/create.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/create.svelte @@ -3,7 +3,6 @@ import { Modal, Collapsible, CollapsibleItem, Tabs, Tab, Code } from '$lib/components'; import { sdkForProject } from '$lib/stores/sdk'; import { createEventDispatcher, onMount } from 'svelte'; - import { addNotification } from '$lib/stores/notifications'; import { page } from '$app/stores'; import GithubLight from '$lib/images/github-illustration-light.svg'; import GithubDark from '$lib/images/github-illustration-dark.svg'; @@ -27,6 +26,7 @@ let lang = 'js'; let codeSnippets = {}; let os = 'unknown'; + let error: string = null; const functionId = $page.params.function; const dispatch = createEventDispatcher(); @@ -97,16 +97,15 @@ files[0], active ); - await invalidate(Dependencies.FUNCTION); - files = entrypoint = active = null; + await invalidate(Dependencies.DEPLOYMENTS); + files = undefined; + entrypoint = null; + active = false; showCreate = false; dispatch('created'); trackEvent('submit_deployment_create'); - } catch (error) { - addNotification({ - type: 'error', - message: error.message - }); + } catch ({ message }) { + error = message; } } @@ -124,9 +123,16 @@ return index === 0; } } + + $: if (!showCreate) { + files = undefined; + entrypoint = null; + active = false; + error = null; + } - + Create Deployment (mode = Mode.CLI)} selected={mode === Mode.CLI} event="deploy_cli"> From c27139cc37dbac3d76a340180aee7cd28fd767e5 Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 10 Feb 2023 17:50:17 +0100 Subject: [PATCH 03/21] fix: remove unused property --- .../document-[document]/attributes/enum.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte index 839191430..4cbd26932 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/enum.svelte @@ -7,7 +7,6 @@ export let value: string; export let attribute: Models.AttributeEnum; export let optionalText: string | undefined = undefined; - export let required = false; $: options = attribute.elements.map((element) => { return { From 9b82b624cfb65ed91d82e7d55ba40aa45f330654 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Mon, 13 Feb 2023 12:27:21 +0100 Subject: [PATCH 04/21] feat: track error events --- src/lib/actions/analytics.ts | 116 ++++++++++++++++++ src/lib/layout/header.svelte | 4 +- src/routes/console/account/+page.svelte | 11 +- src/routes/console/account/delete.svelte | 5 +- src/routes/console/account/header.svelte | 4 +- .../account/sessions/[[page]]/+page.svelte | 6 +- src/routes/console/createOrganization.svelte | 9 +- src/routes/console/onboarding/+page.svelte | 9 +- .../createMember.svelte | 9 +- .../createProject.svelte | 9 +- .../deleteMember.svelte | 5 +- .../deleteOrganization.svelte | 5 +- .../members/[[page]]/+page.svelte | 5 +- .../settings/+page.svelte | 5 +- .../project-[project]/auth/appleOAuth.svelte | 9 +- .../project-[project]/auth/auth0OAuth.svelte | 9 +- .../auth/authentikOAuth.svelte | 9 +- .../project-[project]/auth/createTeam.svelte | 9 +- .../project-[project]/auth/createUser.svelte | 9 +- .../project-[project]/auth/gitlabOAuth.svelte | 9 +- .../project-[project]/auth/mainOAuth.svelte | 9 +- .../auth/microsoftOAuth.svelte | 9 +- .../project-[project]/auth/oktaOAuth.svelte | 9 +- .../auth/security/+page.svelte | 11 +- .../auth/settings/+page.svelte | 5 +- .../auth/teams/team-[team]/+page.svelte | 5 +- .../teams/team-[team]/createMembership.svelte | 9 +- .../teams/team-[team]/deleteMembership.svelte | 5 +- .../auth/teams/team-[team]/deleteTeam.svelte | 5 +- .../auth/user-[user]/deleteAllSessions.svelte | 5 +- .../auth/user-[user]/deleteMembership.svelte | 5 +- .../auth/user-[user]/deleteSession.svelte | 5 +- .../auth/user-[user]/deleteUser.svelte | 5 +- .../auth/user-[user]/updateEmail.svelte | 5 +- .../auth/user-[user]/updateName.svelte | 5 +- .../auth/user-[user]/updatePassword.svelte | 5 +- .../auth/user-[user]/updatePhone.svelte | 5 +- .../auth/user-[user]/updatePrefs.svelte | 5 +- .../auth/user-[user]/updateStatus.svelte | 11 +- .../project-[project]/databases/create.svelte | 3 + .../attributes/deleteAttribute.svelte | 5 +- .../createAttribute.svelte | 5 +- .../createDocument.svelte | 5 +- .../document-[document]/+page.svelte | 5 +- .../document-[document]/delete.svelte | 5 +- .../document-[document]/document.svelte | 7 +- .../indexes/createIndex.svelte | 5 +- .../indexes/deleteIndex.svelte | 5 +- .../settings/deleteCollection.svelte | 5 +- .../settings/updateName.svelte | 5 +- .../settings/updatePermissions.svelte | 5 +- .../settings/updateSecurity.svelte | 5 +- .../settings/updateStatus.svelte | 5 +- .../database-[database]/create.svelte | 5 +- .../database-[database]/delete.svelte | 5 +- .../database-[database]/settings/+page.svelte | 5 +- .../functions/createFunction.svelte | 5 +- .../function-[function]/activate.svelte | 5 +- .../function-[function]/create.svelte | 5 +- .../function-[function]/delete.svelte | 5 +- .../function-[function]/execute.svelte | 5 +- .../function-[function]/settings/+page.svelte | 23 ++-- .../settings/delete.svelte | 5 +- .../settings/updateEvents.svelte | 5 +- .../keys/[key]/+page@project-[project].svelte | 8 +- .../overview/keys/[key]/delete.svelte | 3 + .../keys/[key]/updateExpirationDate.svelte | 5 +- .../overview/keys/wizard.svelte | 5 +- .../platforms/[platform]/android.svelte | 5 +- .../platforms/[platform]/appleIOS.svelte | 5 +- .../platforms/[platform]/appleMacOS.svelte | 5 +- .../platforms/[platform]/appleTvOS.svelte | 5 +- .../platforms/[platform]/appleWatchOS.svelte | 5 +- .../platforms/[platform]/delete.svelte | 3 + .../[platform]/flutterAndroid.svelte | 5 +- .../platforms/[platform]/flutterIOS.svelte | 5 +- .../platforms/[platform]/flutterLinux.svelte | 5 +- .../platforms/[platform]/flutterMacOS.svelte | 5 +- .../[platform]/flutterWindows.svelte | 5 +- .../platforms/wizard/android/step1.svelte | 4 +- .../platforms/wizard/apple/step1.svelte | 4 +- .../platforms/wizard/flutter/step1.svelte | 4 +- .../platforms/wizard/web/step1.svelte | 4 +- .../project-[project]/settings/+page.svelte | 8 +- .../settings/deleteProject.svelte | 5 +- .../settings/domains/[[page]]/+page.svelte | 5 +- .../settings/domains/delete.svelte | 5 +- .../settings/domains/wizard/step1.svelte | 4 +- .../settings/webhooks/[webhook]/delete.svelte | 5 +- .../webhooks/[webhook]/regenerate.svelte | 5 +- .../webhooks/[webhook]/updateEvents.svelte | 5 +- .../webhooks/[webhook]/updateName.svelte | 5 +- .../webhooks/[webhook]/updateSecurity.svelte | 5 +- .../webhooks/[webhook]/updateURL.svelte | 5 +- .../settings/webhooks/createWebhook.svelte | 5 +- .../bucket-[bucket]/[[page]]/+page.svelte | 5 +- .../storage/bucket-[bucket]/create.svelte | 10 +- .../bucket-[bucket]/deleteBucket.svelte | 5 +- .../storage/bucket-[bucket]/deleteFile.svelte | 5 +- .../bucket-[bucket]/file-[file]/+page.svelte | 5 +- .../file-[file]/deleteFile.svelte | 5 +- .../bucket-[bucket]/settings/+page.svelte | 21 ++-- .../project-[project]/storage/create.svelte | 9 +- src/routes/invite/+page.svelte | 5 +- src/routes/login/+page.svelte | 5 +- src/routes/recover/+page.svelte | 5 +- src/routes/register/+page.svelte | 5 +- 107 files changed, 495 insertions(+), 264 deletions(-) diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index 38798eadd..36a6b2c74 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -4,6 +4,7 @@ import { get } from 'svelte/store'; import { page } from '$app/stores'; import { user } from '$lib/stores/user'; import { growthEndpoint, Mode } from '$lib/constants'; +import { AppwriteException } from '@aw-labs/appwrite-console'; const isDevelopment = import.meta.env.DEV || import.meta.env?.VITE_VERCEL_ENV?.toString() === 'preview'; @@ -31,6 +32,15 @@ export function trackEvent(name: string, data: object = null): void { } } +export function trackError(exception: AppwriteException, event: Submit): void { + if (exception instanceof AppwriteException && exception.type) { + trackEvent(Submit.Error, { + type: exception.type, + form: event + }); + } +} + export function trackPageView(path: string) { if (!isTrackingAllowed()) { return; @@ -83,3 +93,109 @@ function isTrackingAllowed() { return true; } } + +export enum Submit { + Error = 'submit_error', + AccountCreate = 'submit_account_create', + AccountLogin = 'submit_account_login', + AccountLogout = 'submit_account_logout', + AccountRecover = 'submit_account_recover', + AccountUpdateName = 'submit_account_update_name', + AccountUpdateEmail = 'submit_account_update_email', + AccountUpdatePassword = 'submit_account_update_password', + AccountDelete = 'submit_account_delete', + AccountDeleteSession = 'submit_account_delete_session', + AccountDeleteAllSessions = 'submit_account_delete_all_sessions', + UserCreate = 'submit_user_create', + UserDelete = 'submit_user_delete', + UserUpdateEmail = 'submit_user_update_email', + UserUpdateName = 'submit_user_update_name', + UserUpdatePassword = 'submit_user_update_password', + UserUpdatePhone = 'submit_user_update_phone', + UserUpdatePreferences = 'submit_user_update_preferences', + UserUpdateStatus = 'submit_user_update_status', + UserUpdateVerificationEmail = 'submit_user_update_verification_email', + UserUpdateVerificationPhone = 'submit_user_update_verification_phone', + OrganizationCreate = 'submit_organization_create', + OrganizationDelete = 'submit_organization_delete', + OrganizationUpdateName = 'submit_organization_update_name', + ProjectCreate = 'submit_project_create', + ProjectDelete = 'submit_project_delete', + ProjectUpdateName = 'submit_project_update_name', + ProjectService = 'submit_project_service', + MemberCreate = 'submit_member_create', + MemberDelete = 'submit_member_delete', + MembershipUpdateStatus = 'submit_membership_update_status', + ProviderUpdate = 'submit_provider_update', + TeamCreate = 'submit_team_create', + TeamDelete = 'submit_team_delete', + TeamUpdateName = 'submit_team_update_name', + AuthLimitUpdate = 'submit_auth_limit_update', + AuthStatusUpdate = 'submit_auth_status_update', + SessionsLengthUpdate = 'submit_sessions_length_update', + SessionsLimitUpdate = 'submit_sessions_limit_update', + SessionDelete = 'submit_session_delete', + SessionDeleteAll = 'submit_session_delete_all', + DatabaseCreate = 'submit_database_create', + DatabaseDelete = 'submit_database_delete', + DatabaseUpdateName = 'submit_database_update_name', + AttributeCreate = 'submit_attribute_create', + AttributeDelete = 'submit_attribute_delete', + DocumentCreate = 'submit_document_create', + DocumentDelete = 'submit_document_delete', + DocumentUpdate = 'submit_document_update', + DocumentUpdatePermissions = 'submit_document_update_permissions', + IndexCreate = 'submit_index_create', + IndexDelete = 'submit_index_delete', + CollectionCreate = 'submit_collection_create', + CollectionDelete = 'submit_collection_delete', + CollectionUpdateName = 'submit_collection_update_name', + CollectionUpdatePermissions = 'submit_collection_update_permissions', + CollectionUpdateSecurity = 'submit_collection_update_security', + CollectionUpdateEnabled = 'submit_collection_update_enabled', + FunctionCreate = 'submit_function_create', + FunctionDelete = 'submit_function_delete', + FunctionUpdateName = 'submit_function_update_name', + FunctionUpdatePermissions = 'submit_function_update_permissions', + FunctionUpdateSchedule = 'submit_function_update_schedule', + FunctionUpdateTimeout = 'submit_function_update_timeout', + FunctionUpdateEvents = 'submit_function_update_events', + DeploymentCreate = 'submit_deployment_create', + DeploymentDelete = 'submit_deployment_delete', + DeploymentUpdate = 'submit_deployment_update', + ExecutionCreate = 'submit_execution_create', + VariableCreate = 'submit_variable_create', + VariableDelete = 'submit_variable_delete', + VariableUpdate = 'submit_variable_update', + KeyCreate = 'submit_key_create', + KeyDelete = 'submit_key_delete', + KeyUpdateName = 'submit_key_update_name', + KeyUpdateScopes = 'submit_key_update_scopes', + KeyUpdateExpire = 'submit_key_update_expire', + PlatformCreate = 'submit_platform_create', + PlatformDelete = 'submit_platform_delete', + PlatformUpdate = 'submit_platform_update', + DomainCreate = 'submit_domain_create', + DomainDelete = 'submit_domain_delete', + DomainUpdateVerification = 'submit_domain_update_verification', + WebhookCreate = 'submit_webhook_create', + WebhookDelete = 'submit_webhook_delete', + WebhookUpdateSignature = 'submit_webhook_update_signature', + WebhookUpdateUrl = 'submit_webhook_update_url', + WebhookUpdateEvents = 'submit_webhook_update_events', + WebhookUpdateName = 'submit_webhook_update_name', + WebhookUpdateSecurity = 'submit_webhook_update_security', + BucketCreate = 'submit_bucket_create', + BucketDelete = 'submit_bucket_delete', + BucketUpdateEnabled = 'submit_bucket_update_enabled', + BucketUpdateName = 'submit_bucket_update_name', + BucketUpdatePermissions = 'submit_bucket_update_permissions', + BucketUpdateSecurity = 'submit_bucket_update_security', + BucketUpdateFileSecurity = 'submit_bucket_update_file_security', + BucketUpdateSize = 'submit_bucket_update_size', + BucketUpdateCompression = 'submit_bucket_update_compression', + BucketUpdateExtensions = 'submit_bucket_update_extensions', + FileCreate = 'submit_file_create', + FileDelete = 'submit_file_delete', + FileUpdatePermissions = 'submit_file_update_permissions' +} diff --git a/src/lib/layout/header.svelte b/src/lib/layout/header.svelte index 8c4aff097..88a9a0b4b 100644 --- a/src/lib/layout/header.svelte +++ b/src/lib/layout/header.svelte @@ -19,7 +19,7 @@ let showFeedback = false; import { slide } from 'svelte/transition'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent } from '$lib/actions/analytics'; import { sdkForConsole } from '$lib/stores/sdk'; import { goto } from '$app/navigation'; @@ -36,7 +36,7 @@ async function logout() { await sdkForConsole.account.deleteSession('current'); - trackEvent('submit_account_logout'); + trackEvent(Submit.AccountLogout); await goto(`${base}/login`); } diff --git a/src/routes/console/account/+page.svelte b/src/routes/console/account/+page.svelte index e423672b9..74aa1702f 100644 --- a/src/routes/console/account/+page.svelte +++ b/src/routes/console/account/+page.svelte @@ -10,7 +10,7 @@ import Delete from './delete.svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; let name: string = null, email: string = null, @@ -32,12 +32,13 @@ message: 'Name has been updated', type: 'success' }); - trackEvent('submit_account_update_name'); + trackEvent(Submit.AccountUpdateName); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.AccountUpdateName); } } async function updateEmail() { @@ -48,12 +49,13 @@ message: 'Email has been updated', type: 'success' }); - trackEvent('submit_account_update_email'); + trackEvent(Submit.AccountUpdateEmail); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.AccountUpdateEmail); } } @@ -65,12 +67,13 @@ message: 'Password has been updated', type: 'success' }); - trackEvent('submit_account_update_password'); + trackEvent(Submit.AccountUpdatePassword); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.AccountUpdatePassword); } } diff --git a/src/routes/console/account/delete.svelte b/src/routes/console/account/delete.svelte index bf1a7d2a3..cf981d4e9 100644 --- a/src/routes/console/account/delete.svelte +++ b/src/routes/console/account/delete.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/account/header.svelte b/src/routes/console/account/header.svelte index 3b01edff9..d298924d8 100644 --- a/src/routes/console/account/header.svelte +++ b/src/routes/console/account/header.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent } from '$lib/actions/analytics'; import { Tab, Tabs } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { isTabSelected } from '$lib/helpers/load'; @@ -39,7 +39,7 @@ async function logout() { await sdkForConsole.account.deleteSession('current'); - trackEvent('submit_account_logout'); + trackEvent(Submit.AccountLogout); await goto(`${base}/login`); } diff --git a/src/routes/console/account/sessions/[[page]]/+page.svelte b/src/routes/console/account/sessions/[[page]]/+page.svelte index bf0385441..5e6fd5787 100644 --- a/src/routes/console/account/sessions/[[page]]/+page.svelte +++ b/src/routes/console/account/sessions/[[page]]/+page.svelte @@ -17,7 +17,7 @@ import { Dependencies } from '$lib/constants'; import type { Models } from '@aw-labs/appwrite-console'; import type { PageData } from './$types'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent } from '$lib/actions/analytics'; import { base } from '$app/paths'; export let data: PageData; @@ -28,7 +28,7 @@ const logout = async (session: Models.Session) => { await sdkForConsole.account.deleteSession(session.$id); - trackEvent('submit_account_delete_session'); + trackEvent(Submit.AccountDeleteSession); if (session.current) { await goto(`${base}/login`); } @@ -36,7 +36,7 @@ }; const logoutAll = async () => { await sdkForConsole.account.deleteSessions(); - trackEvent('submit_account_delete_all_sessions'); + trackEvent(Submit.AccountDeleteAllSessions); await goto(`${base}/login`); invalidate(Dependencies.ACCOUNT_SESSIONS); }; diff --git a/src/routes/console/createOrganization.svelte b/src/routes/console/createOrganization.svelte index 7b12dbdd0..da4c78317 100644 --- a/src/routes/console/createOrganization.svelte +++ b/src/routes/console/createOrganization.svelte @@ -7,7 +7,7 @@ import { createEventDispatcher } from 'svelte'; import { goto, invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let show = false; @@ -28,12 +28,13 @@ type: 'success', message: `${name} has been created` }); - trackEvent('submit_organization_create'); + trackEvent(Submit.OrganizationCreate); name = null; id = null; show = false; - } catch ({ message }) { - error = message; + } catch (e) { + error = e.message; + trackError(e, Submit.OrganizationCreate); } }; diff --git a/src/routes/console/onboarding/+page.svelte b/src/routes/console/onboarding/+page.svelte index 18bd14fbc..ac1628491 100644 --- a/src/routes/console/onboarding/+page.svelte +++ b/src/routes/console/onboarding/+page.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/organization-[organization]/deleteMember.svelte b/src/routes/console/organization-[organization]/deleteMember.svelte index c022585b3..ac8613166 100644 --- a/src/routes/console/organization-[organization]/deleteMember.svelte +++ b/src/routes/console/organization-[organization]/deleteMember.svelte @@ -8,7 +8,7 @@ import type { Models } from '@aw-labs/appwrite-console'; import { createEventDispatcher } from 'svelte'; import { user } from '$lib/stores/user'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; const dispatch = createEventDispatcher(); @@ -30,12 +30,13 @@ type: 'success', message: `${selectedMember.userName} was deleted from ${selectedMember.teamName}` }); - trackEvent('submit_member_delete'); + trackEvent(Submit.MemberDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.MemberDelete); } }; diff --git a/src/routes/console/organization-[organization]/deleteOrganization.svelte b/src/routes/console/organization-[organization]/deleteOrganization.svelte index 8f6be48cc..a6dc3f020 100644 --- a/src/routes/console/organization-[organization]/deleteOrganization.svelte +++ b/src/routes/console/organization-[organization]/deleteOrganization.svelte @@ -7,7 +7,7 @@ import { goto, invalidate } from '$app/navigation'; import { base } from '$app/paths'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let showDelete = false; @@ -18,7 +18,7 @@ type: 'success', message: `${$organization.name} has been deleted` }); - trackEvent('submit_organization_delete'); + trackEvent(Submit.OrganizationDelete); if ($organizationList?.total > 1) { await invalidate(Dependencies.ACCOUNT); goto(`${base}/console/`); @@ -32,6 +32,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.OrganizationDelete); } }; diff --git a/src/routes/console/organization-[organization]/members/[[page]]/+page.svelte b/src/routes/console/organization-[organization]/members/[[page]]/+page.svelte index 9d8f1e918..939cef299 100644 --- a/src/routes/console/organization-[organization]/members/[[page]]/+page.svelte +++ b/src/routes/console/organization-[organization]/members/[[page]]/+page.svelte @@ -21,7 +21,7 @@ import Delete from '../../deleteMember.svelte'; import type { Models } from '@aw-labs/appwrite-console'; import type { PageData } from './$types'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let data: PageData; @@ -43,12 +43,13 @@ type: 'success', message: `Invite has been sent to ${member.userEmail}` }); - trackEvent('submit_member_create'); + trackEvent(Submit.MemberCreate); } catch (error) { addNotification({ type: 'error', message: error }); + trackError(error, Submit.MemberCreate); } }; diff --git a/src/routes/console/organization-[organization]/settings/+page.svelte b/src/routes/console/organization-[organization]/settings/+page.svelte index 13aa5d1c5..0af80131b 100644 --- a/src/routes/console/organization-[organization]/settings/+page.svelte +++ b/src/routes/console/organization-[organization]/settings/+page.svelte @@ -9,7 +9,7 @@ import { Dependencies } from '$lib/constants'; import { onMount } from 'svelte'; import Delete from '../deleteOrganization.svelte'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; let name: string; let showDelete = false; @@ -26,12 +26,13 @@ message: 'Name has been updated', type: 'success' }); - trackEvent('submit_organization_update_name'); + trackEvent(Submit.OrganizationUpdateName); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.OrganizationUpdateName); } } diff --git a/src/routes/console/project-[project]/auth/appleOAuth.svelte b/src/routes/console/project-[project]/auth/appleOAuth.svelte index 5268a354c..d741025cc 100644 --- a/src/routes/console/project-[project]/auth/appleOAuth.svelte +++ b/src/routes/console/project-[project]/auth/appleOAuth.svelte @@ -8,7 +8,7 @@ import { onMount } from 'svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let provider: Provider; @@ -42,14 +42,15 @@ provider.enabled ? 'enabled' : 'disabled' }` }); - trackEvent('submit_provider_update', { + trackEvent(Submit.ProviderUpdate, { provider, enabled }); provider = null; invalidate(Dependencies.PROJECT); - } catch ({ message }) { - error = message; + } catch (e) { + error = e.message; + trackError(e, Submit.ProviderUpdate); } }; diff --git a/src/routes/console/project-[project]/auth/auth0OAuth.svelte b/src/routes/console/project-[project]/auth/auth0OAuth.svelte index a6d25ec4e..a8a190cda 100644 --- a/src/routes/console/project-[project]/auth/auth0OAuth.svelte +++ b/src/routes/console/project-[project]/auth/auth0OAuth.svelte @@ -8,7 +8,7 @@ import { onMount } from 'svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let provider: Provider; @@ -40,14 +40,15 @@ provider.enabled ? 'enabled' : 'disabled' }` }); - trackEvent('submit_provider_update', { + trackEvent(Submit.ProviderUpdate, { provider, enabled }); provider = null; invalidate(Dependencies.PROJECT); - } catch ({ message }) { - error = message; + } catch (e) { + error = e.message; + trackError(e, Submit.ProviderUpdate); } }; diff --git a/src/routes/console/project-[project]/auth/authentikOAuth.svelte b/src/routes/console/project-[project]/auth/authentikOAuth.svelte index 105a33e58..fa6929b10 100644 --- a/src/routes/console/project-[project]/auth/authentikOAuth.svelte +++ b/src/routes/console/project-[project]/auth/authentikOAuth.svelte @@ -8,7 +8,7 @@ import { onMount } from 'svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let provider: Provider; @@ -40,14 +40,15 @@ provider.enabled ? 'enabled' : 'disabled' }` }); - trackEvent('submit_provider_update', { + trackEvent(Submit.ProviderUpdate, { provider, enabled }); provider = null; invalidate(Dependencies.PROJECT); - } catch ({ message }) { - error = message; + } catch (e) { + error = e.message; + trackError(e, Submit.ProviderUpdate); } }; diff --git a/src/routes/console/project-[project]/auth/createTeam.svelte b/src/routes/console/project-[project]/auth/createTeam.svelte index 1e0908c4b..0901abc81 100644 --- a/src/routes/console/project-[project]/auth/createTeam.svelte +++ b/src/routes/console/project-[project]/auth/createTeam.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/console/project-[project]/auth/microsoftOAuth.svelte b/src/routes/console/project-[project]/auth/microsoftOAuth.svelte index fc0b38d0a..41dc6f1b2 100644 --- a/src/routes/console/project-[project]/auth/microsoftOAuth.svelte +++ b/src/routes/console/project-[project]/auth/microsoftOAuth.svelte @@ -8,7 +8,7 @@ import { onMount } from 'svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let provider: Provider; @@ -41,14 +41,15 @@ provider.enabled ? 'enabled' : 'disabled' }` }); - trackEvent('submit_provider_update', { + trackEvent(Submit.ProviderUpdate, { provider, enabled }); provider = null; invalidate(Dependencies.PROJECT); - } catch ({ message }) { - error = message; + } catch (e) { + error = e.message; + trackError(e, Submit.ProviderUpdate); } }; diff --git a/src/routes/console/project-[project]/auth/oktaOAuth.svelte b/src/routes/console/project-[project]/auth/oktaOAuth.svelte index 2fa6dbcb8..39e3a3c04 100644 --- a/src/routes/console/project-[project]/auth/oktaOAuth.svelte +++ b/src/routes/console/project-[project]/auth/oktaOAuth.svelte @@ -8,7 +8,7 @@ import { onMount } from 'svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let provider: Provider; @@ -44,14 +44,15 @@ provider.enabled ? 'enabled' : 'disabled' }` }); - trackEvent('submit_provider_update', { + trackEvent(Submit.ProviderUpdate, { provider, enabled }); provider = null; invalidate(Dependencies.PROJECT); - } catch ({ message }) { - error = message; + } catch (e) { + error = e.message; + trackError(e, Submit.ProviderUpdate); } }; diff --git a/src/routes/console/project-[project]/auth/security/+page.svelte b/src/routes/console/project-[project]/auth/security/+page.svelte index 6168b6002..60360d7df 100644 --- a/src/routes/console/project-[project]/auth/security/+page.svelte +++ b/src/routes/console/project-[project]/auth/security/+page.svelte @@ -9,7 +9,7 @@ import { clickOnEnter } from '$lib/helpers/a11y'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { timeToSeconds } from '$lib/helpers/timeConversion'; import { writable } from 'svelte/store'; @@ -53,12 +53,13 @@ type: 'success', message: 'Updated project users limit successfully' }); - trackEvent('submit_auth_limit_update'); + trackEvent(Submit.AuthLimitUpdate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.AuthLimitUpdate); } } async function updateSessionLength() { @@ -74,12 +75,13 @@ type: 'success', message: 'Updated project users limit successfully' }); - trackEvent('submit_session_length_update'); + trackEvent(Submit.SessionsLengthUpdate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.SessionsLengthUpdate); } } async function updateSessionsLimit() { @@ -90,12 +92,13 @@ type: 'success', message: 'Sessions limit has been updated' }); - trackEvent('submit_sessions_limit_update'); + trackEvent(Submit.SessionsLimitUpdate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.SessionsLimitUpdate); } } diff --git a/src/routes/console/project-[project]/auth/settings/+page.svelte b/src/routes/console/project-[project]/auth/settings/+page.svelte index 8fd3fc670..78786f524 100644 --- a/src/routes/console/project-[project]/auth/settings/+page.svelte +++ b/src/routes/console/project-[project]/auth/settings/+page.svelte @@ -11,7 +11,7 @@ import { app } from '$lib/stores/app'; import { page } from '$app/stores'; import type { Provider } from '$lib/stores/oauth-providers'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; const projectId = $page.params.project; @@ -29,7 +29,7 @@ box.value ? 'enabled' : 'disabled' }` }); - trackEvent('submit_auth_status_update', { + trackEvent(Submit.AuthStatusUpdate, { method: box.method, value: box.value }); @@ -39,6 +39,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.AuthStatusUpdate); } } diff --git a/src/routes/console/project-[project]/auth/teams/team-[team]/+page.svelte b/src/routes/console/project-[project]/auth/teams/team-[team]/+page.svelte index ecf2c008f..10dd00347 100644 --- a/src/routes/console/project-[project]/auth/teams/team-[team]/+page.svelte +++ b/src/routes/console/project-[project]/auth/teams/team-[team]/+page.svelte @@ -11,7 +11,7 @@ import { Dependencies } from '$lib/constants'; import { invalidate } from '$app/navigation'; import DeleteTeam from './deleteTeam.svelte'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; let showDelete = false; let teamName: string = null; @@ -28,12 +28,13 @@ message: 'Name has been updated', type: 'success' }); - trackEvent('submit_team_update_name'); + trackEvent(Submit.TeamUpdateName); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.TeamUpdateName); } } diff --git a/src/routes/console/project-[project]/auth/teams/team-[team]/createMembership.svelte b/src/routes/console/project-[project]/auth/teams/team-[team]/createMembership.svelte index 91e1e28b2..d7b50dfb1 100644 --- a/src/routes/console/project-[project]/auth/teams/team-[team]/createMembership.svelte +++ b/src/routes/console/project-[project]/auth/teams/team-[team]/createMembership.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/auth/teams/team-[team]/deleteMembership.svelte b/src/routes/console/project-[project]/auth/teams/team-[team]/deleteMembership.svelte index 2ef859b7a..e6ff3ca9f 100644 --- a/src/routes/console/project-[project]/auth/teams/team-[team]/deleteMembership.svelte +++ b/src/routes/console/project-[project]/auth/teams/team-[team]/deleteMembership.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -23,7 +23,7 @@ ); showDelete = false; dispatch('deleted'); - trackEvent('submit_member_delete'); + trackEvent(Submit.MemberDelete); await goto( `${base}/console/project-${$page.params.project}/auth/teams/team-${selectedMembership.teamId}/members` ); @@ -32,6 +32,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.MemberDelete); } }; diff --git a/src/routes/console/project-[project]/auth/teams/team-[team]/deleteTeam.svelte b/src/routes/console/project-[project]/auth/teams/team-[team]/deleteTeam.svelte index 60049c917..32bccf712 100644 --- a/src/routes/console/project-[project]/auth/teams/team-[team]/deleteTeam.svelte +++ b/src/routes/console/project-[project]/auth/teams/team-[team]/deleteTeam.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -16,13 +16,14 @@ try { await sdkForProject.teams.delete(team.$id); showDelete = false; - trackEvent('submit_team_delete'); + trackEvent(Submit.TeamDelete); await goto(`${base}/console/project-${$page.params.project}/auth/teams`); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.TeamDelete); } }; diff --git a/src/routes/console/project-[project]/auth/user-[user]/deleteAllSessions.svelte b/src/routes/console/project-[project]/auth/user-[user]/deleteAllSessions.svelte index 5f8144d8a..8f02e4a92 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/deleteAllSessions.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/deleteAllSessions.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/auth/user-[user]/deleteMembership.svelte b/src/routes/console/project-[project]/auth/user-[user]/deleteMembership.svelte index 33622b7d3..25a1f760c 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/deleteMembership.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/deleteMembership.svelte @@ -2,7 +2,7 @@ import { goto, invalidate } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Dependencies } from '$lib/constants'; import { Button } from '$lib/elements/forms'; @@ -26,7 +26,7 @@ type: 'success', message: `Membership has been deleted` }); - trackEvent('submit_member_delete'); + trackEvent(Submit.MemberDelete); await goto( `${base}/console/project-${$page.params.project}/auth/user-${selectedMembership.userId}/memberships` ); @@ -35,6 +35,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.MemberDelete); } }; diff --git a/src/routes/console/project-[project]/auth/user-[user]/deleteSession.svelte b/src/routes/console/project-[project]/auth/user-[user]/deleteSession.svelte index db71f3428..72b97f33c 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/deleteSession.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/deleteSession.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/auth/user-[user]/deleteUser.svelte b/src/routes/console/project-[project]/auth/user-[user]/deleteUser.svelte index 478a08ada..e48a4b9c4 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/deleteUser.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/deleteUser.svelte @@ -8,7 +8,7 @@ import { sdkForProject } from '$lib/stores/sdk'; import { user } from './store'; import { project } from '../../store'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let showDelete = false; @@ -20,13 +20,14 @@ type: 'success', message: `${$user.name ? $user.name : 'User'} has been deleted` }); - trackEvent('submit_user_delete'); + trackEvent(Submit.UserDelete); await goto(`${base}/console/project-${$page.params.project}/auth`); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.UserDelete); } }; diff --git a/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte b/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte index 5eecbbbed..893d7f726 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/auth/user-[user]/updateName.svelte b/src/routes/console/project-[project]/auth/user-[user]/updateName.svelte index 1b4119579..03cac6582 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updateName.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updateName.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte b/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte index 66116f2c6..9a21b40da 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte b/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte index d77cd778b..de0cb9584 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte b/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte index cf4e8fe49..5b2bd623c 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/auth/user-[user]/updateStatus.svelte b/src/routes/console/project-[project]/auth/user-[user]/updateStatus.svelte index 3c5827cef..aed011f7c 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updateStatus.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updateStatus.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/databases/create.svelte b/src/routes/console/project-[project]/databases/create.svelte index 8c9dac6da..5ae47e569 100644 --- a/src/routes/console/project-[project]/databases/create.svelte +++ b/src/routes/console/project-[project]/databases/create.svelte @@ -1,4 +1,5 @@ diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/deleteAttribute.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/deleteAttribute.svelte index ee82e3cce..02bed780e 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/deleteAttribute.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/deleteAttribute.svelte @@ -9,7 +9,7 @@ import type { Attributes } from '../store'; import { sdkForProject } from '$lib/stores/sdk'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let showDelete = false; export let selectedAttribute: Attributes; @@ -28,7 +28,7 @@ type: 'success', message: `Attribute has been deleted` }); - trackEvent('submit_attribute_delete'); + trackEvent(Submit.AttributeDelete); await goto( `${base}/console/project-${$page.params.project}/databases/database-${databaseId}/collection-${$page.params.collection}/attributes` ); @@ -37,6 +37,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.AttributeDelete); } }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createAttribute.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createAttribute.svelte index 460f2d146..28c889133 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createAttribute.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createAttribute.svelte @@ -8,7 +8,7 @@ import { addNotification } from '$lib/stores/notifications'; import { base } from '$app/paths'; import type { Attributes } from './store'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let showCreate = false; @@ -36,12 +36,13 @@ message: `Attribute ${key} has been created` }); showCreate = false; - trackEvent('submit_attribute_create'); + trackEvent(Submit.AttributeCreate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.AttributeCreate); } } diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createDocument.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createDocument.svelte index 92b4d28ae..b6c7cdce7 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createDocument.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/createDocument.svelte @@ -12,7 +12,7 @@ import { createDocument } from './wizard/store'; import type { WizardStepsType } from '$lib/layout/wizard.svelte'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; const databaseId = $page.params.database; const collectionId = $page.params.collection; @@ -44,7 +44,7 @@ message: 'Document has been created', type: 'success' }); - trackEvent('submit_document_create'); + trackEvent(Submit.DocumentCreate); invalidate(Dependencies.DOCUMENTS); createDocument.reset(); @@ -54,6 +54,7 @@ message: error.message, type: 'error' }); + trackError(error, Submit.DocumentCreate); } } diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte index cda6550ff..c4c9a7c72 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte @@ -12,7 +12,7 @@ import { Permissions } from '$lib/components/permissions'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { collection } from '../store'; let showDelete = false; @@ -35,12 +35,13 @@ message: 'Permissions have been updated', type: 'success' }); - trackEvent('submit_document_update_permission'); + trackEvent(Submit.DocumentUpdatePermissions); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.DocumentUpdatePermissions); } } diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/delete.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/delete.svelte index 5437d3064..591a45be3 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/delete.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/delete.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -25,7 +25,7 @@ type: 'success', message: `Document has been deleted` }); - trackEvent('submit_document_delete'); + trackEvent(Submit.DocumentDelete); await goto( `${base}/console/project-${$page.params.project}/databases/database-${$page.params.database}/collection-${$page.params.collection}` ); @@ -34,6 +34,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.DocumentDelete); } }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/document.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/document.svelte index d18b264e9..b832db632 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/document.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/document.svelte @@ -11,7 +11,7 @@ import type { Models } from '@aw-labs/appwrite-console'; import { Dependencies } from '$lib/constants'; import { invalidate } from '$app/navigation'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import AttributeForm from './attributeForm.svelte'; let disableUpdate = true; @@ -62,9 +62,7 @@ currentDoc = JSON.stringify($work); invalidate(Dependencies.DOCUMENT); - trackEvent('submit_document_update', { - type: 'android' - }); + trackEvent(Submit.DocumentUpdate); disableUpdate = true; addNotification({ message: 'Document was updated!', @@ -75,6 +73,7 @@ message: error.message, type: 'error' }); + trackError(error, Submit.DocumentUpdate); } } diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte index a84d07596..604f85a58 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte @@ -2,7 +2,7 @@ import { goto, invalidate } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Dependencies } from '$lib/constants'; import { Button, FormList, InputSelect, InputText } from '$lib/elements/forms'; @@ -80,12 +80,13 @@ message: 'Index has been created', type: 'success' }); - trackEvent('submit_index_create'); + trackEvent(Submit.IndexCreate); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.IndexCreate); } finally { showCreateIndex = false; creating = false; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/deleteIndex.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/deleteIndex.svelte index 3f9d61445..57ed82384 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/deleteIndex.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/deleteIndex.svelte @@ -7,7 +7,7 @@ import type { Models } from '@aw-labs/appwrite-console'; import { createEventDispatcher } from 'svelte'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let showDelete = false; export let selectedIndex: Models.Index; @@ -28,12 +28,13 @@ message: `Index has been deleted` }); dispatch('deleted'); - trackEvent('submit_index_delete'); + trackEvent(Submit.IndexDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.IndexDelete); } }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/deleteCollection.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/deleteCollection.svelte index 09c0d330b..56629e2a0 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/deleteCollection.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/deleteCollection.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -21,7 +21,7 @@ type: 'success', message: `${$collection.name} has been deleted` }); - trackEvent('submit_collection_delete'); + trackEvent(Submit.CollectionDelete); await goto( `${base}/console/project-${$page.params.project}/databases/database-${$page.params.database}` ); @@ -30,6 +30,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.CollectionDelete); } }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateName.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateName.svelte index e98422453..24ccc1199 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateName.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateName.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updatePermissions.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updatePermissions.svelte index 028298283..418052dde 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updatePermissions.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updatePermissions.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateStatus.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateStatus.svelte index 6c1353320..ea064ebda 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateStatus.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/settings/updateStatus.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/databases/database-[database]/create.svelte b/src/routes/console/project-[project]/databases/database-[database]/create.svelte index de2e4bf29..77003dec2 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/create.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/create.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/databases/database-[database]/delete.svelte b/src/routes/console/project-[project]/databases/database-[database]/delete.svelte index 7edaf25da..bfbdb1916 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/delete.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/delete.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -21,12 +21,13 @@ message: `${$database.name} has been deleted` }); await goto(`${base}/console/project-${$page.params.project}/databases`); - trackEvent('submit_database_delete'); + trackEvent(Submit.DatabaseDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.DatabaseDelete); } }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/settings/+page.svelte b/src/routes/console/project-[project]/databases/database-[database]/settings/+page.svelte index 9c7773b7d..f5b9c687b 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/settings/+page.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/settings/+page.svelte @@ -11,7 +11,7 @@ import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; import Delete from '../delete.svelte'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; let showDelete = false; let showError: false | 'name' | 'email' | 'password' = false; @@ -37,9 +37,10 @@ message: 'Name has been updated', type: 'success' }); - trackEvent('submit_database_update_name'); + trackEvent(Submit.DatabaseUpdateName); } catch (error) { addError('name', error.message, 'error'); + trackError(error, Submit.DatabaseUpdateName); } } diff --git a/src/routes/console/project-[project]/functions/createFunction.svelte b/src/routes/console/project-[project]/functions/createFunction.svelte index 313f630d5..335cb807a 100644 --- a/src/routes/console/project-[project]/functions/createFunction.svelte +++ b/src/routes/console/project-[project]/functions/createFunction.svelte @@ -15,7 +15,7 @@ import { Dependencies } from '$lib/constants'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; const projectId = $page.params.project; @@ -43,13 +43,14 @@ message: `${$createFunction.name} has been created`, type: 'success' }); - trackEvent('submit_function_create'); + trackEvent(Submit.FunctionCreate); wizard.hide(); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.FunctionCreate); } } diff --git a/src/routes/console/project-[project]/functions/function-[function]/activate.svelte b/src/routes/console/project-[project]/functions/function-[function]/activate.svelte index c30bd327c..8a20db834 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/activate.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/activate.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/console/project-[project]/functions/function-[function]/create.svelte b/src/routes/console/project-[project]/functions/function-[function]/create.svelte index 3f5ff6e0b..0b80bb1c3 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/create.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/create.svelte @@ -10,7 +10,7 @@ import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; import { func } from './store'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { app } from '$lib/stores/app'; export let showCreate = false; @@ -101,12 +101,13 @@ files = entrypoint = active = null; showCreate = false; dispatch('created'); - trackEvent('submit_deployment_create'); + trackEvent(Submit.DeploymentCreate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.DeploymentCreate); } } diff --git a/src/routes/console/project-[project]/functions/function-[function]/delete.svelte b/src/routes/console/project-[project]/functions/function-[function]/delete.svelte index 5a2bf30ec..08c2a6c45 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/delete.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/delete.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte index 14f845a9a..bccdbdd5f 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte @@ -2,7 +2,7 @@ import { afterNavigate, goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Code, Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { InputTextarea, FormList, InputChoice } from '$lib/elements/forms'; @@ -43,12 +43,13 @@ type: 'success', message: `Function has been executed` }); - trackEvent('submit_execution_create'); + trackEvent(Submit.ExecutionCreate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.ExecutionCreate); } finally { submitting = false; } diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte index a6959160d..e2fb1c9b2 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte @@ -2,7 +2,7 @@ import { invalidate } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Box, CardGrid, DropList, DropListItem, Empty, Output, Secret } from '$lib/components'; import Heading from '$lib/components/heading.svelte'; import { Roles } from '$lib/components/permissions'; @@ -68,12 +68,13 @@ message: 'Name has been updated', type: 'success' }); - trackEvent('submit_function_update_name'); + trackEvent(Submit.FunctionUpdateName); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.FunctionUpdateName); } } @@ -93,12 +94,13 @@ message: 'Permissions have been updated', type: 'success' }); - trackEvent('submit_function_update_permissions'); + trackEvent(Submit.FunctionUpdatePermissions); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.FunctionUpdatePermissions); } } @@ -119,12 +121,13 @@ type: 'success', message: 'Cron Schedule has been updated' }); - trackEvent('submit_function_update_schedule'); + trackEvent(Submit.FunctionUpdateSchedule); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.FunctionUpdateSchedule); } } @@ -145,12 +148,13 @@ type: 'success', message: 'Timeout has been updated' }); - trackEvent('submit_function_update_timeout'); + trackEvent(Submit.FunctionUpdateTimeout); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.FunctionUpdateTimeout); } } @@ -165,12 +169,13 @@ type: 'success', message: `${$func.name} variables have been updated` }); - trackEvent('submit_variable_create'); + trackEvent(Submit.VariableCreate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.VariableCreate); } } @@ -190,12 +195,13 @@ type: 'success', message: `${$func.name} variables have been updated` }); - trackEvent('submit_variable_update'); + trackEvent(Submit.VariableUpdate); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.VariableUpdate); } } async function handleVariableDeleted(variable: Models.Variable) { @@ -206,12 +212,13 @@ type: 'success', message: `Variable has been deleted` }); - trackEvent('submit_variable_delete'); + trackEvent(Submit.VariableDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.VariableDelete); } } diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/delete.svelte b/src/routes/console/project-[project]/functions/function-[function]/settings/delete.svelte index 4d05d94ff..23cd9145e 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/settings/delete.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/settings/delete.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -20,12 +20,13 @@ message: `Function has been deleted` }); await goto(`${base}/console/project-${$page.params.project}/functions`); - trackEvent('submit_function_delete'); + trackEvent(Submit.FunctionDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.FunctionDelete); } }; diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/updateEvents.svelte b/src/routes/console/project-[project]/functions/function-[function]/settings/updateEvents.svelte index 190f8d4c9..8e325d085 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/settings/updateEvents.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/settings/updateEvents.svelte @@ -5,7 +5,7 @@ import { invalidate } from '$app/navigation'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Dependencies } from '$lib/constants'; import Form from '$lib/elements/forms/form.svelte'; import { TableCell, TableCellText } from '$lib/elements/table'; @@ -43,12 +43,13 @@ message: 'Permissions have been updated', type: 'success' }); - trackEvent('submit_function_update_events'); + trackEvent(Submit.FunctionUpdateEvents); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.FunctionUpdateEvents); } } diff --git a/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte b/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte index 3f385e20d..81c37969d 100644 --- a/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte +++ b/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/keys/[key]/delete.svelte b/src/routes/console/project-[project]/overview/keys/[key]/delete.svelte index 966b01304..c85542144 100644 --- a/src/routes/console/project-[project]/overview/keys/[key]/delete.svelte +++ b/src/routes/console/project-[project]/overview/keys/[key]/delete.svelte @@ -1,6 +1,7 @@ diff --git a/src/routes/console/project-[project]/overview/keys/[key]/updateExpirationDate.svelte b/src/routes/console/project-[project]/overview/keys/[key]/updateExpirationDate.svelte index dab38a083..427da9b0c 100644 --- a/src/routes/console/project-[project]/overview/keys/[key]/updateExpirationDate.svelte +++ b/src/routes/console/project-[project]/overview/keys/[key]/updateExpirationDate.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/appleIOS.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/appleIOS.svelte index 1d7fe0aab..b2a963913 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/appleIOS.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/appleIOS.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/appleMacOS.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/appleMacOS.svelte index ef7788d85..0c860ad94 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/appleMacOS.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/appleMacOS.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/appleTvOS.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/appleTvOS.svelte index ca957f34a..7d1f768f4 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/appleTvOS.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/appleTvOS.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/appleWatchOS.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/appleWatchOS.svelte index 04dca1a43..32bc6ea1b 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/appleWatchOS.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/appleWatchOS.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/delete.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/delete.svelte index 3aa450e49..e467b3680 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/delete.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/delete.svelte @@ -1,6 +1,7 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterAndroid.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterAndroid.svelte index 747f28574..1cd14eca5 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterAndroid.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterAndroid.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterIOS.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterIOS.svelte index a703208f4..3b82d6e03 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterIOS.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterIOS.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterLinux.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterLinux.svelte index aec777f88..6ee296789 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterLinux.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterLinux.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterMacOS.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterMacOS.svelte index b88733f76..9cdeb2ce9 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterMacOS.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterMacOS.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterWindows.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterWindows.svelte index 6d4a70864..975130b62 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/flutterWindows.svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/flutterWindows.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/android/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/android/step1.svelte index 8b903523e..4075336e1 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/android/step1.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/android/step1.svelte @@ -8,7 +8,7 @@ import { app } from '$lib/stores/app'; import Light from './light.svg'; import Dark from './dark.svg'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent } from '$lib/actions/analytics'; $wizard.media = $app.themeInUse === 'dark' ? Dark : Light; @@ -37,7 +37,7 @@ undefined ); - trackEvent('submit_platform_create', { + trackEvent(Submit.PlatformCreate, { type: 'android' }); diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte index b472fc121..3de7f0b82 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte @@ -9,7 +9,7 @@ import { app } from '$lib/stores/app'; import Light from './light.svg'; import Dark from './dark.svg'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent } from '$lib/actions/analytics'; $wizard.media = $app.themeInUse === 'dark' ? Dark : Light; @@ -47,7 +47,7 @@ undefined ); - trackEvent('submit_platform_create', { + trackEvent(Submit.PlatformCreate, { type: platform }); diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte index c449fb5b3..812d2a1ff 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte @@ -9,7 +9,7 @@ import { app } from '$lib/stores/app'; import Light from './light.svg'; import Dark from './dark.svg'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent } from '$lib/actions/analytics'; $wizard.media = $app.themeInUse === 'dark' ? Dark : Light; @@ -102,7 +102,7 @@ platform === Platform.Web ? $createPlatform.hostname : undefined ); - trackEvent('submit_platform_create', { + trackEvent(Submit.PlatformCreate, { type: platform }); diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte index 12d9fcccd..832d56008 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte @@ -10,7 +10,7 @@ import { app } from '$lib/stores/app'; import Light from './light.svg'; import Dark from './dark.svg'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent } from '$lib/actions/analytics'; const projectId = $page.params.project; const suggestions = ['*.vercel.app', '*.netlify.app', '*.gitpod.io']; @@ -39,7 +39,7 @@ $createPlatform.hostname ); - trackEvent('submit_platform_create', { + trackEvent(Submit.PlatformCreate, { type: 'web' }); diff --git a/src/routes/console/project-[project]/settings/+page.svelte b/src/routes/console/project-[project]/settings/+page.svelte index 76277fbf2..f6ea9a239 100644 --- a/src/routes/console/project-[project]/settings/+page.svelte +++ b/src/routes/console/project-[project]/settings/+page.svelte @@ -13,7 +13,7 @@ import Delete from './deleteProject.svelte'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; let name: string = null; let showDelete = false; @@ -34,12 +34,13 @@ type: 'success', message: 'Project name has been updated' }); - trackEvent('submit_project_update_name'); + trackEvent(Submit.ProjectUpdateName); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.ProjectUpdateName); } } @@ -63,7 +64,7 @@ service.value ? 'enabled' : 'disabled' }` }); - trackEvent('submit_project_service', { + trackEvent(Submit.ProjectService, { method: service.method, value: service.value }); @@ -72,6 +73,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.ProjectService); } } diff --git a/src/routes/console/project-[project]/settings/deleteProject.svelte b/src/routes/console/project-[project]/settings/deleteProject.svelte index 1a51a86ba..8d8c311b8 100644 --- a/src/routes/console/project-[project]/settings/deleteProject.svelte +++ b/src/routes/console/project-[project]/settings/deleteProject.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/settings/domains/[[page]]/+page.svelte b/src/routes/console/project-[project]/settings/domains/[[page]]/+page.svelte index 4ec970670..222d503eb 100644 --- a/src/routes/console/project-[project]/settings/domains/[[page]]/+page.svelte +++ b/src/routes/console/project-[project]/settings/domains/[[page]]/+page.svelte @@ -22,7 +22,7 @@ import type { PageData } from './$types'; import Create from '../create.svelte'; import Delete from '../delete.svelte'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let data: PageData; @@ -47,12 +47,13 @@ } await sdkForConsole.projects.updateDomainVerification(projectId, domainId); invalidate(Dependencies.DOMAINS); - trackEvent('submit_domain_update_verification'); + trackEvent(Submit.DomainUpdateVerification); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.DomainUpdateVerification); } finally { isVerifying[domainId] = false; } diff --git a/src/routes/console/project-[project]/settings/domains/delete.svelte b/src/routes/console/project-[project]/settings/domains/delete.svelte index 1e0ac7838..05490871f 100644 --- a/src/routes/console/project-[project]/settings/domains/delete.svelte +++ b/src/routes/console/project-[project]/settings/domains/delete.svelte @@ -7,7 +7,7 @@ import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; import type { Models } from '@aw-labs/appwrite-console'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let showDelete = false; export let selectedDomain: Models.Domain; @@ -21,12 +21,13 @@ type: 'success', message: `${selectedDomain.domain} has been deleted` }); - trackEvent('submit_domain_delete'); + trackEvent(Submit.DomainDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.DomainDelete); } }; diff --git a/src/routes/console/project-[project]/settings/domains/wizard/step1.svelte b/src/routes/console/project-[project]/settings/domains/wizard/step1.svelte index ed800c177..5e4da5988 100644 --- a/src/routes/console/project-[project]/settings/domains/wizard/step1.svelte +++ b/src/routes/console/project-[project]/settings/domains/wizard/step1.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/console/project-[project]/settings/webhooks/[webhook]/delete.svelte b/src/routes/console/project-[project]/settings/webhooks/[webhook]/delete.svelte index 121afd53c..904ca6a74 100644 --- a/src/routes/console/project-[project]/settings/webhooks/[webhook]/delete.svelte +++ b/src/routes/console/project-[project]/settings/webhooks/[webhook]/delete.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/settings/webhooks/[webhook]/regenerate.svelte b/src/routes/console/project-[project]/settings/webhooks/[webhook]/regenerate.svelte index 704b55849..6d350f0ac 100644 --- a/src/routes/console/project-[project]/settings/webhooks/[webhook]/regenerate.svelte +++ b/src/routes/console/project-[project]/settings/webhooks/[webhook]/regenerate.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateEvents.svelte b/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateEvents.svelte index 258a9a51c..c0b4b98a1 100644 --- a/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateEvents.svelte +++ b/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateEvents.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateSecurity.svelte b/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateSecurity.svelte index 4fb862c9c..8fc343a53 100644 --- a/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateSecurity.svelte +++ b/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateSecurity.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateURL.svelte b/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateURL.svelte index ff775045d..4ac8a8fb6 100644 --- a/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateURL.svelte +++ b/src/routes/console/project-[project]/settings/webhooks/[webhook]/updateURL.svelte @@ -1,7 +1,7 @@ diff --git a/src/routes/console/project-[project]/settings/webhooks/createWebhook.svelte b/src/routes/console/project-[project]/settings/webhooks/createWebhook.svelte index 3458e81fe..f0a8e0781 100644 --- a/src/routes/console/project-[project]/settings/webhooks/createWebhook.svelte +++ b/src/routes/console/project-[project]/settings/webhooks/createWebhook.svelte @@ -12,7 +12,7 @@ import type { WizardStepsType } from '$lib/layout/wizard.svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; const projectId = $page.params.project; const create = async () => { @@ -32,12 +32,13 @@ type: 'success' }); wizard.hide(); - trackEvent('submit_webhook_create'); + trackEvent(Submit.WebhookCreate); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.WebhookCreate); } }; diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/[[page]]/+page.svelte b/src/routes/console/project-[project]/storage/bucket-[bucket]/[[page]]/+page.svelte index 3e0dfb37f..69bd8ab00 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/[[page]]/+page.svelte +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/[[page]]/+page.svelte @@ -35,7 +35,7 @@ import type { PageData } from './$types'; import { invalidate } from '$app/navigation'; import { Dependencies, PAGE_LIMIT } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let data: PageData; @@ -65,12 +65,13 @@ await sdkForProject.storage.deleteFile(file.bucketId, file.$id); uploader.removeFile(file); invalidate(Dependencies.FILES); - trackEvent('submit_file_delete'); + trackEvent(Submit.FileDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.FileDelete); } } diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/create.svelte b/src/routes/console/project-[project]/storage/bucket-[bucket]/create.svelte index 2ff68172d..8b5ad9801 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/create.svelte +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/create.svelte @@ -8,7 +8,7 @@ import { bucket } from './store'; import { Permissions } from '$lib/components/permissions'; import { addNotification } from '$lib/stores/notifications'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; export let showCreate = false; @@ -27,15 +27,15 @@ await uploader.uploadFile(bucketId, id, files[0], permissions); files = null; showCustomId = false; - // uploader.addFile(file); dispatch('created'); addNotification({ type: 'success', message: `File has been uploaded` }); - trackEvent('submit_file_create'); - } catch ({ message }) { - error = message; + trackEvent(Submit.FileCreate); + } catch (e) { + error = e.message; + trackError(e, Submit.FileCreate); } } diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteBucket.svelte b/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteBucket.svelte index 5698fdeec..bb8644cd5 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteBucket.svelte +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteBucket.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -20,12 +20,13 @@ message: `${$bucket.name} has been deleted` }); await goto(`${base}/console/project-${$page.params.project}/storage`); - trackEvent('submit_bucket_delete'); + trackEvent(Submit.BucketDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.BucketDelete); } }; diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteFile.svelte b/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteFile.svelte index 4adbdfad0..445c9a723 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteFile.svelte +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/deleteFile.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/+page.svelte b/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/+page.svelte index 71e7778c1..2cde9992f 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/+page.svelte +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/+page.svelte @@ -14,7 +14,7 @@ import Delete from './deleteFile.svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { bucket } from '../store'; let showFileAlert = true; @@ -54,12 +54,13 @@ message: 'Permissions have been updated', type: 'success' }); - trackEvent('submit_file_update_permissions'); + trackEvent(Submit.FileUpdatePermissions); } catch (error) { addNotification({ message: error.message, type: 'error' }); + trackError(error, Submit.FileUpdatePermissions); } } diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/deleteFile.svelte b/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/deleteFile.svelte index 36d4ffa3c..c58bbb12e 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/deleteFile.svelte +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/file-[file]/deleteFile.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { addNotification } from '$lib/stores/notifications'; @@ -22,12 +22,13 @@ type: 'success', message: `${$file.name} has been deleted` }); - trackEvent('submit_file_delete'); + trackEvent(Submit.FileDelete); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.FileDelete); } }; diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/settings/+page.svelte b/src/routes/console/project-[project]/storage/bucket-[bucket]/settings/+page.svelte index 86db3452b..0f7e3f83e 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/settings/+page.svelte +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/settings/+page.svelte @@ -23,7 +23,7 @@ import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; import Delete from '../deleteBucket.svelte'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { writable } from 'svelte/store'; import type { Models } from '@aw-labs/appwrite-console'; @@ -80,7 +80,7 @@ type TUpdateBucketMisc = { successMessage?: string; - trackEventName: string; + trackEventName: Submit; trackEventData?: { value: boolean }; arePermsDisabled?: boolean; }; @@ -121,6 +121,7 @@ message: error.message, type: 'error' }); + trackError(error, misc.trackEventName); } } @@ -130,7 +131,7 @@ enabled }, { - trackEventName: 'submit_bucket_enable', + trackEventName: Submit.BucketUpdateEnabled, trackEventData: { value: enabled } @@ -145,7 +146,7 @@ }, { successMessage: 'Name has been updated', - trackEventName: 'submit_bucket_update_name' + trackEventName: Submit.BucketUpdateName } ); } @@ -157,7 +158,7 @@ }, { successMessage: 'Permissions have been updated', - trackEventName: 'submit_bucket_update_permissions', + trackEventName: Submit.BucketUpdatePermissions, arePermsDisabled: true } ); @@ -170,7 +171,7 @@ }, { successMessage: 'Security has been updated', - trackEventName: 'submit_bucket_update_file_security', + trackEventName: Submit.BucketUpdateFileSecurity, arePermsDisabled: true } ); @@ -183,7 +184,7 @@ antivirus }, { - trackEventName: 'submit_bucket_update_security' + trackEventName: Submit.BucketUpdateSecurity } ); } @@ -195,7 +196,7 @@ maximumFileSize: size }, { - trackEventName: 'submit_bucket_update_size' + trackEventName: Submit.BucketUpdateSize } ); } @@ -206,7 +207,7 @@ compression }, { - trackEventName: 'submit_bucket_update_size' + trackEventName: Submit.BucketUpdateCompression } ); } @@ -217,7 +218,7 @@ allowedFileExtensions: extensions }, { - trackEventName: 'submit_bucket_update_extensions' + trackEventName: Submit.BucketUpdateExtensions } ); } diff --git a/src/routes/console/project-[project]/storage/create.svelte b/src/routes/console/project-[project]/storage/create.svelte index 572b5166e..304997c0f 100644 --- a/src/routes/console/project-[project]/storage/create.svelte +++ b/src/routes/console/project-[project]/storage/create.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte index 535bbf938..b2f488a90 100644 --- a/src/routes/login/+page.svelte +++ b/src/routes/login/+page.svelte @@ -13,7 +13,7 @@ import { sdkForConsole } from '$lib/stores/sdk'; import { Unauthenticated } from '$lib/layout'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; let mail: string, pass: string, disabled: boolean; @@ -26,7 +26,7 @@ type: 'success', message: 'Successfully logged in.' }); - trackEvent('submit_session_create'); + trackEvent(Submit.AccountCreate); await goto(`${base}/console`); } catch (error) { disabled = false; @@ -34,6 +34,7 @@ type: 'error', message: error.message }); + trackError(error, Submit.AccountCreate); } } diff --git a/src/routes/recover/+page.svelte b/src/routes/recover/+page.svelte index ba3985210..51871926f 100644 --- a/src/routes/recover/+page.svelte +++ b/src/routes/recover/+page.svelte @@ -11,7 +11,7 @@ import { addNotification } from '$lib/stores/notifications'; import { sdkForConsole } from '$lib/stores/sdk'; import { Unauthenticated } from '$lib/layout'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; import { onMount } from 'svelte'; import { page } from '$app/stores'; import { goto } from '$app/navigation'; @@ -35,12 +35,13 @@ type: 'success', message: 'We have sent you an email with a password reset link' }); - trackEvent('submit_account_recover'); + trackEvent(Submit.AccountRecover); } catch (error) { addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.AccountRecover); } } diff --git a/src/routes/register/+page.svelte b/src/routes/register/+page.svelte index 9a7bdf65c..68a96de35 100644 --- a/src/routes/register/+page.svelte +++ b/src/routes/register/+page.svelte @@ -15,7 +15,7 @@ import { Unauthenticated } from '$lib/layout'; import FormList from '$lib/elements/forms/formList.svelte'; import { Dependencies } from '$lib/constants'; - import { trackEvent } from '$lib/actions/analytics'; + import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; let name: string, mail: string, pass: string, disabled: boolean; let terms = false; @@ -27,13 +27,14 @@ await sdkForConsole.account.createEmailSession(mail, pass); await invalidate(Dependencies.ACCOUNT); await goto(`${base}/console`); - trackEvent('submit_account_create'); + trackEvent(Submit.AccountCreate); } catch (error) { disabled = false; addNotification({ type: 'error', message: error.message }); + trackError(error, Submit.AccountCreate); } } From be1b5c55b349c27c2abf7bed097aa2ca10e01e9d Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Mon, 13 Feb 2023 12:31:38 +0100 Subject: [PATCH 05/21] fix: typings --- src/lib/actions/analytics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index 36a6b2c74..b20711936 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -32,7 +32,7 @@ export function trackEvent(name: string, data: object = null): void { } } -export function trackError(exception: AppwriteException, event: Submit): void { +export function trackError(exception: Error, event: Submit): void { if (exception instanceof AppwriteException && exception.type) { trackEvent(Submit.Error, { type: exception.type, From ae54e3c48e53983972a784a7b8c69b97dd45701b Mon Sep 17 00:00:00 2001 From: tglide <26071571+TGlide@users.noreply.github.com> Date: Tue, 7 Feb 2023 17:09:56 +0000 Subject: [PATCH 06/21] fix: flutter platform persistence --- .../overview/platforms/wizard/flutter/step1.svelte | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte index c804b2f57..69ca7793b 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte @@ -23,7 +23,13 @@ Web = 'flutter-web' } - let platform: Platform = Platform.Android; + function isPlatform(value: string): value is Platform { + return Object.values(Platform).includes(value as Platform); + } + + let platform: Platform = isPlatform($createPlatform.type) + ? $createPlatform.type + : Platform.Android; const projectId = $page.params.project; const suggestions = ['*.vercel.app', '*.netlify.app', '*.gitpod.io']; @@ -108,6 +114,7 @@ }); $createPlatform.$id = response.$id; + $createPlatform.type = platform; } From b1217a709c6cb59d41e95f79f415e4b5dc1da90b Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 13 Feb 2023 17:06:00 +0100 Subject: [PATCH 07/21] fix: add required parameter t and error to input --- src/lib/elements/forms/inputFile.svelte | 24 ++++++++++++++++++- .../function-[function]/create.svelte | 6 ++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/lib/elements/forms/inputFile.svelte b/src/lib/elements/forms/inputFile.svelte index 2e5ea41ad..2db31eaef 100644 --- a/src/lib/elements/forms/inputFile.svelte +++ b/src/lib/elements/forms/inputFile.svelte @@ -1,12 +1,15 @@ @@ -37,7 +54,9 @@ bind:this={input} accept={allowedFileExtensions.map((n) => `.${n}`).join(',')} type="file" - style="display: none" /> + style="display: none" + {required} + on:invalid={handleInvalid} />
{#if label} @@ -117,4 +136,7 @@ {/if}
+ {#if error} + {error} + {/if} diff --git a/src/routes/console/project-[project]/functions/function-[function]/create.svelte b/src/routes/console/project-[project]/functions/function-[function]/create.svelte index f296dd13d..1f6000096 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/create.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/create.svelte @@ -201,7 +201,11 @@ id="entrypoint" bind:value={entrypoint} required /> - + This deployment will be activated after the build is completed. From 9b2324dc673ec6f8bb6dc1184b241175b3f7f5d0 Mon Sep 17 00:00:00 2001 From: tglide <26071571+TGlide@users.noreply.github.com> Date: Mon, 13 Feb 2023 18:22:50 +0000 Subject: [PATCH 08/21] fix: user popover spacing --- src/lib/components/permissions/row.svelte | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/components/permissions/row.svelte b/src/lib/components/permissions/row.svelte index ba9489d7d..e4d369af2 100644 --- a/src/lib/components/permissions/row.svelte +++ b/src/lib/components/permissions/row.svelte @@ -90,8 +90,14 @@