Hanksha
Hanksha
#### What it does This PR fixes a memory leak occurring in the `DockPanelRenderer` and `ToolbarAwareTabBar` when the user opened and closed a lot of tabs repeatedly. The `DockPanelRenderer` was...
### Bug Description: The `DockPanelRenderer` in `application-shell.ts` listens to core preferences when creating a tab bar but never disposes of the listener (see [here](https://github.com/eclipse-theia/theia/blob/master/packages/core/src/browser/shell/application-shell.ts#L138)). The `ToolBarAwareTabBar` that it creates also...
#### What it does This PR fixes the constructor of FileResource so the listener of `this.fileService.onDidChangeFileSystemProviderReadOnlyMessage` is properly disposed when the resource is disposed. Fixes #13877 #### How to test...
### Bug Description: `FileResource` [class constructor](https://github.com/eclipse-theia/theia/blob/master/packages/filesystem/src/browser/file-resource.ts#L100) calls `fileService.onDidChangeFileSystemProviderReadOnlyMessage` but doesn't add it to the `toDispose` collection which leads to emitter memory leak warnings. ### Steps to Reproduce: 1. Open files...
#### What it does This PR adds a lock to the write operations of the `FileResource` (`doWrite` and `doSaveContentChanges`) so that if a change event is received from the `FileService`...
### Bug Description: The `FileResource` sometimes triggers incorrect contents change events because the resource is somehow out of sync during file saving. I initially found about it in our own...