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

This commit is contained in:
Thibaut Girka 2018-10-07 19:47:56 +02:00
commit 611740ce81
50 changed files with 1503 additions and 60 deletions

View File

@ -27,7 +27,6 @@ gem 'addressable', '~> 2.5'
gem 'bootsnap', '~> 1.3', require: false gem 'bootsnap', '~> 1.3', require: false
gem 'browser' gem 'browser'
gem 'charlock_holmes', '~> 0.7.6' gem 'charlock_holmes', '~> 0.7.6'
gem 'colorize'
gem 'iso-639' gem 'iso-639'
gem 'chewy', '~> 5.0' gem 'chewy', '~> 5.0'
gem 'cld3', '~> 3.2.0' gem 'cld3', '~> 3.2.0'
@ -74,7 +73,6 @@ gem 'rails-settings-cached', '~> 0.6'
gem 'redis', '~> 4.0', require: ['redis', 'redis/connection/hiredis'] gem 'redis', '~> 4.0', require: ['redis', 'redis/connection/hiredis']
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
gem 'rqrcode', '~> 0.10' gem 'rqrcode', '~> 0.10'
gem 'ruby-progressbar', '~> 1.4'
gem 'sanitize', '~> 4.6' gem 'sanitize', '~> 4.6'
gem 'sidekiq', '~> 5.2' gem 'sidekiq', '~> 5.2'
gem 'sidekiq-scheduler', '~> 3.0' gem 'sidekiq-scheduler', '~> 3.0'

View File

@ -147,7 +147,6 @@ GEM
cocaine (0.5.8) cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0) climate_control (>= 0.0.3, < 1.0)
coderay (1.1.2) coderay (1.1.2)
colorize (0.8.1)
concurrent-ruby (1.0.5) concurrent-ruby (1.0.5)
connection_pool (2.2.2) connection_pool (2.2.2)
crack (0.4.3) crack (0.4.3)
@ -676,7 +675,6 @@ DEPENDENCIES
chewy (~> 5.0) chewy (~> 5.0)
cld3 (~> 3.2.0) cld3 (~> 3.2.0)
climate_control (~> 0.2) climate_control (~> 0.2)
colorize
derailed_benchmarks derailed_benchmarks
devise (~> 4.5) devise (~> 4.5)
devise-two-factor (~> 3.0) devise-two-factor (~> 3.0)
@ -749,7 +747,6 @@ DEPENDENCIES
rspec-rails (~> 3.8) rspec-rails (~> 3.8)
rspec-sidekiq (~> 3.0) rspec-sidekiq (~> 3.0)
rubocop (~> 0.59) rubocop (~> 0.59)
ruby-progressbar (~> 1.4)
sanitize (~> 4.6) sanitize (~> 4.6)
scss_lint (~> 0.57) scss_lint (~> 0.57)
sidekiq (~> 5.2) sidekiq (~> 5.2)

View File

@ -22,7 +22,7 @@ class Api::V1::ReportsController < Api::BaseController
private private
def reported_status_ids def reported_status_ids
Status.find(status_ids).pluck(:id) reported_account.statuses.find(status_ids).pluck(:id)
end end
def status_ids def status_ids

View File

@ -144,7 +144,7 @@ class GettingStarted extends ImmutablePureComponent {
<li><a href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='navigation_bar.apps' defaultMessage='Mobile apps' /></a> · </li> <li><a href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='navigation_bar.apps' defaultMessage='Mobile apps' /></a> · </li>
<li><a href='/terms' target='_blank'><FormattedMessage id='getting_started.terms' defaultMessage='Terms of service' /></a> · </li> <li><a href='/terms' target='_blank'><FormattedMessage id='getting_started.terms' defaultMessage='Terms of service' /></a> · </li>
<li><a href='/settings/applications' target='_blank'><FormattedMessage id='getting_started.developers' defaultMessage='Developers' /></a> · </li> <li><a href='/settings/applications' target='_blank'><FormattedMessage id='getting_started.developers' defaultMessage='Developers' /></a> · </li>
<li><a href='https://github.com/tootsuite/documentation#documentation' target='_blank'><FormattedMessage id='getting_started.documentation' defaultMessage='Documentation' /></a> · </li> <li><a href='https://docs.joinmastodon.org' target='_blank'><FormattedMessage id='getting_started.documentation' defaultMessage='Documentation' /></a> · </li>
<li><a href='/auth/sign_out' data-method='delete'><FormattedMessage id='navigation_bar.logout' defaultMessage='Logout' /></a></li> <li><a href='/auth/sign_out' data-method='delete'><FormattedMessage id='navigation_bar.logout' defaultMessage='Logout' /></a></li>
</ul> </ul>

View File

@ -160,7 +160,7 @@ const PageSix = ({ admin, domain }) => {
<h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1> <h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1>
{adminSection} {adminSection}
<p><FormattedMessage id='onboarding.page_six.github' defaultMessage='Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.' values={{ github: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>GitHub</a> }} /></p> <p><FormattedMessage id='onboarding.page_six.github' defaultMessage='Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.' values={{ github: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>GitHub</a> }} /></p>
<p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ apps: <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p> <p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ apps: <a href='https://joinmastodon.org/apps' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p>
<p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p> <p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p>
</div> </div>
); );

View File

@ -308,6 +308,10 @@
}, },
{ {
"descriptors": [ "descriptors": [
{
"defaultMessage": "Read more",
"id": "status.read_more"
},
{ {
"defaultMessage": "Show more", "defaultMessage": "Show more",
"id": "status.show_more" "id": "status.show_more"
@ -397,6 +401,14 @@
"defaultMessage": "Block", "defaultMessage": "Block",
"id": "confirmations.block.confirm" "id": "confirmations.block.confirm"
}, },
{
"defaultMessage": "Reply",
"id": "confirmations.reply.confirm"
},
{
"defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"id": "confirmations.reply.message"
},
{ {
"defaultMessage": "Are you sure you want to block {name}?", "defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message" "id": "confirmations.block.message"
@ -1767,6 +1779,14 @@
"defaultMessage": "Detailed conversation view", "defaultMessage": "Detailed conversation view",
"id": "status.detailed_status" "id": "status.detailed_status"
}, },
{
"defaultMessage": "Reply",
"id": "confirmations.reply.confirm"
},
{
"defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"id": "confirmations.reply.message"
},
{ {
"defaultMessage": "Are you sure you want to block {name}?", "defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message" "id": "confirmations.block.message"
@ -2130,6 +2150,10 @@
"defaultMessage": "Sensitive content", "defaultMessage": "Sensitive content",
"id": "status.sensitive_warning" "id": "status.sensitive_warning"
}, },
{
"defaultMessage": "Media hidden",
"id": "status.media_hidden"
},
{ {
"defaultMessage": "Click to view", "defaultMessage": "Click to view",
"id": "status.sensitive_toggle" "id": "status.sensitive_toggle"
@ -2137,4 +2161,4 @@
], ],
"path": "app/javascript/mastodon/features/video/index.json" "path": "app/javascript/mastodon/features/video/index.json"
} }
] ]

View File

@ -15,7 +15,7 @@
"account.follows.empty": "Ten użytkownik nie śledzi jeszcze nikogo.", "account.follows.empty": "Ten użytkownik nie śledzi jeszcze nikogo.",
"account.follows_you": "Śledzi Cię", "account.follows_you": "Śledzi Cię",
"account.hide_reblogs": "Ukryj podbicia od @{name}", "account.hide_reblogs": "Ukryj podbicia od @{name}",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.link_verified_on": "Własność tego odnośnika została potwierdzona {date}",
"account.media": "Zawartość multimedialna", "account.media": "Zawartość multimedialna",
"account.mention": "Wspomnij o @{name}", "account.mention": "Wspomnij o @{name}",
"account.moved_to": "{name} przeniósł(-osła) się do:", "account.moved_to": "{name} przeniósł(-osła) się do:",
@ -95,6 +95,8 @@
"confirmations.mute.message": "Czy na pewno chcesz wyciszyć {name}?", "confirmations.mute.message": "Czy na pewno chcesz wyciszyć {name}?",
"confirmations.redraft.confirm": "Usuń i przeredaguj", "confirmations.redraft.confirm": "Usuń i przeredaguj",
"confirmations.redraft.message": "Czy na pewno chcesz usunąć i przeredagować ten wpis? Polubienia i podbicia zostaną utracone, a odpowiedzi do oryginalnego wpisu zostaną osierocone.", "confirmations.redraft.message": "Czy na pewno chcesz usunąć i przeredagować ten wpis? Polubienia i podbicia zostaną utracone, a odpowiedzi do oryginalnego wpisu zostaną osierocone.",
"confirmations.reply.confirm": "Odpowiedz",
"confirmations.reply.message": "W ten sposób utracisz wpis który obecnie tworzysz. Czy na pewno chcesz to zrobić?",
"confirmations.unfollow.confirm": "Przestań śledzić", "confirmations.unfollow.confirm": "Przestań śledzić",
"confirmations.unfollow.message": "Czy na pewno zamierzasz przestać śledzić {name}?", "confirmations.unfollow.message": "Czy na pewno zamierzasz przestać śledzić {name}?",
"embed.instructions": "Osadź ten wpis na swojej stronie wklejając poniższy kod.", "embed.instructions": "Osadź ten wpis na swojej stronie wklejając poniższy kod.",
@ -299,6 +301,7 @@
"status.open": "Rozszerz ten wpis", "status.open": "Rozszerz ten wpis",
"status.pin": "Przypnij do profilu", "status.pin": "Przypnij do profilu",
"status.pinned": "Przypięty wpis", "status.pinned": "Przypięty wpis",
"status.read_more": "Czytaj dalej",
"status.reblog": "Podbij", "status.reblog": "Podbij",
"status.reblog_private": "Podbij dla odbiorców oryginalnego wpisu", "status.reblog_private": "Podbij dla odbiorców oryginalnego wpisu",
"status.reblogged_by": "{name} podbił(a)", "status.reblogged_by": "{name} podbił(a)",

View File

@ -302,5 +302,10 @@ body.rtl {
margin-right: 0; margin-right: 0;
} }
} }
.public-account-header__tabs {
margin-left: 0;
margin-right: 20px;
}
} }
} }

View File

@ -12,4 +12,4 @@
= image_tag asset_pack_path('logo.svg'), alt: 'Mastodon' = image_tag asset_pack_path('logo.svg'), alt: 'Mastodon'
%div %div
= t('errors.noscript_html') = t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps')

View File

@ -26,8 +26,8 @@
.column-1 .column-1
%h4= t 'footer.developers' %h4= t 'footer.developers'
%ul %ul
%li= link_to t('about.documentation'), 'https://github.com/tootsuite/documentation' %li= link_to t('about.documentation'), 'https://docs.joinmastodon.org/'
%li= link_to t('about.api'), 'https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md' %li= link_to t('about.api'), 'https://docs.joinmastodon.org/api/guidelines/'
.column-2 .column-2
%h4= link_to t('about.what_is_mastodon'), 'https://joinmastodon.org/' %h4= link_to t('about.what_is_mastodon'), 'https://joinmastodon.org/'

View File

@ -517,7 +517,7 @@ ar:
'500': '500':
content: نحن متأسفون، لقد حدث خطأ ما مِن جانبنا. content: نحن متأسفون، لقد حدث خطأ ما مِن جانبنا.
title: هذه الصفحة خاطئة title: هذه الصفحة خاطئة
noscript_html: يرجى تفعيل الجافا سكريبت لاستخدام تطبيق الويب لماستدون، أو عِوض ذلك قوموا بتجريب إحدى <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">التطبيقات الأصلية</a> الدّاعمة لماستدون على منصّتكم. noscript_html: يرجى تفعيل الجافا سكريبت لاستخدام تطبيق الويب لماستدون، أو عِوض ذلك قوموا بتجريب إحدى <a href="%{apps_path}">التطبيقات الأصلية</a> الدّاعمة لماستدون على منصّتكم.
exports: exports:
archive_takeout: archive_takeout:
date: التاريخ date: التاريخ

View File

@ -519,7 +519,7 @@ ca:
'500': '500':
content: Ho sentim, però alguna cosa ha fallat a la nostra banda. content: Ho sentim, però alguna cosa ha fallat a la nostra banda.
title: Aquesta pàgina no es correcta title: Aquesta pàgina no es correcta
noscript_html: Per a utilitzar Mastodon, activa el JavaScript. També pots provar una de les <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md"> aplicacions natives</a> de Mastodon per a la vostra plataforma. noscript_html: Per a utilitzar Mastodon, activa el JavaScript. També pots provar una de les <a href="%{apps_path}"> aplicacions natives</a> de Mastodon per a la vostra plataforma.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data

View File

@ -519,7 +519,7 @@ co:
'500': '500':
content: Scusate, mà chè statu un prublemu cù u nostru servore. content: Scusate, mà chè statu un prublemu cù u nostru servore.
title: Sta pagina ùn hè curretta title: Sta pagina ùn hè curretta
noscript_html: Mastodon nantà u web hà bisognu di JavaScript per funziunà. Pudete ancu pruvà <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">lapplicazione native</a> per a vostra piattaforma. noscript_html: Mastodon nantà u web hà bisognu di JavaScript per funziunà. Pudete ancu pruvà <a href="%{apps_path}">lapplicazione native</a> per a vostra piattaforma.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data

View File

@ -519,7 +519,7 @@ cs:
'500': '500':
content: Omlouváme se, ale něco se pokazilo u nás. content: Omlouváme se, ale něco se pokazilo u nás.
title: Tato stránka není správná title: Tato stránka není správná
noscript_html: Pro použití webové aplikace Mastodon prosím povolte JavaScript. Nebo zkuste jednu z <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">nativních aplikací</a> pro Mastodon pro vaši platformu. noscript_html: Pro použití webové aplikace Mastodon prosím povolte JavaScript. Nebo zkuste jednu z <a href="%{apps_path}">nativních aplikací</a> pro Mastodon pro vaši platformu.
exports: exports:
archive_takeout: archive_takeout:
date: Datum date: Datum

View File

@ -454,7 +454,7 @@ cy:
'500': '500':
content: Mae'n ddrwg gennym ni, ond fe aeth rhywbeth o'i le ar ein rhan ni. content: Mae'n ddrwg gennym ni, ond fe aeth rhywbeth o'i le ar ein rhan ni.
title: Nid yw'r dudalen hon yn gywir title: Nid yw'r dudalen hon yn gywir
noscript_html: I ddefnyddio ap gwê Mastodon, caniatewch JavaScript os gwlwch yn dda. Fel arall, gallwch drio un o'r <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">apiau cynhenid</a> ar gyfer Mastodon ar eich platfform. noscript_html: I ddefnyddio ap gwê Mastodon, caniatewch JavaScript os gwlwch yn dda. Fel arall, gallwch drio un o'r <a href="%{apps_path}">apiau cynhenid</a> ar gyfer Mastodon ar eich platfform.
exports: exports:
archive_takeout: archive_takeout:
date: Dyddiad date: Dyddiad

View File

@ -519,7 +519,7 @@ da:
'500': '500':
content: Beklager men der gik noget galt i vores ende. content: Beklager men der gik noget galt i vores ende.
title: Siden er ikke korrekt title: Siden er ikke korrekt
noscript_html: For at bruge Mastodon web applikationen, aktiver JavaScript. Alternativt kan du prøve en af disse <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">apps</a> til Mastodon for din platform. noscript_html: For at bruge Mastodon web applikationen, aktiver JavaScript. Alternativt kan du prøve en af disse <a href="%{apps_path}">apps</a> til Mastodon for din platform.
exports: exports:
archive_takeout: archive_takeout:
date: Dato date: Dato

View File

@ -519,7 +519,7 @@ de:
'500': '500':
content: Bitte verzeih, etwas ist bei uns schief gegangen. content: Bitte verzeih, etwas ist bei uns schief gegangen.
title: Diese Seite ist kaputt title: Diese Seite ist kaputt
noscript_html: Bitte aktiviere JavaScript, um die Mastodon-Web-Anwendung zu verwenden. Alternativ kannst du auch eine der <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">nativen Mastodon-Anwendungen</a> für deine Plattform probieren. noscript_html: Bitte aktiviere JavaScript, um die Mastodon-Web-Anwendung zu verwenden. Alternativ kannst du auch eine der <a href="%{apps_path}">nativen Mastodon-Anwendungen</a> für deine Plattform probieren.
exports: exports:
archive_takeout: archive_takeout:
date: Datum date: Datum

View File

@ -519,7 +519,7 @@ el:
'500': '500':
content: Λυπούμαστε, κάτι πήγε στραβά από τη δική μας μεριά. content: Λυπούμαστε, κάτι πήγε στραβά από τη δική μας μεριά.
title: Η σελίδα αυτή δεν είναι σωστή title: Η σελίδα αυτή δεν είναι σωστή
noscript_html: Για να χρησιμοποιήσετε τη δικτυακή εφαρμογή του Mastodon, ενεργοποίησε την Javascript. Εναλλακτικά, δοκίμασε μια από τις <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">εφαρμογές</a> για το Mastodon στην πλατφόρμα σου. noscript_html: Για να χρησιμοποιήσετε τη δικτυακή εφαρμογή του Mastodon, ενεργοποίησε την Javascript. Εναλλακτικά, δοκίμασε μια από τις <a href="%{apps_path}">εφαρμογές</a> για το Mastodon στην πλατφόρμα σου.
exports: exports:
archive_takeout: archive_takeout:
date: Ημερομηνία date: Ημερομηνία

View File

@ -528,7 +528,7 @@ en:
'500': '500':
content: We're sorry, but something went wrong on our end. content: We're sorry, but something went wrong on our end.
title: This page is not correct title: This page is not correct
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">native apps</a> for Mastodon for your platform. noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="%{apps_path}">native apps</a> for Mastodon for your platform.
exports: exports:
archive_takeout: archive_takeout:
date: Date date: Date

View File

@ -501,7 +501,7 @@ eo:
title: Ĉi tiu paĝo ne estas ĝusta title: Ĉi tiu paĝo ne estas ĝusta
noscript_html: |- noscript_html: |-
Por uzi la retan aplikaĵon de Mastodon, bonvolu ebligi JavaScript. Alimaniere, provu unu el la Por uzi la retan aplikaĵon de Mastodon, bonvolu ebligi JavaScript. Alimaniere, provu unu el la
<a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">operaciumaj aplikaĵoj</a> por Mastodon por via platformo. <a href="%{apps_path}">operaciumaj aplikaĵoj</a> por Mastodon por via platformo.
exports: exports:
archive_takeout: archive_takeout:
date: Dato date: Dato

View File

@ -519,7 +519,7 @@ es:
'500': '500':
content: Lo sentimos, algo ha funcionado mal por nuestra parte. content: Lo sentimos, algo ha funcionado mal por nuestra parte.
title: Esta página no es correcta title: Esta página no es correcta
noscript_html: Para usar la aplicación web de Mastodon, por favor activa Javascript. Alternativamente, prueba alguna de las <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">aplicaciones nativas</a> para Mastodon para tu plataforma. noscript_html: Para usar la aplicación web de Mastodon, por favor activa Javascript. Alternativamente, prueba alguna de las <a href="%{apps_path}">aplicaciones nativas</a> para Mastodon para tu plataforma.
exports: exports:
archive_takeout: archive_takeout:
date: Fecha date: Fecha

View File

@ -519,7 +519,7 @@ eu:
'500': '500':
content: Sentitzen dugu, zerbait okerra gertatu da gure aldean. content: Sentitzen dugu, zerbait okerra gertatu da gure aldean.
title: Orri hau ez da zuzena title: Orri hau ez da zuzena
noscript_html: Mastodon web aplikazioa erabiltzeko, gaitu JavaScript. Bestela, probatu Mastodon plataformarako <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">aplikazio natibo</a>ren bat. noscript_html: Mastodon web aplikazioa erabiltzeko, gaitu JavaScript. Bestela, probatu Mastodon plataformarako <a href="%{apps_path}">aplikazio natibo</a>ren bat.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data

View File

@ -519,7 +519,7 @@ fa:
'500': '500':
content: شرمنده، یک چیزی از سمت ما اشتباه شده. content: شرمنده، یک چیزی از سمت ما اشتباه شده.
title: این صفحه درست نیست title: این صفحه درست نیست
noscript_html: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش می‌توانید <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">یک اپ ماستدون</a> را به‌کار ببرید. noscript_html: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش می‌توانید <a href="%{apps_path}">یک اپ ماستدون</a> را به‌کار ببرید.
exports: exports:
archive_takeout: archive_takeout:
date: تاریخ date: تاریخ

View File

@ -448,7 +448,7 @@ fi:
'500': '500':
content: Valitettavasti jokin meni pieleen meidän päässämme. content: Valitettavasti jokin meni pieleen meidän päässämme.
title: Sivu ei ole oikein title: Sivu ei ole oikein
noscript_html: Mastodon-selainsovelluksen käyttöön vaaditaan JavaScript. Voit vaihtoehtoisesti kokeilla jotakin omalle käyttöjärjestelmällesi tehtyä Mastodon<a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">sovellusta</a>. noscript_html: Mastodon-selainsovelluksen käyttöön vaaditaan JavaScript. Voit vaihtoehtoisesti kokeilla jotakin omalle käyttöjärjestelmällesi tehtyä Mastodon<a href="%{apps_path}">sovellusta</a>.
exports: exports:
archive_takeout: archive_takeout:
date: Päiväys date: Päiväys

View File

@ -519,7 +519,7 @@ fr:
'500': '500':
content: Nous sommes désolé·e·s, mais quelque chose sest mal passé de notre côté. content: Nous sommes désolé·e·s, mais quelque chose sest mal passé de notre côté.
title: Cette page nest pas correcte title: Cette page nest pas correcte
noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript. Sinon, essayez lune des <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">applications natives</a> pour Mastodon pour votre plate-forme. noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript. Sinon, essayez lune des <a href="%{apps_path}">applications natives</a> pour Mastodon pour votre plate-forme.
exports: exports:
archive_takeout: archive_takeout:
date: Date date: Date

View File

@ -519,7 +519,7 @@ gl:
'500': '500':
content: Sentímolo, pero algo do noso lado falloou. content: Sentímolo, pero algo do noso lado falloou.
title: Esta páxina non é correcta title: Esta páxina non é correcta
noscript_html: Para utilizar a aplicación web de Mastodon debe habilitar JavaScript. De xeito alternativo, intente unha das <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">apps nativas</a> para Mastodon da súa plataforma. noscript_html: Para utilizar a aplicación web de Mastodon debe habilitar JavaScript. De xeito alternativo, intente unha das <a href="%{apps_path}">apps nativas</a> para Mastodon da súa plataforma.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data

View File

