From 1a4be387c1e41b98030fed1c08b0865c664a8a32 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Fri, 13 Oct 2023 09:13:00 -0700 Subject: [PATCH 01/43] fix(login-signup): add glean attributes --- components/nav/NavUser.vue | 2 ++ components/user/UserSignInEntry.vue | 2 ++ 2 files changed, 4 insertions(+) diff --git a/components/nav/NavUser.vue b/components/nav/NavUser.vue index 8fe747c335..c9f3adefb9 100644 --- a/components/nav/NavUser.vue +++ b/components/nav/NavUser.vue @@ -29,6 +29,7 @@ const { busy, oauth, singleInstanceServer } = useSignIn() gap-x-1 items-center justify-center text-sm p-x-10px p-y-10px xl:hidden text-center font-600 sm:mr-8px sm:btn-solid sm:btn-outline sm:b-rd-8px :disabled="busy" + data-glean="header.signup" @click="oauth('signup')" > {{ $t('action.create_account') }} @@ -39,6 +40,7 @@ const { busy, oauth, singleInstanceServer } = useSignIn() gap-x-1 items-center justify-center text-sm font-600 p-x-11px p-y-11px xl:hidden sm:border-1 sm:border-primary sm:btn-outline sm:b-rd-8px :disabled="busy" + data-glean="header.login" @click="oauth()" > {{ $t('action.sign_in') }} diff --git a/components/user/UserSignInEntry.vue b/components/user/UserSignInEntry.vue index cb1bcce1e5..3392370a19 100644 --- a/components/user/UserSignInEntry.vue +++ b/components/user/UserSignInEntry.vue @@ -14,6 +14,7 @@ const { busy, oauth, singleInstanceServer } = useSignIn() v-if="singleInstanceServer" flex="~ row" gap-x-2 items-center justify-center btn-solid text-center rounded-3 font-500 :disabled="busy" + data-glean="nav.signup" @click="oauth('signup')" > {{ $t('action.create_account') }} @@ -22,6 +23,7 @@ const { busy, oauth, singleInstanceServer } = useSignIn() v-if="singleInstanceServer" flex="~ row" gap-x-2 items-center justify-center btn-outline text-center rounded-3 font-500 :disabled="busy" + data-glean="nav.login" @click="oauth()" > {{ $t('action.sign_in') }} From fdcf6599e49551f7edf33dbf1dc6723d1388fbfa Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Fri, 13 Oct 2023 10:57:55 -0700 Subject: [PATCH 02/43] fix(login-signup): register new events under engagementDetails map --- telemetry/engagementDetails.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/telemetry/engagementDetails.ts b/telemetry/engagementDetails.ts index ca29cc8d4d..be64365da7 100644 --- a/telemetry/engagementDetails.ts +++ b/telemetry/engagementDetails.ts @@ -15,4 +15,16 @@ export const engagementDetails: EngagementDetails = { 'settings.interface.themeColor': { engagement_type: 'general', }, + 'header.signup': { + engagement_type: 'general', + }, + 'header.login': { + engagement_type: 'general', + }, + 'nav.signup': { + engagement_type: 'general', + }, + 'nav.login': { + engagement_type: 'general', + }, } From c3ef109d318c7cb083727981fd766ab980f8bb98 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Tue, 17 Oct 2023 14:37:24 -0700 Subject: [PATCH 03/43] fix(profile): make ui_identifiers more specific, add 2 more follow cases --- components/account/AccountFollowButton.vue | 12 ++++++++---- telemetry/engagementDetails.ts | 6 ++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/components/account/AccountFollowButton.vue b/components/account/AccountFollowButton.vue index 1ec43cd898..1aa98f0ba1 100644 --- a/components/account/AccountFollowButton.vue +++ b/components/account/AccountFollowButton.vue @@ -73,13 +73,17 @@ const dataGlean = $computed(() => { let action if (relationship?.blocking) - action = 'unblock' + action = 'follow.unblock' else if (relationship?.muting) - action = 'unmute' + action = 'follow.unmute' else if (relationship ? relationship.following : context === 'following') - action = 'unfollow' + action = 'follow.unfollow' + else if (relationship?.requested) + action = 'follow.withdraw-follow-request' + else if ((relationship ? relationship.followedBy : context === 'followedBy') && account.locked) + action = 'follow.follow-request' else - action = 'follow' + action = 'follow.follow' return `${gleanContext}.${action}` }) diff --git a/telemetry/engagementDetails.ts b/telemetry/engagementDetails.ts index f1ae845f5e..4ec21250d4 100644 --- a/telemetry/engagementDetails.ts +++ b/telemetry/engagementDetails.ts @@ -28,4 +28,10 @@ export const engagementDetails: EngagementDetails = { 'profile.follow.follow': { engagement_type: 'general', }, + 'profile.follow.withdraw-follow-request': { + engagement_type: 'general', + }, + 'profile.follow.follow-request': { + engagement_type: 'general', + }, } From e62a0b08a718d985dfe3af34e01224517b1fd7ef Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Wed, 18 Oct 2023 01:41:55 -0700 Subject: [PATCH 04/43] fix(profile): click events for more options --- components/account/AccountMoreButton.vue | 27 +++++++-- components/common/dropdown/DropdownItem.vue | 2 + telemetry/engagementDetails.ts | 66 +++++++++++++++++++++ 3 files changed, 89 insertions(+), 6 deletions(-) diff --git a/components/account/AccountMoreButton.vue b/components/account/AccountMoreButton.vue index 44392ef494..17c1f7e6cd 100644 --- a/components/account/AccountMoreButton.vue +++ b/components/account/AccountMoreButton.vue @@ -53,7 +53,7 @@ async function removeUserNote() { @@ -171,25 +185,26 @@ async function removeUserNote() { :text="$t('menu.report_account', [`@${account.acct}`])" icon="i-ri:flag-2-line" :command="command" + data-glean="profile.more.report" @click="openReportDialog(account)" /> diff --git a/components/common/dropdown/DropdownItem.vue b/components/common/dropdown/DropdownItem.vue index 2a1abc331f..74c26c9c20 100644 --- a/components/common/dropdown/DropdownItem.vue +++ b/components/common/dropdown/DropdownItem.vue @@ -6,6 +6,7 @@ const props = withDefaults(defineProps<{ icon?: string checked?: boolean command?: boolean + dataGlean: string }>(), { is: 'div', }) @@ -51,6 +52,7 @@ useCommand({ select-none hover-bg-active :aria-label="text" + :data-glean="props.dataGlean" @click="handleClick" >
diff --git a/telemetry/engagementDetails.ts b/telemetry/engagementDetails.ts index 4ec21250d4..cf83216afe 100644 --- a/telemetry/engagementDetails.ts +++ b/telemetry/engagementDetails.ts @@ -34,4 +34,70 @@ export const engagementDetails: EngagementDetails = { 'profile.follow.follow-request': { engagement_type: 'general', }, + 'a': { + engagement_type: 'general', + }, + 'profile.more.open': { + engagement_type: 'general', + }, + 'profile.more.open_in_original_site': { + engagement_type: 'general', + }, + 'profile.more.share_account': { + engagement_type: 'general', + }, + 'profile.more.mention': { + engagement_type: 'general', + }, + 'profile.more.direct_message': { + engagement_type: 'general', + }, + 'profile.more.show_boosts': { + engagement_type: 'general', + }, + 'profile.more.hide_boosts': { + engagement_type: 'general', + }, + 'profile.more.add_note': { + engagement_type: 'general', + }, + 'profile.more.remove_note': { + engagement_type: 'general', + }, + 'profile.more.mute': { + engagement_type: 'general', + }, + 'profile.more.unmute': { + engagement_type: 'general', + }, + 'profile.more.block': { + engagement_type: 'general', + }, + 'profile.more.unblock': { + engagement_type: 'general', + }, + 'profile.more.block_domain': { + engagement_type: 'general', + }, + 'profile.more.unblock_domain': { + engagement_type: 'general', + }, + 'profile.more.report': { + engagement_type: 'general', + }, + 'profile.more.goto_pinned': { + engagement_type: 'general', + }, + 'profile.more.goto_favorites': { + engagement_type: 'general', + }, + 'profile.more.goto_mutes': { + engagement_type: 'general', + }, + 'profile.more.goto_blocks': { + engagement_type: 'general', + }, + 'profile.more.goto_domain_blocks': { + engagement_type: 'general', + }, } From 790456e42db7fd0a3b6eae0d033a2fc2e7cc4c07 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Wed, 18 Oct 2023 01:44:13 -0700 Subject: [PATCH 05/43] fix(profile): make dropdown options into buttons --- components/account/AccountMoreButton.vue | 25 +++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/components/account/AccountMoreButton.vue b/components/account/AccountMoreButton.vue index 17c1f7e6cd..889f20686b 100644 --- a/components/account/AccountMoreButton.vue +++ b/components/account/AccountMoreButton.vue @@ -62,6 +62,7 @@ async function removeUserNote() { From 71ec6cd73de691d825b9de8e090d1fc122762fae Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Wed, 18 Oct 2023 01:50:08 -0700 Subject: [PATCH 06/43] fix(profile): events for notify button, add comments to engagementDetails --- components/account/AccountHeader.vue | 1 + telemetry/engagementDetails.ts | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/components/account/AccountHeader.vue b/components/account/AccountHeader.vue index 6c28c9142a..cbd143e435 100644 --- a/components/account/AccountHeader.vue +++ b/components/account/AccountHeader.vue @@ -141,6 +141,7 @@ const personalNoteMaxLength = 2000 :aria-label="t('account.notifications_on_post_enable', { username: `@${account.username}` })" rounded-full text-sm p2 border-1 transition-colors :class="isNotifiedOnPost ? 'text-primary border-primary hover:bg-red/20 hover:text-red hover:border-red' : 'border-base hover:text-primary'" + :data-glean="isNotifiedOnPost ? 'profile.notify_stop' : 'profile.notify_start'" @click="toggleNotifications" > diff --git a/telemetry/engagementDetails.ts b/telemetry/engagementDetails.ts index cf83216afe..7310d5b2db 100644 --- a/telemetry/engagementDetails.ts +++ b/telemetry/engagementDetails.ts @@ -15,7 +15,7 @@ export const engagementDetails: EngagementDetails = { 'settings.interface.themeColor': { engagement_type: 'general', }, - + // profile follow button 'profile.follow.unblock': { engagement_type: 'general', }, @@ -34,9 +34,7 @@ export const engagementDetails: EngagementDetails = { 'profile.follow.follow-request': { engagement_type: 'general', }, - 'a': { - engagement_type: 'general', - }, + // profile more button 'profile.more.open': { engagement_type: 'general', }, @@ -100,4 +98,11 @@ export const engagementDetails: EngagementDetails = { 'profile.more.goto_domain_blocks': { engagement_type: 'general', }, + // profile notifications + 'profile.notify_start': { + engagement_type: 'general', + }, + 'profile.notify_stop': { + engagement_type: 'general', + }, } From 98213c7abbe3d5654e4f3469360a49e53dbbf974 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Wed, 18 Oct 2023 01:55:40 -0700 Subject: [PATCH 07/43] fix(profile): modify lists --- components/account/AccountHeader.vue | 1 + telemetry/engagementDetails.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/components/account/AccountHeader.vue b/components/account/AccountHeader.vue index cbd143e435..d962e15a65 100644 --- a/components/account/AccountHeader.vue +++ b/components/account/AccountHeader.vue @@ -154,6 +154,7 @@ const personalNoteMaxLength = 2000 :aria-label="$t('list.modify_account')" rounded-full text-sm p2 border-1 transition-colors border-base hover:text-primary + data-glean="profile.modify_lists" > diff --git a/telemetry/engagementDetails.ts b/telemetry/engagementDetails.ts index 7310d5b2db..bba8635e6f 100644 --- a/telemetry/engagementDetails.ts +++ b/telemetry/engagementDetails.ts @@ -105,4 +105,8 @@ export const engagementDetails: EngagementDetails = { 'profile.notify_stop': { engagement_type: 'general', }, + // profile notifications + 'profile.modify_lists': { + engagement_type: 'general', + }, } From fc0a7c65571511c9e29a182c8e4c414e6acf7202 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Wed, 18 Oct 2023 01:57:15 -0700 Subject: [PATCH 08/43] fix(profile): separate profile events into own map --- telemetry/engagementDetails.ts | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/telemetry/engagementDetails.ts b/telemetry/engagementDetails.ts index bba8635e6f..6156301f51 100644 --- a/telemetry/engagementDetails.ts +++ b/telemetry/engagementDetails.ts @@ -5,17 +5,8 @@ interface EngagementDetails { } } -export const engagementDetails: EngagementDetails = { - 'settings.interface.colorMode': { - engagement_type: 'general', - }, - 'settings.interface.fontSize': { - engagement_type: 'general', - }, - 'settings.interface.themeColor': { - engagement_type: 'general', - }, - // profile follow button +const profileEvents = { + // follow button 'profile.follow.unblock': { engagement_type: 'general', }, @@ -34,7 +25,7 @@ export const engagementDetails: EngagementDetails = { 'profile.follow.follow-request': { engagement_type: 'general', }, - // profile more button + // more button 'profile.more.open': { engagement_type: 'general', }, @@ -98,15 +89,28 @@ export const engagementDetails: EngagementDetails = { 'profile.more.goto_domain_blocks': { engagement_type: 'general', }, - // profile notifications + // notifications 'profile.notify_start': { engagement_type: 'general', }, 'profile.notify_stop': { engagement_type: 'general', }, - // profile notifications + // modify lists 'profile.modify_lists': { engagement_type: 'general', }, } + +export const engagementDetails: EngagementDetails = { + 'settings.interface.colorMode': { + engagement_type: 'general', + }, + 'settings.interface.fontSize': { + engagement_type: 'general', + }, + 'settings.interface.themeColor': { + engagement_type: 'general', + }, + ...profileEvents, +} From 6e37ff9a20cd569f6bdac27ed4627d0c318f4942 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Wed, 18 Oct 2023 02:02:13 -0700 Subject: [PATCH 09/43] fix(profile): events for details (N posts, N followers, N following) --- components/account/AccountPostsFollowers.vue | 3 +++ telemetry/engagementDetails.ts | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/components/account/AccountPostsFollowers.vue b/components/account/AccountPostsFollowers.vue index 830ddd8e5f..b2fbedc9b8 100644 --- a/components/account/AccountPostsFollowers.vue +++ b/components/account/AccountPostsFollowers.vue @@ -16,6 +16,7 @@ const userSettings = useUserSettings() replace text-secondary exact-active-class="text-primary" + data-glean="profile.details.posts" >