MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / useFingerprint

Function useFingerprint

cli/src/hooks/use-fingerprint.ts:20–61  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

18 * The fingerprint is stable across re-renders (generated once on mount).
19 */
20export function useFingerprint(): UseFingerprintResult {
21 // Start with a sync legacy fingerprint for immediate availability
22 const [state, setState] = useState<UseFingerprintResult>(() => ({
23 fingerprintId: generateFingerprintIdSync(),
24 isEnhanced: false,
25 isLoading: true,
26 }))
27
28 useEffect(() => {
29 let cancelled = false
30
31 const generateEnhanced = async () => {
32 try {
33 const enhancedFingerprint = await calculateFingerprint()
34 if (!cancelled) {
35 setState({
36 fingerprintId: enhancedFingerprint,
37 isEnhanced: enhancedFingerprint.startsWith('enhanced-'),
38 isLoading: false,
39 })
40 }
41 } catch (error) {
42 logger.error(error, 'Failed to generate enhanced fingerprint')
43 if (!cancelled) {
44 // Keep the legacy fingerprint we already have
45 setState((prev) => ({
46 ...prev,
47 isLoading: false,
48 }))
49 }
50 }
51 }
52
53 generateEnhanced()
54
55 return () => {
56 cancelled = true
57 }
58 }, [])
59
60 return state
61}

Callers

nothing calls this directly

Calls 2

generateEnhancedFunction · 0.85

Tested by

no test coverage detected