Open Tyriar opened 5 months ago
Repro:
{ "key": "ctrl+shift+k", "command": "workbench.action.terminal.focusPrevious" }
@bpasero there seems to be a race condition here around StatusBarModel.onDidStorageValueChange
. The above repro is very reliable after ~5 ctrl+shift+k's, but it will go away completely if I comment out the StatusBarModel.onDidStorageValueChange
implementation.
Works fine for me:
Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!
@bpasero oh sorry you need to set "terminal.integrated.developer.devMode": true
and recreate the terminals
I can reproduce but I do not have a good idea how to fix this. I think the challenge is that we get an event to the process that actually changed the storage and then see a mismatch between the storage value we receive and the latest in-memory state:
I know we added a external
property to the storage change event to distinguish this:
But it sometimes wrongly reports external: true
even when the value changed from within the renderer where I am listening. I think this is maybe because the in-memory state changed before the event returned and then maybe we think its an external change?
It's only meant to show for focused one: