Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EditorHome.vueとpreload.tsで使われているfs、pathモジュールをメインに移してnodeitegrationをfalseに #1042

Merged
merged 234 commits into from
Dec 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
234 commits
Select commit Hold shift + click to select a range
baba0c7
add detectNvidia function
madosuki Aug 6, 2021
7a67678
merge
madosuki Aug 8, 2021
fd38506
Merge branch 'Hiroshiba-main'
madosuki Aug 8, 2021
057293d
follow to menu bar
madosuki Aug 8, 2021
f6e7867
remove no longer a variable
madosuki Aug 8, 2021
1e39494
run fmt
madosuki Aug 8, 2021
d687501
fix typo
madosuki Aug 8, 2021
ffaa9ef
Merge branch 'Hiroshiba:main' into main
madosuki Aug 8, 2021
6e16f77
Merge branch 'Hiroshiba:main' into main
madosuki Aug 9, 2021
d674253
remove utils.ts and some changes in background.ts
madosuki Aug 10, 2021
c2aeb68
change message box type and detail, and change behaviour of setOnLaun…
madosuki Aug 10, 2021
308f996
Merge branch 'Hiroshiba:main' into main
madosuki Aug 10, 2021
60383f3
recreate package-lock.json using node 12.18.2
madosuki Aug 10, 2021
9fe7c67
solve conflict
madosuki Aug 10, 2021
0af16ac
re recreate package-lock.json using node 12.18.2 and npm 7.20.5
madosuki Aug 10, 2021
0db9f8e
recreate package-lock.json using node 12.18.2 and npm 6.14.5
madosuki Aug 10, 2021
16cc4be
recreate package-lock.json using node 12.18.2 and npm 7.20.3
madosuki Aug 11, 2021
39b18b1
manual merge
madosuki Aug 13, 2021
494efbe
Merge branch 'Hiroshiba-main'
madosuki Aug 13, 2021
1613b3f
Merge branch 'Hiroshiba:main' into main
madosuki Aug 16, 2021
c1bf8bd
Merge branch 'Hiroshiba:main' into main
madosuki Aug 16, 2021
d94cc77
Merge branch 'Hiroshiba:main' into main
madosuki Aug 16, 2021
23b8539
Merge branch 'Hiroshiba:main' into main
madosuki Aug 17, 2021
13b74b6
fix conflict
madosuki Aug 17, 2021
fa7a2dd
Merge branch 'Hiroshiba:main' into main
madosuki Aug 17, 2021
d2a65c8
Merge branch 'Hiroshiba:main' into main
madosuki Aug 19, 2021
5ce3a56
Merge branch 'Hiroshiba:main' into main
madosuki Aug 20, 2021
4626d72
Merge branch 'Hiroshiba:main' into main
madosuki Aug 22, 2021
85b9332
Merge branch 'Hiroshiba:main' into main
madosuki Aug 23, 2021
ef2c6e5
Merge branch 'Hiroshiba:main' into main
madosuki Aug 23, 2021
82712d9
Merge branch 'Hiroshiba:main' into main
madosuki Aug 25, 2021
04e2dbe
Merge branch 'Hiroshiba:main' into main
madosuki Aug 26, 2021
4e44de5
Merge branch 'Hiroshiba:main' into main
madosuki Aug 27, 2021
891cc1a
Merge branch 'Hiroshiba:main' into main
madosuki Aug 28, 2021
5962f50
Merge branch 'Hiroshiba:main' into main
madosuki Aug 29, 2021
b7f2a05
Merge branch 'Hiroshiba:main' into main
madosuki Aug 30, 2021
9d085aa
Merge branch 'Hiroshiba:main' into main
madosuki Aug 31, 2021
f4f7e79
Merge branch 'Hiroshiba:main' into main
madosuki Sep 1, 2021
c86ebf0
Merge branch 'Hiroshiba:main' into main
madosuki Sep 2, 2021
53f7418
Merge branch 'Hiroshiba:main' into main
madosuki Sep 3, 2021
28997ab
Merge branch 'Hiroshiba:main' into main
madosuki Sep 5, 2021
f2e0126
Merge branch 'Hiroshiba:main' into main
madosuki Sep 5, 2021
6425339
Merge branch 'Hiroshiba:main' into main
madosuki Sep 8, 2021
9c358fd
Merge branch 'Hiroshiba:main' into main
madosuki Sep 9, 2021
69cca92
Merge branch 'Hiroshiba:main' into main
madosuki Sep 10, 2021
9ba5f69
Merge branch 'Hiroshiba:main' into main
madosuki Sep 14, 2021
c0929b1
Merge branch 'Hiroshiba:main' into main
madosuki Sep 15, 2021
30499ca
Merge branch 'Hiroshiba:main' into main
madosuki Sep 17, 2021
60094ea
Merge branch 'Hiroshiba:main' into main
madosuki Sep 18, 2021
52a9f1e
Merge branch 'Hiroshiba:main' into main
madosuki Sep 19, 2021
29419f2
Merge branch 'Hiroshiba:main' into main
madosuki Sep 20, 2021
7cb8643
Merge branch 'Hiroshiba:main' into main
madosuki Sep 21, 2021
ab81765
Merge branch 'Hiroshiba:main' into main
madosuki Sep 21, 2021
91b1b27
Merge branch 'Hiroshiba:main' into main
madosuki Sep 22, 2021
04e76e8
Merge branch 'Hiroshiba:main' into main
madosuki Sep 23, 2021
0541f21
Merge branch 'Hiroshiba:main' into main
madosuki Sep 24, 2021
880266f
Merge branch 'Hiroshiba:main' into main
madosuki Sep 25, 2021
6fc7e68
Merge branch 'Hiroshiba:main' into main
madosuki Sep 25, 2021
a93c89c
Merge branch 'Hiroshiba:main' into main
madosuki Sep 27, 2021
3c59e58
Merge branch 'Hiroshiba:main' into main
madosuki Sep 28, 2021
f9c823d
Merge branch 'Hiroshiba:main' into main
madosuki Sep 29, 2021
8ccf5d1
Merge branch 'Hiroshiba:main' into main
madosuki Sep 29, 2021
2339880
Merge branch 'Hiroshiba:main' into main
madosuki Sep 29, 2021
40c7180
Merge branch 'Hiroshiba:main' into main
madosuki Sep 30, 2021
5d3b54d
Merge branch 'Hiroshiba:main' into main
madosuki Sep 30, 2021
b848dd1
Merge branch 'Hiroshiba:main' into main
madosuki Oct 1, 2021
a5f5248
Merge branch 'Hiroshiba:main' into main
madosuki Oct 2, 2021
ae88964
Merge branch 'Hiroshiba:main' into main
madosuki Oct 3, 2021
ef10c56
Merge branch 'Hiroshiba:main' into main
madosuki Oct 3, 2021
9216c5d
Merge branch 'Hiroshiba:main' into main
madosuki Oct 6, 2021
4e00013
Merge branch 'Hiroshiba:main' into main
madosuki Oct 6, 2021
3eda556
Merge branch 'Hiroshiba:main' into main
madosuki Oct 9, 2021
18d6964
Merge branch 'Hiroshiba:main' into main
madosuki Oct 9, 2021
c1f6e86
Merge branch 'Hiroshiba:main' into main
madosuki Oct 10, 2021
c6e9b02
Merge branch 'Hiroshiba:main' into main
madosuki Oct 10, 2021
fca5ed2
Merge branch 'Hiroshiba:main' into main
madosuki Oct 11, 2021
40fbd2f
Merge branch 'Hiroshiba:main' into main
madosuki Oct 11, 2021
4c6f6c3
Merge branch 'Hiroshiba:main' into main
madosuki Oct 11, 2021
960faff
Merge branch 'Hiroshiba:main' into main
madosuki Oct 12, 2021
ad4871a
Merge branch 'Hiroshiba:main' into main
madosuki Oct 12, 2021
99feb8e
Merge branch 'Hiroshiba:main' into main
madosuki Oct 15, 2021
dbaa743
Merge branch 'Hiroshiba:main' into main
madosuki Oct 18, 2021
1400e11
Merge branch 'Hiroshiba:main' into main
madosuki Oct 19, 2021
558551a
Merge branch 'Hiroshiba:main' into main
madosuki Oct 19, 2021
36e69ad
Merge branch 'Hiroshiba:main' into main
madosuki Oct 20, 2021
ef036d4
Merge branch 'Hiroshiba:main' into main
madosuki Oct 22, 2021
64dd2ca
Merge branch 'Hiroshiba:main' into main
madosuki Oct 24, 2021
e92871d
Merge branch 'Hiroshiba:main' into main
madosuki Oct 25, 2021
3302242
Merge branch 'Hiroshiba:main' into main
madosuki Oct 26, 2021
a12c761
Merge branch 'Hiroshiba:main' into main
madosuki Oct 28, 2021
2f55a6c
Merge branch 'Hiroshiba:main' into main
madosuki Oct 29, 2021
366404c
Merge branch 'Hiroshiba:main' into main
madosuki Oct 30, 2021
5ffd332
Merge branch 'Hiroshiba:main' into main
madosuki Nov 1, 2021
cec1e20
Merge branch 'Hiroshiba:main' into main
madosuki Nov 1, 2021
5e39568
Merge branch 'Hiroshiba:main' into main
madosuki Nov 4, 2021
715842c
Merge branch 'Hiroshiba:main' into main
madosuki Nov 7, 2021
0b07c03
Merge branch 'Hiroshiba:main' into main
madosuki Nov 8, 2021
8209bc4
Merge branch 'Hiroshiba:main' into main
madosuki Nov 10, 2021
e829587
Merge branch 'Hiroshiba:main' into main
madosuki Nov 12, 2021
9f5d308
Merge branch 'Hiroshiba:main' into main
madosuki Nov 12, 2021
7df6fc3
Merge branch 'Hiroshiba:main' into main
madosuki Nov 14, 2021
80f2610
Merge branch 'Hiroshiba:main' into main
madosuki Nov 15, 2021
3553fa6
Merge branch 'Hiroshiba:main' into main
madosuki Nov 18, 2021
993dcff
Merge branch 'Hiroshiba:main' into main
madosuki Nov 21, 2021
573f771
Merge branch 'Hiroshiba:main' into main
madosuki Nov 23, 2021
58dbe25
Merge branch 'Hiroshiba:main' into main
madosuki Nov 26, 2021
2343323
Merge branch 'Hiroshiba:main' into main
madosuki Nov 26, 2021
ced1be5
Merge branch 'Hiroshiba:main' into main
madosuki Nov 27, 2021
f411736
Merge branch 'Hiroshiba:main' into main
madosuki Nov 27, 2021
5887e84
Merge branch 'Hiroshiba:main' into main
madosuki Nov 28, 2021
4bda09f
Merge branch 'VOICEVOX:main' into main
madosuki Nov 30, 2021
169ba2f
Merge branch 'VOICEVOX:main' into main
madosuki Dec 3, 2021
391a16a
Merge branch 'VOICEVOX:main' into main
madosuki Dec 7, 2021
3eb7a58
Merge branch 'VOICEVOX:main' into main
madosuki Dec 8, 2021
e983930
Merge branch 'VOICEVOX:main' into main
madosuki Dec 11, 2021
07ffe18
Merge branch 'VOICEVOX:main' into main
madosuki Dec 13, 2021
fd21b2e
Merge branch 'VOICEVOX:main' into main
madosuki Dec 14, 2021
94f92fb
Merge branch 'VOICEVOX:main' into main
madosuki Dec 17, 2021
58848fa
Merge branch 'VOICEVOX:main' into main
madosuki Dec 18, 2021
8e19661
Merge branch 'VOICEVOX:main' into main
madosuki Dec 19, 2021
5a78d6a
Merge branch 'VOICEVOX:main' into main
madosuki Dec 19, 2021
b12e6d4
Merge branch 'VOICEVOX:main' into main
madosuki Dec 24, 2021
5b5b7bb
Merge branch 'VOICEVOX:main' into main
madosuki Dec 30, 2021
25ddb55
Merge branch 'VOICEVOX:main' into main
madosuki Jan 7, 2022
58e60a9
Merge branch 'VOICEVOX:main' into main
madosuki Jan 18, 2022
f1f3bba
Merge branch 'VOICEVOX:main' into main
madosuki Jan 27, 2022
6a568e3
Merge branch 'VOICEVOX:main' into main
madosuki Jan 29, 2022
fe26771
Merge branch 'VOICEVOX:main' into main
madosuki Feb 2, 2022
43502c1
Merge branch 'VOICEVOX:main' into main
madosuki Feb 6, 2022
4d2f661
Merge branch 'VOICEVOX:main' into main
madosuki Feb 9, 2022
ac84261
Merge branch 'VOICEVOX:main' into main
madosuki Feb 17, 2022
f6725a8
Merge branch 'VOICEVOX:main' into main
madosuki Feb 19, 2022
eaec4d1
Merge branch 'VOICEVOX:main' into main
madosuki Feb 22, 2022
47ec6e1
Merge branch 'VOICEVOX:main' into main
madosuki Feb 26, 2022
92ae4c3
Merge branch 'VOICEVOX:main' into main
madosuki Feb 27, 2022
0b5e327
Merge branch 'VOICEVOX:main' into main
madosuki Feb 28, 2022
a005e97
Merge branch 'VOICEVOX:main' into main
madosuki Mar 1, 2022
1120cdc
Merge branch 'VOICEVOX:main' into main
madosuki Mar 2, 2022
21a7cb1
Merge branch 'VOICEVOX:main' into main
madosuki Mar 13, 2022
db72b0f
Merge branch 'VOICEVOX:main' into main
madosuki Mar 14, 2022
a11a47a
Merge branch 'VOICEVOX:main' into main
madosuki Mar 25, 2022
2eafc21
Merge branch 'VOICEVOX:main' into main
madosuki Mar 29, 2022
152d2be
Merge branch 'VOICEVOX:main' into main
madosuki Apr 4, 2022
311c6cc
Merge branch 'VOICEVOX:main' into main
madosuki Apr 8, 2022
38321f9
Merge branch 'VOICEVOX:main' into main
madosuki Apr 9, 2022
330deb8
Merge branch 'VOICEVOX:main' into main
madosuki Apr 16, 2022
35a7679
Merge branch 'VOICEVOX:main' into main
madosuki Apr 18, 2022
dc373cf
Merge branch 'VOICEVOX:main' into main
madosuki Apr 30, 2022
f158180
Merge branch 'VOICEVOX:main' into main
madosuki May 5, 2022
12b711f
Merge branch 'VOICEVOX:main' into main
madosuki May 9, 2022
820ce20
Merge branch 'VOICEVOX:main' into main
madosuki May 11, 2022
e5de9b4
Merge branch 'VOICEVOX:main' into main
madosuki May 15, 2022
0d2f4b0
Merge branch 'VOICEVOX:main' into main
madosuki May 16, 2022
17946ff
Merge branch 'VOICEVOX:main' into main
madosuki Jun 1, 2022
6be32df
Merge branch 'VOICEVOX:main' into main
madosuki Jun 4, 2022
bc3fb7c
Merge branch 'VOICEVOX:main' into main
madosuki Jun 7, 2022
3acad34
Merge branch 'VOICEVOX:main' into main
madosuki Jun 14, 2022
70e919c
Merge branch 'VOICEVOX:main' into main
madosuki Jun 17, 2022
61e9e4a
Merge branch 'VOICEVOX:main' into main
madosuki Jun 21, 2022
94f3593
Merge branch 'VOICEVOX:main' into main
madosuki Jun 26, 2022
ac42879
Merge branch 'VOICEVOX:main' into main
madosuki Jun 27, 2022
334b3ea
Merge branch 'VOICEVOX:main' into main
madosuki Jun 28, 2022
cd212e9
Merge branch 'VOICEVOX:main' into main
madosuki Jun 30, 2022
a7678f9
Merge branch 'VOICEVOX:main' into main
madosuki Jul 13, 2022
11e5135
Merge branch 'VOICEVOX:main' into main
madosuki Jul 15, 2022
e711e2d
Merge branch 'VOICEVOX:main' into main
madosuki Jul 19, 2022
1687455
Merge branch 'VOICEVOX:main' into main
madosuki Jul 25, 2022
33d8f63
Merge branch 'VOICEVOX:main' into main
madosuki Jul 31, 2022
c780cc4
Merge branch 'VOICEVOX:main' into main
madosuki Aug 2, 2022
9592cf5
Merge branch 'VOICEVOX:main' into main
madosuki Aug 4, 2022
e16cf62
Merge branch 'VOICEVOX:main' into main
madosuki Aug 12, 2022
24c75ea
Merge branch 'VOICEVOX:main' into main
madosuki Aug 15, 2022
2a3937f
Merge branch 'VOICEVOX:main' into main
madosuki Aug 23, 2022
f285473
Merge branch 'VOICEVOX:main' into main
madosuki Aug 24, 2022
0664d61
Merge branch 'VOICEVOX:main' into main
madosuki Aug 31, 2022
31c7fe1
Merge branch 'VOICEVOX:main' into main
madosuki Sep 3, 2022
8154459
Merge branch 'VOICEVOX:main' into main
madosuki Sep 3, 2022
41b7e72
Merge branch 'VOICEVOX:main' into main
madosuki Sep 10, 2022
3ab5598
Merge branch 'VOICEVOX:main' into main
madosuki Sep 12, 2022
c279b04
Merge branch 'VOICEVOX:main' into main
madosuki Sep 17, 2022
1fac744
Merge branch 'VOICEVOX:main' into main
madosuki Sep 24, 2022
751cc01
Merge branch 'VOICEVOX:main' into main
madosuki Sep 26, 2022
3910b38
Merge branch 'VOICEVOX:main' into main
madosuki Oct 1, 2022
eaf938b
Merge branch 'VOICEVOX:main' into main
madosuki Oct 2, 2022
1cef139
Merge branch 'VOICEVOX:main' into main
madosuki Oct 3, 2022
e20fd3c
Merge branch 'VOICEVOX:main' into main
madosuki Oct 5, 2022
2b9ce83
Merge branch 'VOICEVOX:main' into main
madosuki Oct 21, 2022
4dd309e
Merge branch 'VOICEVOX:main' into main
madosuki Oct 27, 2022
1184dfe
Merge branch 'VOICEVOX:main' into main
madosuki Oct 30, 2022
a7008bc
Merge branch 'VOICEVOX:main' into main
madosuki Nov 1, 2022
a783b0e
Merge branch 'VOICEVOX:main' into main
madosuki Nov 2, 2022
90f1ed9
Merge branch 'VOICEVOX:main' into main
madosuki Nov 5, 2022
d9d9e15
Merge branch 'VOICEVOX:main' into main
madosuki Nov 10, 2022
a7eb1e6
Merge branch 'VOICEVOX:main' into main
madosuki Nov 20, 2022
79411c3
Merge branch 'VOICEVOX:main' into main
madosuki Nov 26, 2022
66fc70a
Merge branch 'VOICEVOX:main' into main
madosuki Dec 1, 2022
e47f4f8
Merge branch 'VOICEVOX:main' into main
madosuki Dec 5, 2022
1443250
Merge branch 'VOICEVOX:main' into main
madosuki Dec 6, 2022
507690a
Merge branch 'VOICEVOX:main' into main
madosuki Dec 8, 2022
aa05b2a
move process that using fs and path module in renderer to main
madosuki Dec 9, 2022
06689b9
remove comment outed old code
madosuki Dec 9, 2022
8c0b81c
revert to state of disable sandbox
madosuki Dec 9, 2022
8755e36
rename variable
madosuki Dec 9, 2022
2492a27
re rename variable
madosuki Dec 9, 2022
28a5ab7
rpleace PROJECT_NAME getter to GET_PROJECT_NAME action
madosuki Dec 10, 2022
f10ef0b
fix forgot change
madosuki Dec 10, 2022
424a66b
change variable name
madosuki Dec 10, 2022
8acaf47
Merge branch 'VOICEVOX:main' into main
madosuki Dec 13, 2022
8dfd4b3
Merge branch 'main' into move_fs_and_path_to_main_process
madosuki Dec 13, 2022
32813c8
fix type
madosuki Dec 13, 2022
474d66d
rever sandbox false
madosuki Dec 13, 2022
4a23863
change timing of call store.dispatch("GET_PROJEC_NAME") when watch st…
madosuki Dec 14, 2022
20654a5
add a comment
madosuki Dec 14, 2022
2f0af93
Merge branch 'VOICEVOX:main' into main
madosuki Dec 14, 2022
51dc41c
Merge branch 'main' into move_fs_and_path_to_main_process
madosuki Dec 14, 2022
1de7571
reimplement getter PROJECT_NAME
madosuki Dec 14, 2022
a906815
remove comment
madosuki Dec 14, 2022
2f1db67
add forgot process to SAVE_PROJECT_FILE
madosuki Dec 14, 2022
d8c6a92
rever EditorHome.vue
madosuki Dec 14, 2022
adc1794
remove getExtName
madosuki Dec 14, 2022
aba4dc4
rever around join path
madosuki Dec 14, 2022
9ba488a
revert sandbox false
madosuki Dec 14, 2022
809120c
remove no longer declare module
madosuki Dec 14, 2022
21749e4
re add JOIN_PATH
madosuki Dec 14, 2022
fde41d5
remove no longer attr
madosuki Dec 14, 2022
9b9838a
implement basename at store/utility.ts based BBWeb path-browserify
madosuki Dec 14, 2022
1be7eaa
fix
madosuki Dec 14, 2022
32edb29
remove GET_BASE_NAME
madosuki Dec 14, 2022
fa3934f
remove no longer property
madosuki Dec 14, 2022
2ee069b
rename function name
madosuki Dec 14, 2022
870c1db
add index check
madosuki Dec 14, 2022
fae1df4
remove no longer module and unify funtions
madosuki Dec 14, 2022
884416a
revert sandbox false
madosuki Dec 14, 2022
f5302af
Merge branch 'VOICEVOX:main' into move_fs_and_path_to_main_process
madosuki Dec 17, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion src/background.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import {
EngineInfo,
ElectronStoreType,
EngineDirValidationResult,
SystemError,
} from "./type/preload";

