バグ #693
未完了
時計がずれた状態でmikutterを初回起動すると、チュートリアルがが不正な動作となる。
Satoshi Okuno さんが約10年前に追加.
約10年前に更新.
説明
(1)時計を9時間ずらす。
(2)mikutterを初回起動する。
(3)URLを表示する直前までは正常にチュートリアルが進む。
(4)さらに進めると認証用のテキストボックスと認証ボタンが表示されるが、肝心のURLを含むメッセージが表示されない。
時計ずれによるトークンの交換失敗?によりrequest_token.authorize_urlが未定義になり、それを参照している箇所で例外が発生しているためです。
時間がある時にパッチ書いてみようと思います。
ファイル
色々調べたのですがparallel周りで変な動きをしてて悩んでます。
・change_account.rbのrequest_token()内のparallelブロック
下記の例外が出てる。
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
・lazy.rbのParallel::irregular_eval_object()
@proc.valueで例外が伝搬される筈だけど、何も起こらない。
@proc.valueの結果は@procと同じスレッド。
@proc.statusの結果はfalse?????????
とりあえず、時刻ずれ時にエラーが起きていることが分かるようにしました。
(1)parallelブロックの例外がどうしてもとれませんでした。
トークンの交換はそれ程応答性は悪くないよねと言う勝手な判断の元、request_token()ではparallelを使わずベタ呼びするようにしました。
(2)それに伴い、:tutorial実績の判定処理で行っていたrequest_token呼び出しを削除(「茶番」の裏でリクエストトークンの交換を済ませておこうという意図と理解しました。)。
(3)認証URLを表示するmessage部分の例外を捕まえ「何かがおかしいよ。」を表示する。
設計思想を所々ねじ曲げているため、問題あればコメントもらえると助かります。
他の形式にエクスポート: Atom
PDF