OSDN Git Service
Kimura Youichi [Wed, 30 Nov 2022 19:33:09 +0000 (04:33 +0900)]
ビルド時にResXcueTaskに関する設定が適用されない問題を修正
Fixes:
f9a20054 ("OpenTween.csprojを新しい形式に")
upsilon [Wed, 30 Nov 2022 18:32:54 +0000 (03:32 +0900)]
Merge pull request #170 from opentween/fix-imagecache
ImageCacheに対する操作元をUIスレッドのみにする
Kimura Youichi [Wed, 30 Nov 2022 18:16:48 +0000 (03:16 +0900)]
DrawListViewItemIconからStateIconの描画処理をメソッドに抽出
Kimura Youichi [Wed, 30 Nov 2022 18:16:13 +0000 (03:16 +0900)]
DrawListViewItemIconメソッドからプロフィール画像の描画処理をメソッドに抽出
Kimura Youichi [Wed, 30 Nov 2022 17:22:18 +0000 (02:22 +0900)]
ImageCacheに対する操作元をUIスレッドのみにする
WM_PAINT 内で Mutex を使用することによる問題を回避するため、ImageCache を
UI スレッド以外から操作しないことで Mutex が不要な設計に変更する。
upsilon [Wed, 30 Nov 2022 15:52:09 +0000 (00:52 +0900)]
Merge pull request #161 from kzrnm/feature/new-csproj
OpenTween.csproj を新しい形式にする
Kimura Youichi [Wed, 30 Nov 2022 15:38:18 +0000 (00:38 +0900)]
AssemblyInfo.cs の自動生成を無効化
生成されるソースコードに含まれるコメントがロケール設定に依存して変化してしまい
Reproducible build の妨げとなる問題があるため、回避策が見つかるまで無効化する。
Kimura Youichi [Sat, 1 Oct 2022 01:34:46 +0000 (10:34 +0900)]
GenerateSatelliteAssembliesForCore を有効にする
従来はサテライトアセンブリを生成する際に deterministic オプションを有効にする
ために build-satelite-assembly.ps1 で独自に csc.exe を呼び出していたが、
csproj の設定で GenerateSatelliteAssembliesForCore を有効にすることで同等の
効果を得ることができたためこれに置き換えた
https://learn.microsoft.com/en-us/dotnet/core/extensions/create-satellite-assemblies#compile-satellite-assemblies
kzrnm [Fri, 2 Sep 2022 14:45:29 +0000 (23:45 +0900)]
Add UseWindowsForms
kzrnm [Fri, 12 Aug 2022 13:05:05 +0000 (22:05 +0900)]
Microsoft.NET.Sdk ではデフォルトで Deterministic=true
kzrnm [Wed, 10 Aug 2022 15:00:35 +0000 (00:00 +0900)]
ビルドスクリプトを新しい形式のcsprojに対応
kzrnm [Wed, 10 Aug 2022 06:28:27 +0000 (15:28 +0900)]
OpenTween.csprojを新しい形式に
upsilon [Tue, 29 Nov 2022 17:21:28 +0000 (02:21 +0900)]
Merge pull request #169 from opentween/fix-reproducible-build
Reproducible build の不具合を修正
Kimura Youichi [Mon, 28 Nov 2022 15:47:14 +0000 (00:47 +0900)]
GitHub ActionsのWorkflowを追加
Kimura Youichi [Sat, 26 Nov 2022 19:05:27 +0000 (04:05 +0900)]
AppVeyorで出力するArtifactにPDBファイルを追加
Kimura Youichi [Sat, 26 Nov 2022 18:40:53 +0000 (03:40 +0900)]
ビルド時に使用したランタイムのバージョン情報を出力
Kimura Youichi [Sat, 26 Nov 2022 18:36:42 +0000 (03:36 +0900)]
重複するリソースを削除
Kimura Youichi [Sat, 26 Nov 2022 14:23:47 +0000 (23:23 +0900)]
デバッグ情報にPortable PDBを使用する
upsilon [Fri, 4 Nov 2022 19:27:10 +0000 (04:27 +0900)]
Merge pull request #168 from opentween/fix-reproducible-build-on-pr
Pull Request のビルドで ZIP アーカイブのハッシュが一致しない問題の修正
Kimura Youichi [Fri, 4 Nov 2022 19:08:58 +0000 (04:08 +0900)]
OpenTween.XmlSerializer.dll の使用を廃止
Kimura Youichi [Sat, 1 Oct 2022 08:58:34 +0000 (17:58 +0900)]
AppVeyor での Pull Request のビルド時に SOURCE_DATE_EPOCH が正しい時刻にならない問題を修正
Kimura Youichi [Sat, 1 Oct 2022 08:20:09 +0000 (17:20 +0900)]
build-zip-archive.ps1 実行時に msbuild, csc のバージョンを出力する
Reproducible Build で問題が発生した時の調査用
Kimura Youichi [Fri, 2 Sep 2022 16:26:06 +0000 (01:26 +0900)]
バージョン v2.7.2-dev 開発開始
Kimura Youichi [Fri, 2 Sep 2022 16:22:05 +0000 (01:22 +0900)]
OpenTween v2.7.1 リリース
upsilon [Tue, 30 Aug 2022 14:25:03 +0000 (23:25 +0900)]
Merge pull request #162 from kzrnm/feature/csproj_editorconfig
.editorconfig に csproj を追加
upsilon [Sun, 28 Aug 2022 06:32:02 +0000 (15:32 +0900)]
Merge pull request #164 from opentween/fix-deadlock-on-drawing
発言一覧の描画時にデッドロックが発生する不具合を修正 (thx @Kazuki_Ashiya!)
Kimura Youichi [Sun, 28 Aug 2022 05:56:23 +0000 (14:56 +0900)]
サムネイル画像の読み込みを明示的にワーカースレッド上で行う
TweetThumbnail.ShowThumbnailAsync メソッドは従来から Task を使用した非同期
メソッドとなっているが、Task.Run を明示的に使用していないことから
HttpClient.GetAsync はメインスレッド上で実行される状態となっていた。
HttpClient.GetAsync は内部で WaitHandle によるロックを使用しており、
STA thread 上で使用する場合に問題があることや、発言一覧の選択位置が変化した
場合などで DrawItem イベントとサムネイル画像の表示処理は並列に実行される
ことが多く、ImageCache クラスの修正前はデッドロックを生じさせる原因の一つと
なっていた。
そのため、修正後は HttpClient.GetAsync を含む処理を明示的に Task.Run で
ワーカースレッド上で実行されるようにした。
Kimura Youichi [Sun, 28 Aug 2022 04:59:37 +0000 (13:59 +0900)]
発言一覧の描画時にデッドロックが発生する不具合を修正 (thx @Kazuki_Ashiya!)
STA thread 内での Mutex, WaitHandle によるロックはスレッドを完全に待機させる
のではなく WM_PAINT などの一部のメッセージを処理しながら待機する動作になる。
これにより ImageCache.lockObject と HttpClient が内部で使用するロックとの間で
デッドロックを生じさせていた。
参照: https://twitter.com/kim_upsilon/status/
1561736832236150784
DrawItem イベントの処理中にはロックを使用しないのが最も望ましいが、暫定的な対処として
ImageCache.lockObject のロック中に HttpClient.GetAsync を呼ばないように修正した。
Fixes:
92f0a891 ("ImageListViewItemを削除し通常のListViewItemのみを使用する")
kzrnm [Wed, 10 Aug 2022 15:58:35 +0000 (00:58 +0900)]
.editorconfig に csproj を追加
upsilon [Thu, 4 Aug 2022 20:04:31 +0000 (05:04 +0900)]
Merge pull request #160 from opentween/fix-error-on-translation
発言本文の翻訳時に発生したエラーが適切に処理されない不具合を修正
Kimura Youichi [Sat, 30 Jul 2022 14:05:59 +0000 (23:05 +0900)]
発言本文の翻訳時に発生したエラーが適切に処理されない不具合を修正
Kimura Youichi [Sat, 30 Jul 2022 07:05:53 +0000 (16:05 +0900)]
バージョン v2.7.1-dev 開発開始
Kimura Youichi [Sat, 30 Jul 2022 06:57:51 +0000 (15:57 +0900)]
OpenTween v2.7.0 リリース
upsilon [Sat, 30 Jul 2022 06:52:34 +0000 (15:52 +0900)]
Merge pull request #159 from opentween/fix-error-on-rename-tab
タブ名の変更が TweenMain.listViewState に反映されない不具合を修正
Kimura Youichi [Sat, 30 Jul 2022 06:45:11 +0000 (15:45 +0900)]
タブ名の変更が TweenMain.listViewState に反映されない不具合を修正
https://osdn.net/projects/opentween/ticket/45216
Fixes:
20d6826b ("ListViewのスクロール位置・選択状態を保持するTimelineListViewStateを追加")
upsilon [Fri, 29 Jul 2022 23:43:20 +0000 (08:43 +0900)]
Merge pull request #157 from opentween/option-for-api-v2
「Twitter API v2 の使用を有効にする」のオプションを追加
Kimura Youichi [Fri, 29 Jul 2022 22:52:02 +0000 (07:52 +0900)]
「Twitter API v2 の使用を有効にする」のオプションを追加
API キーを自分で書き換えていて API v2 の有効化が完了できていないユーザー向け機能
upsilon [Fri, 29 Jul 2022 22:18:14 +0000 (07:18 +0900)]
Merge pull request #156 from opentween/exclude-ci-build-for-release
releaseブランチをAppVeyorのビルド対象から除外する
Kimura Youichi [Fri, 29 Jul 2022 22:11:45 +0000 (07:11 +0900)]
releaseブランチをAppVeyorのビルド対象から除外する
タグに対するビルドが有効なため release ブランチでのビルドは不要になっている
upsilon [Fri, 29 Jul 2022 22:01:28 +0000 (07:01 +0900)]
Merge pull request #155 from opentween/improve-tweet-details
発言詳細部の名前・日付ラベルの改善
Kimura Youichi [Fri, 29 Jul 2022 21:18:59 +0000 (06:18 +0900)]
発言詳細部の名前ラベルを投稿者とRTしたユーザーで分けずに表示するように変更
Author と RetweetedBy で分割した場合にラベルの AutoEllipsis が正しく機能しない問題があったため撤回
Kimura Youichi [Fri, 29 Jul 2022 20:14:18 +0000 (05:14 +0900)]
発言詳細部の投稿日時ラベルをクリック可能にする
upsilon [Fri, 29 Jul 2022 18:47:06 +0000 (03:47 +0900)]
Merge pull request #154 from opentween/fix-error-on-v2-api
ホームタイムラインの読込時に data フィールドが null になっていた場合は無視する
Kimura Youichi [Fri, 29 Jul 2022 18:39:49 +0000 (03:39 +0900)]
ホームタイムラインの読込時に data フィールドが null になっていた場合は無視する
https://osdn.net/projects/opentween/ticket/45234
Fixes:
e03de8b0 ("Recentタブのツイート取得にTwitter API v2を使用する")
upsilon [Fri, 29 Jul 2022 16:52:14 +0000 (01:52 +0900)]
Merge pull request #153 from opentween/fix-invoke-async
読み込み中の待機ダイアログを表示する際にエラーが発生する不具合を修正
Kimura Youichi [Fri, 29 Jul 2022 16:47:51 +0000 (01:47 +0900)]
Kimura Youichi [Fri, 29 Jul 2022 16:43:04 +0000 (01:43 +0900)]
ListViewに対してInvokeAsyncする場合はOTBaseFormを経由させる
37a94f89 で InvokeAsync メソッドを Extensions から OTBaseForm に戻したことによる修正
Kimura Youichi [Fri, 29 Jul 2022 16:36:32 +0000 (01:36 +0900)]
Revert "InvokeAsyncメソッドをOTBaseFormからExtensionsに移動"
https://osdn.net/projects/opentween/ticket/45270 に対する修正
This reverts commit
d9a31c03eed831b41300200e766d5fb531badf3a.
upsilon [Thu, 28 Jul 2022 18:17:47 +0000 (03:17 +0900)]
Merge pull request #152 from opentween/fix-error-on-reorder-tab
タブの移動後に発言一覧が空の表示になる不具合を修正
Kimura Youichi [Thu, 28 Jul 2022 18:01:19 +0000 (03:01 +0900)]
タブの移動後に発言一覧が空の表示になる不具合を修正
Fixes:
d5d2f848 ("発言一覧のVirtualModeに関する実装をTimelineListViewCacheクラスに分離")
Kimura Youichi [Sun, 24 Jul 2022 13:56:22 +0000 (22:56 +0900)]
appveyor.ymlでReleaseビルドが考慮していない箇所を修正
Kimura Youichi [Sun, 24 Jul 2022 13:48:01 +0000 (22:48 +0900)]
リリースタグをAppveyorのビルド対象に含める
Kimura Youichi [Sun, 24 Jul 2022 13:14:00 +0000 (22:14 +0900)]
バージョン v2.6.1-dev 開発開始
Kimura Youichi [Sun, 24 Jul 2022 13:03:47 +0000 (22:03 +0900)]
OpenTween v2.6.0 リリース
upsilon [Sun, 24 Jul 2022 11:26:58 +0000 (20:26 +0900)]
Merge pull request #150 from opentween/fix-overflow-error
「ツイートURLを開く」でOverflowExceptionが発生する不具合を修正
Kimura Youichi [Sun, 24 Jul 2022 11:17:03 +0000 (20:17 +0900)]
「ツイートURLを開く」でOverflowExceptionが発生する不具合を修正
https://osdn.net/projects/opentween/ticket/45204
Fixes:
7f2fa759 ("ファイルメニューに「ツイートURLを開く」を追加")
upsilon [Sun, 24 Jul 2022 11:06:00 +0000 (20:06 +0900)]
Merge pull request #149 from opentween/fix-listview-image-error
発言一覧のアイコン画像取得時に発生したエラーが適切に処理されない不具合を修正 (thx @mulsys!)
Kimura Youichi [Sun, 24 Jul 2022 10:57:59 +0000 (19:57 +0900)]
発言一覧のアイコン画像取得時に発生したエラーが適切に処理されない不具合を修正 (thx @mulsys!)
https://osdn.net/projects/opentween/ticket/45203
Fixes:
92f0a891 ("ImageListViewItemを削除し通常のListViewItemのみを使用する")
upsilon [Sun, 24 Jul 2022 08:09:02 +0000 (17:09 +0900)]
Merge pull request #148 from opentween/update-twemoji-pattern
Twemojiの正規表現パターンを更新
Kimura Youichi [Sun, 24 Jul 2022 08:04:03 +0000 (17:04 +0900)]
Twemojiの正規表現パターンを更新
https://github.com/twitter/twemoji-parser/blob/v14.0.0/src/lib/regex.js#L5
upsilon [Sun, 24 Jul 2022 07:36:19 +0000 (16:36 +0900)]
Merge pull request #147 from opentween/add-show-profile-menuitem
「プロフィール表示」「ユーザーのタイムラインを表示」のメニュー項目を再度追加
Kimura Youichi [Sun, 24 Jul 2022 07:17:30 +0000 (16:17 +0900)]
「プロフィール表示」「ユーザーのタイムラインを表示」のメニュー項目を再度追加
upsilon [Sun, 10 Jul 2022 05:20:53 +0000 (14:20 +0900)]
Merge pull request #146 from opentween/fix-max-results-for-home-timeline
RecentタブのAPI v2移行による取得件数上限の変更を反映
Kimura Youichi [Sun, 10 Jul 2022 05:05:29 +0000 (14:05 +0900)]
RecentタブのAPI v2移行による取得件数上限の変更を反映
Fixes:
e03de8b0 ("Recentタブのツイート取得にTwitter API v2を使用する")
upsilon [Sat, 9 Jul 2022 16:18:19 +0000 (01:18 +0900)]
Merge pull request #145 from opentween/drop-limit-for-refresh-interval
更新間隔の最小値を15秒以上とする制限を廃止
Kimura Youichi [Sat, 9 Jul 2022 14:05:41 +0000 (23:05 +0900)]
更新間隔の最小値を15秒以上とする制限を廃止
ホームタイムラインのレートリミットが 180回/15分 となったことで 5 秒間隔の更新が可能になったため緩和した。
レートリミットの超過を検知した場合はその後のリクエストの送信が抑制される挙動となっている。
upsilon [Thu, 7 Jul 2022 20:39:13 +0000 (05:39 +0900)]
Merge pull request #139 from opentween/home-timeline-v2-api
Recentタブのツイート取得にTwitter API v2を使用する
Kimura Youichi [Sat, 28 May 2022 23:13:53 +0000 (08:13 +0900)]
投稿時取得の設定に関わらず投稿した発言を直ちにRecentタブに追加する
API v2 ではホームタイムラインが若干遅延しており、投稿直後に取得してもその発言が含まれていない場合があるため
Kimura Youichi [Sat, 28 May 2022 22:04:58 +0000 (07:04 +0900)]
PostClassインスタンスの生成処理をTwitterPostFactoryクラスに分離
Kimura Youichi [Sat, 28 May 2022 16:10:58 +0000 (01:10 +0900)]
Recentタブのツイート取得にTwitter API v2を使用する
upsilon [Thu, 7 Jul 2022 17:38:25 +0000 (02:38 +0900)]
Merge pull request #144 from opentween/fix-refresh-theme
フォント変更後にタブを切り替えるとエラーが発生する不具合を修正
Kimura Youichi [Thu, 7 Jul 2022 17:21:36 +0000 (02:21 +0900)]
フォント変更後にタブを切り替えるとエラーが発生する不具合を修正
Fixes:
6555e55f ("Font, Color, Brushインスタンスの管理をThemeManagerクラスに分離")
upsilon [Sun, 12 Jun 2022 01:30:12 +0000 (10:30 +0900)]
Merge pull request #142 from opentween/fix-listview-render-delay
発言一覧の選択状態の変化が僅かに遅れて描画される不具合を修正
Kimura Youichi [Sun, 12 Jun 2022 01:25:21 +0000 (10:25 +0900)]
発言一覧の選択状態の変化が僅かに遅れて描画される不具合を修正
Fixes:
543c9606 ("発言一覧のスタイル情報もキャッシュ対象とし、スタイルに変化が生じた行のみ再描画を行う")
upsilon [Sat, 11 Jun 2022 01:48:15 +0000 (10:48 +0900)]
Merge pull request #141 from opentween/update-changelog
ChangeLog更新
Kimura Youichi [Sat, 11 Jun 2022 01:43:54 +0000 (10:43 +0900)]
upsilon [Fri, 10 Jun 2022 17:04:04 +0000 (02:04 +0900)]
Merge pull request #140 from opentween/fix-open-in-browser
Webブラウザ起動時のエラーメッセージの表示がUIスレッド上で行われていない不具合を修正
Kimura Youichi [Fri, 10 Jun 2022 16:41:59 +0000 (01:41 +0900)]
Webブラウザ起動時のエラーメッセージの表示がUIスレッド上で行われていない不具合を修正
Fixes:
96419a26 ("OpenUriInBrowserAsyncメソッドをMyCommonに移動")
upsilon [Sun, 22 May 2022 14:11:15 +0000 (23:11 +0900)]
Merge pull request #138 from opentween/altcover
コードカバレッジの取得にAltCoverを使用する
Kimura Youichi [Sun, 22 May 2022 10:49:25 +0000 (19:49 +0900)]
コードカバレッジの取得にAltCoverを使用する
upsilon [Sat, 21 May 2022 18:53:44 +0000 (03:53 +0900)]
Merge pull request #136 from opentween/timeline-listview
TweenMainからListViewItemの生成・描画に関する実装を分離
Kimura Youichi [Sat, 21 May 2022 17:00:27 +0000 (02:00 +0900)]
ListViewのスクロール位置・選択状態を保持するTimelineListViewStateを追加
Kimura Youichi [Sat, 21 May 2022 18:08:55 +0000 (03:08 +0900)]
TimelineListViewCacheのキャッシュ状態に関するテストを追加
Kimura Youichi [Sat, 21 May 2022 17:33:25 +0000 (02:33 +0900)]
TimelineListViewCacheのテストにGetItem/GetStyleメソッドを使用する
Kimura Youichi [Mon, 25 Apr 2022 19:05:23 +0000 (04:05 +0900)]
TimelineListViewCache.GetItemメソッドを追加
Kimura Youichi [Mon, 25 Apr 2022 18:26:45 +0000 (03:26 +0900)]
ListViewItem描画時にTagを使用せずTabModelからPostClassを取得する
Kimura Youichi [Mon, 25 Apr 2022 17:07:39 +0000 (02:07 +0900)]
発言一覧の描画時にスタイルの情報をTimelineListViewCacheから直接取得する
Kimura Youichi [Mon, 25 Apr 2022 16:42:22 +0000 (01:42 +0900)]
発言一覧のスタイル情報もキャッシュ対象とし、スタイルに変化が生じた行のみ再描画を行う
Kimura Youichi [Mon, 25 Apr 2022 15:00:57 +0000 (00:00 +0900)]
DetailsListView.RefreshItemsメソッドを追加
Kimura Youichi [Mon, 25 Apr 2022 14:36:17 +0000 (23:36 +0900)]
DetailsListViewで再描画する行の範囲を限定する
Kimura Youichi [Sun, 24 Apr 2022 18:42:35 +0000 (03:42 +0900)]
発言一覧の背景色・前景色・フォントを表す列挙体を定義
Kimura Youichi [Sun, 24 Apr 2022 17:09:42 +0000 (02:09 +0900)]
ListViewItemCacheのキャッシュからPostClassを削除
Kimura Youichi [Sun, 24 Apr 2022 10:59:09 +0000 (19:59 +0900)]
発言一覧のVirtualModeに関する実装をTimelineListViewCacheクラスに分離
Kimura Youichi [Sat, 23 Apr 2022 20:22:24 +0000 (05:22 +0900)]
非アクティブなタブのListViewを空にする
Kimura Youichi [Sat, 23 Apr 2022 17:16:18 +0000 (02:16 +0900)]
発言一覧のOwnerDrawに関する処理をTimelineListViewDrawerクラスに分離
Kimura Youichi [Sat, 23 Apr 2022 15:21:59 +0000 (00:21 +0900)]
InvokeAsyncメソッドをOTBaseFormからExtensionsに移動
Kimura Youichi [Sat, 23 Apr 2022 14:53:28 +0000 (23:53 +0900)]
発言一覧の2Column表示時に使用するフォントをThemeManagerで管理する
Kimura Youichi [Sat, 23 Apr 2022 14:44:27 +0000 (23:44 +0900)]
TweenMainのbrsHighLightおよびbrsDeactiveSelectionをThemeManagerに移動
Kimura Youichi [Sat, 23 Apr 2022 14:40:52 +0000 (23:40 +0900)]
ImageListViewItemを削除し通常のListViewItemのみを使用する
Kimura Youichi [Sat, 23 Apr 2022 07:52:20 +0000 (16:52 +0900)]
TweenMain.anchorPostをTabModelインスタンスで管理する