-
Notifications
You must be signed in to change notification settings - Fork 305
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
#1267 のリファクタリング + ポートの割り当て可能の判定を修正 #1317
Conversation
- トースト通知のタイミングも調整した - ウィンドウタイトルの値もwatchした
レビューの準備ができました! なにか気になる箇所があればお教えください…! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
とりあえずレビューしてみました。(携帯からなのでまだ動かせてません)学校終わったら動かしてみます。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
リファクタリングありがとうございます!!!
PortManagerが分解されてかなり読みやすくなっているように感じました!!
コード範囲外なのでこちらに1つコメントです。
2箇所にawait store.dispatch("GET_ALT_PORT_INFOS");
がありますが、どちらもエンジン再起動時に通らなそうです。(アプリ起動時には2回通りますが)
代わりにPOST_ENGINE_START
の一番最初に実行すれば大丈夫だと思います!
Lines 221 to 222 in 32940ea
POST_ENGINE_START: { | |
async action({ state, dispatch }, { engineIds }) { |
ちなみにこれは初回エンジン起動とエンジン再起動の処理を共通化するために作った関数です。
あとは実行順序の問題(UI起動しちゃってからrunEngineしちゃう)がありますが、これはここの2行を逆にすると問題が軽くなる・・・はずです・・・!
全EngineInfoと全AltInfoPortsが揃ってからUIを起動することになるはず。
(追加エンジンのInfoが2回作られる問題は解決しませんが)
@sevenc-nanashi @sabonerune
↑の2行の逆転、問題ないはずなのですが、なにか問題ありそうか思い当たるところあったりされませんか・・・ 😇
多分エディタの表示が遅くなる以外の問題はないと思います。 気づいたのですが |
@sabonerune エディタの表示が遅くなるのはその通りなので、影響を見てみたいですねぇ。。デフォルトエンジン1つしかない場合でも最悪1秒くらい変わる可能性ありそう。ま、まあ最初二音声合成できるまでの待機時間は変わらないはず。 後半に関して、おっとなるほどという感じです! |
2行の逆転のところ以外は, レビューを反映しました! (逆転させて良いのかな…?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2行の逆転のところ以外は, レビューを反映しました! (逆転させて良いのかな…?)
また何か気になることがあればお教えください!
厳密には逆転させないとダメなはず・・・!
たぶんですが、今のままだとrunEngineAll関数の最初に10秒sleepしたりすると(エンジン起動に時間がかかった場合を想定)ポート変更が取得できない・・・はず!
- !isVuexReady を上に - 2行のとこ反転
LGTMと書く前に念のためチェックしてみたのですが、自分の環境だと設定→エンジンモードを切り替えるとポートが変更されました・・・。 メニューボタンからのエンジン再起動はポート変更なしで実行できました。 ど、どうしましょう。。律儀にやる場合は |
Re: #1317 (comment) なるほど… エンジンモードの切り替えにもエンジンの再起動があるのか… 具体的なリトライ時間は, 後に議論しましょう! Issue 作っておきます. マージについては, こちらの準備はOKです! Footnotes |
理由がほんとに謎で、コード読んだ感じ差としてはawaitがあるかどうかくらいに見えるんですが、それで違いが出るとは思えず… 図もありがとうございます、とても勉強になります!! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ほぼLGTMなのですが1つ問題ありそうだったのでコメントしました!
- basePortを定義したのに全然使われてなかったので使った
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!!!!
ほんとに他分野に渡る知識が必要で難しいリファクタリングだと思います、取り組んでくださって本当にありがとうございます!!
@sevenc-nanashi さん、 @sabonerune さん、もし気になるところあればコメントいただけると心強いです・・・!!
- ここまで来たらURLを引数に渡しても良いかもと思った
気になった点というと一度ポートの変更が起こるとエンジンを再起動する度にその再起動でポートが切り替わらなくても通知が出ることですね。 もう一つ気になったことというより今更気づいたことなのですがWindowsで時々発生する |
Co-authored-by: sabonerune <102559104+sabonerune@users.noreply.github.com>
ce69ff4
to
93bf24d
Compare
@sabonerune ポートが使えない系にも対処するの、issue建ててみました! |
ポートやTCP周りの知識に詳しくなれました!!! 多分大丈夫だと思うのでマージします! |
自動クローズされなかったのでテスト fix: #1307 |
fix #1307 |
間違えていました。。 fix #1317 |
。。。。 fix #1326 |
・・・よくわかりませんでした!!! |
マージありがとうございました!!! 私もポート周りに詳しくなれて嬉しいです. そこまで重要ではないですが, おそらくお読み飛ばされている conversion: #1317 (comment) |
自動クローズはPRの最初のメッセージに書かないといけないはず? |
内容
#1267 のリファクタリングとポートの割り当てが可能かどうかの判定を修正します.
具体的には以下のことを行います:
メインエンジンの
altPort
をタイトルバーに表示する現状, デフォルトエンジンに関係なく, 0 番目のエンジンの代替ポートを表示しているのでそれを改善する.
→ ref: #1310: その他
PortManager
を整理 (余計なインスタンスを生成しないようにする)→ ref: #1267: コメント
getProcessIdFromPort
の整理 (os での分岐, stdout の命名をどうにかする)→ ref: #1267: コメント
ポートの割り当てが可能かどうかの判定を修正 (windows)
エディターを落としたあとすぐに起動すると, TCP の状態が
TIME_WAIT
になっているので, 他のプロセスが使用していて割り当て不可と判定してしまうのを修正します.ref: 実際にポートが使用されていなくてもTIME_WAIT状態のポートを使用中と判定してしまう #1307
関連 Issue
ref: #1267, #1310
fix: #1307
スクリーンショット・動画など
なし
その他
あまりにも diff が大きい場合, メンテナーさんが大変になってしまうので, もしそうなったら分割したいと思います!
(いじるファイル数は少ないはず…!)