mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-27 17:58:07 +00:00
The guard matches any `.current` write inside a `useEffect`, so it also flags refs that are not mirroring a reactive value. Seven such sites landed on main after the rule was written: - wiring.tsx: one-shot request-seen sentinel - billing/plans-view.tsx: previous-confirming tracker for focus return - config-settings.tsx: autosave bookkeeping - gateway-settings.tsx: monotonic request-sequence counters - toolset-config-panel.tsx: mount flag + one-shot provider-choice claim - voice-provider-fields.tsx: one-shot config seed flag None mirrors an atom/prop/state value, so none can produce the one-render-lag stale read the rule exists to prevent. Each gets an eslint-disable with the specific reason rather than widening the rule, which would reopen the hole for real mirrors. Verified the guard still catches the real antipattern: a probe file mirroring `useStore($activeSessionId)` into a ref via useEffect is reported. eslint over apps/desktop/src is 0 errors, and the 24 remaining warnings match the pre-change baseline exactly. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||