読者です 読者をやめる 読者になる 読者になる

mikutter blog

mikutterのアナウンスなど

#mikutter 0.0.3.549, 0.0.4.549

  • 0.0.3
    • READMEの悪ふざけが足りなかったので追加
    • Twitter WebのURL表示方法に準拠。エスケープされた日本語のURLを案エスケープして表示するようにした。
  • 0.0.4
    • ubuntu 11.10で起動するようにした
    • エンティティの展開時に稀にUIが完全停止することがあった
Ubuntu 11.10

前回緊急リリースをしたのは0.0.3だけでした。今回から0.0.4でもubuntu11.10で起動できます。
ubuntu11.10での動かし方はREADMEをみてください。
あと、ubuntuのリリース日勘違いしてました。なので、若干目標を整理しなおし、0.0.3のメンテナンスを一週間伸ばして、10/31までとします。24日なんて中途半端な日をリミットにする意味が無くなったからです。

URLの表示方法の変更について

対策後。
リンクになってしまっているが文章として読める
何が問題なのか

現在、「twitter.com」のような、ドメイン名っぽいURLをつぶやくと、勝手に http://twitter.com/ とかに変換されてしまいます。これはTwitterサーバ上で行われていて、データが落ちてくるときには本文でそうなってしまっているのでどうしようもありません。しかもt.coで短縮(多くの場合は長くなってるが)されています。

さらに悪いことに、「価格.com」のような文字列も、よしなに処理されてしまいます。しかもPunycodeでエスケープされるので、「http://xn--1sqt31d.com/」とか表示されます。厄介ですね。

対策

そこで、URLを表示するときにはPunycodeをアンエスケープするようにしました。さらに、entityのdisplay_url値を表示することで、http://とかも消えました。下線が引かれてリンクになってしまうことを除いては、従来通りの表示になります。

副作用と今後

mikutterは現在j.mpでURLを短縮するようになっています。現状display_urlを単純に使用しているので、多重短縮されたURLが展開できていません。
こういうものに関しては、展開できる場合はdisplay_urlは無視して展開形を表示に使用することで手を打つつもりです。

ちょっと話は違うけれど、今はもうあらゆるURLが短縮されるようになったので、bit.ly短縮は無効をデフォルトにするつもりです。また、それに合わせてクライアントサイドで字数オーバーを検出して末尾を切るような動作は廃止します。理由は
  • Rubyの標準のURL判別正規表現は、日本語を含むURLにマッチしないので面倒
  • Twitterがきっとまたなにかやらかすに違いない
からです。