Description
Dispose output channel text buffers when output channel hidden
It looks like today we create buffers for output channels as soon as an output channel gets visible but there is no associated lifecycle to ever dispose these documents again when the output channel is hidden. I suggest to add something similar as we have for text editors: once a text editor is closed, we dispose the buffer. For output we can dispose if:
- the output channel switches to another channel
- the output panel is hidden or switched to another panel
I just verified that we constantly update the output channel buffer when output is received even when the output panel is not visible. Worse, all channel buffers seem to get created as soon as the output panel is activated once.
Use files to store receiving messages
Currently we store incoming messages in memory buffers and they remain for the complete window session so that they can be retained when the channel is visible. By using a file as a backup to store incoming messages, all this memory can be freed up when no channels are shown.
/cc @sandy081