diff --git a/apps/docs/content/guides/database/pgadmin.mdx b/apps/docs/content/guides/database/pgadmin.mdx index a7917fb205bba..8a3dfbc6f4a33 100644 --- a/apps/docs/content/guides/database/pgadmin.mdx +++ b/apps/docs/content/guides/database/pgadmin.mdx @@ -56,7 +56,7 @@ hideToc: true - Add the connection info. Go to your [`Database Settings`](https://supabase.com/dashboard/project/_/settings/database). Make sure `Use connection pooling` is enabled. Switch the connection mode to `Session` and copy your connection parameters. Fill in your Database password that you made when creating your project (It can be reset in Database Settings above if you don't have it). + Add the connection info. Click the "Connect" button at the top of the page to open the connect Modal. Scroll down to "session pooler", click "view parameters" to toggle the parameters menu open and copy your connection parameters. Fill in your Database password that you made when creating your project (It can be reset in Database Settings above if you don't have it). diff --git a/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx b/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx index 1d5f0fa82369c..b9b58052e7bce 100644 --- a/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx +++ b/apps/studio/components/interfaces/Storage/CreateBucketModal.tsx @@ -18,6 +18,8 @@ import { import { useProjectStorageConfigQuery } from 'data/config/project-storage-config-query' import { useBucketCreateMutation } from 'data/storage/bucket-create-mutation' import { useIcebergWrapperCreateMutation } from 'data/storage/iceberg-wrapper-create-mutation' +import { useSendEventMutation } from 'data/telemetry/send-event-mutation' +import { useSelectedOrganization } from 'hooks/misc/useSelectedOrganization' import { BASE_PATH, IS_PLATFORM } from 'lib/constants' import { Alert_Shadcn_, @@ -74,6 +76,8 @@ export type CreateBucketForm = z.infer const CreateBucketModal = ({ visible, onClose }: CreateBucketModalProps) => { const { ref } = useParams() + const org = useSelectedOrganization() + const { mutate: sendEvent } = useSendEventMutation() const router = useRouter() const { mutateAsync: createBucket, isLoading: isCreating } = useBucketCreateMutation() @@ -134,6 +138,11 @@ const CreateBucketModal = ({ visible, onClose }: CreateBucketModalProps) => { file_size_limit: fileSizeLimit, allowed_mime_types: allowedMimeTypes, }) + sendEvent({ + action: 'storage_bucket_created', + properties: { bucketType: values.type }, + groups: { project: ref ?? 'Unknown', organization: org?.slug ?? 'Unknown' }, + }) if (values.type === 'ANALYTICS' && icebergWrapperExtensionState === 'installed') { await createIcebergWrapper({ bucketName: values.name }) diff --git a/packages/common/telemetry-constants.ts b/packages/common/telemetry-constants.ts index 2886475adef45..9417d17b7b483 100644 --- a/packages/common/telemetry-constants.ts +++ b/packages/common/telemetry-constants.ts @@ -1363,6 +1363,27 @@ export interface ForeignDataWrapperCreatedEvent { } } +/** + * Triggered when a new storage bucket is created in a project. + * + * @group Events + * @source studio + * @page /dashboard/project/{ref}/storage/buckets + */ +export interface StorageBucketCreatedEvent { + action: 'storage_bucket_created' + properties: { + /** + * The type of the bucket created. E.g. standard or analytics iceberg. + */ + bucketType?: string + } + groups: { + project: string + organization: string + } +} + /** * @hidden */ @@ -1443,3 +1464,4 @@ export type TelemetryEvent = | AiAssistantInSupportFormClickedEvent | OrganizationMfaEnforcementUpdated | ForeignDataWrapperCreatedEvent + | StorageBucketCreatedEvent