Skip to content

Conversation

jdkfx
Copy link
Contributor

@jdkfx jdkfx commented Dec 10, 2024

内容

  • 初回起動時にトークとソングのどちらを開くか選択してもらうダイアログを表示する
  • 今後、このダイアログを使用して初期設定などを行えるように、ファイル名はDialog/InitialSettingsDialog.vueとした

関連 Issue

close #2011

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

仮で組んでみたダイアログのUI
CSSが分からないのでいい感じのUIを組めない

InitialSettingDialog

2024-12-13.22.24.04.mov

その他

TODO

  • 初回起動時にのみダイアログを表示させたい
    • src/store/type.tsのSetting Store Typesに選択済みor未選択を保存する(興味のあるエディタでもいい→デフォルトで開くエディタとして初期設定が可能)
    • src/store/setting.tssettingStoreで選択済みor未選択について実装
    • → opendEditorを取得すればいいだけだった。
  • 初回起動時に利用規約の同意後、このダイアログに遷移するようにする
    • 初回起動時のE2Eテストを追加する
  • 選択したエディタに遷移する処理を実装する
  • デバッグ用のボタンを消す

@voicevox-preview-pages
Copy link

voicevox-preview-pages bot commented Dec 10, 2024

🚀 プレビュー用ページを作成しました 🚀

更新時点でのコミットハッシュ:27cf935

Comment on lines 184 to 196
// 初期設定ダイアログ
const isSelectedEditorType = computed(() => store.state.openedEditor);
console.log(isSelectedEditorType.value);
const isInitialSettingsDialogOpenComputed = computed({
get: () => store.state.isInitialSettingsDialogOpen,
set: (val) => {
if (isSelectedEditorType.value) {
void store.actions.SET_DIALOG_OPEN({
isInitialSettingsDialogOpen: val,
});
}
},
});
Copy link
Contributor Author

@jdkfx jdkfx Dec 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

store.state.openedEditorから開いていたエディタを取得し、undefinedの時にSET_DIALOG_OPENでエディタを選択できるダイアログを表示するような処理にしている。

`openedEditor: EditorType | undefined; // undefinedのときはどのエディタを開くか定まっていない`

https://github.com/VOICEVOX/voicevox/blob/main/src/store/type.ts#L1857

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Hiroshiba

初回起動の動作確認はnpm run electron:serveを実行した際、store.state.openedEditorundefinedとなり、このダイアログが開かれるのでそこで確認できます。
すでにどちらかのエディタを開き、再起動した際にこのダイアログが表示されないという挙動をどう確認しようかなと悩んでいます。

Copy link
Member

@Hiroshiba Hiroshiba Dec 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ちょっと問題を把握できないのですがコメントまで!!

openedEditorは前回どっちのエディターが開かれていたかが入っています!
デフォルト値は今talkに設定されているので、これをデフォルトundefiendにする必要がありそうです。

こうすれば、config.jsonがない状態で起動すればこのダイアログが開かれて、1回エディタが開かれた後にもう一度起動すればダイアログが表示されないはず。
ちなみに開発環境の設定ファイルconfig.jsonC:\Users\[ユーザー名]\AppData\Roaming\voicevox-devにあります。

なんですが、ちょっとこの辺のダイアログを開くかどうか周りとかが入り組んでいるので、こちらでちょこっと変更してプルリクエスト送ろうと思います!!

@jdkfx
Copy link
Contributor Author

jdkfx commented Feb 19, 2025

Error: Snapshot 0.13.0からマイグレーションできる 1 mismatched

という部分でテストが失敗しているのですが、新しく追加する仕様では初期状態ではopendEditorが指定されていないためその部分で失敗してしまっているということなんだろうか?

@jdkfx
Copy link
Contributor Author

jdkfx commented Feb 19, 2025

指定されていないというより、デフォルトがなくなったからか

openedEditor: z.enum(["talk", "song"]).optional(),

@jdkfx
Copy link
Contributor Author

jdkfx commented Feb 19, 2025

e2eのテストはbrowser/初回起動時.spec.tsあたりを修正すればいいと思ってる

@sevenc-nanashi
Copy link
Member

https://github.com/VOICEVOX/voicevox?tab=readme-ov-file#%E5%8D%98%E4%BD%93%E3%83%86%E3%82%B9%E3%83%88

スナップショットの不一致ですね。READMEに書いてある通りに更新すればいいはず。

@jdkfx
Copy link
Contributor Author

jdkfx commented Feb 19, 2025

@sevenc-nanashi
助かります!ありがとうございます!

