Every git/gh call is execSync/execFileSync; a slow gh api fetch (e.g. /api/github/details) blocks the event loop — viewer heartbeats, the live-claim watcher, and every poll stall with it.
Proposal: async execFile for the gh boundary first (it is network-bound); git can stay sync until it hurts.
Effort: M.
Every git/gh call is
execSync/execFileSync; a slowgh apifetch (e.g./api/github/details) blocks the event loop — viewer heartbeats, the live-claim watcher, and every poll stall with it.Proposal: async execFile for the gh boundary first (it is network-bound); git can stay sync until it hurts.
Effort: M.