damonsk / vscode-wardley-maps

A Wardley Maps for Visual Studio Code extension supporting rendering and editing maps-as-code.
https://onlinewardleymaps.com/
MIT License
64 stars 12 forks source link

Error when reopening Wordley Maps preview: "Webview is disposed" #29

Open drazzilb91 opened 6 months ago

drazzilb91 commented 6 months ago

Issue description

When attempting to reopen a Wordley Maps (.wm) file preview after closing it, the extension fails to display the preview window again and throws a "Webview is disposed" error.

Steps to reproduce

  1. Open a Wordley Map file (.wm).
  2. Run the "Wordley Maps: Display Map" command from the command palette.
  3. Close the preview window that opens.
  4. With the preview window now closed, run the "Wordley Maps: Display Map" command again from the command palette.

Expected behavior

The second time the "Wordley Maps: Display Map" command is executed, a new preview window should open displaying the Wordley Map.

Actual behavior

The second time the "Wordley Maps: Display Map" command is run, the preview window does not open. Instead, an error alert window is displayed with the following details:

The Extension Host Output window also shows the following error log:

2024-03-10 18:33:52.681 [error] Error: Webview is disposed
    at R.c (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:152:46494)
    at R.reveal (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:152:46372)
    at MapViewLoader.reveal (~\.vscode-insiders\extensions\damonsk.vscode-wardley-maps-1.1.3\extension\out\MapViewLoader.js:63:21)
    at ~\.vscode-insiders\extensions\damonsk.vscode-wardley-maps-1.1.3\extension\out\extension.js:75:24
    at l.h (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:150:185649)
    at l.$executeContributedCommand (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:150:186509)
    at s.S (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:5505)
    at s.Q (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:5271)
    at s.M (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:4361)
    at s.L (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:3440)
    at g.value (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:147:2227)
    at i.y (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:1902)
    at i.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:2119)
    at r.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:105:14137)
    at g.value (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:8020)
    at i.y (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:1902)
    at i.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:80:2119)
    at r.fire (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:105:14137)
    at MessagePortMain.<anonymous> (~\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:6300)
    at MessagePortMain.emit (node:events:517:28)
    at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285) vscode-wardley-maps.display-map {"value":"damonsk.vscode-wardley-maps","_lower":"damonsk.vscode-wardley-maps"}

Additional Information

Closing and re-opening the .wm file restores the ability to display the map.

Environment

Wordley Maps Extension Version: 1.1.3 Version: 1.88.0-insider (user setup) Commit: 6c19c003574b02afc604c0c1c471b1441b33a3d3 Date: 2024-03-08T08:14:03.524Z Electron: 28.2.5 ElectronBuildId: 27336930 Chromium: 120.0.6099.291 Node.js: 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0.22631