@jdkfx
Copy link
Contributor Author

jdkfx commented Mar 12, 2025

ダイアログ以外のメニューが消えてる問題が解決できない

スクリーンショット 2025-03-11 224909

@jdkfx jdkfx marked this pull request as ready for review March 20, 2025 12:29
@jdkfx jdkfx requested a review from a team as a code owner March 20, 2025 12:29
@jdkfx jdkfx requested review from Hiroshiba and removed request for a team March 20, 2025 12:29
@jdkfx
Copy link
Contributor Author

jdkfx commented Mar 20, 2025

エディタ選択時に背景のUIが出なくなってしまうからE2Eテストを通しようがない…
解決策もわからず。いったん途中ですがヘルプが欲しいという意味も込めてDraftを外します。

2025-03-20.212601.mp4

@Hiroshiba
Copy link
Member

Hiroshiba commented Mar 21, 2025

あー!!! 何に迷っているのかわかった気がします・・・!!

エディタ選択時に背景のUIが出なくなってしまう

これは正しい動作な気がします!!!

少なくともソング・トークが選ばれてないので背景は表示しようがないはず。(どちらを表示するのが正解?)
あとメニューもソング・トーク選ばれてないと表示できない(どちらのメニューを表示すれば良いか決められない)はず・・・!

e2eテストでは、トークメイン画面にnavigateする関数をいじって「どちらに興味がありますか?」でトークを選択肢、ソングのときはソングを選択するようにすればOKだと思います!

実際にe2eテスト側を変えてみました!

先にnavigateToTalknavigateToSongにするリファクタリングプルリクを出しちゃっても良いかもですね・・・!

ご連絡遅くなってしまってすみませんでした 🙇🙇🙇

@jdkfx
Copy link
Contributor Author

jdkfx commented Mar 21, 2025

@Hiroshiba
あ、実はこんなPRを作ってました。
#2611

コミットが作業ブランチからはやしてしまったので大量に積まれてしまってますが、cherry-pick?すればいい感じになるかなって思ってます

@jdkfx
Copy link
Contributor Author

jdkfx commented Mar 21, 2025

あと、背景のUIが白くなっている状態のとき、アプリケーションウィンドウをデスクトップ画面で移動させることができないのですが、仕様的に大丈夫なのでしょうか?

@Hiroshiba
Copy link
Member

おお、まさしくですね!!
mainブランチから新しく空のブランチを作ってcherry-pickすれば良い感じになると思います!

ヘルプが必要なのか、ちょっとアップロードしてみただけなのか判断がつかず、コメントを後回しにしてしまっていました。。すみません! 🙇

@sevenc-nanashi
Copy link
Member

sevenc-nanashi commented Mar 21, 2025

未選択時の背景、例えばボイボ色の背景にするだけでもいい感じなのかな~って思いました(少なくとも白一色よりはましになるはず...)

@Hiroshiba
Copy link
Member

Hiroshiba commented Mar 21, 2025

あと、背景のUIが白くなっている状態のとき、アプリケーションウィンドウをデスクトップ画面で移動させることができないのですが、仕様的に大丈夫なのでしょうか?

それはたしかに大丈夫じゃないかもです・・・!

App.vueのMenuBarの表示条件がv-if="openedEditor != undefined"となっているのですが、これを外したらとりあえずメニューが表示されると思います。
ここで空っぽのメニューが表示されるようにすれば良いかもです・・・!

が、これは適当に解決するとしんどくなりそうですね・・・。
:editor="openedEditor"で開いてるエディタを渡しているけど、これがundefinedを許さない設計になってるので・・・。

このあたり @sevenc-nanashi さんが取り組んでくださっている↓のPRで少し変わる予定というのもあり、一旦このPRでは何もせず、TODOコメントを残しておくというのはどうでしょうか?

@jdkfx
Copy link
Contributor Author

jdkfx commented Mar 21, 2025

@sevenc-nanashi

例えばボイボ色の背景にするだけでもいい感じなのかな~って思いました

白背景だと寂しいですし、そうします!

@Hiroshiba

このあたり @sevenc-nanashi さんが取り組んでくださっている↓のPRで少し変わる予定というのもあり、一旦このPRでは何もせず、TODOコメントを残しておくというのはどうでしょうか?

わかりました!コメントしておきます!

@jdkfx
Copy link
Contributor Author

jdkfx commented Mar 21, 2025

こちらの変更に追従して現在の機能追加部分もリファクタします

#1551 (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.

初回起動時にトークとソングどちらに興味があるかを聞く
3 participants