feat: publish HoloLake model-native living system source
This commit is contained in:
parent
6ad10edde1
commit
c395dd3a99
2467 changed files with 615073 additions and 0 deletions
|
|
@ -0,0 +1,40 @@
|
|||
import { useEffect, useRef } from 'react'
|
||||
import { trackEvent } from '../lib/telemetry'
|
||||
import type { GitRepoState } from './useGitSetupState'
|
||||
|
||||
interface UseVaultOpenedTelemetryArgs {
|
||||
entryCount: number
|
||||
gitRepoState: GitRepoState
|
||||
resolvedPath: string
|
||||
}
|
||||
|
||||
function shouldTrackVaultOpened(
|
||||
entryCount: number,
|
||||
gitRepoState: GitRepoState,
|
||||
resolvedPath: string,
|
||||
previousPath: string,
|
||||
): boolean {
|
||||
const hasEntries = entryCount > 0
|
||||
const gitStateKnown = gitRepoState !== 'checking'
|
||||
const vaultChanged = resolvedPath !== previousPath
|
||||
|
||||
return hasEntries && gitStateKnown && vaultChanged
|
||||
}
|
||||
|
||||
export function useVaultOpenedTelemetry({
|
||||
entryCount,
|
||||
gitRepoState,
|
||||
resolvedPath,
|
||||
}: UseVaultOpenedTelemetryArgs): void {
|
||||
const vaultOpenedRef = useRef('')
|
||||
|
||||
useEffect(() => {
|
||||
if (!shouldTrackVaultOpened(entryCount, gitRepoState, resolvedPath, vaultOpenedRef.current)) return
|
||||
|
||||
vaultOpenedRef.current = resolvedPath
|
||||
trackEvent('vault_opened', {
|
||||
has_git: gitRepoState === 'ready' ? 1 : 0,
|
||||
note_count: entryCount,
|
||||
})
|
||||
}, [entryCount, gitRepoState, resolvedPath])
|
||||
}
|
||||
Loading…
Reference in a new issue