a resync deferred because the last one was under RESYNC_INTERVAL ago only ran on the next output of that terminal, so a stale client stayed frozen on an idle shell.
the event thread now wakes every RESYNC_INTERVAL and runs every waiting resync that is due.