Skip to content

Commit 8af77bf

Browse files
authored
Merge pull request #842 from Lemoncode/fix/#841-fix-file-content-not-loading
Fix/#841 fix file content not loading
2 parents f74c78a + b7f9cf1 commit 8af77bf

2 files changed

Lines changed: 11 additions & 5 deletions

File tree

.changeset/tasty-steaks-know.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'quickmock': patch
3+
---
4+
5+
Fix editor failing to load files opened from outside the workspace. The webview HTML was assigned before registering `onDidReceiveMessage`, causing a race where the initial `READY` / `WEBVIEW_READY` message from the app could be lost and the file content never delivered. The listener is now registered before the HTML assignment.

packages/vscode-extension/src/editor/provider.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,19 @@ export class QuickMockEditorProvider implements vscode.CustomEditorProvider<Quic
109109
enableScripts: true,
110110
localResourceRoots: [this.extensionUri],
111111
};
112-
panel.webview.html = getHtml(
113-
panel.webview,
114-
this.extensionUri,
115-
getEditorAppUrl()
116-
);
117112

118113
panel.webview.onDidReceiveMessage(async (msg: AppMessage) => {
119114
await handleWebviewMessage(msg, doc, reply =>
120115
panel.webview.postMessage(reply satisfies HostMessage)
121116
);
122117
documentRegistry.set(doc.uri.fsPath, doc.content);
123118
});
119+
120+
panel.webview.html = getHtml(
121+
panel.webview,
122+
this.extensionUri,
123+
getEditorAppUrl()
124+
);
124125
}
125126

126127
private broadcast(doc: QuickMockDocument, msg: HostMessage): void {

0 commit comments

Comments
 (0)