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
設定ファイルの保存はConfigManagerで行われていて、それはファイルに直接書き込む形で実装されています。
voicevox/src/backend/electron/electronConfig.ts
Lines 23 to 28 in 4c9550b
この操作は割と危なくて、何かしらの原因で途中で書き込みが中断してしまうことがあると、中途半端な値が保存されて設定ファイルが壊れます。 実際にそれが原因かもしれない不具合報告も見つかりました。
設定ファイルに関してはプリセットが保存されていたりとクリエイターにとって割と重要なポジションを占めるので、優先度ラベルを高めに設定しています。
バグが起こりにくくなる
一度保存する先のパス+.tmpみたいなファイルに書き出した後、moveFileでファイルを上書きすれば OK。 moveFileの使い方はこんな感じ
.tmp
moveFile
voicevox/src/backend/electron/manager/vvppManager.ts
Line 283 in 4c9550b
直接ファイルを書き込んでいるところはいくつかあるので、一度同じディレクトリの.tmpに書き込んだ後moveFileする便利関数を作って使いますと便利そう。
処理としてはそんなに難しくないと思うのでぜひ気軽にコミットにチャレンジしてみてください!
The text was updated successfully, but these errors were encountered:
@Hiroshiba 初めまして、こちらのissueぜひ対応させていただきたいです!
一度同じディレクトリの.tmpに書き込んだ後moveFileする便利関数を作って使いますと便利そう。
これは作るとしたら、src/helpers/にファイル操作用の新規ソース作成するような形でよろしいでしょうか?
src/helpers/
Sorry, something went wrong.
VOICEVOX#2082 tempファイル作成後に設定ファイルを書き込むよう修正
6ef4ed5
@RikitoNoto PRありがとうございます!!
そちらでも問題ないですが、今回の場合は使われる場所が(今のところ)src/backend/electron/だけなので、ここに作っちゃうのも良いかもです・・・!
src/backend/electron/
設定ファイルの保存をアトミック操作に変更 (#2098)
279ab2c
#2082 tempファイル作成後に設定ファイルを書き込むよう修正
Successfully merging a pull request may close this issue.
内容
設定ファイルの保存はConfigManagerで行われていて、それはファイルに直接書き込む形で実装されています。
voicevox/src/backend/electron/electronConfig.ts
Lines 23 to 28 in 4c9550b
この操作は割と危なくて、何かしらの原因で途中で書き込みが中断してしまうことがあると、中途半端な値が保存されて設定ファイルが壊れます。
実際にそれが原因かもしれない不具合報告も見つかりました。
設定ファイルに関してはプリセットが保存されていたりとクリエイターにとって割と重要なポジションを占めるので、優先度ラベルを高めに設定しています。
Pros 良くなる点
バグが起こりにくくなる
実現方法
一度保存する先のパス+
.tmp
みたいなファイルに書き出した後、moveFile
でファイルを上書きすれば OK。moveFileの使い方はこんな感じ
voicevox/src/backend/electron/manager/vvppManager.ts
Line 283 in 4c9550b
その他
直接ファイルを書き込んでいるところはいくつかあるので、一度同じディレクトリの
.tmp
に書き込んだ後moveFileする便利関数を作って使いますと便利そう。処理としてはそんなに難しくないと思うのでぜひ気軽にコミットにチャレンジしてみてください!
The text was updated successfully, but these errors were encountered: