― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 98 件の記事 ]  ページ移動 1つ前へ  1 ... 3, 4, 5, 6, 7
作成者 メッセージ
投稿記事Posted: 2015年11月09日(月) 13:51 
オフライン

登録日時: 2011年7月14日(木) 22:59
記事: 547
確認作業が滞って申し訳ありません。

お願い文を読んだ時点では、未patchかpatch済のどちらで行えばいいのか判断できなかったのでpatch済でやってしまいました。
KTBNさんに未パッチ状態のを提示していただき助かりました。ありがとうございます。

プログラミングのスキル皆無なので、コードの詳細な内容は正直読めないのですが、
WADA さんが書きました:
バグにも書いたんですが、
this.server.rootMsgFolder.QueryInterface(Ci.nsIMsgLocalMailFolder).createLocalSubfolder(this.folderName);
⇒ this.server.rootMsgFolder.createSubfolder(this.folderName);
に書き換えると、どうなりますか?
createLocalSubfolderはnsIMsgFolderオブジェクトを返すので、ファイルを作った後にグローバルオブジェクト内にオブジェクトを作りますが、
createSubfolderはnsIMsgFolderオブジェクトを返さないので、ファイルを作った後にグローバルオブジェクト内にオブジェクトを作らない、といった違いがあるはずです。

これを行ってみました。
書き換えの前と変わらないような印象。
※一度、「書き換えた後のFeeds.jsをThunderbird.appないのomni.jaに反映していなかった(-o-;)のが判明したのでやり直します。すみません。」と書いていたのですが、やり直してもやっぱり前のと変わらない印象なので横線を消しました。

新しくフィードのアカウントを追加した後、MozilaJapanのブログ
http://www.mozilla.jp/blog/feed/
で行っています。

msgFilterRules.datの中身。
コード:
version="9"
logging="no"
name="件名 に次を含む: Firefox"
enabled="no"
type="17"
action="Copy to folder"
actionValue="mailbox://nobody@Feeds-3/Mozilla%20Japan%20%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%99"
condition="AND (subject,contains,Firefox)"

feeds.rdfでは
コード:
<fz:destFolder RDF:resource="mailbox://nobody@Feeds-3/Mozilla%20Japan%20%E3%83%96%E3%83%AD%E3%82%B0"/>

並べてみると、
Mozilla%20Japan%20%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%99
Mozilla%20Japan%20%E3%83%96%E3%83%AD%E3%82%B0
となり、やはりmsgFilterRules.datではNFD、feeds.rdfではNFCに見えます。

Bugzillaのattachment 8684700はまだ試してません・・・

_________________
Thunderbirdの基本を書いています(ずっと発展途上) とりかごとなり。
基本の操作(画像あり):バージョン確認 / セーフモード / 新規プロファイル作成
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月09日(月) 14:54 
オフライン

登録日時: 2011年7月14日(木) 22:59
記事: 547
WADA さんが書きました:
フォルダーペインでの普通のメッセージフォルダーの作成などでも、NewFolder=ParentFolder.createLocalSubfolder(NFCのフォルダー名);が使われているので、
Mac OS X上のTb 38で、"スラド"のようなメッセージフォルダーを作ったすぐ後に、再起動を挟まず、"スラド"をメッセージフィルターのコピー先・移動先のフォルダーに指定したり、検索フォルダーの検索対象のフォルダーに指定したりすると、
(中略)
フォルダーが見つからず、
フィルタールールが無効化されたり、検索フォルダーがなくなる可能性があります(最後の検索対象フォルダーが無くなると、検索フォルダーが消される)。
Mac OS Xで、フォルダー名にウムラウトなどがある文字が使われているときのバグ報告の一部は、こういった問題かもしれません。

こちらも見てみました。
全く杞憂ではなく、フィードアカウントの場合でも、メールアカウントの場合でも再現します。
以下は、メールアドレス(xxx@xxx.yyy.jp)のアカウントに「ブログ」というサブフォルダを作成し、メッセージフィルタでのコピー先を「ブログ」に設定した例です。msgFilterRules.datの中身は、
コード:
name="件名 に次を含む: 例"
enabled="no"
type="17"
action="Copy to folder"
actionValue="mailbox://xxx%xxx.yyy.jp@xxx.yyy.jp/%E3%83%96%E3%83%AD%E3%82%B0"
condition="AND (subject,contains,例)"


Mailbox URIはNFCなので、再起動後にはフィルタが機能しなくなります。
KTBNさんがご指摘のメッセージはおそらく添付画像のものと思われます。

ただし、attachment 8683313に
引用:
this.server.rootMsgFolder.QueryInterface(Ci.nsIMsgLocalMailFolder).createLocalSubfolder(this.folderName);
⇒ this.server.rootMsgFolder.createSubfolder(this.folderName);

を行った後のメールアカウントに対する、メッセージフィルタについて同じことをしてみると、再起動後も問題なく動作しています。

(訂正)実施条件が違ってたので訂正します。
  • 新規にサブフォルダを作る
  • メッセージフィルタを作成する
の間に再起動を挟んでいたようです。この場合は
コード:
name="件名 に次を含む: 例"
enabled="yes"
type="17"
action="Copy to folder"
actionValue="mailbox://xxx%xxx.yyy.jp@xxx.yyy.jp@xxx.yyy.jp/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%99"
condition="AND (subject,contains,例)"

であり、NFDの記述になります。
すみません。


添付ファイル:
error.png
error.png [ 38.83 KiB | 表示数: 7065 回 ]

_________________
Thunderbirdの基本を書いています(ずっと発展途上) とりかごとなり。
基本の操作(画像あり):バージョン確認 / セーフモード / 新規プロファイル作成
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

最後に編集したユーザー meeyar [ 2015年11月10日(火) 07:32 ], 累計 1 回
通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月09日(月) 16:54 
オフライン

登録日時: 2013年12月26日(木) 09:33
記事: 686
お住まい: 太陽系、地球、日本、ふてニャン県
meeyar さんが書きました:
お願い文を読んだ時点では、未patchかpatch済のどちらで行えばいいのか判断できなかったのでpatch済でやってしまいました。
未patchとpatch済の両方が必要だったから、全く問題なし。どっちが先でも、足りない方を後でおねがいすりゃぁいい(^^)
未patchの方は、Mac OS X上のTb 38で、ローカルのメッセージフォルダーでの問題が起こるかどうか、の判断に必要で、
patch済の方だと、そのパッチの手法が、問題を回避できる手法の一つである、と、判断できます。

meeyar さんが書きました:
WADA さんが書きました:
バグにも書いたんですが、
this.server.rootMsgFolder.QueryInterface(Ci.nsIMsgLocalMailFolder).createLocalSubfolder(this.folderName);
⇒ this.server.rootMsgFolder.createSubfolder(this.folderName);
に書き換えると、どうなりますか?
createLocalSubfolderはnsIMsgFolderオブジェクトを返すので、ファイルを作った後にグローバルオブジェクト内にオブジェクトを作りますが、
createSubfolderはnsIMsgFolderオブジェクトを返さないので、ファイルを作った後にグローバルオブジェクト内にオブジェクトを作らない、といった違いがあるはずです。
これを行ってみました。
書き換えの前と変わらないような印象。
createLocalSubfolderでもcreateSubfolderでも、直後に得られるnsImsgFolder.URIには、NFCの形式のデータがセットされているようですね。
これは、ローカルのメッセージフォルダーのメッセージフィルターや検索フォルダーのテスト結果と合致します。
メッセージフィルターなどの他のタスクからのフォルダーへのアクセスでは、フィードに対するパッチの後は、フィードがファイルを作った時に内部的に作られたnsImsgFolderオブジェクトを参照しないことによって、再起動後と同様に、nsImsgFolder.URIにNFDの形式のデータがセットされているオブジェクトが返されるようです。

alta88は、Mac OS Xでの実際のテストを自分ではできなくても、そのあたりは理解しているようで、新バージョンの 8684700 では、feeds.rdfのアクセスキーとしては、常にNFC(composed form)に変換したnsImsgFolder.URIのデータを使う、と言う方針に見えます。
meeyarさんのテスト結果をあのバグでalta88に伝える、というようなことはしていませんから、誰かMac OS Xを使える人に簡単なテストを依頼するとかしているのかもしれませんね。

meeyar さんが書きました:
プログラミングのスキル皆無なので、コードの詳細な内容は正直読めないのですが、(略)
その点は、alta88がプロフェッショナルだから、安心。
そして、今回のバグのメッセンジャーボーイをしながら、自分のテスト用に作ったアドオンで、ローカルのメールフォルダーに好きなようにTrashだのDraftsだのArchiveだのの属性をセットしてアイコンも変えて遊んでいる、私の担当分野。
「Trash」よりも先に見つかるフォルダーに「Trash」の属性を付けると、メールの削除もゴミ箱を空にするも、そっちを使うので、Thunderbirdに意地悪をして遊べる(^^)
(メールの削除・ゴミ箱を空にする、の現在の仕様がそうなっている、というだけなんですけどね)

meeyar さんが書きました:
確認作業が滞って申し訳ありません。
そんなことは無いですよ。
alta88は、現象・原因については良くわかってくれていて、これはまだ最終版じゃないから、パッチの細かいことを気にするな、とかいいながら、いろんなところでの修正案を、パッチという形で提示してくれていて、既に、新バージョンの 8684700 がでています。
ドイツとかフランスとかスペインとかで、ダイアクリティカル・マーク(Diacritical Mark = 補助記号)、
 アキュート ( ́ ) 上ドット ( ˙ ) 上フック ( ̉ ) 上リング ( ̊ ) オゴネク ( ˛ ) キャロン ( ̌ )
  グレーブ ( ̀ ) サーカムフレックス ( ̂ ) 下コンマ ( ̦ ) 下ドット ( ̣ ) ストローク ( / )
 セディラ (̧) ダイエレシス ( ̈ ) ダブルアキュート ( ̋ ) チルド ( ̃ )
 ブリーブ ( ̆ ) ホーン ( ̛ ) マクロン ( ̄ )
を多用したフィードをたくさん作ってくれれば、ヨーロッパの人もパッチのテストに参加してくれるだろうけど、
今は、meeyarさんだけが頼りで、KTBNさんが、omni.jaを解凍してソースをエディットしてomni.jaに圧縮、の裏技を習得してくれることを望むのみ(^^)

問題自体は、細かなところを除いて、既にかなり良くわかってきていて、デベロッパーも良くわかっていて、後は最も良い変更を見つけ出すだけ、という段階ですから、あわてることはない。
alta88がパッチを提示してきたら、ちょこっとテストして、ちゃんと直っていないから却下、と宣告するだけでいい(^^)

フィードの問題は、パッチはまだ確定してはいなくても、既に非常に簡単な回復手順が提示されていて、影響を受けるユーザーの数も、現時点では圧倒的に限られています。
むしろ、影響を受けるユーザーの数がフィードに比べると遙かに多い、ローカルのメールフォルダーのメッセージフィルター・検索フォルダー問題の方が重要。


最後に編集したユーザー WADA [ 2015年11月09日(月) 23:38 ], 累計 1 回

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月09日(月) 19:19 
オフライン

登録日時: 2013年12月26日(木) 09:33
記事: 686
お住まい: 太陽系、地球、日本、ふてニャン県
WADA さんが書きました:
Mac OS X上のTb 38で、"スラド"のようなメッセージフォルダーを作ったすぐ後に、再起動を挟まず、"スラド"をメッセージフィルターのコピー先・移動先のフォルダーに指定したり、検索フォルダーの検索対象のフォルダーに指定したりすると、
(中略)
再起動に、フィルタールールに指定されているmailbox URIのフォルダーが見つからず、
フィルタールールが無効化されたり、検索フォルダーがなくなる可能性があります(最後の検索対象フォルダーが無くなると、検索フォルダーが消される)。
Mac OS Xで、フォルダー名にウムラウトなどがある文字が使われているときのバグ報告の一部は、こういった問題かもしれません。
KTBN さんが書きました:
試行しました。
すぐ再起動してもフィルターに引っかかるメールはないので、メッセージフィルタウィンドウ内で「今すぐ実行」を押した結果です。
警告:「スラドフォルダが見つからなかったので、このフォルダに関連付けられたフィルタは無効になります。フォルダが存在しており、フィルタが有効な対象フォルダを指している事を確認してください。」
予想どおりだと思います。
meeyar さんが書きました:
こちらも見てみました。
全く杞憂ではなく、フィードアカウントの場合でも、メールアカウントの場合でも再現します。

以下は、メールアドレス(xxx@xxx.yyy.jp)のアカウントに「ブログ」というサブフォルダを作成し、メッセージフィルタでのコピー先を「ブログ」に設定した例です。
msgFilterRules.datのactionValueは、
コード:
mailbox://xxx%xxx.yyy.jp@xxx.yyy.jp/%E3%83%96%E3%83%AD%E3%82%B0
Mailbox URIはNFCなので、再起動後にはフィルタが機能しなくなります。
KTBNさん、meeyarさん、早速の検証、ありがとうございます。

やっぱり、こっちも、ビンゴ、かぁ...
nImsgFolder.URIを直接使っていて、Mac OS Xだと、feeds.rdfだけでなく、msgFilterRules.datとvirtualFolders.datでも、ある時にはNFC(composed form)が書かれ、ある時にはNFD(decomposed form)が書かれる、とくれば、
Mac OS Xで再起動したらフィルターが軒並み無効化されたとか検索フォルダーが消えたとか検索対象からはずされた、といった現象の原因は、もう、「これっきゃない」。

meeyar さんが書きました:
ただし、attachment 8683313
引用:
this.server.rootMsgFolder.QueryInterface(Ci.nsIMsgLocalMailFolder).createLocalSubfolder(this.folderName);
⇒ this.server.rootMsgFolder.createSubfolder(this.folderName);
を行った後のメールアカウントに対する、メッセージフィルタについて同じことをしてみると、再起動後も問題なく動作しています。
この時のmsgFilterRules.datのactionValueは
コード:
mailbox://xxx%xxx.yyy.jp@xxx.yyy.jp@xxx.yyy.jp/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%99"
であり、NFDの記述ですね。
これは、ちょっと解せない。
actionValueのmailbox URIがフィードのフォルダーならば、 これは、そのパッチで行っている、フィードにおいて、this.folder=...create...()⇒...create...()と、結果のオブジェクトへの参照を行っていないため、ということで説明がつくが、
普通のローカルのメールフォルダーに関しては一切の変更は無いから、普通のローカルのメールフォルダーに関してはパッチによる違いはあってはならないはず。
もし、普通のローカルのメールフォルダーならば、
(1) 新規にフォルダーを作成、再起動を挟まず、直ぐにメッセージフィルターのactionValueに設定(NFC)⇒再起動後に、フィルターでの問題が起こる、
(2) 新規にフォルダーを作成し、再起動を行い、メッセージフィルターのactionValueに設定(NFD)⇒再起動後に、フィルターでの問題は起こらない、
くらいしか考えられない。
普通のローカルのメールフォルダーだと、(1)/(2)の中間の、
(3) 新規にフォルダーを作成し、再起動を行う前ではあるが、(3-X) 何らかの事象が発生し、その後にメッセージフィルターのactionValueに設定=>NFDが書かれる⇒再起動後に、フィルターでの問題は起こらない、
(4) 新規にフォルダーを作成し、再起動を行う前にメッセージフィルターのactionValueに設定=>NFCが書かれる⇒(4-X) 何らかの事象が発生し、それがNFC⇒NFDへのリネームと同等と判断される⇒メッセージフィルターのactionValueがNFDに更新される⇒再起動後に、フィルターでの問題は起こらない、
あたりが起こる可能性はあるけれど。

(オフトピック)
KTBN さんが書きました:
画像がペーストされてないかもしれないので、(略)

折角、まともなdata URIの[ img ]data:image/png;base64,...[ /img ] で書いても、
プレビューで、[ IMG ]http : //forums.mozillazine.jp/data:image/png;base64,...[ /IMG ] に書き換えちゃうから、
プレビューした後にポストすると、折角添付したイメージが表示されない。
ポストする直前に、「Swich BBCode/HTML View」で、「BBCode」モード(全てのBBCodeを手入力)に切り替え、
[ IMG ]http : //forums.mozillazine.jp/data:...[ /IMG ] を [ img ]data:image/png;base64,...[ /img ] に戻し、プレビューせずにポスト、
あるいは、ポスト後に、「編集」、「BBCode」モード、で、ちゃんとしたdata URIの[ img ]data:image/png;base64,...[ /img ] に書き換えて、プレビューせずにポスト、
で、イメージを表示させられるはずです。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月10日(火) 07:40 
オフライン

登録日時: 2011年7月14日(木) 22:59
記事: 547
WADAさん

メッセージフィルタの再現条件が違っていたので訂正を入れました
ご指摘を受けてもう一度見直してみると、
meeyar さんが書きました:
以下は、メールアドレス(xxx@xxx.yyy.jp)のアカウントに「ブログ」というサブフォルダを作成し、メッセージフィルタでのコピー先を「ブログ」に設定した例です。

