We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
VOICEVOXでファイル保存する時、大体はファイルに直接書き込む形で実装されています。
voicevox/src/backend/electron/main.ts
Lines 998 to 1007 in bba1060
この操作は割と危なくて、何かしらの原因で途中で書き込みが中断してしまうことがあると、中途半端な値が保存されて設定ファイルが壊れます。 特にプロジェクトファイルは膨大な作業量の賜物なので、慎重に上書きしてあげたいです。
このissueは↑のWRITE_FILEと、あとRuntimeInfoManager.tsにあるwriteFileがアトミック操作になれば完了だと思います。
WRITE_FILE
RuntimeInfoManager.ts
writeFile
voicevox/src/backend/electron/manager/RuntimeInfoManager.ts
Lines 89 to 92 in bba1060
意図しないデータの削除が発生しにくくなる
ないはず
同じディレクトリに一時ファイルを書き出し、mvするのが安全だと思います。 アトミック操作にする処理は @RikitoNoto さんが↓で実装してくださいました!
この操作を関数切り出ししていろんなところで使えるようにし、いろんなところで使えば解決かもしれません。
不明な点があれば何でもお聞きください!
The text was updated successfully, but these errors were encountered:
こんにちは! こちらのタスクに取り組んで見たいのですが、よろしいでしょうか?
また、タスクについて一点質問なのですが、 切り出した関数はsrc/helpersフォルダ下にファイルを作成して保存する という形で良いでしょうか?
src/helpers
Sorry, something went wrong.
@tsunekazuomija もちろんです、ぜひぜひ!!
切り出した関数はsrc/helpersフォルダ下にファイルを作成して保存する という形で良いでしょうか?
とても良いと思います! 今見てみたらすでにfileHelper.tsファイルがあったので、切り出す関数によってはとりあえずここに書いても良いかもですね・・・! https://github.com/VOICEVOX/voicevox/blob/b0d8c2e8aa843f380c36352fdcc6e6c1b8bfb66f/src/helpers/fileHelper.ts
fileHelper.ts
なにかあればかなり気軽にお聞きいただければ 🙏
ありがとうございます! 確かにfileHelper.tsにまとまっていたほうが良さそうです! その方針で進めてみます!
ぜひぜひ!!
Successfully merging a pull request may close this issue.
内容
VOICEVOXでファイル保存する時、大体はファイルに直接書き込む形で実装されています。
voicevox/src/backend/electron/main.ts
Lines 998 to 1007 in bba1060
この操作は割と危なくて、何かしらの原因で途中で書き込みが中断してしまうことがあると、中途半端な値が保存されて設定ファイルが壊れます。
特にプロジェクトファイルは膨大な作業量の賜物なので、慎重に上書きしてあげたいです。
このissueは↑の
WRITE_FILE
と、あとRuntimeInfoManager.ts
にあるwriteFile
がアトミック操作になれば完了だと思います。voicevox/src/backend/electron/manager/RuntimeInfoManager.ts
Lines 89 to 92 in bba1060
Pros 良くなる点
意図しないデータの削除が発生しにくくなる
Cons 悪くなる点
ないはず
実現方法
同じディレクトリに一時ファイルを書き出し、mvするのが安全だと思います。
アトミック操作にする処理は @RikitoNoto さんが↓で実装してくださいました!
この操作を関数切り出ししていろんなところで使えるようにし、いろんなところで使えば解決かもしれません。
その他
不明な点があれば何でもお聞きください!
The text was updated successfully, but these errors were encountered: