COCOAボランティアデバッグまとめ

COCOAボランティアデバックのまとめです。openCACAOができる前まで。(8/4~8/23) 続き(openCACAOログ) https://togetter.com/li/1590141
4
あんはる@大学生エンジニアFlutter Golang Next.js Rust @_anharu

みなさんに接触確認アプリ「Cocoa」の開発の参加は簡単にできるということを伝えたくて書きました 実際自分で改善してみた経験も書いています cocoaが使いにくい!と思ったら是非この記事を読んで改善してみるといいと思います👍 是非読んでみてください🙇‍♂️ qiita.com/Anharu/items/c…

2020-06-27 00:20:29

後にCIO補佐官の楠さん(@masanork)に拾われることになる、configrationのハードコート値に関する議論。このツリーがきっかけでボランティアデバックが発生します。

中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@ulfa_phys @info_kvaluation @akibeat 遅くなりましたが、いま私もこのスレッドの流れを追いながら、同時にソースを見てましたけど、もしサーバ側で配布されているConfiguration.jsonが、もしも手打ち(苦笑)等されていてjsonの文法を満たしてない場合が、Utils.csに含まれるDeserializeFromJsonが例外を上げて… github.com/Covid-19Radar/…

2020-08-04 19:39:28
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@ulfa_phys @info_kvaluation @akibeat その結果として、GetConfigurationAsync() メソッドの戻り値が返らず、例外を返す可能性があり、その場合にExposureNotificationStatusの値が正しく設定されない場合がありそうな気がします。 私の方でも確認したいので、もしサーバ(Azure)上のConfiguration.jsonのURLがわかれば教えてください。

2020-08-04 19:43:02
あきぞう IIJIMA @akibeat

@nakayoshix @ulfa_phys @info_kvaluation これの56行だと思うのですが、 サーバーがわかりません github.com/Covid-19Radar/…

2020-08-04 19:46:02
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@info_kvaluation @akibeat @ulfa_phys 後は、もしも先程のURLからjson取得に失敗した場合にはExposureNotificationConfigrationが設定されないので、フォールバックとして以下の50行目以降でハードコードされた値が入るはずなんですが、この値に意味があるかどうか(EN APIが受け付けるかどうか)は怪しいですね。 github.com/Covid-19Radar/…

2020-08-04 20:12:34
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@info_kvaluation @akibeat @ulfa_phys 具体的には以下の4行です。いかにもやっつけ感が😅 TransmissionRiskScores = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 }, AttenuationScores = new[] { 1, 2, 3, 4, 5, 6, 7, 8 }, DurationScores = new[] { 1, 2, 3, 4, 5, 6, 7, 8 }, DaysSinceLastExposureScores = new[] { 1, 2, 3, 4, 5, 6, 7, 8 },

2020-08-04 20:20:41
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@e0951fbtfABOrqT @info_kvaluation @akibeat @ulfa_phys 先程自分宛てリプでスレッド分岐させてしまいましたが、そこで私が怪しい…と思ったハードコードされた値は本当におかしいです。 以下のAPI仕様上ではdurationの取りうる値は0, 1, 2の3つなのに、先程のソースにあるDurationScores設定では1〜8の値を入れており、不正です。 developers.google.com/android/exposu…

2020-08-04 21:34:07
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@e0951fbtfABOrqT @info_kvaluation @akibeat @ulfa_phys したがって、何らかの原因により先程URLを上げたCDN上にあるConfiguraion.jsonを取得できなかったか、あるいは取得に時間がかかって処理が前後した場合には、先程のフォールバックによるハードコード値が採用され、結果としてEN APIが正しく動作しないものと推測します。

2020-08-04 21:36:20
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@e0951fbtfABOrqT @info_kvaluation @akibeat @ulfa_phys すみません、先程の{0, 1, 2}の値はドキュメントをよく読むと意味が違いましたので、一旦忘れてください。 明日もっと落ち着いてよく見てみます。

2020-08-04 21:47:36

configurationのハードコート値に関する話終わり
以降は淡々とツイートを拾っています。

中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

そうなんですよね… >RT iOSの方はEN(Exposure Notification, 接触確認/接触通知)機能がOSに直接組み込まれており、それが故にOSを13.5以上にアップグレードしないとCOCOAが動作しない一方、Androidの方はENが「開発者サービス」に組み込まれているので、いつアップデートされるかわからないという…

