Change: ローカルタイムラインを無効にしている時、/api/v1/timelines/public
タイムライン取得で「リモートユーザーのみ」指定も無効化 (#526)
* Change: ローカルタイムラインを無効にしている時、「リモートユーザーのみ」指定も無効化 * Fix test
This commit is contained in:
parent
35db342d5e
commit
57341a82ac
4 changed files with 69 additions and 20 deletions
|
@ -171,21 +171,21 @@ const Firehose = ({ feedType, multiColumn }) => {
|
||||||
<ColumnSettings />
|
<ColumnSettings />
|
||||||
</ColumnHeader>
|
</ColumnHeader>
|
||||||
|
|
||||||
<div className='account__section-headline'>
|
{enableLocalTimeline && (
|
||||||
{enableLocalTimeline && (
|
<div className='account__section-headline'>
|
||||||
<NavLink exact to='/public/local'>
|
<NavLink exact to='/public/local'>
|
||||||
<FormattedMessage tagName='div' id='firehose.local' defaultMessage='This server' />
|
<FormattedMessage tagName='div' id='firehose.local' defaultMessage='This server' />
|
||||||
</NavLink>
|
</NavLink>
|
||||||
)}
|
|
||||||
|
|
||||||
<NavLink exact to='/public/remote'>
|
<NavLink exact to='/public/remote'>
|
||||||
<FormattedMessage tagName='div' id='firehose.remote' defaultMessage='Other servers' />
|
<FormattedMessage tagName='div' id='firehose.remote' defaultMessage='Other servers' />
|
||||||
</NavLink>
|
</NavLink>
|
||||||
|
|
||||||
<NavLink exact to='/public'>
|
<NavLink exact to='/public'>
|
||||||
<FormattedMessage tagName='div' id='firehose.all' defaultMessage='All' />
|
<FormattedMessage tagName='div' id='firehose.all' defaultMessage='All' />
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
<StatusListContainer
|
<StatusListContainer
|
||||||
prepend={prependBanner}
|
prepend={prependBanner}
|
||||||
|
|
|
@ -53,7 +53,7 @@ class PublicFeed
|
||||||
end
|
end
|
||||||
|
|
||||||
def remote_only?
|
def remote_only?
|
||||||
options[:remote] && !options[:local]
|
options[:remote] && !options[:local] && Setting.enable_local_timeline
|
||||||
end
|
end
|
||||||
|
|
||||||
def hide_local_users?
|
def hide_local_users?
|
||||||
|
|
|
@ -88,9 +88,21 @@ RSpec.describe PublicFeed do
|
||||||
expect(subject).to include(local_status.id)
|
expect(subject).to include(local_status.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'excludes public_unlisted statuses' do
|
it 'includes public_unlisted statuses' do
|
||||||
expect(subject).to include(public_unlisted_status.id)
|
expect(subject).to include(public_unlisted_status.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when local timeline is disabled' do
|
||||||
|
before do
|
||||||
|
Form::AdminSettings.new(enable_local_timeline: '0').save
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'includes statuses' do
|
||||||
|
expect(subject).to include(remote_status.id)
|
||||||
|
expect(subject).to include(local_status.id)
|
||||||
|
expect(subject).to include(public_unlisted_status.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with a viewer' do
|
context 'with a viewer' do
|
||||||
|
@ -107,6 +119,18 @@ RSpec.describe PublicFeed do
|
||||||
it 'excludes public_unlisted statuses' do
|
it 'excludes public_unlisted statuses' do
|
||||||
expect(subject).to include(public_unlisted_status.id)
|
expect(subject).to include(public_unlisted_status.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when local timeline is disabled' do
|
||||||
|
before do
|
||||||
|
Form::AdminSettings.new(enable_local_timeline: '0').save
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'includes statuses' do
|
||||||
|
expect(subject).to include(remote_status.id)
|
||||||
|
expect(subject).to include(local_status.id)
|
||||||
|
expect(subject).to include(public_unlisted_status.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -159,15 +183,15 @@ RSpec.describe PublicFeed do
|
||||||
it 'includes public_unlisted statuses' do
|
it 'includes public_unlisted statuses' do
|
||||||
expect(subject).to include(public_unlisted_status.id)
|
expect(subject).to include(public_unlisted_status.id)
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
context 'when local timeline is disabled' do
|
context 'when local timeline is disabled' do
|
||||||
before do
|
before do
|
||||||
Form::AdminSettings.new(enable_local_timeline: '0').save
|
Form::AdminSettings.new(enable_local_timeline: '0').save
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does not include all statuses' do
|
it 'does not include all statuses' do
|
||||||
expect(subject).to eq []
|
expect(subject).to eq []
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -192,6 +216,18 @@ RSpec.describe PublicFeed do
|
||||||
it 'excludes public_unlisted statuses' do
|
it 'excludes public_unlisted statuses' do
|
||||||
expect(subject).to_not include(public_unlisted_status.id)
|
expect(subject).to_not include(public_unlisted_status.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when local timeline is disabled' do
|
||||||
|
before do
|
||||||
|
Form::AdminSettings.new(enable_local_timeline: '0').save
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'includes statuses with local' do
|
||||||
|
expect(subject).to include(remote_status.id)
|
||||||
|
expect(subject).to include(local_status.id)
|
||||||
|
expect(subject).to include(public_unlisted_status.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with a viewer' do
|
context 'with a viewer' do
|
||||||
|
@ -205,6 +241,18 @@ RSpec.describe PublicFeed do
|
||||||
it 'excludes public_unlisted statuses' do
|
it 'excludes public_unlisted statuses' do
|
||||||
expect(subject).to_not include(public_unlisted_status.id)
|
expect(subject).to_not include(public_unlisted_status.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when local timeline is disabled' do
|
||||||
|
before do
|
||||||
|
Form::AdminSettings.new(enable_local_timeline: '0').save
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'includes statuses with local' do
|
||||||
|
expect(subject).to include(remote_status.id)
|
||||||
|
expect(subject).to include(local_status.id)
|
||||||
|
expect(subject).to include(public_unlisted_status.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,7 @@ describe 'Public' do
|
||||||
|
|
||||||
context 'when local timeline is disabled' do
|
context 'when local timeline is disabled' do
|
||||||
let(:ltl_enabled) { false }
|
let(:ltl_enabled) { false }
|
||||||
|
let(:expected_statuses) { [local_status, remote_status, media_status] }
|
||||||
|
|
||||||
it_behaves_like 'a successful request to the public timeline'
|
it_behaves_like 'a successful request to the public timeline'
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue