diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-01-18 17:38:11 +0100 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2023-01-18 17:38:11 +0100 |
commit | 60abcb3c4c4ba899f0b4bb477c1629ecc2cd4a59 (patch) | |
tree | 02c9edee1c75254299e5385966eb8508f6ec0670 /app/services/update_status_service.rb | |
parent | 472fd4307f9c963aba57e537e3ca3a8f94dfa139 (diff) | |
parent | 3588fbc76641311ab97ef530e2df4df4934805c5 (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `config/i18n-tasks.yml`: Upstream added new ignored strings, glitch-soc has extra ignored strings because of the theming system. Added upstream's changes.
Diffstat (limited to 'app/services/update_status_service.rb')
-rw-r--r-- | app/services/update_status_service.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index cc4ec670d..7a8245839 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -10,6 +10,7 @@ class UpdateStatusService < BaseService # @param [Integer] account_id # @param [Hash] options # @option options [Array<Integer>] :media_ids + # @option options [Array<Hash>] :media_attributes # @option options [Hash] :poll # @option options [String] :text # @option options [String] :spoiler_text @@ -51,10 +52,18 @@ class UpdateStatusService < BaseService next_media_attachments = validate_media! added_media_attachments = next_media_attachments - previous_media_attachments + (@options[:media_attributes] || []).each do |attributes| + media = next_media_attachments.find { |attachment| attachment.id == attributes[:id].to_i } + next if media.nil? + + media.update!(attributes.slice(:thumbnail, :description, :focus)) + @media_attachments_changed ||= media.significantly_changed? + end + MediaAttachment.where(id: added_media_attachments.map(&:id)).update_all(status_id: @status.id) @status.ordered_media_attachment_ids = (@options[:media_ids] || []).map(&:to_i) & next_media_attachments.map(&:id) - @media_attachments_changed = previous_media_attachments.map(&:id) != @status.ordered_media_attachment_ids + @media_attachments_changed ||= previous_media_attachments.map(&:id) != @status.ordered_media_attachment_ids @status.media_attachments.reload end |