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

Fix: エンジンが起動していないと画面が真っ白になるのを修正 #1799

Merged

Conversation

sevenc-nanashi
Copy link
Member

内容

タイトル通りです。

関連 Issue

(なし)

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

(なし)

その他

(なし)

@sevenc-nanashi sevenc-nanashi requested a review from a team as a code owner January 30, 2024 09:44
@sevenc-nanashi sevenc-nanashi requested review from Hiroshiba and removed request for a team January 30, 2024 09:44
return styleInfo.styleType === "humming" || styleInfo.styleType === "sing";
};

export const filterCharacterInfosByStyleType = (
Copy link
Member Author

Choose a reason for hiding this comment

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

100%のsingではないので、別の所に移しても良さそう...?
あとこの関数で置き換えられるところが幾つかあるかも。

Copy link
Member

@y-chan y-chan left a comment

Choose a reason for hiding this comment

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

PRありがとうございます!
こちらのPRですが、少し方向性を変えた方がよいかも...?と思いました。

問題の根幹はエンジンを起動していないとuserOrderedCharacterInfosundefinedになってエラーがthrowされることだと思います。
もともと使われていたGET_ORDERED_ALL_CHARACTER_INFOSは、エンジンが起動していない場合に空のリストを返していたためにエラーが起きていなかったのだと思います。
私がUSER_ORDERED_CHARACTER_INFOSGET_ORDERED_ALL_CHARACTER_INFOSの差異を理解していなかったために、ロジックが若干変わってしまった(ユーザーによる並び替えか、エンジンによる並び替えか)部分はあるので、戻してしまうのは良いと思ます。
ただ、今回のPRではコードとして似たロジックを増やす形になっています。

これを回避するために2つほど方法を提案してみます。

  1. コメントを付けるなどして、エラーハンドリングが行われることが正しくないことを明示したうえで、既存のロジックを活用して、userOrderedCharacterInfosundefinedの場合は?? []で受け止めて、PRの表題の問題が解消されるようにする。
  2. 似たロジックが増えることが問題なので、似たロジックをすべて新しく提案されたPR内のもの(filterCharacterInfosByStyleType)に置き換えてしまう。

PRの表題となる問題は、「エンジンが起動してない場合」つまりブラウザ版などで起きることで、製品として配布するものへの影響度は大きくないはずで、急ぎで修正が必要となるものではないと思います。

コードのメンテナンス性を上げるために、より良い選択が出来ればと思うのですが、どうでしょうか...?

@sevenc-nanashi
Copy link
Member Author

PRの表題となる問題は、「エンジンが起動してない場合」つまりブラウザ版などで起きることで、製品として配布するものへの影響度は大きくないはずで、急ぎで修正が必要となるものではないと思います。

製品版でも起きますね。
image
その上でエンジン起動が失敗すると一生白い画面のままになります

@sevenc-nanashi
Copy link
Member Author

修正しました。一緒にUnit Testも足しています。

@y-chan
Copy link
Member

y-chan commented Jan 30, 2024

製品版でも起きますね。

どうして起きるのか理解できていなかったのですが、「エンジンが起動するまで」は「エンジンが起動していない」状態になってエラーが起きてしまうのですね...!
確かにちゃんとエラーが出ていました...
白くなるのが一瞬で気づきませんでした...すみません 🙇

image

unitテストも良いと思います!非常に助かりました!

せっかくここまで実装していただいたので、提案させていただいた2の方針で行きたいのですが、時間がないので、私の方からPRを送らせていただきました。ご確認いただけると 🙏

あと、

100%のsingではないので、別の所に移しても良さそう...?

について、もともとfilterはstoreでしていたものなので、store/utilityに移動するのが一旦良いのかなと思いました...!(こちらもPRに同梱しています)

@sevenc-nanashi
Copy link
Member Author

マージしました。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

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

レビューで見逃していました、ありがとうございます!!

ちょっとまだ時間的に余裕があるので(?)コメント書いてみました。
タイムリミットになったら申し訳ないですがマージさせていただこうと思います! 🙇

@sevenc-nanashi
Copy link
Member Author

学校などの関係でこれ以降の編集は厳しそうです。これ以降の編集はそちら側でお願いします、Allow edits from maintainersしてあるはずなのでpushできるはず?

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

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

ありがとうございます、引き継ぎます!

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

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

たぶんできました!

@Hiroshiba
Copy link
Member

多分大丈夫だと思うのでマージします!

@Hiroshiba Hiroshiba merged commit 123e555 into VOICEVOX:main Jan 31, 2024
9 checks passed
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