From c6b561902be0a819d8dbbc4438db0ced8dc5ed34 Mon Sep 17 00:00:00 2001 From: Skye Date: Wed, 28 Dec 2022 21:16:52 +0900 Subject: [PATCH] more quote toot fixups from th --- .../flavours/glitch/components/status_content.js | 9 ++++++--- app/lib/activitypub/activity/create.rb | 6 +++++- app/lib/activitypub/tag_manager.rb | 8 ++++++-- app/models/status_edit.rb | 4 ++++ 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/javascript/flavours/glitch/components/status_content.js b/app/javascript/flavours/glitch/components/status_content.js index 5c0a241961..676b6bd9af 100644 --- a/app/javascript/flavours/glitch/components/status_content.js +++ b/app/javascript/flavours/glitch/components/status_content.js @@ -347,11 +347,14 @@ class StatusContent extends React.PureComponent { id='quote-right' aria-hidden='true' key='icon-quote-right' /> - + + + -
+
+ +
); diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 8576716c24..f918bda7fc 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -431,8 +431,12 @@ class ActivityPub::Activity::Create < ActivityPub::Activity end def guess_quote_url - if @object["quoteUrl"] && !@object["quoteUrl"].empty? + if @object["quoteUri"] && !@object["quoteUri"].empty? + @object["quoteUri"] + elsif @object["quoteUrl"] && !@object["quoteUrl"].empty? @object["quoteUrl"] + elsif @object["quoteURL"] && !@object["quoteURL"].empty? + @object["quoteURL"] elsif @object["_misskey_quote"] && !@object["_misskey_quote"].empty? @object["_misskey_quote"] else diff --git a/app/lib/activitypub/tag_manager.rb b/app/lib/activitypub/tag_manager.rb index 3d6b28ef58..a8e29d2043 100644 --- a/app/lib/activitypub/tag_manager.rb +++ b/app/lib/activitypub/tag_manager.rb @@ -77,11 +77,15 @@ class ActivityPub::TagManager # Unlisted and private statuses go out primarily to the followers collection # Others go out only to the people they mention def to(status) + to = [] + + to << uri_for(status.quote.account) if status.quote? + case status.visibility when 'public' - [COLLECTIONS[:public]] + to << COLLECTIONS[:public] when 'unlisted', 'private' - [account_followers_url(status.account)] + to << account_followers_url(status.account) when 'direct', 'limited' if status.account.silenced? # Only notify followers if the account is locally silenced diff --git a/app/models/status_edit.rb b/app/models/status_edit.rb index c2330c04fa..c4778d908a 100644 --- a/app/models/status_edit.rb +++ b/app/models/status_edit.rb @@ -62,6 +62,10 @@ class StatusEdit < ApplicationRecord end end + def quote? + status.quote? + end + def proper self end