mikutterの最新の情報は、mikutter blogに引っ越しました。

2017年1月9日月曜日

hatenablogに引っ越した

編集が大変とか、細かな問題がいくつかあったので、思い切ってはてなブログに引っ越しました。


今後、この「mikutter開発日記」は更新せず、「mikutter blog」に、リリースのお知らせなどを書いていきます。

今までmikutter開発日記は
  • リリースのお知らせ
  • アニバーサリー記事
  • プラグイン作成のテクニック
などを書いていたのですが、このうちプラグイン作成テクニックはwriting mikutter pluginにまとめることとし、主にリリース情報だけをmikutter blogに掲載することとします。

mikutter blogにはmikutter開発日記の記事を全て移行したのですが、リンクをちゃんと張り替えられてません。どちらにせよmikutter開発日記を消すつもりはないので、このブログはアーカイブとして残ることになると思います。

引っ越しして何か変わるわけではありませんが、これからもmikutter blogをよろしくお願いします。

2016年12月25日日曜日

#mikutter 3.5.0

alpha2からの変更点

  • 言語ファイル更新
  • TwitterからEntity情報が送られてこなかった時、URL等をクリックしても対応するコンテンツを開くことができない
  • ツイート詳細のタイムスタンプをクリックした時にクラッシュする
  • Ruby 2.1で起動するとクラッシュする

3.4からの変更点
mikutter 3.5の新機能

本日はmikutterの誕生日です。記念すべき日にmikutter 3.5という最高のアップデートが出来て嬉しく思います。
2016年を振り返るのはもう少し後にしますが、来年もmikutterをよろしくお願いします。

Thanks
% git log --format="%an" 3.4.0..3.5.0 | sort | uniq
EbiflyBB
Hiroshi Hatake
Osamu Koga
Toshiaki Asai


2016年12月19日月曜日

#mikutter 3.5.0-alpha2


  • continuationがdeprecateなどと警告が出ていた
  • mikutterコマンドのキーバインドを追加・変更しようとするとクラッシュする
  • 表示設定に関係ないModelの設定がたくさん表示されていたのを消した
  • Acitivtyにユーザを表示する時に、ユーザ名だけではなくスクリーンネームも併記する
  • ツイートに関するActivityでは、関連するリソースとしてツイートを投稿したユーザも表示する
  • ツイートに関するActivityでは、Activityの説明にツイートのパーマリンクを含めない
  • Reserverはタイムアウト時に不要なThreadを作らなくなった
まだバグフィックスより機能の変更が多いんだけど来週じゃないかなぁ。大丈夫なのかなぁ。

違うんですよ聞いてください(アルファツイッタラーの真似)、リアーネとイルちゃんに同時に

2016年12月11日日曜日

#mikutter 3.5.0-alpha1

ついにmikutter 3.5不安定版のalphaリリース(?)です

変更点についてはmikutter3.5の新機能を見てください。

ソースコードはgitの release/3.5 ブランチの内容です。今回もtarballがありますが、alpha版は不具合修正の頻度が高いので、バグ報告をしてくれるつもりならば、alphaリリースされたtarballを使うよりHEAD使ってくれたほうが嬉しい…かな

mikutter 3.5 の残チケット

バグ報告は大量に来ることが予想されます。バグを見つけた場合はTwitterなどに書くのではなく、まずRedmineで検索して、なさそうならチケットを作成してください。

翻訳もお願いします。

Thanks

$ git log --format="%an" 3.4.0..3.5.0-alpha1 | sort | uniq
EbiflyBB
Hiroshi Hatake
Osamu Koga
Toshiaki Asai

2016年12月8日木曜日

mikutter 3.5の新機能

これが、3.5。

mikutterのお誕生日が近づいてきました。今年もmikutterの誕生日を記念してアドベントカレンダーをみんなで書いていますが、作者直々に初日に登録して頓挫させておきました。アドベントカレンダーを確認したら今日も書くことになっていたので、この記事を8日目の記事とします。

mikutter 3.5はおよそ7ヶ月?8ヶ月?ぶりのアップデートです。

Model
プラグインがModelを追加できるようになりました。それに伴って、mikutter上で扱われるリソースがwrapされ、扱いやすくなりました。

サードパーティプラグインのModel
独自のModelを追加できるようになりました。追加する方法は Writing mikutter Plugin に既に書かれています。