@ -398,7 +398,7 @@ hu:
'500': '500':
content: Sajnáljuk, valami hiba történt a mi oldalunkon. content: Sajnáljuk, valami hiba történt a mi oldalunkon.
title: Az oldal nem megfelelő title: Az oldal nem megfelelő
noscript_html: A Mastodon webalkalmazás használatához engedélyezned kell a JavaScriptet. A másik megoldás, hogy kipróbálod az egyik, a platformodnak megfelelő <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">alkalmazást</a>. noscript_html: A Mastodon webalkalmazás használatához engedélyezned kell a JavaScriptet. A másik megoldás, hogy kipróbálod az egyik, a platformodnak megfelelő <a href="%{apps_path}">alkalmazást</a>.
exports: exports:
blocks: Tiltólistádon blocks: Tiltólistádon
csv: CSV csv: CSV

View File

@ -467,7 +467,7 @@ it:
'500': '500':
content: Siamo spiacenti, ma qualcosa non ha funzionato dal nostro lato. content: Siamo spiacenti, ma qualcosa non ha funzionato dal nostro lato.
title: Questa pagina non è corretta title: Questa pagina non è corretta
noscript_html: Per usare l'interfaccia web di Mastodon dovi abilitare JavaScript. In alternativa puoi provare una delle <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">app native</a> per Mastodon per la tua piattaforma. noscript_html: Per usare l'interfaccia web di Mastodon dovi abilitare JavaScript. In alternativa puoi provare una delle <a href="%{apps_path}">app native</a> per Mastodon per la tua piattaforma.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data

View File

@ -527,7 +527,7 @@ ja:
'500': '500':
content: もうしわけありませんが、なにかが間違っています。 content: もうしわけありませんが、なにかが間違っています。
title: このページは正しくありません title: このページは正しくありません
noscript_html: Mastodonのウェブアプリケーションを利用する場合はJavaScriptを有効にしてください。またはあなたのプラットフォーム向けの<a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodonネイティブアプリ</a>を探すことができます。 noscript_html: Mastodonのウェブアプリケーションを利用する場合はJavaScriptを有効にしてください。またはあなたのプラットフォーム向けの<a href="%{apps_path}">Mastodonネイティブアプリ</a>を探すことができます。
exports: exports:
archive_takeout: archive_takeout:
date: 日時 date: 日時

View File

@ -499,7 +499,7 @@ ka:
'500': '500':
content: ბოდიში, ჩვენ მხარეს რაღაც არია. content: ბოდიში, ჩვენ მხარეს რაღაც არია.
title: გვერდი არაა სწორი title: გვერდი არაა სწორი
noscript_html: მასტოდონ ვებ-აპლიკაციის გამოყენებისთვის, გთხოვთ ჩართოთ ჯავასკრიპტი. სხვა შემთხვევაში, მასტოდონის თქვენი პატფორმისთვის სცადეთ გამოიყენოთ ერთ-ერთი <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">მშობლიური აპლიკაცია</a>. noscript_html: მასტოდონ ვებ-აპლიკაციის გამოყენებისთვის, გთხოვთ ჩართოთ ჯავასკრიპტი. სხვა შემთხვევაში, მასტოდონის თქვენი პატფორმისთვის სცადეთ გამოიყენოთ ერთ-ერთი <a href="%{apps_path}">მშობლიური აპლიკაცია</a>.
exports: exports:
archive_takeout: archive_takeout:
date: თარიღი date: თარიღი

View File

@ -521,7 +521,7 @@ ko:
'500': '500':
content: 죄송합니다, 뭔가 잘못 되었습니다. content: 죄송합니다, 뭔가 잘못 되었습니다.
title: 이 페이지는 잘못되었습니다 title: 이 페이지는 잘못되었습니다
noscript_html: 마스토돈을 사용하기 위해서는 자바스크립트를 켜 주십시오. 아니면 <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">네이티브 앱</a> 중 하나를 사용할 수 있습니다. noscript_html: 마스토돈을 사용하기 위해서는 자바스크립트를 켜 주십시오. 아니면 <a href="%{apps_path}">네이티브 앱</a> 중 하나를 사용할 수 있습니다.
exports: exports:
archive_takeout: archive_takeout:
date: 날짜 date: 날짜

View File

@ -519,7 +519,7 @@ nl:
'500': '500':
content: Het spijt ons, er is aan onze kant iets fout gegaan. content: Het spijt ons, er is aan onze kant iets fout gegaan.
title: Er is iets mis title: Er is iets mis
noscript_html: Schakel JavaScript in om de webapp van Mastodon te kunnen gebruiken. Als alternatief kan je een <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodon-app</a> zoeken voor jouw platform. noscript_html: Schakel JavaScript in om de webapp van Mastodon te kunnen gebruiken. Als alternatief kan je een <a href="%{apps_path}">Mastodon-app</a> zoeken voor jouw platform.
exports: exports:
archive_takeout: archive_takeout:
date: Datum date: Datum

View File

@ -398,7 +398,7 @@
'500': '500':
content: Beklager men noe gikk galt ved vår ende. content: Beklager men noe gikk galt ved vår ende.
title: Denne siden er ikke korrekt title: Denne siden er ikke korrekt
noscript_html: For å bruke Mastodon webapplikasjon må du aktivere JavaScript. Alternativt kan du forsøke en av de mange <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">integrerte appene</a> for Mastodon til din plattform. noscript_html: For å bruke Mastodon webapplikasjon må du aktivere JavaScript. Alternativt kan du forsøke en av de mange <a href="%{apps_path}">integrerte appene</a> for Mastodon til din plattform.
exports: exports:
blocks: Du blokkerer blocks: Du blokkerer
csv: CSV csv: CSV

View File

@ -576,7 +576,7 @@ oc:
'500': '500':
content: Un quicomet a pas foncionat coma caliá. content: Un quicomet a pas foncionat coma caliá.
title: Aquesta pagina es pas corrècta title: Aquesta pagina es pas corrècta
noscript_html: Per utilizar laplicacion web de Mastodon, mercés dactivar JavaScript. O podètz utilizar <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">una aplicacion</a> per vòstra plataforma coma alernativa. noscript_html: Per utilizar laplicacion web de Mastodon, mercés dactivar JavaScript. O podètz utilizar <a href="%{apps_path}">una aplicacion</a> per vòstra plataforma coma alernativa.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data

View File

@ -54,6 +54,7 @@ pl:
other: Śledzących other: Śledzących
following: Śledzonych following: Śledzonych
joined: Dołączył(a) %{date} joined: Dołączył(a) %{date}
link_verified_on: Własność tego odnośnika została sprawdzona %{date}
media: Zawartość multimedialna media: Zawartość multimedialna
moved_html: "%{name} korzysta teraz z konta %{new_profile_link}:" moved_html: "%{name} korzysta teraz z konta %{new_profile_link}:"
network_hidden: Ta informacja nie jest dostępna network_hidden: Ta informacja nie jest dostępna
@ -128,6 +129,7 @@ pl:
moderation_notes: Notatki moderacyjne moderation_notes: Notatki moderacyjne
most_recent_activity: Najnowsza aktywność most_recent_activity: Najnowsza aktywność
most_recent_ip: Ostatnie IP most_recent_ip: Ostatnie IP
no_limits_imposed: Nie nałożono ograniczeń
not_subscribed: Nie zasubskrybowano not_subscribed: Nie zasubskrybowano
order: order:
alphabetic: Alfabetycznie alphabetic: Alfabetycznie
@ -163,8 +165,10 @@ pl:
report: zgłoszeń report: zgłoszeń
targeted_reports: Zgłoszenia dotyczące tego użytkownika targeted_reports: Zgłoszenia dotyczące tego użytkownika
silence: Wycisz silence: Wycisz
silenced: Wyciszono
statuses: Wpisy statuses: Wpisy
subscribe: Subskrybuj subscribe: Subskrybuj
suspended: Zawieszono
title: Konta title: Konta
unconfirmed_email: Niepotwierdzony adres e-mail unconfirmed_email: Niepotwierdzony adres e-mail
undo_silenced: Cofnij wyciszenie undo_silenced: Cofnij wyciszenie
@ -309,8 +313,13 @@ pl:
title: Zaproszenia title: Zaproszenia
relays: relays:
add_new: Dodaj nowy add_new: Dodaj nowy
delete: Usuń
description_html: "<strong>Przekaźnik federacji</strong> jest pośredniczącym serwerem wymieniającym duże ilości publicznych wpisów pomiędzy serwerami które subskrybują je i publikują na nich. <strong>Pomaga to małym i średnim instancją poznawać nową zawartość z Fediwersum</strong>, co w innym przypadku wymagałoby od użytkowników ręcznego śledzenia osób z innych serwerów." description_html: "<strong>Przekaźnik federacji</strong> jest pośredniczącym serwerem wymieniającym duże ilości publicznych wpisów pomiędzy serwerami które subskrybują je i publikują na nich. <strong>Pomaga to małym i średnim instancją poznawać nową zawartość z Fediwersum</strong>, co w innym przypadku wymagałoby od użytkowników ręcznego śledzenia osób z innych serwerów."
disable: Wyłącz
disabled: Wyłączony
enable: Włącz
enable_hint: Jeżeli włączone, Twój serwer zasubskrybuje wszystkie publiczne wpisy z tego przekaźnika i zacznie wysyłać tam publiczne wpisy z tego serwera. enable_hint: Jeżeli włączone, Twój serwer zasubskrybuje wszystkie publiczne wpisy z tego przekaźnika i zacznie wysyłać tam publiczne wpisy z tego serwera.
enabled: Włączony
inbox_url: Adres przekaźnika inbox_url: Adres przekaźnika
pending: Oczekiwanie na przyjęcie przez przekaźnik pending: Oczekiwanie na przyjęcie przez przekaźnik
save_and_enable: Zapisz i aktywuj save_and_enable: Zapisz i aktywuj
@ -528,7 +537,7 @@ pl:
'500': '500':
content: Przepraszamy, coś poszło nie tak, po naszej stronie. content: Przepraszamy, coś poszło nie tak, po naszej stronie.
title: Ta strona jest nieprawidłowa title: Ta strona jest nieprawidłowa
noscript_html: Aby korzystać z aplikacji Mastodon, włącz JavaScript. Możesz też skorzystać z jednej z <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">natywnych aplikacji</a> obsługującej Twoje urządzenie. noscript_html: Aby korzystać z aplikacji Mastodon, włącz JavaScript. Możesz też skorzystać z jednej z <a href="%{apps_path}">natywnych aplikacji</a> obsługującej Twoje urządzenie.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data
@ -927,8 +936,12 @@ pl:
tips: Wskazówki tips: Wskazówki
title: Witaj na pokładzie, %{name}! title: Witaj na pokładzie, %{name}!
users: users:
follow_limit_reached: Nie możesz śledzić więcej niż %{limit} osób
invalid_email: Adres e-mail jest niepoprawny invalid_email: Adres e-mail jest niepoprawny
invalid_otp_token: Kod uwierzytelniający jest niepoprawny invalid_otp_token: Kod uwierzytelniający jest niepoprawny
otp_lost_help_html: Jeżeli utracisz dostęp do obu, możesz skontaktować się z %{email} otp_lost_help_html: Jeżeli utracisz dostęp do obu, możesz skontaktować się z %{email}
seamless_external_login: Zalogowano z użyciem zewnętrznej usługi, więc ustawienia hasła i adresu e-mail nie są dostępne. seamless_external_login: Zalogowano z użyciem zewnętrznej usługi, więc ustawienia hasła i adresu e-mail nie są dostępne.
signed_in_as: 'Zalogowany jako:' signed_in_as: 'Zalogowany jako:'
verification:
explanation_html: 'Możesz <strong>zweryfikować siebie jako właściciela stron, do których odnośniki znajdują się w metadanych</strong>. Aby to zrobić, strona musi zawierać odnośnik do Twojego profilu na Mastodonie. Odnośnik <strong>musi</strong> zawierać atrybut <code>rel="me"</code>. Jego zawartość nie ma znaczenia. Przykład:'
verification: Weryfikacja

