Commit Graph

840 Commits (c72b6e03ec6b4042dbf958a979b02cc6870128a9)

Author SHA1 Message Date
Claire d5063072c3
Revert friends-of-friends follow recommendation query to using a CTE (#29619) 2024-03-18 12:57:21 +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
Claire 27ffc09847 Merge commit 'af4e44e30a6a2701102a7d573e47e9db42025821' into glitch-soc/merge-upstream 2024-03-13 18:56:40 +01:00
Matt Jankowski 6262ceeb70
Fix `RSpec/DescribedClass` cop (#29472) 2024-03-13 15:42:39 +00: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 01b624c4a0
Use `normalizes` on `CustomFilter#context` value (#27602) 2024-03-13 08:50:21 +00:00
Matt Jankowski 216cea1e27
Fix incorrect frequency value in `FriendsOfFriendsSource` data (#29550) 2024-03-12 08:38:32 +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
Jeong Arm 4a6ddbc9c0
Normalize idna domain before account unblock domain (#29530) 2024-03-11 09:28:08 +00:00
Eugen Rochko 50b17f7e10
Add notification policies and notification requests (#29366) 2024-03-07 14:53:37 +00:00
Claire 45e56db8e4 Merge commit 'f89512fbedb547f66a72eefdff047768fb505eb6' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream updated its README, we have a completely different one.
  Kept our version.
2024-03-05 16:25:50 +01:00
Claire ee8d0b9447
Fix follow suggestions potentially including silenced or blocked accounts (#29306) 2024-03-04 06:35:20 +00:00
Claire 159e500749 Merge commit '18945f62e07617ac44b7a25a61799b0959fe67f7' into glitch-soc/merge-upstream 2024-03-01 18:34:48 +01:00
Daniel M Brasil a25014de8f
Improve `IpBlock` model test coverage (#29460) 2024-03-01 16:17:40 +00:00
Claire f01605c665 Merge commit '3389c41b5899c1da479bfc08e84588184e09902d' into glitch-soc/merge-upstream
Conflicts:
- `app/javascript/packs/admin.tsx`:
  Changes applied to `app/javascript/core/admin.ts` instead.
2024-03-01 13:02:59 +01:00
Matt Jankowski 3389c41b58
Move `nobody` position in `UserRole` magic number to constant (#29465) 2024-03-01 11:05:24 +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
Claire c297d999ba Merge commit '87ad398ddc78f2da5746774960690661e8e57335' into glitch-soc/merge-upstream 2024-02-24 14:02:01 +01:00
Matt Jankowski 1f648fdf1a
Remove erroneous service type on `TagFeed` model spec (#29302) 2024-02-21 11:25:33 +00:00
Matt Jankowski 64f9939e39
Use `capture_emails` helper to improve email assertions in specs (#29245) 2024-02-19 15:57:47 +00:00
Matt Jankowski 245064bb98
Move "everyone" role and "instance actor" account magic number IDs to constants (#29260) 2024-02-19 11:09:43 +00:00
Matt Jankowski 117b507df5
Extract `subject` from `User#mark_email_as_confirmed!` spec (#29231) 2024-02-16 13:01:04 +00:00
Matt Jankowski bba488c189
Reduce `RSpec/MultipleExpectations` in media_attachment spec (#29228) 2024-02-16 13:00:09 +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
Emelia Smith 436419cc2f Merge pull request from GHSA-7w3c-p9j8-mq3x
* Ensure destruction of OAuth Applications notifies streaming

Due to doorkeeper using a dependent: delete_all relationship, the destroy of an OAuth Application bypassed the existing AccessTokenExtension callbacks for announcing destructing of access tokens.

* Ensure password resets revoke access to Streaming API

* Improve performance of deleting OAuth tokens

---------

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
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
Emelia Smith 68eaa804c9
Merge pull request from GHSA-7w3c-p9j8-mq3x
* Ensure destruction of OAuth Applications notifies streaming

Due to doorkeeper using a dependent: delete_all relationship, the destroy of an OAuth Application bypassed the existing AccessTokenExtension callbacks for announcing destructing of access tokens.

* Ensure password resets revoke access to Streaming API

* Improve performance of deleting OAuth tokens

---------

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-02-14 15:15:34 +01:00
Matt Jankowski 95da28d201
Add common `ThreadingHelper` module for specs (#29116) 2024-02-07 14:53:29 +00:00
Claire 66dda7c762
Fix already-invalid reports failing to resolve (#29027) 2024-02-06 09:35:27 +00: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 5fa2821853 Merge commit '3205a654caf903002c2db872f802a3332201678b' into glitch-soc/merge-upstream 2024-01-26 20:47:20 +01:00
Matt Jankowski 6d35a77c92
Combine repeated subjects in `models/user` spec (#28937) 2024-01-26 16:22:44 +00: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 2866106ec1
Reduce factory creation in `spec/models/account_statuses_cleanup_policy` (#28361) 2024-01-25 13:37:25 +00:00
Matt Jankowski 6b6586f5d0
Add `CustomFilterKeyword#to_regex` method (#28893) 2024-01-25 13:00:34 +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
Matt Jankowski b0207d7757
Add coverage for `Tag.recently_used` scope (#28850) 2024-01-23 09:10:11 +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
Matt Jankowski 18004bf227
Add `Account.matches_uri_prefix` scope and use in activitypub/followers_synchronizations controller (#28820) 2024-01-22 13:55:37 +00:00
Matt Jankowski 1480573c83
Add `Account.auditable` scope, fix N+1 in admin/action_logs#index (#28812) 2024-01-19 01:39:30 +00:00
Claire 528a8fa495 Merge commit 'f866413e724c2e7f8329fbc6e96f56f0b186c62a' into glitch-soc/merge-upstream 2024-01-18 22:16:16 +01:00
Matt Jankowski d0b3bc23d7
Remove unused `matches_domain` scopes on Account, DomainAllow, DomainBlock (#28803) 2024-01-18 16:11:04 +00:00
Matt Jankowski 07e10e3747
Combine assertions about same setup in `Account#suspend!` spec (#28787) 2024-01-18 09:36:59 +00:00
Claire c59fb65ddc Merge commit '127503eb2cdd67126974bee304dde0f183300b84' into glitch-soc/merge-upstream
Conflicts:
- `app/helpers/accounts_helper.rb`:
  Conflict due to glitch-soc's option to hide followers count.
  Ported upstream changes.

Additional changes:
- `app/views/application/mailer/_account.html.haml`:
  Ported glitch-soc's option to hide followers count.
- `app/views/settings/flavours/show.html.haml`:
  Ported the `frontend_asset_url` helper change to glitch-soc.
2024-01-17 18:32:15 +01:00
Matt Jankowski 1b0cb3b54d
Announcement reactions query spec improvement and refactor (#28768) 2024-01-17 09:18:13 +00:00
Claire 278597c161 Merge commit '98b5f85f10a3af50a54fcd79e09fc9fd88f774fa' into glitch-soc/merge-upstream 2024-01-15 20:53:16 +01:00
Claire 98b5f85f10
Rename and refactor `User#confirm!` to `User#mark_email_as_confirmed!` (#28735) 2024-01-15 18:04:58 +00:00
Claire a3b6a85521 Merge commit 'cd37048439f9b324f48e6af1f426a7894c54b4da' into glitch-soc/merge-upstream
Conflicts:
- `.prettierignore`:
  Conflict due to glitch-soc-only files.
  Kept those at the end of the file.
2024-01-13 12:11:29 +01:00
Matt Jankowski cd37048439
Move followable_by coverage to suggestions (#28697) 2024-01-12 09:11:34 +00:00
Matt Jankowski 8b26614fa7
Combine results include check in spec/models/account (#28471) 2024-01-11 16:17:45 +00:00
Claire 23d8bd8ce1 Merge commit '0a7cff53c2577b3e79599e069eeb344f2613ad8d' into glitch-soc/merge-upstream 2024-01-11 13:24:20 +01:00
Claire 630b245bb4 Merge commit '9a73a7dcaf2e383b2ec105d71bfcea2c48cbea10' into glitch-soc/merge-upstream
Conflicts:
- `app/lib/settings/scoped_settings.rb`:
  Removed upstream, while glitch-soc had a change related to its theming system.
  Removed as well, as it's unused.
2024-01-11 12:59:27 +01:00
Matt Jankowski 0a7cff53c2
Add coverage for `Account.followable_by` scope (#28689) 2024-01-11 09:30:29 +00:00
Claire 47d213e701 Merge commit '5dc634796aba951f6a085e1ed0e1b807e25d7d41' into glitch-soc/merge-upstream 2024-01-10 18:41:04 +01:00
Claire 0b2c7cdb02 Merge commit 'fe2667bb0d3487a32b9da5250402a90482a85fe2' into glitch-soc/merge-upstream
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`.
2024-01-10 17:51:12 +01:00
Matt Jankowski 543d7890fd
Use normalizes to prepare `User` values (#28650)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-10 13:36:06 +00:00
Matt Jankowski 00341c70ff
Use Sidekiq `fake!` instead of `inline!` in specs (#25369) 2024-01-10 11:06:58 +00:00
Claire 10203bd57a
Clean up `Setting` model and remove dead code (#28661) 2024-01-09 14:01:53 +00:00
Jean Boussier 1781849884
Inline what remains of the rails-settings-cached gem (#28618)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-09 11:50:21 +00:00
Matt Jankowski 5dc634796a
Misc coverage improvements re: sidekiq/inline (#28651) 2024-01-09 09:40:08 +00:00
Matt Jankowski e677eb164c
Remove unused `Announcement#time_range?` (#28648) 2024-01-08 15:26:30 +00:00
Matt Jankowski 3e43cd095c
Remove unused scope `Announcement.without_muted` (#28645) 2024-01-08 15:26:14 +00:00
Matt Jankowski aa6d07dbd9
Use normalizes to prepare CustomEmoji `domain` value (#28624) 2024-01-08 11:20:59 +00:00
Matt Jankowski 12bed81187
Add validation specs to `CustomFilter` model (#28600) 2024-01-05 15:13:59 +00:00
Claire c5b0e6d5a0 Merge branch 'main' into glitch-soc/merge-upstream 2023-12-28 16:57:10 +01:00
Matt Jankowski bb8077e784
Fix `RSpec/LetSetup` cop in models/account_status_cleanup_policy (#28470) 2023-12-22 15:29:50 +00:00
Matt Jankowski e6e217fedd
Clean up `tagged_with_*` Status specs, fix `RSpec/LetSetup` cop (#28462) 2023-12-22 08:32:27 +00:00
Claire 30ee7339d3 Merge commit '7d9b209fe84b00eff348ea9d54905cbfffa79788' into glitch-soc/merge-upstream
Conflicts:
- `app/models/form/admin_settings.rb`:
  Upstream changed code style change, including on a line modified by glitch-soc.
  Kept glitch-soc's line but with the code style change applied.
2023-12-21 19:31:12 +01:00
Claire f5b7307890 Merge commit 'f99e05710ea06cf10bbd3fb64ae8c00b095cb455' into glitch-soc/merge-upstream
Conflicts:
- `.rubocop_todo.yml`:
  Took upstream's version of the conflicting lines.
2023-12-21 19:24:10 +01:00
Matt Jankowski c753b1ad35
Clean up of `RSpec/LetSetup` within `spec/models` (#28444) 2023-12-21 09:18:38 +00:00
Claire 077e0c6812 Merge commit '0b4a3a04378ce43f2f314b9446b5053f6b374c6d' into glitch-soc/merge-upstream
Conflicts:
- `Gemfile.lock`:
  Conflict caused by the `json` gem thing once again.
  Updated as upstream did, but keeping the most recent `json` version.
- `spec/helpers/application_helper_spec.rb`:
  Upstream refactored a bunch of specs, including one place that differs
  because of glitch-soc's theming system.
  Refactored as upstream did, adapting it for glitch-soc's theming system.
2023-12-20 22:16:50 +01:00
Claire 75580360cd Merge commit '272592d16d40e804ec325ef3b5e6de9bbad5f2dd' into glitch-soc/merge-upstream
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.
2023-12-20 22:05:31 +01:00
Claire b8209c3b96 Merge commit '85662a5a57531af5402a6777d0b1089e78c56815' into glitch-soc/merge-upstream
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.
2023-12-20 20:10:45 +01:00
Claire 2e786e13cb Merge commit '973597c6f1e25b16c592e5573304319aeaa375e1' into glitch-soc/merge-upstream
Conflicts:
- `app/validators/status_pin_validator.rb`:
  Upstream refactored that file, while glitch-soc had configurable limits for
  pinned statuses.
  Updated the code with upstream's refactor, while keeping glitch-soc's
  configurability.
2023-12-19 20:51:37 +01:00
Claire 6fed0fcbaa
Remove unneeded settings cleanup from specs (#28425) 2023-12-19 15:17:22 +00:00
Claire a111fd7a0b Merge commit 'b2c5b20ef27edd948eca8d6bd2014b7a5efaec11' into glitch-soc/merge-upstream 2023-12-18 20:47:27 +01:00
Claire 46ddaffd40 Merge commit 'b87bfb8c96c8491f1228e0258d05119f3420db05' into glitch-soc/merge-upstream 2023-12-18 18:34:25 +01:00
Matt Jankowski af366f65ee
Add spec coverage for `models/form/custom_emoji_batch` class (#28388) 2023-12-18 12:41:37 +00:00
Matt Jankowski 1820bad646
Fix `Performance/StringIdentifierArgument` cop (#28399) 2023-12-18 10:26:09 +00:00
Claire 4113fbf6e8 Merge commit 'f476d9dab2f5cca6ae44b95961df6b6557d66dab' into glitch-soc/merge-upstream
Conflicts:
- `lib/sanitize_ext/sanitize_config.rb`:
  Upstream enforced new code style rules, where we had different code.
  Applied the new code style rules.
2023-12-17 23:04:16 +01:00
Matt Jankowski 28e1a7a394
Improve spec coverage for `models/announcement` class (#28350) 2023-12-14 10:29:10 +00:00
Claire 9f92b05bd2 Merge commit '2e6bf60f1549e5c1f1cfea2d614f978bea17b8a2' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream has updated their README but we have a completely different one.
  Kept our version of `README.md`
2023-12-10 18:05:02 +01:00
Matt Jankowski 89a8e6e622
Remove 2x double subject call in `models/form/account_batch` spec (#28209) 2023-12-04 15:41:43 +00:00
Matt Jankowski 5631f139c1
Fix `Lint/SymbolConversion` cop (#28175) 2023-12-01 15:53:35 +00:00
Matt Jankowski 440b80b2e7
Model concerns organization into module namespaces (#28149) 2023-12-01 11:00:41 +00:00
Matt Jankowski e48ecd2929
Remove `default_scope` from `Admin::ActionLog` (#28026) 2023-11-29 10:39:59 +00:00
Matt Jankowski 973597c6f1
Consolidate configuration of `Sidekiq::Testing.fake!` setup (#28046) 2023-11-23 09:43:43 +00:00
Eugen Rochko cdc57c74b7
Fix unsupported time zone or locale preventing sign-up (#28035)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-22 11:38:07 +00:00
Matt Jankowski 371f355719
Reduce `.times` usage in `AccountStatusesCleanupPolicy` (#27947) 2023-11-20 09:08:54 +00:00
Matt Jankowski d2aacea8da
Reduce `.times` usage in AccountSearch spec, use constant for default limit (#27946) 2023-11-20 09:08:22 +00:00
Matt Jankowski 00c6ebd86f
Reduce `.times` usage in `StatusPin` and add `PIN_LIMIT` constant in validator (#27945) 2023-11-20 09:07:25 +00:00
Matt Jankowski b2c5b20ef2
Fix `RSpec/AnyInstance` cop (#27810) 2023-11-14 14:52:59 +00:00
Matt Jankowski b7807f3d84
Use `normalizes` to prepare `Webhook#events` value (#27605) 2023-11-13 22:47:44 +00:00
Matt Jankowski 63c9102f8a
Fix `RSpec/MessageChain` cop (#27776) 2023-11-09 12:57:23 +00:00
Matt Jankowski 69d00e2721
Fix `RSpec/InstanceVariable` cop (#27766) 2023-11-08 15:42:30 +00:00