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

[WIP] .envで指定されているVVPPがなかったら確認後にインストールし、使えるようにするようにする #2270

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from

Conversation

Hiroshiba
Copy link
Member

内容

タスクの第3弾です。
まだ全くできていませんが、議論を残したいのでPRにしてみました。

関連 Issue

ref #1194

スクリーンショット・動画など

その他

@Hiroshiba Hiroshiba requested a review from a team as a code owner September 20, 2024 16:02
@Hiroshiba
Copy link
Member Author

実装方針メモ

  • main.tsで、.envからVVPPアプデ確認用URLを読み込む
  • Controllerで、指定されているVVPPがインストール済みかどうか確認する
  • main.tsで、なかったら開発者側に確認ダイアログを出す
    • コールバックでもいいかもだけど、将来的に別ウィンドウでの gui を出すのであればコールバックでは実現が難しくなるので、多分確認フェーズと実行フェーズは関数を分けた方がいい
  • Controllerで、VVPPをダウンロードし、インストールして使えるようにする
    • 関数を分けるか未定

@Hiroshiba Hiroshiba marked this pull request as draft September 20, 2024 16:37
@Hiroshiba
Copy link
Member Author

エンジンがインストールされているか判定するために、アプリを起動する前にエンジン情報を2回取得する必要が出てきました。
今はキャッシュ作っていて2回取得するのがややこしかったので、リファクタクリング用のプルリクエストを出しました。

@Hiroshiba
Copy link
Member Author

デフォルトエンジンが複数ある件の考慮

  • .envに書くデフォルトエンジンの情報ごとに、アップデート URL を持てばよさそう
    • だとすると現状voicevox_blog側にあるのとかは全部defaultEngineInfosと複数形になっているのは間違い
    • blog側も変えとかないといけない

@Hiroshiba
Copy link
Member Author

とりあえずVVPPをダウンロードしてインストールしてから起動できるようにしてみました!

一旦main.tsに書いた一連の機構はEngineControllerでやった方が良さそう。
そこを移したり、あと差分を減らしたりしてプルリクにしたいと思います!

@Hiroshiba Hiroshiba force-pushed the 指定されているVVPPがなかったら確認後にインストールし、使えるようにするようにする branch from 97d03df to f5f705d Compare October 7, 2024 17:18
@Hiroshiba
Copy link
Member Author

main.tsに書いた一連の機構をEngineControllerに移しました!

あとは環境変数からエンジンの情報を読み込むのをloadEnvEngineInfos関数にまとめてリファクタリングした部分があるので、それだけ切り出してプルリクエストにしようと思います。

…後にインストールし、使えるようにするようにする
…Infosに分ける。

でも要らないかも。あとでrevertする。
@Hiroshiba
Copy link
Member Author

Hiroshiba commented Oct 30, 2024

📝
VVPP ディレクトリ1つの中に、追加したものとデフォルトエンジンの物が入ってると、インストールの要不要判定がややこしくなる。
.envを読み込む→その中でvvpp一覧を持ってくる→vvpp一覧にあれば.envの情報をなくす、みたいな。
vvpp一覧を持ってくる時に.envでデフォルトエンジンかどうか判定しないといけなくなるし、インストール確認時もvvpp一覧を持って来なくちゃいけなくてややこしい。

それより、ディレクトリを分けてしまったほうがわかりやすいかも。
.envを読み込む→デフォルトエンジン用のVVPP一覧を持ってくる→それに応じて情報を返す、みたいな。
vvpp一覧と.envの情報が疎結合になるので扱いやすそう。

VVPPManagerを2つ用意するか1つにするかは未定。
1つにする場合、毎回ディレクトリを指定する形にする・・・?未定!

一応ここのコメントとは反してしまう。メモ。
#1194 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant