OSDN Git Service

opentween/open-tween.git
8 years agoTweenMain内の各コントロールのAccessibleNameに適切な名前をセット
Kimura Youichi [Sun, 3 Apr 2016 06:46:06 +0000 (15:46 +0900)]
TweenMain内の各コントロールのAccessibleNameに適切な名前をセット

デフォルトの AccessibleName に何がセットされるかはタブオーダー順も影響するため TabIndex の順序も修正

8 years ago入力欄や投稿ボタンなどのレイアウトをTableLayoutPanelで行う
Kimura Youichi [Sat, 2 Apr 2016 15:23:14 +0000 (00:23 +0900)]
入力欄や投稿ボタンなどのレイアウトをTableLayoutPanelで行う

8 years agopic.twitter.com の画像にalt_textがあればツールチップで表示
Kimura Youichi [Sat, 2 Apr 2016 07:59:13 +0000 (16:59 +0900)]
pic.twitter.com の画像にalt_textがあればツールチップで表示

8 years ago発言詳細部に表示される pic.twitter.com のリンクの title に alt_text を設定する
Kimura Youichi [Wed, 30 Mar 2016 16:11:41 +0000 (01:11 +0900)]
発言詳細部に表示される pic.twitter.com のリンクの title に alt_text を設定する

8 years ago発言一覧内で pic.twitter.com に対応する alt_text が存在するものはテキストを置き換える
Kimura Youichi [Wed, 30 Mar 2016 16:09:28 +0000 (01:09 +0900)]
発言一覧内で pic.twitter.com に対応する alt_text が存在するものはテキストを置き換える

8 years agoツイートに添付された画像の ext_alt_text の受信に対応
Kimura Youichi [Wed, 30 Mar 2016 15:48:38 +0000 (00:48 +0900)]
ツイートに添付された画像の ext_alt_text の受信に対応

参照: https://blog.twitter.com/2016/alt-text-support-for-twitter-cards-and-the-rest-api

8 years agoTweenMainがDisposeされた後にエラー報告画面を表示するとObjectDisposedExceptionが発生する不具合を修正
Kimura Youichi [Sun, 3 Apr 2016 06:52:42 +0000 (15:52 +0900)]
TweenMainがDisposeされた後にエラー報告画面を表示するとObjectDisposedExceptionが発生する不具合を修正

https://osdn.jp/ticket/browse.php?group_id=6526&tid=36231

Fixes: 7bf81477 ("DMを使用してエラーレポートを送信する機能を実装")

8 years agoNVDAで発言一覧の名前以降の列が読み上げられない現象を回避 (thx @i_hate_myself92!)
Kimura Youichi [Wed, 30 Mar 2016 14:37:23 +0000 (23:37 +0900)]
NVDAで発言一覧の名前以降の列が読み上げられない現象を回避 (thx @i_hate_myself92!)

Fixes: 00817f01 ("発言一覧の更新によって選択状態が失われたツイートを選択し直しても発言詳細部に反映されない不具合を修正")

8 years agoTweetExtractorによるハッシュタグや @ユーザ名 の抽出結果に「#」や「@」が含まれていた不具合を修正 (thx @momdo_!)
Kimura Youichi [Sat, 13 Feb 2016 06:48:52 +0000 (15:48 +0900)]
TweetExtractorによるハッシュタグや @ユーザ名 の抽出結果に「#」や「@」が含まれていた不具合を修正 (thx @momdo_!)

Twitter API が返すエンティティの screen_name や text には「#」「@」を含まないテキストが入るためこれに合わせた
https://github.com/opentween/OpenTween/issues/33

Fixes: ec941795 ("TweetExtractorクラスにハッシュタグとメンションを抽出するメソッドを追加")

8 years agoタイムライン検索で検索結果を新規タブに表示する場合とカーソル移動のみの場合で検索条件を同一にする
Kimura Youichi [Thu, 4 Feb 2016 07:59:42 +0000 (16:59 +0900)]
タイムライン検索で検索結果を新規タブに表示する場合とカーソル移動のみの場合で検索条件を同一にする

この変更により、検索結果を新規タブに表示した場合にスクリーンネームなどが検索対象にならない不具合も修正される
https://twitter.com/tests_peer/status/660777615150616576

Fixes: 37389b4c ("検索ダイアログを書き直し")

8 years ago複数のタブで同時に新着ツイートを受信した場合に通知音が再生されない場合がある不具合を修正
Kimura Youichi [Mon, 25 Jan 2016 08:39:18 +0000 (17:39 +0900)]
複数のタブで同時に新着ツイートを受信した場合に通知音が再生されない場合がある不具合を修正

例えば Recent, Reply タブでそれぞれ同時に新着ツイートを受信した場合は
Reply タブの方が通知の優先度が高いため Reply タブに設定された通知音が再生されるが、
もし Reply タブに通知音が設定されていない場合は次点の Recent タブに設定された通知音が
再生されなければならない。

修正前のコードではこれが考慮されておらず、通知の優先度が高いタブの SoundFile が
空文字列であってもそのまま上書きされていた。

Fixes: 714ccf18 ("TabInformations.DistributePosts/SubmitUpdateメソッドを書き直し")

8 years agowww.instagram.com のサムネイル表示に対応
Kimura Youichi [Sun, 24 Jan 2016 07:58:31 +0000 (16:58 +0900)]
instagram.com のサムネイル表示に対応

img.azyobuzi.net が有効 (デフォルト) であれば以前から表示できていた

8 years ago発言詳細部に表示されるハッシュタグやメンションで「URLをコピー」が機能しない不具合を修正 (thx @ufoprincess!)
Kimura Youichi [Sat, 23 Jan 2016 10:29:25 +0000 (19:29 +0900)]
発言詳細部に表示されるハッシュタグやメンションで「URLをコピー」が機能しない不具合を修正 (thx @ufoprincess!)

https://twitter.com/ufoprincess/status/683266795088691200

Fixes: 65565e2a ("PostBrowserからのURLコピー時に「&」のエスケープが解除されない不具合を修正")

8 years agoタブレット端末などでサムネイル画像が1枚のみ表示された状態で2本指スクロールするとエラーが発生する問題を回避
Kimura Youichi [Sat, 23 Jan 2016 14:52:58 +0000 (23:52 +0900)]
タブレット端末などでサムネイル画像が1枚のみ表示された状態で2本指スクロールするとエラーが発生する問題を回避

不具合報告があったのは Windows 8.1 で、Windows 10 でも同様のエラーが発生することを確認した
詳しい原因は分からないが、WinForms 側のバグのような気がする
この修正の都合で、サムネイル画像が 1 枚のみの場合はスクロールバーが非表示になるように変更している

8 years agotouch.pixiv.net のサムネイル表示に対応
Kimura Youichi [Sat, 23 Jan 2016 15:32:53 +0000 (00:32 +0900)]
touch.pixiv.net のサムネイル表示に対応

8 years agoNetworking.CreateHttpClientメソッドからHttpClientHandlerを生成する処理を分離
Kimura Youichi [Sun, 3 Jan 2016 10:26:13 +0000 (19:26 +0900)]
Networking.CreateHttpClientメソッドからHttpClientHandlerを生成する処理を分離

8 years agoTwitterStatus等のクラスをOpenTween.Api.DataModel名前空間に移動
Kimura Youichi [Sat, 2 Jan 2016 13:29:28 +0000 (22:29 +0900)]
TwitterStatus等のクラスをOpenTween.Api.DataModel名前空間に移動

8 years ago一括ふぁぼが出来ないことを前提にふぁぼ関連のコードを修正
Kimura Youichi [Sat, 2 Jan 2016 12:49:11 +0000 (21:49 +0900)]
一括ふぁぼが出来ないことを前提にふぁぼ関連のコードを修正

8 years agoChangeLog 修正 [skip ci]
Kimura Youichi [Fri, 1 Jan 2016 17:28:26 +0000 (02:28 +0900)]
ChangeLog 修正 [skip ci]

Fixes: af8d56b7 ("投稿欄の複数行入力が有効な状態でCtrl+Enterで投稿するとハッシュタグの自動付与が..")

8 years ago投稿欄の複数行入力が有効な状態でCtrl+Enterで投稿するとハッシュタグの自動付与が行われない不具合を修正 (thx @nt776!)
Kimura Youichi [Fri, 1 Jan 2016 17:21:10 +0000 (02:21 +0900)]
投稿欄の複数行入力が有効な状態でCtrl+Enterで投稿するとハッシュタグの自動付与が行われない不具合を修正 (thx @nt776!)

https://twitter.com/nt776/status/682968643492130816
https://twitter.com/nt776/status/682971268673454080

Fixes: b086b7bf ("投稿欄の文字数カウントに関するコードを整理")

8 years agoバージョン 1.3.2-dev 開発開始
Kimura Youichi [Mon, 28 Dec 2015 14:44:35 +0000 (23:44 +0900)]
バージョン 1.3.2-dev 開発開始

8 years agoOpenTween v1.3.1 リリース OpenTween_v1.3.1
Kimura Youichi [Mon, 28 Dec 2015 14:41:31 +0000 (23:41 +0900)]
OpenTween v1.3.1 リリース

8 years ago発言一覧の更新によって選択状態が失われたツイートを選択し直しても発言詳細部に反映されない不具合を修正 (thx @norick_v125!)
Kimura Youichi [Sun, 27 Dec 2015 19:34:12 +0000 (04:34 +0900)]
発言一覧の更新によって選択状態が失われたツイートを選択し直しても発言詳細部に反映されない不具合を修正 (thx @norick_v125!)

https://twitter.com/norick_v125/status/680656721379868672

Fixes: 6cff2aa ("MyList_SelectedIndexChangedメソッドが呼ばれても選択中のアイテムのStatusIdが同一であれば無視する")

8 years agoImgurへの画像アップロード時にTaskCanceledExceptionが発生する事を考慮
Kimura Youichi [Sun, 27 Dec 2015 16:48:17 +0000 (01:48 +0900)]
Imgurへの画像アップロード時にTaskCanceledExceptionが発生する事を考慮

https://osdn.jp/ticket/browse.php?group_id=6526&tid=35869

Fixes: 52335c36 ("画像共有サービスに使用するインタフェースを設計し直し")

8 years ago発言詳細欄に表示するリプライ先の枠線をColorAtToと同じ色にする
Kimura Youichi [Sun, 27 Dec 2015 16:08:55 +0000 (01:08 +0900)]
発言詳細欄に表示するリプライ先の枠線をColorAtToと同じ色にする

SettingLocal.ColorAtTo は発言一覧の「その発言の@先発言」に使われる色

Fixes: b6d6c7ec ("発言詳細部にリプライ先のツイートを表示する際に赤枠で表示する")

8 years ago各タブの「新着通知表示」が無効になっていると通知音が再生されなくなる不具合を修正
Kimura Youichi [Sun, 27 Dec 2015 15:45:41 +0000 (00:45 +0900)]
各タブの「新着通知表示」が無効になっていると通知音が再生されなくなる不具合を修正

「新着通知表示」はポップアップ通知を対象とした設定のため通知音には影響しない

Fixes: 714ccf18 ("TabInformations.DistributePosts/SubmitUpdateメソッドを書き直し")

8 years agoMyList_CacheVirtualItemsが呼ばれてもタブ内の発言件数がゼロであれば無視する
Kimura Youichi [Sun, 27 Dec 2015 15:39:10 +0000 (00:39 +0900)]
MyList_CacheVirtualItemsが呼ばれてもタブ内の発言件数がゼロであれば無視する

https://osdn.jp/ticket/browse.php?group_id=6526&tid=35865

Fixes: 46bd9054 ("TweenMainの発言一覧のキャッシュに対する処理をListViewItemCacheクラスにまとめる")

8 years ago発言詳細部にリプライ先のツイートを表示する際に赤枠で表示する
Kimura Youichi [Sun, 27 Dec 2015 12:29:46 +0000 (21:29 +0900)]
発言詳細部にリプライ先のツイートを表示する際に赤枠で表示する

Fixes: fef3b0a5 ("リプライ先のツイートも発言詳細部に表示させる")

8 years ago「SMSコマンドを回避する」機能を追加
Kimura Youichi [Sun, 27 Dec 2015 09:46:01 +0000 (18:46 +0900)]
「SMSコマンドを回避する」機能を追加

「M+フォント」から始まるツイートなどが投稿できない問題などを回避する
v1.2.9 までの「APIコマンドを回避する」と目的は同じだがゼロ幅スペース (U+200B) を使用するため、
もしこの機能が動作しても表示上目立ちにくくなっている

Fixes: 2fe8fa0e ("「APIコマンドを回避する」の設定を廃止")

8 years agoリストおよび検索のタブでミュート設定が適用されない不具合を修正 (thx @Tan90909090!)
Kimura Youichi [Thu, 24 Dec 2015 18:27:09 +0000 (03:27 +0900)]
リストおよび検索のタブでミュート設定が適用されない不具合を修正 (thx @Tan90909090!)

Fixes: 1ca13405 ("PostClass.RelTabNameを廃止")

8 years agoバージョン 1.3.1-dev 開発開始
Kimura Youichi [Wed, 23 Dec 2015 14:45:28 +0000 (23:45 +0900)]
バージョン 1.3.1-dev 開発開始

8 years agoOpenTween v1.3.0 リリース OpenTween_v1.3.0
Kimura Youichi [Wed, 23 Dec 2015 14:44:45 +0000 (23:44 +0900)]
OpenTween v1.3.0 リリース

8 years agoリプライ先のツイートも発言詳細部に表示させる
Kimura Youichi [Tue, 22 Dec 2015 17:49:16 +0000 (02:49 +0900)]
リプライ先のツイートも発言詳細部に表示させる

PostClass.QuoteStatusIds に in_reply_to_status_id の値も含めるようにした

8 years agoChangeLogの文面を修正
Kimura Youichi [Tue, 22 Dec 2015 18:03:26 +0000 (03:03 +0900)]
ChangeLogの文面を修正

8 years agoMyList_SelectedIndexChangedが呼ばれたが同一ツイートだった場合に、ツイートが未読であれば既読処理を省略しないようにする
Kimura Youichi [Sun, 20 Dec 2015 05:25:04 +0000 (14:25 +0900)]
MyList_SelectedIndexChangedが呼ばれたが同一ツイートだった場合に、ツイートが未読であれば既読処理を省略しないようにする

再現性は低いがたまにツイートが未読のまま選択状態となってしまうことがあり、
その場合にスペースキー等で既読にできず次の未読に移動できなくなる現象が起きていた。

Fixes: 6cff2aa9 ("MyList_SelectedIndexChangedメソッドが呼ばれても選択中のアイテムのStatusIdが同一であれば無視する")

8 years agoPNGファイルの軽量化
Kimura Youichi [Tue, 15 Dec 2015 17:19:51 +0000 (02:19 +0900)]
PNGファイルの軽量化

実行したコマンド:
  find . -name '*.png' -print0 | xargs -0 -n 1 pngcrush -rem alla -brute -ow

PlayableOverlayImage.png については pngcrush 実行前にグレースケールに減色した
ファイルサイズは全体で約 26KB 減少した

8 years agoThumbnailInfoクラスのImageUrlとThumbnailUrlをそれぞれMediaPageUrl, ThumbnailImageUrlに変更
Kimura Youichi [Tue, 15 Dec 2015 09:00:13 +0000 (18:00 +0900)]
ThumbnailInfoクラスのImageUrlとThumbnailUrlをそれぞれMediaPageUrl, ThumbnailImageUrlに変更

8 years agopbs.twimg.com のサムネイル表示に使用する正規表現の誤りを修正
Kimura Youichi [Tue, 15 Dec 2015 08:35:52 +0000 (17:35 +0900)]
pbs.twimg.com のサムネイル表示に使用する正規表現の誤りを修正

8 years agoIEnumerable.OfType<T>()の直後にnullチェックをしている箇所を削除
Kimura Youichi [Mon, 14 Dec 2015 16:44:36 +0000 (01:44 +0900)]
IEnumerable.OfType<T>()の直後にnullチェックをしている箇所を削除

OfType<T>() は Select(x => x as T) と同等だと勘違いしてた

8 years agoエラーレポートをメールで送信する際の送信先をURLエンコードする
Kimura Youichi [Mon, 14 Dec 2015 15:02:08 +0000 (00:02 +0900)]
エラーレポートをメールで送信する際の送信先をURLエンコードする

大抵のメールアドレスでは特に問題にならないが念のため

8 years agoエラーレポート送信のダイアログを表示する際に必要に応じてInvokeを呼び出す
Kimura Youichi [Mon, 14 Dec 2015 15:00:35 +0000 (00:00 +0900)]
エラーレポート送信のダイアログを表示する際に必要に応じてInvokeを呼び出す

UI スレッド以外で例外が発生した場合に dialog.ShowDialog(mainForm) で例外が発生する問題への対処

8 years agoMerge branch 'cleanup-code-analyzer-errors'
Kimura Youichi [Tue, 15 Dec 2015 07:29:34 +0000 (16:29 +0900)]
Merge branch 'cleanup-code-analyzer-errors'

8 years agoコード分析に使用する規則を追加
Kimura Youichi [Mon, 14 Dec 2015 14:58:12 +0000 (23:58 +0900)]
コード分析に使用する規則を追加

8 years agoCultureInfo.InvariantCultureの代わりにStringComparison.Ordinalを優先して使用する (CA1309)
Kimura Youichi [Sat, 12 Dec 2015 04:48:33 +0000 (13:48 +0900)]
CultureInfo.InvariantCultureの代わりにStringComparison.Ordinalを優先して使用する (CA1309)

8 years agoStringComparisonを指定できるメソッドでStringComparisonを明示 (CA1307)
Kimura Youichi [Sat, 12 Dec 2015 04:43:49 +0000 (13:43 +0900)]
StringComparisonを指定できるメソッドでStringComparisonを明示 (CA1307)

8 years agoCultureInfoを指定できるメソッドでCultureInfoを常に明示する (CA1304)
Kimura Youichi [Fri, 11 Dec 2015 20:21:18 +0000 (05:21 +0900)]
CultureInfoを指定できるメソッドでCultureInfoを常に明示する (CA1304)

8 years agoImageListViewItemにSerializable属性と必要なコンストラクタを追加 (CA2229)
Kimura Youichi [Fri, 11 Dec 2015 19:50:05 +0000 (04:50 +0900)]
ImageListViewItemにSerializable属性と必要なコンストラクタを追加 (CA2229)

継承元の ListViewItem が ISerializable を実装しているため必須となる

8 years agoTabClassからSerializable属性を除去 (CA2237)
Kimura Youichi [Fri, 11 Dec 2015 19:47:18 +0000 (04:47 +0900)]
TabClassからSerializable属性を除去 (CA2237)

XmlSerializer を使用してシリアライズする場合は Serializable 属性は不要

8 years agoArgumentExceptionのparamNameを適切に指定する (CA2208)
Kimura Youichi [Fri, 11 Dec 2015 19:20:03 +0000 (04:20 +0900)]
ArgumentExceptionのparamNameを適切に指定する (CA2208)

8 years ago例外発生時にDisposeが適切に呼ばれるようにする (CA2000)
Kimura Youichi [Fri, 11 Dec 2015 19:15:35 +0000 (04:15 +0900)]
例外発生時にDisposeが適切に呼ばれるようにする (CA2000)

8 years agobool型を使用するP/InvokeメソッドにMarshalAs属性を明示する (CA1414)
Kimura Youichi [Fri, 11 Dec 2015 17:55:16 +0000 (02:55 +0900)]
bool型を使用するP/InvokeメソッドにMarshalAs属性を明示する (CA1414)

8 years agoMemoryImage.Equalsから例外を返さない (CA1065)
Kimura Youichi [Fri, 11 Dec 2015 17:42:11 +0000 (02:42 +0900)]
MemoryImage.Equalsから例外を返さない (CA1065)

8 years agoプロパティを書き込み専用にしない (CA1044)
Kimura Youichi [Fri, 11 Dec 2015 17:18:51 +0000 (02:18 +0900)]
プロパティを書き込み専用にしない (CA1044)

8 years agoOTBaseForm.InvokeAsync内で発生した例外をTaskCompletionSourceに渡す
Kimura Youichi [Fri, 11 Dec 2015 16:54:46 +0000 (01:54 +0900)]
OTBaseForm.InvokeAsync内で発生した例外をTaskCompletionSourceに渡す

8 years agoタイムラインの流速計測に使用する_tlTimestampsをConcurrentDictionaryに変更
Kimura Youichi [Thu, 10 Dec 2015 16:29:52 +0000 (01:29 +0900)]
タイムラインの流速計測に使用する_tlTimestampsをConcurrentDictionaryに変更

ついでにローカル変数を使わず直接 TweenMain._tlCount に加算して流速を計算していた不具合を修正
(流速の計算はバックグラウンドのスレッドで行われるため計算途中の値が画面上に表示されることがあった)

8 years agoUserStreams受信時に前のツイートに対するRefreshTimelineが完了していなければ更新をスキップする
Kimura Youichi [Thu, 10 Dec 2015 16:11:38 +0000 (01:11 +0900)]
UserStreams受信時に前のツイートに対するRefreshTimelineが完了していなければ更新をスキップする

8 years agoUserStreamsからの更新時にInvokeを呼び出す箇所をInvokeAsyncに置き換え
Kimura Youichi [Wed, 9 Dec 2015 12:39:03 +0000 (21:39 +0900)]
UserStreamsからの更新時にInvokeを呼び出す箇所をInvokeAsyncに置き換え

WaitingDialog クラスで使用していた InvokeAsync メソッドを OTBaseForm クラスに移動し、
全てのフォームで利用できるようにした。

8 years agoUserStreamsからの更新の度にRefreshTasktrayIconを呼び出さない
Kimura Youichi [Wed, 9 Dec 2015 12:36:01 +0000 (21:36 +0900)]
UserStreamsからの更新の度にRefreshTasktrayIconを呼び出さない

RefreshTasktrayIcon(forceRefresh: true) は、UserStreams 受信時にタスクトレイのエラー表示を
消去するために呼び出されているが、DM 等の定期的な読み込みによっても上書きされるため
敢えて UserStreams 受信時にも呼び出す必要はない。
また、RefreshTasktrayIcon は 200ms 間隔で呼び出されることを前提としたコードがいくつかあり、
タイマーを無視した RefreshTasktrayIcon の呼び出しはこれらの動作を狂わせてしまう。例えば
iconCnt や blinkCnt がそれに当たる。

8 years agoMyList_SelectedIndexChangedメソッドが呼ばれても選択中のアイテムのStatusIdが同一であれば無視する
Kimura Youichi [Wed, 9 Dec 2015 00:44:33 +0000 (09:44 +0900)]
MyList_SelectedIndexChangedメソッドが呼ばれても選択中のアイテムのStatusIdが同一であれば無視する

RefreshTimeline から呼ばれる RestoreListViewSelection のように、SelectedIndex は変わるが
選択されている発言は同一のものである(移動しただけの)場合もあるため、これを正常に無視する

8 years agoRefreshTimelineメソッド内で更新のあったタブ以外はBegin/EndUpdateを呼び出さない
Kimura Youichi [Wed, 9 Dec 2015 00:40:24 +0000 (09:40 +0900)]
RefreshTimelineメソッド内で更新のあったタブ以外はBegin/EndUpdateを呼び出さない

8 years agoFoursquareの新しい形式のチェックインURLのサムネイル表示に対応
Kimura Youichi [Sat, 5 Dec 2015 08:48:52 +0000 (17:48 +0900)]
Foursquareの新しい形式のチェックインURLのサムネイル表示に対応

9c7bfc9c500252cab34bc1d54fa0c264aea0dfcf の修正では単なる URL の変更と扱っていたが、
実際には URL に直接チェックイン ID が含まれなくなり呼び出す API エンドポイントも変化していたため
改めて新しい形式の チェックイン URL から正しく位置情報を取得できるように修正した。

8 years agoTwitter APIへのアクセス時にキャッシュを無効にする
Kimura Youichi [Sat, 5 Dec 2015 07:39:57 +0000 (16:39 +0900)]
Twitter APIへのアクセス時にキャッシュを無効にする

f7958f7d660c86fb0c622041a0a2275decd302e4 の修正以降、UserStreams周りでエラーが発生するとの
報告が複数件あったためその対策として Twitter API に限りキャッシュを無効化した。

8 years agoTwitterAPIから返されるユーザー情報に不正なEntityが含まれる現象に対処
Kimura Youichi [Wed, 2 Dec 2015 10:32:27 +0000 (19:32 +0900)]
TwitterAPIから返されるユーザー情報に不正なEntityが含まれる現象に対処

