Commit Graph

2212 Commits (shrike)

Author SHA1 Message Date
Emelia Smith e02d23b549
Change `read:me` scope to `profile` scope (#30357)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-06-06 07:30:10 +00:00
Claire 974335e414
Add experimental server-side notification grouping (#29889) 2024-06-03 08:35:59 +00:00
Matt Jankowski 469de923aa
Update `current_user` override mode description in controllers (#30515) 2024-06-03 07:16:29 +00:00
Matt Jankowski 85d9053b36
Move `pagination_params` into `API::BaseController` (#28845) 2024-05-30 14:56:48 +00:00
Claire c827a98f19 Merge commit 'd20a5c3ec9ed40a991245fe32d0acb6187dd48c4' into glitch-soc/merge-upstream
Conflicts:
- `yarn.lock`:
  Not a real conflict, just a line adjacent to a glitch-soc only dependency
  getting updated.
  Updated dependencies as upstream did.
2024-05-29 17:03:24 +02:00
Claire 36fe8f8566
Change `ids` param to `id` in `/api/v1/statuses` and `/api/v1/accounts` for consistency (#30465) 2024-05-29 09:19:17 +00:00
Eugen Rochko 128987eded
Add support for `fediverse:creator` OpenGraph tag (#30398) 2024-05-29 01:34:33 +02:00
Claire d76106da12 Merge commit 'ccb6aeddacbab950d7d7f1b0d2b64212d7aa99eb' into glitch-soc/merge-upstream 2024-05-24 17:08:21 +02:00
Matt Jankowski 9b5055d34d
Fix `Style/SuperArguments` cop (#30406) 2024-05-24 08:36:21 +00:00
Claire d3136e6d58 Merge commit '89f89d738f5840c80ff938f8bf6734cdafe0fa83' into glitch-soc/merge-upstream 2024-05-21 12:06:38 +02:00
Claire 89f89d738f
Revert "Allow unblocking email addresses from any matching account (#29305)" (#30385) 2024-05-21 08:56:08 +00:00
Claire e46321e63d Merge commit 'de4815afda0809bf999519aabda1cd14c67278da' into glitch-soc/merge-upstream 2024-05-20 12:17:36 +02:00
Emelia Smith 2da2a1dae9
Support multiple redirect_uris when creating OAuth 2.0 Applications (#29192) 2024-05-17 13:46:12 +00:00
Claire 2810231180 Merge commit 'b2388be71eb0031ef9e47c492b1c038231cd8bc0' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/activitypub/collections_controller.rb`:
  Upstream renamed a helper method everywhere.
  There was one glitch-soc line involving changes because of the local-only post
  feature.
  Ported upstream's change.
2024-05-16 19:30:10 +02:00
Matt Jankowski 65e82211cd
Rename `cache_*` methods to `preload_*` in controller concern (#30209) 2024-05-16 08:03:46 +00:00
Emelia Smith f0d6dc4519
Fix: Mark redirect uris field in Development > Application form as required (#30311) 2024-05-16 07:59:46 +00:00
Claire 016d194274 Merge commit '2fe1b8d1695d8faa452a69872fde94ccc4611576' into glitch-soc/merge-upstream
Conflicts:
- `app/helpers/application_helper.rb`:
  Not a real conflict, upstream added helpers right next to glitch-soc only
  helpers.
  Added upstream's helpers.
- `spec/models/status_spec.rb`:
  Not a real conflict, upstream added specs right next to glitch-soc only
  specs.
  Added upstream's tests.
2024-05-06 17:53:51 +02:00
Claire 2fe1b8d169
Add API to get multiple accounts and statuses (#27871)
Co-authored-by: noellabo <noel.yoshiba@gmail.com>
2024-05-06 15:19:15 +00:00
Fawaz Farid 05126d106f
Redirect back after site upload deletion (#30141) 2024-05-06 13:31:39 +00:00
Emelia Smith 116f01ec7d
Implement RFC 8414 for OAuth 2.0 server metadata (#29191) 2024-05-06 13:17:56 +00:00
Claire 8e4fea77e3
Fix race condition in `POST /api/v1/push/subscription` (#30166) 2024-05-06 12:41:14 +00:00
Claire 3789d9f825 Merge commit 'b7902225d698a107df2cf8b4ca221caad38fa464' into glitch-soc/merge-upstream
Conflicts:
- `spec/validators/status_length_validator_spec.rb`:
  Upstream refactored tests to stub `StatusLengthValidator::MAX_CHARS`
  while glitch-soc had custom code to read from `MAX_TOOT_CHARS`.
  Switched to using upstream's implementation of the tests.
2024-05-04 16:28:30 +02:00
Claire f09f5b35f2 Merge commit 'd97d31cce664281d868e4c661451687a301c97c8' into glitch-soc/merge-upstream
Conflicts:
- `app/models/account.rb`:
  Upstream refactored this file a bit, moving validation limits to constants.
  We already had a similar change, although with different constant names.
  Updated to match upstream's code.

The following files were also modified accordingly:
- `app/views/settings/profiles/show.html.haml`
- `spec/requests/api/v1/accounts/credentials_spec.rb`
2024-05-04 16:12:51 +02:00
Claire 253ead3aa7
Fix not being able to block a subdomain of an already-blocked domain through the API (#30119) 2024-05-02 20:56:21 +00:00
Claire b039e62194 Merge commit 'a2399046ca600d492b492b8dae88011de687bece' into glitch-soc/merge-upstream 2024-05-01 19:49:59 +02:00
Claire 6204d13a2e Merge commit 'ec71c02c4b028c3541742f023729aeb295a51559' into glitch-soc/merge-upstream
Conflicts:
- `Gemfile`:
  There was an extra newline in glitch-soc for some reason.
  Removed it.
2024-05-01 19:38:34 +02:00
Claire 360590ecd8 Merge commit 'a3902997440c71f161e392f1ad6c5cdcf6aba95d' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/accounts_controller.rb`:
  Conflict due to glitch-soc's local-only posting feature.
  Refactored as upstream did but kept local changes.
- `app/lib/account_statuses_filter.rb`:
  Conflict due to glitch-soc's local-only posting feature.
  Refactored as upstream did but kept local changes.
2024-05-01 19:30:41 +02:00
Claire 9ce82a35cb Merge commit '20b1e55f24a87868d661fc7b033bbbbd48b1a918' into glitch-soc/merge-upstream 2024-05-01 18:42:26 +02:00
Claire 15f6d2d038 Merge commit 'd27eb181f6ab419d1745a1fe9b94094be17a618f' into glitch-soc/merge-upstream
Conflicts:
- `spec/requests/api/v2/instance_spec.rb`:
  Conflict due to glitch-soc having a different default site name.
  Updated the tests as upstream did, keeping glitch-soc's default name.
2024-05-01 17:22:02 +02:00
Claire a6147a831f Merge commit '02ea16150647ac3baf0bb8a89203ccc7200b4a2f' into glitch-soc/merge-upstream
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.
2024-05-01 14:25:47 +02:00
Emelia Smith 81f0002e76
Fix missing destory audit logs for Domain Allows (#30125) 2024-04-30 08:48:02 +00:00
Claire 7208edbd37 Replace `use_pack`, `layouts/theme` and `@theme` by new helpers
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
2024-04-28 15:45:42 +02:00
Claire c3e12a4dfa Change how theme style packs are loaded
Load the `common` style pack, and then charge the style pack for the current
skin, independent from any selected JS pack.
2024-04-28 15:45:41 +02:00
Claire 93cdc66e64 Make `common` inheritence unconditional and simplify theming code 2024-04-28 15:06:48 +02:00
Claire dee57982f1 Rename “home” pack to “application” 2024-04-28 15:06:41 +02:00
Claire 9a8be8cf49 Remove theme fallback mechanism
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.
2024-04-28 15:05:16 +02:00
Claire 62bc36416f Get rid of `app/javascript/core`
Have all flavors implement everything they need instead.
2024-04-28 15:04:52 +02:00
Emelia Smith 049b159beb
Add read:me OAuth 2.0 scope, allowing more limited access to user data (#29087) 2024-04-23 11:47:00 +00:00
Matt Jankowski 11e0049b08
Use enum-generated scopes/queries for `BulkImport` (#29975) 2024-04-18 10:13:35 +00:00
Matt Jankowski 650c548c31
Add `not_featured_by` scope to Tag (#28815) 2024-04-17 10:05:38 +00:00
Matt Jankowski 1d3ecd3fba
Add `API::Pagination` concern (#28826) 2024-04-17 09:22:45 +00:00
Matt Jankowski caad1e2628
Add scope `Status.distributable_visibility` (#29950) 2024-04-16 13:16:54 +00:00
Claire babbf6017d
Remove caching in `cache_collection` (#29862) 2024-04-08 13:46:13 +00:00
Claire 777984faeb Merge commit '119c7aa0df1e1d26bdee1701250d23a7af9e9136' into glitch-soc/merge-upstream 2024-04-06 20:34:07 +02:00
Claire 903dc53522 Merge commit '05eda8d19330a9c27c0cf07de19a87edff269057' into glitch-soc/merge-upstream 2024-04-06 20:01:25 +02:00
Claire f2b23aa5f3 Merge commit '954b470fbce3fbe4b9b42992b03425fa24d6a2ad' into glitch-soc/merge-upstream
Conflicts:
- `config/navigation.rb`:
  Upstream added a navigation item while glitch-soc had an additional one.
  Ported upstream changes.
2024-04-06 19:35:21 +02:00
Matt Jankowski edde54e991
Update stoplight to version 4.1.0 (#28366) 2024-04-02 15:47:40 +00:00
Matt Jankowski 34f293475e
Fix results/query in `api/v1/featured_tags/suggestions` (#29597) 2024-03-22 15:08:27 +00:00
Matt Jankowski 77897cd24c
Use existing `SeveredRelationship.about_local_account` scope in more places (#29673) 2024-03-21 08:36:49 +00:00
Claire c0aade79b0 Merge commit '8a1423a47425dd67615e94bdfd13d64b53676da4' into glitch-soc/merge-upstream 2024-03-20 18:31:09 +01:00
Claire 44bf7b8128
Add notifications of severed relationships (#27511) 2024-03-20 15:37:21 +00:00
Claire 8a1423a474
Allow unblocking email addresses from any matching account (#29305) 2024-03-20 14:38:00 +00:00
Claire 876aa35350 Merge commit 'ffc5be4820ed7bad4656489f096230dd7965140b' into glitch-soc/merge-upstream
Conflicts:
- `package.json`:
  Upstream updated a dependency that is on an adjacent line to a
  glitch-soc-only dependency in that file.
  Updated as upstream did.
- `yarn.lock`:
  Upstream updated a dependency that is on an adjacent line to a
  glitch-soc-only dependency in that file.
  Updated as upstream did.
2024-03-19 19:21:12 +01:00
Matt Jankowski b5115850bb
Move repeated `insert_pagination_headers` method to api base class (#29606) 2024-03-18 10:11:53 +00:00
Claire 2e49bc97b0 Merge commit '7720c684c5bf54e73e8815defe15473777d1c201' into glitch-soc/merge-upstream 2024-03-15 12:20:32 +01:00
Matt Jankowski 7720c684c5
Move common module inclusion in sub classes to `ActivityPub::BaseController` (#29560) 2024-03-15 10:40:21 +00:00
Claire e91ede5be6 Merge commit 'df6086d4027910fb160d531b4fe7ffdec26b0cd7' into glitch-soc/merge-upstream 2024-03-14 17:27:16 +01:00
Matt Jankowski f9100743ec
Add `Api::ErrorHandling` concern for api/base controller (#29574) 2024-03-14 09:09:47 +00:00
Claire 65ca37bbaa Merge commit 'a32a126cac42c73236236b5a9bd660765b9c58ee' into glitch-soc/merge-upstream
Conflicts:
- `spec/lib/sanitize/config_spec.rb`:
  Conflict due to glitch-soc having factored the file differently.
  Ported upstream's changes.
2024-03-13 20:14:18 +01:00
Claire 06881a8669 Merge commit '2c0441acd7f943a9873b650cf75d33c73d545acf' into glitch-soc/merge-upstream 2024-03-13 19:16:47 +01:00
Matt Jankowski c09b8a7164
Add `Account.without_internal` scope (#29559)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-03-13 14:11:23 +00:00
Matt Jankowski 9754967d5f
Move `pagination_max_id` and `pagination_since_id` into api/base controller (#28844) 2024-03-13 08:51:44 +00:00
Claire a5127d0ef8 Merge commit '24319836de6046fb2985ec1a24c30ad7d47584d7' into glitch-soc/merge-upstream
Conflicts:
- `config/routes/api.rb`:
  glitch-soc has an extra `:destroy` action on notifications for historical reasons.
  Kept it for now, while otherwise updating as upstream did.
2024-03-11 17:29:07 +01:00
Eugen Rochko c10bbf5fe3
Add notification policies and notification requests in web UI (#29433) 2024-03-11 15:02:21 +00:00
Eugen Rochko 5b3a8737d6
Add hints for rules (#29539) 2024-03-11 08:57:07 +00:00
Eugen Rochko 50b17f7e10
Add notification policies and notification requests (#29366) 2024-03-07 14:53:37 +00:00
Claire 4d7e7cc562 Merge commit '6dfe318f34d69066dc0f453a228fdfc6af84b62e' into glitch-soc/merge-upstream 2024-02-29 18:24:47 +01:00
Matt Jankowski eb1b8f69de
Allow pagination `Link` headers on API accounts/statuses when pinned true (#29442) 2024-02-29 14:21:56 +00:00
Claire a482932649 Merge commit '6f7615ba86afda56e1d661442286a1d68467a525' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/application_controller.rb`:
  Not a real conflict, upstream fixed a bug in a line adjacent to code
  modified by glitch-soc.
  Ported upstream's change.
2024-02-27 19:20:57 +01:00
zunda a30cdfd4d4
Specify 410 for code when responding as json while self-destruction (#29420) 2024-02-26 22:43:07 +00:00
Claire d2cfc6e5e2 Merge commit '08342ad40c1b92caf873282190efe8533a7d6e2e' into glitch-soc/merge-upstream 2024-02-24 15:02:28 +01:00
Claire ef3d15554b Merge commit 'c645490d553124d800d30488595f7d2d9d61584d' into glitch-soc/merge-upstream
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.
2024-02-24 14:46:14 +01:00
Claire ab2f0daa10 Merge commit 'aaa58d4807377e04649499ebee91757b16b9a007' into glitch-soc/merge-upstream
Conflicts:
- `.github/workflows/build-security.yml`:
  Changes were already cherry-picked and adapted in glitch-soc.
  Kept glitch-soc's version.
- `Gemfile.lock`:
  Changes were already cherry-picked and updated further in glitch-soc.
  Kept glitch-soc's version.
- `lib/mastodon/version.rb`:
  Changes were already cherry-picked and updated further in glitch-soc.
  Kept glitch-soc's version.
2024-02-24 14:27:43 +01:00
Matt Jankowski 785e2f9399
Add scope `providing_styles` to `UserRole` (#29286) 2024-02-20 09:18:05 +00:00
Claire e7ca82762d Fix user creation failure handling in OAuth paths (#29207) 2024-02-14 23:12:59 +01:00
Claire d4d0565b0f
Fix user creation failure handling in OAuth paths (#29207) 2024-02-14 21:49:45 +00:00
Claire 53b73ed6a2 Merge pull request from GHSA-vm39-j3vx-pch3
* Prevent different identities from a same SSO provider from accessing a same account

* Lock auth provider changes behind `ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH=true`

* Rename methods to avoid confusion between OAuth and OmniAuth
2024-02-14 15:25:15 +01:00
Claire b31af34c97
Merge pull request from GHSA-vm39-j3vx-pch3
* Prevent different identities from a same SSO provider from accessing a same account

* Lock auth provider changes behind `ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH=true`

* Rename methods to avoid confusion between OAuth and OmniAuth
2024-02-14 15:16:07 +01:00
Claire 7efc33b909
Move HTTP Signature parsing code to its own class (#28932) 2024-02-07 13:35:37 +00:00
Claire eeabf9af72
Fix compatibility with Redis <6.2 (#29123) 2024-02-07 11:52:38 +00:00
Matt Jankowski 2f19ddd1fa
Move status serializer error handling to private method (#29031) 2024-02-06 14:54:26 +00:00
Matt Jankowski 93a5b3f9df
Move status serializer chooser to private method (#29030) 2024-02-06 13:33:42 +00:00
Matt Jankowski 0877f6fda4
Remove redundant `return` in `IntentsController` (#29099) 2024-02-06 12:56:22 +00:00
Matt Jankowski 4cf07ed78c
Add missing action logging to `api/v1/admin/reports#update` (#29044) 2024-02-06 11:34:11 +00:00
Claire ff58ec0103 Merge pull request from GHSA-3fjr-858r-92rw
* Fix insufficient origin validation

* Bump version to 4.3.0-alpha.1
2024-02-01 15:57:08 +01:00
Claire 1726085db5
Merge pull request from GHSA-3fjr-858r-92rw
* Fix insufficient origin validation

* Bump version to 4.3.0-alpha.1
2024-02-01 15:56:46 +01:00
Claire bf153b384b Merge commit '42ab855b2339c5cea3229c856ab539f883736b12' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/auth/confirmations_controller.rb`:
  Upstream refactored, changing lines textually close of glitch-soc-only lines
  pertaining to the theming system.
  Resolved the conflict.
- `app/controllers/auth/passwords_controller.rb`:
  Upstream refactored, changing lines textually close of glitch-soc-only lines
  pertaining to the theming system.
  Resolved the conflict.
- `app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb`:
  Upstream refactored, changing lines textually close of glitch-soc-only lines
  pertaining to the theming system.
  Resolved the conflict.
2024-01-27 19:06:41 +01:00
Claire dd7a66949a Fix CSS loading in redirect controller 2024-01-26 21:04:02 +01:00
Claire 5fa2821853 Merge commit '3205a654caf903002c2db872f802a3332201678b' into glitch-soc/merge-upstream 2024-01-26 20:47:20 +01:00
Claire 70de52c297 Merge commit '7a1f087659204e9d0cbba2de37e45b1921cefe20' into glitch-soc/merge-upstream 2024-01-25 19:51:19 +01:00
Matt Jankowski 42ab855b23
Add specs for `Instance` model scopes and add `with_domain_follows` scope (#28767) 2024-01-25 15:28:27 +00:00
Matt Jankowski 17ea22671d
Fix `Style/GuardClause` cop in app/controllers (#28420) 2024-01-25 15:13:41 +00:00
Matt Jankowski 7c9c6c7f80
Fix remaining `Rails/WhereExists` cop violations, regenerate todo (#28892) 2024-01-25 12:37:07 +00:00
Claire c50274a0ac
Fix redirect confirmation for accounts (#28902) 2024-01-25 10:44:25 +00:00
Claire 22cfab0ebf Merge commit '01ce9df88008cee705b7e02a4581802afa07c3df' into glitch-soc/merge-upstream
Conflicts:
- `tsconfig.json`:
  Upstream made style fixes, while glitch-soc had extra options.
  Ported upstream's style fixes.
2024-01-24 20:42:53 +01:00
Eugen Rochko b19ae521b7
Add confirmation when redirecting logged-out requests to permalink (#27792)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-24 10:49:19 +00:00
Eugen Rochko 5b1eb09d54
Add annual reports for accounts (#28693) 2024-01-24 09:38:10 +00:00
Matt Jankowski c0e8e457ab
Eager loading fixes for `api/` controllers (#28848) 2024-01-23 11:41:54 +00:00
Claire 102eff7c05 Merge commit 'e2d9635074ad33cc8144adc434bcd90faae9c424' into glitch-soc/merge-upstream 2024-01-22 19:19:40 +01:00
Claire 0700eb58bc Merge commit '163db814c2b3cf544b78e427e7f7bbd99b94a025' into glitch-soc/merge-upstream 2024-01-22 19:12:05 +01:00