diff --git a/app/models/status.rb b/app/models/status.rb index 1cb381400..670109762 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -194,8 +194,12 @@ class Status < ApplicationRecord def title if destroyed? "#{account.acct} deleted status" + elsif reblog? + preview = sensitive ? '' : text.slice(0, 10).split("\n")[0] + "#{account.acct} shared #{reblog.account.acct}'s: #{preview}" else - reblog? ? "#{account.acct} shared a status by #{reblog.account.acct}" : "New status by #{account.acct}" + preview = sensitive ? '' : text.slice(0, 20).split("\n")[0] + "#{account.acct}: #{preview}" end end diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index 51a10cd17..b238691a8 100644 --- a/spec/models/status_spec.rb +++ b/spec/models/status_spec.rb @@ -96,16 +96,20 @@ RSpec.describe Status, type: :model do context 'unless destroyed?' do context 'if reblog?' do - it 'returns "#{account.acct} shared a status by #{reblog.account.acct}"' do + it 'returns "#{account.acct} shared #{reblog.account.acct}\'s: #{preview}"' do reblog = subject.reblog = other - expect(subject.title).to eq "#{account.acct} shared a status by #{reblog.account.acct}" + preview = subject.text.slice(0, 10).split("\n")[0] + expect(subject.title).to( + eq "#{account.acct} shared #{reblog.account.acct}'s: #{preview}" + ) end end context 'unless reblog?' do - it 'returns "New status by #{account.acct}"' do + it 'returns "#{account.acct}: #{preview}"' do subject.reblog = nil - expect(subject.title).to eq "New status by #{account.acct}" + preview = subject.text.slice(0, 20).split("\n")[0] + expect(subject.title).to eq "#{account.acct}: #{preview}" end end end