Conflicts:
- `app/lib/themes.rb`
- `app/views/layouts/application.html.haml`
- `app/views/layouts/embedded.html.haml`
- `app/views/layouts/error.html.haml`
- `config/settings.yml`
All these conflicts are because glitch-soc and upstream have different theming
systems and upstream changed a few things to have dynamic theme selection based
on system settings.
Conflicts were solved to take that into account, and `current_theme` has been
changed in the process to return a tuple of `[flavour, skin]` to be used in
the `theme_style_tags` helper.
Packs are now loaded from views, just like upstream, and are
identified by their filenames. The definition of `theme.yml` has
changed as such:
- `pack_directory` is now required
- `pack` is now unused
- `signed_in_preload` has been introduced
Remove the `fallback` property and do not fallback to using another flavour
when a pack is not available in the selected flavour.
Flavours should define all packs, and should they wish to piggy-back on
another one, they can import that other one's pack explicitly instead.
Conflicts:
- `Gemfile.lock`:
Changes were already cherry-picked and updated further in glitch-soc.
Kept glitch-soc's version.
- `README.md`:
Upstream updated its README, we have a completely different one.
Kept glitch-soc's README.
- `app/models/account.rb`:
Not a real conflict, upstream updated some lines textually adjacent
to glitch-soc-specific lines.
Ported upstream's changes.
Conflicts:
- `app/lib/content_security_policy.rb`:
Conflict caused by glitch-soc's support for the extra `EXTRA_DATA_HOSTS`
environment variable.
Ported upstream's changes while keeping support for `EXTRA_DATA_HOSTS`.
Conflicts:
- `.rubocop_todo.yml`:
Upstream fixed a bunch lint issues, and changed the `Max` parameter of the
`Metrics/AbcSize` cop.
Glitch-soc has different code and slightly higher `AbcSize` complexity,
modified the `.rubocop_todo.yml` file accordingly.
- `app/policies/status_policy.rb`:
Upstream changed `account.suspended?` to `account.unavailable?` to prepare
for delete flags. Glitch-soc has additional local-only conditions.
Ported upstream's refactor while keeping glitch-soc's additional condition.
- `app/serializers/initial_state_serializer.rb`:
Upstream refactored a bunch of stuff while glitch-soc has more settings.
Refactored as upstream did while keeping glitch-soc's settings.
Conflicts:
- `config/initializers/content_security_policy.rb`:
Upstream reworked the CSP, we kept our version for now.
- `spec/requests/content_security_policy_spec.rb`:
Upstream reworked the CSP, we kept our version for now.
Conflicts:
- `app/models/trends/statuses.rb`:
Upstream fixed a bug in the trending post condition.
Glitch-soc's condition is different because we potentially allow CWed content
to trend.
Ported upstream's fix while keeping glitch-soc's change.
- `config/initializers/content_security_policy.rb`:
Kept our version for now, we will switch to upstream later down the road.
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:
- `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/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:
- `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:
- `.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:
- `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.