diff --git a/app/src/lib/backend/projects.ts b/app/src/lib/backend/projects.ts index c337099a2..b8723cd6c 100644 --- a/app/src/lib/backend/projects.ts +++ b/app/src/lib/backend/projects.ts @@ -32,6 +32,10 @@ export class Project { ok_with_force_push!: boolean; omit_certificate_check: boolean | undefined; use_diff_context: boolean | undefined; + + get vscodePath() { + return this.path.includes('\\') ? '/' + this.path.replace('\\', '/') : this.path; + } } export type CloudProject = { @@ -65,7 +69,7 @@ export class ProjectService { } async getProject(projectId: string) { - return await invoke('get_project', { id: projectId }); + return plainToInstance(Project, await invoke('get_project', { id: projectId })); } async updateProject(params: { @@ -76,12 +80,12 @@ export class ProjectService { okWithForcePush?: boolean; omitCertificateCheck?: boolean; }) { - await invoke('update_project', { project: params }); + plainToInstance(Project, await invoke('update_project', { project: params })); this.reload(); } async add(path: string) { - const project = await invoke('add_project', { path }); + const project = plainToInstance(Project, await invoke('add_project', { path })); await this.reload(); return project; } diff --git a/app/src/lib/components/Board.svelte b/app/src/lib/components/Board.svelte index adef6a712..e7fcb05b7 100644 --- a/app/src/lib/components/Board.svelte +++ b/app/src/lib/components/Board.svelte @@ -144,8 +144,8 @@ class="empty-board__suggestions__link" role="button" tabindex="0" - on:keypress={() => open(`vscode://file${project.path}/?windowId=_blank`)} - on:click={() => open(`vscode://file${project.path}/?windowId=_blank`)} + on:keypress={() => open(`vscode://file${project.vscodePath}/?windowId=_blank`)} + on:click={() => open(`vscode://file${project.vscodePath}/?windowId=_blank`)} >