Grabacr07/KanColleViewer

[v4.2.6]不審船が検出されると母港情報などが更新されない → [対応策]アプリを再起動する

Closed this issue · 4 comments

v4.2.6において、6/30メンテ以降、朝潮改二(不審船扱い)が第1艦隊にいると、以下の現象が起こる。
・総合タブの第1艦隊のレベル・損傷情報が正しく反映されない。
・総合タブ他の遠征情報が正しく反映されない。(母港に帰ってきてもカウントダウン→00:00:00表示、遠征に出すと直る)
・所属艦娘数などが正しく反映されない。290と表記されているときに建造済み艦娘を出すと291になったりする。
・不審船扱いされた朝潮改二がデータ→艦娘一覧に表示されない。

未報告ですが以前も類似の現象がありました。
いずれも不審船が艦隊に含まれることによりAPI解釈を途中で放棄するために起こる現象ではないかと推測しています。
不審船が艦隊に含まれていてもとりあえずその他機能はまともに動くような改修は難しいでしょうか?

不審船表示絡みの問題は、メンテナンス前後でアプリを起動したまま使用したときに発生すると考えています。
実際のところ、メンテナンス後にアプリを再起動して運用している私の環境ではこれまで不審船表示を一度も見たことがなく、その際に内部で具体的にどのような問題が発生しているかを把握する段階にありません。

ご報告頂いた現象は、アプリをメンテナンス前に起動しログインしたままメンテナンスを跨ぎ、アプリ内のページ更新によってプレイを再開したという状況下で発生したものでしょうか?

不審船表示絡みの問題は、メンテナンス前後でアプリを起動したまま使用したときに発生すると考えています。

まさにその通りで、6/29ごろから起動しっぱなし→6/30メンテ後に更新ボタンを押下した状態で使用していました。
アプリを起動しなおしたところ、朝潮改二が検出され、どうやら正常に動いている様子です。
起動後初回の情報取得と、更新ボタン押下後の情報取得ではシーケンスが違うことなど知りませんでした。

そうすると、関連して疑問と要望が1つずつ出てきました。
・起動画面を検出したら情報全破棄→情報再取得を行わないのはなぜですか?
(いわゆるマスターデータorユーザ情報の受信を検出したら現在のデータを破棄して再取得したほうが良いと思います。)
・不審船or不審装備or艦これAPIバージョン違いを検出した時点で、一度アプリケーション再起動を促す表示をどこかに仕込めませんか?

・起動画面を検出したら情報全破棄→情報再取得を行わないのはなぜですか?

2 年前に実装した当時、起動処理の判定が若干ややこしく、上手く実装しないと誤検知や 2 回目以降の起動処理が正常に認識されない等の問題が発生する可能性がありました。
そのため、(キャッシュの明示的な削除を伴う場合も多く、起動したままマスター データの更新を跨ぐようなユースケースは想定しないものとして、) 艦これの起動検知はアプリ起動後 1 回のみに絞っていたという経緯があります。

とはいえ、最近の API 更新によって上記問題は解消できることは判っています。
つまり、現実装は当時の事情を引き摺ったままというのが正直なところです。

本件については直近で解消できる問題として認識し、近いうちに改善します。

・不審船or不審装備or艦これAPIバージョン違いを検出した時点で、一度アプリケーション再起動を促す表示をどこかに仕込めませんか?

こちらはも実装は可能であると考えられますが、現状の実装ではデータの整合性チェックやそれを適切に通知する基盤を持っておらず、長期的な課題として認識します (先の問題が解決されれば、こちらの必要性も下がるだろうと期待できる、という理由もあります)。

上記、承知しました。
将来的に改善していただければ幸いです。

とりあえず本問題に対して現行でできる対応策が「アプデ後に本問題が発生したらアプリ再起動を行えばよい」であるとはっきりしたので、このIssueはクローズしておきます。
ご対応ありがとうございました。