Compare commits

...

1830 Commits
v4.2.7 ... main

Author SHA1 Message Date
Claire de4815afda
Add more tests for self-destruct mode (#30374) 2024-05-20 10:06:51 +00:00
Matt Jankowski def6b686ff
Fix `Rails/WhereRange` cop (#30343) 2024-05-20 09:37:36 +00:00
Matt Jankowski 70608f824e
Add coverage for `AdminMailer#auto_close_registrations` (#30349) 2024-05-20 08:03:39 +00:00
Renaud Chaput 9658d3e580
Use the job class as span name for Sidekiq root spans (#30353) 2024-05-20 08:01:04 +00:00
renovate[bot] 0ce22859a5
fix(deps): update dependency @rails/ujs to v7.1.3 (#30356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-20 07:56:28 +00:00
github-actions[bot] 8b75d18371
New Crowdin Translations (automated) (#30358)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-20 07:41:38 +00:00
renovate[bot] 814d00cf4b
chore(deps): update dependency @formatjs/cli to v6.2.12 (#30370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-20 07:40:37 +00:00
renovate[bot] 778bd96a52
chore(deps): update dependency @types/lodash to v4.17.4 (#30371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-20 07:40:20 +00:00
Renaud Chaput 990a0c19a9
Fix a warning when running JS Tests because of FakeIdentityContext using deprecated context API (#30368) 2024-05-20 07:29:27 +00:00
Nick Schonning 0f07e1cd4c
Fix yarn.lock diff (#30366) 2024-05-19 19:37:49 +00:00
renovate[bot] 0a343b9a91
fix(deps): update react monorepo to v18.3.1 (#30074)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-19 17:15:06 +00:00
Renaud Chaput a178ba7cd5
Use a modern React context for identity in the app (#30098) 2024-05-19 17:07:32 +00:00
Joshua Byrd 6282b6da77
Fix og:image requests when html in a web page is over 1.megabyte (#30362) 2024-05-19 16:30:05 +00:00
Emelia Smith 2da2a1dae9
Support multiple redirect_uris when creating OAuth 2.0 Applications (#29192) 2024-05-17 13:46:12 +00:00
Claire 12472e7f40
Add emphasis on ActiveRecord Encryption configuration values being secret (#30340) 2024-05-17 09:28:40 +00:00
Jeong Arm a627219b25
Fix moderation action logs (#30342) 2024-05-17 09:18:54 +00:00
github-actions[bot] bff7769f5f
New Crowdin Translations (automated) (#30336)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-17 08:41:35 +00:00
Matt Jankowski a6d12299f2
Remove duplicate method def `ApplicationHelper#instance_presenter` (#30331) 2024-05-17 08:29:13 +00:00
renovate[bot] fc166d07f0
chore(deps): update dependency rails to v7.1.3.3 (#30334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 08:28:22 +00:00
renovate[bot] 3286ad5226
chore(deps): update dependency selenium-webdriver to v4.21.1 (#30335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 08:28:01 +00:00
renovate[bot] f7f5b9dadd
fix(deps): update dependency @rails/ujs to v7.1.3-3 (#30337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 08:27:45 +00:00
renovate[bot] 226d7a7bad
fix(deps): update dependency sass to v1.77.2 (#30338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 08:27:03 +00:00
renovate[bot] b2388be71e
chore(deps): update dependency selenium-webdriver to v4.21.0 (#30325)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 13:45:17 +00:00
Claire 66906a1bc1
Fix Web UI trying to save user settings when logged out (#30324) 2024-05-16 13:01:01 +00:00
Matt Jankowski 1b6eb2c7f0
Enable YJIT when available (#30310) 2024-05-16 09:56:48 +00:00
Renaud Chaput 283a891e92
Allow to customise the OTEL service name prefix (#30322) 2024-05-16 09:28:10 +00:00
Matt Jankowski 65e82211cd
Rename `cache_*` methods to `preload_*` in controller concern (#30209) 2024-05-16 08:03:46 +00:00
Emelia Smith f0d6dc4519
Fix: Mark redirect uris field in Development > Application form as required (#30311) 2024-05-16 07:59:46 +00:00
renovate[bot] 356bbbaa7f
fix(deps): update dependency @reduxjs/toolkit to v2.2.5 (#30320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 07:57:19 +00:00
github-actions[bot] cdb042ae86
New Crowdin Translations (automated) (#30319)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-16 07:50:19 +00:00
Matt Jankowski c9ee1437c0
Use ruby language constants to build version string in software version dimension (#30309) 2024-05-16 07:43:35 +00:00
renovate[bot] 60b423b3f7
chore(deps): update dependency rspec-sidekiq to v5 (#30314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 07:43:31 +00:00
David Lapshin 94493cff92
Fix incorrect element selector from #30221 (#30307) 2024-05-16 07:33:29 +00:00
Matt Jankowski ca560c1095
Disable `Style/RedundantFetchBlock` cop (#30207) 2024-05-15 13:57:13 +00:00
renovate[bot] d5d3a0fc57
fix(deps): update dependency pino to v9.1.0 (#30283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 13:38:51 +00:00
Emelia Smith 5fd56512de
Improve Report Notes and Account Moderation Notes (#30288) 2024-05-15 13:38:36 +00:00
Claire c2ca3d152f
Fix off-by-one in `tootctl media` commands (#30306) 2024-05-15 13:11:13 +00:00
renovate[bot] 4e085dff52
chore(deps): update dependency aws-sdk-s3 to v1.151.0 (#30287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 13:05:05 +00:00
Jason Punyon 85c625d319
Fix repetitive database queries from #30040 (#30259) 2024-05-15 09:38:16 +00:00
Matt Jankowski 6beead3867
Move `simplecov` config into `rails_helper` (#30302) 2024-05-15 09:33:36 +00:00
github-actions[bot] aad5e841b5
New Crowdin Translations (automated) (#30290)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-15 08:53:57 +00:00
renovate[bot] 78a8263f73
fix(deps): update dependency postcss-preset-env to v9.5.13 (#30286)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 08:34:58 +00:00
renovate[bot] 7f7eba8753
chore(deps): update dependency letter_opener_web to v3 (#30296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 08:34:50 +00:00
Renaud Chaput 40639510f8
Retain unconfirmed users longer (1 week) (#30285) 2024-05-15 08:27:34 +00:00
renovate[bot] 44e855db78
chore(deps): update dependency nokogiri to v1.16.5 [security] (#30289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 08:26:22 +00:00
renovate[bot] 508e93eb64
chore(deps): update dependency fog-openstack to v1.1.1 (#30295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 08:25:50 +00:00
renovate[bot] 38a330f963
fix(deps): update dependency core-js to v3.37.1 (#30293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 08:25:34 +00:00
Renaud Chaput 1bf661cddb
Fix missing prop warning for `<Account>` (#30291) 2024-05-14 18:15:42 +00:00
Claire b5b84fad65
Fix OpenSearch compatibility issue (#30278) 2024-05-14 17:54:28 +00:00
github-actions[bot] 3a7aec2807
New Crowdin Translations (automated) (#30254)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-13 11:30:41 +00:00
Nick Schonning 13fb54920b
Enable Style/IfUnlessModifier RuboCop (#30260) 2024-05-13 09:54:15 +00:00
Nick Schonning 9ec7c1f892
Fix i18n:extract flags (#30261) 2024-05-13 09:42:47 +00:00
renovate[bot] 6e1b8b33f5
Update opentelemetry-ruby (non-major) (#30262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:42:08 +00:00
Jeen Broekstra b429c9b8a7
fix(bin/dev): makes conditional for launching overmind POSIX-compliant (#30271) 2024-05-13 09:40:14 +00:00
renovate[bot] c66fdb3dff
Update dependency immutable to v4.3.6 (#30276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:39:06 +00:00
David Lapshin cb93c1edf0
Add active animation to header settings button (#30221) 2024-05-13 09:19:42 +00:00
renovate[bot] f66c9faca0
Update dependency sass to v1.77.1 (#30252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:11:55 +00:00
renovate[bot] 123108b1cc
Update dependency postcss-preset-env to v9.5.12 (#30256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:11:39 +00:00
renovate[bot] 5e7d88a85d
Update dependency glob to v10.3.15 (#30263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:10:53 +00:00
renovate[bot] 471728d6dd
Update DefinitelyTyped types (non-major) (#30272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:10:26 +00:00
renovate[bot] ab4efa3bf8
Update dependency @testing-library/react to v15.0.7 (#30273)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:10:09 +00:00
renovate[bot] 807cf354fc
Update dependency eslint-plugin-jsdoc to v48.2.4 (#30274)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 09:09:39 +00:00
Claire 1959365c2f
Add missing `on_delete: :cascade` on `notification_policies` (#30251) 2024-05-10 20:00:25 +00:00
renovate[bot] 346530732c
Update dependency utf-8-validate to v6.0.4 (#30248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 19:19:47 +00:00
renovate[bot] 9920f41c0f
Update opentelemetry-ruby (non-major) (#30249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 19:18:53 +00:00
Renaud Chaput d09b02efb6
Group Ruby OTEL packages in Renovate PRs (#30242) 2024-05-10 16:33:10 +00:00
renovate[bot] 482d1087c5
Update dependency opentelemetry-instrumentation-faraday to v0.24.3 (#30237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 14:19:41 +00:00
renovate[bot] af71f236a2
Update dependency opentelemetry-instrumentation-excon to v0.22.2 (#30236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 13:16:05 +00:00
renovate[bot] d933e6b6ae
Update dependency opentelemetry-instrumentation-concurrent_ruby to v0.21.3 (#30235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 13:16:02 +00:00
renovate[bot] ded11eca4f
Update dependency pundit to v2.3.2 (#30222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 13:15:54 +00:00
Renaud Chaput 68b9fe824d
Add OpenTelemetry instrumentation (#30130)
Co-authored-by: Juliano Costa <juliano.costa@datadoghq.com>
Co-authored-by: Robb Kidd <robbkidd@honeycomb.io>
2024-05-10 12:40:20 +00:00
Matt Jankowski 0d397db5dd
Consolidate system specs into single directory, use rspec tags for configuration (#30206) 2024-05-10 12:36:09 +00:00
Joshua Young 164b09bfcc
Update README.md setup steps (#30063) 2024-05-10 12:34:32 +00:00
Matt Jankowski e20f2e7300
Update i18n to version 1.14.5 (#30198) 2024-05-10 12:34:20 +00:00
renovate[bot] f3f63107f2
Update dependency @reduxjs/toolkit to v2.2.4 (#30223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 09:59:15 +00:00
Matt Jankowski fa43a6c835
Use more accurate `redirect_uri` in oauth spec (#30212) 2024-05-10 09:43:59 +00:00
Matt Jankowski 040aaf3a48
Use `default: ...` assignment for Devise config, fixes `Style/ClassVars` cop (#30214) 2024-05-10 09:42:01 +00:00
github-actions[bot] c9557bdd3b
New Crowdin Translations (automated) (#30215)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-10 09:34:48 +00:00
renovate[bot] 3a5a1b2e58
Update dependency node to 20.13 (#30211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 09:25:07 +00:00
renovate[bot] 1aa3976f28
Update dependency pino-http to v10.1.0 (#30199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 09:23:45 +00:00
renovate[bot] 0a4a93038f
Update Yarn to v4.2.2 (#30220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 09:22:47 +00:00
Chee Aun c36a8786c1
Fix typo (#30224) 2024-05-10 09:19:27 +00:00
renovate[bot] 6ccee2600b
Update dependency rubocop to v1.63.5 (#30225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 09:19:06 +00:00
renovate[bot] 6819bcc4b6
Update dependency glob to v10.3.14 (#30230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 09:18:52 +00:00
Renaud Chaput 5a3062f723
Pass the CodeCov token from the secret to the action (#30219) 2024-05-10 08:00:02 +00:00
Claire d8c4284723
Ensure custom favicon is converted to PNG and ICO (#30208) 2024-05-07 18:15:17 +00:00
renovate[bot] c9ccba7045
Update dependency sass to v1.77.0 (#30200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 12:43:11 +00:00
renovate[bot] 5cd13ee4f1
Update dependency aws-sdk-s3 to v1.149.1 (#30196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 09:39:20 +00:00
renovate[bot] 8540004f7b
Update dependency dotenv to v3.1.2 (#30197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-07 09:39:04 +00:00
github-actions[bot] ed556db395
New Crowdin Translations (automated) (#30201)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-07 09:36:16 +00:00
Claire 96fb6e491f
Revert "Migrate paperclip `_file_size` columns to bigint (#29263)" (#30203) 2024-05-07 08:46:05 +00:00
Claire 996292cd55
Fix `db:encryption:init` requiring ActiveRecord encryption variables to be set (#30202) 2024-05-07 08:41:53 +00:00
renovate[bot] 6167894547
Update dependency pino-http to v10 (#30191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 17:14:46 +00:00
Claire 2fe1b8d169
Add API to get multiple accounts and statuses (#27871)
Co-authored-by: noellabo <noel.yoshiba@gmail.com>
2024-05-06 15:19:15 +00:00
Fawaz Farid bc24c4792d
Allow admins to configure instance favicon and logo (#30040) 2024-05-06 15:06:52 +00:00
Matt Jankowski b152f936c1
Migrate paperclip `_file_size` columns to bigint (#29263)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-05-06 15:05:12 +00:00
Fawaz Farid 05126d106f
Redirect back after site upload deletion (#30141) 2024-05-06 13:31:39 +00:00
Emelia Smith 116f01ec7d
Implement RFC 8414 for OAuth 2.0 server metadata (#29191) 2024-05-06 13:17:56 +00:00
Claire 30ef9fccf0
Fix hashtag matching pattern matching some link anchors (#30190) 2024-05-06 12:47:19 +00:00
Claire 8e4fea77e3
Fix race condition in `POST /api/v1/push/subscription` (#30166) 2024-05-06 12:41:14 +00:00
Matt Jankowski dbaa4ed891
Use `chewy` which relaxes ES version reqs (#30157) 2024-05-06 11:50:45 +00:00
Claire e5062b7135
Fix post deletion not being deferred when those are part of an account warning (#30163) 2024-05-06 09:52:34 +00:00
renovate[bot] 4f0d18168c
Update DefinitelyTyped types (non-major) (#30184)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 08:46:43 +00:00
renovate[bot] 00c34070ae
Update eslint (non-major) (#30186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 08:46:22 +00:00
renovate[bot] 86f17e4b32
Update devDependencies (non-major) (#30185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 08:46:17 +00:00
github-actions[bot] 9be2c02e52
New Crowdin Translations (automated) (#30169)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-06 08:36:29 +00:00
renovate[bot] a96b828023
Update dependency postcss-preset-env to v9.5.11 (#30171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 08:26:33 +00:00
renovate[bot] d544b83f91
Update formatjs monorepo (#30175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 08:26:28 +00:00
renovate[bot] e4841ca82b
Update dependency irb to v1.13.1 (#30177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 08:26:12 +00:00
Tim Rogers 2f73e486b7
Switched HTMLEntities to the expanded flavor which supports a larger … (#30173) 2024-05-05 02:24:10 +00:00
Matt Jankowski b7902225d6
Use built-in github annotation output for `stylelint` (#30165) 2024-05-03 14:56:48 +00:00
Claire 33368e3e79
Change ActiveRecordEncryption variable to be more explicit (#30151) 2024-05-03 09:26:24 +00:00
Râu Cao 9aa31be8d3
Fix local account search on LDAP login being case-sensitive (#30113)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-05-03 09:22:48 +00:00
github-actions[bot] d5444a2c6c
New Crowdin Translations (automated) (#30160)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-03 09:15:06 +00:00
renovate[bot] 9380805fc1
Update dependency rubocop-rspec to v2.29.2 (#30158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 08:48:09 +00:00
renovate[bot] 4b2054ee57
Update Yarn to v4.2.1 (#30153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 21:22:26 +00:00
Claire 253ead3aa7
Fix not being able to block a subdomain of an already-blocked domain through the API (#30119) 2024-05-02 20:56:21 +00:00
Renaud Chaput 9e260014c7
Convert `entrypoints/two_factor_authentication` to Typescript (#30105) 2024-05-02 12:02:13 +00:00
mogaminsk 616e2f2666
Fix word breaking in filtered notifications badge (#30114) 2024-05-02 09:40:18 +00:00
Matt Jankowski 88882fbbee
Move Rails/HABTM cop out of todo (#30118) 2024-05-02 09:40:05 +00:00
Matt Jankowski 1e7d5d2957
Update `devise-two-factor` to version 5.0.0 (#28325)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-05-02 09:31:41 +00:00
github-actions[bot] 309f352e6a
New Crowdin Translations (automated) (#30140)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-05-02 08:57:30 +00:00
Matt Jankowski 2447497a4c
Status length validation spec updates (#30132) 2024-05-02 08:31:06 +00:00
renovate[bot] d97d31cce6
Update dependency irb to v1.13.0 (#30143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 08:28:13 +00:00
renovate[bot] ac1d830e6c
Update dependency aws-sdk-s3 to v1.149.0 (#30136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 08:27:47 +00:00
renovate[bot] 474e5ffaae
Update dependency dotenv to v3.1.1 (#30133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 08:15:49 +00:00
renovate[bot] 62992ba54a
Update dependency sass to v1.76.0 (#30138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 08:14:45 +00:00
renovate[bot] a9dd68b90a
Update dependency react-redux to v9.1.2 (#30146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-02 08:00:43 +00:00
Claire 26e10aa203
Change width breakpoint for mobile placement behavior (#30131) 2024-04-30 23:39:28 +00:00
Matt Jankowski 75470f1256
Use implicit dotenv load (#30121) 2024-04-30 13:00:39 +00:00
renovate[bot] f3ea90b89e
Update workbox monorepo to v7.1.0 (#30047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 09:12:25 +00:00
github-actions[bot] 56821ed879
New Crowdin Translations (automated) (#30128)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-30 09:05:53 +00:00
Shlee 40d7a553d2
Minor phrasing on tootcli statuses remove (#30122) 2024-04-30 08:51:39 +00:00
renovate[bot] f5376c477d
Update babel monorepo to v7.24.5 (#30124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 08:50:42 +00:00
Emelia Smith 81f0002e76
Fix missing destory audit logs for Domain Allows (#30125) 2024-04-30 08:48:02 +00:00
Shlee b8f0a50435
docker-compose.yml `version` is obsolete (#30120) 2024-04-29 17:31:14 +00:00
renovate[bot] f5d6362e90
Update dependency ws to v8.17.0 (#30097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 15:48:34 +00:00
Matt Jankowski 924af400da
Remove unused memoization in `CustomFilter#expires_in` method (#30117) 2024-04-29 12:49:31 +00:00
Matt Jankowski f1a4b4e228
Disable `Style/SignalException` cop (#30064) 2024-04-29 12:32:06 +00:00
Claire 7d3fe2b4c3
Add loading indicator and empty result message to advanced interface search (#30085) 2024-04-29 09:55:41 +00:00
Matt Jankowski ac7f4d57bb
Use composable query in `Status.without_replies` scope (#30086) 2024-04-29 09:55:37 +00:00
Claire 95e9de5777
Prevent accidental serialization of `Account` and `User` records (#30079) 2024-04-29 09:45:58 +00:00
Matt Jankowski e336466894
Use shared form partial for `admin/rules` views (#30067) 2024-04-29 09:33:27 +00:00
Matt Jankowski a9816f051d
Use shared form partial for `admin/warning_presets` views (#30069) 2024-04-29 09:33:06 +00:00
Renaud Chaput b9b4db483c
Remove usage of deprecated `defaultTypes` on React functional components (#30099) 2024-04-29 09:29:59 +00:00
Matt Jankowski 2739d8d5a4
Use shorter `render` call in `admin/webhooks` view (#30071) 2024-04-29 09:10:23 +00:00
Matt Jankowski bbf1b603e0
Remove unused `Account.popular` scope (#30068) 2024-04-29 09:04:35 +00:00
renovate[bot] 6931cf5727
Update dependency aws-sdk-s3 to v1.148.0 (#30076)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 09:03:27 +00:00
Matt Jankowski 2123281f7c
Move `Account` limits to constants (#30087) 2024-04-29 09:02:47 +00:00
Matt Jankowski f0c9cbaf3b
Use `EXPIRATION_DURATIONS` constant in `CustomFilter` class (#30088) 2024-04-29 09:01:46 +00:00
Renaud Chaput 4527e012da
Convert `entrypoints/sign_up` to Typescript (#30106) 2024-04-29 08:23:05 +00:00
github-actions[bot] 9be7efedf0
New Crowdin Translations (automated) (#30092)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-29 08:15:43 +00:00
renovate[bot] 00aec2f33a
Update peter-evans/create-pull-request action to v6.0.5 (#30112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 08:10:20 +00:00
renovate[bot] 0efa9854a1
Update libretranslate/libretranslate Docker tag to v1.5.7 (#30111)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 08:10:04 +00:00
renovate[bot] 23223369e0
Update eslint (non-major) (#30110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 08:09:50 +00:00
renovate[bot] c0584a6f4f
Update devDependencies (non-major) (#30109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 08:09:27 +00:00
renovate[bot] 31f3dd57e0
Update dependency rubocop to v1.63.4 (#30096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 08:08:58 +00:00
renovate[bot] d8a4cea41b
Update dependency haml_lint to v0.58.0 (#30094)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 08:08:43 +00:00
Renaud Chaput 36909065b5
Convert easy entrypoints files to Typescript (#30102) 2024-04-29 08:02:41 +00:00
David Beck 4f4b77920e
Remove home marker updates (#22721) 2024-04-29 07:55:58 +00:00
Matt Jankowski 7201f99cf8
Change default ruby version to 3.3.1 (#28013) 2024-04-29 07:41:59 +00:00
Renaud Chaput 65093c619f
Fix marker thunks to not ignore eslint directives for the whole file (#30089) 2024-04-26 17:11:27 +00:00
Claire de4a7bf531
Change moderation warning notification icon (#30081) 2024-04-26 15:33:15 +00:00
renovate[bot] 0cf6cf457d
Update dependency selenium-webdriver to v4.20.1 (#30060)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 15:32:48 +00:00
renovate[bot] 17e0a31fe3
Update dependency cssnano to v7 (#30061)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 15:32:38 +00:00
Michael Stanclift bb8c6346fb
Reword and rearrange Content Retention page (#27733) 2024-04-26 15:17:41 +00:00
Matt Jankowski b67b61b963
Ignore dotenv *.local files (#29932) 2024-04-26 14:50:39 +00:00
renovate[bot] ac82f34f7d
Update dependency pino to v9 (#30057)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 14:49:54 +00:00
Claire 91ca90e25b
Fix Idempotency-Key ignored when scheduling a post (#30084) 2024-04-26 13:19:02 +00:00
Claire e845594878
Fix moderator account being exposed in account moderation notification (#30082) 2024-04-26 12:42:06 +00:00
github-actions[bot] 5201882a23
New Crowdin Translations (automated) (#30077)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-26 10:05:18 +00:00
Claire 4ef0b48b95
Add in-app notifications for moderation actions/warnings (#30065) 2024-04-25 17:26:05 +00:00
Eugen Rochko 0ec061aa8f
Change design of people tab on explore in web UI (#30059) 2024-04-25 16:25:33 +00:00
github-actions[bot] 85fdbd0ad5
New Crowdin Translations (automated) (#30062)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-25 08:50:54 +00:00
Matt Jankowski d9eee9bf9a
Remove column defaults for `status_pins` timestamp columns (#29261) 2024-04-24 14:56:54 +00:00
Tim Rogers b128474625
Fixed rendering of excess whitespace in status card titles (#30017) 2024-04-24 09:09:21 +00:00
Matt Jankowski f4a53f3fb4
Extract constants for column size length validation limits (#30045) 2024-04-24 08:56:28 +00:00
github-actions[bot] ebcf9840f4
New Crowdin Translations (automated) (#30050)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-24 08:45:24 +00:00
Eugen Rochko 74012831f6
Change mute options to be in dropdown on muted users list in web UI (#30049) 2024-04-24 08:45:12 +00:00
Matt Jankowski b903e6909e
Disable `Style/HashAsLastArrayItem` cop (#30041) 2024-04-24 08:32:18 +00:00
Renaud Chaput 0e585b9a52
Update to Ruby 3.2.4 (#30036) 2024-04-24 08:21:05 +00:00
Matt Jankowski 3f6887557b
Move JS source from `packs` to `entrypoints` (#30037) 2024-04-23 16:45:12 +00:00
Matt Jankowski 32ead51e5a
Add material design icons to admin/settings views (#27780)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-04-23 16:43:49 +00:00
Claire a2399046ca
Fix string interpolation for software updates admin mailer (#30035) 2024-04-23 12:54:52 +00:00
Emelia Smith 049b159beb
Add read:me OAuth 2.0 scope, allowing more limited access to user data (#29087) 2024-04-23 11:47:00 +00:00
github-actions[bot] d754b15afb
New Crowdin Translations (automated) (#30034)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-23 09:07:05 +00:00
renovate[bot] 91c7406b59
Update dependency postcss-preset-env to v9.5.9 (#30029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 08:41:50 +00:00
renovate[bot] 1471c0d4e0
Update dependency rubocop to v1.63.3 (#30031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 08:41:33 +00:00
renovate[bot] 483fabf48a
Update dependency http to '~> 5.2.0' (#30027)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-04-22 14:02:47 +00:00
Claire 2ef098d01c
Revert "Rely on dotenv autoload instead of explicit call (#30007)" (#30028) 2024-04-22 14:02:24 +00:00
Matt Jankowski 33e829763d
Use shared `form` partial for `admin/domain_blocks` views (#29609) 2024-04-22 12:22:16 +00:00
Matt Jankowski ffbbf74c50
Limit `http` gem version to 5.1.x series (#30010) 2024-04-22 09:01:36 +00:00
Matt Jankowski 56b095edeb
Update Gemfile.lock ruby and bundler versions (#30011) 2024-04-22 09:01:24 +00:00
Tim Rogers 1ca6ff8ca5
Fixed crash when supplying FFMPEG_BINARY environment variable (#30022) 2024-04-22 09:00:24 +00:00
Tim Rogers 75163d9daf
Fixed rendering error on /start when not logged in (#30023) 2024-04-22 08:53:08 +00:00
github-actions[bot] 3655fb6a22
New Crowdin Translations (automated) (#30014)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-22 08:42:35 +00:00
Matt Jankowski 18737aad49
Rely on dotenv autoload instead of explicit call (#30007) 2024-04-22 08:31:20 +00:00
Matt Jankowski a15139bc02
Fix intermittent order based failure in `UpdateStatusService` spec (#30008) 2024-04-22 08:30:38 +00:00
renovate[bot] 24e67c4394
Update dependency postcss-preset-env to v9.5.8 (#30018)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 08:24:08 +00:00
renovate[bot] 3e21af3e4a
Update dependency @types/react to v18.2.79 (#30024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 08:14:09 +00:00
renovate[bot] 88f946890d
Update peter-evans/create-pull-request action to v6.0.4 (#30025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 08:13:28 +00:00
renovate[bot] 223936c2e8
Update eslint (non-major) to v7.7.0 (#30026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 08:13:04 +00:00
Matt Jankowski 2ec9bff36e
Fix Rubocop `Rails/UniqueValidationWithoutIndex` cop (#27461)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-04-22 08:04:05 +00:00
Matt Jankowski 35b517c207
Remove remnants of capistrano (#30009) 2024-04-19 20:53:01 +00:00
Matt Jankowski 369b2ef0ed
Fix `Style/TrailingCommaInHashLiteral` cop (#30004) 2024-04-19 20:52:01 +00:00
Matt Jankowski c7384adc00
Fix `Style/TrailingCommaInArguments` cop (#30003) 2024-04-19 20:37:18 +00:00
Matt Jankowski b6f04aed35
Silence warning about requiring `rubocop-rspec_rails` (#30002) 2024-04-19 20:35:00 +00:00
Matt Jankowski 933189887b
Fix `Style/StringLiterals` cop (#30005) 2024-04-19 20:33:00 +00:00
Matt Jankowski 8d47ba893a
Fix `Style/PercentLiteralDelimiters` cop (#30006) 2024-04-19 20:32:26 +00:00
renovate[bot] d24462c81a
Update dependency test-prof to v1.3.3 (#30000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 19:46:13 +00:00
Matt Jankowski fa5e154ee3
Indirect deps gem version bumps (#29998) 2024-04-19 19:45:41 +00:00
Matt Jankowski f5d341382e
Add `any_args` to have_enqueued_sidekiq_job call (quiets deprecation) (#29999) 2024-04-19 19:44:59 +00:00
Matt Jankowski f386eb6c63
Replace deprecated `dotenv-rails` gem with `dotenv` gem (#29173) 2024-04-19 14:25:14 +00:00
github-actions[bot] ec71c02c4b
New Crowdin Translations (automated) (#29994)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-19 13:57:43 +00:00
Matt Jankowski 4837bfcc6a
Use shared `form` partial for `admin/announcements` views (#29608) 2024-04-19 13:57:32 +00:00
renovate[bot] e5d5bd7ff1
Update dependency postcss-preset-env to v9.5.6 (#29983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 16:24:55 +00:00
Matt Jankowski 75f9c652e2
Fix `Bundler/OrderedGems` cop (#28400) 2024-04-18 16:24:22 +00:00
github-actions[bot] 443186ff40
New Crowdin Translations (automated) (#29980)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-18 11:18:39 +00:00
Matt Jankowski 11e0049b08
Use enum-generated scopes/queries for `BulkImport` (#29975) 2024-04-18 10:13:35 +00:00
renovate[bot] 630572323f
Update dependency ioredis to v5.4.1 (#29977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 21:52:26 +00:00
renovate[bot] 1ad119941f
Update dependency rspec-sidekiq to v4.2.0 (#29964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 11:14:09 +00:00
Claire 8bece467f8
Change `have_enqueued_sidekiq_job` usage to always make argument expectations explicit (#29974) 2024-04-17 11:13:52 +00:00
Matt Jankowski 013671f29f
Rename JS testing section in GH Actions config (#29931) 2024-04-17 10:23:07 +00:00
Matt Jankowski 650c548c31
Add `not_featured_by` scope to Tag (#28815) 2024-04-17 10:05:38 +00:00
Matt Jankowski 1d3ecd3fba
Add `API::Pagination` concern (#28826) 2024-04-17 09:22:45 +00:00
Matt Jankowski 828299e71c
Enable AR Encryption (#29831) 2024-04-17 09:19:02 +00:00
renovate[bot] a390299744
Update dependency ioredis to v5.4.0 (#29969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 09:08:19 +00:00
renovate[bot] ee8f999a7b
Update dependency core-js to v3.37.0 (#29968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 09:08:08 +00:00
github-actions[bot] c35042b7eb
New Crowdin Translations (automated) (#29972)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-17 09:07:13 +00:00
Claire fc89ecc6ca
Change `/api/v1/announcements` to return regular `Status` entities (#26736) 2024-04-17 09:06:23 +00:00
Matt Jankowski 9ae2594726
Add reusable duplicate ID finder methods in maintenance CLI (#28910) 2024-04-17 09:00:08 +00:00
renovate[bot] 03abff3b30
Update dependency aws-sdk-s3 to v1.147.0 (#29967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 08:30:58 +00:00
Matt Jankowski 9ce2db4136
Combine double subject runs and DRY up change check in bulk import service spec (#29402) 2024-04-17 08:23:25 +00:00
Matt Jankowski 6fed108703
Use Rails `upsert` to generate update_count! query in Counters concern (#28738)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-04-17 08:16:51 +00:00
Claire 5915bd7f45
Fix development environment admin account not being auto-approved (#29958) 2024-04-16 17:30:32 +00:00
Matt Jankowski caad1e2628
Add scope `Status.distributable_visibility` (#29950) 2024-04-16 13:16:54 +00:00
renovate[bot] 0622107449
Update dependency @testing-library/react to v15 (#29893)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 09:44:02 +00:00
Matt Jankowski 6b33d3f81b
Add `CustomFilter.unexpired` scope (#29896) 2024-04-16 09:29:34 +00:00
Claire 66ee0d4a1f
Fix incorrect label for filtered notifications badge (#29922) 2024-04-16 09:25:23 +00:00
Matt Jankowski 3159c0a547
Add scope `Status.list_eligible_visibility` (#29951) 2024-04-16 09:17:03 +00:00
renovate[bot] e6927db2fe
Update dependency rubocop to v1.63.2 (#29959)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 08:58:04 +00:00
renovate[bot] 6ee1b034b6
Update dependency prom-client to v15.1.2 (#29957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 08:45:20 +00:00
github-actions[bot] 285d4123b5
New Crowdin Translations (automated) (#29955)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-16 08:36:21 +00:00
Matt Jankowski 7fed4a9740
Pull out repeated setup to shared setup in statusus/show view spec (#29927) 2024-04-15 15:24:31 +00:00
Claire 4117c8f6b8
Fix unfollow button being out of frame on small screens on old browsers (#29923) 2024-04-15 11:56:48 +00:00
Matt Jankowski 1549e6a9dc
Drop support for Ruby 3.0 (reaching EOL) (#29702) 2024-04-15 10:19:23 +00:00
github-actions[bot] 4e78cb9988
New Crowdin Translations (automated) (#29939)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-15 09:29:39 +00:00
Matt Jankowski 0d9ad96d3f
Rename `PremailerWebpackStrategy` -> `PremailerBundledAssetStrategy` (#29934) 2024-04-15 09:16:59 +00:00
Matt Jankowski bf5d948237
Fix `Style/SingleArgumentDig` cop in webpacker/manifest_extensions (#29929) 2024-04-15 09:15:32 +00:00
Renaud Chaput 67dd1763bb
Fix PostCSS config (#29926) 2024-04-15 09:06:06 +00:00
Renaud Chaput ee4ea83a87
Remove `image_pack_tag` usage (#29925) 2024-04-15 09:05:19 +00:00
renovate[bot] 34e826f373
Update dependency typescript to v5.4.5 (#29945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 07:28:29 +00:00
renovate[bot] 1906330d13
Update dependency react-redux to v9.1.1 (#29943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 07:27:56 +00:00
renovate[bot] 80edd7a317
Update DefinitelyTyped types (non-major) (#29944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 07:27:33 +00:00
renovate[bot] e3dd60cce1
Update peter-evans/create-pull-request action to v6.0.3 (#29946)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 07:26:57 +00:00
renovate[bot] 86c53e175d
Update dependency @testing-library/react to v14.3.1 (#29947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 07:26:41 +00:00
renovate[bot] c4d6e10115
Update dependency rubocop to v1.63.1 (#29878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 10:57:37 +00:00
renovate[bot] 67a37c7279
Update dependency sass to v1.75.0 (#29919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 10:56:49 +00:00
Matt Jankowski 61d108f415
Extract `header_tags` method in statuses/show view spec (#29907) 2024-04-12 09:50:46 +00:00
renovate[bot] 8986e3b088
Update dependency webpack-bundle-analyzer to v4.10.2 (#29909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 09:48:13 +00:00
Claire c386c36866
Add `/` keyboard shortcut to focus the search field (#29921) 2024-04-12 09:42:12 +00:00
renovate[bot] 3f821e0d5e
Update dependency postcss-preset-env to v9.5.5 (#29912)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 09:41:44 +00:00
Matt Jankowski da6b9238f5
Expand coverage for admin/metrics/measure/* classes (#29914) 2024-04-12 09:38:24 +00:00
Matt Jankowski ec5a0e0f5e
Expand coverage for admin/metrics/dimension/* classes (#29913) 2024-04-12 09:18:35 +00:00
Matt Jankowski 13bbde2246
Use existing `DEFAULT_FIELDS_SIZE` constant to limit `Account#fields` (#29911) 2024-04-12 09:04:23 +00:00
github-actions[bot] 5992df0762
New Crowdin Translations (automated) (#29920)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-12 08:19:48 +00:00
Matt Jankowski 449f99e168
Fix repeated concat output buffer duplicating layout markup (#29918) 2024-04-11 23:37:07 +00:00
github-actions[bot] 20b1e55f24
New Crowdin Translations (automated) (#29903)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-11 10:30:31 +00:00
renovate[bot] 4826c1da8a
Update dependency devise to v4.9.4 (#29890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 09:00:15 +00:00
Matt Jankowski 576554b19b
Use fabrication sequence in domain values (#29895) 2024-04-11 08:59:01 +00:00
renovate[bot] 96bdeeed0e
Update dependency nokogiri to v1.16.4 (#29900)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 08:50:34 +00:00
github-actions[bot] db5a5636d9
New Crowdin Translations (automated) (#29888)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-10 13:03:40 +00:00
Matt Jankowski 4565015615
Fix `Style/MapIntoArray` cop in cli progress helper (#29884) 2024-04-10 12:46:43 +00:00
Matt Jankowski b57ee5cf5b
Fix `Style/MapIntoArray` cop in context helper (#29885) 2024-04-10 12:46:39 +00:00
Matt Jankowski 4948a063d2
Use `tt` extension for form scaffold template (#29676) 2024-04-10 09:20:21 +00:00
renovate[bot] b8dca8d22a
Update dependency typescript to v5.4.4 (#29875)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 14:08:32 +00:00
Matt Jankowski 285f63c02e
Use composable query in `User.active` scope (#29775) 2024-04-08 13:53:49 +00:00
Claire babbf6017d
Remove caching in `cache_collection` (#29862) 2024-04-08 13:46:13 +00:00
Claire f3430eebbb
Fix hashtag string interpolation in welcome email (#29879) 2024-04-08 13:45:25 +00:00
github-actions[bot] 13faf26315
New Crowdin Translations (automated) (#29859)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-08 13:44:54 +00:00
Renaud Chaput 730e2127e1
Fix webpack warnings due to unhandled extensions (`LICENCE` and `README.md`) (#29869) 2024-04-08 08:17:51 +00:00
renovate[bot] a1277a9b2b
Update eslint (non-major) (#29877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 08:17:23 +00:00
renovate[bot] 2441fe6fd4
Update dependency stylelint-config-standard-scss to v13.1.0 (#29876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 08:16:57 +00:00
renovate[bot] b06510d579
Update DefinitelyTyped types (non-major) (#29874)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 08:16:36 +00:00
renovate[bot] 499b184fcd
Update dependency pino to v8.20.0 (#29865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 08:16:20 +00:00
renovate[bot] 79bbb2023d
Update dependency react-intl to v6.6.5 (#29864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 08:15:46 +00:00
Claire e73cf356d2
Move OAuth flow tests from feature tests to system tests (#29837) 2024-04-05 16:52:05 +00:00
Matt Jankowski b61ae28f8d
Separate methods for theme style and meta color tags (#29802) 2024-04-05 09:52:43 +00:00
ache 52ab8a59c6
Forward 3035 port (#29710) 2024-04-05 09:19:43 +00:00
Matt Jankowski c0fe8a9f13
Extract shared callback behaviour to `CustomFilterCache` concern (#29695) 2024-04-05 09:17:58 +00:00
renovate[bot] 285a87a77f
Update dependency scenic to v1.8.0 (#29794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 09:04:10 +00:00
Matt Jankowski 59da591d13
Improve spec for dimension/languages admin metric (#29842) 2024-04-05 08:54:11 +00:00
Renaud Chaput 6ac90d4c5d
Add tests for our number formatting function (#29852) 2024-04-05 08:06:31 +00:00
Renaud Chaput 906a399634
Fix wrong extension for a test file (#29853) 2024-04-05 07:57:44 +00:00
renovate[bot] c7378218ba
Update dependency rubocop-rspec to v2.29.1 (#29858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 07:57:20 +00:00
Claire 38b9d31f63
Improve email address validation (#29838) 2024-04-05 07:48:45 +00:00
Claire 1f11aa5f04
Add stub for trending tags in user mailer spec (#29850) 2024-04-05 07:48:07 +00:00
Matt Jankowski 601834d746
Use partial collection render for welcome mailer features (#29843) 2024-04-04 16:13:10 +00:00
Matt Jankowski 191bf5876e
Add coverage for sanitize failure path in api/web/embeds spec (#29851) 2024-04-04 16:07:16 +00:00
Michael Stanclift 1c87cb8019
Add purple border to active compose field search inputs (#29839) 2024-04-04 11:51:06 +00:00
Matt Jankowski 966d7f5bf9
Add missing snowflake range correction (#29841) 2024-04-04 11:33:17 +00:00
Jeong Arm 4045c069f8
Use `public_visibility` (#29847) 2024-04-04 07:31:30 +00:00
renovate[bot] 91d3b3fb25
Update dependency sass to v1.74.1 (#29846)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 07:25:30 +00:00
renovate[bot] 58dfc12af2
Update babel monorepo to v7.24.4 (#29840)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 07:23:53 +00:00
nicolas c6da3ee828
Makes the star icon rotate around its actual centre axis (#29844) 2024-04-03 21:10:02 +00:00
Matt Jankowski cde3206478
Simplify feature loop in welcome mailer (#29760) 2024-04-03 20:10:59 +00:00
renovate[bot] 37d984b8bf
Update eslint (non-major) (#29820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-04-03 18:05:39 +00:00
Michael Stanclift e284417349
Fix blue border on emoji/language search in Safari & Chrome (#29832) 2024-04-03 15:19:10 +00:00
Michael Stanclift 5d67247061
Fix language and emoji search field background colors on light theme (#29828) 2024-04-03 14:22:50 +00:00
github-actions[bot] 56d13069cd
New Crowdin Translations (automated) (#29836)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-03 09:04:29 +00:00
renovate[bot] 4233ee1f59
Update dependency pg to v8.11.5 (#29833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 21:33:43 +00:00
renovate[bot] 54c7d1ad14
Update dependency pg-connection-string to v2.6.4 (#29814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 21:22:22 +00:00
Matt Jankowski a7b637768e
Regenerate rubocop todo with version 1.62.1 (#29830) 2024-04-02 19:56:54 +00:00
renovate[bot] 88c3664889
Update dependency rubocop-performance to v1.21.0 (#29804)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 17:00:07 +00:00
Matt Jankowski d27eb181f6
Reduce `LineLength` from 320 to 300 (#29636) 2024-04-02 15:50:57 +00:00
renovate[bot] f8b03c3925
Update dependency faker to v3.3.1 (#29829)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 15:48:27 +00:00
Matt Jankowski edde54e991
Update stoplight to version 4.1.0 (#28366) 2024-04-02 15:47:40 +00:00
Matt Jankowski 921c4c1273
Match comment style of `FeedManager` list/tags checks (#29639)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-04-02 14:07:31 +00:00
Claire 0b9d4103cb
Fix contrast in notification request badge (#29826) 2024-04-02 14:05:46 +00:00
Matt Jankowski f87959ab50
Fix `RSpec/LetSetup` cop in api/v1/timelines/public spec (#28972) 2024-04-02 14:05:02 +00:00
Claire 54119570e6
Remove dependency on posix-spawn (#18559) 2024-04-02 14:02:07 +00:00
Matt Jankowski 34489591ec
Add `max_pinned_statuses` to instances serializer and api response (#29441) 2024-04-02 13:54:11 +00:00
Matt Jankowski f56309f5f0
Add `by_latest_used` scope, move admin area recent IPs to partial (#29497) 2024-04-02 13:51:34 +00:00
renovate[bot] c70c39cad0
Update docker/dockerfile Docker tag to v1.7 (#27993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 13:47:15 +00:00
renovate[bot] b0692d994f
Update dependency letter_opener to v1.10.0 (#29189)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 13:31:03 +00:00
renovate[bot] 695dded7ed
Update dependency aws-sdk-s3 to v1.146.1 (#28961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 13:29:46 +00:00
renovate[bot] f6e24bbd79
Update dependency postcss-preset-env to v9.5.4 (#29825)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 12:13:43 +00:00
Renaud Chaput b4d991adaa
Use integers and not numbers in notification policy API counters (#29810) 2024-04-02 10:06:26 +00:00
renovate[bot] d05f62391d
Update dependency public_suffix to v5.0.5 (#29824)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 10:04:32 +00:00
Renaud Chaput e47a3d00fe
Add API types for status and related objects (#29792) 2024-04-02 10:03:33 +00:00
Renaud Chaput 07635228e2
Fix Redux Middleware types (#29800) 2024-04-02 09:56:03 +00:00
Matt Jankowski a3fe82e359
Rename cop `RSpec/Rails/HttpStatus` to `RSpecRails/HttpStatus` (#29806) 2024-04-02 09:34:44 +00:00
github-actions[bot] c717747603
New Crowdin Translations (automated) (#29812)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-04-02 09:26:06 +00:00
Michael Stanclift fa9574086d
Fix search box color on light theme (#29808) 2024-04-02 09:15:31 +00:00
renovate[bot] 143d9553fa
Update dependency fastimage to v2.3.1 (#29822)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 09:15:24 +00:00
renovate[bot] a4158be4d7
Update devDependencies (non-major) (#29819)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 08:59:52 +00:00
renovate[bot] 2f7a2d4df7
Update DefinitelyTyped types (non-major) (#29818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 08:59:26 +00:00
renovate[bot] b58666e12e
Update dependency @reduxjs/toolkit to v2.2.3 (#29817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 08:59:05 +00:00
renovate[bot] 9611023380
Update dependency postcss-preset-env to v9.5.3 (#29816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 08:58:00 +00:00
renovate[bot] 173adb04e2
Update dependency pg to v8.11.4 (#29813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 08:57:14 +00:00
renovate[bot] 589e34d00c
Update dependency selenium-webdriver to v4.19.0 (#29776)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-04-02 08:53:44 +00:00
Michael Stanclift 90eb4a5d01
Fix light theme header on mobile (#29809) 2024-03-29 21:03:30 +00:00
Michael Stanclift 430da03160
Fix background tint in single column light theme (#29803) 2024-03-29 17:16:51 +00:00
Renaud Chaput 69e5771881
Handle `createAppAsyncThunk` rejected actions in the errors middleware (#29791) 2024-03-29 13:57:39 +00:00
github-actions[bot] f96648d41c
New Crowdin Translations (automated) (#29796)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-29 13:35:50 +00:00
Renaud Chaput 672c9f5f05
Change the `theme-color` value automatically when using a built-in theme (#29795) 2024-03-29 13:32:07 +00:00
renovate[bot] 671167f6da
Update dependency glob to v10.3.12 (#29790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-29 13:31:13 +00:00
renovate[bot] cd9d11dda6
Update dependency debug to v1.9.2 (#29799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-29 13:30:52 +00:00
Renaud Chaput 67442f9039
Remove global `boosts` state and convert boosts modal to Typescript (#29774) 2024-03-28 15:33:15 +00:00
github-actions[bot] 8a498f4e65
New Crowdin Translations (automated) (#29785)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-28 14:48:09 +00:00
Claire 4f068d4fcc
Fix logo pushing header buttons out of view on certain conditions in mobile layout (#29787) 2024-03-28 14:00:57 +00:00
Matt Jankowski e85f24174e
Simplify checklist step loop in welcome mailer (#29761) 2024-03-28 10:56:33 +00:00
renovate[bot] d44e7a8578
Update dependency node to 20.12 (#29765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-28 10:54:16 +00:00
Renaud Chaput 961bb84e4c
Fix `<RelativeTimestamp>` types (#29781) 2024-03-28 10:07:01 +00:00
Renaud Chaput d088964761
Fix props for `<Button>` (#29780) 2024-03-28 10:06:25 +00:00
Renaud Chaput f2fd1da23f
Fix PropTypes for some record objects (#29786) 2024-03-28 10:05:16 +00:00
github-actions[bot] 1025fff6b9
New Crowdin Translations (automated) (#29772)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-27 21:19:03 +00:00
Claire c913e2f3e5
Fix language picker and privacy picker not having a backdrop filter (#29779) 2024-03-27 16:32:00 +00:00
Renaud Chaput b9982ce578
Fix notifications marker fetch (#29777) 2024-03-27 15:49:02 +00:00
Renaud Chaput 9fbe8d3a0c
Rewrite PIP state in Typescript (#27645)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-03-27 15:19:33 +00:00
Matt Jankowski b016f03637
Pull out constant from `AccountWarning.recent` scope (#29767) 2024-03-27 14:08:04 +00:00
Renaud Chaput 27d014a7fa
Rewrite markers reducer in Typescript (#27644) 2024-03-27 12:47:09 +00:00
renovate[bot] d49343ed11
Update dependency react-intl to v6.6.4 (#29771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 09:59:54 +00:00
renovate[bot] 86f999c1f2
Update dependency json-schema to v4.3.0 (#29769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 09:59:50 +00:00
Matt Jankowski 1d0a43f6a3
Use composable query in `Status.not_domain_blocked_by_account` scope (#29766) 2024-03-27 09:59:45 +00:00
renovate[bot] c5692d2f2f
Update dependency prom-client to v15.1.1 (#29764)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 09:59:42 +00:00
Claire b2d841ce9a
Fix column borders disappearing in advanced interface on low width viewports (#29763) 2024-03-26 23:14:11 +00:00
Matt Jankowski c4feba4347
Use existing `MascotHelper#instance_presenter` instead of local var in `welcome` email template (#29759) 2024-03-26 15:58:48 +00:00
Claire de740dfb9c
Use `upsert_all` and `insert_all` to reduce back-and-forth in costly migrations (#29752) 2024-03-26 15:57:08 +00:00
Claire 9c24f2d6b1
Undo notification permissions on individual and domain blocks (#29570) 2024-03-26 14:46:38 +00:00
Claire 7508472d84
Fix admin interface repeating rule title instead of showing hint text (#29758) 2024-03-26 14:46:05 +00:00
Claire cfea9cc172
Add list of pending releases directly in mail notifications for version updates (#29436) 2024-03-26 14:45:19 +00:00
Matt Jankowski 32938dadd7
Add `not_allowed` scope for `PreviewCardTrend` (#29599) 2024-03-26 13:21:20 +00:00
Matt Jankowski cf76380c91
Add `AccountStat.by_recent_status`, use in `Account` (#29704) 2024-03-26 13:12:09 +00:00
renovate[bot] b34c089591
Update dependency csv to v3.3.0 (#29715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 13:09:35 +00:00
github-actions[bot] b3d970bdb8
New Crowdin Translations (automated) (#29756)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-26 09:49:19 +00:00
Matt Jankowski c3e3c60069
Remove extraneous `Lint/UselessAccessModifier` config (#29749) 2024-03-26 09:33:07 +00:00
Matt Jankowski 5e6a600b64
Bundler version update and misc gem version bumps (#29717) 2024-03-26 09:31:24 +00:00
Emelia Smith eb926b7e60
Ensure case-insensitive fields are converted to lowercase in user imports (#29740) 2024-03-26 09:30:10 +00:00
Emelia Smith a3e8b78250
Ensure case-insensitive fields are converted to lowercase in Admin Imports (#29739) 2024-03-26 09:30:07 +00:00
renovate[bot] 06fc2b3fde
Update dependency faker to v3.3.0 (#29755)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 09:29:38 +00:00
renovate[bot] 572a8ef7f9
Update dependency rubocop-rails to v2.24.1 (#29745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 09:27:41 +00:00
renovate[bot] 3002a1e89b
Update dependency express to v4.19.2 (#29750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 09:27:23 +00:00
renovate[bot] 36bc57de95
Update dependency cssnano to v6.1.2 (#29754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 09:27:05 +00:00
Renaud Chaput 02ea161506
Support "system" theme setting (light/dark theme depending on user system preference) (#29748)
Co-authored-by: Nishiki Liu <hello@nshki.com>
2024-03-26 09:25:49 +00:00
Eugen Rochko 0cea7a623b
Fix background and icon on notification requests in web UI (#29706) 2024-03-25 13:39:06 +00:00
Eugen Rochko 29f9dc742e
Change design of notification about lost connections in web UI (#29731) 2024-03-25 13:27:38 +00:00
Eugen Rochko dd061291b1
Change out-of-band hashtags design in web UI (#29732) 2024-03-25 12:45:00 +00:00
renovate[bot] 766c1fea20
Update devDependencies (non-major) (#29746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 12:14:46 +00:00
renovate[bot] 55e2c827bd
Update DefinitelyTyped types (non-major) (#29743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 11:09:05 +00:00
renovate[bot] 45f8364cd1
Update dependency typescript to v5.4.3 (#29744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 11:09:00 +00:00
renovate[bot] bbf36836b6
Update formatjs monorepo (#29733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 11:07:47 +00:00
github-actions[bot] 799e3be9bd
New Crowdin Translations (automated) (#29726)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-25 11:07:38 +00:00
Eugen Rochko 8e7e86ee35
Add ability to reorder uploaded media before posting in web UI (#28456) 2024-03-25 10:29:55 +00:00
Renaud Chaput 6c381f20b1
Restore advanced filter bar setting (#29737) 2024-03-24 14:17:06 +00:00
Claire 81a04ac25c
Improve specs for severed relationships (#29688) 2024-03-22 16:25:36 +00:00
Claire 37ca59815c
Remove setting for unfollow confirmation modal, and make it unconditional (#29373) 2024-03-22 16:24:04 +00:00
renovate[bot] 119c7aa0df
Update dependency rails-i18n to v7.0.9 (#29564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-22 16:22:52 +00:00
Claire 58376eedda
Remove obsolete `admin` and `moderator` columns from `users` table (#29718) 2024-03-22 16:22:36 +00:00
Claire d71d26a3c9
Reattribute notification-related records if possible when merging accounts (#29694) 2024-03-22 16:21:53 +00:00
Claire de6c9e0fcd
Change new modals to allow vertical scrolling (#29644) 2024-03-22 16:21:50 +00:00
Claire 387c78ddf9
Change icon of severed relationships notifications (#29712) 2024-03-22 15:45:04 +00:00
Claire dfa43707eb
Change `AccountRelationshipSeveranceEvent` model to store lost followers and following counts separately (#29714) 2024-03-22 15:44:31 +00:00
Matt Jankowski 34f293475e
Fix results/query in `api/v1/featured_tags/suggestions` (#29597) 2024-03-22 15:08:27 +00:00
github-actions[bot] 5db5fa879b
New Crowdin Translations (automated) (#29708)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-22 14:50:03 +00:00
Matt Jankowski 8c1d29df7e
Use `has_many through` instead of `delegate` for ARSE<>SR (#29672) 2024-03-22 14:43:35 +00:00
Renaud Chaput ec1e770fea
Add the role ID to the badge component (#29707) 2024-03-22 11:59:35 +00:00
Claire 05eda8d193
Remove severed relationship notifications for single account suspensions (#29700) 2024-03-21 21:53:24 +00:00
Claire 70a8fcf07d
Fix notification policy migration not preserving `filter_private_mentions` correctly (#29699) 2024-03-21 21:52:29 +00:00
Matt Jankowski 142c018cfa
Add ruby 3.3 to CI test matrix (#29705) 2024-03-21 21:48:41 +00:00
renovate[bot] ec6d016da1
Update dependency ox to v2.14.18 (#29701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 18:09:45 +00:00
renovate[bot] 7f5e930bd2
Update dependency strong_migrations to v1.8.0 (#29556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 18:09:26 +00:00
renovate[bot] f5444c8fe4
Update dependency rspec-rails to v6.1.2 (#29691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 18:06:32 +00:00
renovate[bot] 05abefe989
Update RuboCop (non-major) to v1.62.1 (#29692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 17:39:27 +00:00
Claire 814a48517f
Add some more tests for notification policies (#29698) 2024-03-21 16:46:38 +00:00
Matt Jankowski a59f5694fe
Add empty line after magic frozen string comment (#29696) 2024-03-21 14:12:50 +00:00
Claire 75f34b80a8
Clean up notification requests when deleting accounts (#29693) 2024-03-21 14:12:26 +00:00
renovate[bot] 1df00d4e76
Update dependency pino-pretty to v11 (#29662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 10:46:14 +00:00
renovate[bot] 2ec3fcaffe
Update dependency rack to v2.2.9 (#29685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 10:43:37 +00:00
renovate[bot] a506b09de0
Update dependency @reduxjs/toolkit to v2.2.2 (#29681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 10:41:47 +00:00
renovate[bot] 1feb228275
Update dependency express to v4.19.1 (#29663)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 10:40:38 +00:00
Nick Schonning d13cdced1e
Add Renovate grouped updates for RSpec and RuboCop (#29621) 2024-03-21 10:35:12 +00:00
Claire 885d0faf83
Fix duplicate translation string for severed relationships (#29689) 2024-03-21 10:06:21 +00:00
github-actions[bot] c007dd5dd2
New Crowdin Translations (automated) (#29687)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-21 09:57:45 +00:00
Matt Jankowski 77897cd24c
Use existing `SeveredRelationship.about_local_account` scope in more places (#29673) 2024-03-21 08:36:49 +00:00
Matt Jankowski 718ee72c80
Use `db_table_exists?` method in new cli/maintenance area (#29677) 2024-03-21 08:32:40 +00:00
Matt Jankowski cdd168f5d3
Update `enum` away from deprecated (#29678) 2024-03-21 08:32:35 +00:00
renovate[bot] 01464074c9
Update dependency autoprefixer to v10.4.19 (#29682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 08:32:31 +00:00
renovate[bot] 3f363c61bc
Update dependency postcss to v8.4.38 (#29684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 08:32:25 +00:00
Claire 7434c9c276
Fix the relationships controller spec, since it requires an extra model now (#29671) 2024-03-21 08:28:37 +00:00
Matt Jankowski 39bac24cb7
Remove reference to deleted haml lint todo file (#29675) 2024-03-20 22:12:11 +00:00
Matt Jankowski 62722238c9
Lock `i18n` gem to version `1.14.1` (#29674) 2024-03-20 22:10:50 +00:00
Eugen Rochko be52633ee4
Change back button to always appear in advanced web UI (#29669) 2024-03-20 17:21:03 +00:00
Claire f4d753aedf
Fix error in severed relationship event serializer (#29670) 2024-03-20 17:14:53 +00:00
Claire 98a2bb8be2
Fix issue with severed relationships notifications (#29668) 2024-03-20 17:02:09 +00:00
Claire 954b470fbc
Fix error when attempting to delete posts that triggered a notification request (#29666) 2024-03-20 16:48:24 +00:00
Claire d4449cc682
Fix account_relationship_severance_events unique indexes (#29665) 2024-03-20 16:08:34 +00:00
renovate[bot] 99c9db5f67
Update babel monorepo to v7.24.3 (#29660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 15:48:24 +00:00
renovate[bot] 27a6fa7b0e
Update dependency cssnano to v6.1.1 (#29661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 15:44:36 +00:00
Claire 44bf7b8128
Add notifications of severed relationships (#27511) 2024-03-20 15:37:21 +00:00
Claire 8a1423a474
Allow unblocking email addresses from any matching account (#29305) 2024-03-20 14:38:00 +00:00
Matt Jankowski 0a33be39c1
Reduce `LineLength` for `react_admin_component` helpers (#29650) 2024-03-20 13:45:34 +00:00
Claire 3211e960ac
Fix “Explore” icon in navigation bar not being filled when selected (#29649) 2024-03-20 13:31:31 +00:00
Claire 50fd94f481
Fix blockquote color in reply indicator (#29659) 2024-03-20 11:20:23 +00:00
Claire a68dd889fe
Add back support for old browsers (#29654) 2024-03-20 11:07:10 +00:00
Claire 94f7ae192b
Fix emoji picker placement on limited-height viewports (#29651) 2024-03-20 11:07:02 +00:00
Claire e36e7ea243
Fix emoji picker dropdown background and borders (#29653) 2024-03-20 11:06:50 +00:00
Claire a583317df6
Fix icon and styling in browser notifications banner (#29658) 2024-03-20 11:06:44 +00:00
github-actions[bot] 6c0b1a41a1
New Crowdin Translations (automated) (#29657)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-20 08:39:42 +00:00
renovate[bot] 5f1380415f
Update dependency postcss to v8.4.37 (#29656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 08:19:08 +00:00
Matt Jankowski 4c84891453
Pull out full `li` element into admin/status_edits/status_edit partial (#29499) 2024-03-19 16:11:10 +00:00
Claire ffc5be4820
Change filtered icon from “archive” to “inventory 2” (#29652) 2024-03-19 15:39:26 +00:00
Matt Jankowski 62e266fbd6
Add `BrowserDetection` model concern (#29513) 2024-03-19 15:39:14 +00:00
Matt Jankowski d7ab5655ef
Replace `render_symbol` method with `inline_svg_tag` usage (#29647) 2024-03-19 14:17:18 +00:00
Claire bc6f9befde
Change “Notifications” settings page to “E-mail notifications” (#29646) 2024-03-19 13:40:16 +00:00
Claire bd06963c16
Slightly increase font weight of favorite/boost numbers in detailed statuses (#29648) 2024-03-19 13:39:30 +00:00
renovate[bot] 42cdd0c095
Update babel monorepo to v7.24.1 (#29645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 13:00:39 +00:00
renovate[bot] caee5e4d6a
Update dependency core-js to v3.36.1 (#29642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-19 09:11:38 +00:00
Matt Jankowski 6c68c3c0ce
Introduce `inline_svg` gem, minimal usage, prep for material design icons (#29612) 2024-03-19 09:03:15 +00:00
github-actions[bot] 4e61bce4e9
New Crowdin Translations (automated) (#29641)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-19 08:36:52 +00:00
Matt Jankowski 72e1162eb3
Flatten `olm` section of context helper extension map (#29638) 2024-03-19 08:22:46 +00:00
Claire cf08a438e7
Add badge on account card in report moderation interface when account is already suspended (#29592) 2024-03-19 08:20:53 +00:00
Jeong Arm 39839baec3
Fix mute for 30 days (#29640) 2024-03-19 08:18:14 +00:00
renovate[bot] 4ce714adea
Update dependency irb to v1.12.0 (#29519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 14:09:18 +00:00
Matt Jankowski 6d2986017e
Remove unused `active_nav_class` helper method (#29617) 2024-03-18 13:24:59 +00:00
Claire d5063072c3
Revert friends-of-friends follow recommendation query to using a CTE (#29619) 2024-03-18 12:57:21 +00:00
Matt Jankowski b5115850bb
Move repeated `insert_pagination_headers` method to api base class (#29606) 2024-03-18 10:11:53 +00:00
renovate[bot] 58ce0002cd
Update dependency typescript to v5.4.2 (#29632)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 10:00:29 +00:00
renovate[bot] 7f17162242
Update dependency cssnano to v6.1.0 (#29514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 10:00:13 +00:00
renovate[bot] 0dd1c772a8
Update dependency cocoon-js-vanilla to v1.5.1 (#29461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 09:59:45 +00:00
renovate[bot] 6ebb971aad
Update dependency async-mutex to ^0.5.0 (#29552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 09:59:31 +00:00
Claire 9142805ca8
Remove deprecated `@types/…` packages (#29633) 2024-03-18 09:58:28 +00:00
renovate[bot] a732ef21b0
Update dependency json-schema to v4.2.0 (#29604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 09:37:33 +00:00
renovate[bot] 1164c7005e
Update dependency http-link-header to v1.1.3 (#29625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 09:33:54 +00:00
Matt Jankowski f279ff3bd6
Update `rspec-*` gems (#29616) 2024-03-18 09:19:38 +00:00
renovate[bot] 307efe41c6
Update dependency axios to v1.6.8 (#29613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 09:15:03 +00:00
Matt Jankowski 92855948a0
Remove unused `show_landing_strip?` helper method (#29618) 2024-03-18 08:55:54 +00:00
Matt Jankowski ecdbf15ebe
Remove unused `link_to_older` and `link_to_newer` helper methods (#29620) 2024-03-18 08:54:46 +00:00
renovate[bot] 97a229d5f4
Update dependency nokogiri to v1.16.3 (#29622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 08:53:29 +00:00
renovate[bot] a0fcac9652
Update dependency postcss to v8.4.36 (#29628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 08:49:34 +00:00
renovate[bot] 2f653174b1
Update libretranslate/libretranslate Docker tag to v1.5.6 (#29629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 08:49:18 +00:00
renovate[bot] cf7d412367
Update peter-evans/create-pull-request action to v6.0.2 (#29630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 08:48:37 +00:00
renovate[bot] 5d3d525d0e
Update DefinitelyTyped types (non-major) (#29631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 08:48:13 +00:00
github-actions[bot] 04817e965a
New Crowdin Translations (automated) (#29623)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-18 08:47:48 +00:00
Claire 82c2af0356
Fix `user_mailer.welcome.hashtags_recent_count` not having plural form (#29607) 2024-03-16 16:38:20 +00:00
Claire 726e7ad024
Fix extra separator besides favourite count on private posts (#29605) 2024-03-16 01:11:59 +00:00
Claire d702a03a0c
Add “Learn more” on block modal to inform of federation caveats (#29614) 2024-03-15 19:09:21 +00:00
Eugen Rochko ec19d0a14b
Change mute, block and domain block confirmations in web UI (#29576) 2024-03-15 17:36:41 +00:00
Claire be7a68b095
Change Explore icon to compass in advanced interface (#29610) 2024-03-15 16:06:48 +00:00
Matt Jankowski 4f4132f1a1
Add diagnostic message for failure during CLI search deploy (#29462) 2024-03-15 14:26:23 +00:00
Renaud Chaput c76ae7a5c0
Convert `packs/public.jsx` to Typescript (#29501) 2024-03-15 13:16:45 +00:00
Eugen Rochko 407287573c
Add domain information to profiles in web UI (#29602)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-03-15 13:08:38 +00:00
renovate[bot] 52200b6bbf
Update dependency sass to v1.72.0 (#29586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 11:41:55 +00:00
Matt Jankowski f445d33fd6
Fix haml-lint `LineLength` cops in app/views/admin (#28680) 2024-03-15 11:19:00 +00:00
Matt Jankowski 7720c684c5
Move common module inclusion in sub classes to `ActivityPub::BaseController` (#29560) 2024-03-15 10:40:21 +00:00
Matt Jankowski 2e91a9bd34
Add `include_pagination_headers` matcher to check `Link` header in api specs (#29596) 2024-03-15 10:17:45 +00:00
github-actions[bot] 6865fda593
New Crowdin Translations (automated) (#29603)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-15 10:02:10 +00:00
Matt Jankowski e75b55a6d7
Extract target account on list method in bulk import row service spec (#29601) 2024-03-15 09:31:25 +00:00
Matt Jankowski 838b0bdf2d
Remove unused `Account::Interactions#endorsed?` method (#29463) 2024-03-15 09:00:26 +00:00
Matt Jankowski d39d625561
Use inclusive range in `ActivityTracker#get` (#29413) 2024-03-14 21:21:01 +00:00
Matt Jankowski df6086d402
Extract file size sql calc from media storage cli (#29577) 2024-03-14 15:22:52 +00:00
Matt Jankowski 6c3e718b86
Remove setting of `sensitive` value (default false, not null) in Status model (#29589) 2024-03-14 13:56:59 +00:00
Matt Jankowski 974c7672e5
Extract shared behavior methods in oauth feature spec (#28360) 2024-03-14 13:42:59 +00:00
Matt Jankowski 14aa7f1e15
Use `Account.activitypub` generated scope (#28157) 2024-03-14 13:19:20 +00:00
Matt Jankowski 049d9171eb
Use `with_options` for shared option in `accounts#show` routing block (#28914) 2024-03-14 10:03:38 +00:00
Eugen Rochko 30483d618f
Fix back button appearing in column header unexpectedly in web UI (#29551) 2024-03-14 10:01:55 +00:00
Claire 95a5713ff7
Fix accounts not getting imported into redux store for some filtered notification types (#29588) 2024-03-14 09:34:36 +00:00
Matt Jankowski 0bc17a3d48
Use enum-generated `public_visibility` scope on Status (#28156) 2024-03-14 09:31:57 +00:00
Matt Jankowski 19cbadfbd6
Use enum-generated scope for `IpBlock` in CLI (#28144) 2024-03-14 09:31:15 +00:00
Matt Jankowski 681a89f684
Readability clean up in `ImportVacuum` spec (#28955) 2024-03-14 09:24:00 +00:00
Matt Jankowski 79e7590578
Clean up `activitypub` module route scope near instance actor (#29579) 2024-03-14 09:18:46 +00:00
Matt Jankowski 65e8349980
Clean up `activitypub` module route scope near collections/boxes (#29580) 2024-03-14 09:18:41 +00:00
Matt Jankowski 18ffd4d925
Add module `instances` route scope in api routes (#29581) 2024-03-14 09:18:36 +00:00
Matt Jankowski 01ecc80118
Add module `accounts` route scope in api routes (#29582) 2024-03-14 09:18:31 +00:00
Eugen Rochko 4991198b70
Change design of metadata underneath posts in web UI (#29585) 2024-03-14 09:18:24 +00:00
Matt Jankowski f9100743ec
Add `Api::ErrorHandling` concern for api/base controller (#29574) 2024-03-14 09:09:47 +00:00
Eugen Rochko 1e1d97a787
Fix wrong background color on search results in web UI (#29584) 2024-03-14 09:07:29 +00:00
github-actions[bot] 5aea35de13
New Crowdin Translations (automated) (#29587)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-14 09:00:42 +00:00
Matt Jankowski 42875fee52
Add coverage for bad args/options in `CLI::Domains#purge` (#29578) 2024-03-14 08:58:53 +00:00
mogaminsk 3156d04ec1
Use sender's `username` to column title in notification request if it's `display_name` is not set (#29575) 2024-03-14 08:58:44 +00:00
Claire a32a126cac
Hide media by default in notification requests (#29572) 2024-03-13 16:47:48 +00:00
Matt Jankowski 71e5f0f48c
Add coverage for suspended instance actor scenario (#29571) 2024-03-13 15:43:40 +00:00
Matt Jankowski 6262ceeb70
Fix `RSpec/DescribedClass` cop (#29472) 2024-03-13 15:42:39 +00:00
Matt Jankowski c09b8a7164
Add `Account.without_internal` scope (#29559)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-03-13 14:11:23 +00:00
Renaud Chaput acf3f410ae
Fix navigation panel icons missing classes (#29569) 2024-03-13 12:54:50 +00:00
github-actions[bot] 171948b910
New Crowdin Translations (automated) (#29563)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-13 12:42:44 +00:00
Erik Uden 268856d5d9
Fix toggle button color for light (and dark/default) theme (#29553) 2024-03-13 11:45:20 +00:00
Claire b43eaa4517
Refactor notification filtering behavior definition (#29567) 2024-03-13 10:35:49 +00:00
Claire 27fd084cb5
Exempt some notification types from notification filtering (#29565) 2024-03-13 10:17:55 +00:00
Matt Jankowski 46e902f1f3
Merge `api/v1/accounts/credentials` controller spec into existing request spec (#29006) 2024-03-13 09:22:43 +00:00
Matt Jankowski 2c0441acd7
Use rails built-in `tag` methods in `TextFormatter.shortened_link` (#28976) 2024-03-13 09:19:54 +00:00
Matt Jankowski 7e6eb64f1e
Use full snowflake range in `admin/metrics` classes (#29416) 2024-03-13 08:56:37 +00:00
Matt Jankowski 9754967d5f
Move `pagination_max_id` and `pagination_since_id` into api/base controller (#28844) 2024-03-13 08:51:44 +00:00
Matt Jankowski 01b624c4a0
Use `normalizes` on `CustomFilter#context` value (#27602) 2024-03-13 08:50:21 +00:00
Matt Jankowski 71eecbfa1f
Move `api/v2/filters/*` to request spec (#28956) 2024-03-13 08:47:09 +00:00
Matt Jankowski 8349b45d60
Accept extra args that we wont verify in `ap/activity/add_spec` (#29005) 2024-03-13 08:46:11 +00:00
Matt Jankowski 469028b6d3
Remove unneeded `type: :service` from spec/services files (#29304) 2024-03-13 08:39:26 +00:00
Matt Jankowski 3eaac3af73
Use `before_all` block to setup `requests/cache_spec` data (#29437) 2024-03-13 08:38:57 +00:00
Matt Jankowski 19f0590795
Add basic coverage for `TagSearchService` class (#29319) 2024-03-13 08:33:03 +00:00
Matt Jankowski 96013cd576
Reduce `RSpec/ExampleLength` in CSP request spec (#29104) 2024-03-13 08:22:32 +00:00
Matt Jankowski 00d94f3ffa
Use vanilla JS to get Rails CSRF values (#29403) 2024-03-12 17:10:37 +00:00
Matt Jankowski d4ed7e466c
Extract `by_domain_length` scope in `DomainNormalizable` concern (#29517) 2024-03-12 13:09:11 +00:00
Eugen Rochko 5b60d4b696
Change background color in web UI (#29522) 2024-03-12 09:51:30 +00:00
Renaud Chaput af4e44e30a
Fix i18n typo (#29557) 2024-03-12 09:42:51 +00:00
cuithon 0ba9f58e17
chore: fix some typos (#29555)
Signed-off-by: cuithon <dscs@outlook.com>
2024-03-12 09:40:29 +00:00
github-actions[bot] dc36b961aa
New Crowdin Translations (automated) (#29554)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-12 09:03:51 +00:00
Matt Jankowski 216cea1e27
Fix incorrect frequency value in `FriendsOfFriendsSource` data (#29550) 2024-03-12 08:38:32 +00:00
Matt Jankowski 24319836de
Convert request-based setup into factory setup in push/subscriptions request spec (#29489) 2024-03-11 15:46:25 +00:00
Matt Jankowski a38e424185
Use unchanging github links in docs/comments (#29545) 2024-03-11 15:14:55 +00:00
Eugen Rochko c10bbf5fe3
Add notification policies and notification requests in web UI (#29433) 2024-03-11 15:02:21 +00:00
Eugen Rochko 19efa1b9f1
Change action button to be last on profiles in web UI (#29533) 2024-03-11 14:33:48 +00:00
Eugen Rochko 16c856729b
Change icons in navigation panel to be filled when active in web UI (#29537) 2024-03-11 13:35:23 +00:00
Jeong Arm 4a6ddbc9c0
Normalize idna domain before account unblock domain (#29530) 2024-03-11 09:28:08 +00:00
Matt Jankowski a7284690fc
Add coverage for admin/metrics base classes, simplify subclass generation (#29527) 2024-03-11 09:16:19 +00:00
Renaud Chaput b9722dfe2b
Use the server setting to get the max number of poll options in UI (#29490) 2024-03-11 09:13:35 +00:00
renovate[bot] 6984f94044
Update dependency autoprefixer to v10.4.18 (#29475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 09:05:07 +00:00
Eugen Rochko 2347ea813e
Change dropdown menu icon to not be replaced by close icon when open in web UI (#29532) 2024-03-11 08:57:23 +00:00
Eugen Rochko 5b3a8737d6
Add hints for rules (#29539) 2024-03-11 08:57:07 +00:00
Matt Jankowski 98ef38e34e
Ensure unique values in fabricators (#29515) 2024-03-11 08:53:24 +00:00
renovate[bot] 6f8ec6d7f8
Update dependency test-prof to v1.3.2 (#29528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 08:50:54 +00:00
renovate[bot] 7b89d6842e
Update DefinitelyTyped types (non-major) (#29543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 08:49:07 +00:00
renovate[bot] df3798a6fa
Update dependency eslint-plugin-jsdoc to v48.2.1 (#29544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 08:49:04 +00:00
github-actions[bot] f85168b189
New Crowdin Translations (automated) (#29467)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-03-11 07:37:04 +00:00
gunchleoc 81400b02b1
Add nds locale to posting languages (#27434) 2024-03-10 10:25:13 +00:00
Eugen Rochko e85a2aa18d
Fix interaction settings migration error when encountering no settings (#29529) 2024-03-08 09:10:07 +00:00
renovate[bot] e8605a69d2
Update omniauth packages (#25306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-03-07 18:02:24 +00:00
renovate[bot] 509528e2dc
Update dependency pg to v1.5.6 (#29477)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 17:33:54 +00:00
Eugen Rochko 50b17f7e10
Add notification policies and notification requests (#29366) 2024-03-07 14:53:37 +00:00
Renaud Chaput 653ce43abe
Update `json-jwt` gem to fix CVE-2023-51774 (#29520) 2024-03-07 11:11:14 +00:00
gunchleoc c01f4cebed
Add Mohawk to posting languages (#27115) 2024-03-07 11:04:31 +00:00
gunchleoc 995e15c24a
Add Jawi Malay to posting languages (#29098) 2024-03-07 11:03:41 +00:00
Mashiro b8bd94ca8e
Fix unhandled nullable attachments limitation counter (#29183) 2024-03-06 12:53:54 +00:00
renovate[bot] f89512fbed
Update dependency rack-cors to v2.0.2 [SECURITY] (#29507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 15:09:52 +01:00
renovate[bot] 7265d47342
Update peter-evans/create-pull-request action to v6.0.1 (#29503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 09:42:49 +00:00
renovate[bot] 4c138ee4eb
Update DefinitelyTyped types (non-major) (#29502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 09:42:26 +00:00
renovate[bot] cb0f3ecc28
Update eslint (non-major) (#29505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 09:41:31 +00:00
renovate[bot] 0f7f257139
Update Yarn to v4.1.1 (#29508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-05 09:39:12 +00:00
Claire ee8d0b9447
Fix follow suggestions potentially including silenced or blocked accounts (#29306) 2024-03-04 06:35:20 +00:00
renovate[bot] 68600893d2
Update babel monorepo to v7.24.0 (#29434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-02 18:33:33 +00:00
Matt Jankowski 64b8ba36bb
Add `bin/dev` script to launch foreman (#28242) 2024-03-02 18:31:43 +00:00
Dave MacLeod b6b94c971f
Add Interlingue to available_locales (#28630) 2024-03-01 17:51:22 +00:00
gunchleoc 1d5de8b26a
Add Vai to posting languages (#27136) 2024-03-01 17:41:49 +00:00
gunchleoc 5ab944af95
Rename Panjabi to Punjabi (#27117) 2024-03-01 17:40:48 +00:00
Helge 8d22599318
Add Pennsylvania Dutch to languages dropdown (#26634) 2024-03-01 17:36:00 +00:00
Krzysztof Piwowar b4af3639e8
Add Kashubian to languages dropdown (#26024) 2024-03-01 17:35:35 +00:00
Matt Jankowski 18945f62e0
Convert more API specs from controller->request style (#29004) 2024-03-01 16:24:45 +00:00
Daniel M Brasil a25014de8f
Improve `IpBlock` model test coverage (#29460) 2024-03-01 16:17:40 +00:00
Claire 1d721b21e1
Add attribution to Tabler.io icons used in the new mailer designs (#29470) 2024-03-01 14:51:01 +00:00
HTeuMeuLeu 934cab7508
New welcome email (#28883)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2024-03-01 12:16:53 +00:00
Matt Jankowski 3389c41b58
Move `nobody` position in `UserRole` magic number to constant (#29465) 2024-03-01 11:05:24 +00:00
Claire ec953bf378
Fix regression in handling `select` elements in `packs/admin.tsx` (#29469) 2024-03-01 10:16:35 +00:00
Matt Jankowski b9940eb977
Disable codecov comments on PRs (#29464) 2024-02-29 23:25:04 +00:00
Renaud Chaput 958a810553
Convert `packs/admin.jsx` to Typescript (#29425) 2024-02-29 15:21:03 +00:00
renovate[bot] 6dfe318f34
Update dependency express to v4.18.3 (#29458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-29 15:20:39 +00:00
Matt Jankowski eb1b8f69de
Allow pagination `Link` headers on API accounts/statuses when pinned true (#29442) 2024-02-29 14:21:56 +00:00
Claire edd6aa70e1
Fix regression with search bar icon position (#29456) 2024-02-29 13:54:06 +00:00
Claire f24c62a5c8
Fix preview card player getting embedded when clicking on the external link button (#29457) 2024-02-29 13:54:02 +00:00
Matt Jankowski 6675bf574a
Extract `parsed_uri_query_values` helper in ap/replies controller spec (#29410) 2024-02-29 13:47:38 +00:00
Matt Jankowski e1fcb02867
Align `TagServersMeasure` to use `WITH` query style similar to others (#29435) 2024-02-29 11:00:58 +00:00
Matt Jankowski 14c65180df
Use sequence in `software_update` fabricator to allow multiple (#29438) 2024-02-29 10:51:11 +00:00
Renaud Chaput 4185f3792c
Fix full date display not respecting the locale 12/24h format (#29448) 2024-02-29 09:40:13 +00:00
github-actions[bot] cdf5098166
New Crowdin Translations (automated) (#29452)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-29 09:38:33 +00:00
github-actions[bot] 7f84bbfd92
New Crowdin Translations (automated) (#29430)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-28 12:14:42 +00:00
Jeong Arm deffb8ecb6
Show comments in the admin/instances page (#29240)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-02-28 12:07:06 +00:00
Roni Laukkarinen edfc53856f
Fix the regression with the search icon position (#29417) 2024-02-28 12:01:18 +00:00
Matt Jankowski 8f3c91fc3c
Add `change` block expectation to `admin/invites#deactivate_all` spec (#29412) 2024-02-27 16:25:58 +00:00
Matt Jankowski ea8e7f3e9d
Align `TagServersMeasure` query style with other classes (#29414) 2024-02-27 16:25:12 +00:00
Renaud Chaput 3b31447408
Rework Prettier invocation (#28851) 2024-02-27 16:09:27 +00:00
renovate[bot] dc4427dc9b
Update devDependencies (non-major) (#29089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-02-27 16:07:43 +00:00
Renaud Chaput 899eac1a92
Use modern ES syntax rather than `.call` (#29368) 2024-02-27 15:42:05 +00:00
Claire 6f7615ba86
Add basic end-to-end test for admin moderation interface (#29424) 2024-02-27 15:18:06 +00:00
Renaud Chaput 036f5a05e3
Convert the streaming server to ESM (#29389)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-02-27 14:59:20 +00:00
github-actions[bot] bc4c5ed918
New Crowdin Translations (automated) (#29423)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-27 14:53:53 +00:00
Matt Jankowski 76d256138e
Wrap media attachment size calculation in `COALESCE` (#29415) 2024-02-27 11:52:37 +00:00
Matt Jankowski 9e78129e6e
Use "cacheable response" shared example in more places (#29419) 2024-02-27 11:50:21 +00:00
renovate[bot] 54e3a82f1d
Update dependency thor to v1.3.1 (#29421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-27 11:48:42 +00:00
Claire 90573c3abb
Change behavior of privacy dropdown to only change value on validation (#29406) 2024-02-27 11:41:19 +00:00
Matt Jankowski 9fa7338b6e
Use `github` reporter on `haml-lint` runs on CI (#29375) 2024-02-27 10:48:38 +00:00
Evan Paterakis 213c87ae59
Fix filters title and keywords overflow (#29396) 2024-02-27 10:46:58 +00:00
zunda a30cdfd4d4
Specify 410 for code when responding as json while self-destruction (#29420) 2024-02-26 22:43:07 +00:00
Matt Jankowski 8156113d58
Use `response_vary_headers` method in requests/cache_spec (#29411) 2024-02-26 16:27:07 +00:00
Damien Mathieu 1540f42522
Better tests for auth/registrations#update (#29303) 2024-02-26 16:09:56 +00:00
Wolfgang Fournès d51c3ac087
Add a missing spec to `SessionsController#webauthn_options` (#29277) 2024-02-26 16:09:40 +00:00
Matt Jankowski c7555271a6
Remove unused `media-spoiler-*` JS/CSS (#29407) 2024-02-26 15:30:58 +00:00
Roni Laukkarinen 10fdd88288
Change new explore compass icon CSS class to explore (#29395) 2024-02-26 15:28:38 +00:00
Matt Jankowski 8429d07454
Add `RankedTrend` concern for trends classes (#29388) 2024-02-26 13:45:39 +00:00
github-actions[bot] 98e3dc2578
New Crowdin Translations (automated) (#29382)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-26 13:03:06 +00:00
renovate[bot] b829d261ba
Update DefinitelyTyped types (non-major) (#29404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 12:52:03 +00:00
renovate[bot] e57d321097
Update dependency httplog to v1.6.3 (#29399)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 12:51:37 +00:00
Jason Punyon 1ad3cffaea
Missed a .to_date (#29390) 2024-02-26 12:42:09 +00:00
renovate[bot] 8fd8b30c24
Update dependency cssnano to v6.0.5 (#29385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 12:41:34 +00:00
Roni Laukkarinen 1cb74eeec0
Fix search icon position on mobile (#29384) 2024-02-26 00:57:48 +00:00
Roni Laukkarinen bbf6cb66f6
Improve alt text form accessibility with long texts (#27095) 2024-02-26 00:57:13 +00:00
Paolo Melchiorre aca691726b
Fix #21492 Add missing WebP hint in avatar/header localizations (#22395) 2024-02-23 22:10:46 +00:00
Claire cfa71a4d16
Fix admin account created by `mastodon:setup` not being auto-approved (#29379) 2024-02-23 19:04:57 +00:00
Claire 25ffe0af45
Fix pixel alignment for some composer icons (#29372) 2024-02-23 15:32:13 +00:00
github-actions[bot] bba4118ddd
New Crowdin Translations (automated) (#29369)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-23 15:21:02 +00:00
Matt Jankowski b0064ddda7
Add basic coverage for `MoveService` class (#29301) 2024-02-23 09:59:29 +00:00
renovate[bot] baa23738a8
Update dependency webmock to v3.22.0 (#29313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 09:57:26 +00:00
Matt Jankowski 45f71e3954
Update `@rails/ujs` to version 7.1.3-2 (#29359) 2024-02-22 21:35:14 +00:00
renovate[bot] 82e2370f5f
Update dependency cssnano to v6.0.4 (#29367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-22 21:34:08 +00:00
Matt Jankowski a6ed148769
Use heredoc on the `HTML` blocks in verify link spec (#29365) 2024-02-22 21:26:48 +00:00
Claire 9d8dfeb5fb
Fix processing of `Link` objects in `Image` objects (#29335) 2024-02-22 22:27:24 +01:00
Claire 5152dd869e
Fix link verifications when page size exceeds 1MB (#29358) 2024-02-22 17:31:50 +00:00
Claire a9496882fc
Fix auto-close email being sent to users with devops permissions instead of settings permissions (#29355) 2024-02-22 14:52:14 +00:00
Claire b71904816a
Change registrations to be disabled by default for new servers (#29280) 2024-02-22 13:28:19 +00:00
Emelia Smith 491dd97642
Streaming: refactor to custom Error classes (#28632)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-02-22 13:20:20 +00:00
renovate[bot] ebe2086087
Update dependency haml_lint to v0.57.0 (#29181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-22 11:26:48 +00:00
Matt Jankowski e9b0f0c314
Add basic coverage for `RemoveDomainsFromFollowersService` class (#29327) 2024-02-22 10:53:38 +00:00
Matt Jankowski 7c7dfe7de3
Add basic coverage for `RemoveFeaturedTagService` class (#29328) 2024-02-22 10:51:04 +00:00
Matt Jankowski 6342ddd698
Add basic coverage for `UnfavouriteService` class (#29329) 2024-02-22 10:48:42 +00:00
Matt Jankowski f70905f127
Add basic coverage for `UnmuteService` class (#29330) 2024-02-22 10:48:09 +00:00
Matt Jankowski a69fe534e3
Add basic coverage for `WebhookService` class (#29331) 2024-02-22 10:46:20 +00:00
Matt Jankowski d1602c017d
Add basic coverage for `ApproveAppealService` class (#29333) 2024-02-22 10:40:07 +00:00
Matt Jankowski ab2ef63a03
Add basic coverage for `VoteService` class (#29334) 2024-02-22 10:39:18 +00:00
renovate[bot] fa1c3a0915
Update dependency rack to v2.2.8.1 (#29341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-22 10:37:54 +00:00
renovate[bot] 96d5c44db2
Update dependency rails to v7.1.3.2 (#29342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-22 10:37:52 +00:00
github-actions[bot] 449fcf1ae7
New Crowdin Translations (automated) (#29343)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-22 10:37:48 +00:00
renovate[bot] 53a4648db1
Update dependency pino to v8.19.0 (#29253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-22 09:03:13 +00:00
Matt Jankowski 006aa4e35a
Update husky and remove deprecated features (#29338) 2024-02-22 09:02:15 +00:00
renovate[bot] c63567a214
Update typescript-eslint monorepo to v7 (major) (#29179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 22:06:17 +00:00
renovate[bot] 638861b2a3
Update dependency http-link-header to v1.1.2 (#29340)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 21:31:09 +00:00
renovate[bot] aed60df80e
Update dependency sass to v1.71.1 (#29238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 21:29:41 +00:00
renovate[bot] bcc0860100
Update dependency core-js to v3.36.0 (#29197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 21:28:53 +00:00
renovate[bot] df4ed60331
Update dependency dotenv to v16.4.5 (#29190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 21:28:10 +00:00
renovate[bot] 38d0292281
Update dependency @reduxjs/toolkit to v2.2.1 (#29178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 21:27:28 +00:00
renovate[bot] d48d824d9a
Update DefinitelyTyped types (non-major) (#29165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-21 21:27:00 +00:00
Matt Jankowski 581f14e56f
Update yarn to version 4.1.0 (#29339) 2024-02-21 21:18:01 +00:00
Claire 2751acb6cd
Automatically switch from open to approved registrations in absence of moderators (#29318) 2024-02-21 17:45:06 +00:00
Matt Jankowski 08342ad40c
Add basic coverage for `AfterUnallowDomainService` class (#29324) 2024-02-21 17:13:11 +00:00
Matt Jankowski 8f61e32569
Add basic coverage for `AppealService` class (#29322) 2024-02-21 17:12:31 +00:00
Matt Jankowski b73932461f
Add basic coverage for `CreateFeaturedTagService` class (#29321) 2024-02-21 16:58:19 +00:00
Matt Jankowski 5f19e7e799
Add basic coverage for `ProcessHashtagsService` class (#29320) 2024-02-21 16:57:45 +00:00
Matt Jankowski 1f648fdf1a
Remove erroneous service type on `TagFeed` model spec (#29302) 2024-02-21 11:25:33 +00:00
github-actions[bot] fd2b6c29c6
New Crowdin Translations (automated) (#29311)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-21 11:24:44 +00:00
Wojciech Maj 36fd47ac57
Remove unused dependencies (#29289) 2024-02-20 10:10:58 +00:00
Matt Jankowski 937dad1ee6
Extract ES query and filter hashes into private methods in `TagSearchService` (#29288) 2024-02-20 10:08:32 +00:00
github-actions[bot] 9a2b9d1484
New Crowdin Translations (automated) (#29298)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-20 09:23:40 +00:00
Matt Jankowski 0ef44ee720
Move `AccountSuggestions::Source` subclasses default limit value to constant (#29282) 2024-02-20 09:21:49 +00:00
renovate[bot] e1cee84e58
Update dependency cocoon-js-vanilla to v1.4.0 (#29293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 09:19:41 +00:00
Claire bde4df6be6
Remove CSS definitions for some unused classes (#29279) 2024-02-20 09:18:44 +00:00
Matt Jankowski 785e2f9399
Add scope `providing_styles` to `UserRole` (#29286) 2024-02-20 09:18:05 +00:00
renovate[bot] 5d9d0d174a
Update dependency selenium-webdriver to v4.18.1 (#29287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 09:17:41 +00:00
renovate[bot] 6e4c1e172b
Update dependency webmock to v3.21.2 (#29290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 09:11:22 +00:00
Eugen Rochko b8b2f20b16
Change explore icon from hashtag to compass in web UI (#29294) 2024-02-20 09:10:44 +00:00
Matt Jankowski 64f9939e39
Use `capture_emails` helper to improve email assertions in specs (#29245) 2024-02-19 15:57:47 +00:00
Wolfgang Fournès 86627ea2e4
Add a missing thread example to the statuses spec (#29278) 2024-02-19 13:35:58 +00:00
Matt Jankowski 72b0c9e20b
Re-enable fixed `Style/Semicolon` cop (#29212) 2024-02-19 13:35:13 +00:00
Hinaloe c645490d55
Fix `sensitive` flag not being removed when removing CW in new compose form (#29248) 2024-02-19 13:31:16 +00:00
github-actions[bot] ad16362efe
New Crowdin Translations (automated) (#29255)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-19 13:25:45 +00:00
renovate[bot] fe6c055f35
Update dependency eslint-plugin-jsdoc to v48.1.0 (#29275)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 11:10:03 +00:00
Eugen Rochko 63f4ea055a
Change follow suggestions design in web UI (#29272) 2024-02-19 11:09:58 +00:00
Matt Jankowski 245064bb98
Move "everyone" role and "instance actor" account magic number IDs to constants (#29260) 2024-02-19 11:09:43 +00:00
Claire 96ddf1d482
Fix flaky end-to-end OCR test (#29244) 2024-02-16 16:57:23 +00:00
Wolfgang Fournès cfadb87077
Update enum syntax to use the new Rails 7.0 style (#29217) 2024-02-16 14:54:23 +00:00
Matt Jankowski 1d9d14b8de
Use `abort` instead of `warn(); exit` in boot.rb env check (#29209) 2024-02-16 14:29:24 +00:00
Matt Jankowski 1946e171e6
Reduce round trips in admin/disputes/appeals spec (#29234) 2024-02-16 13:46:28 +00:00
Matt Jankowski 3454fcbd71
Reduce round trips in auth/sessions spec (#29233) 2024-02-16 13:38:49 +00:00
Matt Jankowski a316c0e38d
Reduce round trips in disputes/appeals spec (#29232) 2024-02-16 13:01:15 +00:00
Matt Jankowski 117b507df5
Extract `subject` from `User#mark_email_as_confirmed!` spec (#29231) 2024-02-16 13:01:04 +00:00
Matt Jankowski 1690fb39e6
Reduce `RSpec/MultipleExpectations` in instance_actors_controller spec (#29229) 2024-02-16 13:00:11 +00:00
Matt Jankowski bba488c189
Reduce `RSpec/MultipleExpectations` in media_attachment spec (#29228) 2024-02-16 13:00:09 +00:00
renovate[bot] e140d05a6a
Update dependency doorkeeper to v5.6.9 (#29196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-16 12:59:51 +00:00
Claire 5f21a1f5a3
Bump version to v4.3.0-alpha.3 (#29241) 2024-02-16 11:06:47 +00:00
Claire 9fee5e8526
Merge pull request from GHSA-jhrq-qvrm-qr36
* Fix insufficient Content-Type checking of fetched ActivityStreams objects

* Allow JSON-LD documents with multiple profiles
2024-02-16 11:56:12 +01:00
renovate[bot] a8ee6fdd62
Update dependency pg to v1.5.5 (#29230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-16 08:12:10 +00:00
Matt Jankowski a9f9b0097b
Reduce `RSpec/MultipleExpectations` in captcha feature spec (#29226) 2024-02-16 07:52:57 +00:00
Matt Jankowski 4b7f04e3ea
Reduce `RSpec/MultipleExpectations` in post_status_service spec (#29225) 2024-02-16 07:52:29 +00:00
github-actions[bot] 1c93d625c6
New Crowdin Translations (automated) (#29195)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-16 07:51:13 +00:00
Matt Jankowski ed4939296a
Reduce `RSpec/MultipleExpectations` in ap/activity/create spec (#29224) 2024-02-16 07:43:00 +00:00
Matt Jankowski 1df2ffc3ee
Use `subject` in blacklist email validator spec (#29211) 2024-02-16 07:42:03 +00:00
Matt Jankowski fc4f823464
Avoid local block var assignment in ap/process_status_update_service spec (#29210) 2024-02-16 07:41:25 +00:00
Claire d4d0565b0f
Fix user creation failure handling in OAuth paths (#29207) 2024-02-14 21:49:45 +00:00
Matt Jankowski 844aa59bdf
Doc update about ruby version 3.0+ (#29202) 2024-02-14 16:44:27 +00:00
Claire bbbbf00084
Fix OmniAuth tests (#29201) 2024-02-14 14:57:49 +00:00
Claire 8e8e0f104f
Bump version to v4.3.0-alpha.2 (#29200) 2024-02-14 14:20:02 +00:00
Claire b31af34c97
Merge pull request from GHSA-vm39-j3vx-pch3
* Prevent different identities from a same SSO provider from accessing a same account

* Lock auth provider changes behind `ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH=true`

* Rename methods to avoid confusion between OAuth and OmniAuth
2024-02-14 15:16:07 +01:00
Emelia Smith 68eaa804c9
Merge pull request from GHSA-7w3c-p9j8-mq3x
* Ensure destruction of OAuth Applications notifies streaming

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

* Ensure password resets revoke access to Streaming API

* Improve performance of deleting OAuth tokens

---------

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-02-14 15:15:34 +01:00
Claire 554e2a019e
Add `sidekiq_unique_jobs:delete_all_locks` task and disable `sidekiq-unique-jobs` UI by default (#29199) 2024-02-14 12:12:13 +00:00
Emelia Smith 46142cdbdd
Disable administrative doorkeeper routes (#29187) 2024-02-13 18:11:47 +00:00
Emelia Smith e8b66a0525
Ignore legacy moderator and admin columns on User model (#29188) 2024-02-13 17:14:49 +00:00
Nicolas Hoffmann 476a043fc5
Fix modal container bounds (#29185) 2024-02-13 12:58:21 +00:00
github-actions[bot] 5de1ce23c3
New Crowdin Translations (automated) (#29182)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-13 09:08:55 +00:00
renovate[bot] e25d9dfb25
Update dependency dotenv to v16.4.3 (#29174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 08:02:55 +00:00
renovate[bot] b244e5cb81
Update dependency sidekiq-unique-jobs to v7.1.33 (#29175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 07:56:46 +00:00
renovate[bot] 819ede190e
Update dependency dotenv to v16.4.2 (#29157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 10:39:31 +00:00
renovate[bot] cf0d6bef8b
Update eslint (non-major) (#29166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 10:21:17 +00:00
renovate[bot] 58918844a9
Update peter-evans/create-pull-request action to v6 (#29167)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-12 10:20:54 +00:00
github-actions[bot] 6482948547
New Crowdin Translations (automated) (#29156)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-12 09:59:05 +00:00
Claire 8125dae5a8
Rename `ES_CA_CERT` to `ES_CA_FILE` for consistency (#29147) 2024-02-12 09:54:06 +00:00
github-actions[bot] c07028b2fa
New Crowdin Translations (automated) (#29152)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-09 09:55:30 +00:00
Claire ca8fbda5d0
Add end-to-end test for OCR in media uploads (#29148) 2024-02-08 19:13:44 +00:00
Matt Jankowski a9e91eb955
Add common stub setup for resolv dns in email mx validator spec (#29140) 2024-02-08 14:26:45 +00:00
Claire 67ec192d7d
Clean up some unused CSS definitions (#29146) 2024-02-08 11:40:22 +00:00
renovate[bot] d4db1c497b
Update dependency pghero to v3.4.1 (#29144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-08 10:03:39 +00:00
renovate[bot] 13840d685c
Update dependency irb to v1.11.2 (#29135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-08 10:03:30 +00:00
Matt Jankowski 15437e4ad9
Add `context` and `before` to lengthy tag manager spec examples (#29129) 2024-02-08 10:03:04 +00:00
Matt Jankowski 5271131658
Extract helper method for repeated form fill in admin/domain_blocks feature spec (#29128) 2024-02-08 10:02:53 +00:00
renovate[bot] 52986f35b8
Update dependency postcss to v8.4.35 (#29136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-08 09:49:24 +00:00
github-actions[bot] 2a362d62a8
New Crowdin Translations (automated) (#29145)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-08 09:43:02 +00:00
Claire eff447a455
Rewrite signature verification using regexps and `StringScanner` (#29133) 2024-02-07 17:24:42 +00:00
Matt Jankowski 79b4b94f3a
Configure `CountAsOne` value for `RSpec/ExampleLength` cop (#29115) 2024-02-07 14:54:40 +00:00
Matt Jankowski 95da28d201
Add common `ThreadingHelper` module for specs (#29116) 2024-02-07 14:53:29 +00:00
renovate[bot] dbafec88e5
Update dependency @reduxjs/toolkit to v2.1.0 (#28879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 14:10:38 +00:00
Matt Jankowski b2133fee5f
Update artifact preservation to use `save_path` value (#29035) 2024-02-07 13:37:10 +00:00
Claire 7efc33b909
Move HTTP Signature parsing code to its own class (#28932) 2024-02-07 13:35:37 +00:00
github-actions[bot] 17052714a2
New Crowdin Translations (automated) (#29121)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-07 12:38:37 +00:00
Claire 2912829411
Add support for specifying custom CA cert for Elasticsearch (#29122) 2024-02-07 12:09:43 +00:00
Claire eeabf9af72
Fix compatibility with Redis <6.2 (#29123) 2024-02-07 11:52:38 +00:00
Matt Jankowski da50217b88
Combine repeated requests in `admin/accounts` controller spec (#29119) 2024-02-07 10:59:32 +00:00
renovate[bot] 492e25da06
Update dependency webmock to v3.20.0 (#29120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 10:56:52 +00:00
Claire aaa58d4807
Fix tagging of manual security nightly builds (#29061) 2024-02-06 20:48:11 +00:00
github-actions[bot] 90ccf7beb2
New Crowdin Translations (automated) (#28965)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-02-06 18:47:44 +00:00
Claire 7ee93b7431
Change `source` attribute of `Suggestion` entity in `/api/v2/suggestions` back to a string (#29108) 2024-02-06 17:10:17 +00:00
Matt Jankowski 1e0b0a3486
Use SQL heredoc on long statement lines in migrations (#29112) 2024-02-06 16:42:25 +00:00
Claire 64300e0fe3
Fix self-destruct schedule not actually replacing initial schedule (#29049) 2024-02-06 15:32:09 +00:00
Matt Jankowski 2f19ddd1fa
Move status serializer error handling to private method (#29031) 2024-02-06 14:54:26 +00:00
Matt Jankowski 0df86d77fd
Reduce `RSpec/ExampleLength` in PostStatusService spec example (#29105) 2024-02-06 14:36:04 +00:00
Matt Jankowski 93a5b3f9df
Move status serializer chooser to private method (#29030) 2024-02-06 13:33:42 +00:00
renovate[bot] cf42eba0f9
Update dependency brakeman to v6.1.2 (#29062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 13:31:54 +00:00
Matt Jankowski 69e61fff38
Move direct serializer usage out of admin view partial (#29028) 2024-02-06 13:18:37 +00:00
Matt Jankowski 2d6ab44556
Reduce request/response round-trips in ap/collections controller spec (#29102) 2024-02-06 13:10:00 +00:00
Matt Jankowski 978fdc71ca
Reduce expectation count in example from `ProcessAccountService` spec (#29100) 2024-02-06 13:04:02 +00:00
Matt Jankowski 0877f6fda4
Remove redundant `return` in `IntentsController` (#29099) 2024-02-06 12:56:22 +00:00
renovate[bot] e8cc98977d
Update dependency bootsnap to '~> 1.18.0' (#29019)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 12:52:28 +00:00
Matt Jankowski 577520b637
Replace deprecated `Sidekiq::Testing` block style (#29097) 2024-02-06 12:49:48 +00:00
Matt Jankowski df7acdcee5
Update markers API spec for error case (#29096) 2024-02-06 12:47:04 +00:00
Emelia Smith 4fb7f611de
Return domain block digests from admin domain blocks API (#29092) 2024-02-06 12:38:14 +00:00
Matt Jankowski dedefdc303
Move length value mapping to constant in ids to bigints migration (#29048) 2024-02-06 11:40:24 +00:00
Matt Jankowski 4cf07ed78c
Add missing action logging to `api/v1/admin/reports#update` (#29044) 2024-02-06 11:34:11 +00:00
renovate[bot] a31427a629
Update dependency pino to v8.18.0 (#29043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 11:33:06 +00:00
Matt Jankowski 0bec5c0755
Remove migration base class switcher from `RailsSettingsMigration` (#29047) 2024-02-06 09:56:24 +00:00
renovate[bot] 62028b1b1b
Update libretranslate/libretranslate Docker tag to v1.5.5 (#29090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 09:38:32 +00:00
renovate[bot] 90f4b8d53a
Update dependency postcss to v8.4.34 (#29103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 09:37:03 +00:00
Claire 9ce914cc89
Fix report reason selector in moderation interface not unselecting rules when changing category (#29026) 2024-02-06 09:35:36 +00:00
Claire 66dda7c762
Fix already-invalid reports failing to resolve (#29027) 2024-02-06 09:35:27 +00:00
Matt Jankowski 779d987fbc
Update `codedoc/codecov-action` to v4 (#29036) 2024-02-06 09:34:28 +00:00
renovate[bot] a2d8aa1583
Update dependency tzinfo-data to v1.2024.1 (#29052)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 09:33:41 +00:00
Matt Jankowski 5ca45403e2
Update `nsa` gem to version 0.3.0 (#29065) 2024-02-06 09:33:11 +00:00
renovate[bot] 586b4faf61
Update dependency haml_lint to v0.56.0 (#29082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 09:24:44 +00:00
renovate[bot] 916aeb574d
Update DefinitelyTyped types (non-major) (#29088)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 09:23:55 +00:00
renovate[bot] f00ba02653
Update dependency nokogiri to v1.16.2 [SECURITY] (#29106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-06 09:20:23 +00:00
Matt Jankowski 86500e3312
Extract scenic view model common methods to concern (#28111) 2024-02-06 09:08:07 +00:00
Eugen Rochko 1666b19559
Fix confirmation e-mails when signing up through an app (#29064) 2024-02-02 15:51:26 +00:00
y.takahashi 3c315a68af
Fix 'focus the compose textarea' shortcut is not working (#29059) 2024-02-02 06:33:53 +00:00
Claire 1726085db5
Merge pull request from GHSA-3fjr-858r-92rw
* Fix insufficient origin validation

* Bump version to 4.3.0-alpha.1
2024-02-01 15:56:46 +01:00
Eugen Rochko 9cdc60ecc6
Change onboarding prompt to follow suggestions carousel in web UI (#28878) 2024-02-01 13:37:04 +00:00
Claire 7316a08380
Fix missing `workflow_dispatch` trigger for `build-security` (#29041) 2024-02-01 09:52:01 +00:00
Matt Jankowski 8b7b0ee598
Configure selenium to use Chrome version 120 (#29038) 2024-02-01 09:46:31 +00:00
Claire 812a131423
Add github action workflow for manual security builds (#29040) 2024-02-01 09:33:12 +00:00
Matt Jankowski dd934ebb07
Update `actions/cache` to v4 (updates node 16->20) (#29025) 2024-01-31 16:55:50 +00:00
renovate[bot] 738dba0cf7
Update dependency capybara to v3.40.0 (#28966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 12:55:15 +00:00
Matt Jankowski 022d2a3793
Make factory gems available in test+development envs (#28969) 2024-01-31 12:52:51 +00:00
Eugen Rochko fa0ba67753
Change materialized views to be refreshed concurrently to avoid locks (#29015) 2024-01-30 18:21:30 +00:00
Eugen Rochko c4af668e5c
Fix follow recommendations for less used languages (#29017) 2024-01-30 17:24:40 +00:00
renovate[bot] 0c0d077276
Update dependency chewy to v7.5.1 (#29018)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 15:40:43 +00:00
renovate[bot] 0bc526a967
Update eslint (non-major) (#29001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 15:39:59 +00:00
renovate[bot] 8c08e5cdb2
Update devDependencies (non-major) (#29000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 15:39:34 +00:00
Matt Jankowski ce0d134147
Add `redirect_with_vary` to `AllowedMethods` for `Style/FormatStringToken` cop (#28973) 2024-01-30 15:39:01 +00:00
Matt Jankowski 86fbde7b46
Fix `Style/NumericLiterals` cop in ProfileStories support module (#28971) 2024-01-30 15:38:33 +00:00
Yamagishi Kazutoshi b3075a9993
Remove unused l18n messages (#28964) 2024-01-30 15:34:07 +00:00
Matt Jankowski f91acba70a
Combine repeated requests in account controller concern spec (#28957) 2024-01-30 15:32:20 +00:00
renovate[bot] 9d3830344f
Update dependency immutable to v4.3.5 (#28933)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 15:30:39 +00:00
Matt Jankowski adcd693b71
Use existing `MediaAttachment.remote` scope in media CLI (#28912) 2024-01-30 15:29:42 +00:00
J H 1467f1e1e1
Fixed the toggle emoji dropdown bug (#29012) 2024-01-30 13:38:49 +00:00
Matt Jankowski ff8937aa2c
Move `api/v1/statuses/*` to request spec (#28954) 2024-01-26 17:45:54 +00:00
Matt Jankowski 44f6d285af
Combine repeated subject in ap fetch remote actor service spec (#28953) 2024-01-26 17:44:12 +00:00
Matt Jankowski 239244e2ed
Combine repeated subject in ap fetch remote account service spec (#28952) 2024-01-26 17:43:08 +00:00
Matt Jankowski 5119fbc9b7
Move `api/v1/admin/trends/links/preview_card_providers` to request spec (#28951) 2024-01-26 17:41:39 +00:00
Matt Jankowski b6baab447d
Move `api/v2/admin/accounts` to request spec (#28950) 2024-01-26 17:41:13 +00:00
Matt Jankowski 7adcc0aae3
Move `api/v1/trends/*` to request specs (#28949) 2024-01-26 17:40:39 +00:00
Matt Jankowski 0b0ca6f3b8
Move `api/v1/timelines/list` to request spec (#28948) 2024-01-26 17:40:15 +00:00
renovate[bot] 87ad398ddc
Update formatjs monorepo (#28925)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 16:49:16 +00:00
renovate[bot] f4a12adfb7
Update dependency axios to v1.6.7 (#28917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 16:49:09 +00:00
renovate[bot] 160c8f4923
Update babel monorepo to v7.23.9 (#28916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 16:49:03 +00:00
Matt Jankowski e519f113e8
Combine repeated subject in `cacheable response` shared example (#28945) 2024-01-26 16:37:05 +00:00
Matt Jankowski d791bca11b
Combine double subject in `well_known/webfinger` shared example (#28944) 2024-01-26 16:36:21 +00:00
Matt Jankowski 09a3493fca
Combine double subject in `api/v1/media` shared example (#28943) 2024-01-26 16:35:49 +00:00
Matt Jankowski 5fbdb2055b
Combine repeated `subject` in `cli/accounts` spec shared example (#28942) 2024-01-26 16:35:19 +00:00
Matt Jankowski 1a30a517d6
Combine repeated subjects in link details extractor spec (#28941) 2024-01-26 16:31:07 +00:00
Matt Jankowski 685eaa04d4
Combine double subject in admin/statuses controller shared example (#28940) 2024-01-26 16:30:30 +00:00
Matt Jankowski beb74fd71c
Combine double subjects in instance actors controller shared example (#28939) 2024-01-26 16:28:50 +00:00
Matt Jankowski beaef4b672
Combine double subjects in application controller shared example (#28938) 2024-01-26 16:23:12 +00:00
Matt Jankowski 6d35a77c92
Combine repeated subjects in `models/user` spec (#28937) 2024-01-26 16:22:44 +00:00
Matt Jankowski 2f8656334d
Combine double subjects in `admin/accounts` controller spec (#28936) 2024-01-26 16:21:31 +00:00
Matt Jankowski 9cc1817bb4
Fix intmermittent failure in `api/v1/accounts/statuses` controller spec (#28931) 2024-01-26 14:10:26 +00:00
Claire 805dba7f8d
Change compose form to use server-provided post character limit (#28928) 2024-01-26 14:09:45 +00:00
github-actions[bot] 45287049ab
New Crowdin Translations (automated) (#28923)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-26 09:15:55 +00:00
Matt Jankowski 0e0a94f483
Handle CLI failure exit status at the top-level script (#28322) 2024-01-26 08:53:44 +00:00
Emelia Smith 881e8c113c
Refactor: fix streaming postgresql and redis typing issues (#28747) 2024-01-25 16:46:02 +00:00
Eugen Rochko 6936e5aa69
Change design of compose form in web UI (#28119)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-25 15:41:31 +00:00
Matt Jankowski 42ab855b23
Add specs for `Instance` model scopes and add `with_domain_follows` scope (#28767) 2024-01-25 15:28:27 +00:00
Matt Jankowski 4cdf62e576
Extract `rebuild_index` method in maintenance CLI (#28911) 2024-01-25 15:26:51 +00:00
Matt Jankowski 0b38946c87
Update paperclip and climate_control gems (#28379) 2024-01-25 15:18:15 +00:00
Matt Jankowski 17ea22671d
Fix `Style/GuardClause` cop in app/controllers (#28420) 2024-01-25 15:13:41 +00:00
Eugen Rochko 3205a654ca
Refactor conversations components in web UI (#28833)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-25 14:34:26 +00:00
Matt Jankowski 274a48a9f4
Extract helper methods for db connection and table existence check in `CLI::Maintenance` task (#28281) 2024-01-25 13:49:33 +00:00
Matt Jankowski 2866106ec1
Reduce factory creation in `spec/models/account_statuses_cleanup_policy` (#28361) 2024-01-25 13:37:25 +00:00
Matt Jankowski c8f59d2ca4
Fix `Style/TernaryParentheses` cop (#28387) 2024-01-25 13:28:49 +00:00
Matt Jankowski ca7053f19c
Consolidate db test prep steps to rake task (#28886) 2024-01-25 13:10:39 +00:00
github-actions[bot] 59d2ea0d82
New Crowdin Translations (automated) (#28899)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-25 13:00:44 +00:00
Matt Jankowski 6b6586f5d0
Add `CustomFilterKeyword#to_regex` method (#28893) 2024-01-25 13:00:34 +00:00
renovate[bot] a69506a434
fix(deps): update dependency dotenv to v16.4.1 (#28889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 12:37:23 +00:00
Matt Jankowski 7c9c6c7f80
Fix remaining `Rails/WhereExists` cop violations, regenerate todo (#28892) 2024-01-25 12:37:07 +00:00
renovate[bot] 1a565e4bea
fix(deps): update dependency axios to v1.6.6 (#28895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 12:36:20 +00:00
renovate[bot] d158f7e622
chore(deps): update dependency rspec-rails to v6.1.1 (#28905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 12:33:56 +00:00
Claire 087415d0fe
Add tests for processing statuses using bearcap URIs (#28904) 2024-01-25 11:13:36 +00:00
Claire 0471a78055
Add tests for redirect confirmations (#28903) 2024-01-25 11:13:33 +00:00
Claire c50274a0ac
Fix redirect confirmation for accounts (#28902) 2024-01-25 10:44:25 +00:00
KMY(雪あすか) 9a8293f58d
Fix process of receiving posts with bearcaps is not working (#26527) 2024-01-25 10:37:09 +00:00
Matt Jankowski 38f7f8b909
Tidy up association declaration in `Instance` model (#28880) 2024-01-24 17:30:28 +00:00
renovate[bot] 9c5be13980
chore(deps): update dependency chewy to v7.5.0 (#28730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 16:51:47 +00:00
renovate[bot] 7019af431d
fix(deps): update dependency dotenv to v16.4.0 (#28872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 16:51:36 +00:00
renovate[bot] 559bbf0aa6
chore(deps): update artifact actions (major) to v4 (major) (#28415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 16:51:18 +00:00
renovate[bot] ea5397c373
chore(deps): update dependency selenium-webdriver to v4.17.0 (#28858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 14:55:06 +00:00
renovate[bot] 64993d3f77
chore(deps): update dependency haml_lint to v0.55.0 (#28856)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 13:37:37 +00:00
Claire 5a838ceaa9
Use active variants for boost icons and increase icon size (#27924) 2024-01-24 12:37:43 +00:00
Matt Jankowski 1290fede65
Fix `Rails/WhereExists` cop in app/lib (#28862) 2024-01-24 11:51:09 +00:00
renovate[bot] 41c2af2270
chore(deps): update dependency rubocop to v1.60.1 (#28731)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 11:50:41 +00:00
Eugen Rochko b19ae521b7
Add confirmation when redirecting logged-out requests to permalink (#27792)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-24 10:49:19 +00:00
Matt Jankowski 7a1f087659
Add `created_before` and `updated_before` scopes to `MediaAttachment` (#28869) 2024-01-24 10:32:54 +00:00
Matt Jankowski a11a2fb052
Add error classes to api/base errors coverage (#28864) 2024-01-24 10:31:31 +00:00
github-actions[bot] a34d27c18f
New Crowdin Translations (automated) (#28875)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-24 10:06:56 +00:00
Matt Jankowski 9d413cbaf8
Fix `Rails/WhereExists` cop in app/models (#28863) 2024-01-24 09:57:49 +00:00
Matt Jankowski 599bc69503
Simplify `AccountSummary.filtered` query generation (#28868) 2024-01-24 09:57:32 +00:00
Eugen Rochko 5b1eb09d54
Add annual reports for accounts (#28693) 2024-01-24 09:38:10 +00:00
Eugen Rochko 01ce9df880
Fix search form re-rendering spuriously in web UI (#28876) 2024-01-24 07:03:30 +00:00
renovate[bot] 61a0ec69fc
chore(deps): update devdependencies (non-major) (#28840)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-01-23 11:44:50 +00:00
Matt Jankowski c0e8e457ab
Eager loading fixes for `api/` controllers (#28848) 2024-01-23 11:41:54 +00:00
Matt Jankowski ceade78182
Fix `Rails/WhereExists` cop in app/services (#28853) 2024-01-23 11:41:34 +00:00
github-actions[bot] 78ee1453f9
New Crowdin Translations (automated) (#28857)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-23 10:11:37 +00:00
Matt Jankowski d03fe2bdee
N+1 fixes for CLI maintenance command (#28847) 2024-01-23 09:31:59 +00:00
Matt Jankowski b0207d7757
Add coverage for `Tag.recently_used` scope (#28850) 2024-01-23 09:10:11 +00:00
Matt Jankowski defe5f4076
Fix `Rails/WhereExists` cop in lib/tasks (#28852) 2024-01-23 09:07:22 +00:00
Matt Jankowski 67f54c4e75
Fix `Rails/WhereExists` cop in app/validators (#28854) 2024-01-23 09:06:53 +00:00
Claire e2d9635074
Add notification email on invalid second authenticator (#28822) 2024-01-22 13:55:43 +00:00
Matt Jankowski 18004bf227
Add `Account.matches_uri_prefix` scope and use in activitypub/followers_synchronizations controller (#28820) 2024-01-22 13:55:37 +00:00
Matt Jankowski 7ecf7f5403
Move controller->request specs for api/v1/statuses/* (#28818) 2024-01-22 11:58:54 +00:00
Matt Jankowski 5efb00ddb8
Use ruby version 3.2.3 (#28817) 2024-01-22 11:55:51 +00:00
github-actions[bot] 76e383ea1e
New Crowdin Translations (automated) (#28827)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-22 11:52:26 +00:00
Andy Piper 9620b21259
docs: update FEDERATION.md to more closely follow FEP conventions. (#28838) 2024-01-22 11:11:47 +00:00
renovate[bot] e078d0048c
Update dependency @types/react to v18.2.48 (#28839)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 11:08:22 +00:00
renovate[bot] a83aeccac9
Update dependency dotenv to v16.3.2 (#28824)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 11:08:06 +00:00
renovate[bot] 9ff9849381
Update dependency core-js to v3.35.1 (#28831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 11:07:44 +00:00
renovate[bot] 62001b5a31
Update dependency jsdom to v24 (#28836)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 11:04:28 +00:00
Emelia Smith 3fbf01918f
Streaming: Move more methods to the utils from the main file (#28825) 2024-01-22 10:02:26 +00:00
Eugen Rochko 9f8e3cca9a
Fix duplicate and missing keys in search popout component in web UI (#28834) 2024-01-21 07:44:46 +00:00
Claire 93957daa50
Fix error when processing remote files with unusually long names (#28823) 2024-01-19 18:52:59 +00:00
Claire cf2a2ed71c
Fix processing of compacted single-item JSON-LD collections (#28816) 2024-01-19 12:43:10 +00:00
Claire 3593ee2e36
Add rate-limit of TOTP authentication attempts at controller level (#28801) 2024-01-19 12:19:49 +00:00
Matt Jankowski 5fc4ae7c5f
Move privacy policy into markdown file (#28699) 2024-01-19 11:22:23 +00:00
Matt Jankowski 6a5d70e146
Update pre_migration_check postgres version requirement (#28800) 2024-01-19 11:20:20 +00:00
github-actions[bot] 9cd17020bc
New Crowdin Translations (automated) (#28798)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-19 09:41:57 +00:00
renovate[bot] 163db814c2
Update dependency react-redux to v9.1.0 (#28717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-01-19 09:41:03 +00:00
Matt Jankowski 4ec7d7d989
Fix `Rails/WhereExists` cop in REST::TagSerializer model (#28790) 2024-01-19 09:35:58 +00:00
Matt Jankowski 329911b0a3
Migrate controller->request spec for api/v1/follow* (#28811) 2024-01-19 09:32:41 +00:00
HTeuMeuLeu 86cc88c216
Fix banner image not showing in follow emails (#28814) 2024-01-19 09:23:59 +00:00
renovate[bot] 6a1c998722
Update dependency kt-paperclip to v7.2.2 (#28813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 09:21:07 +00:00
renovate[bot] 6dc97321a3
Update dependency intl-messageformat to v10.5.10 (#28809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 09:20:16 +00:00
Matt Jankowski fd64817fbe
Fix `Rails/WhereExists` cop in app/lib/status_cache_hydrator (#28808) 2024-01-19 09:19:48 +00:00
Jonathan de Jong de09176ab9
Retry 401 errors on replies fetching (#28788)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-19 09:18:21 +00:00
Matt Jankowski 1480573c83
Add `Account.auditable` scope, fix N+1 in admin/action_logs#index (#28812) 2024-01-19 01:39:30 +00:00
renovate[bot] 5ae3bae586
Update dependency sass to v1.70.0 (#28799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 18:43:03 +00:00
renovate[bot] 244182ad63
Update dependency rdf-normalize to v0.7.0 (#26769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 18:42:07 +00:00
Emelia Smith 1335083bed
Streaming: replace npmlog with pino & pino-http (#27828) 2024-01-18 18:40:25 +00:00
Matt Jankowski f866413e72
Extract shared tagged statuses method in `FeaturedTag` (#28805) 2024-01-18 16:14:15 +00:00
Matt Jankowski f0b93ab02f
Use AR `database_version` in PG version checks in migrations (#28804) 2024-01-18 16:11:50 +00:00
Matt Jankowski d0b3bc23d7
Remove unused `matches_domain` scopes on Account, DomainAllow, DomainBlock (#28803) 2024-01-18 16:11:04 +00:00
Matt Jankowski 0b853678a4
Add coverage for `api/v1/peers/search` endpoint and extract controller query to Instance scope (#28796) 2024-01-18 15:57:10 +00:00
Matt Jankowski 2115bc52e4
Order by sql in `CLI::Maintenance` task (#28289) 2024-01-18 14:53:29 +00:00
Matt Jankowski 9fb9ef418a
Fix `Rails/WhereExists` cop in User model (#28792) 2024-01-18 13:55:44 +00:00
Matt Jankowski 81e4e65610
Update links to upstream migration helpers, remove unused methods (#28781) 2024-01-18 12:29:54 +00:00
Matt Jankowski aaa6f2e930
Group common `class_name` options in associations (#28779) 2024-01-18 12:29:41 +00:00
Matt Jankowski da31792ac7
Fix `Rails/WhereExists` cop in FeaturedTag model (#28791) 2024-01-18 12:22:12 +00:00
Matt Jankowski 3d82040b26
Reduced repeated setup in `UnallowDomainService` spec (#28785) 2024-01-18 10:11:10 +00:00
Matt Jankowski 6c5a2d51bc
Reduced repeated setup in `PurgeDomainService` spec (#28786) 2024-01-18 10:07:49 +00:00
Matt Jankowski 07e10e3747
Combine assertions about same setup in `Account#suspend!` spec (#28787) 2024-01-18 09:36:59 +00:00
Matt Jankowski 89c9a4502d
Fix `Rails/WhereExists` cop in account/interactions concern (#28789) 2024-01-18 09:36:16 +00:00
renovate[bot] 4c23297c04
Update dependency autoprefixer to v10.4.17 (#28794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 09:33:21 +00:00
renovate[bot] 83a90f20d7
Update dependency async-mutex to v0.4.1 (#28797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 09:31:59 +00:00
Matt Jankowski 127503eb2c
Fix `Rails/RakeEnvironment` cop (#28782) 2024-01-17 16:33:17 +00:00
Santiago Kozak 30b193b856
Improve display of lock icon in account headers (#28780) 2024-01-17 16:32:30 +00:00
Matt Jankowski 09f76c5c8d
Regenerate rubocop todo, removes last `Layout/LineLength` violation (#28778) 2024-01-17 15:42:13 +00:00
Claire e817fe4c35
Change media “ALT” label to a specific class (#28777) 2024-01-17 15:32:56 +00:00
HTeuMeuLeu 1a3859d8e2
Update follow and follow_request emails (#28755)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-17 14:37:04 +00:00
Matt Jankowski 6fab50ba9e
Use bundler version 2.5.4 (#28765) 2024-01-17 14:35:55 +00:00
github-actions[bot] 1ab42ad12b
New Crowdin Translations (automated) (#28749)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-17 14:23:14 +00:00
Matt Jankowski 9a475ea8b3
Finish up the CLI spec area pattern adoption for `CLI::Accounts#refresh` specs (#28764) 2024-01-17 13:38:37 +00:00
Renaud Chaput cb5ac15923
Use a helper to avoid using `media/` asset prefixes (#28756) 2024-01-17 12:19:51 +00:00
Claire baab58c80b
Fix various icon alignment issues (#28775) 2024-01-17 10:42:47 +00:00
Matt Jankowski c523a9601b
Rename local webpack* var in development env CSP config (#28766) 2024-01-17 09:22:16 +00:00
Matt Jankowski 1b0cb3b54d
Announcement reactions query spec improvement and refactor (#28768) 2024-01-17 09:18:13 +00:00
renovate[bot] afb5e6cf46
Update dependency rails to v7.1.3 (#28772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 09:11:22 +00:00
renovate[bot] 259874f2ac
Update dependency @rails/ujs to v7.1.3 (#28771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 09:11:18 +00:00
Matt Jankowski 0ce081fe49
Remove monkey patch in favor of supported Devise config value (#28760) 2024-01-17 09:08:17 +00:00
renovate[bot] 8cc322a0e1
Update dependency concurrent-ruby to v1.2.3 (#28754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 09:06:38 +00:00
renovate[bot] bd538598c2
Update formatjs monorepo (#28751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-16 18:34:53 +00:00
renovate[bot] 4e277f83dc
Update devDependencies (non-major) (#28728)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-01-16 18:34:22 +00:00
renovate[bot] e85e2929aa
Update eslint (non-major) (#28729)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-16 17:53:32 +00:00
Renaud Chaput 01b6c83c36
Add a new `@/` alias for the root frontend directory and use it where possible (#28753) 2024-01-16 10:27:26 +00:00
Jeong Arm f0abba67db
Ignore RecordNotUnique errors in LinkCrawlWorker (#28748) 2024-01-16 08:35:54 +00:00
renovate[bot] f09035cc3f
Update dependency stackprof to v0.2.26 (#28743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-16 08:32:40 +00:00
Matt Jankowski b4c332104a
Use top-level `warn` in JS errors check (#28745) 2024-01-15 21:26:11 +00:00
HTeuMeuLeu 7f471e70c0
Update new email templates (#28416)
Co-authored-by: Matt Jankowski <matt@jankowski.online>
2024-01-15 18:18:59 +00:00
Claire 98b5f85f10
Rename and refactor `User#confirm!` to `User#mark_email_as_confirmed!` (#28735) 2024-01-15 18:04:58 +00:00
Claire e621c1c44c
Fix registrations not checking MX records for email domain blocks requiring approval (#28608) 2024-01-15 17:10:57 +00:00
Matt Jankowski a2f02a0775
Disable `Rails/SkipsModelValidations` cop (#28712) 2024-01-15 13:46:47 +00:00
renovate[bot] b5afbe0a61
Update dependency bootsnap to v1.17.1 (#28713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 11:17:25 +00:00
renovate[bot] 367be82a29
Update libretranslate/libretranslate Docker tag to v1.5.4 (#28727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 11:09:28 +00:00
Claire 8cb4825c8b
Fix sign-up restrictions based on email addresses not being enforced (#28732) 2024-01-15 11:06:48 +00:00
renovate[bot] 8013d6c56d
Update dependency faker to v3.2.3 (#28720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 11:06:28 +00:00
github-actions[bot] 1012ffac9e
New Crowdin Translations (automated) (#28721)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-15 11:06:25 +00:00
Claire e81c5c0a51
Ignore the devise-two-factor advisory as we have rate limits in place (#28733) 2024-01-15 10:45:48 +00:00
Emelia Smith 58830be943
Streaming: Rework websocket server initialisation & authentication code (#28631) 2024-01-15 10:36:30 +00:00
Matt Jankowski e72676e83a
Improve `api/v1/markers#create` performance against simultaneous requests (#28718) 2024-01-15 09:47:25 +00:00
Matt Jankowski cc3ff66246
Use rubygems released version of `omniauth-cas` gem (#28719) 2024-01-12 22:39:23 +00:00
Claire 6bbcd9348e
Switch from 48px weight 600 material symbol icons to 24px weight 400 icons (#28064) 2024-01-12 20:16:48 +00:00
Claire 1070804a1a
Fix `RedownloadMediaWorker` not being called on transient S3 failure (#28714) 2024-01-12 17:00:17 +00:00
MitarashiDango 2c05b8a60d
Fix Undo Announce activity is not sent, when not followed by the reblogged post author (#18482)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-12 15:58:28 +00:00
Matt Jankowski 28fdf93362
Disable `Rails/LexicallyScopedActionFilter` for inherited auth controllers (#28711) 2024-01-12 13:10:14 +00:00
Matt Jankowski a90c134850
Move followable by logic to suggestion class (#28710) 2024-01-12 13:09:33 +00:00
Renaud Chaput 608f66f978
Change icon SVG imports to use a default import (#28709) 2024-01-12 10:31:24 +00:00
Renaud Chaput c6684aa1e3
Use the assets pipeline to load `inert.css` (#28701) 2024-01-12 09:32:45 +00:00
Matt Jankowski a90696011e
Add coverage/bugfix for invalid appeal submission (#28703) 2024-01-12 09:21:00 +00:00
Matt Jankowski 7801db7ba4
Spec coverage for custom css endpoint (#28706) 2024-01-12 09:19:25 +00:00
github-actions[bot] b86083f0dc
New Crowdin Translations (automated) (#28708)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-12 09:17:10 +00:00
Matt Jankowski df9e220364
Add JS console errors check (#28682) 2024-01-12 09:12:31 +00:00
Matt Jankowski cd37048439
Move followable_by coverage to suggestions (#28697) 2024-01-12 09:11:34 +00:00
Matt Jankowski 32eeca9c7b
Refresh instance counts in spec (fixes intermittent failure) (#28698) 2024-01-12 09:10:37 +00:00
Renaud Chaput 923fc83190
Improve `lint-staged` config (#28704) 2024-01-12 09:09:57 +00:00
Matt Jankowski 575ab085be
Disable `Rails/ApplicationController` for `HealthController` (#28705) 2024-01-12 09:08:17 +00:00
Renaud Chaput 383be173af
Add a version comment to the emoji preval-ed file so it is regenerated (#28700) 2024-01-12 03:39:11 +00:00
Matt Jankowski 8b26614fa7
Combine results include check in spec/models/account (#28471) 2024-01-11 16:17:45 +00:00
Matt Jankowski 185c806d69
Extract spec helper for verifing to/from public AP collection namespace (#28472) 2024-01-11 16:17:21 +00:00
Essem b6e353537b
Add new emojis from `jdecked/twemoji` 15.0 (#28404) 2024-01-11 16:15:08 +00:00
renovate[bot] 22d866ee1b
Update dependency @material-symbols/svg-600 to v0.14.4 (#28603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 15:43:45 +00:00
Matt Jankowski 2954279e9c
Remove double subject call in `api/v1/admin/trends/links/links` spec (#28695) 2024-01-11 15:13:11 +00:00
Matt Jankowski 95bd46d32a
Remove double subject call in `api/v1/admin/ip_blocks` spec (#28696) 2024-01-11 15:11:57 +00:00
Matt Jankowski b68f185573
Reduce `LineLength` for `react_component` helper in views/admin (#28694) 2024-01-11 13:14:24 +00:00
renovate[bot] 782a0165c7
Update dependency node to 20.11 (#28670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 12:48:01 +00:00
Matt Jankowski 3f3df9ab20
Update omniauth-cas to version 3.0.0 (#28683) 2024-01-11 10:57:52 +00:00
Matt Jankowski 4e08a4892f
Move streaming `around` config into manager class (#28684) 2024-01-11 10:54:42 +00:00
Matt Jankowski 87097a227c
Clean up `settings/featured_tags/index` view (#28688) 2024-01-11 10:45:26 +00:00
Matt Jankowski 55802242ce
Refactor login activity partial (remove inline ruby) (#28687) 2024-01-11 10:36:27 +00:00
github-actions[bot] 204bbf49d2
New Crowdin Translations (automated) (#28692)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-11 10:08:49 +00:00
Matt Jankowski 6daa69327b
Fix `LineLength` haml-lint in `t` usage (#28686) 2024-01-11 09:32:32 +00:00
Matt Jankowski 0a7cff53c2
Add coverage for `Account.followable_by` scope (#28689) 2024-01-11 09:30:29 +00:00
Claire d7e13e2483
Fix potential redirection loop of streaming endpoint (#28665) 2024-01-10 15:05:46 +00:00
Matt Jankowski 8422b8ded0
Extract capybara config and improve headless_chrome driver config (#28681) 2024-01-10 14:54:11 +00:00
Matt Jankowski 543d7890fd
Use normalizes to prepare `User` values (#28650)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-10 13:36:06 +00:00
Matt Jankowski 00341c70ff
Use Sidekiq `fake!` instead of `inline!` in specs (#25369) 2024-01-10 11:06:58 +00:00
Matt Jankowski ea1c0feb86
Remove `add_column_with_default` migration helper (#28654) 2024-01-10 10:35:06 +00:00
zunda 36b46ea3b5
bundle add csv (#28671) 2024-01-10 09:37:31 +00:00
Matt Jankowski 742d8d30e2
Add coverage for `--days` option to CLI `media refresh` command (#28669) 2024-01-10 09:36:12 +00:00
Matt Jankowski a71e918e95
Fix `LineLength` haml-lint in `media/player` view (#28667) 2024-01-10 09:35:01 +00:00
Renaud Chaput 63d0b52cf3
Add a system spec for the `/share` endpoint (#28672) 2024-01-09 21:58:19 +00:00
renovate[bot] 1f44903991
Update dependency sidekiq-unique-jobs to v7.1.31 (#27818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 21:08:02 +00:00
Matt Jankowski eed4eef39a
Fix `LineLength` haml-lint in `app/views/auth` area (#28664) 2024-01-09 16:03:16 +00:00
Matt Jankowski 09ab073f0c
Fix `LineLength` haml-lint in `app/views/settings` area (#28663) 2024-01-09 15:28:56 +00:00
renovate[bot] 9a73a7dcaf
Update dependency irb to v1.11.1 (#28662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:17:18 +00:00
renovate[bot] 93938751eb
Update dependency ruby-prof to v1.7.0 (#28637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 14:40:24 +00:00
Claire 10203bd57a
Clean up `Setting` model and remove dead code (#28661) 2024-01-09 14:01:53 +00:00
Matt Jankowski 4e02838832
Enable "low risk" Rails 7.1 setting defaults (#28626) 2024-01-09 12:50:57 +00:00
renovate[bot] 1ad908e0c0
Update dependency fog-core to v2.4.0 (#28582)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 12:06:19 +00:00
Jean Boussier 1781849884
Inline what remains of the rails-settings-cached gem (#28618)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-09 11:50:21 +00:00
github-actions[bot] 01ca84e541
New Crowdin Translations (automated) (#28660)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-09 11:48:19 +00:00
gunchleoc 173953c23e
Fix ISO code for Canadian French (#26015)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-09 10:56:13 +00:00
Matt Jankowski 5dc634796a
Misc coverage improvements re: sidekiq/inline (#28651) 2024-01-09 09:40:08 +00:00
Matt Jankowski 68f06f1fd4
Fix haml-lint `LineLength` cop for `settings/preferences/notifications/show` (#28655) 2024-01-09 09:31:32 +00:00
github-actions[bot] 8e7d5fe2ac
New Crowdin Translations (automated) (#28658)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-09 09:30:33 +00:00
renovate[bot] f7b61959cf
Update babel monorepo to v7.23.8 (#28656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 08:05:16 +00:00
Matt Jankowski 557c27e03b
Update haml_lint to version 0.53.0 (#28652) 2024-01-08 16:43:38 +00:00
Matt Jankowski cd4b4d4734
Replace unused `by_recent_sign_in` scope (#28616) 2024-01-08 15:31:13 +00:00
Matt Jankowski e677eb164c
Remove unused `Announcement#time_range?` (#28648) 2024-01-08 15:26:30 +00:00
Matt Jankowski 3e43cd095c
Remove unused scope `Announcement.without_muted` (#28645) 2024-01-08 15:26:14 +00:00
Matt Jankowski 9322396e58
Use normalizes to prepare `Account#username` value (#28646) 2024-01-08 13:48:31 +00:00
Matt Jankowski cd58e37b25
Remove unused `DomainBlock#affected_accounts_count` method (#28642) 2024-01-08 13:38:52 +00:00
Matt Jankowski 3e7a9266ea
Remove unused `EmojiFormatter#count_tag_nesting` method (#28643) 2024-01-08 13:36:47 +00:00
Matt Jankowski 4ccba94489
Remove unused `*_silenced_accounts` scopes on Status (#28644) 2024-01-08 13:35:53 +00:00
Matt Jankowski c52a593a30
Remove unused scope `User.emailable` (#28647) 2024-01-08 13:33:45 +00:00
Matt Jankowski e827c4692c
Use Arel `matches` method in CustomEmoji search (#28615) 2024-01-08 13:26:12 +00:00
github-actions[bot] cc67943df2
New Crowdin Translations (automated) (#28627)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-08 12:46:25 +00:00
Claire 157fc69954
Make request_pool_spec tests more robust (#28610) 2024-01-08 12:29:05 +00:00
Matt Jankowski 1bc5a52139
Extract SQL heredoc method for Announcement scopes (#28613) 2024-01-08 11:22:16 +00:00
Matt Jankowski aa6d07dbd9
Use normalizes to prepare CustomEmoji `domain` value (#28624) 2024-01-08 11:20:59 +00:00
Matt Jankowski 202951e6d9
Use Arel `in_order_of` method to generate CASE for `DomainBlock.by_severity` (#28617) 2024-01-08 11:15:36 +00:00
Matt Jankowski 57f49c8191
Use Arel `nulls_first` method in ordering CustomEmojiFilter scope (#28614) 2024-01-08 11:09:50 +00:00
Matt Jankowski 832b92ac3e
Add attachment check to spec/service/suspend_account_service spec (#28619) 2024-01-08 11:05:10 +00:00
renovate[bot] 2ae53e655c
Update dependency jsdom to v23.2.0 (#28612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 11:04:25 +00:00
renovate[bot] 8a44b182e8
Update dependency axios to v1.6.5 (#28620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 11:03:04 +00:00
renovate[bot] 4ed663a94f
Update DefinitelyTyped types (non-major) (#28638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 11:02:55 +00:00
Renaud Chaput a0e237a96f
Upgrade Redux packages (#28585) 2024-01-08 10:57:40 +00:00
renovate[bot] fe2667bb0d
Update dependency rubocop-performance to v1.20.2 (#28641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 10:19:33 +00:00
renovate[bot] c9e6752158
Update dependency rubocop-rspec to v2.26.1 (#28611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 10:18:57 +00:00
renovate[bot] 8d06baf812
Update dependency strong_migrations to v1.7.0 (#28621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 10:17:53 +00:00
Matt Jankowski e09419f22a
Move old framework defaults file to regular config value (#28623) 2024-01-08 10:17:38 +00:00
Matt Jankowski a27a82939d
Remove the 7.1 marshalling format "todo" from new_framework_defaults (#28625) 2024-01-08 10:16:33 +00:00
renovate[bot] 352625c491
Update libretranslate/libretranslate Docker tag to v1.5.3 (#28639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 09:59:06 +00:00
renovate[bot] 8a312ad79b
Update dependency puma to v6.4.2 (#28640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 09:57:12 +00:00
Jean Boussier 5a6d533c53
Enable Rails 7.1 Marshalling format (#28609) 2024-01-05 21:57:47 +00:00
Matt Jankowski 12bed81187
Add validation specs to `CustomFilter` model (#28600) 2024-01-05 15:13:59 +00:00
Matt Jankowski b3dab17b58
Remove deprecated `RSpec/FilePath` cop (#28601) 2024-01-05 12:31:18 +00:00
Matt Jankowski e1b49d3454
Regenerate rubocop todo with version 1.59.0 (#28597) 2024-01-05 12:26:31 +00:00
github-actions[bot] 43d800ada6
New Crowdin Translations (automated) (#28604)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-05 11:29:19 +00:00
Claire 6ad0fb5a77
Fix NULL MX handling and tighten DNS resolving specs (#28607) 2024-01-05 11:07:57 +00:00
renovate[bot] 9699ea22d6
Update dependency postcss to v8.4.33 (#28602)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-05 10:47:22 +00:00
renovate[bot] d537b3926f
Update dependency sass-loader to v10.5.2 (#28594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-05 10:46:38 +00:00
renovate[bot] 6b63652656
Update dependency rubocop-rspec to v2.26.0 (#28595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-05 10:46:32 +00:00
renovate[bot] 9ecf99df14
Update dependency net-http to v0.4.1 (#28606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-05 10:45:55 +00:00
Claire 5f4643b895
Add `PAPERCLIP_ROOT_URL` to Content-Security-Policy when used (#28561) 2024-01-05 10:45:36 +00:00
Matt Jankowski 964a0ecf37
Add sleep statement to nudge thread scheduler in request pool spec (#28596) 2024-01-04 16:55:00 +00:00
Matt Jankowski ae39bed95b
Solve remaining `db/*migrate*` cops (#28579) 2024-01-04 16:40:28 +00:00
Claire d0fd14f851
Fix scrolling to detailed status not always working (#28577) 2024-01-04 14:17:38 +00:00
Claire 419c659bc4
Add fallback redirection when getting a webfinger query `WEB_DOMAIN@WEB_DOMAIN` (#28592) 2024-01-04 14:14:46 +00:00
renovate[bot] da7290839a
Update dependency stylelint-config-standard-scss to v13 (#28589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-04 09:24:43 +00:00
github-actions[bot] bdf4750633
New Crowdin Translations (automated) (#28590)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-04 09:24:13 +00:00
Matt Jankowski 1af5c37701
Use heredoc on federation CLI warning strings (#28578) 2024-01-04 09:21:27 +00:00
Matt Jankowski f06c1f1552
Fix `Capybara/ClickLinkOrButtonStyle` cop in spec/features (#28576) 2024-01-04 09:20:32 +00:00
renovate[bot] 06374d07c3
Update dependency cssnano to v6.0.3 (#28581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-04 09:19:38 +00:00
Emelia Smith 9826b7780a
Streaming: use standard cors package instead of custom implementation (#28523) 2024-01-04 09:18:03 +00:00
renovate[bot] 9c268c9413
Update dependency axios to v1.6.4 (#28586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-04 09:16:29 +00:00
renovate[bot] 0f3f98c01f
Update dependency react-redux-loading-bar to v5.0.8 (#28587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-04 09:16:12 +00:00
renovate[bot] 38e5d1b53f
Update dependency net-ldap to v0.19.0 (#28588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-04 09:15:56 +00:00
Claire dfdadb92e8
Add ability to require approval when users sign up using specific email domains (#28468) 2024-01-04 09:07:05 +00:00
Michael Stanclift 195b89d336
Fix .opus file uploads being misidentified by Paperclip (#28580) 2024-01-03 19:02:53 +00:00
Matt Jankowski f92d8c654d
Standardize on Thor methods in CLI classes (#28566) 2024-01-03 15:08:08 +00:00
Claire 905794fd57
Remove v3.5 branch from supported Mastodon versions (#28574) 2024-01-03 15:04:10 +00:00
Matt Jankowski 5c769de096
Add spec coverage for `CLI::Media#remove_orphans` command (#28267) 2024-01-03 14:12:56 +00:00
Matt Jankowski 51d2b80ff7
Solve `Abc/*` metrics for `db/*migrate*` files (#28568) 2024-01-03 13:22:03 +00:00
Matt Jankowski 74a0d81e90
Add coverage for CLI `self-destruct` command (#28565)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-03 13:06:38 +00:00
Matt Jankowski e12d8893f4
Fix intermittent failure from unspecified order in `export_domain_blocks` controller spec (#28562) 2024-01-03 13:06:15 +00:00
Claire 092bb8a27a
Fix Mastodon not correctly processing HTTP Signatures with query strings (#28476) 2024-01-03 11:29:26 +00:00
Claire bd415af9a1
Change streaming API host to not be overridden to localhost in development mode (#28557) 2024-01-03 10:23:58 +00:00
github-actions[bot] 7cce2a41f2
New Crowdin Translations (automated) (#28573)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-03 09:19:46 +00:00
renovate[bot] 2b330ede22
Update dependency eslint-plugin-jsdoc to v48 (#28564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-03 09:10:19 +00:00
renovate[bot] 8c5d3e5278
Update dependency puma to v6.4.1 (#28569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-03 09:05:52 +00:00
renovate[bot] c2b4588f1c
Update dependency sass to v1.69.7 (#28570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-03 09:04:59 +00:00
Matt Jankowski 3944b12b5e
Update `@typescript-eslint/parser` to version 6.17.0 (#28218) 2024-01-02 15:19:54 +00:00
Claire 65ea097f1d
Fix loading local accounts with extraneous domain part in WebUI (#28559) 2024-01-02 15:02:25 +00:00
Claire 1184887b01
Fix streaming API redirection ignoring the port of `streaming_api_base_url` (#28558) 2024-01-02 12:27:51 +00:00
renovate[bot] cd09be054f
Update dependency eslint-plugin-jsdoc to v47 (#28541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 10:13:22 +00:00
github-actions[bot] 0374e11091
New Crowdin Translations (automated) (#28529)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-01-02 09:11:53 +00:00
Michael Stanclift fdec8d7ffb
Fix OCR when using S3/CDN for assets (#28551) 2024-01-02 09:09:54 +00:00
renovate[bot] 1982137590
Update dependency classnames to v2.5.1 (#28524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 08:52:09 +00:00
renovate[bot] c2340682aa
Update babel monorepo to v7.23.7 (#28528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 08:51:58 +00:00
renovate[bot] 629152a80d
Update DefinitelyTyped types (non-major) (#28542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 08:50:45 +00:00
renovate[bot] 663a7b6ba9
Update devDependencies (non-major) (#28543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 08:50:29 +00:00
renovate[bot] e082a98b4d
Update dependency mime-types to v3.5.2 (#28556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-02 08:50:08 +00:00
Michael Stanclift c652b0e46b
Add wget to base Dockerfile (#28548) 2024-01-02 08:47:38 +00:00
Dennis Kamau ac588daf37
Update copyright year to 2024 (#28550) 2024-01-01 19:08:01 +00:00
Claire 6374358357
Change media to be hidden/blurred by default in report modal (#28522) 2023-12-29 16:34:13 +00:00
Claire fcfdeadc04
Fix random `NoMethodError` errors on cached `CustomFilter` objects (#28521) 2023-12-29 16:23:07 +00:00
Cal Moody 3599622b5b
Fix destructive actions in dropdowns not using error color in light theme (#28484) 2023-12-29 11:32:40 +00:00
Matt Jankowski ba5f659bb3
Use shorter attribute query methods in `Announcement` (#28474) 2023-12-29 10:55:50 +00:00
renovate[bot] fd57e40681
Update dependency rubocop-performance to v1.20.1 (#28492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:55:05 +00:00
github-actions[bot] 7df9c4f6f3
New Crowdin Translations (automated) (#28481)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-29 10:39:10 +00:00
renovate[bot] 5fd16c3ffd
Update dependency nokogiri to v1.16.0 (#28513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:27:37 +00:00
renovate[bot] 54ed01538e
Update dependency core-js to v3.35.0 (#28518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:25:31 +00:00
Matt Jankowski 128c5b7db3
Fix `Performance/StringIdentifierArgument` cop (#28508) 2023-12-29 10:23:30 +00:00
renovate[bot] 63901bb34b
Update github/codeql-action action to v3 (#28495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:22:43 +00:00
renovate[bot] f7f7236fa2
Update dependency ws to v8.16.0 (#28504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:21:19 +00:00
renovate[bot] 87bf85ffdd
Update dependency classnames to v2.5.0 (#28498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:20:34 +00:00
renovate[bot] b01a027543
Update dependency tzinfo-data to v1.2023.4 (#28478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:19:56 +00:00
renovate[bot] f6f85b9521
Update dependency aws-sdk-s3 to v1.142.0 (#28479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:19:41 +00:00
renovate[bot] 3fbfc50f17
Update dependency brakeman to v6.1.1 (#28487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:17:31 +00:00
renovate[bot] de3fa293b0
Update dependency fastimage to v2.3.0 (#28488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:16:26 +00:00
renovate[bot] 07ab97d7f9
Update dependency rubocop-rails to v2.23.1 (#28493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:16:00 +00:00
renovate[bot] 87e9e87a14
Update eslint (non-major) (#28494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:15:43 +00:00
Christian Winther 01df9f1abb
install "wget" in streaming Dockerfile (#28497) 2023-12-29 10:15:10 +00:00
renovate[bot] 3f0140bbdf
Update dependency webauthn to v3.1.0 (#28507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:13:29 +00:00
renovate[bot] 851a9b80c8
Update dependency react-redux-loading-bar to v5.0.7 (#28511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:12:13 +00:00
renovate[bot] fb58397a33
Update dependency axios to v1.6.3 (#28509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:11:40 +00:00
renovate[bot] f923eeb9b8
Update dependency sass to v1.69.6 (#28517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 10:11:02 +00:00
Santiago Kozak 1cba91d6d1
Fix reply icon display in picture-in-picture footer (#28519) 2023-12-29 09:48:27 +00:00
Renaud Chaput fb5eb1f655
Replace our custom `compression-webpack-plugin` patch with the fixed upstream version (#28510) 2023-12-29 09:33:06 +00:00
Claire a2624ff739
Convert signature verification specs to request specs (#28443) 2023-12-22 18:56:22 +00:00
Matt Jankowski bb8077e784
Fix `RSpec/LetSetup` cop in models/account_status_cleanup_policy (#28470) 2023-12-22 15:29:50 +00:00
Claire 2bf84b93d4
Fix media attachment order of remote posts (#28469) 2023-12-22 15:10:39 +00:00
Matt Jankowski a4d49c236d
Fix `RSpec/LetSetup` cop in ap/fetch_featured_collection_service (#28461) 2023-12-22 12:57:29 +00:00
Matt Jankowski e6e217fedd
Clean up `tagged_with_*` Status specs, fix `RSpec/LetSetup` cop (#28462) 2023-12-22 08:32:27 +00:00
Matt Jankowski 513d35969e
Fix `RSpec/LetSetup` cop in auth controller specs (#28464) 2023-12-22 08:03:59 +00:00
github-actions[bot] e70a65761a
New Crowdin Translations (automated) (#28467)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-22 07:58:20 +00:00
renovate[bot] 43547cd210
Update dependency debug to v1.9.1 (#28466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-22 07:41:21 +00:00
Renaud Chaput 1c041356a1
Fix error on viewing a profile when unlogged (#28465) 2023-12-21 20:19:18 +00:00
Matt Jankowski 9251779d75
Fix `RSpec/LetSetup` cop in spec/services (#28459) 2023-12-21 14:23:53 +00:00
Matt Jankowski efd16f3c2c
Clean up of `RSpec/LetSetup` within `spec/services/activitypub` (#28445) 2023-12-21 11:20:12 +00:00
Matt Jankowski c99f88e1a8
Clean up of `RSpec/LetSetup` within `spec/lib` (#28447) 2023-12-21 11:19:56 +00:00
Matt Jankowski cd64a5b2ec
Clean up of `RSpec/LetSetup` within `api/` (#28448) 2023-12-21 10:10:18 +00:00
Eugen Rochko 5976d3702f
Change "Follow" to "Follow back" and "Mutual" when appropriate in web UI (#28452) 2023-12-21 09:44:09 +00:00
Matt Jankowski f32d672d2f
Clean up of `RSpec/LetSetup` within `spec/controllers` (#28446) 2023-12-21 09:28:41 +00:00
Matt Jankowski c753b1ad35
Clean up of `RSpec/LetSetup` within `spec/models` (#28444) 2023-12-21 09:18:38 +00:00
renovate[bot] 87e2bd02ac
Update dependency irb to v1.11.0 (#28442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-21 09:13:10 +00:00
github-actions[bot] 9e5ddc1745
New Crowdin Translations (automated) (#28451)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-21 09:09:00 +00:00
Matt Jankowski 2463b53363
More duplicates in cli maintenance spec, misc bug fixes (#28449) 2023-12-21 08:51:03 +00:00
Eugen Rochko 01f0a6ca4f
Fix profile setup showing default avatar in web UI (#28453) 2023-12-21 08:32:25 +00:00
Claire d29b1cca2e
Fix `friends_of_friends` sometimes suggesting already-followed accounts (#28433) 2023-12-20 14:35:59 +00:00
Claire ac04e62a0e
Remove unused route definitions (#28430) 2023-12-20 09:44:01 +00:00
github-actions[bot] fecc07856c
New Crowdin Translations (automated) (#28439)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-20 09:15:30 +00:00
renovate[bot] 9a24b12416
Update dependency sass-loader to v10.5.1 (#28432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 08:54:21 +00:00
Matt Jankowski 961d65aba6
Add coverage to CLI Maintenance for duplicate users on `confirmation_token` and `reset_password_token` values (#28434) 2023-12-20 08:54:04 +00:00
Claire 6fed0fcbaa
Remove unneeded settings cleanup from specs (#28425) 2023-12-19 15:17:22 +00:00
Matt Jankowski c7c727994a
Add spec for `CLI::Maintenance#fix_duplicates` (#28326) 2023-12-19 13:10:33 +00:00
renovate[bot] 5489d4c84c
Update dependency aws-sdk-s3 to v1.141.0 (#28116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 12:54:02 +00:00
renovate[bot] 4075b4d7ee
Update dependency node to 20.10 (#28040)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 12:39:59 +00:00
Eugen Rochko b5ac61b2c5
Change algorithm of follow recommendations (#28314)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-12-19 10:59:43 +00:00
renovate[bot] b7bdcd4f39
Update dependency @material-symbols/svg-600 to v0.14.3 (#28276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 10:56:23 +00:00
Matt Jankowski c28976d89e
Handle negative offset param in `api/v2/search` (#28282) 2023-12-19 10:55:39 +00:00
Renaud Chaput 7b1d390734
Fixes dropdown target without a `buttonRef` (edit history) (#28427) 2023-12-19 10:47:53 +00:00
github-actions[bot] fa987db738
New Crowdin Translations (automated) (#28423)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-19 09:40:37 +00:00
Claire 3598c2e1db
Revert "Feature - Prevents multiple audio/video attachments from being played at the same time (#24717)" (#28251) 2023-12-19 05:08:52 +00:00
Renaud Chaput 8b1eeb2f90
Fix the loading bar with the new Redux actions (#28422) 2023-12-18 23:19:27 +00:00
Matt Jankowski 7cfc078198
Fix rails mailer preview not honouring locale (#28418) 2023-12-18 21:49:17 +00:00
Matt Jankowski 476d1237d4
Typo fix in json ld helper spec (#28417) 2023-12-18 16:47:22 +00:00
renovate[bot] ab1201c9d9
Update dependency regenerator-runtime to v0.14.1 (#28393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 16:21:54 +00:00
Claire 7d9b209fe8
Fix call to inefficient `delete_matched` cache method in domain blocks (#28374) 2023-12-18 16:14:43 +00:00
Yamagishi Kazutoshi f4b9c2ba40
Group artifact actions (#28413) 2023-12-18 14:02:19 +00:00
Matt Jankowski af366f65ee
Add spec coverage for `models/form/custom_emoji_batch` class (#28388) 2023-12-18 12:41:37 +00:00
renovate[bot] b2ca71f733
Update dependency rubocop-performance to v1.20.0 (#28395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 12:41:22 +00:00
Matt Jankowski 0b42cf2979
Opt out of `Rails/NegateInclude` cop (#28370) 2023-12-18 12:21:45 +00:00
Matt Jankowski 1820bad646
Fix `Performance/StringIdentifierArgument` cop (#28399) 2023-12-18 10:26:09 +00:00
Matt Jankowski 2bd8d343cf
Fix `Style/SoleNestedConditional` and `Style/IfInsideElse` cops, regenerate haml todo (#28384) 2023-12-18 10:06:42 +00:00
Matt Jankowski 8e9e7d57d8
Opt out of `Rails/UnusedIgnoredColumns` cop (#28385) 2023-12-18 09:58:53 +00:00
Matt Jankowski 0e5b8fc46b
Fix `Style/RedundantReturn` cop (#28391) 2023-12-18 09:50:51 +00:00
Matt Jankowski 89d468ada7
Fix `Style/StderrPuts` cop (#28389) 2023-12-18 09:36:08 +00:00
Matt Jankowski e56fb9e489
Fix `Style/SymbolProc` cop (#28386) 2023-12-18 09:32:02 +00:00
renovate[bot] fc4eaa779a
Update dependency cssnano to v6.0.2 (#28382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:31:21 +00:00
renovate[bot] fad7dca0e4
Update dependency prom-client to v15.1.0 (#28394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:29:41 +00:00
renovate[bot] 43f637c130
Update dependency rubocop-rails to v2.23.0 (#28396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:28:19 +00:00
renovate[bot] 287384b3bb
Update DefinitelyTyped types (non-major) (#28407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:28:10 +00:00
renovate[bot] d099cf67c0
Update eslint (non-major) (#28408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 09:28:06 +00:00
github-actions[bot] f99e05710e
New Crowdin Translations (automated) (#28373)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-18 08:25:21 +00:00
Matt Jankowski b1dec09d20
Fix `Style/InverseMethods` cop (#28377) 2023-12-15 15:52:00 +00:00
Matt Jankowski 3e336fe706
Opt out of `Rails/SkipsModelValidations` cop in db/migrate (#28371) 2023-12-15 14:38:12 +00:00
Matt Jankowski e5717c9bc6
Fix `Style/Lambda` cop (#28378) 2023-12-15 14:34:24 +00:00
Matt Jankowski 1ee8d1e50e
Assign a proc to `Rack::Request.ip_filter` instead of patching method (#28380) 2023-12-15 14:33:56 +00:00
Matt Jankowski db897eaa5a
Unwind `map` on single-item array in `spec/services/delete_account_service` spec (#28358) 2023-12-14 14:07:54 +00:00
Matt Jankowski e17faedffb
Move default `meta` options from `InitialStateSerializer` to private method (AbcSize reduction) (#28355) 2023-12-14 14:04:55 +00:00
Matt Jankowski 1c3b5f4a78
Fix reference to non-existent var in CLI maintenance command (#28363) 2023-12-14 14:02:33 +00:00
Matt Jankowski ef9797a395
Un-nest contexts in `settings/2fa/webauthn` spec (#28359) 2023-12-14 10:46:43 +00:00
Matt Jankowski adbfd40a1b
Convert `api/v1/directories` controller spec to request spec (#28356) 2023-12-14 10:38:06 +00:00
Matt Jankowski cd9ebf5f0f
Update stylelint to version 16.0.2 (#28354) 2023-12-14 10:35:54 +00:00
Matt Jankowski 28e1a7a394
Improve spec coverage for `models/announcement` class (#28350) 2023-12-14 10:29:10 +00:00
renovate[bot] d791b47058
Update dependency chewy to v7.4.0 (#28349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 10:26:28 +00:00
Matt Jankowski 8a3d8c6c14
Remove the `stub_stdout` wrapper around CLI specs (#28340) 2023-12-13 10:14:19 +00:00
renovate[bot] 3a59365e40
Update dependency test-prof to v1.3.1 (#28342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:52:43 +00:00
renovate[bot] 49150e2f1d
Update dependency ws to v8.15.1 (#28343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:52:40 +00:00
github-actions[bot] b2f915b31a
New Crowdin Translations (automated) (#28344)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-13 09:52:37 +00:00
renovate[bot] aae4b5644f
Update dependency haml_lint to v0.52.0 (#28345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-13 09:52:33 +00:00
Claire dcc24db793
Fix N+1s because of association preloaders not actually getting called (#28339) 2023-12-13 07:47:32 +00:00
Claire 3f1ec16377
Fix empty column explainer getting cropped under certain conditions (#28337) 2023-12-12 14:31:37 +00:00
renovate[bot] db3220ff77
Update dependency rubocop to v1.59.0 (#28320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 14:18:30 +00:00
Claire f37c93f3d7
Change cookie rotator to use SHA1 digest for new cookies (#27392) 2023-12-12 12:01:08 +00:00
Claire 393e851649
Change Rails' cache format to 7.0 (#27393) 2023-12-12 12:00:23 +00:00
Matt Jankowski 4a7395d989
Add `migrator_version` method to CLI maintenance script (#28323) 2023-12-12 11:56:39 +00:00
renovate[bot] ca51e41239
Update dependency stylelint-config-standard-scss to v12 (#28333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 11:45:39 +00:00
github-actions[bot] 14e64bc880
New Crowdin Translations (automated) (#28334)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-12 11:45:10 +00:00
renovate[bot] 8078520c76
Update dependency oj to v3.16.3 (#28332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 10:40:54 +00:00
Claire 89a496b42f
Fix status edits not always being streamed to mentioned users (#28324) 2023-12-12 10:39:21 +00:00
Claire a8a5c6514f
Fix `LinkCrawlWorker` error when encountering empty OEmbed response (#28268) 2023-12-12 08:29:46 +00:00
Matt Jankowski 2c6369918c
Fix `Style/RedundantArgument` cop (#28321) 2023-12-11 14:58:29 +00:00
renovate[bot] 9dfa940636
Update babel monorepo to v7.23.6 (#28319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 14:58:10 +00:00
Claire f3864db409
Fix notification sounds (#28316) 2023-12-11 14:23:30 +00:00
Matt Jankowski b5a1013ae3
Combine `CLI::...` spec example subjects (#28285) 2023-12-11 10:23:45 +00:00
renovate[bot] 4ad2e87c48
Update dependency debug to v1.9.0 (#28315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 08:45:30 +00:00
github-actions[bot] 79a81da69c
New Crowdin Translations (automated) (#28291)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-11 08:22:52 +00:00
Matt Jankowski 0e4233de9d
Controller spec to request spec: `api/v2/suggestions` (#28297) 2023-12-11 08:13:57 +00:00
Matt Jankowski 0c64092500
Controller spec to request spec: `api/v1/accounts/search` (#28299) 2023-12-11 08:13:28 +00:00
Matt Jankowski 253393f3a8
Only attempt to remove indexes that exist in `CLI::Maintenance` script (#28286) 2023-12-11 08:04:45 +00:00
renovate[bot] f5d6143aa1
Update dependency addressable to v2.8.6 (#28296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 08:01:17 +00:00
Matt Jankowski 16ede59d0a
Controller spec to request spec: `api/v1/featured_tags/suggestions` (#28298) 2023-12-11 08:00:41 +00:00
Matt Jankowski 809506bdd4
Controller spec to request spec: `api/v1/accounts/pins` (#28300) 2023-12-11 07:59:40 +00:00
Matt Jankowski 94cc707ab3
Controller spec to request spec: `api/v1/accounts/notes` (#28301) 2023-12-11 07:58:48 +00:00
Matt Jankowski e544b6df42
Controller spec to request spec: `api/v1/accounts/lookup` (#28302) 2023-12-11 07:57:33 +00:00
Matt Jankowski a968898dc7
Controller spec to request spec: `api/v1/accounts/lists` (#28303) 2023-12-11 07:56:47 +00:00
Matt Jankowski 8f94502e7d
Controller spec to request spec: `api/v1/accounts/identify_proofs` (#28304) 2023-12-11 07:56:13 +00:00
Matt Jankowski 78347d2556
Controller spec to request spec: `api/v1/accounts/familiar_followers` (#28305) 2023-12-11 07:55:45 +00:00
Matt Jankowski 11d2bd9716
Fix intermittent failure from unspecified order in `api/v1/accounts/relationships` spec (#28306) 2023-12-11 07:55:07 +00:00
renovate[bot] b82fc8a2ca
Update dependency ws to v8.15.0 (#28308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:54:22 +00:00
renovate[bot] a117155728
Update DefinitelyTyped types (non-major) (#28310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:54:01 +00:00
renovate[bot] 7ddd937330
Update dependency prettier to v3.1.1 (#28311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:53:32 +00:00
renovate[bot] d0e7999a90
Update dependency typescript to v5.3.3 (#28312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:53:13 +00:00
renovate[bot] bd88883b6e
Update eslint (non-major) (#28313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:52:53 +00:00
Michael Stanclift afc8550b63
Change preview card deletes to be done using batch method (#28183) 2023-12-11 07:49:10 +00:00
Matt Jankowski 490e4969a1
Correct section naming in maintenance cli script (#28279) 2023-12-08 13:54:48 +00:00
Matt Jankowski a3cbb4b2f1
Add spec for `CLI::Search#deploy` command (#28272) 2023-12-08 13:54:20 +00:00
github-actions[bot] ca1b7efb06
New Crowdin Translations (automated) (#28275)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-08 09:52:32 +00:00
JakePaustian f37a1535ef
Update CONTRIBUTING.md with additional requirements for API additions (#28274)
Co-authored-by: Jake Paustian <jake1500@iastate.edu>
2023-12-08 09:52:28 +00:00
Matt Jankowski 8de86eabbf
Add spec for `CLI::Domains#crawl` command (#28271) 2023-12-08 09:51:57 +00:00
Matt Jankowski 7e514688b3
Convert `api/v2/search` controller spec to request spec (#28269) 2023-12-08 09:27:33 +00:00
Matt Jankowski 8d8ae05a18
Add spec coverage for `CLI::Media#lookup` command (#28266) 2023-12-07 15:27:41 +00:00
Matt Jankowski 3918dc68c7
Use composite primary key for `PreviewCardsStatus` model (#28208) 2023-12-07 14:49:05 +00:00
Michael Stanclift da3d8aff79
Error handling for attachment batch delete process (#28184)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-12-07 14:40:44 +00:00
Matt Jankowski ad34d33bfd
Formalize some patterns in cli specs (#28255) 2023-12-07 13:49:14 +00:00
Ken Greeff 5d97a897c8
Add note to install libidn on MacOS (#28259) 2023-12-07 12:45:55 +00:00
Matt Jankowski 0b4a3a0437
Remove remaining `without_partial_double_verification` usage (#28127) 2023-12-07 12:15:50 +00:00
Matt Jankowski 1d7b8234c9
Remove useless `reorder(nil)` call in `tootctl statuses` (#28141) 2023-12-07 09:41:00 +00:00
github-actions[bot] e0dacf6b4c
New Crowdin Translations (automated) (#28264)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-07 09:38:44 +00:00
Claire 7593465c23
Fix error when processing link preview with an array as `inLanguage` (#28252) 2023-12-07 09:05:08 +00:00
renovate[bot] 336d6260ba
Update dependency chewy to v7.3.5 (#28253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 08:44:45 +00:00
renovate[bot] 54db2006a9
Update dependency sass-loader to v10.5.0 (#28254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 08:44:16 +00:00
renovate[bot] 5e8a38e254
Update dependency oj to v3.16.2 (#28263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 08:42:47 +00:00
Claire 658ad7a6ca
Fix flaky tests related to file creation (#28248) 2023-12-06 22:22:25 +00:00
Matt Jankowski af66d3d836
Use `following` and `followers` scopes in CLI (#28154) 2023-12-06 14:15:54 +00:00
renovate[bot] 23b16aaab0
Update dependency selenium-webdriver to v4.16.0 (#28246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 13:50:59 +00:00
Matt Jankowski ee83d5c760
Enable the eslint `react/no-unknown-property` rule (#28217) 2023-12-06 13:42:12 +00:00
Matt Jankowski 42afd30324
Replace Sprockets with Propshaft (#28239) 2023-12-06 10:19:24 +00:00
github-actions[bot] 954169966b
New Crowdin Translations (automated) (#28245)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-12-06 08:52:55 +00:00
Matt Jankowski 0e8ba19113
Add spec coverage for `CLI::Emoji` class (#28182) 2023-12-06 08:52:30 +00:00
Matt Jankowski ed7b5c091b
Remove double subject call in `services/delete_account_service` spec (#28212) 2023-12-06 08:51:09 +00:00
Matt Jankowski be6bb1a10d
Remove double subject call in `services/suspend_account_service` spec (#28213) 2023-12-06 08:45:19 +00:00
Matt Jankowski 5517df61de
Remove double subject call in `services/activitypub/process_account_service` spec (#28214) 2023-12-06 08:44:51 +00:00
Matt Jankowski faffd81976
Remove double subject call in `services/unsuspend_account_service` spec (#28215) 2023-12-06 08:44:07 +00:00
renovate[bot] 3b710b96cf
Update dependency irb to v1.10.1 (#28240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 08:33:27 +00:00
renovate[bot] 996c13a24d
Update dependency core-js to v3.34.0 (#28241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 08:33:11 +00:00
github-actions[bot] 4238ec844d
New Crowdin Translations (automated) (#28120)
Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-12-05 16:07:53 +00:00
Jonathan de Jong d0a5ebf914
Fix error when encountering malformed Tag objects from Kbin (#28235) 2023-12-05 13:59:15 +00:00
renovate[bot] 2d2e23c68d
Update dependency brakeman to v6.1.0 (#28231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-05 12:59:31 +00:00
renovate[bot] f944a767c4
Update dependency json-ld to v3.3.1 (#28229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-05 12:57:16 +00:00
Matt Jankowski 89a8e6e622
Remove 2x double subject call in `models/form/account_batch` spec (#28209) 2023-12-04 15:41:43 +00:00
Matt Jankowski 71e5a16eba
Remove triple subject call in `api/v1/lists` spec (#28210) 2023-12-04 15:28:19 +00:00
Matt Jankowski cca19f5fbb
Use the `Admin::ActionLog` fabricator in admin/action_logs spec (#28194) 2023-12-04 12:56:28 +00:00
Matt Jankowski b3b009e6aa
Add spec coverage for `CLI::EmailDomainBlocks` commands (#28181) 2023-12-04 09:44:54 +00:00
renovate[bot] 829457212e
Update dependency rubocop to v1.58.0 (#28170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 09:38:49 +00:00
Claire a2bcfeb887
Fix `Style/HashEachMethods` cop in HAML files (#28178) 2023-12-04 09:09:43 +00:00
Matt Jankowski 9603198982
Add spec coverage for `CLI::Domains#purge` command (#28179) 2023-12-04 09:09:05 +00:00
Matt Jankowski 1bf2230fd1
Add spec coverage for `CLI::Upgrade#storage_schema` command (#28180) 2023-12-04 09:08:47 +00:00
Matt Jankowski 19ad51253d
Prevent triple-subject run in admin/domain_blocks spec (#28195) 2023-12-04 09:02:40 +00:00
renovate[bot] 154fb95e44
Update dependency postcss to v8.4.32 (#28185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:52:53 +00:00
Matt Jankowski d848d8d87c
Add helper methods for domains allow and export blocks files (#28196) 2023-12-04 08:52:21 +00:00
renovate[bot] 3ec263bf15
Update dependency irb to v1.10.0 (#28198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:51:08 +00:00
renovate[bot] b4fef6c26f
Update DefinitelyTyped types (non-major) (#28199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:50:43 +00:00
renovate[bot] 0ca7a50e96
Update devDependencies (non-major) (#28200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 08:50:28 +00:00
renovate[bot] 456597dae5
Update dependency doorkeeper to v5.6.8 (#28177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 16:22:15 +00:00
Matt Jankowski 469ee2ae36
Fix `Style/HashEachMethods` cop (#28173) 2023-12-01 16:07:19 +00:00
Matt Jankowski 3bc437b99a
Fix `Style/RedundantParentheses` cop (#28176) 2023-12-01 16:00:44 +00:00
Matt Jankowski 5631f139c1
Fix `Lint/SymbolConversion` cop (#28175) 2023-12-01 15:53:35 +00:00
Matt Jankowski aa8563d43d
Fix `Style/SuperWithArgsParentheses` cop (#28174) 2023-12-01 15:53:15 +00:00
Matt Jankowski d83d01eb1e
Fix `Lint/RedundantSafeNavigation` cop (#28172) 2023-12-01 15:52:56 +00:00
Matt Jankowski a98fccf84e
Fix `Style/SelfAssignment` cop (#28171) 2023-12-01 15:52:52 +00:00
Matt Jankowski f70f39dd04
Add explicit `dependent: nil` to associations (#28169) 2023-12-01 15:52:47 +00:00
Matt Jankowski 1564799952
Add spec coverage for media CLI `refresh` command (#28166) 2023-12-01 14:18:45 +00:00
Matt Jankowski 7753e5f715
Add shared example for CLI command specs (#28165) 2023-12-01 12:00:34 +00:00
Matt Jankowski 92fa9b109f
Add spec coverage for media CLI usage command (#28167) 2023-12-01 11:56:47 +00:00
Michael Stanclift 272592d16d
Change startup command for Puma in Docker Compose (#28138) 2023-12-01 11:06:37 +00:00
Matt Jankowski 440b80b2e7
Model concerns organization into module namespaces (#28149) 2023-12-01 11:00:41 +00:00
Matt Jankowski b751078fcd
Eliminate double subject call in admin/ controller specs (#28158) 2023-12-01 10:38:15 +00:00
Michael Stanclift 8710bdb183
Fix mastodon user not being owner of tmp folder in Dockerfile (#28137) 2023-11-30 16:11:21 +00:00
Claire 963354978a
Add `Account#unavailable?` and `Account#permanently_unavailable?` aliases (#28053) 2023-11-30 15:43:26 +00:00
Matt Jankowski 35deaaf90b
Reduce AbcSize complexity in `InitialStateSerializer` (#27782) 2023-11-30 15:41:26 +00:00
Matt Jankowski 1f1c75bba5
File cleanup/organization in `controllers/concerns` (#27846) 2023-11-30 14:39:41 +00:00
Matt Jankowski 0530ce5e95
Convert accounts controller spec to request spec (#28126) 2023-11-30 14:28:05 +00:00
Matt Jankowski e7c340a634
Spec coverage for missing `q` param and error conditions in `api/v2/search` controller (#27842) 2023-11-30 13:59:46 +00:00
Matt Jankowski a8473f582d
Add zeitwerk inflector for cli->CLI (#27635) 2023-11-30 13:55:20 +00:00
Claire b20af17a2c
Fix onboarding step descriptions being truncated on narrow screens (#28021) 2023-11-30 13:47:07 +00:00
Claire 85662a5a57
Change `img-src` and `media-src` CSP directives to not include `https:` (#28025) 2023-11-30 13:47:01 +00:00
Matt Jankowski bb0efe16e6
Remove `default_scope` from `MediaAttachment` class (#28043) 2023-11-30 13:30:35 +00:00
renovate[bot] 02a98210e8
fix(deps): update dependency jsdom to v23.0.1 (#28135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 13:22:40 +00:00
renovate[bot] 0212e0cfbf
fix(deps): update dependency @babel/runtime to v7.23.5 (#28136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 13:22:25 +00:00
Claire 7faa27e17d
Change dismissed banners to be stored server-side (#27055) 2023-11-30 11:45:54 +00:00
Matt Jankowski ce78a9c9ac
Clean up `two_factor_authentication/confirmations` controller spec (#28128) 2023-11-30 11:44:42 +00:00
Filippo Giunchedi e6fd9a59e6
Fix FamiliarFollowersController test response comparison (#28121)
Co-authored-by: Filippo Giunchedi <filippo@debian.org>
2023-11-30 10:58:40 +00:00
renovate[bot] c761cc4738
fix(deps): update babel monorepo to v7.23.5 (#28122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 10:53:49 +00:00
Matt Jankowski b696ca6b1a
Move self destruct CLI command definition code to module (#28131) 2023-11-30 10:48:46 +00:00
Filippo Giunchedi 6e55ff9643
Change Vagrant to install Node 20 (#28100)
Co-authored-by: Filippo Giunchedi <filippo@debian.org>
2023-11-30 10:46:06 +00:00
Matt Jankowski e48ecd2929
Remove `default_scope` from `Admin::ActionLog` (#28026) 2023-11-29 10:39:59 +00:00
Matt Jankowski 291dc04e67
Remove un-needed `action` and `template` options to `render` in controllers (#28022) 2023-11-29 10:38:05 +00:00
Matt Jankowski a1636fce7f
Move lib/devise/* to lib/devise/strategies/* (#27638) 2023-11-29 10:10:21 +00:00
Matt Jankowski 31bef99b9e
Move lib/mastodon/premailer_webpack_strategy to lib/ (#27636) 2023-11-29 10:08:55 +00:00
Matt Jankowski 72b7cd349c
Extract helper methods for form label in admin/ area views (#27575) 2023-11-29 10:06:19 +00:00
Matt Jankowski 9b47c5d53c
Extract helper methods for labels from filters/_filter_fields (#27574) 2023-11-29 10:02:59 +00:00
Matt Jankowski 186895fc88
Refactor, lint fix, and bug fix on admin/roles/form partial (#27558) 2023-11-29 10:00:52 +00:00
renovate[bot] 3e1e41054b
chore(deps): update dependency pghero to v3.4.0 (#28117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 09:00:07 +00:00
Emelia Smith 603b245cc6
Add VAPID public key to instance serializer (#28006)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-11-29 08:34:36 +00:00
Michael Stanclift c40cfc5d09
Fix apt cache not being properly utilized in Dockerfile (#28115) 2023-11-28 22:23:44 +00:00
Michael Stanclift 7a3b41eb54
Fix incorrect apt-get install block in Dockerfile (#28112) 2023-11-28 20:44:04 +00:00
Matt Jankowski 6b46bf9953
Handle scenario when webfinger response `subject` is missing host value (#28088) 2023-11-28 18:37:54 +00:00
Matt Jankowski b9492d84a0
Update `bcrypt` to version 3.1.20 (#28084) 2023-11-28 18:36:21 +00:00
Matt Jankowski b45fe15c06
Update temple to version 0.10.3 (#28086) 2023-11-28 18:36:16 +00:00
Josh Goldberg ✨ 3a7f10c3f1
Converted hashtag.jsx to TypeScript (#27872)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-11-28 18:20:10 +00:00
Josh Goldberg ✨ 1142f4c79e
Converted app/javascript/mastodon/utils/ folder to TypeScript (#27895) 2023-11-28 17:47:55 +00:00
Renaud Chaput cdc7894243
Fix devcontainer by not forcing `NODE_ENV` (#28099) 2023-11-28 14:47:32 +00:00
Emelia Smith a4de0e364b
Refactor streaming to simplify for logging change (#28056) 2023-11-28 14:24:41 +00:00
Emelia Smith 4949b6da58
Fix streaming eslint configuration (#28055) 2023-11-28 14:09:21 +00:00
Michael Stanclift a80530d1df
Dockerfile rewrite based on Ruby image with performance optimizations and size reduction, dedicated Streaming image (#26850)
Co-authored-by: “Michael <“mx@vmstan.com>
Co-authored-by: Emelia Smith <ThisIsMissEm@users.noreply.github.com>
2023-11-28 10:04:40 +00:00
Renaud Chaput 8ebc94dd22
Ignore `@svgr/webpack` updates as they require a Webpacker upgrade (#28098) 2023-11-28 10:03:32 +00:00
Matt Jankowski baf3b71e3b
Extract `path_without_format` private methd in accounts controller (#28091) 2023-11-28 09:17:26 +00:00
renovate[bot] c824d98cec
chore(deps): update dependency fabrication to v2.31.0 (#28089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 09:17:00 +00:00
github-actions[bot] af02484714
New Crowdin Translations (automated) (#28096)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-28 08:59:48 +00:00
Matt Jankowski 9072896ae5
Avoid unnecessary i-var for account rss page url generation (#28092) 2023-11-28 08:19:08 +00:00
Matt Jankowski dfc7154767
Remove unused `cached_filtered_status_page` method from accounts controller (#28090) 2023-11-28 07:43:16 +00:00
Matt Jankowski 2d536bb05f
Use `admin_mailer` layout with initial salutation (#28085) 2023-11-28 07:41:26 +00:00
6543 10b879bd5e
nodeinfo: add instance name and description (#28079) 2023-11-28 00:51:22 +00:00
Claire f1657e6d62
Clamp dates when serializing to Elasticsearch API (#28081) 2023-11-27 13:25:54 +00:00
renovate[bot] 7b56085f11
Update dependency typescript to v5.3.2 (#28078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 12:55:29 +00:00
Matt Jankowski 9b8ba9b350
Remove unused `plain_mailer` layout (#28065) 2023-11-27 10:40:03 +00:00
renovate[bot] b8fe77353e
Update dependency aws-sdk-s3 to v1.140.0 (#28080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 10:07:14 +00:00
renovate[bot] 228b668446
Update DefinitelyTyped types (non-major) (#28077)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 10:07:01 +00:00
June 97e677f993
Fix not all legal images showing in file picker when uploading custom emoji (#28076) 2023-11-27 10:06:48 +00:00
renovate[bot] 73ab080608
Update dependency jsdom to v23 (#28075)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 10:06:40 +00:00
github-actions[bot] fad9343bab
New Crowdin Translations (automated) (#28069)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-27 10:06:35 +00:00
github-actions[bot] 8521238677
New Crowdin Translations (automated) (#28060)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-24 10:25:39 +00:00
Claire 3a24754229
Change GIF max matrix size error to explicitly mention GIF files (#27927) 2023-11-24 09:31:28 +00:00
Claire 6e70819840
Change search popout to not list unusable search options when logged out (#27918) 2023-11-24 09:27:54 +00:00
Matt Jankowski 19baf22683
Add missing email previews for `AdminMailer` (#28044) 2023-11-23 12:32:50 +00:00
renovate[bot] bf7e8e81de
Update dependency doorkeeper to v5.6.7 (#28051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-23 10:37:05 +00:00
renovate[bot] 1ee3314f58
Update dependency @types/npmlog to v7 (#28048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-23 10:28:52 +00:00
Kevin Bongart 7877fcd83c
Deduplicate IDs in relationships and familiar_followers APIs (#27982) 2023-11-23 10:00:09 +00:00
Matt Jankowski 973597c6f1
Consolidate configuration of `Sidekiq::Testing.fake!` setup (#28046) 2023-11-23 09:43:43 +00:00
github-actions[bot] c810b197ad
New Crowdin Translations (automated) (#28050)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-23 09:34:50 +00:00
Matt Jankowski 4be12791e6
Remove `default_scope` from `StatusEdit` class (#28042) 2023-11-23 09:26:11 +00:00
renovate[bot] 990c63b440
Update dependency aws-sdk-s3 to v1.139.0 (#28047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-23 09:24:48 +00:00
github-actions[bot] d3ed03fd6b
New Crowdin Translations (automated) (#28036)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-22 15:48:12 +00:00
Matt Jankowski 9742bccbe7
Add coverage for `api/v2/media` endpoint (#28027) 2023-11-22 15:39:34 +00:00
renovate[bot] 183afc2465
Update dependency aws-sdk-s3 to v1.138.0 (#28031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-22 15:28:14 +00:00
renovate[bot] c3d3ada07b
Update dependency test-prof to v1.3.0 (#28032)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-22 15:27:54 +00:00
Eugen Rochko cdc57c74b7
Fix unsupported time zone or locale preventing sign-up (#28035)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-22 11:38:07 +00:00
Emelia Smith c9ffdcbaa2
Add debug + irb gems to assist with debugging in development and tests (#27960) 2023-11-21 16:41:04 +00:00
Matt Jankowski 67fd3187b3
Update rspec fixture path config to silence deprecation warning (#28018) 2023-11-21 15:51:40 +00:00
Matt Jankowski 30ee4aaff4
Convert measurement `api/v1/admin/*` controller specs to request specs (#28005) 2023-11-21 14:25:07 +00:00
renovate[bot] f91e751383
Update dependency rspec-rails to v6.1.0 (#28017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 13:23:23 +00:00
Matt Jankowski 32e19e3af6
Reduce `.times` usage in request and controller specs (#27949) 2023-11-21 13:05:59 +00:00
Matt Jankowski f7cb64a184
Add coverage for `settings/privacy` controller (#28000) 2023-11-21 13:02:37 +00:00
Claire 32319187ee
Fix error when muting users from Web UI (#28016) 2023-11-21 11:16:16 +00:00
renovate[bot] c836e71218
Update dependency aws-sdk-s3 to v1.137.0 (#27961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 11:05:41 +00:00
Matt Jankowski b2e8af8889
Add coverage for `settings/verifications` controller (#28001) 2023-11-21 11:00:22 +00:00
Matt Jankowski 6d51ac246b
Update partials for the `AdminMailer.new_trends` mailer (#28011) 2023-11-21 10:52:20 +00:00
github-actions[bot] 3c3e0c25ef
New Crowdin Translations (automated) (#28015)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-21 10:35:02 +00:00
Matt Jankowski a6d446e6a7
Add coverage for `remote_interaction_helper` (#28002) 2023-11-21 10:28:55 +00:00
renovate[bot] e1bb79718b
Update babel monorepo to v7.23.4 (#28004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 10:20:23 +00:00
Matt Jankowski 876f5b1d12
Convert `/instances/*` controller specs to request specs (#27988)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-20 11:05:28 +00:00
Matt Jankowski 718c95e7af
Convert `api/v1/custom_emojis` controller spec to request spec (#27985)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-20 11:05:24 +00:00
Claire c260a68f54
Clean up some `Mastodon::CLI::Accounts` tests (#27473) 2023-11-20 10:46:02 +00:00
renovate[bot] 18cb1f9196
Update actions/setup-node action to v4 (#27996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 10:17:13 +00:00
Matt Jankowski 17582d36d5
Convert `api/v1/preferences` controller spec to request spec (#27987) 2023-11-20 09:39:45 +00:00
Matt Jankowski 9a01a260a0
Convert `api/v1/scheduled_statuses` controller spec to request spec (#27986) 2023-11-20 09:36:49 +00:00
Matt Jankowski b9fb47aeb1
Convert `api/v1/endorsements` controller spec to request spec (#27984) 2023-11-20 09:32:28 +00:00
renovate[bot] 3a8dc9a5c6
Update dependency nokogiri to v1.15.5 (#27939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 09:29:46 +00:00
Matt Jankowski 371f355719
Reduce `.times` usage in `AccountStatusesCleanupPolicy` (#27947) 2023-11-20 09:08:54 +00:00
Matt Jankowski d2aacea8da
Reduce `.times` usage in AccountSearch spec, use constant for default limit (#27946) 2023-11-20 09:08:22 +00:00
Matt Jankowski 00c6ebd86f
Reduce `.times` usage in `StatusPin` and add `PIN_LIMIT` constant in validator (#27945) 2023-11-20 09:07:25 +00:00
Matt Jankowski 1fabf20a88
Reduce `.times` usage in `lib/mastodon/cli/accounts` spec (#27944) 2023-11-20 09:04:46 +00:00
renovate[bot] 12c22ee5e7
Update eslint (non-major) (#27995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:53:14 +00:00
renovate[bot] 6464b7cc45
Update dependency public_suffix to v5.0.4 (#27931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:50:00 +00:00
Matt Jankowski 09a2db3f6c
Move api/v2/filters spec to correct path location (#27950) 2023-11-20 08:48:56 +00:00
github-actions[bot] 8ceae2bce6
New Crowdin Translations (automated) (#27966)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-20 08:47:34 +00:00
renovate[bot] 135c4d8250
Update dependency rubocop-rails to v2.22.2 (#27975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:46:18 +00:00
renovate[bot] d75c7ac5a8
Update dependency core-js to v3.33.3 (#27980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:46:00 +00:00
renovate[bot] 6d60b936ad
Update devDependencies (non-major) (#27992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 08:44:36 +00:00
Tim Campbell 60f143e41f
Fixed yarn not installing node packages for streaming (#27967) 2023-11-18 10:14:51 +00:00
Matt Jankowski e892efbc40
Configure elastic search integration with rspec tag (#27882) 2023-11-17 11:52:20 +00:00
Claire 297839c10c
Rewrite `/api/v1/statuses` tests as request specs (#27891) 2023-11-17 11:36:04 +00:00
Claire 9257737675
Rewrite `/api/v1/accounts` tests as request specs (#27888) 2023-11-17 11:34:49 +00:00
Eugen Rochko 0e9801443f
Change to single opt-in during profile setup in onboarding in web UI (#27876) 2023-11-17 10:37:04 +00:00
Matt Jankowski 549e8e7baf
Add `email_spec` and speedup/cleanup to `spec/mailers` (#27902) 2023-11-17 09:50:19 +00:00
github-actions[bot] 9c68741f46
New Crowdin Translations (automated) (#27914)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-17 09:16:12 +00:00
Matt Jankowski 1526e54ac6
Add spec coverage for `workers/redownload_*` worker classes (#27892) 2023-11-17 09:03:46 +00:00
renovate[bot] 6c2e78f1b1
Update dependency @material-symbols/svg-600 to v0.14.1 (#27907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 08:56:39 +00:00
renovate[bot] 94178e2f68
Update dependency react-redux-loading-bar to v5.0.5 (#27916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 08:56:23 +00:00
Matt Jankowski cb1a4a8713
Reduce expectations for `RSpec/MultipleExpectations` cop in `spec/presenters` specs (#27881) 2023-11-16 14:37:52 +00:00
Matt Jankowski 155fb84141
Improve spec coverage for collection of `workers/` classes (#27874) 2023-11-16 14:36:59 +00:00
Claire 0a6ec048a8
Fix upper border radius of onboarding columns (#27890) 2023-11-16 13:43:02 +00:00
Claire c94bedf4e6
Use container queries to hide profile share button (#27889) 2023-11-16 11:59:45 +00:00
Eugen Rochko 87696ea26e
Add prominent share/copy button on profiles in web UI (#27865) 2023-11-16 10:23:14 +00:00
github-actions[bot] 7232d4750d
New Crowdin Translations (automated) (#27884)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-16 10:08:22 +00:00
Matt Jankowski 8a285413f7
Reduce expectations for `RSpec/MultipleExpectations` cop in `MoveWorker` spec (#27880) 2023-11-16 10:03:51 +00:00
Matt Jankowski 3f0c1566c3
Reduce expectations for `RSpec/MultipleExpectations` cop in `api/v1/accounts/relationships` spec (#27879) 2023-11-16 09:55:50 +00:00
Matt Jankowski c1f93def40
Reduce expectations for `RSpec/MultipleExpectations` cop in `controllers/statuses` spec (#27875) 2023-11-16 09:54:51 +00:00
renovate[bot] 669a7157cb
Update dependency webpack-bundle-analyzer to v4.10.1 (#27885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 09:52:23 +00:00
renovate[bot] 91a05f3cad
Update libretranslate/libretranslate Docker tag to v1.5.2 (#27716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 09:33:54 +00:00
Matt Jankowski 04121bd020
Disable simplecov `enable_coverage_for_eval` option, move to standalone file (#27869) 2023-11-15 23:09:31 +00:00
Matt Jankowski 3de9145613
Move controller specs for `well-known` endpoints to request specs (#27855) 2023-11-15 19:12:02 +00:00
Claire bd575a1dd6
Add banner for forwarded reports made by remote users about remote content (#27549) 2023-11-15 14:18:43 +00:00
Matt Jankowski 12a5b7391d
Add spec for well known change password endpoint (#27856) 2023-11-15 13:21:18 +00:00
Matt Jankowski fe58ac8d9f
Improve spec coverage for `api/web/push_subscriptions` controller (#27858)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-15 13:14:51 +00:00
Eugen Rochko d67bd44ca1
Add profile setup to onboarding in web UI (#27829) 2023-11-15 11:13:53 +00:00
github-actions[bot] d8074128f9
New Crowdin Translations (automated) (#27866)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-15 09:41:24 +00:00
Jeong Arm 922f086253
Fix open status on media modal (#27867) 2023-11-15 09:29:10 +00:00
renovate[bot] 5d75799afa
Update dependency axios to v1.6.2 (#27861)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 09:21:25 +00:00
Renaud Chaput b6f29106ea
Improve codecov config (#27860) 2023-11-15 09:20:24 +00:00
Matt Jankowski 7c72944661
Use `Lcov` simplecov formatter on CI and `HTML` elsewhere (#27859) 2023-11-15 09:11:02 +00:00
renovate[bot] 998f068499
Update Yarn to v4.0.2 (#27857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 17:52:34 +00:00
Emelia Smith 15b2d7eec5
Split streaming server from web server (#24702) 2023-11-14 17:43:20 +00:00
Nick Schonning 36d7d1781f
Add CodeCov for Ruby coverage reports (#23868) 2023-11-14 16:53:38 +00:00
renovate[bot] 35b9749b95
Update dependency webpack-bundle-analyzer to v4.10.0 (#27852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 16:53:15 +00:00
ppnplus 2b038b4f89
Added Thai diacritics and tone marks in HASHTAG_INVALID_CHARS_RE (#26576) 2023-11-14 15:33:59 +00:00
Matt Jankowski 7e1a77ea51
Add base class for `api/v1/timelines/*` controllers (#27840) 2023-11-14 14:53:31 +00:00
Matt Jankowski b2c5b20ef2
Fix `RSpec/AnyInstance` cop (#27810) 2023-11-14 14:52:59 +00:00
Matt Jankowski d562fb8459
Specs for minimal CSP policy in `Api::` controllers (#27845) 2023-11-14 14:34:30 +00:00
renovate[bot] 4eb4e8b22c
Update Yarn to v4.0.2 (#27851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 11:07:13 +00:00
github-actions[bot] c1e071f634
New Crowdin Translations (automated) (#27848)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-14 10:53:47 +00:00
Matt Jankowski 1f8173ac5a
Extract private methods in api/v1/instances/domain_blocks (#27844) 2023-11-14 10:31:59 +00:00
renovate[bot] 373aa95ddd
Update formatjs monorepo (#27849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 10:30:39 +00:00
Matt Jankowski 5e2ecc736d
Remove double `subject` in api/v1/accounts/relationships spec (#27839) 2023-11-14 10:29:33 +00:00
Brian Holley 4aa06cbdbf
Fix "Hide these posts from home" list setting not refreshing when switching lists (#27763) 2023-11-14 00:39:54 +00:00
Matt Jankowski b7807f3d84
Use `normalizes` to prepare `Webhook#events` value (#27605) 2023-11-13 22:47:44 +00:00
Claire bac9e0b55d
Add variable delay before link verification of remote account links (#27774) 2023-11-13 16:17:05 +00:00
Matt Jankowski 49ba5a9f94
Use `hash_including` to check `AccountFilter` setup in `admin/accounts` controller spec (#27838) 2023-11-13 16:01:24 +00:00
Matt Jankowski 0945e25b8f
Add `Api::V1::Statuses::BaseController` base controller class (#27794) 2023-11-13 14:53:22 +00:00
renovate[bot] da59407520
Update eslint (non-major) (#27831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 14:40:50 +00:00
renovate[bot] a1b48460e4
Update DefinitelyTyped types (non-major) (#27830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 14:40:10 +00:00
Eugen Rochko 7e3c10dec6
Add icons for private and disabled boost in web UI (#27817)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-11-13 14:39:45 +00:00
Matt Jankowski a36b59be8a
Spec coverage for `api/v1/trends` controllers (#27837) 2023-11-13 14:32:36 +00:00
renovate[bot] 0c98a9d9be
Update devDependencies (non-major) (#25612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 14:01:07 +00:00
pajowu ed79713f3a
Fix modal content not being selectable (#27813) 2023-11-13 13:27:50 +00:00
Claire 07a4059901
Add support for invite codes in the registration API (#27805) 2023-11-13 13:27:00 +00:00
renovate[bot] 5bca5c4c5b
Update formatjs monorepo (#27823)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 13:24:14 +00:00
github-actions[bot] e5a7b73ef4
New Crowdin Translations (automated) (#27815)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-13 13:21:02 +00:00
renovate[bot] a7117bbef6
Update dependency @rails/ujs to v7.1.2 (#27811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 13:13:57 +00:00
renovate[bot] 3b989e4d64
Update dependency rails to v7.1.2 (#27812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 13:13:53 +00:00
Renaud Chaput da4f37020b
Fix Jest config (#27834) 2023-11-13 12:19:41 +00:00
Eugen Rochko 0d14fcebae
Change link previews to keep original URL from the status (#27312) 2023-11-13 09:58:28 +00:00
Matt Jankowski 9dc3ce878b
Speed-up in `Settings::` controllers specs (#27808) 2023-11-10 15:13:42 +00:00
github-actions[bot] ac62b995ef
New Crowdin Translations (automated) (#27804)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-10 13:07:04 +00:00
Matt Jankowski 43e2f763b2
Extract crutches_active_mentions from FeedManager (#27785) 2023-11-10 12:47:38 +00:00
Matt Jankowski ac69f90098
Add `Api::V1::Instances::BaseController` base controller class (#27797) 2023-11-10 12:46:00 +00:00
renovate[bot] fba838d61a
Update dependency @material-symbols/svg-600 to ^0.14.0 (#27803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 12:45:19 +00:00
Aleks Xhuvani 7840c6b75b
Do not try to update an undefined video element (#27798) 2023-11-09 22:35:53 +00:00
Matt Jankowski e79bf1b1e7
Minor speed improvement on `controllers/accounts` spec (#27679) 2023-11-09 16:21:11 +00:00
Matt Jankowski 9429e30d75
Disable sidekiq unique jobs in test env (#27737) 2023-11-09 16:19:04 +00:00
Claire c451bbe249
Allow viewing and severing relationships with suspended accounts (#27667) 2023-11-09 14:50:25 +00:00
Michael Stanclift b87bfb8c96
Fix Yarn version in devcontainer (#27788) 2023-11-09 14:30:07 +00:00
Matt Jankowski 548bb30b2a
Consolidate html page title output logic into helper (#27563) 2023-11-09 13:05:57 +00:00
Claire 9b06c0f24a
Fix Web UI not displaying appropriate explanation when a user hides their follows/followers (#27791) 2023-11-09 12:58:02 +00:00
Matt Jankowski 63c9102f8a
Fix `RSpec/MessageChain` cop (#27776) 2023-11-09 12:57:23 +00:00
renovate[bot] dec2796a4a
Update dependency lint-staged to v15 (#27407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 10:16:53 +00:00
renovate[bot] 4812832620
Update dependency axios to v1.6.1 (#27773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 10:16:44 +00:00
renovate[bot] 23d88aa943
Update babel monorepo to v7.23.3 (#27789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 10:16:36 +00:00
Yamagishi Kazutoshi 220a2e8fbf
Run `yarn dedupe` when updating with Renovate (#27786) 2023-11-09 10:15:58 +00:00
github-actions[bot] d6c971e158
New Crowdin Translations (automated) (#27787)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-09 09:54:14 +00:00
Matt Jankowski ce1bd81c85
Reduce complexity in `StatusCacheHydrator` (#27783) 2023-11-09 09:53:44 +00:00
Matt Jankowski c9204b792c
Fix `Rails/I18nLocaleTexts` cop (#27779) 2023-11-09 09:46:39 +00:00
Matt Jankowski c875dfc90b
Fix `Lint/UnusedBlockArgument` cop (#27777) 2023-11-09 09:43:26 +00:00
renovate[bot] 5af47fbff8
Update dependency fog-openstack to v1 (#25968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 09:06:57 +00:00
Matt Jankowski 69d00e2721
Fix `RSpec/InstanceVariable` cop (#27766) 2023-11-08 15:42:30 +00:00
Matt Jankowski 4329616c53
Ignore block result of `send` method and remove `rubocop:disable` in deepl spec (#27741) 2023-11-08 14:43:17 +00:00
Jaehong Kang c73d5a6075
Using Sidekiq concurrency for default db pool value (#26488) 2023-11-08 13:15:43 +00:00
Matt Jankowski 13c3e59601
Use helper method to build batched status edits in `admin/statuses/show` (#27739) 2023-11-08 13:04:52 +00:00
Matt Jankowski b05575e242
Move RSpec config for streaming/search managers to be near classes (#27761) 2023-11-08 13:04:17 +00:00
Matt Jankowski ce91d14d48
Fix `Style/WordArray` cop (#27770) 2023-11-08 13:03:44 +00:00
Matt Jankowski c03bd2a238
Don't stub SUT in `FollowLimitValidator` spec (#27760) 2023-11-08 12:49:46 +00:00
github-actions[bot] 5c328ae674
New Crowdin Translations (automated) (#27768)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-08 12:40:09 +00:00
Matt Jankowski 9b7b4d748f
Simplify request cache spec shared examples (#27673) 2023-11-08 12:37:29 +00:00
Matt Jankowski 7d6bcc0615
Remove unmatched `rubocop:enable` declaration (#27769) 2023-11-08 12:02:09 +00:00
Matt Jankowski 33cc3ae8fa
Fix `Style/StabbyLambdaParentheses` cop (#27771) 2023-11-08 12:01:18 +00:00
Renaud Chaput 757d7c73c0
Upgrade to Yarn 4, remove support for Node 16 (#27073) 2023-11-08 10:57:21 +00:00
Claire 23e32a4b30
Fix format-dependent redirects being cached regardless of requested format (#27632) 2023-11-08 10:31:05 +00:00
Matt Jankowski e545978076
Use framework helpers instead of i-vars in controller specs (#27767) 2023-11-08 08:17:43 +00:00
Matt Jankowski 790f6356be
Deduplicate yarn lock file (#27670) 2023-11-08 07:49:06 +00:00
João Pedro Marques d3cd37d73e
Feature - Prevents multiple audio/video attachments from being played at the same time (#24717) 2023-11-07 23:37:58 +00:00
renovate[bot] 389a6cc4c0
Update dependency net-http to '~> 0.4.0' (#27721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:07:12 +00:00
renovate[bot] 14e49e5e36
Update dependency react-select to v5.8.0 (#27722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:05:36 +00:00
renovate[bot] 565d9a6cf3
Update dependency sanitize to v6.1.0 (#27723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:05:13 +00:00
renovate[bot] 8b0d86d407
Update dependency simple_form to v5.3.0 (#27725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:04:40 +00:00
renovate[bot] ac9f92bd73
Update formatjs monorepo (#27746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:04:25 +00:00
renovate[bot] b36b35318a
Update dependency selenium-webdriver to v4.15.0 (#27649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:03:31 +00:00
renovate[bot] bcdfb72686
Update dependency json-ld-preloaded to v3.3.0 (#26763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:03:09 +00:00
renovate[bot] 4b8aee7ad8
Update dependency thor to v1.3.0 (#27464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:02:28 +00:00
renovate[bot] 1341790207
Update dependency sidekiq-unique-jobs to v7.1.30 (#26091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:02:04 +00:00
renovate[bot] b2619a10a5
Update dependency json-ld to v3.3.0 (#26762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:01:09 +00:00
renovate[bot] 110ace0474
Update dependency json-schema to v4.1.1 (#26933)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:00:34 +00:00
renovate[bot] feea257f44
Update dependency aws-sdk-s3 to v1.136.0 (#26999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 22:00:13 +00:00
renovate[bot] b41e9b1d29
Update dependency strong_migrations to v1.6.4 (#27631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 21:59:35 +00:00
Jasmin Johal 27cbdc6f22
Change alt text to empty string for avatars (#21875)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-11-07 21:46:08 +00:00
Aleks Xhuvani 58f01a5c9a
Add volume saving/reuse to video player (#27488) 2023-11-07 18:15:38 +00:00
Matt Jankowski ee57bb4b44
Account statuses filter spec speedup (#27674) 2023-11-07 15:47:01 +00:00
Matt Jankowski ae7c20b00c
Move search and streaming spec manager classes to separate support files (#27727) 2023-11-07 15:25:49 +00:00
Matt Jankowski 02d27de5ce
Move i18n locale configuration to separate initializer (#27571) 2023-11-07 15:22:14 +00:00
Matt Jankowski 370802ce48
Add coverage for `CLI::Maintenance#fix_duplicates` command (#25252) 2023-11-07 15:21:58 +00:00
Matt Jankowski 1d51e10510
Consolidate JSON parsing in serializers specs (#27693) 2023-11-07 15:20:24 +00:00
Matt Jankowski a688a9ed20
Use strings instead of numeric literals and remove `rubocop:disable` in cache spec (#27742) 2023-11-07 15:20:00 +00:00
Matt Jankowski dc0bf87090
Remove unused before block from settings/branding spec (#27759) 2023-11-07 15:19:17 +00:00
Renaud Chaput f476d9dab2
Fix the `notificationsUpdate` call (#27758) 2023-11-07 14:18:59 +00:00
Matt Jankowski 45770c9306
Fix `Performance/MapMethodChain` cop (#27744) 2023-11-07 13:01:09 +00:00
Matt Jankowski bbad5b6456
Remove false positive cop detection (#27457) 2023-11-07 10:44:15 +00:00
Matt Jankowski 49e2772064
Fix `RSpec/MessageSpies` cop (#27751) 2023-11-07 09:46:28 +00:00
Renaud Chaput ae0d551d33
Do not copy `public/packs-test` into Docker (#27736) 2023-11-07 09:22:04 +00:00
Matt Jankowski 2862ad701f
Stub controller methods and remove `rubocop:disable` in captcha feature spec (#27743) 2023-11-07 09:15:30 +00:00
Matt Jankowski 2d39268bc5
Fix `Lint/OrAssignmentToConstant` cop (#27750) 2023-11-07 09:11:50 +00:00
Matt Jankowski cfa14ec6d1
Fix `Lint/EmptyBlock` cop (#27748) 2023-11-07 09:11:04 +00:00
Matt Jankowski b06284c572
Fix `RSpec/HookArgument` cop (#27747) 2023-11-07 09:10:36 +00:00
github-actions[bot] 1b28ab7263
New Crowdin Translations (automated) (#27687)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-07 09:03:59 +00:00
Matt Jankowski d6f50839e1
Fix `RSpec/SpecFilePathFormat` cops (#27730) 2023-11-06 16:25:40 +00:00
Matt Jankowski c501d626e8
Fix `Rails/BulkChangeTable` cop (#26890) 2023-11-06 16:15:48 +00:00
Matt Jankowski 0c4e7c06dc
Fix `Rails/FindEach` cop (#26886) 2023-11-06 15:53:29 +00:00
Matt Jankowski fe26f33e0a
Fix `Rails/RedundantActiveRecordAllMethod` cop (#26885) 2023-11-06 15:51:52 +00:00
Matt Jankowski 949f5eb860
Fix `RSpec/MetadataStyle` cop in spec/ (#27729) 2023-11-06 14:28:20 +00:00
zunda e4e752c26e
Adjust transform origin for favorite star (#27700) 2023-11-06 11:14:46 +00:00
renovate[bot] 9c34bb4d54
Update Node.js to v20.9 (#27714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 10:27:42 +00:00
renovate[bot] 0ca27b2d81
Update DefinitelyTyped types (non-major) (#27713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 10:27:19 +00:00
renovate[bot] 22b4713d2e
Update eslint (non-major) (#27715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 10:26:18 +00:00
Renaud Chaput 3bf896c973
Disable Babel polyfill injection in dev (#27691) 2023-11-06 10:24:41 +00:00
renovate[bot] 1416745a2b
Update dependency faker to v3.2.2 (#27718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 09:54:59 +00:00
renovate[bot] afd1371fa3
Update dependency rubocop to v1.57.2 (#27719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 09:53:13 +00:00
renovate[bot] ef140da349
Update dependency discard to v1.3.0 (#27720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-06 09:52:50 +00:00
Claire c0989b78f8
Fix incoming status creation date not being restricted to standard ISO8601 (#27655) 2023-11-06 09:28:14 +00:00
Renaud Chaput 6712bf86cd
Fixes website not loading for unlogged users (#27698) 2023-11-04 21:52:56 +00:00
Renaud Chaput 3bf2a7296e
Use Immutable `Record` for accounts in Redux state (#26559) 2023-11-03 15:00:03 +00:00
Matt Jankowski 9d799d40ba
Reduce CI job matrix job count (#27660) 2023-11-03 14:58:33 +00:00
Matt Jankowski 5d9e71ebe0
Archive uploaded CI assets into single file between build/test (#27668) 2023-11-03 14:12:14 +00:00
github-actions[bot] 2d548e273e
New Crowdin Translations (automated) (#27646)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-11-03 10:10:13 +00:00
Claire 0337df3a42
Fix posts from threads received out-of-order sometimes not being inserted into timelines (#27653) 2023-11-02 14:58:37 +00:00
Renaud Chaput 2aa28e06d1
Mark version 4.0 as no longer supported (#27627) 2023-11-01 13:53:14 +00:00
mogaminsk ac8e4ed38d
Fix inserting emojis from emoji picker fails with TypeError (#27647) 2023-11-01 07:22:02 +00:00
Renaud Chaput 277e6968f5
Use helpers to check environment in frontend (#27633) 2023-10-31 16:05:44 +00:00
Matt Jankowski 7ef56d6e50
Move json_ld context loaders to `config/initializers` (#27590) 2023-10-31 15:21:23 +00:00
Matt Jankowski 3107a9410c
Silence deprecation warning about secrets/credentials with Devise patch (#27578) 2023-10-31 11:10:15 +00:00
Matt Jankowski b264318431
Update strong_migrations to version 1.3.0 (#25991) 2023-10-31 11:09:32 +00:00
Renaud Chaput 0e3401bc1c
Improve Babel configuration and automatically load polyfills (#27333) 2023-10-31 10:55:13 +00:00
Claire 9c8891b39a
Rewrite `AutosuggestTextarea` as Functional Component (#27618) 2023-10-31 10:17:37 +00:00
Matt Jankowski a916251d8a
Update haml-lint line length configuration to match rubocop value (#27570) 2023-10-31 09:47:16 +00:00
Claire d649bbf28f
Add some more tests and clean up domain block controller (#27469) 2023-10-31 09:40:30 +00:00
github-actions[bot] e5b7ae9576
New Crowdin Translations (automated) (#27630)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-31 08:43:17 +00:00
renovate[bot] 147417a6d0
Update dependency rspec-sidekiq to v4.1.0 (#27593)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 08:26:21 +00:00
renovate[bot] 204c00b5c6
Update dependency bootsnap to '~> 1.17.0' (#27617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 08:24:04 +00:00
Matt Jankowski beee9ea991
Fix `RSpec/LetSetup` cop in spec/controllers/admin area (#27619) 2023-10-31 08:22:19 +00:00
Claire 6c52f8286b
Fix posts from force-sensitized accounts being able to trend (#27620) 2023-10-30 22:32:25 +00:00
renovate[bot] b8adb08f92
Update dependency axios to v1.6.0 (#27580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:31:32 +00:00
renovate[bot] 372494e553
Update dependency punycode to v2.3.1 (#27625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:31:22 +00:00
renovate[bot] 547d3c1b9b
Update dependency core-js to v3.33.2 (#27624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:30:26 +00:00
renovate[bot] c2cc1df5ef
Update dependency @types/react to v18.2.33 (#27615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:30:02 +00:00
github-actions[bot] a918208ec6
New Crowdin Translations (automated) (#27596)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-30 14:19:25 +00:00
renovate[bot] bf1d452978
Update libretranslate/libretranslate Docker tag to v1.4.1 (#27616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 14:19:20 +00:00
Ricardo Trindade 33f8c1c5eb
Remove version check from update cache_concern.rb (#27592) 2023-10-30 14:04:12 +00:00
Matt Jankowski eae5c7334a
Extract class from CSP configuration/initialization (#26905) 2023-10-27 16:20:40 +00:00
Matt Jankowski 2e6bf60f15
Use `deliveries.size` in mailer-related examples in controller specs (#27589) 2023-10-27 15:33:52 +00:00
Jonathan de Jong 1cc512909c
Have `Follow` activities bypass availability (#27586)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-27 14:55:00 +00:00
Claire 93e4cdc31b
Fix hashtag matching pattern matching some URLs (#27584) 2023-10-27 14:04:51 +00:00
SouthFox 08bdd5751e
Fix account click on detailed status (#27587) 2023-10-27 14:03:21 +00:00
renovate[bot] 15ef654e9a
Update dependency pundit to v2.3.1 (#27585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 13:43:00 +00:00
Renaud Chaput 13d310e64d
Simplify column headers (#27557) 2023-10-27 13:21:07 +00:00
Matt Jankowski 1f5187e2e2
Misc spec/refactor to user mailer and user mailer spec (#27486) 2023-10-27 09:57:16 +00:00
renovate[bot] 37929b9707
Update libretranslate/libretranslate Docker tag to v1.4.0 (#27504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-27 09:56:45 +00:00
github-actions[bot] 8ca16f032e
New Crowdin Translations (automated) (#27583)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-27 09:38:04 +00:00
Claire bbf46cc418
Fix error and incorrect URLs in `/api/v1/accounts/:id/featured_tags` for remote accounts (#27459) 2023-10-27 08:35:21 +00:00
Jeong Arm 8f998cd96a
Handle featured collections without items (#27581) 2023-10-27 02:36:22 +00:00
Eugen Rochko fa7e64df1d
Fix various icon styles in web UI (#27579) 2023-10-26 23:37:58 +00:00
Matt Jankowski 12550a6a28
Use `Rails.env.local?` shorthand method to check env (#27519) 2023-10-26 21:20:41 +00:00
Matt Jankowski 4aa05d45fc
Capture minimum postgres version 12 (#27528) 2023-10-26 20:35:15 +00:00
Simon Rapilly 2d8f759a34
Add HTML lang attribute to preview card descriptions (#27503) 2023-10-26 20:34:15 +00:00
Claire d2f52f7f64
Fix report processing notice not mentioning the report number when performing a custom action (#27442) 2023-10-26 17:03:31 +00:00
Mark T. Tomczak ba8dcb50fe
Issue 26048: swap "muting" and "blocking" list options in settings -> Data Exports (#26088) 2023-10-26 14:08:25 +00:00
Claire 75255c01fc
Fix error when trying to delete already-deleted file with OpenStack Swift (#27569) 2023-10-26 13:09:48 +00:00
github-actions[bot] 3427b51d63
New Crowdin Translations (automated) (#27567)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-26 11:05:47 +00:00
Renaud Chaput 537442853f
Use a context to propagate column-related Props, and remove `forceUpdate` usage (#27548) 2023-10-26 11:00:10 +00:00
Matt Jankowski 3ca974e101
Use `next` keyword in field loop in admin/accounts/index view (#27559) 2023-10-26 10:52:14 +00:00
renovate[bot] 400f5c9174
Update dependency @material-symbols/svg-600 to v0.13.2 (#27565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 10:49:39 +00:00
renovate[bot] 6e018f7228
Update dependency sass to v1.69.5 (#27566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 10:48:55 +00:00
Claire 49b8433c56
Fix confusing screen when visiting a confirmation link for an already-confirmed email (#27368) 2023-10-25 21:33:44 +00:00
Matt Jankowski 9a3d047f3e
Run `bin/rails app:update` with Rails 7.1 (#27522) 2023-10-25 13:56:09 +00:00
Claire 235a4cfdc8
Fix batch attachment deletion when using OpenStack Swift (#27554) 2023-10-25 13:55:57 +00:00
Renaud Chaput a4e6fe36cb
Add missing ban icons (#27555) 2023-10-25 12:47:37 +00:00
Matt Jankowski 70dbf84b9b
Solve simplest haml-lint `Rubocop` lints (#27529) 2023-10-25 12:38:01 +00:00
Claire fa65c8244f
Fix cache store pool config deprecation warnings (#27551) 2023-10-25 12:01:21 +00:00
Matt Jankowski c926f5fd67
Fix haml-lint `UnnecessaryStringOutput` for views (#27531) 2023-10-25 12:01:00 +00:00
github-actions[bot] c85e0a6b04
New Crowdin Translations (automated) (#27544)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-25 07:36:07 +00:00
renovate[bot] f261b6499f
Update dependency node to 20.9 (#27534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-25 07:16:19 +00:00
Matt Jankowski cec7f0ed72
Remove unused `#error_explanation` id from error partials (#27536) 2023-10-25 07:12:32 +00:00
Renaud Chaput cb92cdf9af
Fix `<ColumnBackButtonSlim>` (#27540) 2023-10-24 20:43:55 +00:00
Renaud Chaput f08ca3f042
Fix missing icon props (#27539) 2023-10-24 20:43:06 +00:00
Matt Jankowski bc3afb6311
Update `rails/ujs` delegate method usage (#27538) 2023-10-24 20:38:19 +00:00
Eugen Rochko 134de736dc
Change icons in web UI (#27385)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-10-24 17:45:08 +00:00
Michael Stanclift b1885387b6
Fix missing libyaml-dev dependency in Dockerfile (#27533) 2023-10-24 17:32:10 +00:00
Claire 15182d1e5e
Fix history handling not properly handling states after update to react-router v5 (#27526) 2023-10-24 13:24:57 +00:00
Renaud Chaput 6cf9f1211b
Create custom Github Actions for common steps (#27518) 2023-10-24 11:43:24 +00:00
Matt Jankowski 714e3ae5b5
Use Rails 7.1 `normalizes` feature (#27521) 2023-10-24 10:06:10 +00:00
github-actions[bot] 50b7ea810e
New Crowdin Translations (automated) (#27523)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-24 09:51:34 +00:00
Matt Jankowski e923bb9ec9
Use `ENV.fetch` in views, fixes rubocop haml-lint issue (#27527) 2023-10-24 09:30:14 +00:00
Matt Jankowski 4fdc548fa5
Regenerate lint todos (#27513) 2023-10-24 08:08:31 +00:00
たいち ひ 9482810703
Rewrite `emoji_unicode_mapping_light` to TS (#25444)
Co-authored-by: taichi.fukuda ひ <taichi.fukuda@systemi.co.jp>
2023-10-24 08:06:14 +00:00
Matt Jankowski e93a75f1a1
Rails 7.1 update (#25963) 2023-10-23 17:58:29 +00:00
Claire 379115e601
Add SELF_DESTRUCT env variable to process self-destructions in the background (#26439) 2023-10-23 15:46:21 +00:00
Daniel M Brasil 26d2a2a0cc
Migrate to request specs in `/api/v1/media` (#25543) 2023-10-23 15:46:21 +00:00
Eugen Rochko d9503a1965
Fix explore page reloading when you navigate back to it in web UI (#27489) 2023-10-23 17:07:13 +02:00
Claire 79a63201a9
Fix Layout/EmptyLineAfterGuardClause issues caused by merging an old PR (#27512) 2023-10-23 16:21:48 +02:00
Renaud Chaput fc7734df8d
Remove Renovate's Lock File Maintenance task (#27510) 2023-10-23 14:38:36 +02:00
Matt Jankowski 3cfdab6b48
Prune the changelog of older entries (#27432) 2023-10-23 14:35:56 +02:00
renovate[bot] d5408dbb54
Update dependency prom-client to v15 (#27330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 14:33:17 +02:00
Claire 8b770ce811
Add warnings to report action logs (#27425) 2023-10-23 14:30:46 +02:00
Claire 44edf3aa91
Improve error handling in mastodon:setup task (#21464) 2023-10-23 14:28:32 +02:00
Claire 99f2534cee
Add support for displaying unknown servers on /admin/instances/:domain (#27150) 2023-10-23 14:27:57 +02:00
Claire c3e0eb3699
Change Content-Security-Policy to be tighter on media paths (#26889) 2023-10-23 14:27:07 +02:00
Claire bcae744275
Fix some link anchors being recognized as hashtags (#27271) 2023-10-23 14:19:38 +02:00
renovate[bot] 53fd28b889
Update dependency react-select to v5.7.7 (#27003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:45:14 +02:00
renovate[bot] f7b34707a8
Update babel monorepo to v7.23.2 (#27118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:36:47 +02:00
renovate[bot] 25751c653e
Update DefinitelyTyped types (non-major) (#27414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:35:54 +02:00
renovate[bot] 132204031f
Update dependency core-js to v3.33.1 (#27481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:20:01 +02:00
renovate[bot] bb5bae186f
Update dependency webpack-merge to v5.10.0 (#27420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:18:16 +02:00
renovate[bot] 69d3318055
Update dependency rimraf to v5.0.5 (#27140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:16:02 +02:00
renovate[bot] cd08b436ab
Update dependency sass to v1.69.4 (#27004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:15:31 +02:00
renovate[bot] 6f1eb89d21
Update dependency ws to v8.14.2 (#26980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:14:16 +02:00
renovate[bot] 6f429d3f1b
Update formatjs monorepo (#27416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:13:12 +02:00
renovate[bot] 773133befa
Update eslint (non-major) (#27415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:12:17 +02:00
Claire 0ad66175bf
Fix incorrect proptypes from react-router-v5 update (#27507) 2023-10-23 11:39:53 +02:00
github-actions[bot] 70fd819935
New Crowdin Translations (automated) (#27490)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-23 10:04:54 +02:00
Matt Jankowski b0213472df
Validate allowed schemes on preview card URLs (#27485) 2023-10-23 09:50:02 +02:00
Renaud Chaput 9d45a444f9
Convert `<Button>` to Typescript (#27492) 2023-10-23 09:43:00 +02:00
Matt Jankowski ab0fb81479
Configure brakeman to ignore url safe preview card urls (#25883) 2023-10-20 15:32:16 +02:00
Claire 13688539bc
Fix processing LDSigned activities from actors with unknown public keys (#27474) 2023-10-20 10:45:46 +02:00
github-actions[bot] 284c719f64
New Crowdin Translations (automated) (#27480)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-20 10:11:40 +02:00
Eugen Rochko 33bd8eccd5
Fix missing background behind dismissable banner in web UI (#27479) 2023-10-20 04:08:13 +02:00
Renaud Chaput 1b70d7ed7c
Upgrade to react-router v5 (#25047)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-19 19:44:55 +02:00
Renaud Chaput 126cd7705d
Do not display the navigation banner in the logo container (#27476) 2023-10-19 19:36:08 +02:00
Matt Jankowski 9f218c9924
Refactor appeal partial to avoid brakeman XSS warning (#25880) 2023-10-19 17:25:54 +02:00
Matt Jankowski bcd0171e5e
Fix `Lint/UselessAssignment` cop (#27472) 2023-10-19 16:55:06 +02:00
Daniel M Brasil 7bc8f03162
Add test coverage for `Mastodon::CLI::Accounts#migrate` (#25284) 2023-10-19 16:11:15 +02:00
github-actions[bot] 1ffd5a98a9
New Crowdin Translations (automated) (#27465)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-19 14:31:25 +02:00
Brian Campbell f76e5111f0
Consider shown and pending status in explore prompt calculation (#27466)
Co-authored-by: Brian Campbell <brcampbell@beta.team>
2023-10-19 14:25:57 +02:00
Renaud Chaput 10df97c542
The `class` props should be `className` (#27462) 2023-10-19 13:22:44 +02:00
Claire 510845b6b9
Only enable github-rspec for pull_request events (#27456) 2023-10-18 15:20:24 +02:00
Matt Jankowski a1b27d8b61
Fix `Naming/VariableNumber` cop (#27447) 2023-10-18 14:26:22 +02:00
Emelia Smith 7c3fea7275
Feature: Allow token introspection without read scope (#27142) 2023-10-18 14:10:07 +02:00
github-actions[bot] 4612576c68
New Crowdin Translations (automated) (#27454)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-18 11:08:10 +02:00
Matt Jankowski 63a2a4b074
Fix `Performance/DeletePrefix` cop (#27448) 2023-10-18 10:32:09 +02:00
Daniel M Brasil 091a21e1bc
Add test coverage for `Mastodon::CLI::Accounts#prune` (#25204) 2023-10-18 10:20:50 +02:00
Claire e9dc30cdba
Fix duplicate github annotations for rspec failures (#27450) 2023-10-18 10:18:34 +02:00
Nick Schonning 5ef26d8fd5
Add RSpec GitHub annotations gem (#24040) 2023-10-17 18:28:09 +02:00
Matt Jankowski 71447ab19f
Fix `Capybara/ClickLinkOrButtonStyle` cop in spec/features/admin area (#27445) 2023-10-17 16:57:19 +02:00
renovate[bot] 0036de46bc
Update dependency rubocop-performance to v1.19.1 (#26949)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 16:16:12 +02:00
Jeong Arm ad44d832b8
Support "in:public" search filter (#26976) 2023-10-17 16:12:03 +02:00
Matt Jankowski 2528a0721f
Update `rubocop-capybara` to version 2.19.0 (#26982) 2023-10-17 16:10:50 +02:00
renovate[bot] 1996fb6fd6
Update dependency puma to v6.4.0 (#27006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 16:10:16 +02:00
Matt Jankowski 65cd0700e4
Refactor domains cli to remove model call from regex (#25878) 2023-10-17 15:58:42 +02:00
Claire b34a2b1b33
Fix errors in CLI specs (#27399) 2023-10-17 15:30:12 +02:00
Jeong Arm c0cda1adaf
Let use http_hidden_proxy on docker-compose (#27054) 2023-10-17 15:24:45 +02:00
Renaud Chaput 1fb4e40145
Run scheduled actions only on the main repo (#27343) 2023-10-17 14:59:39 +02:00
Stanislas Signoud 935d54124e
Fix missing redirections to make sure /home redirect to the advanced UI (#27378) 2023-10-17 14:59:07 +02:00
Victor Lee c4bddc9855
Add spec for poll model (#23399)
Co-authored-by: Nick Schonning <nschonni@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-17 14:56:24 +02:00
Matt Jankowski 12bb7be8b5
Spec speed ups on `AccountsController` spec (#25391) 2023-10-17 13:32:10 +02:00
Matt Jankowski d54fec24e5
Add coverage for `CLI::PreviewCards#remove` command (#27441) 2023-10-17 13:06:16 +02:00
Matt Jankowski 19900f647e
Add coverage for `UnreservedUsernameValidator` (#25590) 2023-10-17 13:05:28 +02:00
Claire 1084703417
Update changelog (#27440) 2023-10-17 13:03:54 +02:00
Matt Jankowski fc9ab61448
Expand spec coverage of `CLI::Media` (#27437) 2023-10-16 18:20:58 +02:00
Matt Jankowski 33b073f77d
Extract partials from `admin/reports/show` view (#27427) 2023-10-16 18:07:17 +02:00
Matt Jankowski 8d0f12f776
Extract partials from `admin/accounts/show` view (#27428) 2023-10-16 18:02:15 +02:00
Matt Jankowski 893b2f33fd
Extract shared example for cacheable response in specs (#25388) 2023-10-16 17:52:06 +02:00
Matt Jankowski 708299bb0d
Misc coverage improvements for `Admin::` and `Settings::` controllers (#25346) 2023-10-16 17:20:28 +02:00
Daniel M Brasil e0ed0f8c7c
Migrate to request specs in `/api/v1/notifications` (#25553) 2023-10-16 17:15:24 +02:00
Matt Jankowski 08a376cbcb
Fix `Style/CombinableLoops` cop (#27429) 2023-10-16 16:36:28 +02:00
Matt Jankowski c91c0175db
Extract `card` partial from `disputes/strikes/show` view (#27426) 2023-10-16 16:04:29 +02:00
Daniel M Brasil cafdaec6cf
Migrate to request specs in `/api/v1/lists/:id/accounts` (#25468) 2023-10-16 16:03:48 +02:00
Daniel M Brasil 8e6116503d
Migrate to request specs in `/api/v1/blocks` (#25517) 2023-10-16 16:03:35 +02:00
Daniel M Brasil d9caa6ed24
Migrate to request specs in `/api/v1/admin/accounts` (#25563) 2023-10-16 15:49:12 +02:00
Matt Jankowski f5bc1f20e2
Add coverage for `ExistingUsernameValidator` (#25592)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-16 15:41:23 +02:00
Matt Jankowski f8afa0f614
Remove unused stub json ld context (#25454) 2023-10-16 15:38:27 +02:00
Matt Jankowski 00e92b4038
Add coverage for `CLI::Statuses` command (#25321) 2023-10-16 15:37:22 +02:00
Claire 299aa71c8f
Fix handling of `inLanguage` attribute in preview card processing (#27423) 2023-10-16 15:24:14 +02:00
Wladimir Palant 23f8e93c64
Fixes #23135 - Allow cross origin request for /nodeinfo/2.0 API (#27413) 2023-10-16 13:39:25 +02:00
github-actions[bot] 13456efd7b
New Crowdin Translations (automated) (#27410)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-16 11:31:52 +02:00
renovate[bot] a00fc83701
Update dependency bufferutil to v4.0.8 (#27412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 11:09:20 +02:00
renovate[bot] f0ef87b84d
Update dependency i18n-tasks to v1.0.13 (#27403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 11:08:13 +02:00
Renaud Chaput e0da64bb4e
Fix empty ENV variables not using default nil value (#27400) 2023-10-13 19:00:53 +02:00
Daniel M Brasil 82beeb2f7e
Migrate to request specs in `/api/v1/admin/trends/links` (#25739) 2023-10-13 16:23:16 +02:00
Matt Jankowski 1b195ce115
Speed-up on `Rack::Attack` spec (#25542) 2023-10-13 16:14:23 +02:00
Claire 71cfdd7865
Fix duplicate tests (#27395) 2023-10-13 16:10:43 +02:00
Matt Jankowski cad8cc90ba
Speed-up on `MoveWorker` spec (#25528) 2023-10-13 15:50:46 +02:00
Daniel M Brasil 058f73a4f5
Add request specs for `/api/v1/reports` (#25475) 2023-10-13 15:30:40 +02:00
Matt Jankowski abf0e1fa39
Move `SignedReqestHelpers` rspec config to separate file (#25453) 2023-10-13 15:19:40 +02:00
Daniel M Brasil bc6cd27d9e
Migrate to request specs in `/api/v1/followed_tags` (#25472) 2023-10-13 14:43:50 +02:00
Matt Jankowski fd9dea21d0
DB speedup in `API::` controller/request specs (#25516) 2023-10-13 14:42:09 +02:00
Daniel M Brasil ecdb31d479
Migrate to request specs in `/api/v1/favourites` (#25518) 2023-10-13 14:19:12 +02:00
Daniel M Brasil 7664e3b692
Migrate to request specs in `/api/v1/statuses/:status_id/source` (#25634) 2023-10-13 14:08:21 +02:00
Daniel M Brasil 4230d1ee0a
Migrate to request specs in `/api/v1/timelines/tag/:hashtag` (#25797) 2023-10-13 14:04:37 +02:00
Renaud Chaput 77098c6f1c
Delete .github/FUNDING.yml (#27390) 2023-10-13 12:01:33 +02:00
renovate[bot] 5c287c4958
Update dependency rubocop to v1.57.1 (#27389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 11:46:25 +02:00
KMY(雪あすか) 45bdd60f3c
Fix when unfollow a tag, my post also disappears from the home timeline (#27391) 2023-10-13 11:15:47 +02:00
github-actions[bot] 773d25e8df
New Crowdin Translations (automated) (#27388)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-13 11:01:40 +02:00
renovate[bot] 6a9aab38d7
Update dependency devise-two-factor to v4.1.1 (#27382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-13 10:52:55 +02:00
Matt Jankowski 133f218a4d
Add system specs for admin area `batch` actions (#25027) 2023-10-13 10:42:59 +02:00
Claire c86ad45660
Change PWA start URL from `/home` to `/` (#27377) 2023-10-12 16:47:18 +02:00
github-actions[bot] c348b904a5
New Crowdin Translations (automated) (#27376)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-12 10:07:40 +02:00
Matt Jankowski d4c2dca874
Fix haml-lint `InstanceVariables` rule for auth/sessions/two_factor/o… (#27372) 2023-10-12 09:44:20 +02:00
renovate[bot] 85b36fbbd3
Update dependency devise to v4.9.3 (#27373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-12 09:35:25 +02:00
Matt Jankowski d7a8f6b658
Fix haml-lint `InstanceVariables` rule for relationships/account (#27342) 2023-10-11 17:06:26 +02:00
github-actions[bot] f1ae72ba46
New Crowdin Translations (automated) (#27364)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-11 16:37:01 +02:00
renovate[bot] d0a3331caa
Update dependency rubocop to v1.57.0 (#27371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-11 16:36:50 +02:00
François Hodierne 608cd66239
Update README requirements from node 14 to node 16 (#27369) 2023-10-11 16:24:28 +02:00
renovate[bot] 1afb7f4104
Update dependency lograge to v0.14.0 (#27363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-11 16:21:59 +02:00
Matt Jankowski f9abe700e7
Fix haml-lint `InstanceVariables` rule for auth/registrations/status (#27341) 2023-10-11 16:20:26 +02:00
renovate[bot] 0111e48893
Update dependency sidekiq to v6.5.12 (#27358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-11 16:02:51 +02:00
Matt Jankowski 66becf9a1e
Fix haml-lint `InstanceVariables` rule for admin/reports/actions (#27339) 2023-10-11 15:58:33 +02:00
Claire 7d2cd7195b
Add variable delay before link verification of remote account links (#27351) 2023-10-11 15:14:18 +02:00
Claire 27e84c0691
Fix duplicate reports being sent when reporting some remote posts (#27355) 2023-10-10 16:00:50 +02:00
Claire 9d1c3d0678
Fix scroll position in thread view reseting when closing a modal (#27350) 2023-10-10 11:35:32 +02:00
github-actions[bot] 1a2a4c389f
New Crowdin Translations (automated) (#27347)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-10 10:06:37 +02:00
renovate[bot] 1745c582f8
Update dependency sidekiq to v6.5.11 (#27345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 09:52:09 +02:00
Claire 4c2aca777f
Fix clicking on already-loaded thread scrolling to the top of the thread (#27338) 2023-10-09 16:46:09 +02:00
Renaud Chaput 774e1189d2
Change `eslint` config to autofix missing comma and indentation in JS files (#26711) 2023-10-09 13:38:29 +02:00
Claire c310374a2f
Fix clicking on already-opened thread post scrolling to the top of the thread (#27331) 2023-10-09 12:21:02 +02:00
github-actions[bot] 89b48681cf
New Crowdin Translations (automated) (#27321)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-09 10:32:06 +02:00
renovate[bot] 5fc5a548b4
Update DefinitelyTyped types (non-major) (#27327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 10:19:13 +02:00
renovate[bot] eabe839744
Update eslint (non-major) (#27328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 09:43:42 +02:00
Andy Piper 640421f661
Add 4.2.x to supported versions in SECURITY.md (#27317) 2023-10-07 21:12:21 +02:00
Claire 3262d1f1b6
Fix incorrect serialization of regional languages in `contentMap` (#27207) 2023-10-06 17:46:04 +02:00
Michael Stanclift 3171afc36a
Add Elasticsearch index size to Admin dashboard (#27301)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-06 17:02:55 +02:00
Claire 340c390849
Fix crash when filtering for “dormant” relationships (#27306) 2023-10-06 12:58:16 +02:00
Claire 4d59dfb1c6
Fix some remote posts getting truncated (#27307) 2023-10-06 12:58:02 +02:00
github-actions[bot] e0b54ed3e1
New Crowdin Translations (automated) (#27304)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-06 11:49:09 +02:00
renovate[bot] 027c1bef8d
Update dependency active_model_serializers to v0.10.14 (#27303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-06 11:43:30 +02:00
Renaud Chaput c4cff3d762
Remove Capistrano (#27295) 2023-10-06 11:33:43 +02:00
Matt Jankowski 165ec6c779
Remove bundle audit skipping sidekiq CVE (#27291) 2023-10-05 21:23:42 +02:00
renovate[bot] 5606a17933
Update dependency sidekiq to v6.5.10 (#27287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 16:35:05 +02:00
Claire 2b98e2ecd6
Fix auto-loading-more when not scrolled (#27286) 2023-10-05 16:33:54 +02:00
github-actions[bot] 32ab474472
New Crowdin Translations (automated) (#27277)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-05 13:13:14 +02:00
Claire 3c13d70600
Add mention of YJIT in admin dashboard if enabled (#27283) 2023-10-05 13:10:17 +02:00
renovate[bot] d22515861e
Update dependency @reduxjs/toolkit to v1.9.7 (#27275)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 10:28:47 +02:00
Claire 40ba6e119b
Fix Vary headers not being set on some redirects (#27272) 2023-10-05 09:50:08 +02:00
github-actions[bot] 8e4251f9e7
New Crowdin Translations (automated) (#27270)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-04 10:53:04 +02:00
Matt Jankowski 72cec47c13
Silence deprecation warning in CacheBuster spec (#27264) 2023-10-04 10:17:36 +02:00
gunchleoc 68ec1d180a
Fix language sorting in settings (#27158) 2023-10-04 09:23:50 +02:00
Matt Jankowski c676bc91e9
Dont match mention in url query string (#25656)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-03 17:01:45 +02:00
Matt Jankowski 2f8f92df48
Fix Elastic check deprecation warning about gem version (#27262) 2023-10-03 15:52:47 +02:00
Nick Schonning 85db392464
Autofix Rubocop cops for config/ (#24145) 2023-10-03 15:24:12 +02:00
Matt Jankowski e715da6d25
Fix haml-lint Rubocop `Rails/*` cops (#26042) 2023-10-03 15:00:40 +02:00
Nick Schonning 8bb4706e11
Move migration_helpers Rubocop ignore to config (#24236) 2023-10-03 14:58:40 +02:00
Claire 37bbd3c106
Fix double scroll bars in some columns in advanced interface (#27187) 2023-10-03 13:12:39 +02:00
Claire ceb365c419
Fix boosts of local users being filtered in account timelines (#27204) 2023-10-03 12:21:42 +02:00
Claire 4e55001e65
Add a short-lived lock to trend refresh scheduler (#27253) 2023-10-03 12:21:32 +02:00
Michael Stanclift 5a437edc7f
Keep version string displayed without breakpoints in UI (#26986) 2023-10-03 11:52:21 +02:00
David Aaron 6320c52630
Change min age of backup policy from 1 week to 6 days (#27200) 2023-10-03 11:48:57 +02:00
jsgoldstein ad637eacd1
Add a test case for ES8 (#27248) 2023-10-03 10:48:32 +02:00
renovate[bot] e836d078bb
Update dependency haml_lint to v0.51.0 (#27250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-03 10:48:05 +02:00
Jakob Gillich 770fd993ec
Fix importer returning negative row estimates (#27258) 2023-10-03 10:47:50 +02:00
github-actions[bot] e95d25e101
New Crowdin Translations (automated) (#27260)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-03 10:47:28 +02:00
Claire 5e56f3db65
Change some worker lock TTLs (#27246) 2023-10-03 10:09:00 +02:00
Claire 7e7d6e695b
Fix incorrectly keeping outdated update notices absent from the API endpoint (#27021) 2023-10-02 16:42:52 +02:00
Claire 1e2d4975cf
Fix import progress not updating on certain failures (#27247) 2023-10-02 16:20:04 +02:00
github-actions[bot] ee866ec0e0
New Crowdin Translations (automated) (#27220)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-10-02 13:35:29 +02:00
Emelia Smith f68d540271
Fix websocket connections being incorrectly decremented twice on errors (#27238) 2023-10-02 13:21:43 +02:00
renovate[bot] 5f2d494f0d
Update dependency react-redux to v8.1.3 (#27229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:18:29 +02:00
Jake Anto c2f13769cd
Add PWA shortcut to `/explore` page (#27235) 2023-10-02 13:18:16 +02:00
renovate[bot] bad1629dcd
Update dependency core-js to v3.33.0 (#27237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:18:06 +02:00
renovate[bot] 73a92f9e7a
Update DefinitelyTyped types (non-major) (#27239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:17:55 +02:00
renovate[bot] 829be02abe
Update Node.js to v20.8 (#27240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 13:16:02 +02:00
Claire d80a819fc6
Fix explore prompt appearing because of posts being received out of order (#27211) 2023-09-29 15:51:36 +02:00
renovate[bot] 5393be7a21
Update eslint (non-major) to v6.7.3 (#27213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 15:51:27 +02:00
renovate[bot] 48ef7d0f06
Update libretranslate/libretranslate Docker tag to v1.3.12 (#27214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 15:34:55 +02:00
renovate[bot] 9b785877d2
Update DefinitelyTyped types (non-major) (#27212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 15:34:32 +02:00
github-actions[bot] 695e42de0d
New Crowdin Translations (automated) (#27202)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-29 10:04:18 +02:00
renovate[bot] 665093a7b6
Update dependency postcss to v8.4.31 (#27199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 09:50:33 +02:00
renovate[bot] a1becc9189
Update dependency node to 20.8 (#27201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-29 09:50:15 +02:00
Matt Jankowski 340f1a68be
Simplify instance presenter view access (#26046) 2023-09-28 16:52:37 +02:00
Matt Jankowski 2016c5d912
Fix deprecation warning about `rewhere: true` being default behavior (Rails 7.1 prep) (#27190) 2023-09-28 16:52:23 +02:00
Matt Jankowski 99e289f03f
Fix include `Rails.application.routes.url_helpers` (Rails 7.1 prep) (#27189) 2023-09-28 16:52:11 +02:00
Matt Jankowski 89a17878ef
Fix haml-lint `InstanceVariables` rule for admin/roles/_form (#26063) 2023-09-28 16:36:24 +02:00
renovate[bot] f9eefb2785
Update dependency rubocop to v1.56.4 (#27188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 16:25:14 +02:00
Matt Jankowski 9d56c1949b
Fix haml-lint `InstanceVariables` rule for admin/webhooks/_form (#26062) 2023-09-28 16:23:35 +02:00
Matt Jankowski 3060bfa4bd
Extract filename and csv helper methods from `Form::Import` (#26129) 2023-09-28 16:22:05 +02:00
Matt Jankowski 937dc42f10
Extract methods for file movement in `CLI::Upgrade` (#25120) 2023-09-28 16:04:05 +02:00
Matt Jankowski 56c0babc0b
Fix rubocop `Layout/ArgumentAlignment` cop (#26060) 2023-09-28 15:48:47 +02:00
Matt Jankowski e6b903b21e
Fix haml-lint `InstanceVariables` rule for invites/_form (#26064) 2023-09-28 15:40:28 +02:00
Claire 1da3c588ca
Fix link handling of mentions in user profiles when logged out (#27185) 2023-09-28 15:29:07 +02:00
Claire 686406cc2d
Fix filtering audit log for entries about disabling 2FA (#27186) 2023-09-28 13:41:24 +02:00
Claire f0c720cfc9
Bump version to v4.3.0-alpha.0 (#27022) 2023-09-28 13:40:43 +02:00
github-actions[bot] b93ce7d8b3
New Crowdin Translations (automated) (#27168)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-28 10:44:16 +02:00
Christian Schmidt 6d0767558a
Make notification respect reduce-motion (#27178) 2023-09-28 10:39:38 +02:00
renovate[bot] 66a7bc215c
Update dependency glob to v10.3.10 (#27169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 10:30:19 +02:00
renovate[bot] 0f588a4a86
Update dependency axios to v1.5.1 (#27159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 10:17:08 +02:00
Michael Stanclift 7fddeca190
Fix retention dashboard not displaying correct month (#27180) 2023-09-28 10:16:15 +02:00
renovate[bot] 2979a5924b
Update dependency @material-design-icons/svg to v0.14.13 (#27181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-28 10:14:43 +02:00
gunchleoc ce79caca4e
Only strip country code when language not listed in SUPPORTED_LOCALES (#27099) 2023-09-28 10:13:44 +02:00
Renaud Chaput 57f592fed5
Add Typescript types for some API objects (#26602) 2023-09-26 11:25:01 +02:00
renovate[bot] 2054ee7cd5
Update dependency glob to v10.3.9 (#27148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 11:12:21 +02:00
Claire 82eaa26d87
Update `tootctl maintenance fix-duplicates` to Mastodon v4.2.0 (#27147) 2023-09-26 11:11:52 +02:00
renovate[bot] fdc9f971f7
Update dependency selenium-webdriver to v4.13.1 (#27141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 10:47:34 +02:00
github-actions[bot] 5ea3e8e765
New Crowdin Translations (automated) (#27144)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-26 10:47:16 +02:00
renovate[bot] 33a066a952
Update dependency glob to v10.3.8 (#27145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-26 10:47:04 +02:00
Essem bd810391d6
Properly remove tIME chunk from PNG uploads (#27111) 2023-09-25 19:21:07 +02:00
renovate[bot] 530f48610d
Update docker/setup-qemu-action action to v3 (#27124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:41:20 +02:00
renovate[bot] cdd8c4eb2a
Update docker/setup-buildx-action action to v3 (#27123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:40:41 +02:00
renovate[bot] 8ea98aa384
Update docker/metadata-action action to v5 (#27122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:40:03 +02:00
renovate[bot] 19bc73b736
Update docker/login-action action to v3 (#27121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:39:14 +02:00
renovate[bot] cf9230fa1c
Update docker/build-push-action action to v5 (#27120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 18:38:55 +02:00
Claire 06444c86c7
Fix division by zero in video in bitrate computation code (#27129) 2023-09-25 17:07:52 +02:00
Claire a001ae2f39
Fix explore prompt sometimes showing up when the home TL is loading (#27062) 2023-09-25 17:07:01 +02:00
Claire 3de6dcf634
Add redirection on `/deck` URLs for logged-out users (#27128) 2023-09-25 15:07:10 +02:00
Claire 38753acaa5
Fix width of large text icon buttons (#27127) 2023-09-25 15:06:57 +02:00
Claire 1bd7455d81
Fix inefficient queries in “Follows and followers” as well as several admin pages (#27116) 2023-09-25 15:06:43 +02:00
gunchleoc 88fa8e710a
Fix line wrapping of language selection button with long locale codes (#27100) 2023-09-25 12:59:37 +02:00
renovate[bot] aeeddb9d46
Update DefinitelyTyped types (non-major) (#27109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 11:56:21 +02:00
renovate[bot] 82c44f492d
Update dependency glob to v10.3.7 (#27078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 11:03:19 +02:00
github-actions[bot] 736fe75346
New Crowdin Translations (automated) (#27080)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-25 10:50:09 +02:00
renovate[bot] c56d7d702f
Update dependency @reduxjs/toolkit to v1.9.6 (#27110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 10:36:46 +02:00
renovate[bot] a4c29a4e51
Update Node.js to v20.7 (#27112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 10:23:12 +02:00
renovate[bot] 1fa40cff70
Update eslint (non-major) (#27113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 10:09:51 +02:00
Renaud Chaput 4b7bc1f07c
Convert `dropdown_menu` state to Typescript (#25585) 2023-09-22 18:18:46 +02:00
Renaud Chaput b93ffb74bb
Improve modals reducer types (#26610) 2023-09-22 16:41:50 +02:00
Claire 39da3d86f8
Fix ActiveRecord using two connection pools when no replica is defined (#27061) 2023-09-22 16:01:59 +02:00
github-actions[bot] e824585523
New Crowdin Translations (automated) (#27052)
Co-authored-by: GitHub Actions <noreply@github.com>
2023-09-22 11:06:48 +02:00
Renaud Chaput 4aaaf0dde3
Fix the search documentation URL in system checks (#27036) 2023-09-22 10:13:53 +02:00
Renaud Chaput a011d3a7c6
Ignore CVE-2023-26141 (Sidekiq) from bundler audit (#27037) 2023-09-22 10:13:09 +02:00
2727 changed files with 95785 additions and 53302 deletions

View File

@ -1,7 +1,9 @@
[production] [production]
defaults defaults
not IE 11 > 0.2%
ios >= 15.6
not dead not dead
not OperaMini all
[development] [development]
supports es6-module supports es6-module

6
.bundler-audit.yml Normal file
View File

@ -0,0 +1,6 @@
---
ignore:
# devise-two-factor advisory about brute-forcing TOTP
# We have rate-limits on authentication endpoints in place (including second
# factor verification) since Mastodon v3.2.0
- CVE-2024-0227

View File

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

View File

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

View File

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

View File

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

4
.env.development Normal file
View File

@ -0,0 +1,4 @@
# Required by ActiveRecord encryption feature
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=fkSxKD2bF396kdQbrP1EJ7WbU7ZgNokR
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=r0hvVmzBVsjxC7AMlwhOzmtc36ZCOS1E
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=PhdFyyfy5xJ7WVd2lWBpcPScRQHzRTNr

View File

@ -1,5 +1,11 @@
# Node.js # In test, compile the NodeJS code as if we are in production
NODE_ENV=tests NODE_ENV=production
# Federation # Federation
LOCAL_DOMAIN=cb6e6126.ngrok.io LOCAL_DOMAIN=cb6e6126.ngrok.io
LOCAL_HTTPS=true LOCAL_HTTPS=true
# Secret values required by ActiveRecord encryption feature
# Use `bin/rails db:encryption:init` to generate fresh secrets
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=test_determinist_key_DO_NOT_USE_IN_PRODUCTION
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=test_salt_DO_NOT_USE_IN_PRODUCTION
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=test_primary_key_DO_NOT_USE_IN_PRODUCTION

View File

@ -1,4 +1,7 @@
module.exports = { // @ts-check
const { defineConfig } = require('eslint-define-config');
module.exports = defineConfig({
root: true, root: true,
extends: [ extends: [
@ -9,7 +12,6 @@ module.exports = {
'plugin:import/recommended', 'plugin:import/recommended',
'plugin:promise/recommended', 'plugin:promise/recommended',
'plugin:jsdoc/recommended', 'plugin:jsdoc/recommended',
'plugin:prettier/recommended',
], ],
env: { env: {
@ -63,7 +65,9 @@ module.exports = {
'consistent-return': 'error', 'consistent-return': 'error',
'dot-notation': 'error', 'dot-notation': 'error',
eqeqeq: ['error', 'always', { 'null': 'ignore' }], eqeqeq: ['error', 'always', { 'null': 'ignore' }],
'indent': ['error', 2],
'jsx-quotes': ['error', 'prefer-single'], 'jsx-quotes': ['error', 'prefer-single'],
'semi': ['error', 'always'],
'no-case-declarations': 'off', 'no-case-declarations': 'off',
'no-catch-shadow': 'error', 'no-catch-shadow': 'error',
'no-console': [ 'no-console': [
@ -116,11 +120,10 @@ module.exports = {
'react/jsx-uses-react': 'off', // not needed with new JSX transform 'react/jsx-uses-react': 'off', // not needed with new JSX transform
'react/jsx-wrap-multilines': 'error', 'react/jsx-wrap-multilines': 'error',
'react/no-deprecated': 'off', 'react/no-deprecated': 'off',
'react/no-unknown-property': 'off',
'react/react-in-jsx-scope': 'off', // not needed with new JSX transform 'react/react-in-jsx-scope': 'off', // not needed with new JSX transform
'react/self-closing-comp': 'error', 'react/self-closing-comp': 'error',
// recommended values found in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/src/index.js // recommended values found in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/v6.8.0/src/index.js#L46
'jsx-a11y/accessible-emoji': 'warn', 'jsx-a11y/accessible-emoji': 'warn',
'jsx-a11y/click-events-have-key-events': 'off', 'jsx-a11y/click-events-have-key-events': 'off',
'jsx-a11y/label-has-associated-control': 'off', 'jsx-a11y/label-has-associated-control': 'off',
@ -162,7 +165,7 @@ module.exports = {
// }, // },
// ], // ],
'jsx-a11y/no-noninteractive-tabindex': 'off', 'jsx-a11y/no-noninteractive-tabindex': 'off',
'jsx-a11y/no-onchange': 'warn', 'jsx-a11y/no-onchange': 'off',
// recommended is full 'error' // recommended is full 'error'
'jsx-a11y/no-static-element-interactions': [ 'jsx-a11y/no-static-element-interactions': [
'warn', 'warn',
@ -173,7 +176,7 @@ module.exports = {
}, },
], ],
// See https://github.com/import-js/eslint-plugin-import/blob/main/config/recommended.js // See https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/config/recommended.js
'import/extensions': [ 'import/extensions': [
'error', 'error',
'always', 'always',
@ -192,6 +195,7 @@ module.exports = {
'error', 'error',
{ {
devDependencies: [ devDependencies: [
'.eslintrc.js',
'config/webpack/**', 'config/webpack/**',
'app/javascript/mastodon/performance.js', 'app/javascript/mastodon/performance.js',
'app/javascript/mastodon/test_setup.js', 'app/javascript/mastodon/test_setup.js',
@ -235,13 +239,13 @@ module.exports = {
}, },
// Common React utilities // Common React utilities
{ {
pattern: '{classnames,react-helmet,react-router-dom}', pattern: '{classnames,react-helmet,react-router,react-router-dom}',
group: 'external', group: 'external',
position: 'before', position: 'before',
}, },
// Immutable / Redux / data store // Immutable / Redux / data store
{ {
pattern: '{immutable,react-redux,react-immutable-proptypes,react-immutable-pure-component,reselect}', pattern: '{immutable,@reduxjs/toolkit,react-redux,react-immutable-proptypes,react-immutable-pure-component}',
group: 'external', group: 'external',
position: 'before', position: 'before',
}, },
@ -279,7 +283,6 @@ module.exports = {
'formatjs/no-id': 'off', // IDs are used for translation keys 'formatjs/no-id': 'off', // IDs are used for translation keys
'formatjs/no-invalid-icu': 'error', '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-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-multiple-whitespaces': 'error',
'formatjs/no-offset': 'error', 'formatjs/no-offset': 'error',
'formatjs/no-useless-message': 'error', 'formatjs/no-useless-message': 'error',
@ -298,6 +301,7 @@ module.exports = {
overrides: [ overrides: [
{ {
files: [ files: [
'.eslintrc.js',
'*.config.js', '*.config.js',
'.*rc.js', '.*rc.js',
'ide-helper.js', 'ide-helper.js',
@ -334,7 +338,6 @@ module.exports = {
'plugin:import/typescript', 'plugin:import/typescript',
'plugin:promise/recommended', 'plugin:promise/recommended',
'plugin:jsdoc/recommended-typescript', 'plugin:jsdoc/recommended-typescript',
'plugin:prettier/recommended',
], ],
parserOptions: { parserOptions: {
@ -343,13 +346,24 @@ module.exports = {
}, },
rules: { rules: {
// Disable formatting rules that have been enabled in the base config
'indent': 'off',
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'], 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
'@typescript-eslint/consistent-type-definitions': ['warn', 'interface'], '@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
'@typescript-eslint/consistent-type-exports': 'error', '@typescript-eslint/consistent-type-exports': 'error',
'@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/consistent-type-imports': 'error',
"@typescript-eslint/prefer-nullish-coalescing": ['error', {ignorePrimitives: {boolean: true}}], "@typescript-eslint/prefer-nullish-coalescing": ['error', { ignorePrimitives: { boolean: true } }],
"@typescript-eslint/no-restricted-imports": [
"warn",
{
"name": "react-redux",
"importNames": ["useSelector", "useDispatch"],
"message": "Use typed hooks `useAppDispatch` and `useAppSelector` instead."
}
],
"@typescript-eslint/restrict-template-expressions": ['warn', { allowNumber: true }],
'jsdoc/require-jsdoc': 'off', 'jsdoc/require-jsdoc': 'off',
// Those rules set stricter rules for TS files // Those rules set stricter rules for TS files
@ -371,14 +385,6 @@ module.exports = {
env: { env: {
jest: true, jest: true,
}, },
}, }
{
files: [
'streaming/**/*',
],
rules: {
'import/no-commonjs': 'off',
},
},
], ],
}; });

3
.github/FUNDING.yml vendored
View File

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

View File

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

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

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

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

@ -0,0 +1,11 @@
comment: false # Do not leave PR comments
coverage:
status:
project:
default:
# Github status check is not blocking
informational: true
patch:
default:
# Github status check is not blocking
informational: true

View File

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

View File

@ -1,21 +0,0 @@
{
"problemMatcher": [
{
"owner": "stylelint",
"pattern": [
{
"regexp": "^([^\\s].*)$",
"file": 1
},
{
"regexp": "^\\s+((\\d+):(\\d+))?\\s+(✖|×)\\s+(.*)\\s{2,}(.*)$",
"line": 2,
"column": 3,
"message": 5,
"code": 6,
"loop": true
}
]
}
]
}

View File

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

View File

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

View File

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

View File

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

64
.github/workflows/build-security.yml vendored Normal file
View File

@ -0,0 +1,64 @@
name: Build security nightly container image
on:
workflow_dispatch:
permissions:
contents: read
packages: write
jobs:
compute-suffix:
runs-on: ubuntu-latest
if: github.repository == 'mastodon/mastodon'
steps:
- id: version_vars
env:
TZ: Etc/UTC
run: |
echo mastodon_version_prerelease=nightly.$(date --date='next day' +'%Y-%m-%d')-security>> $GITHUB_OUTPUT
outputs:
prerelease: ${{ steps.version_vars.outputs.mastodon_version_prerelease }}
build-image:
needs: compute-suffix
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: true
cache: false
push_to_images: |
tootsuite/mastodon
ghcr.io/mastodon/mastodon
version_prerelease: ${{ needs.compute-suffix.outputs.prerelease }}
labels: |
org.opencontainers.image.description=Nightly build image used for testing purposes
flavor: |
latest=auto
tags: |
type=raw,value=edge
type=raw,value=nightly
type=raw,value=${{ needs.compute-suffix.outputs.prerelease }}
secrets: inherit
build-image-streaming:
needs: compute-suffix
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: true
cache: false
push_to_images: |
tootsuite/mastodon-streaming
ghcr.io/mastodon/mastodon-streaming
version_prerelease: ${{ needs.compute-suffix.outputs.prerelease }}
labels: |
org.opencontainers.image.description=Nightly build image used for testing purposes
flavor: |
latest=auto
tags: |
type=raw,value=edge
type=raw,value=nightly
type=raw,value=${{ needs.compute-suffix.outputs.prerelease }}
secrets: inherit

View File

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

View File

@ -19,25 +19,11 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install system dependencies - name: Set up Ruby environment
run: | uses: ./.github/actions/setup-ruby
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev
- name: Set up Ruby - name: Set up Javascript environment
uses: ruby/setup-ruby@v1 uses: ./.github/actions/setup-javascript
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 - name: Check for missing strings in English JSON
run: | run: |

View File

@ -31,7 +31,7 @@ jobs:
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v3
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
@ -44,7 +44,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v2 uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@ -57,6 +57,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh # ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v3
with: with:
category: '/language:${{matrix.language}}' category: '/language:${{matrix.language}}'

View File

@ -11,6 +11,7 @@ permissions:
jobs: jobs:
download-translations: download-translations:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'mastodon/mastodon'
steps: steps:
- name: Checkout - name: Checkout
@ -43,21 +44,15 @@ jobs:
run: sudo chown -R runner:docker . run: sudo chown -R runner:docker .
# This is needed to run the normalize step # This is needed to run the normalize step
- name: Install native Ruby dependencies - name: Set up Ruby environment
run: sudo apt-get install -y libicu-dev libidn11-dev uses: ./.github/actions/setup-ruby
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true
- name: Run i18n normalize task - name: Run i18n normalize task
run: bundle exec i18n-tasks normalize run: bundle exec i18n-tasks normalize
# Create or update the pull request # Create or update the pull request
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2 uses: peter-evans/create-pull-request@v6.0.5
with: with:
commit-message: 'New Crowdin translations' commit-message: 'New Crowdin translations'
title: 'New Crowdin Translations (automated)' title: 'New Crowdin Translations (automated)'

18
.github/workflows/format-check.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Check formatting
on:
push:
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Check formatting with Prettier
run: yarn format:check

View File

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

View File

@ -30,18 +30,10 @@ jobs:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install native Ruby dependencies - name: Set up Ruby environment
run: | uses: ./.github/actions/setup-ruby
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 - name: Run haml-lint
run: | run: |
echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json" echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json"
bundle exec haml-lint bundle exec haml-lint --reporter github

View File

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

View File

@ -1,44 +0,0 @@
name: JSON Linting
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.json'
- '.github/workflows/lint-json.yml'
- '!app/javascript/mastodon/locales/*.json'
pull_request:
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.json'
- '.github/workflows/lint-json.yml'
- '!app/javascript/mastodon/locales/*.json'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Prettier
run: yarn lint:json

View File

@ -1,44 +0,0 @@
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@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Prettier
run: yarn lint:md

View File

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

View File

@ -1,46 +0,0 @@
name: YML Linting
on:
push:
branches-ignore:
- 'dependabot/**'
- 'renovate/**'
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.yaml'
- '**/*.yml'
- '.github/workflows/lint-yml.yml'
- '!config/locales/*.yml'
pull_request:
paths:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- '**/*.yaml'
- '**/*.yml'
- '.github/workflows/lint-yml.yml'
- '!config/locales/*.yml'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install all yarn packages
run: yarn --frozen-lockfile
- name: Prettier
run: yarn lint:yml

View File

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

View File

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

View File

@ -72,37 +72,14 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install native Ruby dependencies - name: Set up Ruby environment
run: | uses: ./.github/actions/setup-ruby
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 - name: Create database
run: './bin/rails db:create' run: './bin/rails db:create'
- name: Run migrations up to v2.0.0 - name: Run historical migrations with data population
run: './bin/rails db:migrate VERSION=20171010025614' run: './bin/rails tests:migrations:prepare_database'
- 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 - name: Run all remaining migrations
run: './bin/rails db:migrate' run: './bin/rails db:migrate'

View File

@ -45,6 +45,7 @@ jobs:
--health-retries 5 --health-retries 5
ports: ports:
- 5432:5432 - 5432:5432
redis: redis:
image: redis:7-alpine image: redis:7-alpine
options: >- options: >-
@ -71,42 +72,17 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install native Ruby dependencies - name: Set up Ruby environment
run: | uses: ./.github/actions/setup-ruby
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 - name: Create database
run: './bin/rails db:create' run: './bin/rails db:create'
- name: Run migrations up to v2.0.0 - name: Run historical migrations with data population
run: './bin/rails db:migrate VERSION=20171010025614' run: './bin/rails tests:migrations:prepare_database'
- 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: env:
SKIP_POST_DEPLOYMENT_MIGRATIONS: true 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 - name: Run all remaining pre-deployment migrations
run: './bin/rails db:migrate' run: './bin/rails db:migrate'
env: env:

View File

@ -28,42 +28,38 @@ jobs:
env: env:
RAILS_ENV: ${{ matrix.mode }} RAILS_ENV: ${{ matrix.mode }}
BUNDLE_WITH: ${{ matrix.mode }} BUNDLE_WITH: ${{ matrix.mode }}
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY: precompile_placeholder
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT: precompile_placeholder
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY: precompile_placeholder
OTP_SECRET: precompile_placeholder OTP_SECRET: precompile_placeholder
SECRET_KEY_BASE: precompile_placeholder SECRET_KEY_BASE: precompile_placeholder
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Node.js - name: Set up Ruby environment
uses: actions/setup-node@v3 uses: ./.github/actions/setup-ruby
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
with: with:
cache: yarn onlyProduction: 'true'
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 - name: Precompile assets
# Previously had set this, but it's not supported # Previously had set this, but it's not supported
# export NODE_OPTIONS=--openssl-legacy-provider # export NODE_OPTIONS=--openssl-legacy-provider
run: |- run: |-
./bin/rails assets:precompile ./bin/rails assets:precompile
- uses: actions/upload-artifact@v3 - name: Archive asset artifacts
run: |
tar --exclude={"*.br","*.gz"} -zcf artifacts.tar.gz public/assets public/packs*
- uses: actions/upload-artifact@v4
if: matrix.mode == 'test' if: matrix.mode == 'test'
with: with:
path: |- path: |-
./public/assets ./artifacts.tar.gz
./public/packs-test
name: ${{ github.sha }} name: ${{ github.sha }}
retention-days: 0 retention-days: 0
@ -101,7 +97,7 @@ jobs:
DB_HOST: localhost DB_HOST: localhost
DB_USER: postgres DB_USER: postgres
DB_PASS: postgres DB_PASS: postgres
DISABLE_SIMPLECOV: true DISABLE_SIMPLECOV: ${{ matrix.ruby-version != '.ruby-version' }}
RAILS_ENV: test RAILS_ENV: test
ALLOW_NOPAM: true ALLOW_NOPAM: true
PAM_ENABLED: true PAM_ENABLED: true
@ -112,47 +108,45 @@ jobs:
SAML_ENABLED: true SAML_ENABLED: true
CAS_ENABLED: true CAS_ENABLED: true
BUNDLE_WITH: 'pam_authentication test' BUNDLE_WITH: 'pam_authentication test'
CI_JOBS: ${{ matrix.ci_job }}/4 GITHUB_RSPEC: ${{ matrix.ruby-version == '.ruby-version' && github.event.pull_request && 'true' }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
ruby-version: ruby-version:
- '3.0'
- '3.1' - '3.1'
- '3.2'
- '.ruby-version' - '.ruby-version'
ci_job:
- 1
- 2
- 3
- 4
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/download-artifact@v3 - uses: actions/download-artifact@v4
with: with:
path: './public' path: './'
name: ${{ github.sha }} name: ${{ github.sha }}
- name: Update package index - name: Expand archived asset artifacts
run: sudo apt-get update run: |
tar xvzf artifacts.tar.gz
- name: Install native Ruby dependencies - name: Set up Ruby environment
run: sudo apt-get install -y libicu-dev libidn11-dev uses: ./.github/actions/setup-ruby
- 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: with:
ruby-version: ${{ matrix.ruby-version}} ruby-version: ${{ matrix.ruby-version}}
bundler-cache: true additional-system-dependencies: ffmpeg imagemagick libpam-dev
- name: Load database schema - name: Load database schema
run: './bin/rails db:create db:schema:load db:seed' run: './bin/rails db:create db:schema:load db:seed'
- run: bundle exec rake rspec_chunked - run: bin/rspec
- name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v4
with:
files: coverage/lcov/mastodon.lcov
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-e2e: test-e2e:
name: End to End testing name: End to End testing
@ -192,67 +186,55 @@ jobs:
DISABLE_SIMPLECOV: true DISABLE_SIMPLECOV: true
RAILS_ENV: test RAILS_ENV: test
BUNDLE_WITH: test BUNDLE_WITH: test
LOCAL_DOMAIN: localhost:3000
LOCAL_HTTPS: false
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
ruby-version: ruby-version:
- '3.0'
- '3.1' - '3.1'
- '3.2'
- '.ruby-version' - '.ruby-version'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/download-artifact@v3 - uses: actions/download-artifact@v4
with: with:
path: './public' path: './public'
name: ${{ github.sha }} name: ${{ github.sha }}
- name: Update package index - name: Set up Ruby environment
run: sudo apt-get update uses: ./.github/actions/setup-ruby
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Install additional system dependencies
run: sudo apt-get install -y ffmpeg imagemagick
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
with: with:
ruby-version: ${{ matrix.ruby-version}} ruby-version: ${{ matrix.ruby-version}}
bundler-cache: true additional-system-dependencies: ffmpeg imagemagick
- run: yarn --frozen-lockfile - name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Load database schema - name: Load database schema
run: './bin/rails db:create db:schema:load db:seed' run: './bin/rails db:create db:schema:load db:seed'
- run: bundle exec rake spec:system - run: bin/rspec spec/system --tag streaming --tag js
- name: Archive logs - name: Archive logs
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
if: failure() if: failure()
with: with:
name: e2e-logs-${{ matrix.ruby-version }} name: e2e-logs-${{ matrix.ruby-version }}
path: log/ path: log/
- name: Archive test screenshots - name: Archive test screenshots
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
if: failure() if: failure()
with: with:
name: e2e-screenshots name: e2e-screenshots
path: tmp/screenshots/ path: tmp/capybara/
test-search: test-search:
name: Testing search name: Elastic Search integration testing
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: needs:
@ -283,7 +265,7 @@ jobs:
- 6379:6379 - 6379:6379
elasticsearch: elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.13 image: ${{ contains(matrix.search-image, 'elasticsearch') && matrix.search-image || '' }}
env: env:
discovery.type: single-node discovery.type: single-node
xpack.security.enabled: false xpack.security.enabled: false
@ -295,6 +277,20 @@ jobs:
ports: ports:
- 9200:9200 - 9200:9200
opensearch:
image: ${{ contains(matrix.search-image, 'opensearch') && matrix.search-image || '' }}
env:
discovery.type: single-node
DISABLE_INSTALL_DEMO_CONFIG: true
DISABLE_SECURITY_PLUGIN: true
options: >-
--health-cmd "curl http://localhost:9200/_cluster/health"
--health-interval 10s
--health-timeout 5s
--health-retries 10
ports:
- 9200:9200
env: env:
DB_HOST: localhost DB_HOST: localhost
DB_USER: postgres DB_USER: postgres
@ -310,56 +306,49 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
ruby-version: ruby-version:
- '3.0'
- '3.1' - '3.1'
- '3.2'
- '.ruby-version' - '.ruby-version'
search-image:
- docker.elastic.co/elasticsearch/elasticsearch:7.17.13
include:
- ruby-version: '.ruby-version'
search-image: docker.elastic.co/elasticsearch/elasticsearch:8.10.2
- ruby-version: '.ruby-version'
search-image: opensearchproject/opensearch:2
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/download-artifact@v3 - uses: actions/download-artifact@v4
with: with:
path: './public' path: './public'
name: ${{ github.sha }} name: ${{ github.sha }}
- name: Update package index - name: Set up Ruby environment
run: sudo apt-get update uses: ./.github/actions/setup-ruby
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version-file: '.nvmrc'
- name: Install native Ruby dependencies
run: sudo apt-get install -y libicu-dev libidn11-dev
- name: Install additional system dependencies
run: sudo apt-get install -y ffmpeg imagemagick
- name: Set up bundler cache
uses: ruby/setup-ruby@v1
with: with:
ruby-version: ${{ matrix.ruby-version}} ruby-version: ${{ matrix.ruby-version}}
bundler-cache: true additional-system-dependencies: ffmpeg imagemagick
- run: yarn --frozen-lockfile - name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Load database schema - name: Load database schema
run: './bin/rails db:create db:schema:load db:seed' run: './bin/rails db:create db:schema:load db:seed'
- run: bundle exec rake spec:search - run: bin/rspec --tag search
- name: Archive logs - name: Archive logs
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
if: failure() if: failure()
with: with:
name: test-search-logs-${{ matrix.ruby-version }} name: test-search-logs-${{ matrix.ruby-version }}
path: log/ path: log/
- name: Archive test screenshots - name: Archive test screenshots
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
if: failure() if: failure()
with: with:
name: test-search-screenshots name: test-search-screenshots
path: tmp/screenshots/ path: tmp/capybara/

16
.gitignore vendored
View File

@ -24,16 +24,12 @@
/public/packs-test /public/packs-test
.env .env
.env.production .env.production
.env.development
/node_modules/ /node_modules/
/build/ /build/
# Ignore Vagrant files # Ignore Vagrant files
.vagrant/ .vagrant/
# Ignore Capistrano customizations
/config/deploy/*
# Ignore IDE files # Ignore IDE files
.vscode/ .vscode/
.idea/ .idea/
@ -58,8 +54,20 @@ npm-debug.log
yarn-error.log yarn-error.log
yarn-debug.log yarn-debug.log
# From https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
# Ignore vagrant log files # Ignore vagrant log files
*-cloudimg-console.log *-cloudimg-console.log
# Ignore Docker option files # Ignore Docker option files
docker-compose.override.yml docker-compose.override.yml
# Ignore dotenv .local files
.env*.local

View File

@ -1,8 +1,5 @@
inherits_from: .haml-lint_todo.yml
exclude: exclude:
- 'vendor/**/*' - 'vendor/**/*'
- lib/templates/haml/scaffold/_form.html.haml
require: require:
- ./lib/linter/haml_middle_dot.rb - ./lib/linter/haml_middle_dot.rb
@ -12,3 +9,7 @@ linters:
enabled: true enabled: true
MiddleDot: MiddleDot:
enabled: true enabled: true
LineLength:
max: 300
ViewLength:
max: 200 # Override default value of 100 inherited from rubocop

View File

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

View File

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

2
.nvmrc
View File

@ -1 +1 @@
20.7 20.13

View File

@ -31,9 +31,6 @@
# Ignore Vagrant files # Ignore Vagrant files
.vagrant/ .vagrant/
# Ignore Capistrano customizations
/config/deploy/*
# Ignore IDE files # Ignore IDE files
.vscode/ .vscode/
.idea/ .idea/
@ -57,6 +54,13 @@
# Ignore Docker option files # Ignore Docker option files
docker-compose.override.yml docker-compose.override.yml
# Ignore public
/public/assets
/public/emoji
/public/packs
/public/packs-test
/public/system
# Ignore emoji map file # Ignore emoji map file
/app/javascript/mastodon/features/emoji/emoji_map.json /app/javascript/mastodon/features/emoji/emoji_map.json
@ -76,3 +80,6 @@ app/javascript/styles/mastodon/reset.scss
# Ignore the generated AUTHORS.md # Ignore the generated AUTHORS.md
AUTHORS.md AUTHORS.md
# Process a few selected JS files
!lint-staged.config.js

View File

@ -9,12 +9,13 @@ inherit_mode:
require: require:
- rubocop-rails - rubocop-rails
- rubocop-rspec - rubocop-rspec
- rubocop-rspec_rails
- rubocop-performance - rubocop-performance
- rubocop-capybara - rubocop-capybara
- ./lib/linter/rubocop_middle_dot - ./lib/linter/rubocop_middle_dot
AllCops: AllCops:
TargetRubyVersion: 3.0 # Set to minimum supported version of CI TargetRubyVersion: 3.1 # Set to minimum supported version of CI
DisplayCopNames: true DisplayCopNames: true
DisplayStyleGuide: true DisplayStyleGuide: true
ExtraDetails: true ExtraDetails: true
@ -27,7 +28,8 @@ AllCops:
- 'node_modules/**/*' - 'node_modules/**/*'
- 'Vagrantfile' - 'Vagrantfile'
- 'vendor/**/*' - 'vendor/**/*'
- 'lib/json_ld/*' # Generated files - 'config/initializers/json_ld*' # Generated files
- 'lib/mastodon/migration_helpers.rb' # Vendored from GitLab
- 'lib/templates/**/*' - 'lib/templates/**/*'
# Reason: Prefer Hashes without extreme indentation # Reason: Prefer Hashes without extreme indentation
@ -38,13 +40,7 @@ Layout/FirstHashElementIndentation:
# Reason: Currently disabled in .rubocop_todo.yml # Reason: Currently disabled in .rubocop_todo.yml
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength # https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength
Layout/LineLength: Layout/LineLength:
Max: 320 # Default of 120 causes a duplicate entry in generated todo file Max: 300 # Default of 120 causes a duplicate entry in generated todo file
# Reason:
# https://docs.rubocop.org/rubocop/cops_lint.html#lintuselessaccessmodifier
Lint/UselessAccessModifier:
ContextCreatingMethods:
- class_methods
## Disable most Metrics/*Length cops ## Disable most Metrics/*Length cops
# Reason: those are often triggered and force significant refactors when this happend # Reason: those are often triggered and force significant refactors when this happend
@ -71,13 +67,6 @@ Metrics/ModuleLength:
# Reason: Currently disabled in .rubocop_todo.yml # Reason: Currently disabled in .rubocop_todo.yml
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsabcsize # https://docs.rubocop.org/rubocop/cops_metrics.html#metricsabcsize
Metrics/AbcSize: Metrics/AbcSize:
Exclude:
- 'lib/mastodon/cli/*.rb'
- db/*migrate/**/*
# Reason:
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocknesting
Metrics/BlockNesting:
Exclude: Exclude:
- 'lib/mastodon/cli/*.rb' - 'lib/mastodon/cli/*.rb'
@ -86,13 +75,17 @@ Metrics/BlockNesting:
Metrics/CyclomaticComplexity: Metrics/CyclomaticComplexity:
Exclude: Exclude:
- lib/mastodon/cli/*.rb - lib/mastodon/cli/*.rb
- db/*migrate/**/*
# Reason: # Reason:
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsparameterlists # https://docs.rubocop.org/rubocop/cops_metrics.html#metricsparameterlists
Metrics/ParameterLists: Metrics/ParameterLists:
CountKeywordArgs: false CountKeywordArgs: false
# Reason: Prefer seeing a variable name
# https://docs.rubocop.org/rubocop/cops_naming.html#namingblockforwarding
Naming/BlockForwarding:
EnforcedStyle: explicit
# Reason: Prevailing style is argument file paths # Reason: Prevailing style is argument file paths
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsfilepath # https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsfilepath
Rails/FilePath: Rails/FilePath:
@ -103,27 +96,47 @@ Rails/FilePath:
Rails/HttpStatus: Rails/HttpStatus:
EnforcedStyle: numeric EnforcedStyle: numeric
# Reason: Allowed in `tootctl` CLI code and in boot ENV checker # Reason: Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsexit # https://docs.rubocop.org/rubocop-rails/cops_rails.html#railslexicallyscopedactionfilter
Rails/Exit: Rails/LexicallyScopedActionFilter:
Exclude: Exclude:
- 'config/boot.rb' - 'app/controllers/auth/*'
- 'lib/mastodon/cli/*.rb'
# Reason: Some single letter camel case files shouldn't be split # Reason: These tasks are doing local work which do not need full env loaded
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrakeenvironment
Rails/RakeEnvironment:
Exclude:
- 'lib/tasks/auto_annotate_models.rake'
- 'lib/tasks/emojis.rake'
- 'lib/tasks/mastodon.rake'
- 'lib/tasks/repo.rake'
- 'lib/tasks/statistics.rake'
# Reason: There are appropriate times to use these features
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsskipsmodelvalidations
Rails/SkipsModelValidations:
Enabled: false
# Reason: We want to preserve the ability to migrate from arbitrary old versions,
# and cannot guarantee that every installation has run every migration as they upgrade.
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsunusedignoredcolumns
Rails/UnusedIgnoredColumns:
Enabled: false
# Reason: Prevailing style choice
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsnegateinclude
Rails/NegateInclude:
Enabled: false
# Reason: Enforce default limit, but allow some elements to span lines
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecexamplelength
RSpec/ExampleLength:
CountAsOne: ['array', 'heredoc', 'method_call']
# Reason: Deprecated cop, will be removed in 3.0, replaced by SpecFilePathFormat
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath # https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath
RSpec/FilePath: RSpec/FilePath:
CustomTransform: Enabled: false
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
# Reason: # Reason:
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject # https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject
@ -135,9 +148,19 @@ RSpec/NamedSubject:
RSpec/NotToNot: RSpec/NotToNot:
EnforcedStyle: to_not EnforcedStyle: to_not
# Reason: Match overrides from Rspec/FilePath rule above
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecspecfilepathformat
RSpec/SpecFilePathFormat:
CustomTransform:
ActivityPub: activitypub
DeepL: deepl
FetchOEmbedService: fetch_oembed_service
OEmbedController: oembed_controller
OStatus: ostatus
# Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus # Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus
# https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus # https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus
RSpec/Rails/HttpStatus: RSpecRails/HttpStatus:
EnforcedStyle: numeric EnforcedStyle: numeric
# Reason: # Reason:
@ -150,10 +173,25 @@ Style/ClassAndModuleChildren:
Style/Documentation: Style/Documentation:
Enabled: false Enabled: false
# Reason: Route redirects are not token-formatted and must be skipped
# https://docs.rubocop.org/rubocop/cops_style.html#styleformatstringtoken
Style/FormatStringToken:
inherit_mode:
merge:
- AllowedMethods # The rubocop-rails config adds `redirect`
AllowedMethods:
- redirect_with_vary
# Reason: Prevailing style choice
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashaslastarrayitem
Style/HashAsLastArrayItem:
Enabled: false
# Reason: Enforce modern Ruby style # Reason: Enforce modern Ruby style
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax # https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
Style/HashSyntax: Style/HashSyntax:
EnforcedStyle: ruby19_no_mixed_keys EnforcedStyle: ruby19_no_mixed_keys
EnforcedShorthandSyntax: either
# Reason: # Reason:
# https://docs.rubocop.org/rubocop/cops_style.html#stylenumericliterals # https://docs.rubocop.org/rubocop/cops_style.html#stylenumericliterals
@ -173,16 +211,16 @@ Style/PercentLiteralDelimiters:
Style/RedundantBegin: Style/RedundantBegin:
Enabled: false Enabled: false
# Reason: Prevailing style choice
# https://docs.rubocop.org/rubocop/cops_style.html#styleredundantfetchblock
Style/RedundantFetchBlock:
Enabled: false
# Reason: Overridden to reduce implicit StandardError rescues # Reason: Overridden to reduce implicit StandardError rescues
# https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror # https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror
Style/RescueStandardError: Style/RescueStandardError:
EnforcedStyle: implicit EnforcedStyle: implicit
# Reason: Simplify some spec layouts
# https://docs.rubocop.org/rubocop/cops_style.html#stylesemicolon
Style/Semicolon:
AllowAsExpressionSeparator: true
# Reason: Originally disabled for CodeClimate, and no config consensus has been found # Reason: Originally disabled for CodeClimate, and no config consensus has been found
# https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray # https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray
Style/SymbolArray: Style/SymbolArray:

View File

@ -1,111 +1,18 @@
# This configuration was generated by # This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp` # `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp`
# using RuboCop version 1.56.1. # using RuboCop version 1.63.5.
# The point is for the user to remove these configuration records # The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base. # one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new # Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again. # versions of RuboCop, may require this file to be generated again.
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
Bundler/OrderedGems:
Exclude:
- 'Gemfile'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: with_first_argument, with_fixed_indentation
Layout/ArgumentAlignment:
Exclude:
- 'config/initializers/cors.rb'
- 'config/initializers/session_store.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
# SupportedHashRocketStyles: key, separator, table
# SupportedColonStyles: key, separator, table
# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
Layout/HashAlignment:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/rack_attack.rb'
- 'config/routes.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment.
Layout/LeadingCommentSpace:
Exclude:
- 'config/application.rb'
- 'config/initializers/3_omniauth.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# URISchemes: http, https
Layout/LineLength:
Exclude:
- 'app/models/account.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_no_space, require_space
Layout/SpaceInLambdaLiteral:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/content_security_policy.rb'
# Configuration parameters: AllowComments, AllowEmptyLambdas.
Lint/EmptyBlock:
Exclude:
- 'spec/controllers/api/v2/search_controller_spec.rb'
- 'spec/fabricators/access_token_fabricator.rb'
- 'spec/fabricators/conversation_fabricator.rb'
- 'spec/fabricators/system_key_fabricator.rb'
- 'spec/lib/activitypub/adapter_spec.rb'
- 'spec/models/user_role_spec.rb'
Lint/NonLocalExitFromIterator: Lint/NonLocalExitFromIterator:
Exclude: Exclude:
- 'app/helpers/jsonld_helper.rb' - 'app/helpers/jsonld_helper.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Lint/OrAssignmentToConstant:
Exclude:
- 'lib/sanitize_ext/sanitize_config.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
Exclude:
- 'config/initializers/content_security_policy.rb'
- 'config/initializers/doorkeeper.rb'
- 'config/initializers/paperclip.rb'
- 'config/initializers/simple_form.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Lint/UselessAssignment:
Exclude:
- 'app/services/activitypub/process_status_update_service.rb'
- 'config/initializers/3_omniauth.rb'
- 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
- 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb'
- 'spec/controllers/api/v1/favourites_controller_spec.rb'
- 'spec/controllers/concerns/account_controller_concern_spec.rb'
- 'spec/helpers/jsonld_helper_spec.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/domain_block_spec.rb'
- 'spec/models/status_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/models/webauthn_credentials_spec.rb'
- 'spec/services/account_search_service_spec.rb'
- 'spec/services/post_status_service_spec.rb'
- 'spec/services/precompute_feed_service_spec.rb'
- 'spec/services/resolve_url_service_spec.rb'
- 'spec/views/statuses/show.html.haml_spec.rb'
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize: Metrics/AbcSize:
Max: 144 Max: 82
# Configuration parameters: CountBlocks, Max. # Configuration parameters: CountBlocks, Max.
Metrics/BlockNesting: Metrics/BlockNesting:
@ -120,433 +27,26 @@ Metrics/CyclomaticComplexity:
Metrics/PerceivedComplexity: Metrics/PerceivedComplexity:
Max: 27 Max: 27
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
# SupportedStyles: snake_case, normalcase, non_integer
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
Naming/VariableNumber:
Exclude:
- 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- 'db/migrate/20190820003045_update_statuses_index.rb'
- 'db/migrate/20190823221802_add_local_index_to_statuses.rb'
- 'db/migrate/20200119112504_add_public_index_to_statuses.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/domain_block_spec.rb'
- 'spec/models/user_spec.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: SafeMultiline.
Performance/DeletePrefix:
Exclude:
- 'app/models/featured_tag.rb'
Performance/MapMethodChain:
Exclude:
- 'app/models/feed.rb'
- 'lib/mastodon/cli/maintenance.rb'
- 'spec/services/bulk_import_service_spec.rb'
- 'spec/services/import_service_spec.rb'
RSpec/AnyInstance:
Exclude:
- 'spec/controllers/activitypub/inboxes_controller_spec.rb'
- 'spec/controllers/admin/accounts_controller_spec.rb'
- 'spec/controllers/admin/resets_controller_spec.rb'
- 'spec/controllers/admin/settings/branding_controller_spec.rb'
- 'spec/controllers/api/v1/media_controller_spec.rb'
- 'spec/controllers/auth/sessions_controller_spec.rb'
- 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb'
- 'spec/controllers/settings/two_factor_authentication/recovery_codes_controller_spec.rb'
- 'spec/lib/request_spec.rb'
- 'spec/lib/status_filter_spec.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/setting_spec.rb'
- 'spec/services/activitypub/process_collection_service_spec.rb'
- 'spec/validators/follow_limit_validator_spec.rb'
- 'spec/workers/activitypub/delivery_worker_spec.rb'
- 'spec/workers/web/push_notification_worker_spec.rb'
# Configuration parameters: CountAsOne. # Configuration parameters: CountAsOne.
RSpec/ExampleLength: RSpec/ExampleLength:
Max: 22 Max: 18
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, each, example
RSpec/HookArgument:
Exclude:
- 'spec/controllers/api/v1/streaming_controller_spec.rb'
- 'spec/controllers/well_known/webfinger_controller_spec.rb'
- 'spec/helpers/instance_helper_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/rails_helper.rb'
- 'spec/serializers/activitypub/note_serializer_spec.rb'
- 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
- 'spec/services/import_service_spec.rb'
# Configuration parameters: AssignmentOnly.
RSpec/InstanceVariable:
Exclude:
- 'spec/controllers/api/v1/streaming_controller_spec.rb'
- 'spec/controllers/auth/confirmations_controller_spec.rb'
- 'spec/controllers/auth/passwords_controller_spec.rb'
- 'spec/controllers/auth/sessions_controller_spec.rb'
- 'spec/controllers/concerns/export_controller_concern_spec.rb'
- 'spec/controllers/home_controller_spec.rb'
- 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb'
- 'spec/controllers/statuses_cleanup_controller_spec.rb'
- 'spec/models/concerns/account_finder_concern_spec.rb'
- 'spec/models/concerns/account_interactions_spec.rb'
- 'spec/models/public_feed_spec.rb'
- 'spec/serializers/activitypub/note_serializer_spec.rb'
- 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
- 'spec/services/remove_status_service_spec.rb'
- 'spec/services/search_service_spec.rb'
- 'spec/services/unblock_domain_service_spec.rb'
RSpec/LetSetup:
Exclude:
- 'spec/controllers/admin/accounts_controller_spec.rb'
- 'spec/controllers/admin/action_logs_controller_spec.rb'
- 'spec/controllers/admin/instances_controller_spec.rb'
- 'spec/controllers/admin/reports/actions_controller_spec.rb'
- 'spec/controllers/admin/statuses_controller_spec.rb'
- 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb'
- 'spec/controllers/api/v1/admin/accounts_controller_spec.rb'
- 'spec/controllers/api/v1/filters_controller_spec.rb'
- 'spec/controllers/api/v1/followed_tags_controller_spec.rb'
- 'spec/controllers/api/v2/admin/accounts_controller_spec.rb'
- 'spec/controllers/api/v2/filters/keywords_controller_spec.rb'
- 'spec/controllers/api/v2/filters/statuses_controller_spec.rb'
- 'spec/controllers/auth/confirmations_controller_spec.rb'
- 'spec/controllers/auth/passwords_controller_spec.rb'
- 'spec/controllers/auth/sessions_controller_spec.rb'
- 'spec/controllers/follower_accounts_controller_spec.rb'
- 'spec/controllers/following_accounts_controller_spec.rb'
- 'spec/controllers/oauth/authorized_applications_controller_spec.rb'
- 'spec/controllers/oauth/tokens_controller_spec.rb'
- 'spec/controllers/settings/imports_controller_spec.rb'
- 'spec/lib/activitypub/activity/delete_spec.rb'
- 'spec/lib/vacuum/applications_vacuum_spec.rb'
- 'spec/lib/vacuum/preview_cards_vacuum_spec.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/account_statuses_cleanup_policy_spec.rb'
- 'spec/models/canonical_email_block_spec.rb'
- 'spec/models/status_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/services/account_statuses_cleanup_service_spec.rb'
- 'spec/services/activitypub/fetch_featured_collection_service_spec.rb'
- 'spec/services/activitypub/fetch_remote_status_service_spec.rb'
- 'spec/services/activitypub/process_account_service_spec.rb'
- 'spec/services/activitypub/process_collection_service_spec.rb'
- 'spec/services/batched_remove_status_service_spec.rb'
- 'spec/services/block_domain_service_spec.rb'
- 'spec/services/bulk_import_service_spec.rb'
- 'spec/services/delete_account_service_spec.rb'
- 'spec/services/import_service_spec.rb'
- 'spec/services/notify_service_spec.rb'
- 'spec/services/remove_status_service_spec.rb'
- 'spec/services/report_service_spec.rb'
- 'spec/services/resolve_account_service_spec.rb'
- 'spec/services/suspend_account_service_spec.rb'
- 'spec/services/unallow_domain_service_spec.rb'
- 'spec/services/unsuspend_account_service_spec.rb'
- 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb'
RSpec/MessageChain:
Exclude:
- 'spec/controllers/api/v1/media_controller_spec.rb'
- 'spec/models/concerns/remotable_spec.rb'
- 'spec/models/session_activation_spec.rb'
- 'spec/models/setting_spec.rb'
# Configuration parameters: EnforcedStyle.
# SupportedStyles: have_received, receive
RSpec/MessageSpies:
Exclude:
- 'spec/controllers/admin/accounts_controller_spec.rb'
- 'spec/helpers/admin/account_moderation_notes_helper_spec.rb'
- 'spec/lib/webfinger_resource_spec.rb'
- 'spec/models/admin/account_action_spec.rb'
- 'spec/models/concerns/remotable_spec.rb'
- 'spec/models/follow_request_spec.rb'
- 'spec/models/identity_spec.rb'
- 'spec/models/session_activation_spec.rb'
- 'spec/models/setting_spec.rb'
- 'spec/services/activitypub/fetch_replies_service_spec.rb'
- 'spec/services/activitypub/process_collection_service_spec.rb'
- 'spec/spec_helper.rb'
- 'spec/validators/status_length_validator_spec.rb'
RSpec/MultipleExpectations: RSpec/MultipleExpectations:
Max: 8 Max: 7
# Configuration parameters: AllowSubject. # Configuration parameters: AllowSubject.
RSpec/MultipleMemoizedHelpers: RSpec/MultipleMemoizedHelpers:
Max: 21 Max: 17
# Configuration parameters: AllowedGroups. # Configuration parameters: AllowedGroups.
RSpec/NestedGroups: RSpec/NestedGroups:
Max: 6 Max: 6
RSpec/PendingWithoutReason:
Exclude:
- 'spec/models/account_spec.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/ApplicationController:
Exclude:
- 'app/controllers/health_controller.rb'
# Configuration parameters: Include.
# Include: db/**/*.rb
Rails/CreateTableWithTimestamps:
Exclude:
- 'db/migrate/20170508230434_create_conversation_mutes.rb'
- 'db/migrate/20170823162448_create_status_pins.rb'
- 'db/migrate/20171116161857_create_list_accounts.rb'
- 'db/migrate/20180929222014_create_account_conversations.rb'
- 'db/migrate/20181007025445_create_pghero_space_stats.rb'
- 'db/migrate/20190103124649_create_scheduled_statuses.rb'
- 'db/migrate/20220824233535_create_status_trends.rb'
- 'db/migrate/20221006061337_create_preview_card_trends.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Severity.
Rails/DuplicateAssociation:
Exclude:
- 'app/serializers/activitypub/collection_serializer.rb'
- 'app/serializers/activitypub/note_serializer.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasAndBelongsToMany:
Exclude:
- 'app/models/concerns/account_associations.rb'
- 'app/models/preview_card.rb'
- 'app/models/status.rb'
- 'app/models/tag.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasManyOrHasOneDependent:
Exclude:
- 'app/models/concerns/account_counters.rb'
- 'app/models/conversation.rb'
- 'app/models/custom_emoji.rb'
- 'app/models/custom_emoji_category.rb'
- 'app/models/domain_block.rb'
- 'app/models/invite.rb'
- 'app/models/status.rb'
- 'app/models/user.rb'
- 'app/models/web/push_subscription.rb'
Rails/I18nLocaleTexts:
Exclude:
- 'lib/tasks/mastodon.rake'
- 'spec/helpers/flashes_helper_spec.rb'
# Configuration parameters: Include.
# Include: app/controllers/**/*.rb, app/mailers/**/*.rb
Rails/LexicallyScopedActionFilter:
Exclude:
- 'app/controllers/auth/passwords_controller.rb'
- 'app/controllers/auth/registrations_controller.rb'
- 'app/controllers/auth/sessions_controller.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/NegateInclude:
Exclude:
- 'app/controllers/concerns/signature_verification.rb'
- 'app/helpers/jsonld_helper.rb'
- 'app/lib/activitypub/activity/create.rb'
- 'app/lib/activitypub/activity/move.rb'
- 'app/lib/feed_manager.rb'
- 'app/lib/link_details_extractor.rb'
- 'app/models/concerns/attachmentable.rb'
- 'app/models/concerns/remotable.rb'
- 'app/models/custom_filter.rb'
- 'app/services/activitypub/process_status_update_service.rb'
- 'app/services/fetch_link_card_service.rb'
- 'app/services/search_service.rb'
- 'app/workers/web/push_notification_worker.rb'
- 'lib/paperclip/color_extractor.rb'
Rails/OutputSafety: Rails/OutputSafety:
Exclude: Exclude:
- 'config/initializers/simple_form.rb' - 'config/initializers/simple_form.rb'
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Include.
# Include: **/Rakefile, **/*.rake
Rails/RakeEnvironment:
Exclude:
- 'lib/tasks/auto_annotate_models.rake'
- 'lib/tasks/db.rake'
- 'lib/tasks/emojis.rake'
- 'lib/tasks/mastodon.rake'
- 'lib/tasks/repo.rake'
- 'lib/tasks/statistics.rake'
# Configuration parameters: Include.
# Include: db/**/*.rb
Rails/ReversibleMigration:
Exclude:
- 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb'
- 'db/migrate/20161122163057_remove_unneeded_indexes.rb'
- 'db/migrate/20170205175257_remove_devices.rb'
- 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb'
- 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb'
- 'db/migrate/20170609145826_remove_default_language_from_statuses.rb'
- 'db/migrate/20170711225116_fix_null_booleans.rb'
- 'db/migrate/20171129172043_add_index_on_stream_entries.rb'
- 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb'
- 'db/migrate/20171226094803_more_faster_index_on_notifications.rb'
- 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- 'db/migrate/20180617162849_remove_unused_indexes.rb'
- 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
# Configuration parameters: ForbiddenMethods, AllowedMethods.
# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
Rails/SkipsModelValidations:
Exclude:
- 'app/controllers/admin/invites_controller.rb'
- 'app/controllers/concerns/session_tracking_concern.rb'
- 'app/models/concerns/account_merging.rb'
- 'app/models/concerns/expireable.rb'
- 'app/models/status.rb'
- 'app/models/trends/links.rb'
- 'app/models/trends/preview_card_batch.rb'
- 'app/models/trends/preview_card_provider_batch.rb'
- 'app/models/trends/status_batch.rb'
- 'app/models/trends/statuses.rb'
- 'app/models/trends/tag_batch.rb'
- 'app/models/trends/tags.rb'
- 'app/models/user.rb'
- 'app/services/activitypub/process_status_update_service.rb'
- 'app/services/approve_appeal_service.rb'
- 'app/services/block_domain_service.rb'
- 'app/services/delete_account_service.rb'
- 'app/services/process_mentions_service.rb'
- 'app/services/unallow_domain_service.rb'
- 'app/services/unblock_domain_service.rb'
- 'app/services/update_status_service.rb'
- 'app/workers/activitypub/post_upgrade_worker.rb'
- 'app/workers/move_worker.rb'
- 'app/workers/scheduler/ip_cleanup_scheduler.rb'
- 'app/workers/scheduler/scheduled_statuses_scheduler.rb'
- 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb'
- 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb'
- 'db/migrate/20170209184350_add_reply_to_statuses.rb'
- 'db/migrate/20170304202101_add_type_to_media_attachments.rb'
- 'db/migrate/20180528141303_fix_accounts_unique_index.rb'
- 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb'
- 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb'
- 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
- 'db/migrate/20191007013357_update_pt_locales.rb'
- 'db/migrate/20220316233212_update_kurdish_locales.rb'
- 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb'
- 'db/post_migrate/20200917193528_migrate_notifications_type.rb'
- 'db/post_migrate/20201017234926_fill_account_suspension_origin.rb'
- 'db/post_migrate/20220617202502_migrate_roles.rb'
- 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb'
- 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb'
- 'lib/mastodon/cli/accounts.rb'
- 'lib/mastodon/cli/main.rb'
- 'lib/mastodon/cli/maintenance.rb'
- 'spec/controllers/api/v1/admin/accounts_controller_spec.rb'
- 'spec/lib/activitypub/activity/follow_spec.rb'
- 'spec/services/follow_service_spec.rb'
- 'spec/services/update_account_service_spec.rb'
# Configuration parameters: Include.
# Include: db/**/*.rb
Rails/ThreeStateBooleanColumn:
Exclude:
- 'db/migrate/20160325130944_add_admin_to_users.rb'
- 'db/migrate/20161123093447_add_sensitive_to_statuses.rb'
- 'db/migrate/20170123203248_add_reject_media_to_domain_blocks.rb'
- 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb'
- 'db/migrate/20170209184350_add_reply_to_statuses.rb'
- 'db/migrate/20170330163835_create_imports.rb'
- 'db/migrate/20170905165803_add_local_to_statuses.rb'
- 'db/migrate/20181203021853_add_discoverable_to_accounts.rb'
- 'db/migrate/20190509164208_add_by_moderator_to_tombstone.rb'
- 'db/migrate/20190805123746_add_capabilities_to_tags.rb'
- 'db/migrate/20191212163405_add_hide_collections_to_accounts.rb'
- 'db/migrate/20200309150742_add_forwarded_to_reports.rb'
- 'db/migrate/20210609202149_create_login_activities.rb'
- 'db/migrate/20210621221010_add_skip_sign_in_token_to_users.rb'
- 'db/migrate/20211031031021_create_preview_card_providers.rb'
- 'db/migrate/20211115032527_add_trendable_to_preview_cards.rb'
- 'db/migrate/20220202200743_add_trendable_to_accounts.rb'
- 'db/migrate/20220202200926_add_trendable_to_statuses.rb'
- 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UniqueValidationWithoutIndex:
Exclude:
- 'app/models/account_alias.rb'
- 'app/models/custom_filter_status.rb'
- 'app/models/identity.rb'
- 'app/models/webauthn_credential.rb'
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UnusedIgnoredColumns:
Exclude:
- 'app/models/account.rb'
- 'app/models/account_stat.rb'
- 'app/models/admin/action_log.rb'
- 'app/models/custom_filter.rb'
- 'app/models/email_domain_block.rb'
- 'app/models/report.rb'
- 'app/models/status_edit.rb'
- 'app/models/user.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: exists, where
Rails/WhereExists:
Exclude:
- 'app/controllers/activitypub/inboxes_controller.rb'
- 'app/controllers/admin/email_domain_blocks_controller.rb'
- 'app/controllers/auth/registrations_controller.rb'
- 'app/lib/activitypub/activity/create.rb'
- 'app/lib/delivery_failure_tracker.rb'
- 'app/lib/feed_manager.rb'
- 'app/lib/status_cache_hydrator.rb'
- 'app/lib/suspicious_sign_in_detector.rb'
- 'app/models/concerns/account_interactions.rb'
- 'app/models/featured_tag.rb'
- 'app/models/poll.rb'
- 'app/models/session_activation.rb'
- 'app/models/status.rb'
- 'app/models/user.rb'
- 'app/policies/status_policy.rb'
- 'app/serializers/rest/announcement_serializer.rb'
- 'app/serializers/rest/tag_serializer.rb'
- 'app/services/activitypub/fetch_remote_status_service.rb'
- 'app/services/app_sign_up_service.rb'
- 'app/services/vote_service.rb'
- 'app/validators/reaction_validator.rb'
- 'app/validators/vote_validator.rb'
- 'app/workers/move_worker.rb'
- 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb'
- 'lib/tasks/tests.rake'
- 'spec/models/account_spec.rb'
- 'spec/services/activitypub/process_collection_service_spec.rb'
- 'spec/services/purge_domain_service_spec.rb'
- 'spec/services/unallow_domain_service_spec.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowOnConstant, AllowOnSelfClass.
Style/CaseEquality:
Exclude:
- 'config/initializers/trusted_proxies.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedMethods, AllowedPatterns. # Configuration parameters: AllowedMethods, AllowedPatterns.
# AllowedMethods: ==, equal?, eql? # AllowedMethods: ==, equal?, eql?
Style/ClassEqualityComparison: Style/ClassEqualityComparison:
@ -554,36 +54,23 @@ Style/ClassEqualityComparison:
- 'app/helpers/jsonld_helper.rb' - 'app/helpers/jsonld_helper.rb'
- 'app/serializers/activitypub/outbox_serializer.rb' - 'app/serializers/activitypub/outbox_serializer.rb'
Style/ClassVars:
Exclude:
- 'config/initializers/devise.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/CombinableLoops:
Exclude:
- 'app/models/form/custom_emoji_batch.rb'
- 'app/models/form/ip_block_batch.rb'
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedVars. # Configuration parameters: AllowedVars.
Style/FetchEnvVar: Style/FetchEnvVar:
Exclude: Exclude:
- 'app/lib/redis_configuration.rb' - 'app/lib/redis_configuration.rb'
- 'app/lib/translation_service.rb' - 'app/lib/translation_service.rb'
- 'config/environments/development.rb'
- 'config/environments/production.rb' - 'config/environments/production.rb'
- 'config/initializers/2_limited_federation_mode.rb' - 'config/initializers/2_limited_federation_mode.rb'
- 'config/initializers/3_omniauth.rb' - 'config/initializers/3_omniauth.rb'
- 'config/initializers/blacklists.rb' - 'config/initializers/blacklists.rb'
- 'config/initializers/cache_buster.rb' - 'config/initializers/cache_buster.rb'
- 'config/initializers/content_security_policy.rb'
- 'config/initializers/devise.rb' - 'config/initializers/devise.rb'
- 'config/initializers/paperclip.rb' - 'config/initializers/paperclip.rb'
- 'config/initializers/vapid.rb' - 'config/initializers/vapid.rb'
- 'lib/mastodon/premailer_webpack_strategy.rb'
- 'lib/mastodon/redis_config.rb' - 'lib/mastodon/redis_config.rb'
- 'lib/tasks/repo.rake' - 'lib/tasks/repo.rake'
- 'spec/features/profile_spec.rb' - 'spec/system/profile_spec.rb'
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns. # Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
@ -591,14 +78,12 @@ Style/FetchEnvVar:
# AllowedMethods: redirect # AllowedMethods: redirect
Style/FormatStringToken: Style/FormatStringToken:
Exclude: Exclude:
- 'app/models/privacy_policy.rb'
- 'config/initializers/devise.rb' - 'config/initializers/devise.rb'
- 'lib/paperclip/color_extractor.rb' - 'lib/paperclip/color_extractor.rb'
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
Style/GlobalStdStream: Style/GlobalStdStream:
Exclude: Exclude:
- 'config/boot.rb'
- 'config/environments/development.rb' - 'config/environments/development.rb'
- 'config/environments/production.rb' - 'config/environments/production.rb'
@ -606,17 +91,13 @@ Style/GlobalStdStream:
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause: Style/GuardClause:
Exclude: Exclude:
- 'app/controllers/admin/confirmations_controller.rb'
- 'app/controllers/auth/confirmations_controller.rb'
- 'app/controllers/auth/passwords_controller.rb'
- 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb'
- 'app/lib/activitypub/activity/block.rb' - 'app/lib/activitypub/activity/block.rb'
- 'app/lib/request.rb' - 'app/lib/request.rb'
- 'app/lib/request_pool.rb' - 'app/lib/request_pool.rb'
- 'app/lib/webfinger.rb' - 'app/lib/webfinger.rb'
- 'app/lib/webfinger_resource.rb' - 'app/lib/webfinger_resource.rb'
- 'app/models/concerns/account_counters.rb' - 'app/models/concerns/account/counters.rb'
- 'app/models/concerns/ldap_authenticable.rb' - 'app/models/concerns/user/ldap_authenticable.rb'
- 'app/models/tag.rb' - 'app/models/tag.rb'
- 'app/models/user.rb' - 'app/models/user.rb'
- 'app/services/fan_out_on_write_service.rb' - 'app/services/fan_out_on_write_service.rb'
@ -628,59 +109,19 @@ Style/GuardClause:
- 'app/workers/redownload_media_worker.rb' - 'app/workers/redownload_media_worker.rb'
- 'app/workers/remote_account_refresh_worker.rb' - 'app/workers/remote_account_refresh_worker.rb'
- 'config/initializers/devise.rb' - 'config/initializers/devise.rb'
- 'db/migrate/20170901141119_truncate_preview_cards.rb' - 'lib/devise/strategies/two_factor_ldap_authenticatable.rb'
- 'db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb' - 'lib/devise/strategies/two_factor_pam_authenticatable.rb'
- 'lib/devise/two_factor_ldap_authenticatable.rb'
- 'lib/devise/two_factor_pam_authenticatable.rb'
- 'lib/mastodon/cli/accounts.rb' - 'lib/mastodon/cli/accounts.rb'
- 'lib/mastodon/cli/maintenance.rb' - 'lib/mastodon/cli/maintenance.rb'
- 'lib/mastodon/cli/media.rb' - 'lib/mastodon/cli/media.rb'
- 'lib/paperclip/attachment_extensions.rb'
- 'lib/tasks/repo.rake' - 'lib/tasks/repo.rake'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: braces, no_braces
Style/HashAsLastArrayItem:
Exclude:
- 'app/controllers/admin/statuses_controller.rb'
- 'app/controllers/api/v1/statuses_controller.rb'
- 'app/models/concerns/account_counters.rb'
- 'app/models/concerns/status_threading_concern.rb'
- 'app/models/status.rb'
- 'app/services/batched_remove_status_service.rb'
- 'app/services/notify_service.rb'
- 'db/migrate/20181024224956_migrate_account_conversations.rb'
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
Style/HashTransformValues: Style/HashTransformValues:
Exclude: Exclude:
- 'app/serializers/rest/web_push_subscription_serializer.rb' - 'app/serializers/rest/web_push_subscription_serializer.rb'
- 'app/services/import_service.rb' - 'app/services/import_service.rb'
# This cop supports safe autocorrection (--autocorrect).
Style/IfUnlessModifier:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/devise.rb'
- 'config/initializers/ffmpeg.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: InverseMethods, InverseBlocks.
Style/InverseMethods:
Exclude:
- 'app/models/custom_filter.rb'
- 'app/services/update_account_service.rb'
- 'spec/controllers/activitypub/replies_controller_spec.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: line_count_dependent, lambda, literal
Style/Lambda:
Exclude:
- 'config/initializers/simple_form.rb'
- 'config/routes.rb'
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
Style/MapToHash: Style/MapToHash:
Exclude: Exclude:
@ -715,13 +156,6 @@ Style/OptionalBooleanParameter:
- 'app/workers/unfollow_follow_worker.rb' - 'app/workers/unfollow_follow_worker.rb'
- 'lib/mastodon/redis_config.rb' - 'lib/mastodon/redis_config.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
Exclude:
- 'config/deploy.rb'
- 'config/initializers/doorkeeper.rb'
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle. # Configuration parameters: EnforcedStyle.
# SupportedStyles: short, verbose # SupportedStyles: short, verbose
@ -735,58 +169,12 @@ Style/RedundantConstantBase:
- 'config/environments/production.rb' - 'config/environments/production.rb'
- 'config/initializers/sidekiq.rb' - 'config/initializers/sidekiq.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: SafeForConstants.
Style/RedundantFetchBlock:
Exclude:
- 'config/initializers/1_hosts.rb'
- 'config/initializers/chewy.rb'
- 'config/initializers/devise.rb'
- 'config/initializers/paperclip.rb'
- 'config/puma.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowMultipleReturnValues.
Style/RedundantReturn:
Exclude:
- 'app/controllers/api/v1/directories_controller.rb'
- 'app/controllers/auth/confirmations_controller.rb'
- 'app/lib/ostatus/tag_manager.rb'
- 'app/models/form/import.rb'
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
# AllowedMethods: present?, blank?, presence, try, try! # AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation: Style/SafeNavigation:
Exclude: Exclude:
- 'app/models/concerns/account_finder_concern.rb' - 'app/models/concerns/account/finder_concern.rb'
- 'app/models/status.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: only_raise, only_fail, semantic
Style/SignalException:
Exclude:
- 'lib/devise/two_factor_ldap_authenticatable.rb'
- 'lib/devise/two_factor_pam_authenticatable.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/SingleArgumentDig:
Exclude:
- 'lib/webpacker/manifest_extensions.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_parentheses, require_no_parentheses
Style/StabbyLambdaParentheses:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/content_security_policy.rb'
# This cop supports safe autocorrection (--autocorrect).
Style/StderrPuts:
Exclude:
- 'config/boot.rb'
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Mode. # Configuration parameters: Mode.
@ -795,52 +183,8 @@ Style/StringConcatenation:
- 'config/initializers/paperclip.rb' - 'config/initializers/paperclip.rb'
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. # Configuration parameters: WordRegex.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/backtrace_silencers.rb'
- 'config/initializers/http_client_proxy.rb'
- 'config/initializers/rack_attack.rb'
- 'config/initializers/webauthn.rb'
- 'config/routes.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
# AllowedMethods: define_method, mail, respond_to
Style/SymbolProc:
Exclude:
- 'config/initializers/3_omniauth.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, AllowSafeAssignment.
# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
Style/TernaryParentheses:
Exclude:
- 'config/environments/development.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInArguments:
Exclude:
- 'config/initializers/paperclip.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInHashLiteral:
Exclude:
- 'config/environments/production.rb'
- 'config/environments/test.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, MinSize, WordRegex.
# SupportedStyles: percent, brackets # SupportedStyles: percent, brackets
Style/WordArray: Style/WordArray:
Exclude: EnforcedStyle: percent
- 'app/helpers/languages_helper.rb' MinSize: 3
- 'config/initializers/cors.rb'
- 'spec/controllers/settings/imports_controller_spec.rb'
- 'spec/models/form/import_spec.rb'

View File

@ -1 +1 @@
3.2.2 3.3.1

3
.watchmanconfig Normal file
View File

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

0
.yarn/.gitkeep Normal file
View File

View File

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

View File

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

1
.yarnrc.yml Normal file
View File

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

File diff suppressed because it is too large Load Diff

View File

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

15
Capfile
View File

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

View File

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

View File

@ -1,19 +1,35 @@
## ActivityPub federation in Mastodon # Federation
## Supported federation protocols and standards
- [ActivityPub](https://www.w3.org/TR/activitypub/) (Server-to-Server)
- [WebFinger](https://webfinger.net/)
- [Http Signatures](https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures)
- [NodeInfo](https://nodeinfo.diaspora.software/)
## Supported FEPs
- [FEP-67ff: FEDERATION.md](https://codeberg.org/fediverse/fep/src/branch/main/fep/67ff/fep-67ff.md)
- [FEP-f1d5: NodeInfo in Fediverse Software](https://codeberg.org/fediverse/fep/src/branch/main/fep/f1d5/fep-f1d5.md)
- [FEP-8fcf: Followers collection synchronization across servers](https://codeberg.org/fediverse/fep/src/branch/main/fep/8fcf/fep-8fcf.md)
- [FEP-5feb: Search indexing consent for actors](https://codeberg.org/fediverse/fep/src/branch/main/fep/5feb/fep-5feb.md)
## ActivityPub in Mastodon
Mastodon largely follows the ActivityPub server-to-server specification but it makes uses of some non-standard extensions, some of which are required for interacting with Mastodon at all. Mastodon largely follows the ActivityPub server-to-server specification but it makes uses of some non-standard extensions, some of which are required for interacting with Mastodon at all.
Supported vocabulary: https://docs.joinmastodon.org/spec/activitypub/ - [Supported ActivityPub vocabulary](https://docs.joinmastodon.org/spec/activitypub/)
### Required extensions ### Required extensions
#### Webfinger #### WebFinger
In Mastodon, users are identified by a `username` and `domain` pair (e.g., `Gargron@mastodon.social`). In Mastodon, users are identified by a `username` and `domain` pair (e.g., `Gargron@mastodon.social`).
This is used both for discovery and for unambiguously mentioning users across the fediverse. Furthermore, this is part of Mastodon's database design from its very beginnings. This is used both for discovery and for unambiguously mentioning users across the fediverse. Furthermore, this is part of Mastodon's database design from its very beginnings.
As a result, Mastodon requires that each ActivityPub actor uniquely maps back to an `acct:` URI that can be resolved via WebFinger. As a result, Mastodon requires that each ActivityPub actor uniquely maps back to an `acct:` URI that can be resolved via WebFinger.
More information and examples are available at: https://docs.joinmastodon.org/spec/webfinger/ - [WebFinger information and examples](https://docs.joinmastodon.org/spec/webfinger/)
#### HTTP Signatures #### HTTP Signatures
@ -21,11 +37,13 @@ In order to authenticate activities, Mastodon relies on HTTP Signatures, signing
Mastodon requires all `POST` requests to be signed, and MAY require `GET` requests to be signed, depending on the configuration of the Mastodon server. Mastodon requires all `POST` requests to be signed, and MAY require `GET` requests to be signed, depending on the configuration of the Mastodon server.
More information on HTTP Signatures, as well as examples, can be found here: https://docs.joinmastodon.org/spec/security/#http - [HTTP Signatures information and examples](https://docs.joinmastodon.org/spec/security/#http)
### Optional extensions ### Optional extensions
- Linked-Data Signatures: https://docs.joinmastodon.org/spec/security/#ld - [Linked-Data Signatures](https://docs.joinmastodon.org/spec/security/#ld)
- Bearcaps: https://docs.joinmastodon.org/spec/bearcaps/ - [Bearcaps](https://docs.joinmastodon.org/spec/bearcaps/)
- Followers collection synchronization: https://codeberg.org/fediverse/fep/src/branch/main/fep/8fcf/fep-8fcf.md
- Search indexing consent for actors: https://codeberg.org/fediverse/fep/src/branch/main/fep/5feb/fep-5feb.md ### Additional documentation
- [Mastodon documentation](https://docs.joinmastodon.org/)

116
Gemfile
View File

@ -1,34 +1,37 @@
# frozen_string_literal: true # frozen_string_literal: true
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '>= 3.0.0' ruby '>= 3.1.0'
gem 'propshaft'
gem 'puma', '~> 6.3' gem 'puma', '~> 6.3'
gem 'rails', '~> 7.0'
gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2'
gem 'rack', '~> 2.2.7' gem 'rack', '~> 2.2.7'
gem 'rails', '~> 7.1.1'
gem 'thor', '~> 1.2'
# For why irb is in the Gemfile, see: https://ruby.social/@st0012/111444685161478182
gem 'irb', '~> 1.8'
gem 'dotenv'
gem 'haml-rails', '~>2.0' gem 'haml-rails', '~>2.0'
gem 'pg', '~> 1.5' gem 'pg', '~> 1.5'
gem 'pghero' gem 'pghero'
gem 'dotenv-rails', '~> 2.8'
gem 'aws-sdk-s3', '~> 1.123', require: false gem 'aws-sdk-s3', '~> 1.123', require: false
gem 'blurhash', '~> 0.1'
gem 'fog-core', '<= 2.4.0' gem 'fog-core', '<= 2.4.0'
gem 'fog-openstack', '~> 0.3', require: false gem 'fog-openstack', '~> 1.0', require: false
gem 'kt-paperclip', '~> 7.2' gem 'kt-paperclip', '~> 7.2'
gem 'md-paperclip-azure', '~> 2.2', require: false gem 'md-paperclip-azure', '~> 2.2', require: false
gem 'blurhash', '~> 0.1'
gem 'active_model_serializers', '~> 0.10' gem 'active_model_serializers', '~> 0.10'
gem 'addressable', '~> 2.8' gem 'addressable', '~> 2.8'
gem 'bootsnap', '~> 1.16.0', require: false gem 'bootsnap', '~> 1.18.0', require: false
gem 'browser' gem 'browser'
gem 'charlock_holmes', '~> 0.7.7' gem 'charlock_holmes', '~> 0.7.7'
gem 'chewy', '~> 7.3' gem 'chewy', '~> 7.3'
gem 'devise', '~> 4.9' gem 'devise', '~> 4.9'
gem 'devise-two-factor', '~> 4.1' gem 'devise-two-factor'
group :pam_authentication, optional: true do group :pam_authentication, optional: true do
gem 'devise_pam_authenticatable2', '~> 9.2' gem 'devise_pam_authenticatable2', '~> 9.2'
@ -36,65 +39,63 @@ end
gem 'net-ldap', '~> 0.18' gem 'net-ldap', '~> 0.18'
# TODO: Point back at released omniauth-cas gem when PR merged
# https://github.com/dlindahl/omniauth-cas/pull/68
gem 'omniauth-cas', github: 'stanhu/omniauth-cas', ref: '4211e6d05941b4a981f9a36b49ec166cecd0e271'
gem 'omniauth-saml', '~> 2.0'
gem 'omniauth_openid_connect', '~> 0.6.1'
gem 'omniauth', '~> 2.0' gem 'omniauth', '~> 2.0'
gem 'omniauth-cas', '~> 3.0.0.beta.1'
gem 'omniauth_openid_connect', '~> 0.6.1'
gem 'omniauth-rails_csrf_protection', '~> 1.0' gem 'omniauth-rails_csrf_protection', '~> 1.0'
gem 'omniauth-saml', '~> 2.0'
gem 'color_diff', '~> 0.1' gem 'color_diff', '~> 0.1'
gem 'csv', '~> 3.2'
gem 'discard', '~> 1.2' gem 'discard', '~> 1.2'
gem 'doorkeeper', '~> 5.6' gem 'doorkeeper', '~> 5.6'
gem 'ed25519', '~> 1.3' gem 'ed25519', '~> 1.3'
gem 'fast_blank', '~> 1.0' gem 'fast_blank', '~> 1.0'
gem 'fastimage' gem 'fastimage'
gem 'hiredis', '~> 0.6' gem 'hiredis', '~> 0.6'
gem 'redis-namespace', '~> 1.10'
gem 'htmlentities', '~> 4.3' gem 'htmlentities', '~> 4.3'
gem 'http', '~> 5.1' gem 'http', '~> 5.2.0'
gem 'http_accept_language', '~> 2.1' gem 'http_accept_language', '~> 2.1'
gem 'httplog', '~> 1.6.2' gem 'httplog', '~> 1.6.2'
gem 'i18n'
gem 'idn-ruby', require: 'idn' gem 'idn-ruby', require: 'idn'
gem 'inline_svg'
gem 'kaminari', '~> 1.2' gem 'kaminari', '~> 1.2'
gem 'link_header', '~> 0.0' gem 'link_header', '~> 0.0'
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
gem 'mime-types', '~> 3.5.0', require: 'mime/types/columnar' gem 'mime-types', '~> 3.5.0', require: 'mime/types/columnar'
gem 'nokogiri', '~> 1.15' gem 'nokogiri', '~> 1.15'
gem 'nsa', github: 'jhawthorn/nsa', ref: 'e020fcc3a54d993ab45b7194d89ab720296c111b' gem 'nsa'
gem 'oj', '~> 3.14' gem 'oj', '~> 3.14'
gem 'ox', '~> 2.14' gem 'ox', '~> 2.14'
gem 'parslet' gem 'parslet'
gem 'posix-spawn' gem 'premailer-rails'
gem 'public_suffix', '~> 5.0' gem 'public_suffix', '~> 5.0'
gem 'pundit', '~> 2.3' gem 'pundit', '~> 2.3'
gem 'premailer-rails'
gem 'rack-attack', '~> 6.6' gem 'rack-attack', '~> 6.6'
gem 'rack-cors', '~> 2.0', require: 'rack/cors' gem 'rack-cors', '~> 2.0', require: 'rack/cors'
gem 'rails-i18n', '~> 7.0' gem 'rails-i18n', '~> 7.0'
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 'redcarpet', '~> 3.6'
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis'] gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' gem 'redis-namespace', '~> 1.10'
gem 'rqrcode', '~> 2.2' gem 'rqrcode', '~> 2.2'
gem 'ruby-progressbar', '~> 1.13' gem 'ruby-progressbar', '~> 1.13'
gem 'sanitize', '~> 6.0' gem 'sanitize', '~> 6.0'
gem 'scenic', '~> 1.7' gem 'scenic', '~> 1.7'
gem 'sidekiq', '~> 6.5' gem 'sidekiq', '~> 6.5'
gem 'sidekiq-bulk', '~> 0.2.0'
gem 'sidekiq-scheduler', '~> 5.0' gem 'sidekiq-scheduler', '~> 5.0'
gem 'sidekiq-unique-jobs', '~> 7.1' gem 'sidekiq-unique-jobs', '~> 7.1'
gem 'sidekiq-bulk', '~> 0.2.0'
gem 'simple-navigation', '~> 4.4'
gem 'simple_form', '~> 5.2' gem 'simple_form', '~> 5.2'
gem 'sprockets-rails', '~> 3.4', require: 'sprockets/railtie' gem 'simple-navigation', '~> 4.4'
gem 'stoplight', '~> 3.0.1' gem 'stoplight', '~> 4.1'
gem 'strong_migrations', '~> 0.8' gem 'strong_migrations', '1.8.0'
gem 'tty-prompt', '~> 0.23', require: false gem 'tty-prompt', '~> 0.23', require: false
gem 'twitter-text', '~> 3.1.0' gem 'twitter-text', '~> 3.1.0'
gem 'tzinfo-data', '~> 1.2023' gem 'tzinfo-data', '~> 1.2023'
gem 'webauthn', '~> 3.0'
gem 'webpacker', '~> 5.4' gem 'webpacker', '~> 5.4'
gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9' gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9'
gem 'webauthn', '~> 3.0'
gem 'json-ld' gem 'json-ld'
gem 'json-ld-preloaded', '~> 3.2' gem 'json-ld-preloaded', '~> 3.2'
@ -102,15 +103,36 @@ gem 'rdf-normalize', '~> 0.5'
gem 'private_address_check', '~> 0.5' gem 'private_address_check', '~> 0.5'
group :opentelemetry do
gem 'opentelemetry-exporter-otlp', '~> 0.26.3', require: false
gem 'opentelemetry-instrumentation-active_job', '~> 0.7.1', require: false
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.20.1', require: false
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.2', require: false
gem 'opentelemetry-instrumentation-excon', '~> 0.22.0', require: false
gem 'opentelemetry-instrumentation-faraday', '~> 0.24.1', require: false
gem 'opentelemetry-instrumentation-http', '~> 0.23.2', require: false
gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false
gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.27.1', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.30.0', require: false
gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false
gem 'opentelemetry-instrumentation-sidekiq', '~> 0.25.2', require: false
gem 'opentelemetry-sdk', '~> 1.4', require: false
end
group :test do group :test do
# Used to split testing into chunks in CI # Adds RSpec Error/Warning annotations to GitHub PRs on the Files tab
gem 'rspec_chunked', '~> 0.6' gem 'rspec-github', '~> 2.4', require: false
# RSpec progress bar formatter # RSpec progress bar formatter
gem 'fuubar', '~> 2.5' gem 'fuubar', '~> 2.5'
# Extra RSpec extenion methods and helpers for sidekiq # RSpec helpers for email specs
gem 'rspec-sidekiq', '~> 4.0' gem 'email_spec'
# Extra RSpec extension methods and helpers for sidekiq
gem 'rspec-sidekiq', '~> 5.0'
# Browser integration testing # Browser integration testing
gem 'capybara', '~> 3.39' gem 'capybara', '~> 3.39'
@ -120,13 +142,7 @@ group :test do
gem 'database_cleaner-active_record' gem 'database_cleaner-active_record'
# Used to mock environment variables # Used to mock environment variables
gem 'climate_control', '~> 0.2' gem 'climate_control'
# 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 # Add back helpers functions removed in Rails 5.1
gem 'rails-controller-testing', '~> 1.0' gem 'rails-controller-testing', '~> 1.0'
@ -139,6 +155,7 @@ group :test do
# Coverage formatter for RSpec test if DISABLE_SIMPLECOV is false # Coverage formatter for RSpec test if DISABLE_SIMPLECOV is false
gem 'simplecov', '~> 0.22', require: false gem 'simplecov', '~> 0.22', require: false
gem 'simplecov-lcov', '~> 0.8', require: false
# Stub web requests for specs # Stub web requests for specs
gem 'webmock', '~> 3.18' gem 'webmock', '~> 3.18'
@ -161,7 +178,7 @@ group :development do
# Preview mail in the browser # Preview mail in the browser
gem 'letter_opener', '~> 1.8' gem 'letter_opener', '~> 1.8'
gem 'letter_opener_web', '~> 2.0' gem 'letter_opener_web', '~> 3.0'
# Security analysis CLI tools # Security analysis CLI tools
gem 'brakeman', '~> 6.0', require: false gem 'brakeman', '~> 6.0', require: false
@ -170,17 +187,20 @@ group :development do
# Linter CLI for HAML files # Linter CLI for HAML files
gem 'haml_lint', require: false gem 'haml_lint', require: false
# Deployment automation
gem 'capistrano', '~> 3.17'
gem 'capistrano-rails', '~> 1.6'
gem 'capistrano-rbenv', '~> 2.2'
gem 'capistrano-yarn', '~> 2.0'
# Validate missing i18n keys # Validate missing i18n keys
gem 'i18n-tasks', '~> 1.0', require: false gem 'i18n-tasks', '~> 1.0', require: false
end end
group :development, :test do group :development, :test do
# Interactive Debugging tools
gem 'debug', '~> 1.8'
# Generate fake data values
gem 'faker', '~> 3.2'
# Generate factory objects
gem 'fabrication', '~> 2.30'
# Profiling tools # Profiling tools
gem 'memory_profiler', require: false gem 'memory_profiler', require: false
gem 'ruby-prof', require: false gem 'ruby-prof', require: false
@ -195,12 +215,14 @@ group :production do
gem 'lograge', '~> 0.12' gem 'lograge', '~> 0.12'
end end
gem 'cocoon', '~> 1.2'
gem 'concurrent-ruby', require: false gem 'concurrent-ruby', require: false
gem 'connection_pool', require: false gem 'connection_pool', require: false
gem 'xorcist', '~> 1.1' gem 'xorcist', '~> 1.1'
gem 'cocoon', '~> 1.2'
gem 'net-http', '~> 0.3.2' gem 'net-http', '~> 0.4.0'
gem 'rubyzip', '~> 2.3' gem 'rubyzip', '~> 2.3'
gem 'hcaptcha', '~> 7.1' gem 'hcaptcha', '~> 7.1'
gem 'mail', '~> 2.8'

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -67,10 +67,10 @@ Mastodon acts as an OAuth2 provider, so 3rd party apps can use the REST and Stre
### Requirements ### Requirements
- **PostgreSQL** 9.5+ - **PostgreSQL** 12+
- **Redis** 4+ - **Redis** 4+
- **Ruby** 2.7+ - **Ruby** 3.1+
- **Node.js** 14+ - **Node.js** 18+
The repository includes deployment configurations for **Docker and docker-compose** as well as specific platforms like **Heroku**, **Scalingo**, and **Nanobox**. For Helm charts, reference the [mastodon/chart repository](https://github.com/mastodon/chart). The [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation. The repository includes deployment configurations for **Docker and docker-compose** as well as specific platforms like **Heroku**, **Scalingo**, and **Nanobox**. For Helm charts, reference the [mastodon/chart repository](https://github.com/mastodon/chart). The [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation.
@ -83,22 +83,21 @@ A **Vagrant** configuration is included for development purposes. To use it, com
- Install Vagrant and Virtualbox - Install Vagrant and Virtualbox
- Install the `vagrant-hostsupdater` plugin: `vagrant plugin install vagrant-hostsupdater` - Install the `vagrant-hostsupdater` plugin: `vagrant plugin install vagrant-hostsupdater`
- Run `vagrant up` - Run `vagrant up`
- Run `vagrant ssh -c "cd /vagrant && foreman start"` - Run `vagrant ssh -c "cd /vagrant && bin/dev"`
- Open `http://mastodon.local` in your browser - Open `http://mastodon.local` in your browser
### MacOS ### MacOS
To set up **MacOS** for native development, complete the following steps: To set up **MacOS** for native development, complete the following steps:
- Install the latest stable Ruby version (use a Ruby version manager for easy installation and management of Ruby versions) - Use a Ruby version manager to install the specified version from `.ruby-version`
- Run `brew install postgresql@14` - Run `bundle` to install required gems
- Run `brew install redis` - Run `brew install postgresql@14 redis imagemagick libidn` to install required dependencies
- Run `brew install imagemagick` - Navigate to Mastodon's root directory and run `brew install nvm` then `nvm use` to use the version from `.nvmrc`
- Install Foreman or a similar tool (such as [overmind](https://github.com/DarthSim/overmind)) to handle multiple process launching. - Run `yarn` to install required packages
- Navigate to Mastodon's root directory and run `brew install nvm` then `nvm use` to use the version from .nvmrc - Run `corepack enable && corepack prepare`
- Run `corepack enable && yarn set version classic` - Run `RAILS_ENV=development bundle exec rails db:setup`
- Run `bundle exec rails db:setup` (optionally prepend `RAILS_ENV=development` to target the dev environment) - Finally, run `bin/dev` which will launch the local services via `overmind` (if installed) or `foreman`
- Finally, run `overmind start -f Procfile.dev`
### Docker ### Docker
@ -107,7 +106,7 @@ For development with **Docker**, complete the following steps:
- Install Docker Desktop - Install Docker Desktop
- Run `docker compose -f .devcontainer/docker-compose.yml up -d` - Run `docker compose -f .devcontainer/docker-compose.yml up -d`
- Run `docker compose -f .devcontainer/docker-compose.yml exec app .devcontainer/post-create.sh` - Run `docker compose -f .devcontainer/docker-compose.yml exec app .devcontainer/post-create.sh`
- Finally, run `docker compose -f .devcontainer/docker-compose.yml exec app foreman start -f Procfile.dev` - Finally, run `docker compose -f .devcontainer/docker-compose.yml exec app bin/dev`
If you are using an IDE with [support for the Development Container specification](https://containers.dev/supporting), it will run the above `docker compose` commands automatically. For **Visual Studio Code** this requires the [Dev Container extension](https://containers.dev/supporting#dev-containers). If you are using an IDE with [support for the Development Container specification](https://containers.dev/supporting), it will run the above `docker compose` commands automatically. For **Visual Studio Code** this requires the [Dev Container extension](https://containers.dev/supporting#dev-containers).
@ -118,7 +117,7 @@ To get you coding in just a few minutes, GitHub Codespaces provides a web-based
- Click this button to create a new codespace:<br> - Click this button to create a new codespace:<br>
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=52281283&devcontainer_path=.devcontainer%2Fcodespaces%2Fdevcontainer.json) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=52281283&devcontainer_path=.devcontainer%2Fcodespaces%2Fdevcontainer.json)
- Wait for the environment to build. This will take a few minutes. - Wait for the environment to build. This will take a few minutes.
- When the editor is ready, run `foreman start -f Procfile.dev` in the terminal. - When the editor is ready, run `bin/dev` in the terminal.
- After a few seconds, a popup will appear with a button labeled _Open in Browser_. This will open Mastodon. - After a few seconds, a popup will appear with a button labeled _Open in Browser_. This will open Mastodon.
- On the _Ports_ tab, right click on the “stream” row and select _Port visibility__Public_. - On the _Ports_ tab, right click on the “stream” row and select _Port visibility__Public_.
@ -132,7 +131,7 @@ You can open issues for bugs you've found or features you think are missing. You
## License ## License
Copyright (C) 2016-2023 Eugen Rochko & other Mastodon contributors (see [AUTHORS.md](AUTHORS.md)) Copyright (C) 2016-2024 Eugen Rochko & other Mastodon contributors (see [AUTHORS.md](AUTHORS.md))
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

View File

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

13
Vagrantfile vendored
View File

@ -10,7 +10,11 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-add-repository 'deb https://dl.yarnpkg.com/debian/ stable main' sudo apt-add-repository 'deb https://dl.yarnpkg.com/debian/ stable main'
# Add repo for NodeJS # Add repo for NodeJS
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash - sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
# Add firewall rule to redirect 80 to PORT and save # Add firewall rule to redirect 80 to PORT and save
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port #{ENV["PORT"]} sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port #{ENV["PORT"]}
@ -112,11 +116,11 @@ bundle install
# Install node modules # Install node modules
sudo corepack enable sudo corepack enable
yarn set version classic corepack prepare
yarn install yarn install
# Build Mastodon # Build Mastodon
export RAILS_ENV=development export RAILS_ENV=development
export $(cat ".env.vagrant" | xargs) export $(cat ".env.vagrant" | xargs)
bundle exec rails db:setup bundle exec rails db:setup
@ -169,6 +173,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Otherwise, you can access the site at http://localhost:3000 and http://localhost:4000 , http://localhost:8080 # Otherwise, you can access the site at http://localhost:3000 and http://localhost:4000 , http://localhost:8080
config.vm.network :forwarded_port, guest: 3000, host: 3000 config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.network :forwarded_port, guest: 3035, host: 3035
config.vm.network :forwarded_port, guest: 4000, host: 4000 config.vm.network :forwarded_port, guest: 4000, host: 4000
config.vm.network :forwarded_port, guest: 8080, host: 8080 config.vm.network :forwarded_port, guest: 8080, host: 8080
config.vm.network :forwarded_port, guest: 9200, host: 9200 config.vm.network :forwarded_port, guest: 9200, host: 9200
@ -184,7 +189,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.post_up_message = <<MESSAGE config.vm.post_up_message = <<MESSAGE
To start server To start server
$ vagrant ssh -c "cd /vagrant && foreman start" $ vagrant ssh -c "cd /vagrant && bin/dev"
MESSAGE MESSAGE
end end

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -18,8 +18,6 @@ class AccountsController < ApplicationController
respond_to do |format| respond_to do |format|
format.html do format.html do
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.hour) 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 end
format.rss do format.rss do
@ -27,7 +25,7 @@ class AccountsController < ApplicationController
limit = params[:limit].present? ? [params[:limit].to_i, PAGE_SIZE_MAX].min : PAGE_SIZE limit = params[:limit].present? ? [params[:limit].to_i, PAGE_SIZE_MAX].min : PAGE_SIZE
@statuses = filtered_statuses.without_reblogs.limit(limit) @statuses = filtered_statuses.without_reblogs.limit(limit)
@statuses = cache_collection(@statuses, Status) @statuses = preload_collection(@statuses, Status)
end end
format.json do format.json do
@ -48,11 +46,11 @@ class AccountsController < ApplicationController
end end
def default_statuses def default_statuses
@account.statuses.where(visibility: [:public, :unlisted]) @account.statuses.distributable_visibility
end end
def only_media_scope def only_media_scope
Status.joins(:media_attachments).merge(@account.media_attachments.reorder(nil)).group(:id) Status.joins(:media_attachments).merge(@account.media_attachments).group(:id)
end end
def no_replies_scope def no_replies_scope
@ -84,29 +82,21 @@ class AccountsController < ApplicationController
short_account_url(@account, format: 'rss') short_account_url(@account, format: 'rss')
end end
end end
helper_method :rss_url
def media_requested? def media_requested?
request.path.split('.').first.end_with?('/media') && !tag_requested? path_without_format.end_with?('/media') && !tag_requested?
end end
def replies_requested? def replies_requested?
request.path.split('.').first.end_with?('/with_replies') && !tag_requested? path_without_format.end_with?('/with_replies') && !tag_requested?
end end
def tag_requested? def tag_requested?
request.path.split('.').first.end_with?(Addressable::URI.parse("/tagged/#{params[:tag]}").normalize) path_without_format.end_with?(Addressable::URI.parse("/tagged/#{params[:tag]}").normalize)
end end
def cached_filtered_status_page def path_without_format
cache_collection_paginated_by_id( request.path.split('.').first
filtered_statuses,
Status,
PAGE_SIZE,
params_slice(:max_id, :min_id, :since_id)
)
end
def params_slice(*keys)
params.slice(*keys).permit(*keys)
end end
end end

View File

@ -1,6 +1,9 @@
# frozen_string_literal: true # frozen_string_literal: true
class ActivityPub::BaseController < Api::BaseController class ActivityPub::BaseController < Api::BaseController
include SignatureVerification
include AccountOwnedConcern
skip_before_action :require_authenticated_user! skip_before_action :require_authenticated_user!
skip_before_action :require_not_suspended! skip_before_action :require_not_suspended!
skip_around_action :set_locale skip_around_action :set_locale

View File

@ -1,9 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class ActivityPub::ClaimsController < ActivityPub::BaseController class ActivityPub::ClaimsController < ActivityPub::BaseController
include SignatureVerification
include AccountOwnedConcern
skip_before_action :authenticate_user! skip_before_action :authenticate_user!
before_action :require_account_signature! before_action :require_account_signature!

View File

@ -1,9 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class ActivityPub::CollectionsController < ActivityPub::BaseController class ActivityPub::CollectionsController < ActivityPub::BaseController
include SignatureVerification
include AccountOwnedConcern
vary_by -> { 'Signature' if authorized_fetch_mode? } vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!, if: :authorized_fetch_mode? before_action :require_account_signature!, if: :authorized_fetch_mode?
@ -21,7 +18,7 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController
def set_items def set_items
case params[:id] case params[:id]
when 'featured' when 'featured'
@items = for_signed_account { cache_collection(@account.pinned_statuses, Status) } @items = for_signed_account { preload_collection(@account.pinned_statuses, Status) }
@items = @items.map { |item| item.distributable? ? item : ActivityPub::TagManager.instance.uri_for(item) } @items = @items.map { |item| item.distributable? ? item : ActivityPub::TagManager.instance.uri_for(item) }
when 'tags' when 'tags'
@items = for_signed_account { @account.featured_tags } @items = for_signed_account { @account.featured_tags }

View File

@ -1,9 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class ActivityPub::FollowersSynchronizationsController < ActivityPub::BaseController class ActivityPub::FollowersSynchronizationsController < ActivityPub::BaseController
include SignatureVerification
include AccountOwnedConcern
vary_by -> { 'Signature' if authorized_fetch_mode? } vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature! before_action :require_account_signature!
@ -24,7 +21,7 @@ class ActivityPub::FollowersSynchronizationsController < ActivityPub::BaseContro
end end
def set_items def set_items
@items = @account.followers.where(Account.arel_table[:uri].matches("#{Account.sanitize_sql_like(uri_prefix)}/%", false, true)).or(@account.followers.where(uri: uri_prefix)).pluck(:uri) @items = @account.followers.matches_uri_prefix(uri_prefix).pluck(:uri)
end end
def collection_presenter def collection_presenter

View File

@ -1,9 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
class ActivityPub::InboxesController < ActivityPub::BaseController class ActivityPub::InboxesController < ActivityPub::BaseController
include SignatureVerification
include JsonLdHelper include JsonLdHelper
include AccountOwnedConcern
before_action :skip_unknown_actor_activity before_action :skip_unknown_actor_activity
before_action :require_actor_signature! before_action :require_actor_signature!
@ -24,7 +22,7 @@ class ActivityPub::InboxesController < ActivityPub::BaseController
def unknown_affected_account? def unknown_affected_account?
json = Oj.load(body, mode: :strict) json = Oj.load(body, mode: :strict)
json.is_a?(Hash) && %w(Delete Update).include?(json['type']) && json['actor'].present? && json['actor'] == value_or_id(json['object']) && !Account.where(uri: json['actor']).exists? json.is_a?(Hash) && %w(Delete Update).include?(json['type']) && json['actor'].present? && json['actor'] == value_or_id(json['object']) && !Account.exists?(uri: json['actor'])
rescue Oj::ParseError rescue Oj::ParseError
false false
end end
@ -62,11 +60,10 @@ class ActivityPub::InboxesController < ActivityPub::BaseController
return if raw_params.blank? || ENV['DISABLE_FOLLOWERS_SYNCHRONIZATION'] == 'true' || signed_request_account.nil? return if raw_params.blank? || ENV['DISABLE_FOLLOWERS_SYNCHRONIZATION'] == 'true' || signed_request_account.nil?
# Re-using the syntax for signature parameters # Re-using the syntax for signature parameters
tree = SignatureParamsParser.new.parse(raw_params) params = SignatureParser.parse(raw_params)
params = SignatureParamsTransformer.new.apply(tree)
ActivityPub::PrepareFollowersSynchronizationService.new.call(signed_request_account, params) ActivityPub::PrepareFollowersSynchronizationService.new.call(signed_request_account, params)
rescue Parslet::ParseFailed rescue SignatureParser::ParsingError
Rails.logger.warn 'Error parsing Collection-Synchronization header' Rails.logger.warn 'Error parsing Collection-Synchronization header'
end end

View File

@ -3,9 +3,6 @@
class ActivityPub::OutboxesController < ActivityPub::BaseController class ActivityPub::OutboxesController < ActivityPub::BaseController
LIMIT = 20 LIMIT = 20
include SignatureVerification
include AccountOwnedConcern
vary_by -> { 'Signature' if authorized_fetch_mode? || page_requested? } vary_by -> { 'Signature' if authorized_fetch_mode? || page_requested? }
before_action :require_account_signature!, if: :authorized_fetch_mode? before_action :require_account_signature!, if: :authorized_fetch_mode?
@ -63,7 +60,7 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
def set_statuses def set_statuses
return unless page_requested? return unless page_requested?
@statuses = cache_collection_paginated_by_id( @statuses = preload_collection_paginated_by_id(
AccountStatusesFilter.new(@account, signed_request_account).results, AccountStatusesFilter.new(@account, signed_request_account).results,
Status, Status,
LIMIT, LIMIT,

View File

@ -1,9 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
class ActivityPub::RepliesController < ActivityPub::BaseController class ActivityPub::RepliesController < ActivityPub::BaseController
include SignatureVerification
include Authorization include Authorization
include AccountOwnedConcern
DESCENDANTS_LIMIT = 60 DESCENDANTS_LIMIT = 60
@ -33,7 +31,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
def set_replies def set_replies
@replies = only_other_accounts? ? Status.where.not(account_id: @account.id).joins(:account).merge(Account.without_suspended) : @account.statuses @replies = only_other_accounts? ? Status.where.not(account_id: @account.id).joins(:account).merge(Account.without_suspended) : @account.statuses
@replies = @replies.where(in_reply_to_id: @status.id, visibility: [:public, :unlisted]) @replies = @replies.distributable_visibility.where(in_reply_to_id: @status.id)
@replies = @replies.paginate_by_min_id(DESCENDANTS_LIMIT, params[:min_id]) @replies = @replies.paginate_by_min_id(DESCENDANTS_LIMIT, params[:min_id])
end end

View File

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

View File

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

View File

@ -128,7 +128,7 @@ module Admin
def unblock_email def unblock_email
authorize @account, :unblock_email? authorize @account, :unblock_email?
CanonicalEmailBlock.where(reference_account: @account).delete_all CanonicalEmailBlock.matching_account(@account).delete_all
log_action :unblock_email, @account log_action :unblock_email, @account

View File

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

View File

@ -3,11 +3,11 @@
module Admin module Admin
class ConfirmationsController < BaseController class ConfirmationsController < BaseController
before_action :set_user before_action :set_user
before_action :check_confirmation, only: [:resend] before_action :redirect_confirmed_user, only: [:resend], if: :user_confirmed?
def create def create
authorize @user, :confirm? authorize @user, :confirm?
@user.confirm! @user.mark_email_as_confirmed!
log_action :confirm, @user log_action :confirm, @user
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end
@ -25,11 +25,13 @@ module Admin
private private
def check_confirmation def redirect_confirmed_user
if @user.confirmed? flash[:error] = I18n.t('admin.accounts.resend_confirmation.already_confirmed')
flash[:error] = I18n.t('admin.accounts.resend_confirmation.already_confirmed') redirect_to admin_accounts_path
redirect_to admin_accounts_path end
end
def user_confirmed?
@user.confirmed?
end end
end end
end end

View File

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

View File

@ -25,6 +25,8 @@ class Admin::DomainAllowsController < Admin::BaseController
def destroy def destroy
authorize @domain_allow, :destroy? authorize @domain_allow, :destroy?
UnallowDomainService.new.call(@domain_allow) UnallowDomainService.new.call(@domain_allow)
log_action :destroy, @domain_allow
redirect_to admin_instances_path, notice: I18n.t('admin.domain_allows.destroyed_msg') redirect_to admin_instances_path, notice: I18n.t('admin.domain_allows.destroyed_msg')
end end

View File

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

View File

@ -38,9 +38,9 @@ module Admin
log_action :create, @email_domain_block log_action :create, @email_domain_block
(@email_domain_block.other_domains || []).uniq.each do |domain| (@email_domain_block.other_domains || []).uniq.each do |domain|
next if EmailDomainBlock.where(domain: domain).exists? next if EmailDomainBlock.exists?(domain: domain)
other_email_domain_block = EmailDomainBlock.create!(domain: domain, parent: @email_domain_block) other_email_domain_block = EmailDomainBlock.create!(domain: domain, allow_with_approval: @email_domain_block.allow_with_approval, parent: @email_domain_block)
log_action :create, other_email_domain_block log_action :create, other_email_domain_block
end end
end end
@ -65,7 +65,7 @@ module Admin
end end
def resource_params def resource_params
params.require(:email_domain_block).permit(:domain, other_domains: []) params.require(:email_domain_block).permit(:domain, :allow_with_approval, other_domains: [])
end end
def form_email_domain_block_batch_params def form_email_domain_block_batch_params

View File

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

View File

@ -4,7 +4,7 @@ require 'csv'
module Admin module Admin
class ExportDomainBlocksController < BaseController class ExportDomainBlocksController < BaseController
include AdminExportControllerConcern include Admin::ExportControllerConcern
before_action :set_dummy_import!, only: [:new] before_action :set_dummy_import!, only: [:new]
@ -49,7 +49,7 @@ module Admin
next next
end end
@warning_domains = Instance.where(domain: @domain_blocks.map(&:domain)).where('EXISTS (SELECT 1 FROM follows JOIN accounts ON follows.account_id = accounts.id OR follows.target_account_id = accounts.id WHERE accounts.domain = instances.domain)').pluck(:domain) @warning_domains = instances_from_imported_blocks.pluck(:domain)
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing
flash.now[:alert] = I18n.t('admin.export_domain_blocks.no_file') flash.now[:alert] = I18n.t('admin.export_domain_blocks.no_file')
set_dummy_import! set_dummy_import!
@ -58,6 +58,10 @@ module Admin
private private
def instances_from_imported_blocks
Instance.with_domain_follows(@domain_blocks.map(&:domain))
end
def export_filename def export_filename
'domain_blocks.csv' 'domain_blocks.csv'
end end
@ -68,7 +72,7 @@ module Admin
def export_data def export_data
CSV.generate(headers: export_headers, write_headers: true) do |content| CSV.generate(headers: export_headers, write_headers: true) do |content|
DomainBlock.with_limitations.each do |instance| DomainBlock.with_limitations.order(id: :asc).each do |instance|
content << [instance.domain, instance.severity, instance.reject_media, instance.reject_reports, instance.public_comment, instance.obfuscate] content << [instance.domain, instance.severity, instance.reject_media, instance.reject_reports, instance.public_comment, instance.obfuscate]
end end
end end

View File

@ -8,7 +8,7 @@ module Admin
authorize :follow_recommendation, :show? authorize :follow_recommendation, :show?
@form = Form::AccountBatch.new @form = Form::AccountBatch.new
@accounts = filtered_follow_recommendations @accounts = filtered_follow_recommendations.page(params[:page])
end end
def update def update

View File

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

View File

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

View File

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

View File

@ -53,7 +53,7 @@ module Admin
end end
def resource_params def resource_params
params.require(:rule).permit(:text, :priority) params.require(:rule).permit(:text, :hint, :priority)
end end
end end
end end

View File

@ -9,7 +9,7 @@ module Admin
@site_upload.destroy! @site_upload.destroy!
redirect_to admin_settings_path, notice: I18n.t('admin.site_uploads.destroyed_msg') redirect_back fallback_location: admin_settings_path, notice: I18n.t('admin.site_uploads.destroyed_msg')
end end
private private

View File

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

View File

@ -4,9 +4,12 @@ class Api::BaseController < ApplicationController
DEFAULT_STATUSES_LIMIT = 20 DEFAULT_STATUSES_LIMIT = 20
DEFAULT_ACCOUNTS_LIMIT = 40 DEFAULT_ACCOUNTS_LIMIT = 40
include RateLimitHeaders include Api::RateLimitHeaders
include AccessTokenTrackingConcern include Api::AccessTokenTrackingConcern
include ApiCachingConcern include Api::CachingConcern
include Api::ContentSecurityPolicy
include Api::ErrorHandling
include Api::Pagination
skip_before_action :require_functional!, unless: :limited_federation_mode? skip_before_action :require_functional!, unless: :limited_federation_mode?
@ -17,73 +20,8 @@ class Api::BaseController < ApplicationController
protect_from_forgery with: :null_session protect_from_forgery with: :null_session
content_security_policy do |p|
# Set every directive that does not have a fallback
p.default_src :none
p.frame_ancestors :none
p.form_action :none
# Disable every directive with a fallback to cut on response size
p.base_uri false
p.font_src false
p.img_src false
p.style_src false
p.media_src false
p.frame_src false
p.manifest_src false
p.connect_src false
p.script_src false
p.child_src false
p.worker_src false
end
rescue_from ActiveRecord::RecordInvalid, Mastodon::ValidationError do |e|
render json: { error: e.to_s }, status: 422
end
rescue_from ActiveRecord::RecordNotUnique do
render json: { error: 'Duplicate record' }, status: 422
end
rescue_from Date::Error do
render json: { error: 'Invalid date supplied' }, status: 422
end
rescue_from ActiveRecord::RecordNotFound do
render json: { error: 'Record not found' }, status: 404
end
rescue_from HTTP::Error, Mastodon::UnexpectedResponseError do
render json: { error: 'Remote data could not be fetched' }, status: 503
end
rescue_from OpenSSL::SSL::SSLError do
render json: { error: 'Remote SSL certificate could not be verified' }, status: 503
end
rescue_from Mastodon::NotPermittedError do
render json: { error: 'This action is not allowed' }, status: 403
end
rescue_from Seahorse::Client::NetworkingError do |e|
Rails.logger.warn "Storage server error: #{e}"
render json: { error: 'There was a temporary problem serving your request, please try again' }, status: 503
end
rescue_from Mastodon::RaceConditionError, Stoplight::Error::RedLight do
render json: { error: 'There was a temporary problem serving your request, please try again' }, status: 503
end
rescue_from Mastodon::RateLimitExceededError do
render json: { error: I18n.t('errors.429') }, status: 429
end
rescue_from ActionController::ParameterMissing, Mastodon::InvalidParameterError do |e|
render json: { error: e.to_s }, status: 400
end
def doorkeeper_unauthorized_render_options(error: nil) def doorkeeper_unauthorized_render_options(error: nil)
{ json: { error: (error.try(:description) || 'Not authorized') } } { json: { error: error.try(:description) || 'Not authorized' } }
end end
def doorkeeper_forbidden_render_options(*) def doorkeeper_forbidden_render_options(*)
@ -92,13 +30,6 @@ class Api::BaseController < ApplicationController
protected protected
def set_pagination_headers(next_path = nil, prev_path = nil)
links = []
links << [next_path, [%w(rel next)]] if next_path
links << [prev_path, [%w(rel prev)]] if prev_path
response.headers['Link'] = LinkHeader.new(links) unless links.empty?
end
def limit_param(default_limit) def limit_param(default_limit)
return default_limit unless params[:limit] return default_limit unless params[:limit]
@ -124,7 +55,7 @@ class Api::BaseController < ApplicationController
end end
def require_not_suspended! def require_not_suspended!
render json: { error: 'Your login is currently disabled' }, status: 403 if current_user&.account&.suspended? render json: { error: 'Your login is currently disabled' }, status: 403 if current_user&.account&.unavailable?
end end
def require_user! def require_user!

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Accounts::CredentialsController < Api::BaseController class Api::V1::Accounts::CredentialsController < Api::BaseController
before_action -> { doorkeeper_authorize! :read, :'read:accounts' }, except: [:update] before_action -> { doorkeeper_authorize! :read, :'read:accounts', :'read:me' }, except: [:update]
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, only: [:update] before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, only: [:update]
before_action :require_user! before_action :require_user!
@ -16,6 +16,8 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
current_user.update(user_params) if user_params current_user.update(user_params) if user_params
ActivityPub::UpdateDistributionWorker.perform_async(@account.id) ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
render json: @account, serializer: REST::CredentialAccountSerializer render json: @account, serializer: REST::CredentialAccountSerializer
rescue ActiveRecord::RecordInvalid => e
render json: ValidationErrorFormatter.new(e).as_json, status: 422
end end
private private

View File

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

View File

@ -21,16 +21,16 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
return [] if hide_results? return [] if hide_results?
scope = default_accounts scope = default_accounts
scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil? || current_account.id == @account.id scope = scope.not_excluded_by_account(current_account) unless current_account.nil? || current_account.id == @account.id
scope.merge(paginated_follows).to_a scope.merge(paginated_follows).to_a
end end
def hide_results? def hide_results?
@account.suspended? || (@account.hides_followers? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account)) @account.unavailable? || (@account.hides_followers? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account))
end end
def default_accounts def default_accounts
Account.includes(:active_relationships, :account_stat).references(:active_relationships) Account.includes(:active_relationships, :account_stat, :user).references(:active_relationships)
end end
def paginated_follows def paginated_follows
@ -41,10 +41,6 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
) )
end end
def insert_pagination_headers
set_pagination_headers(next_path, prev_path)
end
def next_path def next_path
api_v1_account_followers_url pagination_params(max_id: pagination_max_id) if records_continue? api_v1_account_followers_url pagination_params(max_id: pagination_max_id) if records_continue?
end end

View File

@ -21,16 +21,16 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
return [] if hide_results? return [] if hide_results?
scope = default_accounts scope = default_accounts
scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil? || current_account.id == @account.id scope = scope.not_excluded_by_account(current_account) unless current_account.nil? || current_account.id == @account.id
scope.merge(paginated_follows).to_a scope.merge(paginated_follows).to_a
end end
def hide_results? def hide_results?
@account.suspended? || (@account.hides_following? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account)) @account.unavailable? || (@account.hides_following? && current_account&.id != @account.id) || (current_account && @account.blocking?(current_account))
end end
def default_accounts def default_accounts
Account.includes(:passive_relationships, :account_stat).references(:passive_relationships) Account.includes(:passive_relationships, :account_stat, :user).references(:passive_relationships)
end end
def paginated_follows def paginated_follows
@ -41,10 +41,6 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
) )
end end
def insert_pagination_headers
set_pagination_headers(next_path, prev_path)
end
def next_path def next_path
api_v1_account_following_index_url pagination_params(max_id: pagination_max_id) if records_continue? api_v1_account_following_index_url pagination_params(max_id: pagination_max_id) if records_continue?
end end

View File

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

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