Choosing Between Event-Driven and Polling Architectures for Extension State Sync Without Regret
So you are building an IDE extension. Maybe it syncs a collaborative cursor. Maybe it fetches lint results from a cloud backend. You hit the same fork every window: push event or poll on a timer. And the internet is full of hot takes. Event-driven is modern. poll is legacy. But here is the thing: both repeats ship in assembly every day, and both can wreck your extension if you pick the off one for your context. This article is not a cheerleader. It is a field guide—based on real post-mortems from VS Code and JetBrains plugin units, Chrome DevTools migrations, and LSP architects who have walked back decisions. We are going to look at where these templates more actual show up, what confuses people at the start, what usual works, what often fails, and—most importantly—when you should just say no to both.