Merge branch 'main' into glitch-soc/merge-upstream

Conflicts:
- `README.md`:
  Upstream added a link to the roadmap, but we have a completely different README.
  Kept ours.
- `app/models/media_attachment.rb`:
  Upstream upped media attachment limits.
  Updated the default according to upstream's.
- `db/migrate/20180831171112_create_bookmarks.rb`:
  Upstream changed the migration compatibility level.
  Did so too.
- `config/initializers/content_security_policy.rb`:
  Upstream refactored this file but we have a different version.
  Kept our version.
- `app/controllers/settings/preferences_controller.rb`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  The file does not directly references individual settings anymore.
  Applied upstream changes.
- `app/lib/user_settings_decorator.rb`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  The file got removed entirely.
  Removed it as well.
- `app/models/user.rb`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  References to individual settings have been removed from the file.
  Removed them as well.
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  Applied upstream's changes and ported ours back.
- `app/views/settings/preferences/notifications/show.html.haml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  Applied upstream's changes and ported ours back.
- `app/views/settings/preferences/other/show.html.haml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  Applied upstream's changes and ported ours back.
- `config/settings.yml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  In particular, upstream removed user-specific and unused settings.
  Did the same in glitch-soc.
- `spec/controllers/application_controller_spec.rb`:
  Conflicts due to glitch-soc's theming system.
  Mostly kept our version, as upstream messed up the tests.
This commit is contained in:
Claire
2023-03-31 21:30:27 +02:00
341 changed files with 4055 additions and 2756 deletions

View File

@@ -46,6 +46,7 @@ describe Api::V1::Accounts::CredentialsController do
end
it 'updates account info' do
user.reload
user.account.reload
expect(user.account.display_name).to eq("Alice Isn't Dead")

View File

@@ -101,7 +101,8 @@ describe ApplicationController, type: :controller do
it 'returns user\'s flavour when it is set' do
current_user = Fabricate(:user)
current_user.settings['flavour'] = 'glitch'
current_user.settings.update(flavour: 'glitch')
current_user.save
sign_in current_user
allow(Setting).to receive(:[]).with('skin').and_return 'default'

View File

@@ -20,20 +20,22 @@ describe Settings::Preferences::NotificationsController do
describe 'PUT #update' do
it 'updates notifications settings' do
user.settings['notification_emails'] = user.settings['notification_emails'].merge('follow' => false)
user.settings['interactions'] = user.settings['interactions'].merge('must_be_follower' => true)
user.settings.update('notification_emails.follow': false, 'interactions.must_be_follower': true)
user.save
put :update, params: {
user: {
notification_emails: { follow: '1' },
interactions: { must_be_follower: '0' },
settings_attributes: {
'notification_emails.follow': '1',
'interactions.must_be_follower': '0',
},
},
}
expect(response).to redirect_to(settings_preferences_notifications_path)
user.reload
expect(user.settings['notification_emails']['follow']).to be true
expect(user.settings['interactions']['must_be_follower']).to be false
expect(user.settings['notification_emails.follow']).to be true
expect(user.settings['interactions.must_be_follower']).to be false
end
end
end

View File

@@ -29,20 +29,22 @@ describe Settings::Preferences::OtherController do
end
it 'updates user settings' do
user.settings['boost_modal'] = false
user.settings['delete_modal'] = true
user.settings.update('web.reblog_modal': false, 'web.delete_modal': true)
user.save
put :update, params: {
user: {
setting_boost_modal: '1',
setting_delete_modal: '0',
settings_attributes: {
'web.reblog_modal': '1',
'web.delete_modal': '0',
},
},
}
expect(response).to redirect_to(settings_preferences_other_path)
user.reload
expect(user.settings['boost_modal']).to be true
expect(user.settings['delete_modal']).to be false
expect(user.settings['web.reblog_modal']).to be true
expect(user.settings['web.delete_modal']).to be false
end
end
end

View File

@@ -44,12 +44,4 @@ RSpec.describe Settings::ProfilesController, type: :controller do
expect(ActivityPub::UpdateDistributionWorker).to have_received(:perform_async).with(account.id)
end
end
describe 'PUT #update with oversized image' do
it 'gives the user an error message' do
allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async)
put :update, params: { account: { avatar: fixture_file_upload('4096x4097.png', 'image/png') } }
expect(response.body).to include('images are not supported')
end
end
end