felipecaputo/git-project-manager

Cannot switch workspaces while in WSL via WSL Remote Extension

wongjn opened this issue · 3 comments

Describe the bug
After initial indexing, the workspace switching dialogue does not open any folders.

I get the following errors on initial indexing:
[Extension Host] rejected promise not handled within 1 second: Error: ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm_projects.json'
t.log @ workbench.main.js:238
$logExtensionHostMessage @ workbench.main.js:3214
_doInvokeHandler @ workbench.main.js:3292
_invokeHandler @ workbench.main.js:3292
_receiveRequest @ workbench.main.js:3291
_receiveOneMessage @ workbench.main.js:3289
_protocol.onMessage.e @ workbench.main.js:3288
fire @ workbench.main.js:77
a @ workbench.main.js:322
e @ workbench.main.js:322
fire @ workbench.main.js:77
_receiveMessage @ workbench.main.js:331
S._socketDisposables.push._socketReader.onMessage.e @ workbench.main.js:328
fire @ workbench.main.js:77
acceptChunk @ workbench.main.js:325
_register._socket.onData.e @ workbench.main.js:324
t @ workbench.main.js:333
emit @ events.js:182
addChunk @ _stream_readable.js:279
readableAddChunk @ _stream_readable.js:264
Readable.push @ _stream_readable.js:219
onread @ net.js:636

[Extension Host] stack trace: Error: ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm_projects.json'
	at Object.fs.openSync (fs.js:577:3)
	at Object.fs.writeFileSync (fs.js:1307:33)
	at GitProjectManager.saveListToDisc (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:86:12)
	at GitProjectManager.saveRepositoryInfo (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:112:14)
	at GitProjectManager.updateRepoList (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:214:14)
	at projectLocator.locateGitProjects.then.then.dirList (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:239:43)

[object Object]]ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm_projects.json'
$onExtensionRuntimeError @ workbench.main.js:3240
_doInvokeHandler @ workbench.main.js:3292
_invokeHandler @ workbench.main.js:3292
_receiveRequest @ workbench.main.js:3291
_receiveOneMessage @ workbench.main.js:3289
_protocol.onMessage.e @ workbench.main.js:3288
fire @ workbench.main.js:77
a @ workbench.main.js:322
e @ workbench.main.js:322
fire @ workbench.main.js:77
_receiveMessage @ workbench.main.js:331
S._socketDisposables.push._socketReader.onMessage.e @ workbench.main.js:328
fire @ workbench.main.js:77
acceptChunk @ workbench.main.js:325
_register._socket.onData.e @ workbench.main.js:324
t @ workbench.main.js:333
emit @ events.js:182
addChunk @ _stream_readable.js:279
readableAddChunk @ _stream_readable.js:264
Readable.push @ _stream_readable.js:219
onread @ net.js:636

Error: ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm_projects.json'
	at Object.fs.openSync (fs.js:577)
	at Object.fs.writeFileSync (fs.js:1307)
	at GitProjectManager.saveListToDisc (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:86)
	at GitProjectManager.saveRepositoryInfo (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:112)
	at GitProjectManager.updateRepoList (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:214)
	at projectLocator.locateGitProjects.then.then.dirList (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:239)
Then picking any folder:
[Extension Host] rejected promise not handled within 1 second: Error: ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm-recentItems.json'
t.log @ workbench.main.js:238
$logExtensionHostMessage @ workbench.main.js:3214
_doInvokeHandler @ workbench.main.js:3292
_invokeHandler @ workbench.main.js:3292
_receiveRequest @ workbench.main.js:3291
_receiveOneMessage @ workbench.main.js:3289
_protocol.onMessage.e @ workbench.main.js:3288
fire @ workbench.main.js:77
a @ workbench.main.js:322
e @ workbench.main.js:322
fire @ workbench.main.js:77
_receiveMessage @ workbench.main.js:331
S._socketDisposables.push._socketReader.onMessage.e @ workbench.main.js:328
fire @ workbench.main.js:77
acceptChunk @ workbench.main.js:325
_register._socket.onData.e @ workbench.main.js:324
t @ workbench.main.js:333
emit @ events.js:182
addChunk @ _stream_readable.js:279
readableAddChunk @ _stream_readable.js:264
Readable.push @ _stream_readable.js:219
onread @ net.js:636

