From 09deb69bc78fb5cfd3d9ff2455a5632ed71dd14b Mon Sep 17 00:00:00 2001
From: taehoon
Date: Fri, 13 Sep 2019 15:34:17 -0400
Subject: [PATCH 1/5] do not collapse muted user's posts on muted user's
profile page
---
src/components/conversation/conversation.js | 3 ++-
src/components/conversation/conversation.vue | 1 +
src/components/status/status.js | 5 +++--
src/components/timeline/timeline.js | 3 ++-
src/components/timeline/timeline.vue | 2 ++
src/components/user_profile/user_profile.vue | 1 +
6 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index 10dd8eb0..44dc49bc 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -42,7 +42,8 @@ const conversation = {
'statusId',
'collapsable',
'isPage',
- 'pinnedStatusIdsObject'
+ 'pinnedStatusIdsObject',
+ 'forceUnmute'
],
created () {
if (this.isPage) {
diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue
index f184c071..ba138189 100644
--- a/src/components/conversation/conversation.vue
+++ b/src/components/conversation/conversation.vue
@@ -26,6 +26,7 @@
:in-conversation="isExpanded"
:highlight="getHighlight()"
:replies="getReplies(status.id)"
+ :force-unmute="forceUnmute"
class="status-fadein panel-body"
@goto="setHighlight"
@toggleExpanded="toggleExpanded"
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 502d9583..474a0480 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -29,7 +29,8 @@ const Status = {
'isPreview',
'noHeading',
'inlineExpanded',
- 'showPinned'
+ 'showPinned',
+ 'forceUnmute'
],
data () {
return {
@@ -117,7 +118,7 @@ const Status = {
return hits
},
- muted () { return !this.unmuted && (this.status.user.muted || this.muteWordHits.length > 0) },
+ muted () { return !this.forceUnmute && !this.unmuted && (this.status.user.muted || this.muteWordHits.length > 0) },
hideFilteredStatuses () {
return typeof this.$store.state.config.hideFilteredStatuses === 'undefined'
? this.$store.state.instance.hideFilteredStatuses
diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js
index 8df48f7f..3d5f9de8 100644
--- a/src/components/timeline/timeline.js
+++ b/src/components/timeline/timeline.js
@@ -25,7 +25,8 @@ const Timeline = {
'tag',
'embedded',
'count',
- 'pinnedStatusIds'
+ 'pinnedStatusIds',
+ 'forceUnmute'
],
data () {
return {
diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue
index ba66e6da..b89f505a 100644
--- a/src/components/timeline/timeline.vue
+++ b/src/components/timeline/timeline.vue
@@ -36,6 +36,7 @@
:status-id="statusId"
:collapsable="true"
:pinned-status-ids-object="pinnedStatusIdsObject"
+ :force-unmute="forceUnmute"
/>
@@ -45,6 +46,7 @@
class="status-fadein"
:status-id="status.id"
:collapsable="true"
+ :force-unmute="forceUnmute"
/>
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue
index 42516916..c380d2dc 100644
--- a/src/components/user_profile/user_profile.vue
+++ b/src/components/user_profile/user_profile.vue
@@ -26,6 +26,7 @@
timeline-name="user"
:user-id="userId"
:pinned-status-ids="user.pinnedStatusIds"
+ :force-unmute="true"
/>
Date: Fri, 13 Sep 2019 16:17:51 -0400
Subject: [PATCH 2/5] do not collapse muted user's posts on muted user's media
timeline
---
src/components/user_profile/user_profile.vue | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue
index c380d2dc..f463eea5 100644
--- a/src/components/user_profile/user_profile.vue
+++ b/src/components/user_profile/user_profile.vue
@@ -70,6 +70,7 @@
timeline-name="media"
:timeline="media"
:user-id="userId"
+ :force-unmute="true"
/>
Date: Fri, 13 Sep 2019 16:55:17 -0400
Subject: [PATCH 3/5] do not change word based muting logic
---
src/components/conversation/conversation.js | 2 +-
src/components/conversation/conversation.vue | 2 +-
src/components/status/status.js | 4 ++--
src/components/timeline/timeline.js | 2 +-
src/components/timeline/timeline.vue | 4 ++--
src/components/user_profile/user_profile.vue | 5 +++--
6 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index 44dc49bc..72ee9c39 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -43,7 +43,7 @@ const conversation = {
'collapsable',
'isPage',
'pinnedStatusIdsObject',
- 'forceUnmute'
+ 'inProfile'
],
created () {
if (this.isPage) {
diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue
index ba138189..0f1de55f 100644
--- a/src/components/conversation/conversation.vue
+++ b/src/components/conversation/conversation.vue
@@ -26,7 +26,7 @@
:in-conversation="isExpanded"
:highlight="getHighlight()"
:replies="getReplies(status.id)"
- :force-unmute="forceUnmute"
+ :in-profile="inProfile"
class="status-fadein panel-body"
@goto="setHighlight"
@toggleExpanded="toggleExpanded"
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 474a0480..e8966f47 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -30,7 +30,7 @@ const Status = {
'noHeading',
'inlineExpanded',
'showPinned',
- 'forceUnmute'
+ 'inProfile'
],
data () {
return {
@@ -118,7 +118,7 @@ const Status = {
return hits
},
- muted () { return !this.forceUnmute && !this.unmuted && (this.status.user.muted || this.muteWordHits.length > 0) },
+ muted () { return !this.unmuted && ((!this.inProfile && this.status.user.muted) || this.muteWordHits.length > 0) },
hideFilteredStatuses () {
return typeof this.$store.state.config.hideFilteredStatuses === 'undefined'
? this.$store.state.instance.hideFilteredStatuses
diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js
index 3d5f9de8..0594576c 100644
--- a/src/components/timeline/timeline.js
+++ b/src/components/timeline/timeline.js
@@ -26,7 +26,7 @@ const Timeline = {
'embedded',
'count',
'pinnedStatusIds',
- 'forceUnmute'
+ 'inProfile'
],
data () {
return {
diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue
index b89f505a..f1d3903a 100644
--- a/src/components/timeline/timeline.vue
+++ b/src/components/timeline/timeline.vue
@@ -36,7 +36,7 @@
:status-id="statusId"
:collapsable="true"
:pinned-status-ids-object="pinnedStatusIdsObject"
- :force-unmute="forceUnmute"
+ :in-profile="inProfile"
/>
@@ -46,7 +46,7 @@
class="status-fadein"
:status-id="status.id"
:collapsable="true"
- :force-unmute="forceUnmute"
+ :in-profile="inProfile"
/>
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue
index f463eea5..14082e83 100644
--- a/src/components/user_profile/user_profile.vue
+++ b/src/components/user_profile/user_profile.vue
@@ -26,7 +26,7 @@
timeline-name="user"
:user-id="userId"
:pinned-status-ids="user.pinnedStatusIds"
- :force-unmute="true"
+ :in-profile="true"
/>
From 6a3f2832565392526c648c070a2e1275c37f83ea Mon Sep 17 00:00:00 2001
From: taehoon
Date: Fri, 13 Sep 2019 22:59:24 -0400
Subject: [PATCH 4/5] detect thread-muted posts
---
src/components/status/status.js | 2 +-
src/services/entity_normalizer/entity_normalizer.service.js | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/components/status/status.js b/src/components/status/status.js
index e8966f47..1c38b0f1 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -118,7 +118,7 @@ const Status = {
return hits
},
- muted () { return !this.unmuted && ((!this.inProfile && this.status.user.muted) || this.muteWordHits.length > 0) },
+ muted () { return !this.unmuted && ((!this.inProfile && this.status.user.muted) || this.status.thread_muted || this.muteWordHits.length > 0) },
hideFilteredStatuses () {
return typeof this.$store.state.config.hideFilteredStatuses === 'undefined'
? this.$store.state.instance.hideFilteredStatuses
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index 6cc1851d..7438cd90 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -224,6 +224,7 @@ export const parseStatus = (data) => {
output.statusnet_conversation_id = data.pleroma.conversation_id
output.is_local = pleroma.local
output.in_reply_to_screen_name = data.pleroma.in_reply_to_account_acct
+ output.thread_muted = pleroma.thread_muted
} else {
output.text = data.content
output.summary = data.spoiler_text
From baebf08d20eed14d06f9253e4cc939891955f8cb Mon Sep 17 00:00:00 2001
From: taehoon
Date: Fri, 13 Sep 2019 22:59:45 -0400
Subject: [PATCH 5/5] do not collapse thread muted posts in conversation
---
src/components/status/status.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 1c38b0f1..d17ba318 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -118,7 +118,7 @@ const Status = {
return hits
},
- muted () { return !this.unmuted && ((!this.inProfile && this.status.user.muted) || this.status.thread_muted || this.muteWordHits.length > 0) },
+ muted () { return !this.unmuted && ((!this.inProfile && this.status.user.muted) || (!this.inConversation && this.status.thread_muted) || this.muteWordHits.length > 0) },
hideFilteredStatuses () {
return typeof this.$store.state.config.hideFilteredStatuses === 'undefined'
? this.$store.state.instance.hideFilteredStatuses