View File

@ -517,7 +517,7 @@ pt-BR:
'500': '500':
content: Desculpe, algo deu errado. content: Desculpe, algo deu errado.
title: Esta página não está certa title: Esta página não está certa
noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Ou, se quiser, experimente um dos <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">apps nativos</a> para o Mastodon em sua plataforma. noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Ou, se quiser, experimente um dos <a href="%{apps_path}">apps nativos</a> para o Mastodon em sua plataforma.
exports: exports:
archive_takeout: archive_takeout:
date: Data date: Data

View File

@ -401,7 +401,7 @@ pt:
'500': '500':
content: Desculpe, mas algo correu mal. content: Desculpe, mas algo correu mal.
title: Esta página não está correta title: Esta página não está correta
noscript_html: Para usar o aplicativo web do Mastodon, por favor ativa o JavaScript. Alternativamente, experimenta um dos <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">apps nativos</a> para o Mastodon na sua plataforma. noscript_html: Para usar o aplicativo web do Mastodon, por favor ativa o JavaScript. Alternativamente, experimenta um dos <a href="%{apps_path}">apps nativos</a> para o Mastodon na sua plataforma.
exports: exports:
blocks: Bloqueaste blocks: Bloqueaste
csv: CSV csv: CSV

View File

@ -528,7 +528,7 @@ ru:
'500': '500':
content: Приносим извинения, но на нашей стороне что-то пошло не так. content: Приносим извинения, но на нашей стороне что-то пошло не так.
title: Страница неверна title: Страница неверна
noscript_html: Для работы с Mastodon, пожалуйста, включите JavaScript. Кроме того, вы можете использовать одно из <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">приложений</a> Mastodon для Вашей платформы. noscript_html: Для работы с Mastodon, пожалуйста, включите JavaScript. Кроме того, вы можете использовать одно из <a href="%{apps_path}">приложений</a> Mastodon для Вашей платформы.
exports: exports:
archive_takeout: archive_takeout:
date: Дата date: Дата

View File

@ -520,7 +520,7 @@ sk:
'500': '500':
content: Ospravedlňujeme sa. Niečo sa pokazilo na našom konci. content: Ospravedlňujeme sa. Niečo sa pokazilo na našom konci.
title: Táto stránka nieje v poriadku title: Táto stránka nieje v poriadku
noscript_html: Aby bolo možné používať Mastodon web aplikáciu, prosím povoľte JavaScript. Alebo skúste jednu z <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md"> aplikácii </a> dostupných pre vašu platformu. noscript_html: Aby bolo možné používať Mastodon web aplikáciu, prosím povoľte JavaScript. Alebo skúste jednu z <a href="%{apps_path}"> aplikácii </a> dostupných pre vašu platformu.
exports: exports:
archive_takeout: archive_takeout:
date: Dátum date: Dátum

View File

@ -391,7 +391,7 @@ sr-Latn:
'500': '500':
content: Izvinjavamo se, nešto je pošlo po zlu sa ove strane. content: Izvinjavamo se, nešto je pošlo po zlu sa ove strane.
title: Strana nije ispravna title: Strana nije ispravna
noscript_html: Da biste koristili Mastodont veb aplikaciju, omogućite JavaScript. U suprotnom, probajte neku od <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">originalnih aplikacija</a> za Mastodont za Vašu platformu. noscript_html: Da biste koristili Mastodont veb aplikaciju, omogućite JavaScript. U suprotnom, probajte neku od <a href="%{apps_path}">originalnih aplikacija</a> za Mastodont za Vašu platformu.
exports: exports:
blocks: Blokirali ste blocks: Blokirali ste
csv: CSV csv: CSV

View File

@ -521,7 +521,7 @@ sr:
'500': '500':
content: Извињавамо се, нешто је пошло по злу са ове стране. content: Извињавамо се, нешто је пошло по злу са ове стране.
title: Страна није исправна title: Страна није исправна
noscript_html: Да бисте користили Мастодонт веб апликацију, омогућите JavaScript. У супротном, пробајте неку од <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">оригиналних апликација</a> за Мастодонт за Вашу платформу. noscript_html: Да бисте користили Мастодонт веб апликацију, омогућите JavaScript. У супротном, пробајте неку од <a href="%{apps_path}">оригиналних апликација</a> за Мастодонт за Вашу платформу.
exports: exports:
archive_takeout: archive_takeout:
date: Датум date: Датум

View File

@ -452,7 +452,7 @@ sv:
'500': '500':
content: Vi är ledsna, men något gick fel från vårat håll. content: Vi är ledsna, men något gick fel från vårat håll.
title: Den här sidan är inte korrekt title: Den här sidan är inte korrekt
noscript_html: För att använda Mastodon webbapplikationen, vänligen aktivera JavaScript. Alternativt kan du prova en av <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">inhemska appar</a> för Mastodon för din plattform. noscript_html: För att använda Mastodon webbapplikationen, vänligen aktivera JavaScript. Alternativt kan du prova en av <a href="%{apps_path}">inhemska appar</a> för Mastodon för din plattform.
exports: exports:
archive_takeout: archive_takeout:
date: Datum date: Datum

View File

