Merge branch 'master' into glitch-soc/merge-upstream

Conflicts:
- .github/ISSUE_TEMPLATE/bug_report.md
  Took our version.
- CONTRIBUTING.md
  Updated the embedded copy of upstream's version.
- README.md
  Took our version.
- app/policies/status_policy.rb
  Not a real conflict, took code from both.
- app/views/layouts/embedded.html.haml
  Added upstream's changes (dns-prefetch) and fixed
  `%body.embed`
- app/views/settings/preferences/show.html.haml
  Reverted some of upstream changes, as we have a
  page dedicated for flavours and skins.
- config/initializers/content_security_policy.rb
  Kept our version of the CSP.
- config/initializers/doorkeeper.rb
  Not a real conflict, took code from both.
This commit is contained in:
Thibaut Girka
2018-10-22 17:51:38 +02:00
190 changed files with 1798 additions and 911 deletions

View File

@@ -68,7 +68,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer
end
def virtual_tags
object.mentions.to_a.sort_by(&:id) + object.tags + object.emojis
object.active_mentions.to_a.sort_by(&:id) + object.tags + object.emojis
end
def atom_uri

View File

@@ -21,6 +21,7 @@ class InitialStateSerializer < ActiveModel::Serializer
search_enabled: Chewy.enabled?,
version: Mastodon::Version.to_s,
invites_enabled: Setting.min_invite_role == 'user',
mascot: instance_presenter.mascot&.file&.url,
}
if object.current_account
@@ -63,4 +64,10 @@ class InitialStateSerializer < ActiveModel::Serializer
def media_attachments
{ accept_content_types: MediaAttachment::IMAGE_FILE_EXTENSIONS + MediaAttachment::VIDEO_FILE_EXTENSIONS + MediaAttachment::AUDIO_FILE_EXTENSIONS + MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES + MediaAttachment::AUDIO_MIME_TYPES }
end
private
def instance_presenter
@instance_presenter ||= InstancePresenter.new
end
end

View File

@@ -1,7 +1,12 @@
# frozen_string_literal: true
class REST::ConversationSerializer < ActiveModel::Serializer
attribute :id
attributes :id, :unread
has_many :participant_accounts, key: :accounts, serializer: REST::AccountSerializer
has_one :last_status, serializer: REST::StatusSerializer
def id
object.id.to_s
end
end

View File

@@ -37,6 +37,17 @@ class REST::StatusSerializer < ActiveModel::Serializer
!current_user.nil?
end
def visibility
# This visibility is masked behind "private"
# to avoid API changes because there are no
# UX differences
if object.limited_visibility?
'private'
else
object.visibility
end
end
def uri
OStatus::TagManager.instance.uri_for(object)
end
@@ -97,7 +108,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
end
def ordered_mentions
object.mentions.to_a.sort_by(&:id)
object.active_mentions.to_a.sort_by(&:id)
end
class ApplicationSerializer < ActiveModel::Serializer