MCPcopy Index your code
hub / github.com/codeaashu/claude-code / poll

Function poll

src/hooks/usePrStatus.ts:49–87  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

47 let lastActivityTimestamp = Date.now()
48
49 async function poll() {
50 if (cancelled) return
51
52 const currentInteractionTime = getLastInteractionTime()
53 if (lastSeenInteractionTime !== currentInteractionTime) {
54 lastSeenInteractionTime = currentInteractionTime
55 lastActivityTimestamp = Date.now()
56 } else if (Date.now() - lastActivityTimestamp >= IDLE_STOP_MS) {
57 return
58 }
59
60 const start = Date.now()
61 const result = await fetchPrStatus()
62 if (cancelled) return
63 lastFetchRef.current = start
64
65 setPrStatus(prev => {
66 const newNumber = result?.number ?? null
67 const newReviewState = result?.reviewState ?? null
68 if (prev.number === newNumber && prev.reviewState === newReviewState) {
69 return prev
70 }
71 return {
72 number: newNumber,
73 url: result?.url ?? null,
74 reviewState: newReviewState,
75 lastUpdated: Date.now(),
76 }
77 })
78
79 if (Date.now() - start > SLOW_GH_THRESHOLD_MS) {
80 disabledRef.current = true
81 return
82 }
83
84 if (!cancelled) {
85 timeoutRef.current = setTimeout(poll, POLL_INTERVAL_MS)
86 }
87 }
88
89 const elapsed = Date.now() - lastFetchRef.current
90 if (elapsed >= POLL_INTERVAL_MS) {

Callers 4

usePrStatusFunction · 0.70
useInboxPollerFunction · 0.70
useSwarmPermissionPollerFunction · 0.70

Calls 2

getLastInteractionTimeFunction · 0.85
fetchPrStatusFunction · 0.85

Tested by

no test coverage detected