Project

General

Profile

環境対応 #1130

twitter-textを2.1.0にすると起動しなくなる

Added by Akira Ouchi almost 2 years ago. Updated over 1 year ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
Start date:
2017-12-21
Due date:
% Done:

0%

プラグイン名:

Description

bundle updateなどでtwitter-textを2.1.0にアップデートすると、以下のエラーにより起動直後にクラッシュするようです。

/Users/akkie/mikutter/core/mui/gtk_postbox.rb:100:in `block in widget_remain': uninitialized constant Twitter::Extractor (NameError)
    from /Users/akkie/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/delayer-0.0.2/lib/delayer/procedure.rb:24:in `run'
    from /Users/akkie/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/delayer-0.0.2/lib/delayer/extend.rb:58:in `run_once'
    from /Users/akkie/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/delayer-0.0.2/lib/delayer/extend.rb:30:in `run'
    from /Users/akkie/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/delayer-0.0.2/lib/delayer.rb:43:in `method_missing'
    from /Users/akkie/mikutter/core/plugin/gtk/delayer.rb:10:in `block in boot'
    from /Users/akkie/mikutter/core/plugin/gtk/mainloop.rb:10:in `main'
    from /Users/akkie/mikutter/core/plugin/gtk/mainloop.rb:10:in `mainloop'
    from mikutter.rb:68:in `boot!'
    from mikutter.rb:104:in `<main>'

Gemfileで2.1.0未満を使うように書き換えることで回避できるようでした

gem 'twitter-text', '>= 1.14.6', '< 2.1.0'

Associated revisions

Revision a7666e13 (diff)
Added by toshi_a 初音 over 1 year ago

twitter-text 2.1.0を要求 refs #1130

History

#1

Updated by Izumi Tsutsui almost 2 years ago

2.0.x → 2.1.0 は非互換な変更みたいですね。
("たぶん動くからリリースしようぜ" 感あふれる変更)

https://github.com/twitter/twitter-text/commit/ab02a1ad99e3462931a6b035c63693981a7385d7

Top-level namespace changed from `Twitter` to `Twitter::TwitterText`. This
resolves a namespace collision with the popular
[twitter gem](https://github.com/sferik/twitter). This is considered
a breaking change, so the version has been bumped to 2.1.

source:core/mui/gtk_postbox.rb@2fdb3315#L293

        Twitter::Extractor.extract_urls(text).map{|url|


        Twitter::TwitterText::Extractor.extract_urls(text).map{|url|

にすればいいんですかね。(未テスト)

#2

Updated by toshi_a 初音 almost 2 years ago

最終的には対応すべきと思いますが、twitter-text 2.1.0未満でしか動かないということなので、まずはそのように明記すべきですね

#3

Updated by Izumi Tsutsui over 1 year ago

とりあえず履歴#1の通り直すと twitter-text 2.1.0 でも動いてます

--- core/mui/gtk_postbox.rb.orig    2017-12-22 15:08:27.000000000 +0000
+++ core/mui/gtk_postbox.rb
@@ -307,7 +307,7 @@ module Gtk
     def remain_charcount
       if not widget_post.destroyed?
         text = trim_hidden_regions(widget_post.buffer.text + UserConfig[:footer])
-        Twitter::Extractor.extract_urls(text).map{|url|
+        Twitter::TwitterText::Extractor.extract_urls(text).map{|url|
           if url.length < posted_url_length(url)
             -(posted_url_length(url) - url.length)
           else

#4

Updated by toshi_a 初音 over 1 year ago

mikutterがtwitter-textに依存しているのおかしいですね。どっちでいくとしてもTwitterプラグインの方に移動しておく必要がある

#5

Updated by toshi_a 初音 over 1 year ago

  • Status changed from 新規 to レビュー待ち
  • Assignee set to Akira Ouchi

つついさんのパッチを取り込んで、2.1.0以降を要求するようにしました。
問題はないと思いますが(あとギリギリになって申し訳ないですが)、 :akkiesoft_bridge: とつついさんを中心に確認してもらえたら、とおもいます

#6

Updated by Akira Ouchi over 1 year ago

動作を確認しました。

旧バージョンとかの配慮とかがいらなければそのままで良いかなと思いました。

  • hotfix/3.5を使い続ける人向け?(<2.1.0をGemfileに書く?)
  • 3.6でうっかり2.1以前のtwitter-textで動かした人向け?
#7

Updated by Izumi Tsutsui over 1 year ago

  • Status changed from レビュー待ち to 解決

pkgsrc という非標準環境ですが twitter-text-2.1.0.gem との組み合わせで動作しています。

#8

Updated by toshi_a 初音 over 1 year ago

  • Status changed from 解決 to 終了

3.5系には、twitter-text 2.1.0未満を要求するようにGemfileを書き換えたものをリリースしておきたいところですが、あと2時間で3.5のサポート(笑)は切れるので、3.6記念のビールなどを購入する工数を考えると、非常に厳しいかと思います。

Also available in: Atom PDF