import log from "electron-log";
Expand Down Expand Up @@ -998,7 +999,7 @@ async function createWindow() {
show: false,
webPreferences: {
preload: path.join(__dirname, "preload.js"),
nodeIntegration: true,
nodeIntegration: false,
contextIsolation: true,
sandbox: false, // TODO: 外しても問題ないか検証して外す
},
Expand Down Expand Up @@ -1397,6 +1398,26 @@ ipcMainHandle("RESTART_APP", async (_, { isSafeMode }) => {
win.close();
});

ipcMainHandle("WRITE_FILE", (_, { filePath, buffer }) => {
try {
fs.writeFileSync(filePath, new DataView(buffer));
} catch (e) {
// throwだと`.code`の情報が消えるのでreturn
const a = e as SystemError;
return { code: a.code, message: a.message };
}

return undefined;
});

ipcMainHandle("JOIN_PATH", (_, { pathArray }) => {
return path.join(...pathArray);
});

ipcMainHandle("READ_FILE", (_, { filePath }) => {
return fs.promises.readFile(filePath);
});

// app callback
app.on("web-contents-created", (e, contents) => {
// リンククリック時はブラウザを開く
Expand Down
45 changes: 18 additions & 27 deletions src/electron/preload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@ import {
IpcRenderer,
IpcRendererEvent,
} from "electron";
import fs from "fs";
import path from "path";

import { Sandbox, SystemError, ElectronStoreType } from "@/type/preload";
import { Sandbox, ElectronStoreType } from "@/type/preload";
import { IpcIHData, IpcSOData } from "@/type/ipc";

function ipcRendererInvoke<T extends keyof IpcIHData>(
Expand Down Expand Up @@ -72,27 +70,28 @@ const api: Sandbox = {
if (!tempDir) {
tempDir = await ipcRendererInvoke("GET_TEMP_DIR");
}
fs.writeFileSync(path.join(tempDir, relativePath), new DataView(buffer));
const tempFilePath = await ipcRendererInvoke("JOIN_PATH", {
pathArray: [tempDir, relativePath],
});
await ipcRendererInvoke("WRITE_FILE", {
filePath: tempFilePath,
buffer: buffer,
});
},

loadTempFile: async () => {
if (!tempDir) {
tempDir = await ipcRendererInvoke("GET_TEMP_DIR");
}
const buf = fs.readFileSync(path.join(tempDir, "hoge.txt"));
const tempFilePath = await ipcRendererInvoke("JOIN_PATH", {
pathArray: [tempDir, "hoge.txt"],
});
const buf = await ipcRendererInvoke("READ_FILE", {
filePath: tempFilePath,
});
return new TextDecoder().decode(buf);
},

getBaseName: ({ filePath }) => {
/**
* filePathから拡張子を含むファイル名を取り出す。
* vueファイルから直接pathモジュールを読み込むことは出来るが、
* その中のbasename関数は上手く動作しない(POSIX pathとして処理される)。
* この関数を呼び出せばWindows pathが正しく処理される。
*/
return path.basename(filePath);
},

showAudioSaveDialog: ({ title, defaultPath }) => {
return ipcRendererInvoke("SHOW_AUDIO_SAVE_DIALOG", { title, defaultPath });
},
Expand Down Expand Up @@ -138,20 +137,12 @@ const api: Sandbox = {
return ipcRendererInvoke("SHOW_IMPORT_FILE_DIALOG", { title });
},

writeFile: ({ filePath, buffer }) => {
try {
// throwだと`.code`の情報が消えるのでreturn
fs.writeFileSync(filePath, new DataView(buffer));
} catch (e) {
const a = e as SystemError;
return { code: a.code, message: a.message };
}

return undefined;
writeFile: async ({ filePath, buffer }) => {
return await ipcRendererInvoke("WRITE_FILE", { filePath, buffer });
},

readFile: ({ filePath }) => {
return fs.promises.readFile(filePath);
readFile: async ({ filePath }) => {
return await ipcRendererInvoke("READ_FILE", { filePath });
},

openTextEditContextMenu: () => {
Expand Down
6 changes: 3 additions & 3 deletions src/store/audio.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1151,7 +1151,7 @@ export const audioStore = createPartialStore<AudioStoreTypes>({
}
}

let writeFileResult = window.electron.writeFile({
let writeFileResult = await window.electron.writeFile({
filePath,
buffer: await blob.arrayBuffer(),
}); // 失敗した場合、WriteFileErrorResultオブジェクトが返り、成功時はundefinedが反る
Expand All @@ -1178,7 +1178,7 @@ export const audioStore = createPartialStore<AudioStoreTypes>({
type: "text/plain;charset=UTF-8",
});

writeFileResult = window.electron.writeFile({
writeFileResult = await window.electron.writeFile({
filePath: filePath.replace(/\.wav$/, ".lab"),
buffer: await labBlob.arrayBuffer(),
});
Expand Down Expand Up @@ -1209,7 +1209,7 @@ export const audioStore = createPartialStore<AudioStoreTypes>({
});
})();

writeFileResult = window.electron.writeFile({
writeFileResult = await window.electron.writeFile({
filePath: filePath.replace(/\.wav$/, ".txt"),
buffer: await textBlob.arrayBuffer(),
});
Expand Down
8 changes: 4 additions & 4 deletions src/store/project.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { createUILockAction } from "@/store/ui";
import { AudioItem, ProjectStoreState, ProjectStoreTypes } from "@/store/type";
import semver from "semver";
import { buildProjectFileName } from "./utility";
import { buildProjectFileName, getBaseName } from "./utility";
import { createPartialStore } from "./vuex";

import Ajv, { JTDDataType } from "ajv/dist/jtd";
Expand All @@ -16,8 +16,8 @@ export const projectStoreState: ProjectStoreState = {
export const projectStore = createPartialStore<ProjectStoreTypes>({
PROJECT_NAME: {
getter(state) {
return state.projectFilePath !== undefined
? window.electron.getBaseName({ filePath: state.projectFilePath })
return state.projectFilePath
? getBaseName(state.projectFilePath)
: undefined;
},
},
Expand Down Expand Up @@ -347,7 +347,7 @@ export const projectStore = createPartialStore<ProjectStoreTypes>({
const buf = new TextEncoder().encode(
JSON.stringify(projectData)
).buffer;
window.electron.writeFile({ filePath, buffer: buf });
await window.electron.writeFile({ filePath, buffer: buf });
context.commit("SET_PROJECT_FILEPATH", { filePath });
context.commit(
"SET_SAVED_LAST_COMMAND_UNIX_MILLISEC",
Expand Down
27 changes: 27 additions & 0 deletions src/store/utility.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { State } from "@/store/type";
import { ToolbarButtonTagType } from "@/type/preload";
import path from "path";
import { Platform } from "quasar";

export function sanitizeFileName(fileName: string): string {
// \x00 - \x1f: ASCII 制御文字
Expand Down Expand Up @@ -166,3 +168,28 @@ export const convertLongVowel = (text: string): string => {
.replace(/(?<=[ン]ー*)ー/g, "ン")
.replace(/(?<=[ッ]ー*)ー/g, "ッ");
};

// based on https://github.com/BBWeb/path-browserify/blob/win-version/index.js
export const getBaseName = (filePath: string) => {
if (!Platform.is.win) return path.basename(filePath);

const splitDeviceRegex =
/^([a-zA-Z]:|[\\/]{2}[^\\/]+[\\/]+[^\\/]+)?([\\/])?([\s\S]*?)$/;
const splitTailRegex =
/^([\s\S]*?)((?:\.{1,2}|[^\\/]+?|)(\.[^./\\]*|))(?:[\\/]*)$/;

const resultOfSplitDeviceRegex = splitDeviceRegex.exec(filePath);
if (
resultOfSplitDeviceRegex == undefined ||
resultOfSplitDeviceRegex.length < 3
)
return "";
const tail = resultOfSplitDeviceRegex[3] || "";

const resultOfSplitTailRegex = splitTailRegex.exec(tail);
if (resultOfSplitTailRegex == undefined || resultOfSplitTailRegex.length < 2)
return "";
const basename = resultOfSplitTailRegex[2] || "";

return basename;
};
16 changes: 16 additions & 0 deletions src/type/ipc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
ThemeSetting,
ToolbarSetting,
UpdateInfo,
WriteFileErrorResult,
} from "@/type/preload";

/**
Expand Down Expand Up @@ -274,6 +275,21 @@ export type IpcIHData = {
args: [obj: { isSafeMode: boolean }];
return: void;
};

JOIN_PATH: {
args: [obj: { pathArray: string[] }];
return: string;
};

WRITE_FILE: {
args: [obj: { filePath: string; buffer: ArrayBuffer }];
return: WriteFileErrorResult | undefined;
};

READ_FILE: {
args: [obj: { filePath: string }];
return: ArrayBuffer;
};
};

/**
Expand Down
3 changes: 1 addition & 2 deletions src/type/preload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ export interface Sandbox {
getPrivacyPolicyText(): Promise<string>;
saveTempAudioFile(obj: { relativePath: string; buffer: ArrayBuffer }): void;
loadTempFile(): Promise<string>;
getBaseName(obj: { filePath: string }): string;
showAudioSaveDialog(obj: {
title: string;
defaultPath?: string;
Expand Down Expand Up @@ -68,7 +67,7 @@ export interface Sandbox {
writeFile(obj: {
filePath: string;
buffer: ArrayBuffer;
}): WriteFileErrorResult | undefined;
}): Promise<WriteFileErrorResult | undefined>;
readFile(obj: { filePath: string }): Promise<ArrayBuffer>;
openTextEditContextMenu(): Promise<void>;
isAvailableGPUMode(): Promise<boolean>;
Expand Down