Compare commits

...

945 Commits

Author SHA1 Message Date
Claire
efab184980 Change mastodon-streaming nightly builds to be tagged as latest
glitch-soc does not have releases, so it tags nightly container builds as latest; but we were not doing the same thing for the new `mastodon-streaming` container
2023-12-26 10:42:14 +01:00
Claire
ea6c187fca Fix media attachment order of remote posts (#28469) 2023-12-22 18:45:36 +01:00
Claire
72ff0d30d8 Fix submitting post from content warning field not working properly (#2538) 2023-12-22 17:23:15 +01:00
Claire
e676b57831 Merge pull request #2537 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to b7bdcd4f39
2023-12-22 17:22:39 +01:00
Claire
f96e713522 Fix trying to push mastodon-streaming docker images to upstream's ghcr repo (#2541) 2023-12-22 13:01:08 +01:00
Claire
5bd61a3fc5 Don't try to push images to Mastodon's dockerhub (#2540) 2023-12-22 12:13:53 +01:00
Claire
d4c87ff5b8 Disable use of missing native arm64 docker builder for the streaming image (#2539) 2023-12-22 08:45:37 +01:00
Claire
92aa6e2ec9 Merge commit 'b7bdcd4f395aaa1e85930940975439d10b570f40' into glitch-soc/merge-upstream 2023-12-21 19:42:13 +01: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
f2eb5038a6 Fix linting warning in glitch-soc-only migration 2023-12-21 19:25: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
Claire
7a0be26367 [Glitch] Fix empty column explainer getting cropped under certain conditions
Port 3f1ec16377 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-21 19:08:43 +01:00
Claire
a60b9acf3c Merge commit 'b2f915b31ae884e3893e93a99da4e2b8d7e9ef7b' into glitch-soc/merge-upstream 2023-12-21 19:04:20 +01:00
Claire
dac2b56932 Merge pull request #2535 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 4a7395d989
2023-12-21 19:03:29 +01:00
Claire
6e56f95285 Merge commit '4a7395d989e40c3bd4ef18173aa5ea850c8ddcdd' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream modified its README, we have a completely different one.
  Kept our README file.
2023-12-21 18:17:17 +01:00
Claire
d668b85dcd Merge pull request #2532 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 0b4a3a0437
2023-12-21 18:13:49 +01:00
Claire
9ac13bbc9c Fix glitch-only HAML linting issue 2023-12-20 22:27:29 +01:00
Claire
b2961dad2b Fix lint issue in glitch-soc-only file 2023-12-20 22:25:23 +01:00
Matt Jankowski
01e77a0f34 [Glitch] Enable the eslint react/no-unknown-property rule
Port ee83d5c760 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 22:24:40 +01: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
5de551002d [Glitch] Fix onboarding step descriptions being truncated on narrow screens
Port b20af17a2c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 21:59:58 +01:00
Claire
8a5f2442cc Merge commit '0530ce5e9575c09464847412f43852f438b0494e' into glitch-soc/merge-upstream 2023-12-20 21:58:18 +01:00
Claire
b41af99673 [Glitch] Change dismissed banners to be stored server-side
Port 7faa27e17d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 20:40:47 +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
f425a1e637 Merge pull request #2519 from ClearlyClaire/glitch-soc/immutable-record-redux
Use Immutable `Record` for accounts in Redux state
2023-12-20 20:06:49 +01:00
Renaud Chaput
a4a728b01d [Glitch] Fix the loading bar with the new Redux actions
Port 8b1eeb2f90 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 19:49:44 +01:00
Claire
93c71e2c7c [Glitch] Fix notification sounds
Port f3864db409 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 19:49:44 +01:00
Claire
70652e49eb [Glitch] Fix error when muting users from Web UI
Port 32319187ee to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 19:49:44 +01:00
Renaud Chaput
e94fecdcc8 [Glitch] Fix the notificationsUpdate call
Port f476d9dab2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 19:49:44 +01:00
Renaud Chaput
79678cf841 [Glitch] Fixes website not loading for unlogged users
Port 6712bf86cd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 19:49:44 +01:00
Renaud Chaput
7fe5623a27 [Glitch] Use Immutable Record for accounts in Redux state
Port 3bf2a7296e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 19:49:44 +01:00
Renaud Chaput
3b7caa00e2 [Glitch] Add Typescript types for some API objects
Port 57f592fed5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-20 19:49:44 +01:00
Claire
a3a58c041e Merge pull request #2527 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 8ebc94dd22
2023-12-20 19:48:45 +01:00
Essem
b7cb17fecf Fix the poll option add button attempting to submit a form (#2530) 2023-12-20 08:24:28 +01:00
Claire
9bfb699c4c [Glitch] Change search popout to not list unusable search options when logged out
Port 6e70819840 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-19 21:25:55 +01:00
Claire
b135b6ba8f Merge commit '8ebc94dd22a18c28c4c9763b909e92e6ba64e242' into glitch-soc/merge-upstream
Conflicts:
- `app/views/admin/custom_emojis/new.html.haml`:
  Conflict caused by glitch-soc having a different file size limit constant
  name.
  Updated like upstream did while keeping glitch-soc's constant name.
2023-12-19 21:24:01 +01:00
Claire
6c00d5b0c4 Fix test failure caused by glitch-soc changes 2023-12-19 21:14:39 +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
d288a6162a Merge commit '12c22ee5e71ae0220ea10199e4d10deb4140ec44' into glitch-soc/merge-upstream 2023-12-19 20:40:05 +01:00
Claire
7db68e2dca [Glitch] Fix upper border radius of onboarding columns
Port 0a6ec048a8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-19 20:26:22 +01:00
Claire
b24f676cf1 Merge commit '1526e54ac6f08431c8c833f20b4be8882355967c' into glitch-soc/merge-upstream 2023-12-19 20:24:57 +01:00
Jeong Arm
94c4c7f330 [Glitch] Fix open status on media modal
Port 922f086253 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-19 20:17:45 +01:00
Claire
3ad92e8d0d Merge commit 'bd575a1dd69d87ca0f69873f7badf28d38e8b9ed' into glitch-soc/merge-upstream 2023-12-19 20:17:23 +01:00
Claire
8afd313807 Merge commit '15b2d7eec59c745b418debf63907d8bd08c4a730' into glitch-soc/merge-upstream
Conflicts:
- `package.json`:
  Upstream split some dependencies, including `express`, to
  `streaming/package.json`.
  However, glitch-soc had extra dependencies textually close to `express`.
  Kept the extra dependencies and moved `express` to streaming.
- `yarn.lock`:
  Upstream split some dependencies, including `express`, to
  `streaming/package.json`.
  However, glitch-soc had extra dependencies textually close to `express`.
  Kept the extra dependencies and moved `express` to streaming.
2023-12-19 20:06:32 +01:00
Claire
cd1e3ac2c7 Merge commit '7e1a77ea51e6dc4aecbf678f8928aa96698fa072' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/api/v1/timelines/public_controller.rb`:
  Upstream refactored this code, the conflict was because of an extra supported
  parameter, `allow_local_only`.
  Updated the controller to follow upstream's refactor, and moved the extra
  parameter definition accordingly.
2023-12-19 19:51:40 +01:00
Claire
4fdbffc57c Merge pull request #2522 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to b2c5b20ef2
2023-12-19 18:20:34 +01:00
renovate[bot]
b7bdcd4f39 Update dependency @material-symbols/svg-600 to v0.14.3 (#28276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 10:56:23 +00:00
Matt Jankowski
c28976d89e Handle negative offset param in api/v2/search (#28282) 2023-12-19 10:55:39 +00:00
Renaud Chaput
7b1d390734 Fixes dropdown target without a buttonRef (edit history) (#28427) 2023-12-19 10:47:53 +00:00
github-actions[bot]
fa987db738 New Crowdin Translations (automated) (#28423)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-19 09:40:37 +00:00
Claire
3598c2e1db Revert "Feature - Prevents multiple audio/video attachments from being played at the same time (#24717)" (#28251) 2023-12-19 05:08:52 +00:00
Renaud Chaput
8b1eeb2f90 Fix the loading bar with the new Redux actions (#28422) 2023-12-18 23:19:27 +00:00
Matt Jankowski
7cfc078198 Fix rails mailer preview not honouring locale (#28418) 2023-12-18 21:49:17 +00:00
Brian Holley
4259f4a4aa [Glitch] Fix "Hide these posts from home" list setting not refreshing when switching lists
Port 4aa06cbdbf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-18 20:59:33 +01:00
Claire
a111fd7a0b Merge commit 'b2c5b20ef27edd948eca8d6bd2014b7a5efaec11' into glitch-soc/merge-upstream 2023-12-18 20:47:27 +01:00
pajowu
6261db2a26 [Glitch] Fix modal content not being selectable
Port ed79713f3a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-18 19:15:57 +01:00
Claire
d6ad9d351e Merge commit 'a36b59be8ad7656b7ceab9751c9ec5b3563e3a30' into glitch-soc/merge-upstream 2023-12-18 19:10:43 +01:00
Claire
60eb57ce1b Fix HAML listing issue 2023-12-18 19:07:15 +01:00
Claire
f5de9fe99a [Glitch] Allow viewing and severing relationships with suspended accounts
Port c451bbe249 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-18 18:49:48 +01:00
Aleks Xhuvani
dee28c3fbf [Glitch] Do not try to update an undefined video element
Port 7840c6b75b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-18 18:42:30 +01:00
Aleks Xhuvani
372c455218 [Glitch] Add volume saving/reuse to video player
Port 58f01a5c9a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-18 18:42:07 +01:00
Claire
b474cbbd28 Merge commit '7840c6b75b61e64d89d7fd9f291277fb177e513f' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/api/v1/accounts/relationships_controller.rb`:
  We differed by listing suspended users when requesting relationships.
  Updated to upstream's code.
2023-12-18 18:40:58 +01:00
Claire
46ddaffd40 Merge commit 'b87bfb8c96c8491f1228e0258d05119f3420db05' into glitch-soc/merge-upstream 2023-12-18 18:34:25 +01:00
Claire
cd2ee0ec5f Merge commit '757d7c73c0ca3750ac9e74a7e962f71c535a7bd0' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream updated its README, we have a completely different one.
  Kept ours.
- `yarn.lock`:
  Upstream changed from yarn 1 to yarn 4, but we had some different
  dependencies.
  Updated to yarn 4 and re-added our dependencies.
2023-12-18 18:25:33 +01:00
Claire
bc33be0342 Merge commit '23e32a4b3031d1da8b911e0145d61b4dd47c4f96' into glitch-soc/merge-upstream
Conflicts:
- `Gemfile.lock`:
  Conflict because we had updated the `json-ld` gem to fix a yanked dependency.
  Kept our version of `json-ld` while updating other dependencies.
2023-12-18 18:07:24 +01:00
Matt Jankowski
476d1237d4 Typo fix in json ld helper spec (#28417) 2023-12-18 16:47:22 +00:00
renovate[bot]
ab1201c9d9 Update dependency regenerator-runtime to v0.14.1 (#28393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 16:21:54 +00:00
Claire
7d9b209fe8 Fix call to inefficient delete_matched cache method in domain blocks (#28374) 2023-12-18 16:14:43 +00:00
Yamagishi Kazutoshi
f4b9c2ba40 Group artifact actions (#28413) 2023-12-18 14:02:19 +00:00
Matt Jankowski
af366f65ee Add spec coverage for models/form/custom_emoji_batch class (#28388) 2023-12-18 12:41:37 +00:00
renovate[bot]
b2ca71f733 Update dependency rubocop-performance to v1.20.0 (#28395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 12:41:22 +00:00
Matt Jankowski
0b42cf2979 Opt out of Rails/NegateInclude cop (#28370) 2023-12-18 12:21:45 +00:00
Claire
3d3fa75c81 Reduce composer differences with upstream and simplify code (#2518) 2023-12-18 13:20:08 +01:00
Claire
18856371be Merge pull request #2520 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to f476d9dab2
2023-12-18 13:19:45 +01:00
Matt Jankowski
1820bad646 Fix Performance/StringIdentifierArgument cop (#28399) 2023-12-18 10:26:09 +00:00
Matt Jankowski
2bd8d343cf Fix Style/SoleNestedConditional and Style/IfInsideElse cops, regenerate haml todo (#28384) 2023-12-18 10:06:42 +00:00
Matt Jankowski
8e9e7d57d8 Opt out of Rails/UnusedIgnoredColumns cop (#28385) 2023-12-18 09:58:53 +00:00
Matt Jankowski
0e5b8fc46b Fix Style/RedundantReturn cop (#28391) 2023-12-18 09:50:51 +00:00
Matt Jankowski
89d468ada7 Fix Style/StderrPuts cop (#28389) 2023-12-18 09:36:08 +00:00
Matt Jankowski
e56fb9e489 Fix Style/SymbolProc cop (#28386) 2023-12-18 09:32:02 +00:00
renovate[bot]
fc4eaa779a Update dependency cssnano to v6.0.2 (#28382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:31:21 +00:00
renovate[bot]
fad7dca0e4 Update dependency prom-client to v15.1.0 (#28394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:29:41 +00:00
renovate[bot]
43f637c130 Update dependency rubocop-rails to v2.23.0 (#28396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:28:19 +00:00
renovate[bot]
287384b3bb Update DefinitelyTyped types (non-major) (#28407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:28:10 +00:00
renovate[bot]
d099cf67c0 Update eslint (non-major) (#28408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:28:06 +00:00
github-actions[bot]
f99e05710e New Crowdin Translations (automated) (#28373)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-18 08:25:21 +00:00
Claire
33dd5d8179 Fix Ruby lint issues 2023-12-17 23:17:55 +01: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
Claire
c8fe36c349 Merge pull request #2517 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 3bf896c973
2023-12-17 20:06:18 +01:00
mogaminsk
cc265f760e [Glitch] Fix inserting emojis from emoji picker fails with TypeError
Port ac8e4ed38d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-17 18:03:22 +01:00
Claire
bb4fa0c374 [Glitch] Rewrite AutosuggestTextarea as Functional Component
Port 9c8891b39a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-17 17:59:33 +01:00
Renaud Chaput
e22c3cd768 [Glitch] Improve Babel configuration and automatically load polyfills
Port 0e3401bc1c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-17 17:50:31 +01:00
Claire
ddf3ad9541 Merge commit '3bf896c973404261f4f7b25c25ea22adb1a85e7d' into glitch-soc/main
Conflicts:
- `package.json`:
  Upstream removed a dependency textually close to a glitch-only dependency.
  Updated as upstream while keeping our dependency.
2023-12-17 17:43:30 +01:00
Claire
537b88330d Merge pull request #2514 from ClearlyClaire/glitch-soc/main
Merge upstream changes up to a916251d8a
2023-12-17 17:42:22 +01:00
Claire
f62bafc7a1 Fix HAML linting issue 2023-12-17 16:37:11 +01:00
Claire
1474318691 Merge commit 'a916251d8a8fffcaeb6be80eacf50138a53650dc' into glitch-soc/main
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.
2023-12-17 15:32:29 +01:00
Matt Jankowski
b1dec09d20 Fix Style/InverseMethods cop (#28377) 2023-12-15 15:52:00 +00:00
Matt Jankowski
3e336fe706 Opt out of Rails/SkipsModelValidations cop in db/migrate (#28371) 2023-12-15 14:38:12 +00:00
Matt Jankowski
e5717c9bc6 Fix Style/Lambda cop (#28378) 2023-12-15 14:34:24 +00:00
Matt Jankowski
1ee8d1e50e Assign a proc to Rack::Request.ip_filter instead of patching method (#28380) 2023-12-15 14:33:56 +00:00
Matt Jankowski
db897eaa5a Unwind map on single-item array in spec/services/delete_account_service spec (#28358) 2023-12-14 14:07:54 +00:00
Matt Jankowski
e17faedffb Move default meta options from InitialStateSerializer to private method (AbcSize reduction) (#28355) 2023-12-14 14:04:55 +00:00
Matt Jankowski
1c3b5f4a78 Fix reference to non-existent var in CLI maintenance command (#28363) 2023-12-14 14:02:33 +00:00
Matt Jankowski
ef9797a395 Un-nest contexts in settings/2fa/webauthn spec (#28359) 2023-12-14 10:46:43 +00:00
Matt Jankowski
adbfd40a1b Convert api/v1/directories controller spec to request spec (#28356) 2023-12-14 10:38:06 +00:00
Matt Jankowski
cd9ebf5f0f Update stylelint to version 16.0.2 (#28354) 2023-12-14 10:35:54 +00:00
Matt Jankowski
28e1a7a394 Improve spec coverage for models/announcement class (#28350) 2023-12-14 10:29:10 +00:00
renovate[bot]
d791b47058 Update dependency chewy to v7.4.0 (#28349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 10:26:28 +00:00
Matt Jankowski
8a3d8c6c14 Remove the stub_stdout wrapper around CLI specs (#28340) 2023-12-13 10:14:19 +00:00
renovate[bot]
3a59365e40 Update dependency test-prof to v1.3.1 (#28342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:52:43 +00:00
renovate[bot]
49150e2f1d Update dependency ws to v8.15.1 (#28343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:52:40 +00:00
github-actions[bot]
b2f915b31a New Crowdin Translations (automated) (#28344)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-13 09:52:37 +00:00
renovate[bot]
aae4b5644f Update dependency haml_lint to v0.52.0 (#28345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:52:33 +00:00
Claire
dcc24db793 Fix N+1s because of association preloaders not actually getting called (#28339) 2023-12-13 07:47:32 +00:00
Claire
b7248485b1 Merge pull request #2477 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 2e6bf60f15
2023-12-12 19:45:18 +01:00
Claire
3f1ec16377 Fix empty column explainer getting cropped under certain conditions (#28337) 2023-12-12 14:31:37 +00:00
renovate[bot]
db3220ff77 Update dependency rubocop to v1.59.0 (#28320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 14:18:30 +00:00
Claire
f37c93f3d7 Change cookie rotator to use SHA1 digest for new cookies (#27392) 2023-12-12 12:01:08 +00:00
Claire
393e851649 Change Rails' cache format to 7.0 (#27393) 2023-12-12 12:00:23 +00:00
Matt Jankowski
4a7395d989 Add migrator_version method to CLI maintenance script (#28323) 2023-12-12 11:56:39 +00:00
renovate[bot]
ca51e41239 Update dependency stylelint-config-standard-scss to v12 (#28333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 11:45:39 +00:00
github-actions[bot]
14e64bc880 New Crowdin Translations (automated) (#28334)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-12 11:45:10 +00:00
renovate[bot]
8078520c76 Update dependency oj to v3.16.3 (#28332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 10:40:54 +00:00
Claire
89a496b42f Fix status edits not always being streamed to mentioned users (#28324) 2023-12-12 10:39:21 +00:00
Claire
a8a5c6514f Fix LinkCrawlWorker error when encountering empty OEmbed response (#28268) 2023-12-12 08:29:46 +00:00
Matt Jankowski
2c6369918c Fix Style/RedundantArgument cop (#28321) 2023-12-11 14:58:29 +00:00
renovate[bot]
9dfa940636 Update babel monorepo to v7.23.6 (#28319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 14:58:10 +00:00
Claire
f3864db409 Fix notification sounds (#28316) 2023-12-11 14:23:30 +00:00
Matt Jankowski
b5a1013ae3 Combine CLI::... spec example subjects (#28285) 2023-12-11 10:23:45 +00:00
renovate[bot]
4ad2e87c48 Update dependency debug to v1.9.0 (#28315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 08:45:30 +00:00
github-actions[bot]
79a81da69c New Crowdin Translations (automated) (#28291)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-11 08:22:52 +00:00
Matt Jankowski
0e4233de9d Controller spec to request spec: api/v2/suggestions (#28297) 2023-12-11 08:13:57 +00:00
Matt Jankowski
0c64092500 Controller spec to request spec: api/v1/accounts/search (#28299) 2023-12-11 08:13:28 +00:00
Matt Jankowski
253393f3a8 Only attempt to remove indexes that exist in CLI::Maintenance script (#28286) 2023-12-11 08:04:45 +00:00
renovate[bot]
f5d6143aa1 Update dependency addressable to v2.8.6 (#28296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 08:01:17 +00:00
Matt Jankowski
16ede59d0a Controller spec to request spec: api/v1/featured_tags/suggestions (#28298) 2023-12-11 08:00:41 +00:00
Matt Jankowski
809506bdd4 Controller spec to request spec: api/v1/accounts/pins (#28300) 2023-12-11 07:59:40 +00:00
Matt Jankowski
94cc707ab3 Controller spec to request spec: api/v1/accounts/notes (#28301) 2023-12-11 07:58:48 +00:00
Matt Jankowski
e544b6df42 Controller spec to request spec: api/v1/accounts/lookup (#28302) 2023-12-11 07:57:33 +00:00
Matt Jankowski
a968898dc7 Controller spec to request spec: api/v1/accounts/lists (#28303) 2023-12-11 07:56:47 +00:00
Matt Jankowski
8f94502e7d Controller spec to request spec: api/v1/accounts/identify_proofs (#28304) 2023-12-11 07:56:13 +00:00
Matt Jankowski
78347d2556 Controller spec to request spec: api/v1/accounts/familiar_followers (#28305) 2023-12-11 07:55:45 +00:00
Matt Jankowski
11d2bd9716 Fix intermittent failure from unspecified order in api/v1/accounts/relationships spec (#28306) 2023-12-11 07:55:07 +00:00
renovate[bot]
b82fc8a2ca Update dependency ws to v8.15.0 (#28308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:54:22 +00:00
renovate[bot]
a117155728 Update DefinitelyTyped types (non-major) (#28310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:54:01 +00:00
renovate[bot]
7ddd937330 Update dependency prettier to v3.1.1 (#28311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:53:32 +00:00
renovate[bot]
d0e7999a90 Update dependency typescript to v5.3.3 (#28312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:53:13 +00:00
renovate[bot]
bd88883b6e Update eslint (non-major) (#28313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:52:53 +00:00
Michael Stanclift
afc8550b63 Change preview card deletes to be done using batch method (#28183) 2023-12-11 07:49: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
Claire
98f50429d5 Merge pull request #2511 from ClearlyClaire/glitch-soc/cleanup-2
Further reduce code differences with upstream
2023-12-10 18:03:04 +01:00
Claire
df5c64fe57 Further reduce differences with upstream 2023-12-09 21:19:43 +01:00
Claire
cc1d68ace8 [Glitch] Show announcements in reverse chronological order
Port f1f0400adc and 8e2530ea16 to glitch-soc

Co-Authored-By: Darius Kazemi <darius.kazemi@gmail.com>
2023-12-09 21:19:43 +01:00
Claire
4b2ddaf106 Further reduce differences with upstream 2023-12-09 21:19:43 +01:00
Claire
408d4710ed Further reduce differences with upstream 2023-12-09 20:58:50 +01:00
Claire
a27abb4802 Further reduce code differences with upstream (#2509) 2023-12-09 20:29:23 +01:00
Claire
1ddf2012ee Fix status avatar size discrepancies (#2510)
Follow-up to #2508
2023-12-09 20:29:15 +01:00
Claire
b2647bc3f2 [Glitch] Update Avatar, AvatarComposite, and AvatarOverlay components (#2508)
Various ports including 8dfe5179ee,
d1de7fb7fa and
9f8d34620b.

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: fusagiko / takayamaki <24884114+takayamaki@users.noreply.github.com>
2023-12-09 18:33:42 +01:00
Matt Jankowski
490e4969a1 Correct section naming in maintenance cli script (#28279) 2023-12-08 13:54:48 +00:00
Matt Jankowski
a3cbb4b2f1 Add spec for CLI::Search#deploy command (#28272) 2023-12-08 13:54:20 +00:00
github-actions[bot]
ca1b7efb06 New Crowdin Translations (automated) (#28275)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-08 09:52:32 +00:00
JakePaustian
f37a1535ef Update CONTRIBUTING.md with additional requirements for API additions (#28274)
Co-authored-by: Jake Paustian <jake1500@iastate.edu>
2023-12-08 09:52:28 +00:00
Matt Jankowski
8de86eabbf Add spec for CLI::Domains#crawl command (#28271) 2023-12-08 09:51:57 +00:00
Matt Jankowski
7e514688b3 Convert api/v2/search controller spec to request spec (#28269) 2023-12-08 09:27:33 +00:00
Matt Jankowski
8d8ae05a18 Add spec coverage for CLI::Media#lookup command (#28266) 2023-12-07 15:27:41 +00:00
Matt Jankowski
3918dc68c7 Use composite primary key for PreviewCardsStatus model (#28208) 2023-12-07 14:49:05 +00:00
Michael Stanclift
da3d8aff79 Error handling for attachment batch delete process (#28184)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-12-07 14:40:44 +00:00
Matt Jankowski
ad34d33bfd Formalize some patterns in cli specs (#28255) 2023-12-07 13:49:14 +00:00
Ken Greeff
5d97a897c8 Add note to install libidn on MacOS (#28259) 2023-12-07 12:45:55 +00:00
Matt Jankowski
0b4a3a0437 Remove remaining without_partial_double_verification usage (#28127) 2023-12-07 12:15:50 +00:00
Matt Jankowski
1d7b8234c9 Remove useless reorder(nil) call in tootctl statuses (#28141) 2023-12-07 09:41:00 +00:00
github-actions[bot]
e0dacf6b4c New Crowdin Translations (automated) (#28264)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-07 09:38:44 +00:00
Claire
7593465c23 Fix error when processing link preview with an array as inLanguage (#28252) 2023-12-07 09:05:08 +00:00
renovate[bot]
336d6260ba Update dependency chewy to v7.3.5 (#28253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 08:44:45 +00:00
renovate[bot]
54db2006a9 Update dependency sass-loader to v10.5.0 (#28254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 08:44:16 +00:00
renovate[bot]
5e8a38e254 Update dependency oj to v3.16.2 (#28263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 08:42:47 +00:00
Claire
658ad7a6ca Fix flaky tests related to file creation (#28248) 2023-12-06 22:22:25 +00:00
Matt Jankowski
af66d3d836 Use following and followers scopes in CLI (#28154) 2023-12-06 14:15:54 +00:00
renovate[bot]
23b16aaab0 Update dependency selenium-webdriver to v4.16.0 (#28246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 13:50:59 +00:00
Matt Jankowski
ee83d5c760 Enable the eslint react/no-unknown-property rule (#28217) 2023-12-06 13:42:12 +00:00
Claire
c0e562916c Fix glitch-soc being uninstallable because of yanked dependency (#2507) 2023-12-06 13:32:27 +01:00
Matt Jankowski
42afd30324 Replace Sprockets with Propshaft (#28239) 2023-12-06 10:19:24 +00:00
github-actions[bot]
954169966b New Crowdin Translations (automated) (#28245)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-06 08:52:55 +00:00
Matt Jankowski
0e8ba19113 Add spec coverage for CLI::Emoji class (#28182) 2023-12-06 08:52:30 +00:00
Matt Jankowski
ed7b5c091b Remove double subject call in services/delete_account_service spec (#28212) 2023-12-06 08:51:09 +00:00
Matt Jankowski
be6bb1a10d Remove double subject call in services/suspend_account_service spec (#28213) 2023-12-06 08:45:19 +00:00
Matt Jankowski
5517df61de Remove double subject call in services/activitypub/process_account_service spec (#28214) 2023-12-06 08:44:51 +00:00
Matt Jankowski
faffd81976 Remove double subject call in services/unsuspend_account_service spec (#28215) 2023-12-06 08:44:07 +00:00
renovate[bot]
3b710b96cf Update dependency irb to v1.10.1 (#28240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 08:33:27 +00:00
renovate[bot]
996c13a24d Update dependency core-js to v3.34.0 (#28241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 08:33:11 +00:00
github-actions[bot]
4238ec844d New Crowdin Translations (automated) (#28120)
Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-12-05 16:07:53 +00:00
Jonathan de Jong
d0a5ebf914 Fix error when encountering malformed Tag objects from Kbin (#28235) 2023-12-05 13:59:15 +00:00
renovate[bot]
2d2e23c68d Update dependency brakeman to v6.1.0 (#28231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-05 12:59:31 +00:00
renovate[bot]
f944a767c4 Update dependency json-ld to v3.3.1 (#28229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-05 12:57:16 +00: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
71e5a16eba Remove triple subject call in api/v1/lists spec (#28210) 2023-12-04 15:28:19 +00:00
Matt Jankowski
cca19f5fbb Use the Admin::ActionLog fabricator in admin/action_logs spec (#28194) 2023-12-04 12:56:28 +00:00
Claire
9fcf5d4192 [Glitch] Fix emoji picker button scrolling with textarea content in single-column view (#2501)
Port bbea052935 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-04 13:30:27 +01:00
Essem
a46b6af1d6 Fix constant redirects to onboarding page (#2505) 2023-12-04 13:30:17 +01:00
Matt Jankowski
b3b009e6aa Add spec coverage for CLI::EmailDomainBlocks commands (#28181) 2023-12-04 09:44:54 +00:00
renovate[bot]
829457212e Update dependency rubocop to v1.58.0 (#28170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 09:38:49 +00:00
Claire
a2bcfeb887 Fix Style/HashEachMethods cop in HAML files (#28178) 2023-12-04 09:09:43 +00:00
Matt Jankowski
9603198982 Add spec coverage for CLI::Domains#purge command (#28179) 2023-12-04 09:09:05 +00:00
Matt Jankowski
1bf2230fd1 Add spec coverage for CLI::Upgrade#storage_schema command (#28180) 2023-12-04 09:08:47 +00:00
Matt Jankowski
19ad51253d Prevent triple-subject run in admin/domain_blocks spec (#28195) 2023-12-04 09:02:40 +00:00
renovate[bot]
154fb95e44 Update dependency postcss to v8.4.32 (#28185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:52:53 +00:00
Matt Jankowski
d848d8d87c Add helper methods for domains allow and export blocks files (#28196) 2023-12-04 08:52:21 +00:00
renovate[bot]
3ec263bf15 Update dependency irb to v1.10.0 (#28198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:51:08 +00:00
renovate[bot]
b4fef6c26f Update DefinitelyTyped types (non-major) (#28199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:50:43 +00:00
renovate[bot]
0ca7a50e96 Update devDependencies (non-major) (#28200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:50:28 +00:00
Claire
23ee393fdd Merge pull request #2499 from ClearlyClaire/glitch-soc/port-toasts
Port upstream's toast changes
2023-12-03 20:57:42 +01:00
Claire
13902903d3 Merge pull request #2497 from ClearlyClaire/glitch-soc/ports/account_notes-typescript
Port upstream's TypeScript refactor of account_notes
2023-12-03 20:57:23 +01:00
Eugen Rochko
cede2f533c [Glitch] Fix toast saying "published" instead of "saved" after editing post in web UI
Port 71641766f2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 19:39:08 +01:00
Renaud Chaput
9ac73a1fbf [Glitch] Change eslint config to autofix missing comma and indentation in JS files
Partial port of 774e1189d2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 16:44:40 +01:00
Christian Schmidt
ea004108b8 [Glitch] Make notification respect reduce-motion
Port 6d0767558a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 16:38:41 +01:00
Stanislas Signoud
811b8b200e [Glitch] Use invariant colors on notification toasts
Port ca955ada0b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 16:38:41 +01:00
Eugen Rochko
3bbe39f233 [Glitch] Add toast with option to open post after publishing in web UI
Port a7ca33ad96 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 16:38:41 +01:00
Claire
046cb408b7 [Glitch] Fix front-end bug when processing relationship-related account actions
Port 287520453c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 13:19:10 +01:00
Renaud Chaput
c3a0d5aca3 [Glitch] Fix Redux types
Port 0712cc2b99 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 13:19:10 +01:00
Renaud Chaput
6fb5fafd28 [Glitch] Convert actions/account_notes into Typescript
Port bd06c13204 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 13:19:10 +01:00
Claire
c82d4cfb71 Merge pull request #2493 from ClearlyClaire/glitch-soc/even-more-painful-backports
Port onboarding changes from upstream
2023-12-03 13:18:50 +01:00
Claire
ee58f680e8 [Glitch] Fix autocomplete suggestions being cut off in compose form
Port 6833732852 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Claire
6269a5336f [Glitch] Change composer highlight border size to be more noticeable
Port aa4c9730f6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Claire
204fe83fcc [Glitch] Fix compose textarea scroll behavior
Port 746979f75d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Claire
a8f6a5b40f Update translation strings 2023-12-03 11:23:12 +01:00
Claire
786b42e2b5 Fix SCSS and JS linting issues 2023-12-03 11:23:12 +01:00
Claire
a0943b8f6d Remove glitch-soc's old onboarding modal 2023-12-03 11:23:12 +01:00
Renaud Chaput
6dc812dd51 [Glitch] Upgrade to react-router v5 in onboarding code
Port 1b70d7ed7c to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Eugen Rochko
06e819537b [Glitch] Change labels and styles on the onboarding screen in web UI
Port a985d587e1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Eugen Rochko
d5bad93460 [Glitch] Change "Follow 7 people" to "Find at least 7 people to follow" in web UI
Port 4a5464f360 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
たいち ひ
c2c25122e8 [Glitch] Rewrite <Check /> as FC
Port 6fdbee240c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Renaud Chaput
a1667ba796 [Glitch] Upgrade react-intl usage in onboarding code
Port remaining of 44cd88adc4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Claire
e47c582283 Fix import order 2023-12-03 11:23:12 +01:00
Renaud Chaput
ba4c8a9b41 [Glitch] Use the new JSX transform in onboarding code
Port the remaining of 8f66126b10 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Steven Munn
6e4497ab2d [Glitch] Fix spelling of "Lets" on the onboarding page after clicking the confirmation email
Port 52d36f0f98 to glitch-soc

Co-authored-by: Steven Munn <stevenjmunn@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Emelia Smith
1cb8df655b [Glitch] Fix Onboarding Errors
Port b8a2430642 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Renaud Chaput
0b1556b7f7 [Glitch] Enforce stricter rules for Typescript files
Port c8181eb0a4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Eugen Rochko
542f2fb1e0 [Glitch] Add default post text to onboarding flow in web UI
Port 8979b70975 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Eugen Rochko
e0b401e295 [Glitch] Add more tips to onboarding flow in web UI
Port c35e3cb6ac to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Eugen Rochko
4537b4b961 [Glitch] Add new onboarding flow to web UI
Port 0461f83320 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-03 11:23:12 +01:00
Claire
335cfab32f Change account note design to match upstream's (#2495) 2023-12-03 11:22:38 +01:00
Claire
046141d2a4 Fix i18n unused check being tripped by no in YAML files (#2496) 2023-12-03 11:21:34 +01:00
Claire
f1241b4a3a Fix translation string for status.favourite not having been changed everywhere (#2494) 2023-12-03 09:51:29 +01:00
Claire
edd96ce786 Merge pull request #2492 from ClearlyClaire/glitch-soc/painful-backports
Port account rows design change from upstream
2023-12-03 09:51:07 +01:00
Claire
21df2a68ac Hide followers count when hidden by instance or user 2023-12-02 17:38:07 +01:00
Claire
09062d393f Fix more styling issues 2023-12-02 17:38:07 +01:00
Claire
28d4f3ab70 Fix account component styling wrt. upstream 2023-12-02 17:05:54 +01:00
fusagiko / takayamaki
dc917cfcdf [Glitch] Fix account.jsx imports (#25541)
Port remaining part of e0d230fb37,
20e85c0e83 and
9d45a444f9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Eugen Rochko
17372a3ec0 [Glitch] Change labels and styles on the onboarding screen in Account component
Partial port of a985d587e1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Eugen Rochko
0421b44f22 [Glitch] Change follow button in account row to be more obvious in web UI (#24956)
Port 0ddc895282 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Claire
f1691eca55 [Glitch] Fix overflow behavior of account rows
Port 5fae2de454 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Renaud Chaput
98a7b95058 [Glitch] Update inconsistent defaultMessage in Account component
Partial port of e58c36d308 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Claire
b047b981cd [Glitch] Enforce import order with ESLint
Port d27216dc46 to glitch-soc
2023-12-02 16:59:40 +01:00
Emelia Smith
b8cbaba283 [Glitch] Split EmptyAccount out of Account component
Partial port of b8a2430642 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Claire
32ec0d2472 [Glitch] Fix verified badge in account lists potentially including rel="me" links
Port 55e7c08a83 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Renaud Chaput
e7ec2641a0 [Glitch] Fix linting issues with VerifiedBadge component
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
fusagiko / takayamaki
2efb22f455 [Glitch] Rewrite VerifiedBadge component as function component
Port 140aa6b054 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Eugen Rochko
00db5c8ade [Glitch] Split VerifiedBadge from Account component
Partial port of 0461f83320 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Eugen Rochko
e0aba64a64 [Glitch] Fix regressions from change in account row design in web UI
Port 46483ae849

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Eugen Rochko
a262f990f8 Change design of account rows in web UI (#24247)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-12-02 16:59:40 +01:00
Claire
73a94c3b3f Fix self-destruct page not using theme styles (#2490) 2023-12-02 14:54:35 +01:00
Plastikmensch
5b0382abc5 Remove redundant asset preload (#2488)
* Remove redundant asset preload

preloading these is already handled by glitch-soc theming system, meaning glitch packs get preloaded and if the user is signed in, vanilla packs.

The theming system preloads these unconditionally though.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>

* Remove preload of getting started

This matches upstreams preloads

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>

---------

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-12-02 14:54:26 +01:00
renovate[bot]
456597dae5 Update dependency doorkeeper to v5.6.8 (#28177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 16:22:15 +00:00
Matt Jankowski
469ee2ae36 Fix Style/HashEachMethods cop (#28173) 2023-12-01 16:07:19 +00:00
Matt Jankowski
3bc437b99a Fix Style/RedundantParentheses cop (#28176) 2023-12-01 16:00:44 +00:00
Matt Jankowski
5631f139c1 Fix Lint/SymbolConversion cop (#28175) 2023-12-01 15:53:35 +00:00
Matt Jankowski
aa8563d43d Fix Style/SuperWithArgsParentheses cop (#28174) 2023-12-01 15:53:15 +00:00
Matt Jankowski
d83d01eb1e Fix Lint/RedundantSafeNavigation cop (#28172) 2023-12-01 15:52:56 +00:00
Matt Jankowski
a98fccf84e Fix Style/SelfAssignment cop (#28171) 2023-12-01 15:52:52 +00:00
Matt Jankowski
f70f39dd04 Add explicit dependent: nil to associations (#28169) 2023-12-01 15:52:47 +00:00
Matt Jankowski
1564799952 Add spec coverage for media CLI refresh command (#28166) 2023-12-01 14:18:45 +00:00
Matt Jankowski
7753e5f715 Add shared example for CLI command specs (#28165) 2023-12-01 12:00:34 +00:00
Matt Jankowski
92fa9b109f Add spec coverage for media CLI usage command (#28167) 2023-12-01 11:56:47 +00:00
Michael Stanclift
272592d16d Change startup command for Puma in Docker Compose (#28138) 2023-12-01 11:06:37 +00:00
Matt Jankowski
440b80b2e7 Model concerns organization into module namespaces (#28149) 2023-12-01 11:00:41 +00:00
Matt Jankowski
b751078fcd Eliminate double subject call in admin/ controller specs (#28158) 2023-12-01 10:38:15 +00:00
Michael Stanclift
8710bdb183 Fix mastodon user not being owner of tmp folder in Dockerfile (#28137) 2023-11-30 16:11:21 +00:00
Claire
963354978a Add Account#unavailable? and Account#permanently_unavailable? aliases (#28053) 2023-11-30 15:43:26 +00:00
Matt Jankowski
35deaaf90b Reduce AbcSize complexity in InitialStateSerializer (#27782) 2023-11-30 15:41:26 +00:00
Matt Jankowski
1f1c75bba5 File cleanup/organization in controllers/concerns (#27846) 2023-11-30 14:39:41 +00:00
Matt Jankowski
0530ce5e95 Convert accounts controller spec to request spec (#28126) 2023-11-30 14:28:05 +00:00
Matt Jankowski
e7c340a634 Spec coverage for missing q param and error conditions in api/v2/search controller (#27842) 2023-11-30 13:59:46 +00:00
Matt Jankowski
a8473f582d Add zeitwerk inflector for cli->CLI (#27635) 2023-11-30 13:55:20 +00:00
Claire
b20af17a2c Fix onboarding step descriptions being truncated on narrow screens (#28021) 2023-11-30 13:47:07 +00:00
Claire
85662a5a57 Change img-src and media-src CSP directives to not include https: (#28025) 2023-11-30 13:47:01 +00:00
Matt Jankowski
bb0efe16e6 Remove default_scope from MediaAttachment class (#28043) 2023-11-30 13:30:35 +00:00
renovate[bot]
02a98210e8 fix(deps): update dependency jsdom to v23.0.1 (#28135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 13:22:40 +00:00
renovate[bot]
0212e0cfbf fix(deps): update dependency @babel/runtime to v7.23.5 (#28136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 13:22:25 +00:00
Claire
7faa27e17d Change dismissed banners to be stored server-side (#27055) 2023-11-30 11:45:54 +00:00
Matt Jankowski
ce78a9c9ac Clean up two_factor_authentication/confirmations controller spec (#28128) 2023-11-30 11:44:42 +00:00
Filippo Giunchedi
e6fd9a59e6 Fix FamiliarFollowersController test response comparison (#28121)
Co-authored-by: Filippo Giunchedi <filippo@debian.org>
2023-11-30 10:58:40 +00:00
renovate[bot]
c761cc4738 fix(deps): update babel monorepo to v7.23.5 (#28122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 10:53:49 +00:00
Matt Jankowski
b696ca6b1a Move self destruct CLI command definition code to module (#28131) 2023-11-30 10:48:46 +00:00
Filippo Giunchedi
6e55ff9643 Change Vagrant to install Node 20 (#28100)
Co-authored-by: Filippo Giunchedi <filippo@debian.org>
2023-11-30 10:46:06 +00:00
Matt Jankowski
e48ecd2929 Remove default_scope from Admin::ActionLog (#28026) 2023-11-29 10:39:59 +00:00
Matt Jankowski
291dc04e67 Remove un-needed action and template options to render in controllers (#28022) 2023-11-29 10:38:05 +00:00
Matt Jankowski
a1636fce7f Move lib/devise/* to lib/devise/strategies/* (#27638) 2023-11-29 10:10:21 +00:00
Matt Jankowski
31bef99b9e Move lib/mastodon/premailer_webpack_strategy to lib/ (#27636) 2023-11-29 10:08:55 +00:00
Matt Jankowski
72b7cd349c Extract helper methods for form label in admin/ area views (#27575) 2023-11-29 10:06:19 +00:00
Matt Jankowski
9b47c5d53c Extract helper methods for labels from filters/_filter_fields (#27574) 2023-11-29 10:02:59 +00:00
Matt Jankowski
186895fc88 Refactor, lint fix, and bug fix on admin/roles/form partial (#27558) 2023-11-29 10:00:52 +00:00
renovate[bot]
3e1e41054b chore(deps): update dependency pghero to v3.4.0 (#28117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 09:00:07 +00:00
Emelia Smith
603b245cc6 Add VAPID public key to instance serializer (#28006)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-11-29 08:34:36 +00:00
Michael Stanclift
c40cfc5d09 Fix apt cache not being properly utilized in Dockerfile (#28115) 2023-11-28 22:23:44 +00:00
Michael Stanclift
7a3b41eb54 Fix incorrect apt-get install block in Dockerfile (#28112) 2023-11-28 20:44:04 +00:00
Matt Jankowski
6b46bf9953 Handle scenario when webfinger response subject is missing host value (#28088) 2023-11-28 18:37:54 +00:00
Matt Jankowski
b9492d84a0 Update bcrypt to version 3.1.20 (#28084) 2023-11-28 18:36:21 +00:00
Matt Jankowski
b45fe15c06 Update temple to version 0.10.3 (#28086) 2023-11-28 18:36:16 +00:00
Josh Goldberg ✨
3a7f10c3f1 Converted hashtag.jsx to TypeScript (#27872)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-11-28 18:20:10 +00:00
Josh Goldberg ✨
1142f4c79e Converted app/javascript/mastodon/utils/ folder to TypeScript (#27895) 2023-11-28 17:47:55 +00:00
Renaud Chaput
cdc7894243 Fix devcontainer by not forcing NODE_ENV (#28099) 2023-11-28 14:47:32 +00:00
Emelia Smith
a4de0e364b Refactor streaming to simplify for logging change (#28056) 2023-11-28 14:24:41 +00:00
Emelia Smith
4949b6da58 Fix streaming eslint configuration (#28055) 2023-11-28 14:09:21 +00:00
Michael Stanclift
a80530d1df Dockerfile rewrite based on Ruby image with performance optimizations and size reduction, dedicated Streaming image (#26850)
Co-authored-by: “Michael <“mx@vmstan.com>
Co-authored-by: Emelia Smith <ThisIsMissEm@users.noreply.github.com>
2023-11-28 10:04:40 +00:00
Renaud Chaput
8ebc94dd22 Ignore @svgr/webpack updates as they require a Webpacker upgrade (#28098) 2023-11-28 10:03:32 +00:00
Matt Jankowski
baf3b71e3b Extract path_without_format private methd in accounts controller (#28091) 2023-11-28 09:17:26 +00:00
renovate[bot]
c824d98cec chore(deps): update dependency fabrication to v2.31.0 (#28089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 09:17:00 +00:00
github-actions[bot]
af02484714 New Crowdin Translations (automated) (#28096)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-28 08:59:48 +00:00
Matt Jankowski
9072896ae5 Avoid unnecessary i-var for account rss page url generation (#28092) 2023-11-28 08:19:08 +00:00
Matt Jankowski
dfc7154767 Remove unused cached_filtered_status_page method from accounts controller (#28090) 2023-11-28 07:43:16 +00:00
Matt Jankowski
2d536bb05f Use admin_mailer layout with initial salutation (#28085) 2023-11-28 07:41:26 +00:00
6543
10b879bd5e nodeinfo: add instance name and description (#28079) 2023-11-28 00:51:22 +00:00
Claire
f1657e6d62 Clamp dates when serializing to Elasticsearch API (#28081) 2023-11-27 13:25:54 +00:00
renovate[bot]
7b56085f11 Update dependency typescript to v5.3.2 (#28078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 12:55:29 +00:00
Matt Jankowski
9b8ba9b350 Remove unused plain_mailer layout (#28065) 2023-11-27 10:40:03 +00:00
renovate[bot]
b8fe77353e Update dependency aws-sdk-s3 to v1.140.0 (#28080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 10:07:14 +00:00
renovate[bot]
228b668446 Update DefinitelyTyped types (non-major) (#28077)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 10:07:01 +00:00
June
97e677f993 Fix not all legal images showing in file picker when uploading custom emoji (#28076) 2023-11-27 10:06:48 +00:00
renovate[bot]
73ab080608 Update dependency jsdom to v23 (#28075)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 10:06:40 +00:00
github-actions[bot]
fad9343bab New Crowdin Translations (automated) (#28069)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-27 10:06:35 +00:00
Claire
660372d130 Revert recent CSP changes (#2485)
* 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.
2023-11-26 15:32:35 +01:00
Jeong Arm
b3581d1e2f Fix @rails/ujs import on public.jsx (#2482)
Related: 8a131fb7bc
2023-11-24 17:40:31 +01:00
github-actions[bot]
8521238677 New Crowdin Translations (automated) (#28060)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-24 10:25:39 +00:00
Claire
3a24754229 Change GIF max matrix size error to explicitly mention GIF files (#27927) 2023-11-24 09:31:28 +00:00
Claire
6e70819840 Change search popout to not list unusable search options when logged out (#27918) 2023-11-24 09:27:54 +00:00
Matt Jankowski
19baf22683 Add missing email previews for AdminMailer (#28044) 2023-11-23 12:32:50 +00:00
renovate[bot]
bf7e8e81de Update dependency doorkeeper to v5.6.7 (#28051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-23 10:37:05 +00:00
renovate[bot]
1ee3314f58 Update dependency @types/npmlog to v7 (#28048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-23 10:28:52 +00:00
Kevin Bongart
7877fcd83c Deduplicate IDs in relationships and familiar_followers APIs (#27982) 2023-11-23 10:00:09 +00:00
Matt Jankowski
973597c6f1 Consolidate configuration of Sidekiq::Testing.fake! setup (#28046) 2023-11-23 09:43:43 +00:00
github-actions[bot]
c810b197ad New Crowdin Translations (automated) (#28050)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-23 09:34:50 +00:00
Matt Jankowski
4be12791e6 Remove default_scope from StatusEdit class (#28042) 2023-11-23 09:26:11 +00:00
renovate[bot]
990c63b440 Update dependency aws-sdk-s3 to v1.139.0 (#28047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-23 09:24:48 +00:00
github-actions[bot]
d3ed03fd6b New Crowdin Translations (automated) (#28036)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-22 15:48:12 +00:00
Matt Jankowski
9742bccbe7 Add coverage for api/v2/media endpoint (#28027) 2023-11-22 15:39:34 +00:00
renovate[bot]
183afc2465 Update dependency aws-sdk-s3 to v1.138.0 (#28031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-22 15:28:14 +00:00
renovate[bot]
c3d3ada07b Update dependency test-prof to v1.3.0 (#28032)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-22 15:27:54 +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
Emelia Smith
c9ffdcbaa2 Add debug + irb gems to assist with debugging in development and tests (#27960) 2023-11-21 16:41:04 +00:00
Claire
a21fe8687e Merge pull request #2480 from ClearlyClaire/glitch-soc/fixes/csp
Fix image and media loading when using external storage server
2023-11-21 17:36:09 +01:00
Matt Jankowski
67fd3187b3 Update rspec fixture path config to silence deprecation warning (#28018) 2023-11-21 15:51:40 +00:00
Matt Jankowski
30ee4aaff4 Convert measurement api/v1/admin/* controller specs to request specs (#28005) 2023-11-21 14:25:07 +00:00
renovate[bot]
f91e751383 Update dependency rspec-rails to v6.1.0 (#28017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 13:23:23 +00:00
Matt Jankowski
32e19e3af6 Reduce .times usage in request and controller specs (#27949) 2023-11-21 13:05:59 +00:00
Matt Jankowski
f7cb64a184 Add coverage for settings/privacy controller (#28000) 2023-11-21 13:02:37 +00:00
Claire
6cfa0245ca Fix image and media loading when using external storage server
Fixes #2479
2023-11-21 13:45:29 +01:00
Claire
32319187ee Fix error when muting users from Web UI (#28016) 2023-11-21 11:16:16 +00:00
renovate[bot]
c836e71218 Update dependency aws-sdk-s3 to v1.137.0 (#27961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 11:05:41 +00:00
Matt Jankowski
b2e8af8889 Add coverage for settings/verifications controller (#28001) 2023-11-21 11:00:22 +00:00
Matt Jankowski
6d51ac246b Update partials for the AdminMailer.new_trends mailer (#28011) 2023-11-21 10:52:20 +00:00
github-actions[bot]
3c3e0c25ef New Crowdin Translations (automated) (#28015)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-21 10:35:02 +00:00
Matt Jankowski
a6d446e6a7 Add coverage for remote_interaction_helper (#28002) 2023-11-21 10:28:55 +00:00
renovate[bot]
e1bb79718b Update babel monorepo to v7.23.4 (#28004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 10:20:23 +00:00
Claire
769ab0ce47 Merge pull request #2475 from ClearlyClaire/glitch-soc/cleanup
Further reduce differences with upstream
2023-11-20 13:39:56 +01:00
Claire
f00fcda785 Reduce differences with upstream in Account component 2023-11-20 13:24:02 +01:00
Claire
9ab1aa15e9 Change ReplyIndicator implementation and markup to match upstream's 2023-11-20 13:24:02 +01:00
Claire
d59196e170 Change glitch-soc's CSP config to match upstream's closer (#2474) 2023-11-20 13:02:49 +01:00
Matt Jankowski
876f5b1d12 Convert /instances/* controller specs to request specs (#27988)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-20 11:05:28 +00:00
Matt Jankowski
718c95e7af Convert api/v1/custom_emojis controller spec to request spec (#27985)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-20 11:05:24 +00:00
Claire
c260a68f54 Clean up some Mastodon::CLI::Accounts tests (#27473) 2023-11-20 10:46:02 +00:00
renovate[bot]
18cb1f9196 Update actions/setup-node action to v4 (#27996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 10:17:13 +00:00
Matt Jankowski
17582d36d5 Convert api/v1/preferences controller spec to request spec (#27987) 2023-11-20 09:39:45 +00:00
Matt Jankowski
9a01a260a0 Convert api/v1/scheduled_statuses controller spec to request spec (#27986) 2023-11-20 09:36:49 +00:00
Matt Jankowski
b9fb47aeb1 Convert api/v1/endorsements controller spec to request spec (#27984) 2023-11-20 09:32:28 +00:00
renovate[bot]
3a8dc9a5c6 Update dependency nokogiri to v1.15.5 (#27939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 09:29:46 +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
1fabf20a88 Reduce .times usage in lib/mastodon/cli/accounts spec (#27944) 2023-11-20 09:04:46 +00:00
renovate[bot]
12c22ee5e7 Update eslint (non-major) (#27995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:53:14 +00:00
renovate[bot]
6464b7cc45 Update dependency public_suffix to v5.0.4 (#27931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:50:00 +00:00
Matt Jankowski
09a2db3f6c Move api/v2/filters spec to correct path location (#27950) 2023-11-20 08:48:56 +00:00
github-actions[bot]
8ceae2bce6 New Crowdin Translations (automated) (#27966)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-20 08:47:34 +00:00
renovate[bot]
135c4d8250 Update dependency rubocop-rails to v2.22.2 (#27975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:46:18 +00:00
renovate[bot]
d75c7ac5a8 Update dependency core-js to v3.33.3 (#27980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:46:00 +00:00
renovate[bot]
6d60b936ad Update devDependencies (non-major) (#27992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:44:36 +00:00
Claire
c34a3a83e1 Merge pull request #2471 from ClearlyClaire/glitch-soc/cleanup
Clean up some more and reduce unwarranted differences with upstream further
2023-11-19 21:05:34 +01:00
Tim Campbell
60f143e41f Fixed yarn not installing node packages for streaming (#27967) 2023-11-18 10:14:51 +00:00
Matt Jankowski
e892efbc40 Configure elastic search integration with rspec tag (#27882) 2023-11-17 11:52:20 +00:00
Claire
297839c10c Rewrite /api/v1/statuses tests as request specs (#27891) 2023-11-17 11:36:04 +00:00
Claire
9257737675 Rewrite /api/v1/accounts tests as request specs (#27888) 2023-11-17 11:34:49 +00:00
Eugen Rochko
0e9801443f Change to single opt-in during profile setup in onboarding in web UI (#27876) 2023-11-17 10:37:04 +00:00
Matt Jankowski
549e8e7baf Add email_spec and speedup/cleanup to spec/mailers (#27902) 2023-11-17 09:50:19 +00:00
github-actions[bot]
9c68741f46 New Crowdin Translations (automated) (#27914)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-17 09:16:12 +00:00
Matt Jankowski
1526e54ac6 Add spec coverage for workers/redownload_* worker classes (#27892) 2023-11-17 09:03:46 +00:00
renovate[bot]
6c2e78f1b1 Update dependency @material-symbols/svg-600 to v0.14.1 (#27907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 08:56:39 +00:00
renovate[bot]
94178e2f68 Update dependency react-redux-loading-bar to v5.0.5 (#27916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 08:56:23 +00:00
Claire
d3ae5b21d2 Reduce code and markup discrepancies on reply indicator 2023-11-16 18:33:16 +01:00
Claire
e023acfd00 Remove unnecessary proptype discrepancy 2023-11-16 17:57:13 +01:00
Claire
7f5b164326 Merge pull request #2470 from ClearlyClaire/glitch-soc/cleanup
Clean up some more and reduce unwarranted differences with upstream further
2023-11-16 17:49:36 +01:00
Matt Jankowski
cb1a4a8713 Reduce expectations for RSpec/MultipleExpectations cop in spec/presenters specs (#27881) 2023-11-16 14:37:52 +00:00
Matt Jankowski
155fb84141 Improve spec coverage for collection of workers/ classes (#27874) 2023-11-16 14:36:59 +00:00
Claire
0a6ec048a8 Fix upper border radius of onboarding columns (#27890) 2023-11-16 13:43:02 +00:00
Claire
c94bedf4e6 Use container queries to hide profile share button (#27889) 2023-11-16 11:59:45 +00:00
Eugen Rochko
87696ea26e Add prominent share/copy button on profiles in web UI (#27865) 2023-11-16 10:23:14 +00:00
github-actions[bot]
7232d4750d New Crowdin Translations (automated) (#27884)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-16 10:08:22 +00:00
Matt Jankowski
8a285413f7 Reduce expectations for RSpec/MultipleExpectations cop in MoveWorker spec (#27880) 2023-11-16 10:03:51 +00:00
Matt Jankowski
3f0c1566c3 Reduce expectations for RSpec/MultipleExpectations cop in api/v1/accounts/relationships spec (#27879) 2023-11-16 09:55:50 +00:00
Matt Jankowski
c1f93def40 Reduce expectations for RSpec/MultipleExpectations cop in controllers/statuses spec (#27875) 2023-11-16 09:54:51 +00:00
renovate[bot]
669a7157cb Update dependency webpack-bundle-analyzer to v4.10.1 (#27885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 09:52:23 +00:00
renovate[bot]
91a05f3cad Update libretranslate/libretranslate Docker tag to v1.5.2 (#27716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 09:33:54 +00:00
Matt Jankowski
04121bd020 Disable simplecov enable_coverage_for_eval option, move to standalone file (#27869) 2023-11-15 23:09:31 +00:00
Claire
36f25ea067 Fix more import discrepancies 2023-11-15 22:50:23 +01:00
Claire
4101057b9a Fix various code discrepancies 2023-11-15 22:50:23 +01:00
Claire
09a5a78527 Fix discrepancy for autosuggest-emoji class 2023-11-15 22:50:23 +01:00
Claire
f69f1e9429 Fix code discrepancies with upstream 2023-11-15 21:52:19 +01:00
Claire
d358a3cc61 Merge pull request #2468 from ClearlyClaire/glitch-soc/cleanup
Clean up some more and reduce unwarranted differences with upstream further
2023-11-15 21:49:50 +01:00
Claire
61df4f9cbf Merge pull request #2469 from ClearlyClaire/glitch-soc/fixes/compose-form-checkbox
[Glitch] Change compose form checkbox to native input with `appearance: none`
2023-11-15 20:27:37 +01:00
Matt Jankowski
3de9145613 Move controller specs for well-known endpoints to request specs (#27855) 2023-11-15 19:12:02 +00:00
Claire
0d877a3076 [Glitch] Change compose form checkbox to native input with appearance: none
Port d3b4d4d4f3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 17:20:44 +01:00
Claire
e7b3598f04 No need to have a separate localStorage key for home instance 2023-11-15 17:16:21 +01:00
Claire
0c727a6790 Fix more import style discrepancies 2023-11-15 17:16:21 +01:00
Claire
50eb673494 Fix some markup discrepancies 2023-11-15 17:16:21 +01:00
Claire
349579e318 Fix more code discrepancies 2023-11-15 17:16:21 +01:00
Claire
1023c2f90b Fix more whitespace and comment discrepancies 2023-11-15 17:16:21 +01:00
Claire
7e5d00720b Merge pull request #2391 from ClearlyClaire/glitch-soc/port-upstream-hashtags
Port upstream's hashtag handling to glitch-soc
2023-11-15 17:15:21 +01:00
Claire
7a877ae3d8 Merge pull request #2467 from ClearlyClaire/glitch-soc/cleanup
Misc cleanup and backports
2023-11-15 17:14:14 +01:00
Claire
bd575a1dd6 Add banner for forwarded reports made by remote users about remote content (#27549) 2023-11-15 14:18:43 +00:00
Matt Jankowski
12a5b7391d Add spec for well known change password endpoint (#27856) 2023-11-15 13:21:18 +00:00
Matt Jankowski
fe58ac8d9f Improve spec coverage for api/web/push_subscriptions controller (#27858)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 13:14:51 +00:00
Claire
cd3a636b7f [Glitch] Fix some remote posts getting truncated
Port 4d59dfb1c6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:59:06 +01:00
Eugen Rochko
6a8623588a [Glitch] Fix colors and typography on hashtag bar in web UI
Port 10b06436d1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:56:58 +01:00
Claire
c226d00490 Fix interaction between CWs and hashtag bars 2023-11-15 12:56:58 +01:00
Claire
7ae45676c8 Fix hashtag bar styling 2023-11-15 12:56:58 +01:00
Claire
45690b01d1 [Glitch] Change hashtag bar tags to be de-emphasized
Port 613cfd625c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:56:58 +01:00
Renaud Chaput
fc514fa8c6 [Glitch] Better hashtag normalization when processing a post
Port 58acaa9ae6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:56:58 +01:00
Renaud Chaput
18462ee4b6 [Glitch] Remove hashtags from the last line of a status if it only contains hashtags
Port 061fd66ee6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:56:58 +01:00
Claire
2ce03420d6 [Glitch] Fix case-insensitive comparison of hashtags to do case-folding
Port 3ed2bf92d0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:56:58 +01:00
Claire
fe8d9f6221 [Glitch] Fix hashtag bar sometimes including tags that appear in the post's body
Port f0862bcf98

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:56:58 +01:00
Claire
a81ed84453 [Glitch] Add display of out-of-band hashtags in the web interface
Port df6e719898 to glitch-soc

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:56:58 +01:00
Claire
3b210e093a Fix more code style discrepancies 2023-11-15 12:53:21 +01:00
Claire
542d95c2bc Fix import style discrepancy 2023-11-15 12:53:21 +01:00
Claire
8b24a9a507 Fix missed relative import discrepancy 2023-11-15 12:53:21 +01:00
Claire
b1f0457cb8 Fix whitespace and comment discrepancies 2023-11-15 12:53:21 +01:00
Eugen Rochko
08ac91c40b [Glitch] Fix follow relationships not loading after notifications fetch
Port 4f7f6b3922 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:53:21 +01:00
Eugen Rochko
103c0ca4f7 [Glitch] Hide loading bar on status interactions
Port eb2425b53b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 12:53:21 +01:00
Claire
21653beb30 Reduce more unwarranted differences with upstream 2023-11-15 12:53:21 +01:00
Claire
7b922c2d90 Reduce unwarranted differences with upstream
Ports part of 0758b00bfd and 897199910f
2023-11-15 12:53:21 +01:00
Claire
2f61b65b1e Remove dead code 2023-11-15 12:53:11 +01:00
Claire
9bbb0f13e0 Fix inconsistent React imports in JSX files (#2466) 2023-11-15 12:52:30 +01:00
Eugen Rochko
d67bd44ca1 Add profile setup to onboarding in web UI (#27829) 2023-11-15 11:13:53 +00:00
Claire
a97b722ad5 Reduce differences with upstream due to import style (#2465)
Fix relative / VS absolute style imports, and fix whitespace discrepancies
2023-11-15 12:01:51 +01:00
github-actions[bot]
d8074128f9 New Crowdin Translations (automated) (#27866)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-15 09:41:24 +00:00
Jeong Arm
922f086253 Fix open status on media modal (#27867) 2023-11-15 09:29:10 +00:00
renovate[bot]
5d75799afa Update dependency axios to v1.6.2 (#27861)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 09:21:25 +00:00
Renaud Chaput
b6f29106ea Improve codecov config (#27860) 2023-11-15 09:20:24 +00:00
Matt Jankowski
7c72944661 Use Lcov simplecov formatter on CI and HTML elsewhere (#27859) 2023-11-15 09:11:02 +00:00
Claire
f7d3b74e03 Merge pull request #2389 from glitch-soc/i18n/crowdin/translations
New Crowdin Translations (automated)
2023-11-15 09:42:30 +01:00
Claire
02582f7e50 Merge pull request #2464 from neatchee/pr/glitch/mobile_singlecolumn_warning_fix
Fix recurring "switch to advanced interface" warning by adding missing…
2023-11-15 07:21:16 +01:00
renovate[bot]
998f068499 Update Yarn to v4.0.2 (#27857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 17:52:34 +00:00
Emelia Smith
15b2d7eec5 Split streaming server from web server (#24702) 2023-11-14 17:43:20 +00:00
Nick Schonning
36d7d1781f Add CodeCov for Ruby coverage reports (#23868) 2023-11-14 16:53:38 +00:00
renovate[bot]
35b9749b95 Update dependency webpack-bundle-analyzer to v4.10.0 (#27852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 16:53:15 +00:00
ppnplus
2b038b4f89 Added Thai diacritics and tone marks in HASHTAG_INVALID_CHARS_RE (#26576) 2023-11-14 15:33:59 +00:00
Matt Jankowski
7e1a77ea51 Add base class for api/v1/timelines/* controllers (#27840) 2023-11-14 14:53:31 +00:00
Matt Jankowski
b2c5b20ef2 Fix RSpec/AnyInstance cop (#27810) 2023-11-14 14:52:59 +00:00
Matt Jankowski
d562fb8459 Specs for minimal CSP policy in Api:: controllers (#27845) 2023-11-14 14:34:30 +00:00
renovate[bot]
4eb4e8b22c Update Yarn to v4.0.2 (#27851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 11:07:13 +00:00
github-actions[bot]
c1e071f634 New Crowdin Translations (automated) (#27848)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-14 10:53:47 +00:00
Matt Jankowski
1f8173ac5a Extract private methods in api/v1/instances/domain_blocks (#27844) 2023-11-14 10:31:59 +00:00
renovate[bot]
373aa95ddd Update formatjs monorepo (#27849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 10:30:39 +00:00
Matt Jankowski
5e2ecc736d Remove double subject in api/v1/accounts/relationships spec (#27839) 2023-11-14 10:29:33 +00:00
Brian Holley
4aa06cbdbf Fix "Hide these posts from home" list setting not refreshing when switching lists (#27763) 2023-11-14 00:39:54 +00:00
Matt Jankowski
b7807f3d84 Use normalizes to prepare Webhook#events value (#27605) 2023-11-13 22:47:44 +00:00
neatchee
bd6da814b5 Fix recurring "switch to advanced interface" warning by adding missing class to the navigation-panel__banner element 2023-11-13 13:20:51 -08:00
Claire
bac9e0b55d Add variable delay before link verification of remote account links (#27774) 2023-11-13 16:17:05 +00:00
Matt Jankowski
49ba5a9f94 Use hash_including to check AccountFilter setup in admin/accounts controller spec (#27838) 2023-11-13 16:01:24 +00:00
Matt Jankowski
0945e25b8f Add Api::V1::Statuses::BaseController base controller class (#27794) 2023-11-13 14:53:22 +00:00
renovate[bot]
da59407520 Update eslint (non-major) (#27831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 14:40:50 +00:00
renovate[bot]
a1b48460e4 Update DefinitelyTyped types (non-major) (#27830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 14:40:10 +00:00
Eugen Rochko
7e3c10dec6 Add icons for private and disabled boost in web UI (#27817)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-13 14:39:45 +00:00
Matt Jankowski
a36b59be8a Spec coverage for api/v1/trends controllers (#27837) 2023-11-13 14:32:36 +00:00
renovate[bot]
0c98a9d9be Update devDependencies (non-major) (#25612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 14:01:07 +00:00
pajowu
ed79713f3a Fix modal content not being selectable (#27813) 2023-11-13 13:27:50 +00:00
Claire
07a4059901 Add support for invite codes in the registration API (#27805) 2023-11-13 13:27:00 +00:00
renovate[bot]
5bca5c4c5b Update formatjs monorepo (#27823)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 13:24:14 +00:00
github-actions[bot]
e5a7b73ef4 New Crowdin Translations (automated) (#27815)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-13 13:21:02 +00:00
renovate[bot]
a7117bbef6 Update dependency @rails/ujs to v7.1.2 (#27811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 13:13:57 +00:00
renovate[bot]
3b989e4d64 Update dependency rails to v7.1.2 (#27812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 13:13:53 +00:00
Renaud Chaput
da4f37020b Fix Jest config (#27834) 2023-11-13 12:19:41 +00:00
Eugen Rochko
0d14fcebae Change link previews to keep original URL from the status (#27312) 2023-11-13 09:58:28 +00:00
GitHub Actions
46a28fc41f New Crowdin translations 2023-11-11 04:27:29 +00:00
Matt Jankowski
9dc3ce878b Speed-up in Settings:: controllers specs (#27808) 2023-11-10 15:13:42 +00:00
github-actions[bot]
ac62b995ef New Crowdin Translations (automated) (#27804)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-10 13:07:04 +00:00
Matt Jankowski
43e2f763b2 Extract crutches_active_mentions from FeedManager (#27785) 2023-11-10 12:47:38 +00:00
Matt Jankowski
ac69f90098 Add Api::V1::Instances::BaseController base controller class (#27797) 2023-11-10 12:46:00 +00:00
renovate[bot]
fba838d61a Update dependency @material-symbols/svg-600 to ^0.14.0 (#27803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 12:45:19 +00:00
Aleks Xhuvani
7840c6b75b Do not try to update an undefined video element (#27798) 2023-11-09 22:35:53 +00:00
Matt Jankowski
e79bf1b1e7 Minor speed improvement on controllers/accounts spec (#27679) 2023-11-09 16:21:11 +00:00
Matt Jankowski
9429e30d75 Disable sidekiq unique jobs in test env (#27737) 2023-11-09 16:19:04 +00:00
Claire
c451bbe249 Allow viewing and severing relationships with suspended accounts (#27667) 2023-11-09 14:50:25 +00:00
Michael Stanclift
b87bfb8c96 Fix Yarn version in devcontainer (#27788) 2023-11-09 14:30:07 +00:00
Matt Jankowski
548bb30b2a Consolidate html page title output logic into helper (#27563) 2023-11-09 13:05:57 +00:00
Claire
9b06c0f24a Fix Web UI not displaying appropriate explanation when a user hides their follows/followers (#27791) 2023-11-09 12:58:02 +00:00
Matt Jankowski
63c9102f8a Fix RSpec/MessageChain cop (#27776) 2023-11-09 12:57:23 +00:00
renovate[bot]
dec2796a4a Update dependency lint-staged to v15 (#27407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 10:16:53 +00:00
renovate[bot]
4812832620 Update dependency axios to v1.6.1 (#27773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 10:16:44 +00:00
renovate[bot]
23d88aa943 Update babel monorepo to v7.23.3 (#27789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 10:16:36 +00:00
Yamagishi Kazutoshi
220a2e8fbf Run yarn dedupe when updating with Renovate (#27786) 2023-11-09 10:15:58 +00:00
github-actions[bot]
d6c971e158 New Crowdin Translations (automated) (#27787)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-09 09:54:14 +00:00
Matt Jankowski
ce1bd81c85 Reduce complexity in StatusCacheHydrator (#27783) 2023-11-09 09:53:44 +00:00
Matt Jankowski
c9204b792c Fix Rails/I18nLocaleTexts cop (#27779) 2023-11-09 09:46:39 +00:00
Matt Jankowski
c875dfc90b Fix Lint/UnusedBlockArgument cop (#27777) 2023-11-09 09:43:26 +00:00
renovate[bot]
5af47fbff8 Update dependency fog-openstack to v1 (#25968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 09:06:57 +00:00
Matt Jankowski
69d00e2721 Fix RSpec/InstanceVariable cop (#27766) 2023-11-08 15:42:30 +00:00
Matt Jankowski
4329616c53 Ignore block result of send method and remove rubocop:disable in deepl spec (#27741) 2023-11-08 14:43:17 +00:00
Jaehong Kang
c73d5a6075 Using Sidekiq concurrency for default db pool value (#26488) 2023-11-08 13:15:43 +00:00
Matt Jankowski
13c3e59601 Use helper method to build batched status edits in admin/statuses/show (#27739) 2023-11-08 13:04:52 +00:00
Matt Jankowski
b05575e242 Move RSpec config for streaming/search managers to be near classes (#27761) 2023-11-08 13:04:17 +00:00
Matt Jankowski
ce91d14d48 Fix Style/WordArray cop (#27770) 2023-11-08 13:03:44 +00:00
Matt Jankowski
c03bd2a238 Don't stub SUT in FollowLimitValidator spec (#27760) 2023-11-08 12:49:46 +00:00
github-actions[bot]
5c328ae674 New Crowdin Translations (automated) (#27768)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-08 12:40:09 +00:00
Matt Jankowski
9b7b4d748f Simplify request cache spec shared examples (#27673) 2023-11-08 12:37:29 +00:00
Matt Jankowski
7d6bcc0615 Remove unmatched rubocop:enable declaration (#27769) 2023-11-08 12:02:09 +00:00
Matt Jankowski
33cc3ae8fa Fix Style/StabbyLambdaParentheses cop (#27771) 2023-11-08 12:01:18 +00:00
Renaud Chaput
757d7c73c0 Upgrade to Yarn 4, remove support for Node 16 (#27073) 2023-11-08 10:57:21 +00:00
Claire
23e32a4b30 Fix format-dependent redirects being cached regardless of requested format (#27632) 2023-11-08 10:31:05 +00:00
Matt Jankowski
e545978076 Use framework helpers instead of i-vars in controller specs (#27767) 2023-11-08 08:17:43 +00:00
Matt Jankowski
790f6356be Deduplicate yarn lock file (#27670) 2023-11-08 07:49:06 +00:00
João Pedro Marques
d3cd37d73e Feature - Prevents multiple audio/video attachments from being played at the same time (#24717) 2023-11-07 23:37:58 +00:00
renovate[bot]
389a6cc4c0 Update dependency net-http to '~> 0.4.0' (#27721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:07:12 +00:00
renovate[bot]
14e49e5e36 Update dependency react-select to v5.8.0 (#27722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:05:36 +00:00
renovate[bot]
565d9a6cf3 Update dependency sanitize to v6.1.0 (#27723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:05:13 +00:00
renovate[bot]
8b0d86d407 Update dependency simple_form to v5.3.0 (#27725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:04:40 +00:00
renovate[bot]
ac9f92bd73 Update formatjs monorepo (#27746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:04:25 +00:00
renovate[bot]
b36b35318a Update dependency selenium-webdriver to v4.15.0 (#27649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:03:31 +00:00
renovate[bot]
bcdfb72686 Update dependency json-ld-preloaded to v3.3.0 (#26763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:03:09 +00:00
renovate[bot]
4b8aee7ad8 Update dependency thor to v1.3.0 (#27464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:02:28 +00:00
renovate[bot]
1341790207 Update dependency sidekiq-unique-jobs to v7.1.30 (#26091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:02:04 +00:00
renovate[bot]
b2619a10a5 Update dependency json-ld to v3.3.0 (#26762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:01:09 +00:00
renovate[bot]
110ace0474 Update dependency json-schema to v4.1.1 (#26933)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:00:34 +00:00
renovate[bot]
feea257f44 Update dependency aws-sdk-s3 to v1.136.0 (#26999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:00:13 +00:00
renovate[bot]
b41e9b1d29 Update dependency strong_migrations to v1.6.4 (#27631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 21:59:35 +00:00
Jasmin Johal
27cbdc6f22 Change alt text to empty string for avatars (#21875)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-11-07 21:46:08 +00:00
Aleks Xhuvani
58f01a5c9a Add volume saving/reuse to video player (#27488) 2023-11-07 18:15:38 +00:00
Matt Jankowski
ee57bb4b44 Account statuses filter spec speedup (#27674) 2023-11-07 15:47:01 +00:00
Matt Jankowski
ae7c20b00c Move search and streaming spec manager classes to separate support files (#27727) 2023-11-07 15:25:49 +00:00
Matt Jankowski
02d27de5ce Move i18n locale configuration to separate initializer (#27571) 2023-11-07 15:22:14 +00:00
Matt Jankowski
370802ce48 Add coverage for CLI::Maintenance#fix_duplicates command (#25252) 2023-11-07 15:21:58 +00:00
Matt Jankowski
1d51e10510 Consolidate JSON parsing in serializers specs (#27693) 2023-11-07 15:20:24 +00:00
Matt Jankowski
a688a9ed20 Use strings instead of numeric literals and remove rubocop:disable in cache spec (#27742) 2023-11-07 15:20:00 +00:00
Matt Jankowski
dc0bf87090 Remove unused before block from settings/branding spec (#27759) 2023-11-07 15:19:17 +00:00
Renaud Chaput
f476d9dab2 Fix the notificationsUpdate call (#27758) 2023-11-07 14:18:59 +00:00
Matt Jankowski
45770c9306 Fix Performance/MapMethodChain cop (#27744) 2023-11-07 13:01:09 +00:00
Matt Jankowski
bbad5b6456 Remove false positive cop detection (#27457) 2023-11-07 10:44:15 +00:00
Matt Jankowski
49e2772064 Fix RSpec/MessageSpies cop (#27751) 2023-11-07 09:46:28 +00:00
Renaud Chaput
ae0d551d33 Do not copy public/packs-test into Docker (#27736) 2023-11-07 09:22:04 +00:00
Matt Jankowski
2862ad701f Stub controller methods and remove rubocop:disable in captcha feature spec (#27743) 2023-11-07 09:15:30 +00:00
Matt Jankowski
2d39268bc5 Fix Lint/OrAssignmentToConstant cop (#27750) 2023-11-07 09:11:50 +00:00
Matt Jankowski
cfa14ec6d1 Fix Lint/EmptyBlock cop (#27748) 2023-11-07 09:11:04 +00:00
Matt Jankowski
b06284c572 Fix RSpec/HookArgument cop (#27747) 2023-11-07 09:10:36 +00:00
github-actions[bot]
1b28ab7263 New Crowdin Translations (automated) (#27687)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-07 09:03:59 +00:00
Matt Jankowski
d6f50839e1 Fix RSpec/SpecFilePathFormat cops (#27730) 2023-11-06 16:25:40 +00:00
Matt Jankowski
c501d626e8 Fix Rails/BulkChangeTable cop (#26890) 2023-11-06 16:15:48 +00:00
Matt Jankowski
0c4e7c06dc Fix Rails/FindEach cop (#26886) 2023-11-06 15:53:29 +00:00
Matt Jankowski
fe26f33e0a Fix Rails/RedundantActiveRecordAllMethod cop (#26885) 2023-11-06 15:51:52 +00:00
Matt Jankowski
949f5eb860 Fix RSpec/MetadataStyle cop in spec/ (#27729) 2023-11-06 14:28:20 +00:00
zunda
e4e752c26e Adjust transform origin for favorite star (#27700) 2023-11-06 11:14:46 +00:00
renovate[bot]
9c34bb4d54 Update Node.js to v20.9 (#27714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 10:27:42 +00:00
renovate[bot]
0ca27b2d81 Update DefinitelyTyped types (non-major) (#27713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 10:27:19 +00:00
renovate[bot]
22b4713d2e Update eslint (non-major) (#27715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 10:26:18 +00:00
Renaud Chaput
3bf896c973 Disable Babel polyfill injection in dev (#27691) 2023-11-06 10:24:41 +00:00
renovate[bot]
1416745a2b Update dependency faker to v3.2.2 (#27718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 09:54:59 +00:00
renovate[bot]
afd1371fa3 Update dependency rubocop to v1.57.2 (#27719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 09:53:13 +00:00
renovate[bot]
ef140da349 Update dependency discard to v1.3.0 (#27720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 09:52:50 +00:00
Claire
c0989b78f8 Fix incoming status creation date not being restricted to standard ISO8601 (#27655) 2023-11-06 09:28:14 +00:00
Renaud Chaput
6712bf86cd Fixes website not loading for unlogged users (#27698) 2023-11-04 21:52:56 +00:00
Renaud Chaput
3bf2a7296e Use Immutable Record for accounts in Redux state (#26559) 2023-11-03 15:00:03 +00:00
Matt Jankowski
9d799d40ba Reduce CI job matrix job count (#27660) 2023-11-03 14:58:33 +00:00
Matt Jankowski
5d9e71ebe0 Archive uploaded CI assets into single file between build/test (#27668) 2023-11-03 14:12:14 +00:00
github-actions[bot]
2d548e273e New Crowdin Translations (automated) (#27646)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-03 10:10:13 +00:00
Claire
0337df3a42 Fix posts from threads received out-of-order sometimes not being inserted into timelines (#27653) 2023-11-02 14:58:37 +00:00
Renaud Chaput
2aa28e06d1 Mark version 4.0 as no longer supported (#27627) 2023-11-01 13:53:14 +00:00
mogaminsk
ac8e4ed38d Fix inserting emojis from emoji picker fails with TypeError (#27647) 2023-11-01 07:22:02 +00:00
Renaud Chaput
277e6968f5 Use helpers to check environment in frontend (#27633) 2023-10-31 16:05:44 +00:00
Matt Jankowski
7ef56d6e50 Move json_ld context loaders to config/initializers (#27590) 2023-10-31 15:21:23 +00:00
Matt Jankowski
3107a9410c Silence deprecation warning about secrets/credentials with Devise patch (#27578) 2023-10-31 11:10:15 +00:00
Matt Jankowski
b264318431 Update strong_migrations to version 1.3.0 (#25991) 2023-10-31 11:09:32 +00:00
Renaud Chaput
0e3401bc1c Improve Babel configuration and automatically load polyfills (#27333) 2023-10-31 10:55:13 +00:00
Claire
9c8891b39a Rewrite AutosuggestTextarea as Functional Component (#27618) 2023-10-31 10:17:37 +00:00
Matt Jankowski
a916251d8a Update haml-lint line length configuration to match rubocop value (#27570) 2023-10-31 09:47:16 +00:00
Claire
d649bbf28f Add some more tests and clean up domain block controller (#27469) 2023-10-31 09:40:30 +00:00
github-actions[bot]
e5b7ae9576 New Crowdin Translations (automated) (#27630)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-31 08:43:17 +00:00
renovate[bot]
147417a6d0 Update dependency rspec-sidekiq to v4.1.0 (#27593)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 08:26:21 +00:00
renovate[bot]
204c00b5c6 Update dependency bootsnap to '~> 1.17.0' (#27617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 08:24:04 +00:00
Matt Jankowski
beee9ea991 Fix RSpec/LetSetup cop in spec/controllers/admin area (#27619) 2023-10-31 08:22:19 +00:00
Claire
6c52f8286b Fix posts from force-sensitized accounts being able to trend (#27620) 2023-10-30 22:32:25 +00:00
renovate[bot]
b8adb08f92 Update dependency axios to v1.6.0 (#27580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:31:32 +00:00
renovate[bot]
372494e553 Update dependency punycode to v2.3.1 (#27625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:31:22 +00:00
renovate[bot]
547d3c1b9b Update dependency core-js to v3.33.2 (#27624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:30:26 +00:00
renovate[bot]
c2cc1df5ef Update dependency @types/react to v18.2.33 (#27615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:30:02 +00:00
github-actions[bot]
a918208ec6 New Crowdin Translations (automated) (#27596)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-30 14:19:25 +00:00
renovate[bot]
bf1d452978 Update libretranslate/libretranslate Docker tag to v1.4.1 (#27616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 14:19:20 +00:00
Ricardo Trindade
33f8c1c5eb Remove version check from update cache_concern.rb (#27592) 2023-10-30 14:04:12 +00:00
Matt Jankowski
eae5c7334a Extract class from CSP configuration/initialization (#26905) 2023-10-27 16:20:40 +00:00
Claire
59893a4eab Merge pull request #2449 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9a3d047f3e
2023-10-27 17:45:19 +02:00
Matt Jankowski
2e6bf60f15 Use deliveries.size in mailer-related examples in controller specs (#27589) 2023-10-27 15:33:52 +00:00
Jonathan de Jong
1cc512909c Have Follow activities bypass availability (#27586)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-27 14:55:00 +00:00
Claire
93e4cdc31b Fix hashtag matching pattern matching some URLs (#27584) 2023-10-27 14:04:51 +00:00
SouthFox
08bdd5751e Fix account click on detailed status (#27587) 2023-10-27 14:03:21 +00:00
renovate[bot]
15ef654e9a Update dependency pundit to v2.3.1 (#27585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 13:43:00 +00:00
Renaud Chaput
13d310e64d Simplify column headers (#27557) 2023-10-27 13:21:07 +00:00
Matt Jankowski
1f5187e2e2 Misc spec/refactor to user mailer and user mailer spec (#27486) 2023-10-27 09:57:16 +00:00
renovate[bot]
37929b9707 Update libretranslate/libretranslate Docker tag to v1.4.0 (#27504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 09:56:45 +00:00
github-actions[bot]
8ca16f032e New Crowdin Translations (automated) (#27583)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-27 09:38:04 +00:00
Claire
bbf46cc418 Fix error and incorrect URLs in /api/v1/accounts/:id/featured_tags for remote accounts (#27459) 2023-10-27 08:35:21 +00:00
Jeong Arm
8f998cd96a Handle featured collections without items (#27581) 2023-10-27 02:36:22 +00:00
Eugen Rochko
fa7e64df1d Fix various icon styles in web UI (#27579) 2023-10-26 23:37:58 +00:00
Matt Jankowski
12550a6a28 Use Rails.env.local? shorthand method to check env (#27519) 2023-10-26 21:20:41 +00:00
Matt Jankowski
4aa05d45fc Capture minimum postgres version 12 (#27528) 2023-10-26 20:35:15 +00:00
Simon Rapilly
2d8f759a34 Add HTML lang attribute to preview card descriptions (#27503) 2023-10-26 20:34:15 +00:00
Claire
d2f52f7f64 Fix report processing notice not mentioning the report number when performing a custom action (#27442) 2023-10-26 17:03:31 +00:00
Mark T. Tomczak
ba8dcb50fe Issue 26048: swap "muting" and "blocking" list options in settings -> Data Exports (#26088) 2023-10-26 14:08:25 +00:00
Claire
75255c01fc Fix error when trying to delete already-deleted file with OpenStack Swift (#27569) 2023-10-26 13:09:48 +00:00
github-actions[bot]
3427b51d63 New Crowdin Translations (automated) (#27567)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-26 11:05:47 +00:00
Renaud Chaput
537442853f Use a context to propagate column-related Props, and remove forceUpdate usage (#27548) 2023-10-26 11:00:10 +00:00
Matt Jankowski
3ca974e101 Use next keyword in field loop in admin/accounts/index view (#27559) 2023-10-26 10:52:14 +00:00
renovate[bot]
400f5c9174 Update dependency @material-symbols/svg-600 to v0.13.2 (#27565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 10:49:39 +00:00
renovate[bot]
6e018f7228 Update dependency sass to v1.69.5 (#27566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 10:48:55 +00:00
Claire
49b8433c56 Fix confusing screen when visiting a confirmation link for an already-confirmed email (#27368) 2023-10-25 21:33:44 +00:00
Claire
36c8570e50 Fix HAML linting issue 2023-10-25 20:01:51 +02:00
Claire
62620956d5 Merge commit '9a3d047f3e604e581e18346424569e28fc9c5b96' into glitch-soc/merge-upstream 2023-10-25 19:59:17 +02:00
Matt Jankowski
9a3d047f3e Run bin/rails app:update with Rails 7.1 (#27522) 2023-10-25 13:56:09 +00:00
Claire
235a4cfdc8 Fix batch attachment deletion when using OpenStack Swift (#27554) 2023-10-25 13:55:57 +00:00
Renaud Chaput
a4e6fe36cb Add missing ban icons (#27555) 2023-10-25 12:47:37 +00:00
Matt Jankowski
70dbf84b9b Solve simplest haml-lint Rubocop lints (#27529) 2023-10-25 12:38:01 +00:00
Claire
fa65c8244f Fix cache store pool config deprecation warnings (#27551) 2023-10-25 12:01:21 +00:00
Matt Jankowski
c926f5fd67 Fix haml-lint UnnecessaryStringOutput for views (#27531) 2023-10-25 12:01:00 +00:00
Renaud Chaput
85d4846d8a [Glitch] Fix <ColumnBackButtonSlim>
Port cb92cdf9af to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-25 12:22:59 +02:00
Claire
6e9f89e5b6 Merge commit 'c85e0a6b047f1a72ad970bc04c4e1be3f028b3d1' into glitch-soc/merge-upstream
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
2023-10-25 12:18:45 +02:00
Claire
ba527c071f Merge commit '134de736dcbc6aa613fd5aec21d983d92d8b0be8' into glitch-soc/merge-upstream
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.
2023-10-25 12:14:24 +02:00
github-actions[bot]
c85e0a6b04 New Crowdin Translations (automated) (#27544)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-25 07:36:07 +00:00
renovate[bot]
f261b6499f Update dependency node to 20.9 (#27534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-25 07:16:19 +00:00
Matt Jankowski
cec7f0ed72 Remove unused #error_explanation id from error partials (#27536) 2023-10-25 07:12:32 +00:00
Renaud Chaput
cb92cdf9af Fix <ColumnBackButtonSlim> (#27540) 2023-10-24 20:43:55 +00:00
Renaud Chaput
f08ca3f042 Fix missing icon props (#27539) 2023-10-24 20:43:06 +00:00
Matt Jankowski
bc3afb6311 Update rails/ujs delegate method usage (#27538) 2023-10-24 20:38:19 +00:00
Claire
b19d4eb43d Fix HAML linting issues 2023-10-24 20:53:58 +02:00
Claire
8123e86623 [Glitch] Fix double scroll bars in some columns in advanced interface
Port 37bbd3c106 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-24 20:46:11 +02:00
Claire
b73e4b59fc [Glitch] Fix history handling not properly handling states after update to react-router v5
Port 15182d1e5e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-24 20:34:30 +02:00
たいち ひ
c6f990997d [Glitch] Rewrite emoji_unicode_mapping_light to TS
Port 9482810703 to glitch-soc

Co-authored-by: taichi.fukuda ひ <taichi.fukuda@systemi.co.jp>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-24 20:33:55 +02:00
Claire
4ef66d6538 Merge commit '15182d1e5e595b21c47b48c5d258f30a0251e753' into glitch-soc/merge-upstream
Conflicts:
- `.rubocop_todo.yml`:
  glitch-soc had extra ignores.
  Removed them.
2023-10-24 20:31:20 +02:00
Claire
3c9c0299c0 Fix ActiveRecord::Migrator monkey-patch 2023-10-24 20:23:46 +02:00
Claire
8a131fb7bc Fix @rails/ujs imports 2023-10-24 20:23:31 +02:00
Claire
4b0fb764c3 Merge commit 'e93a75f1a11d6dfdcbd39dbdc22526c5508ad881' into glitch-soc/merge-upstream
Conflicts and ported changes:
- updated `@rails/ujs` imports
2023-10-24 19:59:19 +02:00
Eugen Rochko
134de736dc Change icons in web UI (#27385)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-10-24 17:45:08 +00:00
Michael Stanclift
b1885387b6 Fix missing libyaml-dev dependency in Dockerfile (#27533) 2023-10-24 17:32:10 +00:00
Claire
e25cc4deb7 Merge commit '379115e601361c2b5da775fbf28b7dff9dc02e71' into glitch-soc/merge-upstream
Conflicts:
- `config/navigation.rb`:
  Conflict due to glitch-soc having extra navigation items for its theming
  system.
  Ported upstream changes.
2023-10-24 19:31:14 +02:00
Eugen Rochko
69ea596e55 [Glitch] Fix explore page reloading when you navigate back to it in web UI
Port d9503a1965 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-24 19:22:39 +02:00
Claire
e6c3d3c744 Merge commit 'd9503a1965a16328b62ea7bf0bb54e87cbe30d29' into glitch-soc/merge-upstream 2023-10-24 19:21:01 +02:00
Claire
79c154f602 Merge commit 'fc7734df8d8d53639bf244a2f2f3c39bc2fd12a7' into glitch-soc/merge-upstream 2023-10-24 19:20:14 +02:00
Claire
57c0de949b Merge commit '8b770ce8110e6cd609a6769c66210d95e291e3e5' into glitch-soc/merge-upstream
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.
2023-10-24 19:17:20 +02:00
Claire
787d5ad386 Merge commit 'bcae7442757845191c0e82b61cd1d0cd3ca860d1' into glitch-soc/merge-upstream
Conflicts:
- `yarn.lock`:
  Caused by a glitch-soc-only dependency (`exif-js`).
  Kept it.
2023-10-24 19:05:18 +02:00
Claire
5323f0eeca [Glitch] Fix incorrect proptypes from react-router-v5 update
Port 0ad66175bf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-24 19:03:16 +02:00
Renaud Chaput
9325cb5759 [Glitch] Convert <Button> to Typescript
Port 9d45a444f9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-24 19:03:16 +02:00
Eugen Rochko
1138d44c7d [Glitch] Fix missing background behind dismissable banner in web UI
Port 33bd8eccd5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-24 18:46:08 +02:00
Claire
b0c76eaadd Merge commit '0ad66175bf59a34b03d9ab2347181548d07089ea' into glitch-soc/merge-upstream
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.
2023-10-24 18:41:20 +02:00
Claire
15182d1e5e Fix history handling not properly handling states after update to react-router v5 (#27526) 2023-10-24 13:24:57 +00:00
Renaud Chaput
6cf9f1211b Create custom Github Actions for common steps (#27518) 2023-10-24 11:43:24 +00:00
Matt Jankowski
714e3ae5b5 Use Rails 7.1 normalizes feature (#27521) 2023-10-24 10:06:10 +00:00
github-actions[bot]
50b7ea810e New Crowdin Translations (automated) (#27523)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-24 09:51:34 +00:00
Matt Jankowski
e923bb9ec9 Use ENV.fetch in views, fixes rubocop haml-lint issue (#27527) 2023-10-24 09:30:14 +00:00
Matt Jankowski
4fdc548fa5 Regenerate lint todos (#27513) 2023-10-24 08:08:31 +00:00
たいち ひ
9482810703 Rewrite emoji_unicode_mapping_light to TS (#25444)
Co-authored-by: taichi.fukuda ひ <taichi.fukuda@systemi.co.jp>
2023-10-24 08:06:14 +00:00
Matt Jankowski
e93a75f1a1 Rails 7.1 update (#25963) 2023-10-23 17:58:29 +00:00
Claire
379115e601 Add SELF_DESTRUCT env variable to process self-destructions in the background (#26439) 2023-10-23 15:46:21 +00:00
Daniel M Brasil
26d2a2a0cc Migrate to request specs in /api/v1/media (#25543) 2023-10-23 15:46:21 +00:00
Eugen Rochko
d9503a1965 Fix explore page reloading when you navigate back to it in web UI (#27489) 2023-10-23 17:07:13 +02:00
Claire
79a63201a9 Fix Layout/EmptyLineAfterGuardClause issues caused by merging an old PR (#27512) 2023-10-23 16:21:48 +02:00
Renaud Chaput
fc7734df8d Remove Renovate's Lock File Maintenance task (#27510) 2023-10-23 14:38:36 +02:00
Matt Jankowski
3cfdab6b48 Prune the changelog of older entries (#27432) 2023-10-23 14:35:56 +02:00
renovate[bot]
d5408dbb54 Update dependency prom-client to v15 (#27330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 14:33:17 +02:00
Claire
8b770ce811 Add warnings to report action logs (#27425) 2023-10-23 14:30:46 +02:00
Claire
44edf3aa91 Improve error handling in mastodon:setup task (#21464) 2023-10-23 14:28:32 +02:00
Claire
99f2534cee Add support for displaying unknown servers on /admin/instances/:domain (#27150) 2023-10-23 14:27:57 +02:00
Claire
c3e0eb3699 Change Content-Security-Policy to be tighter on media paths (#26889) 2023-10-23 14:27:07 +02:00
Claire
bcae744275 Fix some link anchors being recognized as hashtags (#27271) 2023-10-23 14:19:38 +02:00
renovate[bot]
53fd28b889 Update dependency react-select to v5.7.7 (#27003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:45:14 +02:00
renovate[bot]
f7b34707a8 Update babel monorepo to v7.23.2 (#27118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:36:47 +02:00
renovate[bot]
25751c653e Update DefinitelyTyped types (non-major) (#27414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:35:54 +02:00
renovate[bot]
132204031f Update dependency core-js to v3.33.1 (#27481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:20:01 +02:00
renovate[bot]
bb5bae186f Update dependency webpack-merge to v5.10.0 (#27420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:18:16 +02:00
renovate[bot]
69d3318055 Update dependency rimraf to v5.0.5 (#27140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:16:02 +02:00
renovate[bot]
cd08b436ab Update dependency sass to v1.69.4 (#27004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:15:31 +02:00
renovate[bot]
6f1eb89d21 Update dependency ws to v8.14.2 (#26980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:14:16 +02:00
renovate[bot]
6f429d3f1b Update formatjs monorepo (#27416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:13:12 +02:00
renovate[bot]
773133befa Update eslint (non-major) (#27415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:12:17 +02:00
Claire
0ad66175bf Fix incorrect proptypes from react-router-v5 update (#27507) 2023-10-23 11:39:53 +02:00
github-actions[bot]
70fd819935 New Crowdin Translations (automated) (#27490)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-23 10:04:54 +02:00
Matt Jankowski
b0213472df Validate allowed schemes on preview card URLs (#27485) 2023-10-23 09:50:02 +02:00
Renaud Chaput
9d45a444f9 Convert <Button> to Typescript (#27492) 2023-10-23 09:43:00 +02:00
Renaud Chaput
d6eacb79c6 [Glitch] Upgrade to react-router v5
Port 1b70d7ed7c to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-21 22:14:24 +02:00
Claire
245513d630 Merge commit '1b70d7ed7c0fd3a9fcf028bf76b8c62ac8b3897f' into glitch-soc/merge-upstream 2023-10-21 14:33:33 +02:00
Claire
18eacc7a07 Merge pull request #2447 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 126cd7705d
2023-10-21 14:32:30 +02:00
Matt Jankowski
ab0fb81479 Configure brakeman to ignore url safe preview card urls (#25883) 2023-10-20 15:32:16 +02:00
Claire
13688539bc Fix processing LDSigned activities from actors with unknown public keys (#27474) 2023-10-20 10:45:46 +02:00
github-actions[bot]
284c719f64 New Crowdin Translations (automated) (#27480)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-20 10:11:40 +02:00
Eugen Rochko
33bd8eccd5 Fix missing background behind dismissable banner in web UI (#27479) 2023-10-20 04:08:13 +02:00
Renaud Chaput
5d9df170cf [Glitch] Do not display the navigation banner in the logo container
Port 126cd7705d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-19 20:50:44 +02:00
Claire
cc000c8859 Merge commit '126cd7705dbeca5712da941a72661e26c189658b' into glitch-soc/merge-upstream 2023-10-19 20:48:22 +02:00
Claire
1c53aec00e Merge pull request #2446 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9f218c9924
2023-10-19 20:47:22 +02:00
Brian Campbell
1a3248dc90 [Glitch] Consider shown and pending status in explore prompt calculation
Port f76e5111f0 to glitch-soc

Co-authored-by: Brian Campbell <brcampbell@beta.team>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-19 20:23:08 +02:00
Renaud Chaput
41f58e945c [Glitch] The class props should be className
Port 10df97c542 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-19 20:23:08 +02:00
Renaud Chaput
1b70d7ed7c Upgrade to react-router v5 (#25047)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-19 19:44:55 +02:00
Renaud Chaput
126cd7705d Do not display the navigation banner in the logo container (#27476) 2023-10-19 19:36:08 +02:00
Claire
74fd46d3ab Merge commit '9f218c9924b883207a3463a29314c92032cf06df' into glitch-soc/merge-upstream 2023-10-19 19:14:04 +02:00
Claire
918137babc Merge pull request #2444 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 5ef26d8fd5
2023-10-19 19:12:51 +02:00
Jeong Arm
68401fc426 [Glitch] Support "in:public" search filter
Port ad44d832b8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-19 18:56:18 +02:00
Matt Jankowski
9f218c9924 Refactor appeal partial to avoid brakeman XSS warning (#25880) 2023-10-19 17:25:54 +02:00
Matt Jankowski
bcd0171e5e Fix Lint/UselessAssignment cop (#27472) 2023-10-19 16:55:06 +02:00
Daniel M Brasil
7bc8f03162 Add test coverage for Mastodon::CLI::Accounts#migrate (#25284) 2023-10-19 16:11:15 +02:00
github-actions[bot]
1ffd5a98a9 New Crowdin Translations (automated) (#27465)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-19 14:31:25 +02:00
Brian Campbell
f76e5111f0 Consider shown and pending status in explore prompt calculation (#27466)
Co-authored-by: Brian Campbell <brcampbell@beta.team>
2023-10-19 14:25:57 +02:00
Renaud Chaput
10df97c542 The class props should be className (#27462) 2023-10-19 13:22:44 +02:00
Claire
510845b6b9 Only enable github-rspec for pull_request events (#27456) 2023-10-18 15:20:24 +02:00
Matt Jankowski
a1b27d8b61 Fix Naming/VariableNumber cop (#27447) 2023-10-18 14:26:22 +02:00
Emelia Smith
7c3fea7275 Feature: Allow token introspection without read scope (#27142) 2023-10-18 14:10:07 +02:00
github-actions[bot]
4612576c68 New Crowdin Translations (automated) (#27454)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-18 11:08:10 +02:00
Matt Jankowski
63a2a4b074 Fix Performance/DeletePrefix cop (#27448) 2023-10-18 10:32:09 +02:00
Daniel M Brasil
091a21e1bc Add test coverage for Mastodon::CLI::Accounts#prune (#25204) 2023-10-18 10:20:50 +02:00
Claire
e9dc30cdba Fix duplicate github annotations for rspec failures (#27450) 2023-10-18 10:18:34 +02:00
Claire
0d18c47c18 Enable scheduled actions only on glitch-soc's repo 2023-10-17 22:03:54 +02:00
Claire
63179f0bf4 Merge commit '5ef26d8fd50081c642b858a82bf0c5431b1c7e83' into glitch-soc/merge-upstream 2023-10-17 21:59:58 +02:00
Stanislas Signoud
8bbbd012d4 [Glitch] Fix missing redirections to make sure /home redirect to the advanced UI
Port 935d54124e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-17 21:48:36 +02:00
Claire
c10a667ac2 Merge commit '935d54124e80e9fe5365c724e5c8827a2b3ed5b3' into glitch-soc/merge-upstream 2023-10-17 21:42:49 +02:00
Claire
b867d4581e Merge commit 'c91c0175db1cc8b954a977d29472886234ce9586' into glitch-soc/merge-upstream
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`.
2023-10-17 21:35:07 +02:00
Claire
656a41db2a Merge commit '77098c6f1c25958960df98a1510b28352a39704f' into glitch-soc/merge-upstream
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.
2023-10-17 20:59:18 +02:00
Nick Schonning
5ef26d8fd5 Add RSpec GitHub annotations gem (#24040) 2023-10-17 18:28:09 +02:00
Matt Jankowski
71447ab19f Fix Capybara/ClickLinkOrButtonStyle cop in spec/features/admin area (#27445) 2023-10-17 16:57:19 +02:00
renovate[bot]
0036de46bc Update dependency rubocop-performance to v1.19.1 (#26949)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 16:16:12 +02:00
Jeong Arm
ad44d832b8 Support "in:public" search filter (#26976) 2023-10-17 16:12:03 +02:00
Matt Jankowski
2528a0721f Update rubocop-capybara to version 2.19.0 (#26982) 2023-10-17 16:10:50 +02:00
renovate[bot]
1996fb6fd6 Update dependency puma to v6.4.0 (#27006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 16:10:16 +02:00
Matt Jankowski
65cd0700e4 Refactor domains cli to remove model call from regex (#25878) 2023-10-17 15:58:42 +02:00
Claire
b34a2b1b33 Fix errors in CLI specs (#27399) 2023-10-17 15:30:12 +02:00
Jeong Arm
c0cda1adaf Let use http_hidden_proxy on docker-compose (#27054) 2023-10-17 15:24:45 +02:00
Renaud Chaput
1fb4e40145 Run scheduled actions only on the main repo (#27343) 2023-10-17 14:59:39 +02:00
Stanislas Signoud
935d54124e Fix missing redirections to make sure /home redirect to the advanced UI (#27378) 2023-10-17 14:59:07 +02:00
Victor Lee
c4bddc9855 Add spec for poll model (#23399)
Co-authored-by: Nick Schonning <nschonni@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-17 14:56:24 +02:00
Matt Jankowski
12bb7be8b5 Spec speed ups on AccountsController spec (#25391) 2023-10-17 13:32:10 +02:00
Matt Jankowski
d54fec24e5 Add coverage for CLI::PreviewCards#remove command (#27441) 2023-10-17 13:06:16 +02:00
Matt Jankowski
19900f647e Add coverage for UnreservedUsernameValidator (#25590) 2023-10-17 13:05:28 +02:00
Claire
1084703417 Update changelog (#27440) 2023-10-17 13:03:54 +02:00
Matt Jankowski
fc9ab61448 Expand spec coverage of CLI::Media (#27437) 2023-10-16 18:20:58 +02:00
Matt Jankowski
33b073f77d Extract partials from admin/reports/show view (#27427) 2023-10-16 18:07:17 +02:00
Matt Jankowski
8d0f12f776 Extract partials from admin/accounts/show view (#27428) 2023-10-16 18:02:15 +02:00
Matt Jankowski
893b2f33fd Extract shared example for cacheable response in specs (#25388) 2023-10-16 17:52:06 +02:00
Matt Jankowski
708299bb0d Misc coverage improvements for Admin:: and Settings:: controllers (#25346) 2023-10-16 17:20:28 +02:00
Daniel M Brasil
e0ed0f8c7c Migrate to request specs in /api/v1/notifications (#25553) 2023-10-16 17:15:24 +02:00
Matt Jankowski
08a376cbcb Fix Style/CombinableLoops cop (#27429) 2023-10-16 16:36:28 +02:00
Matt Jankowski
c91c0175db Extract card partial from disputes/strikes/show view (#27426) 2023-10-16 16:04:29 +02:00
Daniel M Brasil
cafdaec6cf Migrate to request specs in /api/v1/lists/:id/accounts (#25468) 2023-10-16 16:03:48 +02:00
Daniel M Brasil
8e6116503d Migrate to request specs in /api/v1/blocks (#25517) 2023-10-16 16:03:35 +02:00
Daniel M Brasil
d9caa6ed24 Migrate to request specs in /api/v1/admin/accounts (#25563) 2023-10-16 15:49:12 +02:00
Matt Jankowski
f5bc1f20e2 Add coverage for ExistingUsernameValidator (#25592)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-16 15:41:23 +02:00
Matt Jankowski
f8afa0f614 Remove unused stub json ld context (#25454) 2023-10-16 15:38:27 +02:00
Matt Jankowski
00e92b4038 Add coverage for CLI::Statuses command (#25321) 2023-10-16 15:37:22 +02:00
Claire
299aa71c8f Fix handling of inLanguage attribute in preview card processing (#27423) 2023-10-16 15:24:14 +02:00
Wladimir Palant
23f8e93c64 Fixes #23135 - Allow cross origin request for /nodeinfo/2.0 API (#27413) 2023-10-16 13:39:25 +02:00
github-actions[bot]
13456efd7b New Crowdin Translations (automated) (#27410)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-16 11:31:52 +02:00
renovate[bot]
a00fc83701 Update dependency bufferutil to v4.0.8 (#27412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 11:09:20 +02:00
renovate[bot]
f0ef87b84d Update dependency i18n-tasks to v1.0.13 (#27403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 11:08:13 +02:00
Renaud Chaput
e0da64bb4e Fix empty ENV variables not using default nil value (#27400) 2023-10-13 19:00:53 +02:00
Daniel M Brasil
82beeb2f7e Migrate to request specs in /api/v1/admin/trends/links (#25739) 2023-10-13 16:23:16 +02:00
Matt Jankowski
1b195ce115 Speed-up on Rack::Attack spec (#25542) 2023-10-13 16:14:23 +02:00
Claire
71cfdd7865 Fix duplicate tests (#27395) 2023-10-13 16:10:43 +02:00
Matt Jankowski
cad8cc90ba Speed-up on MoveWorker spec (#25528) 2023-10-13 15:50:46 +02:00
Daniel M Brasil
058f73a4f5 Add request specs for /api/v1/reports (#25475) 2023-10-13 15:30:40 +02:00
Matt Jankowski
abf0e1fa39 Move SignedReqestHelpers rspec config to separate file (#25453) 2023-10-13 15:19:40 +02:00
Daniel M Brasil
bc6cd27d9e Migrate to request specs in /api/v1/followed_tags (#25472) 2023-10-13 14:43:50 +02:00
Matt Jankowski
fd9dea21d0 DB speedup in API:: controller/request specs (#25516) 2023-10-13 14:42:09 +02:00
Daniel M Brasil
ecdb31d479 Migrate to request specs in /api/v1/favourites (#25518) 2023-10-13 14:19:12 +02:00
Daniel M Brasil
7664e3b692 Migrate to request specs in /api/v1/statuses/:status_id/source (#25634) 2023-10-13 14:08:21 +02:00
Daniel M Brasil
4230d1ee0a Migrate to request specs in /api/v1/timelines/tag/:hashtag (#25797) 2023-10-13 14:04:37 +02:00
Renaud Chaput
77098c6f1c Delete .github/FUNDING.yml (#27390) 2023-10-13 12:01:33 +02:00
renovate[bot]
5c287c4958 Update dependency rubocop to v1.57.1 (#27389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 11:46:25 +02:00
KMY(雪あすか)
45bdd60f3c Fix when unfollow a tag, my post also disappears from the home timeline (#27391) 2023-10-13 11:15:47 +02:00
github-actions[bot]
773d25e8df New Crowdin Translations (automated) (#27388)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-13 11:01:40 +02:00
renovate[bot]
6a9aab38d7 Update dependency devise-two-factor to v4.1.1 (#27382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 10:52:55 +02:00
Matt Jankowski
133f218a4d Add system specs for admin area batch actions (#25027) 2023-10-13 10:42:59 +02:00
Claire
c86ad45660 Change PWA start URL from /home to / (#27377) 2023-10-12 16:47:18 +02:00
Claire
45a19ddfe4 Merge pull request #2440 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 27e84c0691
2023-10-12 12:18:43 +02:00
github-actions[bot]
c348b904a5 New Crowdin Translations (automated) (#27376)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-12 10:07:40 +02:00
Matt Jankowski
d4c2dca874 Fix haml-lint InstanceVariables rule for auth/sessions/two_factor/o… (#27372) 2023-10-12 09:44:20 +02:00
renovate[bot]
85b36fbbd3 Update dependency devise to v4.9.3 (#27373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-12 09:35:25 +02:00
Matt Jankowski
d7a8f6b658 Fix haml-lint InstanceVariables rule for relationships/account (#27342) 2023-10-11 17:06:26 +02:00
github-actions[bot]
f1ae72ba46 New Crowdin Translations (automated) (#27364)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-11 16:37:01 +02:00
renovate[bot]
d0a3331caa Update dependency rubocop to v1.57.0 (#27371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-11 16:36:50 +02:00
François Hodierne
608cd66239 Update README requirements from node 14 to node 16 (#27369) 2023-10-11 16:24:28 +02:00
renovate[bot]
1afb7f4104 Update dependency lograge to v0.14.0 (#27363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-11 16:21:59 +02:00
Matt Jankowski
f9abe700e7 Fix haml-lint InstanceVariables rule for auth/registrations/status (#27341) 2023-10-11 16:20:26 +02:00
renovate[bot]
0111e48893 Update dependency sidekiq to v6.5.12 (#27358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-11 16:02:51 +02:00
Matt Jankowski
66becf9a1e Fix haml-lint InstanceVariables rule for admin/reports/actions (#27339) 2023-10-11 15:58:33 +02:00
Claire
7d2cd7195b Add variable delay before link verification of remote account links (#27351) 2023-10-11 15:14:18 +02:00
Claire
99c72830bc [Glitch] Fix scroll position in thread view reseting when closing a modal
Port 9d1c3d0678 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-10 19:53:59 +02:00
Claire
3735e6f79d Merge commit '27e84c069112a3d2abfad947642457cc997a261a' into glitch-soc/merge-upstream 2023-10-10 19:53:41 +02:00
Claire
1a4a23b5c8 Merge pull request #2439 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 4c2aca777f
2023-10-10 19:51:17 +02:00
Claire
27e84c0691 Fix duplicate reports being sent when reporting some remote posts (#27355) 2023-10-10 16:00:50 +02:00
Claire
9d1c3d0678 Fix scroll position in thread view reseting when closing a modal (#27350) 2023-10-10 11:35:32 +02:00
github-actions[bot]
1a2a4c389f New Crowdin Translations (automated) (#27347)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-10 10:06:37 +02:00
renovate[bot]
1745c582f8 Update dependency sidekiq to v6.5.11 (#27345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 09:52:09 +02:00
Claire
05159d2f94 [Glitch] Fix clicking on already-loaded thread scrolling to the top of the thread
Port 4c2aca777f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-09 21:15:59 +02:00
Claire
8ef1a95b1c Merge commit '4c2aca777f6ae6942d0cf11aee56a925694ccdef' into glitch-soc/merge-upstream 2023-10-09 21:14:57 +02:00
Renaud Chaput
7b325aa81b [Glitch] Autofix missing comma and indentation in JS files
Port 774e1189d2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-09 21:14:25 +02:00
Claire
4a9cdfb928 Merge commit '774e1189d26fffd914107a4236f6287043c988f8' into glitch-soc/merge-upstream 2023-10-09 21:12:28 +02:00
Claire
b63d526590 [Glitch] Fix clicking on already-opened thread post scrolling to the top of the thread
Port c310374a2f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-09 21:11:44 +02:00
Claire
3da7afdeed Merge commit 'c310374a2f83a890520ace50e41c1e3d046e15e1' into glitch-soc/merge-upstream 2023-10-09 21:10:47 +02:00
Claire
4c2aca777f Fix clicking on already-loaded thread scrolling to the top of the thread (#27338) 2023-10-09 16:46:09 +02:00
Claire
9af24835f6 Merge pull request #2434 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 640421f661
2023-10-09 15:44:35 +02:00
Renaud Chaput
774e1189d2 Change eslint config to autofix missing comma and indentation in JS files (#26711) 2023-10-09 13:38:29 +02:00
Claire
c310374a2f Fix clicking on already-opened thread post scrolling to the top of the thread (#27331) 2023-10-09 12:21:02 +02:00
github-actions[bot]
89b48681cf New Crowdin Translations (automated) (#27321)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-09 10:32:06 +02:00
renovate[bot]
5fc5a548b4 Update DefinitelyTyped types (non-major) (#27327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 10:19:13 +02:00
renovate[bot]
eabe839744 Update eslint (non-major) (#27328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 09:43:42 +02:00
Claire
967bd543bb [Glitch] Fix auto-loading-more when not scrolled
Port 2b98e2ecd6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-08 17:34:10 +02:00
Claire
53f5b27bd1 Merge commit '640421f661ee4d7e76a2aab607e7b15687940b6f' into glitch-soc/merge-upstream 2023-10-08 17:30:48 +02:00
Claire
86c9c5afa0 Merge commit '40ba6e119b7457161fd43b449875d0fb9d473c1a' into glitch-soc/merge-upstream
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.
2023-10-08 17:26:43 +02:00
Claire
ac2370778a Merge commit 'c676bc91e9c3aa81eb7cfbce3c5c5e80b84d3d02' into glitch-soc/merge-upstream
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.
2023-10-08 17:21:12 +02:00
Claire
74c27e33e3 Merge commit '37bbd3c1064380a756b4e821655d7697105f99f5' into glitch-soc/merge-upstream 2023-10-08 17:10:39 +02:00
Michael Stanclift
8eb09c6f72 [Glitch] Keep version string displayed without breakpoints in UI
Port 5a437edc7f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-08 17:09:02 +02:00
Claire
a5dbb1ee5a Merge commit '5a437edc7f22d5797e5af29d9b450a03eccec304' into glitch-soc/merge-upstream 2023-10-08 17:05:40 +02:00
Claire
e83059fd9d [Glitch] Fix explore prompt appearing because of posts being received out of order
Port d80a819fc6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-08 17:03:40 +02:00
Claire
e9a181c52c Merge commit 'e95d25e1013b6328457b81bd98e8d6a841d45ec2' into glitch-soc/merge-upstream 2023-10-08 16:53:05 +02:00
Claire
702d162998 Merge commit '5393be7a21331c8615ffb79c2271db92f6959458' into glitch-soc/merge-upstream
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.
2023-10-08 16:48:19 +02:00
Claire
d7fcd70023 Merge commit '2016c5d912f400ae98ee03ce269112de2f9ec62d' into glitch-soc/merge-upstream
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.
2023-10-08 16:41:56 +02:00
Michael Stanclift
cfc0da77ac [Glitch] Fix retention dashboard not displaying correct month
Port 7fddeca190 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-10-08 16:33:37 +02:00
Claire
19ebf7797e Merge commit 'e6b903b21e0682c1156ffec583ac2836fda7d657' into glitch-soc/merge-upstream 2023-10-08 16:30:00 +02:00
Andy Piper
640421f661 Add 4.2.x to supported versions in SECURITY.md (#27317) 2023-10-07 21:12:21 +02:00
Claire
3262d1f1b6 Fix incorrect serialization of regional languages in contentMap (#27207) 2023-10-06 17:46:04 +02:00
Michael Stanclift
3171afc36a Add Elasticsearch index size to Admin dashboard (#27301)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-06 17:02:55 +02:00
Claire
340c390849 Fix crash when filtering for “dormant” relationships (#27306) 2023-10-06 12:58:16 +02:00
Claire
4d59dfb1c6 Fix some remote posts getting truncated (#27307) 2023-10-06 12:58:02 +02:00
github-actions[bot]
e0b54ed3e1 New Crowdin Translations (automated) (#27304)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-06 11:49:09 +02:00
renovate[bot]
027c1bef8d Update dependency active_model_serializers to v0.10.14 (#27303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-06 11:43:30 +02:00
Renaud Chaput
c4cff3d762 Remove Capistrano (#27295) 2023-10-06 11:33:43 +02:00
Matt Jankowski
165ec6c779 Remove bundle audit skipping sidekiq CVE (#27291) 2023-10-05 21:23:42 +02:00
renovate[bot]
5606a17933 Update dependency sidekiq to v6.5.10 (#27287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 16:35:05 +02:00
Claire
2b98e2ecd6 Fix auto-loading-more when not scrolled (#27286) 2023-10-05 16:33:54 +02:00
github-actions[bot]
32ab474472 New Crowdin Translations (automated) (#27277)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-05 13:13:14 +02:00
Claire
3c13d70600 Add mention of YJIT in admin dashboard if enabled (#27283) 2023-10-05 13:10:17 +02:00
renovate[bot]
d22515861e Update dependency @reduxjs/toolkit to v1.9.7 (#27275)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 10:28:47 +02:00
Claire
40ba6e119b Fix Vary headers not being set on some redirects (#27272) 2023-10-05 09:50:08 +02:00
github-actions[bot]
8e4251f9e7 New Crowdin Translations (automated) (#27270)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-04 10:53:04 +02:00
Matt Jankowski
72cec47c13 Silence deprecation warning in CacheBuster spec (#27264) 2023-10-04 10:17:36 +02:00
gunchleoc
68ec1d180a Fix language sorting in settings (#27158) 2023-10-04 09:23:50 +02:00
Matt Jankowski
c676bc91e9 Dont match mention in url query string (#25656)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-03 17:01:45 +02:00
Matt Jankowski
2f8f92df48 Fix Elastic check deprecation warning about gem version (#27262) 2023-10-03 15:52:47 +02:00
Nick Schonning
85db392464 Autofix Rubocop cops for config/ (#24145) 2023-10-03 15:24:12 +02:00
Matt Jankowski
e715da6d25 Fix haml-lint Rubocop Rails/* cops (#26042) 2023-10-03 15:00:40 +02:00
Nick Schonning
8bb4706e11 Move migration_helpers Rubocop ignore to config (#24236) 2023-10-03 14:58:40 +02:00
Claire
37bbd3c106 Fix double scroll bars in some columns in advanced interface (#27187) 2023-10-03 13:12:39 +02:00
Claire
ceb365c419 Fix boosts of local users being filtered in account timelines (#27204) 2023-10-03 12:21:42 +02:00
Claire
4e55001e65 Add a short-lived lock to trend refresh scheduler (#27253) 2023-10-03 12:21:32 +02:00
Michael Stanclift
5a437edc7f Keep version string displayed without breakpoints in UI (#26986) 2023-10-03 11:52:21 +02:00
David Aaron
6320c52630 Change min age of backup policy from 1 week to 6 days (#27200) 2023-10-03 11:48:57 +02:00
jsgoldstein
ad637eacd1 Add a test case for ES8 (#27248) 2023-10-03 10:48:32 +02:00
renovate[bot]
e836d078bb Update dependency haml_lint to v0.51.0 (#27250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-03 10:48:05 +02:00
Jakob Gillich
770fd993ec Fix importer returning negative row estimates (#27258) 2023-10-03 10:47:50 +02:00
github-actions[bot]
e95d25e101 New Crowdin Translations (automated) (#27260)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-03 10:47:28 +02:00
Claire
5e56f3db65 Change some worker lock TTLs (#27246) 2023-10-03 10:09:00 +02:00
Claire
7e7d6e695b Fix incorrectly keeping outdated update notices absent from the API endpoint (#27021) 2023-10-02 16:42:52 +02:00
Claire
1e2d4975cf Fix import progress not updating on certain failures (#27247) 2023-10-02 16:20:04 +02:00
github-actions[bot]
ee866ec0e0 New Crowdin Translations (automated) (#27220)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-02 13:35:29 +02:00
Emelia Smith
f68d540271 Fix websocket connections being incorrectly decremented twice on errors (#27238) 2023-10-02 13:21:43 +02:00
renovate[bot]
5f2d494f0d Update dependency react-redux to v8.1.3 (#27229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:18:29 +02:00
Jake Anto
c2f13769cd Add PWA shortcut to /explore page (#27235) 2023-10-02 13:18:16 +02:00
renovate[bot]
bad1629dcd Update dependency core-js to v3.33.0 (#27237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:18:06 +02:00
renovate[bot]
73a92f9e7a Update DefinitelyTyped types (non-major) (#27239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:17:55 +02:00
renovate[bot]
829be02abe Update Node.js to v20.8 (#27240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:16:02 +02:00
Claire
d80a819fc6 Fix explore prompt appearing because of posts being received out of order (#27211) 2023-09-29 15:51:36 +02:00
renovate[bot]
5393be7a21 Update eslint (non-major) to v6.7.3 (#27213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 15:51:27 +02:00
renovate[bot]
48ef7d0f06 Update libretranslate/libretranslate Docker tag to v1.3.12 (#27214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 15:34:55 +02:00
renovate[bot]
9b785877d2 Update DefinitelyTyped types (non-major) (#27212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 15:34:32 +02:00
github-actions[bot]
695e42de0d New Crowdin Translations (automated) (#27202)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-29 10:04:18 +02:00
renovate[bot]
665093a7b6 Update dependency postcss to v8.4.31 (#27199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 09:50:33 +02:00
renovate[bot]
a1becc9189 Update dependency node to 20.8 (#27201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 09:50:15 +02:00
Matt Jankowski
340f1a68be Simplify instance presenter view access (#26046) 2023-09-28 16:52:37 +02:00
Matt Jankowski
2016c5d912 Fix deprecation warning about rewhere: true being default behavior (Rails 7.1 prep) (#27190) 2023-09-28 16:52:23 +02:00
Matt Jankowski
99e289f03f Fix include Rails.application.routes.url_helpers (Rails 7.1 prep) (#27189) 2023-09-28 16:52:11 +02:00
Matt Jankowski
89a17878ef Fix haml-lint InstanceVariables rule for admin/roles/_form (#26063) 2023-09-28 16:36:24 +02:00
renovate[bot]
f9eefb2785 Update dependency rubocop to v1.56.4 (#27188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 16:25:14 +02:00
Matt Jankowski
9d56c1949b Fix haml-lint InstanceVariables rule for admin/webhooks/_form (#26062) 2023-09-28 16:23:35 +02:00
Matt Jankowski
3060bfa4bd Extract filename and csv helper methods from Form::Import (#26129) 2023-09-28 16:22:05 +02:00
Matt Jankowski
937dc42f10 Extract methods for file movement in CLI::Upgrade (#25120) 2023-09-28 16:04:05 +02:00
Matt Jankowski
56c0babc0b Fix rubocop Layout/ArgumentAlignment cop (#26060) 2023-09-28 15:48:47 +02:00
Matt Jankowski
e6b903b21e Fix haml-lint InstanceVariables rule for invites/_form (#26064) 2023-09-28 15:40:28 +02:00
Claire
1da3c588ca Fix link handling of mentions in user profiles when logged out (#27185) 2023-09-28 15:29:07 +02:00
Claire
686406cc2d Fix filtering audit log for entries about disabling 2FA (#27186) 2023-09-28 13:41:24 +02:00
Claire
f0c720cfc9 Bump version to v4.3.0-alpha.0 (#27022) 2023-09-28 13:40:43 +02:00
github-actions[bot]
b93ce7d8b3 New Crowdin Translations (automated) (#27168)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-28 10:44:16 +02:00
Christian Schmidt
6d0767558a Make notification respect reduce-motion (#27178) 2023-09-28 10:39:38 +02:00
renovate[bot]
66a7bc215c Update dependency glob to v10.3.10 (#27169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 10:30:19 +02:00
renovate[bot]
0f588a4a86 Update dependency axios to v1.5.1 (#27159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 10:17:08 +02:00
Michael Stanclift
7fddeca190 Fix retention dashboard not displaying correct month (#27180) 2023-09-28 10:16:15 +02:00
renovate[bot]
2979a5924b Update dependency @material-design-icons/svg to v0.14.13 (#27181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 10:14:43 +02:00
gunchleoc
ce79caca4e Only strip country code when language not listed in SUPPORTED_LOCALES (#27099) 2023-09-28 10:13:44 +02:00
Georg Gadinger
ebd2017524 fix Content-Security-Policy when using Azure storage (#2427) 2023-09-26 20:09:56 +02:00
Claire
fde89a8fc0 Merge pull request #2426 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 57f592fed5
2023-09-26 19:03:36 +02:00
Claire
1eeaa0d84f [Glitch] Fix width of large text icon buttons
Port 38753acaa5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-09-26 13:25:01 +02:00
gunchleoc
ca7d16912e [Glitch] Fix line wrapping of language selection button with long locale codes
Port 88fa8e710a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-09-26 13:24:29 +02:00
Claire
02e6d9f8f9 [Glitch] Fix explore prompt sometimes showing up when the home TL is loading
Port a001ae2f39 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-09-26 13:20:18 +02:00
Renaud Chaput
919ed0e469 [Glitch] Convert dropdown_menu state to Typescript
Port 4b7bc1f07c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-09-26 13:19:27 +02:00
Renaud Chaput
b2d67fbe33 [Glitch] Improve modals reducer types
Port b93ffb74bb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-09-26 13:17:08 +02:00
Claire
abdb58840a Merge commit '57f592fed50747f3c97718a2761e17bafe6c8698' into glitch-soc/merge-upstream 2023-09-26 13:13:27 +02:00
Renaud Chaput
57f592fed5 Add Typescript types for some API objects (#26602) 2023-09-26 11:25:01 +02:00
renovate[bot]
2054ee7cd5 Update dependency glob to v10.3.9 (#27148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 11:12:21 +02:00
Claire
82eaa26d87 Update tootctl maintenance fix-duplicates to Mastodon v4.2.0 (#27147) 2023-09-26 11:11:52 +02:00
renovate[bot]
fdc9f971f7 Update dependency selenium-webdriver to v4.13.1 (#27141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 10:47:34 +02:00
github-actions[bot]
5ea3e8e765 New Crowdin Translations (automated) (#27144)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-26 10:47:16 +02:00
renovate[bot]
33a066a952 Update dependency glob to v10.3.8 (#27145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 10:47:04 +02:00
Essem
bd810391d6 Properly remove tIME chunk from PNG uploads (#27111) 2023-09-25 19:21:07 +02:00
renovate[bot]
530f48610d Update docker/setup-qemu-action action to v3 (#27124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:41:20 +02:00
renovate[bot]
cdd8c4eb2a Update docker/setup-buildx-action action to v3 (#27123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:40:41 +02:00
renovate[bot]
8ea98aa384 Update docker/metadata-action action to v5 (#27122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:40:03 +02:00
renovate[bot]
19bc73b736 Update docker/login-action action to v3 (#27121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:39:14 +02:00
renovate[bot]
cf9230fa1c Update docker/build-push-action action to v5 (#27120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:38:55 +02:00
Claire
06444c86c7 Fix division by zero in video in bitrate computation code (#27129) 2023-09-25 17:07:52 +02:00
Claire
a001ae2f39 Fix explore prompt sometimes showing up when the home TL is loading (#27062) 2023-09-25 17:07:01 +02:00
Claire
3de6dcf634 Add redirection on /deck URLs for logged-out users (#27128) 2023-09-25 15:07:10 +02:00
Claire
38753acaa5 Fix width of large text icon buttons (#27127) 2023-09-25 15:06:57 +02:00
Claire
1bd7455d81 Fix inefficient queries in “Follows and followers” as well as several admin pages (#27116) 2023-09-25 15:06:43 +02:00
gunchleoc
88fa8e710a Fix line wrapping of language selection button with long locale codes (#27100) 2023-09-25 12:59:37 +02:00
renovate[bot]
aeeddb9d46 Update DefinitelyTyped types (non-major) (#27109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 11:56:21 +02:00
renovate[bot]
82c44f492d Update dependency glob to v10.3.7 (#27078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 11:03:19 +02:00
github-actions[bot]
736fe75346 New Crowdin Translations (automated) (#27080)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-25 10:50:09 +02:00
renovate[bot]
c56d7d702f Update dependency @reduxjs/toolkit to v1.9.6 (#27110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 10:36:46 +02:00
renovate[bot]
a4c29a4e51 Update Node.js to v20.7 (#27112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 10:23:12 +02:00
renovate[bot]
1fa40cff70 Update eslint (non-major) (#27113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 10:09:51 +02:00
Renaud Chaput
4b7bc1f07c Convert dropdown_menu state to Typescript (#25585) 2023-09-22 18:18:46 +02:00
Renaud Chaput
b93ffb74bb Improve modals reducer types (#26610) 2023-09-22 16:41:50 +02:00
Claire
39da3d86f8 Fix ActiveRecord using two connection pools when no replica is defined (#27061) 2023-09-22 16:01:59 +02:00
github-actions[bot]
e824585523 New Crowdin Translations (automated) (#27052)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-22 11:06:48 +02:00
Renaud Chaput
4aaaf0dde3 Fix the search documentation URL in system checks (#27036) 2023-09-22 10:13:53 +02:00
Renaud Chaput
a011d3a7c6 Ignore CVE-2023-26141 (Sidekiq) from bundler audit (#27037) 2023-09-22 10:13:09 +02:00
1823 changed files with 52811 additions and 35715 deletions

View File

@@ -4,7 +4,7 @@ FROM mcr.microsoft.com/devcontainers/ruby:1-3.2-bullseye
# Install Rails
# RUN gem install rails webdrivers
ARG NODE_VERSION="16"
ARG NODE_VERSION="20"
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
# [Optional] Uncomment this section to install additional OS packages.
@@ -15,6 +15,6 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
RUN gem install foreman
# [Optional] Uncomment this line to install global node packages.
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g yarn" 2>&1
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && corepack enable" 2>&1
COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt

View File

@@ -70,7 +70,7 @@ services:
hard: -1
libretranslate:
image: libretranslate/libretranslate:v1.3.11
image: libretranslate/libretranslate:v1.5.2
restart: unless-stopped
volumes:
- lt-data:/home/libretranslate/.local

View File

@@ -11,7 +11,8 @@ bundle install
git checkout -- Gemfile.lock
# Fetch Javascript dependencies
yarn --frozen-lockfile
corepack prepare
yarn install --immutable
# [re]create, migrate, and seed the test database
RAILS_ENV=test ./bin/rails db:setup
@@ -23,4 +24,4 @@ RAILS_ENV=development ./bin/rails db:setup
RAILS_ENV=development ./bin/rails assets:precompile
# Precompile assets for test
RAILS_ENV=test NODE_ENV=tests ./bin/rails assets:precompile
RAILS_ENV=test ./bin/rails assets:precompile

View File

@@ -8,6 +8,7 @@
public/system
public/assets
public/packs
public/packs-test
node_modules
neo4j
vendor/bundle

View File

@@ -1,5 +1,5 @@
# Node.js
NODE_ENV=tests
# In test, compile the NodeJS code as if we are in production
NODE_ENV=production
# Federation
LOCAL_DOMAIN=cb6e6126.ngrok.io
LOCAL_HTTPS=true

View File

@@ -1,4 +1,7 @@
module.exports = {
// @ts-check
const { defineConfig } = require('eslint-define-config');
module.exports = defineConfig({
root: true,
extends: [
@@ -9,7 +12,6 @@ module.exports = {
'plugin:import/recommended',
'plugin:promise/recommended',
'plugin:jsdoc/recommended',
'plugin:prettier/recommended',
],
env: {
@@ -63,7 +65,9 @@ module.exports = {
'consistent-return': 'error',
'dot-notation': 'error',
eqeqeq: ['error', 'always', { 'null': 'ignore' }],
'indent': ['error', 2],
'jsx-quotes': ['error', 'prefer-single'],
'semi': ['error', 'always'],
'no-case-declarations': 'off',
'no-catch-shadow': 'error',
'no-console': [
@@ -116,7 +120,6 @@ module.exports = {
'react/jsx-uses-react': 'off', // not needed with new JSX transform
'react/jsx-wrap-multilines': 'error',
'react/no-deprecated': 'off',
'react/no-unknown-property': 'off',
'react/react-in-jsx-scope': 'off', // not needed with new JSX transform
'react/self-closing-comp': 'error',
@@ -192,6 +195,7 @@ module.exports = {
'error',
{
devDependencies: [
'.eslintrc.js',
'config/webpack/**',
'app/javascript/mastodon/performance.js',
'app/javascript/mastodon/test_setup.js',
@@ -235,7 +239,7 @@ module.exports = {
},
// Common React utilities
{
pattern: '{classnames,react-helmet,react-router-dom}',
pattern: '{classnames,react-helmet,react-router,react-router-dom}',
group: 'external',
position: 'before',
},
@@ -296,7 +300,6 @@ module.exports = {
'formatjs/no-id': 'off', // IDs are used for translation keys
'formatjs/no-invalid-icu': 'error',
'formatjs/no-literal-string-in-jsx': 'off', // Should be looked at, but mainly flagging punctuation outside of strings
'formatjs/no-multiple-plurals': 'off', // Only used by hashtag.jsx
'formatjs/no-multiple-whitespaces': 'error',
'formatjs/no-offset': 'error',
'formatjs/no-useless-message': 'error',
@@ -315,6 +318,7 @@ module.exports = {
overrides: [
{
files: [
'.eslintrc.js',
'*.config.js',
'.*rc.js',
'ide-helper.js',
@@ -365,7 +369,7 @@ module.exports = {
'@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
'@typescript-eslint/consistent-type-exports': 'error',
'@typescript-eslint/consistent-type-imports': 'error',
"@typescript-eslint/prefer-nullish-coalescing": ['error', {ignorePrimitives: {boolean: true}}],
"@typescript-eslint/prefer-nullish-coalescing": ['error', { ignorePrimitives: { boolean: true } }],
'jsdoc/require-jsdoc': 'off',
@@ -388,14 +392,6 @@ module.exports = {
env: {
jest: true,
},
},
{
files: [
'streaming/**/*',
],
rules: {
'import/no-commonjs': 'off',
},
},
}
],
};
});

3
.github/FUNDING.yml vendored
View File

@@ -1,3 +0,0 @@
patreon: mastodon
open_collective: mastodon
custom: https://sponsor.joinmastodon.org

View File

@@ -0,0 +1,42 @@
name: 'Setup Javascript'
description: 'Setup a Javascript environment ready to run the Mastodon code'
inputs:
onlyProduction:
description: Only install production dependencies
default: 'false'
runs:
using: 'composite'
steps:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
# The following is needed because we can not use `cache: true` for `setup-node`, as it does not support Corepack yet and mess up with the cache location if ran after Node is installed
- name: Enable corepack
shell: bash
run: corepack enable
- name: Get yarn cache directory path
id: yarn-cache-dir-path
shell: bash
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install all yarn packages
shell: bash
run: yarn install --immutable
if: inputs.onlyProduction == 'false'
- name: Install all production yarn packages
shell: bash
run: yarn workspaces focus --production
if: inputs.onlyProduction != 'false'

23
.github/actions/setup-ruby/action.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: 'Setup RUby'
description: 'Setup a Ruby environment ready to run the Mastodon code'
inputs:
ruby-version:
description: The Ruby version to install
default: '.ruby-version'
additional-system-dependencies:
description: 'Additional packages to install'
runs:
using: 'composite'
steps:
- name: Install system dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev ${{ inputs.additional-system-dependencies }}
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ inputs.ruby-version }}
bundler-cache: true

13
.github/codecov.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
coverage:
status:
project:
default:
# Github status check is not blocking
informational: true
patch:
default:
# Github status check is not blocking
informational: true
comment:
# Only write a comment in PR if there are changes
require_changes: true

View File

@@ -3,7 +3,6 @@
extends: [
'config:recommended',
':labels(dependencies)',
':maintainLockFilesMonthly', // update non-direct dependencies monthly
':prConcurrentLimitNone', // Remove limit for open PRs at any time.
':prHourlyLimit2', // Rate limit PR creation to a maximum of two per hour.
],
@@ -13,6 +12,7 @@
// If we do not want a package to be grouped with others, we need to set its groupName
// to `null` after any other rule set it to something.
dependencyDashboardHeader: 'This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more. Before approving any upgrade: read the description and comments in the [`renovate.json5` file](https://github.com/mastodon/mastodon/blob/main/.github/renovate.json5).',
postUpdateOptions: ['yarnDedupeHighest'],
packageRules: [
{
// Require Dependency Dashboard Approval for major version bumps of these node packages
@@ -22,6 +22,7 @@
'react-hotkeys', // Requires code changes
// Requires Webpacker upgrade or replacement
'@svgr/webpack',
'@types/webpack',
'babel-loader',
'compression-webpack-plugin',
@@ -49,7 +50,6 @@
matchManagers: ['bundler'],
matchPackageNames: [
'rack', // Needs to be synced with Rails version
'sprockets', // Requires manual upgrade https://github.com/rails/sprockets/blob/master/UPGRADING.md#guide-to-upgrading-from-sprockets-3x-to-4x
'strong_migrations', // Requires manual upgrade
'sidekiq', // Requires manual upgrade
'sidekiq-unique-jobs', // Requires manual upgrades and sync with Sidekiq version
@@ -99,6 +99,16 @@
matchUpdateTypes: ['patch', 'minor'],
groupName: 'eslint (non-major)',
},
{
// Group actions/*-artifact in the same PR
matchManagers: ['github-actions'],
matchPackageNames: [
'actions/download-artifact',
'actions/upload-artifact',
],
matchUpdateTypes: ['major'],
groupName: 'artifact actions (major)',
},
{
// Update @types/* packages every week, with one grouped PR
matchPackagePrefixes: '@types/',

View File

@@ -21,6 +21,8 @@ on:
type: string
labels:
type: string
file_to_build:
type: string
jobs:
build-image:
@@ -29,10 +31,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-qemu-action@v3
if: contains(inputs.platforms, 'linux/arm64') && !inputs.use_native_arm64_builder
- uses: docker/setup-buildx-action@v2
- uses: docker/setup-buildx-action@v3
id: buildx
if: ${{ !(inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')) }}
@@ -41,7 +43,7 @@ jobs:
run: |
docker run --rm -d --name buildkitd -p 1234:1234 --privileged moby/buildkit:latest --addr tcp://0.0.0.0:1234
- uses: docker/setup-buildx-action@v2
- uses: docker/setup-buildx-action@v3
id: buildx-native
if: inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')
with:
@@ -61,20 +63,20 @@ jobs:
- name: Log in to Docker Hub
if: contains(inputs.push_to_images, 'tootsuite')
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Log in to the Github Container registry
if: contains(inputs.push_to_images, 'ghcr.io')
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/metadata-action@v4
- uses: docker/metadata-action@v5
id: meta
if: ${{ inputs.push_to_images != '' }}
with:
@@ -83,9 +85,10 @@ jobs:
tags: ${{ inputs.tags }}
labels: ${{ inputs.labels }}
- uses: docker/build-push-action@v4
- uses: docker/build-push-action@v5
with:
context: .
file: ${{ inputs.file_to_build }}
build-args: |
MASTODON_VERSION_PRERELEASE=${{ inputs.version_prerelease }}
MASTODON_VERSION_METADATA=${{ inputs.version_metadata }}

View File

@@ -11,6 +11,7 @@ permissions:
jobs:
compute-suffix:
runs-on: ubuntu-latest
if: github.repository == 'glitch-soc/mastodon'
steps:
- id: version_vars
env:
@@ -24,6 +25,7 @@ jobs:
needs: compute-suffix
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: false
cache: false
@@ -39,3 +41,24 @@ jobs:
type=raw,value=nightly
type=schedule,pattern=${{ needs.compute-suffix.outputs.prerelease }}
secrets: inherit
build-image-streaming:
needs: compute-suffix
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: false
cache: false
push_to_images: |
ghcr.io/${{ github.repository_owner }}/mastodon-streaming
version_prerelease: ${{ needs.compute-suffix.outputs.prerelease }}
labels: |
org.opencontainers.image.description=Nightly build image used for testing purposes
flavor: |
latest=true
tags: |
type=raw,value=edge
type=raw,value=nightly
type=schedule,pattern=${{ needs.compute-suffix.outputs.prerelease }}
secrets: inherit

View File

@@ -29,6 +29,7 @@ jobs:
needs: compute-suffix
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: false
push_to_images: |
@@ -39,3 +40,19 @@ jobs:
tags: |
type=ref,event=pr
secrets: inherit
build-image-streaming:
needs: compute-suffix
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: false
push_to_images: |
ghcr.io/${{ github.repository_owner }}/mastodon-streaming
version_metadata: ${{ needs.compute-suffix.outputs.metadata }}
flavor: |
latest=auto
tags: |
type=ref,event=pr
secrets: inherit

View File

@@ -12,6 +12,7 @@ jobs:
build-image:
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: false
push_to_images: |
@@ -26,3 +27,23 @@ jobs:
type=pep440,pattern={{raw}}
type=pep440,pattern=v{{major}}.{{minor}}
secrets: inherit
build-image-streaming:
if: startsWith(github.ref, 'refs/tags/v4.3.')
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: false
push_to_images: |
ghcr.io/${{ github.repository_owner }}/mastodon-streaming
# Do not use cache when building releases, so apt update is always ran and the release always contain the latest packages
cache: false
# Only tag with latest when ran against the latest stable branch
# This needs to be updated after each minor version release
flavor: |
latest=${{ startsWith(github.ref, 'refs/tags/v4.3.') }}
tags: |
type=pep440,pattern={{raw}}
type=pep440,pattern=v{{major}}.{{minor}}
secrets: inherit

View File

@@ -27,14 +27,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Run bundler-audit
run: bundle exec bundler-audit

View File

@@ -19,25 +19,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Check for missing strings in English JSON
run: |

View File

@@ -11,6 +11,7 @@ permissions:
jobs:
download-translations:
runs-on: ubuntu-latest
if: github.repository == 'glitch-soc/mastodon'
steps:
- name: Checkout
@@ -44,14 +45,8 @@ jobs:
run: sudo chown -R runner:docker .
# This is needed to run the normalize step
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Run i18n normalize task
run: bundle exec i18n-tasks normalize

View File

@@ -35,14 +35,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- uses: xt0rted/stylelint-problem-matcher@v1

View File

@@ -30,16 +30,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Install native Ruby dependencies
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Run haml-lint
run: |

View File

@@ -39,14 +39,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: ESLint
run: yarn lint:js --max-warnings 0

View File

@@ -31,14 +31,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Prettier
run: yarn lint:json

View File

@@ -31,14 +31,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Prettier
run: yarn lint:md

View File

@@ -31,14 +31,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Set-up RuboCop Problem Matcher
uses: r7kamura/rubocop-problem-matchers-action@v1

View File

@@ -33,14 +33,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Prettier
run: yarn lint:yml

View File

@@ -7,6 +7,7 @@ on:
- .github/workflows/build-releases.yml
- .github/workflows/test-image-build.yml
- Dockerfile
- streaming/Dockerfile
permissions:
contents: read
@@ -18,4 +19,17 @@ jobs:
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64 # Testing only on native platform so it is performant
cache: true
build-image-streaming:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-streaming
cancel-in-progress: true
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
platforms: linux/amd64 # Testing only on native platform so it is performant
cache: true

View File

@@ -35,14 +35,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Jest testing
run: yarn jest --reporters github-actions summary

View File

@@ -72,16 +72,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install native Ruby dependencies
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Create database
run: './bin/rails db:create'

View File

@@ -71,16 +71,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install native Ruby dependencies
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Create database
run: './bin/rails db:create'

View File

@@ -34,36 +34,29 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
with:
cache: yarn
node-version-file: '.nvmrc'
onlyProduction: 'true'
- name: Install native Ruby dependencies
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- run: yarn --frozen-lockfile --production
- name: Precompile assets
# Previously had set this, but it's not supported
# export NODE_OPTIONS=--openssl-legacy-provider
run: |-
./bin/rails assets:precompile
- name: Archive asset artifacts
run: |
tar --exclude={"*.br","*.gz"} -zcf artifacts.tar.gz public/assets public/packs*
- uses: actions/upload-artifact@v3
if: matrix.mode == 'test'
with:
path: |-
./public/assets
./public/packs-test
./artifacts.tar.gz
name: ${{ github.sha }}
retention-days: 0
@@ -101,7 +94,7 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
DISABLE_SIMPLECOV: ${{ matrix.ruby-version != '.ruby-version' }}
RAILS_ENV: test
ALLOW_NOPAM: true
PAM_ENABLED: true
@@ -112,7 +105,7 @@ jobs:
SAML_ENABLED: true
CAS_ENABLED: true
BUNDLE_WITH: 'pam_authentication test'
CI_JOBS: ${{ matrix.ci_job }}/4
GITHUB_RSPEC: ${{ matrix.ruby-version == '.ruby-version' && github.event.pull_request && 'true' }}
strategy:
fail-fast: false
@@ -121,38 +114,34 @@ jobs:
- '3.0'
- '3.1'
- '.ruby-version'
ci_job:
- 1
- 2
- 3
- 4
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
path: './public'
path: './'
name: ${{ github.sha }}
- name: Update package index
run: sudo apt-get update
- name: Expand archived asset artifacts
run: |
tar xvzf artifacts.tar.gz
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Install additional system dependencies
run: sudo apt-get install -y ffmpeg imagemagick libpam-dev
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
bundler-cache: true
additional-system-dependencies: ffmpeg imagemagick libpam-dev
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
- run: bundle exec rake rspec_chunked
- run: bin/rspec
- name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v3
with:
files: coverage/lcov/mastodon.lcov
test-e2e:
name: End to End testing
@@ -209,28 +198,14 @@ jobs:
path: './public'
name: ${{ github.sha }}
- name: Update package index
run: sudo apt-get update
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Install additional system dependencies
run: sudo apt-get install -y ffmpeg imagemagick
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
bundler-cache: true
additional-system-dependencies: ffmpeg imagemagick
- run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
@@ -252,7 +227,7 @@ jobs:
path: tmp/screenshots/
test-search:
name: Testing search
name: Elastic Search integration testing
runs-on: ubuntu-latest
needs:
@@ -282,8 +257,8 @@ jobs:
ports:
- 6379:6379
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.13
search:
image: ${{ matrix.search-image }}
env:
discovery.type: single-node
xpack.security.enabled: false
@@ -313,6 +288,11 @@ jobs:
- '3.0'
- '3.1'
- '.ruby-version'
search-image:
- docker.elastic.co/elasticsearch/elasticsearch:7.17.13
include:
- ruby-version: '.ruby-version'
search-image: docker.elastic.co/elasticsearch/elasticsearch:8.10.2
steps:
- uses: actions/checkout@v4
@@ -322,33 +302,19 @@ jobs:
path: './public'
name: ${{ github.sha }}
- name: Update package index
run: sudo apt-get update
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Install additional system dependencies
run: sudo apt-get install -y ffmpeg imagemagick
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
bundler-cache: true
additional-system-dependencies: ffmpeg imagemagick
- run: yarn --frozen-lockfile
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
- run: bundle exec rake spec:search
- run: bin/rspec --tag search
- name: Archive logs
uses: actions/upload-artifact@v3

12
.gitignore vendored
View File

@@ -31,9 +31,6 @@
# Ignore Vagrant files
.vagrant/
# Ignore Capistrano customizations
/config/deploy/*
# Ignore IDE files
.vscode/
.idea/
@@ -58,6 +55,15 @@ npm-debug.log
yarn-error.log
yarn-debug.log
# From https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
# Ignore vagrant log files
*-cloudimg-console.log

View File

@@ -12,3 +12,5 @@ linters:
enabled: true
MiddleDot:
enabled: true
LineLength:
max: 320

View File

@@ -1,47 +1,21 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
# on 2023-07-20 09:47:50 -0400 using Haml-Lint version 0.48.0.
# on 2023-12-15 11:02:19 -0500 using Haml-Lint version 0.52.0.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again.
linters:
# Offense count: 951
# Offense count: 11
LineLength:
enabled: false
# Offense count: 22
UnnecessaryStringOutput:
enabled: false
# Offense count: 57
RuboCop:
enabled: false
# Offense count: 3
ViewLength:
exclude:
- 'app/views/admin/accounts/show.html.haml'
- 'app/views/admin/reports/show.html.haml'
- 'app/views/disputes/strikes/show.html.haml'
# Offense count: 32
InstanceVariables:
exclude:
- 'app/views/admin/reports/_actions.html.haml'
- 'app/views/admin/roles/_form.html.haml'
- 'app/views/admin/webhooks/_form.html.haml'
- 'app/views/auth/registrations/_status.html.haml'
- 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
- 'app/views/authorize_interactions/_post_follow_actions.html.haml'
- 'app/views/invites/_form.html.haml'
- 'app/views/relationships/_account.html.haml'
- 'app/views/shared/_og.html.haml'
# Offense count: 3
IdNames:
exclude:
- 'app/views/authorize_interactions/error.html.haml'
- 'app/views/oauth/authorizations/error.html.haml'
- 'app/views/shared/_error_messages.html.haml'
- 'app/views/auth/registrations/edit.html.haml'
- 'app/views/auth/registrations/new.html.haml'
- 'app/views/media/player.html.haml'
- 'app/views/settings/applications/_fields.html.haml'
- 'app/views/settings/imports/index.html.haml'
- 'app/views/settings/preferences/appearance/show.html.haml'
- 'app/views/settings/preferences/notifications/show.html.haml'
- 'app/views/settings/preferences/other/show.html.haml'

2
.nvmrc
View File

@@ -1 +1 @@
20.7
20.9

View File

@@ -31,9 +31,6 @@
# Ignore Vagrant files
.vagrant/
# Ignore Capistrano customizations
/config/deploy/*
# Ignore IDE files
.vscode/
.idea/

View File

@@ -27,7 +27,8 @@ AllCops:
- 'node_modules/**/*'
- 'Vagrantfile'
- 'vendor/**/*'
- 'lib/json_ld/*' # Generated files
- 'config/initializers/json_ld*' # Generated files
- 'lib/mastodon/migration_helpers.rb' # Vendored from GitLab
- 'lib/templates/**/*'
# Reason: Prefer Hashes without extreme indentation
@@ -75,12 +76,6 @@ Metrics/AbcSize:
- 'lib/mastodon/cli/*.rb'
- db/*migrate/**/*
# Reason:
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocknesting
Metrics/BlockNesting:
Exclude:
- 'lib/mastodon/cli/*.rb'
# Reason: Currently disabled in .rubocop_todo.yml
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity
Metrics/CyclomaticComplexity:
@@ -110,20 +105,30 @@ Rails/Exit:
- 'config/boot.rb'
- 'lib/mastodon/cli/*.rb'
Rails/SkipsModelValidations:
Exclude:
- 'db/*migrate/**/*'
# Reason: We want to preserve the ability to migrate from arbitrary old versions,
# and cannot guarantee that every installation has run every migration as they upgrade.
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsunusedignoredcolumns
Rails/UnusedIgnoredColumns:
Enabled: false
# Reason: Prevailing style choice
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsnegateinclude
Rails/NegateInclude:
Enabled: false
# Reason: Some single letter camel case files shouldn't be split
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath
RSpec/FilePath:
CustomTransform:
ActivityPub: activitypub # Ignore the snake_case due to the amount of files to rename
ActivityPub: activitypub
DeepL: deepl
FetchOEmbedService: fetch_oembed_service
JsonLdHelper: jsonld_helper
OEmbedController: oembed_controller
OStatus: ostatus
NodeInfoController: nodeinfo_controller # NodeInfo isn't snake_cased for any of the instances
Exclude:
- 'spec/config/initializers/rack_attack_spec.rb' # namespaces usually have separate folder
- 'spec/lib/sanitize_config_spec.rb' # namespaces usually have separate folder
# Reason:
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject
@@ -140,6 +145,16 @@ RSpec/NotToNot:
RSpec/Rails/HttpStatus:
EnforcedStyle: numeric
# Reason: Match overrides from Rspec/FilePath rule above
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecspecfilepathformat
RSpec/SpecFilePathFormat:
CustomTransform:
ActivityPub: activitypub
DeepL: deepl
FetchOEmbedService: fetch_oembed_service
OEmbedController: oembed_controller
OStatus: ostatus
# Reason:
# https://docs.rubocop.org/rubocop/cops_style.html#styleclassandmodulechildren
Style/ClassAndModuleChildren:

View File

@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp`
# using RuboCop version 1.56.1.
# using RuboCop version 1.57.2.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
@@ -13,32 +13,6 @@ Bundler/OrderedGems:
Exclude:
- 'Gemfile'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: with_first_argument, with_fixed_indentation
Layout/ArgumentAlignment:
Exclude:
- 'config/initializers/cors.rb'
- 'config/initializers/session_store.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
# SupportedHashRocketStyles: key, separator, table
# SupportedColonStyles: key, separator, table
# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
Layout/HashAlignment:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/rack_attack.rb'
- 'config/routes.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment.
Layout/LeadingCommentSpace:
Exclude:
- 'config/application.rb'
- 'config/initializers/3_omniauth.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# URISchemes: http, https
@@ -46,68 +20,13 @@ Layout/LineLength:
Exclude:
- 'app/models/account.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_no_space, require_space
Layout/SpaceInLambdaLiteral:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/content_security_policy.rb'
# Configuration parameters: AllowComments, AllowEmptyLambdas.
Lint/EmptyBlock:
Exclude:
- 'spec/controllers/api/v2/search_controller_spec.rb'
- 'spec/fabricators/access_token_fabricator.rb'
- 'spec/fabricators/conversation_fabricator.rb'
- 'spec/fabricators/system_key_fabricator.rb'
- 'spec/lib/activitypub/adapter_spec.rb'
- 'spec/models/user_role_spec.rb'
Lint/NonLocalExitFromIterator:
Exclude:
- 'app/helpers/jsonld_helper.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Lint/OrAssignmentToConstant:
Exclude:
- 'lib/sanitize_ext/sanitize_config.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
Exclude:
- 'config/initializers/content_security_policy.rb'
- 'config/initializers/doorkeeper.rb'
- 'config/initializers/paperclip.rb'
- 'config/initializers/simple_form.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Lint/UselessAssignment:
Exclude:
- 'app/services/activitypub/process_status_update_service.rb'
- 'config/initializers/3_omniauth.rb'
- 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
- 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb'
- 'spec/controllers/api/v1/favourites_controller_spec.rb'
- 'spec/controllers/concerns/account_controller_concern_spec.rb'
- 'spec/helpers/jsonld_helper_spec.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/domain_block_spec.rb'
- 'spec/models/status_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/models/webauthn_credentials_spec.rb'
- 'spec/services/account_search_service_spec.rb'
- 'spec/services/post_status_service_spec.rb'
- 'spec/services/precompute_feed_service_spec.rb'
- 'spec/services/resolve_url_service_spec.rb'
- 'spec/views/statuses/show.html.haml_spec.rb'
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
Max: 144
Exclude:
- 'app/serializers/initial_state_serializer.rb'
Max: 100
# Configuration parameters: CountBlocks, Max.
Metrics/BlockNesting:
@@ -122,101 +41,14 @@ Metrics/CyclomaticComplexity:
Metrics/PerceivedComplexity:
Max: 27
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
# SupportedStyles: snake_case, normalcase, non_integer
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
Naming/VariableNumber:
Exclude:
- 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- 'db/migrate/20190820003045_update_statuses_index.rb'
- 'db/migrate/20190823221802_add_local_index_to_statuses.rb'
- 'db/migrate/20200119112504_add_public_index_to_statuses.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/domain_block_spec.rb'
- 'spec/models/user_spec.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: SafeMultiline.
Performance/DeletePrefix:
Exclude:
- 'app/models/featured_tag.rb'
Performance/MapMethodChain:
Exclude:
- 'app/models/feed.rb'
- 'lib/mastodon/cli/maintenance.rb'
- 'spec/services/bulk_import_service_spec.rb'
- 'spec/services/import_service_spec.rb'
RSpec/AnyInstance:
Exclude:
- 'spec/controllers/activitypub/inboxes_controller_spec.rb'
- 'spec/controllers/admin/accounts_controller_spec.rb'
- 'spec/controllers/admin/resets_controller_spec.rb'
- 'spec/controllers/admin/settings/branding_controller_spec.rb'
- 'spec/controllers/api/v1/media_controller_spec.rb'
- 'spec/controllers/auth/sessions_controller_spec.rb'
- 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb'
- 'spec/controllers/settings/two_factor_authentication/recovery_codes_controller_spec.rb'
- 'spec/lib/request_spec.rb'
- 'spec/lib/status_filter_spec.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/setting_spec.rb'
- 'spec/services/activitypub/process_collection_service_spec.rb'
- 'spec/validators/follow_limit_validator_spec.rb'
- 'spec/workers/activitypub/delivery_worker_spec.rb'
- 'spec/workers/web/push_notification_worker_spec.rb'
# Configuration parameters: CountAsOne.
RSpec/ExampleLength:
Max: 22
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, each, example
RSpec/HookArgument:
Exclude:
- 'spec/controllers/api/v1/streaming_controller_spec.rb'
- 'spec/controllers/well_known/webfinger_controller_spec.rb'
- 'spec/helpers/instance_helper_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/rails_helper.rb'
- 'spec/serializers/activitypub/note_serializer_spec.rb'
- 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
- 'spec/services/import_service_spec.rb'
# Configuration parameters: AssignmentOnly.
RSpec/InstanceVariable:
Exclude:
- 'spec/controllers/api/v1/streaming_controller_spec.rb'
- 'spec/controllers/auth/confirmations_controller_spec.rb'
- 'spec/controllers/auth/passwords_controller_spec.rb'
- 'spec/controllers/auth/sessions_controller_spec.rb'
- 'spec/controllers/concerns/export_controller_concern_spec.rb'
- 'spec/controllers/home_controller_spec.rb'
- 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb'
- 'spec/controllers/statuses_cleanup_controller_spec.rb'
- 'spec/models/concerns/account_finder_concern_spec.rb'
- 'spec/models/concerns/account_interactions_spec.rb'
- 'spec/models/public_feed_spec.rb'
- 'spec/serializers/activitypub/note_serializer_spec.rb'
- 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
- 'spec/services/remove_status_service_spec.rb'
- 'spec/services/search_service_spec.rb'
- 'spec/services/unblock_domain_service_spec.rb'
RSpec/LetSetup:
Exclude:
- 'spec/controllers/admin/accounts_controller_spec.rb'
- 'spec/controllers/admin/action_logs_controller_spec.rb'
- 'spec/controllers/admin/instances_controller_spec.rb'
- 'spec/controllers/admin/reports/actions_controller_spec.rb'
- 'spec/controllers/admin/statuses_controller_spec.rb'
- 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb'
- 'spec/controllers/api/v1/admin/accounts_controller_spec.rb'
- 'spec/controllers/api/v1/filters_controller_spec.rb'
- 'spec/controllers/api/v1/followed_tags_controller_spec.rb'
- 'spec/controllers/api/v2/admin/accounts_controller_spec.rb'
- 'spec/controllers/api/v2/filters/keywords_controller_spec.rb'
- 'spec/controllers/api/v2/filters/statuses_controller_spec.rb'
@@ -255,31 +87,6 @@ RSpec/LetSetup:
- 'spec/services/unsuspend_account_service_spec.rb'
- 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb'
RSpec/MessageChain:
Exclude:
- 'spec/controllers/api/v1/media_controller_spec.rb'
- 'spec/models/concerns/remotable_spec.rb'
- 'spec/models/session_activation_spec.rb'
- 'spec/models/setting_spec.rb'
# Configuration parameters: EnforcedStyle.
# SupportedStyles: have_received, receive
RSpec/MessageSpies:
Exclude:
- 'spec/controllers/admin/accounts_controller_spec.rb'
- 'spec/helpers/admin/account_moderation_notes_helper_spec.rb'
- 'spec/lib/webfinger_resource_spec.rb'
- 'spec/models/admin/account_action_spec.rb'
- 'spec/models/concerns/remotable_spec.rb'
- 'spec/models/follow_request_spec.rb'
- 'spec/models/identity_spec.rb'
- 'spec/models/session_activation_spec.rb'
- 'spec/models/setting_spec.rb'
- 'spec/services/activitypub/fetch_replies_service_spec.rb'
- 'spec/services/activitypub/process_collection_service_spec.rb'
- 'spec/spec_helper.rb'
- 'spec/validators/status_length_validator_spec.rb'
RSpec/MultipleExpectations:
Max: 8
@@ -291,88 +98,26 @@ RSpec/MultipleMemoizedHelpers:
RSpec/NestedGroups:
Max: 6
RSpec/PendingWithoutReason:
Exclude:
- 'spec/models/account_spec.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/ApplicationController:
Exclude:
- 'app/controllers/health_controller.rb'
# Configuration parameters: Include.
# Include: db/**/*.rb
Rails/CreateTableWithTimestamps:
Exclude:
- 'db/migrate/20170508230434_create_conversation_mutes.rb'
- 'db/migrate/20170823162448_create_status_pins.rb'
- 'db/migrate/20171116161857_create_list_accounts.rb'
- 'db/migrate/20180929222014_create_account_conversations.rb'
- 'db/migrate/20181007025445_create_pghero_space_stats.rb'
- 'db/migrate/20190103124649_create_scheduled_statuses.rb'
- 'db/migrate/20220824233535_create_status_trends.rb'
- 'db/migrate/20221006061337_create_preview_card_trends.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Severity.
Rails/DuplicateAssociation:
Exclude:
- 'app/serializers/activitypub/collection_serializer.rb'
- 'app/serializers/activitypub/note_serializer.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasAndBelongsToMany:
Exclude:
- 'app/models/concerns/account_associations.rb'
- 'app/models/concerns/account/associations.rb'
- 'app/models/preview_card.rb'
- 'app/models/status.rb'
- 'app/models/tag.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasManyOrHasOneDependent:
Exclude:
- 'app/models/concerns/account_counters.rb'
- 'app/models/conversation.rb'
- 'app/models/custom_emoji.rb'
- 'app/models/custom_emoji_category.rb'
- 'app/models/domain_block.rb'
- 'app/models/invite.rb'
- 'app/models/status.rb'
- 'app/models/user.rb'
- 'app/models/web/push_subscription.rb'
Rails/I18nLocaleTexts:
Exclude:
- 'lib/tasks/mastodon.rake'
- 'spec/helpers/flashes_helper_spec.rb'
# Configuration parameters: Include.
# Include: app/controllers/**/*.rb, app/mailers/**/*.rb
Rails/LexicallyScopedActionFilter:
Exclude:
- 'app/controllers/auth/passwords_controller.rb'
- 'app/controllers/auth/registrations_controller.rb'
- 'app/controllers/auth/sessions_controller.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/NegateInclude:
Exclude:
- 'app/controllers/concerns/signature_verification.rb'
- 'app/helpers/jsonld_helper.rb'
- 'app/lib/activitypub/activity/create.rb'
- 'app/lib/activitypub/activity/move.rb'
- 'app/lib/feed_manager.rb'
- 'app/lib/link_details_extractor.rb'
- 'app/models/concerns/attachmentable.rb'
- 'app/models/concerns/remotable.rb'
- 'app/models/custom_filter.rb'
- 'app/services/activitypub/process_status_update_service.rb'
- 'app/services/fetch_link_card_service.rb'
- 'app/services/search_service.rb'
- 'app/workers/web/push_notification_worker.rb'
- 'lib/paperclip/color_extractor.rb'
Rails/OutputSafety:
Exclude:
@@ -390,31 +135,13 @@ Rails/RakeEnvironment:
- 'lib/tasks/repo.rake'
- 'lib/tasks/statistics.rake'
# Configuration parameters: Include.
# Include: db/**/*.rb
Rails/ReversibleMigration:
Exclude:
- 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb'
- 'db/migrate/20161122163057_remove_unneeded_indexes.rb'
- 'db/migrate/20170205175257_remove_devices.rb'
- 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb'
- 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb'
- 'db/migrate/20170609145826_remove_default_language_from_statuses.rb'
- 'db/migrate/20170711225116_fix_null_booleans.rb'
- 'db/migrate/20171129172043_add_index_on_stream_entries.rb'
- 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb'
- 'db/migrate/20171226094803_more_faster_index_on_notifications.rb'
- 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- 'db/migrate/20180617162849_remove_unused_indexes.rb'
- 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
# Configuration parameters: ForbiddenMethods, AllowedMethods.
# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
Rails/SkipsModelValidations:
Exclude:
- 'app/controllers/admin/invites_controller.rb'
- 'app/controllers/concerns/session_tracking_concern.rb'
- 'app/models/concerns/account_merging.rb'
- 'app/models/concerns/account/merging.rb'
- 'app/models/concerns/expireable.rb'
- 'app/models/status.rb'
- 'app/models/trends/links.rb'
@@ -437,55 +164,12 @@ Rails/SkipsModelValidations:
- 'app/workers/move_worker.rb'
- 'app/workers/scheduler/ip_cleanup_scheduler.rb'
- 'app/workers/scheduler/scheduled_statuses_scheduler.rb'
- 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb'
- 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb'
- 'db/migrate/20170209184350_add_reply_to_statuses.rb'
- 'db/migrate/20170304202101_add_type_to_media_attachments.rb'
- 'db/migrate/20180528141303_fix_accounts_unique_index.rb'
- 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb'
- 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb'
- 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
- 'db/migrate/20191007013357_update_pt_locales.rb'
- 'db/migrate/20220316233212_update_kurdish_locales.rb'
- 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb'
- 'db/post_migrate/20200917193528_migrate_notifications_type.rb'
- 'db/post_migrate/20201017234926_fill_account_suspension_origin.rb'
- 'db/post_migrate/20220617202502_migrate_roles.rb'
- 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb'
- 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb'
- 'lib/mastodon/cli/accounts.rb'
- 'lib/mastodon/cli/main.rb'
- 'lib/mastodon/cli/maintenance.rb'
- 'spec/controllers/api/v1/admin/accounts_controller_spec.rb'
- 'spec/lib/activitypub/activity/follow_spec.rb'
- 'spec/services/follow_service_spec.rb'
- 'spec/services/update_account_service_spec.rb'
# Configuration parameters: Include.
# Include: db/**/*.rb
Rails/ThreeStateBooleanColumn:
Exclude:
- 'db/migrate/20160325130944_add_admin_to_users.rb'
- 'db/migrate/20161123093447_add_sensitive_to_statuses.rb'
- 'db/migrate/20170123203248_add_reject_media_to_domain_blocks.rb'
- 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb'
- 'db/migrate/20170209184350_add_reply_to_statuses.rb'
- 'db/migrate/20170330163835_create_imports.rb'
- 'db/migrate/20170905165803_add_local_to_statuses.rb'
- 'db/migrate/20171210213213_add_local_only_flag_to_statuses.rb'
- 'db/migrate/20181203021853_add_discoverable_to_accounts.rb'
- 'db/migrate/20190509164208_add_by_moderator_to_tombstone.rb'
- 'db/migrate/20190805123746_add_capabilities_to_tags.rb'
- 'db/migrate/20191212163405_add_hide_collections_to_accounts.rb'
- 'db/migrate/20200309150742_add_forwarded_to_reports.rb'
- 'db/migrate/20210609202149_create_login_activities.rb'
- 'db/migrate/20210621221010_add_skip_sign_in_token_to_users.rb'
- 'db/migrate/20211031031021_create_preview_card_providers.rb'
- 'db/migrate/20211115032527_add_trendable_to_preview_cards.rb'
- 'db/migrate/20220202200743_add_trendable_to_accounts.rb'
- 'db/migrate/20220202200926_add_trendable_to_statuses.rb'
- 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UniqueValidationWithoutIndex:
@@ -495,19 +179,6 @@ Rails/UniqueValidationWithoutIndex:
- 'app/models/identity.rb'
- 'app/models/webauthn_credential.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UnusedIgnoredColumns:
Exclude:
- 'app/models/account.rb'
- 'app/models/account_stat.rb'
- 'app/models/admin/action_log.rb'
- 'app/models/custom_filter.rb'
- 'app/models/email_domain_block.rb'
- 'app/models/report.rb'
- 'app/models/status_edit.rb'
- 'app/models/user.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: exists, where
@@ -521,7 +192,7 @@ Rails/WhereExists:
- 'app/lib/feed_manager.rb'
- 'app/lib/status_cache_hydrator.rb'
- 'app/lib/suspicious_sign_in_detector.rb'
- 'app/models/concerns/account_interactions.rb'
- 'app/models/concerns/account/interactions.rb'
- 'app/models/featured_tag.rb'
- 'app/models/poll.rb'
- 'app/models/session_activation.rb'
@@ -549,7 +220,7 @@ Style/CaseEquality:
Exclude:
- 'config/initializers/trusted_proxies.rb'
# This cop supports safe autocorrection (--autocorrect).
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: AllowedMethods, AllowedPatterns.
# AllowedMethods: ==, equal?, eql?
Style/ClassEqualityComparison:
@@ -561,12 +232,6 @@ Style/ClassVars:
Exclude:
- 'config/initializers/devise.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/CombinableLoops:
Exclude:
- 'app/models/form/custom_emoji_batch.rb'
- 'app/models/form/ip_block_batch.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedVars.
Style/FetchEnvVar:
@@ -579,11 +244,10 @@ Style/FetchEnvVar:
- 'config/initializers/3_omniauth.rb'
- 'config/initializers/blacklists.rb'
- 'config/initializers/cache_buster.rb'
- 'config/initializers/content_security_policy.rb'
- 'config/initializers/devise.rb'
- 'config/initializers/paperclip.rb'
- 'config/initializers/vapid.rb'
- 'lib/mastodon/premailer_webpack_strategy.rb'
- 'lib/premailer_webpack_strategy.rb'
- 'lib/mastodon/redis_config.rb'
- 'lib/tasks/repo.rake'
- 'spec/features/profile_spec.rb'
@@ -618,8 +282,8 @@ Style/GuardClause:
- 'app/lib/request_pool.rb'
- 'app/lib/webfinger.rb'
- 'app/lib/webfinger_resource.rb'
- 'app/models/concerns/account_counters.rb'
- 'app/models/concerns/ldap_authenticable.rb'
- 'app/models/concerns/account/counters.rb'
- 'app/models/concerns/user/ldap_authenticable.rb'
- 'app/models/tag.rb'
- 'app/models/user.rb'
- 'app/services/fan_out_on_write_service.rb'
@@ -633,8 +297,8 @@ Style/GuardClause:
- 'config/initializers/devise.rb'
- 'db/migrate/20170901141119_truncate_preview_cards.rb'
- 'db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb'
- 'lib/devise/two_factor_ldap_authenticatable.rb'
- 'lib/devise/two_factor_pam_authenticatable.rb'
- 'lib/devise/strategies/two_factor_ldap_authenticatable.rb'
- 'lib/devise/strategies/two_factor_pam_authenticatable.rb'
- 'lib/mastodon/cli/accounts.rb'
- 'lib/mastodon/cli/maintenance.rb'
- 'lib/mastodon/cli/media.rb'
@@ -648,8 +312,8 @@ Style/HashAsLastArrayItem:
Exclude:
- 'app/controllers/admin/statuses_controller.rb'
- 'app/controllers/api/v1/statuses_controller.rb'
- 'app/models/concerns/account_counters.rb'
- 'app/models/concerns/status_threading_concern.rb'
- 'app/models/concerns/account/counters.rb'
- 'app/models/concerns/status/threading_concern.rb'
- 'app/models/status.rb'
- 'app/services/batched_remove_status_service.rb'
- 'app/services/notify_service.rb'
@@ -668,22 +332,6 @@ Style/IfUnlessModifier:
- 'config/initializers/devise.rb'
- 'config/initializers/ffmpeg.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: InverseMethods, InverseBlocks.
Style/InverseMethods:
Exclude:
- 'app/models/custom_filter.rb'
- 'app/services/update_account_service.rb'
- 'spec/controllers/activitypub/replies_controller_spec.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: line_count_dependent, lambda, literal
Style/Lambda:
Exclude:
- 'config/initializers/simple_form.rb'
- 'config/routes.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/MapToHash:
Exclude:
@@ -748,49 +396,26 @@ Style/RedundantFetchBlock:
- 'config/initializers/paperclip.rb'
- 'config/puma.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowMultipleReturnValues.
Style/RedundantReturn:
Exclude:
- 'app/controllers/api/v1/directories_controller.rb'
- 'app/controllers/auth/confirmations_controller.rb'
- 'app/lib/ostatus/tag_manager.rb'
- 'app/models/form/import.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
# AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation:
Exclude:
- 'app/models/concerns/account_finder_concern.rb'
- 'app/models/status.rb'
- 'app/models/concerns/account/finder_concern.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: only_raise, only_fail, semantic
Style/SignalException:
Exclude:
- 'lib/devise/two_factor_ldap_authenticatable.rb'
- 'lib/devise/two_factor_pam_authenticatable.rb'
- 'lib/devise/strategies/two_factor_ldap_authenticatable.rb'
- 'lib/devise/strategies/two_factor_pam_authenticatable.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/SingleArgumentDig:
Exclude:
- 'lib/webpacker/manifest_extensions.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_parentheses, require_no_parentheses
Style/StabbyLambdaParentheses:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/content_security_policy.rb'
# This cop supports safe autocorrection (--autocorrect).
Style/StderrPuts:
Exclude:
- 'config/boot.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Mode.
Style/StringConcatenation:
@@ -809,13 +434,6 @@ Style/StringLiterals:
- 'config/initializers/webauthn.rb'
- 'config/routes.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
# AllowedMethods: define_method, mail, respond_to
Style/SymbolProc:
Exclude:
- 'config/initializers/3_omniauth.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, AllowSafeAssignment.
# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
@@ -844,6 +462,3 @@ Style/TrailingCommaInHashLiteral:
Style/WordArray:
Exclude:
- 'app/helpers/languages_helper.rb'
- 'config/initializers/cors.rb'
- 'spec/controllers/settings/imports_controller_spec.rb'
- 'spec/models/form/import_spec.rb'

22
.simplecov Normal file
View File

@@ -0,0 +1,22 @@
# frozen_string_literal: true
if ENV['CI']
require 'simplecov-lcov'
SimpleCov::Formatter::LcovFormatter.config.report_with_single_file = true
SimpleCov.formatter = SimpleCov::Formatter::LcovFormatter
else
SimpleCov.formatter = SimpleCov::Formatter::HTMLFormatter
end
SimpleCov.start 'rails' do
enable_coverage :branch
add_filter 'lib/linter'
add_group 'Libraries', 'lib'
add_group 'Policies', 'app/policies'
add_group 'Presenters', 'app/presenters'
add_group 'Serializers', 'app/serializers'
add_group 'Services', 'app/services'
add_group 'Validators', 'app/validators'
end

3
.watchmanconfig Normal file
View File

@@ -0,0 +1,3 @@
{
"ignore_dirs": ["node_modules/", "public/"]
}

0
.yarn/.gitkeep Normal file
View File

View File

@@ -0,0 +1,13 @@
diff --git a/lib/index.js b/lib/index.js
index 16ed6be8be8f555cc99096c2ff60954b42dc313d..d009c069770d066ad0db7ad02de1ea473a29334e 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -99,7 +99,7 @@ function lodash(_ref) {
var node = _ref3;
- if ((0, _types.isModuleDeclaration)(node)) {
+ if ((0, _types.isImportDeclaration)(node) || (0, _types.isExportDeclaration)(node)) {
isModule = true;
break;
}

View File

@@ -0,0 +1,22 @@
diff --git a/dist/index.js b/dist/index.js
index 57e375592d984e9a429bcd9f800fa2d15cd662e4..0c47d96df3608e23adfd77d887a8f72abbd501c0 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = void 0;
-var _crypto = _interopRequireDefault(require("crypto"));
+var _createHash = _interopRequireDefault(require("webpack/lib/util/createHash"));
var _path = _interopRequireDefault(require("path"));
@@ -227,7 +227,7 @@ class CompressionPlugin {
originalAlgorithm: this.options.algorithm,
compressionOptions: this.options.compressionOptions,
name,
- contentHash: _crypto.default.createHash("md4").update(input).digest("hex")
+ contentHash: _createHash.default("md4").update(input).digest("hex")
};
} else {
cacheData.name = (0, _serializeJavascript.default)({

View File

@@ -1,49 +0,0 @@
# test directories
__tests__
test
tests
powered-test
# asset directories
docs
doc
website
images
# assets
# examples
example
examples
# code coverage directories
coverage
.nyc_output
# build scripts
Makefile
Gulpfile.js
Gruntfile.js
# configs
.tern-project
.gitattributes
.editorconfig
.*ignore
.eslintrc
.jshintrc
.flowconfig
.documentup.json
.yarn-metadata.json
.*.yml
*.yml
# misc
*.gz
*.md
# for specific ignore
!.svgo.yml
!sass-lint/**/*.yml
# breaks lint-staged or generally anything using https://github.com/eemeli/yaml/issues/384
!**/yaml/dist/**/doc

1
.yarnrc.yml Normal file
View File

@@ -0,0 +1 @@
nodeLinker: node-modules

File diff suppressed because it is too large Load Diff

View File

@@ -50,6 +50,10 @@ You can contribute in the following ways:
If your contributions are accepted into Mastodon, you can request to be paid through [our OpenCollective](https://opencollective.com/mastodon).
## API Changes and Additions
Please note that any changes or additions made to the API should have an accompanying pull request on [our documentation repository](https://github.com/mastodon/documentation).
## Bug reports
Bug reports and feature suggestions must use descriptive and concise titles and be submitted to [GitHub Issues](https://github.com/mastodon/mastodon/issues). Please use the search function to make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected.

15
Capfile
View File

@@ -1,15 +0,0 @@
# frozen_string_literal: true
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/scm/git'
install_plugin Capistrano::SCM::Git
require 'capistrano/rbenv'
require 'capistrano/bundler'
require 'capistrano/yarn'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

View File

@@ -1,105 +1,259 @@
# syntax=docker/dockerfile:1.4
# This needs to be bookworm-slim because the Ruby image is built on bookworm-slim
ARG NODE_VERSION="20.6-bookworm-slim"
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.2-slim as ruby
FROM node:${NODE_VERSION} as build
# Please see https://docs.docker.com/engine/reference/builder for information about
# the extended buildx capabilities used in this file.
# Make sure multiarch TARGETPLATFORM is available for interpolation
# See: https://docs.docker.com/build/building/multi-platform/
ARG TARGETPLATFORM=${TARGETPLATFORM}
ARG BUILDPLATFORM=${BUILDPLATFORM}
COPY --link --from=ruby /opt/ruby /opt/ruby
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.2.2"]
ARG RUBY_VERSION="3.2.2"
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
ARG NODE_MAJOR_VERSION="20"
# Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"]
ARG DEBIAN_VERSION="bookworm"
# Node image to use for base image based on combined variables (ex: 20-bookworm-slim)
FROM docker.io/node:${NODE_MAJOR_VERSION}-${DEBIAN_VERSION}-slim as node
# Ruby image to use for base image based on combined variables (ex: 3.2.2-slim-bookworm)
FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} as ruby
ENV DEBIAN_FRONTEND="noninteractive" \
PATH="${PATH}:/opt/ruby/bin"
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
WORKDIR /opt/mastodon
COPY Gemfile* package.json yarn.lock /opt/mastodon/
# hadolint ignore=DL3008
RUN apt-get update && \
apt-get -yq dist-upgrade && \
apt-get install -y --no-install-recommends build-essential \
git \
libicu-dev \
libidn-dev \
libpq-dev \
libjemalloc-dev \
zlib1g-dev \
libgdbm-dev \
libgmp-dev \
libssl-dev \
libyaml-0-2 \
ca-certificates \
libreadline8 \
python3 \
shared-mime-info && \
bundle config set --local deployment 'true' && \
bundle config set --local without 'development test' && \
bundle config set silence_root_warning true && \
bundle install -j"$(nproc)" && \
yarn install --pure-lockfile --production --network-timeout 600000 && \
yarn cache clean
FROM node:${NODE_VERSION}
# Use those args to specify your own version flags & suffixes
# Resulting version string is vX.X.X-MASTODON_VERSION_PRERELEASE+MASTODON_VERSION_METADATA
# Example: v4.2.0-nightly.2023.11.09+something
# Overwrite existance of 'alpha.0' in version.rb [--build-arg MASTODON_VERSION_PRERELEASE="nightly.2023.11.09"]
ARG MASTODON_VERSION_PRERELEASE=""
# Append build metadata or fork information to version.rb [--build-arg MASTODON_VERSION_METADATA="something"]
ARG MASTODON_VERSION_METADATA=""
# Allow Ruby on Rails to serve static files
# See: https://docs.joinmastodon.org/admin/config/#rails_serve_static_files
ARG RAILS_SERVE_STATIC_FILES="true"
# Allow to use YJIT compiler
# See: https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md
ARG RUBY_YJIT_ENABLE="1"
# Timezone used by the Docker container and runtime, change with [--build-arg TZ=Europe/Berlin]
ARG TZ="Etc/UTC"
# Linux UID (user id) for the mastodon user, change with [--build-arg UID=1234]
ARG UID="991"
# Linux GID (group id) for the mastodon user, change with [--build-arg GID=1234]
ARG GID="991"
COPY --link --from=ruby /opt/ruby /opt/ruby
# Apply Mastodon build options based on options above
ENV \
# Apply Mastodon version information
MASTODON_VERSION_PRERELEASE="${MASTODON_VERSION_PRERELEASE}" \
MASTODON_VERSION_METADATA="${MASTODON_VERSION_METADATA}" \
# Apply Mastodon static files and YJIT options
RAILS_SERVE_STATIC_FILES=${RAILS_SERVE_STATIC_FILES} \
RUBY_YJIT_ENABLE=${RUBY_YJIT_ENABLE} \
# Apply timezone
TZ=${TZ}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ENV \
# Configure the IP to bind Mastodon to when serving traffic
BIND="0.0.0.0" \
# Use production settings for Yarn, Node and related nodejs based tools
NODE_ENV="production" \
# Use production settings for Ruby on Rails
RAILS_ENV="production" \
# Add Ruby and Mastodon installation to the PATH
DEBIAN_FRONTEND="noninteractive" \
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin" \
# Optimize jemalloc 5.x performance
MALLOC_CONF="narenas:2,background_thread:true,thp:never,dirty_decay_ms:1000,muzzy_decay_ms:0"
ENV DEBIAN_FRONTEND="noninteractive" \
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin"
# Set default shell used for running commands
SHELL ["/bin/bash", "-o", "pipefail", "-o", "errexit", "-c"]
# Ignoring these here since we don't want to pin any versions and the Debian image removes apt-get content after use
# hadolint ignore=DL3008,DL3009
RUN apt-get update && \
echo "Etc/UTC" > /etc/localtime && \
groupadd -g "${GID}" mastodon && \
useradd -l -u "$UID" -g "${GID}" -m -d /opt/mastodon mastodon && \
apt-get -y --no-install-recommends install whois \
wget \
procps \
libssl3 \
libpq5 \
imagemagick \
ffmpeg \
libjemalloc2 \
libicu72 \
libidn12 \
libyaml-0-2 \
file \
ca-certificates \
tzdata \
libreadline8 \
tini && \
ln -s /opt/mastodon /mastodon
ARG TARGETPLATFORM
# Note: no, cleaning here since Debian does this automatically
# See the file /etc/apt/apt.conf.d/docker-clean within the Docker image's filesystem
RUN echo "Target platform is $TARGETPLATFORM"
COPY --chown=mastodon:mastodon . /opt/mastodon
COPY --chown=mastodon:mastodon --from=build /opt/mastodon /opt/mastodon
RUN \
# Remove automatic apt cache Docker cleanup scripts
rm -f /etc/apt/apt.conf.d/docker-clean; \
# Sets timezone
echo "${TZ}" > /etc/localtime; \
# Creates mastodon user/group and sets home directory
groupadd -g "${GID}" mastodon; \
useradd -l -u "${UID}" -g "${GID}" -m -d /opt/mastodon mastodon; \
# Creates /mastodon symlink to /opt/mastodon
ln -s /opt/mastodon /mastodon;
ENV RAILS_ENV="production" \
NODE_ENV="production" \
RAILS_SERVE_STATIC_FILES="true" \
BIND="0.0.0.0" \
MASTODON_VERSION_PRERELEASE="${MASTODON_VERSION_PRERELEASE}" \
MASTODON_VERSION_METADATA="${MASTODON_VERSION_METADATA}"
# Set the run user
USER mastodon
# Set /opt/mastodon as working directory
WORKDIR /opt/mastodon
# Precompile assets
RUN OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder rails assets:precompile
# hadolint ignore=DL3008,DL3005
RUN \
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Apt update & upgrade to check for security updates to Debian image
apt-get update; \
apt-get dist-upgrade -yq; \
# Install jemalloc, curl and other necessary components
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
ffmpeg \
file \
imagemagick \
libjemalloc2 \
patchelf \
procps \
tini \
tzdata \
; \
# Patch Ruby to use jemalloc
patchelf --add-needed libjemalloc.so.2 /usr/local/bin/ruby; \
# Discard patchelf after use
apt-get purge -y \
patchelf \
;
# Set the work dir and the container entry point
ENTRYPOINT ["/usr/bin/tini", "--"]
EXPOSE 3000 4000
# Create temporary build layer from base image
FROM ruby as build
# Copy Node package configuration files into working directory
COPY package.json yarn.lock .yarnrc.yml /opt/mastodon/
COPY .yarn /opt/mastodon/.yarn
COPY --from=node /usr/local/bin /usr/local/bin
COPY --from=node /usr/local/lib /usr/local/lib
ARG TARGETPLATFORM
# hadolint ignore=DL3008
RUN \
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Install build tools and bundler dependencies from APT
apt-get install -y --no-install-recommends \
g++ \
gcc \
git \
libgdbm-dev \
libgmp-dev \
libicu-dev \
libidn-dev \
libpq-dev \
libssl-dev \
make \
shared-mime-info \
zlib1g-dev \
;
RUN \
# Configure Corepack
rm /usr/local/bin/yarn*; \
corepack enable; \
corepack prepare --activate;
# Create temporary bundler specific build layer from build layer
FROM build as bundler
ARG TARGETPLATFORM
# Copy Gemfile config into working directory
COPY Gemfile* /opt/mastodon/
RUN \
# Mount Ruby Gem caches
--mount=type=cache,id=gem-cache-${TARGETPLATFORM},target=/usr/local/bundle/cache/,sharing=locked \
# Configure bundle to prevent changes to Gemfile and Gemfile.lock
bundle config set --global frozen "true"; \
# Configure bundle to not cache downloaded Gems
bundle config set --global cache_all "false"; \
# Configure bundle to only process production Gems
bundle config set --local without "development test"; \
# Configure bundle to not warn about root user
bundle config set silence_root_warning "true"; \
# Download and install required Gems
bundle install -j"$(nproc)";
# Create temporary node specific build layer from build layer
FROM build as yarn
ARG TARGETPLATFORM
# Copy Node package configuration files into working directory
COPY package.json yarn.lock .yarnrc.yml /opt/mastodon/
COPY streaming/package.json /opt/mastodon/streaming/
COPY .yarn /opt/mastodon/.yarn
# hadolint ignore=DL3008
RUN \
--mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \
--mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \
# Install Node packages
yarn workspaces focus --production @mastodon/mastodon;
# Create temporary assets build layer from build layer
FROM build as precompiler
# Copy Mastodon sources into precompiler layer
COPY . /opt/mastodon/
# Copy bundler and node packages from build layer to container
COPY --from=yarn /opt/mastodon /opt/mastodon/
COPY --from=bundler /opt/mastodon /opt/mastodon/
COPY --from=bundler /usr/local/bundle/ /usr/local/bundle/
ARG TARGETPLATFORM
RUN \
# Use Ruby on Rails to create Mastodon assets
OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder bundle exec rails assets:precompile; \
# Cleanup temporary files
rm -fr /opt/mastodon/tmp;
# Prep final Mastodon Ruby layer
FROM ruby as mastodon
ARG TARGETPLATFORM
# hadolint ignore=DL3008
RUN \
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Mount Corepack and Yarn caches from Docker buildx caches
--mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \
--mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \
# Apt update install non-dev versions of necessary components
apt-get install -y --no-install-recommends \
libssl3 \
libpq5 \
libicu72 \
libidn12 \
libreadline8 \
libyaml-0-2 \
;
# Copy Mastodon sources into final layer
COPY . /opt/mastodon/
# Copy compiled assets to layer
COPY --from=precompiler /opt/mastodon/public/packs /opt/mastodon/public/packs
COPY --from=precompiler /opt/mastodon/public/assets /opt/mastodon/public/assets
# Copy bundler components to layer
COPY --from=bundler /usr/local/bundle/ /usr/local/bundle/
RUN \
# Precompile bootsnap code for faster Rails startup
bundle exec bootsnap precompile --gemfile app/ lib/;
RUN \
# Pre-create and chown system volume to Mastodon user
mkdir -p /opt/mastodon/public/system; \
chown mastodon:mastodon /opt/mastodon/public/system; \
# Set Mastodon user as owner of tmp folder
chown -R mastodon:mastodon /opt/mastodon/tmp;
# Set the running user for resulting container
USER mastodon
# Expose default Puma ports
EXPOSE 3000
# Set container tini as default entry point
ENTRYPOINT ["/usr/bin/tini", "--"]

33
Gemfile
View File

@@ -4,11 +4,14 @@ source 'https://rubygems.org'
ruby '>= 3.0.0'
gem 'puma', '~> 6.3'
gem 'rails', '~> 7.0'
gem 'sprockets', '~> 3.7.2'
gem 'rails', '~> 7.1.1'
gem 'propshaft'
gem 'thor', '~> 1.2'
gem 'rack', '~> 2.2.7'
# For why irb is in the Gemfile, see: https://ruby.social/@st0012/111444685161478182
gem 'irb', '~> 1.8'
gem 'haml-rails', '~>2.0'
gem 'pg', '~> 1.5'
gem 'pghero'
@@ -16,14 +19,14 @@ gem 'dotenv-rails', '~> 2.8'
gem 'aws-sdk-s3', '~> 1.123', require: false
gem 'fog-core', '<= 2.4.0'
gem 'fog-openstack', '~> 0.3', require: false
gem 'fog-openstack', '~> 1.0', require: false
gem 'kt-paperclip', '~> 7.2'
gem 'md-paperclip-azure', '~> 2.2', require: false
gem 'blurhash', '~> 0.1'
gem 'active_model_serializers', '~> 0.10'
gem 'addressable', '~> 2.8'
gem 'bootsnap', '~> 1.16.0', require: false
gem 'bootsnap', '~> 1.17.0', require: false
gem 'browser'
gem 'charlock_holmes', '~> 0.7.7'
gem 'chewy', '~> 7.3'
@@ -86,9 +89,8 @@ gem 'sidekiq-unique-jobs', '~> 7.1'
gem 'sidekiq-bulk', '~> 0.2.0'
gem 'simple-navigation', '~> 4.4'
gem 'simple_form', '~> 5.2'
gem 'sprockets-rails', '~> 3.4', require: 'sprockets/railtie'
gem 'stoplight', '~> 3.0.1'
gem 'strong_migrations', '~> 0.8'
gem 'strong_migrations', '1.6.4'
gem 'tty-prompt', '~> 0.23', require: false
gem 'twitter-text', '~> 3.1.0'
gem 'tzinfo-data', '~> 1.2023'
@@ -103,12 +105,15 @@ gem 'rdf-normalize', '~> 0.5'
gem 'private_address_check', '~> 0.5'
group :test do
# Used to split testing into chunks in CI
gem 'rspec_chunked', '~> 0.6'
# Adds RSpec Error/Warning annotations to GitHub PRs on the Files tab
gem 'rspec-github', '~> 2.4', require: false
# RSpec progress bar formatter
gem 'fuubar', '~> 2.5'
# RSpec helpers for email specs
gem 'email_spec'
# Extra RSpec extenion methods and helpers for sidekiq
gem 'rspec-sidekiq', '~> 4.0'
@@ -139,6 +144,7 @@ group :test do
# Coverage formatter for RSpec test if DISABLE_SIMPLECOV is false
gem 'simplecov', '~> 0.22', require: false
gem 'simplecov-lcov', '~> 0.8', require: false
# Stub web requests for specs
gem 'webmock', '~> 3.18'
@@ -170,17 +176,14 @@ group :development do
# Linter CLI for HAML files
gem 'haml_lint', require: false
# Deployment automation
gem 'capistrano', '~> 3.17'
gem 'capistrano-rails', '~> 1.6'
gem 'capistrano-rbenv', '~> 2.2'
gem 'capistrano-yarn', '~> 2.0'
# Validate missing i18n keys
gem 'i18n-tasks', '~> 1.0', require: false
end
group :development, :test do
# Interactive Debugging tools
gem 'debug', '~> 1.8'
# Profiling tools
gem 'memory_profiler', require: false
gem 'ruby-prof', require: false
@@ -201,7 +204,7 @@ gem 'xorcist', '~> 1.1'
gem 'cocoon', '~> 1.2'
gem 'net-http', '~> 0.3.2'
gem 'net-http', '~> 0.4.0'
gem 'rubyzip', '~> 2.3'
gem 'hcaptcha', '~> 7.1'

View File

@@ -39,81 +39,88 @@ GIT
GEM
remote: https://rubygems.org/
specs:
actioncable (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
actioncable (7.1.2)
actionpack (= 7.1.2)
activesupport (= 7.1.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (7.0.8)
actionpack (= 7.0.8)
activejob (= 7.0.8)
activerecord (= 7.0.8)
activestorage (= 7.0.8)
activesupport (= 7.0.8)
zeitwerk (~> 2.6)
actionmailbox (7.1.2)
actionpack (= 7.1.2)
activejob (= 7.1.2)
activerecord (= 7.1.2)
activestorage (= 7.1.2)
activesupport (= 7.1.2)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.0.8)
actionpack (= 7.0.8)
actionview (= 7.0.8)
activejob (= 7.0.8)
activesupport (= 7.0.8)
actionmailer (7.1.2)
actionpack (= 7.1.2)
actionview (= 7.1.2)
activejob (= 7.1.2)
activesupport (= 7.1.2)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
actionpack (7.0.8)
actionview (= 7.0.8)
activesupport (= 7.0.8)
rack (~> 2.0, >= 2.2.4)
rails-dom-testing (~> 2.2)
actionpack (7.1.2)
actionview (= 7.1.2)
activesupport (= 7.1.2)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (7.0.8)
actionpack (= 7.0.8)
activerecord (= 7.0.8)
activestorage (= 7.0.8)
activesupport (= 7.0.8)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
actiontext (7.1.2)
actionpack (= 7.1.2)
activerecord (= 7.1.2)
activestorage (= 7.1.2)
activesupport (= 7.1.2)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.0.8)
activesupport (= 7.0.8)
actionview (7.1.2)
activesupport (= 7.1.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
active_model_serializers (0.10.13)
actionpack (>= 4.1, < 7.1)
activemodel (>= 4.1, < 7.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
active_model_serializers (0.10.14)
actionpack (>= 4.1)
activemodel (>= 4.1)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
activejob (7.0.8)
activesupport (= 7.0.8)
activejob (7.1.2)
activesupport (= 7.1.2)
globalid (>= 0.3.6)
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activestorage (7.0.8)
actionpack (= 7.0.8)
activejob (= 7.0.8)
activerecord (= 7.0.8)
activesupport (= 7.0.8)
activemodel (7.1.2)
activesupport (= 7.1.2)
activerecord (7.1.2)
activemodel (= 7.1.2)
activesupport (= 7.1.2)
timeout (>= 0.4.0)
activestorage (7.1.2)
actionpack (= 7.1.2)
activejob (= 7.1.2)
activerecord (= 7.1.2)
activesupport (= 7.1.2)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (7.0.8)
activesupport (7.1.2)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.5)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
aes_key_wrap (1.1.0)
airbrussh (1.4.1)
sshkit (>= 1.6.1, != 1.7.0)
android_key_attestation (0.3.0)
annotate (3.2.0)
activerecord (>= 3.2, < 8.0)
@@ -123,21 +130,21 @@ GEM
encryptor (~> 3.0.0)
attr_required (1.0.1)
awrence (1.2.1)
aws-eventstream (1.2.0)
aws-partitions (1.809.0)
aws-sdk-core (3.181.0)
aws-eventstream (1.3.0)
aws-partitions (1.857.0)
aws-sdk-core (3.188.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sdk-kms (1.73.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.133.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-s3 (1.140.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
aws-sigv4 (1.6.0)
aws-sigv4 (1.7.0)
aws-eventstream (~> 1, >= 1.0.2)
azure-storage-blob (2.0.3)
azure-storage-common (~> 2.0)
@@ -147,26 +154,28 @@ GEM
faraday_middleware (~> 1.0, >= 1.0.0.rc1)
net-http-persistent (~> 4.0)
nokogiri (~> 1, >= 1.10.8)
base64 (0.1.1)
bcrypt (3.1.18)
base64 (0.2.0)
bcp47_spec (0.2.1)
bcrypt (3.1.20)
better_errors (2.10.1)
erubi (>= 1.0.0)
rack (>= 0.9.0)
rouge (>= 1.0.0)
better_html (2.0.1)
better_html (2.0.2)
actionview (>= 6.0)
activesupport (>= 6.0)
ast (~> 2.0)
erubi (~> 1.4)
parser (>= 2.4)
smart_properties
bigdecimal (3.1.5)
bindata (2.4.15)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
blurhash (0.1.7)
bootsnap (1.16.0)
bootsnap (1.17.0)
msgpack (~> 1.2)
brakeman (6.0.1)
brakeman (6.1.0)
browser (5.3.1)
brpoplpush-redis_script (0.1.3)
concurrent-ruby (~> 1.0, >= 1.0.5)
@@ -175,21 +184,6 @@ GEM
bundler-audit (0.9.1)
bundler (>= 1.2.0, < 3)
thor (~> 1.0)
capistrano (3.17.3)
airbrussh (>= 1.0.0)
i18n
rake (>= 10.0.0)
sshkit (>= 1.9.0)
capistrano-bundler (2.1.0)
capistrano (~> 3.1)
capistrano-rails (1.6.3)
capistrano (~> 3.1)
capistrano-bundler (>= 1.1, < 3)
capistrano-rbenv (2.2.0)
capistrano (~> 3.1)
sshkit (~> 1.3)
capistrano-yarn (2.0.2)
capistrano (~> 3.0)
capybara (3.39.2)
addressable
matrix
@@ -203,7 +197,7 @@ GEM
activesupport
cbor (0.5.9.6)
charlock_holmes (0.7.7)
chewy (7.3.4)
chewy (7.4.0)
activesupport (>= 5.2)
elasticsearch (>= 7.12.0, < 7.14.0)
elasticsearch-dsl
@@ -225,35 +219,40 @@ GEM
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
date (3.3.3)
date (3.3.4)
debug (1.9.0)
irb (~> 1.10)
reline (>= 0.3.8)
debug_inspector (1.1.0)
devise (4.9.2)
devise (4.9.3)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
devise-two-factor (4.1.0)
activesupport (< 7.1)
devise-two-factor (4.1.1)
activesupport (~> 7.0)
attr_encrypted (>= 1.3, < 5, != 2)
devise (~> 4.0)
railties (< 7.1)
railties (~> 7.0)
rotp (~> 6.0)
devise_pam_authenticatable2 (9.2.0)
devise (>= 4.0.0)
rpam2 (~> 4.0)
diff-lcs (1.5.0)
discard (1.2.1)
discard (1.3.0)
activerecord (>= 4.2, < 8)
docile (1.4.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
doorkeeper (5.6.6)
doorkeeper (5.6.8)
railties (>= 5)
dotenv (2.8.1)
dotenv-rails (2.8.1)
dotenv (= 2.8.1)
railties (>= 3.2)
drb (2.2.0)
ruby2_keywords
ed25519 (1.3.0)
elasticsearch (7.13.3)
elasticsearch-api (= 7.13.3)
@@ -264,13 +263,17 @@ GEM
elasticsearch-transport (7.13.3)
faraday (~> 1)
multi_json
email_spec (2.2.2)
htmlentities (~> 4.3.3)
launchy (~> 2.1)
mail (~> 2.7)
encryptor (3.0.0)
erubi (1.12.0)
et-orbi (1.2.7)
tzinfo
excon (0.100.0)
fabrication (2.30.0)
faker (3.2.1)
excon (0.104.0)
fabrication (2.31.0)
faker (3.2.2)
i18n (>= 1.8.11, < 2)
faraday (1.10.3)
faraday-em_http (~> 1.0)
@@ -303,28 +306,27 @@ GEM
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
rake
fog-core (2.1.0)
fog-core (2.3.0)
builder
excon (~> 0.58)
formatador (~> 0.2)
excon (~> 0.71)
formatador (>= 0.2, < 2.0)
mime-types
fog-json (1.2.0)
fog-core
multi_json (~> 1.10)
fog-openstack (0.3.10)
fog-core (>= 1.45, <= 2.1.0)
fog-openstack (1.1.0)
fog-core (~> 2.1)
fog-json (>= 1.0)
ipaddress (>= 0.8)
formatador (0.3.0)
formatador (1.1.0)
fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4)
fuubar (2.5.1)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
globalid (1.1.0)
activesupport (>= 5.0)
haml (6.1.2)
globalid (1.2.1)
activesupport (>= 6.1)
haml (6.3.0)
temple (>= 0.8.2)
thor
tilt
@@ -333,8 +335,8 @@ GEM
activesupport (>= 5.1)
haml (>= 4.0.6)
railties (>= 5.1)
haml_lint (0.50.0)
haml (>= 4.0, < 6.2)
haml_lint (0.52.0)
haml (>= 4.0)
parallel (~> 1.10)
rainbow
rubocop (>= 1.0)
@@ -362,38 +364,41 @@ GEM
rainbow (>= 2.0.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
i18n-tasks (1.0.12)
i18n-tasks (1.0.13)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
better_html (>= 1.0, < 3.0)
erubi
highline (>= 2.0.0)
i18n
parser (>= 2.2.3.0)
parser (>= 3.2.2.1)
rails-i18n
rainbow (>= 2.2.2, < 4.0)
terminal-table (>= 1.5.1)
idn-ruby (0.1.5)
ipaddress (0.8.3)
io-console (0.6.0)
irb (1.10.1)
rdoc
reline (>= 0.3.8)
jmespath (1.6.2)
json (2.6.3)
json-canonicalization (0.3.2)
json (2.7.1)
json-canonicalization (1.0.0)
json-jwt (1.15.3)
activesupport (>= 4.2)
aes_key_wrap
bindata
httpclient
json-ld (3.2.5)
json-ld (3.3.1)
htmlentities (~> 4.3)
json-canonicalization (~> 0.3, >= 0.3.2)
json-canonicalization (~> 1.0)
link_header (~> 0.0, >= 0.0.8)
multi_json (~> 1.15)
rack (>= 2.2, < 4)
rdf (~> 3.2, >= 3.2.10)
json-ld-preloaded (3.2.2)
json-ld (~> 3.2)
rdf (~> 3.2)
json-schema (4.0.0)
rdf (~> 3.3)
json-ld-preloaded (3.3.0)
json-ld (~> 3.3)
rdf (~> 3.3)
json-schema (4.1.1)
addressable (>= 2.8)
jsonapi-renderer (0.2.2)
jwt (2.7.1)
@@ -429,12 +434,12 @@ GEM
llhttp-ffi (0.4.0)
ffi-compiler (~> 1.0)
rake (~> 13.0)
lograge (0.13.0)
lograge (0.14.0)
actionpack (>= 4)
activesupport (>= 4)
railties (>= 4)
request_store (~> 1.0)
loofah (2.21.3)
loofah (2.22.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.8.1)
@@ -451,38 +456,36 @@ GEM
azure-storage-blob (~> 2.0.1)
hashie (~> 5.0)
memory_profiler (1.0.1)
method_source (1.0.0)
mime-types (3.5.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0808)
mime-types-data (3.2023.1003)
mini_mime (1.1.5)
mini_portile2 (2.8.4)
minitest (5.19.0)
msgpack (1.7.1)
mini_portile2 (2.8.5)
minitest (5.20.0)
msgpack (1.7.2)
multi_json (1.15.0)
multipart-post (2.3.0)
net-http (0.3.2)
mutex_m (0.2.0)
net-http (0.4.0)
uri
net-http-persistent (4.0.2)
connection_pool (~> 2.2)
net-imap (0.3.7)
net-imap (0.4.4)
date
net-protocol
net-ldap (0.18.0)
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
net-protocol (0.2.2)
timeout
net-scp (4.0.0)
net-ssh (>= 2.6.5, < 8.0.0)
net-smtp (0.3.3)
net-smtp (0.4.0)
net-protocol
net-ssh (7.1.0)
nio4r (2.5.9)
nokogiri (1.15.4)
nokogiri (1.15.5)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
oj (3.16.1)
oj (3.16.3)
bigdecimal (>= 3.0)
omniauth (2.1.1)
hashie (>= 3.4.6)
rack (>= 2.2.3)
@@ -512,15 +515,15 @@ GEM
openssl (> 2.0)
orm_adapter (0.5.0)
ox (2.14.17)
parallel (1.23.0)
parser (3.2.2.3)
parallel (1.24.0)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
pg (1.5.4)
pghero (3.3.4)
pghero (3.4.0)
activerecord (>= 6)
posix-spawn (0.3.15)
premailer (1.21.0)
@@ -532,13 +535,20 @@ GEM
net-smtp
premailer (~> 1.7, >= 1.7.9)
private_address_check (0.5.0)
public_suffix (5.0.3)
puma (6.3.1)
propshaft (0.8.0)
actionpack (>= 7.0.0)
activesupport (>= 7.0.0)
rack
railties (>= 7.0.0)
psych (5.1.1.1)
stringio
public_suffix (5.0.4)
puma (6.4.0)
nio4r (~> 2.0)
pundit (2.3.0)
pundit (2.3.1)
activesupport (>= 3.0.0)
raabro (1.4.0)
racc (1.7.1)
racc (1.7.3)
rack (2.2.8)
rack-attack (6.7.0)
rack (>= 1.0, < 4)
@@ -554,63 +564,74 @@ GEM
rack
rack-proxy (0.7.6)
rack
rack-session (1.0.1)
rack (< 3)
rack-test (2.1.0)
rack (>= 1.3)
rails (7.0.8)
actioncable (= 7.0.8)
actionmailbox (= 7.0.8)
actionmailer (= 7.0.8)
actionpack (= 7.0.8)
actiontext (= 7.0.8)
actionview (= 7.0.8)
activejob (= 7.0.8)
activemodel (= 7.0.8)
activerecord (= 7.0.8)
activestorage (= 7.0.8)
activesupport (= 7.0.8)
rackup (1.0.0)
rack (< 3)
webrick
rails (7.1.2)
actioncable (= 7.1.2)
actionmailbox (= 7.1.2)
actionmailer (= 7.1.2)
actionpack (= 7.1.2)
actiontext (= 7.1.2)
actionview (= 7.1.2)
activejob (= 7.1.2)
activemodel (= 7.1.2)
activerecord (= 7.1.2)
activestorage (= 7.1.2)
activesupport (= 7.1.2)
bundler (>= 1.15.0)
railties (= 7.0.8)
railties (= 7.1.2)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
activesupport (>= 5.0.1.rc1)
rails-dom-testing (2.1.1)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
rails-i18n (7.0.7)
rails-i18n (7.0.8)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
railties (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
method_source
railties (7.1.2)
actionpack (= 7.1.2)
activesupport (= 7.1.2)
irb
rackup (>= 1.0.0)
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.0.6)
rdf (3.2.11)
rake (13.1.0)
rdf (3.3.1)
bcp47_spec (~> 0.2)
link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.6.1)
rdf (~> 3.2)
rdoc (6.6.1)
psych (>= 4.0.0)
redcarpet (3.6.0)
redis (4.8.1)
redis-namespace (1.11.0)
redis (>= 4)
redlock (1.3.2)
redis (>= 3.0.0, < 6.0)
regexp_parser (2.8.1)
regexp_parser (2.8.3)
reline (0.4.1)
io-console (~> 0.5)
request_store (1.5.1)
rack (>= 1.4)
responders (3.1.0)
responders (3.1.1)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.2.6)
rotp (6.2.2)
rotp (6.3.0)
rouge (4.1.2)
rpam2 (4.0.2)
rqrcode (2.2.0)
@@ -622,10 +643,12 @@ GEM
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.5)
rspec-github (2.4.0)
rspec-core (~> 3.0)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (6.0.3)
rspec-rails (6.1.0)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
@@ -633,40 +656,39 @@ GEM
rspec-expectations (~> 3.12)
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
rspec-sidekiq (4.0.1)
rspec-sidekiq (4.1.0)
rspec-core (~> 3.0)
rspec-expectations (~> 3.0)
rspec-mocks (~> 3.0)
sidekiq (>= 5, < 8)
rspec-support (3.12.1)
rspec_chunked (0.6)
rubocop (1.56.3)
base64 (~> 0.1.1)
rubocop (1.59.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.3)
parser (>= 3.2.2.4)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
rubocop-capybara (2.18.0)
rubocop-capybara (2.19.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.23.1)
rubocop-factory_bot (2.24.0)
rubocop (~> 1.33)
rubocop-performance (1.19.0)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
rubocop-rails (2.20.2)
rubocop-performance (1.20.0)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rails (2.23.0)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-rspec (2.23.2)
rubocop (~> 1.33)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rspec (2.25.0)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
ruby-prof (1.6.3)
@@ -680,18 +702,18 @@ GEM
fugit (~> 1.1, >= 1.1.6)
safety_net_attestation (0.4.0)
jwt (~> 2.0)
sanitize (6.0.2)
sanitize (6.1.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
scenic (1.7.0)
activerecord (>= 4.0.0)
railties (>= 4.0.0)
selenium-webdriver (4.11.0)
selenium-webdriver (4.16.0)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
semantic_range (3.0.0)
sidekiq (6.5.9)
sidekiq (6.5.12)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
@@ -701,7 +723,7 @@ GEM
rufus-scheduler (~> 3.2)
sidekiq (>= 6, < 8)
tilt (>= 1.4.0)
sidekiq-unique-jobs (7.1.29)
sidekiq-unique-jobs (7.1.30)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
concurrent-ruby (~> 1.0, >= 1.0.5)
redis (< 5.0)
@@ -709,7 +731,7 @@ GEM
thor (>= 0.20, < 3.0)
simple-navigation (4.4.0)
activesupport (>= 2.3.2)
simple_form (5.2.0)
simple_form (5.3.0)
actionpack (>= 5.2)
activemodel (>= 5.2)
simplecov (0.22.0)
@@ -717,38 +739,30 @@ GEM
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov-lcov (0.8.0)
simplecov_json_formatter (0.1.4)
smart_properties (1.17.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
sshkit (1.21.5)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
stackprof (0.2.25)
statsd-ruby (1.5.0)
stoplight (3.0.2)
redlock (~> 1.0)
strong_migrations (0.8.0)
stringio (3.1.0)
strong_migrations (1.6.4)
activerecord (>= 5.2)
swd (1.3.0)
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
sysexits (1.2.0)
temple (0.10.2)
temple (0.10.3)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0)
test-prof (1.2.3)
thor (1.2.2)
tilt (2.2.0)
timeout (0.4.0)
test-prof (1.3.1)
thor (1.3.0)
tilt (2.3.0)
timeout (0.4.1)
tpm-key_attestation (0.12.0)
bindata (~> 2.4)
openssl (> 2.0)
@@ -773,7 +787,7 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
unicode-display_width (2.5.0)
uri (0.12.2)
validate_email (0.1.6)
activemodel (>= 3.0)
@@ -804,7 +818,8 @@ GEM
rack-proxy (>= 0.6.1)
railties (>= 5.2)
semantic_range (>= 2.3.0)
websocket (1.2.9)
webrick (1.8.1)
websocket (1.2.10)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
@@ -812,7 +827,7 @@ GEM
xorcist (1.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.11)
zeitwerk (2.6.12)
PLATFORMS
ruby
@@ -825,14 +840,10 @@ DEPENDENCIES
better_errors (~> 2.9)
binding_of_caller (~> 1.0)
blurhash (~> 0.1)
bootsnap (~> 1.16.0)
bootsnap (~> 1.17.0)
brakeman (~> 6.0)
browser
bundler-audit (~> 0.9)
capistrano (~> 3.17)
capistrano-rails (~> 1.6)
capistrano-rbenv (~> 2.2)
capistrano-yarn (~> 2.0)
capybara (~> 3.39)
charlock_holmes (~> 0.7.7)
chewy (~> 7.3)
@@ -842,6 +853,7 @@ DEPENDENCIES
concurrent-ruby
connection_pool
database_cleaner-active_record
debug (~> 1.8)
devise (~> 4.9)
devise-two-factor (~> 4.1)
devise_pam_authenticatable2 (~> 9.2)
@@ -849,12 +861,13 @@ DEPENDENCIES
doorkeeper (~> 5.6)
dotenv-rails (~> 2.8)
ed25519 (~> 1.3)
email_spec
fabrication (~> 2.30)
faker (~> 3.2)
fast_blank (~> 1.0)
fastimage
fog-core (<= 2.4.0)
fog-openstack (~> 0.3)
fog-openstack (~> 1.0)
fuubar (~> 2.5)
haml-rails (~> 2.0)
haml_lint
@@ -866,6 +879,7 @@ DEPENDENCIES
httplog (~> 1.6.2)
i18n-tasks (~> 1.0)
idn-ruby
irb (~> 1.8)
json-ld
json-ld-preloaded (~> 3.2)
json-schema (~> 4.0)
@@ -879,7 +893,7 @@ DEPENDENCIES
md-paperclip-azure (~> 2.2)
memory_profiler
mime-types (~> 3.5.0)
net-http (~> 0.3.2)
net-http (~> 0.4.0)
net-ldap (~> 0.18)
nokogiri (~> 1.15)
nsa!
@@ -896,6 +910,7 @@ DEPENDENCIES
posix-spawn
premailer-rails
private_address_check (~> 0.5)
propshaft
public_suffix (~> 5.0)
puma (~> 6.3)
pundit (~> 2.3)
@@ -903,7 +918,7 @@ DEPENDENCIES
rack-attack (~> 6.6)
rack-cors (~> 2.0)
rack-test (~> 2.1)
rails (~> 7.0)
rails (~> 7.1.1)
rails-controller-testing (~> 1.0)
rails-i18n (~> 7.0)
rails-settings-cached (~> 0.6)!
@@ -912,9 +927,9 @@ DEPENDENCIES
redis (~> 4.5)
redis-namespace (~> 1.10)
rqrcode (~> 2.2)
rspec-github (~> 2.4)
rspec-rails (~> 6.0)
rspec-sidekiq (~> 4.0)
rspec_chunked (~> 0.6)
rubocop
rubocop-capybara
rubocop-performance
@@ -933,11 +948,10 @@ DEPENDENCIES
simple-navigation (~> 4.4)
simple_form (~> 5.2)
simplecov (~> 0.22)
sprockets (~> 3.7.2)
sprockets-rails (~> 3.4)
simplecov-lcov (~> 0.8)
stackprof
stoplight (~> 3.0.1)
strong_migrations (~> 0.8)
strong_migrations (= 1.6.4)
test-prof
thor (~> 1.2)
tty-prompt (~> 0.23)
@@ -953,4 +967,4 @@ RUBY VERSION
ruby 3.2.2p53
BUNDLED WITH
2.4.13
2.4.20

View File

@@ -1,4 +1,4 @@
web: env PORT=3000 RAILS_ENV=development bundle exec puma -C config/puma.rb
sidekiq: env PORT=3000 RAILS_ENV=development bundle exec sidekiq
stream: env PORT=4000 yarn run start
stream: env PORT=4000 yarn workspace @mastodon/streaming start
webpack: bin/webpack-dev-server

View File

@@ -15,7 +15,8 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
| Version | Supported |
| ------- | ---------------- |
| 4.2.x | Yes |
| 4.1.x | Yes |
| 4.0.x | Until 2023-10-31 |
| 4.0.x | No |
| 3.5.x | Until 2023-12-31 |
| < 3.5 | No |

10
Vagrantfile vendored
View File

@@ -10,7 +10,11 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-add-repository 'deb https://dl.yarnpkg.com/debian/ stable main'
# Add repo for NodeJS
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
# Add firewall rule to redirect 80 to PORT and save
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port #{ENV["PORT"]}
@@ -112,11 +116,11 @@ bundle install
# Install node modules
sudo corepack enable
yarn set version classic
corepack prepare
yarn install
# Build Mastodon
export RAILS_ENV=development
export RAILS_ENV=development
export $(cat ".env.vagrant" | xargs)
bundle exec rails db:setup

View File

@@ -1,6 +1,8 @@
# frozen_string_literal: true
class AccountsIndex < Chewy::Index
include DatetimeClampingConcern
settings index: index_preset(refresh_interval: '30s'), analysis: {
filter: {
english_stop: {
@@ -60,7 +62,7 @@ class AccountsIndex < Chewy::Index
field(:following_count, type: 'long')
field(:followers_count, type: 'long')
field(:properties, type: 'keyword', value: ->(account) { account.searchable_properties })
field(:last_status_at, type: 'date', value: ->(account) { account.last_status_at || account.created_at })
field(:last_status_at, type: 'date', value: ->(account) { clamp_date(account.last_status_at || account.created_at) })
field(:display_name, type: 'text', analyzer: 'verbatim') { field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'verbatim' }
field(:username, type: 'text', analyzer: 'verbatim', value: ->(account) { [account.username, account.domain].compact.join('@') }) { field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'verbatim' }
field(:text, type: 'text', analyzer: 'verbatim', value: ->(account) { account.searchable_text }) { field :stemmed, type: 'text', analyzer: 'natural' }

View File

@@ -0,0 +1,14 @@
# frozen_string_literal: true
module DatetimeClampingConcern
extend ActiveSupport::Concern
MIN_ISO8601_DATETIME = '0000-01-01T00:00:00Z'.to_datetime.freeze
MAX_ISO8601_DATETIME = '9999-12-31T23:59:59Z'.to_datetime.freeze
class_methods do
def clamp_date(datetime)
datetime.clamp(MIN_ISO8601_DATETIME, MAX_ISO8601_DATETIME)
end
end
end

View File

@@ -1,6 +1,8 @@
# frozen_string_literal: true
class PublicStatusesIndex < Chewy::Index
include DatetimeClampingConcern
settings index: index_preset(refresh_interval: '30s', number_of_shards: 5), analysis: {
filter: {
english_stop: {
@@ -53,7 +55,7 @@ class PublicStatusesIndex < Chewy::Index
index_scope ::Status.unscoped
.kept
.indexable
.includes(:media_attachments, :preloadable_poll, :preview_cards, :tags)
.includes(:media_attachments, :preloadable_poll, :tags, preview_cards_status: :preview_card)
root date_detection: false do
field(:id, type: 'long')
@@ -62,6 +64,6 @@ class PublicStatusesIndex < Chewy::Index
field(:tags, type: 'text', analyzer: 'hashtag', value: ->(status) { status.tags.map(&:display_name) })
field(:language, type: 'keyword')
field(:properties, type: 'keyword', value: ->(status) { status.searchable_properties })
field(:created_at, type: 'date')
field(:created_at, type: 'date', value: ->(status) { clamp_date(status.created_at) })
end
end

View File

@@ -1,6 +1,8 @@
# frozen_string_literal: true
class StatusesIndex < Chewy::Index
include DatetimeClampingConcern
settings index: index_preset(refresh_interval: '30s', number_of_shards: 5), analysis: {
filter: {
english_stop: {
@@ -50,7 +52,7 @@ class StatusesIndex < Chewy::Index
},
}
index_scope ::Status.unscoped.kept.without_reblogs.includes(:media_attachments, :preview_cards, :local_mentioned, :local_favorited, :local_reblogged, :local_bookmarked, :tags, preloadable_poll: :local_voters), delete_if: ->(status) { status.searchable_by.empty? }
index_scope ::Status.unscoped.kept.without_reblogs.includes(:media_attachments, :local_mentioned, :local_favorited, :local_reblogged, :local_bookmarked, :tags, preview_cards_status: :preview_card, preloadable_poll: :local_voters), delete_if: ->(status) { status.searchable_by.empty? }
root date_detection: false do
field(:id, type: 'long')
@@ -60,6 +62,6 @@ class StatusesIndex < Chewy::Index
field(:searchable_by, type: 'long', value: ->(status) { status.searchable_by })
field(:language, type: 'keyword')
field(:properties, type: 'keyword', value: ->(status) { status.searchable_properties })
field(:created_at, type: 'date')
field(:created_at, type: 'date', value: ->(status) { clamp_date(status.created_at) })
end
end

View File

@@ -1,6 +1,8 @@
# frozen_string_literal: true
class TagsIndex < Chewy::Index
include DatetimeClampingConcern
settings index: index_preset(refresh_interval: '30s'), analysis: {
analyzer: {
content: {
@@ -42,6 +44,6 @@ class TagsIndex < Chewy::Index
field(:name, type: 'text', analyzer: 'content', value: :display_name) { field(:edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content') }
field(:reviewed, type: 'boolean', value: ->(tag) { tag.reviewed? })
field(:usage, type: 'long', value: ->(tag, crutches) { tag.history.aggregate(crutches.time_period).accounts })
field(:last_status_at, type: 'date', value: ->(tag) { tag.last_status_at || tag.created_at })
field(:last_status_at, type: 'date', value: ->(tag) { clamp_date(tag.last_status_at || tag.created_at) })
end
end

View File

@@ -5,15 +5,7 @@ class AboutController < ApplicationController
skip_before_action :require_functional!
before_action :set_instance_presenter
def show
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.day) unless user_signed_in?
end
private
def set_instance_presenter
@instance_presenter = InstancePresenter.new
end
end

View File

@@ -18,8 +18,6 @@ class AccountsController < ApplicationController
respond_to do |format|
format.html do
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.hour) unless user_signed_in?
@rss_url = rss_url
end
format.rss do
@@ -52,7 +50,7 @@ class AccountsController < ApplicationController
end
def only_media_scope
Status.joins(:media_attachments).merge(@account.media_attachments.reorder(nil)).group(:id)
Status.joins(:media_attachments).merge(@account.media_attachments).group(:id)
end
def no_replies_scope
@@ -84,29 +82,21 @@ class AccountsController < ApplicationController
short_account_url(@account, format: 'rss')
end
end
helper_method :rss_url
def media_requested?
request.path.split('.').first.end_with?('/media') && !tag_requested?
path_without_format.end_with?('/media') && !tag_requested?
end
def replies_requested?
request.path.split('.').first.end_with?('/with_replies') && !tag_requested?
path_without_format.end_with?('/with_replies') && !tag_requested?
end
def tag_requested?
request.path.split('.').first.end_with?(Addressable::URI.parse("/tagged/#{params[:tag]}").normalize)
path_without_format.end_with?(Addressable::URI.parse("/tagged/#{params[:tag]}").normalize)
end
def cached_filtered_status_page
cache_collection_paginated_by_id(
filtered_statuses,
Status,
PAGE_SIZE,
params_slice(:max_id, :min_id, :since_id)
)
end
def params_slice(*keys)
params.slice(*keys).permit(*keys)
def path_without_format
request.path.split('.').first
end
end

View File

@@ -21,7 +21,7 @@ module Admin
account_action.save!
if account_action.with_report?
redirect_to admin_reports_path, notice: I18n.t('admin.reports.processed_msg', id: params[:report_id])
redirect_to admin_reports_path, notice: I18n.t('admin.reports.processed_msg', id: resource_params[:report_id])
else
redirect_to admin_account_path(@account.id)
end

View File

@@ -16,7 +16,7 @@ module Admin
@moderation_notes = @account.targeted_moderation_notes.latest
@warnings = @account.strikes.custom.latest
render template: 'admin/accounts/show'
render 'admin/accounts/show'
end
end

View File

@@ -6,7 +6,7 @@ module Admin
def index
authorize :audit_log, :index?
@auditable_accounts = Account.where(id: Admin::ActionLog.reorder(nil).select('distinct account_id')).select(:id, :username)
@auditable_accounts = Account.where(id: Admin::ActionLog.select('distinct account_id')).select(:id, :username)
end
private

View File

@@ -20,7 +20,7 @@ class Admin::Disputes::AppealsController < Admin::BaseController
authorize @appeal, :approve?
log_action :reject, @appeal
@appeal.reject!(current_account)
UserMailer.appeal_rejected(@appeal.account.user, @appeal)
UserMailer.appeal_rejected(@appeal.account.user, @appeal).deliver_later
redirect_to disputes_strike_path(@appeal.strike)
end

View File

@@ -33,7 +33,7 @@ module Admin
# Disallow accidentally downgrading a domain block
if existing_domain_block.present? && !@domain_block.stricter_than?(existing_domain_block)
@domain_block.save
@domain_block.validate
flash.now[:alert] = I18n.t('admin.domain_blocks.existing_domain_block_html', name: existing_domain_block.domain, unblock_url: admin_domain_block_path(existing_domain_block)).html_safe
@domain_block.errors.delete(:domain)
return render :new

View File

@@ -4,7 +4,7 @@ require 'csv'
module Admin
class ExportDomainAllowsController < BaseController
include AdminExportControllerConcern
include Admin::ExportControllerConcern
before_action :set_dummy_import!, only: [:new]

View File

@@ -4,7 +4,7 @@ require 'csv'
module Admin
class ExportDomainBlocksController < BaseController
include AdminExportControllerConcern
include Admin::ExportControllerConcern
before_action :set_dummy_import!, only: [:new]

View File

@@ -49,7 +49,7 @@ module Admin
private
def set_instance
@instance = Instance.find(TagManager.instance.normalize_domain(params[:id]&.strip))
@instance = Instance.find_or_initialize_by(domain: TagManager.instance.normalize_domain(params[:id]&.strip))
end
def set_instances

View File

@@ -24,7 +24,7 @@ module Admin
@relay.enable!
redirect_to admin_relays_path
else
render action: :new
render :new
end
end

View File

@@ -26,7 +26,7 @@ module Admin
@form = Admin::StatusBatchAction.new
@statuses = @report.statuses.with_includes
render template: 'admin/reports/show'
render 'admin/reports/show'
end
end

View File

@@ -31,6 +31,11 @@ module Admin
private
def batched_ordered_status_edits
@status.edits.includes(:account, status: [:account]).find_each(order: :asc)
end
helper_method :batched_ordered_status_edits
def admin_status_batch_action_params
params.require(:admin_status_batch_action).permit(status_ids: [])
end

View File

@@ -4,9 +4,10 @@ class Api::BaseController < ApplicationController
DEFAULT_STATUSES_LIMIT = 20
DEFAULT_ACCOUNTS_LIMIT = 40
include RateLimitHeaders
include AccessTokenTrackingConcern
include ApiCachingConcern
include Api::RateLimitHeaders
include Api::AccessTokenTrackingConcern
include Api::CachingConcern
include Api::ContentSecurityPolicy
skip_before_action :require_functional!, unless: :limited_federation_mode?
@@ -17,26 +18,6 @@ class Api::BaseController < ApplicationController
protect_from_forgery with: :null_session
content_security_policy do |p|
# Set every directive that does not have a fallback
p.default_src :none
p.frame_ancestors :none
p.form_action :none
# Disable every directive with a fallback to cut on response size
p.base_uri false
p.font_src false
p.img_src false
p.style_src false
p.media_src false
p.frame_src false
p.manifest_src false
p.connect_src false
p.script_src false
p.child_src false
p.worker_src false
end
rescue_from ActiveRecord::RecordInvalid, Mastodon::ValidationError do |e|
render json: { error: e.to_s }, status: 422
end
@@ -83,7 +64,7 @@ class Api::BaseController < ApplicationController
end
def doorkeeper_unauthorized_render_options(error: nil)
{ json: { error: (error.try(:description) || 'Not authorized') } }
{ json: { error: error.try(:description) || 'Not authorized' } }
end
def doorkeeper_forbidden_render_options(*)
@@ -124,7 +105,11 @@ class Api::BaseController < ApplicationController
end
def require_not_suspended!
render json: { error: 'Your login is currently disabled' }, status: 403 if current_user&.account&.suspended?
render json: { error: 'Your login is currently disabled' }, status: 403 if current_user&.account&.unavailable?
end
def require_valid_pagination_options!
render json: { error: 'Pagination values for `offset` and `limit` must be positive' }, status: 400 if pagination_options_invalid?
end
def require_user!
@@ -155,6 +140,10 @@ class Api::BaseController < ApplicationController
private
def pagination_options_invalid?
params.slice(:limit, :offset).values.map(&:to_i).any?(&:negative?)
end
def respond_with_error(code)
render json: { error: Rack::Utils::HTTP_STATUS_CODES[code] }, status: code
end

View File

@@ -16,6 +16,8 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
current_user.update(user_params) if user_params
ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
render json: @account, serializer: REST::CredentialAccountSerializer
rescue ActiveRecord::RecordInvalid => e
render json: ValidationErrorFormatter.new(e).as_json, status: 422
end
private

View File

@@ -12,7 +12,7 @@ class Api::V1::Accounts::FamiliarFollowersController < Api::BaseController
private
def set_accounts
@accounts = Account.without_suspended.where(id: account_ids).select('id, hide_collections').index_by(&:id).values_at(*account_ids).compact
@accounts = Account.without_suspended.where(id: account_ids).select('id, hide_collections')
end
def familiar_followers

View File

@@ -26,7 +26,7 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
end
def hide_results?
@account.suspended? || (@account.hides_followers? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account))
@account.unavailable? || (@account.hides_followers? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account))
end
def default_accounts

View File

@@ -26,7 +26,7 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
end
def hide_results?
@account.suspended? || (@account.hides_following? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account))
@account.unavailable? || (@account.hides_following? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account))
end
def default_accounts

View File

@@ -25,6 +25,6 @@ class Api::V1::Accounts::NotesController < Api::BaseController
end
def relationships_presenter
AccountRelationshipsPresenter.new([@account.id], current_user.account_id)
AccountRelationshipsPresenter.new([@account], current_user.account_id)
end
end

View File

@@ -25,6 +25,6 @@ class Api::V1::Accounts::PinsController < Api::BaseController
end
def relationships_presenter
AccountRelationshipsPresenter.new([@account.id], current_user.account_id)
AccountRelationshipsPresenter.new([@account], current_user.account_id)
end
end

View File

@@ -5,10 +5,8 @@ class Api::V1::Accounts::RelationshipsController < Api::BaseController
before_action :require_user!
def index
accounts = Account.where(id: account_ids).select('id')
# .where doesn't guarantee that our results are in the same order
# we requested them, so return the "right" order to the requestor.
@accounts = accounts.index_by(&:id).values_at(*account_ids).compact
@accounts = Account.where(id: account_ids).select(:id, :domain)
@accounts.merge!(Account.without_suspended) unless truthy_param?(:with_suspended)
render json: @accounts, each_serializer: REST::RelationshipSerializer, relationships: relationships
end

View File

@@ -19,7 +19,7 @@ class Api::V1::Accounts::StatusesController < Api::BaseController
end
def load_statuses
@account.suspended? ? [] : cached_account_statuses
@account.unavailable? ? [] : cached_account_statuses
end
def cached_account_statuses

View File

@@ -1,6 +1,8 @@
# frozen_string_literal: true
class Api::V1::AccountsController < Api::BaseController
include RegistrationHelper
before_action -> { authorize_if_got_token! :read, :'read:accounts' }, except: [:create, :follow, :unfollow, :remove_from_followers, :block, :unblock, :mute, :unmute]
before_action -> { doorkeeper_authorize! :follow, :write, :'write:follows' }, only: [:follow, :unfollow, :remove_from_followers]
before_action -> { doorkeeper_authorize! :follow, :write, :'write:mutes' }, only: [:mute, :unmute]
@@ -47,7 +49,7 @@ class Api::V1::AccountsController < Api::BaseController
end
def mute
MuteService.new.call(current_user.account, @account, notifications: truthy_param?(:notifications), duration: (params[:duration]&.to_i || 0))
MuteService.new.call(current_user.account, @account, notifications: truthy_param?(:notifications), duration: params[:duration].to_i)
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships
end
@@ -86,22 +88,18 @@ class Api::V1::AccountsController < Api::BaseController
end
def relationships(**options)
AccountRelationshipsPresenter.new([@account.id], current_user.account_id, **options)
AccountRelationshipsPresenter.new([@account], current_user.account_id, **options)
end
def account_params
params.permit(:username, :email, :password, :agreement, :locale, :reason, :time_zone)
params.permit(:username, :email, :password, :agreement, :locale, :reason, :time_zone, :invite_code)
end
def invite
Invite.find_by(code: params[:invite_code]) if params[:invite_code].present?
end
def check_enabled_registrations
forbidden if single_user_mode? || omniauth_only? || !allowed_registrations?
end
def allowed_registrations?
Setting.registrations_mode != 'none'
end
def omniauth_only?
ENV['OMNIAUTH_ONLY'] == 'true'
forbidden unless allowed_registration?(request.remote_ip, invite)
end
end

View File

@@ -1,9 +1,9 @@
# frozen_string_literal: true
class Api::V1::Apps::CredentialsController < Api::BaseController
before_action -> { doorkeeper_authorize! :read }
def show
render json: doorkeeper_token.application, serializer: REST::ApplicationSerializer, fields: %i(name website vapid_key)
return doorkeeper_render_error unless valid_doorkeeper_token?
render json: doorkeeper_token.application, serializer: REST::ApplicationSerializer, fields: %i(name website vapid_key client_id scopes)
end
end

View File

@@ -41,10 +41,10 @@ class Api::V1::ConversationsController < Api::BaseController
account: :account_stat,
last_status: [
:media_attachments,
:preview_cards,
:status_stat,
:tags,
{
preview_cards_status: :preview_card,
active_mentions: [account: :account_stat],
account: :account_stat,
},

View File

@@ -12,7 +12,7 @@ class Api::V1::DirectoriesController < Api::BaseController
private
def require_enabled!
return not_found unless Setting.profile_directory
not_found unless Setting.profile_directory
end
def set_accounts

View File

@@ -25,11 +25,11 @@ class Api::V1::FollowRequestsController < Api::BaseController
private
def account
Account.find(params[:id])
@account ||= Account.find(params[:id])
end
def relationships(**options)
AccountRelationshipsPresenter.new([params[:id]], current_user.account_id, **options)
AccountRelationshipsPresenter.new([account], current_user.account_id, **options)
end
def load_accounts

View File

@@ -1,11 +1,9 @@
# frozen_string_literal: true
class Api::V1::Instances::ActivityController < Api::BaseController
class Api::V1::Instances::ActivityController < Api::V1::Instances::BaseController
before_action :require_enabled_api!
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
vary_by ''
WEEKS_OF_ACTIVITY = 12
def show
cache_even_if_authenticated!
@@ -15,23 +13,40 @@ class Api::V1::Instances::ActivityController < Api::BaseController
private
def activity
statuses_tracker = ActivityTracker.new('activity:statuses:local', :basic)
logins_tracker = ActivityTracker.new('activity:logins', :unique)
registrations_tracker = ActivityTracker.new('activity:accounts:local', :basic)
(0...12).map do |i|
start_of_week = i.weeks.ago
end_of_week = start_of_week + 6.days
{
week: start_of_week.to_i.to_s,
statuses: statuses_tracker.sum(start_of_week, end_of_week).to_s,
logins: logins_tracker.sum(start_of_week, end_of_week).to_s,
registrations: registrations_tracker.sum(start_of_week, end_of_week).to_s,
}
activity_weeks.map do |weeks_ago|
activity_json(*week_edge_days(weeks_ago))
end
end
def activity_json(start_of_week, end_of_week)
{
week: start_of_week.to_i.to_s,
statuses: statuses_tracker.sum(start_of_week, end_of_week).to_s,
logins: logins_tracker.sum(start_of_week, end_of_week).to_s,
registrations: registrations_tracker.sum(start_of_week, end_of_week).to_s,
}
end
def activity_weeks
0...WEEKS_OF_ACTIVITY
end
def week_edge_days(num)
[num.weeks.ago, num.weeks.ago + 6.days]
end
def statuses_tracker
ActivityTracker.new('activity:statuses:local', :basic)
end
def logins_tracker
ActivityTracker.new('activity:logins', :unique)
end
def registrations_tracker
ActivityTracker.new('activity:accounts:local', :basic)
end
def require_enabled_api!
head 404 unless Setting.activity_api_enabled && !limited_federation_mode?
end

View File

@@ -0,0 +1,8 @@
# frozen_string_literal: true
class Api::V1::Instances::BaseController < Api::BaseController
skip_before_action :require_authenticated_user!,
unless: :limited_federation_mode?
vary_by ''
end

View File

@@ -1,8 +1,6 @@
# frozen_string_literal: true
class Api::V1::Instances::DomainBlocksController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
class Api::V1::Instances::DomainBlocksController < Api::V1::Instances::BaseController
before_action :require_enabled_api!
before_action :set_domain_blocks
@@ -15,16 +13,40 @@ class Api::V1::Instances::DomainBlocksController < Api::BaseController
cache_if_unauthenticated!
end
render json: @domain_blocks, each_serializer: REST::DomainBlockSerializer, with_comment: (Setting.show_domain_blocks_rationale == 'all' || (Setting.show_domain_blocks_rationale == 'users' && user_signed_in?))
render json: @domain_blocks, each_serializer: REST::DomainBlockSerializer, with_comment: show_rationale_in_response?
end
private
def require_enabled_api!
head 404 unless Setting.show_domain_blocks == 'all' || (Setting.show_domain_blocks == 'users' && user_signed_in?)
head 404 unless api_enabled?
end
def api_enabled?
show_domain_blocks_for_all? || show_domain_blocks_to_user?
end
def show_domain_blocks_for_all?
Setting.show_domain_blocks == 'all'
end
def show_domain_blocks_to_user?
Setting.show_domain_blocks == 'users' && user_signed_in?
end
def set_domain_blocks
@domain_blocks = DomainBlock.with_user_facing_limitations.by_severity
end
def show_rationale_in_response?
always_show_rationale? || show_rationale_for_user?
end
def always_show_rationale?
Setting.show_domain_blocks_rationale == 'all'
end
def show_rationale_for_user?
Setting.show_domain_blocks_rationale == 'users' && user_signed_in?
end
end

View File

@@ -1,13 +1,10 @@
# frozen_string_literal: true
class Api::V1::Instances::ExtendedDescriptionsController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
class Api::V1::Instances::ExtendedDescriptionsController < Api::V1::Instances::BaseController
skip_around_action :set_locale
before_action :set_extended_description
vary_by ''
# Override `current_user` to avoid reading session cookies unless in whitelist mode
def current_user
super if limited_federation_mode?

View File

@@ -1,13 +1,10 @@
# frozen_string_literal: true
class Api::V1::Instances::LanguagesController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
class Api::V1::Instances::LanguagesController < Api::V1::Instances::BaseController
skip_around_action :set_locale
before_action :set_languages
vary_by ''
def show
cache_even_if_authenticated!
render json: @languages, each_serializer: REST::LanguageSerializer

View File

@@ -1,13 +1,10 @@
# frozen_string_literal: true
class Api::V1::Instances::PeersController < Api::BaseController
class Api::V1::Instances::PeersController < Api::V1::Instances::BaseController
before_action :require_enabled_api!
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
skip_around_action :set_locale
vary_by ''
# Override `current_user` to avoid reading session cookies unless in whitelist mode
def current_user
super if limited_federation_mode?

View File

@@ -1,12 +1,8 @@
# frozen_string_literal: true
class Api::V1::Instances::PrivacyPoliciesController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
class Api::V1::Instances::PrivacyPoliciesController < Api::V1::Instances::BaseController
before_action :set_privacy_policy
vary_by ''
def show
cache_even_if_authenticated!
render json: @privacy_policy, serializer: REST::PrivacyPolicySerializer

View File

@@ -1,13 +1,10 @@
# frozen_string_literal: true
class Api::V1::Instances::RulesController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
class Api::V1::Instances::RulesController < Api::V1::Instances::BaseController
skip_around_action :set_locale
before_action :set_rules
vary_by ''
# Override `current_user` to avoid reading session cookies unless in whitelist mode
def current_user
super if limited_federation_mode?

View File

@@ -1,12 +1,8 @@
# frozen_string_literal: true
class Api::V1::Instances::TranslationLanguagesController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
class Api::V1::Instances::TranslationLanguagesController < Api::V1::Instances::BaseController
before_action :set_languages
vary_by ''
def show
cache_even_if_authenticated!
render json: @languages

View File

@@ -0,0 +1,30 @@
# frozen_string_literal: true
class Api::V1::InvitesController < Api::BaseController
include RegistrationHelper
skip_before_action :require_authenticated_user!
skip_around_action :set_locale
before_action :set_invite
before_action :check_enabled_registrations!
# Override `current_user` to avoid reading session cookies
def current_user; end
def show
render json: { invite_code: params[:invite_code], instance_api_url: api_v2_instance_url }, status: 200
end
private
def set_invite
@invite = Invite.find_by!(code: params[:invite_code])
end
def check_enabled_registrations!
return render json: { error: I18n.t('invites.invalid') }, status: 401 unless @invite.valid_for_use?
raise Mastodon::NotPermittedError unless allowed_registration?(request.remote_ip, @invite)
end
end

View File

@@ -0,0 +1,16 @@
# frozen_string_literal: true
class Api::V1::Statuses::BaseController < Api::BaseController
include Authorization
before_action :set_status
private
def set_status
@status = Status.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
not_found
end
end

View File

@@ -1,11 +1,9 @@
# frozen_string_literal: true
class Api::V1::Statuses::BookmarksController < Api::BaseController
include Authorization
class Api::V1::Statuses::BookmarksController < Api::V1::Statuses::BaseController
before_action -> { doorkeeper_authorize! :write, :'write:bookmarks' }
before_action :require_user!
before_action :set_status, only: [:create]
skip_before_action :set_status, only: [:destroy]
def create
current_account.bookmarks.find_or_create_by!(account: current_account, status: @status)
@@ -28,13 +26,4 @@ class Api::V1::Statuses::BookmarksController < Api::BaseController
rescue Mastodon::NotPermittedError
not_found
end
private
def set_status
@status = Status.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
not_found
end
end

View File

@@ -1,10 +1,7 @@
# frozen_string_literal: true
class Api::V1::Statuses::FavouritedByAccountsController < Api::BaseController
include Authorization
class Api::V1::Statuses::FavouritedByAccountsController < Api::V1::Statuses::BaseController
before_action -> { authorize_if_got_token! :read, :'read:accounts' }
before_action :set_status
after_action :insert_pagination_headers
def index
@@ -61,13 +58,6 @@ class Api::V1::Statuses::FavouritedByAccountsController < Api::BaseController
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
end
def set_status
@status = Status.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
not_found
end
def pagination_params(core_params)
params.slice(:limit).permit(:limit).merge(core_params)
end

View File

@@ -1,11 +1,9 @@
# frozen_string_literal: true
class Api::V1::Statuses::FavouritesController < Api::BaseController
include Authorization
class Api::V1::Statuses::FavouritesController < Api::V1::Statuses::BaseController
before_action -> { doorkeeper_authorize! :write, :'write:favourites' }
before_action :require_user!
before_action :set_status, only: [:create]
skip_before_action :set_status, only: [:destroy]
def create
FavouriteService.new.call(current_account, @status)
@@ -30,13 +28,4 @@ class Api::V1::Statuses::FavouritesController < Api::BaseController
rescue Mastodon::NotPermittedError
not_found
end
private
def set_status
@status = Status.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
not_found
end
end

View File

@@ -1,10 +1,7 @@
# frozen_string_literal: true
class Api::V1::Statuses::HistoriesController < Api::BaseController
include Authorization
class Api::V1::Statuses::HistoriesController < Api::V1::Statuses::BaseController
before_action -> { authorize_if_got_token! :read, :'read:statuses' }
before_action :set_status
def show
cache_if_unauthenticated!
@@ -14,13 +11,6 @@ class Api::V1::Statuses::HistoriesController < Api::BaseController
private
def status_edits
@status.edits.includes(:account, status: [:account]).to_a.presence || [@status.build_snapshot(at_time: @status.edited_at || @status.created_at)]
end
def set_status
@status = Status.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
not_found
@status.edits.ordered.includes(:account, status: [:account]).to_a.presence || [@status.build_snapshot(at_time: @status.edited_at || @status.created_at)]
end
end

Some files were not shown because too many files have changed in this diff Show More