具体的には entities.url.urls[0].expanded_url に null が含まれている場合がある。
例えば ret156 氏のユーザー情報を取得すると、entities.url.urls[0] は下記のような内容となっている。

  {"url":"http://twitter.com/ono_yoshigom3","expanded_url":null,"indices":[0,32]}

特徴としては、url に t.co が使われていないこと、expanded_url が null であり display_url が無いことが
挙げられる。
修正後は expanded_url が null の場合に Entity を使用せず url をそのまま ShortUrl に渡すように
変更している。

8 years agoコメントの誤りを修正 [skip ci]
Kimura Youichi [Tue, 1 Dec 2015 09:37:03 +0000 (18:37 +0900)]
コメントの誤りを修正 [skip ci]

8 years agoOpenStreetMapのタイル画像を使用した地図サムネイルの描画を実装
Kimura Youichi [Tue, 1 Dec 2015 07:40:42 +0000 (16:40 +0900)]
OpenStreetMapのタイル画像を使用した地図サムネイルの描画を実装

8 years agoWebRequestでのリクエスト時にデフォルトでキャッシュを有効にする
Kimura Youichi [Tue, 1 Dec 2015 07:43:07 +0000 (16:43 +0900)]
WebRequestでのリクエスト時にデフォルトでキャッシュを有効にする

内部で HttpWebRequest を使用する HttpClient も影響を受ける

8 years agoMapThumbクラスから直接ThumbnailInfoを返すGetThumbnailInfoAsyncメソッドを追加
Kimura Youichi [Mon, 30 Nov 2015 07:05:26 +0000 (16:05 +0900)]
MapThumbクラスから直接ThumbnailInfoを返すGetThumbnailInfoAsyncメソッドを追加

8 years agoCtrl+InsertキーがCtrl+Cと同様の動作をするように修正
Kimura Youichi [Mon, 30 Nov 2015 05:07:49 +0000 (14:07 +0900)]
Ctrl+InsertキーがCtrl+Cと同様の動作をするように修正

https://osdn.jp/projects/opentween/forums/28653/36126/

8 years agopbs.twimg.orgのURLの末尾に :orig 等が付いているとFullSizeImageUrlに :orig が二重に付いてしまう不具合を修正
Kimura Youichi [Sun, 29 Nov 2015 17:09:32 +0000 (02:09 +0900)]
pbs.twimg.orgのURLの末尾に :orig 等が付いているとFullSizeImageUrlに :orig が二重に付いてしまう不具合を修正

8 years agoTwitter.ParseSourceメソッドで相対URLのベースとなるUriインスタンスを一度だけ生成するように修正
Kimura Youichi [Sun, 29 Nov 2015 11:47:50 +0000 (20:47 +0900)]
Twitter.ParseSourceメソッドで相対URLのベースとなるUriインスタンスを一度だけ生成するように修正

8 years agoPostClass.ExpandedUrlsの型をDictionaryから配列に変更
Kimura Youichi [Sun, 29 Nov 2015 11:45:02 +0000 (20:45 +0900)]
PostClass.ExpandedUrlsの型をDictionaryから配列に変更

8 years ago「APIコマンドを回避する」の設定を廃止
Kimura Youichi [Sun, 29 Nov 2015 10:15:15 +0000 (19:15 +0900)]
「APIコマンドを回避する」の設定を廃止

「D (ユーザー名)」を除き、APIでの投稿時にSMSコマンドとして解釈されることが無くなったため

8 years agoAppveyorでのテスト後にCodecovへのカバレッジ情報の送信を行う
Kimura Youichi [Thu, 26 Nov 2015 15:11:11 +0000 (00:11 +0900)]
Appveyorでのテスト後にCodecovへのカバレッジ情報の送信を行う

8 years agoTravis CI/Appveyorでのビルド時にNuGetのパッケージをキャッシュする
Kimura Youichi [Fri, 27 Nov 2015 17:37:13 +0000 (02:37 +0900)]
Travis CI/Appveyorでのビルド時にNuGetのパッケージをキャッシュする

8 years ago短縮URL展開のタイムアウト時間を緩和
Kimura Youichi [Fri, 27 Nov 2015 10:08:47 +0000 (19:08 +0900)]
短縮URL展開のタイムアウト時間を緩和

従来までは短縮 URL の展開に時間が掛かるとツイートの受信を滞らせてしまうため
タイムアウトを 5 秒に設定していたが、非同期に展開する修正によりこの必要がなくなったため
\r変更後は 30 秒でタイムアウトとした。

8 years agoimg.azyobuzi.netによるサムネイル表示対象からTwitter(pic.twitter.com)を除外
Kimura Youichi [Fri, 27 Nov 2015 10:02:09 +0000 (19:02 +0900)]
img.azyobuzi.netによるサムネイル表示対象からTwitter(pic.twitter.com)を除外

PostClass.Media に含まれる pbs.twimg.com の画像は SimpleThumbnailService によって、
\rPostClass.GetExpandedUrls で返される pic.twitter.com の展開後のツイート URL は ImgAzyobuziNet によって
\rそれぞれサムネイル表示が行われるため、結果として同じ画像が 2 枚表示されてしまう現象が起きていた。

