diff --git a/app/javascript/mastodon/models/annual_report.ts b/app/javascript/mastodon/models/annual_report.ts index a2c0c51786..819212efeb 100644 --- a/app/javascript/mastodon/models/annual_report.ts +++ b/app/javascript/mastodon/models/annual_report.ts @@ -42,13 +42,6 @@ interface AnnualReportV2 { time_series: TimeSeriesMonth[]; top_hashtags: NameAndCount[]; top_statuses: TopStatuses; - most_used_apps: NameAndCount[]; - type_distribution: { - total: number; - reblogs: number; - replies: number; - standalone: number; - }; } export type AnnualReport = { diff --git a/app/lib/annual_report.rb b/app/lib/annual_report.rb index 0acd51eb17..a0eb6c33d2 100644 --- a/app/lib/annual_report.rb +++ b/app/lib/annual_report.rb @@ -5,9 +5,7 @@ class AnnualReport SOURCES = [ AnnualReport::Archetype, - AnnualReport::TypeDistribution, AnnualReport::TopStatuses, - AnnualReport::MostUsedApps, AnnualReport::TimeSeries, AnnualReport::TopHashtags, ].freeze diff --git a/app/lib/annual_report/most_used_apps.rb b/app/lib/annual_report/most_used_apps.rb deleted file mode 100644 index a2e1aca452..0000000000 --- a/app/lib/annual_report/most_used_apps.rb +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -class AnnualReport::MostUsedApps < AnnualReport::Source - SET_SIZE = 10 - - def generate - { - most_used_apps: most_used_apps.map do |(name, count)| - { - name: name, - count: count, - } - end, - } - end - - private - - def most_used_apps - report_statuses.joins(:application).group(oauth_applications: [:name]).order(count_all: :desc).limit(SET_SIZE).count - end -end diff --git a/app/lib/annual_report/top_hashtags.rb b/app/lib/annual_report/top_hashtags.rb index f3a2160341..9ed0057bdd 100644 --- a/app/lib/annual_report/top_hashtags.rb +++ b/app/lib/annual_report/top_hashtags.rb @@ -2,7 +2,7 @@ class AnnualReport::TopHashtags < AnnualReport::Source MINIMUM_TAGGINGS = 1 - SET_SIZE = 5 + SET_SIZE = 1 def generate { diff --git a/app/lib/annual_report/type_distribution.rb b/app/lib/annual_report/type_distribution.rb deleted file mode 100644 index 0534055c28..0000000000 --- a/app/lib/annual_report/type_distribution.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -class AnnualReport::TypeDistribution < AnnualReport::Source - def generate - { - type_distribution: { - total: report_statuses.count, - reblogs: report_statuses.only_reblogs.count, - replies: report_statuses.where.not(in_reply_to_id: nil).not_replying_to_account(@account).count, - standalone: report_statuses.without_replies.without_reblogs.count, - }, - } - end -end diff --git a/spec/lib/annual_report/most_used_apps_spec.rb b/spec/lib/annual_report/most_used_apps_spec.rb deleted file mode 100644 index ab7022ef20..0000000000 --- a/spec/lib/annual_report/most_used_apps_spec.rb +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe AnnualReport::MostUsedApps do - describe '#generate' do - subject { described_class.new(account, Time.zone.now.year) } - - context 'with an inactive account' do - let(:account) { Fabricate :account } - - it 'builds a report for an account' do - expect(subject.generate) - .to include( - most_used_apps: be_an(Array).and(be_empty) - ) - end - end - - context 'with an active account' do - let(:account) { Fabricate :account } - - let(:application) { Fabricate :application, name: 'App' } - let(:most_application) { Fabricate :application, name: 'Most App' } - - before do - _other = Fabricate :status - Fabricate.times 2, :status, account: account, application: application - Fabricate.times 3, :status, account: account, application: most_application - end - - it 'builds a report for an account' do - expect(subject.generate) - .to include( - most_used_apps: eq( - [ - { name: most_application.name, count: 3 }, - { name: application.name, count: 2 }, - ] - ) - ) - end - end - end -end diff --git a/spec/lib/annual_report/top_hashtags_spec.rb b/spec/lib/annual_report/top_hashtags_spec.rb index b9cc9392ed..1438999392 100644 --- a/spec/lib/annual_report/top_hashtags_spec.rb +++ b/spec/lib/annual_report/top_hashtags_spec.rb @@ -44,7 +44,6 @@ RSpec.describe AnnualReport::TopHashtags do top_hashtags: eq( [ { name: most_tag.name, count: 3 }, - { name: tag.name, count: 2 }, ] ) ) diff --git a/spec/lib/annual_report/type_distribution_spec.rb b/spec/lib/annual_report/type_distribution_spec.rb deleted file mode 100644 index 89a31fb207..0000000000 --- a/spec/lib/annual_report/type_distribution_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe AnnualReport::TypeDistribution do - describe '#generate' do - subject { described_class.new(account, Time.zone.now.year) } - - context 'with an inactive account' do - let(:account) { Fabricate :account } - - it 'builds a report for an account' do - expect(subject.generate) - .to include( - type_distribution: include( - total: 0, - reblogs: 0, - replies: 0, - standalone: 0 - ) - ) - end - end - - context 'with an active account' do - let(:account) { Fabricate :account } - - before do - _other = Fabricate :status - Fabricate :status, reblog: Fabricate(:status), account: account - Fabricate :status, in_reply_to_id: Fabricate(:status).id, account: account, reply: true - Fabricate :status, account: account - end - - it 'builds a report for an account' do - expect(subject.generate) - .to include( - type_distribution: include( - total: 3, - reblogs: 1, - replies: 1, - standalone: 1 - ) - ) - end - end - end -end