Merge with upstream's 1.6.0closed-social-glitch-2
@ -0,0 +1,11 @@ | |||
import React from 'react'; | |||
const DrawerLoading = () => ( | |||
<div className='drawer'> | |||
<div className='drawer__pager'> | |||
<div className='drawer__inner' /> | |||
</div> | |||
</div> | |||
); | |||
export default DrawerLoading; |
@ -0,0 +1,34 @@ | |||
# frozen_string_literal: true | |||
class BootstrapTimelineService < BaseService | |||
def call(source_account) | |||
bootstrap_timeline_accounts.each do |target_account| | |||
FollowService.new.call(source_account, target_account) | |||
end | |||
end | |||
private | |||
def bootstrap_timeline_accounts | |||
return @bootstrap_timeline_accounts if defined?(@bootstrap_timeline_accounts) | |||
@bootstrap_timeline_accounts = bootstrap_timeline_accounts_usernames.empty? ? admin_accounts : local_unlocked_accounts(bootstrap_timeline_accounts_usernames) | |||
end | |||
def bootstrap_timeline_accounts_usernames | |||
@bootstrap_timeline_accounts_usernames ||= (Setting.bootstrap_timeline_accounts || '').split(',').map { |str| str.strip.gsub(/\A@/, '') }.reject(&:blank?) | |||
end | |||
def admin_accounts | |||
User.admins | |||
.includes(:account) | |||
.where(accounts: { locked: false }) | |||
.map(&:account) | |||
end | |||
def local_unlocked_accounts(usernames) | |||
Account.local | |||
.where(username: usernames) | |||
.where(locked: false) | |||
end | |||
end |
@ -1,13 +1,13 @@ | |||
<p>Bonjorn <%= @resource.email %> ! <p> | |||
<p>Bonjorn <%= @resource.email %> !<p> | |||
<p>Venètz de vos crear un compte sus <%= @instance %> e vos mercegem :)</p> | |||
<p>Per confirmar vòstre inscripcion, mercés de clicar sul ligam seguent : <br> | |||
<p>Per confirmar vòstra inscripcion, mercés de clicar sul ligam seguent : <br> | |||
<%= link_to 'Confirmar mon compte', confirmation_url(@resource, confirmation_token: @token) %></p> | |||
<p>Aprèp vòstra primièra connexion, poiretz accedir a la documentacion de l’aisina.</p> | |||
<p>Pensatz tanben a gaitar nòstras <%= link_to 'conditions d\'utilisation', terms_url %>.</p> | |||
<p>Pensatz tanben de gaitar nòstras <%= link_to 'conditions d\'utilisation', terms_url %>.</p> | |||
<p>Amistosament,</p> | |||
@ -1,13 +1,13 @@ | |||
Bonjorn <%= @resource.email %> ! | |||
Bonjorn <%= @resource.email %> ! | |||
Venètz de vos crear un compte sus <%= @instance %> e vos mercegem :) | |||
er confirmar vòstre inscripcion, mercés de clicar sul ligam seguent : | |||
er confirmar vòstra inscripcion, mercés de clicar sul ligam seguent : | |||
<%= link_to 'Confirmar mon compte', confirmation_url(@resource, confirmation_token: @token) %> | |||
Aprèp vòstra primièra connexion, poiretz accedir a la documentacion de l’aisina. | |||
Pensatz tanben a gaitar nòstras <%= link_to 'conditions d\'utilisation', terms_url %>. | |||
Pensatz tanben de gaitar nòstras <%= link_to 'conditions d\'utilisation', terms_url %>. | |||
Amistosament, | |||
@ -1,3 +1,3 @@ | |||
<p>Bonjorn <%= @resource.email %> ! </p> | |||
<p>Bonjorn <%= @resource.email %> !</p> | |||
<p>Vos contactem per vos avisar qu’avèm ben cambiat vòstre senhal Mastodon.</p> |
@ -1,3 +1,3 @@ | |||
Bonjorn <%= @resource.email %> ! | |||
Bonjorn <%= @resource.email %> ! | |||
Vos contactem per vos avisar qu’avèm ben cambiat vòstre senhal Mastodon. |
@ -1,8 +1,8 @@ | |||
<p>Bonjorn <%= @resource.email %> ! </p> | |||
<p>Bonjorn <%= @resource.email %> !</p> | |||
<p>Qualqu’un a demandat una reĩnicializacion de vòstre senhal per Mastodon. Podètz realizar la reĩnicializacion en clicant sul ligam çai-jos.</p> | |||
<p>Qualqu’un a demandat la reĩnicializacion de vòstre senhal per Mastodon. Podètz realizar la reĩnicializacion en clicant sul ligam çai-jos.</p> | |||
<p><%= link_to 'Modificar mon senhal', edit_password_url(@resource, reset_password_token: @token) %></p> | |||
<p>S’avètz pas res demandat, fasquètz pas cas a aqueste corrièl.</p> | |||
<p>Vòstre senhal cambiarà pas se clicatz pas sul ligam e que ne causissètz pas un nòu.</p> | |||
<p>Vòstre senhal cambiarà pas se clicatz pas sul ligam e que ne causissètz pas un novèl.</p> |
@ -1,8 +1,8 @@ | |||
Bonjorn <%= @resource.email %> ! | |||
Bonjorn <%= @resource.email %> ! | |||
Qualqu’un a demandat una reĩnicializacion de vòstre senhal per Mastodon. Podètz realizar la reĩnicializacion en clicant sul ligam çai-jos.</p> | |||
Qualqu’un a demandat la reĩnicializacion de vòstre senhal per Mastodon. Podètz realizar la reĩnicializacion en clicant sul ligam çai-jos.</p> | |||
<%= link_to 'Modificar mon senhal', edit_password_url(@resource, reset_password_token: @token) %> | |||
S’avètz pas res demandat, fasquètz pas cas a aqueste corrièl. | |||
Vòstre senhal cambiarà pas se clicatz pas sul ligam e que ne causissètz pas un nòu. | |||
Vòstre senhal cambiarà pas se clicatz pas sul ligam e que ne causissètz pas un novèl. |
@ -0,0 +1,9 @@ | |||
# frozen_string_literal: true | |||
class BootstrapTimelineWorker | |||
include Sidekiq::Worker | |||
def perform(account_id) | |||
BootstrapTimelineService.new.call(Account.find(account_id)) | |||
end | |||
end |
@ -0,0 +1,37 @@ | |||
require 'rails_helper' | |||
RSpec.describe BootstrapTimelineService do | |||
subject { described_class.new } | |||
describe '#call' do | |||
let(:source_account) { Fabricate(:account) } | |||
context 'when setting is empty' do | |||
let!(:admin) { Fabricate(:user, admin: true) } | |||
before do | |||
Setting.bootstrap_timeline_accounts = nil | |||
subject.call(source_account) | |||
end | |||
it 'follows admin accounts from account' do | |||
expect(source_account.following?(admin.account)).to be true | |||
end | |||
end | |||
context 'when setting is set' do | |||
let!(:alice) { Fabricate(:account, username: 'alice') } | |||
let!(:bob) { Fabricate(:account, username: 'bob') } | |||
before do | |||
Setting.bootstrap_timeline_accounts = 'alice, bob' | |||
subject.call(source_account) | |||
end | |||
it 'follows found accounts from account' do | |||
expect(source_account.following?(alice)).to be true | |||
expect(source_account.following?(bob)).to be true | |||
end | |||
end | |||
end | |||
end |