Skip to content

Commit

Permalink
Merge commit '5c543c602b9351db0dd53da1d4807ffa8686f039' into kbtopic-…
Browse files Browse the repository at this point in the history
…538-ng-word-for-reference
  • Loading branch information
kmycode committed Feb 16, 2024
2 parents 6d787fb + 5c543c6 commit 498ed14
Show file tree
Hide file tree
Showing 77 changed files with 942 additions and 216 deletions.
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -709,7 +709,7 @@ GEM
rufus-scheduler (~> 3.2)
sidekiq (>= 6, < 8)
tilt (>= 1.4.0)
sidekiq-unique-jobs (7.1.31)
sidekiq-unique-jobs (7.1.33)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
concurrent-ruby (~> 1.0, >= 1.0.5)
redis (< 5.0)
Expand Down
19 changes: 19 additions & 0 deletions app/controllers/admin/ngword_histories_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# frozen_string_literal: true

module Admin
class NgwordHistoriesController < BaseController
before_action :set_histories

PER_PAGE = 20

def index
authorize :ng_words, :show?
end

private

def set_histories
@histories = NgwordHistory.order(id: :desc).page(params[:page]).per(PER_PAGE)
end
end
end
2 changes: 1 addition & 1 deletion app/controllers/auth/confirmations_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class Auth::ConfirmationsController < Devise::ConfirmationsController
skip_before_action :require_functional!

def show
if reach_registrations_limit?
if reach_registrations_limit? && !current_user&.valid_invitation?
render :limitation_error
return
end
Expand Down
5 changes: 4 additions & 1 deletion app/controllers/auth/omniauth_callbacks_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class Auth::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def self.provides_callback_for(provider)
define_method provider do
@provider = provider
@user = User.find_for_oauth(request.env['omniauth.auth'], current_user)
@user = User.find_for_omniauth(request.env['omniauth.auth'], current_user)

if @user.persisted?
record_login_activity
Expand All @@ -17,6 +17,9 @@ def self.provides_callback_for(provider)
session["devise.#{provider}_data"] = request.env['omniauth.auth']
redirect_to new_user_registration_url
end
rescue ActiveRecord::RecordInvalid
flash[:alert] = I18n.t('devise.failure.omniauth_user_creation_failure') if is_navigational_format?
redirect_to new_user_session_url
end
end

Expand Down
5 changes: 4 additions & 1 deletion app/javascript/mastodon/features/about/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,9 @@ class About extends PureComponent {

const isFullTextSearch = server.getIn(['configuration', 'search', 'enabled']);

const email = server.getIn(['contact', 'email']) || '';
const emailLink = email.startsWith('https://') ? email : `mailto:${email}`;

return (
<Column bindToDocument={!multiColumn} label={intl.formatMessage(messages.title)}>
<div className='scrollable about'>
Expand All @@ -183,7 +186,7 @@ class About extends PureComponent {
<div className='about__meta__column'>
<h4><FormattedMessage id='about.contact' defaultMessage='Contact:' /></h4>

{isLoading ? <Skeleton width='10ch' /> : <a className='about__mail' href={`mailto:${server.getIn(['contact', 'email'])}`}>{server.getIn(['contact', 'email'])}</a>}
{isLoading ? <Skeleton width='10ch' /> : <a className='about__mail' href={emailLink}>{server.getIn(['contact', 'email'])}</a>}
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,15 +271,15 @@ class PrivacyDropdown extends PureComponent {
this.options = this.options.filter((opt) => !['mutual', 'circle'].includes(opt.value));
}

this.selectableOptions = [...this.options];

if (!enableLoginPrivacy) {
this.selectableOptions = this.selectableOptions.filter((opt) => opt.value !== 'login');
this.options = this.options.filter((opt) => opt.value !== 'login');
}

if (!enableLocalPrivacy) {
this.selectableOptions = this.selectableOptions.filter((opt) => opt.value !== 'public_unlisted');
this.options = this.options.filter((opt) => opt.value !== 'public_unlisted');
}

this.selectableOptions = [...this.options];
}

setTargetRef = c => {
Expand Down
4 changes: 2 additions & 2 deletions app/javascript/mastodon/locales/be.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@
"compose_form.poll.switch_to_multiple": "Змяніце апытанне, каб дазволіць некалькі варыянтаў адказу",
"compose_form.poll.switch_to_single": "Змяніце апытанне, каб дазволіць адзіны варыянт адказу",
"compose_form.poll.type": "Стыль",
"compose_form.publish": "Допіс",
"compose_form.publish_form": "Апублікаваць",
"compose_form.publish": "Даслаць",
"compose_form.publish_form": "Новы допіс",
"compose_form.reply": "Адказаць",
"compose_form.save_changes": "Абнавіць",
"compose_form.spoiler.marked": "Выдаліць папярэджанне аб змесціве",
Expand Down
14 changes: 7 additions & 7 deletions app/javascript/mastodon/locales/bg.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"about.contact": "За контакти:",
"about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка на Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Няма налична причина",
"about.domain_blocks.preamble": "Mastodon обикновено позволява да разглеждате съдържание и да взаимодействате с други потребители от всякакви сървъри във Федивърс. Има изключения, направени конкретно за този сървър.",
"about.domain_blocks.preamble": "Mastodon обикновено позволява да разглеждате съдържание и да взаимодействате с други потребители от всякакви сървъри във Федивселената. Има изключения, направени конкретно за този сървър.",
"about.domain_blocks.silenced.explanation": "Обикновено няма да виждате профили и съдържание, освен ако изрично не го потърсите или се включете в него, следвайки го.",
"about.domain_blocks.silenced.title": "Ограничено",
"about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхраняват или обменят, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.",
Expand Down Expand Up @@ -110,7 +110,7 @@
"column.about": "Относно",
"column.blocks": "Блокирани потребители",
"column.bookmarks": "Отметки",
"column.community": "Локална часова ос",
"column.community": "Локален инфопоток",
"column.direct": "Частни споменавания",
"column.directory": "Разглеждане на профили",
"column.domain_blocks": "Блокирани домейни",
Expand Down Expand Up @@ -228,7 +228,7 @@
"empty_column.account_unavailable": "Профилът не е наличен",
"empty_column.blocks": "Още не сте блокирали никакви потребители.",
"empty_column.bookmarked_statuses": "Още не сте отметнали публикации. Отметвайки някоя, то тя ще се покаже тук.",
"empty_column.community": "Местната часова ос е празна. Напишете нещо обществено, за да завъртите нещата!",
"empty_column.community": "Локалният инфопоток е празен. Публикувайте нещо, за да започнете!",
"empty_column.direct": "Още нямате никакви частни споменавания. Тук ще се показват, изпращайки или получавайки едно.",
"empty_column.domain_blocks": "Още няма блокирани домейни.",
"empty_column.explore_statuses": "Няма нищо налагащо се в момента. Проверете пак по-късно!",
Expand Down Expand Up @@ -348,10 +348,10 @@
"keyboard_shortcuts.favourites": "Отваряне на списъка с любими",
"keyboard_shortcuts.federated": "Отваряне на федерирания инфопоток",
"keyboard_shortcuts.heading": "Клавишни съчетания",
"keyboard_shortcuts.home": "Отваряне на началната часова ос",
"keyboard_shortcuts.home": "Отваряне на личния инфопоток",
"keyboard_shortcuts.hotkey": "Бърз клавиш",
"keyboard_shortcuts.legend": "Показване на тази легенда",
"keyboard_shortcuts.local": "Отваряне на местна часова ос",
"keyboard_shortcuts.local": "Отваряне на локалния инфопоток",
"keyboard_shortcuts.mention": "Споменаване на автора",
"keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители",
"keyboard_shortcuts.my_profile": "Отваряне на профила ви",
Expand Down Expand Up @@ -402,7 +402,7 @@
"navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс",
"navigation_bar.blocks": "Блокирани потребители",
"navigation_bar.bookmarks": "Отметки",
"navigation_bar.community_timeline": "Локална часова ос",
"navigation_bar.community_timeline": "Локален инфопоток",
"navigation_bar.compose": "Съставяне на нова публикация",
"navigation_bar.direct": "Частни споменавания",
"navigation_bar.discover": "Откриване",
Expand Down Expand Up @@ -524,7 +524,7 @@
"poll_button.add_poll": "Анкетиране",
"poll_button.remove_poll": "Премахване на анкета",
"privacy.change": "Промяна на поверителността на публикация",
"privacy.direct.long": "Всеки споменат в публикацията",
"privacy.direct.long": "Споменатите в публикацията",
"privacy.direct.short": "Определени хора",
"privacy.private.long": "Само последователите ви",
"privacy.private.short": "Последователи",
Expand Down
2 changes: 1 addition & 1 deletion app/javascript/mastodon/locales/ca.json
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@
"privacy.public.short": "Públic",
"privacy.unlisted.additional": "Es comporta igual que públic, excepte que la publicació no apareixerà als canals en directe o etiquetes, l'explora o a la cerca de Mastodon, fins i tot si ho heu activat a nivell de compte.",
"privacy.unlisted.long": "Menys fanfàrries algorísmiques",
"privacy.unlisted.short": "Públic tranquil",
"privacy.unlisted.short": "Públic silenciós",
"privacy_policy.last_updated": "Darrera actualització {date}",
"privacy_policy.title": "Política de Privacitat",
"recommended": "Recomanat",
Expand Down
12 changes: 6 additions & 6 deletions app/javascript/mastodon/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -146,12 +146,12 @@
"compose_form.lock_disclaimer.lock": "geschützt",
"compose_form.placeholder": "Was gibt’s Neues?",
"compose_form.poll.duration": "Umfragedauer",
"compose_form.poll.multiple": "Mehrfachauswahl",
"compose_form.poll.option_placeholder": "{number}. Auswahlmöglichkeit",
"compose_form.poll.multiple": "Mul­ti­ple-Choice",
"compose_form.poll.option_placeholder": "Option {number}",
"compose_form.poll.single": "Einfachauswahl",
"compose_form.poll.switch_to_multiple": "Mehrfachauswahl erlauben",
"compose_form.poll.switch_to_single": "Nur Einfachauswahl erlauben",
"compose_form.poll.type": "Art",
"compose_form.poll.type": "Stil",
"compose_form.publish": "Veröffentlichen",
"compose_form.publish_form": "Neuer Beitrag",
"compose_form.reply": "Antworten",
Expand Down Expand Up @@ -277,9 +277,9 @@
"follow_request.authorize": "Genehmigen",
"follow_request.reject": "Ablehnen",
"follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.",
"follow_suggestions.curated_suggestion": "Vom Server empfohlen",
"follow_suggestions.curated_suggestion": "Auswahl des Herausgebers",
"follow_suggestions.dismiss": "Nicht mehr anzeigen",
"follow_suggestions.personalized_suggestion": "Personalisierte Empfehlung",
"follow_suggestions.personalized_suggestion": "Persönliche Empfehlung",
"follow_suggestions.popular_suggestion": "Beliebte Empfehlung",
"follow_suggestions.view_all": "Alle anzeigen",
"follow_suggestions.who_to_follow": "Empfohlene Profile",
Expand Down Expand Up @@ -528,7 +528,7 @@
"privacy.direct.short": "Bestimmte Profile",
"privacy.private.long": "Nur deine Follower",
"privacy.private.short": "Follower",
"privacy.public.long": "Alle auf und außerhalb von Mastodon",
"privacy.public.long": "Alle in und außerhalb von Mastodon",
"privacy.public.short": "Öffentlich",
"privacy.unlisted.additional": "Das Verhalten ist wie bei „Öffentlich“, jedoch erscheint dieser Beitrag nicht in „Live-Feeds“, „Erkunden“, Hashtags oder über die Mastodon-Suchfunktion – selbst wenn du das in den Einstellungen aktiviert hast.",
"privacy.unlisted.long": "Weniger im Algorithmus berücksichtigt",
Expand Down
2 changes: 2 additions & 0 deletions app/javascript/mastodon/locales/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,8 @@
"privacy.private.short": "Seguidores",
"privacy.public.long": "Cualquiera dentro y fuera de Mastodon",
"privacy.public.short": "Público",
"privacy.unlisted.additional": "Esto se comporta exactamente igual que el público, excepto que la publicación no aparecerá en la cronología en directo o en las etiquetas, la exploración o búsqueda de Mastodon, incluso si está optado por activar la cuenta de usuario.",
"privacy.unlisted.long": "Menos fanfares algorítmicos",
"privacy.unlisted.short": "Público tranquilo",
"privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad",
Expand Down
Loading

0 comments on commit 498ed14

Please sign in to comment.