This turned out to be a big mistake we were making.  The `currentSeq` was only getting updated after the task queue had finished running the `processChange` promise, which meant that in practice `currentSeq` was always 0 and we were fetching every change since the beginning of time, every time.  I checked in the debugger and confirmed that now it's correctly fetching with `since=50`, `since=100`, `since=150`, etc.