Currently the debug system relies on the adapter to report all threads for the purpose of pausing and resuming.
Unfortunately some debug adapters don't allow reading of the threads unless stopped.
Should we maintain a copy of all threads internally via the thread started and thread exited events.
cc @tolusha @jonahgraham @marechalp @akosyakov
I don't mind. This is the proper place https://github.com/theia-ide/theia/blob/master/packages/debug/src/common/debug-common.ts#L240
@tolusha I've implemented a change for this on the track-threads branch.
I'm seeing a race condition around the UI updating as the threads get updated by the accumulator (e.g. the step functions don't enable properly).
I'd be grateful on your input.
It will be rewritten with an object model around JSON. There will be a single cached instance of Thread object in memory which holds a reference to raw JSON. It will have associated state information, like whether is it suspended, and provide an event to notify UI. Widgets won't have any domain logic anymore and will only rerender on events.
Ok, any time frame on these changes?
Probably next week, working on it right now.
Most helpful comment
Probably next week, working on it right now.