スレッド管理の動作について(不具合?)No.35576
hajimet さん 09/02/08 18:37
 
実質的に障害にはならないのですが気になる動作を見つけたので
ご報告します。hmm5.15です。
再現手順
1;自分を受取人に含むメールを送る
2;送信済みメールAと受信メールBを同じフォルダに保存する
  この時スレッド表示していると、AにBがぶら下がる
  In-Reply-To: <ID> (Hidemaru supplied)
  がBに付加される(IDはAと同じ)
3;そのメールに返信Cが来る(実際にはCは複数でした)
4;これも同じフォルダに保存する
  この時、スレッド表示していると、BにCがぶら下がる
5;CをAにぶら下がるように移動しようとしても出来ない
  ※メッセージIDが同じだからだろうか
   この動作が出来ないのがちょっと不便だなとまず思った
   本来CはAへの返信だから、というのもあるし、
   B(重複情報)を削除しようと思ったというのもある
  ※一旦スレッドを切ってから再度Aにぶら下げようとしても
   Bにぶら下がる
6;Bを削除する
  ※スレッド折りたたみされていない状態で削除した
  スレッド配下のメールは削除しない
  一見、Aにぶら下がっているように表示されるが
  一段ずれてぶら下がって見える
  ※この状態が動作がおかしくなった状態かと思われる★
7;+印アイコンをクリックしても、スレッド折りたたみされない★
8;「すべて折りたたみ」コマンドを使えば折りたたむことが出来る
9;+印アイコンをクリックしても、スレッド展開されない★
10;「すべて展開」コマンドを使えば展開することが出来る
11;メールエディタの開いていない状態で一旦秀丸を終了し
   再起動すれば+アイコンの動作が回復し、
   展開されたときのぶら下がり表示位置が修正されます
  ※メールエディタが開いていると、修復されませんでした
以上です。

[ ]
RE:35576 スレッド管理の動作について(不No.35592
秀まるお2 さん 09/02/09 13:49
 
 途中までしか読んでませんが…

 問題の現象は、hajimetさんのご想像の通り、AメールとBメールのMessage-Id
がまったく同じだからってことが根本原因だと思います。

 そもそもですが、AメールとBメールを同じフォルダに移動したからといって、
AメールとBメールがスレッド的につながるはずは無いんですが…。In-Reply-To:
ヘッダに  (Hidemaru supplied)が付くということは、これはつまり、スレッド
の連結をしたってことなんだと思います。

 とりあえず今回のような不可解な現象を起きなくするためには、スレッドの連
結の時に、連結する親子のメールのMessage-Idが同一であるかどうか確認して、
もしも同一である場合は片方のMessage-Idを書き換えるようにしたらいいかと思
いますけど…。

 そうした方がいいですかね?。ただMessage-Idを書き換えるということは、そ
れはそれで、後々Message-Idを使ってつじつま合わせしようとした時に不都合が
起きることがあるかもしれないです。例えば自分が自分に送ったメールの送信済
みメールを探そうと思った時に、Message-Idで検索しようとしても見つからない
ということが起こってしまうと思います。

[ ]
RE:35592 スレッド管理の動作について(不No.35610
hajimet さん 09/02/12 02:53
 
> そもそもですが、AメールとBメールを同じフォルダに移動したからといって、
>AメールとBメールがスレッド的につながるはずは無いんですが…。In-Reply-To:
>ヘッダに  (Hidemaru supplied)が付くということは、これはつまり、スレッド
>の連結をしたってことなんだと思います。
なるほど。そうですね。

連結をしない場合、
送信済み ID-A
受信   ID-A
が両方同じフォルダにあると、
返信   ID-B(ID-Aへのリプライメール)
は、まず
受信   ID-A
にスレッドがぶら下がるようです。
このとき、
受信   ID-A
を削除すると、
受信   ID-B(ID-Aへのリプライメール)
の連結も自動で切れますが、
手動で
送信済み ID-A
に連結しようとしても繋げません。
これも「不可解な現象」の一つでしょうか。

特段不具合というわけではないなら、
仕様ということで理解します。

[ ]
RE:35610 スレッド管理の動作について(不No.35614
秀まるお2 さん 09/02/12 10:10
 
 Message-Idが同じメールが複数ある場合に、それへぶらさがるメールが具体的
にどのメールにぶらさがるかというのは、実は不定です。単純に「つながるメー
ルが見つかったらそいつにつなげる」って処理になっていて、「他にも候補があ
るか」ってことは調べてもいないです。

 とにかくそういうことで、仕様ということでお願いします。

[ ]
RE:35610 スレッド管理の動作について(不No.35616
K'zawa さん 09/02/12 11:15
 
hajimetさん、こんにちは。
K'zawaです。

>受信   ID-A
>を削除すると、
>受信   ID-B(ID-Aへのリプライメール)
>の連結も自動で切れますが、
>手動で
>送信済み ID-A
>に連結しようとしても繋げません。

もしかして、表示上切れているだけで、つなぎ直し操作をしても
In-Reply-Toヘッダには既に正しい情報が入っているので書きかわらず、
それで表示の更新が行われないだけではないでしょうか?
逆に言うと表示の更新を行えばいいのだと思います。
削除した時点では、他の影響もあるので、最小限の表示の更新しかしないのでは
ないでしょうか?

[ ]
RE:35616 スレッド管理の動作について(不No.35641
hajimet さん 09/02/14 19:26
 
K'zawaさん コメントありがとうございます
>もしかして、表示上切れているだけで、つなぎ直し操作をしても
>In-Reply-Toヘッダには既に正しい情報が入っているので書きかわらず、
>それで表示の更新が行われないだけではないでしょうか?
>逆に言うと表示の更新を行えばいいのだと思います。
>削除した時点では、他の影響もあるので、最小限の表示の更新しかしないのでは
>ないでしょうか?
そのとおりで、最初の事例の場合にも、
エディタを開いていない状態で本体を再起動すると
きちんと表示されるようになるのは確認しています。
この状態に遭遇したときに「どうしたらいいの?」と
途方に暮れたのですが「表示等の更新が行われない」という
からくりだと理解してしまえば対処が容易です。
この観点を頭に入れておけば、今後類似の事態にも
応用が利きそうです。ありがとうございました。

[ ]