Browse Source

Add “A Mastodon update is available.” message on admin dashboard for non-bugfix updates (#32106)

dariusk-working/4_3_0
Claire 1 year ago committed by GitHub
parent
commit
513f187daf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 6
      app/lib/admin/system_check/software_version_check.rb
  2. 3
      config/locales/en.yml
  3. 4
      spec/lib/admin/system_check/software_version_check_spec.rb

6
app/lib/admin/system_check/software_version_check.rb

@ -14,14 +14,16 @@ class Admin::SystemCheck::SoftwareVersionCheck < Admin::SystemCheck::BaseCheck
def message
if software_updates.any?(&:urgent?)
Admin::SystemCheck::Message.new(:software_version_critical_check, nil, admin_software_updates_path, true)
else
elsif software_updates.any?(&:patch_type?)
Admin::SystemCheck::Message.new(:software_version_patch_check, nil, admin_software_updates_path)
else
Admin::SystemCheck::Message.new(:software_version_check, nil, admin_software_updates_path)
end
end
private
def software_updates
@software_updates ||= SoftwareUpdate.pending_to_a.filter { |update| update.urgent? || update.patch_type? }
@software_updates ||= SoftwareUpdate.pending_to_a
end
end

3
config/locales/en.yml

@ -875,6 +875,9 @@ en:
message_html: You haven't defined any server rules.
sidekiq_process_check:
message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration
software_version_check:
action: See available updates
message_html: A Mastodon update is available.
software_version_critical_check:
action: See available updates
message_html: A critical Mastodon update is available, please update as quickly as possible.

4
spec/lib/admin/system_check/software_version_check_spec.rb

@ -51,8 +51,8 @@ RSpec.describe Admin::SystemCheck::SoftwareVersionCheck do
Fabricate(:software_update, version: '99.99.99', type: 'major', urgent: false)
end
it 'returns true' do
expect(check.pass?).to be true
it 'returns false' do
expect(check.pass?).to be false
end
end

Loading…
Cancel
Save