May 19, 2005

IRcat 2.0.2

コトノコやるといいながら, IRcatのバージョンばっかりあがる今日この頃. ということで 2.0.2 (v20050519)です.bug fixだけですけどね. なんだかんだいってバグ多いな….

ircat-20050519.tar.gz (source のみ)
ircat-20050519.dmg.gz (バイナリ)

主な変更点は以下の通り

  • ctcp versionメニューを選んでも, ダイアログが表示されない問題の修正
  • ヘルプが表示されない問題の修正

18 comments:

  1. 2.0.1同様、接続時にconsoleに数百行程度やってきたところで止まってしまうようです。

    ReplyDelete
  2. 特定の人物の発言を無視する機能とつけて欲しいです。

    ReplyDelete
  3. すいません、ちょっと前のバージョンなんですが「?」や「?」などの特殊文字が発言に含まれていると、発言全体が表示されないようになってしまうようです。

    ReplyDelete
  4. ISO 2022 JPに含まれない文字での動作はMac OS XのAPI依存です.文字コードをWindows互換にすれば一応解決するはずです.

    ReplyDelete
  5. >>konnさんとりあえず、plum 等で実現できますよ。+ user/ignore.plmuser.ignore.mask: hoge!fuga@example.jpuser.ignore.command: privmsg,notice

    ReplyDelete
  6. ignoreは「そんなもの使わずに仲良くしてね」という趣旨で実装してません.…ってのは半分嘘ですが.使った事ない機能はどういう仕様にすればいいのか良く分からないって感じでしょうか.IRCの仕様じゃないですし.

    ReplyDelete
  7. 皆さんありがとう御座います。>mikiTさんなるほど、そう言う方法がありましたか。ありがとうございます。しかし、家のはplumなどは使っていなくて、直に接続しているので、無理のようです。>atsushi様そうなんですよね……出来ればその方が良いのですが、どうしても、、、まあ、やはり個人の問題なので、検討して頂かなくとも結構です。

    ReplyDelete
  8. 度々お騒がせしてすいません。IRcatを何日間か起動しっぱなしにしていたら、何の前触れもなくいきなりカーソルがビーチボールになって、操作を一切受け付けなくなってしまいました。仕方がないので一旦強制終了して、また接続し直そうとしたのですが、今度は接続の段階でこけるようです。そこで、今度は初期設定を一旦削除し、再度設定し直しましたが、それでもダメでした。ソフトも再インストールしてみましたが、状況は変わっていません。何の前触れもなく、いきなりこのような状態になったので、詳しい状況はわからないです……どうすれば良いんでしょうか?因みに接続していたサーバーは"irc.friend.td.nu"です。複数のポートを試しましたがダメでした。他のサーバーは大丈夫なようです。

    ReplyDelete
  9. 続報です。実際にはクライアント側がビジー状態になっているだけで、部屋に入れている状態だったようです。その後、デフォルトでは一つのチャンネルのみに入る様にしたところ、或るチャンネルが原因で入れなかったようです。また、家のボットではそのチャンネルには入れているようです……うーむ……

    ReplyDelete
  10. 更に補足です。その或るチャンネルのトピックを自分のボットで変えたところ、何とかそのチャンネルに入れました。しかし、そこでの他の人の発言は見えるのに、リストにはNICKが一つも載っていませんでした。しかも、変更するときに間違いがあったらしく、私が変更したときに化けてしまっていたようです。しかし、私にはそのトピックも見えませんでした。今度は別の方にトピックを変更してもらい、入り直したら、通常通りになりました。もしかして、TOPICまたは化けた発言のせいで落ちたのではないかと云うことが判明しました。

    ReplyDelete
  11. またまた補足です。上に書いたことをふまえて、チャンネルの人に聞いてみたところ、長すぎるトピックを設定したところ、途中で切れてしまったようです。ちょうど落ちた時間にも一致していました。と言うことは、IRcatはトピックが化けたりあふれたりすると落ちるって云うことになると思います……バグっぽいですね……ガンバッテ下さい……

    ReplyDelete
  12. 正直デバッガからどこでloopしてるか見てもらった方が楽なのですが….とりあえず今の話で関係あるところを見ては見ますが, 今回のがどこなのかはっきりしないので, そのうち直ってるかも知れませんとしか言いようがありません.ちなみに, 文字コードはどれを選択していますか?

    ReplyDelete
  13. 早速のレスありがとう御座います。えーと、エンコードは「日本語 (Windows互換)」です。デバッガからと言うことは、XCodeからと言うことですよね。ちょっとやってみます。

    ReplyDelete
  14. デバッガにかけたところ、ここで無限ループに突入してました。------ ここから ------while(location < end){c[0] = bytes[location];if(c[0] == 27 && location < (end - 2)){c[0] = bytes[location + 1];c[1] = bytes[location + 2];if(c[0] == '$'){ // ESC $ @ は…どうする?encoding = kJISX0208Encoding;}else if(c[0] == '(' && c[1] =='I'){encoding = kJISX0201ShiftEncoding;}else{ // if(c[0] == '('){encoding = kJISX0201Encoding;}location += 3;}else if(c[0] == 0x0e && encoding == kJISX0201Encoding){encoding = kJISX0201ShiftEncoding;}else if(c[0] == 0x0f && encoding == kJISX0201ShiftEncoding){encoding = kJISX0201Encoding;}else{switch(encoding){------ ここまで ------

    ReplyDelete
  15. もっと詳しく観察していると、どうやらswitch(encoding){の部分(TextEncodings.m:87)の分岐で、用意されたどのケースからも溢れてしまったために、locationが上手くインクリメントされないのが原因のようです。

    ReplyDelete
  16. ここまであると分かりますね.case kJISX0208Encoding:(中略) location += 2;}break;の箇所を}location += 2;break;に変更すれば動くかと思います.

    ReplyDelete
  17. わかりましたー。ではそれで今はやっておきます~早速の対応ありがとうございました。m(_ _)m

    ReplyDelete
  18. IRcatが前面じゃない状態で発言があればDockでバウンドする等して発言が有った事を通知してくれる機能を要望します。

    ReplyDelete