perf: skip minute-tick subscription for actors without a live status (#11441)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Tomasz Zawadzki
2026-08-11 15:26:52 +02:00
committed by GitHub
parent 89cb08e93c
commit 2a4378c40b
2 changed files with 19 additions and 4 deletions
+12 -3
View File
@@ -1,4 +1,4 @@
import {createContext, useContext, useEffect, useState} from 'react'
import {createContext, use, useEffect, useState} from 'react'
type StateContext = number
@@ -16,6 +16,15 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
return <stateContext.Provider value={tick}>{children}</stateContext.Provider>
}
export function useTickEveryMinute() {
return useContext(stateContext)
/**
* Returns a timestamp that updates once per minute, re-rendering the caller
* on every tick. Pass `enabled: false` to skip subscribing entirely - the
* caller then never re-renders on tick and receives a stable `0`. Relies on
* React 19 `use()`, which may be called conditionally.
*/
export function useTickEveryMinute(enabled: boolean = true) {
if (enabled) {
return use(stateContext)
}
return 0
}