8 years agoChangeLog 更新
Kimura Youichi [Fri, 27 Nov 2015 17:53:22 +0000 (02:53 +0900)]
ChangeLog 更新

5ffcd257ed8b7d3d の変更を反映

8 years agoPostClass.Mediaに pic.twitter.com などのURLのみを含めるようにする
Kimura Youichi [Fri, 27 Nov 2015 09:57:11 +0000 (18:57 +0900)]
PostClass.Mediaに pic.twitter.com などのURLのみを含めるようにする

ThumbnailGenerator などでは、PostClass.Media に加えて PostClass.GetExpandedUrls
の返値を見てサムネイル表示の対象となる URL を探す

8 years agoツイートに含まれる短縮URLの展開を非同期に行い、ツイートの受信を遅延させないようにする
Kimura Youichi [Fri, 27 Nov 2015 09:52:43 +0000 (18:52 +0900)]
ツイートに含まれる短縮URLの展開を非同期に行い、ツイートの受信を遅延させないようにする

8 years agoFoursquareのチェックインURLのフォーマットの変化に対応
Kimura Youichi [Wed, 25 Nov 2015 04:30:19 +0000 (13:30 +0900)]
FoursquareのチェックインURLのフォーマットの変化に対応

最近のチェックインでは http://www.swarmapp.com/c/.... 形式の URL が使われている

8 years agoRevert "発言一覧の選択変更で関連する発言のフォント・色を変更する際に再描画を抑制する"
Kimura Youichi [Fri, 27 Nov 2015 17:50:23 +0000 (02:50 +0900)]
Revert "発言一覧の選択変更で関連する発言のフォント・色を変更する際に再描画を抑制する"

This reverts commit 36461b679a399e2d10c163f78a92b4411ef9ae0f.

修正後の方がかえって遅くなることがあったため差し戻し

8 years agoINotifyPropertyChangedの実装に必要な基本的な機能を提供するNotifyPropertyChangedBaseクラスを追加
Kimura Youichi [Wed, 18 Nov 2015 10:07:15 +0000 (19:07 +0900)]
INotifyPropertyChangedの実装に必要な基本的な機能を提供するNotifyPropertyChangedBaseクラスを追加

派生クラスのプロパティ内で SetProperty メソッドを使用することで、値に変更があった時のみ
PropertyChanged イベントを発生させることができる。

8 years agoTweenMain.BalloonRequiredメソッド関連の条件式を読みやすくする
Kimura Youichi [Wed, 18 Nov 2015 07:25:32 +0000 (16:25 +0900)]
TweenMain.BalloonRequiredメソッド関連の条件式を読みやすくする

8 years ago発言一覧の選択変更で関連する発言のフォント・色を変更する際に再描画を抑制する
Kimura Youichi [Wed, 18 Nov 2015 06:56:32 +0000 (15:56 +0900)]
発言一覧の選択変更で関連する発言のフォント・色を変更する際に再描画を抑制する

8 years ago文字列リソースRefreshTimelineText1,2をstring.Formatの書式を使うように修正
Kimura Youichi [Wed, 18 Nov 2015 06:50:37 +0000 (15:50 +0900)]
文字列リソースRefreshTimelineText1,2をstring.Formatの書式を使うように修正

8 years agoTweenMainの発言一覧のキャッシュに対する処理をListViewItemCacheクラスにまとめる
Kimura Youichi [Sun, 15 Nov 2015 16:00:02 +0000 (01:00 +0900)]
TweenMainの発言一覧のキャッシュに対する処理をListViewItemCacheクラスにまとめる

Interlocked.Exchenge で新しいキャッシュと交換するようになったためロックは不要

8 years agoTabInformations.SubmitUpdateメソッドのisMentionIncludeをnewMentionOrDmに変更
Kimura Youichi [Sun, 15 Nov 2015 13:52:05 +0000 (22:52 +0900)]
TabInformations.SubmitUpdateメソッドのisMentionIncludeをnewMentionOrDmに変更

リプライに加えて新着の DM でも newMentionOrDm が true になるように変更した

8 years agoListViewの選択状態やスクロール位置を保存・復元する処理を別メソッドに抽出
Kimura Youichi [Sun, 15 Nov 2015 12:19:24 +0000 (21:19 +0900)]
ListViewの選択状態やスクロール位置を保存・復元する処理を別メソッドに抽出

初めは ListViewScroll, ListViewSelection を一つの構造体にするつもりだったが、RestoreListViewScroll メソッドを
ControlTransaction.Update(lst) の中で呼び出すと発言一覧の表示が上下にちらつく問題があったため分割している。

8 years agoa43eff39 の変更によりHTMLタグを含まないテキストで絵文字変換が行われなくなっていた不具合を修正
Kimura Youichi [Fri, 13 Nov 2015 16:35:29 +0000 (01:35 +0900)]
a43eff39 の変更によりHTMLタグを含まないテキストで絵文字変換が行われなくなっていた不具合を修正

