OSDN Git Service

ミュート中のユーザーの公式RTが非表示にならない問題を修正 (thx @KishSoup!)
authorKimura Youichi <kim.upsilon@bucyou.net>
Sun, 25 May 2014 11:27:34 +0000 (20:27 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sun, 25 May 2014 12:07:30 +0000 (21:07 +0900)
OpenTween/Resources/ChangeLog.txt
OpenTween/StatusDictionary.cs

index 8bf94a2..df29a00 100644 (file)
@@ -9,6 +9,7 @@
  * FIX: 日本語等を含むツイートでBing翻訳機能を使用すると文字化けする問題を修正 (thx @KishSoup!)
  * FIX: DMに添付された画像のサイズが大きい場合に読み込みに失敗しエラーが発生する問題を修正
  * FIX: プロフィール表示時にアイコン画像の読み込みでエラーが発生する問題を修正 (thx @kamiari!)
+ * FIX: ミュート中のユーザーの公式RTが非表示にならない問題を修正 (thx @KishSoup!)
 
 ==== Ver 1.2.0(2014/05/18)
  * このバージョン以降のOpenTweenは .NET Framework 4.5.1 が必要となります
index dfdc332..5560bd8 100644 (file)
@@ -1215,7 +1215,7 @@ namespace OpenTween
                             if (BlockIds.Contains(Item.UserId))
                                 return;
 
-                            if (MuteUserIds.Contains(Item.UserId) && !Item.IsReply)
+                            if (this.IsMuted(Item))
                                 return;
 
                             _statuses.Add(Item.StatusId, Item);
@@ -1252,6 +1252,22 @@ namespace OpenTween
             }
         }
 
+        private bool IsMuted(PostClass post)
+        {
+            // Recent以外のツイートと、リプライはミュート対象外
+            // 参照: https://support.twitter.com/articles/20171399-muting-users-on-twitter
+            if (string.IsNullOrEmpty(post.RelTabName) || post.IsReply)
+                return false;
+
+            if (this.MuteUserIds.Contains(post.UserId))
+                return true;
+
+            if (post.RetweetedByUserId != null && this.MuteUserIds.Contains(post.RetweetedByUserId.Value))
+                return true;
+
+            return false;
+        }
+
         private void AddRetweet(PostClass item)
         {
             var retweetedId = item.RetweetedId.Value;