Compare commits

...

1369 commits

Author SHA1 Message Date
Izalia Mae 5508db58ea Merge branch 'main' of https://git.barkshark.xyz/mirror/mastodon 2023-07-06 14:02:20 -04:00
Claire c25ba31e95
Merge pull request #2274 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-07-06 15:21:10 +02:00
Claire ff7aae3037 Merge branch 'main' into glitch-soc/merge-upstream 2023-07-06 15:16:34 +02:00
Claire 5e1752ce3f
Bump version to v4.1.3 (#25757) 2023-07-06 15:14:42 +02:00
Claire 610731b03d
Merge pull request from GHSA-55j9-c3mp-6fcq 2023-07-06 15:06:49 +02:00
Claire c5929798bf
Merge pull request from GHSA-9pxv-6qvf-pjwc
* Fix timeout handling of outbound HTTP requests

* Use CLOCK_MONOTONIC instead of Time.now
2023-07-06 15:06:23 +02:00
Claire dc8f1fbd97
Merge pull request from GHSA-9928-3cp5-93fm
* Fix attachments getting processed despite failing content-type validation

* Add a restrictive ImageMagick security policy tailored for Mastodon

* Fix misdetection of MP3 files with large cover art

* Reject unprocessable audio/video files instead of keeping them unchanged
2023-07-06 15:05:05 +02:00
Claire 6d8e0fae3e
Merge pull request from GHSA-ccm4-vgcc-73hp
* Tighten allowed HTML in oEmbed-based preview cards

* Sanitize preview cards at render time

* Add `sandbox` attribute to preview card iframes
2023-07-06 15:03:33 +02:00
Claire fed9cbfd2b
Add hardened headers to user-uploaded files (#25756) 2023-07-06 14:31:37 +02:00
Claire 30ad9d976b
Merge pull request #2272 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-07-05 16:47:23 +02:00
Eugen Rochko c0fa85b8dd [Glitch] Fix regression of icon button colors in web UI
Port 69e124e2ed to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 13:31:26 +02:00
Trevor Wolf 4719d88117 [Glitch] Change button colors to increase hover/focus contrast and consistency
Port 54cb679c19 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 13:30:52 +02:00
Eugen Rochko a117c953d0 [Glitch] Add button to see results for polls in web UI
Port b7910bc751 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 12:42:24 +02:00
Eugen Rochko b3f209370b [Glitch] Add canonical link tags in web UI
Port 000b835803 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 12:41:52 +02:00
mogaminsk c6246807f5 [Glitch] Fix local live feeds does not expand
Port 6268188543 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 12:39:46 +02:00
forsamori ac74374311 [Glitch] Add at-symbol prepended to mention span title
Port d9a5c1acfa to glitch-soc

Co-authored-by: Sam BC <samuel.balbirnie-cumming@xdesign.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 12:38:54 +02:00
Eugen Rochko 0a5271629c [Glitch] Change labels of live feeds tabs in web UI
Port 54a10523e2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 12:37:37 +02:00
Claire 5de49e74d4 Merge branch 'main' into glitch-soc/merge-upstream 2023-07-05 12:01:26 +02:00
Eugen Rochko 000b835803
Add canonical link tags in web UI (#25715) 2023-07-05 11:25:27 +02:00
Eugen Rochko b7910bc751
Add button to see results for polls in web UI (#25726) 2023-07-05 10:32:04 +02:00
Claire eb2417ce99
Fix OAuth apps page crashing when listing apps with certain admin API scopes (#25713) 2023-07-04 18:58:23 +02:00
Claire 4658263b4a
Fix re-activated accounts being deleted by AccountDeletionWorker (#25711) 2023-07-04 18:36:24 +02:00
Trevor Wolf 182fd93a07
fix read more button overlapping thread line bug (#25706) 2023-07-04 14:57:46 +02:00
Claire 12fa24a885
Fix forgotten unconfirmed_email migration file (#25702) 2023-07-04 11:25:29 +02:00
mogaminsk 6268188543
Fix local live feeds does not expand (#25694) 2023-07-04 00:37:57 +02:00
forsamori d9a5c1acfa
Add at-symbol prepended to mention span title (#25684)
Co-authored-by: Sam BC <samuel.balbirnie-cumming@xdesign.com>
2023-07-03 22:58:10 +02:00
Eugen Rochko 54a10523e2
Change labels of live feeds tabs in web UI (#25683) 2023-07-03 22:57:18 +02:00
Daniel M Brasil 383c00819c
Fix /api/v2/search not working with following query param (#25681) 2023-07-03 18:06:57 +02:00
Eugen Rochko 69e124e2ed
Fix regression of icon button colors in web UI (#25679) 2023-07-03 16:51:04 +02:00
Plastikmensch ed15893eed
Add regex filter back to firehose (#2266)
* Add regex filter back to firehose

The regex filter will apply to all tabs and not be automatically applied when pinned.

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

* Keep regex when pinned

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

---------

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-03 15:41:50 +02:00
Trevor Wolf 54cb679c19
Change button colors to increase hover/focus contrast and consistency (#25677) 2023-07-03 11:32:31 +02:00
Plastikmensch b422b5eebd
Fix showing local only toots in "All" (#2265)
* Fix warnings about missing dependency in hooks

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

* Add `allowLocalOnly` to timelineId

Without this local-only toots will never be loaded.

feedType is checked to be public to not show local-only toots in the "Remote" tab.

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

---------

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-03 07:00:38 +02:00
Claire ed567c9de6
Merge pull request #2263 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-07-02 22:14:45 +02:00
Claire 9f3c3f5209 Show local-only posts in “All” by default, and add back option to toggle it 2023-07-02 20:28:02 +02:00
Claire e6a8faae81
Add users index on unconfirmed_email (#25672) 2023-07-02 19:41:35 +02:00
Claire 933ba1a3eb
Add superapp index on oauth_applications (#25670) 2023-07-02 16:56:16 +02:00
Claire 180f0e6715
Fix inefficient query when requesting a new confirmation email from a logged-in account (#25669) 2023-07-02 16:08:58 +02:00
mogaminsk 587ddc2c7f [Glitch] Prevent duplicate concurrent calls of /api/*/instance in web UI
Port 5b46345459 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-02 12:00:03 +02:00
Eugen Rochko c49e339c89 [Glitch] Change dropdown icon above compose form from ellipsis to bars in web UI
Port 0512537eb6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-02 11:59:31 +02:00
Claire 7cc2c1be29 [Glitch] Change local and federated timelines to be in a single firehose column
Port cea9db5a0b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-02 11:58:51 +02:00
Renaud Chaput eb1cb8224a [Glitch] Use an Immutable Record as the root state
Port 78ba12f0bf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-02 11:55:34 +02:00
Claire 2ba4773ebe [Glitch] Fix onboarding prompt being displayed because of disconnection gaps
Port 9934949fc4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-02 11:55:08 +02:00
Claire b75aa6b819 [Glitch] Remove the search button from UI header when logged out
Port 285a691936 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-02 11:54:47 +02:00
Claire 44e98a2740 Merge branch 'main' into glitch-soc/merge-upstream 2023-07-02 11:49:08 +02:00
Eugen Rochko ba06a2f104
Revert "Rails 7 update" (#25667) 2023-07-02 11:14:22 +02:00
mogaminsk 5b46345459
Prevent duplicate concurrent calls of /api/*/instance in web UI (#25663) 2023-07-02 11:12:16 +02:00
Eugen Rochko 0512537eb6
Change dropdown icon above compose form from ellipsis to bars in web UI (#25661) 2023-07-02 10:39:55 +02:00
Matt Jankowski 50c2a03695
Rails 7 update (#24241) 2023-07-02 10:38:53 +02:00
Daniel M Brasil 4fe2d7cb59
Fix HTTP 500 in /api/v1/emails/check_confirmation (#25595) 2023-07-02 00:05:44 +02:00
Claire cea9db5a0b
Change local and federated timelines to be in a single firehose column (#25641) 2023-07-02 00:05:10 +02:00
Matt Jankowski 0139b1c8e1
Update uri to version 0.12.2 (CVE fix) (#25657) 2023-07-02 00:04:21 +02:00
Vivianne 155fc459e3
Fixing an issue with a missing argument (#2261)
undefined
2023-07-01 22:55:43 +02:00
Matt Jankowski f8bd581126
Remove unused routes (#25578) 2023-07-01 21:48:53 +02:00
Matt Jankowski 683ba5ecb1
Fix rails rewhere deprecation warning in directories api controller (#25625) 2023-07-01 21:48:16 +02:00
Matt Jankowski c47cdf6e17
Add index to backups on user_id column (#25647) 2023-06-30 19:09:03 +02:00
Renaud Chaput 78ba12f0bf
Use an Immutable Record as the root state (#25584) 2023-06-30 17:03:25 +02:00
Claire 9934949fc4
Fix onboarding prompt being displayed because of disconnection gaps (#25617) 2023-06-30 16:32:12 +02:00
Eugen Rochko 8bfbd19d2b Update Crowdin configuration file 2023-06-30 16:22:40 +02:00
Renaud Chaput c4a8c332b2
Remove pkg-config gem dependency (#25615) 2023-06-30 14:59:07 +02:00
Claire a209d1e683
Fix ResolveURLService not resolving local URLs for remote content (#25637) 2023-06-29 14:48:54 +02:00
jsgoldstein 4581a528f7
Change account search to match by text when opted-in (#25599)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-06-29 13:05:21 +02:00
Claire 285a691936
Remove the search button from UI header when logged out (#25631) 2023-06-28 14:57:51 +02:00
Claire 8b4df95dbe
Merge pull request #2258 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-06-27 14:47:30 +02:00
Renaud Chaput c43cfd2406 [Glitch] Improve dismissable banner buttons when they dont fit on 1 line
Port ae30a60b1f to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-27 13:25:21 +02:00
Eugen Rochko 4faa4eb3c4 [Glitch] Fix onboarding prompt flashing while home feed is loading in web UI
Port 65aa04647a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-27 13:21:55 +02:00
Eugen Rochko 2f996375e5 [Glitch] Fix search not being easily findable on smaller screens in web UI
Port 2b78c07ef1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-27 13:21:14 +02:00
Claire 80a5c16ae1 Merge branch 'main' into glitch-soc/merge-upstream 2023-06-27 13:15:41 +02:00
Claire c7c6f02ae6
Fix suspending an already-limited domain (#25603) 2023-06-27 12:32:51 +02:00
renovate[bot] ceca93d0d1
Update dependency glob to v10.3.0 (#25608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 12:16:17 +02:00
renovate[bot] a9ba8263a0
Update mcr.microsoft.com/devcontainers/ruby Docker tag to v1 (#25613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 11:28:07 +02:00
renovate[bot] dbd37f129d
Update dependency pg to v8.11.1 (#25604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 10:36:21 +02:00
renovate[bot] b7f6280ef4
Update dependency pg-connection-string to v2.6.1 (#25605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 10:21:54 +02:00
renovate[bot] a90190f813
Update dependency react-textarea-autosize to v8.5.0 (#25610)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 10:20:46 +02:00
renovate[bot] ccaa676452
Update dependency sass to v1.63.6 (#25607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 10:20:09 +02:00
renovate[bot] d9b07b6a11
Update dependency rails to v6.1.7.4 (#25606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-27 10:19:51 +02:00
Claire 0ccf6c0eb7
Fix batch attachment deletion leaving empty directories (#25587) 2023-06-27 09:36:11 +02:00
renovate[bot] 9caa0475f8
Update dependency react-redux to v8.1.1 (#25432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-26 20:59:58 +02:00
S.H 7a25af64dd
Remove media attachment only when file was exist (#25586) 2023-06-26 16:38:19 +02:00
Eugen Rochko bb4756c823
Change files to be deleted in batches instead of one-by-one (#23302) 2023-06-26 14:17:41 +02:00
Renaud Chaput ae30a60b1f
Improve dismissable banner buttons when they dont fit on 1 line (#25580)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-26 12:31:48 +02:00
Claire ed96e28c9e
Fix compose form not being shown when clicking “Make your first post” on mobile (#25581) 2023-06-26 12:30:35 +02:00
Eugen Rochko 7b024baf50
Change header backgrounds to use fewer different colors in web UI (#25577) 2023-06-26 05:27:07 +02:00
Eugen Rochko 65aa04647a
Fix onboarding prompt flashing while home feed is loading in web UI (#25579) 2023-06-26 05:26:54 +02:00
Eugen Rochko 2b78c07ef1
Fix search not being easily findable on smaller screens in web UI (#25576) 2023-06-26 05:26:41 +02:00
Claire b052a7ed95
Merge pull request #2256 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-06-25 21:01:10 +02:00
Claire 5def74a436 [Glitch] Remove unique accounts condition from Home onboarding prompt
Port 0842a68532 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-25 17:40:01 +02:00
Eugen Rochko 6fb34258a4 [Glitch] Add onboarding prompt when home feed too slow in web UI
Port 00ec43914a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-25 17:40:01 +02:00
Claire 7d160d2272 [Glitch] Fix j/k keyboard shortcuts on some status lists
Port a8c1c8bd37 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-25 17:40:01 +02:00
mogaminsk 222713a768 [Glitch] Fix custom signup URL may not loaded
Port 8d2c26834f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-25 14:27:46 +02:00
Ian 6fe345c383 [Glitch] Change emoji picker icon
Port 69db507924 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-25 14:27:46 +02:00
たいち ひ c71fc42f4e [Glitch] Rewrite <AutosuggestHashtag /> as FC and TS
Port 804488d38e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-25 14:27:46 +02:00
Claire 178e151019 Merge commit '55e7c08a83547424024bac311d5459cb82cf6dae' into glitch-soc/merge-upstream
Conflicts:
- `app/models/user_settings.rb`:
  Upstream added a constraint on a setting textually close
  to glitch-soc-only settings.
  Applied upstream's change.
- `lib/sanitize_ext/sanitize_config.rb`:
  Upstream added support for the `translate` attribute on a few elements,
  where glitch-soc had a different set of allowed elements and attributes.
  Extended glitch-soc's allowed attributes with `translate` as upstream did.
- `spec/validators/status_length_validator_spec.rb`:
  Upstream refactored to use RSpec's `instance_double` instead of `double`,
  but glitch-soc had changes to tests due to configurable max toot chars.
  Applied upstream's changes while keeping tests against configurable max
  toot chars.
2023-06-25 14:27:38 +02:00
Claire 55e7c08a83
Fix verified badge in account lists potentially including rel="me" links (#25561) 2023-06-24 17:24:31 +02:00
Eugen Rochko a985d587e1
Change labels and styles on the onboarding screen in web UI (#25559) 2023-06-23 16:34:27 +02:00
Claire 0842a68532
Remove unique accounts condition from Home onboarding prompt (#25556) 2023-06-23 14:44:54 +02:00
Eugen Rochko 00ec43914a
Add onboarding prompt when home feed too slow in web UI (#25267) 2023-06-22 23:48:40 +02:00
Claire 1d622c8033
Add POST /api/v1/conversations/:id/unread (#25509) 2023-06-22 18:46:43 +02:00
Matt Jankowski c9cd634184
Use default bootsnap/setup in boot.rb (#25502) 2023-06-22 18:46:32 +02:00
Claire a8c1c8bd37
Fix j/k keyboard shortcuts on some status lists (#25554) 2023-06-22 17:54:43 +02:00
Claire a5b6f6da80
Change /api/v1/statuses/:id/history to always return at least one item (#25510) 2023-06-22 14:56:14 +02:00
Matt Jankowski 05f9e39b32
Fix RSpec/VerifiedDoubles cop (#25469) 2023-06-22 14:55:22 +02:00
Matt Jankowski 38433ccd0b
Reduce Admin::Reports::Actions spec db activity (#25465) 2023-06-22 14:53:13 +02:00
Claire 602c458ab6
Add finer permission requirements for managing webhooks (#25463) 2023-06-22 14:52:25 +02:00
Matt Jankowski 63d15d5330
Speed-up on StatusesController spec (#25549) 2023-06-22 14:51:53 +02:00
mogaminsk 8d2c26834f
Fix custom signup URL may not loaded (#25531) 2023-06-22 12:10:49 +02:00
Matt Jankowski 0b39b9abee
Speed-up on BackupService spec (#25527) 2023-06-22 11:53:28 +02:00
Daniel M Brasil 6ac271c2a0
Migrate to request specs in /api/v1/suggestions (#25540) 2023-06-22 11:49:35 +02:00
Ian 69db507924
Change emoji picker icon (#25479) 2023-06-21 17:58:00 +02:00
Claire 37a9c2258a
Add per-test timeouts to AutoStatusesCleanupScheduler tests (#24841) 2023-06-20 18:54:05 +02:00
Claire ebfeaebedb
Fix /api/v1/conversations sometimes returning empty accounts (#25499) 2023-06-20 18:32:26 +02:00
Claire ec91ea4457
Fix missing validation on default_privacy setting (#25513) 2023-06-20 18:32:14 +02:00
Daniel M Brasil e53eb38a8d
Migrate to request specs in /api/v1/admin/account_actions (#25514) 2023-06-20 18:16:48 +02:00
Claire fd23f50243
Fix wrong view being displayed when a webhook fails validation (#25464) 2023-06-20 18:15:35 +02:00
Claire c78280a8ce
Add translate="no" to outgoing mentions and links (#25524) 2023-06-20 18:10:19 +02:00
Emelia Smith 3a91603b15
Prevent UserCleanupScheduler from overwhelming streaming (#25519) 2023-06-20 18:04:35 +02:00
Plastikmensch eba3411bfa
Re-allow title attribute in <abbr> (#2254)
* Re-allow title attribute in <abbr>

This was accidentally removed in 7623e18124

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

* Add test

Add a new test to check that title attribute on <abbr> is kept.

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

---------

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-06-19 18:01:35 +02:00
Claire dd07393e75
Fix user settings not getting validated (#25508) 2023-06-19 14:06:06 +01:00
たいち ひ 804488d38e
Rewrite <AutosuggestHashtag /> as FC and TS (#25481) 2023-06-19 14:11:46 +02:00
Matt Jankowski e1c9d52e91
Reduce sleep time in request pool spec (#25470) 2023-06-19 13:48:25 +02:00
renovate[bot] cec4f1d506
Update dependency dotenv to v16.2.0 (#25506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-19 11:28:59 +02:00
Matt Jankowski 3a65fb044f
Add coverage for UserMailer methods (#25484) 2023-06-19 09:50:35 +02:00
Matt Jankowski e835198b26
Combine assertions in api/v1/notifications spec (#25486) 2023-06-19 09:05:42 +02:00
Matt Jankowski 155ec185b2
Remove unused picture_hint helper method (#25485) 2023-06-19 09:04:15 +02:00
renovate[bot] a0d7ae257d
Update dependency aws-sdk-s3 to v1.126.0 (#25480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-19 09:03:50 +02:00
Daniel M Brasil b9bc9d0bda
Fix incorrect pagination headers in /api/v2/admin/accounts (#25477) 2023-06-19 08:53:05 +02:00
Daniel M Brasil 0a0a1f1495
Migrate to request specs in /api/v1/tags (#25439) 2023-06-19 08:51:40 +02:00
Claire 4ddb736d95
Merge pull request #2252 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-06-18 16:38:08 +02:00
Claire dc68306b8e Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/views/layouts/application.html.haml`:
  Conflicts due to glitch-soc's theming system.
  Added `crossorigin: 'anonymous'` like upstream did, to the glitch-soc-specific code.
- `app/views/layouts/embedded.html.haml`:
  Conflicts due to glitch-soc's theming system.
  Added `crossorigin: 'anonymous'` like upstream did, to the glitch-soc-specific code.
2023-06-18 16:14:29 +02:00
Claire f3c2035fce
Merge pull request #2251 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-06-18 16:11:49 +02:00
Claire 64f7a11658
Fix cross-origin loading of locales (#25498) 2023-06-18 15:47:04 +02:00
Claire 3b04e39534 [Glitch] Fix non-interactive upload container being given a button role and tabIndex
Port c9d06d10d4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-18 14:10:49 +02:00
Claire e5978184a6 Fix glitch-soc-only test being broken by refactor of the surrounding tests 2023-06-18 13:59:47 +02:00
Claire 6c99479ef4 Merge commit '9e245d147bcb2c72cc552ff8c276a1c34e2f686d' into glitch-soc/merge-upstream
Conflicts:
- `app/views/settings/profiles/show.html.haml`:
  Upstream redesigned the settings page, where glitch-soc had changes because of
  the ability to set some custom limits.
  Went with upstream's design while keeping our custom limits.
- `yarn.lock`:
  Upstream updated dependencies textually close to a glitch-soc-only dependency.
  Updated the dependnencies as well.
2023-06-18 13:41:33 +02:00
Eugen Rochko d795c2c70c [Glitch] Fix CAPTCHA page not following design pattern of sign-up flow
Port 39110d1d0a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-18 12:11:58 +02:00
たいち ひ b1b95ddd1f [Glitch] Rewrite emoji_mart_data_light as TS
Port 3b5e302f7f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-18 12:11:19 +02:00
alfe 9bf63257fb [Glitch] Rewrite <LoadingIndicator/> as FC and TS (#25364)
Port a86886b1fd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-18 12:10:37 +02:00
Renaud Chaput 0a212cfa7f [Glitch] Add missing report category translation
Port 1cb4514d0e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-18 10:43:07 +02:00
alfe cdec45eca9 [Glitch] Rewrite <LoadPending /> as FC and TS
Port dfaf59d99a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-18 10:42:04 +02:00
Eugen Rochko f815bd5fd9 [Glitch] Change "bot" label to "automated"
Port 432a5d2d4b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-18 10:40:56 +02:00
Claire 65cbcce997 Merge commit '39110d1d0af5e3d9cf452ae47496a52797249fd0' into glitch-soc/merge-upstream 2023-06-18 10:36:14 +02:00
renovate[bot] 9e245d147b
Update dependency aws-sdk-s3 to v1.125.0 (#25458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-16 14:23:58 +02:00
Claire c9d06d10d4
Fix non-interactive upload container being given a button role and tabIndex (#25462) 2023-06-16 12:03:06 +02:00
Matt Jankowski b276b3bb83
Remove Ruby GC config from spec helper (#25455) 2023-06-15 22:14:46 +01:00
renovate[bot] e686a54064
Update dependency better_errors to v2.10.1 (#25445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-15 10:41:04 +02:00
Daniel M Brasil b10c05e702
Migrate to request specs in /api/v1/lists (#25443) 2023-06-15 10:19:51 +02:00
renovate[bot] 8b2048d0c8
Lock file maintenance (#25434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-15 10:13:12 +02:00
renovate[bot] a6d7abb29d
Update dependency intl-messageformat to v10.5.0 (#25431)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-15 09:36:10 +02:00
renovate[bot] 36566e9245
Update dependency core-js to v3.31.0 (#25430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 18:32:55 +02:00
renovate[bot] 478687fc49
Update libretranslate/libretranslate Docker tag to v1.3.11 (#25428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 18:15:32 +02:00
renovate[bot] 841e35e291
Update devDependencies (non-major) (#25427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 18:12:33 +02:00
Matt Jankowski 4c5aa0e470
Update rubocop-rspec to version 2.22.0, fix RSpec/IndexedLet cop (#24698) 2023-06-14 16:44:37 +02:00
Daniel M Brasil 24015ef0cc
Migrate to request specs in /api/v1/domain_blocks (#25414) 2023-06-14 16:08:53 +02:00
Daniel M Brasil 87aff5aad8
Migrate to request specs in /api/v1/follow_requests (#25411) 2023-06-14 15:43:50 +02:00
Daniel M Brasil d9c6f70cc6
Fix ArgumentError in /api/v1/admin/accounts/:id/action (#25386) 2023-06-14 15:21:36 +02:00
renovate[bot] b9e8d2b352
Update dependency sass to v1.63.3 (#25422)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 11:23:54 +02:00
renovate[bot] 95b84874f3
Update dependency redis-namespace to v1.11.0 (#25421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 11:18:37 +02:00
renovate[bot] 360759df7b
Update formatjs monorepo (#25418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 11:16:36 +02:00
renovate[bot] f10f4f2359
Update dependency glob to v10.2.7 (#25417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 10:56:22 +02:00
Matt Jankowski ae9f5379d1
Reduce factory data created in spec/models/trends/statuses spec (#25410) 2023-06-14 09:57:06 +02:00
Matt Jankowski 31d5bc89d1
Speed improvement for AccountsStatusesCleanupScheduler spec (#25406) 2023-06-14 09:56:11 +02:00
Daniel M Brasil a5b62e56d0
Migrate to request specs in /api/v1/apps/verify_credentials (#25404) 2023-06-14 09:48:57 +02:00
Daniel M Brasil a6407aa662
Migrate to request specs in /api/v1/apps (#25401) 2023-06-14 09:48:48 +02:00
Matt Jankowski 4c5f62de99
Extract shared examples from api specs (#25387) 2023-06-14 09:34:01 +02:00
renovate[bot] ae2790d84f
Update babel monorepo to v7.22.5 (#25405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-06-14 09:22:54 +02:00
renovate[bot] a99201c735
Update dependency capybara to v3.39.2 (#25407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 09:21:30 +02:00
renovate[bot] 780d54e5c3
Update dependency aws-sdk-s3 to v1.124.0 (#25297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-14 09:05:30 +02:00
Eugen Rochko f20698000f
Fix always redirecting to onboarding in web UI (#25396) 2023-06-14 09:05:03 +02:00
Claire ec59166844
Fix ArgumentError when loading newer Private Mentions (#25399) 2023-06-14 08:54:52 +02:00
Eugen Rochko bca649ba79
Change edit profile page (#25413) 2023-06-14 04:38:07 +02:00
Eugen Rochko 39110d1d0a
Fix CAPTCHA page not following design pattern of sign-up flow (#25395) 2023-06-13 22:30:40 +02:00
たいち ひ 3b5e302f7f
Rewrite emoji_mart_data_light as TS (#25138) 2023-06-13 19:28:31 +02:00
alfe a86886b1fd
Rewrite <LoadingIndicator/> as FC and TS (#25364) 2023-06-13 19:26:25 +02:00
Nick Schonning 72590e601a
Update Rubocop 1.52.1 (#25376) 2023-06-13 18:42:51 +02:00
Renaud Chaput 1cb4514d0e
Add missing report category translation (#25400) 2023-06-13 15:05:40 +02:00
Matt Jankowski 10746af82f
Remove unused shared examples for scoped settings (#25389) 2023-06-13 14:59:04 +02:00
Matt Jankowski 25c66fa640
Enable paperclip for account attachment examples (#25381) 2023-06-12 17:37:43 +02:00
Eugen Rochko 6637ef7852
Add unsubscribe link to e-mails (#25378) 2023-06-12 14:22:46 +02:00
Plastikmensch fefdc3244c
[Glitch] Change "direct message" nomenclature to "private mention" in web UI (#2158)
Port 68a192e718 to glitch-soc

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-06-11 13:33:45 +02:00
Claire af97a6ac5a
Merge pull request #2246 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-06-11 09:58:55 +02:00
alfe dfaf59d99a
Rewrite <LoadPending /> as FC and TS (#25363) 2023-06-11 04:47:18 +02:00
Eugen Rochko 432a5d2d4b
Change "bot" label to "automated" (#25356) 2023-06-11 04:47:07 +02:00
Claire 20718a8b59 Fix some translation strings inconsistencies 2023-06-10 19:21:44 +02:00
Claire 42a0898f16 Merge commit '3a2a15c6ea4d4603469861ed9be09da12a122e45' into glitch-soc/merge-upstream
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
  Conflict because glitch-soc does not have a theme selector here.
2023-06-10 18:42:29 +02:00
Matt Jankowski 62c996b52d
Reduce RSpec/MultipleExpectations cop max to 8 (#25313) 2023-06-10 18:38:22 +02:00
Matt Jankowski b5675e265e
Add coverage for CLI::Feeds command (#25319) 2023-06-10 18:37:36 +02:00
Matt Jankowski 07933db788
Add coverage for CLI::Cache command (#25238) 2023-06-10 18:36:09 +02:00
Emelia Smith 215081240f
Add logging of websocket send errors (#25280) 2023-06-10 18:35:57 +02:00
fusagiko / takayamaki b19a695608
migrate test for GET /api/v1/accounts/{account_id} to request spec (#25322) 2023-06-10 18:33:24 +02:00
Daniel M Brasil 99216e34e5
Migrate to request specs in /api/v1/admin/canonical_email_blocks (#25330) 2023-06-10 18:33:02 +02:00
Daniel M Brasil b4e19f9610
Migrate to request specs in /api/v1/admin/ip_blocks (#25331) 2023-06-10 18:32:46 +02:00
Daniel M Brasil 4301d8cbb3
Migrate to request specs in /api/v1/admin/domain_allows (#25333) 2023-06-10 18:32:26 +02:00
Daniel M Brasil 841c220c40
Migrate to request specs in /api/v1/admin/domain_blocks (#25335) 2023-06-10 18:32:07 +02:00
Daniel M Brasil 0e200d4e2f
Migrate to request specs in /api/v1/admin/reports (#25355) 2023-06-10 18:30:43 +02:00
Matt Jankowski 3a2a15c6ea
Use build where possible in fabricators (#25360) 2023-06-10 18:29:01 +02:00
Matt Jankowski c94bb9ba9a
Disable paperclip processing in specs (#25359) 2023-06-10 18:27:35 +02:00
Emelia Smith c81f59583c
Fix logging of messages that are binary before closing their connection (#25361) 2023-06-10 18:24:37 +02:00
Claire 34efd1a24c Switch to using a common runtime chunk rather than locales 2023-06-10 17:43:13 +02:00
Claire 8c26d49cbd Merge commit '16dd3f08c1e5396d5f9ff3f13417901bc4e4b8b9' into glitch-soc/merge-upstream
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream fixed a translation bug in the theme selector that is absent from
  glitch-soc due to our different theming system.
  Discarded upstream changes.
- `streaming/index.js`:
  Upstream changed the signature of a function to change its return type.
  This is not a real conflict, the conflict being caused by an extra
  argument in glitch-soc's code.
  Applied upstream's change while keeping our extra argument.
2023-06-10 17:18:36 +02:00
Eugen Rochko fb0d2de8fe [Glitch] Change design of dropdowns in web UI
Port e4fd9503ec to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 17:10:06 +02:00
alfe 83ae40e192 [Glitch] Rewrite <LoadMore /> as FC and TS
Port fb5bf5cbf8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:59:25 +02:00
Claire c48ec9cb8c Merge commit 'b85c387c5c0527b0ad31c27031a09d361826c5fc' into glitch-soc/merge-upstream
Conflicts:
- `config/initializers/content_security_policy.rb`:
  Kept our version, it was not affected by upstream's bug.
2023-06-10 16:48:01 +02:00
Claire 88c5ad3136 [Glitch] Add data-nosnippet so Google doesn't use trending posts in snippets for /
Port 1483a3ddfe to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:38:03 +02:00
S.H 5a961f84cf [Glitch] Fix not shown announcements in hometimeline.
Port a6c898f501 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:37:20 +02:00
Claire 475185a2ee [Glitch] Fix design issues with recent react-intl upgrade
Port c2c396157f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:36:54 +02:00
Darius Kazemi a8a30f1298 [Glitch] Add exclusive lists
Port bacb674921 to glitch-soc

Co-authored-by: Liam Cooke <liam@liamcooke.com>
Co-authored-by: John Holdun <john@johnholdun.com>
Co-authored-by: Effy Elden <effy@effy.space>
Co-authored-by: Lina Reyne <git@lina.pizza>
Co-authored-by: Lina <20880695+necropolina@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:36:15 +02:00
Claire bf23afa059 [Glitch] Add card with who invited you to join when displaying rules on sign-up
Port SCSS from 0766c9a631 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:30:36 +02:00
Jed Fox 753385d3e0 [Glitch] Fix spacing of middle dots in the detailed status meta section
Port acc419b81b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:29:48 +02:00
Claire d8b0a732aa Merge commit '1483a3ddfe74e4fb81d87447a1781943eab86c60' into glitch-soc/merge-upstream
Conflicts:
- `config/initializers/simple_form.rb`:
  Upstream added a new simple_form component, where we had an extra one.
  Kept both components.
2023-06-10 16:22:14 +02:00
Renaud Chaput 9e66c07be7 [Glitch] Fix /share and cleanup and reorganize frontend locale loading
Port b0780cfeed to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 16:18:01 +02:00
Claire 734e186717 Merge commit 'b0780cfeeda641645ea65da257a72ec507e71647' into glitch-soc/merge-upstream
Conflicts:
- `app/javascript/mastodon/load_locale.js`:
  The file moved to `app/javascript/mastodon/locales/load_locale.ts`.
  Ported the changes there and deleted `app/javascript/mastodon/load_locale.js`.
- `app/javascript/mastodon/locales/index.js`:
  The file moved to `app/javascript/mastodon/locales/index.ts`.
  Did *not* port the changes as I want to try something a bit different.
2023-06-10 15:32:29 +02:00
S.H a4d7a17089 [Glitch] Fix using Date.now() instead of intl.now()
Port b3f9a0da52 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 15:21:04 +02:00
Claire aa57f7e3e2 Merge commit '5fae2de454806730742b7be7435ae1c4fb97cf3c' into glitch-soc/merge-upstream 2023-06-10 15:17:08 +02:00
Claire 9af04d5a46 [Glitch] Add a confirmation screen when suspending a domain
Port e9385e93e9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 15:10:24 +02:00
Claire b27a9a5903 Merge commit 'e9385e93e9b4601c87d1f5d6b8ddfd815f7aedcb' into glitch-soc/merge-upstream 2023-06-10 15:09:19 +02:00
Renaud Chaput 8188522bde [Glitch] Fix prev/next buttons color in media viewer
Port 675672feb6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 14:48:41 +02:00
Christian Schmidt 7e25fd9b0c [Glitch] Translate CW, poll options and media descriptions
Port 69057467cb to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 14:48:41 +02:00
Claire 93c714417f Merge commit 'b922ad7a1b4bc8d968d0df2c7f307d4fec53435d' into glitch-soc/merge-upstream
Conflicts:
- `package.json`:
  Upstream changed various script definitions in lines surrounding the one for
  `i18n:extract`, which had glitch-soc-specific changes.
  Updated the scripts as upstream did, while keeping our changes to
  `i18n:extract`.
2023-06-10 14:38:04 +02:00
Renaud Chaput 9e133e2527 [Glitch] Upgrade react-intl
Port 44cd88adc4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-10 14:37:08 +02:00
Claire 85722a918d Merge commit '44cd88adc4e2f4028dcc2b08b98368f0dc90cee4' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  Updated upstream, but we've deleted it.
  Keep it deleted.
- `app/javascript/mastodon/locales/index.js`:
  Reworked upstream, but the code was mostly in
  `app/javascript/locales/index.js` in glitch-soc.
  Updated that file accordingly.
- `app/javascript/packs/public.jsx`:
  Not a real conflict, but different imports in
  glitch-soc and upstream.
- `app/views/layouts/application.html.haml`:
  Conflict due to locales loading and theme system
  discrepancies.
  Updated in our own way.
- `app/views/layouts/embedded.html.haml`:
  Conflict due to locales loading and theme system
  discrepancies.
  Updated in our own way.
- `config/webpack/generateLocalePacks.js`:
  Deleted upstream, as upstream now directly loads the
  JSON at runtime.
  Deleted as well, will switch to runtime loading in
  an upcoming commit.
- `config/webpack/shared.js`:
  Not a real conflict, but different imports in
  glitch-soc and upstream.
- `config/webpack/translationRunner.js`:
  Mostly deleted upstream, to be replaced with `formatjs-formatter.js`
  instead.
  Moved the glitch-soc logic there and deleted the file.
2023-06-10 12:38:33 +02:00
Eugen Rochko 4c9406bdb0
Add time zone preference (#25342) 2023-06-10 03:29:37 +02:00
Emelia Smith 16dd3f08c1
Fix performance of streaming by parsing message JSON once (#25278) 2023-06-09 19:29:16 +02:00
Renaud Chaput e34142782f
Add Ruby & Bundler versions to Gemfile.lock (#25317) 2023-06-09 16:34:36 +02:00
Matt Jankowski 75e299f440
Remove unused redis_info method Admin::Dashboard (#25345) 2023-06-09 14:03:35 +02:00
Daniel M Brasil 4aff1d2974
Migrate to request specs in /api/v1/admin/email_domain_blocks (#25337) 2023-06-09 14:00:14 +02:00
jsgoldstein 18f092d927
Fix translations for changing theme (#25340) 2023-06-08 17:12:41 +02:00
Matt Jankowski b85c387c5c
Remove reference to deleted statsd config file (#25336) 2023-06-07 22:46:53 +02:00
renovate[bot] db047e323b
Update dependency webpack-bundle-analyzer to v4.9.0 (#25327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-07 12:05:05 +02:00
renovate[bot] 5265655549
Update dependency dotenv to v16.1.3 (#25302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-07 11:46:40 +02:00
renovate[bot] 7e22287caa
Update dependency sass-loader to v10.4.1 (#25315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-07 11:44:09 +02:00
Claire f378f10404
Fix compatibility of recent migration with PostgreSQL 10 (#25324) 2023-06-07 01:53:50 +02:00
Eugen Rochko 67d17ce194
Add legal as report category (#23941) 2023-06-06 23:41:59 +02:00
Eugen Rochko e4fd9503ec
Change design of dropdowns in web UI (#25107) 2023-06-06 21:49:49 +02:00
Renaud Chaput ed04c277b4
Configure RenovateBot to add proper language labels (#25316)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Nick Schonning <nschonni@gmail.com>
2023-06-06 18:53:43 +02:00
Matt Jankowski 6c0e3f490a
Fix RSpec/MissingExampleGroupArgument cop (#25310) 2023-06-06 15:51:42 +02:00
Matt Jankowski b74c3cd708
Fix RSpec/DescribedClass cop missed items (#25309) 2023-06-06 14:51:03 +02:00
Nick Schonning c66250abf1
Autofix Rubocop Regex Style rules (#23690)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-06 14:50:51 +02:00
renovate[bot] 9a653899e9
Update dependency redis to v4.6.7 (#25300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-06 14:16:41 +02:00
Matt Jankowski c42591356d
Fix RSpec/DescribedClass cop (#25104) 2023-06-06 13:58:33 +02:00
Matt Jankowski 1e243e2df7
Misc spec coverage for Admin:: area controllers (#25282) 2023-06-06 13:57:00 +02:00
Daniel M Brasil eb6f8181e1
Add test coverage for Mastodon::CLI::Accounts#reset_relationships (#25194) 2023-06-06 13:37:09 +02:00
Matt Jankowski b22bfae4f9
Add coverage for DomainBlock#public_domain method (#25283) 2023-06-06 13:34:04 +02:00
alfe fb5bf5cbf8
Rewrite <LoadMore /> as FC and TS (#25259) 2023-06-06 11:28:50 +02:00
renovate[bot] 50a8f5b8a7
Update dependency react-redux to v8.0.7 (#25298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-06 11:18:56 +02:00
Claire 6833732852
Fix autocomplete suggestions being cut off in compose form (#25275) 2023-06-06 11:05:25 +02:00
Eugen Rochko 4eda233e09
Add webhook templating (#23289)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-06 10:42:47 +02:00
renovate[bot] a80efb449e
Configure Renovate (#25255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-06-06 10:42:23 +02:00
Eugen Rochko 0ddc895282
Change follow button in account row to be more obvious in web UI (#24956) 2023-06-06 04:14:28 +02:00
Claire d907e79140
Merge pull request #2242 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 00c222377d
2023-06-05 20:49:35 +02:00
Matt Jankowski af135bddd0
Update Admin::Metrics::Measure classes for Rails 7 (#25236) 2023-06-05 20:46:04 +02:00
Claire e428670e61
Fix CSP headers when S3_ALIAS_HOST includes a path component (#25273) 2023-06-05 17:35:05 +02:00
Claire 1483a3ddfe
Add data-nosnippet so Google doesn't use trending posts in snippets for / (#25279) 2023-06-05 17:32:24 +02:00
Matt Jankowski 3b21c13dcc
Rails 7 compatibility fix for Admin::Metrics::Dimension classes (#25277) 2023-06-05 16:52:33 +02:00
Daniel M Brasil 70cd2d6000
Add test coverage for Mastodon::CLI::Accounts#cull (#25250) 2023-06-05 14:51:25 +02:00
S.H a6c898f501
Fix not shown announcements in hometimeline. (#25251) 2023-06-05 14:49:51 +02:00
Nick Schonning a8310b15ed
Update kt-paperclip 7.2 from sha (#25274) 2023-06-05 14:40:35 +02:00
dependabot[bot] 7fc1297c3e [Glitch] Bump eslint-plugin-jsdoc from 44.2.5 to 45.0.0
Port 89d6341c80 to glitch-soc

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-05 13:31:45 +02:00
Claire 5e876c2901 [Glitch] Fix null signUp URL in various places
Port 14bb6bb29a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-05 13:28:22 +02:00
y.takahashi 4993b6e800 [Glitch] Handle Surrogate Pairs in truncate()
Port 64b960b6b3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-06-05 13:28:02 +02:00
Claire c22fc2fa80 Merge commit '00c222377db0e305ac3f4a15bf1c18eb89c1f45f' into glitch-soc/merge-upstream
Conflicts:
- `.rubocop_todo.yml`:
  Took upstream's changes.
2023-06-05 13:25:22 +02:00
Claire c2c396157f
Fix design issues with recent react-intl upgrade (#25272) 2023-06-05 09:52:36 +02:00
Darius Kazemi bacb674921
Add exclusive lists (#22048)
Co-authored-by: Liam Cooke <liam@liamcooke.com>
Co-authored-by: John Holdun <john@johnholdun.com>
Co-authored-by: Effy Elden <effy@effy.space>
Co-authored-by: Lina Reyne <git@lina.pizza>
Co-authored-by: Lina <20880695+necropolina@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-05 09:37:02 +02:00
Matt Jankowski 0daf78f903
Add allow_other_host: true to backups controller (#25266) 2023-06-05 08:22:03 +02:00
Matt Jankowski 5c87c66504
Add coverage for CLI::CanonicalEmailBlocks command (#25239) 2023-06-05 08:20:18 +02:00
Daniel M Brasil 03a707f6a6
Add test coverage for Mastodon::CLI::Accounts#merge (#25199) 2023-06-05 08:16:12 +02:00
Matt Jankowski e49819142f
Remove unmaintained nsa gem (#25265) 2023-06-05 01:57:05 +02:00
Eugen Rochko 4a5464f360
Change "Follow 7 people" to "Find at least 7 people to follow" in web UI (#24954) 2023-06-05 01:42:17 +02:00
Claire ee771f5bad
Fix closeModal invocation (#2239)
Fixes #2238

Some call sites where missed in 382b2a506a
2023-06-04 22:05:45 +02:00
Nick Schonning aea67d448b
Cleanup old translationRunner (#25241) 2023-06-02 20:01:36 +02:00
Jed Fox 768b00c4d0
Consistently use middle dot (·) instead of bullet (•) to separate items (#25248) 2023-06-02 19:58:18 +02:00
Claire 0766c9a631
Add card with who invited you to join when displaying rules on sign-up (#23475) 2023-06-02 18:35:37 +02:00
Claire 94329f28e1
Change wording of “Content cache retention period” setting to highlight destructive implications (#23261) 2023-06-02 18:09:08 +02:00
Jed Fox acc419b81b
Fix spacing of middle dots in the detailed status meta section (#25247) 2023-06-02 15:40:23 +02:00
Renaud Chaput b0780cfeed
Fix /share and cleanup and reorganize frontend locale loading (#25240) 2023-06-02 15:00:27 +02:00
Claire 5fae2de454
Fix overflow behavior of account rows (#25131) 2023-06-01 14:47:55 +02:00
Claire 8884d1ece0
Add support for importing lists (#25203) 2023-06-01 14:47:31 +02:00
dependabot[bot] d91607feee
Bump sidekiq-scheduler from 5.0.2 to 5.0.3 (#25228)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-01 14:39:43 +02:00
Matt Jankowski cd4f0feab8
Extract verify options method in search cli (#25121) 2023-06-01 14:35:05 +02:00
Nick Schonning b489c200a6
Update yarn.lock for audit issues (#25152) 2023-06-01 14:32:34 +02:00
Matt Jankowski 35c1c3e57a
Add CLI area progress bar helper (#25208) 2023-06-01 14:31:24 +02:00
Daniel M Brasil 2a353200ad
Add test coverage for Mastodon::CLI::Accounts#rotate (#25212) 2023-06-01 14:29:29 +02:00
dependabot[bot] 3182ecc24c
Bump puma from 6.2.2 to 6.3.0 (#25229)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-01 14:27:58 +02:00
S.H b3f9a0da52
Fix using Date.now() instead of intl.now() (#25234) 2023-06-01 13:46:19 +02:00
Renaud Chaput 942d850b0a
Allow carets in URL search params (#25216) 2023-06-01 12:14:49 +02:00
Claire dac460f43f
Bump workbox from 6.6.1 to 7.0.0 (#25232) 2023-06-01 10:24:11 +02:00
dependabot[bot] c15c8c7aa8
Bump rspec-rails from 6.0.2 to 6.0.3 (#25223)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-01 10:01:21 +02:00
Daniel M Brasil f906e21a4f
Add test coverage for Mastodon::CLI::Accounts#refresh (#25196) 2023-06-01 10:01:09 +02:00
Claire fe84f7e323
Add missing primary keys to accounts_tags and statuses_tags (#25210) 2023-06-01 09:49:06 +02:00
Matt Jankowski f84037ae2b
Remove unused #hash_to_object method in SettingsHelper (#25213) 2023-06-01 09:47:05 +02:00
dependabot[bot] e7e1b46ce8
Bump aws-sdk-s3 from 1.122.0 to 1.123.0 (#25230)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-01 09:45:10 +02:00
dependabot[bot] 5a50983654
Bump eslint-plugin-jsdoc from 45.0.0 to 46.1.0 (#25222)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-01 09:41:44 +02:00
dependabot[bot] b05bbd91d0
Bump @types/jest from 29.5.1 to 29.5.2 (#25220)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-01 09:41:03 +02:00
Claire e9385e93e9
Add a confirmation screen when suspending a domain (#25144) 2023-06-01 09:37:38 +02:00
Claire fca2dff2e2
Merge pull request #2237 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-06-01 09:25:26 +02:00
Claire b922ad7a1b
Fix crash when S3_ALIAS_HOST or S3_CLOUDFRONT_HOST have a path component (#25018) 2023-06-01 09:23:28 +02:00
Claire 2b45fecde1
Fix multiple N+1s in ConversationsController (#25134) 2023-06-01 02:41:51 +02:00
Renaud Chaput 675672feb6
Fix prev/next buttons color in media viewer (#25231) 2023-06-01 02:25:38 +02:00
Nick Schonning d39bce963f
Add fix/lint helper dev targets (#23561) 2023-06-01 02:25:13 +02:00
Christian Schmidt 69057467cb
Translate CW, poll options and media descriptions (#24175)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-01 00:10:21 +02:00
Renaud Chaput 44cd88adc4
Upgrade react-intl (#24906) 2023-05-31 23:43:39 +02:00
Matt Jankowski 00c222377d
Remove unused Settings::Extend module (#25214) 2023-05-31 23:34:48 +02:00
Renaud Chaput b7d995cb00
Disable some metrics cops (#25215) 2023-05-31 23:33:10 +02:00
Matt Jankowski b0104e4c33
Silence output to stdout during cli specs (#25211) 2023-05-31 20:01:11 +02:00
Matt Jankowski dc26140d54
Use thor methods instead of tty prompt in maintenance cli (#25207) 2023-05-31 19:40:16 +02:00
Daniel M Brasil 3c41547f49
Add test coverage for Mastodon::CLI::Accounts#backup (#25163) 2023-05-31 15:32:37 +02:00
Matt Jankowski 8b1bfaed3e
Add specs for admin/webhooks CRUD actions (#25133) 2023-05-31 15:23:49 +02:00
Matt Jankowski 665bb237a8
Increase spec coverage for controllers - admin/ip_blocks, admin/relays, admin/rules (#25192) 2023-05-31 10:23:32 +02:00
dependabot[bot] 82f6d4c418
Bump @babel/core and @types/babel__core (#25183)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-31 09:57:48 +02:00
Claire b6519ab3f5
Fix inconsistent naming of Instance.by_domain_and_subdomain (#25159) 2023-05-31 09:57:24 +02:00
dependabot[bot] b86f3596ba
Bump @babel/plugin-transform-runtime from 7.21.4 to 7.22.4 (#25173)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-31 09:51:35 +02:00
dependabot[bot] e24adacea1
Bump @babel/preset-react from 7.18.6 to 7.22.3 (#25171)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-31 09:42:14 +02:00
dependabot[bot] e1d0343354
Bump @babel/runtime from 7.21.5 to 7.22.3 (#25170)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-31 09:39:35 +02:00
dependabot[bot] 0ed8164777
Bump @babel/preset-env from 7.21.5 to 7.22.4 (#25167)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-31 09:36:43 +02:00
Daniel M Brasil bf9a7ce8e8
Add test coverage for Mastodon::CLI::Accounts#unfollow (#25162) 2023-05-31 09:33:57 +02:00
Renaud Chaput 98e5e011aa
Upgrade Workbox to 6.6.0 (#25197) 2023-05-31 09:29:16 +02:00
dependabot[bot] 89d6341c80
Bump eslint-plugin-jsdoc from 44.2.5 to 45.0.0 (#25172)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-05-31 09:27:21 +02:00
Renaud Chaput c2ea0dc65f
Drop support for Node.js 14 (#25198) 2023-05-31 08:42:40 +02:00
Claire 14bb6bb29a
Fix null signUp URL in various places (#25190) 2023-05-30 19:01:42 +02:00
Matt Jankowski 1baf40077b
Fix FormatStringToken cop in CLI (#25122) 2023-05-30 16:21:53 +02:00
Daniel M Brasil dbc44be0ca
Add test coverage for Mastodon::CLI::Accounts#follow (#25161) 2023-05-30 16:13:29 +02:00
Matt Jankowski 80c7de9984
Fix Rails/WhereExists cop in CLI (#25123) 2023-05-30 16:09:57 +02:00
Matt Jankowski b7b96efd17
Extract helper method for error report in cli/accounts command (#25119) 2023-05-30 16:09:15 +02:00
Matt Jankowski 2cecb2dc9e
Increment index which was previously not used in maintenance CLI loop (#25118) 2023-05-30 16:08:47 +02:00
Matt Jankowski ec9bc7e604
Consistent usage of CLI dry_run? method (#25116) 2023-05-30 16:07:44 +02:00
Daniel M Brasil 3d253b9830
Add test coverage for Mastodon::CLI::Accounts#approve (#25160) 2023-05-30 15:00:21 +02:00
Daniel M Brasil bbbcdc083f
Add test coverage for Mastodon::CLI::Accounts#delete (#25146) 2023-05-30 11:59:17 +02:00
dependabot[bot] 44eaa979d4
Bump @types/react from 18.2.6 to 18.2.7 (#25166)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:58:55 +02:00
dependabot[bot] 4869384fa0
Bump jsdom from 22.0.0 to 22.1.0 (#25178)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:43:20 +02:00
dependabot[bot] 05c2d4dab2
Bump nokogiri from 1.14.3 to 1.15.2 (#25177)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:42:41 +02:00
dependabot[bot] 66c1ad8be9
Bump @types/react-motion from 0.0.33 to 0.0.34 (#25185)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:40:22 +02:00
dependabot[bot] 5f1a03fdba
Bump @typescript-eslint/parser from 5.59.7 to 5.59.8 (#25175)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:38:42 +02:00
dependabot[bot] 6d41cdcc6a
Bump @typescript-eslint/eslint-plugin from 5.59.7 to 5.59.8 (#25182)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:34:59 +02:00
dependabot[bot] 8ff2d61add
Bump @types/lodash from 4.14.194 to 4.14.195 (#25184)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:33:21 +02:00
dependabot[bot] b91aeeb94f
Bump sidekiq from 6.5.8 to 6.5.9 (#25176)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:29:40 +02:00
dependabot[bot] 37dc48c3a1
Bump postcss from 8.4.23 to 8.4.24 (#25169)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:28:39 +02:00
S.H 8c183a9831
Align argument type to keyword argument for private process method in FetchResourceService (#25189) 2023-05-30 09:28:01 +02:00
Daniel M Brasil bdc7548652
Add test coverage for Mastodon::CLI::Accounts#modify (#25145) 2023-05-29 15:31:59 +02:00
y.takahashi 64b960b6b3
Handle Surrogate Pairs in truncate() (#25148) 2023-05-29 11:55:16 +02:00
Daniel M Brasil 11b8336418
Add test coverage for Mastodon::CLI::Accounts#create (#25143) 2023-05-29 11:43:19 +02:00
Claire 5ed48e6878 Fix extraneous newlines 2023-05-28 18:06:09 +02:00
fusagiko / takayamaki 382b2a506a [Glitch] Rewrite actions/modal and reducers/modal with typescript
Port 38c6216082 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 17:49:55 +02:00
たいち ひ 6a592083f1 [Glitch] Fix export style of <LoadGap /> based on <Domain />
Port 4197b5e4c8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 17:15:21 +02:00
Renaud Chaput 0009b4b574 [Glitch] Update inconsistent defaultMessage
Port e58c36d308 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 17:14:31 +02:00
Claire 0669783da8 Merge branch 'main' into glitch-soc/merge-upstream 2023-05-28 17:01:25 +02:00
Eugen Rochko e7dc375aab [Glitch] Change share action from being in action bar to being in dropdown in web UI
Port 1caa5ff39e to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 16:59:12 +02:00
Renaud Chaput 7bec63e6e2 [Glitch] Fix null signUp URL handling from #25014
Port 40b948a1fb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 16:52:16 +02:00
たいち ひ 017fbc7a74 [Glitch] Rewrite <LoadGap /> as FC and TS
Port 7336f3648b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 16:48:17 +02:00
Claire 0e7466717f Merge commit '391c089d0db58d731765dba730a5e1f2fe8570a6' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  We removed it from glitch-soc.
  Keep it deleted.
2023-05-28 16:41:14 +02:00
Claire 7d7db8977b Fix import order with ESLint
Port d27216dc46 to glitch-soc
2023-05-28 16:38:10 +02:00
Claire 1cd7f5ff17 Merge commit 'd27216dc4616d80659c0cc5d2a55394e0e1ae874' into glitch-soc/merge-upstream
Conflicts:
- `.eslintrc.js`:
  Upstream moved a configuration block in which we had added a glitch-only
  path.
  Moved the configuration block as upstream did.
- other files:
  Upstream reordered imports, and those files had different ones.
  Kept our version and reordered imports using the same rules.
2023-05-28 15:54:31 +02:00
Claire 9e5278ea7b [Glitch] Add support for custom sign-up URLs
Port ca66e61b93 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 15:09:28 +02:00
Claire 8f380a33fc [Glitch] Fix video player offering to expand in a lightbox when it's in an iframe
Port 100840c06e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 15:06:29 +02:00
Claire 6dbd44faea Merge commit 'b896b16cb3c8626fbee12a7eda7f882114b1a040' into glitch-soc/merge-upstream 2023-05-28 15:01:53 +02:00
Claire a0bc0619ca [Glitch] Use JSX syntax for Fragments
Port 5a16bd7bf4 to glitch-soc
2023-05-28 14:56:24 +02:00
Claire 8278907ff7 Merge commit '5a16bd7bf4591feb852364da9b84407438c9b7d6' into glitch-soc/merge-upstream 2023-05-28 14:32:26 +02:00
Claire 6001f5ff36 [Glitch] Use the new JSX transform everywhere
Port 8f66126b10 to glitch-soc
2023-05-28 14:18:43 +02:00
Claire 9381f78166 Merge commit '8f66126b1010e0aaaa8b5f2a2f4ea8a28824e2b7' into glitch-soc/merge-upstream 2023-05-28 13:55:30 +02:00
Claire 0222df6047
Merge pull request #2236 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to e387175fc9
2023-05-27 11:28:10 +02:00
Claire 1347ca6eb0 fixup! [Glitch] Upgrade to React 18 2023-05-26 18:44:18 +02:00
Matt Jankowski 55785b1603
Extract methods for user de-duping in maintenance CLI (#25117) 2023-05-26 09:42:16 +02:00
Matt Jankowski 0f2c16ac4b
Fix RSpec/NoExpectationExample cop (#25103) 2023-05-26 09:41:12 +02:00
Claire 61f6cd45e3 Fix glitch-soc-only tests being broken because of test refactor 2023-05-26 00:10:57 +02:00
たいち ひ 60c7e559d8 [Glitch] Rewrite <TimelineHint /> as FC and TS
Port 9a472efe7c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 23:58:54 +02:00
たいち ひ 6746e5d430 [Glitch] Rewrite <Skeleton/> as FC and TS
Port 8066118d1f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 23:55:36 +02:00
Claire 892b3c16f5 [Glitch] Allow scripts in post embed previews
Port 711a037660 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 23:52:04 +02:00
Claire e2ab9d4dad Merge commit 'e387175fc9a3ebfd72ab45ebfe43ecfabef7b0c3' into glitch-soc/merge-upstream 2023-05-25 23:47:28 +02:00
Renaud Chaput 3b375ee395 [Glitch] Upgrade to React 18
Port 8d6aea3326 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 23:45:01 +02:00
Claire 45d7358100 Merge commit '8d6aea33260dedeacb3d22ac1a6d2f9cc3856a5e' into glitch-soc/merge-upstream 2023-05-25 23:18:57 +02:00
Claire 2e02d03524 Merge commit '4a22e72b9b1b8f14792efcc649b0db8bc27f0df2' into glitch-soc/merge-upstream 2023-05-25 22:59:30 +02:00
Claire ad1098970b Merge commit 'bec6a1cad4c509c53deb378c7ba984ba7e2de5a9' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/auth/confirmations_controller.rb`:
  Upstream merged our captcha code, but there are some
  conflicts due to glitch-soc's theming system.
- `app/views/admin/settings/registrations/show.html.haml`:
  Upstream merged our captcha code, but there are some
  conflicts due to glitch-soc's theming system.

Additional changes:
- `Gemfile`:
  Upstream added hcaptcha dependency in another place in the file.
- `config/settings.yml`:
  Upstream added the `captcha_enabled` setting in another place in the file.
2023-05-25 22:49:18 +02:00
Claire ba73f0ea3a [Glitch] Add polling and automatic redirection to /start on email confirmation
Port e60414792d to glitch-soc
2023-05-25 22:37:14 +02:00
Claire f959f6cdbb Merge commit 'e60414792d86a99c0f401f3c1bab92ee37835d39' into glitch-soc/merge-upstream 2023-05-25 22:18:55 +02:00
Claire b0ec3bfcf9 [Glitch] Fix being unable to load past a full page of filtered posts in Home timeline
Port 7b54e47d03 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 22:00:07 +02:00
Christian Schmidt 4a1f4cb6a2 [Glitch] Fix UI crash in moderation interface when opening the media modal
Port 5241f7b2fd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 21:57:19 +02:00
Eugen Rochko d728222121 [Glitch] Change "Sign in" to "Login"
Port 3869e8c210 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 21:52:37 +02:00
Claire 602ae7f2f6 [Glitch] Fix videos being improperly positioned on safari
Port 0eed06073f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 21:47:48 +02:00
Renaud Chaput e6a7cfd12e [Glitch] Add stricter ESLint rules for Typescript files
Port 5eeb40bdbe to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 21:43:19 +02:00
Nick Schonning e8fc445e14 [Glitch] Enable ESLint react/no-deprecated
Port b878e3d8df to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 21:07:38 +02:00
Renaud Chaput 79c43b61a6 [Glitch] Disable RTK safety middlewares
Port 6f8db56a01 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 20:57:42 +02:00
fusagiko / takayamaki 7d9b7f28b8 [Glitch] Add type annotation for DisplayName component
Port 349cae0b57 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 20:57:07 +02:00
fusagiko / takayamaki ea1f9b4223 [Glitch] Rename Image component to ServerHeroImage
Port ab7716cff4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-25 20:44:09 +02:00
Claire b735954971 Merge commit '2ce0b666a139726dc406e6c1887728553b947e59' into glitch-soc/merge-upstream
Conflicts:
- `config/webpack/generateLocalePacks.js`:
  A dependency update changed how functions are imported.
  Also, some linting fixes not applicable to glitch-soc.
2023-05-25 20:43:25 +02:00
Claire 646cde71d1
Change captcha to be presented even for invited users (#2227) 2023-05-25 20:13:18 +02:00
Claire 69903b5830
Fix margins around small avatars (reply indicators, autocompletion suggestion) (#2231)
Fix regression from #2156
2023-05-25 19:40:33 +02:00
Claire cb6f445b90
Greatly simplify history management code (#2230)
Fixes #2220

This drops the ability to shift+click on “Back” to get back to a pinned
column, but that was inconsistent, broken, and undocumented.

This also brings us slightly closer to upstream.
2023-05-25 19:14:51 +02:00
Claire 2f2f74efd8
[Glitch] Update style of captcha confirmation page to match sign-up form (#2226) 2023-05-25 19:14:37 +02:00
fusagiko / takayamaki 38c6216082
Rewrite actions/modal and reducers/modal with typescript (#24833) 2023-05-25 15:42:37 +02:00
たいち ひ 4197b5e4c8
Fix export style of <LoadGap /> based on <Domain /> (#25128) 2023-05-25 13:03:37 +02:00
Claire 1d588d58f1
Improve various queries against account domains (#25126) 2023-05-25 09:27:16 +02:00
Renaud Chaput e58c36d308
Update inconsistent defaultMessage (#25114) 2023-05-24 12:38:50 +02:00
dependabot[bot] 391c089d0d
Bump eslint from 8.40.0 to 8.41.0 (#25081)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 12:38:08 +02:00
Matt Jankowski 384345b0de
Add CLI Base class for command line code (#25106) 2023-05-24 11:55:40 +02:00
Matt Jankowski d2e5430d4a
Fix RSpec/ExpectChange cop (#25101) 2023-05-24 11:23:40 +02:00
Eugen Rochko 1caa5ff39e
Change share action from being in action bar to being in dropdown in web UI (#25105)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-24 11:04:43 +02:00
dependabot[bot] f7d93f95e1
Bump capistrano from 3.17.2 to 3.17.3 (#25113)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 10:52:10 +02:00
dependabot[bot] 2e3b1ef13e
Bump eslint-plugin-jsdoc from 44.2.4 to 44.2.5 (#25112)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 10:47:50 +02:00
dependabot[bot] ac98e9fdbc
Bump fastimage from 2.2.6 to 2.2.7 (#25111)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 10:46:10 +02:00
Renaud Chaput 342daeb389
Update react-redux (#25110) 2023-05-24 10:23:17 +02:00
Renaud Chaput 40b948a1fb
Fix null signUp URL handling from #25014 (#25108) 2023-05-24 09:49:26 +02:00
たいち ひ 7336f3648b
Rewrite <LoadGap /> as FC and TS (#25042) 2023-05-24 09:20:39 +02:00
Renaud Chaput d27216dc46
Enforce import order with ESLint (#25096) 2023-05-23 17:15:17 +02:00
Matt Jankowski b896b16cb3
Fix RSpec/PredicateMatcher cop (#25102) 2023-05-23 16:49:11 +02:00
Matt Jankowski 778e4a7bf7
Fix RSpec/ExpectInHook cop (#25100) 2023-05-23 16:40:21 +02:00
Matt Jankowski b6b4ea4ca5
Move the mastodon/*_cli files to mastodon/cli/* (#24139) 2023-05-23 16:08:26 +02:00
Matt Jankowski c9f980b268
Add request spec for backups download (#25099) 2023-05-23 15:44:11 +02:00
Claire ca66e61b93
Add support for custom sign-up URLs (#25014) 2023-05-23 15:17:09 +02:00
Claire dfa5889fc0
Change Identity to not destroy associated User on destroy (#25098) 2023-05-23 15:00:36 +02:00
Claire 100840c06e
Fix video player offering to expand in a lightbox when it's in an iframe (#25067) 2023-05-23 14:28:21 +02:00
Claire 9017df7178
Remove dead code in Api::V1::FeaturedTagsController (#25073) 2023-05-23 14:27:37 +02:00
Claire fea0830614
Remove invalid X-Frame-Options: ALLOWALL (#25070) 2023-05-23 14:27:17 +02:00
Matt Jankowski 541f64b2bb
Fix Rails/Exit cop (#24743) 2023-05-23 13:26:10 +02:00
Renaud Chaput 5a16bd7bf4
Use JSX syntax for Fragments (#25093) 2023-05-23 11:47:36 +02:00
Renaud Chaput 8f66126b10
Use the new JSX transform (#25064) 2023-05-23 10:52:27 +02:00
Matt Jankowski e387175fc9
Fix RSpec/RepeatedExample cop (#24849) 2023-05-23 10:49:23 +02:00
Matt Jankowski 9f5deb310b
Fix Performance/MapCompact cop (#24797)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-23 10:49:12 +02:00
Matt Jankowski 0664704cd9
Fix Performance/StartWith cop (#24818) 2023-05-23 10:16:50 +02:00
たいち ひ 9a472efe7c
Rewrite <TimelineHint /> as FC and TS (#25091) 2023-05-23 10:04:10 +02:00
Matt Jankowski 2877c80dbc
Add specs for admin/announcements CRUD actions (#25077) 2023-05-23 10:03:51 +02:00
dependabot[bot] 753e6df04a
Bump rubocop from 1.50.2 to 1.51.0 (#24995)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:52:54 +02:00
dependabot[bot] 5b332112fc
Bump stylelint from 15.6.1 to 15.6.2 (#25078)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:47:59 +02:00
dependabot[bot] c37ecbcd10
Bump aws-sdk-s3 from 1.121.0 to 1.122.0 (#24923)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:44:47 +02:00
dependabot[bot] c2cbe90a89
Bump rimraf from 5.0.0 to 5.0.1 (#25082)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:44:14 +02:00
dependabot[bot] 9e59186f78
Bump glob from 10.2.2 to 10.2.6 (#25083)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:34:31 +02:00
dependabot[bot] c7cbded282
Bump webpack-merge from 5.8.0 to 5.9.0 (#25084)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:27:55 +02:00
dependabot[bot] d7fd2c5763
Bump rqrcode from 2.1.2 to 2.2.0 (#25086)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:25:43 +02:00
dependabot[bot] 4ea24537cf
Bump rubocop-performance from 1.17.1 to 1.18.0 (#25089)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:25:32 +02:00
dependabot[bot] 7cfa6424f1
Bump @typescript-eslint/eslint-plugin from 5.59.6 to 5.59.7 (#25085)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:25:20 +02:00
dependabot[bot] 16d3e76a71
Bump @typescript-eslint/parser from 5.59.6 to 5.59.7 (#25080)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:15:43 +02:00
dependabot[bot] 9628d949ef
Bump connection_pool from 2.4.0 to 2.4.1 (#25088)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:07:01 +02:00
dependabot[bot] a5fa30a2d2
Bump rspec-rails from 6.0.1 to 6.0.2 (#25092)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:06:43 +02:00
Daniel M Brasil b473df9a14
Improve test coverage for /api/v1/featured_tags (#25076) 2023-05-23 09:01:11 +02:00
Nick Schonning 520e00a3c1
Don't run Rubocop excluded files for lint-staged (#25090) 2023-05-23 08:58:40 +02:00
たいち ひ 8066118d1f
Rewrite <Skeleton/> as FC and TS (#25055) 2023-05-23 08:58:08 +02:00
Claire 711a037660
Allow scripts in post embed previews (#25071) 2023-05-22 21:18:21 +02:00
Daniel M Brasil 785e650ab4
Fix uncaught TypeError in POST /api/v1/featured_tags (#25072)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-22 19:14:54 +02:00
Daniel M Brasil 45d98959ac
Fix uncaught NoMethodError in POST /api/v1/featured_tags (#25063) 2023-05-22 18:11:28 +02:00
Claire 2a61f14753
Fix account confirmation flow not returning to app after captcha validation (#25057) 2023-05-22 17:38:05 +02:00
Renaud Chaput 8d6aea3326
Upgrade to React 18 (#24916) 2023-05-22 15:48:01 +02:00
Daniel M Brasil 4a22e72b9b
Improve test coverage for /api/v1/admin/canonical_email_blocks (#24985) 2023-05-22 15:27:35 +02:00
Matt Jankowski 325d5f0183
Regenerate rubocop-todo (#24846) 2023-05-22 14:49:10 +02:00
Claire e13d2edd47
Fix “Authorized applications” inefficiently and incorrectly getting last use date (#25060) 2023-05-22 14:03:38 +02:00
Daniel M Brasil ce8b5899ae
Fix POST /api/v1/admin/domain_allows returning 200 when no domain is specified (#24958) 2023-05-22 13:44:49 +02:00
Matt Jankowski e328ab7e5a
Implement pending specs for StatusesController (#23969) 2023-05-22 13:43:05 +02:00
Daniel M Brasil f3feb4c891
Improve test coverage for /api/v1/admin/email_domain_blocks (#25017) 2023-05-22 13:28:11 +02:00
Nick Schonning c0b9664a31
Autofix Rubocop spacing in config (#25022) 2023-05-22 13:17:56 +02:00
Emelia Smith 19f9098551
Allow reports with long comments from remote instances, but truncate (#25028) 2023-05-22 13:15:21 +02:00
Daniel M Brasil d51464283c
Improve test coverage for /api/v1/admin/ip_blocks_controller (#25031) 2023-05-22 12:50:44 +02:00
Nick Schonning 23a4ecf444
Remove duplicate JPG type (#25054) 2023-05-22 12:46:20 +02:00
Nick Schonning 7d805cfa90
Remove requestAnimationFrame test polyfill (#25056) 2023-05-22 12:45:29 +02:00
Claire 7bb8030cc1
Change OpenGraph-based embeds to allow fullscreen (#25058) 2023-05-22 12:25:56 +02:00
Frankie Roberto 36a77748b4
Order sessions by most-recent to least-recently updated (#25005) 2023-05-22 11:40:00 +02:00
Nick Schonning c1e70a2072
Cleanup and document bundle test/dev deps (#24457)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-19 17:48:15 +02:00
Nick Schonning ed349b14e2
Add Postgres 15 testing for migrations (#23887) 2023-05-19 17:14:15 +02:00
Nick Schonning 99e2e9b81f
Fix minor typos in comments and spec names (#21831) 2023-05-19 17:13:29 +02:00
Claire b805b7f021
Add tests for avatar/header in backup service (#25037) 2023-05-19 12:04:18 +02:00
dependabot[bot] 27ec8f297d
Bump jsdom from 21.1.2 to 22.0.0 (#24828)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-19 11:28:56 +02:00
Essem 5fd8d1e417
Fix oversight in backup service (#25034) 2023-05-19 11:27:10 +02:00
Matt Jankowski d34d94d08f
Add spec for migration warning module (#25033) 2023-05-19 10:53:50 +02:00
Claire 058898802a
Fix AvatarComposite and DisplayName referencing undefined props (#2222) 2023-05-17 23:24:27 +02:00
Claire 45ba9ada34
Fix race condition when reblogging a status (#25016) 2023-05-17 00:09:21 +02:00
Claire 5cd55d8aaf
Fix being able to vote on your own polls (#25015) 2023-05-17 00:08:42 +02:00
Claire bec6a1cad4
Add hCaptcha support (#25019) 2023-05-16 23:27:35 +02:00
Claire e60414792d
Add polling and automatic redirection to /start on email confirmation (#25013) 2023-05-16 18:03:52 +02:00
dependabot[bot] 2ce0b666a1
Bump pg-connection-string from 2.5.0 to 2.6.0 (#24999)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 15:39:18 +02:00
Claire 7b54e47d03
Fix being unable to load past a full page of filtered posts in Home timeline (#24930) 2023-05-16 15:36:25 +02:00
Claire aa4c9730f6
Change composer highlight border size to be more noticeable (#25010) 2023-05-16 14:59:44 +02:00
Claire 3ed3d54bf3
Fix reports not being closed when performing batch suspensions (#24988) 2023-05-16 14:56:49 +02:00
dependabot[bot] 6ce4fd1cf2
Bump thor from 1.2.1 to 1.2.2 (#25001)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 10:58:36 +02:00
dependabot[bot] e95e896f10
Bump capybara from 3.39.0 to 3.39.1 (#25004)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 10:52:07 +02:00
Nick Schonning cee4369cf5
Autofix Rubocop Lint/AmbiguousOperatorPrecedence (#25002) 2023-05-16 10:51:59 +02:00
dependabot[bot] 520462799f
Bump @typescript-eslint/eslint-plugin from 5.59.5 to 5.59.6 (#24998)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 10:51:02 +02:00
dependabot[bot] bbe4800b04
Bump @typescript-eslint/parser from 5.59.5 to 5.59.6 (#25000)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 10:45:53 +02:00
dependabot[bot] 4d6a8ee34a
Bump eslint-plugin-jsdoc from 43.1.1 to 44.2.4 (#24994)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 10:10:02 +02:00
Steven Munn 52d36f0f98
Fix spelling of "Lets" on the onboarding page after clicking the confirmation email (#24959)
Co-authored-by: Steven Munn <stevenjmunn@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-15 22:42:07 +02:00
Matt Jankowski 604e1c2b11
Remove usage of random sample values in specs (#24869) 2023-05-15 20:20:13 +02:00
Matt Jankowski b84bc2de5d
Replace i18n view spec with helper spec (#24966) 2023-05-15 17:25:04 +02:00
Renaud Chaput 2e1c6e93ad
Bump mkdirp major version (#24978) 2023-05-15 09:40:24 +02:00
Claire 054df2d67e
Merge pull request #2216 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-05-14 15:39:47 +02:00
dependabot[bot] 713d217384
Bump eslint from 8.39.0 to 8.40.0 (#24919)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-14 15:09:33 +02:00
Matt Jankowski 679aca46da
I18n pluralization errors (#24963) 2023-05-12 18:53:30 +02:00
Daniel M Brasil 433ab0c9a3
Fix uncaught NoMethodError error in /api/v1/admin/canonical_email_blocks/test (#24947)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-12 13:46:16 +02:00
Claire 9015c2d646
Change profile updates to be sent to recently-mentioned servers (#24852) 2023-05-12 13:13:04 +02:00
Matt Jankowski 2c2d924942
Fix RSpec/RepeatedExampleGroupDescription cop (#24850)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-12 12:25:32 +02:00
Matt Jankowski bf3ebeb42f
Fix RSpec/SharedContext cop (#24847) 2023-05-12 09:25:43 +02:00
Christian Schmidt 5241f7b2fd
Fix UI crash in moderation interface when opening the media modal (#24816) 2023-05-11 12:41:55 +02:00
Matt Jankowski a610a02d4f
Fix RSpec/ScatteredSetup cop (#24848) 2023-05-11 10:32:09 +02:00
Daniel M Brasil 9cbda99941
Add test coverage for Mastodon::IpBlocksCLI (#24935) 2023-05-11 10:19:24 +02:00
Emelia Smith b8a2430642
Fix Onboarding Errors (#24883) 2023-05-11 07:55:10 +02:00
Claire 6b0942d107
Change AccessTokensVacuum to also delete expired tokens (#24868) 2023-05-11 04:40:03 +02:00
Eugen Rochko 3869e8c210
Change "Sign in" to "Login" (#24942) 2023-05-10 20:17:55 +02:00
Claire 0eed06073f
Fix videos being improperly positioned on safari (#24943) 2023-05-10 17:22:34 +02:00
Renaud Chaput 5eeb40bdbe
Add stricter ESLint rules for Typescript files (#24926) 2023-05-10 12:59:29 +02:00
Nick Schonning b878e3d8df
Enable ESLint react/no-deprecated (#24471) 2023-05-10 09:05:32 +02:00
たいち ひ 2d5e257938
Rewrite logo.tsx as FC (#24909) 2023-05-10 08:58:21 +02:00
Renaud Chaput 6f8db56a01
Disable RTK safety middlewares (#24936) 2023-05-10 08:38:02 +02:00
Claire f371464639 Remove our copy of image.d.ts as tsconfig already uses upstream's 2023-05-10 00:00:28 +02:00
Claire 96e99e2170 Run prettier on Typescript files
Port 51b83ed195 to glitch-soc
2023-05-09 23:41:18 +02:00
Claire facc7ab03c Merge commit '51b83ed19536b06ce3f57b260400ecec2d1dd187' into glitch-soc/merge-upstream 2023-05-09 23:37:38 +02:00
Renaud Chaput 5aa08826cf [Glitch] Type Redux store and middleware
Port 6aeb162927 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 23:28:40 +02:00
Renaud Chaput a56c71faba [Glitch] Remove unused iOS agent sniffing function
Port 224d458f7e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 23:20:57 +02:00
Renaud Chaput 526fe33e2f [Glitch] Rework polyfills loading
Port a3a2414f0e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 23:20:24 +02:00
fusagiko / takayamaki e22a88b512 [Glitch] Add more detailed type annotation for Account
Port 6579e3af7d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 23:16:23 +02:00
Claire 1a664560cc Merge commit '6aeb162927e6f9bbfd597632a10d82d9656c2385' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  We deleted it.
  Kept it removed.
- `app/javascript/packs/public.jsx`:
  Upstream changed an import, we have slightly different ones.
  Ported upstream changes.
2023-05-09 23:12:48 +02:00
fusagiko / takayamaki 349cae0b57
Add type annotation for DisplayName component (#24752) 2023-05-09 23:08:54 +02:00
fusagiko / takayamaki ab7716cff4
Rename Image component to ServerHeroImage (#24894) 2023-05-09 23:08:28 +02:00
Claire 0fff2b67de Disable broken onboarding code 2023-05-09 23:03:23 +02:00
Renaud Chaput 5f2071d055 [Glitch] Enforce stricter rules for Typescript files
Port c8181eb0a4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 22:56:26 +02:00
Renaud Chaput b509b96504 [Glitch] Enforce React Rules of Hooks with eslint
Port d9b93bd15e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 22:28:53 +02:00
Renaud Chaput 108720d7b0 [Glitch] Dont use CommonJS (require, module.exports) anywhere
Port 955179fc55 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 22:28:53 +02:00
Claire c81d1b0d38 Merge commit 'c8181eb0a41c4f5c1655d4e400cab071aee4182a' into glitch-soc/merge-upstream
Conflicts:
- `app/javascript/packs/admin.jsx`:
  Upstream reworked imports, but we had many changes.
  Reworked imports as upstream did.
- `app/javascript/packs/public.jsx`:
  Upstream reworked imports, but we had many changes.
  Reworked imports as upstream did.
2023-05-09 22:12:05 +02:00
たいち ひ 887112a065 [Glitch] Add TypeScript support for mastodon alias and image imports
Port 7c1305b3a4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 21:50:48 +02:00
Claire 42bdc2add9 Copy hooks/useHovering.ts to glitch-soc 2023-05-09 21:30:10 +02:00
Claire 8e806b6e88 Fix IconButton prop types in glitch-soc 2023-05-09 21:11:23 +02:00
Renaud Chaput 6415981056 [Glitch] Mark wheel events on scrollable list as passive
Port 89269e4b71 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:42:07 +02:00
fusagiko / takayamaki f94eb65cf9 [Glitch] Rewrite Domain component as function component
Port 9818f34273 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:33:58 +02:00
fusagiko / takayamaki 468dfffd26 [Glitch] Use LayoutType from is_mobile in actions/app
Port 5bc8e2d1fd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:32:30 +02:00
たいち ひ 87a704f70b [Glitch] Rewrite RadioButton component as FC
Port 76264e3fe8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:25:31 +02:00
たいち ひ bd851d3b58 [Glitch] Rewrite Image component as function component
Port a65d2d1045 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:24:49 +02:00
たいち ひ 1edaf58fb9 [Glitch] Rewrite <NotSignedInIndicator /> as FC
Port 490ccbf40b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:24:01 +02:00
Claire 8b568755ad Merge commit '89269e4b713e3291a5c8c29b8d2e7b950b60eb35' into glitch-soc/merge-upstream
Conflicts:
- `tsconfig.json`:
  Upstream changed the config to properly process imports.
  Glitch-soc had previously already done so.
  Changed the config to better match upstream.
2023-05-09 20:12:33 +02:00
Nick Schonning 51b83ed195
Use Prettier for ESLint formatting TypeScript (#23631) 2023-05-09 19:02:12 +02:00
Renaud Chaput 6aeb162927
Type Redux store and middleware (#24843) 2023-05-09 16:56:26 +02:00
Claire e1f466fbbe
Fix javascript on moderation interface (#24933) 2023-05-09 16:42:02 +02:00
Renaud Chaput 224d458f7e
Remove unused iOS agent sniffing function (#24931) 2023-05-09 15:48:53 +02:00
dependabot[bot] 72dcb2ef58
Bump @typescript-eslint/eslint-plugin from 5.59.2 to 5.59.5 (#24922)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 15:42:21 +02:00
dependabot[bot] a5ba98d2df
Bump @typescript-eslint/parser from 5.59.2 to 5.59.5 (#24921)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 15:25:49 +02:00
eggplants af7bf59b3e
Fix wrong documentation link (#24924) 2023-05-09 14:56:02 +02:00
Renaud Chaput a3a2414f0e
Rework polyfills loading (#24907) 2023-05-09 14:55:35 +02:00
Claire f08f6d20e6
Merge pull request #2215 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-05-09 14:47:11 +02:00
Daniel M Brasil 536dd046d4
Add ability to block sign-ups from IP using the CLI (#24870) 2023-05-09 14:46:00 +02:00
Daniel M Brasil ffb3fef7db
Fix uncaught ActiveRecord::StatementInvalid in Mastodon::IpBlocksCLI (#24861) 2023-05-09 14:45:47 +02:00
Renaud Chaput aec486b4ec
Upgrade uuid to 9.0.0 (#24917) 2023-05-09 14:43:07 +02:00
fusagiko / takayamaki 6579e3af7d
Add more detailed type annotation for Account (#24815) 2023-05-09 12:09:32 +02:00
Renaud Chaput c8181eb0a4
Enforce stricter rules for Typescript files (#24910) 2023-05-09 03:11:56 +02:00
Renaud Chaput 64ec41d89c
Make Webpack fail on failed imports (#24908) 2023-05-09 03:10:04 +02:00
Renaud Chaput d9b93bd15e
Enforce React Rules of Hooks with eslint (#24911) 2023-05-09 03:09:11 +02:00
Renaud Chaput 955179fc55
Dont use CommonJS (require, module.exports) anywhere (#24913) 2023-05-09 03:08:47 +02:00
Renaud Chaput 89269e4b71
Mark wheel events on scrollable list as passive (#24914) 2023-05-09 03:07:13 +02:00
Renaud Chaput ea04f33f50 [Glitch] Fixes build errors from some previous TS-related commits
Port 45579a26cf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
fusagiko / takayamaki 3d9e35375c [Glitch] Rewrite actions/app.ts and reducers/missed_updates.ts with createAction
Port 0999cb4601 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Renaud Chaput a33d6c946a [Glitch] Remove MastodonMap TS type
Port 9a52a7f7a0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
fusagiko / takayamaki e8243d5bbd [Glitch] Add type annotation for some js files
Port e38b391940 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Claire 5f0d2b6e3b Copy Typescript type definitions to glitch-soc 2023-05-08 22:15:00 +02:00
Claire f3af434c25 [Glitch] Fix incorrect import of redux store
Port 9c1929efad to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
fusagiko / takayamaki f4e3e309b1 [Glitch] use configureStore of redux-toolkit instead of createStore of redux
Port 8227af8dcc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Eugen Rochko bbd0e9caa6 [Glitch] Add ALT badges to media that has alternative text in web UI
Port 8131a5b330 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Claire a8939e9098 [Glitch] Change media elements to use aspect-ratio rather than compute height themselves
Port 598e63dad2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Claire 10f5329ddf [Glitch] Fix incorrect box shadow on avatar in thread view
Port d37c0a1060 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 21:09:49 +02:00
fusagiko / takayamaki 9ab89bb832 [Glitch] Add type annotation for Blurhash component
Port f50105779b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 21:09:49 +02:00
fusagiko / takayamaki 20f1f3aa7d [Glitch] Add type annotation for IconButton component
Port 5a5975d7f7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 21:09:49 +02:00
Claire 8b31030fe4 Fix rubocop issues in glitch-soc-specific code 2023-05-08 19:28:43 +02:00
Claire d77fbbed73 Merge commit 'f877aa9d70d0d600961989b8e97c0e0ce3ac1db6' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  Upstream made changes, but we had removed it.
  Discarded upstream changes.
- `.rubocop_todo.yml`:
  Upstream regenerated the file, we had some glitch-soc-specific ignores.
- `app/models/account_statuses_filter.rb`:
  Minor upstream code style change where glitch-soc had slightly different code
  due to handling of local-only posts.
  Updated to match upstream's code style.
- `app/models/status.rb`:
  Upstream moved ActiveRecord callback definitions, glitch-soc had an extra one.
  Moved the definitions as upstream did.
- `app/services/backup_service.rb`:
  Upstream rewrote a lot of the backup service, glitch-soc had changes because
  of exporting local-only posts.
  Took upstream changes and added back code to deal with local-only posts.
- `config/routes.rb`:
  Upstream split the file into different files, while glitch-soc had a few
  extra routes.
  Extra routes added to `config/routes/settings.rb`, `config/routes/api.rb`
  and `config/routes/admin.rb`
- `db/schema.rb`:
  Upstream has new migrations, while glitch-soc had an extra migration.
  Updated the expected serial number to match upstream's.
- `lib/mastodon/version.rb`:
  Upstream added support to set version tags from environment variables, while
  glitch-soc has an extra `+glitch` tag.
  Changed the code to support upstream's feature but prepending a `+glitch`.
- `spec/lib/activitypub/activity/create_spec.rb`:
  Minor code style change upstream, while glitch-soc has extra tests due to
  `directMessage` handling.
  Applied upstream's changes while keeping glitch-soc's extra tests.
- `spec/models/concerns/account_interactions_spec.rb`:
  Minor code style change upstream, while glitch-soc has extra tests.
  Applied upstream's changes while keeping glitch-soc's extra tests.
2023-05-08 19:28:21 +02:00
Claire f89f3a8566
Fix glitch-soc's thread line styling (#2214)
Thread lines were misaligned in glitch-soc because we have less padding and
larger avatar sizes.
2023-05-08 18:21:36 +02:00
Claire 61f3e0e95e
Merge pull request #2213 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-05-08 17:59:28 +02:00
Eugen Rochko 8bf9bd5ac8 [Glitch] Fix n+1 query in settings migration
Port 0ad2413b35 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 16:15:10 +02:00
Eugen Rochko 75e28731a5 [Glitch] Fix transaction around settings migration
Port f1c1fa1411 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 16:12:05 +02:00
fusagiko / takayamaki aff2d55b80 [Glitch] Add type annotation for RelativeTimestamp component
Port 15fd712464 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 16:02:59 +02:00
fusagiko / takayamaki a49707dacb [Glitch] Rewrite Icon and IconWithBadge with typescript
Port 81f75b1e0e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:59:27 +02:00
Eugen Rochko 7835f8fd22 [Glitch] Fix icons having an image role
Port 24b2c60beb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:57:35 +02:00
Claire e9eab013e7 [Glitch] Fix audio player width in thread view
Port cf1bc4bb93 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:50:05 +02:00
Nick Schonning 51479f5c28 [Glitch] Add eslint-plugin-jsdoc
Port f22b4e556c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:48:08 +02:00
Christian Schmidt 09054f5485 [Glitch] Fix media description not being cleared
Port bfeccf6748 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:41:17 +02:00
Claire 2d029dedd9 Merge commit '0ad2413b35287958f59073a5b63aecc659a64d98' into glitch-soc/merge-upstream
Conflicts:
- `app/javascript/styles/mastodon/forms.scss`:
  Conflict because we ran eslint autofix on upstream files.
- `config/initializers/content_security_policy.rb`:
  Code style changes but we have a different version.
  Kept our version.
- `streaming/index.js`:
  Upstream fixed a typo close to glitch-soc-only code.
  Applied upstream's changes.
2023-05-08 15:28:36 +02:00
Claire 5d18840ab9
Fix more JS linting issues (#2212)
* Fix uses of intl.formatMessages without default messages

* Ignore lint issue for ColumnLink button
2023-05-08 15:16:55 +02:00
fusagiko / takayamaki 9818f34273
Rewrite Domain component as function component (#24896) 2023-05-08 15:12:12 +02:00
fusagiko / takayamaki 5bc8e2d1fd
Use LayoutType from is_mobile in actions/app (#24863) 2023-05-08 15:10:21 +02:00
Claire 16c5354b8c
Fix some more JS linting issues (#2211)
* Minor refactor and linting fixup in `flavours/glitch/actions/accounts.js`

This is some added boilerplate but it's much more consistent with the remaining
of the code, and avoids the linting issue.

* Fix missing /privacy-policy link in DM warning because of wrongly-named import

* Fix unnecessary import

* Fix regexp in flavours/glitch/utils/hashtag.js
2023-05-08 14:02:41 +02:00
たいち ひ 7c1305b3a4
Add TypeScript support for mastodon alias and image imports (#24895) 2023-05-08 11:28:36 +02:00
たいち ひ 76264e3fe8
Rewrite RadioButton component as FC (#24897) 2023-05-08 11:12:53 +02:00
たいち ひ a65d2d1045
Rewrite Image component as function component (#24893) 2023-05-08 11:12:44 +02:00
たいち ひ 490ccbf40b
Rewrite <NotSignedInIndicator /> as FC (#24903) 2023-05-08 11:12:13 +02:00
たいち ひ 6fdbee240c
Rewrite <Check /> as FC (#24901) 2023-05-08 08:26:02 +02:00
Claire de74acbe0c
Fix some more Javascript linting issues and discrepancies with upstream (#2209)
* Fix typo in flavours/glitch/features/video/index.js

* Fix various linting issues and discrepancies with upstream
2023-05-07 21:43:25 +02:00
Claire ed0a407888
Fix thread lines not being properly updated when new posts are received (#2210) 2023-05-07 20:06:10 +02:00
Plastikmensch 179e38cf15
Reset language to default when cancelling a reply (#2114)
When cancelling a reply, the language was still set to the language of the replied to toot.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-05-07 18:45:10 +02:00
Claire 3fb7fe14c6
Fix some of the Javascript linting issues, as well as bugs and unneeded divergences with upstream (#2208)
* Run eslint --fix

* Fix linting issues in video player and reduce divergences with upstream

This includes a behavior change of not auto-looping videos anymore. I don't
remember loops being ever intended, and they have been removed from upstream
a while ago, but we somehow missed the change.

* Fix lint issues in `app/javascript/flavours/glitch/selectors/index.js`

Those were basically caused by dead code that isn't present upstream, so
that brings us closer to upstream as well.

* Fix linting issue and bug in streaming/index.js

* Fix linting issues in config/webpack/shared.js

* Fix unused import in flavours/glitch/features/ui/index.js

* Fix linting issues and reduce divergences from upstream in flavours/glitch/features/ui/components/video_modal.jsx

* Fix linting issues in flavours/glitch/reducers

* Fix linting issues in glitch-soc onboarding modal

* Fix linting issues in flavours/glitch/features/ui/components/navigation_panel.jsx

* Remove dead code for unused local setting navbar_under

* Fix various linting issues

* Fix linting issues in flavours/glitch/components/scrollable_list.jsx and reduce divergences with upstream
2023-05-07 18:22:25 +02:00
Claire 9b59748679
Fix rubocop warnings (#2206) 2023-05-07 15:06:15 +02:00
Claire 6f64c79ca4
Fix SCSS linting issues (#2207)
* Disable font-family-no-missing-generic-family-keyword for font-awesome accessibility icons

* Run stylelint --fix

* Avoid `@extend` directives with doodle modal CSS

* Drop use of `@extend` for notification cleanup buttons SCSS

* Run prettier on SCSS
2023-05-07 15:04:59 +02:00
Claire a6207d243b
New Crowdin updates (#2202)
* New translations en.json (Russian)
[ci skip]

* New translations en.json (Russian)
[ci skip]
2023-05-07 13:37:47 +02:00
fusagiko / takayamaki 140aa6b054
Rewrite VerifiedBadge component as function component (#24892) 2023-05-07 09:10:58 +02:00
Matt Jankowski f877aa9d70
Use released version 4.1.0 of devise-two-factor (#24875) 2023-05-05 19:48:23 +02:00
Claire 746979f75d
Fix compose textarea scroll behavior (#24872) 2023-05-05 18:58:58 +02:00
Tim Campbell f258478395
Fixed mastodon version injection into containers via github actions (#24873) 2023-05-05 18:58:35 +02:00
mogaminsk c9e040fb24
Fix import data field type (#24874) 2023-05-05 18:10:10 +02:00
S.H 5811ccc611
Fix column back button error (#24867) 2023-05-05 15:13:28 +02:00
zunda c0ea33e3fc
Make it possible to upload audio and video to Heroku app (#24866) 2023-05-05 14:41:07 +02:00
Nick Schonning e675c10d19
Add production asset compile (#24839) 2023-05-05 09:06:51 +02:00
Tim Campbell ac41a9712e
Fixed mastodon version injection into containers via github actions (#24858) 2023-05-04 21:33:32 +02:00
Daniel M Brasil c9210af3ee
Add test coverage for Mastodon::SettingsCLI (#24856) 2023-05-04 20:37:42 +02:00
dependabot[bot] 64fae0efb5
Bump @babel/core from 7.21.5 to 7.21.8 (#24831)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-04 14:14:02 +02:00
Matt Jankowski 0b249ebdb0
Extract StatusSafeReblogInsert concern from Status (#24821) 2023-05-04 14:06:20 +02:00
Renaud Chaput 830e6cefae
Add version suffixes to nightly & edge image builds (#24823) 2023-05-04 13:45:39 +02:00
Nick Schonning 569b39256b
Bump rubocop-rails 2.19.1 with update .rubocop_todo.yml (#24469) 2023-05-04 11:56:24 +02:00
dependabot[bot] 880e661d53
Bump stylelint from 15.6.0 to 15.6.1 (#24829)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-04 11:30:58 +02:00
dependabot[bot] ff974395c2
Bump react-select from 5.7.2 to 5.7.3 (#24830)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-04 11:16:39 +02:00
dependabot[bot] 849d93e50a
Bump json-ld from 3.2.4 to 3.2.5 (#24832)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-04 11:06:23 +02:00
Claire c3c7d59072
Fix infinite loop in AccountsStatusesCleanupScheduler (#24840) 2023-05-04 10:13:00 +02:00
Nick Schonning f95125bd04
Fail ESLint for Warnings in CI (#24836) 2023-05-04 09:48:50 +02:00
Florin 27bafabb64
Fix Back button going outside the app (#24835) 2023-05-04 08:14:04 +02:00
Nick Schonning e1ebcc007d
Regenerate rubocop-todo (#24834) 2023-05-04 07:43:54 +02:00
Nick Schonning ff3b7069cf
Autofix Rubocop Style/ConcatArrayLiterals (#23755) 2023-05-04 05:57:40 +02:00
Nick Schonning da3bd913ae
Autofix Rubocop Style/HashSyntax (#23754) 2023-05-04 05:54:26 +02:00
Nick Schonning d5a185d721
Autofix Rubocop Style/CaseLikeIf (#23756) 2023-05-04 05:51:18 +02:00
Nick Schonning 1fe04f740a
Enable Rubocop Rails/FilePath (#23854) 2023-05-04 05:50:40 +02:00
Matt Jankowski c97b611b6b
Fix RSpec/InferredSpecType cop (#24736) 2023-05-04 05:49:53 +02:00
Matt Jankowski 710745e16b
Fix RSpec/ContextWording cop (#24739) 2023-05-04 05:49:08 +02:00
Matt Jankowski cf18cc2891
Fix RSpec/MultipleSubjects cop (#24738) 2023-05-04 05:48:35 +02:00
Matt Jankowski bdcd8a9e88
Misc spec cleanup (#24822) 2023-05-04 05:47:52 +02:00
Matt Jankowski 08fb9d300a
Spec coverage for settings/preferences/* controllers (#24825) 2023-05-04 05:44:27 +02:00
Matt Jankowski 2c6c398c60
Fix Performance/CollectionLiteralInLoop cop (#24819) 2023-05-04 05:33:55 +02:00
Matt Jankowski a1cca1c8b6
Update capistrano config lock version to match bundle (#24820) 2023-05-04 05:31:04 +02:00
Matt Jankowski d9a958fcf7
Fix Performance/RedundantMerge cop (#24817) 2023-05-04 05:25:43 +02:00
Nick Schonning b25860c509
Revert "Bump better_errors from 2.9.1 to 2.10.0 (#24779)" (#24827) 2023-05-04 05:22:50 +02:00
Claire a2a22bad23
Fix various edge cases with local moves (#24812) 2023-05-03 19:19:25 +02:00
Claire 1e75eb690d
Fix own posts not getting delivered to own lists (#24810) 2023-05-03 19:17:40 +02:00
Renaud Chaput 45579a26cf
Fixes build errors from some previous TS-related commits (#24811) 2023-05-03 16:28:14 +02:00
fusagiko / takayamaki 0999cb4601
Rewrite actions/app.ts and reducers/missed_updates.ts with createAction (#24801) 2023-05-03 15:28:39 +02:00
Claire c98b012583
Change Move handler to also move list memberships (#24808) 2023-05-03 14:03:38 +02:00
Renaud Chaput 9a52a7f7a0
Remove MastodonMap TS type (#24807) 2023-05-03 13:32:11 +02:00
fusagiko / takayamaki e38b391940
Add type annotation for some js files (#24787) 2023-05-03 11:43:29 +02:00
dependabot[bot] 9b8cb947a7
Bump better_errors from 2.9.1 to 2.10.0 (#24779)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-03 11:13:49 +02:00
Matt Jankowski 3df665fd23
Fix Lint/ConstantDefinitionInBlock cop (#24763) 2023-05-03 10:32:30 +02:00
Claire 8b636a29c6
Improve automatic post cleanup worker performances (#24785) 2023-05-03 10:31:40 +02:00
Matt Jankowski a0c9f2447e
Fix Performance/MethodObjectAsBlock cop (#24798) 2023-05-03 10:30:54 +02:00
Matt Jankowski 97385f27bd
Fix Performance/RedundantEqualityComparisonBlock cop (#24799) 2023-05-03 10:30:10 +02:00
Claire 9c1929efad
Fix incorrect import of redux store (#24805) 2023-05-03 10:29:45 +02:00
Claire d37c0a1060
Fix incorrect box shadow on avatar in thread view (#24800) 2023-05-03 09:11:20 +02:00
Matt Jankowski 668a19a2f3
Fix Performance/DeletePrefix cop (#24796) 2023-05-02 21:07:45 +02:00
Matt Jankowski 05e3abe9d9
Fix Lint/EmptyClass cop (#24795) 2023-05-02 21:06:51 +02:00
dependabot[bot] 8d61d2b0da
Bump axios from 1.3.6 to 1.4.0 (#24775)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 21:04:37 +02:00
dependabot[bot] 8f7c172eb8
Bump @babel/preset-typescript from 7.21.4 to 7.21.5 (#24776)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 21:03:26 +02:00
dependabot[bot] b0ebaeb691
Bump @babel/preset-env from 7.21.4 to 7.21.5 (#24773)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 20:50:41 +02:00
dependabot[bot] 1d49718a84
Bump @babel/runtime from 7.21.0 to 7.21.5 (#24771)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 20:46:45 +02:00
dependabot[bot] 14a7e414fc
Bump @babel/core from 7.21.4 to 7.21.5 (#24778)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 20:43:11 +02:00
fusagiko / takayamaki 8227af8dcc
use configureStore of redux-toolkit instead of createStore of redux (#24790) 2023-05-02 20:39:06 +02:00
dependabot[bot] 2839fbc733
Bump eslint-plugin-formatjs from 4.10.0 to 4.10.1 (#24770)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 20:35:13 +02:00
dependabot[bot] 4acf5f8971
Bump @typescript-eslint/eslint-plugin from 5.59.1 to 5.59.2 (#24768)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 20:24:48 +02:00
dependabot[bot] 4b87e2a8db
Bump @typescript-eslint/parser from 5.59.1 to 5.59.2 (#24774)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 20:06:13 +02:00
dependabot[bot] b75c353962
Bump yargs from 17.7.1 to 17.7.2 (#24769)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 19:40:44 +02:00
dependabot[bot] 18f58f4284
Bump jsdom from 21.1.1 to 21.1.2 (#24767)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 18:40:34 +02:00
Matt Jankowski 24491abf6d
Fix Rails/DeprecatedActiveModelErrorsMethods cop (#24742) 2023-05-02 18:39:22 +02:00
Matt Jankowski b5c4b47746
Fix Rails/ActiveRecordCallbacksOrder cop (#24689) 2023-05-02 18:23:35 +02:00
Matt Jankowski 38b2974a83
Extract AccountSearch concern from Account (#24716) 2023-05-02 18:21:36 +02:00
Matt Jankowski f1c1dd0118
Rename with_lock to with_redis_lock to avoid confusion with ActiveRecord's method (#24741) 2023-05-02 18:16:07 +02:00
Matt Jankowski a7df578f97
ApplicationHelper spec coverage, unused removal, tiny refactor (#24762) 2023-05-02 18:10:39 +02:00
dependabot[bot] c26b1b0a1c
Bump pg from 1.5.2 to 1.5.3 (#24772)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 18:08:43 +02:00
dependabot[bot] 389f0443c8
Bump cssnano from 6.0.0 to 6.0.1 (#24777)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 18:08:03 +02:00
Matt Jankowski 570079f8ce
Fix Performance/TimesMap cop (#24789) 2023-05-02 18:07:16 +02:00
Matt Jankowski bae694108a
Fix Performance/Count cop (#24793) 2023-05-02 18:06:43 +02:00
Claire 9189e90ff2
Add fallback redirection when getting a webfinger query LOCAL_DOMAIN@LOCAL_DOMAIN (#23600)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-05-02 17:42:42 +02:00
Matt Jankowski 5e060e1f44
Fix Performance/Sum cop (#24788) 2023-05-02 16:10:40 +02:00
Matt Jankowski 41eb49b984
Extract large route namespace blocks to separate files (#23914) 2023-05-02 15:41:20 +02:00
Claire a89b02af92
Check domain suspensions before trying to fetch resources (#24535) 2023-05-02 15:22:19 +02:00
Claire 1ed0ff30d3
Fix tootctl accounts cull crashing when encountering a domain resolving to a private address (#23378) 2023-05-02 15:10:09 +02:00
Claire b233da5996
Optimize archive export service and export zip files instead of gzipped tar files (#23360) 2023-05-02 15:09:43 +02:00
Eugen Rochko 8131a5b330
Add ALT badges to media that has alternative text in web UI (#24782) 2023-05-02 14:47:04 +02:00
Claire 6693a4fe7c
Change lists to be able to include accounts with pending follow requests (#19727) 2023-05-02 14:40:36 +02:00
Claire 598e63dad2
Change media elements to use aspect-ratio rather than compute height themselves (#24686) 2023-05-02 13:58:48 +02:00
Claire 1eb51bd749
Add request specs for caching behavior (#24592) 2023-05-02 13:58:29 +02:00
Matt Jankowski 88d33f361f
Fix Lint/DuplicateBranch cop (#24766) 2023-05-02 12:57:11 +02:00
fusagiko / takayamaki f50105779b
Add type annotation for Blurhash component (#24750) 2023-05-02 12:54:00 +02:00
fusagiko / takayamaki 5a5975d7f7
Add type annotation for IconButton component (#24753) 2023-05-02 12:53:32 +02:00
Claire 32a030dd74
Rewrite import feature (#21054) 2023-05-02 12:08:48 +02:00
Eugen Rochko 0ad2413b35
Fix n+1 query in settings migration (#24783) 2023-05-02 10:26:39 +02:00
Eugen Rochko f1c1fa1411
Fix transaction around settings migration (#24761) 2023-05-01 17:45:18 +02:00
Nick Schonning fc56eda94b
Bump stylelint-config-standard-scss from 7.0.1 to 9.0.0 (#24755)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-05-01 18:23:57 +09:00
fusagiko / takayamaki 15fd712464
Add type annotation for RelativeTimestamp component (#24749) 2023-05-01 00:51:31 +02:00
fusagiko / takayamaki 81f75b1e0e
Rewrite Icon and IconWithBadge with typescript (#24747) 2023-05-01 00:51:00 +02:00
Matt Jankowski c53fe9b753
Fix RSpec/BeforeAfterAll cop (#24737) 2023-05-01 04:16:08 +09:00
Matt Jankowski d902a707a3
Fix Rails/CompactBlank cop (#24690) 2023-04-30 14:07:21 +02:00
Matt Jankowski d00e45a7d3
Fix Rails/I18nLocaleAssignment cop (#24693) 2023-04-30 14:07:03 +02:00
Matt Jankowski af824db398
Fix Rails/InverseOf cop (#24732) 2023-04-30 14:06:53 +02:00
Claire c18884de32
Merge pull request #2198 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-04-30 13:06:50 +02:00
Nick Schonning 6b95aaaa65
Remove empty HTTP error translations (#24210) 2023-04-30 17:04:15 +09:00
Josh McKinney 89c01383f9
fix: remove port 80 mapping in devcontainer (#24658) 2023-04-30 17:03:28 +09:00
Eugen Rochko 0a08e9d3d3
New Crowdin updates (#24678)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-30 17:02:11 +09:00
Mark Roszko c23d285b16
Remove the u in Favorite for non-gb english (#24667)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-30 16:33:37 +09:00
João Pedro Marques 8f6e290c7a
Adds new follower/following routes (#24601) 2023-04-30 09:01:42 +02:00
dependabot[bot] 0669822ae8
Bump eslint from 8.38.0 to 8.39.0 (#24636)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-30 16:01:11 +09:00
dependabot[bot] 242d7864f1
Bump @types/jest from 29.4.2 to 29.5.1 (#24630)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-30 16:00:48 +09:00
dependabot[bot] 56cf092058
Bump @types/yargs from 17.0.22 to 17.0.24 (#24388)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-30 15:46:03 +09:00
dependabot[bot] fa14976a5d
Bump connection_pool from 2.3.0 to 2.4.0 (#24290)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-04-30 15:45:02 +09:00
dependabot[bot] 819daeb651
Bump @types/lodash from 4.14.191 to 4.14.194 (#24576)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-30 15:39:49 +09:00
dependabot[bot] 921bef6799
Bump stylelint from 15.3.0 to 15.6.0 (#24635)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-30 15:38:53 +09:00
Daniel M Brasil e8fe941015
Fix tootctl accounts approve --number N not aproving N earliest registrations (#24605) 2023-04-30 06:50:58 +02:00
Matt Jankowski 2e43461100
Fix Rails/Output cop (#24687) 2023-04-30 06:48:16 +02:00
Matt Jankowski 5a2aa06a51
Fix Rails/Present cop (#24688) 2023-04-30 06:47:50 +02:00
Matt Jankowski bdc74086e6
Fix Rails/ContentTag cop (#24691) 2023-04-30 06:47:15 +02:00
Matt Jankowski 6e226f5a32
Fix Rails/ActionOrder cop (#24692) 2023-04-30 06:46:39 +02:00
Nick Schonning 470b8abb69
Run Rubocop with lint-staged on commit (#24644) 2023-04-30 06:46:16 +02:00
Matt Jankowski 60ac9e8634
Fix Rails/SquishedSQLHeredocs cop (#24694) 2023-04-30 06:43:50 +02:00
Matt Jankowski 8dcfb6e0ea
Fix Rails/HttpPositionalArguments cop (#24699) 2023-04-30 06:43:28 +02:00
Claire 678d836c7d
Fix pop-in player placeholder layout in thread view (#24715) 2023-04-30 06:42:43 +02:00
Claire cf1bc4bb93
Fix audio player width in thread view (#24713) 2023-04-30 06:42:22 +02:00
Nick Schonning f22b4e556c
Add eslint-plugin-jsdoc (#24719) 2023-04-30 02:29:54 +02:00
Christian Schmidt bfeccf6748
Fix media description not being cleared (#24720) 2023-04-30 02:29:24 +02:00
Matt Jankowski 274d561430
Enable local account key generation spec (#24728) 2023-04-30 02:28:52 +02:00
mogaminsk e0d075713f
Change i18n-fallbacks to English (#24727) 2023-04-30 02:22:20 +02:00
Matt Jankowski 4cfe52635c
Add pending spec for User.those_who_can (#24724) 2023-04-29 22:03:36 +02:00
Claire e79998a11a Restore translations from not-yet-ported onboarding changes as glitch-soc translations 2023-04-29 19:38:08 +02:00
Eugen Rochko 38eeed6cbf [Glitch] Change logo version in header based on screen size in web UI
Port 6028d047b9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 18:54:13 +02:00
Nick Schonning 1033598416 [Glitch] Enable formatjs/prefer-pound-in-plural
Port 2daa5a1549 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 18:38:23 +02:00
Claire edec08b970 Disable full-width media in thread view 2023-04-29 12:43:01 +02:00
Claire cb97a92954 [Glitch] Fix thread lines in right-to-left locales (#24714)
Port 105f8687e4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 12:21:44 +02:00
Claire 103b6de8b2 [Glitch] Fix sass warning about deprecated slash as division (#24653)
Port 1527b02c6d to glitch-soc

Co-authored-by: Nick Schonning <nschonni@gmail.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 12:17:06 +02:00
Eugen Rochko 7b01b7c3bf [Glitch] Add lines to threads in web UI
Port 290e4aba31 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 12:08:13 +02:00
Eugen Rochko 8015297f9e [Glitch] Change label from "For you" to "People" on explore screen in web UI
Port 7cf963eec2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 11:34:44 +02:00
Chike Nwaenie 374a109546 [Glitch] Change styling of the recommended accounts to allow bio to be more visible
Port e1b4eeb636 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 11:28:24 +02:00
Christian Schmidt 0091b28ffe [Glitch] Use CSS to trim long card descriptions
Port e713c545b8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 11:26:58 +02:00
Claire 11b34a903a [Glitch] Fix infinite loop in emoji replacement code
Port fbb4de3dbc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 11:14:43 +02:00
Claire 0a813d96db [Glitch] Fix characters being emojified even when using Variation Selector 15 (text)
Port 37886c28da to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 11:12:35 +02:00
fusagiko / takayamaki 66bda4713e [Glitch] Allow == when null checking
Port c1a7e38d2b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-29 11:09:46 +02:00
Claire 612a1ee697 Fix body_classes test for glitch-soc 2023-04-29 11:08:38 +02:00
Claire 12b935fadf Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  Updated upstream, removed in glitch-soc to disable noise.
  Kept removed.
- `CODE_OF_CONDUCT.md`:
  Upstream updated to a new version of the covenant, but I have not read it
  yet, so kept unchanged.
- `Gemfile.lock`:
  Not a real conflict, one upstream dependency updated textually too close to
  the glitch-soc only `hcaptcha` dependency.
  Applied upstream changes.
- `app/controllers/admin/base_controller.rb`:
  Minor conflict due to glitch-soc's theming system.
  Applied upstream changes.
- `app/controllers/application_controller.rb`:
  Minor conflict due to glitch-soc's theming system.
  Applied upstream changes.
- `app/controllers/disputes/base_controller.rb`:
  Minor conflict due to glitch-soc's theming system.
  Applied upstream changes.
- `app/controllers/relationships_controller.rb`:
  Minor conflict due to glitch-soc's theming system.
  Applied upstream changes.
- `app/controllers/statuses_cleanup_controller.rb`:
  Minor conflict due to glitch-soc's theming system.
  Applied upstream changes.
- `app/helpers/application_helper.rb`:
  Minor conflict due to glitch-soc's theming system.
  Applied upstream changes.
- `app/javascript/mastodon/features/compose/components/compose_form.jsx`:
  Upstream added a highlight animation for onboarding, while we changed the
  max character limit.
  Applied our local changes on top of upstream's new version.
- `app/views/layouts/application.html.haml`:
  Minor conflict due to glitch-soc's theming system.
  Applied upstream changes.
- `stylelint.config.js`:
  Upstream added ignore paths, glitch-soc had extra ignore paths.
  Added the same paths as upstream.
2023-04-29 10:44:56 +02:00
Claire 105f8687e4
Fix thread lines in right-to-left locales (#24714) 2023-04-28 13:12:35 +02:00
Claire 2a3a110f00
Fix wrong classes audio and video instead of audio-player and video-player in CSS (#24711) 2023-04-28 11:15:43 +02:00
Claire faa336e3f7
Change logged-out WebUI HTML pages to be cached for a few seconds (#24708) 2023-04-28 10:27:26 +02:00
Eugen Rochko 8979b70975
Add default post text to onboarding flow in web UI (#24705) 2023-04-28 10:05:34 +02:00
Claire 1c61869eed
Fix /api/v1/custom_emojis being cached even when unauthenticated API access is disallowed (#24665) 2023-04-28 10:01:38 +02:00
Eugen Rochko 6028d047b9
Change logo version in header based on screen size in web UI (#24707) 2023-04-28 10:00:33 +02:00
Eugen Rochko 2b0f1f365a
Remove display name input from sign-up form (#24704) 2023-04-28 08:54:43 +02:00
Eugen Rochko 7cf963eec2
Change label from "For you" to "People" on explore screen in web UI (#24706) 2023-04-28 08:54:20 +02:00
Claire a5bc4ea550
Fix refering to unused preview-card CSS class instead of status-card (#24696) 2023-04-28 07:50:31 +02:00
Matt Jankowski ece38b9318
Remove duplicate react helper method definitions (#24700) 2023-04-28 06:35:25 +02:00
Nick Schonning 8e514b1965
Unignore stuck Dependabot updates (#24670) 2023-04-27 12:12:56 +02:00
dependabot[bot] d9e9579832
Bump tesseract.js from 2.1.1 to 2.1.5 (#19084)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-27 11:26:13 +02:00
Daniel M Brasil 1d9969fadf
Fix tootctl accounts create --reattach --force not working with confirmed accounts (#24680) 2023-04-27 10:15:45 +02:00
Nick Schonning 49fad26eca
Drop EOL Ruby 2.7 (#24237) 2023-04-27 01:46:18 +02:00
Claire d8a06c1375
Fix preview cards layout in thread view (#24677) 2023-04-27 01:45:19 +02:00
Eugen Rochko d4511f2a76
New Crowdin updates (#24617)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-27 04:55:06 +09:00
Plastikmensch 1565af1caf
[Glitch] [Proposal] Make able to write React in Typescript (#2190)
Port 4520e6473a to glitch-soc

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-04-26 21:30:41 +02:00
Nick Schonning 5841f1af8c
Autofix Rubocop RSpec/MatchArray (#24675) 2023-04-26 21:29:36 +02:00
Nick Schonning a3393d0d07
Autofix Rubocop RSpec/MatchArray (#24050) 2023-04-26 20:21:54 +02:00
Matt Jankowski 91a8cd21d8
React component helper specs (#24072) 2023-04-26 18:21:32 +02:00
dependabot[bot] 3029aeb838
Bump pg from 1.4.6 to 1.5.2 (#24671)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 17:46:01 +02:00
dependabot[bot] 185a71f281
Bump rack from 2.2.6.4 to 2.2.7 (#24672)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 17:45:49 +02:00
dependabot[bot] b839babb39
Bump sass from 1.62.0 to 1.62.1 (#24668)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 17:43:52 +02:00
dependabot[bot] 785b0349eb
Bump lint-staged from 13.2.1 to 13.2.2 (#24669)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 17:43:37 +02:00
dependabot[bot] 872c4e1ef2
Bump glob from 10.0.0 to 10.2.2 (#24632)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 17:36:58 +02:00
Nick Schonning 90beba57d8
Autofix Rubocop Rails/ResponseParsedBody (#24051) 2023-04-26 17:25:07 +02:00
dependabot[bot] c7cd891e86
Bump brakeman from 5.4.0 to 5.4.1 (#24006)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 17:10:21 +02:00
Nick Schonning 6403d7841e
Add Dependabot ignores for stuck updates and those needing manual interventions (#23966) 2023-04-26 17:09:26 +02:00
Matias Lago Evia 93a84f4704
Add S3 region list reference to Scalingo config (#24152) 2023-04-26 16:46:19 +02:00
dependabot[bot] 2f5608e9e5
Bump sass from 1.61.0 to 1.62.0 (#24574)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 16:30:43 +02:00
dependabot[bot] 5f624954be
Bump @typescript-eslint/eslint-plugin from 5.59.0 to 5.59.1 (#24633)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 23:10:54 +09:00
dependabot[bot] 9650a5738a
Bump @typescript-eslint/parser from 5.59.0 to 5.59.1 (#24638)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 22:35:24 +09:00
Nick Schonning dcdc614bd2
Remove postcss-scss devDep (#24223)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-26 22:33:31 +09:00
dependabot[bot] b31ee9ab38
Bump json-schema from 3.0.0 to 4.0.0 (#24642)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 14:57:08 +02:00
dependabot[bot] 1820b55a11
Bump postcss from 8.4.22 to 8.4.23 (#24629)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 14:41:20 +02:00
dependabot[bot] 0c66358601
Bump prettier from 2.8.7 to 2.8.8 (#24631)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 14:41:09 +02:00
dependabot[bot] 855cf7802d
Bump chewy from 7.3.0 to 7.3.2 (#24637)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 14:34:46 +02:00
dependabot[bot] fba60094a2
Bump axios from 1.3.5 to 1.3.6 (#24640)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 14:34:16 +02:00
Claire b0bf6216e6
Fix /api/v1/instance/domain_blocks being unconditionally cached (#24662) 2023-04-26 11:42:47 +02:00
Claire 62ab7506d6
Fix /actor needlessly reading session cookie and varying on Signature (#24664) 2023-04-26 11:42:26 +02:00
Emelia Smith 301e03eb8c
Remove clustering from streaming API (#24655) 2023-04-26 11:37:51 +02:00
Tim Campbell 36631e40cc
Inf 123 dated nightly containers (#24656) 2023-04-25 23:11:31 +02:00
Claire 1527b02c6d
Fix sass warning about deprecated slash as division (#24653)
Co-authored-by: Nick Schonning <nschonni@gmail.com>
2023-04-25 22:15:00 +02:00
Claire 1419f90ef2
Fix some user-independent endpoints potentially reading session cookies (#24650) 2023-04-25 22:14:44 +02:00
Plastikmensch 678480d4d3
Fix small mistakes in RTL layout (#2182)
Borders in blockquotes in reply-indicator weren't colored properly.

avatar margin when viewing edited toots dropdown was applied to wrong side.

Conversations had padding applied to the wrong side.

Padding for notifcation cleaner checkboxes was applied to wrong side.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-04-25 20:33:27 +02:00
Plastikmensch aea7866161
Change drawer--header to drawer__header (#2189)
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-04-25 20:29:04 +02:00
Claire 276c39361b
Fix anonymous visitors getting a session cookie on first visit (#24584) 2023-04-25 16:51:38 +02:00
Eugen Rochko 6084461cd0
Change unauthenticated responses to be cached in REST API (#24348) 2023-04-25 15:41:34 +02:00
Eugen Rochko c35e3cb6ac
Add more tips to onboarding flow in web UI (#24646) 2023-04-25 11:12:37 +02:00
Eugen Rochko 8099ba04be
Change hashtags and mentions in bios to open in-app in web UI (#24643) 2023-04-25 06:33:21 +02:00
Claire e9a79d46cd
Fix crash when SSO_ACCOUNT_SETTINGS is not defined (#24628) 2023-04-24 20:26:04 +02:00
Matt Jankowski 1ac9219b31
Update attr_encrypted & devise-two-factor gems (#24626) 2023-04-24 19:08:21 +02:00
Matt Jankowski 930d84d40e
Gem version bumps (#24131) 2023-04-24 19:07:45 +02:00
Claire f45961aa98
Add feature test for OAuth access grant (#24624) 2023-04-24 19:06:58 +02:00
Eugen Rochko 804aa8d501
Fix cutting off first letter of hashtag links sometimes in web UI (#24623) 2023-04-24 09:53:54 +02:00
Nick Schonning 2daa5a1549
Enable formatjs/prefer-pound-in-plural (#24622) 2023-04-24 08:07:19 +02:00
Eugen Rochko 290e4aba31
Add lines to threads in web UI (#24549) 2023-04-24 08:07:03 +02:00
dependabot[bot] 0c81eec239
Bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.0 (#24573)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 11:24:06 +09:00
dependabot[bot] 03ea084f0d
Bump @typescript-eslint/parser from 5.58.0 to 5.59.0 (#24568)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 10:54:07 +09:00
Nick Schonning 0bfd9f7f73
Update Contributor Covenant to 2.1 (#23980) 2023-04-23 23:11:50 +02:00
Christian Schmidt 5141697323
Remove tai locale (#23880) 2023-04-23 22:49:07 +02:00
Nick Schonning 2904fd0fdd
Update Stylelint disable settings and ignores (#23776) 2023-04-23 22:47:57 +02:00
Nick Schonning 0c7ce98ff6
Add eslint-plugin-formatjs (#23976) 2023-04-23 22:46:13 +02:00
Nick Schonning ef3675d688
Remove empty Kushubian (csb) local files (#24151) 2023-04-23 22:43:12 +02:00
Matt Jankowski 0a5f0a8b20
Remove instance variables from helper usage (#24203) 2023-04-23 22:35:54 +02:00
Chike Nwaenie e1b4eeb636
Change styling of the recommended accounts to allow bio to be more visible (#24480) 2023-04-23 22:33:08 +02:00
Christian Schmidt e713c545b8
Use CSS to trim long card descriptions (#24265) 2023-04-23 22:32:47 +02:00
Nick Schonning 4687967176
Autofix Rubocop Style/NumericLiterals (#24468) 2023-04-23 22:30:07 +02:00
Claire 528b8e7e3a
Fix crash in tootctl accounts create --reattach --force (#24557) 2023-04-23 22:29:31 +02:00
Claire 58a1b2e330
Fix caching logic with regards to Accept-Language, Cookie, and Signature (#24604) 2023-04-23 22:27:24 +02:00
Claire 5dc3173ef8
Fix AccountsStatusesCleanupScheduler not spreading deletes across accounts correctly (#24607) 2023-04-23 22:25:40 +02:00
Eugen Rochko 0461f83320
Add new onboarding flow to web UI (#24619) 2023-04-23 22:24:53 +02:00
Claire 5b58ebb04f
Fix JS crashing if initial-state is not set (#2193)
Fixes issues with the JS for at least sign-up pages not working
2023-04-22 19:13:20 +02:00
Claire 2ebbfebfe9
Merge pull request #2192 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-04-22 19:13:02 +02:00
Eugen Rochko 9d75b03ba4
New Crowdin updates (#24517)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-22 19:37:41 +09:00
fusagiko / takayamaki 9ef32ea570 [Glitch] Rewrite AnimatedNumber component with React hooks
Port ab740f464a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-22 11:28:23 +02:00
fusagiko / takayamaki 799e9917e4 [Glitch] Rewrite GIFV component with React hooks
Port cf3fa1e814 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-22 11:22:49 +02:00
Eugen Rochko 6ea9137233 [Glitch] Add client-side validation for taken username in sign-up form
Port 955ec252a4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-22 10:47:44 +02:00
Claire bc7b3399fb [Glitch] Fix crash when trying to open the filter modal
Port bc4745f482 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-22 10:20:50 +02:00
Eugen Rochko 2f3dffb057 [Glitch] Add progress indicator to sign-up flow
Port e5c0b16735 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-22 10:18:20 +02:00
Ivan Rodriguez a21a875dba [Glitch] Fix status title for statuses without text
Port f05fb51ecb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-22 10:16:20 +02:00
Nick Schonning f2797276b2 [Glitch] typo: collapsable -> collapsible
Port d02aa274be to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-22 10:13:58 +02:00
Claire abfdafef1e Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/auth/setup_controller.rb`:
  Upstream removed a method close to a glitch-soc theming-related method.
  Removed the method like upstream did.
2023-04-22 10:06:11 +02:00
Claire 501d6197c4
Change automatic post deletion thresholds and load detection (#24614) 2023-04-21 18:14:19 +02:00
Claire fbb4de3dbc
Fix infinite loop in emoji replacement code (#24615) 2023-04-21 18:08:28 +02:00
Claire b0eba1a060
Minor clean up and optimization of the automatic post deletion code (#24613) 2023-04-21 16:53:50 +02:00
dependabot[bot] 88ce59505e
Bump rubocop from 1.49.0 to 1.50.2 (#24580)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-21 00:06:56 +09:00
Claire 37886c28da
Fix characters being emojified even when using Variation Selector 15 (text) (#20949) 2023-04-20 16:43:55 +02:00
Daniel M Brasil faf657d709
Fix uncaught ActiveRecord::StatementInvalid exception in Mastodon::AccountsCLI#approve (#24590) 2023-04-20 10:57:11 +02:00
Tim Campbell c62604b5f6
Added manual running to nightly image build (#24598) 2023-04-19 21:46:31 +02:00
Tim Campbell e798b8615c
Added job to build nightly container (#24595) 2023-04-19 19:20:25 +02:00
fusagiko / takayamaki c1a7e38d2b
Allow == when null checking (#24593) 2023-04-19 17:46:46 +02:00
Eugen Rochko e98c86050a
Refactor Cache-Control and Vary definitions (#24347) 2023-04-19 16:07:29 +02:00
Robert R George 4db8230194
Add trend management to admin API (#24257) 2023-04-18 11:33:30 +02:00
dependabot[bot] 1153531e92
Bump faker from 3.1.1 to 3.2.0 (#24579)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 10:39:46 +02:00
dependabot[bot] 426e3cc3bc
Bump reselect from 4.1.7 to 4.1.8 (#24565)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 10:12:05 +02:00
dependabot[bot] fe1ac6b0b0
Bump postcss from 8.4.21 to 8.4.22 (#24570)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 10:11:53 +02:00
dependabot[bot] 2c72396feb
Bump json-ld from 3.2.3 to 3.2.4 (#24571)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 10:11:39 +02:00
dependabot[bot] 88ef71e971
Bump pghero from 3.3.1 to 3.3.2 (#24572)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 10:09:52 +02:00
dependabot[bot] a5e9128b74
Bump http-link-header from 1.1.0 to 1.1.1 (#24575)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 10:09:38 +02:00
dependabot[bot] 10ef3d9b41
Bump ox from 2.14.14 to 2.14.16 (#24577)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 10:00:36 +02:00
Daniel M Brasil 3afa1fda7a
Fix email confirmation skip option in tootctl accounts modify USERNAME --email EMAIL --confirm (#24578) 2023-04-18 09:51:24 +02:00
Heitor de Melo Cardozo bc75e62ca6
Change moderation search an account using the username with @ (#24242) 2023-04-17 14:16:36 +02:00
fusagiko / takayamaki ab740f464a
Rewrite AnimatedNumber component with React hooks (#24559) 2023-04-17 13:25:15 +02:00
Claire 85b1b45820
Fix crash in NotifyService when trying to send an email notification for polls (#24558) 2023-04-17 13:13:36 +02:00
Claire f30c5e7f15
Merge pull request #2181 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-04-17 13:10:52 +02:00
Heitor de Melo Cardozo 4601e0dcbb
Add user handle to notification mail recipient address (#24240)
Co-authored-by: luccamps <luccamps@users.noreply.github.com>
Co-authored-by: Leonardo Negreiros de Oliveira <negreirosleo12@gmail.com>
Co-authored-by: Marcio Flavio <mflaviof1995@gmail.com>
Co-authored-by: Gabriel Quaresma <j.quaresmasantos_98@hotmail.com>
2023-04-17 11:06:06 +02:00
Claire bc4745f482
Fix crash when trying to open the filter modal (#24556) 2023-04-17 10:15:21 +02:00
Nick Schonning ca447d3007
Update Jest testing to include Typescript (#24555) 2023-04-17 17:12:04 +09:00
fusagiko / takayamaki 9f8d34620b
Rewrite AvatarOverlay component with React hooks (#24543) 2023-04-17 07:07:27 +02:00
Eugen Rochko 34f8e696e2 [Glitch] Change all components to use the same error page in web UI
Port cee357d538 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-16 18:20:51 +02:00
Claire a3c05640f7 [Glitch] Add “In Memoriam” banner back to profiles
Port 86ad43173f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-16 18:02:16 +02:00
Claire cb0562f32c [Glitch] Fix tab arrows on RTL layouts
Port af49d93fd6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-16 17:58:32 +02:00
Claire f9a9f9344b Merge branch 'main' into glitch-soc/merge-upstream 2023-04-16 17:52:44 +02:00
Plastikmensch f28942cef9
[Glitch] Refactor styles to use logical properties for positioning (#2156)
Port babd86e594 and 45848d6547 to glitch-soc

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-04-16 17:45:18 +02:00
Claire 0cbd579ef0
New Crowdin updates (#2172)
* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.json (Romanian)
[ci skip]

* New translations en.json (French)
[ci skip]

* New translations en.json (Afrikaans)
[ci skip]

* New translations en.json (Arabic)
[ci skip]

* New translations en.json (Belarusian)
[ci skip]

* New translations en.json (Bulgarian)
[ci skip]

* New translations en.json (Catalan)
[ci skip]

* New translations en.json (Czech)
[ci skip]

* New translations en.json (Danish)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Greek)
[ci skip]

* New translations en.json (Frisian)
[ci skip]

* New translations en.json (Basque)
[ci skip]

* New translations en.json (Finnish)
[ci skip]

* New translations en.json (Irish)
[ci skip]

* New translations en.json (Hebrew)
[ci skip]

* New translations en.json (Hungarian)
[ci skip]

* New translations en.json (Armenian)
[ci skip]

* New translations en.json (Italian)
[ci skip]

* New translations en.json (Japanese)
[ci skip]

* New translations en.json (Georgian)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.json (Lithuanian)
[ci skip]

* New translations en.json (Macedonian)
[ci skip]

* New translations en.json (Dutch)
[ci skip]

* New translations en.json (Norwegian)
[ci skip]

* New translations en.json (Punjabi)
[ci skip]

* New translations en.json (Portuguese)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Slovak)
[ci skip]

* New translations en.json (Slovenian)
[ci skip]

* New translations en.json (Albanian)
[ci skip]

* New translations en.json (Serbian (Cyrillic))
[ci skip]

* New translations en.json (Swedish)
[ci skip]

* New translations en.json (Turkish)
[ci skip]

* New translations en.json (Ukrainian)
[ci skip]

* New translations en.json (Chinese Traditional)
[ci skip]

* New translations en.json (Urdu (Pakistan))
[ci skip]

* New translations en.json (Vietnamese)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.json (Icelandic)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Indonesian)
[ci skip]

* New translations en.json (Persian)
[ci skip]

* New translations en.json (Tamil)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Marathi)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations en.json (Croatian)
[ci skip]

* New translations en.json (Norwegian Nynorsk)
[ci skip]

* New translations en.json (Kazakh)
[ci skip]

* New translations en.json (Estonian)
[ci skip]

* New translations en.json (Latvian)
[ci skip]

* New translations en.json (Hindi)
[ci skip]

* New translations en.json (Malay)
[ci skip]

* New translations en.json (Telugu)
[ci skip]

* New translations en.json (English, United Kingdom)
[ci skip]

* New translations en.json (Burmese)
[ci skip]

* New translations en.json (Welsh)
[ci skip]

* New translations en.json (Faroese)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Uyghur)
[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.json (Tatar)
[ci skip]

* New translations en.json (Malayalam)
[ci skip]

* New translations en.json (Breton)
[ci skip]

* New translations en.json (Latin)
[ci skip]

* New translations en.json (Bosnian)
[ci skip]

* New translations en.json (French, Quebec)
[ci skip]

* New translations en.json (Sinhala)
[ci skip]

* New translations en.json (Cornish)
[ci skip]

* New translations en.json (Kannada)
[ci skip]

* New translations en.json (Scottish Gaelic)
[ci skip]

* New translations en.json (Asturian)
[ci skip]

* New translations en.json (Aragonese)
[ci skip]

* New translations en.json (Occitan)
[ci skip]

* New translations en.json (Serbian (Latin))
[ci skip]

* New translations en.json (Kurmanji (Kurdish))
[ci skip]

* New translations en.json (Sorani (Kurdish))
[ci skip]

* New translations en.json (Scots)
[ci skip]

* New translations en.json (Igbo)
[ci skip]

* New translations en.json (Corsican)
[ci skip]

* New translations en.json (Sardinian)
[ci skip]

* New translations en.json (Sanskrit)
[ci skip]

* New translations en.json (Kabyle)
[ci skip]

* New translations en.json (Ido)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]
2023-04-16 17:25:43 +02:00
fusagiko / takayamaki cf3fa1e814
Rewrite GIFV component with React hooks (#24552) 2023-04-16 16:09:04 +02:00
Eugen Rochko e5c0b16735
Add progress indicator to sign-up flow (#24545) 2023-04-16 07:01:24 +02:00
Eugen Rochko 955ec252a4
Add client-side validation for taken username in sign-up form (#24546) 2023-04-16 02:10:48 +02:00
Ivan Rodriguez f05fb51ecb
Fix status title for statuses without text (#24359) 2023-04-14 17:29:09 +02:00
Matt Jankowski 10f0de4212
Refactor race condition reblog service spec (#24526) 2023-04-14 14:42:10 +02:00
Daniel M Brasil b0800d602e
tootctl: add --approve option to tootctl accounts create (#24533) 2023-04-14 14:41:15 +02:00
Nick Schonning d02aa274be
typo: collapsable -> collapsible (#24521) 2023-04-14 11:01:23 +02:00
Plastikmensch bed63f6dae
Fix default content type setting not applying (#2176)
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-04-12 20:12:25 +02:00
Claire af49d93fd6
Fix tab arrows on RTL layouts (#24520) 2023-04-12 16:01:49 +02:00
Claire 8f0b0435ab
Fix missing translation strings in en.json and defaultMessages.json (#24518) 2023-04-12 15:24:45 +02:00
Claire 7a0a79e6b3
Fix check-i18n when there are missing strings in other languages than english (#24519) 2023-04-12 15:24:30 +02:00
Claire 86ad43173f
Add “In Memoriam” banner back to profiles (#23614) 2023-04-12 14:50:02 +02:00
dependabot[bot] 722c0011d1
Bump chewy from 7.2.7 to 7.3.0 (#24507)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 13:47:38 +02:00
Eugen Rochko c5eba06d8c
New Crowdin updates (#24447)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-12 20:21:32 +09:00
Claire f53d009778
Refactor Status._insert_record slightly and tighten the test around reblogs of discarded statuses (#24516) 2023-04-12 12:47:05 +02:00
Eugen Rochko cee357d538
Change all components to use the same error page in web UI (#24512) 2023-04-12 12:44:58 +02:00
Kuba Suder aca2cd1528
fixed typo in a constant name (#24511) 2023-04-12 10:06:57 +02:00
Eugen Rochko f9940eba2f
Bump nokogiri from 1.14.2 to 1.14.3 (#24510) 2023-04-11 23:22:59 +02:00
dependabot[bot] ce50f04f0a
Bump glob from 9.3.4 to 10.0.0 (#24490)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 16:02:19 +02:00
dependabot[bot] 458e49c40c
Bump @typescript-eslint/eslint-plugin from 5.55.0 to 5.58.0 (#24488)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 15:39:08 +02:00
dependabot[bot] 8ffa11740f
Bump @typescript-eslint/parser from 5.55.0 to 5.58.0 (#24494)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 15:25:55 +02:00
dependabot[bot] 0765aeba38
Bump eslint from 8.36.0 to 8.38.0 (#24493)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 15:03:44 +02:00
Claire 4c457a350b
Fix check-i18n task complaining about translated files (#24501) 2023-04-11 14:24:44 +02:00
Claire 8eeb0ae7c0
Explicitly enable @babel/plugin-proposal-optional-chaining to fix build failures (#24504) 2023-04-11 14:24:26 +02:00
dependabot[bot] fe841b6bb6
Bump sass from 1.60.0 to 1.61.0 (#24487)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 13:43:54 +02:00
dependabot[bot] b9efca65e3
Bump net-ldap from 0.17.1 to 0.18.0 (#24484)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 12:53:13 +02:00
dependabot[bot] b6e353fde1
Bump rimraf from 4.4.1 to 5.0.0 (#24492)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 12:15:53 +02:00
dependabot[bot] 6502fcb5cf
Bump aws-sdk-s3 from 1.120.0 to 1.120.1 (#24483)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 12:14:09 +02:00
dependabot[bot] 4a23ee4b9d
Bump addressable from 2.8.2 to 2.8.4 (#24482)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 12:12:32 +02:00
dependabot[bot] ccd74ecd10
Bump @babel/plugin-transform-runtime from 7.21.0 to 7.21.4 (#24394)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 12:11:13 +02:00
dependabot[bot] b178fd3f92
Bump @babel/preset-env from 7.20.2 to 7.21.4 (#24382)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 12:04:40 +02:00
dependabot[bot] 7d7cfeaa06
Bump @babel/preset-typescript from 7.21.0 to 7.21.4 (#24396)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 11:54:16 +02:00
dependabot[bot] 999d992c10
Bump @babel/core from 7.21.3 to 7.21.4 (#24386)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 11:47:10 +02:00
Matt Jankowski 36eeb70d53
Spec coverage on Settings/ controllers specs (#24221) 2023-04-11 11:35:39 +02:00
Matt Jankowski a2a66300d9
Clean up the post deployment migration generator (#24233) 2023-04-11 11:25:29 +02:00
dependabot[bot] 3c7053a2db
Bump axios from 1.3.4 to 1.3.5 (#24485)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 10:57:57 +02:00
dependabot[bot] 881326ff61
Bump typescript from 5.0.3 to 5.0.4 (#24489)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 10:57:41 +02:00
dependabot[bot] 08d318909c
Bump lint-staged from 13.2.0 to 13.2.1 (#24491)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 10:57:08 +02:00
dependabot[bot] d1aee44ff8
Bump oj from 3.14.2 to 3.14.3 (#24496)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 10:56:29 +02:00
dependabot[bot] 738e179a88
Bump rubocop-performance from 1.16.0 to 1.17.1 (#24497)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 10:56:17 +02:00
dependabot[bot] 376b429f94
Bump stackprof from 0.2.24 to 0.2.25 (#24498)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 10:55:40 +02:00
Claire 14aa7b3c76
Merge pull request #2170 from ClearlyClaire/glitch-soc/merge-upstream
* Bump addressable from 2.8.1 to 2.8.2 (#24392)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 4.9.5 to 5.0.3 (#24398)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add typechecking in CI (#24405)

* HTML string attributes set as booleans (#24408)

* Ensure tabIndex is number instead of string (#24409)

* Fix styling regressions from RTL layout refactor (#24415)

* Enable Stylelint property-no-unknown (#24404)

* SUBMIT doesn't exist on XMLHttpRequest (#24423)

* Set marginRight as string (#24422)

* Update display_media typing to string (#24416)

* Bump aws-sdk-s3 from 1.119.2 to 1.120.0 (#24401)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump capybara from 3.38.0 to 3.39.0 (#24395)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump puma from 6.1.1 to 6.2.1 (#24402)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump rubocop from 1.48.1 to 1.49.0 (#24387)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix height of announcements not being updated when using reduced animations (#24354)

* Check for missing JSON translations (#24338)

* Fix user archive takeouts when using OpenStack Swift (#24431)

* Fix DevContainer post-create warnings (#23977)

* New Crowdin updates (#24378)

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

* Bump version to v4.1.2 (#24427)

* Fix user settings migration script failing in some cases (#24453)

* Fix account header image missing in low-res (#24433)

* Remove Array.prototype.includes polyfill (#24234)

* Remove duplicate ca-certificates Docker install (#24231)

* Remove unused methods in 2FA OTP Auth Controller (#24220)

* Update Node.js to 16.20.0 (#24316)

* Expand coverage for "system checks" (#24216)

* Fix loading spinner + infinite scroll for private mentions (#24446)

* Fix tooltip for dates without time (#24244)

* Fix crash in NotifyService when trying to send an email notification for post edits (#24460)

* [Glitch] HTML string attributes set as booleans

Port a425915ce7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] SUBMIT doesn't exist on XMLHttpRequest

Port ab3f23da91 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Set marginRight as string

Port 927b2fd138 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Update display_media typing to string

Port 17b2fd2177 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Fix height of announcements not being updated when using reduced animations

Port ffd5b2eea4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Fix account header image missing in low-res

Port d7b8c6db7e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Remove Array.prototype.includes polyfill

Port c0886dee14 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Fix tooltip for dates without time

Port aa136cf2fa to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Enable Stylelint property-no-unknown

Port cd14f712ad to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Fix loading spinner + infinite scroll for private mentions

Port 9ef9974ff2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Ensure tabIndex is number instead of string

Port ec0c104bf2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

* [Glitch] Fix user settings migration script failing in some cases

* Move glitch-soc-only translation strings out of `app/javascript/mastodono/locales`

* Run `yarn manage:translations`

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nick Schonning <nschonni@gmail.com>
Co-authored-by: Christian Schmidt <github@chsc.dk>
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
Co-authored-by: Matt Jankowski <matt@jankowski.online>
2023-04-09 22:43:21 +02:00
Claire 63a39ae2fa Run yarn manage:translations 2023-04-09 15:56:31 +02:00
Claire c11e69f33a Move glitch-soc-only translation strings out of app/javascript/mastodono/locales 2023-04-09 15:53:45 +02:00
Claire 251c5ed22e [Glitch] Fix user settings migration script failing in some cases 2023-04-09 14:48:34 +02:00
Nick Schonning bfe46d08f9 [Glitch] Ensure tabIndex is number instead of string
Port ec0c104bf2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 14:47:29 +02:00
Christian Schmidt 53cdcce3d1 [Glitch] Fix loading spinner + infinite scroll for private mentions
Port 9ef9974ff2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 12:10:01 +02:00
Nick Schonning b756e49cf1 [Glitch] Enable Stylelint property-no-unknown
Port cd14f712ad to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 12:05:55 +02:00
Christian Schmidt 7b04c2fb71 [Glitch] Fix tooltip for dates without time
Port aa136cf2fa to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 12:04:17 +02:00
Nick Schonning 5b88b7e81a [Glitch] Remove Array.prototype.includes polyfill
Port c0886dee14 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 12:03:11 +02:00
Christian Schmidt df6602ede1 [Glitch] Fix account header image missing in low-res
Port d7b8c6db7e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 12:01:55 +02:00
Christian Schmidt 74c61b05ae [Glitch] Fix height of announcements not being updated when using reduced animations
Port ffd5b2eea4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 12:01:11 +02:00
Nick Schonning 791e712a80 [Glitch] Update display_media typing to string
Port 17b2fd2177 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 12:00:26 +02:00
Nick Schonning f3f7ef2d13 [Glitch] Set marginRight as string
Port 927b2fd138 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 11:59:42 +02:00
Nick Schonning 358e4067bb [Glitch] SUBMIT doesn't exist on XMLHttpRequest
Port ab3f23da91 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 11:58:45 +02:00
Nick Schonning 0f62451424 [Glitch] HTML string attributes set as booleans
Port a425915ce7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-09 11:56:02 +02:00
Claire ce12934f5b Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `package.json`:
  Upstream removed a dependency that was textually close to a glitch-soc-only
  dependency.
  Removed the dependency as upstream did, while keeping the glitch-soc-only
  dependency.
2023-04-09 11:45:08 +02:00
Claire ff168ef202
Fix most rubocop issues (#2165)
* Run rubocop --autocorrect on app/, config/ and lib/, also manually fix some remaining style issues

* Run rubocop --autocorrect-all on db/

* Run rubocop --autocorrect-all on `spec/` and fix remaining issues
2023-04-09 11:25:30 +02:00
Claire 29a91b871e
Fix glitch-soc Markdown linting issues (#2168) 2023-04-08 17:23:24 +02:00
Claire 10469a0b85
Move locale-data back to app/javascript/mastodon/locales/locale-data (#2169)
This reduces differences with upstream and fixes a bunch of locale-data
files having been forgotten.
2023-04-08 14:11:40 +02:00
Claire 99e3e152cd
Fix crash in NotifyService when trying to send an email notification for post edits (#24460) 2023-04-08 12:51:14 +02:00
Claire dc6befe1a4
Fix migrating from upstream to glitch-soc messing with hide_notifications mute settings (#2164) 2023-04-07 20:56:11 +02:00
Claire c3a8f6a0a3
Fix glitch-soc HAML linting issues (#2166) 2023-04-07 20:55:28 +02:00
Christian Schmidt aa136cf2fa
Fix tooltip for dates without time (#24244) 2023-04-07 16:19:43 +02:00
Christian Schmidt 9ef9974ff2
Fix loading spinner + infinite scroll for private mentions (#24446) 2023-04-07 15:44:31 +02:00
Matt Jankowski 9d39b111f1
Expand coverage for "system checks" (#24216) 2023-04-07 14:39:34 +02:00
Nick Schonning 862861069d
Update Node.js to 16.20.0 (#24316) 2023-04-07 14:26:11 +02:00
Matt Jankowski d193bc8c5c
Remove unused methods in 2FA OTP Auth Controller (#24220) 2023-04-07 14:13:53 +02:00
Nick Schonning 26682d4c22
Remove duplicate ca-certificates Docker install (#24231) 2023-04-07 14:10:12 +02:00
Nick Schonning c0886dee14
Remove Array.prototype.includes polyfill (#24234) 2023-04-07 13:03:42 +02:00
Christian Schmidt d7b8c6db7e
Fix account header image missing in low-res (#24433) 2023-04-07 11:57:43 +02:00
Claire 369f239f7b
Fix user settings migration script failing in some cases (#24453) 2023-04-07 11:55:15 +02:00
Claire 3d8bd093b9
Bump version to v4.1.2 (#24427) 2023-04-07 09:01:57 +02:00
Eugen Rochko c9f3438efe
New Crowdin updates (#24378)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-06 23:24:31 +09:00
Nick Schonning b8ff498781
Fix DevContainer post-create warnings (#23977) 2023-04-05 23:58:44 +02:00
Claire 02d5c69404
New Crowdin updates (#2126)
* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (Esperanto)
[ci skip]

* New translations en.json (French)
[ci skip]

* New translations en.json (Czech)
[ci skip]

* New translations en.json (German)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations en.yml (Norwegian)
[ci skip]

* New translations simple_form.en.yml (Norwegian)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.yml (Spanish, Argentina)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.yml (Spanish, Mexico)
[ci skip]

* New translations en.json (French, Quebec)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations simple_form.en.yml (Spanish)
[ci skip]

* New translations en.json (Spanish, Mexico)
[ci skip]

* New translations en.yml (Spanish, Mexico)
[ci skip]

* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]

* New translations en.json (Spanish, Argentina)
[ci skip]

* New translations en.yml (Spanish, Argentina)
[ci skip]

* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations simple_form.en.yml (Polish)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations simple_form.en.yml (Polish)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations en.json (Polish)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* Fix Crowdin YAML export issue

* Fix i18n YAML normalization
2023-04-05 20:28:34 +02:00
Claire 9d08b81193
Fix user archive takeouts when using OpenStack Swift (#24431) 2023-04-05 19:31:49 +02:00
Nick Schonning c76d19e00b
Check for missing JSON translations (#24338) 2023-04-05 16:33:55 +02:00
Christian Schmidt ffd5b2eea4
Fix height of announcements not being updated when using reduced animations (#24354) 2023-04-05 14:58:10 +02:00
dependabot[bot] 966d7cff2a
Bump rubocop from 1.48.1 to 1.49.0 (#24387)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-05 14:01:23 +02:00
dependabot[bot] 4fcfeaba36
Bump puma from 6.1.1 to 6.2.1 (#24402)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-05 13:57:21 +02:00
dependabot[bot] e2f58c8c82
Bump capybara from 3.38.0 to 3.39.0 (#24395)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-05 13:29:14 +02:00
dependabot[bot] 60602fd846
Bump aws-sdk-s3 from 1.119.2 to 1.120.0 (#24401)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-05 13:26:33 +02:00
Nick Schonning 17b2fd2177
Update display_media typing to string (#24416) 2023-04-05 13:20:21 +02:00
Nick Schonning 927b2fd138
Set marginRight as string (#24422) 2023-04-05 10:57:36 +02:00
Nick Schonning ab3f23da91
SUBMIT doesn't exist on XMLHttpRequest (#24423) 2023-04-05 10:56:55 +02:00
Nick Schonning cd14f712ad
Enable Stylelint property-no-unknown (#24404) 2023-04-05 09:04:08 +02:00
Claire 45848d6547
Fix styling regressions from RTL layout refactor (#24415) 2023-04-04 16:48:34 +02:00
Nick Schonning ec0c104bf2
Ensure tabIndex is number instead of string (#24409) 2023-04-04 16:33:44 +02:00
Nick Schonning a425915ce7
HTML string attributes set as booleans (#24408) 2023-04-04 16:33:33 +02:00
Nick Schonning b80a7b031b
Add typechecking in CI (#24405) 2023-04-04 16:32:08 +02:00
dependabot[bot] 0358abe73a
Bump typescript from 4.9.5 to 5.0.3 (#24398)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 15:05:12 +02:00
dependabot[bot] 538914def2
Bump addressable from 2.8.1 to 2.8.2 (#24392)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 14:25:08 +02:00
Claire aa08a72654
Merge pull request #2161 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-04-04 13:17:45 +02:00
Rubicon Rowe 69ca6316ec [Glitch] Fix inconsistent radius in drawer
Port fa98363a27 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-04 12:51:24 +02:00
Claire d13ef49b15 Merge branch 'main' into glitch-soc/merge-upstream 2023-04-04 12:45:12 +02:00
Claire 0e919397db
Fix unescaped user input in LDAP query (#24379) 2023-04-04 12:42:38 +02:00
Claire af01ab7efe
Merge pull request #2159 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-04-04 12:01:52 +02:00
Rubicon Rowe fa98363a27
Fix inconsistent radius in drawer (#24407) 2023-04-04 11:41:05 +02:00
dependabot[bot] a8cd1b1238
Bump glob from 9.3.2 to 9.3.4 (#24383)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 11:25:25 +02:00
dependabot[bot] d909aa3c3b
Bump devise from 4.9.0 to 4.9.2 (#24393)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 11:09:34 +02:00
dependabot[bot] dd3e232126
Bump doorkeeper from 5.6.5 to 5.6.6 (#24399)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 11:04:56 +02:00
dependabot[bot] 52089d254d
Bump tzinfo-data from 1.2023.2 to 1.2023.3 (#24400)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 11:02:33 +02:00
Nick Schonning 8e19c44b2c
Align typings with installed versions (#24410) 2023-04-04 10:48:26 +02:00
Christian Schmidt d29cf8a044 [Glitch] Add colour to follow button when hashtag is being followed
Port 77bd32a26a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-04-03 18:07:34 +02:00
Claire 4d5b4dacd6 Merge branch 'main' into glitch-soc/merge-upstream 2023-04-03 17:40:59 +02:00
Claire 8192b0da7c
Merge pull request #2155 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-04-03 17:21:33 +02:00
Christian Schmidt 77bd32a26a
Add colour to follow button when hashtag is being followed (#24361) 2023-04-03 16:25:15 +02:00
dependabot[bot] 23813e23b3
Bump uri from 0.12.0 to 0.12.1 (#24341)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-03 16:22:55 +02:00
Claire 5d67fc09c3
Clean up JS dependencies (#24377) 2023-04-03 15:06:29 +02:00
Claire 5c499f54e3
Change root Chewy strategy to emit a warning instead of erroring out in production mode (#24327) 2023-04-03 15:05:39 +02:00
Eugen Rochko 4909c2e718
New Crowdin updates (#24276)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-03 14:44:43 +02:00
Nick Schonning 373e4a8ff0
Move ESLint configs to overrides (#24370) 2023-04-03 12:41:10 +02:00
Renaud Chaput be230be734
Fix build issues caused by #16210 (#24374) 2023-04-03 12:31:34 +02:00
fusagiko / takayamaki 4520e6473a
[Proposal] Make able to write React in Typescript (#16210)
Co-authored-by: berlysia <berlysia@gmail.com>
Co-authored-by: fusagiko / takayamaki <takayamaki@users.noreply.github.com>
2023-04-03 03:31:39 +02:00
Alison Wheeler 2f7c3cb628
Update redis_config.rb to remove warning message (#24352) 2023-04-02 06:49:37 +02:00
Claire 7b15f4006a Merge branch 'main' into glitch-soc/merge-upstream 2023-04-01 14:31:05 +02:00
Eugen Rochko 2b11376411
Change search pop-out in web UI (#24305) 2023-04-01 09:59:10 +02:00
Eugen Rochko 46483ae849
Fix regressions from change in account row design in web UI (#24343) 2023-04-01 09:27:23 +02:00
Vyr Cossont d5ad8b6422
Fix Redis client and type errors introduced in #24285 (#24342) 2023-04-01 08:28:35 +02:00
Tdxdxoz d874a7a10f [Glitch] Fix: set multiColumn value for /explore Statuses
Port 74f56c64fc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-31 22:50:57 +02:00
Nick Schonning a8f0592b72 [Glitch] Move marky to devDependency
Port ddb769f0b8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-31 22:50:57 +02:00
Claire 4aaa1772b6 Restore exif-js dependency 2023-03-31 22:50:57 +02:00
Claire 3dcba94e68 Migrate glitch-soc's exclusive user settings 2023-03-31 22:50:57 +02:00
Claire 280fa3b2c0
Fix invalid/expired invites being processed on sign-up (#24337) 2023-03-31 21:42:28 +02:00
Claire 01d6f7529f Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream added a link to the roadmap, but we have a completely different README.
  Kept ours.
- `app/models/media_attachment.rb`:
  Upstream upped media attachment limits.
  Updated the default according to upstream's.
- `db/migrate/20180831171112_create_bookmarks.rb`:
  Upstream changed the migration compatibility level.
  Did so too.
- `config/initializers/content_security_policy.rb`:
  Upstream refactored this file but we have a different version.
  Kept our version.
- `app/controllers/settings/preferences_controller.rb`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  The file does not directly references individual settings anymore.
  Applied upstream changes.
- `app/lib/user_settings_decorator.rb`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  The file got removed entirely.
  Removed it as well.
- `app/models/user.rb`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  References to individual settings have been removed from the file.
  Removed them as well.
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  Applied upstream's changes and ported ours back.
- `app/views/settings/preferences/notifications/show.html.haml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  Applied upstream's changes and ported ours back.
- `app/views/settings/preferences/other/show.html.haml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  Applied upstream's changes and ported ours back.
- `config/settings.yml`:
  Upstream completely refactored user settings storage, and glitch-soc has a
  different set of settings.
  In particular, upstream removed user-specific and unused settings.
  Did the same in glitch-soc.
- `spec/controllers/application_controller_spec.rb`:
  Conflicts due to glitch-soc's theming system.
  Mostly kept our version, as upstream messed up the tests.
2023-03-31 21:30:27 +02:00
Nick Schonning c6c03b49b2
Add Roadmap to README (#24288) 2023-03-31 19:20:11 +02:00
Sai f318f1ef0e
Bump ruby to 3.2.2 due to ReDoS vulnerabilities (#24320) 2023-03-31 18:28:40 +02:00
Nick Schonning 1f19d5e5e8
Add documentation for Rubocop overrides (#23811) 2023-03-31 16:08:53 +02:00
Nick Schonning cb2ce842b0
Autofix Rubocop Rails/IgnoredColumnsAssignment (#23761) 2023-03-31 15:07:22 +02:00
Vyr Cossont 7646ad8a2b
IndexingScheduler: fetch and import in batches (#24285)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-31 14:38:47 +02:00
Nick Schonning 500d6f93be
Autofix Rubocop Style/IdenticalConditionalBranches (#24322) 2023-03-31 09:33:52 +02:00
Nick Schonning 83fc97285b
Enable Rubocop Metrics/BlockLength with Excludes (#24260) 2023-03-31 09:33:25 +02:00
Christian Schmidt b4f38edf74
Wrong type for user setting when default is defined by lambda (#24321) 2023-03-31 07:33:17 +02:00
Eugen Rochko 68a192e718
Change "direct message" nomenclature to "private mention" in web UI (#24248) 2023-03-30 15:16:20 +02:00
Eugen Rochko a9b5598c97
Change user settings to be stored in a more optimal way (#23630)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-30 14:44:00 +02:00
Claire e7c3e55874
Fix stale apt index in github actions (#24319) 2023-03-30 14:19:33 +02:00
dependabot[bot] 67450cf002
Bump cssnano from 5.1.15 to 6.0.0 (#24296)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-30 10:38:00 +02:00
Tdxdxoz 74f56c64fc
Fix: set multiColumn value for /explore Statuses (#24314) 2023-03-30 10:14:49 +02:00
mogamin 9c84563008
Fix missing translation in pagination gap tags (#24262)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-03-29 13:54:33 +02:00
Robert R George cb9cc09a6d
Fixes launching of the devcontainer and adds support for Docker Desktop (#24303) 2023-03-29 13:27:19 +02:00
dependabot[bot] c855e1ecbc
Bump sass from 1.59.3 to 1.60.0 (#24292)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 11:27:14 +02:00
dependabot[bot] 550d40a361
Bump rimraf from 4.4.0 to 4.4.1 (#24291)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 11:11:50 +02:00
dependabot[bot] ef52da6dc7
Bump react-textarea-autosize from 8.4.0 to 8.4.1 (#24293)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 11:03:38 +02:00
Christian Schmidt eb38e9df31
Requeue expiration notification (#24311) 2023-03-29 10:52:40 +02:00
dependabot[bot] c384795731
Bump react-select from 5.7.1 to 5.7.2 (#24294)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 10:37:33 +02:00
dependabot[bot] 674f9b5966
Bump prettier from 2.8.5 to 2.8.7 (#24295)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 10:35:27 +02:00
dependabot[bot] 657236546f
Bump mkdirp from 2.1.5 to 2.1.6 (#24297)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 10:34:49 +02:00
dependabot[bot] 4f16e4dbde
Bump glob from 9.3.0 to 9.3.2 (#24298)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 10:34:27 +02:00
dependabot[bot] dc17b93cdb
Bump aws-sdk-s3 from 1.119.1 to 1.119.2 (#24299)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 10:33:08 +02:00
dependabot[bot] b60f7b31cf
Bump tzinfo-data from 1.2022.7 to 1.2023.2 (#24300)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 10:32:51 +02:00
Robert R George 782669a042
Wrap db:setup with Chewy.strategy(:mastodon) (#24302) 2023-03-29 09:58:27 +02:00
Nick Schonning a766804e02
Use Yarn instead of NPX for pre-commit hook (#24287) 2023-03-28 06:28:57 +02:00
Nick Schonning 2115413fa1
Remove remaining CodeClimate references (#24289) 2023-03-28 02:07:06 +02:00
Claire 0d70deee53
Add migration tests for user mail notification settings (#24277) 2023-03-27 17:54:42 +02:00
Claire e084b5b82d
Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (#24200) 2023-03-27 17:07:37 +02:00
Nick Schonning ddb769f0b8
Move marky to devDependency (#24258) 2023-03-27 16:11:45 +02:00
Claire c0e87ad8ed
Update strong-migrations-enabled migrations from 5.0 and 5.1 to 5.2 (#24275) 2023-03-27 16:09:10 +02:00
Eugen Rochko cf12621e37
New Crowdin updates (#24130)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-03-27 20:01:47 +09:00
Claire cbdb25ab03
Merge pull request #2151 from ClearlyClaire/glitch-soc/main
Merge upstream changes
2023-03-27 12:49:33 +02:00
Eugen Rochko babd86e594
Refactor styles to use logical properties for positioning (#23944) 2023-03-27 10:56:25 +02:00
Vyr Cossont 88fc04d3d7
Serialize status webhook events in REST API format (#24243) 2023-03-27 09:14:21 +02:00
Matt Jankowski 5b7898230e
Update strong_migrations to version 0.8.0 (#24270) 2023-03-27 09:11:10 +02:00
neatchee 8215df76c0 [Glitch] Remove legacy decorators syntax
Port d1b057a0ac to glitch-soc
2023-03-27 08:51:57 +02:00
Nick Schonning 34225d7199
Setup Husky and lint-stage for commit fixing (#23308) 2023-03-27 05:17:19 +02:00
Nick Schonning 00c839b9a9 [Glitch] Remove isNaN polyfill
Port b46125224c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-26 15:49:49 +02:00
Claire 14b0311029 Merge branch 'main' into glitch-soc/main 2023-03-26 15:47:12 +02:00
mogamin 63a6808ee1
Fix typo in _login_activity.html.haml (#24263) 2023-03-26 10:59:14 +02:00
Matt Jankowski 3557a65bb2
Reset model in migration after removing column (#24250) 2023-03-26 00:40:36 +01:00
Matt Jankowski 0663803348
Move link header setting to after_action (#24251) 2023-03-26 00:40:01 +01:00
Matt Jankowski b9e34ef098
Migration warning helper, and only run in production env (#24253) 2023-03-26 00:39:24 +01:00
Matt Jankowski e633b26f4f
Add allow_other_host in redirects which may go outside app (#24252) 2023-03-26 00:38:32 +01:00
Matt Jankowski e63524f457
Update retention model sql query (#24249) 2023-03-26 00:37:57 +01:00
Eugen Rochko 9bda933740
Change media upload limits and remove client-side resizing (#23726) 2023-03-25 10:00:03 +01:00
Eugen Rochko ef127c964a
Change design of account rows in web UI (#24247) 2023-03-25 08:46:32 +01:00
Yamagishi Kazutoshi 6e8711ff91
Add missing parenthesis (#24238) 2023-03-24 04:35:43 +01:00
Yamagishi Kazutoshi d1b057a0ac
Remove legacy decorators syntax (#18357) 2023-03-24 03:17:53 +01:00
Nick Schonning 503022d6f9
Exclude files for Rubocop Metrics/ClassLength (#24213) 2023-03-23 23:19:41 +01:00
Nick Schonning e7e189fa44
Use Yarn production install for asset compile (#24232) 2023-03-23 22:49:47 +01:00
Plastikmensch 81e85782d1
Fix docker images not being pushed (#2143)
* Change repo from mastodon/mastodon to glitch-soc/mastodon

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

* Remove repo check from build-image workflow

Reverts 0b8b0ef652

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

---------

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-03-23 10:15:41 +01:00
Claire 867790e07a
Merge pull request #2144 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-03-23 10:15:13 +01:00
Nick Schonning b46125224c
Remove isNaN polyfill (#24224) 2023-03-23 09:47:13 +01:00
Christian Schmidt 16da4a09e8
Fix broken links in account gallery (#24218) 2023-03-23 05:17:29 +01:00
mogamin b4f60bc6de [Glitch] Fit the max-width of media in .prose to parent box
Port 0a9def5498 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-22 20:00:33 +01:00
Claire 5ac380c122 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/models/status.rb`:
  Upstream added lines close to a glitch-soc only line, not a real conflict.
  Applied upstream's changes (added hooks) while keeping glitch-soc's changes
  (`local_only` scope).
- `config/environments/production.rb`:
  Upstream removed a header, while we have glitch-soc specific ones.
  Removed the header removed upstream.
2023-03-22 19:50:11 +01:00
Claire 2626097869
Fix Rails cache namespace being overriden with v2 for cached statuses (#24202) 2023-03-22 15:47:44 +01:00
Matt Jankowski a7a578a055
Remove unused InstancePresenter methods (#24206) 2023-03-22 14:15:22 +01:00
Matt Jankowski b179ff84c7
Add specs for Chewy importers (#24204) 2023-03-22 14:06:26 +01:00
Simon Elvery 148c3d5894
Update profile link verification instructions (#19723)
Co-authored-by: Effy Elden <effy@effy.space>
2023-03-22 11:22:35 +01:00
Claire 7f8e1bede4
Bump version to v4.1.1 (#24201) 2023-03-21 15:04:21 +01:00
Takeshi Umeda 38c84f57b6
Refactoring relations_map (#24195) 2023-03-21 10:32:58 +01:00
dependabot[bot] 9f8d1601a4
Bump stackprof from 0.2.23 to 0.2.24 (#24190)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 10:25:19 +01:00
dependabot[bot] a4d285f2f9
Bump prettier from 2.8.4 to 2.8.5 (#24188)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 10:51:31 +09:00
dependabot[bot] de6d504023
Bump stylelint from 15.2.0 to 15.3.0 (#24185)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 10:49:48 +09:00
dependabot[bot] f20843e60d
Bump react-select from 5.7.0 to 5.7.1 (#24187)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 10:47:25 +09:00
dependabot[bot] 84f14b2451
Bump rack-cors from 1.1.1 to 2.0.1 (#24189)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 10:42:34 +09:00
dependabot[bot] 4f4cbce295
Bump pghero from 3.3.0 to 3.3.1 (#24186)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 00:56:45 +01:00
mogamin 0a9def5498
Fit the max-width of media in .prose to parent box (#24180) 2023-03-20 20:04:25 +01:00
Matt Jankowski 7bef11630d
Remove references to non-existent actions (#24183) 2023-03-20 20:03:44 +01:00
Claire bdeb6ff180
Fix crash in tootctl commands making use of parallelization when Elasticsearch is enabled (#24182) 2023-03-20 20:02:58 +01:00
Eugen Rochko 0ca54a4105
Remove Permissions-Policy header from all responses (#24124) 2023-03-20 20:02:09 +01:00
Plastikmensch 02ac94490a
Add getting-started-misc to route (#2141)
* Add getting-started-misc to web_app_paths

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

* Add signed in check to navigation entries

Enabling routing for getting-started-misc allows the column to be directly accessible, which showed every entry and threw unnecessary errors.

Also fixed the keys as these were literally "i++".

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

* Remove "Extended information" from getting-started-misc

I couldn't find any reference to this translation string, so I removed it too.

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

---------

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-03-19 17:26:02 +01:00
Vyr Cossont 94cbd808b5
Webhooks for local status.create, status.update, account.update (#24133) 2023-03-19 07:47:54 +01:00
Claire 9a111a615f
Merge pull request #2138 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-03-18 19:34:43 +01:00
Claire 3091a184ca Merge branch 'main' into glitch-soc/merge-upstream 2023-03-18 11:21:03 +01:00
Claire 00fe0f6cb4
Merge pull request #2136 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-03-18 11:17:46 +01:00
Nick Schonning 34096bc6ea
Upgrade redis-node to latest (#24154) 2023-03-18 17:05:17 +09:00
Nick Schonning f7b9b36fc3
Revert "Dedupe yarn.lock with yarn-deduplicate" (#24155) 2023-03-18 17:05:01 +09:00
Nick Schonning 9758112c97
Dedupe yarn.lock with yarn-deduplicate (#24119) 2023-03-18 16:09:39 +09:00
Jean byroot Boussier 160f38f03d
Workaround the ActiveRecord / Marshal serialization bug on Ruby 3.2 (#24142)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-03-17 14:37:30 +01:00
Nick Schonning b22b4bac03
Include config/ and update all rubcop deps (#23963) 2023-03-17 10:13:28 +01:00
CSDUMMI d75a1e5054
Link to the Identity provider's account settings from the account settings (#24100)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-17 10:09:01 +01:00
dependabot[bot] be9a4912d8
Bump rimraf from 4.1.2 to 4.4.0 (#24048)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-17 10:08:10 +01:00
dependabot[bot] f53970abce
Bump glob from 8.1.0 to 9.3.0 (#24110)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-17 09:43:16 +01:00
Christian Schmidt 8f97ffe91e [Glitch] Replace Status#translatable? with language matrix in separate endpoint
Port bd047acc35 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-16 23:21:08 +01:00
Claire 193250556c Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream changed their README, we have our own.
  Kept ours.
- `app/helpers/application_helper.rb`:
  Minor code style fix upstream, on a line that is different in glitch-soc
  due to the different theming system.
  Applied the code style fix to our own code.
- `app/views/settings/preferences/appearance/show.html.haml`:
  Code style fix on a line next to lines exclusive to glitch-soc.
  Applied upstream changes.
- `yarn.lock`:
  Upstream updated a dependency textually close to a glitch-soc-only
  dependency.
  Updated the dependency like upstream did.
2023-03-16 23:12:59 +01:00
Claire f5daa20f2a
Merge pull request #2134 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-03-16 23:09:53 +01:00
Nick Schonning 681dcd3fa3
Ignore additional Style/OptionalBooleanParameter (#24138) 2023-03-16 23:07:25 +01:00
Claire 8fdf49b11d
Add warning for object storage misconfiguration (#24137) 2023-03-16 22:47:01 +01:00
Eugen Rochko 75e5a6e437
Change user backups to use expiring URLs for download when possible (#24136) 2023-03-16 22:46:52 +01:00
Matt Jankowski edc7ca5920
Roll back unintentionally activated rubocop rules (#24132)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Nick Schonning <nschonni@gmail.com>
2023-03-16 22:24:01 +01:00
Eugen Rochko a085901108
New Crowdin updates (#23904)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-03-16 21:02:00 +09:00
Christian Schmidt bd047acc35
Replace Status#translatable? with language matrix in separate endpoint (#24037) 2023-03-16 11:07:24 +01:00
Eugen Rochko 630436ab2d
Refactor monkey-patching of PrivateAddressCheck (#24122) 2023-03-16 04:33:38 +01:00
Nick Schonning aa947a143b
Regen rubocop-todo without Max shadowing (#24076) 2023-03-16 12:31:08 +09:00
dependabot[bot] f57bcb028b
Bump sass from 1.58.3 to 1.59.3 (#24105)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 11:11:54 +09:00
dependabot[bot] aa7d63d9aa
Bump autoprefixer from 10.4.13 to 10.4.14 (#24108)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 10:56:03 +09:00
Eugen Rochko f0e727f958
Add cache headers to static files served through Rails (#24120) 2023-03-16 02:55:54 +01:00
dependabot[bot] be488adf71
Bump @babel/core from 7.21.0 to 7.21.3 (#24111)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 10:55:29 +09:00
Eugen Rochko 8cb2543ee5
Add SENDFILE_HEADER environment variable (#24123) 2023-03-16 02:55:13 +01:00
Eugen Rochko 6fa81ca17e
Remove bullet and active_record_query_trace gems (#24121) 2023-03-16 02:53:55 +01:00
dependabot[bot] dbbd462c10
Bump eslint from 8.35.0 to 8.36.0 (#24089)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 10:44:56 +09:00
dependabot[bot] b9618c82e3
Bump @babel/eslint-parser from 7.19.1 to 7.21.3 (#24109)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 10:44:21 +09:00
dependabot[bot] b1b8a27b42
Bump immutable from 4.2.4 to 4.3.0 (#24088)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 10:42:27 +09:00
Nick Schonning 25d36b6edd
Autofix Rubocop Style/RedundantArgument (#23798) 2023-03-16 10:34:00 +09:00
dependabot[bot] 0566c81a0c
Bump rack-test from 2.0.2 to 2.1.0 (#24112)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 10:33:26 +09:00
Nick Schonning a38f67c1c3
Autofix Rubocop Style/PreferredHashMethods (#23851) 2023-03-16 01:36:37 +01:00
Nick Schonning 65669d3c57
Fix more haml-lint Rubocop (#24107) 2023-03-15 20:07:43 +01:00
Nick Schonning 0b8b0ef652
Skip pushing containers on forks (#24106) 2023-03-15 16:43:44 +01:00
Renaud Chaput f9bdaebad2
Use Github Container Registry as the official container image source (#24113) 2023-03-15 16:41:13 +01:00
Rodion Borisov 32418f0ff3 [Glitch] Center the text itself in upload area
Port a52ccd7ad9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-15 09:33:48 +01:00
PauloVilarinho 17fb58bff3 [Glitch] add modal message when editing toot
Port 8770473dbb to glitch-soc

Co-authored-by: PauloVilarinho <paulotarsobranco@hotmail.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-15 09:33:14 +01:00
Claire 3ef5f62abf Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.github/workflows/build-image.yml`:
  Upstream switched to pushing to both DockerHub and GitHub Container
  Repository, while glitch-soc was already pushing to the latter only.
  Updated our configuration to be slightly more consistent with upstream's
  naming and styling, but kept our behavior.
- `Gemfile.lock`:
  Updated dependencies textually too close to glitch-soc only hcaptcha
  dependency.
  Updated dependencies as upstream did.
- `README.md`:
  Upstream updated its README, but we have a completely different one.
  Kept our README, though it probably should be reworked at some point.
- `app/views/auth/sessions/two_factor.html.haml`:
  Minor style fix upstream that's on a line glitch-soc removed because
  of its different theming system.
  Kept our file as is.
- `spec/controllers/health_controller_spec.rb`:
  This file apparently did not exist upstream, upstream created it with
  different contents but it is functionally the same.
  Switched to upstream's version of the file.
- `spec/presenters/instance_presenter_spec.rb`:
  Upstream changed the specs around `GITHUB_REPOSITORY`, while glitch-soc
  had its own code because it's a fork and does not have the same default
  source URL.
  Took upstream's change, but with glitch-soc's repo as the default case.
- `yarn.lock`:
  Upstream dependencies textually too close to a glitch-soc only one.
  Updated dependencies as upstream did.
2023-03-15 09:16:10 +01:00
Claire 6a0ed45aa3
Merge pull request #2122 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-03-15 08:58:12 +01:00
Nick Schonning 75131e7bf7
Setup haml-lint CI with todo config (#23524) 2023-03-15 04:15:36 +01:00
Claire a232a1feb8
Fix misleading error code when receiving invalid WebAuthn credentials (#23568) 2023-03-15 04:15:20 +01:00
Claire cf50667e26
Fix incorrect post links in strikes when the account is remote (#23611) 2023-03-15 04:14:47 +01:00
Claire 9875be09fe
Fix dashboard crash on ElasticSearch server error (#23751) 2023-03-15 04:01:49 +01:00
Nick Schonning 15fdd94e2f
Update PostCSS dependencies (#23835) 2023-03-15 04:01:10 +01:00
Matt Jankowski a471e1c48f
Add spec for the CLI version task (#23978) 2023-03-15 03:56:09 +01:00
CSDUMMI 39c7236649
Redirect users to SLO at the IdP after logging them out of Mastodon. (#24020) 2023-03-15 03:52:40 +01:00
Claire 1d0ad558ff
Change sidekiq-bulk's batch size from 10,000 to 1,000 jobs in one Redis call (#24034) 2023-03-15 03:45:15 +01:00
Nick Schonning ed887271f3
Skip Docker CI Login/Push on forks (#23564) 2023-03-15 03:43:49 +01:00
Renaud Chaput 50d39c275d
Push Docker images to Github Container Registry as well (#24101) 2023-03-14 20:27:43 +01:00
dependabot[bot] f4f3e2b46e
Bump rubocop from 1.48.0 to 1.48.1 (#24095)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 14:55:42 +01:00
dependabot[bot] 5b39d20804
Bump rails from 6.1.7.2 to 6.1.7.3 (#24096)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 14:50:19 +01:00
dependabot[bot] 82d7b08fcf
Bump rack from 2.2.6.3 to 2.2.6.4 (#24097)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 14:50:08 +01:00
CSDUMMI 5dee40b5f5
Support the PROXY protocol through the PROXY_PROTO_V1 env variable (#24064) 2023-03-14 14:47:57 +01:00
dependabot[bot] 43ec9d24f9
Bump pghero from 3.2.0 to 3.3.0 (#24085)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 11:32:15 +01:00
dependabot[bot] 245f0aead2
Bump jsdom from 21.1.0 to 21.1.1 (#24090)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 11:16:24 +01:00
CSDUMMI d258ec8e3b
Prefer the stored location as after_sign_in_path in Omniauth Callback Controller (#24073) 2023-03-13 00:06:27 +01:00
Nick Schonning e762a14c0a
Enable Rubocop Performance/DeleteSuffix (#24077) 2023-03-13 00:03:07 +01:00
Claire f432db7b9f
Fix sidekiq jobs not triggering Elasticsearch index updates (#24046) 2023-03-12 23:47:55 +01:00
Matt Jankowski 1ed12d5e2f
Add basic search specs for chewy indexes (#24065) 2023-03-10 19:31:10 +01:00
Nick Schonning 3ea0856f70
Enable RSpec/FilePath (#23965) 2023-03-10 16:32:37 +01:00
dependabot[bot] 8931f18a21
Bump eslint from 8.33.0 to 8.35.0 (#24049)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-10 15:24:19 +01:00
dependabot[bot] 540d49ec14
Bump pghero from 3.1.0 to 3.2.0 (#24044)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-10 14:08:10 +01:00
Matt Jankowski 688287c59d
Coverage improvement round-out following up previous work (#23987) 2023-03-10 13:33:30 +01:00
Matt Jankowski 56bddfbfa3
Serializers spec coverage (#24017) 2023-03-10 12:12:51 +01:00
dependabot[bot] 53309fa31a
Bump puma from 6.1.0 to 6.1.1 (#24045)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-10 11:12:06 +01:00
Nick Schonning 4fa542f3c4
Sync CI and Docker Compose image versions (#24053) 2023-03-10 11:10:47 +01:00
Rodion Borisov a52ccd7ad9
Center the text itself in upload area (#24029) 2023-03-09 14:35:44 +01:00
Matt Jankowski 2f7a663b0b
Explicitly set github repo in instance presenter spec (#24036) 2023-03-09 14:27:48 +01:00
Christian Schmidt 684a970b3c
Unescape HTML entities (#24019) 2023-03-08 19:56:41 +01:00
Nick Schonning 9dfe2dbd3f
Skip rebase-needed job for i10n branch (#24026) 2023-03-08 19:26:25 +01:00
9p4 b715bd8e53
Add refreshing many accounts at once with "tootctl accounts refresh" (#23304) 2023-03-08 17:06:53 +01:00
dependabot[bot] 0bc1a002fd
Bump babel-jest from 29.4.3 to 29.5.0 (#24007)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 16:25:16 +01:00
dependabot[bot] f47c404f88
Bump mkdirp from 2.1.3 to 2.1.5 (#23994)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 12:54:12 +01:00
dependabot[bot] 60d664eab8
Bump rubocop from 1.45.1 to 1.48.0 (#23999)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 12:53:48 +01:00
dependabot[bot] a47358e27c
Bump jest-environment-jsdom from 29.4.3 to 29.5.0 (#23998)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 12:14:18 +01:00
dependabot[bot] 71cd77536d
Bump jest from 29.4.3 to 29.5.0 (#24003)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 12:00:05 +01:00
dependabot[bot] 5da3fd170e
Bump doorkeeper from 5.6.4 to 5.6.5 (#24009)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:45:09 +01:00
dependabot[bot] c9860d36d4
Bump omniauth_openid_connect from 0.6.0 to 0.6.1 (#23991)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:44:23 +01:00
dependabot[bot] 3d46823e9f
Bump utf-8-validate from 6.0.2 to 6.0.3 (#23992)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:32:44 +01:00
dependabot[bot] ff1913d58f
Bump axios from 1.3.3 to 1.3.4 (#23996)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:32:21 +01:00
dependabot[bot] aabf2bf8d6
Bump rack from 2.2.6.2 to 2.2.6.3 (#23997)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:32:09 +01:00
dependabot[bot] 49a4a7fa83
Bump sidekiq-scheduler from 5.0.1 to 5.0.2 (#24004)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:31:46 +01:00
dependabot[bot] 722349963c
Bump yargs from 17.7.0 to 17.7.1 (#24002)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:30:36 +01:00
dependabot[bot] 6ee39e85f3
Bump pg from 1.4.5 to 1.4.6 (#24001)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:29:57 +01:00
Nick Schonning fb13f37475
Skip double building on Dependabot branches (#24025) 2023-03-08 15:12:57 +09:00
Nick Schonning e594bb7d50
Convert CircleCI to GitHub Actions (#23608) 2023-03-07 04:49:43 +01:00
Claire 174352716a
Disable anonymous access to the streaming API (#23989) 2023-03-06 21:00:10 +01:00
Claire 59b24c3688
Fix /api/v1/streaming sub-paths not being redirected (#23988) 2023-03-06 17:44:55 +01:00
Matt Jankowski dfa1be4ab4
Remove unused TOCGenerator (#23986) 2023-03-06 17:33:58 +01:00
PauloVilarinho 8770473dbb
add modal message when editing toot (#23936)
Co-authored-by: PauloVilarinho <paulotarsobranco@hotmail.com>
2023-03-06 17:33:09 +01:00
Claire 21db91a0a8
Remove sidebar dead code (#23984) 2023-03-06 16:25:35 +01:00
Claire 86f8aa2db2
Fix unconfirmed accounts being registered as active users (#23803) 2023-03-06 16:00:08 +01:00
Nick Schonning 4595862978
Remove pinned rexml (#23964) 2023-03-06 15:43:21 +01:00
Christian Schmidt c4cf92094e
Do not strip tags from Setting.site_short_description (#23975) 2023-03-06 15:37:19 +01:00
Claire 7f96391eae Normalize translations 2023-03-05 21:31:45 +01:00
Claire 7f3b0dedeb Refactor glitch-soc rich text SCSS 2023-03-05 21:31:45 +01:00
Christian Schmidt 1317553f3a [Glitch] Only offer translation for supported languages
Port 5a8c651e8f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-05 21:19:04 +01:00
Terry Garcia 9a1bd1c3e9 [Glitch] Switched bookmark and favourites around
Port a1347f456e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-05 21:07:55 +01:00
Claire 03ac84b0f4 [Glitch] Fix duplicate “Publish” button on mobile
Port b55fc883b6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-05 21:07:10 +01:00
Claire 7623e18124 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `README.md`:
  Upstream README has been changed, but we have a completely different one.
  Kept our `README.md`.
- `lib/sanitize_ext/sanitize_config.rb`:
  Upstream added support for more incoming HTML tags (a large subset of what
  glitch-soc accepts).
  Change the code style to match upstream's but otherwise do not change our
  code.
- `spec/lib/sanitize_config_spec.rb`:
  Upstream added support for more incoming HTML tags (a large subset of what
  glitch-soc accepts).
  Kept our version, since the tests are mostly glitch-soc's, except for cases
  which are purposefuly different.
2023-03-05 20:46:56 +01:00
Claire bb4e211c86
New Crowdin updates (#2118)
* New translations en.json (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]
2023-03-05 20:38:18 +01:00
Claire bcbc2a43d4
Merge pull request #2121 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-03-05 20:37:42 +01:00
Christian Schmidt 0e476f3c4f [Glitch] Add lang attribute to media and poll options
Port d3eefead30 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-03-05 17:52:53 +01:00
Eugen Rochko dfa9843ac8
Fix pgBouncer resetting application name on every transaction (#23958) 2023-03-05 01:52:42 +01:00
Eugen Rochko be1792e1d4
Fix streaming API not being usable without DATABASE_URL (#23960) 2023-03-05 01:52:12 +01:00
Samruddhi Khandale ade3c5d40c
Updates dev container and adds doc for getting started with GitHub Codespaces (#23872) 2023-03-05 00:35:00 +01:00
Nick Schonning 82a6cf4012
Enable Rubocop for app/views (#23874) 2023-03-05 00:33:52 +01:00
Matt Jankowski 14f0b48fb6
Update browser gem to version 5.3.1 (#23945) 2023-03-05 00:33:08 +01:00
Christian Schmidt cb868228bd
Do not leave Mastodon when clicking “Back” (#23953) 2023-03-04 23:18:19 +01:00
Matt Jankowski c599e289d8
Fix spec for api/v1/statuses/translations (#23956) 2023-03-04 23:17:46 +01:00
Matt Jankowski 2d1ccb3d8b
Restore missing fabricators (#23951) 2023-03-04 18:31:13 +01:00
Matt Jankowski 506b16cf59
Pending example models minimal coverage (#23912) 2023-03-04 17:16:45 +01:00
Matt Jankowski 7f4412eeeb
User mailer spec coverage improvements (#23905) 2023-03-04 17:16:11 +01:00
Matt Jankowski 42ddc45133
Admin controllers specs (#23917) 2023-03-04 17:13:28 +01:00
Matt Jankowski ad585fb195
Specs api v1 controllers (#23930) 2023-03-04 17:12:54 +01:00
Matt Jankowski cd99fa8ceb
Fabricator specs (#23925) 2023-03-04 17:12:09 +01:00
Matt Jankowski c40d5e5a8f
Misc coverage improvements for validators (#23928) 2023-03-04 17:00:00 +01:00
Matt Jankowski 2f606ba122
Helpers specs coverage improvement (#23937) 2023-03-04 16:58:11 +01:00
Matt Jankowski 00eb2269b6
Policies specs (#23924) 2023-03-04 16:57:22 +01:00
Matt Jankowski 6a57c42316
Settings controllers specs (#23915) 2023-03-04 16:56:43 +01:00
Matt Jankowski 39e7525c96
Add basic coverage for some worker jobs (#23943) 2023-03-04 16:56:09 +01:00
Matt Jankowski f9c2213ae5
Models specs coverage (#23940) 2023-03-04 16:43:47 +01:00
Jean byroot Boussier 922837dc96
Upgrade to latest redis-rb 4.x and fix deprecations (#23616)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-03-04 16:38:28 +01:00
Claire aa98c8fbeb
Disable Style/SymbolArray (#23921) 2023-03-03 22:55:43 +01:00
Nick Schonning 1840d5d50c
Remove pry gems (#23884) 2023-03-03 22:53:08 +01:00
Nick Schonning b00f945d92
Remove implied StandardError rescue (#23942) 2023-03-03 22:49:16 +01:00
Nick Schonning c65c34dfd1
Remove climate_control gem (#23886) 2023-03-03 22:48:48 +01:00
Claire 050f1669c6
Fix original account being unfollowed on migration before the follow request could be sent (#21957) 2023-03-03 21:13:55 +01:00
Claire ddde4e0d95
Change ActivityPub::DeliveryWorker retries to be spread out more (#21956) 2023-03-03 21:08:22 +01:00
Christian Schmidt 5a8c651e8f
Only offer translation for supported languages (#23879) 2023-03-03 21:06:31 +01:00
Ramūns Usovs 0872f3e3d7
Allow streaming to connect to postgress with self-signed certs (#21431) 2023-03-03 21:01:18 +01:00
Jamie Hoyle de137e6bb0
Added support for specifying S3 storage classes in environment (#22480) 2023-03-03 20:53:37 +01:00
Claire 3f52e717fa
Add tests for moderation actions without custom text (#23184) 2023-03-03 20:50:46 +01:00
Claire 6b16b77ab0
Fix external authentication not running onboarding code for new users (#23458) 2023-03-03 20:45:55 +01:00
Claire 8784498ebf
Fix tootctl accounts migrate error due to typo (#23567) 2023-03-03 20:45:12 +01:00
Claire d6679d1751
Add mail headers to avoid auto-replies (#23597) 2023-03-03 20:44:46 +01:00
Claire f94aa70b81
Fix error when displaying post history of a trendable post in the admin interface (#23574) 2023-03-03 20:44:02 +01:00
Terry Garcia a1347f456e
Switched bookmark and favourites around (#23701) 2023-03-03 20:37:49 +01:00
Claire 02c6bad3ca
Change unintended SMTP read timeout from 5 seconds to 20 seconds (#23750) 2023-03-03 20:37:22 +01:00
Claire f8bb4d0d6b
Fix server error when failing to follow back followers from /relationships (#23787) 2023-03-03 20:36:18 +01:00
Claire b55fc883b6
Fix duplicate “Publish” button on mobile (#23804) 2023-03-03 20:25:36 +01:00
Claire c2a046ded1
Fix “Remove all followers from the selected domains” being more destructive than it claims (#23805) 2023-03-03 20:25:15 +01:00
Claire 3a6451c867
Add support for incoming rich text (#23913) 2023-03-03 20:19:29 +01:00
Claire 276c1d32d6 Merge branch 'main' into glitch-soc/merge-upstream 2023-03-02 17:32:38 +01:00
Matt Jankowski af578e8ce0
Fix deprecation warning about merging conditions (#23618) 2023-03-02 16:21:04 +01:00
Matt Jankowski 9da52ac044
Update rspec-rails to version 6.0.1 (#23908) 2023-03-02 15:55:37 +01:00
Matt Jankowski 35dff48edf
Add spec coverage for Admin::Trends::StatusesHelper (#23898) 2023-03-02 15:30:40 +01:00
Shlee 59f42c262b
[Dependashlee] Bump @github/webauthn-json from 0.5.7 to 2.1.1 (js) (#23819) 2023-03-02 11:45:14 +01:00
Shlee 083e18e45b
[Dependashlee] Bump fuzzysort from 1.9.0 to 2.0.4 (JS) (#23822) 2023-03-02 11:41:32 +01:00
Shlee 6047c84468
[Dependashlee] Bump color-blend from 3.0.1 to 4.0.0 (JS) (#23823) 2023-03-02 11:08:22 +01:00
Stanislav Dobrovolschii d9271126ce
Add rspecs for FollowRecommendationsScheduler (#23890) 2023-03-02 10:05:05 +01:00
Matt Jankowski b6602f68eb
Spec coverage for HomeHelper (#23907) 2023-03-02 10:04:14 +01:00
Eugen Rochko cb97ba7a2f
New Crowdin updates (#23802)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-28 23:01:05 +09:00
Nick Schonning 56489cdc4f
Autofix Rubocop Style/HashConversion (#23852) 2023-02-28 22:59:19 +09:00
Matt Jankowski 6185efbc3c
Admin mailer spec coverage improvement (#23863) 2023-02-28 22:33:34 +09:00
Shlee f8848a5c8b
[Dependashlee] Update to Puma 6.1.0 (#23795) 2023-02-28 13:30:28 +01:00
Matt Jankowski cc3633539e
Remove unused admin/announcements helper (#23899) 2023-02-28 11:56:50 +01:00
Matt Jankowski 055ed5a616
Remove unused InstancePresenter#sample_accounts method (#23900) 2023-02-27 19:03:35 +01:00
Matt Jankowski 9ee83a9f3b
Add policies and serializers groups to simplecov output (#23897) 2023-02-27 16:35:47 +01:00
Matt Jankowski 4bb39ac3c3
Fix single-record invalid condition on PollVote (#23810) 2023-02-27 09:31:15 +01:00
Christian Schmidt d3eefead30
Add lang attribute to media and poll options (#23891) 2023-02-26 20:13:27 +01:00
Claire 6a4be4e966
Merge pull request #2119 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-02-26 15:06:03 +01:00
Claire b91756fd4d Move misc rules from components/index.scss to components/misc.scss 2023-02-25 23:47:21 +01:00
Claire cc94cc86ae Fix glitch-soc SCSS code style and refactor closer to upstream 2023-02-25 23:46:23 +01:00
Claire ac8512a73a Add glitch-soc's win95.scss and reset.scss to stylelint's ingore list 2023-02-25 23:45:30 +01:00
Christian Schmidt b632c5a55a [Glitch] Add lang attribute to preview card
Port 8000a8f230 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-25 14:43:57 +01:00
Tim Lucas 28cb77bd07 [Glitch] Increase contrast of upload progress background
Port f4f91bc295 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-25 14:43:24 +01:00
Botao Wang 56bec60f25 [Glitch] Fix sidebar cut-off on small screens in admin UI
Port 7adde24a95 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-25 14:40:29 +01:00
Claire 31455f05fb [Glitch] Add lang tag to native language names in language picker
Port 7207a98d39 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-25 14:37:05 +01:00
Renaud Chaput 81ef21a0c8 [Glitch] Rename JSX files with proper .jsx extension
Port 44a7d87cb1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-25 14:35:31 +01:00
Claire 859eb01aac Fix building vanilla flavor after JSX change 2023-02-25 14:28:59 +01:00
Claire 4ed09276d5 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.prettierignore`:
  Upstream added a line at the end of the file, while glitch-soc had its own
  extra lines.
  Took upstream's change.
- `CONTRIBUTING.md`:
  We have our custom CONTRIBUTING.md quoting upstream. Upstream made changes.
  Ported upstream changes.
- `app/controllers/application_controller.rb`:
  Upstream made code style changes in a method that is entirely replaced
  in glitch-soc.
  Ignored the change.
- `app/models/account.rb`:
  Code style changes textually close to glitch-soc-specific changes.
  Ported upstream changes.
- `lib/sanitize_ext/sanitize_config.rb`:
  Upstream code style changes.
  Ignored them.
2023-02-25 14:00:40 +01:00
Matt Jankowski 730bb3e211
Remove unused HTML Validator (#23866) 2023-02-24 20:06:32 +01:00
Christian Schmidt 8000a8f230
Add lang attribute to preview card (#23869) 2023-02-24 20:04:38 +01:00
Nick Schonning 19614ba247
Rename ActivityPub Serializer Specs (#23844) 2023-02-23 23:17:48 +01:00
Claire 20b80c62ff
Change auto-deletion throttling constants to better scale with server size (#23320) 2023-02-23 16:52:40 +01:00
Tim Lucas f4f91bc295
Increase contrast of upload progress background (#23836) 2023-02-23 12:58:42 +01:00
Nick Schonning 6bd7003799
Fix mispelled spec filenames (#23834) 2023-02-23 11:28:56 +01:00
Eugen Rochko 2564117131
New Crowdin updates (#23625)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-22 21:16:02 +09:00
Claire f682478de8
Fix inefficiency when searching accounts per username in admin interface (#23801) 2023-02-22 11:53:13 +01:00
Claire 3ed1b9ebb6
Fix rack:attack flaky tests and test end of throttle period (#23799) 2023-02-22 10:28:52 +01:00
Nick Schonning 4ff44be134
Autofix Rubocop Rails/Blank (#23765) 2023-02-22 09:57:56 +09:00
Nick Schonning 8fd3fc404d
Autofix Rubocop Rails/RootPathnameMethods (#23760) 2023-02-22 09:57:15 +09:00
Nick Schonning 48aeab90f6
Ignore JSX files from Prettier (#23777) 2023-02-22 09:56:11 +09:00
Nick Schonning 84cc805cae
Enable Style/FrozenStringLiteralComment for specs (#23790) 2023-02-22 09:55:31 +09:00
Nick Schonning 0cfdd1a401
Enable Rubocop Style/StringConcatenation defaults (#23792) 2023-02-22 09:54:36 +09:00
dependabot[bot] 7ecf783dd3
Bump @babel/plugin-proposal-decorators from 7.20.13 to 7.21.0 (#23769)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 11:35:27 +01:00
dependabot[bot] 9d8349f0c4
Bump @babel/plugin-transform-react-inline-elements from 7.18.6 to 7.21.0 (#23766)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 11:14:25 +01:00
dependabot[bot] 24d265d604
Bump @babel/plugin-transform-runtime from 7.19.6 to 7.21.0 (#23774)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 10:59:58 +01:00
dependabot[bot] a573641b15
Bump @babel/core from 7.20.12 to 7.21.0 (#23767)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 10:46:03 +01:00
dependabot[bot] 92a0afda28
Bump @babel/runtime from 7.20.13 to 7.21.0 (#23773)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 10:44:51 +01:00
dependabot[bot] 4b964fa605
Bump devise from 4.8.1 to 4.9.0 (#23691)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 10:41:28 +01:00
Botao Wang 7adde24a95
Fix sidebar cut-off on small screens in admin UI (#23764) 2023-02-21 10:06:13 +01:00
dependabot[bot] 513316f768
Bump stylelint from 15.1.0 to 15.2.0 (#23770)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 09:41:28 +01:00
dependabot[bot] 57b83ce337
Bump blurhash from 2.0.4 to 2.0.5 (#23771)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 09:33:30 +01:00
dependabot[bot] d58400d00c
Bump sass from 1.58.2 to 1.58.3 (#23772)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 09:30:59 +01:00
dependabot[bot] fbbf5c4841
Bump capistrano from 3.17.1 to 3.17.2 (#23775)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 09:29:07 +01:00
Claire 7207a98d39
Add lang tag to native language names in language picker (#23749) 2023-02-21 09:23:39 +01:00
Nick Schonning 434770f580
Autofix Rubocop Rails/FindById (#23762) 2023-02-21 10:21:48 +09:00
Claire 45087c1092
Merge pull request #2117 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-02-20 22:41:20 +01:00
Nick Schonning 35d032500b
Autofix Rubocop Security/IoMethods (#23757) 2023-02-21 03:21:19 +09:00
Nick Schonning 9909b4b653
Autofix Rubocop Rails/WhereEquals (#23759) 2023-02-21 03:20:56 +09:00
Claire d3b4d4d4f3
Change compose form checkbox to native input with appearance: none (#22949) 2023-02-20 11:32:27 +01:00
Nick Schonning b65ca7acc9
Update rebase needed job settings (#23746) 2023-02-20 11:02:06 +01:00
Nick Schonning 59c8d43d94
Autofix Rubocop Style/RescueStandardError (#23745) 2023-02-20 11:01:20 +01:00
Christian Schmidt 62c4aecf8f
Make larger part of status clickable (#23621) 2023-02-20 08:11:23 +01:00
Nick Schonning 2c3c734bcc
Autofix Rubocop Style/SymbolProc (#23742) 2023-02-20 07:58:46 +01:00
Nick Schonning af4c95100c
Autofix Rubocop Style/FormatString (#23743) 2023-02-20 07:58:33 +01:00
Nick Schonning a9472f8ff1
Fix Markdown files with Prettier and check in CI (#21972) 2023-02-20 07:37:28 +01:00
Nick Schonning 717683d1c3
Autofix Rubocop remaining Layout rules (#23679) 2023-02-20 06:58:28 +01:00
Nick Schonning d2dcb6c45a
Autofix Rubocop Style/UnpackFirst (#23741) 2023-02-20 06:51:43 +01:00
Nick Schonning 5116347eb7
Autofix Rubocop RSpec/BeEq (#23740) 2023-02-20 06:14:50 +01:00
Nick Schonning bf785df9fe
Audofix Rubocop Style/WordArray (#23739) 2023-02-20 06:14:10 +01:00
Nick Schonning 4552685f6b
Autofix Rubocop RSpec/LeadingSubject (#23670) 2023-02-20 13:24:14 +09:00
Nick Schonning 4ea1e0fceb
Enable Rubocop RSpec/ExpectActual (#23720) 2023-02-20 05:00:59 +01:00
Nick Schonning 38a1d8bb85
Autofix Rubocop RSpec/ImplicitSubject (#23721) 2023-02-20 05:00:48 +01:00
Nick Schonning 63e6353886
Autofix Rubocop Rails/EnumHash (#23737) 2023-02-20 05:00:36 +01:00
Renaud Chaput 44a7d87cb1
Rename JSX files with proper .jsx extension (#23733) 2023-02-20 03:20:59 +01:00
Nick Schonning f0e1b12c10
Autofix Rubocop Style/ExplicitBlockArgument (#23704) 2023-02-20 11:18:08 +09:00
Nick Schonning 5179c47087
Autofix Rubocops RSpec/ScatteredLet (#23725) 2023-02-20 11:17:41 +09:00
Nick Schonning aef0051fd0
Enable Rubocop HTTP status rules (#23717) 2023-02-20 11:16:40 +09:00
Nick Schonning bd1d57c230
Autofix Rubocop RSpec/EmptyLineAfterSubject (#23719) 2023-02-20 02:46:00 +01:00
Nick Schonning dbc6d7b276
Autofix Rubocop Lint/UnusedBlockArgument (#23712) 2023-02-20 02:45:50 +01:00
Nick Schonning 65ba0d92ef
Enable Rubocop RSpec/NotToNot (#23723) 2023-02-20 02:33:27 +01:00
Nick Schonning a2fdb388eb
Autofix Rubocop RSpec/ReturnFromStub (#23724) 2023-02-20 02:32:10 +01:00
Nick Schonning 21bf326356
Autofix Rubocop Rails/Pluck (#23730) 2023-02-20 02:28:40 +01:00
Nick Schonning 597767a9f7
Autofix Rubocop Rails/RedundantForeignKey (#23731) 2023-02-20 02:19:40 +01:00
Nick Schonning 8ef09813a2
Autofix Rubocop Style/EmptyMethod (#23732) 2023-02-20 02:18:54 +01:00
Claire dc0cc5a57d Fix incorrect translation string in glitch-soc captcha feature 2023-02-19 11:02:27 +01:00
Claire 8c8358b3cf [Glitch] Fix focus point of already-attached media not saving after edit
Port b2283b6838 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-19 10:54:04 +01:00
Christian Schmidt 229ab559dc [Glitch] Fix bad type for spellCheck attribute
Port cde13349cb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-19 10:53:44 +01:00
Nick Schonning 6fdd596cc8 [Glitch] Enable ESLint Promise plugin defaults
Port 5e1c0c3d94 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-19 10:53:18 +01:00
Claire 7452a95998 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  Upstream made changes while we have dropped this file.
  Keep the file deleted.
- `.prettierignore`:
  Upstream made changes at the end of the file, where we
  had our extra lines.
  Just moved our extra lines back at the end.
- `app/serializers/initial_state_serializer.rb`:
  Upstream code style changes.
  Applied them.
- `app/services/backup_service.rb`:
  Upstream code style changes.
  Applied them.
2023-02-19 10:42:55 +01:00
AcesFullOfKings fef6c59b3a
Grammar fix (#23634) 2023-02-19 07:12:32 +01:00
Claire b2283b6838
Fix focus point of already-attached media not saving after edit (#23566) 2023-02-19 07:11:18 +01:00
Nick Schonning 1d9ed91643
Move db migration CI to GitHub Actions (#23624) 2023-02-19 07:06:34 +01:00
Yamagishi Kazutoshi 77779ddebc
Fix devcontainer.json format (#23715) 2023-02-19 07:02:46 +01:00
Nick Schonning e0e63b73ee
Autofix Rubocop RSpec/EmptyLineAfterHook (#23718) 2023-02-19 14:54:34 +09:00
Nick Schonning 81ad6c2e39
Autofix Rubocop Style/StringLiterals (#23695) 2023-02-19 07:38:14 +09:00
Nick Schonning ac3561098e
Autofix Rubocop RSpec/LetBeforeExamples (#23671) 2023-02-19 07:17:59 +09:00
Nick Schonning 1a02101100
Autofix Rubocop Style/EmptyLambdaParameter (#23705) 2023-02-19 07:12:06 +09:00
Nick Schonning 3680e032b4
Autofix Rubocop RSpec/EmptyLineAfterFinalLet (#23707) 2023-02-19 07:10:19 +09:00
Nick Schonning 2177daeae9
Autofix Rubocop Style/RedundantBegin (#23703) 2023-02-19 07:09:40 +09:00
Nick Schonning 167709f6b0
Autofix Rubocop Style/BlockDelimiters (#23706) 2023-02-19 07:00:17 +09:00
Nick Schonning c0d7c855b3
Autofix Rubocop RSpec/Capybara/FeatureMethods (#23708) 2023-02-19 06:59:00 +09:00
Nick Schonning 08289a38fa
Autofix Rubocop Style/TrailingCommaInArrayLiteral (#23692) 2023-02-19 06:54:30 +09:00
Claire 4c68189d2b
Merge pull request #2112 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
2023-02-18 22:05:11 +01:00
Nick Schonning ea9a1d79df [Glitch] Upgrade to Stylelint 15 with Prettier
Port 0c9d455ea5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-18 16:02:12 +01:00
Nick Schonning 7e64eef73b [Glitch] Enable ESLint no-useless-escape
Port db2c58d47a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-18 16:02:12 +01:00
Claire 587f6b3b06 [Glitch] Enable ESLint import recommended rules
Port eddfb33dfe to glitch-soc
2023-02-18 16:02:12 +01:00
Nick Schonning 5069769cbe
Autofix Rubocop Style/TrailingCommaInHashLiteral (#23693) 2023-02-18 23:33:41 +09:00
Nick Schonning de4b8224c0
Run bundler-audit on PRs (#23514) 2023-02-18 12:49:09 +01:00
Nick Schonning b4cbfff3eb
Autofix Rubocop RSpec/ExcessiveDocstringSpacing (#23666) 2023-02-18 12:47:37 +01:00
Nick Schonning 7e215b3bda
Check for missing i18n strings in CI (#23368)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-02-18 12:46:44 +01:00
Nick Schonning b4df632ca1
Run prettier on full repo with ignored extensions (#23538) 2023-02-18 12:44:45 +01:00
Nick Schonning c38bd17657
Autofix Rubocop Style/TrailingCommaInArguments (#23694) 2023-02-18 12:39:58 +01:00
Nick Schonning ab7816a414
Autofix Rubocop Style/Lambda (#23696) 2023-02-18 12:39:00 +01:00
Nick Schonning e2a3ebb271
Autofix Rubocop Style/IfUnlessModifier (#23697) 2023-02-18 12:37:47 +01:00
Claire 2be88d1930
New Crowdin updates (#2111)
* New translations en.json (Korean)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.json (Portuguese)
[ci skip]

* Fix root key name in pt-PT translation file

* Fix normalization issue with ES translation

* Fix issue with `no` locale in glitch-soc
2023-02-18 11:16:30 +01:00
Nick Schonning 9ab2a775c9
Set CI concurrency at the job level (#23689) 2023-02-18 14:56:16 +09:00
dependabot[bot] 49b9ef0c1e
Bump oj from 3.13.23 to 3.14.2 (#23560)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-18 14:21:10 +09:00
Nick Schonning 8aee4de034
Autofix Rubocop Style/PerlBackrefs (#23649) 2023-02-18 14:20:20 +09:00
Nick Schonning a6f77aa28a
Autofix Rubocop Lint/AmbiguousOperatorPrecedence (#23681) 2023-02-18 04:30:23 +01:00
Nick Schonning e2567df860
Enable Lint/RedundantCopDisableDirective (#23687) 2023-02-18 04:30:14 +01:00
Nick Schonning d65b2c1924
Apply Rubocop Style/RedundantConstantBase (#23463) 2023-02-18 04:30:03 +01:00
Nick Schonning e4f37fad98
Only run latest for PR Rebase job (#23688) 2023-02-18 04:25:31 +01:00
Nick Schonning a7db0b41cd
Autofix Rubocop Lint/ParenthesesAsGroupedExpression (#23682) 2023-02-18 04:00:05 +01:00
Nick Schonning e5cf23cf3a
Enable Rubocop RSpec/HooksBeforeExamples (#23668) 2023-02-18 03:59:57 +01:00
Nick Schonning efd424506a
Autofix Rubocop Style/RedundantPercentQ (#23651) 2023-02-18 03:32:57 +01:00
Nick Schonning 7a941b42d3
Remove Style/Copyright Rubocop (#23665) 2023-02-18 03:26:41 +01:00
Nick Schonning c0a645f647
Autofix Rubocop RSpec/ExampleWording (#23667) 2023-02-18 03:26:20 +01:00
Nick Schonning 7a3d4c3d4b
Enable Rubocop RSpec/MultipleDescribes (#23672) 2023-02-18 03:25:47 +01:00
Nick Schonning 54318dcd6d
Autofix Rubocop RSpec/ClassCheck (#23685) 2023-02-18 03:24:16 +01:00
Nick Schonning 634368c491
Autofix Rubocop Lint/SymbolConversion (#23683) 2023-02-18 03:23:49 +01:00
Nick Schonning 6d42820e5d
Autofix Rubocop Lint/AmbiguousOperator (#23680) 2023-02-18 03:22:01 +01:00
Nick Schonning ac59d6f19f
Enable Rubocop Style/NumericLiterals (#23647) 2023-02-18 11:05:57 +09:00
Nick Schonning 669f6d2c0a
Run rubocop formatting except line length (#23632) 2023-02-18 06:56:20 +09:00
Nick Schonning 593bb8ce99
Autofix Rubocop Style/RaiseArgs (#23650) 2023-02-17 22:47:23 +09:00
Nick Schonning 6ed6c41724
Autofix Rubocop RSpec/EmptyLineAfterExample (#23661) 2023-02-17 21:46:00 +09:00
Nick Schonning 68b1071f86
Autofix Rubocop RSpec/BeNil (#23653) 2023-02-17 21:45:27 +09:00
Nick Schonning 936204b9ea
Autofix Rubocop Style/NestedParenthesizedCalls (#23646) 2023-02-17 21:43:10 +09:00
Nick Schonning 37914c8757
Autofix Rubocop Style/MethodCallWithoutArgsParentheses (#23645) 2023-02-17 21:36:14 +09:00
dependabot[bot] 4a1bad2fd8
Bump babel-jest from 29.4.2 to 29.4.3 (#23654)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 10:26:16 +01:00
dependabot[bot] 640d1aec1f
Bump jest-environment-jsdom from 29.4.2 to 29.4.3 (#23655)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 10:19:23 +01:00
dependabot[bot] 7cf3430e63
Bump webauthn from 2.5.2 to 3.0.0 (#23659)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 10:06:24 +01:00
dependabot[bot] df3faecb46
Bump jest from 29.4.2 to 29.4.3 (#23657)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 09:56:03 +01:00
dependabot[bot] 80ed656239
Bump yargs from 17.6.2 to 17.7.0 (#23656)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 09:54:14 +01:00
dependabot[bot] ba8b57050d
Bump sass from 1.58.0 to 1.58.2 (#23658)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 09:52:30 +01:00
Christian Schmidt cde13349cb
Fix bad type for spellCheck attribute (#23638) 2023-02-17 09:51:27 +01:00
Nick Schonning 2e93886537
Enable Depependabot on Docker images (#23553) 2023-02-17 08:54:12 +01:00
Nick Schonning 68a92c81bf
Generate minimimal Rubocop Todo file (#23629) 2023-02-16 15:33:50 +09:00
Nick Schonning 5e1c0c3d94
Enable ESLint Promise plugin defaults (#22229) 2023-02-16 15:30:56 +09:00
Nick Schonning 29ec2c4fb5
Trigger CI build on .nvmrc change (#23627) 2023-02-16 04:59:45 +01:00
Nick Schonning 1f957c6325
Use .nvmrc file for CI setup-node (#23562) 2023-02-16 10:24:05 +09:00
Eugen Rochko 630975bf41
New Crowdin updates (#23527)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-16 10:23:03 +09:00
Nick Schonning 418c3a4699
Move Jest tests to filtered GitHub Action (#23623) 2023-02-16 01:24:35 +01:00
Aaron Patterson fb8503e861
Upgrade to Ruby 3.2 (#22928)
Co-authored-by: Matthew Ford <matt@bitzesty.com>
2023-02-15 08:30:27 +01:00
Thijs Kinkhorst d15a9df6fe
Fix paths with url-encoded @ to redirect to the correct path (#23593) 2023-02-14 19:05:57 +01:00
Claire 66f715550e
Add memorial attribute to REST API (#23591) 2023-02-14 13:50:55 +01:00
dependabot[bot] 520c73c12f
Bump babel-jest from 29.4.1 to 29.4.2 (#23583)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:44:26 +01:00
dependabot[bot] 6f34fdcd86
Bump jest-environment-jsdom from 29.4.1 to 29.4.2 (#23582)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:35:10 +01:00
dependabot[bot] a4f22e4343
Bump jest from 29.4.1 to 29.4.2 (#23585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:27:24 +01:00
dependabot[bot] 526361a5e9
Bump prettier from 2.8.3 to 2.8.4 (#23584)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:14:29 +01:00
dependabot[bot] cfad64daeb
Bump webpack-bundle-analyzer from 4.7.0 to 4.8.0 (#23581)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:14:10 +01:00
dependabot[bot] 64f9ced09f
Bump axios from 1.3.2 to 1.3.3 (#23580)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:12:41 +01:00
dependabot[bot] 14ad013f5e
Bump ws from 8.12.0 to 8.12.1 (#23579)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:12:21 +01:00
dependabot[bot] 93e36c0d55
Bump stylelint-config-standard-scss from 7.0.0 to 7.0.1 (#23578)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:12:14 +01:00
dependabot[bot] 737fbe5c02
Bump nokogiri from 1.14.1 to 1.14.2 (#23577)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:11:51 +01:00
dependabot[bot] 7bc946e8da
Bump aws-sdk-s3 from 1.119.0 to 1.119.1 (#23586)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 09:07:12 +01:00
Dean Bassett 40fc917a86 [Glitch] Fix case-sensitive check for previously used hashtags
Port 4da5f77d92 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-13 20:05:36 +01:00
Claire 58291b31fa [Glitch] Fix attached media uploads not being cleared when replying to a post
Port bae17ebe5e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-02-13 20:04:45 +01:00
Claire ce84d163cc Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.prettierignore`:
  Upstream added a line at the end, glitch-soc had extra entries at the end.
  Added upstream's new line before glitch-soc's.
- `Gemfile.lock`:
  Upstream updated dependencies while glitch-soc has an extra one (hcaptcha).
  Updated dependencies like upstream did.
- `app/controllers/api/v1/statuses_controller.rb`:
  Not a real conflict, upstream added a parameter (`allowed_mentions`) where
  glitch-soc already had an extra one (`content_type`).
  Added upstream's new parameter.
- `app/javascript/styles/fonts/roboto-mono.scss`:
  A lot of lines were changed upstream due to code style changes, and a lot
  of those lines had path changes to accomodate glitch-soc's theming system.
  Applied upstream's style changes.
- `app/javascript/styles/fonts/roboto.scss`:
  A lot of lines were changed upstream due to code style changes, and a lot
  of those lines had path changes to accomodate glitch-soc's theming system.
  Applied upstream's style changes.
2023-02-13 19:35:35 +01:00
Claire d6930b3847
Add API parameter to safeguard unexpect mentions in new posts (#18350) 2023-02-13 16:36:29 +01:00
Shlee c84f38abc4
chewy from 7.2.4 to 7.2.7 (#23572) 2023-02-13 16:33:34 +01:00
Varun Sharma 45e2936c89
Add tests to indicate inclusion of self replies in statuses endpoint (#23266) 2023-02-13 16:04:26 +01:00
Stan Hu f553b064e0
Switch OpenID Connect gems (#23223)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-02-13 15:47:50 +01:00
Nick Schonning eddfb33dfe
Enable ESLint import recommended rules (#23315) 2023-02-13 15:12:31 +01:00
Nick Schonning db2c58d47a
Enable ESLint no-useless-escape (#23311) 2023-02-13 15:12:14 +01:00
Dean Bassett 4da5f77d92
Fix case-sensitive check for previously used hashtags (#23526) 2023-02-13 14:54:08 +01:00
Nick Schonning 841263a548
Update Ruby to 3.0.5 (#23544) 2023-02-13 14:39:24 +01:00
Jeong Arm 5f56818f9e
Change followed_by link to location=all if account is local on /admin/accounts/:id page (#23467) 2023-02-13 14:39:00 +01:00
dependabot[bot] 93d7c26fa5
Bump rubocop from 1.44.1 to 1.45.1 (#23523)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 14:38:43 +01:00
Claire cc92c65d83
Add dependency on net-http (#23571) 2023-02-13 14:36:07 +01:00
dependabot[bot] 66f2ad483c
Bump sidekiq-scheduler from 5.0.0 to 5.0.1 (#23569)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 13:55:55 +01:00
dependabot[bot] 31352f0d2c
Bump sidekiq-scheduler from 4.0.3 to 5.0.0 (#23212)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-02-13 13:31:42 +01:00
Claire c55568c75a
Add tests for REST::AccountSerializer (#23319) 2023-02-13 13:23:59 +01:00
Nick Schonning 7c5d396fca
Replace hamlit-rails with haml-rails (#23542) 2023-02-13 04:59:30 +01:00
Takeshi Umeda d874877b27
Update SECURITY.md (#23545)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Nick Schonning <nschonni@gmail.com>
2023-02-13 04:58:56 +01:00
Nick Schonning c6b7e04120
Sync Node.js to 16.19 patch release (#23554) 2023-02-13 04:58:37 +01:00
Nick Schonning a1c0573bc6
Yarn cache cleanup right after install in Docker (#23557) 2023-02-13 04:57:51 +01:00
Nick Schonning 0c9d455ea5
Upgrade to Stylelint 15 with Prettier (#23558) 2023-02-13 04:57:03 +01:00
Nick Schonning c812cfa667
Enable EditorConfig trailing whitespace trimming (#23543) 2023-02-12 08:34:17 +01:00
Eugen Rochko e7b81d7d96
Bump blurhash from 0.1.6 to 0.1.7 (#23517) 2023-02-11 04:02:07 +01:00
emilweth 7c45145430
fix metrics format (#23520) 2023-02-11 03:00:44 +01:00
emilweth c1b823368c
dot is not allowed (#23519) 2023-02-11 02:15:07 +01:00
3237 changed files with 76491 additions and 45340 deletions

3
.bundler-audit.yml Normal file
View file

@ -0,0 +1,3 @@
---
ignore:
- CVE-2015-9284 # Mitigation following https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284#mitigating-in-rails-applications

View file

@ -1,225 +0,0 @@
version: 2.1
orbs:
ruby: circleci/ruby@2.0.0
node: circleci/node@5.0.3
executors:
default:
parameters:
ruby-version:
type: string
docker:
- image: cimg/ruby:<< parameters.ruby-version >>
environment:
BUNDLE_JOBS: 3
BUNDLE_RETRY: 3
CONTINUOUS_INTEGRATION: true
DB_HOST: localhost
DB_USER: root
DISABLE_SIMPLECOV: true
RAILS_ENV: test
- image: cimg/postgres:14.5
environment:
POSTGRES_USER: root
POSTGRES_HOST_AUTH_METHOD: trust
- image: cimg/redis:7.0
commands:
install-system-dependencies:
steps:
- run:
name: Install system dependencies
command: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev
install-ruby-dependencies:
parameters:
ruby-version:
type: string
steps:
- run:
command: |
bundle config clean 'true'
bundle config frozen 'true'
bundle config without 'development production'
name: Set bundler settings
- ruby/install-deps:
bundler-version: '2.3.26'
key: ruby<< parameters.ruby-version >>-gems-v1
wait-db:
steps:
- run:
command: dockerize -wait tcp://localhost:5432 -wait tcp://localhost:6379 -timeout 1m
name: Wait for PostgreSQL and Redis
jobs:
build:
docker:
- image: cimg/ruby:3.0-node
environment:
RAILS_ENV: test
steps:
- checkout
- install-system-dependencies
- install-ruby-dependencies:
ruby-version: '3.0'
- node/install-packages:
cache-version: v1
pkg-manager: yarn
- run:
command: |
export NODE_OPTIONS=--openssl-legacy-provider
./bin/rails assets:precompile
name: Precompile assets
- persist_to_workspace:
paths:
- public/assets
- public/packs-test
root: .
test:
parameters:
ruby-version:
type: string
executor:
name: default
ruby-version: << parameters.ruby-version >>
environment:
ALLOW_NOPAM: true
PAM_ENABLED: true
PAM_DEFAULT_SERVICE: pam_test
PAM_CONTROLLED_SERVICE: pam_test_controlled
parallelism: 4
steps:
- checkout
- install-system-dependencies
- run:
command: sudo apt-get install -y ffmpeg imagemagick libpam-dev
name: Install additional system dependencies
- run:
command: bundle config with 'pam_authentication'
name: Enable PAM authentication
- install-ruby-dependencies:
ruby-version: << parameters.ruby-version >>
- attach_workspace:
at: .
- wait-db
- run:
command: ./bin/rails db:create db:schema:load db:seed
name: Load database schema
- ruby/rspec-test
test-migrations:
executor:
name: default
ruby-version: '3.0'
steps:
- checkout
- install-system-dependencies
- install-ruby-dependencies:
ruby-version: '3.0'
- wait-db
- run:
command: ./bin/rails db:create
name: Create database
- run:
command: ./bin/rails db:migrate VERSION=20171010025614
name: Run migrations up to v2.0.0
- run:
command: ./bin/rails tests:migrations:populate_v2
name: Populate database with test data
- run:
command: ./bin/rails db:migrate VERSION=20180514140000
name: Run migrations up to v2.4.0
- run:
command: ./bin/rails tests:migrations:populate_v2_4
name: Populate database with test data
- run:
command: ./bin/rails db:migrate VERSION=20180707154237
name: Run migrations up to v2.4.3
- run:
command: ./bin/rails tests:migrations:populate_v2_4_3
name: Populate database with test data
- run:
command: ./bin/rails db:migrate
name: Run all remaining migrations
- run:
command: ./bin/rails tests:migrations:check_database
name: Check migration result
test-two-step-migrations:
executor:
name: default
ruby-version: '3.0'
steps:
- checkout
- install-system-dependencies
- install-ruby-dependencies:
ruby-version: '3.0'
- wait-db
- run:
command: ./bin/rails db:create
name: Create database
- run:
command: ./bin/rails db:migrate VERSION=20171010025614
name: Run migrations up to v2.0.0
- run:
command: ./bin/rails tests:migrations:populate_v2
name: Populate database with test data
- run:
command: ./bin/rails db:migrate VERSION=20180514140000
name: Run pre-deployment migrations up to v2.4.0
environment:
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
- run:
command: ./bin/rails tests:migrations:populate_v2_4
name: Populate database with test data
- run:
command: ./bin/rails db:migrate VERSION=20180707154237
name: Run migrations up to v2.4.3
environment:
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
- run:
command: ./bin/rails tests:migrations:populate_v2_4_3
name: Populate database with test data
- run:
command: ./bin/rails db:migrate
name: Run all remaining pre-deployment migrations
environment:
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
- run:
command: ./bin/rails db:migrate
name: Run all post-deployment migrations
- run:
command: ./bin/rails tests:migrations:check_database
name: Check migration result
workflows:
version: 2
build-and-test:
jobs:
- build
- test:
matrix:
parameters:
ruby-version:
- '2.7'
- '3.0'
name: test-ruby<< matrix.ruby-version >>
requires:
- build
- test-migrations:
requires:
- build
- test-two-step-migrations:
requires:
- build
- node/run:
cache-version: v1
name: test-webui
pkg-manager: yarn
requires:
- build
version: '16.18'
yarn-run: test:jest

View file

@ -1,39 +0,0 @@
version: '2'
checks:
argument-count:
enabled: false
complex-logic:
enabled: false
file-lines:
enabled: false
method-complexity:
enabled: false
method-count:
enabled: false
method-lines:
enabled: false
nested-control-flow:
enabled: false
return-statements:
enabled: false
similar-code:
enabled: false
identical-code:
enabled: false
plugins:
brakeman:
enabled: true
bundler-audit:
enabled: true
eslint:
enabled: false
rubocop:
enabled: false
sass-lint:
enabled: false
exclude_patterns:
- spec/
- vendor/asset/
- app/javascript/mastodon/locales/**/*.json
- config/locales/**/*.yml

View file

@ -1,16 +1,14 @@
# [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 2.6, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 2.6-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster, 2.6-buster
ARG VARIANT=3.1-bullseye
FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
# For details, see https://github.com/devcontainers/images/tree/main/src/ruby
FROM mcr.microsoft.com/devcontainers/ruby:1-3.2-bullseye
# Install Rails
# RUN gem install rails webdrivers
# Default value to allow debug server to serve content over GitHub Codespace's port forwarding service
# The value is a comma-separated list of allowed domains
ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev"
ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev,.preview.app.github.dev,.app.github.dev"
# [Choice] Node.js version: lts/*, 18, 16, 14
ARG NODE_VERSION="lts/*"
ARG NODE_VERSION="16"
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.
@ -22,3 +20,5 @@ 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
COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt

View file

@ -1,24 +1,13 @@
// For more details, see https://aka.ms/devcontainer.json.
{
"name": "Mastodon",
"dockerComposeFile": "docker-compose.yml",
"service": "app",
"workspaceFolder": "/mastodon",
// Set *default* container specific settings.json values on container create.
"settings": {},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"EditorConfig.EditorConfig",
"dbaeumer.vscode-eslint",
"rebornix.Ruby",
"webben.browserslist"
],
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/sshd:1": {
"version": "latest"
}
"ghcr.io/devcontainers/features/sshd:1": {}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
@ -26,8 +15,18 @@
"forwardPorts": [3000, 4000],
// Use 'postCreateCommand' to run commands after the container is created.
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
"postCreateCommand": ".devcontainer/post-create.sh",
"waitFor": "postCreateCommand",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {},
// Add the IDs of extensions you want installed when the container is created.
"extensions": ["EditorConfig.EditorConfig", "webben.browserslist"]
}
}
}

View file

@ -5,19 +5,12 @@ services:
build:
context: .
dockerfile: Dockerfile
args:
# Update 'VARIANT' to pick a version of Ruby: 3, 3.1, 3.0, 2, 2.7, 2.6
# Append -bullseye or -buster to pin to an OS version.
# Use -bullseye variants on local arm64/Apple Silicon.
VARIANT: '3.0-bullseye'
# Optional Node.js version to install
NODE_VERSION: '16'
volumes:
- ..:/mastodon:cached
- ../..:/workspaces:cached
environment:
RAILS_ENV: development
NODE_ENV: development
BIND: 0.0.0.0
REDIS_HOST: redis
REDIS_PORT: '6379'
DB_HOST: db
@ -30,10 +23,12 @@ services:
LIBRE_TRANSLATE_ENDPOINT: http://libretranslate:5000
# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
ports:
- '127.0.0.1:3000:3000'
- '127.0.0.1:4000:4000'
networks:
- external_network
- internal_network
user: vscode
db:
image: postgres:14-alpine
@ -49,7 +44,7 @@ services:
- internal_network
redis:
image: redis:6-alpine
image: redis:7-alpine
restart: unless-stopped
volumes:
- redis-data:/data
@ -74,15 +69,19 @@ services:
hard: -1
libretranslate:
image: libretranslate/libretranslate:v1.2.9
image: libretranslate/libretranslate:v1.3.11
restart: unless-stopped
volumes:
- lt-data:/home/libretranslate/.local
networks:
- external_network
- internal_network
volumes:
postgres-data:
redis-data:
es-data:
lt-data:
networks:
external_network:

View file

@ -3,17 +3,22 @@
set -e # Fail the whole script on first error
# Fetch Ruby gem dependencies
bundle install --path vendor/bundle --with='development test'
# Fetch Javascript dependencies
yarn install
bundle config path 'vendor/bundle'
bundle config with 'development test'
bundle install
# Make Gemfile.lock pristine again
git checkout -- Gemfile.lock
# Fetch Javascript dependencies
yarn --frozen-lockfile
# [re]create, migrate, and seed the test database
RAILS_ENV=test ./bin/rails db:setup
# [re]create, migrate, and seed the development database
RAILS_ENV=development ./bin/rails db:setup
# Precompile assets for development
RAILS_ENV=development ./bin/rails assets:precompile

View file

@ -0,0 +1,8 @@
👋 Welcome to "Mastodon" in GitHub Codespaces!
🛠️ Your environment is fully setup with all the required software.
🔍 To explore VS Code to its fullest, search using the Command Palette (Cmd/Ctrl + Shift + P or F1).
📝 Edit away, run your app as usual, and we'll automatically make it available for you to access.

View file

@ -10,3 +10,4 @@ insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

View file

@ -4,71 +4,65 @@ module.exports = {
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:jsx-a11y/recommended',
'plugin:import/recommended',
'plugin:promise/recommended',
'plugin:jsdoc/recommended',
'plugin:prettier/recommended',
],
env: {
browser: true,
node: true,
es6: true,
jest: true,
},
globals: {
ATTACHMENT_HOST: false,
},
parser: '@babel/eslint-parser',
parser: '@typescript-eslint/parser',
plugins: [
'react',
'jsx-a11y',
'import',
'promise',
'@typescript-eslint',
'formatjs',
],
parserOptions: {
sourceType: 'module',
ecmaFeatures: {
experimentalObjectRestSpread: true,
jsx: true,
},
ecmaVersion: 2021,
requireConfigFile: false,
babelOptions: {
configFile: false,
presets: ['@babel/react', '@babel/env'],
},
},
settings: {
react: {
version: 'detect',
},
'import/extensions': [
'.js',
],
'import/ignore': [
'node_modules',
'\\.(css|scss|json)$',
],
'import/resolver': {
node: {
paths: ['app/javascript'],
},
typescript: {},
},
},
rules: {
'brace-style': 'warn',
'comma-dangle': ['error', 'always-multiline'],
'comma-spacing': [
'warn',
{
before: false,
after: true,
},
],
'comma-style': ['warn', 'last'],
'consistent-return': 'error',
'dot-notation': 'error',
eqeqeq: 'error',
indent: ['warn', 2],
eqeqeq: ['error', 'always', { 'null': 'ignore' }],
'jsx-quotes': ['error', 'prefer-single'],
'no-case-declarations': 'off',
'no-catch-shadow': 'error',
@ -87,42 +81,43 @@ module.exports = {
{ property: 'substring', message: 'Use .slice instead of .substring.' },
{ property: 'substr', message: 'Use .slice instead of .substr.' },
],
'no-restricted-syntax': [
'error',
{
// eslint-disable-next-line no-restricted-syntax
selector: 'Literal[value=/•/], JSXText[value=/•/]',
// eslint-disable-next-line no-restricted-syntax
message: "Use '·' (middle dot) instead of '•' (bullet)",
},
],
'no-self-assign': 'off',
'no-trailing-spaces': 'warn',
'no-unused-expressions': 'error',
'no-unused-vars': [
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': [
'error',
{
vars: 'all',
args: 'after-used',
destructuredArrayIgnorePattern: '^_',
ignoreRestSiblings: true,
},
],
'no-useless-escape': 'off',
'object-curly-spacing': ['error', 'always'],
'padded-blocks': [
'error',
{
classes: 'always',
},
],
quotes: ['error', 'single'],
semi: 'error',
'valid-typeof': 'error',
'react/jsx-filename-extension': ['error', { extensions: ['.jsx', 'tsx'] }],
'react/jsx-boolean-value': 'error',
'react/jsx-closing-bracket-location': ['error', 'line-aligned'],
'react/jsx-curly-spacing': 'error',
'react/display-name': 'off',
'react/jsx-fragments': ['error', 'syntax'],
'react/jsx-equals-spacing': 'error',
'react/jsx-first-prop-new-line': ['error', 'multiline-multiprop'],
'react/jsx-indent': ['error', 2],
'react/jsx-no-bind': 'error',
'react/jsx-no-useless-fragment': 'error',
'react/jsx-no-target-blank': 'off',
'react/jsx-tag-spacing': 'error',
'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',
// recommended values found in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/src/index.js
@ -178,32 +173,211 @@ module.exports = {
},
],
// See https://github.com/import-js/eslint-plugin-import/blob/main/config/recommended.js
'import/extensions': [
'error',
'always',
{
js: 'never',
jsx: 'never',
mjs: 'never',
ts: 'never',
tsx: 'never',
},
],
'import/first': 'error',
'import/newline-after-import': 'error',
'import/no-anonymous-default-export': 'error',
'import/no-extraneous-dependencies': [
'error',
{
devDependencies: [
'config/webpack/**',
'app/javascript/mastodon/performance.js',
'app/javascript/mastodon/test_setup.js',
'app/javascript/**/__tests__/**',
],
},
],
'import/no-unresolved': 'error',
'import/no-amd': 'error',
'import/no-commonjs': 'error',
'import/no-import-module-exports': 'error',
'import/no-relative-packages': 'error',
'import/no-self-import': 'error',
'import/no-useless-path-segments': 'error',
'import/no-webpack-loader-syntax': 'error',
'import/order': [
'error',
{
alphabetize: { order: 'asc' },
'newlines-between': 'always',
groups: [
'builtin',
'external',
'internal',
'parent',
['index', 'sibling'],
'object',
],
pathGroups: [
// React core packages
{
pattern: '{react,react-dom,react-dom/client,prop-types}',
group: 'builtin',
position: 'after',
},
// I18n
{
pattern: '{react-intl,intl-messageformat}',
group: 'builtin',
position: 'after',
},
// Common React utilities
{
pattern: '{classnames,react-helmet,react-router-dom}',
group: 'external',
position: 'before',
},
// Immutable / Redux / data store
{
pattern: '{immutable,react-redux,react-immutable-proptypes,react-immutable-pure-component,reselect}',
group: 'external',
position: 'before',
},
// Internal packages
{
pattern: '{mastodon/**,flavours/glitch-soc/**}',
group: 'internal',
position: 'after',
},
],
pathGroupsExcludedImportTypes: [],
},
],
'promise/always-return': 'off',
'promise/catch-or-return': [
'error',
{
allowFinally: true,
},
],
'promise/no-callback-in-promise': 'off',
'promise/no-nesting': 'off',
'promise/no-promise-in-callback': 'off',
'formatjs/blocklist-elements': 'error',
'formatjs/enforce-default-message': ['error', 'literal'],
'formatjs/enforce-description': 'off', // description values not currently used
'formatjs/enforce-id': 'off', // Explicit IDs are used in the project
'formatjs/enforce-placeholders': 'off', // Issues in short_number.jsx
'formatjs/enforce-plural-rules': 'error',
'formatjs/no-camel-case': 'off', // disabledAccount is only non-conforming
'formatjs/no-complex-selectors': 'error',
'formatjs/no-emoji': 'error',
'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',
'formatjs/prefer-formatted-message': 'error',
'formatjs/prefer-pound-in-plural': 'error',
'jsdoc/check-types': 'off',
'jsdoc/no-undefined-types': 'off',
'jsdoc/require-jsdoc': 'off',
'jsdoc/require-param-description': 'off',
'jsdoc/require-property-description': 'off',
'jsdoc/require-returns-description': 'off',
'jsdoc/require-returns': 'off',
},
overrides: [
{
files: [
'*.config.js',
'.*rc.js',
'ide-helper.js',
'config/webpack/**/*',
'config/formatjs-formatter.js',
],
env: {
commonjs: true,
},
parserOptions: {
sourceType: 'script',
},
rules: {
'import/no-commonjs': 'off',
},
},
{
files: [
'**/*.ts',
'**/*.tsx',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:jsx-a11y/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
'plugin:promise/recommended',
'plugin:jsdoc/recommended-typescript',
'plugin:prettier/recommended',
],
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
rules: {
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
'@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
'@typescript-eslint/consistent-type-exports': 'error',
'@typescript-eslint/consistent-type-imports': 'error',
'jsdoc/require-jsdoc': 'off',
// Those rules set stricter rules for TS files
// to enforce better practices when converting from JS
'import/no-default-export': 'warn',
'react/prefer-stateless-function': 'warn',
'react/function-component-definition': ['error', { namedComponents: 'arrow-function' }],
'react/jsx-uses-react': 'off', // not needed with new JSX transform
'react/react-in-jsx-scope': 'off', // not needed with new JSX transform
'react/prop-types': 'off',
},
},
{
files: [
'**/__tests__/*.js',
'**/__tests__/*.jsx',
],
env: {
jest: true,
},
},
{
files: [
'streaming/**/*',
],
rules: {
'import/no-commonjs': 'off',
},
},
],
};

114
.github/renovate.json5 vendored Normal file
View file

@ -0,0 +1,114 @@
{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
'config:base',
':dependencyDashboard',
':labels(dependencies)',
':maintainLockFilesMonthly', // update non-direct dependencies monthly
':prConcurrentLimit10', // only 10 open PRs at the same time
],
stabilityDays: 3, // Wait 3 days after the package has been published before upgrading it
// packageRules order is important, they are applied from top to bottom and are merged,
// so for example grouping rules needs to be at the bottom
packageRules: [
{
// Ignore major version bumps for these node packages
matchManagers: ['npm'],
matchPackageNames: [
'@rails/ujs', // Needs to match the major Rails version
'tesseract.js', // Requires code changes
'react-hotkeys', // Requires code changes
// Requires Webpacker upgrade or replacement
'@types/webpack',
'babel-loader',
'compression-webpack-plugin',
'css-loader',
'imports-loader',
'mini-css-extract-plugin',
'postcss-loader',
'sass-loader',
'terser-webpack-plugin',
'webpack',
'webpack-assets-manifest',
'webpack-bundle-analyzer',
'webpack-dev-server',
'webpack-cli',
// react-router: Requires manual upgrade
'history',
'react-router-dom',
],
matchUpdateTypes: ['major'],
enabled: false,
},
{
// Ignore major version bumps for these Ruby packages
matchManagers: ['bundler'],
matchPackageNames: [
'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
'redis', // Requires manual upgrade and sync with Sidekiq version
'fog-openstack', // TODO: was ignored in https://github.com/mastodon/mastodon/pull/13964
// Needs major Rails version bump
'rack',
'rails',
'rails-i18n',
],
matchUpdateTypes: ['major'],
enabled: false,
},
{
// Update Github Actions and Docker images weekly
matchManagers: ['github-actions', 'dockerfile', 'docker-compose'],
extends: ['schedule:weekly'],
},
{
// Ignore major & minor bumps for the ruby image, this needs to be synced with .ruby-version
matchManagers: ['dockerfile'],
matchPackageNames: ['moritzheiber/ruby-jemalloc'],
matchUpdateTypes: ['minor', 'major'],
enabled: false,
},
{
// Ignore major bump for the node image, this needs to be synced with .nvmrc
matchManagers: ['dockerfile'],
matchPackageNames: ['node'],
matchUpdateTypes: ['major'],
enabled: false,
},
{
// Ignore major postgres bumps in the docker-compose file, as those break dev environments
matchManagers: ['docker-compose'],
matchPackageNames: ['postgres'],
matchUpdateTypes: ['major'],
enabled: false,
},
{
// Update devDependencies every week, with one grouped PR
matchDepTypes: 'devDependencies',
matchUpdateTypes: ['patch', 'minor'],
excludePackageNames: [
'typescript', // Typescript has many changes in minor versions, needs to be checked every time
],
groupName: 'devDependencies (non-major)',
extends: ['schedule:weekly'],
},
{
// Update @types/* packages every week, with one grouped PR
matchPackagePrefixes: '@types/',
matchUpdateTypes: ['patch', 'minor'],
groupName: 'DefinitelyTyped types (non-major)',
extends: ['schedule:weekly'],
addLabels: ['typescript'],
},
// Add labels depending on package manager
{ matchManagers: ['npm', 'nvm'], addLabels: ['javascript'] },
{ matchManagers: ['bundler', 'ruby-version'], addLabels: ['ruby'] },
{ matchManagers: ['docker-compose', 'dockerfile'], addLabels: ['docker'] },
{ matchManagers: ['github-actions'], addLabels: ['github_actions'] },
],
}

View file

@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.ref }}
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
steps:
@ -25,12 +25,15 @@ jobs:
- uses: hadolint/hadolint-action@v3.1.0
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- uses: docker/login-action@v2
- name: Log in to the Github Container registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
if: github.event_name != 'pull_request'
- uses: docker/metadata-action@v4
id: meta
with:
@ -39,13 +42,22 @@ jobs:
type=raw,value=latest,enable={{is_default_branch}}
type=edge,branch=main
type=sha,prefix=,format=long
- name: Generate version suffix
id: version_vars
if: github.repository == 'mastodon/mastodon' && github.event_name == 'push' && github.ref_name == 'main'
run: |
echo mastodon_version_suffix=+edge-$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT
- uses: docker/build-push-action@v4
with:
context: .
build-args: MASTODON_VERSION_SUFFIX=${{ steps.version_vars.outputs.mastodon_version_suffix }}
platforms: linux/amd64,linux/arm64
provenance: false
builder: ${{ steps.buildx.outputs.name }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

60
.github/workflows/build-nightly.yml vendored Normal file
View file

@ -0,0 +1,60 @@
name: Build nightly container image
on:
workflow_dispatch:
schedule:
- cron: '0 2 * * *' # run at 2 AM UTC
permissions:
contents: read
packages: write
jobs:
build-nightly-image:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: hadolint/hadolint-action@v3.1.0
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- name: Log in to the Github Container registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/metadata-action@v4
id: meta
with:
images: |
ghcr.io/mastodon/mastodon
flavor: |
latest=auto
tags: |
type=raw,value=nightly
type=schedule,pattern=nightly-{{date 'YYYY-MM-DD' tz='Etc/UTC'}}
labels: |
org.opencontainers.image.description=Nightly build image used for testing purposes
- name: Generate version suffix
id: version_vars
run: |
echo mastodon_version_suffix=+nightly-$(date +'%Y%m%d') >> $GITHUB_OUTPUT
- uses: docker/build-push-action@v4
with:
context: .
build-args: MASTODON_VERSION_SUFFIX=${{ steps.version_vars.outputs.mastodon_version_suffix }}
platforms: linux/amd64,linux/arm64
provenance: false
builder: ${{ steps.buildx.outputs.name }}
push: ${{ github.repository == 'mastodon/mastodon' && github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -14,24 +14,49 @@ permissions:
jobs:
check-i18n:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Install system 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 Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Check for missing strings in English JSON
run: |
yarn i18n:extract --throws
git diff --exit-code
- name: Check locale file normalization
run: bundle exec i18n-tasks check-normalized
- name: Check for unused strings
run: bundle exec i18n-tasks unused
- name: Check for missing strings in English YML
run: |
bundle exec i18n-tasks add-missing -l en
git diff --exit-code
- name: Check for wrong string interpolations
run: bundle exec i18n-tasks check-consistent-interpolations
- name: Check that all required locale files exist
run: bundle exec rake repo:check_locales_files

View file

@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "haml-lint",
"severity": "warning",
"pattern": [
{
"regexp": "^(.*):(\\d+)\\s\\[W]\\s(.*):\\s(.*)$",
"file": 1,
"line": 2,
"code": 3,
"message": 4
}
]
}
]
}

View file

@ -3,9 +3,11 @@ on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- 'stylelint.config.js'
- '**/*.css'
@ -17,6 +19,7 @@ on:
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- 'stylelint.config.js'
- '**/*.css'
@ -36,6 +39,7 @@ jobs:
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
@ -45,4 +49,4 @@ jobs:
- run: echo "::add-matcher::.github/stylelint-matcher.json"
- name: Stylelint
run: yarn test:lint:sass
run: yarn lint:sass

47
.github/workflows/lint-haml.yml vendored Normal file
View file

@ -0,0 +1,47 @@
name: Haml Linting
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- '.github/workflows/haml-lint-problem-matcher.json'
- '.github/workflows/lint-haml.yml'
- '.haml-lint*.yml'
- '.rubocop*.yml'
- '.ruby-version'
- '**/*.haml'
- 'Gemfile*'
pull_request:
paths:
- '.github/workflows/haml-lint-problem-matcher.json'
- '.github/workflows/lint-haml.yml'
- '.haml-lint*.yml'
- '.rubocop*.yml'
- '.ruby-version'
- '**/*.haml'
- 'Gemfile*'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v3
- 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: Run haml-lint
run: |
echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json"
bundle exec haml-lint

View file

@ -3,21 +3,32 @@ on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'package.json'
- 'yarn.lock'
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- '.eslint*'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '.github/workflows/lint-js.yml'
pull_request:
paths:
- 'package.json'
- 'yarn.lock'
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- '.eslint*'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '.github/workflows/lint-js.yml'
jobs:
@ -32,9 +43,13 @@ jobs:
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: ESLint
run: yarn test:lint:js
run: yarn lint:js --max-warnings 0
- name: Typecheck
run: yarn typecheck

View file

@ -3,9 +3,11 @@ on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.json'
- '.github/workflows/lint-json.yml'
@ -15,6 +17,7 @@ on:
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.json'
- '.github/workflows/lint-json.yml'
@ -32,9 +35,10 @@ jobs:
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Prettier
run: yarn prettier --check "**/*.json"
run: yarn lint:json

44
.github/workflows/lint-md.yml vendored Normal file
View file

@ -0,0 +1,44 @@
name: Markdown Linting
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- '.github/workflows/lint-md.yml'
- '.nvmrc'
- '.prettier*'
- '**/*.md'
- '!AUTHORS.md'
- 'package.json'
- 'yarn.lock'
pull_request:
paths:
- '.github/workflows/lint-md.yml'
- '.nvmrc'
- '.prettier*'
- '**/*.md'
- '!AUTHORS.md'
- 'package.json'
- 'yarn.lock'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v3
- 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: Prettier
run: yarn lint:md

View file

@ -3,9 +3,12 @@ on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'Gemfile*'
- '.rubocop.yml'
- '.rubocop*.yml'
- '.ruby-version'
- '.bundler-audit.yml'
- '**/*.rb'
- '**/*.rake'
- '.github/workflows/lint-ruby.yml'
@ -13,7 +16,9 @@ on:
pull_request:
paths:
- 'Gemfile*'
- '.rubocop.yml'
- '.rubocop*.yml'
- '.ruby-version'
- '.bundler-audit.yml'
- '**/*.rb'
- '**/*.rake'
- '.github/workflows/lint-ruby.yml'
@ -21,21 +26,25 @@ on:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set-up RuboCop Problem Mathcher
steps:
- name: Clone repository
uses: actions/checkout@v3
- 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 RuboCop Problem Matcher
uses: r7kamura/rubocop-problem-matchers-action@v1
- name: Run rubocop
uses: github/super-linter@v4
env:
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LINTER_RULES_PATH: .
RUBY_CONFIG_FILE: .rubocop.yml
VALIDATE_ALL_CODEBASE: false
VALIDATE_RUBY: true
run: bundle exec rubocop
- name: Run bundler-audit
run: bundle exec bundler-audit

View file

@ -3,9 +3,11 @@ on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.yaml'
- '**/*.yml'
@ -16,6 +18,7 @@ on:
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.yaml'
- '**/*.yml'
@ -34,9 +37,10 @@ jobs:
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Prettier
run: yarn prettier --check "**/*.{yml,yaml}"
run: yarn lint:yml

View file

@ -2,16 +2,35 @@ name: PR Needs Rebase
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
- 'l10n_main'
pull_request_target:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
- 'l10n_main'
types: [synchronize]
permissions:
pull-requests: write
jobs:
label-rebase-needed:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Check for merge conflicts
uses: eps1lon/actions-label-merge-conflict@releases/2.x
with:
dirtyLabel: 'rebase needed :construction:'
repoToken: '${{ secrets.GITHUB_TOKEN }}'
commentOnClean: This pull request has resolved merge conflicts and is ready for review.
commentOnDirty: This pull request has merge conflicts that must be resolved before it can be merged.
retryMax: 10
continueOnMissingPermissions: false

48
.github/workflows/test-js.yml vendored Normal file
View file

@ -0,0 +1,48 @@
name: JavaScript Testing
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '**/*.snap'
- '.github/workflows/test-js.yml'
pull_request:
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '**/*.snap'
- '.github/workflows/test-js.yml'
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v3
- 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: Jest testing
run: yarn jest --reporters github-actions summary

View file

@ -0,0 +1,111 @@
name: Test one step migrations
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
pull_request:
jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-one-step.yml", "lib/tasks/tests.rake"]'
test:
runs-on: ubuntu-latest
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
strategy:
fail-fast: false
matrix:
postgres:
- 14-alpine
- 15-alpine
services:
postgres:
image: postgres:${{ matrix.postgres}}
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis:7-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
env:
CONTINUOUS_INTEGRATION: true
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_CLEAN: true
BUNDLE_FROZEN: true
BUNDLE_WITHOUT: 'development production'
BUNDLE_JOBS: 3
BUNDLE_RETRY: 3
steps:
- uses: actions/checkout@v3
- 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: Create database
run: './bin/rails db:create'
- name: Run migrations up to v2.0.0
run: './bin/rails db:migrate VERSION=20171010025614'
- name: Populate database with test data
run: './bin/rails tests:migrations:populate_v2'
- name: Run migrations up to v2.4.0
run: './bin/rails db:migrate VERSION=20180514140000'
- name: Populate database with test data
run: './bin/rails tests:migrations:populate_v2_4'
- name: Run migrations up to v2.4.3
run: './bin/rails db:migrate VERSION=20180707154237'
- name: Populate database with test data
run: './bin/rails tests:migrations:populate_v2_4_3'
- name: Run all remaining migrations
run: './bin/rails db:migrate'
- name: Check migration result
run: './bin/rails tests:migrations:check_database'

View file

@ -0,0 +1,119 @@
name: Test two step migrations
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
pull_request:
jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-two-step.yml", "lib/tasks/tests.rake"]'
test:
runs-on: ubuntu-latest
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
strategy:
fail-fast: false
matrix:
postgres:
- 14-alpine
- 15-alpine
services:
postgres:
image: postgres:${{ matrix.postgres}}
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis:7-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
env:
CONTINUOUS_INTEGRATION: true
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_CLEAN: true
BUNDLE_FROZEN: true
BUNDLE_WITHOUT: 'development production'
BUNDLE_JOBS: 3
BUNDLE_RETRY: 3
steps:
- uses: actions/checkout@v3
- 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: Create database
run: './bin/rails db:create'
- name: Run migrations up to v2.0.0
run: './bin/rails db:migrate VERSION=20171010025614'
- name: Populate database with test data
run: './bin/rails tests:migrations:populate_v2'
- name: Run pre-deployment migrations up to v2.4.0
run: './bin/rails db:migrate VERSION=20180514140000'
env:
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
- name: Populate database with test data
run: './bin/rails tests:migrations:populate_v2_4'
- name: Run migrations up to v2.4.3
run: './bin/rails db:migrate VERSION=20180707154237'
env:
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
- name: Populate database with test data
run: './bin/rails tests:migrations:populate_v2_4_3'
- name: Run all remaining pre-deployment migrations
run: './bin/rails db:migrate'
env:
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
- name: Run all post-deployment migrations
run: './bin/rails db:migrate'
- name: Check migration result
run: './bin/rails tests:migrations:check_database'

151
.github/workflows/test-ruby.yml vendored Normal file
View file

@ -0,0 +1,151 @@
name: Ruby Testing
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
pull_request:
env:
BUNDLE_CLEAN: true
BUNDLE_FROZEN: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
mode:
- production
- test
env:
RAILS_ENV: ${{ matrix.mode }}
BUNDLE_WITH: ${{ matrix.mode }}
OTP_SECRET: precompile_placeholder
SECRET_KEY_BASE: precompile_placeholder
steps:
- uses: actions/checkout@v3
- 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 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
- uses: actions/upload-artifact@v3
if: matrix.mode == 'test'
with:
path: |-
./public/assets
./public/packs-test
name: ${{ github.sha }}
retention-days: 0
test:
runs-on: ubuntu-latest
needs:
- build
services:
postgres:
image: postgres:14-alpine
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis:7-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
env:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
ALLOW_NOPAM: true
PAM_ENABLED: true
PAM_DEFAULT_SERVICE: pam_test
PAM_CONTROLLED_SERVICE: pam_test_controlled
BUNDLE_WITH: 'pam_authentication test'
CI_JOBS: ${{ matrix.ci_job }}/4
strategy:
fail-fast: false
matrix:
ruby-version:
- '3.0'
- '3.1'
- '.ruby-version'
ci_job:
- 1
- 2
- 3
- 4
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
path: './public'
name: ${{ github.sha }}
- name: Update package index
run: sudo apt-get update
- 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
with:
ruby-version: ${{ matrix.ruby-version}}
bundler-cache: true
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
- run: bundle exec rake rspec_chunked

View file

@ -1,108 +1,14 @@
# Whether to ignore frontmatter at the beginning of HAML documents for
# frameworks such as Jekyll/Middleman
skip_frontmatter: false
inherits_from: .haml-lint_todo.yml
exclude:
- 'vendor/**/*'
- 'spec/**/*'
- 'lib/templates/**/*'
- 'app/views/kaminari/**/*'
- lib/templates/haml/scaffold/_form.html.haml
require:
- ./lib/linter/haml_middle_dot.rb
linters:
AltText:
enabled: false
ClassAttributeWithStaticValue:
enabled: true
ClassesBeforeIds:
enabled: true
ConsecutiveComments:
enabled: true
ConsecutiveSilentScripts:
enabled: true
max_consecutive: 2
EmptyObjectReference:
enabled: true
EmptyScript:
enabled: true
FinalNewline:
enabled: true
present: true
HtmlAttributes:
enabled: true
ImplicitDiv:
enabled: true
LeadingCommentSpace:
enabled: true
LineLength:
enabled: false
max: 80
MultilinePipe:
enabled: true
MultilineScript:
enabled: true
ObjectReferenceAttributes:
enabled: true
RuboCop:
enabled: true
# These cops are incredibly noisy when it comes to HAML templates, so we
# ignore them.
ignored_cops:
- Lint/BlockAlignment
- Lint/EndAlignment
- Lint/Void
- Metrics/BlockLength
- Metrics/LineLength
- Style/AlignParameters
- Style/BlockNesting
- Style/ElseAlignment
- Style/EndOfLine
- Style/FileName
- Style/FinalNewline
- Style/FrozenStringLiteralComment
- Style/IfUnlessModifier
- Style/IndentationWidth
- Style/Next
- Style/TrailingBlankLines
- Style/TrailingWhitespace
- Style/WhileUntilModifier
RubyComments:
enabled: true
SpaceBeforeScript:
enabled: true
SpaceInsideHashAttributes:
enabled: true
style: space
Indentation:
enabled: true
character: space # or tab
TagName:
enabled: true
TrailingWhitespace:
enabled: true
UnnecessaryInterpolation:
enabled: true
UnnecessaryStringOutput:
MiddleDot:
enabled: true

106
.haml-lint_todo.yml Normal file
View file

@ -0,0 +1,106 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
# on 2023-03-15 00:55:01 -0400 using Haml-Lint version 0.45.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: 63
RuboCop:
exclude:
- 'app/views/accounts/_og.html.haml'
- 'app/views/admin/account_warnings/_account_warning.html.haml'
- 'app/views/admin/accounts/index.html.haml'
- 'app/views/admin/accounts/show.html.haml'
- 'app/views/admin/announcements/edit.html.haml'
- 'app/views/admin/announcements/new.html.haml'
- 'app/views/admin/disputes/appeals/_appeal.html.haml'
- 'app/views/admin/domain_blocks/edit.html.haml'
- 'app/views/admin/domain_blocks/new.html.haml'
- 'app/views/admin/ip_blocks/new.html.haml'
- 'app/views/admin/reports/actions/preview.html.haml'
- 'app/views/admin/reports/index.html.haml'
- 'app/views/admin/reports/show.html.haml'
- 'app/views/admin/roles/_form.html.haml'
- 'app/views/admin/settings/about/show.html.haml'
- 'app/views/admin/settings/appearance/show.html.haml'
- 'app/views/admin/settings/registrations/show.html.haml'
- 'app/views/admin/statuses/show.html.haml'
- 'app/views/auth/registrations/new.html.haml'
- 'app/views/disputes/strikes/show.html.haml'
- 'app/views/filters/_filter_fields.html.haml'
- 'app/views/invites/_form.html.haml'
- 'app/views/layouts/application.html.haml'
- 'app/views/layouts/error.html.haml'
- 'app/views/notification_mailer/_status.html.haml'
- 'app/views/settings/applications/_fields.html.haml'
- 'app/views/settings/imports/show.html.haml'
- 'app/views/settings/preferences/appearance/show.html.haml'
- 'app/views/settings/preferences/other/show.html.haml'
- 'app/views/statuses/_detailed_status.html.haml'
- 'app/views/statuses/_poll.html.haml'
- 'app/views/statuses/show.html.haml'
- 'app/views/statuses_cleanup/show.html.haml'
- 'app/views/user_mailer/warning.html.haml'
# Offense count: 913
LineLength:
enabled: false
# Offense count: 22
UnnecessaryStringOutput:
exclude:
- 'app/views/accounts/show.html.haml'
- 'app/views/admin/custom_emojis/_custom_emoji.html.haml'
- 'app/views/admin/relays/_relay.html.haml'
- 'app/views/admin/rules/_rule.html.haml'
- 'app/views/admin/statuses/index.html.haml'
- 'app/views/auth/registrations/_sessions.html.haml'
- 'app/views/disputes/strikes/show.html.haml'
- 'app/views/notification_mailer/_status.html.haml'
- 'app/views/settings/two_factor_authentication_methods/index.html.haml'
- 'app/views/statuses/_detailed_status.html.haml'
- 'app/views/statuses/_poll.html.haml'
- 'app/views/statuses/_simple_status.html.haml'
- 'app/views/user_mailer/suspicious_sign_in.html.haml'
- 'app/views/user_mailer/webauthn_credential_added.html.haml'
- 'app/views/user_mailer/webauthn_credential_deleted.html.haml'
- 'app/views/user_mailer/welcome.html.haml'
# 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: 41
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/_sessions.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'
- 'app/views/statuses/_status.html.haml'
# Offense count: 6
ConsecutiveSilentScripts:
exclude:
- 'app/views/admin/settings/shared/_links.html.haml'
- 'app/views/settings/login_activities/_login_activity.html.haml'
- 'app/views/statuses/_poll.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'

4
.husky/pre-commit Executable file
View file

@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn lint-staged

2
.nvmrc
View file

@ -1 +1 @@
16
16.20

View file

@ -51,15 +51,8 @@
*~
*.swp
# Ignore npm debug log
npm-debug.log
# Ignore yarn log files
yarn-error.log
yarn-debug.log
# Ignore vagrant log files
*-cloudimg-console.log
# Ignore log files
*.log
# Ignore Docker option files
docker-compose.override.yml
@ -68,12 +61,31 @@ docker-compose.override.yml
/app/javascript/mastodon/features/emoji/emoji_map.json
# Ignore locale files
/app/javascript/mastodon/locales
/app/javascript/mastodon/locales/*.json
/config/locales
# Ignore vendored CSS reset
app/javascript/styles/mastodon/reset.scss
# Ignore Javascript pending https://github.com/mastodon/mastodon/pull/23631
*.js
*.jsx
# Ignore HTML till cleaned and included in CI
*.html
# Ignore the generated AUTHORS.md
AUTHORS.md
# Ignore glitch-soc emoji map file
/app/javascript/flavours/glitch/features/emoji/emoji_map.json
# Ignore glitch-soc locale files
/app/javascript/flavours/glitch/locales
/config/locales-glitch
# Ignore glitch-soc emoji map file
/app/javascript/flavours/glitch/features/emoji/emoji_map.json
# Ignore glitch-soc vendored CSS reset
app/javascript/flavours/glitch/styles/reset.scss
# Ignore win95 theme
app/javascript/styles/win95.scss

View file

@ -1,3 +1,4 @@
module.exports = {
singleQuote: true
singleQuote: true,
jsxSingleQuote: true
}

View file

@ -1 +1 @@
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/.apt/lib/x86_64-linux-gnu:/app/.apt/usr/lib/x86_64-linux-gnu/mesa:/app/.apt/usr/lib/x86_64-linux-gnu/pulseaudio
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/.apt/lib/x86_64-linux-gnu:/app/.apt/usr/lib/x86_64-linux-gnu/mesa:/app/.apt/usr/lib/x86_64-linux-gnu/pulseaudio:/app/.apt/usr/lib/x86_64-linux-gnu/openblas-pthread

View file

@ -1,479 +1,211 @@
# Can be removed once all rules are addressed or moved to this file as documented overrides
inherit_from: .rubocop_todo.yml
# Used for merging with exclude lists with .rubocop_todo.yml
inherit_mode:
merge:
- Exclude
require:
- rubocop-rails
- rubocop-rspec
- rubocop-performance
- rubocop-capybara
- ./lib/linter/rubocop_middle_dot
AllCops:
TargetRubyVersion: 2.7
TargetRubyVersion: 3.0 # Set to minimum supported version of CI
DisplayCopNames: true
DisplayStyleGuide: true
ExtraDetails: true
UseCache: true
CacheRootDirectory: tmp
NewCops: enable
NewCops: enable # Opt-in to newly added rules
Exclude:
- db/schema.rb
- 'app/views/**/*'
- 'config/**/*'
- 'bin/*'
- 'Rakefile'
- 'node_modules/**/*'
- 'Vagrantfile'
- 'vendor/**/*'
- 'lib/json_ld/*'
- 'lib/json_ld/*' # Generated files
- 'lib/templates/**/*'
Bundler/OrderedGems:
Enabled: false
Layout/AccessModifierIndentation:
EnforcedStyle: indent
Layout/EmptyLineAfterMagicComment:
Enabled: false
Layout/EmptyLineAfterGuardClause:
Enabled: false
Layout/EmptyLineBetweenDefs:
AllowAdjacentOneLineDefs: true
Layout/EmptyLinesAroundAttributeAccessor:
Enabled: true
# Reason: Prefer Hashes without extreme indentation
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutfirsthashelementindentation
Layout/FirstHashElementIndentation:
EnforcedStyle: consistent
Layout/HashAlignment:
Enabled: false
Layout/SpaceAroundMethodCallOperator:
Enabled: true
Layout/SpaceInsideHashLiteralBraces:
EnforcedStyle: space
Lint/DeprecatedOpenSSLConstant:
Enabled: true
Lint/DuplicateElsifCondition:
Enabled: true
Lint/MixedRegexpCaptureTypes:
Enabled: true
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Lint/UselessAccessModifier:
ContextCreatingMethods:
- class_methods
Metrics/AbcSize:
Max: 34 # RuboCop default 17
Exclude:
- 'lib/**/*cli*.rb'
- db/*migrate/**/*
- lib/paperclip/color_extractor.rb
- app/workers/scheduler/follow_recommendations_scheduler.rb
- app/services/activitypub/fetch*_service.rb
- lib/paperclip/**/*
CountRepeatedAttributes: false
AllowedMethods:
- update_media_attachments!
- account_link_to
- attempt_oembed
- build_crutches
- calculate_scores
- cc
- dump_actor!
- filter_from_home?
- hydrate
- import_bookmarks!
- import_relationships!
- initialize
- link_to_mention
- log_target
- matches_time_window?
- parse_metadata
- perform_statuses_search!
- privatize_media_attachments!
- process_update
- publish_media_attachments!
- remotable_attachment
- render_initial_state
- render_with_cache
- searchable_by
- self.cached_filters_for
- set_fetchable_attributes!
- signed_request_actor
- statuses_to_delete
- update_poll!
Metrics/BlockLength:
Max: 55
Exclude:
- 'lib/mastodon/*_cli.rb'
CountComments: false
CountAsOne: [array, heredoc]
AllowedMethods:
- task
- namespace
- class_methods
- included
Metrics/BlockNesting:
Max: 3
Exclude:
- 'lib/mastodon/*_cli.rb'
Metrics/ClassLength:
CountComments: false
Max: 500
CountAsOne: [array, heredoc]
Exclude:
- 'lib/mastodon/*_cli.rb'
Metrics/CyclomaticComplexity:
Max: 12
Exclude:
- lib/mastodon/*cli*.rb
- db/*migrate/**/*
AllowedMethods:
- attempt_oembed
- blocked?
- build_crutches
- calculate_scores
- cc
- discover_endpoint!
- filter_from_home?
- hydrate
- klass
- link_to_mention
- log_target
- matches_time_window?
- patch_for_forwarding!
- preprocess_attributes!
- process_update
- remotable_attachment
- scan_text!
- self.cached_filters_for
- set_fetchable_attributes!
- setup_redis_env_url
- update_media_attachments!
# Reason: Currently disabled in .rubocop_todo.yml
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength
Layout/LineLength:
Max: 140 # RuboCop default 120
AllowHeredoc: true
AllowURI: true
IgnoreCopDirectives: true
AllowedPatterns:
# Allow comments to be long lines
- !ruby/regexp / \# .*$/
- !ruby/regexp /^\# .*$/
Exclude:
- lib/**/*cli*.rb
- 'lib/mastodon/cli/*.rb'
- db/*migrate/**/*
- db/seeds/**/*
# Reason:
# https://docs.rubocop.org/rubocop/cops_lint.html#lintuselessaccessmodifier
Lint/UselessAccessModifier:
ContextCreatingMethods:
- class_methods
## Disable most Metrics/*Length cops
# Reason: those are often triggered and force significant refactors when this happend
# but the team feel they are not really improving the code quality.
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocklength
Metrics/BlockLength:
Enabled: false
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsclasslength
Metrics/ClassLength:
Enabled: false
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmethodlength
Metrics/MethodLength:
CountComments: false
CountAsOne: [array, heredoc]
Max: 25 # RuboCop default 10
Exclude:
- 'lib/mastodon/*_cli.rb'
AllowedMethods:
- account_link_to
- attempt_oembed
- body_with_limit
- build_crutches
- cached_filters_for
- calculate_scores
- check_webfinger!
- clean_feeds!
- collection_items
- collection_presenter
- copy_account_notes!
- deduplicate_accounts!
- deduplicate_conversations!
- deduplicate_local_accounts!
- deduplicate_statuses!
- deduplicate_tags!
- deduplicate_users!
- discover_endpoint!
- extract_extra_uris_with_indices
- extract_hashtags_with_indices
- extract_mentions_or_lists_with_indices
- filter_from_home?
- from_elasticsearch
- handle_explicit_update!
- handle_mark_as_sensitive!
- hsl_to_rgb
- import_bookmarks!
- import_domain_blocks!
- import_relationships!
- ldap_options
- matches_time_window?
- outbox_presenter
- pam_get_user
- parallelize_with_progress
- parse_and_transform
- patch_for_forwarding!
- populate_home
- post_process_style
- preload_cache_collection_target_statuses
- privatize_media_attachments!
- provides_callback_for
- publish_media_attachments!
- relevant_account_timestamp
- remotable_attachment
- rgb_to_hsl
- rss_status_content_format
- set_fetchable_attributes!
- setup_redis_env_url
- signed_request_actor
- to_preview_card_attributes
- upgrade_storage_filesystem
- upgrade_storage_s3
- user_settings_params
- hydrate
- cc
- self_destruct
Enabled: false
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmodulelength
Metrics/ModuleLength:
CountComments: false
Max: 200
CountAsOne: [array, heredoc]
Enabled: false
## End Disable Metrics/*Length cops
# Reason: Currently disabled in .rubocop_todo.yml
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsabcsize
Metrics/AbcSize:
Exclude:
- '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:
Exclude:
- lib/mastodon/cli/*.rb
- db/*migrate/**/*
# Reason:
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsparameterlists
Metrics/ParameterLists:
Max: 5 # RuboCop default 5
CountKeywordArgs: true # RuboCop default true
MaxOptionalParameters: 3 # RuboCop default 3
Exclude:
- app/models/concerns/account_interactions.rb
- app/services/activitypub/fetch_remote_account_service.rb
- app/services/activitypub/fetch_remote_actor_service.rb
CountKeywordArgs: false
Metrics/PerceivedComplexity:
Max: 16 # RuboCop default 8
AllowedMethods:
- attempt_oembed
- build_crutches
- calculate_scores
- deduplicate_users!
- discover_endpoint!
- filter_from_home?
- hydrate
- patch_for_forwarding!
- process_update
- remove_orphans
- update_media_attachments!
# Reason: Prevailing style is argument file paths
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsfilepath
Rails/FilePath:
EnforcedStyle: arguments
Naming/MemoizedInstanceVariableName:
Enabled: false
Naming/MethodParameterName:
Enabled: true
Rails:
Enabled: true
Rails/ApplicationController:
Enabled: false
Exclude:
- 'app/controllers/well_known/**/*.rb'
Rails/BelongsTo:
Enabled: false
Rails/ContentTag:
Enabled: false
Rails/EnumHash:
Enabled: false
# Reason: Prevailing style uses numeric status codes, matches RSpec/Rails/HttpStatus
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railshttpstatus
Rails/HttpStatus:
EnforcedStyle: numeric
# Reason: Allowed in `tootctl` CLI code and in boot ENV checker
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsexit
Rails/Exit:
Exclude:
- 'lib/mastodon/*'
- 'lib/cli.rb'
- 'config/boot.rb'
- 'lib/mastodon/cli/*.rb'
Rails/FilePath:
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
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
- 'spec/controllers/concerns/account_controller_concern_spec.rb' # Concerns describe ApplicationController and don't fit naming
- 'spec/controllers/concerns/export_controller_concern_spec.rb'
- 'spec/controllers/concerns/localized_spec.rb'
- 'spec/controllers/concerns/rate_limit_headers_spec.rb'
- 'spec/controllers/concerns/signature_verification_spec.rb'
- 'spec/controllers/concerns/user_tracking_concern_spec.rb'
Rails/HasAndBelongsToMany:
Enabled: false
# Reason:
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject
RSpec/NamedSubject:
EnforcedStyle: named_only
Rails/HasManyOrHasOneDependent:
Enabled: false
# Reason: Prevailing style choice
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnottonot
RSpec/NotToNot:
EnforcedStyle: to_not
Rails/HelperInstanceVariable:
Enabled: false
Rails/HttpStatus:
Enabled: false
Rails/IndexBy:
Enabled: false
Rails/InverseOf:
Enabled: false
Rails/LexicallyScopedActionFilter:
Enabled: false
Rails/OutputSafety:
Enabled: true
Rails/RakeEnvironment:
Enabled: false
Rails/RedundantForeignKey:
Enabled: false
Rails/SkipsModelValidations:
Enabled: false
Rails/UniqueValidationWithoutIndex:
Enabled: false
Style/AccessorGrouping:
Enabled: true
Style/AccessModifierDeclarations:
Enabled: false
Style/ArrayCoercion:
Enabled: true
Style/BisectedAttrAccessor:
Enabled: true
Style/CaseLikeIf:
Enabled: false
# Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus
# https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus
RSpec/Rails/HttpStatus:
EnforcedStyle: numeric
# Reason:
# https://docs.rubocop.org/rubocop/cops_style.html#styleclassandmodulechildren
Style/ClassAndModuleChildren:
Enabled: false
Style/CollectionMethods:
Enabled: true
PreferredMethods:
find_all: 'select'
# Reason: Classes mostly self-document with their names
# https://docs.rubocop.org/rubocop/cops_style.html#styledocumentation
Style/Documentation:
Enabled: false
Style/DoubleNegation:
Enabled: true
Style/ExpandPathArguments:
Enabled: false
Style/ExponentialNotation:
Enabled: true
Style/FormatString:
Enabled: false
Style/FormatStringToken:
Enabled: false
Style/FrozenStringLiteralComment:
Enabled: true
Style/GuardClause:
Enabled: false
Style/HashAsLastArrayItem:
Enabled: false
Style/HashEachMethods:
Enabled: true
Style/HashLikeCase:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: false
# Reason: Enforce modern Ruby style
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
Style/HashSyntax:
Enabled: true
EnforcedStyle: ruby19_no_mixed_keys
Style/IfUnlessModifier:
Enabled: false
Style/InverseMethods:
Enabled: false
Style/Lambda:
Enabled: false
Style/MutableConstant:
Enabled: false
# Reason:
# https://docs.rubocop.org/rubocop/cops_style.html#stylenumericliterals
Style/NumericLiterals:
AllowedPatterns:
- \d{4}_\d{2}_\d{2}_\d{6} # For DB migration date version number readability
# Reason:
# https://docs.rubocop.org/rubocop/cops_style.html#stylepercentliteraldelimiters
Style/PercentLiteralDelimiters:
PreferredDelimiters:
'%i': '()'
'%w': '()'
Style/PerlBackrefs:
AutoCorrect: false
Style/RedundantFetchBlock:
Enabled: true
Style/RedundantFileExtensionInRequire:
Enabled: true
Style/RedundantRegexpCharacterClass:
Enabled: false
Style/RedundantRegexpEscape:
Enabled: false
Style/RedundantReturn:
Enabled: true
# Reason: Prefer less indentation in conditional assignments
# https://docs.rubocop.org/rubocop/cops_style.html#styleredundantbegin
Style/RedundantBegin:
Enabled: false
Style/RegexpLiteral:
Enabled: false
# Reason: Overridden to reduce implicit StandardError rescues
# https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror
Style/RescueStandardError:
Enabled: true
Style/SignalException:
Enabled: false
Style/SlicingWithRange:
Enabled: true
EnforcedStyle: implicit
# Reason: Originally disabled for CodeClimate, and no config consensus has been found
# https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray
Style/SymbolArray:
Enabled: false
# Reason:
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainarrayliteral
Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: 'comma'
# Reason:
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainhashliteral
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: 'comma'
Style/UnpackFirst:
Enabled: false
RSpec/ScatteredSetup:
Enabled: false
RSpec/ImplicitExpect:
Enabled: false
RSpec/NamedSubject:
Enabled: false
RSpec/DescribeClass:
Enabled: false
RSpec/LetSetup:
Enabled: false
Style/MiddleDot:
Enabled: true

1452
.rubocop_todo.yml Normal file

File diff suppressed because it is too large Load diff

View file

@ -1 +1 @@
3.0.4
3.2.2

View file

@ -44,3 +44,6 @@ Gruntfile.js
# 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

View file

@ -1,4 +1,5 @@
ffmpeg
libopenblas0-pthread
libpq-dev
libxdamage1
libxfixes3

View file

@ -1,8 +1,120 @@
Changelog
=========
# Changelog
All notable changes to this project will be documented in this file.
## [4.1.3] - 2023-07-06
### Added
- Add fallback redirection when getting a webfinger query `LOCAL_DOMAIN@LOCAL_DOMAIN` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23600))
### Changed
- Change OpenGraph-based embeds to allow fullscreen ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25058))
- Change AccessTokensVacuum to also delete expired tokens ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24868))
- Change profile updates to be sent to recently-mentioned servers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24852))
- Change automatic post deletion thresholds and load detection ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24614))
- Change `/api/v1/statuses/:id/history` to always return at least one item ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25510))
- Change auto-linking to allow carets in URL query params ([renchap](https://github.com/mastodon/mastodon/pull/25216))
### Removed
- Remove invalid `X-Frame-Options: ALLOWALL` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25070))
### Fixed
- Fix wrong view being displayed when a webhook fails validation ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25464))
- Fix soft-deleted post cleanup scheduler overwhelming the streaming server ([ThisIsMissEm](https://github.com/mastodon/mastodon/pull/25519))
- Fix incorrect pagination headers in `/api/v2/admin/accounts` ([danielmbrasil](https://github.com/mastodon/mastodon/pull/25477))
- Fix multiple inefficiencies in automatic post cleanup worker ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24607), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/24785), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/24840))
- Fix performance of streaming by parsing message JSON once ([ThisIsMissEm](https://github.com/mastodon/mastodon/pull/25278), [ThisIsMissEm](https://github.com/mastodon/mastodon/pull/25361))
- Fix CSP headers when `S3_ALIAS_HOST` includes a path component ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25273))
- Fix `tootctl accounts approve --number N` not aproving N earliest registrations ([danielmbrasil](https://github.com/mastodon/mastodon/pull/24605))
- Fix reports not being closed when performing batch suspensions ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24988))
- Fix being able to vote on your own polls ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25015))
- Fix race condition when reblogging a status ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25016))
- Fix “Authorized applications” inefficiently and incorrectly getting last use date ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25060))
- Fix “Authorized applications” crashing when listing apps with certain admin API scopes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25713))
- Fix multiple N+1s in ConversationsController ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25134), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/25399), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/25499))
- Fix user archive takeouts when using OpenStack Swift ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24431))
- Fix searching for remote content by URL not working under certain conditions ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25637))
- Fix inefficiencies in indexing content for search ([VyrCossont](https://github.com/mastodon/mastodon/pull/24285), [VyrCossont](https://github.com/mastodon/mastodon/pull/24342))
### Security
- Add finer permission requirements for managing webhooks ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25463))
- Update dependencies
- Add hardening headers for user-uploaded files ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/25756))
- Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
- Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
- Fix arbitrary file creation through media processing (CVE-2023-36460)
- Fix possible XSS in preview cards (CVE-2023-36459)
## [4.1.2] - 2023-04-04
### Fixed
- Fix crash in `tootctl` commands making use of parallelization when Elasticsearch is enabled ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24182), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/24377))
- Fix crash in `db:setup` when Elasticsearch is enabled ([rrgeorge](https://github.com/mastodon/mastodon/pull/24302))
- Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24200))
- Fix invalid/expired invites being processed on sign-up ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24337))
### Security
- Update Ruby to 3.0.6 due to ReDoS vulnerabilities ([saizai](https://github.com/mastodon/mastodon/pull/24334))
- Fix unescaped user input in LDAP query ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24379))
## [4.1.1] - 2023-03-16
### Added
- Add redirection from paths with url-encoded `@` to their decoded form ([thijskh](https://github.com/mastodon/mastodon/pull/23593))
- Add `lang` attribute to native language names in language picker in Web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23749))
- Add headers to outgoing mails to avoid auto-replies ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23597))
- Add support for refreshing many accounts at once with `tootctl accounts refresh` ([9p4](https://github.com/mastodon/mastodon/pull/23304))
- Add confirmation modal when clicking to edit a post with a non-empty compose form ([PauloVilarinho](https://github.com/mastodon/mastodon/pull/23936))
- Add support for the HAproxy PROXY protocol through the `PROXY_PROTO_V1` environment variable ([CSDUMMI](https://github.com/mastodon/mastodon/pull/24064))
- Add `SENDFILE_HEADER` environment variable ([Gargron](https://github.com/mastodon/mastodon/pull/24123))
- Add cache headers to static files served through Rails ([Gargron](https://github.com/mastodon/mastodon/pull/24120))
### Changed
- Increase contrast of upload progress bar background ([toolmantim](https://github.com/mastodon/mastodon/pull/23836))
- Change post auto-deletion throttling constants to better scale with server size ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23320))
- Change order of bookmark and favourite sidebar entries in single-column UI for consistency ([TerryGarcia](https://github.com/mastodon/mastodon/pull/23701))
- Change `ActivityPub::DeliveryWorker` retries to be spread out more ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21956))
### Fixed
- Fix “Remove all followers from the selected domains” also removing follows and notifications ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23805))
- Fix streaming metrics format ([emilweth](https://github.com/mastodon/mastodon/pull/23519), [emilweth](https://github.com/mastodon/mastodon/pull/23520))
- Fix case-sensitive check for previously used hashtags in hashtag autocompletion ([deanveloper](https://github.com/mastodon/mastodon/pull/23526))
- Fix focus point of already-attached media not saving after edit ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23566))
- Fix sidebar behavior in settings/admin UI on mobile ([wxt2005](https://github.com/mastodon/mastodon/pull/23764))
- Fix inefficiency when searching accounts per username in admin interface ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23801))
- Fix duplicate “Publish” button on mobile ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23804))
- Fix server error when failing to follow back followers from `/relationships` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23787))
- Fix server error when attempting to display the edit history of a trendable post in the admin interface ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23574))
- Fix `tootctl accounts migrate` crashing because of a typo ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23567))
- Fix original account being unfollowed on migration before the follow request to the new account could be sent ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21957))
- Fix the “Back” button in column headers sometimes leaving Mastodon ([c960657](https://github.com/mastodon/mastodon/pull/23953))
- Fix pgBouncer resetting application name on every transaction ([Gargron](https://github.com/mastodon/mastodon/pull/23958))
- Fix unconfirmed accounts being counted as active users ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23803))
- Fix `/api/v1/streaming` sub-paths not being redirected ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23988))
- Fix drag'n'drop upload area text that spans multiple lines not being centered ([vintprox](https://github.com/mastodon/mastodon/pull/24029))
- Fix sidekiq jobs not triggering Elasticsearch index updates ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24046))
- Fix tags being unnecessarily stripped from plain-text short site description ([c960657](https://github.com/mastodon/mastodon/pull/23975))
- Fix HTML entities not being un-escaped in extracted plain-text from remote posts ([c960657](https://github.com/mastodon/mastodon/pull/24019))
- Fix dashboard crash on ElasticSearch server error ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23751))
- Fix incorrect post links in strikes when the account is remote ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23611))
- Fix misleading error code when receiving invalid WebAuthn credentials ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23568))
- Fix duplicate mails being sent when the SMTP server is too slow to close the connection ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23750))
### Security
- Change user backups to use expiring URLs for download when possible ([Gargron](https://github.com/mastodon/mastodon/pull/24136))
- Add warning for object storage misconfiguration ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24137))
## [4.1.0] - 2023-02-10
### Added
@ -219,6 +331,7 @@ All notable changes to this project will be documented in this file.
- Fix unbounded recursion in post discovery ([ClearlyClaire,nametoolong](https://github.com/mastodon/mastodon/pull/23506))
## [4.0.2] - 2022-11-15
### Fixed
- Fix wrong color on mentions hidden behind content warning in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20724))
@ -226,6 +339,7 @@ All notable changes to this project will be documented in this file.
- Fix `unsafe-eval` being used when `wasm-unsafe-eval` is enough in Content Security Policy ([Gargron](https://github.com/mastodon/mastodon/pull/20729), [prplecake](https://github.com/mastodon/mastodon/pull/20606))
## [4.0.1] - 2022-11-14
### Fixed
- Fix nodes order being sometimes mangled when rewriting emoji ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20677))
@ -429,6 +543,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix out-of-bound reads in blurhash transcoder ([delroth](https://github.com/mastodon/mastodon/pull/20388))
## [3.5.3] - 2022-05-26
### Added
- **Add language dropdown to compose form in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/18420), [ykzts](https://github.com/mastodon/mastodon/pull/18460))
@ -476,6 +591,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix confirmation redirect to app without `Location` header ([Gargron](https://github.com/mastodon/mastodon/pull/18523))
## [3.5.2] - 2022-05-04
### Added
- Add warning on direct messages screen in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18289))
@ -528,6 +644,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix error in alias settings page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18004))
## [3.5.1] - 2022-04-08
### Added
- Add pagination for trending statuses in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17976))
@ -571,6 +688,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix error when indexing statuses into Elasticsearch ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17912))
## [3.5.0] - 2022-03-30
### Added
- **Add support for incoming edited posts** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748))
@ -770,6 +888,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix being able to bypass e-mail restrictions ([Gargron](https://github.com/mastodon/mastodon/pull/17909))
## [3.4.6] - 2022-02-03
### Fixed
- Fix `mastodon:webpush:generate_vapid_key` task requiring a functional environment ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17338))
@ -784,6 +903,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Disable legacy XSS filtering ([Wonderfall](https://github.com/mastodon/mastodon/pull/17289))
## [3.4.5] - 2022-01-31
### Added
- Add more advanced migration tests ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17393))
@ -798,6 +918,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix followers synchronization mechanism ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16510))
## [3.4.4] - 2021-11-26
### Fixed
- Fix error when suspending user with an already blocked canonical email ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17036))
@ -815,11 +936,13 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix handling of recursive toots in WebUI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17041))
## [3.4.3] - 2021-11-06
### Fixed
- Fix login being broken due to inaccurately applied backport fix in 3.4.2 ([Gargron](https://github.com/mastodon/mastodon/commit/5c47a18c8df3231aa25c6d1f140a71a7fac9cbf9))
## [3.4.2] - 2021-11-06
### Added
- Add `configuration` attribute to `GET /api/v1/instance` ([Gargron](https://github.com/mastodon/mastodon/pull/16485))
@ -863,6 +986,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix revoking a specific session not working ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16943))
## [3.4.1] - 2021-06-03
### Added
- Add new emoji assets from Twemoji 13.1.0 ([Gargron](https://github.com/mastodon/mastodon/pull/16345))
@ -882,6 +1006,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix mailer jobs for deleted notifications erroring out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16294))
## [3.4.0] - 2021-05-16
### Added
- **Add follow recommendations for onboarding** ([Gargron](https://github.com/mastodon/mastodon/pull/15945), [Gargron](https://github.com/mastodon/mastodon/pull/16161), [Gargron](https://github.com/mastodon/mastodon/pull/16060), [Gargron](https://github.com/mastodon/mastodon/pull/16077), [Gargron](https://github.com/mastodon/mastodon/pull/16078), [Gargron](https://github.com/mastodon/mastodon/pull/16160), [Gargron](https://github.com/mastodon/mastodon/pull/16079), [noellabo](https://github.com/mastodon/mastodon/pull/16044), [noellabo](https://github.com/mastodon/mastodon/pull/16045), [Gargron](https://github.com/mastodon/mastodon/pull/16152), [Gargron](https://github.com/mastodon/mastodon/pull/16153), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16082), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16173), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16159), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16189))
@ -917,7 +1042,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- This method allows an app through which a user signed-up to request a new confirmation e-mail to be sent, or to change the e-mail of the account before it is confirmed
- Add `GET /api/v1/accounts/lookup` to REST API ([Gargron](https://github.com/mastodon/mastodon/pull/15740), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/15750))
- This method allows to quickly convert a username of a known account to an ID that can be used with the REST API, or to check if a username is available
for sign-up
for sign-up
- Add `policy` param to `POST /api/v1/push/subscriptions` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/16040))
- This param allows an app to control from whom notifications should be delivered as push notifications to the app
- Add `details` to error response for `POST /api/v1/accounts` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/15803))
@ -1027,6 +1152,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix app name, website and redirect URIs not having a maximum length ([Gargron](https://github.com/mastodon/mastodon/pull/16042))
## [3.3.0] - 2020-12-27
### Added
- **Add hotkeys for audio/video control in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/15158), [Gargron](https://github.com/mastodon/mastodon/pull/15198))
@ -1203,6 +1329,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix resolving accounts sometimes creating duplicate records for a given ActivityPub identifier ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/15364))
## [3.2.2] - 2020-12-19
### Added
- Add `tootctl maintenance fix-duplicates` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14860), [Gargron](https://github.com/mastodon/mastodon/pull/15223))
@ -1229,6 +1356,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix resolving accounts sometimes creating duplicate records for a given ActivityPub identifier ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/15364))
## [3.2.1] - 2020-10-19
### Added
- Add support for latest HTTP Signatures spec draft ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14556))
@ -1258,6 +1386,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix files served as `application/octet-stream` being rejected without attempting mime type detection ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14452))
## [3.2.0] - 2020-07-27
### Added
- Add `SMTP_SSL` environment variable ([OmmyZhang](https://github.com/mastodon/mastodon/pull/14309))
@ -1393,7 +1522,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix unique username constraint for local users not being enforced in database ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14099))
- Fix unnecessary gap under video modal in web UI ([mfmfuyu](https://github.com/mastodon/mastodon/pull/14098))
- Fix 2FA and sign in token pages not respecting user locale ([mfmfuyu](https://github.com/mastodon/mastodon/pull/14087))
- Fix unapproved users being able to view profiles when in limited-federation mode *and* requiring approval for sign-ups ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14093))
- Fix unapproved users being able to view profiles when in limited-federation mode _and_ requiring approval for sign-ups ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14093))
- Fix initial audio volume not corresponding to what's displayed in audio player in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14057))
- Fix timelines sometimes jumping when closing modals in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14019))
- Fix memory usage of downloading remote files ([Gargron](https://github.com/mastodon/mastodon/pull/14184), [Gargron](https://github.com/mastodon/mastodon/pull/14181), [noellabo](https://github.com/mastodon/mastodon/pull/14356))
@ -1411,6 +1540,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Clear out media attachments in a separate worker (slow)
## [3.1.5] - 2020-07-07
### Security
- Fix media attachment enumeration ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/14254))
@ -1418,6 +1548,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix other sessions not being logged out on password change ([Gargron](https://github.com/mastodon/mastodon/pull/14252))
## [3.1.4] - 2020-05-14
### Added
- Add `vi` to available locales ([taicv](https://github.com/mastodon/mastodon/pull/13542))
@ -1456,7 +1587,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix regression in `tootctl media remove-orphans` ([Gargron](https://github.com/mastodon/mastodon/pull/13405))
- Fix old unique jobs digests not having been cleaned up ([Gargron](https://github.com/mastodon/mastodon/pull/13683))
- Fix own following/followers not showing muted users ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13614))
- Fix list of followed people ignoring sorting on Follows & Followers page ([taras2358](https://github.com/mastodon/mastodon/pull/13676))
- Fix list of followed people ignoring sorting on Follows & Followers page ([taras2358](https://github.com/mastodon/mastodon/pull/13676))
- Fix wrong pgHero Content-Security-Policy when `CDN_HOST` is set ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13595))
- Fix needlessly deduplicating usernames on collisions with remote accounts when signing-up through SAML/CAS ([kaiyou](https://github.com/mastodon/mastodon/pull/13581))
- Fix page incorrectly scrolling when bringing up dropdown menus in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13574))
@ -1485,6 +1616,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- The issue only affects developers of apps who are shared between multiple users, such as server-side apps like cross-posters
## [3.1.3] - 2020-04-05
### Added
- Add ability to filter audit log in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/13381))
@ -1558,6 +1690,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix re-sending of e-mail confirmation not being rate limited ([Gargron](https://github.com/mastodon/mastodon/pull/13360))
## [v3.1.2] - 2020-02-27
### Added
- Add `--reset-password` option to `tootctl accounts modify` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/13126))
@ -1584,11 +1717,13 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix leak of arbitrary statuses through unfavourite action in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/13161))
## [3.1.1] - 2020-02-10
### Fixed
- Fix yanked dependency preventing installation ([mayaeh](https://github.com/mastodon/mastodon/pull/13059))
## [3.1.0] - 2020-02-09
### Added
- Add bookmarks ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/7107), [Gargron](https://github.com/mastodon/mastodon/pull/12494), [Gomasy](https://github.com/mastodon/mastodon/pull/12381))
@ -1753,6 +1888,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix settings pages being cacheable by the browser ([Gargron](https://github.com/mastodon/mastodon/pull/12714))
## [3.0.1] - 2019-10-10
### Added
- Add `tootctl media usage` command ([Gargron](https://github.com/mastodon/mastodon/pull/12115))
@ -1786,6 +1922,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix `tootctl accounts cull` advertising unused option flag ([Kjwon15](https://github.com/mastodon/mastodon/pull/12074))
## [3.0.0] - 2019-10-03
### Added
- Add "not available" label to unloaded media attachments in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/11715), [Gargron](https://github.com/mastodon/mastodon/pull/11745))
@ -1982,6 +2119,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix performance of GIF re-encoding and always strip EXIF data from videos ([Gargron](https://github.com/mastodon/mastodon/pull/12057))
## [2.9.3] - 2019-08-10
### Added
- Add GIF and WebP support for custom emojis ([Gargron](https://github.com/mastodon/mastodon/pull/11519))
@ -2041,6 +2179,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix blocked domains still being able to fill database with account records ([Gargron](https://github.com/mastodon/mastodon/pull/11219))
## [2.9.2] - 2019-06-22
### Added
- Add `short_description` and `approval_required` to `GET /api/v1/instance` ([Gargron](https://github.com/mastodon/mastodon/pull/11146))
@ -2055,6 +2194,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix audio not being downloaded from remote servers ([Gargron](https://github.com/mastodon/mastodon/pull/11145))
## [2.9.1] - 2019-06-22
### Added
- Add moderation API ([Gargron](https://github.com/mastodon/mastodon/pull/9387))
@ -2080,6 +2220,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix scrolling behaviour in compose form ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/11093))
## [2.9.0] - 2019-06-13
### Added
- **Add single-column mode in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/10807), [Gargron](https://github.com/mastodon/mastodon/pull/10848), [Gargron](https://github.com/mastodon/mastodon/pull/11003), [Gargron](https://github.com/mastodon/mastodon/pull/10961), [Hanage999](https://github.com/mastodon/mastodon/pull/10915), [noellabo](https://github.com/mastodon/mastodon/pull/10917), [abcang](https://github.com/mastodon/mastodon/pull/10859), [Gargron](https://github.com/mastodon/mastodon/pull/10820), [Gargron](https://github.com/mastodon/mastodon/pull/10835), [Gargron](https://github.com/mastodon/mastodon/pull/10809), [Gargron](https://github.com/mastodon/mastodon/pull/10963), [noellabo](https://github.com/mastodon/mastodon/pull/10883), [Hanage999](https://github.com/mastodon/mastodon/pull/10839))
@ -2134,6 +2275,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix login sometimes redirecting to paths that are not pages ([Gargron](https://github.com/mastodon/mastodon/pull/11019))
## [2.8.4] - 2019-05-24
### Fixed
- Fix delivery not retrying on some inbox errors that should be retriable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10812))
@ -2145,6 +2287,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Require specific OAuth scopes for specific endpoints of the streaming API, instead of merely requiring a token for all endpoints, and allow using WebSockets protocol negotiation to specify the access token instead of using a query string ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10818))
## [2.8.3] - 2019-05-19
### Added
- Add `og:image:alt` OpenGraph tag ([BenLubar](https://github.com/mastodon/mastodon/pull/10779))
@ -2167,6 +2310,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix "invited by" not showing up in admin UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10791))
## [2.8.2] - 2019-05-05
### Added
- Add `SOURCE_TAG` environment variable ([ushitora-anqou](https://github.com/mastodon/mastodon/pull/10698))
@ -2179,6 +2323,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix closing video modal scrolling timelines to top ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10695))
## [2.8.1] - 2019-05-04
### Added
- Add link to existing domain block when trying to block an already-blocked domain ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10663))
@ -2218,6 +2363,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix confirmation modals being too narrow for a secondary action button ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10586))
## [2.8.0] - 2019-04-10
### Added
- Add polls ([Gargron](https://github.com/mastodon/mastodon/pull/10111), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10155), [Gargron](https://github.com/mastodon/mastodon/pull/10184), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10196), [Gargron](https://github.com/mastodon/mastodon/pull/10248), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10255), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10322), [Gargron](https://github.com/mastodon/mastodon/pull/10138), [Gargron](https://github.com/mastodon/mastodon/pull/10139), [Gargron](https://github.com/mastodon/mastodon/pull/10144), [Gargron](https://github.com/mastodon/mastodon/pull/10145),[Gargron](https://github.com/mastodon/mastodon/pull/10146), [Gargron](https://github.com/mastodon/mastodon/pull/10148), [Gargron](https://github.com/mastodon/mastodon/pull/10151), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10150), [Gargron](https://github.com/mastodon/mastodon/pull/10168), [Gargron](https://github.com/mastodon/mastodon/pull/10165), [Gargron](https://github.com/mastodon/mastodon/pull/10172), [Gargron](https://github.com/mastodon/mastodon/pull/10170), [Gargron](https://github.com/mastodon/mastodon/pull/10171), [Gargron](https://github.com/mastodon/mastodon/pull/10186), [Gargron](https://github.com/mastodon/mastodon/pull/10189), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10200), [rinsuki](https://github.com/mastodon/mastodon/pull/10203), [Gargron](https://github.com/mastodon/mastodon/pull/10213), [Gargron](https://github.com/mastodon/mastodon/pull/10246), [Gargron](https://github.com/mastodon/mastodon/pull/10265), [Gargron](https://github.com/mastodon/mastodon/pull/10261), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10333), [Gargron](https://github.com/mastodon/mastodon/pull/10352), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10140), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10142), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10141), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10162), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10161), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10158), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10156), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10160), [Gargron](https://github.com/mastodon/mastodon/pull/10185), [Gargron](https://github.com/mastodon/mastodon/pull/10188), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10195), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10208), [Gargron](https://github.com/mastodon/mastodon/pull/10187), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10214), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/10209))
@ -2301,6 +2447,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix `tootctl accounts cull` sometimes removing accounts that are temporarily unreachable ([BenLubar](https://github.com/mastodon/mastodon/pull/10460))
## [2.7.4] - 2019-03-05
### Fixed
- Fix web UI not cleaning up notifications after block ([Gargron](https://github.com/mastodon/mastodon/pull/10108))
@ -2315,6 +2462,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix edit profile page crash for suspended-then-unsuspended users ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10178))
## [2.7.3] - 2019-02-23
### Added
- Add domain filter to the admin federation page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/10071))
@ -2332,6 +2480,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Change custom emojis to randomize stored file name ([hinaloe](https://github.com/mastodon/mastodon/pull/10090))
## [2.7.2] - 2019-02-17
### Added
- Add support for IPv6 in e-mail validation ([zoc](https://github.com/mastodon/mastodon/pull/10009))
@ -2373,6 +2522,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Change error graphic to hover-to-play ([Gargron](https://github.com/mastodon/mastodon/pull/10055))
## [2.7.1] - 2019-01-28
### Fixed
- Fix SSO authentication not working due to missing agreement boolean ([Gargron](https://github.com/mastodon/mastodon/pull/9915))
@ -2387,6 +2537,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix missing strong style for landing page description ([Kjwon15](https://github.com/mastodon/mastodon/pull/9892))
## [2.7.0] - 2019-01-20
### Added
- Add link for adding a user to a list from their profile ([namelessGonbai](https://github.com/mastodon/mastodon/pull/9062))
@ -2516,6 +2667,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Add tombstones for remote statuses to prevent replay attacks ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/9830))
## [2.6.5] - 2018-12-01
### Changed
- Change lists to display replies to others on the list and list owner ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/9324))
@ -2525,11 +2677,13 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix failures caused by commonly-used JSON-LD contexts being unavailable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/9412))
## [2.6.4] - 2018-11-30
### Fixed
- Fix yarn dependencies not installing due to yanked event-stream package ([Gargron](https://github.com/mastodon/mastodon/pull/9401))
## [2.6.3] - 2018-11-30
### Added
- Add hyphen to characters allowed in remote usernames ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/9345))
@ -2549,6 +2703,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix TLS handshake timeout not being enforced ([Gargron](https://github.com/mastodon/mastodon/pull/9381))
## [2.6.2] - 2018-11-23
### Added
- Add Page to whitelisted ActivityPub types ([mbajur](https://github.com/mastodon/mastodon/pull/9188))
@ -2583,12 +2738,14 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix HTTP connection timeout of 10s not being enforced ([Gargron](https://github.com/mastodon/mastodon/pull/9329))
## [2.6.1] - 2018-10-30
### Fixed
- Fix resolving resources by URL not working due to a regression in [valerauko](https://github.com/mastodon/mastodon/pull/9132) ([Gargron](https://github.com/mastodon/mastodon/pull/9171))
- Fix reducer error in web UI when a conversation has no last status ([Gargron](https://github.com/mastodon/mastodon/pull/9173))
## [2.6.0] - 2018-10-30
### Added
- Add link ownership verification ([Gargron](https://github.com/mastodon/mastodon/pull/8703))
@ -2693,11 +2850,13 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix handling of content types with profile ([valerauko](https://github.com/mastodon/mastodon/pull/9132))
## [2.5.2] - 2018-10-12
### Security
- Fix XSS vulnerability ([Gargron](https://github.com/mastodon/mastodon/pull/8959))
## [2.5.1] - 2018-10-07
### Fixed
- Fix database migrations for PostgreSQL below 9.5 ([Gargron](https://github.com/mastodon/mastodon/pull/8903))

View file

@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities

View file

@ -1,10 +1,10 @@
# Contributing to Mastodon Glitch Edition #
# Contributing to Mastodon Glitch Edition
Thank you for your interest in contributing to the `glitch-soc` project!
Here are some guidelines, and ways you can help.
> (This document is a bit of a work-in-progress, so please bear with us.
> If you don't see what you're looking for here, please don't hesitate to reach out!)
> (This document is a bit of a work-in-progress, so please bear with us.
> If you don't see what you're looking for here, please don't hesitate to reach out!)
## Translations
@ -12,34 +12,32 @@ You can submit glitch-soc-specific translations via [Crowdin](https://crowdin.co
[![Crowdin](https://badges.crowdin.net/glitch-soc/localized.svg)](https://crowdin.com/project/glitch-soc)
## Planning ##
## Planning
Right now a lot of the planning for this project takes place in our development Discord, or through GitHub Issues and Projects.
We're working on ways to improve the planning structure and better solicit feedback, and if you feel like you can help in this respect, feel free to give us a holler.
## Documentation ##
## Documentation
The documentation for this repository is available at [`glitch-soc/docs`](https://github.com/glitch-soc/docs) (online at [glitch-soc.github.io/docs/](https://glitch-soc.github.io/docs/)).
Right now, we've mostly focused on the features that make this fork different from upstream in some manner.
Adding screenshots, improving descriptions, and so forth are all ways to help contribute to the project even if you don't know any code.
## Frontend Development ##
## Frontend Development
Check out [the documentation here](https://glitch-soc.github.io/docs/contributing/frontend/) for more information.
## Backend Development ##
## Backend Development
See the guidelines below.
- - -
---
You should also try to follow the guidelines set out in the original `CONTRIBUTING.md` from `mastodon/mastodon`, reproduced below.
<blockquote>
CONTRIBUTING
=======
Contributing
# Contributing
Thank you for considering contributing to Mastodon 🐘
@ -68,9 +66,9 @@ You can submit translations via [Crowdin](https://crowdin.com/project/mastodon).
Example:
|Not ideal|Better|
|---|----|
|Fixed NoMethodError in RemovalWorker|Fix nil error when removing statuses caused by race condition|
| Not ideal | Better |
| ------------------------------------ | ------------------------------------------------------------- |
| Fixed NoMethodError in RemovalWorker | Fix nil error when removing statuses caused by race condition |
It is not always possible to phrase every change in such a manner, but it is desired.
@ -82,8 +80,6 @@ It is not always possible to phrase every change in such a manner, but it is des
- Code style rules (rubocop, eslint)
- Normalization of locale files (i18n-tasks)
**Note**: You may need to log in and authorise the GitHub account your fork of this repository belongs to with CircleCI to enable some of the automated checks to run.
## Documentation
The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/documentation](https://github.com/mastodon/documentation).

View file

@ -1,4 +1,5 @@
# frozen_string_literal: true
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/scm/git'

View file

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1.4
# This needs to be bullseye-slim because the Ruby image is built on bullseye-slim
ARG NODE_VERSION="16.18.1-bullseye-slim"
ARG NODE_VERSION="16.20-bullseye-slim"
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.0.4-slim as ruby
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.2-slim as ruby
FROM node:${NODE_VERSION} as build
COPY --link --from=ruby /opt/ruby /opt/ruby
@ -18,7 +18,6 @@ COPY Gemfile* package.json yarn.lock /opt/mastodon/
# hadolint ignore=DL3008
RUN apt-get update && \
apt-get install -y --no-install-recommends build-essential \
ca-certificates \
git \
libicu-dev \
libidn11-dev \
@ -37,10 +36,15 @@ RUN apt-get update && \
bundle config set --local without 'development test' && \
bundle config set silence_root_warning true && \
bundle install -j"$(nproc)" && \
yarn install --pure-lockfile --network-timeout 600000
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
ARG MASTODON_VERSION_FLAGS=""
ARG MASTODON_VERSION_SUFFIX=""
ARG UID="991"
ARG GID="991"
@ -51,7 +55,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ENV DEBIAN_FRONTEND="noninteractive" \
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin"
# Ignoreing these here since we don't want to pin any versions and the Debian image removes apt-get content after use
# 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 && \
@ -84,15 +88,16 @@ COPY --chown=mastodon:mastodon --from=build /opt/mastodon /opt/mastodon
ENV RAILS_ENV="production" \
NODE_ENV="production" \
RAILS_SERVE_STATIC_FILES="true" \
BIND="0.0.0.0"
BIND="0.0.0.0" \
MASTODON_VERSION_FLAGS="${MASTODON_VERSION_FLAGS}" \
MASTODON_VERSION_SUFFIX="${MASTODON_VERSION_SUFFIX}"
# Set the run user
USER mastodon
WORKDIR /opt/mastodon
# Precompile assets
RUN OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder rails assets:precompile && \
yarn cache clean
RUN OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder rails assets:precompile
# Set the work dir and the container entry point
ENTRYPOINT ["/usr/bin/tini", "--"]

141
Gemfile
View file

@ -1,27 +1,24 @@
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '>= 2.7.0', '< 3.1.0'
ruby '>= 3.0.0'
gem 'pkg-config', '~> 1.5'
gem 'rexml', '~> 3.2'
gem 'puma', '~> 5.6'
gem 'puma', '~> 6.3'
gem 'rails', '~> 6.1.7'
gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2'
gem 'rack', '~> 2.2.6'
gem 'rack', '~> 2.2.7'
gem 'hamlit-rails', '~> 0.2'
gem 'pg', '~> 1.4'
gem 'haml-rails', '~>2.0'
gem 'pg', '~> 1.5'
gem 'makara', '~> 0.5'
gem 'pghero'
gem 'dotenv-rails', '~> 2.8'
gem 'aws-sdk-s3', '~> 1.119', require: false
gem 'aws-sdk-s3', '~> 1.123', require: false
gem 'fog-core', '<= 2.4.0'
gem 'fog-openstack', '~> 0.3', require: false
gem 'kt-paperclip', '~> 7.1'
gem 'kt-paperclip', '~> 7.2'
gem 'blurhash', '~> 0.1'
gem 'active_model_serializers', '~> 0.10'
@ -29,18 +26,18 @@ gem 'addressable', '~> 2.8'
gem 'bootsnap', '~> 1.16.0', require: false
gem 'browser'
gem 'charlock_holmes', '~> 0.7.7'
gem 'chewy', '~> 7.2'
gem 'devise', '~> 4.8'
gem 'devise-two-factor', '~> 4.0'
gem 'chewy', '~> 7.3'
gem 'devise', '~> 4.9'
gem 'devise-two-factor', '~> 4.1'
group :pam_authentication, optional: true do
gem 'devise_pam_authenticatable2', '~> 9.2'
end
gem 'net-ldap', '~> 0.17'
gem 'net-ldap', '~> 0.18'
gem 'omniauth-cas', '~> 2.0'
gem 'omniauth-saml', '~> 1.10'
gem 'gitlab-omniauth-openid-connect', '~>0.10.1', require: 'omniauth_openid_connect'
gem 'omniauth_openid_connect', '~> 0.6.1'
gem 'omniauth', '~> 1.9'
gem 'omniauth-rails_csrf_protection', '~> 0.1'
@ -60,9 +57,8 @@ gem 'idn-ruby', require: 'idn'
gem 'kaminari', '~> 1.2'
gem 'link_header', '~> 0.0'
gem 'mime-types', '~> 3.4.1', require: 'mime/types/columnar'
gem 'nokogiri', '~> 1.14'
gem 'nsa', '~> 0.2'
gem 'oj', '~> 3.13'
gem 'nokogiri', '~> 1.15'
gem 'oj', '~> 3.14'
gem 'ox', '~> 2.14'
gem 'parslet'
gem 'posix-spawn'
@ -70,84 +66,117 @@ gem 'public_suffix', '~> 5.0'
gem 'pundit', '~> 2.3'
gem 'premailer-rails'
gem 'rack-attack', '~> 6.6'
gem 'rack-cors', '~> 1.1', require: 'rack/cors'
gem 'rack-cors', '~> 2.0', require: 'rack/cors'
gem 'rails-i18n', '~> 6.0'
gem 'rails-settings-cached', '~> 0.6'
gem 'rails-settings-cached', '~> 0.6', git: 'https://github.com/mastodon/rails-settings-cached.git', branch: 'v0.6.6-aliases-true'
gem 'redcarpet', '~> 3.6'
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
gem 'rqrcode', '~> 2.1'
gem 'ruby-progressbar', '~> 1.11'
gem 'rqrcode', '~> 2.2'
gem 'ruby-progressbar', '~> 1.13'
gem 'sanitize', '~> 6.0'
gem 'scenic', '~> 1.7'
gem 'sidekiq', '~> 6.5'
gem 'sidekiq-scheduler', '~> 4.0'
gem 'sidekiq-scheduler', '~> 5.0'
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.7'
gem 'strong_migrations', '~> 0.8'
gem 'tty-prompt', '~> 0.23', require: false
gem 'twitter-text', '~> 3.1.0'
gem 'tzinfo-data', '~> 1.2022'
gem 'tzinfo-data', '~> 1.2023'
gem 'webpacker', '~> 5.4'
gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9'
gem 'webauthn', '~> 2.5'
gem 'webauthn', '~> 3.0'
gem 'json-ld'
gem 'json-ld-preloaded', '~> 3.2'
gem 'rdf-normalize', '~> 0.5'
group :development, :test do
gem 'fabrication', '~> 2.30'
gem 'fuubar', '~> 2.5'
gem 'i18n-tasks', '~> 1.0', require: false
gem 'pry-byebug', '~> 3.10'
gem 'pry-rails', '~> 0.3'
gem 'rspec-rails', '~> 5.1'
gem 'rubocop-performance', require: false
gem 'rubocop-rails', require: false
gem 'rubocop-rspec', require: false
gem 'rubocop', require: false
end
group :production, :test do
gem 'private_address_check', '~> 0.5'
end
gem 'private_address_check', '~> 0.5'
group :test do
gem 'capybara', '~> 3.38'
gem 'climate_control', '~> 0.2'
gem 'faker', '~> 3.1'
gem 'json-schema', '~> 3.0'
gem 'rack-test', '~> 2.0'
gem 'rails-controller-testing', '~> 1.0'
gem 'rspec_junit_formatter', '~> 0.6'
# RSpec runner for rails
gem 'rspec-rails', '~> 6.0'
# Used to split testing into chunks in CI
gem 'rspec_chunked', '~> 0.6'
# RSpec progress bar formatter
gem 'fuubar', '~> 2.5'
# Extra RSpec extenion methods and helpers for sidekiq
gem 'rspec-sidekiq', '~> 3.1'
# Browser integration testing
gem 'capybara', '~> 3.39'
# Used to mock environment variables
gem 'climate_control', '~> 0.2'
# Generating fake data for specs
gem 'faker', '~> 3.2'
# Generate test objects for specs
gem 'fabrication', '~> 2.30'
# Add back helpers functions removed in Rails 5.1
gem 'rails-controller-testing', '~> 1.0'
# Validate schemas in specs
gem 'json-schema', '~> 4.0'
# Test harness fo rack components
gem 'rack-test', '~> 2.1'
# Coverage formatter for RSpec test if DISABLE_SIMPLECOV is false
gem 'simplecov', '~> 0.22', require: false
# Stub web requests for specs
gem 'webmock', '~> 3.18'
end
group :development do
gem 'active_record_query_trace', '~> 1.8'
# Code linting CLI and plugins
gem 'rubocop', require: false
gem 'rubocop-capybara', require: false
gem 'rubocop-performance', require: false
gem 'rubocop-rails', require: false
gem 'rubocop-rspec', require: false
# Annotates modules with schema
gem 'annotate', '~> 3.2'
# Enhanced error message pages for development
gem 'better_errors', '~> 2.9'
gem 'binding_of_caller', '~> 1.0'
gem 'bullet', '~> 7.0'
# Preview mail in the browser
gem 'letter_opener', '~> 1.8'
gem 'letter_opener_web', '~> 2.0'
gem 'memory_profiler'
# Security analysis CLI tools
gem 'brakeman', '~> 5.4', require: false
gem 'bundler-audit', '~> 0.9', require: false
# 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'
gem 'stackprof'
# Validate missing i18n keys
gem 'i18n-tasks', '~> 1.0', require: false
# Profiling tools
gem 'memory_profiler', require: false
gem 'stackprof', require: false
end
group :production do
@ -158,5 +187,9 @@ gem 'concurrent-ruby', require: false
gem 'connection_pool', require: false
gem 'xorcist', '~> 1.1'
gem 'hcaptcha', '~> 7.1'
gem 'cocoon', '~> 1.2'
gem 'net-http', '~> 0.3.2'
gem 'rubyzip', '~> 2.3'
gem 'hcaptcha', '~> 7.1'

View file

@ -7,43 +7,51 @@ GIT
hkdf (~> 0.2)
jwt (~> 2.0)
GIT
remote: https://github.com/mastodon/rails-settings-cached.git
revision: 86328ef0bd04ce21cc0504ff5e334591e8c2ccab
branch: v0.6.6-aliases-true
specs:
rails-settings-cached (0.6.6)
rails (>= 4.2.0)
GEM
remote: https://rubygems.org/
specs:
actioncable (6.1.7.2)
actionpack (= 6.1.7.2)
activesupport (= 6.1.7.2)
actioncable (6.1.7.4)
actionpack (= 6.1.7.4)
activesupport (= 6.1.7.4)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.1.7.2)
actionpack (= 6.1.7.2)
activejob (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
actionmailbox (6.1.7.4)
actionpack (= 6.1.7.4)
activejob (= 6.1.7.4)
activerecord (= 6.1.7.4)
activestorage (= 6.1.7.4)
activesupport (= 6.1.7.4)
mail (>= 2.7.1)
actionmailer (6.1.7.2)
actionpack (= 6.1.7.2)
actionview (= 6.1.7.2)
activejob (= 6.1.7.2)
activesupport (= 6.1.7.2)
actionmailer (6.1.7.4)
actionpack (= 6.1.7.4)
actionview (= 6.1.7.4)
activejob (= 6.1.7.4)
activesupport (= 6.1.7.4)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.7.2)
actionview (= 6.1.7.2)
activesupport (= 6.1.7.2)
actionpack (6.1.7.4)
actionview (= 6.1.7.4)
activesupport (= 6.1.7.4)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.1.7.2)
actionpack (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
actiontext (6.1.7.4)
actionpack (= 6.1.7.4)
activerecord (= 6.1.7.4)
activestorage (= 6.1.7.4)
activesupport (= 6.1.7.4)
nokogiri (>= 1.8.5)
actionview (6.1.7.2)
activesupport (= 6.1.7.2)
actionview (6.1.7.4)
activesupport (= 6.1.7.4)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@ -53,29 +61,28 @@ GEM
activemodel (>= 4.1, < 7.1)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
active_record_query_trace (1.8)
activejob (6.1.7.2)
activesupport (= 6.1.7.2)
activejob (6.1.7.4)
activesupport (= 6.1.7.4)
globalid (>= 0.3.6)
activemodel (6.1.7.2)
activesupport (= 6.1.7.2)
activerecord (6.1.7.2)
activemodel (= 6.1.7.2)
activesupport (= 6.1.7.2)
activestorage (6.1.7.2)
actionpack (= 6.1.7.2)
activejob (= 6.1.7.2)
activerecord (= 6.1.7.2)
activesupport (= 6.1.7.2)
activemodel (6.1.7.4)
activesupport (= 6.1.7.4)
activerecord (6.1.7.4)
activemodel (= 6.1.7.4)
activesupport (= 6.1.7.4)
activestorage (6.1.7.4)
actionpack (= 6.1.7.4)
activejob (= 6.1.7.4)
activerecord (= 6.1.7.4)
activesupport (= 6.1.7.4)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (6.1.7.2)
activesupport (6.1.7.4)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.1)
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
aes_key_wrap (1.1.0)
airbrussh (1.4.1)
@ -85,31 +92,31 @@ GEM
activerecord (>= 3.2, < 8.0)
rake (>= 10.4, < 14.0)
ast (2.4.2)
attr_encrypted (3.1.0)
attr_encrypted (4.0.0)
encryptor (~> 3.0.0)
attr_required (1.0.1)
awrence (1.2.1)
aws-eventstream (1.2.0)
aws-partitions (1.701.0)
aws-sdk-core (3.170.0)
aws-partitions (1.780.0)
aws-sdk-core (3.175.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.62.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (1.67.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.119.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-s3 (1.126.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.2)
aws-eventstream (~> 1, >= 1.0.2)
bcrypt (3.1.17)
better_errors (2.9.1)
coderay (>= 1.0.0)
bcrypt (3.1.18)
better_errors (2.10.1)
erubi (>= 1.0.0)
rack (>= 0.9.0)
rouge (>= 1.0.0)
better_html (2.0.1)
actionview (>= 6.0)
activesupport (>= 6.0)
@ -117,32 +124,27 @@ GEM
erubi (~> 1.4)
parser (>= 2.4)
smart_properties
bindata (2.4.14)
bindata (2.4.15)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
blurhash (0.1.6)
ffi (~> 1.14)
blurhash (0.1.7)
bootsnap (1.16.0)
msgpack (~> 1.2)
brakeman (5.4.0)
browser (4.2.0)
brakeman (5.4.1)
browser (5.3.1)
brpoplpush-redis_script (0.1.3)
concurrent-ruby (~> 1.0, >= 1.0.5)
redis (>= 1.0, < 6)
builder (3.2.4)
bullet (7.0.7)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
bundler-audit (0.9.1)
bundler (>= 1.2.0, < 3)
thor (~> 1.0)
byebug (11.1.3)
capistrano (3.17.1)
capistrano (3.17.3)
airbrussh (>= 1.0.0)
i18n
rake (>= 10.0.0)
sshkit (>= 1.9.0)
capistrano-bundler (2.0.1)
capistrano-bundler (2.1.0)
capistrano (~> 3.1)
capistrano-rails (1.6.2)
capistrano (~> 3.1)
@ -152,7 +154,7 @@ GEM
sshkit (~> 1.3)
capistrano-yarn (2.0.2)
capistrano (~> 3.0)
capybara (3.38.0)
capybara (3.39.2)
addressable
matrix
mini_mime (>= 0.1.3)
@ -165,36 +167,35 @@ GEM
activesupport
cbor (0.5.9.6)
charlock_holmes (0.7.7)
chewy (7.2.4)
chewy (7.3.2)
activesupport (>= 5.2)
elasticsearch (>= 7.12.0, < 7.14.0)
elasticsearch-dsl
chunky_png (1.4.0)
climate_control (0.2.0)
cocoon (1.2.15)
coderay (1.1.3)
color_diff (0.1)
concurrent-ruby (1.2.0)
connection_pool (2.3.0)
cose (1.2.1)
concurrent-ruby (1.2.2)
connection_pool (2.4.1)
cose (1.3.0)
cbor (~> 0.5.9)
openssl-signature_algorithm (~> 1.0)
crack (0.4.5)
rexml
crass (1.0.6)
css_parser (1.12.0)
css_parser (1.14.0)
addressable
date (3.3.3)
debug_inspector (1.0.0)
devise (4.8.1)
debug_inspector (1.1.0)
devise (4.9.2)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
devise-two-factor (4.0.2)
devise-two-factor (4.1.0)
activesupport (< 7.1)
attr_encrypted (>= 1.3, < 4, != 2)
attr_encrypted (>= 1.3, < 5, != 2)
devise (~> 4.0)
railties (< 7.1)
rotp (~> 6.0)
@ -207,7 +208,7 @@ GEM
docile (1.4.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
doorkeeper (5.6.4)
doorkeeper (5.6.6)
railties (>= 5)
dotenv (2.8.1)
dotenv-rails (2.8.1)
@ -227,11 +228,11 @@ GEM
erubi (1.12.0)
et-orbi (1.2.7)
tzinfo
excon (0.95.0)
excon (0.100.0)
fabrication (2.30.0)
faker (3.1.1)
faker (3.2.0)
i18n (>= 1.8.11, < 2)
faraday (1.9.3)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@ -247,15 +248,15 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
fast_blank (1.0.1)
fastimage (2.2.6)
fastimage (2.2.7)
ffi (1.15.5)
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
@ -273,32 +274,34 @@ GEM
fog-json (>= 1.0)
ipaddress (>= 0.8)
formatador (0.3.0)
fugit (1.7.1)
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)
gitlab-omniauth-openid-connect (0.10.1)
addressable (~> 2.7)
omniauth (>= 1.9, < 3)
openid_connect (~> 1.2)
globalid (1.1.0)
activesupport (>= 5.0)
hamlit (2.13.0)
haml (6.1.1)
temple (>= 0.8.2)
thor
tilt
hamlit-rails (0.2.3)
actionpack (>= 4.0.1)
activesupport (>= 4.0.1)
hamlit (>= 1.2.0)
railties (>= 4.0.1)
haml-rails (2.1.0)
actionpack (>= 5.1)
activesupport (>= 5.1)
haml (>= 4.0.6)
railties (>= 5.1)
haml_lint (0.45.0)
haml (>= 4.0, < 6.2)
parallel (~> 1.10)
rainbow
rubocop (>= 0.50.0)
sysexits (~> 1.1)
hashdiff (1.0.1)
hashie (5.0.0)
hcaptcha (7.1.0)
json
highline (2.0.3)
highline (2.1.0)
hiredis (0.6.3)
hkdf (0.3.0)
htmlentities (4.3.4)
@ -315,7 +318,7 @@ GEM
httplog (1.6.2)
rack (>= 2.0)
rainbow (>= 2.0.0)
i18n (1.12.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
i18n-tasks (1.0.12)
activesupport (>= 4.0.2)
@ -332,26 +335,26 @@ GEM
ipaddress (0.8.3)
jmespath (1.6.2)
json (2.6.3)
json-canonicalization (0.3.0)
json-canonicalization (0.3.2)
json-jwt (1.15.3)
activesupport (>= 4.2)
aes_key_wrap
bindata
httpclient
json-ld (3.2.3)
json-ld (3.2.5)
htmlentities (~> 4.3)
json-canonicalization (~> 0.3)
json-canonicalization (~> 0.3, >= 0.3.2)
link_header (~> 0.0, >= 0.0.8)
multi_json (~> 1.15)
rack (~> 2.2)
rdf (~> 3.2, >= 3.2.9)
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 (3.0.0)
json-schema (4.0.0)
addressable (>= 2.8)
jsonapi-renderer (0.2.2)
jwt (2.5.0)
jwt (2.7.1)
kaminari (1.2.2)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.2.2)
@ -364,14 +367,14 @@ GEM
activerecord
kaminari-core (= 1.2.2)
kaminari-core (1.2.2)
kt-paperclip (7.1.1)
kt-paperclip (7.2.0)
activemodel (>= 4.2.0)
activesupport (>= 4.2.0)
marcel (~> 1.0.1)
mime-types
terrapin (~> 0.6.0)
launchy (2.5.0)
addressable (~> 2.7)
launchy (2.5.2)
addressable (~> 2.8)
letter_opener (1.8.1)
launchy (>= 2.2, < 3)
letter_opener_web (2.0.0)
@ -388,10 +391,10 @@ GEM
activesupport (>= 4)
railties (>= 4)
request_store (~> 1.0)
loofah (2.19.1)
loofah (2.21.3)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.8.0.1)
nokogiri (>= 1.12.0)
mail (2.8.1)
mini_mime (>= 0.1.1)
net-imap
net-pop
@ -406,36 +409,33 @@ GEM
method_source (1.0.0)
mime-types (3.4.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2022.0105)
mime-types-data (3.2023.0218.1)
mini_mime (1.1.2)
mini_portile2 (2.8.1)
minitest (5.17.0)
msgpack (1.6.0)
mini_portile2 (2.8.2)
minitest (5.18.1)
msgpack (1.7.1)
multi_json (1.15.0)
multipart-post (2.1.1)
net-imap (0.3.4)
multipart-post (2.3.0)
net-http (0.3.2)
uri
net-imap (0.3.6)
date
net-protocol
net-ldap (0.17.1)
net-ldap (0.18.0)
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
timeout
net-scp (4.0.0.rc1)
net-scp (4.0.0)
net-ssh (>= 2.6.5, < 8.0.0)
net-smtp (0.3.3)
net-protocol
net-ssh (7.0.1)
nio4r (2.5.8)
nokogiri (1.14.1)
mini_portile2 (~> 2.8.0)
net-ssh (7.1.0)
nio4r (2.5.9)
nokogiri (1.15.2)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nsa (0.2.8)
activesupport (>= 4.2, < 7)
concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.13.23)
oj (3.15.0)
omniauth (1.9.2)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
@ -449,6 +449,9 @@ GEM
omniauth-saml (1.10.3)
omniauth (~> 1.3, >= 1.3.2)
ruby-saml (~> 1.9)
omniauth_openid_connect (0.6.1)
omniauth (>= 1.9, < 3)
openid_connect (~> 1.1)
openid_connect (1.4.2)
activemodel
attr_required (>= 1.0.0)
@ -460,23 +463,23 @@ GEM
validate_email
validate_url
webfinger (~> 1.2)
openssl (3.0.0)
openssl-signature_algorithm (1.2.1)
openssl (> 2.0, < 3.1)
openssl (3.1.0)
openssl-signature_algorithm (1.3.0)
openssl (> 2.0)
orm_adapter (0.5.0)
ox (2.14.14)
parallel (1.22.1)
parser (3.2.0.0)
ox (2.14.16)
parallel (1.23.0)
parser (3.2.2.3)
ast (~> 2.4.1)
racc
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
pg (1.4.5)
pghero (3.1.0)
pg (1.5.3)
pghero (3.3.3)
activerecord (>= 6)
pkg-config (1.5.1)
posix-spawn (0.3.15)
premailer (1.18.0)
premailer (1.21.0)
addressable
css_parser (>= 1.12.0)
htmlentities (>= 4.0.0)
@ -485,25 +488,17 @@ GEM
net-smtp
premailer (~> 1.7, >= 1.7.9)
private_address_check (0.5.0)
pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
byebug (~> 11.0)
pry (>= 0.13, < 0.15)
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (5.0.1)
puma (5.6.5)
puma (6.3.0)
nio4r (~> 2.0)
pundit (2.3.0)
activesupport (>= 3.0.0)
raabro (1.4.0)
racc (1.6.2)
rack (2.2.6.2)
racc (1.7.1)
rack (2.2.7)
rack-attack (6.6.1)
rack (>= 1.0, < 3)
rack-cors (1.1.1)
rack-cors (2.0.1)
rack (>= 2.0.0)
rack-oauth2 (1.21.3)
activesupport
@ -513,22 +508,22 @@ GEM
rack (>= 2.1.0)
rack-proxy (0.7.6)
rack
rack-test (2.0.2)
rack-test (2.1.0)
rack (>= 1.3)
rails (6.1.7.2)
actioncable (= 6.1.7.2)
actionmailbox (= 6.1.7.2)
actionmailer (= 6.1.7.2)
actionpack (= 6.1.7.2)
actiontext (= 6.1.7.2)
actionview (= 6.1.7.2)
activejob (= 6.1.7.2)
activemodel (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
rails (6.1.7.4)
actioncable (= 6.1.7.4)
actionmailbox (= 6.1.7.4)
actionmailer (= 6.1.7.4)
actionpack (= 6.1.7.4)
actiontext (= 6.1.7.4)
actionview (= 6.1.7.4)
activejob (= 6.1.7.4)
activemodel (= 6.1.7.4)
activerecord (= 6.1.7.4)
activestorage (= 6.1.7.4)
activesupport (= 6.1.7.4)
bundler (>= 1.15.0)
railties (= 6.1.7.2)
railties (= 6.1.7.4)
sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
@ -537,96 +532,99 @@ GEM
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
rails-i18n (6.0.0)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 7)
rails-settings-cached (0.6.6)
rails (>= 4.2.0)
railties (6.1.7.2)
actionpack (= 6.1.7.2)
activesupport (= 6.1.7.2)
railties (6.1.7.4)
actionpack (= 6.1.7.4)
activesupport (= 6.1.7.4)
method_source
rake (>= 12.2)
thor (~> 1.0)
rainbow (3.1.1)
rake (13.0.6)
rdf (3.2.9)
rdf (3.2.11)
link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.5.1)
rdf-normalize (0.6.0)
rdf (~> 3.2)
redcarpet (3.6.0)
redis (4.5.1)
redis-namespace (1.10.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.6.2)
regexp_parser (2.8.1)
request_store (1.5.1)
rack (>= 1.4)
responders (3.0.1)
actionpack (>= 5.0)
railties (>= 5.0)
responders (3.1.0)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.2.5)
rotp (6.2.0)
rotp (6.2.2)
rouge (4.1.2)
rpam2 (4.0.2)
rqrcode (2.1.2)
rqrcode (2.2.0)
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
rqrcode_core (1.2.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-mocks (3.11.1)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-rails (5.1.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
railties (>= 5.2)
rspec-core (~> 3.10)
rspec-expectations (~> 3.10)
rspec-mocks (~> 3.10)
rspec-support (~> 3.10)
rspec-support (~> 3.12.0)
rspec-rails (6.0.3)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.12)
rspec-expectations (~> 3.12)
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
rspec-sidekiq (3.1.0)
rspec-core (~> 3.0, >= 3.0.0)
sidekiq (>= 2.4.0)
rspec-support (3.11.1)
rspec_junit_formatter (0.6.0)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (1.44.1)
rspec-support (3.12.0)
rspec_chunked (0.6)
rubocop (1.52.1)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.2.0.0)
parser (>= 3.2.2.3)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.24.1, < 2.0)
rubocop-ast (>= 1.28.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.24.1)
parser (>= 3.1.1.0)
rubocop-capybara (2.17.0)
rubocop-ast (1.29.0)
parser (>= 3.2.1.0)
rubocop-capybara (2.18.0)
rubocop (~> 1.41)
rubocop-performance (1.16.0)
rubocop-factory_bot (2.23.1)
rubocop (~> 1.33)
rubocop-performance (1.18.0)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
rubocop-rails (2.17.4)
rubocop-rails (2.19.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-rspec (2.18.1)
rubocop-rspec (2.22.0)
rubocop (~> 1.33)
rubocop-capybara (~> 2.17)
ruby-progressbar (1.11.0)
ruby-saml (1.13.0)
nokogiri (>= 1.10.5)
rubocop-factory_bot (~> 2.22)
ruby-progressbar (1.13.0)
ruby-saml (1.15.0)
nokogiri (>= 1.13.10)
rexml
ruby2_keywords (0.0.5)
rufus-scheduler (3.8.2)
rubyzip (2.3.2)
rufus-scheduler (3.9.1)
fugit (~> 1.1, >= 1.1.6)
safety_net_attestation (0.4.0)
jwt (~> 2.0)
@ -637,16 +635,15 @@ GEM
activerecord (>= 4.0.0)
railties (>= 4.0.0)
semantic_range (3.0.0)
sidekiq (6.5.8)
sidekiq (6.5.9)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
sidekiq-bulk (0.2.0)
sidekiq
sidekiq-scheduler (4.0.3)
redis (>= 4.2.0)
sidekiq-scheduler (5.0.3)
rufus-scheduler (~> 3.2)
sidekiq (>= 4, < 7)
sidekiq (>= 6, < 8)
tilt (>= 1.4.0)
sidekiq-unique-jobs (7.1.29)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
@ -673,30 +670,30 @@ GEM
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
sshkit (1.21.2)
sshkit (1.21.4)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
stackprof (0.2.23)
statsd-ruby (1.5.0)
stackprof (0.2.25)
stoplight (3.0.1)
redlock (~> 1.0)
strong_migrations (0.7.9)
activerecord (>= 5)
strong_migrations (0.8.0)
activerecord (>= 5.2)
swd (1.3.0)
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
temple (0.8.2)
sysexits (1.2.0)
temple (0.10.2)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0)
thor (1.2.1)
tilt (2.0.11)
timeout (0.3.1)
tpm-key_attestation (0.11.0)
thor (1.2.2)
tilt (2.2.0)
timeout (0.3.2)
tpm-key_attestation (0.12.0)
bindata (~> 2.4)
openssl (> 2.0, < 3.1)
openssl (> 2.0)
openssl-signature_algorithm (~> 1.0)
tty-color (0.6.0)
tty-cursor (0.7.1)
@ -713,13 +710,13 @@ GEM
unf (~> 0.1.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2022.7)
tzinfo-data (1.2023.3)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
uniform_notifier (1.16.0)
uri (0.12.2)
validate_email (0.1.6)
activemodel (>= 3.0)
mail (>= 2.2.5)
@ -728,15 +725,15 @@ GEM
public_suffix
warden (1.2.9)
rack (>= 2.0.9)
webauthn (2.5.2)
webauthn (3.0.0)
android_key_attestation (~> 0.3.0)
awrence (~> 1.1)
bindata (~> 2.4)
cbor (~> 0.5.9)
cose (~> 1.1)
openssl (>= 2.2, < 3.1)
openssl (>= 2.2)
safety_net_attestation (~> 0.4.0)
tpm-key_attestation (~> 0.11.0)
tpm-key_attestation (~> 0.12.0)
webfinger (1.2.0)
activesupport
httpclient (>= 2.4)
@ -756,53 +753,51 @@ GEM
xorcist (1.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.6)
zeitwerk (2.6.8)
PLATFORMS
ruby
DEPENDENCIES
active_model_serializers (~> 0.10)
active_record_query_trace (~> 1.8)
addressable (~> 2.8)
annotate (~> 3.2)
aws-sdk-s3 (~> 1.119)
aws-sdk-s3 (~> 1.123)
better_errors (~> 2.9)
binding_of_caller (~> 1.0)
blurhash (~> 0.1)
bootsnap (~> 1.16.0)
brakeman (~> 5.4)
browser
bullet (~> 7.0)
bundler-audit (~> 0.9)
capistrano (~> 3.17)
capistrano-rails (~> 1.6)
capistrano-rbenv (~> 2.2)
capistrano-yarn (~> 2.0)
capybara (~> 3.38)
capybara (~> 3.39)
charlock_holmes (~> 0.7.7)
chewy (~> 7.2)
chewy (~> 7.3)
climate_control (~> 0.2)
cocoon (~> 1.2)
color_diff (~> 0.1)
concurrent-ruby
connection_pool
devise (~> 4.8)
devise-two-factor (~> 4.0)
devise (~> 4.9)
devise-two-factor (~> 4.1)
devise_pam_authenticatable2 (~> 9.2)
discard (~> 1.2)
doorkeeper (~> 5.6)
dotenv-rails (~> 2.8)
ed25519 (~> 1.3)
fabrication (~> 2.30)
faker (~> 3.1)
faker (~> 3.2)
fast_blank (~> 1.0)
fastimage
fog-core (<= 2.4.0)
fog-openstack (~> 0.3)
fuubar (~> 2.5)
gitlab-omniauth-openid-connect (~> 0.10.1)
hamlit-rails (~> 0.2)
haml-rails (~> 2.0)
haml_lint
hcaptcha (~> 7.1)
hiredis (~> 0.6)
htmlentities (~> 4.3)
@ -813,9 +808,9 @@ DEPENDENCIES
idn-ruby
json-ld
json-ld-preloaded (~> 3.2)
json-schema (~> 3.0)
json-schema (~> 4.0)
kaminari (~> 1.2)
kt-paperclip (~> 7.1)
kt-paperclip (~> 7.2)
letter_opener (~> 1.8)
letter_opener_web (~> 2.0)
link_header (~> 0.0)
@ -824,54 +819,53 @@ DEPENDENCIES
mario-redis-lock (~> 1.2)
memory_profiler
mime-types (~> 3.4.1)
net-ldap (~> 0.17)
nokogiri (~> 1.14)
nsa (~> 0.2)
oj (~> 3.13)
net-http (~> 0.3.2)
net-ldap (~> 0.18)
nokogiri (~> 1.15)
oj (~> 3.14)
omniauth (~> 1.9)
omniauth-cas (~> 2.0)
omniauth-rails_csrf_protection (~> 0.1)
omniauth-saml (~> 1.10)
omniauth_openid_connect (~> 0.6.1)
ox (~> 2.14)
parslet
pg (~> 1.4)
pg (~> 1.5)
pghero
pkg-config (~> 1.5)
posix-spawn
premailer-rails
private_address_check (~> 0.5)
pry-byebug (~> 3.10)
pry-rails (~> 0.3)
public_suffix (~> 5.0)
puma (~> 5.6)
puma (~> 6.3)
pundit (~> 2.3)
rack (~> 2.2.6)
rack (~> 2.2.7)
rack-attack (~> 6.6)
rack-cors (~> 1.1)
rack-test (~> 2.0)
rack-cors (~> 2.0)
rack-test (~> 2.1)
rails (~> 6.1.7)
rails-controller-testing (~> 1.0)
rails-i18n (~> 6.0)
rails-settings-cached (~> 0.6)
rails-settings-cached (~> 0.6)!
rdf-normalize (~> 0.5)
redcarpet (~> 3.6)
redis (~> 4.5)
redis-namespace (~> 1.10)
rexml (~> 3.2)
rqrcode (~> 2.1)
rspec-rails (~> 5.1)
rqrcode (~> 2.2)
rspec-rails (~> 6.0)
rspec-sidekiq (~> 3.1)
rspec_junit_formatter (~> 0.6)
rspec_chunked (~> 0.6)
rubocop
rubocop-capybara
rubocop-performance
rubocop-rails
rubocop-rspec
ruby-progressbar (~> 1.11)
ruby-progressbar (~> 1.13)
rubyzip (~> 2.3)
sanitize (~> 6.0)
scenic (~> 1.7)
sidekiq (~> 6.5)
sidekiq-bulk (~> 0.2.0)
sidekiq-scheduler (~> 4.0)
sidekiq-scheduler (~> 5.0)
sidekiq-unique-jobs (~> 7.1)
simple-navigation (~> 4.4)
simple_form (~> 5.2)
@ -880,13 +874,19 @@ DEPENDENCIES
sprockets-rails (~> 3.4)
stackprof
stoplight (~> 3.0.1)
strong_migrations (~> 0.7)
strong_migrations (~> 0.8)
thor (~> 1.2)
tty-prompt (~> 0.23)
twitter-text (~> 3.1.0)
tzinfo-data (~> 1.2022)
webauthn (~> 2.5)
tzinfo-data (~> 1.2023)
webauthn (~> 3.0)
webmock (~> 3.18)
webpacker (~> 5.4)
webpush!
xorcist (~> 1.1)
RUBY VERSION
ruby 3.2.2p53
BUNDLED WITH
2.4.13

View file

@ -1,6 +1,6 @@
# Mastodon Glitch Edition #
# Mastodon Glitch Edition
> Now with automated deploys!
> Now with automated deploys!
[![Build Status](https://img.shields.io/circleci/project/github/glitch-soc/mastodon.svg)][circleci]
[![Code Climate](https://img.shields.io/codeclimate/maintainability/glitch-soc/mastodon.svg)][code_climate]

View file

@ -2,7 +2,7 @@
If you believe you've identified a security vulnerability in Mastodon (a bug that allows something to happen that shouldn't be possible), you can reach us at <security@joinmastodon.org>.
You should *not* report such issues on GitHub or in other public spaces to give us time to publish a fix for the issue without exposing Mastodon's users to increased risk.
You should _not_ report such issues on GitHub or in other public spaces to give us time to publish a fix for the issue without exposing Mastodon's users to increased risk.
## Scope
@ -11,7 +11,8 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
## Supported Versions
| Version | Supported |
| ------- | ----------|
| ------- | --------- |
| 4.1.x | Yes |
| 4.0.x | Yes |
| 3.5.x | Yes |
| < 3.5 | No |

View file

@ -2,8 +2,37 @@
class AccountsIndex < Chewy::Index
settings index: { refresh_interval: '30s' }, analysis: {
filter: {
english_stop: {
type: 'stop',
stopwords: '_english_',
},
english_stemmer: {
type: 'stemmer',
language: 'english',
},
english_possessive_stemmer: {
type: 'stemmer',
language: 'possessive_english',
},
},
analyzer: {
content: {
natural: {
tokenizer: 'uax_url_email',
filter: %w(
english_possessive_stemmer
lowercase
asciifolding
cjk_width
english_stop
english_stemmer
),
},
verbatim: {
tokenizer: 'whitespace',
filter: %w(lowercase asciifolding cjk_width),
},
@ -26,18 +55,13 @@ class AccountsIndex < Chewy::Index
index_scope ::Account.searchable.includes(:account_stat)
root date_detection: false do
field :id, type: 'long'
field :display_name, type: 'text', analyzer: 'content' do
field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content'
end
field :acct, type: 'text', analyzer: 'content', value: ->(account) { [account.username, account.domain].compact.join('@') } do
field :edge_ngram, type: 'text', analyzer: 'edge_ngram', search_analyzer: 'content'
end
field :following_count, type: 'long', value: ->(account) { account.following_count }
field :followers_count, type: 'long', value: ->(account) { account.followers_count }
field :last_status_at, type: 'date', value: ->(account) { account.last_status_at || account.created_at }
field(:id, type: 'long')
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(: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', value: ->(account) { account.searchable_text }) { field :stemmed, type: 'text', analyzer: 'natural' }
end
end

View file

@ -8,7 +8,7 @@ class AboutController < ApplicationController
before_action :set_instance_presenter
def show
expires_in 0, public: true unless user_signed_in?
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.day) unless user_signed_in?
end
private

View file

@ -7,8 +7,9 @@ class AccountsController < ApplicationController
include AccountControllerConcern
include SignatureAuthentication
vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }
before_action :require_account_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
before_action :set_cache_headers
skip_around_action :set_locale, if: -> { [:json, :rss].include?(request.format&.to_sym) }
skip_before_action :require_functional!, unless: :whitelist_mode?
@ -16,7 +17,7 @@ class AccountsController < ApplicationController
def show
respond_to do |format|
format.html do
expires_in 0, public: true unless user_signed_in?
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

View file

@ -7,10 +7,6 @@ class ActivityPub::BaseController < Api::BaseController
private
def set_cache_headers
response.headers['Vary'] = 'Signature' if authorized_fetch_mode?
end
def skip_temporary_suspension_response?
false
end

View file

@ -4,11 +4,12 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController
include SignatureVerification
include AccountOwnedConcern
vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!, if: :authorized_fetch_mode?
before_action :set_items
before_action :set_size
before_action :set_type
before_action :set_cache_headers
def show
expires_in 3.minutes, public: public_fetch_mode?

View file

@ -4,9 +4,10 @@ class ActivityPub::FollowersSynchronizationsController < ActivityPub::BaseContro
include SignatureVerification
include AccountOwnedConcern
vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!
before_action :set_items
before_action :set_cache_headers
def show
expires_in 0, public: false

View file

@ -6,9 +6,10 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
include SignatureVerification
include AccountOwnedConcern
vary_by -> { 'Signature' if authorized_fetch_mode? || page_requested? }
before_action :require_account_signature!, if: :authorized_fetch_mode?
before_action :set_statuses
before_action :set_cache_headers
def show
if page_requested?
@ -16,6 +17,7 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
else
expires_in(3.minutes, public: public_fetch_mode?)
end
render json: outbox_presenter, serializer: ActivityPub::OutboxSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end
@ -80,8 +82,4 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
def set_account
@account = params[:account_username].present? ? Account.find_local!(username_param) : Account.representative
end
def set_cache_headers
response.headers['Vary'] = 'Signature' if authorized_fetch_mode? || page_requested?
end
end

View file

@ -7,9 +7,10 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
DESCENDANTS_LIMIT = 60
vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!, if: :authorized_fetch_mode?
before_action :set_status
before_action :set_cache_headers
before_action :set_replies
def index

View file

@ -14,6 +14,10 @@ class Admin::AnnouncementsController < Admin::BaseController
@announcement = Announcement.new
end
def edit
authorize :announcement, :update?
end
def create
authorize :announcement, :create?
@ -28,10 +32,6 @@ class Admin::AnnouncementsController < Admin::BaseController
end
end
def edit
authorize :announcement, :update?
end
def update
authorize :announcement, :update?

View file

@ -9,6 +9,8 @@ module Admin
before_action :set_pack
before_action :set_body_classes
before_action :set_cache_headers
after_action :verify_authorized
private
@ -21,6 +23,10 @@ module Admin
use_pack 'admin'
end
def set_cache_headers
response.cache_control.replace(private: true, no_store: true)
end
def set_user
@user = Account.find(params[:account_id]).user || raise(ActiveRecord::RecordNotFound)
end

View file

@ -14,17 +14,5 @@ module Admin
@pending_tags_count = Tag.pending_review.count
@pending_appeals_count = Appeal.pending.count
end
private
def redis_info
@redis_info ||= begin
if redis.is_a?(Redis::Namespace)
redis.redis.info
else
redis.info
end
end
end
end
end

View file

@ -2,7 +2,7 @@
module Admin
class DomainBlocksController < BaseController
before_action :set_domain_block, only: [:show, :destroy, :edit, :update]
before_action :set_domain_block, only: [:destroy, :edit, :update]
def batch
authorize :domain_block, :create?
@ -31,31 +31,41 @@ module Admin
@domain_block = DomainBlock.new(resource_params)
existing_domain_block = resource_params[:domain].present? ? DomainBlock.rule_for(resource_params[:domain]) : nil
# Disallow accidentally downgrading a domain block
if existing_domain_block.present? && !@domain_block.stricter_than?(existing_domain_block)
@domain_block.save
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 # rubocop:disable Rails/OutputSafety
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)
render :new
else
if existing_domain_block.present?
@domain_block = existing_domain_block
@domain_block.update(resource_params)
end
return render :new
end
if @domain_block.save
DomainBlockWorker.perform_async(@domain_block.id)
log_action :create, @domain_block
redirect_to admin_instances_path(limited: '1'), notice: I18n.t('admin.domain_blocks.created_msg')
else
render :new
end
# Allow transparently upgrading a domain block
if existing_domain_block.present?
@domain_block = existing_domain_block
@domain_block.assign_attributes(resource_params)
end
# Require explicit confirmation when suspending
return render :confirm_suspension if requires_confirmation?
if @domain_block.save
DomainBlockWorker.perform_async(@domain_block.id)
log_action :create, @domain_block
redirect_to admin_instances_path(limited: '1'), notice: I18n.t('admin.domain_blocks.created_msg')
else
render :new
end
end
def update
authorize :domain_block, :update?
if @domain_block.update(update_params)
@domain_block.assign_attributes(update_params)
# Require explicit confirmation when suspending
return render :confirm_suspension if requires_confirmation?
if @domain_block.save
DomainBlockWorker.perform_async(@domain_block.id, @domain_block.severity_previously_changed?)
log_action :update, @domain_block
redirect_to admin_instances_path(limited: '1'), notice: I18n.t('admin.domain_blocks.created_msg')
@ -90,9 +100,11 @@ module Admin
end
def action_from_button
if params[:save]
'save'
end
'save' if params[:save]
end
def requires_confirmation?
@domain_block.valid? && (@domain_block.new_record? || @domain_block.severity_changed?) && @domain_block.severity.to_s == 'suspend' && !params[:confirm]
end
end
end

View file

@ -2,8 +2,6 @@
module Admin
class EmailDomainBlocksController < BaseController
before_action :set_email_domain_block, only: [:show, :destroy]
def index
authorize :email_domain_block, :index?
@ -59,10 +57,6 @@ module Admin
private
def set_email_domain_block
@email_domain_block = EmailDomainBlock.find(params[:id])
end
def set_resolved_records
Resolv::DNS.open do |dns|
dns.timeouts = 5

View file

@ -16,6 +16,10 @@ module Admin
@role = UserRole.new
end
def edit
authorize @role, :update?
end
def create
authorize :user_role, :create?
@ -30,10 +34,6 @@ module Admin
end
end
def edit
authorize @role, :update?
end
def update
authorize @role, :update?

View file

@ -11,6 +11,10 @@ module Admin
@rule = Rule.new
end
def edit
authorize @rule, :update?
end
def create
authorize :rule, :create?
@ -24,10 +28,6 @@ module Admin
end
end
def edit
authorize @rule, :update?
end
def update
authorize @rule, :update?

View file

@ -11,6 +11,10 @@ module Admin
@warning_preset = AccountWarningPreset.new
end
def edit
authorize @warning_preset, :update?
end
def create
authorize :account_warning_preset, :create?
@ -24,10 +28,6 @@ module Admin
end
end
def edit
authorize @warning_preset, :update?
end
def update
authorize @warning_preset, :update?

View file

@ -10,16 +10,25 @@ module Admin
@webhooks = Webhook.page(params[:page])
end
def show
authorize @webhook, :show?
end
def new
authorize :webhook, :create?
@webhook = Webhook.new
end
def edit
authorize @webhook, :update?
end
def create
authorize :webhook, :create?
@webhook = Webhook.new(resource_params)
@webhook.current_account = current_account
if @webhook.save
redirect_to admin_webhook_path(@webhook)
@ -28,21 +37,15 @@ module Admin
end
end
def show
authorize @webhook, :show?
end
def edit
authorize @webhook, :update?
end
def update
authorize @webhook, :update?
@webhook.current_account = current_account
if @webhook.update(resource_params)
redirect_to admin_webhook_path(@webhook)
else
render :show
render :edit
end
end
@ -71,7 +74,7 @@ module Admin
end
def resource_params
params.require(:webhook).permit(:url, events: [])
params.require(:webhook).permit(:url, :template, events: [])
end
end
end

View file

@ -6,13 +6,14 @@ class Api::BaseController < ApplicationController
include RateLimitHeaders
include AccessTokenTrackingConcern
include ApiCachingConcern
skip_before_action :store_current_location
skip_before_action :require_functional!, unless: :whitelist_mode?
before_action :require_authenticated_user!, if: :disallow_unauthenticated_api_access?
before_action :require_not_suspended!
before_action :set_cache_headers
vary_by 'Authorization'
protect_from_forgery with: :null_session
@ -148,10 +149,6 @@ class Api::BaseController < ApplicationController
doorkeeper_authorize!(*scopes) if doorkeeper_token
end
def set_cache_headers
response.headers['Cache-Control'] = 'private, no-store'
end
def disallow_unauthenticated_api_access?
ENV['DISALLOW_UNAUTHENTICATED_API_ACCESS'] == 'true' || Rails.configuration.x.whitelist_mode
end

View file

@ -13,7 +13,7 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
def update
@account = current_account
UpdateAccountService.new.call(@account, account_params, raise_error: true)
UserSettingsDecorator.new(current_user).update(user_settings_params) if user_settings_params
current_user.update(user_params) if user_params
ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
render json: @account, serializer: REST::CredentialAccountSerializer
end
@ -34,15 +34,17 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
)
end
def user_settings_params
def user_params
return nil if params[:source].blank?
source_params = params.require(:source)
{
'setting_default_privacy' => source_params.fetch(:privacy, @account.user.setting_default_privacy),
'setting_default_sensitive' => source_params.fetch(:sensitive, @account.user.setting_default_sensitive),
'setting_default_language' => source_params.fetch(:language, @account.user.setting_default_language),
settings_attributes: {
default_privacy: source_params.fetch(:privacy, @account.user.setting_default_privacy),
default_sensitive: source_params.fetch(:sensitive, @account.user.setting_default_sensitive),
default_language: source_params.fetch(:language, @account.user.setting_default_language),
},
}
end
end

View file

@ -6,6 +6,7 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
after_action :insert_pagination_headers
def index
cache_if_unauthenticated!
@accounts = load_accounts
render json: @accounts, each_serializer: REST::AccountSerializer
end
@ -45,15 +46,11 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
end
def next_path
if records_continue?
api_v1_account_followers_url pagination_params(max_id: pagination_max_id)
end
api_v1_account_followers_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless @accounts.empty?
api_v1_account_followers_url pagination_params(since_id: pagination_since_id)
end
api_v1_account_followers_url pagination_params(since_id: pagination_since_id) unless @accounts.empty?
end
def pagination_max_id

View file

@ -6,6 +6,7 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
after_action :insert_pagination_headers
def index
cache_if_unauthenticated!
@accounts = load_accounts
render json: @accounts, each_serializer: REST::AccountSerializer
end
@ -45,15 +46,11 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
end
def next_path
if records_continue?
api_v1_account_following_index_url pagination_params(max_id: pagination_max_id)
end
api_v1_account_following_index_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless @accounts.empty?
api_v1_account_following_index_url pagination_params(since_id: pagination_since_id)
end
api_v1_account_following_index_url pagination_params(since_id: pagination_since_id) unless @accounts.empty?
end
def pagination_max_id

View file

@ -5,6 +5,7 @@ class Api::V1::Accounts::LookupController < Api::BaseController
before_action :set_account
def show
cache_if_unauthenticated!
render json: @account, serializer: REST::AccountSerializer
end

View file

@ -7,6 +7,7 @@ class Api::V1::Accounts::StatusesController < Api::BaseController
after_action :insert_pagination_headers, unless: -> { truthy_param?(:pinned) }
def index
cache_if_unauthenticated!
@statuses = load_statuses
render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id)
end
@ -39,15 +40,11 @@ class Api::V1::Accounts::StatusesController < Api::BaseController
end
def next_path
if records_continue?
api_v1_account_statuses_url pagination_params(max_id: pagination_max_id)
end
api_v1_account_statuses_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless @statuses.empty?
api_v1_account_statuses_url pagination_params(min_id: pagination_since_id)
end
api_v1_account_statuses_url pagination_params(min_id: pagination_since_id) unless @statuses.empty?
end
def records_continue?

View file

@ -18,6 +18,7 @@ class Api::V1::AccountsController < Api::BaseController
override_rate_limit_headers :follow, family: :follows
def show
cache_if_unauthenticated!
render json: @account, serializer: REST::AccountSerializer
end
@ -30,7 +31,7 @@ class Api::V1::AccountsController < Api::BaseController
self.response_body = Oj.dump(response.body)
self.status = response.status
rescue ActiveRecord::RecordInvalid => e
render json: ValidationErrorFormatter.new(e, 'account.username': :username, 'invite_request.text': :reason).as_json, status: :unprocessable_entity
render json: ValidationErrorFormatter.new(e, 'account.username': :username, 'invite_request.text': :reason).as_json, status: 422
end
def follow
@ -89,7 +90,7 @@ class Api::V1::AccountsController < Api::BaseController
end
def account_params
params.permit(:username, :email, :password, :agreement, :locale, :reason)
params.permit(:username, :email, :password, :agreement, :locale, :reason, :time_zone)
end
def check_enabled_registrations

View file

@ -120,9 +120,7 @@ class Api::V1::Admin::AccountsController < Api::BaseController
translated_params[:status] = status.to_s if params[status].present?
end
if params[:staff].present?
translated_params[:role_ids] = UserRole.that_can(:manage_reports).map(&:id)
end
translated_params[:role_ids] = UserRole.that_can(:manage_reports).map(&:id) if params[:staff].present?
translated_params
end

View file

@ -58,7 +58,7 @@ class Api::V1::Admin::CanonicalEmailBlocksController < Api::BaseController
end
def set_canonical_email_blocks_from_test
@canonical_email_blocks = CanonicalEmailBlock.matching_email(params[:email])
@canonical_email_blocks = CanonicalEmailBlock.matching_email(params.require(:email))
end
def set_canonical_email_block

View file

@ -16,19 +16,6 @@ class Api::V1::Admin::DomainAllowsController < Api::BaseController
PAGINATION_PARAMS = %i(limit).freeze
def create
authorize :domain_allow, :create?
@domain_allow = DomainAllow.find_by(resource_params)
if @domain_allow.nil?
@domain_allow = DomainAllow.create!(resource_params)
log_action :create, @domain_allow
end
render json: @domain_allow, serializer: REST::Admin::DomainAllowSerializer
end
def index
authorize :domain_allow, :index?
render json: @domain_allows, each_serializer: REST::Admin::DomainAllowSerializer
@ -39,6 +26,19 @@ class Api::V1::Admin::DomainAllowsController < Api::BaseController
render json: @domain_allow, serializer: REST::Admin::DomainAllowSerializer
end
def create
authorize :domain_allow, :create?
@domain_allow = DomainAllow.find_by(domain: resource_params[:domain])
if @domain_allow.nil?
@domain_allow = DomainAllow.create!(resource_params)
log_action :create, @domain_allow
end
render json: @domain_allow, serializer: REST::Admin::DomainAllowSerializer
end
def destroy
authorize @domain_allow, :destroy?
UnallowDomainService.new.call(@domain_allow)

View file

@ -16,6 +16,16 @@ class Api::V1::Admin::DomainBlocksController < Api::BaseController
PAGINATION_PARAMS = %i(limit).freeze
def index
authorize :domain_block, :index?
render json: @domain_blocks, each_serializer: REST::Admin::DomainBlockSerializer
end
def show
authorize @domain_block, :show?
render json: @domain_block, serializer: REST::Admin::DomainBlockSerializer
end
def create
authorize :domain_block, :create?
@ -28,16 +38,6 @@ class Api::V1::Admin::DomainBlocksController < Api::BaseController
render json: @domain_block, serializer: REST::Admin::DomainBlockSerializer
end
def index
authorize :domain_block, :index?
render json: @domain_blocks, each_serializer: REST::Admin::DomainBlockSerializer
end
def show
authorize @domain_block, :show?
render json: @domain_block, serializer: REST::Admin::DomainBlockSerializer
end
def update
authorize @domain_block, :update?
@domain_block.update!(domain_block_params)

View file

@ -18,15 +18,6 @@ class Api::V1::Admin::EmailDomainBlocksController < Api::BaseController
limit
).freeze
def create
authorize :email_domain_block, :create?
@email_domain_block = EmailDomainBlock.create!(resource_params)
log_action :create, @email_domain_block
render json: @email_domain_block, serializer: REST::Admin::EmailDomainBlockSerializer
end
def index
authorize :email_domain_block, :index?
render json: @email_domain_blocks, each_serializer: REST::Admin::EmailDomainBlockSerializer
@ -37,6 +28,15 @@ class Api::V1::Admin::EmailDomainBlocksController < Api::BaseController
render json: @email_domain_block, serializer: REST::Admin::EmailDomainBlockSerializer
end
def create
authorize :email_domain_block, :create?
@email_domain_block = EmailDomainBlock.create!(resource_params)
log_action :create, @email_domain_block
render json: @email_domain_block, serializer: REST::Admin::EmailDomainBlockSerializer
end
def destroy
authorize @email_domain_block, :destroy?
@email_domain_block.destroy!

View file

@ -18,13 +18,6 @@ class Api::V1::Admin::IpBlocksController < Api::BaseController
limit
).freeze
def create
authorize :ip_block, :create?
@ip_block = IpBlock.create!(resource_params)
log_action :create, @ip_block
render json: @ip_block, serializer: REST::Admin::IpBlockSerializer
end
def index
authorize :ip_block, :index?
render json: @ip_blocks, each_serializer: REST::Admin::IpBlockSerializer
@ -35,6 +28,13 @@ class Api::V1::Admin::IpBlocksController < Api::BaseController
render json: @ip_block, serializer: REST::Admin::IpBlockSerializer
end
def create
authorize :ip_block, :create?
@ip_block = IpBlock.create!(resource_params)
log_action :create, @ip_block
render json: @ip_block, serializer: REST::Admin::IpBlockSerializer
end
def update
authorize @ip_block, :update?
@ip_block.update(resource_params)

View file

@ -0,0 +1,72 @@
# frozen_string_literal: true
class Api::V1::Admin::Trends::Links::PreviewCardProvidersController < Api::BaseController
include Authorization
LIMIT = 100
before_action -> { authorize_if_got_token! :'admin:read' }, only: :index
before_action -> { authorize_if_got_token! :'admin:write' }, except: :index
before_action :set_providers, only: :index
after_action :verify_authorized
after_action :insert_pagination_headers, only: :index
PAGINATION_PARAMS = %i(limit).freeze
def index
authorize :preview_card_provider, :index?
render json: @providers, each_serializer: REST::Admin::Trends::Links::PreviewCardProviderSerializer
end
def approve
authorize :preview_card_provider, :review?
provider = PreviewCardProvider.find(params[:id])
provider.update(trendable: true, reviewed_at: Time.now.utc)
render json: provider, serializer: REST::Admin::Trends::Links::PreviewCardProviderSerializer
end
def reject
authorize :preview_card_provider, :review?
provider = PreviewCardProvider.find(params[:id])
provider.update(trendable: false, reviewed_at: Time.now.utc)
render json: provider, serializer: REST::Admin::Trends::Links::PreviewCardProviderSerializer
end
private
def set_providers
@providers = PreviewCardProvider.all.to_a_paginated_by_id(limit_param(LIMIT), params_slice(:max_id, :since_id, :min_id))
end
def insert_pagination_headers
set_pagination_headers(next_path, prev_path)
end
def next_path
api_v1_admin_trends_links_preview_card_providers_url(pagination_params(max_id: pagination_max_id)) if records_continue?
end
def prev_path
api_v1_admin_trends_links_preview_card_providers_url(pagination_params(min_id: pagination_since_id)) unless @providers.empty?
end
def pagination_max_id
@providers.last.id
end
def pagination_since_id
@providers.first.id
end
def records_continue?
@providers.size == limit_param(LIMIT)
end
def pagination_params(core_params)
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
end
end

View file

@ -1,7 +1,36 @@
# frozen_string_literal: true
class Api::V1::Admin::Trends::LinksController < Api::V1::Trends::LinksController
before_action -> { authorize_if_got_token! :'admin:read' }
include Authorization
before_action -> { authorize_if_got_token! :'admin:read' }, only: :index
before_action -> { authorize_if_got_token! :'admin:write' }, except: :index
after_action :verify_authorized, except: :index
def index
if current_user&.can?(:manage_taxonomies)
render json: @links, each_serializer: REST::Admin::Trends::LinkSerializer
else
super
end
end
def approve
authorize :preview_card, :review?
link = PreviewCard.find(params[:id])
link.update(trendable: true)
render json: link, serializer: REST::Admin::Trends::LinkSerializer
end
def reject
authorize :preview_card, :review?
link = PreviewCard.find(params[:id])
link.update(trendable: false)
render json: link, serializer: REST::Admin::Trends::LinkSerializer
end
private

View file

@ -1,7 +1,36 @@
# frozen_string_literal: true
class Api::V1::Admin::Trends::StatusesController < Api::V1::Trends::StatusesController
before_action -> { authorize_if_got_token! :'admin:read' }
include Authorization
before_action -> { authorize_if_got_token! :'admin:read' }, only: :index
before_action -> { authorize_if_got_token! :'admin:write' }, except: :index
after_action :verify_authorized, except: :index
def index
if current_user&.can?(:manage_taxonomies)
render json: @statuses, each_serializer: REST::Admin::Trends::StatusSerializer
else
super
end
end
def approve
authorize [:admin, :status], :review?
status = Status.find(params[:id])
status.update(trendable: true)
render json: status, serializer: REST::Admin::Trends::StatusSerializer
end
def reject
authorize [:admin, :status], :review?
status = Status.find(params[:id])
status.update(trendable: false)
render json: status, serializer: REST::Admin::Trends::StatusSerializer
end
private

View file

@ -1,7 +1,12 @@
# frozen_string_literal: true
class Api::V1::Admin::Trends::TagsController < Api::V1::Trends::TagsController
before_action -> { authorize_if_got_token! :'admin:read' }
include Authorization
before_action -> { authorize_if_got_token! :'admin:read' }, only: :index
before_action -> { authorize_if_got_token! :'admin:write' }, except: :index
after_action :verify_authorized, except: :index
def index
if current_user&.can?(:manage_taxonomies)
@ -11,6 +16,22 @@ class Api::V1::Admin::Trends::TagsController < Api::V1::Trends::TagsController
end
end
def approve
authorize :tag, :review?
tag = Tag.find(params[:id])
tag.update(trendable: true, reviewed_at: Time.now.utc)
render json: tag, serializer: REST::Admin::TagSerializer
end
def reject
authorize :tag, :review?
tag = Tag.find(params[:id])
tag.update(trendable: false, reviewed_at: Time.now.utc)
render json: tag, serializer: REST::Admin::TagSerializer
end
private
def enabled?

View file

@ -18,9 +18,7 @@ class Api::V1::AnnouncementsController < Api::BaseController
private
def set_announcements
@announcements = begin
Announcement.published.chronological
end
@announcements = Announcement.published.chronological
end
def set_announcement

View file

@ -33,15 +33,11 @@ class Api::V1::BlocksController < Api::BaseController
end
def next_path
if records_continue?
api_v1_blocks_url pagination_params(max_id: pagination_max_id)
end
api_v1_blocks_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless paginated_blocks.empty?
api_v1_blocks_url pagination_params(since_id: pagination_since_id)
end
api_v1_blocks_url pagination_params(since_id: pagination_since_id) unless paginated_blocks.empty?
end
def pagination_max_id

View file

@ -11,7 +11,7 @@ class Api::V1::ConversationsController < Api::BaseController
def index
@conversations = paginated_conversations
render json: @conversations, each_serializer: REST::ConversationSerializer
render json: @conversations, each_serializer: REST::ConversationSerializer, relationships: StatusRelationshipsPresenter.new(@conversations.map(&:last_status), current_user&.account_id)
end
def read
@ -19,6 +19,11 @@ class Api::V1::ConversationsController < Api::BaseController
render json: @conversation, serializer: REST::ConversationSerializer
end
def unread
@conversation.update!(unread: true)
render json: @conversation, serializer: REST::ConversationSerializer
end
def destroy
@conversation.destroy!
render_empty
@ -32,6 +37,19 @@ class Api::V1::ConversationsController < Api::BaseController
def paginated_conversations
AccountConversation.where(account: current_account)
.includes(
account: :account_stat,
last_status: [
:media_attachments,
:preview_cards,
:status_stat,
:tags,
{
active_mentions: [account: :account_stat],
account: :account_stat,
},
]
)
.to_a_paginated_by_id(limit_param(LIMIT), params_slice(:max_id, :since_id, :min_id))
end
@ -40,15 +58,11 @@ class Api::V1::ConversationsController < Api::BaseController
end
def next_path
if records_continue?
api_v1_conversations_url pagination_params(max_id: pagination_max_id)
end
api_v1_conversations_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless @conversations.empty?
api_v1_conversations_url pagination_params(min_id: pagination_since_id)
end
api_v1_conversations_url pagination_params(min_id: pagination_since_id) unless @conversations.empty?
end
def pagination_max_id

View file

@ -1,10 +1,10 @@
# frozen_string_literal: true
class Api::V1::CustomEmojisController < Api::BaseController
skip_before_action :set_cache_headers
vary_by '', unless: :disallow_unauthenticated_api_access?
def index
expires_in 3.minutes, public: true
cache_even_if_authenticated! unless disallow_unauthenticated_api_access?
render_with_cache(each_serializer: REST::CustomEmojiSerializer) { CustomEmoji.listed.includes(:category) }
end
end

View file

@ -5,6 +5,7 @@ class Api::V1::DirectoriesController < Api::BaseController
before_action :set_accounts
def show
cache_if_unauthenticated!
render json: @accounts, each_serializer: REST::AccountSerializer
end
@ -20,11 +21,35 @@ class Api::V1::DirectoriesController < Api::BaseController
def accounts_scope
Account.discoverable.tap do |scope|
scope.merge!(Account.local) if truthy_param?(:local)
scope.merge!(Account.by_recent_status) if params[:order].blank? || params[:order] == 'active'
scope.merge!(Account.order(id: :desc)) if params[:order] == 'new'
scope.merge!(Account.not_excluded_by_account(current_account)) if current_account
scope.merge!(Account.not_domain_blocked_by_account(current_account)) if current_account && !truthy_param?(:local)
scope.merge!(account_order_scope)
scope.merge!(local_account_scope) if local_accounts?
scope.merge!(account_exclusion_scope) if current_account
scope.merge!(account_domain_block_scope) if current_account && !local_accounts?
end
end
def local_accounts?
truthy_param?(:local)
end
def account_order_scope
case params[:order]
when 'new'
Account.order(id: :desc)
when 'active', nil
Account.by_recent_status
end
end
def local_account_scope
Account.local
end
def account_exclusion_scope
Account.not_excluded_by_account(current_account)
end
def account_domain_block_scope
Account.not_domain_blocked_by_account(current_account)
end
end

View file

@ -43,15 +43,11 @@ class Api::V1::DomainBlocksController < Api::BaseController
end
def next_path
if records_continue?
api_v1_domain_blocks_url pagination_params(max_id: pagination_max_id)
end
api_v1_domain_blocks_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless @blocks.empty?
api_v1_domain_blocks_url pagination_params(since_id: pagination_since_id)
end
api_v1_domain_blocks_url pagination_params(since_id: pagination_since_id) unless @blocks.empty?
end
def pagination_max_id

View file

@ -1,9 +1,11 @@
# frozen_string_literal: true
class Api::V1::Emails::ConfirmationsController < Api::BaseController
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }
before_action :require_user_owned_by_application!
before_action :require_user_not_confirmed!
before_action -> { authorize_if_got_token! :read, :'read:accounts' }, only: :check
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, except: :check
before_action :require_user_owned_by_application!, except: :check
before_action :require_user_not_confirmed!, except: :check
before_action :require_authenticated_user!, only: :check
def create
current_user.update!(email: params[:email]) if params.key?(:email)
@ -12,13 +14,17 @@ class Api::V1::Emails::ConfirmationsController < Api::BaseController
render_empty
end
def check
render json: current_user.confirmed?
end
private
def require_user_owned_by_application!
render json: { error: 'This method is only available to the application the user originally signed-up with' }, status: :forbidden unless current_user && current_user.created_by_application_id == doorkeeper_token.application_id
render json: { error: 'This method is only available to the application the user originally signed-up with' }, status: 403 unless current_user && current_user.created_by_application_id == doorkeeper_token.application_id
end
def require_user_not_confirmed!
render json: { error: 'This method is only available while the e-mail is awaiting confirmation' }, status: :forbidden unless !current_user.confirmed? || current_user.unconfirmed_email.present?
render json: { error: 'This method is only available while the e-mail is awaiting confirmation' }, status: 403 unless !current_user.confirmed? || current_user.unconfirmed_email.present?
end
end

View file

@ -35,17 +35,13 @@ class Api::V1::EndorsementsController < Api::BaseController
def next_path
return if unlimited?
if records_continue?
api_v1_endorsements_url pagination_params(max_id: pagination_max_id)
end
api_v1_endorsements_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
return if unlimited?
unless @accounts.empty?
api_v1_endorsements_url pagination_params(since_id: pagination_since_id)
end
api_v1_endorsements_url pagination_params(since_id: pagination_since_id) unless @accounts.empty?
end
def pagination_max_id

View file

@ -36,15 +36,11 @@ class Api::V1::FavouritesController < Api::BaseController
end
def next_path
if records_continue?
api_v1_favourites_url pagination_params(max_id: pagination_max_id)
end
api_v1_favourites_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless results.empty?
api_v1_favourites_url pagination_params(min_id: pagination_since_id)
end
api_v1_favourites_url pagination_params(min_id: pagination_since_id) unless results.empty?
end
def pagination_max_id

View file

@ -13,7 +13,7 @@ class Api::V1::FeaturedTagsController < Api::BaseController
end
def create
featured_tag = CreateFeaturedTagService.new.call(current_account, featured_tag_params[:name])
featured_tag = CreateFeaturedTagService.new.call(current_account, params.require(:name))
render json: featured_tag, serializer: REST::FeaturedTagSerializer
end
@ -31,8 +31,4 @@ class Api::V1::FeaturedTagsController < Api::BaseController
def set_featured_tags
@featured_tags = current_account.featured_tags.order(statuses_count: :desc)
end
def featured_tag_params
params.permit(:name)
end
end

View file

@ -11,6 +11,10 @@ class Api::V1::FiltersController < Api::BaseController
render json: @filters, each_serializer: REST::V1::FilterSerializer
end
def show
render json: @filter, serializer: REST::V1::FilterSerializer
end
def create
ApplicationRecord.transaction do
filter_category = current_account.custom_filters.create!(filter_params)
@ -20,10 +24,6 @@ class Api::V1::FiltersController < Api::BaseController
render json: @filter, serializer: REST::V1::FilterSerializer
end
def show
render json: @filter, serializer: REST::V1::FilterSerializer
end
def update
ApplicationRecord.transaction do
@filter.update!(keyword_params)

View file

@ -53,15 +53,11 @@ class Api::V1::FollowRequestsController < Api::BaseController
end
def next_path
if records_continue?
api_v1_follow_requests_url pagination_params(max_id: pagination_max_id)
end
api_v1_follow_requests_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
unless @accounts.empty?
api_v1_follow_requests_url pagination_params(since_id: pagination_since_id)
end
api_v1_follow_requests_url pagination_params(since_id: pagination_since_id) unless @accounts.empty?
end
def pagination_max_id

View file

@ -3,11 +3,12 @@
class Api::V1::Instances::ActivityController < Api::BaseController
before_action :require_enabled_api!
skip_before_action :set_cache_headers
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
vary_by ''
def show
expires_in 1.day, public: true
cache_even_if_authenticated!
render_with_cache json: :activity, expires_in: 1.day
end

View file

@ -6,8 +6,15 @@ class Api::V1::Instances::DomainBlocksController < Api::BaseController
before_action :require_enabled_api!
before_action :set_domain_blocks
vary_by '', if: -> { Setting.show_domain_blocks == 'all' }
def index
expires_in 3.minutes, public: true
if Setting.show_domain_blocks == 'all'
cache_even_if_authenticated!
else
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?))
end

View file

@ -2,11 +2,19 @@
class Api::V1::Instances::ExtendedDescriptionsController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
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 whitelist_mode?
end
def show
expires_in 3.minutes, public: true
cache_even_if_authenticated!
render json: @extended_description, serializer: REST::ExtendedDescriptionSerializer
end

View file

@ -3,11 +3,18 @@
class Api::V1::Instances::PeersController < Api::BaseController
before_action :require_enabled_api!
skip_before_action :set_cache_headers
skip_before_action :require_authenticated_user!, unless: :whitelist_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 whitelist_mode?
end
def index
expires_in 1.day, public: true
cache_even_if_authenticated!
render_with_cache(expires_in: 1.day) { Instance.where.not(domain: DomainBlock.select(:domain)).pluck(:domain) }
end

View file

@ -5,8 +5,10 @@ class Api::V1::Instances::PrivacyPoliciesController < Api::BaseController
before_action :set_privacy_policy
vary_by ''
def show
expires_in 1.day, public: true
cache_even_if_authenticated!
render json: @privacy_policy, serializer: REST::PrivacyPolicySerializer
end

View file

@ -2,10 +2,19 @@
class Api::V1::Instances::RulesController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
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 whitelist_mode?
end
def index
cache_even_if_authenticated!
render json: @rules, each_serializer: REST::RuleSerializer
end

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