と書いた後、無効になったメッセージフィルタは作り直しをしたのですが、フォルダを新しく作り直すのを忘れていようで、「再起動後にメッセージフィルタを作成」の状況になっていたと思われます。
なので、patch済の環境でも「フォルダ作成後、再起動前にメッセージフィルタを作った場合はNFCで記述され、再起動後に再現する」の理解で良いと思います。
検証が甘く失礼しました。

_________________
Thunderbirdの基本を書いています(ずっと発展途上) とりかごとなり。
基本の操作(画像あり):バージョン確認 / セーフモード / 新規プロファイル作成
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月10日(火) 18:22 
オフライン

登録日時: 2013年12月26日(木) 09:33
記事: 686
お住まい: 太陽系、地球、日本、ふてニャン県
普通のローカルのメールフォルダーのメッセージフィルターのケースについては、以下のトピックを開きました。
viewtopic.php?f=3&t=15766
以降は、そちらでお願いします。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月12日(木) 22:47 
オフライン

登録日時: 2011年7月14日(木) 22:59
記事: 547
遅ればせですがattachment 8684700を試してみました。
例によってスラドのRSSです。
前と変わらず、
  • フィードのアカウントを新しく作り直し、Feedの購読を行った後再起動をすると更新不可
  • Feeds.rdfの中身はNFCで書かれる

    コード:
    <fz:destFolder RDF:resource="mailbox://nobody@Feeds-4/%E3%82%B9%E3%83%A9%E3%83%89"/>
  • フィードのフォルダをメッセージフィルタのコピー先にすると、actionValue=にはNFDで書かれる

    コード:
    ersion="9"
    logging="yes"
    name="件名 に次を含む: ト"
    enabled="yes"
    type="17"
    action="Copy to folder"
    actionValue="mailbox://nobody@Feeds-4/%E3%82%B9%E3%83%A9%E3%83%88%E3%82%99"
    condition="AND (subject,contains,ト)"
ローカルフォルダのフィルタについては、別途あちらに書くことにします。

_________________
Thunderbirdの基本を書いています(ずっと発展途上) とりかごとなり。
基本の操作(画像あり):バージョン確認 / セーフモード / 新規プロファイル作成
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年12月09日(水) 23:14 
オフライン

登録日時: 2011年7月14日(木) 22:59
記事: 547
以前「検証はもうパス」と匙を投げたのですが、Bugzillaで新しくpatchが出ていた(attachment8693232)のが気になって試してみました。言動不一致ですみません。
(試した結果はComment79以降に書いています)

Bugzillaで以前要請されていたのは、patch当てたうえでフィードアカウントを作り、フィードの購読を行ったあと、フィードのフォルダ名を
decomposed char(NFD)
composed char(NFC)
CJK互換文字
に変えてみて、faviconの表示がどうなるか試してみる
Thunderbird再起動後にもう一度上記を行ってみる

という内容でしたが、これらを試している間に少し気になる現象がありましたので、ここで訊いてみます。

patch後の環境では、フィードのフォルダ名がNFC(feeds.rdfの中身がNFC)の状態のときのみThunderbird再起動後にfavicon消失+更新ができなくなります。
ここから以下の手順を踏むとフィードを復活できます。
(あらかじめプロファイルフォルダで/Mail/Feed/以下を開いておきます)
  1. 更新できなくなったフィードのフォルダ(例:スラド)がある
  2. フォルダ名を一度関係ない名前に変える(スラド→あ)
  3. フォルダ名を1.と同じ名前に変える(あ→スラド)。コピペではなくキーボードから直接入力します。
  4. プロファイルフォルダ内のフォルダ名(スラドという名前)をコピー&ペーストする
3.の時点でfaviconが復活します。
ただし、この時点ではまだfeeds.rdfがNFCで書かれているため、これをNFDに変更します。4.でその作業をしています。

それで気になったのは、未patchでも上記の動作は可能かどうか、ということでした。
当方の日本語版はpatch済みのため、未patchの英語版Thunderbird38.3.0で行ってみると出来たので、日本語版でも大丈夫そうに思いますが未検証です。

もしこれが可能ですと、feeds.rdfの直接編集をせずに済むため、フィードの復活が大幅に楽になります。
どなたか未patch状態で試していただけると助かります。

_________________
Thunderbirdの基本を書いています(ずっと発展途上) とりかごとなり。
基本の操作(画像あり):バージョン確認 / セーフモード / 新規プロファイル作成


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 98 件の記事 ]  ページ移動 1つ前へ  1 ... 3, 4, 5, 6, 7

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: Google [Bot] & ゲスト[102人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean