Remove LogEvents alias for Metrics

This commit is contained in:
Eric Bailey
2026-01-21 14:40:49 -06:00
parent eeb3e90b1a
commit abcf8abde5
6 changed files with 21 additions and 22 deletions
+1
View File
@@ -24,6 +24,7 @@ import {device} from '#/storage'
export * as utils from '#/analytics/utils' export * as utils from '#/analytics/utils'
export const features = {init, refresh} export const features = {init, refresh}
export {type Metrics} from '#/analytics/metrics'
type LoggerType = { type LoggerType = {
debug: Logger['debug'] debug: Logger['debug']
+3 -3
View File
@@ -16,7 +16,6 @@ import {useLingui} from '@lingui/react'
import {useActorStatus} from '#/lib/actor-status' import {useActorStatus} from '#/lib/actor-status'
import {getModerationCauseKey} from '#/lib/moderation' import {getModerationCauseKey} from '#/lib/moderation'
import {type LogEvents} from '#/lib/statsig/statsig'
import {forceLTR} from '#/lib/strings/bidi' import {forceLTR} from '#/lib/strings/bidi'
import {NON_BREAKING_SPACE} from '#/lib/strings/constants' import {NON_BREAKING_SPACE} from '#/lib/strings/constants'
import {sanitizeDisplayName} from '#/lib/strings/display-names' import {sanitizeDisplayName} from '#/lib/strings/display-names'
@@ -47,6 +46,7 @@ import {RichText} from '#/components/RichText'
import {Text} from '#/components/Typography' import {Text} from '#/components/Typography'
import {useSimpleVerificationState} from '#/components/verification' import {useSimpleVerificationState} from '#/components/verification'
import {VerificationCheck} from '#/components/verification/VerificationCheck' import {VerificationCheck} from '#/components/verification/VerificationCheck'
import {type Metrics} from '#/analytics/metrics'
import type * as bsky from '#/types/bsky' import type * as bsky from '#/types/bsky'
export function Default({ export function Default({
@@ -461,8 +461,8 @@ export function DescriptionPlaceholder({
export type FollowButtonProps = { export type FollowButtonProps = {
profile: bsky.profile.AnyProfileView profile: bsky.profile.AnyProfileView
moderationOpts: ModerationOpts moderationOpts: ModerationOpts
logContext: LogEvents['profile:follow']['logContext'] & logContext: Metrics['profile:follow']['logContext'] &
LogEvents['profile:unfollow']['logContext'] Metrics['profile:unfollow']['logContext']
colorInverted?: boolean colorInverted?: boolean
onFollow?: () => void onFollow?: () => void
withIcon?: boolean withIcon?: boolean
+3 -3
View File
@@ -2,12 +2,12 @@ import React from 'react'
import {msg} from '@lingui/macro' import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react' import {useLingui} from '@lingui/react'
import {type LogEvents} from '#/lib/statsig/statsig'
import {logger} from '#/logger' import {logger} from '#/logger'
import {type Shadow} from '#/state/cache/types' import {type Shadow} from '#/state/cache/types'
import {useProfileFollowMutationQueue} from '#/state/queries/profile' import {useProfileFollowMutationQueue} from '#/state/queries/profile'
import {useRequireAuth} from '#/state/session' import {useRequireAuth} from '#/state/session'
import * as Toast from '#/view/com/util/Toast' import * as Toast from '#/view/com/util/Toast'
import {type Metrics} from '#/analytics/metrics'
import type * as bsky from '#/types/bsky' import type * as bsky from '#/types/bsky'
export function useFollowMethods({ export function useFollowMethods({
@@ -15,8 +15,8 @@ export function useFollowMethods({
logContext, logContext,
}: { }: {
profile: Shadow<bsky.profile.AnyProfileView> profile: Shadow<bsky.profile.AnyProfileView>
logContext: LogEvents['profile:follow']['logContext'] & logContext: Metrics['profile:follow']['logContext'] &
LogEvents['profile:unfollow']['logContext'] Metrics['profile:unfollow']['logContext']
}) { }) {
const {_} = useLingui() const {_} = useLingui()
const requireAuth = useRequireAuth() const requireAuth = useRequireAuth()
+6 -5
View File
@@ -6,11 +6,12 @@ import {logger} from '#/logger'
import {type SessionAccount, useSessionApi} from '#/state/session' import {type SessionAccount, useSessionApi} from '#/state/session'
import {useLoggedOutViewControls} from '#/state/shell/logged-out' import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import * as Toast from '#/view/com/util/Toast' import * as Toast from '#/view/com/util/Toast'
import {useAnalytics} from '#/analytics'
import {type Metrics} from '#/analytics/metrics'
import {IS_WEB} from '#/env' import {IS_WEB} from '#/env'
import {logEvent} from '../statsig/statsig'
import {type LogEvents} from '../statsig/statsig'
export function useAccountSwitcher() { export function useAccountSwitcher() {
const ax = useAnalytics()
const [pendingDid, setPendingDid] = useState<string | null>(null) const [pendingDid, setPendingDid] = useState<string | null>(null)
const {_} = useLingui() const {_} = useLingui()
const {resumeSession} = useSessionApi() const {resumeSession} = useSessionApi()
@@ -19,7 +20,7 @@ export function useAccountSwitcher() {
const onPressSwitchAccount = useCallback( const onPressSwitchAccount = useCallback(
async ( async (
account: SessionAccount, account: SessionAccount,
logContext: LogEvents['account:loggedIn']['logContext'], logContext: Metrics['account:loggedIn']['logContext'],
) => { ) => {
if (pendingDid) { if (pendingDid) {
// The session API isn't resilient to race conditions so let's just ignore this. // The session API isn't resilient to race conditions so let's just ignore this.
@@ -37,7 +38,7 @@ export function useAccountSwitcher() {
history.pushState(null, '', '/') history.pushState(null, '', '/')
} }
await resumeSession(account, true) await resumeSession(account, true)
logEvent('account:loggedIn', {logContext, withPassword: false}) ax.metric('account:loggedIn', {logContext, withPassword: false})
Toast.show(_(msg`Signed in as @${account.handle}`)) Toast.show(_(msg`Signed in as @${account.handle}`))
} else { } else {
requestSwitchToAccount({requestedAccount: account.did}) requestSwitchToAccount({requestedAccount: account.did})
@@ -59,7 +60,7 @@ export function useAccountSwitcher() {
setPendingDid(null) setPendingDid(null)
} }
}, },
[_, resumeSession, requestSwitchToAccount, pendingDid], [_, ax, resumeSession, requestSwitchToAccount, pendingDid],
) )
return {onPressSwitchAccount, pendingDid} return {onPressSwitchAccount, pendingDid}
+3 -6
View File
@@ -1,16 +1,13 @@
import type React from 'react' import type React from 'react'
import {type Metrics} from '#/logger'
import {type Gate} from './gates' import {type Gate} from './gates'
export type {Metrics as LogEvents}
/** /**
* @deprecated use `logger.metric()` instead * @deprecated use `logger.metric()` instead
*/ */
export function logEvent<E extends keyof Metrics>( export function logEvent(
_eventName: E & string, _eventName: string,
_rawMetadata: Metrics[E] & any, _rawMetadata: any,
_options: { _options: {
/** /**
* Send to our data lake only, not to StatSig * Send to our data lake only, not to StatSig
+5 -5
View File
@@ -1,5 +1,5 @@
import {type LogEvents} from '#/lib/statsig/statsig'
import {type PersistedAccount} from '#/state/persisted' import {type PersistedAccount} from '#/state/persisted'
import {type Metrics} from '#/analytics/metrics'
export type SessionAccount = PersistedAccount export type SessionAccount = PersistedAccount
@@ -21,7 +21,7 @@ export type SessionApiContext = {
verificationPhone?: string verificationPhone?: string
verificationCode?: string verificationCode?: string
}, },
metrics: LogEvents['account:create:success'], metrics: Metrics['account:create:success'],
) => Promise<void> ) => Promise<void>
login: ( login: (
props: { props: {
@@ -30,13 +30,13 @@ export type SessionApiContext = {
password: string password: string
authFactorToken?: string | undefined authFactorToken?: string | undefined
}, },
logContext: LogEvents['account:loggedIn']['logContext'], logContext: Metrics['account:loggedIn']['logContext'],
) => Promise<void> ) => Promise<void>
logoutCurrentAccount: ( logoutCurrentAccount: (
logContext: LogEvents['account:loggedOut']['logContext'], logContext: Metrics['account:loggedOut']['logContext'],
) => void ) => void
logoutEveryAccount: ( logoutEveryAccount: (
logContext: LogEvents['account:loggedOut']['logContext'], logContext: Metrics['account:loggedOut']['logContext'],
) => void ) => void
resumeSession: ( resumeSession: (
account: SessionAccount, account: SessionAccount,