no-duplicate-lifecycle-refresh-listeners
Do not register one Next.js route-refresh callback for both focus and visibilitychange.
Why
A browser tab activation can emit both lifecycle signals and invoke the same route-wide refresh twice.
Fix
Choose one lifecycle signal or route both signals through an explicitly debounced refresh policy.
Examples
import { useRouter } from "next/navigation";const router = useRouter();const refresh = () => router.refresh();window.addEventListener("focus", refresh);document.addEventListener("visibilitychange", refresh);import { useRouter } from "next/navigation";const router = useRouter();const refresh = () => router.refresh();window.addEventListener("focus", refresh);