From e19eefe219c46ea9f763d0279029f03c5cf4554f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 11 Jul 2017 15:27:59 +0200 Subject: Redesign the landing page, mount public timeline on it (#4122) * Redesign the landing page, mount public timeline on it * Adjust the standalone mounted component to the lacking of router * Adjust auth layout pages to new design * Fix tests * Standalone public timeline polling every 5 seconds * Remove now obsolete translations * Add responsive design for new landing page * Address reviews * Add floating clouds behind frontpage form * Use access token from public page when available * Fix mentions and hashtags links, cursor on status content in standalone mode * Add footer link to source code * Fix errors on pages that don't embed the component, use classnames * Fix tests * Change anonymous autoPlayGif default to false * When gif autoplay is disabled, hover to play * Add option to hide the timeline preview * Slightly improve alt layout * Add elephant friend to new frontpage * Display "back to mastodon" in place of "login" when logged in on frontpage * Change polling time to 3s --- lib/tasks/mastodon.rake | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'lib/tasks') diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 0e182c755..bd70937e4 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -161,16 +161,12 @@ namespace :mastodon do namespace :settings do desc 'Open registrations on this instance' task open_registrations: :environment do - setting = Setting.where(var: 'open_registrations').first - setting.value = true - setting.save + Setting.open_registrations = true end desc 'Close registrations on this instance' task close_registrations: :environment do - setting = Setting.where(var: 'open_registrations').first - setting.value = false - setting.save + Setting.open_registrations = false end end -- cgit From e6c81a635b99dcec4f8fded00d9451cb876df822 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 11 Jul 2017 17:25:49 +0200 Subject: Fix #2848 - Rake task to redownload avatars/headers (#4156) Can be filtered by a specific domain Resolves #2292 --- app/controllers/admin/accounts_controller.rb | 4 ++-- app/models/concerns/remotable.rb | 14 ++++++++++++-- lib/tasks/mastodon.rake | 22 +++++++++++++++++----- 3 files changed, 31 insertions(+), 9 deletions(-) (limited to 'lib/tasks') diff --git a/app/controllers/admin/accounts_controller.rb b/app/controllers/admin/accounts_controller.rb index ef2f8c4c2..7bceee2cd 100644 --- a/app/controllers/admin/accounts_controller.rb +++ b/app/controllers/admin/accounts_controller.rb @@ -22,8 +22,8 @@ module Admin end def redownload - @account.avatar = @account.avatar_remote_url - @account.header = @account.header_remote_url + @account.reset_avatar! + @account.reset_header! @account.save! redirect_to admin_account_path(@account.id) diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb index 08d4fc59c..b4f169649 100644 --- a/app/models/concerns/remotable.rb +++ b/app/models/concerns/remotable.rb @@ -6,8 +6,9 @@ module Remotable included do attachment_definitions.each_key do |attachment_name| - attribute_name = "#{attachment_name}_remote_url".to_sym - method_name = "#{attribute_name}=".to_sym + attribute_name = "#{attachment_name}_remote_url".to_sym + method_name = "#{attribute_name}=".to_sym + alt_method_name = "reset_#{attachment_name}!".to_sym define_method method_name do |url| begin @@ -35,6 +36,15 @@ module Remotable nil end end + + define_method alt_method_name do + url = self[attribute_name] + + return if url.blank? + + self[attribute_name] = '' + send(method_name, url) + end end end end diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index bd70937e4..b2b352858 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -74,7 +74,7 @@ namespace :mastodon do end namespace :media do - desc 'Removes media attachments that have not been assigned to any status for longer than a day' + desc 'Removes media attachments that have not been assigned to any status for longer than a day (deprecated)' task clear: :environment do # No-op # This task is now executed via sidekiq-scheduler @@ -100,6 +100,18 @@ namespace :mastodon do MediaAttachment.where(file_file_name: nil).where.not(type: :unknown).in_batches.update_all(type: :unknown) Rails.logger.debug 'Done!' end + + desc 'Redownload avatars/headers of remote users. Optionally limit to a particular domain with DOMAIN' + task redownload_avatars: :environment do + accounts = Account.remote + accounts = accounts.where(domain: ENV['DOMAIN']) if ENV['DOMAIN'].present? + + accounts.find_each do |account| + account.reset_avatar! + account.reset_header! + account.save + end + end end namespace :push do @@ -111,7 +123,7 @@ namespace :mastodon do end end - desc 'Re-subscribes to soon expiring PuSH subscriptions' + desc 'Re-subscribes to soon expiring PuSH subscriptions (deprecated)' task refresh: :environment do # No-op # This task is now executed via sidekiq-scheduler @@ -119,13 +131,13 @@ namespace :mastodon do end namespace :feeds do - desc 'Clear timelines of inactive users' + desc 'Clear timelines of inactive users (deprecated)' task clear: :environment do # No-op # This task is now executed via sidekiq-scheduler end - desc 'Clears all timelines' + desc 'Clear all timelines without regenerating them' task clear_all: :environment do Redis.current.keys('feed:*').each { |key| Redis.current.del(key) } end @@ -151,7 +163,7 @@ namespace :mastodon do end end - desc 'List all admin users' + desc 'List e-mails of all admin users' task admins: :environment do puts 'Admin user emails:' puts User.admins.map(&:email).join("\n") -- cgit