* Revert "Fix image and media loading when using external storage server"
This reverts commit 6cfa0245ca.
* Revert "Change glitch-soc's CSP config to match upstream's closer (#2474)"
This reverts commit d59196e170.
Conflicts:
- `app/javascript/packs/admin.jsx`:
Upstream fixed `@rails/ujs` imports.
Already taken care of in 8a131fb7bc
- `app/javascript/packs/public.jsx`:
Upstream fixed `@rails/ujs` imports.
Already taken care of in 8a131fb7bc
Conflicts:
- `app/javascript/mastodon/features/compose/components/poll_form.jsx`:
Upstream changed how icons are handled, including on a line modified by
glitch-soc to bump the number of poll options.
Applied upstream's change, while keeping the increased number of poll
options.
Conflicts:
- `config/initializers/content_security_policy.rb`:
Upstream changed how asset host CSP directives are used, and glitch-soc has
a pretty different CSP file.
It may be worth reconsidering the differences between upstream and glitch-soc
but for now, just port the change.
Conflicts:
- `app/javascript/mastodon/features/compose/components/compose_form.jsx`:
Upstream changed one import, close to a glitch-soc-only import to handle
different max character counts.
Ported upstream's change.
Conflicts:
- `spec/controllers/api/v1/timelines/tag_controller_spec.rb`:
Glitch-soc had a few extra lines in this file to account for a different
default setting. This file got replaced by
`spec/requests/api/v1/timelines/tag_spec.rb`, into which the glitch-soc
additions were moved too.
Additional changes:
- `spec/requests/api/v1/statuses/sources_spec.rb`:
Add glitch-soc-only attribute `content_type`.
Conflicts:
- `README.md`:
Upstream has updated its README, we have a completely different one.
Kept ours.
- `app/views/auth/sessions/two_factor.html.haml`:
Upstream refactored stuff and the conflict is because of glitch-soc's theming
system.
Ported upstream changes while accounting for the different theming system.
Conflicts:
- `app/controllers/concerns/web_app_controller_concern.rb`:
Upstream changed the order of Action Controller filters for web app
controllers.
Glitch-soc has an extra filter due to its theming system.
Changed the order accordingly.
- `app/views/settings/preferences/appearance/show.html.haml`:
Conflict due to an extra newline in glitch-soc.
Removed that newline and applied upstream's changes.
Conflicts:
- `config/environments/production.rb`:
Upstream enforced a code style change and glitch-soc had a few different lines.
Applied upstream's code style to glitch-soc's changes.
Conflicts:
- `app/controllers/auth/registrations_controller.rb`:
Not a real conflict. Upstream removed the `set_instance_presenter` private
method from this class, and glitch-soc has an extra private method right
besides it for the theming system.
Removed `set_instance_presenter` as upstream did.
- `app/controllers/auth/sessions_controller.rb`:
Not a real conflict. Upstream removed the `set_instance_presenter` private
method from this class, and glitch-soc has an extra private method right
besides it for the theming system.
Removed `set_instance_presenter` as upstream did.
Conflicts:
- `config/initializers/cors.rb`:
Upstream refactored this file, and glitch-soc had local changes.
I could not find the rationale for the glitch-soc changes, so I
used upstream's version.
Conflicts:
- `config/initializers/content_security_policy.rb`:
Upstream added some code to add the Identity Provider's sign-in endpoint to
the `form-action` Content Security Policy directive but our version of the
file is pretty different.
Ported the change.
Conflicts:
- `app/models/form/admin_settings.rb`:
Upstream added the notion of overriden settings, while we had extra code for
pseudo-settings (only used to combine flavour and skin in a single select
field).
Ported upstream changes.
- `config/i18n-tasks.yml`:
Upstream added `simple_form.overridden` to `ignore_unused`,
we had `simple_form.glitch_only`.
Added `simple_form.glitch_only` as well.
Conflicts:
- `README.md`:
Upstream has updated their README, we have a completely different one.
Kept ours.
- `config/initializers/content_security_policy.rb`:
Upstream has updated their development CSPs, while we disable CSPs in
the development environment.
Kept our version.
Conflicts:
- `.github/workflows/build-nightly.yml`:
Upstream changed how the nightly builds are versioned, the conflict
is because glitch-soc modified adjacent lines relative to the docker
repositories the images are pushed to.
Applied upstream's changes.
- `app/views/settings/preferences/notifications/show.html.haml`:
Upstream moved some settings around. Glitch-soc had more settings.
Applied upstream's changes, moving glitch-soc's extra settings
accordingly.
Conflicts:
- `.rubocop_todo.yml`:
Upstream re-generated the file, while glitch-soc has a specific ignore
for some file.
Updated the file as upstream did and kept our extra ignore.
- `config/webpack/shared.js`:
Upstream added a plugin, but our files are pretty different.
Added the plugin as well.
- `spec/helpers/application_helper_spec.rb`:
Upstream refactored tests, but part of them were different because
of glitch-soc's theming system.
Applied the refactoring to glitch-soc's change.
Conflicts:
- `app/javascript/packs/public.jsx`:
Upstream updated code that we actually moved to `app/javascript/core/settings.js`.
Applied the changes there.
Conflicts:
- `app/views/settings/preferences/other/show.html.haml`:
Upstream moved some settings, where glitch-soc has an extra setting.
Ported upstream changes, moving the same settings as them.
Conflicts:
- `.rubocop_todo.yml`:
Upstream regenerated this file, glitch-soc had a specific ignore.
- `README.md`:
Upstream updated its README, but glitch-soc has a completely different one.
Kept glitch-soc's README
Conflicts:
- `app/controllers/authorize_interactions_controller.rb`:
Small conflict due to our theming system.
- `streaming/index.js`:
Upstream refactored part of the streaming server.
We had some extra logic for handling local-only posts.
Applied the refactor.
Conflicts:
- `db/schema.rb`:
Upstream regenerated the schema file using Rails 7, the conflicts are
caused by our extra columns.
Applied upstream's changes, but keeping our extra columns.
Conflicts:
- `app/views/layouts/application.html.haml`:
Upstream removed the `crossorigin` attribute from `preload_pack_asset`.
Glitch-soc had different calls to `preload_pack_asset` because of the
different theming system.
Ported the change.
- `app/views/layouts/embedded.html.haml`:
Upstream removed the `crossorigin` attribute from `preload_pack_asset`.
Glitch-soc had different calls to `preload_pack_asset` because of the
different theming system.
Ported the change.
Conflicts:
- `app/models/account.rb`:
Upstream added new validations close to lines on which glitch-soc had
modified validations to handle custom limits set through environment
variables.
Ported upstream changes.
- `config/initializers/content_security_policy.rb`:
Upstream added `AZURE_ALIAS_HOST`. Glitch-soc's version of the file is
completely different.
Added `AZURE_ALIAS_HOST` to our version of the file.
Conflicts:
- `.github/workflows/build-image.yml`:
Upstream entirely refactored this, while we changed the docker repository
to upload to and disabled the “latest” tag.
Applied the repository change to `.github/workflows/build-*.yml`, as well
as disabling native ARMv64 builds.
- `README.md`:
We have a completely different README.
Kept ours.
- `app/views/admin/settings/shared/_links.html.haml`:
Upstream refactored, we had an extra item.
Refactored as upstream did.
- `spec/controllers/api/v1/timelines/public_controller_spec.rb`:
Upstream deleted this file, to be replaced by a request spec at
`spec/requests/api/v1/timelines/public_spec.rb`.
We had an extra bit about enabling the public timelines because we have
different defaults than upstream.
Moved that bit to `spec/requests/api/v1/timelines/public_spec.rb`
Conflicts:
- app/controllers/application_controller.rb:
Upstream added an `include` where we had an extra `include` due to
glitch-soc's theming system.
Added upstream's new `include`.
Conflicts:
- `db/migrate/20180831171112_create_bookmarks.rb`:
Upstream ran a lint fix on this file, but this file is different in
glitch-soc because the feature was added much earlier.
Ran the lint fix on our own version of the file.
Conflicts:
- `app/serializers/initial_state_serializer.rb`:
Upstream renamed an initial state parameter, where we had extra ones.
Renamed as upstream did.
- `app/workers/feed_insert_worker.rb`:
Upstream wrapped database query in a block, we had extra database
queries because of the DM timeline.
Moved everything in the block.
* Fix attachments getting processed despite failing content-type validation
* Add a restrictive ImageMagick security policy tailored for Mastodon
* Fix misdetection of MP3 files with large cover art
* Reject unprocessable audio/video files instead of keeping them unchanged
Conflicts:
- `app/models/user_settings.rb`:
Upstream added a constraint on a setting textually close
to glitch-soc-only settings.
Applied upstream's change.
- `lib/sanitize_ext/sanitize_config.rb`:
Upstream added support for the `translate` attribute on a few elements,
where glitch-soc had a different set of allowed elements and attributes.
Extended glitch-soc's allowed attributes with `translate` as upstream did.
- `spec/validators/status_length_validator_spec.rb`:
Upstream refactored to use RSpec's `instance_double` instead of `double`,
but glitch-soc had changes to tests due to configurable max toot chars.
Applied upstream's changes while keeping tests against configurable max
toot chars.
Conflicts:
- `app/views/settings/profiles/show.html.haml`:
Upstream redesigned the settings page, where glitch-soc had changes because of
the ability to set some custom limits.
Went with upstream's design while keeping our custom limits.
- `yarn.lock`:
Upstream updated dependencies textually close to a glitch-soc-only dependency.
Updated the dependnencies as well.
Conflicts:
- `.github/dependabot.yml`:
Updated upstream, but we've deleted it.
Keep it deleted.
- `app/javascript/mastodon/locales/index.js`:
Reworked upstream, but the code was mostly in
`app/javascript/locales/index.js` in glitch-soc.
Updated that file accordingly.
- `app/javascript/packs/public.jsx`:
Not a real conflict, but different imports in
glitch-soc and upstream.
- `app/views/layouts/application.html.haml`:
Conflict due to locales loading and theme system
discrepancies.
Updated in our own way.
- `app/views/layouts/embedded.html.haml`:
Conflict due to locales loading and theme system
discrepancies.
Updated in our own way.
- `config/webpack/generateLocalePacks.js`:
Deleted upstream, as upstream now directly loads the
JSON at runtime.
Deleted as well, will switch to runtime loading in
an upcoming commit.
- `config/webpack/shared.js`:
Not a real conflict, but different imports in
glitch-soc and upstream.
- `config/webpack/translationRunner.js`:
Mostly deleted upstream, to be replaced with `formatjs-formatter.js`
instead.
Moved the glitch-soc logic there and deleted the file.
Conflicts:
- `.eslintrc.js`:
Upstream moved a configuration block in which we had added a glitch-only
path.
Moved the configuration block as upstream did.
- other files:
Upstream reordered imports, and those files had different ones.
Kept our version and reordered imports using the same rules.
Conflicts:
- `app/controllers/auth/confirmations_controller.rb`:
Upstream merged our captcha code, but there are some
conflicts due to glitch-soc's theming system.
- `app/views/admin/settings/registrations/show.html.haml`:
Upstream merged our captcha code, but there are some
conflicts due to glitch-soc's theming system.
Additional changes:
- `Gemfile`:
Upstream added hcaptcha dependency in another place in the file.
- `config/settings.yml`:
Upstream added the `captcha_enabled` setting in another place in the file.
Conflicts:
- `config/webpack/generateLocalePacks.js`:
A dependency update changed how functions are imported.
Also, some linting fixes not applicable to glitch-soc.
Conflicts:
- `app/javascript/packs/admin.jsx`:
Upstream reworked imports, but we had many changes.
Reworked imports as upstream did.
- `app/javascript/packs/public.jsx`:
Upstream reworked imports, but we had many changes.
Reworked imports as upstream did.
Conflicts:
- `.github/dependabot.yml`:
Upstream made changes, but we had removed it.
Discarded upstream changes.
- `.rubocop_todo.yml`:
Upstream regenerated the file, we had some glitch-soc-specific ignores.
- `app/models/account_statuses_filter.rb`:
Minor upstream code style change where glitch-soc had slightly different code
due to handling of local-only posts.
Updated to match upstream's code style.
- `app/models/status.rb`:
Upstream moved ActiveRecord callback definitions, glitch-soc had an extra one.
Moved the definitions as upstream did.
- `app/services/backup_service.rb`:
Upstream rewrote a lot of the backup service, glitch-soc had changes because
of exporting local-only posts.
Took upstream changes and added back code to deal with local-only posts.
- `config/routes.rb`:
Upstream split the file into different files, while glitch-soc had a few
extra routes.
Extra routes added to `config/routes/settings.rb`, `config/routes/api.rb`
and `config/routes/admin.rb`
- `db/schema.rb`:
Upstream has new migrations, while glitch-soc had an extra migration.
Updated the expected serial number to match upstream's.
- `lib/mastodon/version.rb`:
Upstream added support to set version tags from environment variables, while
glitch-soc has an extra `+glitch` tag.
Changed the code to support upstream's feature but prepending a `+glitch`.
- `spec/lib/activitypub/activity/create_spec.rb`:
Minor code style change upstream, while glitch-soc has extra tests due to
`directMessage` handling.
Applied upstream's changes while keeping glitch-soc's extra tests.
- `spec/models/concerns/account_interactions_spec.rb`:
Minor code style change upstream, while glitch-soc has extra tests.
Applied upstream's changes while keeping glitch-soc's extra tests.
Conflicts:
- `app/javascript/styles/mastodon/forms.scss`:
Conflict because we ran eslint autofix on upstream files.
- `config/initializers/content_security_policy.rb`:
Code style changes but we have a different version.
Kept our version.
- `streaming/index.js`:
Upstream fixed a typo close to glitch-soc-only code.
Applied upstream's changes.
* Run eslint --fix
* Fix linting issues in video player and reduce divergences with upstream
This includes a behavior change of not auto-looping videos anymore. I don't
remember loops being ever intended, and they have been removed from upstream
a while ago, but we somehow missed the change.
* Fix lint issues in `app/javascript/flavours/glitch/selectors/index.js`
Those were basically caused by dead code that isn't present upstream, so
that brings us closer to upstream as well.
* Fix linting issue and bug in streaming/index.js
* Fix linting issues in config/webpack/shared.js
* Fix unused import in flavours/glitch/features/ui/index.js
* Fix linting issues and reduce divergences from upstream in flavours/glitch/features/ui/components/video_modal.jsx
* Fix linting issues in flavours/glitch/reducers
* Fix linting issues in glitch-soc onboarding modal
* Fix linting issues in flavours/glitch/features/ui/components/navigation_panel.jsx
* Remove dead code for unused local setting navbar_under
* Fix various linting issues
* Fix linting issues in flavours/glitch/components/scrollable_list.jsx and reduce divergences with upstream
Conflicts:
- `.github/dependabot.yml`:
Updated upstream, removed in glitch-soc to disable noise.
Kept removed.
- `CODE_OF_CONDUCT.md`:
Upstream updated to a new version of the covenant, but I have not read it
yet, so kept unchanged.
- `Gemfile.lock`:
Not a real conflict, one upstream dependency updated textually too close to
the glitch-soc only `hcaptcha` dependency.
Applied upstream changes.
- `app/controllers/admin/base_controller.rb`:
Minor conflict due to glitch-soc's theming system.
Applied upstream changes.
- `app/controllers/application_controller.rb`:
Minor conflict due to glitch-soc's theming system.
Applied upstream changes.
- `app/controllers/disputes/base_controller.rb`:
Minor conflict due to glitch-soc's theming system.
Applied upstream changes.
- `app/controllers/relationships_controller.rb`:
Minor conflict due to glitch-soc's theming system.
Applied upstream changes.
- `app/controllers/statuses_cleanup_controller.rb`:
Minor conflict due to glitch-soc's theming system.
Applied upstream changes.
- `app/helpers/application_helper.rb`:
Minor conflict due to glitch-soc's theming system.
Applied upstream changes.
- `app/javascript/mastodon/features/compose/components/compose_form.jsx`:
Upstream added a highlight animation for onboarding, while we changed the
max character limit.
Applied our local changes on top of upstream's new version.
- `app/views/layouts/application.html.haml`:
Minor conflict due to glitch-soc's theming system.
Applied upstream changes.
- `stylelint.config.js`:
Upstream added ignore paths, glitch-soc had extra ignore paths.
Added the same paths as upstream.
Conflicts:
- `app/controllers/auth/setup_controller.rb`:
Upstream removed a method close to a glitch-soc theming-related method.
Removed the method like upstream did.
Conflicts:
- `package.json`:
Upstream removed a dependency that was textually close to a glitch-soc-only
dependency.
Removed the dependency as upstream did, while keeping the glitch-soc-only
dependency.
* Run rubocop --autocorrect on app/, config/ and lib/, also manually fix some remaining style issues
* Run rubocop --autocorrect-all on db/
* Run rubocop --autocorrect-all on `spec/` and fix remaining issues
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.
Conflicts:
- `app/models/status.rb`:
Upstream added lines close to a glitch-soc only line, not a real conflict.
Applied upstream's changes (added hooks) while keeping glitch-soc's changes
(`local_only` scope).
- `config/environments/production.rb`:
Upstream removed a header, while we have glitch-soc specific ones.
Removed the header removed upstream.