[Extension Host] stack trace: Error: ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm-recentItems.json'
	at Object.fs.openSync (fs.js:577:3)
	at Object.fs.writeFileSync (fs.js:1307:33)
	at RecentItems.saveToFile (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/recentItems.js:34:12)
	at RecentItems.addProject (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/recentItems.js:51:14)
	at GitProjectManager.openProject (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:271:25)
	at onResolve (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:182:22)
	at process._tickCallback (internal/process/next_tick.js:68:7)
t.log @ workbench.main.js:238
$logExtensionHostMessage @ workbench.main.js:3214
_doInvokeHandler @ workbench.main.js:3292
_invokeHandler @ workbench.main.js:3292
_receiveRequest @ workbench.main.js:3291
_receiveOneMessage @ workbench.main.js:3289
_protocol.onMessage.e @ workbench.main.js:3288
fire @ workbench.main.js:77
a @ workbench.main.js:322
e @ workbench.main.js:322
fire @ workbench.main.js:77
_receiveMessage @ workbench.main.js:331
S._socketDisposables.push._socketReader.onMessage.e @ workbench.main.js:328
fire @ workbench.main.js:77
acceptChunk @ workbench.main.js:325
_register._socket.onData.e @ workbench.main.js:324
t @ workbench.main.js:333
emit @ events.js:182
addChunk @ _stream_readable.js:279
readableAddChunk @ _stream_readable.js:264
Readable.push @ _stream_readable.js:219
onread @ net.js:636

[[object Object]]ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm-recentItems.json'
$onExtensionRuntimeError @ workbench.main.js:3240
_doInvokeHandler @ workbench.main.js:3292
_invokeHandler @ workbench.main.js:3292
_receiveRequest @ workbench.main.js:3291
_receiveOneMessage @ workbench.main.js:3289
_protocol.onMessage.e @ workbench.main.js:3288
fire @ workbench.main.js:77
a @ workbench.main.js:322
e @ workbench.main.js:322
fire @ workbench.main.js:77
_receiveMessage @ workbench.main.js:331
S._socketDisposables.push._socketReader.onMessage.e @ workbench.main.js:328
fire @ workbench.main.js:77
acceptChunk @ workbench.main.js:325
_register._socket.onData.e @ workbench.main.js:324
t @ workbench.main.js:333
emit @ events.js:182
addChunk @ _stream_readable.js:279
readableAddChunk @ _stream_readable.js:264
Readable.push @ _stream_readable.js:219
onread @ net.js:636

Error: ENOENT: no such file or directory, open '/home/foobar/.config/Code - Insiders/User/gpm-recentItems.json'
	at Object.fs.openSync (fs.js:577)
	at Object.fs.writeFileSync (fs.js:1307)
	at RecentItems.saveToFile (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/recentItems.js:34)
	at RecentItems.addProject (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/recentItems.js:51)
	at GitProjectManager.openProject (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:271)
	at onResolve (/home/foobar/.vscode-remote/extensions/felipecaputo.git-project-manager-1.7.1/src/gitProjectManager.js:182)
	at process._tickCallback (internal/process/next_tick.js:68)

Creating the /home/foobar/.config/Code - Insiders/User/ directory manually works as a work-around.

To Reproduce
Steps to reproduce the behavior:

  1. Install VSCode Insiders
  2. Install Remote Development extension pack
  3. Start Remote WSL session
  4. Open folder picker
  5. Wait for indexing to finish
  6. Open folder again
  7. Pick a repo
  8. Nothing happens, errors in console

Expected behavior
VSCode would open the folder picked from the dialogue.

Desktop (please complete the following information):

  • OS: Win 10
  • VSCode Insiders 1.35.0

Can confirm. I ran into the same issue.

I'll review and release a new version with this fix this week

Sorry for taking so long

Quick solution I found for this specific problem:

mkdir -p ~/.config/{Code/{User,},} && touch .config/Code/User/gpm-recentItems.json