Message以外をTimelineに表示できる
タイムライン上に、ツイートを表わすMessage以外のModelを与えることができるようになりました。
mikutterではMessageのほかに、SystemMessage Modelが表示されます。

標準プラグインによって追加されるModel
以下のModelが新しく提供されます。
  • Plugin::Intent::IntentToken
  • Plugin::Intent::Intent
  • Plugin::Activity::Activity
  • Plugin::Openimg::Photo
  • Plugin::Search::Search
  • Plugin::Photo::Photo
  • Plugin::Skin::Image
  • Mikutter::System::User
  • Mikutter::System::Message
  • Mikutter::Twitter::DirectMessage
  • Plugin::Web::Web

MessageModelの変更
Message#icon で、ユーザのアイコンを表わすPhotoModelを取得できるようになりました(後述)。
Message#icon_large で、大きい方のアイコンを取得できます。

Photo
Twitterユーザのアイコン、タブのアイコン、スキンの画像、添付写真など、ありとあらゆる画像が Plugin::Photo::Photo を始めとしたPhotoModelのインスタンスとして取り扱われるようになり、場所によって画像のパスを指定したり、URLを指定したりとインターフェイスがバラバラだったのを統一しました。
(TODO: 説明を書く)

Plugin::Photo::Photo
PhotoModelは、こういうコードでURLに対応するインスタンスを得ることができます。

Plugin.filtering(:photo_filter, 'http://totori.dip.jp/totori_rtx1210_full2.jpg', [])[1].first

もちろん、ローカルファイルシステム上のパスも取り扱えます。

スキン
Skin['icon.png']

などと書くことで、SkinのImage Model(Plugin::Skin::Image) を得ることができるようになります。

DirectMessage
DirectMessageに対応するModelが用意され、MiraclePainterでタイムラインを使って描画されます。

mikutterコマンド
ツイートに対する全てのmikutterコマンドが利用でき、サードパーティプラグインによって追加されたtimelineロールのmikutterコマンドを利用できます。

URL
本文の中に現れるURLをクリックできるようになりました。

Subparts
MiraclePainterを拡張するサードパーティプラグインがインストールされている場合、それがDirectMessageでも利用できます。

Intent

URLをどういったプラグインで開くかを設定できるようになりました。標準では以下のことができるようになります。

  • Twitterのユーザページのリンクをクリック→ブラウザで開くか、mikutterでプロフィールを開くかを選択する
  • ツイートのパーマリンクをクリック→ブラウザで開くか、mikutterでツイートの詳細画面を開くかを選択する
  • Twitter検索のページのURLをクリック→ブラウザで開くか、mikutterでそのキーワードを検索するかを選択する
などなど。この選択は記憶させることもできますし、設定画面の「関連付け」で編集することもできます。

ツイートの詳細はmikutterでは開かず、必ずブラウザで開くといった設定も可能だったような気がします。

開く方法はプラグインで追加できます。例えばメールプラグインというのがあったとして、メール本文に含まれるTwitterのユーザページのURLをクリックした時に、ブラウザで開くのではなくmikutterの中でプロフィールを開くことができる、といった使い方を想定しています。


抽出タブ

データソースとしてDirectMessageを追加しました。複数のTwitterアカウントを登録している場合、全アカウントに関係するダイレクトメッセージの他に、各アカウントのダイレクトメッセージのみが含まれるデータソースが提供されます。

設定

タイムラインに表示されるModelに対して、その種類ごとに表示設定をできるようになります。

抽出タブを使ってツイートとDMを同じタブに表示しているが、表示設定が違うので見分けが付く

例えば、ツイートとDMにそれぞれ異なった背景色やフォントを設定できます。

mikutterコマンド

Intentを発行するための「開く」コマンドが追加されました。Intent機能をつかってそれを開くコマンドです。

ダブルクリックに割り当てておくといい感じです。

アクティビティ


Plugin#activityに名前付き引数 children: が追加されました。
Modelが入った配列を渡すことで、そのアクティビティが選択された時に関連するModelとして表示されます。

このリストに表示されているModelは、ダブルクリックするとIntentがそれを開きます。サードパーティプラグインが発生させた独自のアクティビティでも、関連するModelを開くことができるようになりました。

書き忘れていること

今回はボリュームが大きいのでいろいろありそうです。この記事は記録の意味もあるので、思い出したり変更があったりしたら追記していきます。

いつ

