Merge commit '1e3b19230a48174acf524cf1a9f5a498e220ea7d' into glitch-soc/merge-upstream
Conflicts: - `app/models/account.rb`: Upstream added new validations close to lines on which glitch-soc had modified validations to handle custom limits set through environment variables. Ported upstream changes. - `config/initializers/content_security_policy.rb`: Upstream added `AZURE_ALIAS_HOST`. Glitch-soc's version of the file is completely different. Added `AZURE_ALIAS_HOST` to our version of the file.shrike
commit
993d0a9950
|
@ -1,13 +1,13 @@
|
|||
# This configuration was generated by
|
||||
# `haml-lint --auto-gen-config`
|
||||
# on 2023-07-18 11:56:05 -0400 using Haml-Lint version 0.48.0.
|
||||
# on 2023-07-20 09:47:50 -0400 using Haml-Lint version 0.48.0.
|
||||
# The point is for the user to remove these configuration records
|
||||
# one by one as the lints are removed from the code base.
|
||||
# Note that changes in the inspected code, or installation of new
|
||||
# versions of Haml-Lint, may require this file to be generated again.
|
||||
|
||||
linters:
|
||||
# Offense count: 959
|
||||
# Offense count: 951
|
||||
LineLength:
|
||||
enabled: false
|
||||
|
||||
|
@ -15,7 +15,7 @@ linters:
|
|||
UnnecessaryStringOutput:
|
||||
enabled: false
|
||||
|
||||
# Offense count: 63
|
||||
# Offense count: 57
|
||||
RuboCop:
|
||||
enabled: false
|
||||
|
||||
|
@ -26,7 +26,7 @@ linters:
|
|||
- 'app/views/admin/reports/show.html.haml'
|
||||
- 'app/views/disputes/strikes/show.html.haml'
|
||||
|
||||
# Offense count: 40
|
||||
# Offense count: 32
|
||||
InstanceVariables:
|
||||
exclude:
|
||||
- 'app/views/admin/reports/_actions.html.haml'
|
||||
|
@ -38,7 +38,6 @@ linters:
|
|||
- 'app/views/invites/_form.html.haml'
|
||||
- 'app/views/relationships/_account.html.haml'
|
||||
- 'app/views/shared/_og.html.haml'
|
||||
- 'app/views/statuses/_status.html.haml'
|
||||
|
||||
# Offense count: 3
|
||||
IdNames:
|
||||
|
|
|
@ -127,12 +127,6 @@ Lint/UselessAssignment:
|
|||
- 'spec/services/resolve_url_service_spec.rb'
|
||||
- 'spec/views/statuses/show.html.haml_spec.rb'
|
||||
|
||||
# This cop supports safe autocorrection (--autocorrect).
|
||||
# Configuration parameters: CheckForMethodsWithNoSideEffects.
|
||||
Lint/Void:
|
||||
Exclude:
|
||||
- 'spec/services/resolve_account_service_spec.rb'
|
||||
|
||||
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
|
||||
Metrics/AbcSize:
|
||||
Max: 150
|
||||
|
|
1
Gemfile
1
Gemfile
|
@ -18,6 +18,7 @@ gem 'aws-sdk-s3', '~> 1.123', require: false
|
|||
gem 'fog-core', '<= 2.4.0'
|
||||
gem 'fog-openstack', '~> 0.3', require: false
|
||||
gem 'kt-paperclip', '~> 7.2'
|
||||
gem 'md-paperclip-azure', '~> 2.2', require: false
|
||||
gem 'blurhash', '~> 0.1'
|
||||
|
||||
gem 'active_model_serializers', '~> 0.10'
|
||||
|
|
17
Gemfile.lock
17
Gemfile.lock
|
@ -118,6 +118,14 @@ GEM
|
|||
aws-sigv4 (~> 1.6)
|
||||
aws-sigv4 (1.6.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
azure-storage-blob (2.0.3)
|
||||
azure-storage-common (~> 2.0)
|
||||
nokogiri (~> 1, >= 1.10.8)
|
||||
azure-storage-common (2.0.4)
|
||||
faraday (~> 1.0)
|
||||
faraday_middleware (~> 1.0, >= 1.0.0.rc1)
|
||||
net-http-persistent (~> 4.0)
|
||||
nokogiri (~> 1, >= 1.10.8)
|
||||
bcrypt (3.1.18)
|
||||
better_errors (2.10.1)
|
||||
erubi (>= 1.0.0)
|
||||
|
@ -261,6 +269,8 @@ GEM
|
|||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fast_blank (1.0.1)
|
||||
fastimage (2.2.7)
|
||||
ffi (1.15.5)
|
||||
|
@ -410,6 +420,10 @@ GEM
|
|||
mario-redis-lock (1.2.1)
|
||||
redis (>= 3.0.5)
|
||||
matrix (0.4.2)
|
||||
md-paperclip-azure (2.2.0)
|
||||
addressable (~> 2.5)
|
||||
azure-storage-blob (~> 2.0.1)
|
||||
hashie (~> 5.0)
|
||||
memory_profiler (1.0.1)
|
||||
method_source (1.0.0)
|
||||
mime-types (3.4.1)
|
||||
|
@ -423,6 +437,8 @@ GEM
|
|||
multipart-post (2.3.0)
|
||||
net-http (0.3.2)
|
||||
uri
|
||||
net-http-persistent (4.0.2)
|
||||
connection_pool (~> 2.2)
|
||||
net-imap (0.3.6)
|
||||
date
|
||||
net-protocol
|
||||
|
@ -822,6 +838,7 @@ DEPENDENCIES
|
|||
link_header (~> 0.0)
|
||||
lograge (~> 0.12)
|
||||
mario-redis-lock (~> 1.2)
|
||||
md-paperclip-azure (~> 2.2)
|
||||
memory_profiler
|
||||
mime-types (~> 3.4.1)
|
||||
net-http (~> 0.3.2)
|
||||
|
|
|
@ -17,13 +17,16 @@ class Api::V1::Statuses::FavouritesController < Api::BaseController
|
|||
|
||||
if fav
|
||||
@status = fav.status
|
||||
count = [@status.favourites_count - 1, 0].max
|
||||
UnfavouriteWorker.perform_async(current_account.id, @status.id)
|
||||
else
|
||||
@status = Status.find(params[:status_id])
|
||||
count = @status.favourites_count
|
||||
authorize @status, :show?
|
||||
end
|
||||
|
||||
render json: @status, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new([@status], current_account.id, favourites_map: { @status.id => false })
|
||||
relationships = StatusRelationshipsPresenter.new([@status], current_account.id, favourites_map: { @status.id => false }, attributes_map: { @status.id => { favourites_count: count } })
|
||||
render json: @status, serializer: REST::StatusSerializer, relationships: relationships
|
||||
rescue Mastodon::NotPermittedError
|
||||
not_found
|
||||
end
|
||||
|
|
|
@ -24,15 +24,18 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
|
|||
|
||||
if @status
|
||||
authorize @status, :unreblog?
|
||||
@reblog = @status.reblog
|
||||
count = [@reblog.reblogs_count - 1, 0].max
|
||||
@status.discard
|
||||
RemovalWorker.perform_async(@status.id)
|
||||
@reblog = @status.reblog
|
||||
else
|
||||
@reblog = Status.find(params[:status_id])
|
||||
count = @reblog.reblogs_count
|
||||
authorize @reblog, :show?
|
||||
end
|
||||
|
||||
render json: @reblog, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new([@status], current_account.id, reblogs_map: { @reblog.id => false })
|
||||
relationships = StatusRelationshipsPresenter.new([@status], current_account.id, reblogs_map: { @reblog.id => false }, attributes_map: { @reblog.id => { reblogs_count: count } })
|
||||
render json: @reblog, serializer: REST::StatusSerializer, relationships: relationships
|
||||
rescue Mastodon::NotPermittedError
|
||||
not_found
|
||||
end
|
||||
|
|
|
@ -236,6 +236,6 @@ module ApplicationHelper
|
|||
private
|
||||
|
||||
def storage_host_var
|
||||
ENV.fetch('S3_ALIAS_HOST', nil) || ENV.fetch('S3_CLOUDFRONT_HOST', nil)
|
||||
ENV.fetch('S3_ALIAS_HOST', nil) || ENV.fetch('S3_CLOUDFRONT_HOST', nil) || ENV.fetch('AZURE_ALIAS_HOST', nil)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -65,33 +65,6 @@ module StatusesHelper
|
|||
embedded_view? ? '_blank' : nil
|
||||
end
|
||||
|
||||
def style_classes(status, is_predecessor, is_successor, include_threads)
|
||||
classes = ['entry']
|
||||
classes << 'entry-predecessor' if is_predecessor
|
||||
classes << 'entry-reblog' if status.reblog?
|
||||
classes << 'entry-successor' if is_successor
|
||||
classes << 'entry-center' if include_threads
|
||||
classes.join(' ')
|
||||
end
|
||||
|
||||
def microformats_classes(status, is_direct_parent, is_direct_child)
|
||||
classes = []
|
||||
classes << 'p-in-reply-to' if is_direct_parent
|
||||
classes << 'p-repost-of' if status.reblog? && is_direct_parent
|
||||
classes << 'p-comment' if is_direct_child
|
||||
classes.join(' ')
|
||||
end
|
||||
|
||||
def microformats_h_class(status, is_predecessor, is_successor, include_threads)
|
||||
if is_predecessor || status.reblog? || is_successor
|
||||
'h-cite'
|
||||
elsif include_threads
|
||||
''
|
||||
else
|
||||
'h-entry'
|
||||
end
|
||||
end
|
||||
|
||||
def fa_visibility_icon(status)
|
||||
case status.visibility
|
||||
when 'public'
|
||||
|
|
|
@ -184,6 +184,7 @@ class SwitchingColumnsArea extends PureComponent {
|
|||
|
||||
{singleColumn ? <Redirect from='/deck' to='/home' exact /> : null}
|
||||
{singleColumn && pathName.startsWith('/deck/') ? <Redirect from={pathName} to={pathName.slice(5)} /> : null}
|
||||
{!singleColumn && pathName === '/getting-started' ? <Redirect from='/getting-started' to='/deck/getting-started' exact /> : null}
|
||||
|
||||
<WrappedRoute path='/getting-started' component={GettingStarted} content={children} />
|
||||
<WrappedRoute path='/keyboard-shortcuts' component={KeyboardShortcuts} content={children} />
|
||||
|
|
|
@ -5,11 +5,16 @@ import { normalizeStatusTranslation } from '../actions/importer/normalizer';
|
|||
import {
|
||||
REBLOG_REQUEST,
|
||||
REBLOG_FAIL,
|
||||
UNREBLOG_REQUEST,
|
||||
UNREBLOG_FAIL,
|
||||
FAVOURITE_REQUEST,
|
||||
FAVOURITE_FAIL,
|
||||
UNFAVOURITE_SUCCESS,
|
||||
UNFAVOURITE_REQUEST,
|
||||
UNFAVOURITE_FAIL,
|
||||
BOOKMARK_REQUEST,
|
||||
BOOKMARK_FAIL,
|
||||
UNBOOKMARK_REQUEST,
|
||||
UNBOOKMARK_FAIL,
|
||||
} from '../actions/interactions';
|
||||
import {
|
||||
STATUS_MUTE_SUCCESS,
|
||||
|
@ -72,18 +77,28 @@ export default function statuses(state = initialState, action) {
|
|||
return importStatuses(state, action.statuses);
|
||||
case FAVOURITE_REQUEST:
|
||||
return state.setIn([action.status.get('id'), 'favourited'], true);
|
||||
case UNFAVOURITE_SUCCESS:
|
||||
return state.updateIn([action.status.get('id'), 'favourites_count'], x => Math.max(0, x - 1));
|
||||
case FAVOURITE_FAIL:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'favourited'], false);
|
||||
case UNFAVOURITE_REQUEST:
|
||||
return state.setIn([action.status.get('id'), 'favourited'], false);
|
||||
case UNFAVOURITE_FAIL:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'favourited'], true);
|
||||
case BOOKMARK_REQUEST:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'bookmarked'], true);
|
||||
case BOOKMARK_FAIL:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'bookmarked'], false);
|
||||
case UNBOOKMARK_REQUEST:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'bookmarked'], false);
|
||||
case UNBOOKMARK_FAIL:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'bookmarked'], true);
|
||||
case REBLOG_REQUEST:
|
||||
return state.setIn([action.status.get('id'), 'reblogged'], true);
|
||||
case REBLOG_FAIL:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'reblogged'], false);
|
||||
case UNREBLOG_REQUEST:
|
||||
return state.setIn([action.status.get('id'), 'reblogged'], false);
|
||||
case UNREBLOG_FAIL:
|
||||
return state.get(action.status.get('id')) === undefined ? state : state.setIn([action.status.get('id'), 'reblogged'], true);
|
||||
case STATUS_MUTE_SUCCESS:
|
||||
return state.setIn([action.id, 'muted'], true);
|
||||
case STATUS_UNMUTE_SUCCESS:
|
||||
|
|
|
@ -93,12 +93,19 @@ class Account < ApplicationRecord
|
|||
# Remote user validations, also applies to internal actors
|
||||
validates :username, format: { with: USERNAME_ONLY_RE }, if: -> { (!local? || actor_type == 'Application') && will_save_change_to_username? }
|
||||
|
||||
# Remote user validations
|
||||
validates :uri, presence: true, unless: :local?, on: :create
|
||||
|
||||
# Local user validations
|
||||
validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: 30 }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
|
||||
validates_with UnreservedUsernameValidator, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
|
||||
validates :display_name, length: { maximum: MAX_DISPLAY_NAME_LENGTH }, if: -> { local? && will_save_change_to_display_name? }
|
||||
validates :note, note_length: { maximum: MAX_NOTE_LENGTH }, if: -> { local? && will_save_change_to_note? }
|
||||
validates :fields, length: { maximum: DEFAULT_FIELDS_SIZE }, if: -> { local? && will_save_change_to_fields? }
|
||||
validates :uri, absence: true, if: :local?, on: :create
|
||||
validates :inbox_url, absence: true, if: :local?, on: :create
|
||||
validates :shared_inbox_url, absence: true, if: :local?, on: :create
|
||||
validates :followers_url, absence: true, if: :local?, on: :create
|
||||
|
||||
scope :remote, -> { where.not(domain: nil) }
|
||||
scope :local, -> { where(domain: nil) }
|
||||
|
|
|
@ -4,7 +4,7 @@ class StatusRelationshipsPresenter
|
|||
PINNABLE_VISIBILITIES = %w(public unlisted private).freeze
|
||||
|
||||
attr_reader :reblogs_map, :favourites_map, :mutes_map, :pins_map,
|
||||
:bookmarks_map, :filters_map
|
||||
:bookmarks_map, :filters_map, :attributes_map
|
||||
|
||||
def initialize(statuses, current_account_id = nil, **options)
|
||||
if current_account_id.nil?
|
||||
|
@ -26,6 +26,7 @@ class StatusRelationshipsPresenter
|
|||
@bookmarks_map = Status.bookmarks_map(status_ids, current_account_id).merge(options[:bookmarks_map] || {})
|
||||
@mutes_map = Status.mutes_map(conversation_ids, current_account_id).merge(options[:mutes_map] || {})
|
||||
@pins_map = Status.pins_map(pinnable_status_ids, current_account_id).merge(options[:pins_map] || {})
|
||||
@attributes_map = options[:attributes_map] || {}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -85,49 +85,57 @@ class REST::StatusSerializer < ActiveModel::Serializer
|
|||
ActivityPub::TagManager.instance.url_for(object)
|
||||
end
|
||||
|
||||
def reblogs_count
|
||||
relationships&.attributes_map&.dig(object.id, :reblogs_count) || object.reblogs_count
|
||||
end
|
||||
|
||||
def favourites_count
|
||||
relationships&.attributes_map&.dig(object.id, :favourites_count) || object.favourites_count
|
||||
end
|
||||
|
||||
def favourited
|
||||
if instance_options && instance_options[:relationships]
|
||||
instance_options[:relationships].favourites_map[object.id] || false
|
||||
if relationships
|
||||
relationships.favourites_map[object.id] || false
|
||||
else
|
||||
current_user.account.favourited?(object)
|
||||
end
|
||||
end
|
||||
|
||||
def reblogged
|
||||
if instance_options && instance_options[:relationships]
|
||||
instance_options[:relationships].reblogs_map[object.id] || false
|
||||
if relationships
|
||||
relationships.reblogs_map[object.id] || false
|
||||
else
|
||||
current_user.account.reblogged?(object)
|
||||
end
|
||||
end
|
||||
|
||||
def muted
|
||||
if instance_options && instance_options[:relationships]
|
||||
instance_options[:relationships].mutes_map[object.conversation_id] || false
|
||||
if relationships
|
||||
relationships.mutes_map[object.conversation_id] || false
|
||||
else
|
||||
current_user.account.muting_conversation?(object.conversation)
|
||||
end
|
||||
end
|
||||
|
||||
def bookmarked
|
||||
if instance_options && instance_options[:relationships]
|
||||
instance_options[:relationships].bookmarks_map[object.id] || false
|
||||
if relationships
|
||||
relationships.bookmarks_map[object.id] || false
|
||||
else
|
||||
current_user.account.bookmarked?(object)
|
||||
end
|
||||
end
|
||||
|
||||
def pinned
|
||||
if instance_options && instance_options[:relationships]
|
||||
instance_options[:relationships].pins_map[object.id] || false
|
||||
if relationships
|
||||
relationships.pins_map[object.id] || false
|
||||
else
|
||||
current_user.account.pinned?(object)
|
||||
end
|
||||
end
|
||||
|
||||
def filtered
|
||||
if instance_options && instance_options[:relationships]
|
||||
instance_options[:relationships].filters_map[object.id] || []
|
||||
if relationships
|
||||
relationships.filters_map[object.id] || []
|
||||
else
|
||||
current_user.account.status_matches_filters(object)
|
||||
end
|
||||
|
@ -148,6 +156,12 @@ class REST::StatusSerializer < ActiveModel::Serializer
|
|||
object.active_mentions.to_a.sort_by(&:id)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def relationships
|
||||
instance_options && instance_options[:relationships]
|
||||
end
|
||||
|
||||
class ApplicationSerializer < ActiveModel::Serializer
|
||||
attributes :name, :website
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
|
||||
set_immediate_protocol_attributes!
|
||||
|
||||
@account.save
|
||||
@account.save!
|
||||
end
|
||||
|
||||
def update_account
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
%button.button= t('admin.accounts.search')
|
||||
= link_to t('admin.accounts.reset'), admin_reports_path, class: 'button negative'
|
||||
|
||||
- @reports.group_by(&:target_account_id).each do |target_account_id, reports|
|
||||
- @reports.group_by(&:target_account_id).each do |_target_account_id, reports|
|
||||
- target_account = reports.first.target_account
|
||||
.report-card
|
||||
.report-card__profile
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
.auto-dir
|
||||
= status_content_format(status)
|
||||
|
||||
- if status.ordered_media_attachments.size > 0
|
||||
- if status.ordered_media_attachments.size.positive?
|
||||
%p
|
||||
- status.ordered_media_attachments.each do |a|
|
||||
- if status.local?
|
||||
|
|
|
@ -14,5 +14,5 @@
|
|||
%label= t('activerecord.attributes.doorkeeper/application.scopes')
|
||||
%span.hint= t('simple_form.hints.defaults.scopes')
|
||||
|
||||
- Doorkeeper.configuration.scopes.group_by { |s| s.split(':').first }.each do |k, v|
|
||||
= f.input :scopes, label: false, hint: false, collection: v.sort, wrapper: :with_block_label, include_blank: false, label_method: ->(scope) { safe_join([content_tag(:samp, scope, class: class_for_scope(scope)), content_tag(:span, t("doorkeeper.scopes.#{scope}"), class: 'hint')]) }, selected: f.object.scopes.all, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||
- Doorkeeper.configuration.scopes.group_by { |s| s.split(':').first }.each do |_key, value|
|
||||
= f.input :scopes, label: false, hint: false, collection: value.sort, wrapper: :with_block_label, include_blank: false, label_method: ->(scope) { safe_join([content_tag(:samp, scope, class: class_for_scope(scope)), content_tag(:span, t("doorkeeper.scopes.#{scope}"), class: 'hint')]) }, selected: f.object.scopes.all, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
- poll.loaded_options.each_with_index do |option, index|
|
||||
%li
|
||||
- if show_results
|
||||
- percent = total_votes_count > 0 ? 100 * option.votes_count / total_votes_count : 0
|
||||
- percent = total_votes_count.positive? ? 100 * option.votes_count / total_votes_count : 0
|
||||
%label.poll__option><
|
||||
%span.poll__number><
|
||||
= "#{percent.round}%"
|
||||
|
|
|
@ -1,61 +1,2 @@
|
|||
:ruby
|
||||
pinned ||= false
|
||||
include_threads ||= false
|
||||
is_predecessor ||= false
|
||||
is_successor ||= false
|
||||
direct_reply_id ||= false
|
||||
parent_id ||= false
|
||||
is_direct_parent = direct_reply_id == status.id
|
||||
is_direct_child = parent_id == status.in_reply_to_id
|
||||
centered ||= include_threads && !is_predecessor && !is_successor
|
||||
h_class = microformats_h_class(status, is_predecessor, is_successor, include_threads)
|
||||
style_classes = style_classes(status, is_predecessor, is_successor, include_threads)
|
||||
mf_classes = microformats_classes(status, is_direct_parent, is_direct_child)
|
||||
entry_classes = "#{h_class} #{mf_classes} #{style_classes}"
|
||||
|
||||
- if status.reply? && include_threads
|
||||
- if @next_ancestor
|
||||
.entry{ class: entry_classes }
|
||||
= link_to_older ActivityPub::TagManager.instance.url_for(@next_ancestor)
|
||||
|
||||
= render partial: 'statuses/status', collection: @ancestors, as: :status, locals: { is_predecessor: true, direct_reply_id: status.in_reply_to_id }
|
||||
|
||||
.entry{ class: entry_classes }
|
||||
|
||||
- if status.reblog?
|
||||
.status__prepend
|
||||
.status__prepend-icon-wrapper
|
||||
%i.status__prepend-icon.fa.fa-fw.fa-retweet
|
||||
%span
|
||||
= link_to ActivityPub::TagManager.instance.url_for(status.account), class: 'status__display-name muted' do
|
||||
%bdi
|
||||
%strong.emojify= display_name(status.account, custom_emojify: true)
|
||||
= t('stream_entries.reblogged')
|
||||
- elsif pinned
|
||||
.status__prepend
|
||||
.status__prepend-icon-wrapper
|
||||
%i.status__prepend-icon.fa.fa-fw.fa-thumb-tack
|
||||
%span
|
||||
= t('stream_entries.pinned')
|
||||
|
||||
= render (centered ? 'statuses/detailed_status' : 'statuses/simple_status'), status: status.proper, hide_show_thread: is_predecessor || is_successor
|
||||
|
||||
- if include_threads
|
||||
- if @since_descendant_thread_id
|
||||
.entry{ class: entry_classes }
|
||||
= link_to_newer short_account_status_url(status.account.username, status, max_descendant_thread_id: @since_descendant_thread_id + 1)
|
||||
- @descendant_threads.each do |thread|
|
||||
= render partial: 'statuses/status', collection: thread[:statuses], as: :status, locals: { is_successor: true, parent_id: status.id }
|
||||
|
||||
- if thread[:next_status]
|
||||
.entry{ class: entry_classes }
|
||||
= link_to_newer ActivityPub::TagManager.instance.url_for(thread[:next_status])
|
||||
- if @next_descendant_thread
|
||||
.entry{ class: entry_classes }
|
||||
= link_to_newer short_account_status_url(status.account.username, status, since_descendant_thread_id: @max_descendant_thread_id - 1)
|
||||
|
||||
- if include_threads && !embedded_view? && !user_signed_in?
|
||||
.entry{ class: entry_classes }
|
||||
= link_to_login class: 'load-more load-gap' do
|
||||
= fa_icon 'comments'
|
||||
= t('statuses.sign_in_to_participate')
|
||||
.entry
|
||||
= render (centered ? 'statuses/detailed_status' : 'statuses/simple_status'), status: status.proper, hide_show_thread: false
|
||||
|
|
|
@ -9,7 +9,7 @@ if Rails.env.production?
|
|||
data_hosts = [assets_host]
|
||||
|
||||
if ENV['S3_ENABLED'] == 'true'
|
||||
attachments_host = "https://#{ENV['S3_ALIAS_HOST'] || ENV['S3_CLOUDFRONT_HOST'] || ENV['S3_HOSTNAME'] || "s3-#{ENV['S3_REGION'] || 'us-east-1'}.amazonaws.com"}"
|
||||
attachments_host = "https://#{ENV['S3_ALIAS_HOST'] || ENV['S3_CLOUDFRONT_HOST'] || ENV['AZURE_ALIAS_HOST'] || ENV['S3_HOSTNAME'] || "s3-#{ENV['S3_REGION'] || 'us-east-1'}.amazonaws.com"}"
|
||||
attachments_host = "https://#{Addressable::URI.parse(attachments_host).host}"
|
||||
elsif ENV['SWIFT_ENABLED'] == 'true'
|
||||
attachments_host = ENV['SWIFT_OBJECT_URL']
|
||||
|
|
|
@ -131,6 +131,26 @@ elsif ENV['SWIFT_ENABLED'] == 'true'
|
|||
fog_host: ENV['SWIFT_OBJECT_URL'],
|
||||
fog_public: true
|
||||
)
|
||||
elsif ENV['AZURE_ENABLED'] == 'true'
|
||||
require 'paperclip-azure'
|
||||
|
||||
Paperclip::Attachment.default_options.merge!(
|
||||
storage: :azure,
|
||||
azure_options: {
|
||||
protocol: 'https',
|
||||
},
|
||||
azure_credentials: {
|
||||
storage_account_name: ENV['AZURE_STORAGE_ACCOUNT'],
|
||||
storage_access_key: ENV['AZURE_STORAGE_ACCESS_KEY'],
|
||||
container: ENV['AZURE_CONTAINER_NAME'],
|
||||
}
|
||||
)
|
||||
if ENV.has_key?('AZURE_ALIAS_HOST')
|
||||
Paperclip::Attachment.default_options.merge!(
|
||||
url: ':azure_alias_url',
|
||||
azure_host_alias: ENV['AZURE_ALIAS_HOST']
|
||||
)
|
||||
end
|
||||
else
|
||||
Paperclip::Attachment.default_options.merge!(
|
||||
storage: :filesystem,
|
||||
|
|
|
@ -1488,7 +1488,6 @@ an:
|
|||
show_newer: Amostrar mas recients
|
||||
show_older: Amostrar mas antigos
|
||||
show_thread: Amostrar discusión
|
||||
sign_in_to_participate: Rechistra-te pa participar en a conversación
|
||||
title: "%{name}: «%{quote}»"
|
||||
visibilities:
|
||||
direct: Directa
|
||||
|
@ -1533,8 +1532,6 @@ an:
|
|||
min_reblogs: Mantener publicacions reblogueadas mas de
|
||||
min_reblogs_hint: No borra garra d'as publicacions que haigan estau reblogueadas mas d'este numero de vegadas. Deixa en blanco pa eliminar publicacions sin importar lo numero de reblogueos
|
||||
stream_entries:
|
||||
pinned: Publicación fixada
|
||||
reblogged: retutau
|
||||
sensitive_content: Conteniu sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1623,7 +1623,6 @@ ar:
|
|||
show_newer: إظهار أحدث
|
||||
show_older: إظهار أقدم
|
||||
show_thread: اعرض خيط المحادثة
|
||||
sign_in_to_participate: قم بتسجيل الدخول للمشاركة في هذه المحادثة
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: مباشرة
|
||||
|
@ -1669,8 +1668,6 @@ ar:
|
|||
min_reblogs: إبقاء المشاركات المعززة أكثر من
|
||||
min_reblogs_hint: لن تُحذف أي من منشوراتك التي أعيد مشاركتها أكثر من هذا العدد من المرات. اتركه فارغاً لحذف المنشورات بغض النظر عن عدد إعادات المشاركة
|
||||
stream_entries:
|
||||
pinned: منشور مثبّت
|
||||
reblogged: شارَكَه
|
||||
sensitive_content: محتوى حساس
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1698,7 +1698,6 @@ be:
|
|||
show_newer: Паказаць навейшыя
|
||||
show_older: Паказаць старэйшыя
|
||||
show_thread: Паказаць ланцуг
|
||||
sign_in_to_participate: Зарэгіструйцеся каб удзельнічаць у абмеркаванні
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Асабіста
|
||||
|
@ -1744,8 +1743,6 @@ be:
|
|||
min_reblogs: Захаваць допісы, якія пашырылі хаця б
|
||||
min_reblogs_hint: Не выдаляе вашыя допісы, якія пашырыла прынамсі вызначаная колькасць людзей. Пакіньце гэтае поле пустым, каб допісы выдаляліся незалежна ад гэтай колькасці
|
||||
stream_entries:
|
||||
pinned: Замацаваны допіс
|
||||
reblogged: пашыраны
|
||||
sensitive_content: Далікатны змест
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ bg:
|
|||
show_newer: Показване на по-нови
|
||||
show_older: Показване на по-стари
|
||||
show_thread: Показване на нишката
|
||||
sign_in_to_participate: Влезте, за да участвате в разговора
|
||||
title: "%{name}: „%{quote}“"
|
||||
visibilities:
|
||||
direct: Директно
|
||||
|
@ -1680,8 +1679,6 @@ bg:
|
|||
min_reblogs: Запазване на публикации с поне толкова споделяния
|
||||
min_reblogs_hint: Не се изтриват ваши публикации, споделени поне толкова пъти. Оставете празно, за да изтриете публикациите независимо от техния брой споделяния
|
||||
stream_entries:
|
||||
pinned: Закачена публикация
|
||||
reblogged: подсилено
|
||||
sensitive_content: Деликатно съдържание
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -502,9 +502,6 @@ br:
|
|||
'604800': 1 sizhunvezh
|
||||
'63113904': 2 vloavezh
|
||||
'7889238': 3 months
|
||||
stream_entries:
|
||||
pinned: Toud spilhennet
|
||||
reblogged: en·he deus skignet
|
||||
themes:
|
||||
default: Mastodoñ (Teñval)
|
||||
mastodon-light: Mastodoñ (Sklaer)
|
||||
|
|
|
@ -1634,7 +1634,6 @@ ca:
|
|||
show_newer: Mostra els més nous
|
||||
show_older: Mostra els més vells
|
||||
show_thread: Mostra el fil
|
||||
sign_in_to_participate: Inicia la sessió per participar a la conversa
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Directe
|
||||
|
@ -1680,8 +1679,6 @@ ca:
|
|||
min_reblogs: Mantenir les publicacions impulsades més de
|
||||
min_reblogs_hint: No suprimeix cap de les teves publicacions que s'hagin impulsat més que aquest nombre de vegades. Deixa-ho en blanc per a suprimir les publicacions independentment del nombre d'impulsos que tinguin.
|
||||
stream_entries:
|
||||
pinned: Publicació fixada
|
||||
reblogged: ha impulsat
|
||||
sensitive_content: Contingut sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -996,7 +996,6 @@ ckb:
|
|||
show_newer: نوێتر پیشان بدە
|
||||
show_older: پیشاندانی کۆنتر
|
||||
show_thread: نیشاندانی ڕشتە
|
||||
sign_in_to_participate: بچۆ ژوورەوە بۆ بەشداریکردن لە گفتوگۆکەدا
|
||||
visibilities:
|
||||
private: شوێنکەوتوانی تەنها
|
||||
private_long: تەنها بۆ شوێنکەوتوانی پیشان بدە
|
||||
|
@ -1005,8 +1004,6 @@ ckb:
|
|||
unlisted: پێرست نەبووە
|
||||
unlisted_long: هەموو کەس دەتوانێت بیبینێت، بەڵام لە هێڵی کاتی گشتی دا نەریزراوە
|
||||
stream_entries:
|
||||
pinned: توتی چەسپکراو
|
||||
reblogged: بەهێزکردن
|
||||
sensitive_content: ناوەڕۆکی هەستیار
|
||||
tags:
|
||||
does_not_match_previous_name: لەگەڵ ناوی پێشوو یەک ناگرێتەوە
|
||||
|
|
|
@ -983,7 +983,6 @@ co:
|
|||
show_newer: Vede i più ricenti
|
||||
show_older: Vede i più anziani
|
||||
show_thread: Vede u filu
|
||||
sign_in_to_participate: Cunnettatevi per participà à a cunversazione
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direttu
|
||||
|
@ -1021,8 +1020,6 @@ co:
|
|||
min_reblogs: Cunservà i statuti spartuti più di
|
||||
min_reblogs_hint: Ùn sguassa micca i vostri statuti chì anu ricevuti più chì stu numeru di spartere. Lasciate viotu per sguassà i statuti senza piglià in contu u numaru di spartere
|
||||
stream_entries:
|
||||
pinned: Statutu puntarulatu
|
||||
reblogged: hà spartutu
|
||||
sensitive_content: Cuntenutu sensibile
|
||||
tags:
|
||||
does_not_match_previous_name: ùn currisponde micca à l'anzianu nome
|
||||
|
|
|
@ -1642,7 +1642,6 @@ cs:
|
|||
show_newer: Zobrazit novější
|
||||
show_older: Zobrazit starší
|
||||
show_thread: Zobrazit vlákno
|
||||
sign_in_to_participate: Chcete-li se zúčastnit této konverzace, přihlaste se
|
||||
title: "%{name}: „%{quote}“"
|
||||
visibilities:
|
||||
direct: Přímé
|
||||
|
@ -1688,8 +1687,6 @@ cs:
|
|||
min_reblogs: Zachovat příspěvky boostnuté alespoň
|
||||
min_reblogs_hint: Nesmaže žádný z vašich příspěvků, který byl boostnut alespoň tolikrát. Ponechte prázdné pro mazání příspěvků bez ohledu na počet jejich boostnutí
|
||||
stream_entries:
|
||||
pinned: Připnutý příspěvek
|
||||
reblogged: boostnul
|
||||
sensitive_content: Citlivý obsah
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1762,7 +1762,6 @@ cy:
|
|||
show_newer: Dangos y diweddaraf
|
||||
show_older: Dangos pethau hŷn
|
||||
show_thread: Dangos trywydd
|
||||
sign_in_to_participate: Mengofnodwch i gymryd rhan yn y sgwrs
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Uniongyrchol
|
||||
|
@ -1808,8 +1807,6 @@ cy:
|
|||
min_reblogs: Cadw postiadau wedi eu hybu o leiaf
|
||||
min_reblogs_hint: Nid yw'n dileu unrhyw un o'ch postiadau sydd wedi cael eu hybu o leiaf y nifer hwn o weithiau. Gadewch yn wag i ddileu postiadau waeth beth fo'u nifer o hybiadau
|
||||
stream_entries:
|
||||
pinned: Postiad wedi'i binio
|
||||
reblogged: hybwyd
|
||||
sensitive_content: Cynnwys sensitif
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ da:
|
|||
show_newer: Vis nyere
|
||||
show_older: Vis ældre
|
||||
show_thread: Vis tråd
|
||||
sign_in_to_participate: Log ind for at deltage i konversationen
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direkte
|
||||
|
@ -1680,8 +1679,6 @@ da:
|
|||
min_reblogs: Behold indlæg boostet mindst
|
||||
min_reblogs_hint: Sletter ingen egne indlæg, som er boostet flere end dette antal gange. Lad stå tomt for at ignorere denne tærskel under sletning
|
||||
stream_entries:
|
||||
pinned: Fastgjort indlæg
|
||||
reblogged: boostet
|
||||
sensitive_content: Sensitivt indhold
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ de:
|
|||
show_newer: Neuere anzeigen
|
||||
show_older: Ältere anzeigen
|
||||
show_thread: Thread anzeigen
|
||||
sign_in_to_participate: Melde dich an, um an der Unterhaltung teilzunehmen
|
||||
title: "%{name}: „%{quote}“"
|
||||
visibilities:
|
||||
direct: Direktnachricht
|
||||
|
@ -1680,8 +1679,6 @@ de:
|
|||
min_reblogs: Beiträge behalten, die mindestens so oft geteilt wurden
|
||||
min_reblogs_hint: Löscht keine Beiträge, die mindestens so oft geteilt worden sind. Lass das Feld leer, um alle Beiträge – unabhängig der Anzahl an geteilten Beiträgen – zu löschen
|
||||
stream_entries:
|
||||
pinned: Angehefteter Beitrag
|
||||
reblogged: teilte
|
||||
sensitive_content: Inhaltswarnung
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1570,7 +1570,6 @@ el:
|
|||
show_newer: Εμφάνιση νεότερων
|
||||
show_older: Εμφάνιση παλαιότερων
|
||||
show_thread: Εμφάνιση νήματος
|
||||
sign_in_to_participate: Συνδέσου για να συμμετάσχεις στη συζήτηση
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Άμεση
|
||||
|
@ -1616,8 +1615,6 @@ el:
|
|||
min_reblogs: Διατήρηση αναρτήσεων που έχουν ενισχυθεί τουλάχιστον
|
||||
min_reblogs_hint: Δεν διαγράφει καμία από τις δημοσιεύσεις σας που έχει λάβει τουλάχιστον αυτόν τον αριθμό ενισχύσεων. Αφήστε κενό για να διαγράψετε δημοσιεύσεις ανεξάρτητα από τον αριθμό των ενισχύσεων
|
||||
stream_entries:
|
||||
pinned: Καρφιτσωμένη ανάρτηση
|
||||
reblogged: ενισχύθηκε
|
||||
sensitive_content: Ευαίσθητο περιεχόμενο
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ en-GB:
|
|||
show_newer: Show newer
|
||||
show_older: Show older
|
||||
show_thread: Show thread
|
||||
sign_in_to_participate: Sign in to participate in the conversation
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direct
|
||||
|
@ -1680,8 +1679,6 @@ en-GB:
|
|||
min_reblogs: Keep posts boosted at least
|
||||
min_reblogs_hint: Doesn't delete any of your posts that has been boosted at least this number of times. Leave blank to delete posts regardless of their number of boosts
|
||||
stream_entries:
|
||||
pinned: Pinned post
|
||||
reblogged: boosted
|
||||
sensitive_content: Sensitive content
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -770,7 +770,7 @@ en:
|
|||
approved: Approval required for sign up
|
||||
none: Nobody can sign up
|
||||
open: Anyone can sign up
|
||||
title: Server Settings
|
||||
title: Server settings
|
||||
site_uploads:
|
||||
delete: Delete uploaded file
|
||||
destroyed_msg: Site upload successfully deleted!
|
||||
|
@ -1635,7 +1635,6 @@ en:
|
|||
show_newer: Show newer
|
||||
show_older: Show older
|
||||
show_thread: Show thread
|
||||
sign_in_to_participate: Login to participate in the conversation
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direct
|
||||
|
@ -1681,8 +1680,6 @@ en:
|
|||
min_reblogs: Keep posts boosted at least
|
||||
min_reblogs_hint: Doesn't delete any of your posts that has been boosted at least this number of times. Leave blank to delete posts regardless of their number of boosts
|
||||
stream_entries:
|
||||
pinned: Pinned post
|
||||
reblogged: boosted
|
||||
sensitive_content: Sensitive content
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1589,7 +1589,6 @@ eo:
|
|||
show_newer: Montri pli novajn
|
||||
show_older: Montri pli malnovajn
|
||||
show_thread: Montri la mesaĝaron
|
||||
sign_in_to_participate: Ensalutu por partopreni la konversacion
|
||||
title: "%{name}: “%{quote}”"
|
||||
visibilities:
|
||||
direct: Rekta
|
||||
|
@ -1635,8 +1634,6 @@ eo:
|
|||
min_reblogs: Konservi diskonitajn mesaĝojn almenau
|
||||
min_reblogs_hint: Oni ne forigas viajn afiŝojn kiuj estas diskonigitaj almenaŭ ĉi tiun nombron da fojoj. Lasu malplena por forigi afiŝojn sendepende de iliaj nombroj da diskonigoj
|
||||
stream_entries:
|
||||
pinned: Fiksita afiŝo
|
||||
reblogged: diskonigita
|
||||
sensitive_content: Tikla enhavo
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ es-AR:
|
|||
show_newer: Mostrar más recientes
|
||||
show_older: Mostrar más antiguos
|
||||
show_thread: Mostrar hilo
|
||||
sign_in_to_participate: Iniciá sesión para participar en la conversación
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Directo
|
||||
|
@ -1680,8 +1679,6 @@ es-AR:
|
|||
min_reblogs: Conservar adhesiones de por lo menos
|
||||
min_reblogs_hint: No elimina ninguno de tus mensajes que haya recibido más de esta cantidad de adhesiones. Dejá en blanco para eliminar mensajes independientemente de su número de adhesiones.
|
||||
stream_entries:
|
||||
pinned: Mensaje fijado
|
||||
reblogged: adhirió a este mensaje
|
||||
sensitive_content: Contenido sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ es-MX:
|
|||
show_newer: Mostrar más recientes
|
||||
show_older: Mostrar más antiguos
|
||||
show_thread: Mostrar discusión
|
||||
sign_in_to_participate: Regístrate para participar en la conversación
|
||||
title: "%{name}: «%{quote}»"
|
||||
visibilities:
|
||||
direct: Directa
|
||||
|
@ -1680,8 +1679,6 @@ es-MX:
|
|||
min_reblogs: Mantener publicaciones reblogueadas más de
|
||||
min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido reblogueadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de reblogueos
|
||||
stream_entries:
|
||||
pinned: Toot fijado
|
||||
reblogged: retooteado
|
||||
sensitive_content: Contenido sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ es:
|
|||
show_newer: Mostrar más recientes
|
||||
show_older: Mostrar más antiguos
|
||||
show_thread: Mostrar discusión
|
||||
sign_in_to_participate: Inicia sesión para participar en la conversación
|
||||
title: "%{name}: «%{quote}»"
|
||||
visibilities:
|
||||
direct: Directa
|
||||
|
@ -1680,8 +1679,6 @@ es:
|
|||
min_reblogs: Mantener publicaciones reblogueadas más de
|
||||
min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido reblogueadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de reblogueos
|
||||
stream_entries:
|
||||
pinned: Publicación fijada
|
||||
reblogged: impulsó
|
||||
sensitive_content: Contenido sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ et:
|
|||
show_newer: Uuemate kuvamine
|
||||
show_older: Vanemate kuvamine
|
||||
show_thread: Kuva lõim
|
||||
sign_in_to_participate: Logi sisse, et liituda vestlusega
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Otsene
|
||||
|
@ -1682,8 +1681,6 @@ et:
|
|||
min_reblogs: Säilita postitused jagatud vähemalt
|
||||
min_reblogs_hint: Ei kustuta postitusi, kui need on jagatud vähemalt nii mitu korda. Tühjaks jättes kustuvad postitused olenemata jagamistest
|
||||
stream_entries:
|
||||
pinned: Kinnitatud postitus
|
||||
reblogged: jagatud
|
||||
sensitive_content: Tundlik sisu
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1592,7 +1592,6 @@ eu:
|
|||
show_newer: Erakutsi berriagoak
|
||||
show_older: Erakutsi zaharragoak
|
||||
show_thread: Erakutsi haria
|
||||
sign_in_to_participate: Eman izena elkarrizketan parte hartzeko
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Zuzena
|
||||
|
@ -1638,8 +1637,6 @@ eu:
|
|||
min_reblogs: Mantendu bultzada kopuru hau duten bidalketak
|
||||
min_reblogs_hint: Gutxienez bultzada kopuru hau jaso duten zure bidalketak ez dira ezabatuko. Hutsik utziz gero bultzada kopurua ez da kontuan hartuko bidalketak ezabatzean
|
||||
stream_entries:
|
||||
pinned: Finkatutako bidalketa
|
||||
reblogged: "(r)en bultzada"
|
||||
sensitive_content: 'Kontuz: Eduki hunkigarria'
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1403,7 +1403,6 @@ fa:
|
|||
show_newer: نمایش جدیدتر
|
||||
show_older: نمایش قدیمیتر
|
||||
show_thread: نمایش رشته
|
||||
sign_in_to_participate: برای شرکت در گفتگو وارد حساب خود شوید
|
||||
title: "%{name}: «%{quote}»"
|
||||
visibilities:
|
||||
direct: مستقیم
|
||||
|
@ -1449,8 +1448,6 @@ fa:
|
|||
min_reblogs: نگه داشتن فرستههایی با تقویت بیش از
|
||||
min_reblogs_hint: هیچ یک از فرستههایتان را که بیش از این تعداد تقویت شده باشند، حذف نمیکند. برای حذف فرستهها فارغ از تعداد تقویتهایشان، خالی بگذارید
|
||||
stream_entries:
|
||||
pinned: نوشتههای ثابت
|
||||
reblogged: تقویت شده
|
||||
sensitive_content: محتوای حساس
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ fi:
|
|||
show_newer: Näytä uudemmat
|
||||
show_older: Näytä vanhempi
|
||||
show_thread: Näytä ketju
|
||||
sign_in_to_participate: Kirjaudu osallistuaksesi keskusteluun
|
||||
title: "%{name}: ”%{quote}”"
|
||||
visibilities:
|
||||
direct: Suoraan
|
||||
|
@ -1680,8 +1679,6 @@ fi:
|
|||
min_reblogs: Pidä viestit tehostettuna vähintään
|
||||
min_reblogs_hint: Ei poista yhtään viestiäsi, jota on tehostettu vähintään näin monta kertaa. Jätä tyhjäksi poistaaksesi viestejä riippumatta niiden tehosteiden määrästä
|
||||
stream_entries:
|
||||
pinned: Kiinnitetty tuuttaus
|
||||
reblogged: tehosti
|
||||
sensitive_content: Arkaluontoista sisältöä
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ fo:
|
|||
show_newer: Vís nýggjari
|
||||
show_older: Vís eldri
|
||||
show_thread: Vís tráð
|
||||
sign_in_to_participate: Rita inn fyri at luttaka í samrøðuni
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Beinleiðis
|
||||
|
@ -1680,8 +1679,6 @@ fo:
|
|||
min_reblogs: Varðveit postar, sum eru stimbraðir í minsta lagi
|
||||
min_reblogs_hint: Strikar ikki postar hjá tær, sum eru stimbraðir í minsta lagi so ofta. Lat vera blankt, um postar skulu strikast óansæð, hvussu ofta teir eru stimbraðir
|
||||
stream_entries:
|
||||
pinned: Festir postar
|
||||
reblogged: stimbraður
|
||||
sensitive_content: Viðkvæmt innihald
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ fr-QC:
|
|||
show_newer: Plus récents
|
||||
show_older: Plus anciens
|
||||
show_thread: Afficher le fil de discussion
|
||||
sign_in_to_participate: Inscrivez-vous pour prendre part à la conversation
|
||||
title: "%{name} : « %{quote} »"
|
||||
visibilities:
|
||||
direct: Direct
|
||||
|
@ -1680,8 +1679,6 @@ fr-QC:
|
|||
min_reblogs: Conserver les messages partagés au moins
|
||||
min_reblogs_hint: Ne supprime aucun de vos messages qui ont été partagés au moins ce nombre de fois. Laisser vide pour supprimer les messages indépendamment de leur nombre de partages
|
||||
stream_entries:
|
||||
pinned: Message épinglé
|
||||
reblogged: a partagé
|
||||
sensitive_content: Contenu sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ fr:
|
|||
show_newer: Plus récents
|
||||
show_older: Plus anciens
|
||||
show_thread: Afficher le fil de discussion
|
||||
sign_in_to_participate: Inscrivez-vous pour prendre part à la conversation
|
||||
title: "%{name} : « %{quote} »"
|
||||
visibilities:
|
||||
direct: Direct
|
||||
|
@ -1680,8 +1679,6 @@ fr:
|
|||
min_reblogs: Conserver les messages partagés au moins
|
||||
min_reblogs_hint: Ne supprime aucun de vos messages qui ont été partagés au moins ce nombre de fois. Laisser vide pour supprimer les messages indépendamment de leur nombre de partages
|
||||
stream_entries:
|
||||
pinned: Message épinglé
|
||||
reblogged: a partagé
|
||||
sensitive_content: Contenu sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ fy:
|
|||
show_newer: Nijere toane
|
||||
show_older: Aldere toane
|
||||
show_thread: Petear toane
|
||||
sign_in_to_participate: Meld jo oan om oan dit petear mei te dwaan
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direkt
|
||||
|
@ -1680,8 +1679,6 @@ fy:
|
|||
min_reblogs: Berjochten dy’t op syn minst safolle kear boost binne behâlde
|
||||
min_reblogs_hint: Smyt gjin berjochten dy’t op syn minst safolle kear boost binne fuort. Lit leech om berjochten likefolle it tal boosts fuort te smiten
|
||||
stream_entries:
|
||||
pinned: Fêstsette berjocht
|
||||
reblogged: boostte
|
||||
sensitive_content: Gefoelige ynhâld
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -501,7 +501,6 @@ ga:
|
|||
'63113904': 2 bhliain
|
||||
'7889238': 3 mhí
|
||||
stream_entries:
|
||||
pinned: Postáil pionnáilte
|
||||
sensitive_content: Ábhar íogair
|
||||
two_factor_authentication:
|
||||
edit: Cuir in eagar
|
||||
|
|
|
@ -1698,7 +1698,6 @@ gd:
|
|||
show_newer: Seall feadhainn as ùire
|
||||
show_older: Seall feadhainn as sine
|
||||
show_thread: Seall an snàithlean
|
||||
sign_in_to_participate: Clàraich a-steach a ghabhail pàirt sa chòmhradh
|
||||
title: "%{name}: “%{quote}”"
|
||||
visibilities:
|
||||
direct: Dìreach
|
||||
|
@ -1744,8 +1743,6 @@ gd:
|
|||
min_reblogs: Cùm na tha ’ga bhrosnachadh le co-dhiù
|
||||
min_reblogs_hint: Cha dèid gin dhe na postaichean agad a sguabadh às a tha ’gam brosnachadh an àireamh de thursan seo air a char as lugha. Fàg seo bàn airson postaichean a sguabadh às ge b’ e co mheud turas a tha iad ’gam brosnachadh
|
||||
stream_entries:
|
||||
pinned: Post prìnichte
|
||||
reblogged: "’ga bhrosnachadh"
|
||||
sensitive_content: Susbaint fhrionasach
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ gl:
|
|||
show_newer: Mostrar o máis novo
|
||||
show_older: Mostrar o máis vello
|
||||
show_thread: Amosar fío
|
||||
sign_in_to_participate: Accede e participa na conversa
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Directa
|
||||
|
@ -1680,8 +1679,6 @@ gl:
|
|||
min_reblogs: Manter publicacións promovidas máis de
|
||||
min_reblogs_hint: Non elimina ningunha das túas publicacións se foron promovidas máis deste número de veces. Deixa en branco para eliminar publicacións independentemente do seu número de promocións
|
||||
stream_entries:
|
||||
pinned: Publicación fixada
|
||||
reblogged: promoveu
|
||||
sensitive_content: Contido sensible
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1698,7 +1698,6 @@ he:
|
|||
show_newer: הצג חדשים יותר
|
||||
show_older: הצג ישנים יותר
|
||||
show_thread: הצג שרשור
|
||||
sign_in_to_participate: הכנס כדי להשתתף בשיחה
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: ישיר
|
||||
|
@ -1744,8 +1743,6 @@ he:
|
|||
min_reblogs: שמור הודעות מהודהדות לפחות
|
||||
min_reblogs_hint: לא מוחק מי מהודעותיך שקיבלו לפחות את המספר הזה של הדהודים. להשאיר ריק כדי למחוק הודעות ללא קשר למספר ההדהודים שקיבלו
|
||||
stream_entries:
|
||||
pinned: הודעה נעוצה
|
||||
reblogged: הודהד
|
||||
sensitive_content: תוכן רגיש
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -207,7 +207,6 @@ hr:
|
|||
public: Javno
|
||||
unlisted: Neprikazano
|
||||
stream_entries:
|
||||
reblogged: boostano
|
||||
sensitive_content: Osjetljivi sadržaj
|
||||
two_factor_authentication:
|
||||
disable: Onemogući 2FA
|
||||
|
|
|
@ -1634,7 +1634,6 @@ hu:
|
|||
show_newer: Újabbak mutatása
|
||||
show_older: Régebbiek mutatása
|
||||
show_thread: Szál mutatása
|
||||
sign_in_to_participate: Bejelentkezés a beszélgetésben részvételhez
|
||||
title: "%{name}: „%{quote}”"
|
||||
visibilities:
|
||||
direct: Közvetlen
|
||||
|
@ -1680,8 +1679,6 @@ hu:
|
|||
min_reblogs: Bejegyzések megtartása, melyeket többször toltak meg, mint
|
||||
min_reblogs_hint: Egyetlen olyan bejegyzésedet sem törli, melyet ennél többször toltak meg. Hagyd üresen, hogy a megtolások számától függetlenül töröljük a bejegyzéseket
|
||||
stream_entries:
|
||||
pinned: Kitűzött bejegyzés
|
||||
reblogged: megtolta
|
||||
sensitive_content: Kényes tartalom
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -802,7 +802,6 @@ hy:
|
|||
show_newer: Ցուցադրել նորերը
|
||||
show_older: Ցուցադրել հները
|
||||
show_thread: Բացել շղթան
|
||||
sign_in_to_participate: Մուտք գործէք՝ զրոյցին միանալու համար
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Հասցէագրուած
|
||||
|
@ -824,8 +823,6 @@ hy:
|
|||
'63113904': 2 տարի
|
||||
'7889238': 3 ամիս
|
||||
stream_entries:
|
||||
pinned: Ամրացուած գրառում
|
||||
reblogged: տարածուած
|
||||
sensitive_content: Կասկածելի բովանդակութիւն
|
||||
themes:
|
||||
contrast: Mastodon (բարձր կոնտրաստով)
|
||||
|
|
|
@ -1448,7 +1448,6 @@ id:
|
|||
show_newer: Tampilkan lebih baru
|
||||
show_older: Tampilkan lebih lama
|
||||
show_thread: Tampilkan utas
|
||||
sign_in_to_participate: Masuk untuk mengikuti percakapan
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Langsung
|
||||
|
@ -1493,8 +1492,6 @@ id:
|
|||
min_reblogs: Simpan kiriman yang di-boost lebih dari
|
||||
min_reblogs_hint: Tidak menghapus kiriman Anda yang di-boost lebih dari sekian kali. Kosongkan bila ingin menghapus kiriman tanpa peduli jumlah boost-nya
|
||||
stream_entries:
|
||||
pinned: Kiriman tersemat
|
||||
reblogged: di-boost-kan
|
||||
sensitive_content: Konten sensitif
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1437,7 +1437,6 @@ io:
|
|||
show_newer: Montrez plu nova kozo
|
||||
show_older: Montrez plu olda kozo
|
||||
show_thread: Montrez postaro
|
||||
sign_in_to_participate: Registrez por partoprenar en konverso
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direta
|
||||
|
@ -1482,8 +1481,6 @@ io:
|
|||
min_reblogs: Retenez bustita posti mine
|
||||
min_reblogs_hint: Ne efacas irga vua posti quo bustigesos mine ca foyoquanto. Restez quale vakua por efacar posti sen suciar olia foyoquanto
|
||||
stream_entries:
|
||||
pinned: Pinglagita posto
|
||||
reblogged: diskonocigita
|
||||
sensitive_content: Titiliva kontenajo
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1638,7 +1638,6 @@ is:
|
|||
show_newer: Sýna nýrri
|
||||
show_older: Sýna eldri
|
||||
show_thread: Birta þráð
|
||||
sign_in_to_participate: Skráðu þig inn til að taka þátt í samtalinu
|
||||
title: "%{name}: „%{quote}‟"
|
||||
visibilities:
|
||||
direct: Beint
|
||||
|
@ -1684,8 +1683,6 @@ is:
|
|||
min_reblogs: Halda færslum sem eru endurbirtar oftar en
|
||||
min_reblogs_hint: Eyðir ekki þínum eigin færslum sem endurbirtar hafa verið þetta oft. Skildu þetta eftir autt til að eyða færslum burtséð frá fjölda endurbirtinga
|
||||
stream_entries:
|
||||
pinned: Fest færsla
|
||||
reblogged: endurbirt
|
||||
sensitive_content: Viðkvæmt efni
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1636,7 +1636,6 @@ it:
|
|||
show_newer: Mostra più nuovi
|
||||
show_older: Mostra più vecchi
|
||||
show_thread: Mostra thread
|
||||
sign_in_to_participate: Accedi per partecipare alla conversazione
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Diretto
|
||||
|
@ -1682,8 +1681,6 @@ it:
|
|||
min_reblogs: Conserva i post condivisi più di
|
||||
min_reblogs_hint: Non cancella nessuno dei tuoi post che è stato condiviso più di questo numero di volte. Lascia vuoto per cancellare i post indipendentemente dal loro numero di condivisioni
|
||||
stream_entries:
|
||||
pinned: Post fissato in cima
|
||||
reblogged: condiviso
|
||||
sensitive_content: Materiale sensibile
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1602,7 +1602,6 @@ ja:
|
|||
show_newer: 新しいものを表示
|
||||
show_older: 古いものを表示
|
||||
show_thread: スレッドを表示
|
||||
sign_in_to_participate: ログインして会話に参加
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: ダイレクト
|
||||
|
@ -1648,8 +1647,6 @@ ja:
|
|||
min_reblogs: ブーストの基準値
|
||||
min_reblogs_hint: この数以上、ブーストされた投稿を削除せずに残します。空白にしておくと、ブーストされた数に関わらず投稿を削除します。
|
||||
stream_entries:
|
||||
pinned: 固定された投稿
|
||||
reblogged: さんがブースト
|
||||
sensitive_content: 閲覧注意
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -457,7 +457,6 @@ ka:
|
|||
ownership: სხვისი ტუტი ვერ აიპინება
|
||||
reblog: ბუსტი ვერ აიპინება
|
||||
show_more: მეტის ჩვენება
|
||||
sign_in_to_participate: საუბარში მონაწილეობისთვის გაიარეთ ავტორიზაცია
|
||||
visibilities:
|
||||
private: მხოლოდ-მიმდევრები
|
||||
private_long: აჩვენე მხოლოდ მიმდევრებს
|
||||
|
@ -466,8 +465,6 @@ ka:
|
|||
unlisted: ჩამოუთვლელი
|
||||
unlisted_long: ხედავს ყველა, მაგრამ არ ჩანს საჯარო თაიმლაინებში
|
||||
stream_entries:
|
||||
pinned: აპინული ტუტი
|
||||
reblogged: გაზრდილი
|
||||
sensitive_content: მგრძნობიარე კონტენტი
|
||||
themes:
|
||||
contrast: მაღალი კონტრასტი
|
||||
|
|
|
@ -713,7 +713,6 @@ kab:
|
|||
show_more: Ssken-d ugar
|
||||
show_newer: Ssken-d timaynutin
|
||||
show_thread: Ssken-d lxiḍ
|
||||
sign_in_to_participate: Qqen i waken ad tzeddiḍ deg udiwenni
|
||||
title: '%{name} : "%{quote}"'
|
||||
visibilities:
|
||||
direct: Usrid
|
||||
|
@ -733,7 +732,6 @@ kab:
|
|||
'63113904': 2 n yiseggasen
|
||||
'7889238': 3 n wayyuren
|
||||
stream_entries:
|
||||
pinned: Tijewwiqt yettwasentḍen
|
||||
sensitive_content: Agbur amḥulfu
|
||||
themes:
|
||||
contrast: Maṣṭudun (agnil awriran)
|
||||
|
|
|
@ -691,7 +691,6 @@ kk:
|
|||
vote: Дауыс беру
|
||||
show_more: Тағы әкел
|
||||
show_thread: Тақырыпты көрсет
|
||||
sign_in_to_participate: Сұхбатқа қатысу үшін кіріңіз
|
||||
visibilities:
|
||||
private: Тек оқырмандарға
|
||||
private_long: Тек оқырмандарға ғана көрінеді
|
||||
|
@ -700,8 +699,6 @@ kk:
|
|||
unlisted: Тізімге енбеген
|
||||
unlisted_long: Бәрі көре алады, бірақ ашық тізімдерге ене алмайды
|
||||
stream_entries:
|
||||
pinned: Жабыстырылған жазба
|
||||
reblogged: бөлісті
|
||||
sensitive_content: Нәзік мазмұн
|
||||
tags:
|
||||
does_not_match_previous_name: алдыңғы атқа сәйкес келмейді
|
||||
|
|
|
@ -1604,7 +1604,6 @@ ko:
|
|||
show_newer: 새로운 것 표시
|
||||
show_older: 오래된 것 표시
|
||||
show_thread: 글타래 보기
|
||||
sign_in_to_participate: 대화에 참여 위해 로그인 하기
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: 다이렉트
|
||||
|
@ -1650,8 +1649,6 @@ ko:
|
|||
min_reblogs: 해당 횟수 이상 부스트된 게시물 유지
|
||||
min_reblogs_hint: 이 횟수 이상의 부스트가 된 게시물은 삭제하지 않습니다. 부스트 수와 관계없이 게시물을 지우고 싶다면 공백으로 두세요
|
||||
stream_entries:
|
||||
pinned: 고정된 게시물
|
||||
reblogged: 님이 부스트 했습니다
|
||||
sensitive_content: 민감한 내용
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1482,7 +1482,6 @@ ku:
|
|||
show_newer: Nûtirîn nîşan bide
|
||||
show_older: Kevntirîn nîşan bide
|
||||
show_thread: Mijarê nîşan bide
|
||||
sign_in_to_participate: Ji bo tevlî sohbetê bibî xwe tomar bike
|
||||
title: "%{name}%{quote}"
|
||||
visibilities:
|
||||
direct: Rasterast
|
||||
|
@ -1527,8 +1526,6 @@ ku:
|
|||
min_reblogs: Şandiyên ku bêtir hatine bilindkirin veşêre
|
||||
min_reblogs_hint: Şandî ku ji ji vê hejmarê bêtir bilindkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe
|
||||
stream_entries:
|
||||
pinned: Şandiya derzîkirî
|
||||
reblogged: bilindkirî
|
||||
sensitive_content: Naveroka hestiyarî
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -458,7 +458,6 @@ lt:
|
|||
ownership: Kitų vartotojų toot'ai negali būti prisegti
|
||||
reblog: Pakeltos žinutės negali būti prisegtos
|
||||
show_more: Daugiau
|
||||
sign_in_to_participate: Prisijunkite jeigu norite dalyvauti pokalbyje
|
||||
visibilities:
|
||||
private: Tik sekėjams
|
||||
private_long: Rodyti tik sekėjams
|
||||
|
@ -467,8 +466,6 @@ lt:
|
|||
unlisted: Neįtrauktas į sąrašus
|
||||
unlisted_long: Matyti gali visi, tačiau nėra įtraukta į viešas laiko juostas
|
||||
stream_entries:
|
||||
pinned: Prisegtas toot'as
|
||||
reblogged: pakeltas
|
||||
sensitive_content: Jautrus turinys
|
||||
themes:
|
||||
contrast: Mastodon (Didelio Kontrasto)
|
||||
|
|
|
@ -1625,7 +1625,6 @@ lv:
|
|||
show_newer: Nekad nerādīt
|
||||
show_older: Rādīt senākus
|
||||
show_thread: Rādīt tematu
|
||||
sign_in_to_participate: Lai piedalītos sarunā, pieraksties
|
||||
title: "%{name}: “%{quote}”"
|
||||
visibilities:
|
||||
direct: Tiešs
|
||||
|
@ -1671,8 +1670,6 @@ lv:
|
|||
min_reblogs: Saglabāt ziņas izceltas vismaz
|
||||
min_reblogs_hint: Neizdzēš nevienu no tavām ziņām, kas ir izceltas vismaz tik reižu. Atstāj tukšu, lai dzēstu ziņas neatkarīgi no to izcēlumu skaita
|
||||
stream_entries:
|
||||
pinned: Piespraustā ziņa
|
||||
reblogged: izceltie
|
||||
sensitive_content: Sensitīvs saturs
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -942,7 +942,6 @@ ms:
|
|||
edited_at_html: Disunting %{date}
|
||||
poll:
|
||||
vote: Undi
|
||||
sign_in_to_participate: Daftar masuk untuk menyertai perbualan
|
||||
visibilities:
|
||||
direct: Terus
|
||||
private: Pengikut sahaja
|
||||
|
@ -968,7 +967,6 @@ ms:
|
|||
'7889238': 3 bulan
|
||||
min_favs: Simpan hantaran digemarkan sekurang-kurangnya
|
||||
stream_entries:
|
||||
pinned: Hantaran disemat
|
||||
sensitive_content: Kandungan sensitif
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1602,7 +1602,6 @@ my:
|
|||
show_newer: ပို့စ်အသစ်များပြရန်
|
||||
show_older: ပို့စ်အဟောင်းများပြရန်
|
||||
show_thread: Thread ကို ပြပါ
|
||||
sign_in_to_participate: စကားဝိုင်းတွင် ပါဝင်ရန် အကောင့်ဝင်ပါ
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: တိုက်ရိုက်
|
||||
|
@ -1648,8 +1647,6 @@ my:
|
|||
min_reblogs: အနည်းဆုံးအားဖြင့် Boost လုပ်ထားသည့်ပို့စ်များကို သိမ်းဆည်းပါ
|
||||
min_reblogs_hint: အနည်းဆုံး ဤအကြိမ်အရေအတွက်ကို မြှင့်တင်ထားသည့် သင့်ပို့စ်များကို မဖျက်ပါ။ ၎င်းတို့၏ မြှင့်တင်မှုအရေအတွက်ကို မခွဲခြားဘဲ ပို့စ်များကို ဖျက်ရန် ချန်ထားပါ
|
||||
stream_entries:
|
||||
pinned: ပင်တွဲထားသောပို့စ်
|
||||
reblogged: Boost လုပ်ခဲ့သည်
|
||||
sensitive_content: သတိထားရသော အကြောင်းအရာ
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ nl:
|
|||
show_newer: Nieuwere tonen
|
||||
show_older: Oudere tonen
|
||||
show_thread: Gesprek tonen
|
||||
sign_in_to_participate: Log in om deel te nemen aan het gesprek
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Privébericht
|
||||
|
@ -1680,8 +1679,6 @@ nl:
|
|||
min_reblogs: Berichten die minstens zoveel keer zijn geboost behouden
|
||||
min_reblogs_hint: Verwijdert geen berichten die tenminste zoveel keer zijn geboost. Laat leeg om berichten ongeacht het aantal boosts te verwijderen
|
||||
stream_entries:
|
||||
pinned: Vastgemaakt bericht
|
||||
reblogged: boostte
|
||||
sensitive_content: Gevoelige inhoud
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1609,7 +1609,6 @@ nn:
|
|||
show_newer: Vis nyere
|
||||
show_older: Vis eldre
|
||||
show_thread: Vis tråden
|
||||
sign_in_to_participate: Logg inn for å verta med i samtalen
|
||||
title: "%{name}: «%{quote}»"
|
||||
visibilities:
|
||||
direct: Direkte
|
||||
|
@ -1655,8 +1654,6 @@ nn:
|
|||
min_reblogs: Behold innlegg fremhevet av minst
|
||||
min_reblogs_hint: Sletter ikke noen av dine innlegg som har blitt fremhevet minst dette antall ganger. La stå tom for å slette innlegg uavhengig av antall fremhevinger
|
||||
stream_entries:
|
||||
pinned: Festa tut
|
||||
reblogged: framheva
|
||||
sensitive_content: Ømtolig innhald
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1556,7 +1556,6 @@
|
|||
show_newer: Vis nyere
|
||||
show_older: Vis eldre
|
||||
show_thread: Vis tråden
|
||||
sign_in_to_participate: Logg på for å delta i samtalen
|
||||
title: "%{name}: «%{quote}»"
|
||||
visibilities:
|
||||
direct: Direkte
|
||||
|
@ -1602,8 +1601,6 @@
|
|||
min_reblogs: Behold innlegg fremhevet av minst
|
||||
min_reblogs_hint: Sletter ikke noen av dine innlegg som har blitt fremhevet minst dette antall ganger. La stå tom for å slette innlegg uavhengig av antall fremhevinger
|
||||
stream_entries:
|
||||
pinned: Festet innlegg
|
||||
reblogged: fremhevet
|
||||
sensitive_content: Følsomt innhold
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -890,7 +890,6 @@ oc:
|
|||
show_newer: Veire mai recents
|
||||
show_older: Veire mai ancians
|
||||
show_thread: Mostrar lo fil
|
||||
sign_in_to_participate: Inscrivètz-vos per participar a la conversacion
|
||||
title: '%{name} : "%{quote}"'
|
||||
visibilities:
|
||||
direct: Dirècte
|
||||
|
@ -933,8 +932,6 @@ oc:
|
|||
min_reblogs: Gardar las publicacions partejadas al mens
|
||||
min_reblogs_hint: Suprimís pas vòstras publicacions qu’an agut aqueste nombre de partiment. Daissar blanc per suprimir las publicacions sens far cas als partiments
|
||||
stream_entries:
|
||||
pinned: Tut penjat
|
||||
reblogged: a partejat
|
||||
sensitive_content: Contengut sensible
|
||||
tags:
|
||||
does_not_match_previous_name: correspond pas al nom precedent
|
||||
|
|
|
@ -1698,7 +1698,6 @@ pl:
|
|||
show_newer: Pokaż nowsze
|
||||
show_older: Pokaż starsze
|
||||
show_thread: Pokaż wątek
|
||||
sign_in_to_participate: Zaloguj się, aby udzielić się w tej konwersacji
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Bezpośredni
|
||||
|
@ -1744,8 +1743,6 @@ pl:
|
|||
min_reblogs: Utrzymuj posty wzmocnione więcej niż
|
||||
min_reblogs_hint: Nie usuwa żadnego z Twoich wpisów, które zostały wzmocnione więcej niż tyle razy. Pozostaw puste, aby usunąć posty bez względu na ich liczbę wzmocnień
|
||||
stream_entries:
|
||||
pinned: Przypięty wpis
|
||||
reblogged: podbił
|
||||
sensitive_content: Wrażliwa zawartość
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ pt-BR:
|
|||
show_newer: Mostrar mais recentes
|
||||
show_older: Mostrar mais antigos
|
||||
show_thread: Mostrar conversa
|
||||
sign_in_to_participate: Entre para participar dessa conversa
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direto
|
||||
|
@ -1680,8 +1679,6 @@ pt-BR:
|
|||
min_reblogs: Manter publicações impulsionadas por ao menos
|
||||
min_reblogs_hint: Não exclui publicações que receberam pelo menos esta quantidade de impulsos. Deixe em branco para excluir publicações independentemente da quantidade de impulsos
|
||||
stream_entries:
|
||||
pinned: Toot fixado
|
||||
reblogged: deu boost
|
||||
sensitive_content: Conteúdo sensível
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ pt-PT:
|
|||
show_newer: Mostrar mais recentes
|
||||
show_older: Mostrar mais antigos
|
||||
show_thread: Mostrar conversa
|
||||
sign_in_to_participate: Inicie a sessão para participar na conversa
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direto
|
||||
|
@ -1680,8 +1679,6 @@ pt-PT:
|
|||
min_reblogs: Manter as publicações reforçadas mais de
|
||||
min_reblogs_hint: Não apaga nenhuma das suas publicações que tenha sido partilhada mais do que este número de vezes. Deixe em branco para apagar as publicações, independentemente do número de partilhas
|
||||
stream_entries:
|
||||
pinned: Publicação afixada
|
||||
reblogged: reforçada
|
||||
sensitive_content: Conteúdo problemático
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -679,7 +679,6 @@ ro:
|
|||
vote: Votează
|
||||
show_more: Arată mai mult
|
||||
show_thread: Arată discuția
|
||||
sign_in_to_participate: Conectează-te pentru a participa la conversație
|
||||
visibilities:
|
||||
private: Doar urmăritorii
|
||||
private_long: Arată doar urmăritorilor
|
||||
|
@ -687,8 +686,6 @@ ro:
|
|||
unlisted: Nelistat
|
||||
unlisted_long: Toată lumea poate vedea, dar nu este listată pe fluxurile publice
|
||||
stream_entries:
|
||||
pinned: Postare fixată
|
||||
reblogged: impulsionată
|
||||
sensitive_content: Conținut sensibil
|
||||
tags:
|
||||
does_not_match_previous_name: nu se potrivește cu numele anterior
|
||||
|
|
|
@ -1674,7 +1674,6 @@ ru:
|
|||
show_newer: Показать более новое
|
||||
show_older: Показать старые
|
||||
show_thread: Открыть обсуждение
|
||||
sign_in_to_participate: Войдите, чтобы принять участие в дискуссии
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Адресованный
|
||||
|
@ -1720,8 +1719,6 @@ ru:
|
|||
min_reblogs: Порог продвижений
|
||||
min_reblogs_hint: Не удаляет ваши посты, количество продвижений которых достигло указанного выше значения. Оставьте поле пустым, чтобы удалять посты независимо от количества продвижений.
|
||||
stream_entries:
|
||||
pinned: Закреплённый пост
|
||||
reblogged: продвинул(а)
|
||||
sensitive_content: Содержимое деликатного характера
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -931,7 +931,6 @@ sc:
|
|||
show_newer: Ammustra is prus noos
|
||||
show_older: Ammustra is prus betzos
|
||||
show_thread: Ammustra su tema
|
||||
sign_in_to_participate: Identìfica·ti pro partetzipare in s'arresonada
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Deretu
|
||||
|
@ -952,8 +951,6 @@ sc:
|
|||
'63113904': 2 annos
|
||||
'7889238': 3 meses
|
||||
stream_entries:
|
||||
pinned: Tut apicadu
|
||||
reblogged: cumpartzidu
|
||||
sensitive_content: Cuntenutu sensìbile
|
||||
tags:
|
||||
does_not_match_previous_name: non cointzidet cun su nòmine anteriore
|
||||
|
|
|
@ -1472,7 +1472,6 @@ sco:
|
|||
show_newer: Shaw newer
|
||||
show_older: Shaw aulder
|
||||
show_thread: Shaw threid
|
||||
sign_in_to_participate: Sign in fir tae tak pairt in the conversation
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direck
|
||||
|
@ -1517,8 +1516,6 @@ sco:
|
|||
min_reblogs: Keep posts heezed at least
|
||||
min_reblogs_hint: Disnae delete onie o yer posts thit's been heezed at least this nummer o times. Lea blank fir tae delete posts regairdless o their number o heezes
|
||||
stream_entries:
|
||||
pinned: Preent post
|
||||
reblogged: heezed
|
||||
sensitive_content: Sensitive content
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1265,7 +1265,6 @@ si:
|
|||
show_newer: අලුත්ම පෙන්වන්න
|
||||
show_older: පැරණි පෙන්වන්න
|
||||
show_thread: නූල් පෙන්වන්න
|
||||
sign_in_to_participate: සංවාදයට සහභාගී වීමට පුරන්න
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: සෘජු
|
||||
|
@ -1310,8 +1309,6 @@ si:
|
|||
min_reblogs: අඩුම තරමේ පෝස්ට් බූස්ට් කරගෙන තියාගන්න
|
||||
min_reblogs_hint: අඩුම තරමින් මෙම වාර ගණන වැඩි කර ඇති ඔබගේ පළ කිරීම් කිසිවක් මකා නොදමන්න. බූස්ට් ගණන නොතකා පළ කිරීම් මැකීමට හිස්ව තබන්න
|
||||
stream_entries:
|
||||
pinned: ඇමිණූ ලිපිය
|
||||
reblogged: ඉහල නැංවීය
|
||||
sensitive_content: සංවේදී අන්තර්ගතයකි
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1124,7 +1124,6 @@ sk:
|
|||
vote: Hlasuj
|
||||
show_more: Ukáž viac
|
||||
show_thread: Ukáž diskusné vlákno
|
||||
sign_in_to_participate: Prihlás sa pre zapojenie do diskusie
|
||||
title: '%{name}: „%{quote}"'
|
||||
visibilities:
|
||||
private: Iba pre sledovateľov
|
||||
|
@ -1138,8 +1137,6 @@ sk:
|
|||
keep_pinned_hint: Nevymaže žiadne s tvojich pripnutých príspevkov
|
||||
keep_self_bookmark: Ponechaj príspevky, ktoré sú záložkami
|
||||
stream_entries:
|
||||
pinned: Pripnutý príspevok
|
||||
reblogged: vyzdvihli
|
||||
sensitive_content: Senzitívny obsah
|
||||
tags:
|
||||
does_not_match_previous_name: nezhoduje sa s predošlým názvom
|
||||
|
|
|
@ -1659,7 +1659,6 @@ sl:
|
|||
show_newer: Pokaži novejše
|
||||
show_older: Pokaži starejše
|
||||
show_thread: Pokaži nit
|
||||
sign_in_to_participate: Prijavite se, če želite sodelovati v pogovoru
|
||||
title: "%{name}: »%{quote}«"
|
||||
visibilities:
|
||||
direct: Neposredno
|
||||
|
@ -1705,8 +1704,6 @@ sl:
|
|||
min_reblogs: Obdrži objave izpostavljene vsaj
|
||||
min_reblogs_hint: Ne izbriše nobene od vaših objav, ki je bila vsaj tolikokrat podprta. Pustite prazno, če želite izbrisati objave ne glede na število izpostavitev
|
||||
stream_entries:
|
||||
pinned: Pripeta objava
|
||||
reblogged: izpostavljeno
|
||||
sensitive_content: Občutljiva vsebina
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ sq:
|
|||
show_newer: Shfaq më të reja
|
||||
show_older: Shfaq më të vjetra
|
||||
show_thread: Shfaq rrjedhën
|
||||
sign_in_to_participate: Bëni hyrjen, që të merrni pjesë te biseda
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: I drejtpërdrejtë
|
||||
|
@ -1680,8 +1679,6 @@ sq:
|
|||
min_reblogs: Mbaji postimet e përforcuara më shumë se
|
||||
min_reblogs_hint: Nuk fshihet ndonjë nga postimet tuaja që kanë marrë më shumë se sa ky numër përforcimesh. Lëreni të zbrazët për të fshirë postimet, pavarësisht të numrit të përforcimeve për to
|
||||
stream_entries:
|
||||
pinned: Mesazh i fiksuar
|
||||
reblogged: të përforcuara
|
||||
sensitive_content: Lëndë rezervat
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1666,7 +1666,6 @@ sr-Latn:
|
|||
show_newer: Nikad ne prikazuj
|
||||
show_older: Prikaži starije
|
||||
show_thread: Prikaži niz
|
||||
sign_in_to_participate: Prijavite se da učestvujete u razgovoru
|
||||
title: "%{name}: „%{quote}”"
|
||||
visibilities:
|
||||
direct: Direktno
|
||||
|
@ -1712,8 +1711,6 @@ sr-Latn:
|
|||
min_reblogs: Zadrži objave podržane barem
|
||||
min_reblogs_hint: Ne briše nijednu vašu objavu koja je bila podržana najmanje ovoliko puta. Ostavite prazno za brisanje objava bez obzira na njihov broj podržavanja
|
||||
stream_entries:
|
||||
pinned: Zakačena objava
|
||||
reblogged: podržano
|
||||
sensitive_content: Osetljiv sadržaj
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1666,7 +1666,6 @@ sr:
|
|||
show_newer: Никад не приказуј
|
||||
show_older: Прикажи старије
|
||||
show_thread: Прикажи низ
|
||||
sign_in_to_participate: Пријавите се да учествујете у разговору
|
||||
title: "%{name}: „%{quote}”"
|
||||
visibilities:
|
||||
direct: Директно
|
||||
|
@ -1712,8 +1711,6 @@ sr:
|
|||
min_reblogs: Задржи објаве подржане барем
|
||||
min_reblogs_hint: Не брише ниједну вашу објаву која је била подржана најмање оволико пута. Оставите празно за брисање објава без обзира на њихов број подржавања
|
||||
stream_entries:
|
||||
pinned: Закачена објава
|
||||
reblogged: подржано
|
||||
sensitive_content: Осетљив садржај
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1570,7 +1570,6 @@ sv:
|
|||
show_newer: Visa nyare
|
||||
show_older: Visa äldre
|
||||
show_thread: Visa tråd
|
||||
sign_in_to_participate: Logga in för att delta i konversationen
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Direkt
|
||||
|
@ -1616,8 +1615,6 @@ sv:
|
|||
min_reblogs: Behåll boostade inlägg i minst
|
||||
min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostar
|
||||
stream_entries:
|
||||
pinned: Fäst inlägg
|
||||
reblogged: boostad
|
||||
sensitive_content: Känsligt innehåll
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1602,7 +1602,6 @@ th:
|
|||
show_newer: แสดงที่ใหม่กว่า
|
||||
show_older: แสดงที่เก่ากว่า
|
||||
show_thread: แสดงกระทู้
|
||||
sign_in_to_participate: เข้าสู่ระบบเพื่อเข้าร่วมการสนทนา
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: โดยตรง
|
||||
|
@ -1648,8 +1647,6 @@ th:
|
|||
min_reblogs: เก็บโพสต์ที่ได้รับการดันอย่างน้อย
|
||||
min_reblogs_hint: ไม่ลบโพสต์ใดก็ตามของคุณที่ได้รับจำนวนครั้งการดันอย่างน้อยเท่านี้ เว้นว่างไว้เพื่อลบโพสต์โดยไม่คำนึงถึงจำนวนการดันของโพสต์
|
||||
stream_entries:
|
||||
pinned: โพสต์ที่ปักหมุด
|
||||
reblogged: ดันแล้ว
|
||||
sensitive_content: เนื้อหาที่ละเอียดอ่อน
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1634,7 +1634,6 @@ tr:
|
|||
show_newer: Yenileri göster
|
||||
show_older: Eskileri göster
|
||||
show_thread: Konuyu göster
|
||||
sign_in_to_participate: Sohbete katılmak için oturum açın
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Doğrudan
|
||||
|
@ -1680,8 +1679,6 @@ tr:
|
|||
min_reblogs: Şundan daha fazla teşvik edilen gönderileri sakla
|
||||
min_reblogs_hint: Bu belirtilenden daha fazla teşvik edilen gönderilerinizin herhangi birini silmez. Teşvik sayısından bağımsız olarak gönderilerin silinmesi için burayı boş bırakın
|
||||
stream_entries:
|
||||
pinned: Sabitlenmiş gönderi
|
||||
reblogged: boostladı
|
||||
sensitive_content: Hassas içerik
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1698,7 +1698,6 @@ uk:
|
|||
show_newer: Показати новіші
|
||||
show_older: Показати давніші
|
||||
show_thread: Відкрити обговорення
|
||||
sign_in_to_participate: Увійдіть для участі в бесіді
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Особисто
|
||||
|
@ -1744,8 +1743,6 @@ uk:
|
|||
min_reblogs: Залишати дописи, поширені більше ніж
|
||||
min_reblogs_hint: Не видаляти ваших дописів, що були поширені більш ніж вказану кількість разів. Залиште порожнім, щоб видаляти дописи, попри кількість їхніх поширень
|
||||
stream_entries:
|
||||
pinned: Закріплений допис
|
||||
reblogged: поширив
|
||||
sensitive_content: Дражливий зміст
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1602,7 +1602,6 @@ vi:
|
|||
show_newer: Mới hơn
|
||||
show_older: Cũ hơn
|
||||
show_thread: Trích nguyên văn
|
||||
sign_in_to_participate: Đăng nhập để trả lời tút này
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
direct: Nhắn riêng
|
||||
|
@ -1648,8 +1647,6 @@ vi:
|
|||
min_reblogs: Giữ những tút đã đăng lại lâu hơn
|
||||
min_reblogs_hint: Những tút có lượt đăng lại nhiều hơn số này sẽ không bị xóa. Để trống nếu bạn muốn xóa hết
|
||||
stream_entries:
|
||||
pinned: Tút đã ghim
|
||||
reblogged: đăng lại
|
||||
sensitive_content: NSFW
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1602,7 +1602,6 @@ zh-CN:
|
|||
show_newer: 显示更新内容
|
||||
show_older: 显示更早内容
|
||||
show_thread: 显示全部对话
|
||||
sign_in_to_participate: 登录以加入对话
|
||||
title: "%{name}:“%{quote}”"
|
||||
visibilities:
|
||||
direct: 私信
|
||||
|
@ -1648,8 +1647,6 @@ zh-CN:
|
|||
min_reblogs: 保留如下嘟文:转嘟数超过
|
||||
min_reblogs_hint: 转嘟数超过该阈值的的嘟文不会被删除。如果留空,则无论嘟文获得多少转嘟,都将被删除。
|
||||
stream_entries:
|
||||
pinned: 置顶嘟文
|
||||
reblogged: 转嘟
|
||||
sensitive_content: 敏感内容
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1507,7 +1507,6 @@ zh-HK:
|
|||
show_newer: 顯示較新嘟文
|
||||
show_older: 顯示較舊嘟文
|
||||
show_thread: 顯示討論串
|
||||
sign_in_to_participate: 登入以加入討論
|
||||
title: "%{name}:「%{quote}」"
|
||||
visibilities:
|
||||
direct: 私人訊息
|
||||
|
@ -1553,8 +1552,6 @@ zh-HK:
|
|||
min_reblogs: 保留超過嘟文轉嘟門檻
|
||||
min_reblogs_hint: 如果您嘟文已收到超過轉嘟門檻則不會刪除。留白表示不論轉嘟數量皆刪除嘟文。
|
||||
stream_entries:
|
||||
pinned: 置頂文章
|
||||
reblogged: 轉推
|
||||
sensitive_content: 敏感內容
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -1606,7 +1606,6 @@ zh-TW:
|
|||
show_newer: 顯示較新嘟文
|
||||
show_older: 顯示較舊嘟文
|
||||
show_thread: 顯示討論串
|
||||
sign_in_to_participate: 登入以加入討論
|
||||
title: "%{name}:「%{quote}」"
|
||||
visibilities:
|
||||
direct: 私訊
|
||||
|
@ -1652,8 +1651,6 @@ zh-TW:
|
|||
min_reblogs: 保留超過嘟文轉嘟門檻
|
||||
min_reblogs_hint: 如果您嘟文已收到超過轉嘟門檻則不會刪除。留白表示不論轉嘟數量皆刪除該嘟文。
|
||||
stream_entries:
|
||||
pinned: 釘選嘟文
|
||||
reblogged: 轉嘟
|
||||
sensitive_content: 敏感內容
|
||||
strikes:
|
||||
errors:
|
||||
|
|
|
@ -10,6 +10,12 @@ describe Api::V1::Statuses::ReblogsController do
|
|||
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'write:statuses', application: app) }
|
||||
|
||||
context 'with an oauth token' do
|
||||
around do |example|
|
||||
Sidekiq::Testing.fake! do
|
||||
example.run
|
||||
end
|
||||
end
|
||||
|
||||
before do
|
||||
allow(controller).to receive(:doorkeeper_token) { token }
|
||||
end
|
||||
|
|
|
@ -13,5 +13,6 @@ Fabricator(:account) do
|
|||
suspended_at { |attrs| attrs[:suspended] ? Time.now.utc : nil }
|
||||
silenced_at { |attrs| attrs[:silenced] ? Time.now.utc : nil }
|
||||
user { |attrs| attrs[:domain].nil? ? Fabricate.build(:user, account: nil) : nil }
|
||||
uri { |attrs| attrs[:domain].nil? ? '' : "https://#{attrs[:domain]}/users/#{attrs[:username]}" }
|
||||
discoverable true
|
||||
end
|
||||
|
|
|
@ -114,129 +114,4 @@ describe StatusesHelper do
|
|||
params[:controller] = StatusesHelper::EMBEDDED_CONTROLLER
|
||||
params[:action] = StatusesHelper::EMBEDDED_ACTION
|
||||
end
|
||||
|
||||
describe '#style_classes' do
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
classes = helper.style_classes(status, false, false, false)
|
||||
|
||||
expect(classes).to eq 'entry'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: true)
|
||||
classes = helper.style_classes(status, false, false, false)
|
||||
|
||||
expect(classes).to eq 'entry entry-reblog'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
classes = helper.style_classes(status, true, false, false)
|
||||
|
||||
expect(classes).to eq 'entry entry-predecessor'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
classes = helper.style_classes(status, false, true, false)
|
||||
|
||||
expect(classes).to eq 'entry entry-successor'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
classes = helper.style_classes(status, false, false, true)
|
||||
|
||||
expect(classes).to eq 'entry entry-center'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: true)
|
||||
classes = helper.style_classes(status, true, true, true)
|
||||
|
||||
expect(classes).to eq 'entry entry-predecessor entry-reblog entry-successor entry-center'
|
||||
end
|
||||
end
|
||||
|
||||
describe '#microformats_classes' do
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
classes = helper.microformats_classes(status, false, false)
|
||||
|
||||
expect(classes).to eq ''
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
classes = helper.microformats_classes(status, true, false)
|
||||
|
||||
expect(classes).to eq 'p-in-reply-to'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
classes = helper.microformats_classes(status, false, true)
|
||||
|
||||
expect(classes).to eq 'p-comment'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: true)
|
||||
classes = helper.microformats_classes(status, true, false)
|
||||
|
||||
expect(classes).to eq 'p-in-reply-to p-repost-of'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: true)
|
||||
classes = helper.microformats_classes(status, true, true)
|
||||
|
||||
expect(classes).to eq 'p-in-reply-to p-repost-of p-comment'
|
||||
end
|
||||
end
|
||||
|
||||
describe '#microformats_h_class' do
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
css_class = helper.microformats_h_class(status, false, false, false)
|
||||
|
||||
expect(css_class).to eq 'h-entry'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: true)
|
||||
css_class = helper.microformats_h_class(status, false, false, false)
|
||||
|
||||
expect(css_class).to eq 'h-cite'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
css_class = helper.microformats_h_class(status, true, false, false)
|
||||
|
||||
expect(css_class).to eq 'h-cite'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
css_class = helper.microformats_h_class(status, false, true, false)
|
||||
|
||||
expect(css_class).to eq 'h-cite'
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: false)
|
||||
css_class = helper.microformats_h_class(status, false, false, true)
|
||||
|
||||
expect(css_class).to eq ''
|
||||
end
|
||||
|
||||
it do
|
||||
status = instance_double(Status, reblog?: true)
|
||||
css_class = helper.microformats_h_class(status, true, true, true)
|
||||
|
||||
expect(css_class).to eq 'h-cite'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,15 +5,15 @@ require 'rails_helper'
|
|||
RSpec.describe AccountReachFinder do
|
||||
let(:account) { Fabricate(:account) }
|
||||
|
||||
let(:ap_follower_example_com) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.com/inbox-1') }
|
||||
let(:ap_follower_example_org) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.org/inbox-2') }
|
||||
let(:ap_follower_with_shared) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://foo.bar/users/a/inbox', shared_inbox_url: 'https://foo.bar/inbox') }
|
||||
let(:ap_follower_example_com) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.com/inbox-1', domain: 'example.com') }
|
||||
let(:ap_follower_example_org) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.org/inbox-2', domain: 'example.org') }
|
||||
let(:ap_follower_with_shared) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://foo.bar/users/a/inbox', domain: 'foo.bar', shared_inbox_url: 'https://foo.bar/inbox') }
|
||||
|
||||
let(:ap_mentioned_with_shared) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://foo.bar/users/b/inbox', shared_inbox_url: 'https://foo.bar/inbox') }
|
||||
let(:ap_mentioned_example_com) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.com/inbox-3') }
|
||||
let(:ap_mentioned_example_org) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.org/inbox-4') }
|
||||
let(:ap_mentioned_with_shared) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://foo.bar/users/b/inbox', domain: 'foo.bar', shared_inbox_url: 'https://foo.bar/inbox') }
|
||||
let(:ap_mentioned_example_com) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.com/inbox-3', domain: 'example.com') }
|
||||
let(:ap_mentioned_example_org) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.org/inbox-4', domain: 'example.org') }
|
||||
|
||||
let(:unrelated_account) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.com/unrelated-inbox') }
|
||||
let(:unrelated_account) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://example.com/unrelated-inbox', domain: 'example.com') }
|
||||
|
||||
before do
|
||||
ap_follower_example_com.follow!(account)
|
||||
|
|
|
@ -5,7 +5,7 @@ require 'rails_helper'
|
|||
RSpec.describe ActivityPub::Activity::Announce do
|
||||
subject { described_class.new(json, sender) }
|
||||
|
||||
let(:sender) { Fabricate(:account, followers_url: 'http://example.com/followers', uri: 'https://example.com/actor') }
|
||||
let(:sender) { Fabricate(:account, followers_url: 'http://example.com/followers', uri: 'https://example.com/actor', domain: 'example.com') }
|
||||
let(:recipient) { Fabricate(:account) }
|
||||
let(:status) { Fabricate(:status, account: recipient) }
|
||||
|
||||
|
@ -114,7 +114,7 @@ RSpec.describe ActivityPub::Activity::Announce do
|
|||
context 'when the sender is relayed' do
|
||||
subject { described_class.new(json, sender, relayed_through_actor: relay_account) }
|
||||
|
||||
let!(:relay_account) { Fabricate(:account, inbox_url: 'https://relay.example.com/inbox') }
|
||||
let!(:relay_account) { Fabricate(:account, inbox_url: 'https://relay.example.com/inbox', domain: 'relay.example.com') }
|
||||
let!(:relay) { Fabricate(:relay, inbox_url: 'https://relay.example.com/inbox') }
|
||||
|
||||
let(:object_json) { 'https://example.com/actor/hello-world' }
|
||||
|
|
|
@ -5,22 +5,38 @@ require 'rails_helper'
|
|||
RSpec.describe ActivityPub::Activity::Update do
|
||||
subject { described_class.new(json, sender) }
|
||||
|
||||
let!(:sender) { Fabricate(:account) }
|
||||
|
||||
before do
|
||||
sender.update!(uri: ActivityPub::TagManager.instance.uri_for(sender))
|
||||
end
|
||||
let!(:sender) { Fabricate(:account, domain: 'example.com', inbox_url: 'https://example.com/foo/inbox', outbox_url: 'https://example.com/foo/outbox') }
|
||||
|
||||
describe '#perform' do
|
||||
context 'with an Actor object' do
|
||||
let(:modified_sender) do
|
||||
sender.tap do |modified_sender|
|
||||
modified_sender.display_name = 'Totally modified now'
|
||||
end
|
||||
end
|
||||
|
||||
let(:actor_json) do
|
||||
ActiveModelSerializers::SerializableResource.new(modified_sender, serializer: ActivityPub::ActorSerializer, adapter: ActivityPub::Adapter).as_json
|
||||
{
|
||||
'@context': [
|
||||
'https://www.w3.org/ns/activitystreams',
|
||||
'https://w3id.org/security/v1',
|
||||
{
|
||||
manuallyApprovesFollowers: 'as:manuallyApprovesFollowers',
|
||||
toot: 'http://joinmastodon.org/ns#',
|
||||
featured: { '@id': 'toot:featured', '@type': '@id' },
|
||||
featuredTags: { '@id': 'toot:featuredTags', '@type': '@id' },
|
||||
},
|
||||
],
|
||||
id: sender.uri,
|
||||
type: 'Person',
|
||||
following: 'https://example.com/users/dfsdf/following',
|
||||
followers: 'https://example.com/users/dfsdf/followers',
|
||||
inbox: sender.inbox_url,
|
||||
outbox: sender.outbox_url,
|
||||
featured: 'https://example.com/users/dfsdf/featured',
|
||||
featuredTags: 'https://example.com/users/dfsdf/tags',
|
||||
preferredUsername: sender.username,
|
||||
name: 'Totally modified now',
|
||||
publicKey: {
|
||||
id: "#{sender.uri}#main-key",
|
||||
owner: sender.uri,
|
||||
publicKeyPem: sender.public_key,
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
let(:json) do
|
||||
|
@ -28,7 +44,7 @@ RSpec.describe ActivityPub::Activity::Update do
|
|||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
id: 'foo',
|
||||
type: 'Update',
|
||||
actor: ActivityPub::TagManager.instance.uri_for(sender),
|
||||
actor: sender.uri,
|
||||
object: actor_json,
|
||||
}.with_indifferent_access
|
||||
end
|
||||
|
@ -38,6 +54,7 @@ RSpec.describe ActivityPub::Activity::Update do
|
|||
stub_request(:get, actor_json[:followers]).to_return(status: 404)
|
||||
stub_request(:get, actor_json[:following]).to_return(status: 404)
|
||||
stub_request(:get, actor_json[:featured]).to_return(status: 404)
|
||||
stub_request(:get, actor_json[:featuredTags]).to_return(status: 404)
|
||||
|
||||
subject.perform
|
||||
end
|
||||
|
@ -49,17 +66,17 @@ RSpec.describe ActivityPub::Activity::Update do
|
|||
|
||||
context 'with a Question object' do
|
||||
let!(:at_time) { Time.now.utc }
|
||||
let!(:status) { Fabricate(:status, account: sender, poll: Poll.new(account: sender, options: %w(Bar Baz), cached_tallies: [0, 0], expires_at: at_time + 5.days)) }
|
||||
let!(:status) { Fabricate(:status, uri: 'https://example.com/statuses/poll', account: sender, poll: Poll.new(account: sender, options: %w(Bar Baz), cached_tallies: [0, 0], expires_at: at_time + 5.days)) }
|
||||
|
||||
let(:json) do
|
||||
{
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
id: 'foo',
|
||||
type: 'Update',
|
||||
actor: ActivityPub::TagManager.instance.uri_for(sender),
|
||||
actor: sender.uri,
|
||||
object: {
|
||||
type: 'Question',
|
||||
id: ActivityPub::TagManager.instance.uri_for(status),
|
||||
id: status.uri,
|
||||
content: 'Foo',
|
||||
endTime: (at_time + 5.days).iso8601,
|
||||
oneOf: [
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue