microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.9k stars 29.52k forks source link

Side Bar explorer Folders collapse if a remote connection is reconnected #132813

Open gullevek opened 3 years ago

gullevek commented 3 years ago

Issue Type: Bug

In the last version when a remote connection was reconnected the folders that where open stayed open.

In the latest release whenever there is a reconnect all folders get collapsed again.

This is when the alert window "reload/reopen" is run. A normal timeout and reconnect does not trigger this.

VS Code version: Code 1.60.0 (e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff, 2021-09-01T10:54:53.442Z) OS version: Darwin x64 19.6.0 Restricted Mode: No Remote OS version: Linux x64 5.10.0-4-amd64 Remote OS version: Linux x64 5.10.0-4-amd64 Remote OS version: Linux x64 5.10.0-4-amd64

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (16 x 2300)| |GPU Status|2d_canvas: enabled
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: enabled
opengl: enabled_on
rasterization: enabled
skia_renderer: disabled_off_ok
video_decode: enabled
webgl: enabled
webgl2: enabled| |Load (avg)|2, 3, 2| |Memory (System)|16.00GB (0.13GB free)| |Process Argv|-psn_0_94231 --crash-reporter-id 4284444f-7b66-4290-a251-d91b7ba6d909| |Screen Reader|no| |VM|12%| |Item|Value| |---|---| |Remote|SSH: soba| |OS|Linux x64 5.10.0-4-amd64| |CPUs|Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz (2 x 1897)| |Memory (System)|5.80GB (0.76GB free)| |VM|100%| |Item|Value| |---|---| |Remote|SSH: soba-dev| |OS|Linux x64 5.10.0-4-amd64| |CPUs|Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz (2 x 1897)| |Memory (System)|5.80GB (0.76GB free)| |VM|100%| |Item|Value| |---|---| |Remote|SSH: soba| |OS|Linux x64 5.10.0-4-amd64| |CPUs|Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz (2 x 1897)| |Memory (System)|5.80GB (0.76GB free)| |VM|100%|
Extensions (65) Extension|Author (truncated)|Version ---|---|--- Bookmarks|ale|13.2.1 vscode-markdownlint|Dav|0.43.2 vscode-rust-syntax|dun|0.0.32 vsc-material-theme|Equ|33.2.0 vsc-material-theme-icons|equ|1.2.2 php-pack|fel|1.0.2 auto-close-tag|for|0.5.12 auto-complete-tag|for|0.1.0 auto-rename-tag|for|0.1.8 remotehub|Git|0.14.0 smarty|imp|0.3.0 better-perl-syntax|jef|1.0.14 vscode-peacock|joh|3.9.1 latte|Kas|0.18.0 python|ms-|2021.9.1191016588 vscode-pylance|ms-|2021.9.1 jupyter-keymap|ms-|1.0.0 remote-containers|ms-|0.194.0 remote-ssh|ms-|0.65.7 remote-ssh-edit|ms-|0.65.7 remote-wsl|ms-|0.58.2 vscode-remote-extensionpack|ms-|0.21.0 php-docblocker|nei|2.4.0 svg-preview|Sim|2.8.3 vscode-icons|vsc|11.6.0 rust-extension-pack|wol|0.1.1 material-theme|zhu|3.11.4 Bookmarks|ale|13.2.1 vscode-intelephense-client|bme|1.7.1 better-toml|bun|0.3.2 vscode-perl|cfg|1.18.0 vscode-svgviewer|css|2.0.0 vscode-markdownlint|Dav|0.43.2 jshint|dba|0.11.0 vscode-eslint|dba|2.1.25 githistory|don|0.6.18 gitlens|eam|11.6.0 php-debug|fel|1.17.0 php-intellisense|fel|2.3.14 php-pack|fel|1.0.2 auto-close-tag|for|0.5.12 auto-complete-tag|for|0.1.0 auto-rename-tag|for|0.1.8 todo-tree|Gru|0.0.214 phpcs|ika|1.0.5 vscode-edit-csv|jan|0.6.0 svg|joc|1.4.9 bash-ide-vscode|mad|1.11.0 rainbow-csv|mec|1.9.1 git-graph|mhu|1.30.0 vscode-filesize|mkx|3.1.0 vscode-duplicate|mrm|1.2.1 language-gettext|mro|0.2.0 python|ms-|2021.9.1191016588 vscode-pylance|ms-|2021.9.1 jupyter|ms-|2021.8.2041215044 jupyter-keymap|ms-|1.0.0 vscode-typescript-next|ms-|4.5.20210908 color-highlight|nau|2.4.0 php-docblocker|nei|2.4.0 autodocstring|njp|0.5.4 indent-rainbow|ode|7.5.0 trailing-spaces|sha|0.3.1 vscodeintellicode|Vis|1.2.14 html-css-class-completion|Zig|1.20.0 (5 theme extensions excluded)
A/B Experiments ``` vsliv368:30146709 vsreu685:30147344 python383:30185418 vspyt653:30270858 pythonvspyt602:30300191 vspor879:30202332 vspor708:30202333 vspor363:30204092 vswsl492cf:30256860 vstes516:30244333 pythonvspyt639:30300192 pythontb:30283811 pythonptprofiler:30281270 vshan820:30294714 vstes263:30335439 pythondataviewer:30285071 pythonvsuse255:30340121 vscod805:30301674 pythonvspyt200:30340761 vscextlang:30333561 binariesv615:30325510 vsccppwt:30364497 pythonvssor306:30344512 bridge0708:30335490 pygetstartedt2:30360495 bridge0723:30353136 pythonrunftest32cf:30364560 pythonf5test824cf:30361778 javagetstartedc:30364665 pythonvspyt187:30362782 pydsgst2:30361792 vscus224:30358039 vssid140:30363603 ```
JacksonKearl commented 3 years ago

Related, but the opposite: https://github.com/microsoft/vscode/issues/134665

JacksonKearl commented 3 years ago

Actually this doesn't seem related to #134665, this is a 1.60 regression.

JacksonKearl commented 3 years ago

cc @isidorn for any ideas here off top of mind as this seems to be a regression from before when I took over, otherwise I'll investigate more next iteration.

isidorn commented 3 years ago

@JacksonKearl sorry but I do not have a good idea off top of mind. As you already linked this seems the opposite of #134665

My best bet would be that when there is a reconnect tree input gets set here that the viewState which is passed is somehow invalid and thus the nodes are collapsed.

Between reconnects the IDs of Tree items should not change so the collapse state should not change. However maybe before a disconnect there is some "flush" of tree state - that could alternatively break this flow.