9.0.3 in progress: chasing down a crash in TMS's own debug tooling
TMS's debug page has an optional captureLogs toggle for exactly one purpose: when something goes wrong, turn it on, reproduce the issue, and send us the report. It is meant to make diagnosing problems easier, not to become the problem itself.
A few days ago, while stress-testing 9.0.3 in development with dozens of suspended tabs open and captureLogs enabled, the opposite happened: the extension itself crashed, memory exhausted, requiring a full reload to recover. That is not an acceptable outcome for a tool whose entire job is to run quietly in the background and get out of the way, let alone for an extension whose whole purpose is to lighten Chrome's memory load in the first place. What follows is the real, unedited shape of tracking that down: a first round of fixes that were genuinely necessary and genuinely not enough, followed by the investigation that found what actually needed fixing.
- Stress-testing 9.0.3 in development, with lots of suspended tabs and TMS's
captureLogsdebug option on, hit a real out-of-memory crash. - We fixed several genuine bugs in the log buffer and debug page (PR #472), and the crash kept happening anyway.
- The actual cause: TMS's log storage was quietly sending a copy of itself to every open suspended tab every time it was written, and none of those copies ever got cleaned up. The more you logged, the faster it filled up your memory, regardless of how many tabs you had open.
- The real fix moves that log storage to a different, safer mechanism (IndexedDB) that doesn't have this problem at all, plus a batch of smaller hardening fixes found along the way (PR #473, in progress).
- Affects only people who turn on
captureLogsto help us debug something. If you've never touched that setting, none of this ever affected you.

