From 1eceb0888a7574b9f0028eeaa0a0f3062a818f17 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Sat, 2 Jan 2016 16:11:46 +0100 Subject: [PATCH 1/4] Change 'is_activity' to the inverse, 'is_post_verb' --- QvitterPlugin.php | 7 +------ js/dom-functions.js | 4 ++-- js/misc-functions.js | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/QvitterPlugin.php b/QvitterPlugin.php index 0d22617..a008734 100644 --- a/QvitterPlugin.php +++ b/QvitterPlugin.php @@ -606,12 +606,7 @@ class QvitterPlugin extends Plugin { } } - if($notice->source == 'activity' || $notice->object_type == 'activity' || $notice->object_type == 'http://activitystrea.ms/schema/1.0/activity' || $notice->verb == 'delete') { - $twitter_status['is_activity'] = true; - } - else { - $twitter_status['is_activity'] = false; - } + $twitter_status['is_post_verb'] = ActivityUtils::compareVerbs(ActivityVerb::POST, array($notice->verb)); if(ActivityUtils::compareTypes($notice->verb, array('qvitter-delete-notice', 'delete'))) { $twitter_status['qvitter_delete_notice'] = true; diff --git a/js/dom-functions.js b/js/dom-functions.js index 56c6ebd..7eb911d 100644 --- a/js/dom-functions.js +++ b/js/dom-functions.js @@ -1550,7 +1550,7 @@ function addToFeed(feed, after, extraClasses) { if(window.currentStreamObject.name == 'notifications') { // don't show any notices with object_type "activity" - if(typeof obj.notice != 'undefined' && obj.notice !== null && obj.notice.is_activity === true) { + if(typeof obj.notice != 'undefined' && obj.notice !== null && obj.notice.is_post_verb === false) { return true; } @@ -1861,7 +1861,7 @@ function buildQueetHtml(obj, idInStream, extraClasses, requeeted_by, isConversat } // activity? (hidden with css) - if(obj.source == 'activity' || obj.is_activity === true) { + if(obj.source == 'activity' || obj.is_post_verb === false) { extraClasses += ' activity always-hidden'; // because we had an xss issue with activities, the obj.statusnet_html of qvitter-deleted-activity-notices can contain unwanted html, so we escape, they are hidden anyway diff --git a/js/misc-functions.js b/js/misc-functions.js index 7e81617..9f4c932 100644 --- a/js/misc-functions.js +++ b/js/misc-functions.js @@ -832,7 +832,7 @@ function searchForUpdatedNoticeData(obj) { // sometimes activity notices don't get the is_activity flag set to true // maybe because they were in the process of being saved when // we first got them - if(obj.is_activity) { + if(obj.is_post_verb === false) { streamItemFoundInFeed.addClass('activity always-hidden'); } From 1a8cb88014db0075b5cc42a8d1f1ebc34d4e684e Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Sat, 2 Jan 2016 16:16:57 +0100 Subject: [PATCH 2/4] Err, do it in a more consistent order compared with other code --- QvitterPlugin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QvitterPlugin.php b/QvitterPlugin.php index a008734..d771c3d 100644 --- a/QvitterPlugin.php +++ b/QvitterPlugin.php @@ -606,7 +606,7 @@ class QvitterPlugin extends Plugin { } } - $twitter_status['is_post_verb'] = ActivityUtils::compareVerbs(ActivityVerb::POST, array($notice->verb)); + $twitter_status['is_post_verb'] = ActivityUtils::compareVerbs($notice->verb, array(ActivityVerb::POST)); if(ActivityUtils::compareTypes($notice->verb, array('qvitter-delete-notice', 'delete'))) { $twitter_status['qvitter_delete_notice'] = true; From 416147dd8177e30f069d8e276735e61f16cb624a Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Tue, 5 Jan 2016 12:47:26 +0100 Subject: [PATCH 3/4] Use the information about is_post_verb instead of comparing object_type --- QvitterPlugin.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/QvitterPlugin.php b/QvitterPlugin.php index d771c3d..64daa52 100644 --- a/QvitterPlugin.php +++ b/QvitterPlugin.php @@ -591,13 +591,15 @@ class QvitterPlugin extends Plugin { } $twitter_status['repeat_num'] = $repeatnum; + $twitter_status['is_post_verb'] = ActivityUtils::compareVerbs($notice->verb, array(ActivityVerb::POST)); + // some more metadata about notice if($notice->is_local == '1') { $twitter_status['is_local'] = true; } else { $twitter_status['is_local'] = false; - if($notice->object_type != 'activity') { + if ($twitter_status['is_post_verb'] === true) { try { $twitter_status['external_url'] = $notice->getUrl(true); } catch (InvalidUrlException $e) { @@ -606,7 +608,6 @@ class QvitterPlugin extends Plugin { } } - $twitter_status['is_post_verb'] = ActivityUtils::compareVerbs($notice->verb, array(ActivityVerb::POST)); if(ActivityUtils::compareTypes($notice->verb, array('qvitter-delete-notice', 'delete'))) { $twitter_status['qvitter_delete_notice'] = true; From bd0e6ee3572834281ae8671c0452417444f13e28 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Tue, 5 Jan 2016 12:48:46 +0100 Subject: [PATCH 4/4] Compare against non-post-verb instead of activity object type --- QvitterPlugin.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/QvitterPlugin.php b/QvitterPlugin.php index 64daa52..e91162d 100644 --- a/QvitterPlugin.php +++ b/QvitterPlugin.php @@ -772,8 +772,8 @@ class QvitterPlugin extends Plugin { } } - // don't add notifications for activity type notices - if($notice->source == 'activity' || $notice->object_type == 'activity' || $notice->object_type == 'http://activitystrea.ms/schema/1.0/activity') { + // don't add notifications for activity/non-post-verb notices + if($notice->source == 'activity' || !ActivityUtils::compareVerbs($notice->verb, array(ActivityVerb::POST))) { return true; }