2020-08-06 11:45:24
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@ichinose_iroha 恐らく開発者サービスはずっと動き続けてると思うんですよね。一方でCOCOAの方は「一旦インストールすれば後はそのまま放っておいてもOK」という説明が多かったこともあって、結構頻繁に強制タスクキルされてると。問題は、その場合に両者の間で接触確認パラメータの不一致が起きてないのかな…?と。

2020-08-06 11:50:18
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

@akibeat @ichinose_iroha 私のスマホ(HUAWEI nova lite 2です、すみません…)だとGoogle Playストアの一覧には出ませんが、[設定]→[アプリ]→[アプリ] で出たすべてのアプリ一覧には、「Google Play 開発者サービス」というのが出てきますね。 恐らく、OSに非常に近いサービスということで、扱いが違うんでしょう。

2020-08-06 12:39:25
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

#COCOAボランティアデバッグ の皆さん、こんにちは! 遅くなりましたが、ついに私もCOVID-19 Radarのソースコード一式をgit cloneしてきました。ついでにxamarin/ExposureNotification.Sampleも… 今、VS Codeで開いたところですが、何やらOmniSharp等の拡張インストールが始まったみたいですね。😇 pic.twitter.com/fy9w47B0ll

2020-08-06 16:05:00
拡大
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

Qiitaで「あんはる@アプリ作れるJK」さんの素晴らしい記事を発見! 私もあんはるさんを見習って頑張ります!😇 > @_anharu twitter.com/_anharu/status…

2020-08-06 16:48:32
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

“環境構築 github.com/Covid-19Radar/… このリンクに、インストールすべきものは書いてあります。 主に、Xamarinの導入なので、docs.microsoft.com/ja-jp/xamarin/… を参考にしてみましょう。” とあるのですが、最初のリンクは既に無効なので、代わりにこちらを開いてみているのですが… github.com/Covid-19Radar/…

2020-08-06 16:52:47
中村 良幸 (Nakamura Yoshiyuki) @nakayoshix

“Requirements On the Windows This project is developed using Xamarin Forms, so you need to have Xamarin installed. Windows 10 ・Visual Studio 2019 visualstudio.microsoft.com/en/vs/communit… - Xamarin\.Android - Multilingual App Toolkit v4.0 - (Option) Hyper-V” とあり、うーん… 困りましたね…😅

2020-08-06 16:57:36
あきぞう IIJIMA @akibeat

#接触確認アプリ Android のこの画面の右上の?を押すととても分かりやすい解説が出るのね。 pic.twitter.com/YWlv6tx2xD

2020-08-06 19:21:53
拡大
拡大
拡大
拡大
ROCA @rocaz

「どんなアプリにもバグはある」では無くて、テストケースが抜けてるっぽい不具合なのが問題なんだよな #COCOA #COCOAボランティアデバッグ

2020-08-06 23:41:30
すも @SumoManned

疑いを書いたので対応も考えてみる。 BTのONが必ず終わってから ENの設定を聞く必要がある。 まずはBTの設定とENの設定のメソッド(c#だと関数なのかな)を分離する。 (ハンドラーの設定とか言語・FW仕様は未調査)

2020-08-07 02:46:26
すも @SumoManned

user○○初期化処理をする。 探しに行く(同期) 無ければ空っぽ 在ればそのデータ user○○完了dispatch (user○○と有り無しを渡せると良いかも) ※以降は各ハンドラー内で既に設定が終わってればすっ飛ばして完了dispatchで良い

2020-08-07 02:46:27
すも @SumoManned

user○○完了ハンドラー BTの設定確認をする(CB必要) BTの設定がOFFならダイアログを表示する(YES/NOが本当は良い) ・YESならBTの設定をONにして完了イベントをdispatch ・NOならメッセージを出してアプリを閉じる(規約の設定とかは全部破棄) ・設定がONならBT完了イベントをdispatch

2020-08-07 02:46:27
すも @SumoManned

BT完了ハンドラー APIを呼び出しておまかせする(CB必要) ・YESなら設定値を記録する ※規約等の結果を覚えておくならここで登録か。 終わったらイベントを記録完了dispatch (user○○渡せると良いかも)

2020-08-07 02:46:27
すも @SumoManned

・NOならアプリを閉じる (規約関連の設定は破棄、 user○○も破棄) BTは戻さなくてもいいかな…。 すぐ戻せるし 元の設定を取っておくとか面倒な事してややこしくなるよりはシンプルに

2020-08-07 02:46:27
1 ・・ 21 次へ