From 01c169e796c4d8dd47526fcb07cb6cee1f034d9f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 24 Oct 2018 01:31:31 +0200 Subject: Fix JS error when posting from page without router context (#9073) Fix #9057 --- app/javascript/mastodon/actions/compose.js | 2 +- app/javascript/mastodon/features/compose/components/compose_form.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index fac8d32a1..86d83122f 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -142,7 +142,7 @@ export function submitCompose(routerHistory) { } }; - if (response.data.visibility === 'direct' && getState().getIn(['conversations', 'mounted']) <= 0) { + if (response.data.visibility === 'direct' && getState().getIn(['conversations', 'mounted']) <= 0 && routerHistory) { routerHistory.push('/timelines/direct'); } else if (response.data.visibility !== 'direct') { insertIfOnline('home'); diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js index 27178fe19..0625ab223 100644 --- a/app/javascript/mastodon/features/compose/components/compose_form.js +++ b/app/javascript/mastodon/features/compose/components/compose_form.js @@ -88,7 +88,7 @@ class ComposeForm extends ImmutablePureComponent { return; } - this.props.onSubmit(this.context.router.history); + this.props.onSubmit(this.context.router ? this.context.router.history : null); } onSuggestionsClearRequested = () => { -- cgit From 288e435fe536dc42fe7a13b8c965f21f8d68fb9e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 24 Oct 2018 18:17:15 +0200 Subject: Show upload options on click as well as hover (#9074) Fix #8918 --- .../mastodon/features/compose/components/upload.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/features/compose/components/upload.js b/app/javascript/mastodon/features/compose/components/upload.js index 66c93452c..a1e99dcbb 100644 --- a/app/javascript/mastodon/features/compose/components/upload.js +++ b/app/javascript/mastodon/features/compose/components/upload.js @@ -44,11 +44,13 @@ class Upload extends ImmutablePureComponent { this.props.onSubmit(this.context.router.history); } - handleUndoClick = () => { + handleUndoClick = e => { + e.stopPropagation(); this.props.onUndo(this.props.media.get('id')); } - handleFocalPointClick = () => { + handleFocalPointClick = e => { + e.stopPropagation(); this.props.onOpenFocalPoint(this.props.media.get('id')); } @@ -68,6 +70,10 @@ class Upload extends ImmutablePureComponent { this.setState({ focused: true }); } + handleClick = () => { + this.setState({ focused: true }); + } + handleInputBlur = () => { const { dirtyDescription } = this.state; @@ -88,7 +94,7 @@ class Upload extends ImmutablePureComponent { const y = ((focusY / -2) + .5) * 100; return ( -
+
{({ scale }) => (
-- cgit From d723f2a0a88d4ac106638733b7ba17f8d205850a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 24 Oct 2018 18:18:08 +0200 Subject: Fix RTL layout of status display names (#9075) Fix #2350 --- app/javascript/styles/mastodon/rtl.scss | 15 ++++----------- app/views/stream_entries/_simple_status.html.haml | 1 + 2 files changed, 5 insertions(+), 11 deletions(-) (limited to 'app') diff --git a/app/javascript/styles/mastodon/rtl.scss b/app/javascript/styles/mastodon/rtl.scss index a86e3e632..ccb53a090 100644 --- a/app/javascript/styles/mastodon/rtl.scss +++ b/app/javascript/styles/mastodon/rtl.scss @@ -130,17 +130,6 @@ body.rtl { float: left; } - .activity-stream .detailed-status.light .detailed-status__display-name > div { - float: right; - margin-right: 0; - margin-left: 10px; - } - - .activity-stream .detailed-status.light .detailed-status__meta span > span { - margin-left: 0; - margin-right: 6px; - } - .status__action-bar { &__counter { @@ -174,6 +163,10 @@ body.rtl { margin-right: 0; } + .detailed-status__display-name .display-name { + text-align: right; + } + .detailed-status__display-avatar { margin-right: 0; margin-left: 10px; diff --git a/app/views/stream_entries/_simple_status.html.haml b/app/views/stream_entries/_simple_status.html.haml index 1b00388b1..1a1dc37eb 100644 --- a/app/views/stream_entries/_simple_status.html.haml +++ b/app/views/stream_entries/_simple_status.html.haml @@ -15,6 +15,7 @@ %span.display-name %bdi %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: autoplay) +   %span.display-name__account = acct(status.account) = fa_icon('lock') if status.account.locked? -- cgit From e8ffecbd3606a1558563e0cb5f8ea296a6ab2ede Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Thu, 25 Oct 2018 07:10:01 +0900 Subject: Set @body_classes to admin layout (#9081) --- app/controllers/admin/base_controller.rb | 9 ++++++++- app/controllers/filters_controller.rb | 5 +++++ app/controllers/invites_controller.rb | 5 +++++ app/controllers/settings/applications_controller.rb | 5 +++++ app/controllers/settings/deletes_controller.rb | 5 +++++ app/controllers/settings/exports_controller.rb | 7 +++++++ app/controllers/settings/follower_domains_controller.rb | 5 +++++ app/controllers/settings/imports_controller.rb | 5 +++++ app/controllers/settings/migrations_controller.rb | 5 +++++ app/controllers/settings/notifications_controller.rb | 5 +++++ app/controllers/settings/preferences_controller.rb | 5 +++++ app/controllers/settings/profiles_controller.rb | 5 +++++ app/controllers/settings/sessions_controller.rb | 5 +++++ .../two_factor_authentication/confirmations_controller.rb | 5 +++++ .../two_factor_authentication/recovery_codes_controller.rb | 7 +++++++ .../settings/two_factor_authentications_controller.rb | 5 +++++ app/views/layouts/admin.html.haml | 2 +- 17 files changed, 88 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/controllers/admin/base_controller.rb b/app/controllers/admin/base_controller.rb index 7fb69d578..8593b582a 100644 --- a/app/controllers/admin/base_controller.rb +++ b/app/controllers/admin/base_controller.rb @@ -5,8 +5,15 @@ module Admin include Authorization include AccountableConcern + layout 'admin' + before_action :require_staff! + before_action :set_body_classes - layout 'admin' + private + + def set_body_classes + @body_classes = 'admin' + end end end diff --git a/app/controllers/filters_controller.rb b/app/controllers/filters_controller.rb index 175dbab07..d2e0fb739 100644 --- a/app/controllers/filters_controller.rb +++ b/app/controllers/filters_controller.rb @@ -7,6 +7,7 @@ class FiltersController < ApplicationController before_action :set_filters, only: :index before_action :set_filter, only: [:edit, :update, :destroy] + before_action :set_body_classes def index @filters = current_account.custom_filters @@ -54,4 +55,8 @@ class FiltersController < ApplicationController def resource_params params.require(:custom_filter).permit(:phrase, :expires_in, :irreversible, :whole_word, context: []) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/invites_controller.rb b/app/controllers/invites_controller.rb index 3aaa2776f..fdb3a0962 100644 --- a/app/controllers/invites_controller.rb +++ b/app/controllers/invites_controller.rb @@ -6,6 +6,7 @@ class InvitesController < ApplicationController layout 'admin' before_action :authenticate_user! + before_action :set_body_classes def index authorize :invite, :create? @@ -44,4 +45,8 @@ class InvitesController < ApplicationController def resource_params params.require(:invite).permit(:max_uses, :expires_in, :autofollow) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/applications_controller.rb b/app/controllers/settings/applications_controller.rb index 2a4962311..a1a2c57fa 100644 --- a/app/controllers/settings/applications_controller.rb +++ b/app/controllers/settings/applications_controller.rb @@ -6,6 +6,7 @@ class Settings::ApplicationsController < ApplicationController before_action :authenticate_user! before_action :set_application, only: [:show, :update, :destroy, :regenerate] before_action :prepare_scopes, only: [:create, :update] + before_action :set_body_classes def index @applications = current_user.applications.order(id: :desc).page(params[:page]) @@ -69,4 +70,8 @@ class Settings::ApplicationsController < ApplicationController scopes = params.fetch(:doorkeeper_application, {}).fetch(:scopes, nil) params[:doorkeeper_application][:scopes] = scopes.join(' ') if scopes.is_a? Array end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/deletes_controller.rb b/app/controllers/settings/deletes_controller.rb index 80002b995..97f3946c8 100644 --- a/app/controllers/settings/deletes_controller.rb +++ b/app/controllers/settings/deletes_controller.rb @@ -5,6 +5,7 @@ class Settings::DeletesController < ApplicationController before_action :check_enabled_deletion before_action :authenticate_user! + before_action :set_body_classes def show @confirmation = Form::DeleteConfirmation.new @@ -29,4 +30,8 @@ class Settings::DeletesController < ApplicationController def delete_params params.require(:form_delete_confirmation).permit(:password) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/exports_controller.rb b/app/controllers/settings/exports_controller.rb index 869e11d3b..3a2334ef0 100644 --- a/app/controllers/settings/exports_controller.rb +++ b/app/controllers/settings/exports_controller.rb @@ -6,6 +6,7 @@ class Settings::ExportsController < ApplicationController layout 'admin' before_action :authenticate_user! + before_action :set_body_classes def show @export = Export.new(current_account) @@ -20,4 +21,10 @@ class Settings::ExportsController < ApplicationController redirect_to settings_export_path end + + private + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/follower_domains_controller.rb b/app/controllers/settings/follower_domains_controller.rb index a128bd136..9c39e66bb 100644 --- a/app/controllers/settings/follower_domains_controller.rb +++ b/app/controllers/settings/follower_domains_controller.rb @@ -4,6 +4,7 @@ class Settings::FollowerDomainsController < ApplicationController layout 'admin' before_action :authenticate_user! + before_action :set_body_classes def show @account = current_account @@ -25,4 +26,8 @@ class Settings::FollowerDomainsController < ApplicationController def bulk_params params.permit(select: []) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/imports_controller.rb b/app/controllers/settings/imports_controller.rb index 0db13d1ca..e9548ce62 100644 --- a/app/controllers/settings/imports_controller.rb +++ b/app/controllers/settings/imports_controller.rb @@ -5,6 +5,7 @@ class Settings::ImportsController < ApplicationController before_action :authenticate_user! before_action :set_account + before_action :set_body_classes def show @import = Import.new @@ -31,4 +32,8 @@ class Settings::ImportsController < ApplicationController def import_params params.require(:import).permit(:data, :type) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/migrations_controller.rb b/app/controllers/settings/migrations_controller.rb index bc6436b87..bd4f9c87a 100644 --- a/app/controllers/settings/migrations_controller.rb +++ b/app/controllers/settings/migrations_controller.rb @@ -4,6 +4,7 @@ class Settings::MigrationsController < ApplicationController layout 'admin' before_action :authenticate_user! + before_action :set_body_classes def show @migration = Form::Migration.new(account: current_account.moved_to_account) @@ -31,4 +32,8 @@ class Settings::MigrationsController < ApplicationController current_account.moved_to_account_id != @migration.account&.id && current_account.id != @migration.account&.id end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/notifications_controller.rb b/app/controllers/settings/notifications_controller.rb index fe45c17b2..d0754296c 100644 --- a/app/controllers/settings/notifications_controller.rb +++ b/app/controllers/settings/notifications_controller.rb @@ -4,6 +4,7 @@ class Settings::NotificationsController < ApplicationController layout 'admin' before_action :authenticate_user! + before_action :set_body_classes def show; end @@ -29,4 +30,8 @@ class Settings::NotificationsController < ApplicationController interactions: %i(must_be_follower must_be_following must_be_following_dm) ) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index b83900f07..7bb5fb112 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -4,6 +4,7 @@ class Settings::PreferencesController < ApplicationController layout 'admin' before_action :authenticate_user! + before_action :set_body_classes def show; end @@ -51,4 +52,8 @@ class Settings::PreferencesController < ApplicationController interactions: %i(must_be_follower must_be_following) ) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/profiles_controller.rb b/app/controllers/settings/profiles_controller.rb index fe265c81d..5b3bfd71f 100644 --- a/app/controllers/settings/profiles_controller.rb +++ b/app/controllers/settings/profiles_controller.rb @@ -7,6 +7,7 @@ class Settings::ProfilesController < ApplicationController before_action :authenticate_user! before_action :set_account + before_action :set_body_classes obfuscate_filename [:account, :avatar] obfuscate_filename [:account, :header] @@ -34,4 +35,8 @@ class Settings::ProfilesController < ApplicationController def set_account @account = current_user.account end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/sessions_controller.rb b/app/controllers/settings/sessions_controller.rb index 0da1b027b..74cebc07b 100644 --- a/app/controllers/settings/sessions_controller.rb +++ b/app/controllers/settings/sessions_controller.rb @@ -2,6 +2,7 @@ class Settings::SessionsController < ApplicationController before_action :set_session, only: :destroy + before_action :set_body_classes def destroy @session.destroy! @@ -14,4 +15,8 @@ class Settings::SessionsController < ApplicationController def set_session @session = current_user.session_activations.find(params[:id]) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/settings/two_factor_authentication/confirmations_controller.rb b/app/controllers/settings/two_factor_authentication/confirmations_controller.rb index 8d534960d..ee567c2a7 100644 --- a/app/controllers/settings/two_factor_authentication/confirmations_controller.rb +++ b/app/controllers/settings/two_factor_authentication/confirmations_controller.rb @@ -7,6 +7,7 @@ module Settings before_action :authenticate_user! before_action :ensure_otp_secret + before_action :set_body_classes def new prepare_two_factor_form @@ -43,6 +44,10 @@ module Settings def ensure_otp_secret redirect_to settings_two_factor_authentication_path unless current_user.otp_secret end + + def set_body_classes + @body_classes = 'admin' + end end end end diff --git a/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb b/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb index e591e9502..bfb103620 100644 --- a/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb +++ b/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb @@ -6,6 +6,7 @@ module Settings layout 'admin' before_action :authenticate_user! + before_action :set_body_classes def create @recovery_codes = current_user.generate_otp_backup_codes! @@ -13,6 +14,12 @@ module Settings flash[:notice] = I18n.t('two_factor_authentication.recovery_codes_regenerated') render :index end + + private + + def set_body_classes + @body_classes = 'admin' + end end end end diff --git a/app/controllers/settings/two_factor_authentications_controller.rb b/app/controllers/settings/two_factor_authentications_controller.rb index 863cc7351..e4d8aed41 100644 --- a/app/controllers/settings/two_factor_authentications_controller.rb +++ b/app/controllers/settings/two_factor_authentications_controller.rb @@ -6,6 +6,7 @@ module Settings before_action :authenticate_user! before_action :verify_otp_required, only: [:create] + before_action :set_body_classes def show @confirmation = Form::TwoFactorConfirmation.new @@ -43,5 +44,9 @@ module Settings current_user.validate_and_consume_otp!(confirmation_params[:code]) || current_user.invalidate_otp_backup_code!(confirmation_params[:code]) end + + def set_body_classes + @body_classes = 'admin' + end end end diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index c98d85f7b..6ce67d91e 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -17,4 +17,4 @@ = yield -= render template: 'layouts/application', locals: { body_classes: 'admin' } += render template: 'layouts/application' -- cgit From 4ea718ef18c2171edf8ed0089fd0d28bdfb78ba1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 25 Oct 2018 01:44:02 +0200 Subject: Migrate all old direct messages to new conversations schema (#9085) --- app/models/account_conversation.rb | 3 ++ ...20181024224956_migrate_account_conversations.rb | 43 ++++++++++++++++++++++ db/schema.rb | 2 +- 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20181024224956_migrate_account_conversations.rb (limited to 'app') diff --git a/app/models/account_conversation.rb b/app/models/account_conversation.rb index b7447d805..cc6b39279 100644 --- a/app/models/account_conversation.rb +++ b/app/models/account_conversation.rb @@ -58,6 +58,9 @@ class AccountConversation < ApplicationRecord def add_status(recipient, status) conversation = find_or_initialize_by(account: recipient, conversation_id: status.conversation_id, participant_account_ids: participants_from_status(recipient, status)) + + return conversation if conversation.status_ids.include?(status.id) + conversation.status_ids << status.id conversation.unread = status.account_id != recipient.id conversation.save diff --git a/db/migrate/20181024224956_migrate_account_conversations.rb b/db/migrate/20181024224956_migrate_account_conversations.rb new file mode 100644 index 000000000..1821e8c27 --- /dev/null +++ b/db/migrate/20181024224956_migrate_account_conversations.rb @@ -0,0 +1,43 @@ +class MigrateAccountConversations < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + def up + say '' + say 'WARNING: This migration may take a *long* time for large instances' + say 'It will *not* lock tables for any significant time, but it may run' + say 'for a very long time. We will pause for 10 seconds to allow you to' + say 'interrupt this migration if you are not ready.' + say '' + + 10.downto(1) do |i| + say "Continuing in #{i} second#{i == 1 ? '' : 's'}...", true + sleep 1 + end + + local_direct_statuses.find_each do |status| + AccountConversation.add_status(status.account, status) + end + + notifications_about_direct_statuses.find_each do |notification| + AccountConversation.add_status(notification.account, notification.target_status) + end + end + + def down + end + + private + + def local_direct_statuses + Status.unscoped + .local + .where(visibility: :direct) + .includes(:account, mentions: :account) + end + + def notifications_about_direct_statuses + Notification.joins(mention: :status) + .where(activity_type: 'Mention', statuses: { visibility: :direct }) + .includes(:account, mention: { status: [:account, mentions: :account] }) + end +end diff --git a/db/schema.rb b/db/schema.rb index 8facfa259..3c4f41648 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2018_10_18_205649) do +ActiveRecord::Schema.define(version: 2018_10_24_224956) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" -- cgit From d4cf963749d2f6bb8e47a670e8cc4819ff659f49 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 25 Oct 2018 18:12:22 +0200 Subject: Allow inbox owner to view implicitly targeted ActivityPub payload (#9093) Fix #9091 --- app/controllers/activitypub/inboxes_controller.rb | 2 +- app/lib/activitypub/activity/create.rb | 13 ++++++++++++- app/workers/activitypub/processing_worker.rb | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/controllers/activitypub/inboxes_controller.rb b/app/controllers/activitypub/inboxes_controller.rb index af51e32d5..8f5e1887e 100644 --- a/app/controllers/activitypub/inboxes_controller.rb +++ b/app/controllers/activitypub/inboxes_controller.rb @@ -36,6 +36,6 @@ class ActivityPub::InboxesController < Api::BaseController end def process_payload - ActivityPub::ProcessingWorker.perform_async(signed_request_account.id, body.force_encoding('UTF-8')) + ActivityPub::ProcessingWorker.perform_async(signed_request_account.id, body.force_encoding('UTF-8'), @account&.id) end end diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 7e6702a63..92cdf4578 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -81,11 +81,22 @@ class ActivityPub::Activity::Create < ActivityPub::Activity @mentions << Mention.new(account: account, silent: true) # If there is at least one silent mention, then the status can be considered - # as a limited-audience status, and not strictly a direct message + # as a limited-audience status, and not strictly a direct message, but only + # if we considered a direct message in the first place next unless @params[:visibility] == :direct @params[:visibility] = :limited end + + # If the payload was delivered to a specific inbox, the inbox owner must have + # access to it, unless they already have access to it anyway + return if @options[:delivered_to_account_id].nil? || @mentions.any? { mention.account_id == @options[:delivered_to_account_id] } + + @mentions << Mention.new(account_id: @options[:delivered_to_account_id], silent: true) + + return unless @param[:visibility] == :direct + + @params[:visibility] = :limited end def attach_tags(status) diff --git a/app/workers/activitypub/processing_worker.rb b/app/workers/activitypub/processing_worker.rb index 0e2e0eddd..a8a3ebf0f 100644 --- a/app/workers/activitypub/processing_worker.rb +++ b/app/workers/activitypub/processing_worker.rb @@ -5,7 +5,7 @@ class ActivityPub::ProcessingWorker sidekiq_options backtrace: true - def perform(account_id, body) - ActivityPub::ProcessCollectionService.new.call(body, Account.find(account_id), override_timestamps: true) + def perform(account_id, body, delivered_to_account_id = nil) + ActivityPub::ProcessCollectionService.new.call(body, Account.find(account_id), override_timestamps: true, delivered_to_account_id: delivered_to_account_id) end end -- cgit From 7fee968e9fb75d0f6d381009d5c4403c5a027174 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 25 Oct 2018 18:13:19 +0200 Subject: Do not fetch preview card for mentioned users (#6934) --- app/services/fetch_link_card_service.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/services/fetch_link_card_service.rb b/app/services/fetch_link_card_service.rb index 4169c685b..4551aa7e0 100644 --- a/app/services/fetch_link_card_service.rb +++ b/app/services/fetch_link_card_service.rb @@ -17,7 +17,8 @@ class FetchLinkCardService < BaseService return if @url.nil? || @status.preview_cards.any? - @url = @url.to_s + @mentions = status.mentions + @url = @url.to_s RedisLock.acquire(lock_options) do |lock| if lock.acquired? @@ -81,9 +82,16 @@ class FetchLinkCardService < BaseService uri.host.blank? || TagManager.instance.local_url?(uri.to_s) || !%w(http https).include?(uri.scheme) end + def mention_link?(a) + return false if @mentions.nil? + @mentions.any? do |mention| + a['href'] == TagManager.instance.url_for(mention.target) + end + end + def skip_link?(a) # Avoid links for hashtags and mentions (microformats) - a['rel']&.include?('tag') || a['class']&.include?('u-url') + a['rel']&.include?('tag') || a['class']&.include?('u-url') || mention_link?(a) end def attempt_oembed -- cgit From a2e3401e48a211f8feba85fb29435ee9100077fc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 26 Oct 2018 01:54:58 +0200 Subject: Fix conversations not being marked read on click (#9103) Fix #9096 --- .../mastodon/features/direct_timeline/components/conversation.js | 1 + 1 file changed, 1 insertion(+) (limited to 'app') diff --git a/app/javascript/mastodon/features/direct_timeline/components/conversation.js b/app/javascript/mastodon/features/direct_timeline/components/conversation.js index 7277b7f0f..ffcd6d281 100644 --- a/app/javascript/mastodon/features/direct_timeline/components/conversation.js +++ b/app/javascript/mastodon/features/direct_timeline/components/conversation.js @@ -56,6 +56,7 @@ export default class Conversation extends ImmutablePureComponent { otherAccounts={accounts} onMoveUp={this.handleHotkeyMoveUp} onMoveDown={this.handleHotkeyMoveDown} + onClick={this.handleClick} /> ); } -- cgit From 768b0f132d8680563cce34e9abd8f3f3ba8a9bb9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 26 Oct 2018 01:55:08 +0200 Subject: Fix direct messages column not loading more items on scroll (#9102) Fix #9097 --- .../direct_timeline/components/conversations_list.js | 18 +++++++++--------- .../containers/conversations_list_container.js | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js b/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js index 4684548e0..635c03c1d 100644 --- a/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js +++ b/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js @@ -9,14 +9,14 @@ import { debounce } from 'lodash'; export default class ConversationsList extends ImmutablePureComponent { static propTypes = { - conversationIds: ImmutablePropTypes.list.isRequired, + conversations: ImmutablePropTypes.list.isRequired, hasMore: PropTypes.bool, isLoading: PropTypes.bool, onLoadMore: PropTypes.func, shouldUpdateScroll: PropTypes.func, }; - getCurrentIndex = id => this.props.conversationIds.indexOf(id) + getCurrentIndex = id => this.props.conversations.findIndex(x => x.get('id') === id) handleMoveUp = id => { const elementIndex = this.getCurrentIndex(id) - 1; @@ -41,22 +41,22 @@ export default class ConversationsList extends ImmutablePureComponent { } handleLoadOlder = debounce(() => { - const last = this.props.conversationIds.last(); + const last = this.props.conversations.last(); - if (last) { - this.props.onLoadMore(last); + if (last && last.get('last_status')) { + this.props.onLoadMore(last.get('last_status')); } }, 300, { leading: true }) render () { - const { conversationIds, onLoadMore, ...other } = this.props; + const { conversations, onLoadMore, ...other } = this.props; return ( - {conversationIds.map(item => ( + {conversations.map(item => ( diff --git a/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js b/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js index 81ea812ad..57e17d96f 100644 --- a/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js +++ b/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js @@ -3,7 +3,7 @@ import ConversationsList from '../components/conversations_list'; import { expandConversations } from '../../../actions/conversations'; const mapStateToProps = state => ({ - conversationIds: state.getIn(['conversations', 'items']).map(x => x.get('id')), + conversations: state.getIn(['conversations', 'items']), isLoading: state.getIn(['conversations', 'isLoading'], true), hasMore: state.getIn(['conversations', 'hasMore'], false), }); -- cgit From 161aeadbb4fcd08bc6a38acae9626f4124c78951 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 26 Oct 2018 01:55:24 +0200 Subject: Remove character counter from edit profile (#9100) * Remove display name and bio counter hint, simply limit input * Remove now redundant translations * Fix code style issue --- app/javascript/packs/public.js | 16 +--------------- app/views/settings/profiles/show.html.haml | 8 ++++---- config/locales/simple_form.ar.yml | 2 -- config/locales/simple_form.ast.yml | 6 ------ config/locales/simple_form.bg.yml | 2 -- config/locales/simple_form.ca.yml | 6 ------ config/locales/simple_form.co.yml | 6 ------ config/locales/simple_form.cs.yml | 6 ------ config/locales/simple_form.cy.yml | 6 ------ config/locales/simple_form.da.yml | 6 ------ config/locales/simple_form.de.yml | 6 ------ config/locales/simple_form.el.yml | 6 ------ config/locales/simple_form.en.yml | 6 ------ config/locales/simple_form.eo.yml | 6 ------ config/locales/simple_form.es.yml | 6 ------ config/locales/simple_form.eu.yml | 6 ------ config/locales/simple_form.fa.yml | 6 ------ config/locales/simple_form.fi.yml | 6 ------ config/locales/simple_form.fr.yml | 6 ------ config/locales/simple_form.gl.yml | 6 ------ config/locales/simple_form.he.yml | 6 ------ config/locales/simple_form.hr.yml | 2 -- config/locales/simple_form.hu.yml | 6 ------ config/locales/simple_form.id.yml | 2 -- config/locales/simple_form.io.yml | 2 -- config/locales/simple_form.it.yml | 6 ------ config/locales/simple_form.ja.yml | 2 -- config/locales/simple_form.ka.yml | 6 ------ config/locales/simple_form.ko.yml | 6 ------ config/locales/simple_form.nl.yml | 6 ------ config/locales/simple_form.no.yml | 6 ------ config/locales/simple_form.oc.yml | 6 ------ config/locales/simple_form.pl.yml | 10 ---------- config/locales/simple_form.pt-BR.yml | 6 ------ config/locales/simple_form.pt.yml | 6 ------ config/locales/simple_form.ru.yml | 10 ---------- config/locales/simple_form.sk.yml | 8 -------- config/locales/simple_form.sl.yml | 3 --- config/locales/simple_form.sr-Latn.yml | 10 ---------- config/locales/simple_form.sr.yml | 10 ---------- config/locales/simple_form.sv.yml | 6 ------ config/locales/simple_form.th.yml | 6 ------ config/locales/simple_form.tr.yml | 2 -- config/locales/simple_form.uk.yml | 2 -- config/locales/simple_form.zh-CN.yml | 2 -- config/locales/simple_form.zh-HK.yml | 6 ------ config/locales/simple_form.zh-TW.yml | 6 ------ 47 files changed, 5 insertions(+), 268 deletions(-) (limited to 'app') diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js index 11dc1bafc..3b02b7c39 100644 --- a/app/javascript/packs/public.js +++ b/app/javascript/packs/public.js @@ -21,7 +21,6 @@ window.addEventListener('message', e => { }); function main() { - const { length } = require('stringz'); const IntlMessageFormat = require('intl-messageformat').default; const { timeAgoString } = require('../mastodon/components/relative_timestamp'); const { delegate } = require('rails-ujs'); @@ -133,26 +132,13 @@ function main() { }); delegate(document, '#account_display_name', 'input', ({ target }) => { - const nameCounter = document.querySelector('.name-counter'); - const name = document.querySelector('.card .display-name strong'); - - if (nameCounter) { - nameCounter.textContent = 30 - length(target.value); - } + const name = document.querySelector('.card .display-name strong'); if (name) { name.innerHTML = emojify(target.value); } }); - delegate(document, '#account_note', 'input', ({ target }) => { - const noteCounter = document.querySelector('.note-counter'); - - if (noteCounter) { - noteCounter.textContent = 160 - length(target.value); - } - }); - delegate(document, '#account_avatar', 'change', ({ target }) => { const avatar = document.querySelector('.card .avatar img'); const [file] = target.files || []; diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml index 42e3840a1..f5c50144b 100644 --- a/app/views/settings/profiles/show.html.haml +++ b/app/views/settings/profiles/show.html.haml @@ -6,8 +6,8 @@ .fields-row .fields-row__column.fields-group.fields-row__column-6 - = f.input :display_name, wrapper: :with_label, hint: t('simple_form.hints.defaults.display_name', count: 30 - @account.display_name.size).html_safe - = f.input :note, wrapper: :with_label, hint: t('simple_form.hints.defaults.note', count: 160 - @account.note.size).html_safe + = f.input :display_name, wrapper: :with_label, input_html: { maxlength: 30 }, hint: false + = f.input :note, wrapper: :with_label, input_html: { maxlength: 160 }, hint: false .fields-row .fields-row__column.fields-row__column-6 @@ -36,8 +36,8 @@ = f.simple_fields_for :fields do |fields_f| .row - = fields_f.input :name, placeholder: t('simple_form.labels.account.fields.name') - = fields_f.input :value, placeholder: t('simple_form.labels.account.fields.value') + = fields_f.input :name, placeholder: t('simple_form.labels.account.fields.name'), input_html: { maxlength: 255 } + = fields_f.input :value, placeholder: t('simple_form.labels.account.fields.value'), input_html: { maxlength: 255 } .fields-row__column.fields-group.fields-row__column-6 %h6= t('verification.verification') diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index dcdc1ffc1..cdd3ddf25 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -8,7 +8,6 @@ ar: bot: يُعلِم أنّ هذا الحساب لا يمثل شخصًا context: واحد أو أكثر من السياقات التي يجب أن ينطبق عليها عامل التصفية digest: تُرسَل إليك بعد مُضيّ مدة مِن خمول نشاطك و فقط إذا ما تلقيت رسائل شخصية مباشِرة أثناء فترة غيابك مِن الشبكة - display_name: %{count} حرف باق email: سوف تتلقى رسالة إلكترونية للتأكيد fields: يُمكنك عرض 4 عناصر على شكل جدول في ملفك الشخصي header: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير %{size}. سيتم تصغيره إلى %{dimensions}px @@ -16,7 +15,6 @@ ar: irreversible: التبويقات التي تم تصفيتها ستختفي لا محالة حتى و إن تمت إزالة عامِل التصفية لاحقًا locale: لغة واجهة المستخدم و الرسائل الإلكترونية و الإشعارات locked: يتطلب منك الموافقة يدويا على طلبات المتابعة - note: %{count} حرف باق password: يُنصح باستخدام 8 أحرف على الأقل phrase: سوف يتم العثور عليه مهما كان نوع النص أو حتى و إن كان داخل الويب فيه تحذير عن المحتوى scopes: ما هي المجالات المسموح بها في التطبيق ؟ إن قمت باختيار أعلى المجالات فيمكنك الإستغناء عن الخَيار اليدوي. diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml index a6b3e0733..0d78f419f 100644 --- a/config/locales/simple_form.ast.yml +++ b/config/locales/simple_form.ast.yml @@ -6,13 +6,7 @@ ast: autofollow: La xente que se rexistre pente la invitación va siguite automáticamente bot: Esta cuenta fai principalmente aiciones automatizaes y podría nun supervisase digest: Namái s'unvia tres un periodu llargu d'inactividá y namái si recibiesti cualesquier mensaxe personal na to ausencia - display_name: - one: Queda 1 caráuter - other: Queden %{count} caráuteres irreversible: Los toots peñeraos van desapaecer de mou irreversible, magar que se desanicie la peñera dempués - note: - one: Queda 1 caráuter - other: Queden %{count} caráuteres setting_hide_network: La xente que sigas y teas siguiendo nun va amosase nel perfil setting_theme: Afeuta al aspeutu de Mastodon cuando anicies sesión dende cualesquier preséu. labels: diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml index 938dacc95..9441e53b3 100644 --- a/config/locales/simple_form.bg.yml +++ b/config/locales/simple_form.bg.yml @@ -4,10 +4,8 @@ bg: hints: defaults: avatar: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела - display_name: До 30 символа header: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела locked: Изисква ръчно одобрение на последователите. По подразбиране, публикациите са достъпни само до последователи. - note: До 160 символа imports: data: CSV файл, експортиран от друга инстанция на Mastodon labels: diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index 53cf6db8e..6c8455a14 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -8,17 +8,11 @@ ca: bot: Aquest compte realitza principalment accions automatitzades i pot no estar controlat per cap persona context: Un o diversos contextos on s'ha d'aplicar el filtre digest: Només s'envia després d'un llarg període d'inactivitat amb un resum de les mencions que has rebut en la teva absència - display_name: - one: 1 càracter restant - other: %{count} càracters restans fields: Pots tenir fins a 4 elements que es mostren com a taula al teu perfil header: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px irreversible: Els nodes filtrats desapareixeran de manera irreversible, fins i tot si el filtre es retira més tard locale: El llenguatge de l’interfície d’usuari, els correus i les notificacions push locked: Requereix que aprovis manualment els seguidors - note: - one: 1 càracter restant - other: %{count} caràcters restants phrase: Es combinarà independentment del format en el text o l'avís de contingut d'un toot setting_default_language: La llengua dels teus toots pot ser detectada automàticament però no sempre acuradament setting_hide_network: Qui tu segueixes i els que et segueixen a tu no es mostraran en el teu perfil diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml index fc0795a0b..b200dfb48 100644 --- a/config/locales/simple_form.co.yml +++ b/config/locales/simple_form.co.yml @@ -8,9 +8,6 @@ co: bot: Stu contu hè autumatizatu è ùn hè forse micca survegliatu context: Cuntestu·i induve u filtru deve esse applicatu digest: Solu mandatu dopu à una longa perioda d’inattività, è solu s’elli ci sò novi missaghji diretti - display_name: - one: Ci ferma 1 caratteru - other: Ci fermanu %{count} caratteri email: Avete da riceve un'e-mail di cunfirmazione fields: Pudete avè fin’à 4 elementi mustrati cum’un tavulone nant’à u vostru prufile header: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px @@ -18,9 +15,6 @@ co: irreversible: I statuti filtrati saranu sguassati di manera irreversibile, ancu s'ellu hè toltu u filtru locale: A lingua di l'interfaccia utilizatore, di l'e-mail è di e nutificazione push locked: Duvarete appruvà e dumande d’abbunamentu - note: - one: Ci ferma 1 caratteru - other: Ci fermanu %{count} caratteri password: Ci volenu almenu 8 caratteri phrase: Sarà trovu senza primura di e maiuscule o di l'avertimenti scopes: L'API à quelle l'applicazione averà accessu. S'è voi selezziunate un parametru d'altu livellu, un c'hè micca bisognu di selezziunà quell'individuali. diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index ed50e13ff..c2fd93ee1 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -8,9 +8,6 @@ cs: bot: Tento účet provádí hlavně automatizované akce a nemusí být spravován context: Jedno či více kontextů, ve kterých má být filtr uplatněn digest: Odesíláno pouze po dlouhé době nečinnosti a pouze, pokud jste při své nepřítomnosti obdržel/a osobní zprávy - display_name: - one: Zbývá 1 znak - other: Zbývá vám %{count} znaků email: Bude vám poslán potvrzovací e-mail fields: Na profilu můžete mít až 4 položky zobrazené jako tabulka header: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšena na %{dimensions} px @@ -18,9 +15,6 @@ cs: irreversible: Filtrované tooty nenávratně zmizí, i pokud bude filtr později odstraněn locale: Jazyk uživatelského rozhraní, e-mailů a oznámení push locked: Vyžaduje manuální schvalování sledovatelů - note: - one: Zbývá 1znak - other: Zbývá %{count} znaků password: Použijte alespoň 8 znaků phrase: Shoda bude nalezena bez ohledu na velikost písmen v těle tootu či varování o obsahu scopes: Které API bude aplikace povolena používat. Pokud vyberete rozsah nejvyššího stupně, nebudete je muset vybírat po jednom. diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml index 5a301f775..5653001b8 100644 --- a/config/locales/simple_form.cy.yml +++ b/config/locales/simple_form.cy.yml @@ -8,18 +8,12 @@ cy: bot: Mae'r cyfrif hwn yn perfformio gweithredoedd awtomataidd yn bennaf ac mae'n bosib nad yw'n cael ei fonitro context: Un neu fwy cyd-destun lle dylai'r hidlydd weithio digest: Dim ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb - display_name: - one: 1 nodyn ar ôl - other: %{count} nodyn ar ôl fields: Mae modd i chi arddangos hyd at 4 eitem fel tabl ar eich proffil header: PNG, GIF neu JPG. %{size} ar y mwyaf. Ceith ei israddio i %{dimensions}px inbox_url: Copïwch yr URL o dudalen flaen y relái yr ydych am ei ddefnyddio irreversible: Bydd tŵtiau wedi eu hidlo yn diflannu am byth, hyd yn oed os ceith yr hidlydd ei ddileu'n hwyrach locale: Iaith y rhyngwyneb, e-byst a hysbysiadau push locked: Ei wneud yn ofynnol arnoch chi i ganiatau dilynwyr a llaw - note: - one: 1 cymeriad ar ôl - other: %{count} o gymeriadau ar ôl scopes: Pa APIau y bydd gan y rhaglen ganiatad i gael mynediad iddynt. Os dewiswch maes lefel uchaf, yna nid oes angen dewis rhai unigol. setting_default_language: Mae modd adnabod iaith eich tŵtiau yn awtomatig, ond nid yw bob tro'n gywir setting_hide_network: Ni fydd pwy yr ydych yn ei ddilyn a phwy sy'n eich dilyn chi yn cael ei ddangos ar eich proffil diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index 7550122fc..64cdab07c 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -8,18 +8,12 @@ da: bot: Denne konto udfører hovedsageligt automatiserede handlinger og bliver muligvis ikke overvåget context: En eller flere sammenhænge hvor filteret skal være gældende digest: Sendes kun efter en lang periode med inaktivitet og kun hvis du har modtaget nogle personlige beskeder mens du er væk - display_name: - one: 1 tegn tilbage - other: %{count}tegn tilbage fields: Du kan have op til 4 ting vist som en tabel på din profil header: PNG, GIF eller JPG. Højest %{size}. Vil blive skaleret ned til %{dimensions}px inbox_url: Kopiere linket fra forsiden af den relay som du ønsker at bruge irreversible: Filtrerede trut vil forsvinde fulstændigt, selv hvis filteret senere skulle blive fjernet locale: Sproget på interfacet, emails og push beskeder locked: Kræver, at du godkender følgere manuelt - note: - one: 1 tegn tilbage - other: %{count} tegn tilbage phrase: Vil blive parret uanset om der er store eller små bogstaver i teksten eller om der er en advarsel om et trut scopes: Hvilke APIs applikationen vil få adgang til. Hvis du vælger et højtlevel omfang, behøver du ikke vælge enkeltstående. setting_default_language: Sproget for dine trut kan blive fundet automatisk, men det er ikke altid præcist diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index 340cd5ee7..9c2defd9e 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -8,9 +8,6 @@ de: bot: Dieses Konto führt lediglich automatisierte Aktionen durch und wird möglicherweise nicht überwacht context: Ein oder mehrere Aspekte, wo der Filter greifen soll digest: Wenn du lange Zeit inaktiv bist, wird dir eine Zusammenfassung von Erwähnungen in deiner Abwesenheit zugeschickt - display_name: - one: 1 Zeichen verbleibt - other: %{count} Zeichen verbleiben email: Du wirst ein Bestätigungs-E-Mail erhalten fields: Du kannst bis zu 4 Elemente als Tabelle dargestellt auf deinem Profil anzeigen lassen header: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert @@ -18,9 +15,6 @@ de: irreversible: Gefilterte Beiträge werden unwiderruflich gefiltert, selbst wenn der Filter später entfernt wurde locale: Die Sprache der Oberfläche, E-Mails und Push-Benachrichtigungen locked: Wer dir folgen möchte, muss um deine Erlaubnis bitten - note: - one: 1 Zeichen verbleibt - other: %{count} Zeichen verbleiben password: Verwende mindestens 8 Zeichen phrase: Wird unabhängig vom umgebenen Text oder Inhaltswarnung eines Beitrags verglichen scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen. diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml index 823f25330..a13b44237 100644 --- a/config/locales/simple_form.el.yml +++ b/config/locales/simple_form.el.yml @@ -8,9 +8,6 @@ el: bot: Ο λογαριασμός αυτός εκτελεί κυρίως αυτοματοποιημένες ενέργειες και ίσως να μην παρακολουθείται context: Ένα ή περισσότερα πλαίσια στα οποία μπορεί να εφαρμόζεται αυτό το φίλτρο digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου - display_name: - one: απομένει 1 χαρακτήρας - other: απομένουν %{count} χαρακτήρες email: Θα σου σταλεί email επιβεβαίωσης fields: Μπορείς να έχεις έως 4 σημειώσεις σε μορφή πίνακα στο προφίλ σου header: PNG, GIF ή JPG. Έως %{size}. Θα περιοριστεί σε διάσταση %{dimensions}px @@ -18,9 +15,6 @@ el: irreversible: Τα φιλτραρισμένα τουτ θα εξαφανιστούν αμετάκλητα, ακόμα και αν το φίλτρο αργότερα αφαιρεθεί locale: Η γλώσσα του περιβάλλοντος χρήσης, των email και των ειδοποιήσεων ώθησης locked: Απαιτεί να εγκρίνεις χειροκίνητα τους ακόλουθούς σου - note: - one: απομένει 1 χαρακτήρας - other: απομένουν %{count} χαρακτήρες password: Χρησιμοποίησε τουλάχιστον 8 χαρακτήρες phrase: Θα ταιριάζει ανεξαρτήτως πεζών/κεφαλαίων ή προειδοποίησης περιεχομένου του τουτ scopes: Ποια API θα επιτρέπεται στην εφαρμογή να χρησιμοποιήσεις. Αν επιλέξεις κάποιο υψηλό εύρος εφαρμογής, δε χρειάζεται να επιλέξεις και εξειδικευμένα. diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index e3d84dd07..d34ec79cc 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -8,9 +8,6 @@ en: bot: This account mainly performs automated actions and might not be monitored context: One or multiple contexts where the filter should apply digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence - display_name: - one: 1 character left - other: %{count} characters left email: You will be sent a confirmation e-mail fields: You can have up to 4 items displayed as a table on your profile header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px @@ -18,9 +15,6 @@ en: irreversible: Filtered toots will disappear irreversibly, even if filter is later removed locale: The language of the user interface, e-mails and push notifications locked: Requires you to manually approve followers - note: - one: 1 character left - other: %{count} characters left password: Use at least 8 characters phrase: Will be matched regardless of casing in text or content warning of a toot scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones. diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index 36f26035f..e8ddc075e 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -8,18 +8,12 @@ eo: bot: Tiu konto ĉefe faras aŭtomatajn agojn, kaj povas esti ne kontrolata context: Unu ol pluraj kuntekstoj kie la filtrilo devus agi digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto - display_name: - one: 1 signo restas - other: %{count} signoj restas fields: Vi povas havi ĝis 4 tabelajn elementojn en via profilo header: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px inbox_url: Kopiu la URL de la ĉefpaĝo de la ripetilo, kiun vi volas uzi irreversible: Elfiltritaj mesaĝoj malaperos por ĉiam, eĉ se la filtrilo estas poste forigita locale: La lingvo de la uzant-interfaco, retmesaĝoj kaj puŝ-sciigoj locked: Vi devos aprobi ĉiun peton de sekvado mane - note: - one: 1 signo restas - other: %{count} signoj restas phrase: Estos provita senzorge pri la uskleco de teksto aŭ averto pri enhavo de mesaĝo setting_default_language: La lingvo de viaj mesaĝoj povas esti aŭtomate detektitaj, sed tio ne ĉiam ĝustas setting_hide_network: Tiuj, kiujn vi sekvas, kaj tiuj, kiuj sekvas vin ne estos videblaj en via profilo diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index 8c528144e..c0d72dc27 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -8,18 +8,12 @@ es: bot: Esta cuenta ejecuta principalmente acciones automatizadas y podría no ser monitorizada context: Uno o múltiples contextos en los que debe aplicarse el filtro digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia - display_name: - one: 1 caracter restante - other: %{count} caracteres restantes fields: Puedes tener hasta 4 elementos mostrándose como una tabla en tu perfil header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px inbox_url: Copia la URL de la página principal del relés que quieres utilizar irreversible: Los toots filtrados desaparecerán irreversiblemente, incluso si este filtro es eliminado más adelante locale: El idioma de la interfaz de usuario, correos y notificaciones push locked: Requiere que manualmente apruebes seguidores y las publicaciones serán mostradas solamente a tus seguidores - note: - one: 1 carácter restante - other: %{count} caracteres restantes phrase: Se aplicará sin importar las mayúsculas o los avisos de contenido de un toot scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales. setting_default_language: El idioma de tus toots podrá detectarse automáticamente, pero no siempre es preciso diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml index 7fa8319ae..a658038b8 100644 --- a/config/locales/simple_form.eu.yml +++ b/config/locales/simple_form.eu.yml @@ -8,18 +8,12 @@ eu: bot: Kontu honek nagusiki automatizatutako ekintzak burutzen ditu eta agian ez du inork monitorizatzen context: Iragazkia aplikatzeko testuinguru bat edo batzuk digest: Soilik jarduerarik gabeko epe luze bat eta gero, eta soilik ez zeudela mezu pertsonalen bat jaso baduzu - display_name: - one: Karaktere 1 geratzen da - other: %{count} karaktere geratzen dira fields: 4 elementu bistaratu ditzakezu taula batean zure profilean header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da inbox_url: Kopiatu erabili nahi duzun errelearen hasiera orriaren URLa irreversible: Iragazitako toot-ak betirako galduko dira, geroago iragazkia kentzen baduzu ere locale: Erabiltzaile-interfazea, e-mail mezuen eta jakinarazpenen hizkuntza locked: Jarraitzaileak eskuz onartu behar dituzu - note: - one: Karaktere1 geratzen da - other: %{count} karaktere geratzen dira phrase: Bat egingo du Maiuskula/minuskula kontuan hartu gabe eta edukiaren abisua kontuan hartu gabe scopes: Zeintzuk API atzitu ditzakeen aplikazioak. Goi mailako arloa aukeratzen baduzu, ez dituzu azpikoak aukeratu behar. setting_default_language: Zure toot-en hizkuntza automatikoki antzeman daiteke, baina ez da beti zehatza diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 3e2398d55..198fb7067 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -8,9 +8,6 @@ fa: bot: این حساب بیشتر به طور خودکار فعالیت می‌کند و نظارت پیوسته‌ای روی آن وجود ندارد context: یک یا چند زمینه که فیلتر باید در آن‌ها اعمال شود digest: تنها وقتی فرستاده می‌شود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصی‌ای نوشته شده باشد - display_name: - one: 1 حرف باقی مانده - other: %{count} حرف باقی مانده email: به شما ایمیل تأییدی فرستاده خواهد شد fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -18,9 +15,6 @@ fa: irreversible: بوق‌های فیلترشده به طور برگشت‌ناپذیری ناپدید می‌شوند، حتی اگر فیلتر را بعداً بردارید locale: زبان محیط کاربری، ایمیل‌ها، و اعلان‌ها locked: باید پیگیران تازه را خودتان تأیید کنید - note: - one: 1 حرف باقی مانده - other: %{count} حرف باقی مانده password: دست‌کم باید ۸ نویسه داشته باشد phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای بوق‌ها مقایسه می‌شود scopes: واسط‌های برنامه‌نویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطح‌های پایینی ندارید. diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index e78ba9cc7..b0f958f2f 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -5,15 +5,9 @@ fi: defaults: avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px digest: Lähetetään vain pitkän poissaolon jälkeen ja vain, jos olet saanut suoria viestejä poissaolosi aikana - display_name: - one: 1 merkki jäljellä - other: %{count} merkkiä jäljellä fields: Sinulla voi olla korkeintaan 4 asiaa profiilissasi taulukossa header: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px locked: Sinun täytyy hyväksyä seuraajat manuaalisesti - note: - one: 1 merkki jäljellä - other: %{count} merkkiä jäljellä setting_noindex: Vaikuttaa julkiseen profiiliisi ja tilasivuihisi setting_theme: Vaikuttaa Mastodonin ulkoasuun millä tahansa laitteella kirjauduttaessa. imports: diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 40ae0400f..c4d664877 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -8,9 +8,6 @@ fr: bot: Ce compte exécute principalement des actions automatisées et pourrait ne pas être surveillé context: Un ou plusieurs contextes où le filtre devrait s’appliquer digest: Uniquement envoyé après une longue période d’inactivité et uniquement si vous avez reçu des messages personnels pendant votre absence - display_name: - one: 1 caractère restant - other: %{count} caractères restants email: Vous recevrez un courriel de confirmation fields: Vous pouvez avoir jusqu’à 4 éléments affichés en tant que tableau sur votre profil header: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px @@ -18,9 +15,6 @@ fr: irreversible: Les pouets filtrés disparaîtront irrémédiablement, même si le filtre est supprimé plus tard locale: La langue de l’interface, des courriels et des notifications locked: Vous devrez approuver chaque abonné⋅e et vos statuts ne s’afficheront qu’à vos abonné⋅es - note: - one: 1 caractère restant - other: %{count} caractères restants password: Utilisez au moins 8 caractères phrase: Sera trouvé sans que la case ou l’avertissement de contenu du pouet soit pris en compte scopes: À quelles APIs l’application sera autorisée à accéder. Si vous sélectionnez un périmètre de haut-niveau, vous n’avez pas besoin de sélectionner les individuels. diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index f81d34610..04a0fffa3 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -8,9 +8,6 @@ gl: bot: Esta conta realiza principalmente accións automatizadas e podería non estar monitorizada context: Un ou varios contextos onde se debería aplicar o filtro digest: Enviar só tras un longo período de inactividade e só si recibeu algunha mensaxe personal na súa ausencia - display_name: - one: 1 caracter restante - other: %{count} caracteres restantes email: Enviaráselle un correo-e de confirmación fields: Pode ter ate 4 elementos no seu perfil mostrados como unha táboa header: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px @@ -18,9 +15,6 @@ gl: irreversible: Os toots filtrados desaparecerán de xeito irreversible, incluso si despois se elimina o filtro locale: O idioma da interface de usuaria, correos e notificacións locked: Require que vostede acepte as seguidoras de xeito manual - note: - one: 1 caracter restante - other: %{count} caracteres restantes password: Utilice 8 caracteres ao menos phrase: Concordará independentemente das maiúsculas ou avisos de contido no toot scopes: A que APIs terá acceso a aplicación. Si selecciona un ámbito de alto nivel, non precisa seleccionar elementos individuais. diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml index aa5c7e827..c86498c66 100644 --- a/config/locales/simple_form.he.yml +++ b/config/locales/simple_form.he.yml @@ -5,14 +5,8 @@ he: defaults: avatar: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן ל-%{dimensions}px digest: נשלח לאחר תקופה ארוכה של אי-פעילות עם סיכום איזכורים שקיבלת בהעדרך - display_name: - one: נותרה אותאחת - other: נותרו%{count} אותיות header: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן %{dimensions}px locked: מחייב אישור עוקבים באופן ידני. פרטיות ההודעות תהיה עוקבים-בלבד אלא אם יצוין אחרת - note: - one: נותרה אותאחת - other: נותרו %{count} אותיות setting_noindex: משפיע על הפרופיל הציבורי שלך ועמודי ההודעות setting_theme: משפיע על המראה של מסטודון בעת החיבור המזוהה מכל מכשיר שהוא. imports: diff --git a/config/locales/simple_form.hr.yml b/config/locales/simple_form.hr.yml index 2b3ebf91e..4b1d2b1e0 100644 --- a/config/locales/simple_form.hr.yml +++ b/config/locales/simple_form.hr.yml @@ -4,10 +4,8 @@ hr: hints: defaults: avatar: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjen na %{dimensions}px - display_name: Najviše 30 znakova header: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjen na %{dimensions}px locked: traži te da ručno odobriš sljedbenike i postavlja privatnost postova na dostupnu samo sljedbenicima - note: Najviše 160 znakova imports: data: CSV fajl izvezen iz druge Mastodon instance labels: diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml index ef915dec5..f36fabda1 100644 --- a/config/locales/simple_form.hu.yml +++ b/config/locales/simple_form.hu.yml @@ -5,14 +5,8 @@ hu: defaults: avatar: PNG, GIF vagy JPG. Maximum %{size}. Át lesz méretezve %{dimensions} pixelre digest: Csak hosszú távollét esetén küldve és csak ha személyes üzenetet kaptál távollétedben - display_name: - one: 1karakter maradt - other: %{count}karakter maradt header: PNG, GIF vagy JPG. Maximum %{size}. Át lesz méretezve %{dimensions} pixelre locked: Egyenként engedélyezned kell a követőidet - note: - one: 1karakter maradt - other: %{count}karakter maradt setting_noindex: A publikus profilodra és státusz oldalra vonatkozik setting_theme: A bármely eszközről bejelentkezett felület kinézetére vonatkozik. imports: diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml index fcd9d862c..c6da2beff 100644 --- a/config/locales/simple_form.id.yml +++ b/config/locales/simple_form.id.yml @@ -4,10 +4,8 @@ id: hints: defaults: avatar: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px - display_name: Maksimal 30 karakter header: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px locked: Anda harus menerima permintaan pengikut secara manual dan setting privasi postingan akan diubah khusus untuk pengikut - note: Maksimum 160 karakter imports: data: File CSV yang diexpor dari server Mastodon lain sessions: diff --git a/config/locales/simple_form.io.yml b/config/locales/simple_form.io.yml index c4fc702fe..c9fd9899e 100644 --- a/config/locales/simple_form.io.yml +++ b/config/locales/simple_form.io.yml @@ -4,10 +4,8 @@ io: hints: defaults: avatar: En la formato PNG, GIF o JPG. Til %{size}. Esos mikrigita a %{dimensions}px - display_name: 30 signi maxime header: En la formato PNG, GIF o JPG. Til %{size}. Esos mikrigita a %{dimensions}px locked: Tu devos aprobar omna demandi di sequado, e tua mesaji esos senchanje nur por tua sequanti. - note: 160 signi maxime imports: data: Dosiero CSV de altra instaluro di Mastodon sessions: diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index 841e65faa..4c6bb5acf 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -8,18 +8,12 @@ it: bot: Questo account esegue principalmente operazioni automatiche e potrebbe non essere tenuto sotto controllo da una persona context: Uno o più contesti nei quali il filtro dovrebbe essere applicato digest: Inviata solo dopo un lungo periodo di inattività e solo se hai ricevuto qualche messaggio personale in tua assenza - display_name: - one: 1 carattere rimanente - other: %{count} caratteri rimanenti fields: Puoi avere fino a 4 voci visualizzate come una tabella sul tuo profilo header: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px inbox_url: Copia la URL dalla pagina iniziale del ripetitore che vuoi usare irreversible: I toot filtrati scompariranno in modo irreversibile, anche se il filtro viene eliminato locale: La lingua dell'interfaccia utente, di email e notifiche push locked: Richiede che approvi i follower manualmente - note: - one: 1 carattere rimanente - other: %{count} caratteri rimanenti phrase: Il confronto sarà eseguito ignorando minuscole/maiuscole e i content warning scopes: A quali API l'applicazione potrà avere accesso. Se selezionate un ambito di alto livello, non c'è bisogno di selezionare quelle singole. setting_default_language: La lingua dei tuoi toot può essere individuata automaticamente, ma il risultato non è sempre accurato diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index 2ef459040..0ef55c980 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -8,7 +8,6 @@ ja: bot: このアカウントは主に自動で動作し、人が見ていない可能性があります context: フィルターを適用する対象 (複数選択可) digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます - display_name: あと%{count}文字入力できます。 email: 確認のメールが送信されます fields: プロフィールに表として4つまでの項目を表示することができます header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます" @@ -16,7 +15,6 @@ ja: irreversible: フィルターが後で削除されても、除外されたトゥートは元に戻せなくなります locale: ユーザーインターフェース、メールやプッシュ通知の言語 locked: フォロワーを手動で承認する必要があります - note: あと%{count}文字入力できます。 password: 少なくとも8文字は入力してください phrase: トゥートの大文字小文字や閲覧注意に関係なく一致 scopes: アプリの API に許可するアクセス権を選択してください。最上位のスコープを選択する場合、個々のスコープを選択する必要はありません。 diff --git a/config/locales/simple_form.ka.yml b/config/locales/simple_form.ka.yml index b1b29a7ce..6bccb3134 100644 --- a/config/locales/simple_form.ka.yml +++ b/config/locales/simple_form.ka.yml @@ -8,18 +8,12 @@ ka: bot: ეს ანგარიში უმთავრესად ასრულებს ავტომატურ მოქმედებებს და შესაძლოა არ იყოს მონიტორინგის ქვეშ context: ერთ ან მრავალი კონტექსტი სადაც ფილტრი უნდა შესრულდეს digest: იგზავნება მხოლოდ ხანგრძლივი უაქტივობის პერიოდის შემდეგ და არყოფნისას თუ მიიღეთ ერთი წერილი მაინც - display_name: - one: დარჩა ერთი ნიშანი - other: დარჩა %{count} ნიშანი fields: პროფილზე ტაბულის სახით შესაძლოა საჩვენებლად გაგაჩნდეთ მაქს. 4 პუნქტი header: პნგ, გიფ ან ჯპგ. მაქს. %{size}. ზომა დაპატარავდება %{dimensions}პიქს.-ზე inbox_url: ურლ დააკოირეთ გამოყენებისთვის სასურველი რილეის წინა გვერდიდან irreversible: გაფილტრული ტუტები გაუქმდება აღუდგენლად, იმ შემთხვევაშიც კი თუ ფილტრი სამომავლოდ გაუქმდება locale: მომხმარებლის ინტერფეისის, ელ-ფოსტის წერილების და ფუშ შეტყობინებების ენა locked: საჭიროებს თქვენ მიერ მიმდევრების ხელით დადასტურებას - note: - one: დარჩა ერთი ნიშანი - other: დარჩა %{count} ნიშანი phrase: დამთხვევა მოხდება დიდი და პატარა ასოების ან კონტენტის გაფრთხილების გათვალისწინების გარეშე scopes: რომელი აპიებისადმი ექნება აპლიკაციას ცვდომა. თუ არიჩევთ უმთავრეს ფარგლებს, არ დაგჭირდებათ ინდივიდუალურების ამორჩევა. setting_default_language: თქვენი ტუტების ენა შეიძლება დადგინდეს ავტომატურად, მაგრამ ეს არაა ყოველთვის ზუსტი diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index 232844df8..4bf717c6d 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -8,18 +8,12 @@ ko: bot: 사람들에게 계정이 사람이 아님을 알립니다 context: 필터를 적용 할 한 개 이상의 컨텍스트 digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기 - display_name: - one: 1 글자 남음 - other: %{count} 글자 남음 fields: 당신의 프로파일에 최대 4개까지 표 형식으로 나타낼 수 있습니다 header: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 다운스케일 됨 inbox_url: 사용 할 릴레이 서버의 프론트페이지에서 URL을 복사합니다 irreversible: 필터링 된 툿은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다 locale: 유저 인터페이스, 이메일, 푸시 알림 언어 locked: 수동으로 팔로워를 승인하고, 기본 툿 프라이버시 설정을 팔로워 전용으로 변경 - note: - one: 1 글자 남음 - other: %{count} 글자 남음 phrase: 툿 내용이나 CW 내용 안에서 대소문자 구분 없이 매칭 됩니다 scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다. setting_default_language: 작성한 툿의 언어는 자동으로 인식할 수 있지만, 언제나 정확한 건 아닙니다 diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 32ad8d52c..516c1bddf 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -8,18 +8,12 @@ nl: bot: Dit is een geautomatiseerd account en wordt mogelijk niet gemonitord context: Een of meerdere locaties waar de filter actief moet zijn digest: Wordt alleen na een lange periode van inactiviteit verzonden en alleen wanneer je tijdens jouw afwezigheid persoonlijke berichten hebt ontvangen - display_name: - one: 1 teken over - other: %{count} tekens over fields: Je kan maximaal 4 items als een tabel op je profiel weergeven header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px inbox_url: Kopieer de URL van de voorpagina van de relayserver die je wil gebruiken irreversible: Gefilterde toots verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd locale: De taal van de gebruikersomgeving, e-mails en pushmeldingen locked: Vereist dat je handmatig volgers moet accepteren - note: - one: 1 teken over - other: %{count} tekens over phrase: Komt overeen ongeacht hoofd-/kleine letters of tekstwaarschuwingen scopes: Tot welke API's heeft de toepassing toegang. Wanneer je een toestemming van het bovenste niveau kiest, hoef je geen individuele toestemmingen meer te kiezen. setting_default_language: De taal van jouw toots kan automatisch worden gedetecteerd, maar het is niet altijd accuraat diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml index 98c6b82fe..fc339c3f2 100644 --- a/config/locales/simple_form.no.yml +++ b/config/locales/simple_form.no.yml @@ -5,14 +5,8 @@ defaults: avatar: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px digest: Kun sendt etter en lang periode med inaktivitet og bare dersom du har mottatt noen personlige meldinger mens du var borte - display_name: - one: 1 tegn igjen - other: %{count} tegn igjen header: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px locked: Krever at du manuelt godkjenner følgere - note: - one: 1 tegn igjen - other: %{count} tegn igjen setting_noindex: Påvirker din offentlige profil og statussider setting_theme: Påvirker hvordan Mastodon ser ut når du er logget inn fra uansett enhet. imports: diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml index d46befdc1..11bf1dc8b 100644 --- a/config/locales/simple_form.oc.yml +++ b/config/locales/simple_form.oc.yml @@ -8,18 +8,12 @@ oc: bot: Avisar lo monde qu’aqueste compte es pas d’una persona context: Un o mai de contèxtes ont lo filtre deuriá s’aplicar digest: Solament enviat aprèp un long moment d’inactivitat e solament s’avètz recebut de messatges personals pendent vòstra abséncia - display_name: - one: Demòra encara 1 caractèr - other: Demòran encara %{count} caractèrs fields: Podètz far veire cap a 4 elements sus vòstre perfil header: PNG, GIF o JPG. Maximum %{size}. Serà retalhada en %{dimensions}px inbox_url: Copiatz l’URL de la pagina màger del relai que volètz utilizar irreversible: Los tuts filtrats desapareisseràn irreversiblament, encara que lo filtre siá suprimit mai tard locale: La lenga de l’interfàcia d’utilizacion, los messatges e las notificacions locked: Demanda qu’acceptetz manualament lo mond que vos sègon e botarà la visibilitat de vòstras publicacions coma accessiblas a vòstres seguidors solament - note: - one: Demòra encara 1 caractèr - other: Demòran encara %{count} caractèrs phrase: Serà pres en compte que siá en majuscula o minuscula o dins un avertiment de contengut sensible scopes: A quinas APIs poiràn accedir las aplicacions. Se seleccionatz un encastre de naut nivèl, fa pas mestièr de seleccionar los nivèls mai basses. setting_default_language: La lenga de vòstres tuts pòt èsser detectada automaticament, mas de còps es pas corrèctament determinada diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index 250e98c56..8febad488 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -8,22 +8,12 @@ pl: bot: To konto wykonuje głównie zautomatyzowane działania i może nie być monitorowane context: Jedno lub wiele miejsc, w których filtr zostanie zastosowany digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią - display_name: - few: Pozostały %{count} znaki. - many: Pozostało %{count} znaków - one: Pozostał 1 znak - other: Pozostało %{count} znaków fields: Możesz ustawić maksymalnie 4 niestandardowe pola wyświetlane jako tabela na Twoim profilu header: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px inbox_url: Skopiuj adres ze strony głównej przekaźnika, którego chcesz użyć irreversible: Filtrowane wpisy znikną bezpowrotnie, nawet gdy filtr zostanie usunięty locale: Język interfejsu, wiadomości e-mail i powiadomieniach push locked: Musisz akceptować prośby o śledzenie - note: - few: Pozostały %{count} znaki. - many: Pozostało %{count} znaków - one: Pozostał 1 znak - other: Pozostało %{count} znaków phrase: Zostanie wykryte nawet, gdy znajduje się za ostrzeżeniem o zawartości scopes: Wybór API, do których aplikacja będzie miała dostęp. Jeżeli wybierzesz nadrzędny zakres, nie musisz wybierać jego elementów. setting_default_language: Język Twoich wpisów może być wykrywany automatycznie, ale nie zawsze jest to dokładne diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 23272c41f..6fc5ca061 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -8,18 +8,12 @@ pt-BR: bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada context: Um ou mais contextos onde o filtro deve ser aplicado digest: Enviado após um longo período de inatividade com um resumo das menções que você recebeu em sua ausência - display_name: - one: 1 caracter restante - other: %{count} caracteres restantes fields: Você pode ter até 4 itens exibidos em forma de tabela no seu perfil header: PNG, GIF or JPG. Arquivos de até %{size}. Eles serão diminuídos para %{dimensions}px inbox_url: Copie a URL da página inicial do repetidor que você quer usar irreversible: Os toots filtrados vão desaparecer irreversivelmente, mesmo se o filtro for removido depois locale: O idioma das telas de usuário, e-mails e notificações push locked: Requer aprovação manual de seguidores - note: - one: 1 caracter restante - other: %{count} caracteres restantes phrase: Vai coincidir, independente de maiúsculas ou minúsculas, no texto ou no aviso de conteúdo de um toot scopes: Quais APIs a aplicação vai ter permissão de acessar. Se você selecionar um escopo de alto nível, você não precisa selecionar individualmente os outros. setting_default_language: O idioma de seus toots pode ser detectado automaticamente, mas isso nem sempre é preciso diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt.yml index 8c515c1de..88be3ac70 100644 --- a/config/locales/simple_form.pt.yml +++ b/config/locales/simple_form.pt.yml @@ -5,14 +5,8 @@ pt: defaults: avatar: PNG, GIF or JPG. Arquivos até %{size}. Vão ser reduzidos para %{dimensions}px digest: Enviado após um longo período de inatividade e apenas se foste mencionado na tua ausência - display_name: - one: 1 caracter restante - other: %{count} caracteres restantes header: PNG, GIF or JPG. Arquivos até %{size}. Vão ser reduzidos para %{dimensions}px locked: Requer aprovação manual de seguidores - note: - one: 1 caracter restante - other: %{count} caracteres restantes setting_noindex: Afecta o teu perfil público e as páginas das tuas publicações setting_theme: Afecta a aparência do Mastodon quando entras na tua conta em qualquer dispositivo. imports: diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index daeb7300a..44cd7ccd6 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -8,22 +8,12 @@ ru: bot: Этот аккаунт обычно выполяет автоматизированные действия и может не просматриваться владельцем context: Один или несколько контекстов, к которым должны быть применены фильтры digest: Отсылается лишь после длительной неактивности, если Вы в это время получали личные сообщения - display_name: - few: Осталось %{count} символа - many: Осталось %{count} символов - one: Остался 1 символ - other: Осталось %{count} символов fields: В профиле можно отобразить до 4 пунктов как таблицу header: PNG, GIF или JPG. Максимально %{size}. Будет уменьшено до %{dimensions}px inbox_url: Копировать URL с главной страницы ретранслятора, который Вы хотите использовать irreversible: Отфильтрованные статусы будут утеряны навсегда, даже если в будущем фильтр будет убран locale: Язык интерфейса, e-mail писем и push-уведомлений locked: Потребует от Вас ручного подтверждения подписчиков, изменит приватность постов по умолчанию на "только для подписчиков" - note: - few: Осталось %{count} символа - many: Осталось %{count} символов - one: Остался 1 символ - other: Осталось %{count} символов phrase: Будет сопоставлено независимо от присутствия в тексте или предупреждения о содержании статуса scopes: Какие API приложению будет позволено использовать. Если Вы выберите самый верхний, нижестоящие будут выбраны автоматически. setting_default_language: Язык Ваших статусов может быть определён автоматически, но не всегда правильно diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml index 0fd8f66b6..3ff75c2f2 100644 --- a/config/locales/simple_form.sk.yml +++ b/config/locales/simple_form.sk.yml @@ -8,20 +8,12 @@ sk: bot: Tento účet vykonáva hlavne automatizované akcie, a je pravdepodobne nespravovaný context: Jedno, alebo viac kritérií, v ktorých má byť filtrovanie uplatnené digest: Odoslané iba v prípade dlhodobej neprítomnosti, a len ak si obdŕžal/a nejaké osobné správy kým si bol/a preč - display_name: - few: Ostávajú ti %{count} znaky - one: Ostáva ti 1 znak - other: Ostáva ti %{count} znakov fields: Môžeš mať 4 položky na svojom profile zobrazené vo forme tabuľky header: PNG, GIF alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px inbox_url: Skopíruj adresu z hlavnej stránky mostíka, ktorý chceš používať irreversible: Vytriedené príspevky zmiznú nenávratne, aj keď triedenie neskôr zrušíš locale: Jazyk užívateľského rozhrania, emailových a nástenkových oboznámení locked: Vyžaduje manuálne schvalovať sledujúcich - note: - few: Ostávajú ti %{count} znaky - one: Ostáva ti 1 znak - other: Ostáva ti %{count} znakov phrase: Zhoda sa nájde nezávisle od toho, či je text napísaný, veľkými, alebo malými písmenami, či už v tele, alebo v hlavičke scopes: Ktoré API budú povolené aplikácii pre prístup. Ak vyberieš vrcholný stupeň, nemusíš už potom vyberať po jednom. setting_default_language: Jazyk tvojích príspevkov môže byť zistený automaticky, ale nieje to vždy presné diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml index 0f86841d3..3c3a21480 100644 --- a/config/locales/simple_form.sl.yml +++ b/config/locales/simple_form.sl.yml @@ -6,9 +6,6 @@ sl: avatar: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px bot: Opozarja ljudi, da račun ne predstavlja osebe digest: Pošlje se le po dolgem obdobju nedejavnosti in samo, če ste prejeli osebna sporočila v vaši odsotnosti - display_name: - one: 1 znak ostane - other: %{count} znakov ostane fields: Na svojem profilu lahko imate do 4 predmete prikazane kot tabelo. header: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px imports: diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml index 259ac0046..0ef85eaba 100644 --- a/config/locales/simple_form.sr-Latn.yml +++ b/config/locales/simple_form.sr-Latn.yml @@ -5,18 +5,8 @@ sr-Latn: defaults: avatar: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px digest: Poslato posle dužeg perioda neaktivnosti sa pregledom svih bitnih stvari koje ste dobili dok ste bili odsutni - display_name: - few: %{count} karaktera preostala - many: %{count} karaktera preostalo - one: 1 karakter preostao - other: %{count} karaktera preostalo header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px locked: Zahteva da pojedinačno odobrite pratioce - note: - few: %{count} karaktera preostal - many: %{count} karaktera preostalo - one: 1 karakter preostao - other: %{count} karaktera preostalo setting_noindex: Utiče na Vaš javni profil i statusne strane setting_theme: Utiče kako će Mastodont izgledati kada ste prijavljeni sa bilo kog uređaja. imports: diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml index 333685ed5..1af52a41c 100644 --- a/config/locales/simple_form.sr.yml +++ b/config/locales/simple_form.sr.yml @@ -8,22 +8,12 @@ sr: bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа context: Један или више контекста у којима треба да се примени филтер digest: Послато после дужег периода неактивности са прегледом свих битних ствари које сте добили док сте били одсутни - display_name: - few: %{count} карактера преостала - many: %{count} карактера преостало - one: 1 карактер преостао - other: %{count} карактера преостало fields: Можете имати до 4 ставке приказане као табела на вашем профилу header: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px inbox_url: Копирајте URL са насловне стране релеја који желите користити irreversible: Филтриранe трубе ће нестати неповратно, чак и ако је филтер касније уклоњен locale: Језик корисничког интерфејса, е-поште и мобилних обавештења locked: Захтева да појединачно одобрите пратиоце - note: - few: %{count} карактера преостал - many: %{count} карактера преостало - one: 1 карактер преостао - other: %{count} карактера преостало phrase: Биће упарена без обзира на велико или мало слово у тексту или упозорења о садржају трубе scopes: Којим API-јима ће апликација дозволити приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне. setting_default_language: Језик ваших труба може бити аутоматски откривен, али није увек прецизан diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml index 6f2e4b58f..8bc82c609 100644 --- a/config/locales/simple_form.sv.yml +++ b/config/locales/simple_form.sv.yml @@ -7,16 +7,10 @@ sv: avatar: Högst %{size}. Kommer att skalas ner till %{dimensions}px bot: Detta konto utför huvudsakligen automatiserade åtgärder och kanske inte övervakas digest: Skickas endast efter en lång period av inaktivitet och endast om du har fått några personliga meddelanden i din frånvaro - display_name: - one: 1 tecken kvar - other: %{count} tecken kvar fields: Du kan ha upp till 4 objekt visade som en tabell på din profil header: NG, GIF eller JPG. Högst %{size}. Kommer nedskalas till %{dimensions}px locale: Användargränssnittets språk, e-post och push aviseringar locked: Kräver att du manuellt godkänner följare - note: - one: 1 tecken kvar - other: %{count} tecken kvar setting_default_language: Språket av dina inlägg kan upptäckas automatiskt, men det är inte alltid rätt setting_hide_network: Vem du följer och vilka som följer dig kommer inte att visas på din profilsida setting_noindex: Påverkar din offentliga profil och statussidor diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 29491de0b..a8611c2f7 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -4,14 +4,8 @@ th: hints: defaults: avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px - display_name: - one: 1 character left - other: %{count} characters left header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px locked: Requires you to manually approve followers and defaults post privacy to followers-only - note: - one: 1 character left - other: %{count} characters left imports: data: CSV file exported from another Mastodon instance sessions: diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index bd5c65d83..d0b50609b 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -4,10 +4,8 @@ tr: hints: defaults: avatar: En fazla %{size} olacak şekilde PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px büyüklüğüne indirgenecektir - display_name: %{count} karakter kaldı header: En fazla %{size} olacak şekilde PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px büyüklüğüne indirgenecektir. locked: Takipçilerinizi manuel olarak kabul etmenizi ve gönderilerinizi varsayılan olarak sadece takipçilerinizin göreceği şekilde paylaşmanızı sağlar. - note: %{count} karakter kaldı imports: data: Diğer Mastodon sunucusundan dışarı aktardığınız CSV dosyası sessions: diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml index ba25f53e2..05d57509e 100644 --- a/config/locales/simple_form.uk.yml +++ b/config/locales/simple_form.uk.yml @@ -5,10 +5,8 @@ uk: defaults: avatar: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px bot: Цей аккаунт в основному виконує автоматичні дії та може не відстежуватіся - display_name: 'Залишилося символів: %{count}' header: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px locked: Буде вимагати від Вас самостійного підтверждення підписників, змінить приватність постів за замовчуванням на "тільки для підписників" - note: 'Осталось символов: %{count}' imports: data: Файл CSV, экспортированный с другого узла Mastodon sessions: diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 60a2548d2..cfa6840a6 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -7,12 +7,10 @@ zh-CN: avatar: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px bot: 来自这个帐户的绝大多数操作都是自动进行的,并且可能无人监控 digest: 仅在你长时间未登录,且收到了私信时发送 - display_name: 还能输入 %{count} 个字符 fields: 这将会在个人资料页上以表格的形式展示,最多 4 个项目 header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px locale: 用户界面、电子邮件和推送通知中使用的语言 locked: 你需要手动审核所有关注请求 - note: 还能输入 %{count} 个字符 setting_default_language: 嘟文语言自动检测的结果有可能不准确(此设置仅影响你的嘟文) setting_hide_network: 你关注的人和关注你的人将不会在你的个人资料页上展示 setting_noindex: 此设置会影响到你的公开个人资料以及嘟文页面 diff --git a/config/locales/simple_form.zh-HK.yml b/config/locales/simple_form.zh-HK.yml index 447b9ce7a..e28f935c2 100644 --- a/config/locales/simple_form.zh-HK.yml +++ b/config/locales/simple_form.zh-HK.yml @@ -7,16 +7,10 @@ zh-HK: avatar: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px bot: 提醒用戶本帳號是機械人 digest: 僅在你長時間未登錄,且收到了私信時發送 - display_name: - one: 尚餘 1 個字 - other: 尚餘 %{count} 個字 fields: 個人資料頁可顯示多至 4 個項目 header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px locale: 使用者介面、電郵和通知的語言 locked: 你必須人手核准每個用戶對你的關注請求,而你的文章私隱會被預設為「只有關注你的人能看」 - note: - one: 尚餘 1 個字 - other: 尚餘 %{count} 個字 setting_default_language: 你文章的語言會被自動偵測,但不一定完全準確 setting_hide_network: 你關注的人和關注你的人將不會在你的個人資料頁上顯示 setting_noindex: 此設定會影響到你的公開個人資料以及文章頁面 diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml index 7eae7e190..3747fbb98 100644 --- a/config/locales/simple_form.zh-TW.yml +++ b/config/locales/simple_form.zh-TW.yml @@ -8,18 +8,12 @@ zh-TW: bot: 這個帳號由程式進行自動式操作 context: 應該套用過濾器的一項或多項內容 digest: 僅在你長時間未登入,並且收到了私訊時發送 - display_name: - one: 尚餘 1 個字 - other: 尚餘 %{count} 個字 fields: 個人資訊頁至多可顯示 4 個項目 header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px inbox_url: 從您想要使用的中繼首頁複製 URL irreversible: 已過濾的嘟文將會不可逆的消失,即便過濾器之後也一樣 locale: 使用者介面、 E-mail 與通知的語言 locked: 你必須手動核准每個使用者對你的關注請求,而你的貼文隱私將會被設定為「只有關注你的人能看」 - note: - one: 尚餘 1 個字 - other: 尚餘 %{count} 個字 phrase: 無論是嘟文的本文或是內容警告都會被過濾 scopes: 應用程式將會被允許存取哪些 API。若您選取了最高階的範圍,您就不需要再選取單獨的了。 setting_default_language: 你嘟文的語言會被自動偵測,但不一定完全準確 -- cgit From 1e2695198a28e0bc15b32192f8e6abb0051f2159 Mon Sep 17 00:00:00 2001 From: abcang Date: Fri, 26 Oct 2018 10:31:23 +0900 Subject: Skip link-back check if body is nil (#9107) --- app/services/verify_link_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/services/verify_link_service.rb b/app/services/verify_link_service.rb index 3453b54c5..9f56249c7 100644 --- a/app/services/verify_link_service.rb +++ b/app/services/verify_link_service.rb @@ -25,7 +25,7 @@ class VerifyLinkService < BaseService end def link_back_present? - return false if @body.empty? + return false if @body.blank? links = Nokogiri::HTML(@body).xpath('//a[contains(concat(" ", normalize-space(@rel), " "), " me ")]|//link[contains(concat(" ", normalize-space(@rel), " "), " me ")]') -- cgit From 82e7988afcde5b19b99ad9ecf7973560a8a17f7f Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 26 Oct 2018 12:59:59 +0200 Subject: Fix missing `mention` argument when processing incoming Create activities (#9114) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix missing `mention` argument when processing incoming Create activities * Fix typo (param → params) --- app/lib/activitypub/activity/create.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 92cdf4578..ea9017b82 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -90,11 +90,11 @@ class ActivityPub::Activity::Create < ActivityPub::Activity # If the payload was delivered to a specific inbox, the inbox owner must have # access to it, unless they already have access to it anyway - return if @options[:delivered_to_account_id].nil? || @mentions.any? { mention.account_id == @options[:delivered_to_account_id] } + return if @options[:delivered_to_account_id].nil? || @mentions.any? { |mention| mention.account_id == @options[:delivered_to_account_id] } @mentions << Mention.new(account_id: @options[:delivered_to_account_id], silent: true) - return unless @param[:visibility] == :direct + return unless @params[:visibility] == :direct @params[:visibility] = :limited end -- cgit