@ -484,7 +484,7 @@ uk:
'500': '500':
content: Пробачте, та щось пішло не так з нашого боку. content: Пробачте, та щось пішло не так з нашого боку.
title: Ця сторінка неправильна title: Ця сторінка неправильна
noscript_html: Для використання веб-застосунку Mastodon, будь-ласка увімкніть JavaScript. Якщо у вас немає такої можливості, скористайтесь одним із <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">нативних застосунків</a> для Mastodon для вашої платформи. noscript_html: Для використання веб-застосунку Mastodon, будь-ласка увімкніть JavaScript. Якщо у вас немає такої можливості, скористайтесь одним із <a href="%{apps_path}">нативних застосунків</a> для Mastodon для вашої платформи.
exports: exports:
archive_takeout: archive_takeout:
date: Дата date: Дата

View File

@ -505,7 +505,7 @@ zh-CN:
'500': '500':
content: 抱歉,我们的后台出错了。 content: 抱歉,我们的后台出错了。
title: 这个页面有问题 title: 这个页面有问题
noscript_html: 使用 Mastodon 网页版应用需要启用 JavaScript。你也可以选择适用于你的平台的 <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodon 应用</a>。 noscript_html: 使用 Mastodon 网页版应用需要启用 JavaScript。你也可以选择适用于你的平台的 <a href="%{apps_path}">Mastodon 应用</a>。
exports: exports:
archive_takeout: archive_takeout:
date: 日期 date: 日期

View File

@ -452,7 +452,7 @@ zh-HK:
'500': '500':
content: 抱歉,我們的後台出錯了。 content: 抱歉,我們的後台出錯了。
title: 這個頁面有問題 title: 這個頁面有問題
noscript_html: 使用 Mastodon 網頁版應用需要啟用 JavaScript。你也可以選擇適用於你的平台的 <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodon 應用</a>。 noscript_html: 使用 Mastodon 網頁版應用需要啟用 JavaScript。你也可以選擇適用於你的平台的 <a href="%{apps_path}">Mastodon 應用</a>。
exports: exports:
archive_takeout: archive_takeout:
date: 日期 date: 日期

View File

@ -462,7 +462,7 @@ zh-TW:
'500': '500':
content: 抱歉,我們的後台出現問題了。 content: 抱歉,我們的後台出現問題了。
title: 這個頁面有問題 title: 這個頁面有問題
noscript_html: 使用 Mastodon 網頁版應用需要啟用 JavaScript。你也可以選擇適用於你的平台的 <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodon 應用</a>。 noscript_html: 使用 Mastodon 網頁版應用需要啟用 JavaScript。你也可以選擇適用於你的平台的 <a href="%{apps_path}">Mastodon 應用</a>。
exports: exports:
archive_takeout: archive_takeout:
date: 日期 date: 日期

View File

@ -307,6 +307,10 @@ Rails.application.routes.draw do
resources :notifications, only: [:index, :show, :destroy] do resources :notifications, only: [:index, :show, :destroy] do
collection do collection do
post :clear post :clear
post :dismiss # Deprecated
end
member do
post :dismiss post :dismiss
delete :destroy_multiple delete :destroy_multiple
end end

View File

@ -50,11 +50,11 @@ module.exports = merge(sharedConfig, {
minimize: true, minimize: true,
minimizer: [ minimizer: [
new UglifyJsPlugin({ new UglifyJsPlugin({
cache: true,
parallel: true,
sourceMap: true, sourceMap: true,
uglifyOptions: { uglifyOptions: {
mangle: true,
compress: { compress: {
warnings: false, warnings: false,
}, },

View File

@ -3,15 +3,10 @@ class CopyStatusStats < ActiveRecord::Migration[5.2]
def up def up
safety_assured do safety_assured do
Status.unscoped.select('id').find_in_batches(batch_size: 5_000) do |statuses| if supports_upsert?
execute <<-SQL.squish up_fast
INSERT INTO status_stats (status_id, reblogs_count, favourites_count, created_at, updated_at) else
SELECT id, reblogs_count, favourites_count, created_at, updated_at up_slow
FROM statuses
WHERE id IN (#{statuses.map(&:id).join(', ')})
ON CONFLICT (status_id) DO UPDATE
SET reblogs_count = EXCLUDED.reblogs_count, favourites_count = EXCLUDED.favourites_count
SQL
end end
end end
end end
@ -19,4 +14,41 @@ class CopyStatusStats < ActiveRecord::Migration[5.2]
def down def down
# Nothing # Nothing
end end
private
def supports_upsert?
version = select_one("SELECT current_setting('server_version_num') AS v")['v'].to_i
version >= 90500
end
def up_fast
say 'Upsert is available, importing counters using the fast method'
Status.unscoped.select('id').find_in_batches(batch_size: 5_000) do |statuses|
execute <<-SQL.squish
INSERT INTO status_stats (status_id, reblogs_count, favourites_count, created_at, updated_at)
SELECT id, reblogs_count, favourites_count, created_at, updated_at
FROM statuses
WHERE id IN (#{statuses.map(&:id).join(', ')})
ON CONFLICT (status_id) DO UPDATE
SET reblogs_count = EXCLUDED.reblogs_count, favourites_count = EXCLUDED.favourites_count
SQL
end
end
def up_slow
say 'Upsert is not available in PostgreSQL below 9.5, falling back to slow import of counters'
# We cannot use bulk INSERT or overarching transactions here because of possible
# uniqueness violations that we need to skip over
Status.unscoped.select('id, reblogs_count, favourites_count, created_at, updated_at').find_each do |status|
begin
params = [[nil, status.id], [nil, status.reblogs_count], [nil, status.favourites_count], [nil, status.created_at], [nil, status.updated_at]]
exec_insert('INSERT INTO status_stats (status_id, reblogs_count, favourites_count, created_at, updated_at) VALUES ($1, $2, $3, $4, $5)', nil, params)
rescue ActiveRecord::RecordNotUnique
next
end
end
end
end end

1367
yarn.lock

File diff suppressed because it is too large Load Diff