Project

General

Profile

バグ #693

時計がずれた状態でmikutterを初回起動すると、チュートリアルがが不正な動作となる。

Added by Satoshi Okuno over 5 years ago. Updated over 5 years ago.

Status:
パッチ適用待ち
Priority:
通常
Assignee:
-
Target version:
プラグイン名:
change_account
ブランチ:
クラッシュする:

Description

(1)時計を9時間ずらす。
(2)mikutterを初回起動する。
(3)URLを表示する直前までは正常にチュートリアルが進む。
(4)さらに進めると認証用のテキストボックスと認証ボタンが表示されるが、肝心のURLを含むメッセージが表示されない。

時計ずれによるトークンの交換失敗?によりrequest_token.authorize_urlが未定義になり、それを参照している箇所で例外が発生しているためです。

時間がある時にパッチ書いてみようと思います。


Files

0001-.patch (2.78 KB) 0001-.patch Satoshi Okuno, 2014-06-30 00:14

History

#1

Updated by Satoshi Okuno over 5 years ago

色々調べたのですが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?????????

#2

Updated by Satoshi Okuno over 5 years ago

とりあえず、時刻ずれ時にエラーが起きていることが分かるようにしました。

 (1)parallelブロックの例外がどうしてもとれませんでした。
  トークンの交換はそれ程応答性は悪くないよねと言う勝手な判断の元、request_token()ではparallelを使わずベタ呼びするようにしました。

 (2)それに伴い、:tutorial実績の判定処理で行っていたrequest_token呼び出しを削除(「茶番」の裏でリクエストトークンの交換を済ませておこうという意図と理解しました。)。

 (3)認証URLを表示するmessage部分の例外を捕まえ「何かがおかしいよ。」を表示する。

設計思想を所々ねじ曲げているため、問題あればコメントもらえると助かります。

Also available in: Atom PDF