8 years agoSendErrorReportFormの基底クラスをOTBaseFormにする
Kimura Youichi [Fri, 13 Nov 2015 15:28:31 +0000 (00:28 +0900)]
SendErrorReportFormの基底クラスをOTBaseFormにする

8 years ago属性に絵文字を含むHTMLタグをEmojiFormatterに通すと不正なHTMLが出力される不具合を修正
Kimura Youichi [Fri, 13 Nov 2015 15:14:16 +0000 (00:14 +0900)]
属性に絵文字を含むHTMLタグをEmojiFormatterに通すと不正なHTMLが出力される不具合を修正

URLに絵文字を含むツイートを発言詳細部に表示すると発生する
例: https://twitter.com/lindwurm/status/664078419357921280

8 years agoTabInformations.SubmitUpdateメソッドからisUserStream引数を削除
Kimura Youichi [Fri, 13 Nov 2015 08:36:06 +0000 (17:36 +0900)]
TabInformations.SubmitUpdateメソッドからisUserStream引数を削除

TweenMain.RefreshTimeline メソッドも isUserStream が不要となるため同様に削除

8 years agoUserStreamsの有効・無効に関わらずdeleteQueueのツイートの削除を反映する
Kimura Youichi [Fri, 13 Nov 2015 08:31:08 +0000 (17:31 +0900)]
UserStreamsの有効・無効に関わらずdeleteQueueのツイートの削除を反映する

UserStreams を無効にする直前に deleted イベントを受信した場合に、ツイート ID が
deleteQueue に追加されたまま残り続ける可能性があったが、この修正により改善される。

なお、修正前であっても deleted イベントを受信した際にツイート本文が「(DELETED)」に
書き換わるため、この修正によって影響があるのは「(DELETED)」になった後に発言一覧から
削除する動作のみである。

8 years agoTabClass.AddSubmitメソッドからisMentionIncluded引数を削除
Kimura Youichi [Fri, 13 Nov 2015 08:05:09 +0000 (17:05 +0900)]
TabClass.AddSubmitメソッドからisMentionIncluded引数を削除

8 years agoUserTimelineおよびListsのタブで「前データを取得」が機能していない不具合を修正
Kimura Youichi [Fri, 13 Nov 2015 08:04:05 +0000 (17:04 +0900)]
UserTimelineおよびListsのタブで「前データを取得」が機能していない不具合を修正

4ba238cd36fe8ffeba50a9cceadb0afbb67f74c0 の修正ミス

8 years agoMoqをNuGet経由でインストールする
Kimura Youichi [Sun, 8 Nov 2015 09:58:56 +0000 (18:58 +0900)]
MoqをNuGet経由でインストールする

8 years agoMediaSelectorTestの一部のテストコードでデッドロックが発生する問題に対処
Kimura Youichi [Sun, 8 Nov 2015 09:54:49 +0000 (18:54 +0900)]
MediaSelectorTestの一部のテストコードでデッドロックが発生する問題に対処

8 years agoOpenTween.Testsで使用するテストフレームワークをxUnit.net 2.1に移行
Kimura Youichi [Sun, 8 Nov 2015 09:53:19 +0000 (18:53 +0900)]
OpenTween.Testsで使用するテストフレームワークをxUnit.net 2.1に移行

8 years ago「新着時に未読をクリアする」を有効にすると動作が非常に重くなる不具合を修正 (thx @nezuku!)
Kimura Youichi [Sun, 8 Nov 2015 07:53:02 +0000 (16:53 +0900)]
「新着時に未読をクリアする」を有効にすると動作が非常に重くなる不具合を修正 (thx @nezuku!)

この設定が有効な場合、UserStreams でツイートを 1 件受信するたびに TabInformations.SetReadHomeTab メソッドが
毎回実行されるが、ここでは実質的に TabInformation._statuses.Values のツイート全てに対して既読化を行っていたため
OpenTween が溜め込むツイートの量が多くなるにつれて SetReadHomeTab の実行時間も増大していた。
試しに Recent タブに 120,000 件溜め込んだ状態で有効にしたところ、SetReadHomeTab の実行に 2.5 秒を要した。

この修正では、SetReadHomeTab で既読化を行うツイートを未読のツイートのみ対象とするようにした。
「新着時に未読をクリアする」機能は UserStreams で新着のツイートを受信するたびに頻繁に実行されており、
SetReadHomeTab で既読化されるツイートは 1 件のみであることがほとんどなため、全件を対象としていた修正前と比べて
処理量はかなり少なく抑えられる。
修正後も同様に 120,000 件溜め込んだ状態で試したところ、SetReadHomeTab の実行時間は 1ms 未満となった。

https://twitter.com/nezuku/status/609559647666720768
https://twitter.com/nezuku/status/612454049405775872

8 years agoProperties.Resources.GetTimelineWorker_RunWorkerCompletedText* の文字列リソースで string.Forma...
Kimura Youichi [Fri, 6 Nov 2015 15:51:41 +0000 (00:51 +0900)]
Properties.Resources.GetTimelineWorker_RunWorkerCompletedText* の文字列リソースで string.Format を積極的に使用する