今回はmikutter 7年目となる 2016/12/25 の公開を目指して、現在ブラッシュアップを進めていますが、フィリスのアトリエが発売後の最初の年末ということを考えるとクオリティを気にしていたら間に合わ無さそうなので、12/25に出たalpha版をmikutter 3.5.0とします。

ぶっちゃけると、別にバージョン番号なんていうのはメンテされているアッピルのために対外的につけているだけで、ヘビーなmikutterユーザからしたら常にHEADを使っているわけだから、この記事なんかも「そんなことができるようになったのか!」ではなく「ああ、それねーそれそれ、二年前に飽きたわー」と思って見ているわけです。

古いというのは必ずしも悪いことではなく、リリースされたmikutterは、多少?バグが相対的に?少ない?かも?いや少なかったらいいなあー?あわよくば、バグが一つでも修正されているといいなーと僅かに期待できないこともない?という考え方もあるのです。これだけみんながドッグフードを食べたので、十分でしょう。

今回まとめていて、ああ、これもまだだったのか、と驚きながら書いていました。もっと細かくリリースすればよいだけの話ではあるんですが、クリスマスといわず、早く届けたいなーと思っています。今回は数年ぶりに満足にcommitできたので、何年ぶんか進んだような気がします。

特に今回は大きな変更となるので、そのぶんバグも多いはずです。怪しい挙動を見つけた場合にはツイートするのではなく、Redmineに書くようにしてください。それでは、mikutter3.5でお会いしましょう。

2016年11月27日日曜日

#mikutter 3.4.8

  • 3.4.8
    • gdk_pixbuf2 の変更の影響で、めっちゃdeprecated warningが出ていた問題を修正
      • 既に部分的に対応が終わっていたが、よりちゃんとした。
      • この変更によって gdk_pixbuf2 3.0.8などの古いバージョンで動かなくなっていたが、ある程度古いバージョンでも動くようにした
    • ruby-profが新しいと--profileオプションをつけるとクラッシュする
フィリスのアトリエは公認試験に合格してちょっとだけ進めたところです。
ゲームで試験ってどういう感じなのか、まあ大体予想していたんですがまさか実技試験(意味深)ってそういうやつだったとは…。あれはまずいですよ。
そしてそこから畳み掛けるような展開、まずいですね。
フィリスのアトリエをプレイすると、フィリスのアトリエだって思うんですよ。
とにかくまずいんですよ、フィリスのアトリエは。
何がまずいって、全てがまずいんですよ。フィリスのアトリエが誰でも買えてしまうこの世界はおかしい
あなたはフィリスのアトリエを買っていないかもしれないけれど、あなたとフィリスのアトリエは同じ時間に存在している
ああ、フィリスのアトリエなんだなあって。これ以外に表現できないんですよ
あいつも、こいつも、もしかしたらフィリスのアトリエをプレイしているのかも知れない
これは、フィリスのアトリエが発売する前には考えられなかったことです
大変だ、大変なところに来てしまった
コントローラーを持つ手が震える たまにコントローラーも震える
俺はフィリスのアトリエが怖いのかも知れない
フィリスのアトリエは、俺が思っている以上にフィリスのアトリエなんじゃないかと……。

2016年11月20日日曜日

#mikutter 3.3.14, 3.4.7

3.3.14

  • アカウント情報の暗号化に関する不具合
  • Extended Tweetsの、mentionに関する仕様を3.3.12の状態に戻した
    • 隠し設定で、3.3.13の状態に戻すこともできます

3.4.7
  • アカウント情報の暗号化に関する不具合
  • Extended Tweetsの、mentionに関する仕様を3.3.12の状態に戻した
    • 隠し設定で、3.3.13の状態に戻すこともできます
  • 画面に表示されていないタイムラインがツイートを開放しない
  • gtk2 3.1.0を利用
  • 言語ファイル更新
    • zh_TW
Twitterがリプライ先を書かなくてもよしなにやってくれるようになりましたが、サードパーティクライアントからではどうやっても予想できないケースがありました。他のクライアントはどうしてるのかなーといくつか見たら、ヘッダについては未対応のが多いんですよ。なのでmikutterでもこの変更をrevertして無かったことにしようと思いました。アップデートすることで、謎の巻き込みリプライ現象が改善されます。
ただ、mentionsの宛先に文字数が食われないのはありがたい人もいると思うので、設定で変更できるようにしました。隠し設定なのでUIはありません。どういうキーだったか忘れたなあ。

フィリスのアトリエはちょうどライゼンベルグについたところです。