Compare commits

...
Sign in to create a new pull request.

853 commits

Author SHA1 Message Date
972e89558c revert 03818781b6
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
revert EN translation edit
2025-06-15 06:34:57 +02:00
b7b57bcc1a fix
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-15 06:34:25 +02:00
d7f7a2ed7f Fix
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-15 06:34:07 +02:00
de70fca70d Followed tags + dir
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-15 06:33:48 +02:00
8c73a671ab revert 750f5f4885
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
revert EN translation edit
2025-06-15 06:25:35 +02:00
9f711f854a revert 69fb60271d
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
revert Followed Tags + Profile dir
2025-06-15 04:49:58 +02:00
Mario
69fb60271d Followed Tags + Profile dir
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-14 20:56:08 -04:00
Mario
ebcd0950fd Set max trending tags 2025-06-14 20:45:06 -04:00
Mario
c3ff0887d5 En edit
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-14 19:31:47 -04:00
Mario
4eb1c8305c En edit
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-14 19:16:12 -04:00
Mario
03818781b6 EN translation edit
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-14 19:03:23 -04:00
Mario
f677d534dc JP to EN 2025-06-14 18:46:56 -04:00
Mario
51c8f9592e env production sample 2025-06-14 13:11:54 -04:00
Mario
1f8b3fcc92 Max Chars set via env
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-14 13:10:05 -04:00
Mario
bb7024bf3f Set chars via env
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-14 12:12:06 -04:00
db3dc2ab83 revert 16a2f4fb9e
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
revert Top posts test
2025-06-14 00:31:50 +02:00
820fff38d7 revert 5c5a35be24
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
revert Fix
2025-06-14 00:31:35 +02:00
3f9dc3747b revert 2af5f750ad
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
revert fix 2
2025-06-14 00:31:15 +02:00
d7a8574c6e revert 3f97292e58
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
revert fix 3
2025-06-14 00:30:33 +02:00
Mario
3f97292e58 fix 3
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-12 20:09:39 -04:00
Mario
2af5f750ad fix 2
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-12 20:07:10 -04:00
Mario
5c5a35be24 Fix
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-12 20:04:43 -04:00
Mario
16a2f4fb9e Top posts test
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-12 20:00:16 -04:00
Mario
725811a2e3 Set new icons
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-12 19:17:16 -04:00
41a7f3427c Update README.md
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / Libvips tests (push) Blocked by required conditions
Ruby Testing / End to End testing (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (push) Blocked by required conditions
Ruby Testing / Back to original and return test (push) Blocked by required conditions
2025-06-13 00:59:08 +02:00
KMY(雪あすか)
620a895184
Merge pull request #1002 from kmycode/upstream-20250416
Upstream 20250416
2025-04-24 07:44:58 +09:00
KMY
94eb912030 Merge commit 'a324edabdf' into upstream-20250416 2025-04-24 07:27:26 +09:00
renovate[bot]
a324edabdf
chore(deps): update dependency ruby to v3.4.3 (#34459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-16 06:53:05 +00:00
Matt Jankowski
2fc38f524e
Use bundler version 2.6.8 (#34453) 2025-04-16 06:40:25 +00:00
Eugen Rochko
ff0990ec9f
Add REST API for fetching an account's endorsed accounts (#34421) 2025-04-16 05:39:20 +00:00
github-actions[bot]
ba0bd3da4a
New Crowdin Translations (automated) (#34456)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-15 09:19:49 +00:00
renovate[bot]
f115c7b3a2
chore(deps): update yarn to v4.9.1 (#34451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 09:02:21 +00:00
Matt Jankowski
2eaef09166
Use enum validation instead of ArgumentError rescue for List replies policy check (#34452) 2025-04-14 21:11:10 +00:00
SASAGAWA Hiroto
5991caae87
Disable kerning for Japanese text to preserve monospaced alignment for readability (#34448) 2025-04-14 10:57:21 +00:00
KMY(雪あすか)
5e61c1cf74
Merge pull request #1000 from kmycode/upstream-20250414
Upstream 20250414
2025-04-14 17:43:33 +09:00
KMY
6530844c94 Fix: フルダークで文字が薄く表示される問題 2025-04-14 16:50:41 +09:00
renovate[bot]
abcb9b8a61
chore(deps): update yarn to v4.9.0 (#34410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 07:31:44 +00:00
Eugen Rochko
f47ad7814a
Fix "Feature on profile" option on profile dropdown menu in web UI (#34422) 2025-04-14 07:29:44 +00:00
Matt Jankowski
aadff24099
Enable validate: true on CustomFilter#action (#34434) 2025-04-14 07:28:11 +00:00
github-actions[bot]
6d94c9f4e7
New Crowdin Translations (automated) (#34437)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-14 07:17:58 +00:00
renovate[bot]
3d2f47498e
fix(deps): update dependency marky to v1.3.0 (#34449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 07:10:20 +00:00
renovate[bot]
20f4b76389
fix(deps): update dependency ioredis to v5.6.1 (#34442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 07:07:34 +00:00
renovate[bot]
0f26ab9eee
chore(deps): update dependency csv to v3.3.4 (#34445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 06:52:43 +00:00
renovate[bot]
e991a3c757
fix(deps): update dependency jsdom to v26.1.0 (#34446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 06:52:39 +00:00
KMY
ebc6c9d6fb Fix test 2025-04-14 13:40:53 +09:00
KMY
dba5f3b93f Merge remote-tracking branch 'parent/main' into upstream-20250414 2025-04-14 13:23:00 +09:00
Eugen Rochko
a9cfaa6eed
Add dropdown menu to hashtag links in web UI (#34393) 2025-04-11 10:50:46 +00:00
Claire
a296facdea
Fix empty menu section in status dropdown (#34431) 2025-04-11 10:47:05 +00:00
Claire
00cd218741
Add paragraph to tell admins that email announcements cannot be opted out (#34411) 2025-04-11 09:52:23 +00:00
renovate[bot]
eb695e6b17
chore(deps): update dependency dotenv to v3.1.8 (#34417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 09:43:58 +00:00
Claire
5bf6b82625
Fix editing and redrafting polls (#34430) 2025-04-11 09:35:36 +00:00
renovate[bot]
720889cc97
fix(deps): update dependency dotenv to v16.5.0 (#34425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 09:28:44 +00:00
Claire
23edac59ec
Fix dropdown menus not working on mobile (#34428) 2025-04-11 09:28:25 +00:00
github-actions[bot]
7d50942b36
New Crowdin Translations (automated) (#34424)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-11 08:16:00 +00:00
Matt Jankowski
e753776930
Fix Style/HashTransformValues cop (#34416) 2025-04-11 08:09:40 +00:00
Essem
1d7b45093d
Fix notification request screen breaking due to dropdown (#34423) 2025-04-11 04:27:12 +00:00
Echo
d43bfa95aa
Adds featured tab to web (#34405) 2025-04-10 15:40:30 +00:00
Claire
678c8dfeec
Refactor StatusCacheHydrator (#34414) 2025-04-10 14:34:27 +00:00
Eugen Rochko
5d817a758d
Add dropdown to lists of accounts in web UI (#34391) 2025-04-10 14:02:52 +00:00
Matt Jankowski
de19af3650
Extract frontend_translations helper to support module (#34400) 2025-04-10 13:51:17 +00:00
Matt Jankowski
4c2f64907b
Remove deprecated Import model (#34371) 2025-04-10 12:49:24 +00:00
renovate[bot]
e74d682b21
chore(deps): update dependency linzer to v0.6.5 (#34409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 07:02:44 +00:00
github-actions[bot]
a89ddcfd2d
New Crowdin Translations (automated) (#34407)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-10 07:01:39 +00:00
Matt Jankowski
6deadd596d
Remove deprecated single-argument variation of UnfilterNotificationsWorker (#33353) 2025-04-09 13:42:57 +00:00
github-actions[bot]
498372fd06
New Crowdin Translations (automated) (#34403)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-09 07:57:18 +00:00
Eugen Rochko
22d33244ee
Refactor <Dropdown> into TypeScript (#34357)
Co-authored-by: Echo <ChaosExAnima@users.noreply.github.com>
2025-04-08 19:22:19 +00:00
Eugen Rochko
b7c3235349
Change alt text modal to use spring animations in web UI (#34345) 2025-04-08 19:22:05 +00:00
Eugen Rochko
0e5be63fb3
Change unfollow button label from "Mutual" to "Unfollow" in web UI (#34392) 2025-04-08 16:28:14 +00:00
Eugen Rochko
6a39f00745
Refactor <FavouritedStatuses> and <BookmarkedStatuses> into TypeScript (#34356) 2025-04-08 16:06:31 +00:00
Eugen Rochko
bdf9baa2e8
Refactor <FollowedTags> into TypeScript (#34355) 2025-04-08 16:06:23 +00:00
renovate[bot]
887336f2c6
fix(deps): update dependency tesseract.js to v6.0.1 (#34388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 14:58:42 +00:00
Claire
f66d092b32
Fix usage of incorrect API endpoint for suggestion deletion (#34398) 2025-04-08 14:49:49 +00:00
Claire
36afb4557a
Fix incorrect deprecation warning for DELETE /api/v1/suggestions/:id (#34397) 2025-04-08 14:32:17 +00:00
KMY(雪あすか)
1a77619150
Fix: 利用規約が表示できない問題 (#999) 2025-04-08 20:15:48 +09:00
Renaud Chaput
d81983f181
Fix the delete suggestion button not working and using a deprecated endpoint (#34396) 2025-04-08 10:35:54 +00:00
Claire
ebfd48b0f2
Remove 4.1 support from SECURITY.md (#34386) 2025-04-08 07:18:52 +00:00
github-actions[bot]
f31b533435
New Crowdin Translations (automated) (#34395)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-08 06:46:46 +00:00
renovate[bot]
94ae96b9bc
chore(deps): update dependency haml_lint to v0.62.0 (#34394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 06:29:21 +00:00
Echo
ff7230df06
Forces radio buttons to be correctly centred (#34389) 2025-04-07 10:56:30 +00:00
Echo
54aefa9014
Fix visual glitches with filtering posts (#34387) 2025-04-07 10:55:04 +00:00
Claire
264ecdcc13
Bump version to v4.3.7 (#34385) 2025-04-07 09:31:00 +00:00
github-actions[bot]
9a05688326
New Crowdin Translations (automated) (#34374)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-07 06:45:26 +00:00
renovate[bot]
0b900339b0
chore(deps): update dependency selenium-webdriver to v4.31.0 (#34379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 06:42:52 +00:00
renovate[bot]
8451b36a72
chore(deps): update dependency doorkeeper to v5.8.2 (#34372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 06:40:32 +00:00
renovate[bot]
107a94cf6b
chore(deps): update dependency brakeman to v7.0.2 (#34376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 06:31:06 +00:00
renovate[bot]
b4317faee2
chore(deps): update dependency linzer to v0.6.4 (#34377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 06:30:53 +00:00
renovate[bot]
5f87ae101c
chore(deps): update dependency strong_migrations to v2.3.0 (#34369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 08:17:29 +00:00
renovate[bot]
4ed9778c85
chore(deps): update dependency brakeman to v7.0.1 (#34367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 07:36:53 +00:00
renovate[bot]
9b596dbc78
fix(deps): update dependency sass to v1.86.3 (#34368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 07:24:51 +00:00
Matt Jankowski
4d3758308a
Use bundler version 2.6.7 (#34362) 2025-04-04 07:24:32 +00:00
github-actions[bot]
58e3e43e06
New Crowdin Translations (automated) (#34366)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-04 07:24:27 +00:00
renovate[bot]
5859abf2ff
chore(deps): update dependency rubocop to v1.75.2 (#34364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 15:49:14 +00:00
renovate[bot]
d65c3e95ad
chore(deps): update dependency irb to v1.15.2 (#34363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 15:49:10 +00:00
KMY(雪あすか)
a28c80f6e6
Fix: ライトテーマでの絵文字リアクションの色が暗い問題 (#998) 2025-04-03 20:18:47 +09:00
github-actions[bot]
e1d6748422
New Crowdin Translations (automated) (#34360)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-03 08:42:19 +00:00
KMY(雪あすか)
9ff74ae6da
Merge pull request #997 from kmycode/upstream-20250403
Upstream 20250403
2025-04-03 17:35:12 +09:00
renovate[bot]
7b9ad2c416
fix(deps): update dependency sass to v1.86.2 (#34358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 08:28:53 +00:00
KMY
6686142f9e Fix lint 2025-04-03 09:13:36 +09:00
KMY
948f17ae4f Fix lint 2025-04-03 09:00:13 +09:00
KMY
8f66bef72a Fix lint 2025-04-03 08:53:53 +09:00
KMY
32f5604499 Merge remote-tracking branch 'parent/main' into upstream-20250403 2025-04-03 08:36:36 +09:00
Claire
dd23ba9c83
Refactor local-URI-to-account resolving (#34349) 2025-04-02 14:44:09 +00:00
renovate[bot]
4bbe33e0bd
fix(deps): update dependency sass to v1.86.1 (#34334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 14:43:45 +00:00
renovate[bot]
470285d815
chore(deps): update yarn to v4.8.1 (#34305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 14:43:40 +00:00
renovate[bot]
361a6a21ba
fix(deps): update dependency react-textarea-autosize to v8.5.9 (#34322)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 14:10:52 +00:00
Matt Jankowski
d315a90db7
Convert settings/pictures spec controller->request (#34340) 2025-04-02 12:58:47 +00:00
Matt Jankowski
501ced4239
Add coverage for extra attributes scenario in Admin::Trends::StatusesHelper#one_line_preview method (#34353) 2025-04-02 12:52:54 +00:00
Renaud Chaput
0653374c34
Fix Renovate alert with the now deprecated @types/emoji-mart package (#34352) 2025-04-02 12:39:22 +00:00
Renaud Chaput
05fc24c5f9
Fix Typescript dependency resolution (#34351) 2025-04-02 12:38:34 +00:00
Eugen Rochko
2c70c28bbb
Refactor <DomainBlocks> to TypeScript (#34347)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-04-02 12:31:39 +00:00
David Roetzel
e2ef173b82
Refactoring: Move SignatureVerificationError into Mastodon namespace (#34342) 2025-04-02 07:54:29 +00:00
github-actions[bot]
324acff572
New Crowdin Translations (automated) (#34348)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-02 07:14:45 +00:00
renovate[bot]
d49fcb7ff3
chore(deps): update dependency opentelemetry-instrumentation-sidekiq to v0.26.1 (#34346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 06:45:52 +00:00
Eugen Rochko
063030df82
Refactor <CopyIconButton> to TypeScript (#34344) 2025-04-02 06:45:16 +00:00
Matt Jankowski
6e607f97a3
Extract constant for Poll last fetch duration check (#34341) 2025-04-02 06:43:46 +00:00
Echo
e8270e2807
Upgrade to ESLint v9 flat config (#34324)
Co-authored-by: Nick Schonning <nschonni@gmail.com>
2025-04-01 16:30:18 +00:00
Claire
9686ae7060
Fix static version of animated PNG emojis not being properly extracted (#34337) 2025-04-01 08:53:49 +00:00
renovate[bot]
2283562ebd
chore(deps): update rubocop (non-major) to v1.25.0 (#34335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 06:28:17 +00:00
github-actions[bot]
b2b532708e
New Crowdin Translations (automated) (#34333)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-01 06:20:23 +00:00
renovate[bot]
6211130054
chore(deps): update dependency nokogiri to v1.18.7 (#34332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 06:09:40 +00:00
Echo
65c553ab59
Fix bugs with upload progress (#34325) 2025-03-31 21:05:09 +00:00
Matt Jankowski
b4e56822c7
Fix Style/MapToHash cop (#34327) 2025-03-31 14:08:02 +00:00
Claire
33f3a4c4c8
Fix poll refresh button being incorrectly hidden (#34323) 2025-03-31 08:21:02 +00:00
Eugen Rochko
70e14c1ed0
Fix being unable to hide controls in full screen video in web UI (#34308) 2025-03-31 08:17:57 +00:00
Claire
19346fd5f8
Fix extra space under left-indented vertical videos (#34313) 2025-03-31 08:17:39 +00:00
github-actions[bot]
758d2da887
New Crowdin Translations (automated) (#34311)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-31 07:21:33 +00:00
renovate[bot]
3b5540a437
chore(deps): update dependency linzer to v0.6.3 (#34315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 07:16:54 +00:00
Renaud Chaput
1bc28709cc
Convert the polls reducer to plain JS (#33263) 2025-03-29 20:17:27 +00:00
Claire
04a9252a93
Fix incorrect locked account warning in composer (#34312) 2025-03-29 18:06:46 +00:00
Echo
74ee96505a
Upgrade Intl packages (#34306) 2025-03-28 17:30:02 +00:00
Claire
ee65f77a7e
Add server-side support for grouping account sign-up notifications (#34298) 2025-03-28 12:35:25 +00:00
Echo
902aab1245
Remove react-motion library (#34293) 2025-03-28 12:34:51 +00:00
David Roetzel
97b9994743
Basic FASP support (#34031) 2025-03-28 12:16:40 +00:00
Eugen Rochko
e5fd61a84e
Refactor <Video> to TypeScript (#34284) 2025-03-28 12:15:43 +00:00
github-actions[bot]
e28b64ac2d
New Crowdin Translations (automated) (#34297)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-28 09:47:53 +00:00
Matt Jankowski
dfa4a97dd8
Fix intermittent account note failure by removing disappearing content check (#34296) 2025-03-28 09:24:36 +00:00
Claire
c2defe0e4c
Change account suspensions to be federated to recently-followed accounts as well (#34294) 2025-03-28 09:20:32 +00:00
KMY(雪あすか)
d0fdbbc7f9
Merge pull request #994 from kmycode/upstream-20250328
Upstream 20250328
2025-03-28 12:06:33 +09:00
KMY
12ed20b6d5 Merge remote-tracking branch 'parent/main' into upstream-20250328 2025-03-28 08:44:30 +09:00
Matt Jankowski
0479efdbb6
Fix intermittent failure on account note system spec (#34295) 2025-03-27 15:09:09 +00:00
Matt Jankowski
ef879a532f
Convert activitypub/* controller specs to request specs (#33992) 2025-03-27 14:55:13 +00:00
Matt Jankowski
445aa4ac72
Convert activitypub/inboxes spec controller->request (#34292) 2025-03-27 13:52:48 +00:00
Claire
1326088110
Change AccountReachFinder to consider statuses based on suspension date (#34291) 2025-03-27 13:41:13 +00:00
Echo
8a3bed1933
Fix SASS deprecation notices (#34278) 2025-03-27 13:09:42 +00:00
renovate[bot]
aa575341c2
chore(deps): update dependency rubocop to v1.75.1 (#34286)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 08:19:17 +00:00
github-actions[bot]
99f93e675a
New Crowdin Translations (automated) (#34290)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-27 08:07:54 +00:00
Matt Jankowski
0e3ff680d3
Update rubocop to version 1.75.0 (#34283) 2025-03-27 07:48:19 +00:00
scarf
e9fe01e2a6
feat: use <time> tag (#34131) 2025-03-26 16:14:08 +00:00
Claire
c43508b3e0
Add registrations.reason_required attribute to /api/v2/instance response (#34280) 2025-03-26 14:12:58 +00:00
David Roetzel
02db065571
Use fixed order in flaky spec (#34279) 2025-03-26 13:26:24 +00:00
Claire
59e189ad3c
Add support for paginating partial collections in SynchronizeFollowersService (#34277) 2025-03-26 11:33:59 +00:00
github-actions[bot]
dd6c573cc3
New Crowdin Translations (automated) (#34276)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-26 07:42:25 +00:00
Shlee
803a8be998
Add EXTRA_MEDIA_HOSTS environment variable to add extra hosts to Content-Security-Policy (#34184)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-03-26 07:42:15 +00:00
Claire
c93b2c6809
Add new filter action to blur media (#34256) 2025-03-26 07:31:05 +00:00
Matt Jankowski
2a181f56e3
Convert settings/deletes spec controller->request/system (#34274) 2025-03-26 07:26:28 +00:00
Eugen Rochko
94d71c992e
Refactor alerts to TypeScript, remove react-notification dependency (#34239) 2025-03-25 18:25:07 +00:00
Matt Jankowski
e1dbbf6c9d
Isolate assertions in v2/notifications intermittent failure cases (#34271) 2025-03-25 16:22:41 +00:00
Claire
3edac14f02
Fix follower synchronization mechanism erroneously removing followers from multi-page collections (#34272) 2025-03-25 15:50:05 +00:00
Echo
81b88095b4
Allow devcontainer to be accessed from local network (#34269) 2025-03-25 15:20:56 +00:00
Claire
2eb6d815d6
Fix bookmarks and favourites not being filtered (#34260) 2025-03-25 15:20:36 +00:00
Claire
8c3eeb4d29
Fix filters not applying in detailed view (#34259) 2025-03-25 13:11:49 +00:00
Claire
38f5e74122
Add Deprecation headers on deprecated endpoints (#34262)
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-03-25 12:30:10 +00:00
renovate[bot]
40bb8ec325
chore(deps): update dependency selenium-webdriver to v4.30.1 (#34250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 10:18:00 +00:00
renovate[bot]
ef8f62c382
chore(deps): update dependency mime-types to v3.6.2 (#34266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 09:09:25 +00:00
Matt Jankowski
9bba2aab33
Convert intents spec controller->request (#34261) 2025-03-25 09:07:22 +00:00
renovate[bot]
2453b94198
chore(deps): update dependency nokogiri to v1.18.6 (#34267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 09:06:51 +00:00
github-actions[bot]
90bf67f053
New Crowdin Translations (automated) (#34265)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-25 09:05:59 +00:00
renovate[bot]
2fc4475ea3
fix(deps): update babel monorepo to v7.27.0 (#34263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 08:57:15 +00:00
Eugen Rochko
2e9b2df570
Add double tap to zoom and swipe to dismiss to media modal in web UI (#34210)
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
2025-03-24 17:25:30 +00:00
renovate[bot]
82acef50b0
fix(deps): update dependency sass to v1.86.0 (#34197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 15:46:38 +00:00
Claire
a72c7f6cc1
Fix streaming server refusing unix socket path in DATABASE_URL (#34091) 2025-03-24 14:07:27 +00:00
Claire
958953a687
Refactor spoiler button logic into separate SpoilerButton component (#34257) 2025-03-24 13:58:37 +00:00
Claire
5390edc2aa
Change user archive signed URL TTL from 10 seconds to 1 hour (#34254) 2025-03-24 09:59:05 +00:00
Claire
225b18e742
Add system spec for account notes (#34206) 2025-03-24 09:30:23 +00:00
Claire
ef870007e9
Fix CacheBuster being queued for missing media attachments (#34253) 2025-03-24 08:58:15 +00:00
github-actions[bot]
b892b15ba6
New Crowdin Translations (automated) (#34240)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-24 08:35:40 +00:00
Matt Jankowski
9d3daa847a
Convert filters/statuses spec controller->system/request (#34232) 2025-03-24 08:11:34 +00:00
renovate[bot]
d15879312e
chore(deps): update dependency pghero to v3.6.2 (#34245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 08:10:43 +00:00
renovate[bot]
fe4cf75ece
chore(deps): update dependency strong_migrations to v2.2.1 (#34246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 08:10:29 +00:00
renovate[bot]
0a5bbf5ac6
chore(deps): update definitelytyped types (non-major) (#34247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 08:10:07 +00:00
renovate[bot]
7825cd1bdb
chore(deps): update dependency tzinfo-data to v1.2025.2 (#34248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 08:08:58 +00:00
Eugen Rochko
1960aac90b
Fix display of failed-to-load image attachments in web UI (#34217) 2025-03-21 10:23:49 +00:00
Matt Jankowski
a2981a0997
Convert admin/users/two_factor_authentications spec controller->system (#34216) 2025-03-21 07:41:38 +00:00
Matt Jankowski
469cfc5430
Convert admin/change_emails spec controller->system (#34215) 2025-03-21 07:40:29 +00:00
Matt Jankowski
0284e77e5f
Convert admin/action_logs spec controller->system (#34214) 2025-03-21 07:38:29 +00:00
github-actions[bot]
5eba86e2d1
New Crowdin Translations (automated) (#34231)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-21 07:31:42 +00:00
renovate[bot]
cf25d4fe4b
chore(deps): update dependency haml_lint to v0.61.1 (#34227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 07:07:16 +00:00
renovate[bot]
c03e3129a0
fix(deps): update dependency axios to v1.8.4 (#34219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 15:12:59 +00:00
renovate[bot]
57b9dfd53e
chore(deps): update dependency fog-openstack to v1.1.5 (#34204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 15:12:28 +00:00
David Roetzel
d232fa5b14
Reduce number of metric labels (#34223) 2025-03-20 11:49:10 +00:00
github-actions[bot]
936d3a7de9
New Crowdin Translations (automated) (#34222)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-20 09:32:41 +00:00
renovate[bot]
e44e5d156d
chore(deps): update dependency csv to v3.3.3 (#34220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 08:58:57 +00:00
renovate[bot]
8ddefbd2af
chore(deps): update dependency nokogiri to v1.18.5 (#34218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 08:40:37 +00:00
Claire
290d57d6d9
Prevent duplicate REST API requests on submitting account personal note with ctrl+enter (#34213) 2025-03-19 23:29:26 +00:00
Matt Jankowski
f7b1769e8a
Convert admin/dashboard spec controller->system (#34208) 2025-03-19 08:32:36 +00:00
Matt Jankowski
539a06f189
Convert admin/account_actions spec controller->system (#34207) 2025-03-19 08:20:16 +00:00
github-actions[bot]
ffc568589c
New Crowdin Translations (automated) (#34211)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-19 08:16:25 +00:00
Eugen Rochko
0099907600
Fix error when terms of service are missing an effective date (#34200) 2025-03-18 21:39:13 +00:00
Claire
547658f086
Fix handling of malformed/unusual HTML (#34201) 2025-03-18 14:50:41 +00:00
Matt Jankowski
4ad5d8e6e5
Lock aws-sdk-core to pre-checksum-required version (#34202) 2025-03-18 14:50:28 +00:00
github-actions[bot]
dc21104c04
New Crowdin Translations (automated) (#34178)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-18 14:49:53 +00:00
Claire
9d5cbbbf0f
Fix account notes not being displayed (#34166) 2025-03-18 10:32:35 +00:00
renovate[bot]
6bce43cdb8
chore(deps): update dependency mime-types to v3.6.1 (#34196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 10:32:20 +00:00
Matt Jankowski
795d465f8d
Convert disputes/strikes spec controller->request/system (#34191) 2025-03-18 08:18:36 +00:00
Matt Jankowski
8ef546fe6b
Convert oauth/tokens#revoke spec controller->request (#34174) 2025-03-18 08:16:42 +00:00
Claire
30e334b51a
Fix language detection sometimes kicking in *after* posting (#34193) 2025-03-17 16:49:09 +00:00
Claire
e30001bc80
Fix incorrect URL being used when cache busting (#34189) 2025-03-17 16:40:28 +00:00
renovate[bot]
2a5853989f
fix(deps): update dependency pg to v8.14.1 (#34194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-17 16:27:45 +00:00
David Roetzel
e74774e366
Disable installation of instrumentation hooks (#34192) 2025-03-17 15:50:13 +00:00
renovate[bot]
8c59fbe41b
chore(deps): update dependency nokogiri to v1.18.4 (#34175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-17 10:28:51 +00:00
Matt Jankowski
2f98134ac6
Use bundler version 2.6.6 (#34173) 2025-03-14 15:24:40 +00:00
Eugen Rochko
d213c585ff
Add age verification on sign-up (#34150) 2025-03-14 14:07:29 +00:00
David Roetzel
4a6cf67c46
Add middleware to record queue time (#34172) 2025-03-14 13:52:04 +00:00
Claire
24ec83ee52
Fix timeline banners sizing (#34171) 2025-03-14 11:10:26 +00:00
KMY(雪あすか)
a24031b527
Merge pull request #993 from kmycode/kbtopic-fix-stl-feed
Fix: STL配置判定時、エラーで落ちる問題
2025-03-14 19:14:56 +09:00
rinsuki
2d97215aad
chore: Allow yuvj420p (full color range yuv420p) movies passthrough (#34098) 2025-03-14 09:30:14 +00:00
github-actions[bot]
7a6a898ca1
New Crowdin Translations (automated) (#34170)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-14 09:17:00 +00:00
renovate[bot]
f4f444528a
Update dependency react-textarea-autosize to v8.5.8 (#34169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-14 09:03:20 +00:00
KMY(雪あすか)
6a3c70c4ff
Merge pull request #992 from kmycode/upstream-20250314
Upstream 20250314
2025-03-14 12:22:04 +09:00
KMY
e96c98595f Fix test 2025-03-14 09:02:05 +09:00
KMY
6548462ecb Merge commit '9c2d5b534f' into upstream-20250314 2025-03-14 08:35:27 +09:00
renovate[bot]
9c2d5b534f
Update dependency rubocop to v1.74.0 (#34161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-13 15:49:59 +00:00
renovate[bot]
31250a89b5
Update dependency libvips to v8.16.1 (#34154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-13 15:48:48 +00:00
Claire
7866745a6b
Bump version to v4.3.6 (#34167) 2025-03-13 14:27:20 +00:00
github-actions[bot]
95dcd69542
New Crowdin Translations (automated) (#34157)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-13 12:55:17 +00:00
renovate[bot]
211518b65d
Update dependency omniauth-saml to v2.2.3 [SECURITY] (#34156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-13 08:38:44 +00:00
renovate[bot]
aff5182375
Update dependency rubocop-capybara to v2.22.1 (#34153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-12 17:52:24 +00:00
renovate[bot]
98d703ac91
Update dependency pg to v8.14.0 (#34141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-12 16:25:27 +00:00
renovate[bot]
c59890cda3
Update dependency rails to v8.0.2 (#34145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-12 15:52:09 +00:00
renovate[bot]
2454a81e71
Update dependency axios to v1.8.3 (#34146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-12 15:51:43 +00:00
renovate[bot]
41e8eaa872
Update babel monorepo to v7.26.10 (#34144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-12 15:10:37 +00:00
Claire
a704e1991c
Further refactor reply fetching code (#34151) 2025-03-12 14:52:10 +00:00
Matt Jankowski
f71a855e2d
Add coverage for standard params on push subs create (#34092) 2025-03-12 14:29:19 +00:00
github-actions[bot]
fef446d22c
New Crowdin Translations (automated) (#34136)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-03-12 12:51:16 +00:00
Claire
966b816382
Refactor ActivityPub::FetchRepliesService and ActivityPub::FetchAllRepliesService (#34149) 2025-03-12 11:52:38 +00:00
Claire
9db26db495
Refactor reply-fetching code and disable it by default (#34147) 2025-03-12 10:28:06 +00:00
Jonny Saunders
46e13dd81c
Add Fetch All Replies Part 1: Backend (#32615)
Signed-off-by: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Co-authored-by: jonny <j@nny.fyi>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Kouhai <66407198+kouhaidev@users.noreply.github.com>
2025-03-12 09:03:01 +00:00
Michael Stanclift
2fe7172002
Dockerfile: Limit Yarn copy operations to reduce cache impact (#34094) 2025-03-12 08:32:07 +00:00
Claire
420ffdfb62
Add delay to profile updates to debounce them (#34137) 2025-03-11 16:17:17 +00:00
Claire
725a68d273
Fix unnecessary rerenders in composer dropdown menu (#34133) 2025-03-11 15:36:31 +00:00
David Roetzel
9041ce3c18
Refactoring: Move rack middleware (#34140) 2025-03-11 15:24:06 +00:00
Matt Jankowski
6d5a1fbe1d
Assert on page contents while progressing through new_statuses system spec (#34139) 2025-03-11 14:00:51 +00:00
Matt Jankowski
325b55485e
Convert admin/settings/branding spec controller->request (#34130) 2025-03-11 13:32:39 +00:00
David Roetzel
bedf808e02
Move feature flag test setup into config (#34124) 2025-03-11 13:29:17 +00:00
Matt Jankowski
dc43699b77
Assert on page contents before reloading report for interface JS spec (#34132) 2025-03-11 09:14:16 +00:00
renovate[bot]
72d7297bc4
chore(deps): update dependency rack to v2.2.13 [security] (#34135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-11 08:41:25 +00:00
KMY(雪あすか)
bc00a24e7f
Merge pull request #989 from kmycode/upstream-20240310
Upstream 20240310
2025-03-11 12:08:00 +09:00
Claire
fb34d9c590
Bump version to v4.3.5 (#34129) 2025-03-10 17:00:15 +00:00
Matt Jankowski
f6ac0e9d49
Update rubocop-rspec_rails and rubocop-capybara, moved to plugins config style (#34127) 2025-03-10 14:40:29 +00:00
Claire
d489fa36f2
Fix Stoplight errors when using REDIS_NAMESPACE (#34126) 2025-03-10 14:27:43 +00:00
KMY
5979c0ea1d Merge remote-tracking branch 'parent/main' into upstream-20240310 2025-03-10 19:58:05 +09:00
github-actions[bot]
207029eb2f
New Crowdin Translations (automated) (#34043)
Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-03-10 09:45:11 +00:00
renovate[bot]
ddfcf1c092
fix(deps): update dependency @reduxjs/toolkit to v2.6.1 (#34113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 09:33:55 +00:00
David Roetzel
26b5f45564
Make Faker generate unique TOS effective dates (#34122) 2025-03-10 09:33:37 +00:00
renovate[bot]
5c0e525e80
chore(deps): update dependency rspec-sidekiq to v5.1.0 (#34121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 08:33:05 +00:00
renovate[bot]
8fedd9b19a
chore(deps): update dependency i18n-tasks to v1.0.15 (#34112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 08:19:54 +00:00
renovate[bot]
f944fc7034
chore(deps): update dependency webmock to v3.25.1 (#34120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 08:18:20 +00:00
Matt Jankowski
e1f278cdf2
Convert admin/webhooks/secrets spec controller->system (#34109) 2025-03-10 08:17:48 +00:00
Matt Jankowski
7169b270ae
Convert admin/site_uploads spec controller->system (#34108) 2025-03-10 08:17:02 +00:00
Claire
04492e7f93
Fix behavior of database schema loading with SKIP_POST_DEPLOYMENT_MIGRATIONS (#34089) 2025-03-07 13:41:16 +00:00
Claire
2bf5aee469
Fix avatar fallback in media gallery (#34106) 2025-03-07 13:22:05 +00:00
Eugen Rochko
2cabbae132
Add min. age to terms of service (#34105) 2025-03-07 11:50:52 +00:00
renovate[bot]
feedab26f0
fix(deps): update dependency axios to v1.8.2 (#34101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 09:39:53 +00:00
renovate[bot]
5c379a973e
chore(deps): update opentelemetry-ruby (non-major) (#33968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 08:46:43 +00:00
Jonathan de Jong
b155c62aa2
Dockerfile: prevent unnecessary ffmpeg building (#34084) 2025-03-07 08:46:04 +00:00
Claire
e30b9083cb
Fix weird line wrap in db/schema.rb (#34090) 2025-03-07 08:33:52 +00:00
Matt Jankowski
eaf1ea3155
Remove admin_user helper method from SystemHelpers module (#34096) 2025-03-07 08:31:47 +00:00
Matt Jankowski
551339401d
Use methods from SystemHelpers more consistently (#33973) 2025-03-07 08:02:55 +00:00
renovate[bot]
5fa034fe68
fix(deps): update dependency ioredis to v5.6.0 (#34085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 15:28:34 +00:00
renovate[bot]
88bf1f0828
chore(deps): update omniauth packages (#31857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 14:17:10 +00:00
Claire
5a100bf38f
Add ability to email announcements to all users (#33928) 2025-03-06 14:05:27 +00:00
renovate[bot]
d2ce9a6064
chore(deps): update eslint (non-major) (#33061)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-03-06 13:55:44 +00:00
renovate[bot]
64719aa4ee
chore(deps): update yarn to v4.7.0 (#34047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 10:52:12 +00:00
Renaud Chaput
f41bc1de9d
Fix processing errors for some HEIF images from iOS 18 (#34086) 2025-03-06 10:44:27 +00:00
Claire
db269a4c0a
Change hashtag suggestion to prefer personal history capitalization (#34070) 2025-03-06 10:00:33 +00:00
Matt Jankowski
b021cfc91e
Convert settings/sessions spec controller->system (#34072) 2025-03-06 08:21:05 +00:00
Damien Erambert
debe6c0545
Add emoji from Twemoji 15.0 to the emoji picker/completion (#33395) 2025-03-05 17:05:15 +00:00
Claire
b57687083f
Move app/javascript/hooks to app/javascript/mastodon/hooks (#34077) 2025-03-05 16:55:53 +00:00
Claire
00dbefdbbf
Change web client settings to be saved earlier and more often (#34074) 2025-03-05 15:42:33 +00:00
David Roetzel
8cf27d0fbb
Add simple feature flag system (#34038)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-03-05 15:41:54 +00:00
Eugen Rochko
cadda2f957
Add effective date to terms of service (#33993) 2025-03-05 09:01:33 +00:00
Claire
84164270c6
Add about, privacy_policy and terms_of_service URLS to /api/v2/instance (#33849) 2025-03-05 09:00:47 +00:00
Claire
26a3081699
Fix preview cards under Content Warnings not being shown in detailed statuses (#34068) 2025-03-05 08:43:31 +00:00
Matt Jankowski
ce23342d72
Convert admin/terms_of_service/* spec controller->system (#33975) 2025-03-04 15:27:44 +00:00
renovate[bot]
e245633ffa
chore(deps): update dependency redcarpet to v3.6.1 (#34017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 14:06:19 +00:00
Claire
d25de5b757
Bump Mastodon API version for new media deletion methods/parameters (#34035) 2025-03-04 14:05:40 +00:00
Damien Mathieu
15da6c3c83
Add rubocop-i18n linter (#34057) 2025-03-04 13:28:33 +00:00
renovate[bot]
37b79c638f
chore(deps): update dependency pundit to v2.5.0 (#34061)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 13:18:29 +00:00
renovate[bot]
c53ef51362
fix(deps): update dependency @reduxjs/toolkit to v2.6.0 (#33987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 08:48:18 +00:00
renovate[bot]
e4c2cf54ed
fix(deps): update dependency core-js to v3.41.0 (#34051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 08:34:00 +00:00
renovate[bot]
d267e022c9
fix(deps): update dependency axios to v1.8.1 (#34020)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 08:33:39 +00:00
renovate[bot]
6a95b60ea8
chore(deps): update dependency rack to v2.2.12 (#34063)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 08:22:18 +00:00
renovate[bot]
268b7806f1
fix(deps): update dependency react-select to v5.10.1 (#34059)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 08:22:11 +00:00
Matt Jankowski
d90d68bddf
Remove deprecated mb_chars method (#34039) 2025-03-03 16:50:57 +00:00
Eugen Rochko
43f616a1c8
Fix infinite scroll not working on profile media tab in web UI (#33860) 2025-03-03 14:16:17 +00:00
renovate[bot]
e5655a5f65
chore(deps): update dependency @types/lodash to v4.17.16 (#34055)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 08:25:22 +00:00
renovate[bot]
102807519b
chore(deps): update dependency rubocop-rails to v2.30.3 (#34056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 08:24:42 +00:00
Eugen Rochko
d399244d4d
Fix moved notice on profiles in web UI (#34052) 2025-03-03 08:24:06 +00:00
Eugen Rochko
d50110a17a
Change alt text reminder to not appear for private mentions in web UI (#33784) 2025-02-28 18:02:58 +00:00
Matt Jankowski
894b96cf1f
Rely on haml-lint parallel default (#34036) 2025-02-28 14:33:15 +00:00
Matt Jankowski
bdc9cb27e2
Update rubocop to version 1.73.1 (#34034) 2025-02-28 14:26:43 +00:00
Emelia Smith
4960193ed0
Add API to delete media attachments that are not in use (#33991) 2025-02-28 13:41:42 +00:00
Claire
e71fb450e0
Add optional delete_media parameter to DELETE /api/v1/statuses/:id (#33988) 2025-02-28 13:39:01 +00:00
Matt Jankowski
b56e90d049
Convert admin/relationships spec controller->system (#34002) 2025-02-28 11:17:13 +00:00
Darren VanBuren
bff53a637e
Fix up the off by one error on displayed rank for trending tags admin page. (#34016) 2025-02-28 11:16:49 +00:00
Matt Jankowski
3aaa388ce4
Convert admin/trends/* spec controller->system (#34003) 2025-02-28 10:55:37 +00:00
Emelia Smith
febcd0a76c
Expose status language via og:locale (#34012) 2025-02-28 10:53:39 +00:00
KMY(雪あすか)
69d5383d1f
Merge pull request #984 from kmycode/upstream-20250228
Upstream 20250228
2025-02-28 18:04:42 +09:00
github-actions[bot]
5f486a1424
New Crowdin Translations (automated) (#34027)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-28 08:29:06 +00:00
KMY
5b26d170e2 Fix regexp 2025-02-28 16:51:15 +09:00
KMY
16f811f87e Fix system css 2025-02-28 15:18:31 +09:00
KMY
e975a98b9f Fix: NGワード設定画面のエラー 2025-02-28 15:15:39 +09:00
KMY
f533e8cd22 Fix test 2025-02-28 13:10:04 +09:00
KMY
795561f5a7 Merge commit 'cfb473c204' into upstream-20250228 2025-02-28 11:07:08 +09:00
Claire
cfb473c204
Bump version to v4.4.0-alpha.3 (#34022) 2025-02-27 15:32:15 +00:00
Jeremy Kescher
6b519cfefa
Merge commit from fork
* Fix domain blocks/rationales being visible to unapproved/unconfirmed users

* Fix domain blocks/rationales being visible to suspended users

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

* Allow moved users to view domain blocks

* Add authorization specs for `/api/v1/instance/domain_blocks` spec

* Fix tests

* Fix incorrect test setup

---------

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-02-27 15:49:57 +01:00
Claire
06f879ce9b
Merge commit from fork
* Add rate-limit on `/auth/setup`

* Remove useless test
2025-02-27 15:44:35 +01:00
Claire
f5c4022a20
Change HTML sanitization to remove unusable and unused embed tag (#34021) 2025-02-27 10:12:58 +00:00
github-actions[bot]
cde3167d09
New Crowdin Translations (automated) (#34009)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-27 09:36:16 +00:00
renovate[bot]
479feafb16
chore(deps): update dependency rubocop-rails to v2.30.2 (#33951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-27 08:34:41 +00:00
Eugen Rochko
ebde60ca82
Refactor <Header> into TypeScript (#33956) 2025-02-25 15:30:46 +00:00
Claire
20531d1e07
Fix GET /api/v2/notifications/:id and POST /api/v2/notifications/:id/dismiss for ungrouped notifications (#33990) 2025-02-25 14:37:44 +00:00
github-actions[bot]
33643c4c07
New Crowdin Translations (automated) (#33996)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-25 13:08:40 +00:00
renovate[bot]
93f0427b8a
chore(deps): update dependency oj to v3.16.10 (#33997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-25 11:02:42 +00:00
renovate[bot]
6405883eed
chore(deps): update dependency haml_lint to v0.61.0 (#33995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-25 11:02:29 +00:00
Eugen Rochko
298ca53593
Add choice of law to terms of service generator (#33994) 2025-02-25 10:58:11 +00:00
renovate[bot]
288e61dfdf
fix(deps): update dependency sass to v1.85.1 (#33998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-25 10:57:12 +00:00
KMY(雪あすか)
0885a0f32f
Merge pull request #982 from kmycode/upstream-20240225
Upstream 20240225
2025-02-25 12:30:30 +09:00
KMY(雪あすか)
1700ba08e4
Fix: #981 ログイン時にカスタムCSSが無条件で無効化されてしまう (#983) 2025-02-25 12:30:16 +09:00
KMY
a8e3749320 Fix lint 2025-02-25 08:46:31 +09:00
KMY
97a86bc273 Fix test 2025-02-25 08:41:36 +09:00
KMY
a72160b66f Merge remote-tracking branch 'parent/main' into upstream-20240225 2025-02-25 08:15:45 +09:00
renovate[bot]
b1692628de
fix(deps): update dependency postcss-preset-env to v10.1.5 (#33986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 09:33:09 +00:00
github-actions[bot]
5a3fb4594b
New Crowdin Translations (automated) (#33977)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-24 08:48:56 +00:00
renovate[bot]
3a60b53e9a
chore(deps): update dependency selenium-webdriver to v4.29.1 (#33981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 08:35:42 +00:00
Matt Jankowski
db97197685
Remove rails-controller-testing gem (#33955) 2025-02-21 14:00:16 +00:00
renovate[bot]
68e5f0c452
fix(deps): update dependency ws to v8.18.1 (#33970)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 11:48:32 +00:00
Matt Jankowski
2a15bf4ede
Convert admin/roles controller spec to request/sytem specs (#33947) 2025-02-21 11:47:47 +00:00
Matt Jankowski
93bc48d649
Use bundler version 2.6.5 (#33965) 2025-02-21 07:55:34 +00:00
Claire
26c692d45b
Fix streaming server not filtering unknown-language posts from public timelines (#33774) 2025-02-21 07:48:31 +00:00
github-actions[bot]
2788808b07
New Crowdin Translations (automated) (#33967)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-21 07:41:14 +00:00
renovate[bot]
8d3bd919d8
chore(deps): update dependency selenium-webdriver to v4.29.0 (#33969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 07:41:08 +00:00
Matt Jankowski
d065d02d88
Improve example wording in 2FA/confirmations controller spec (#33944) 2025-02-21 07:31:06 +00:00
renovate[bot]
fc83fdc993
fix(deps): update dependency postcss to v8.5.3 (#33962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 07:29:53 +00:00
Eugen Rochko
12d0533bd7
Change "Specific people" to "Private mention" in menu in web UI (#33963) 2025-02-21 07:29:34 +00:00
renovate[bot]
52c6f6dffc
fix(deps): update dependency uuid to v11.1.0 (#33964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 07:24:35 +00:00
renovate[bot]
d103be09ab
chore(deps): update dependency nokogiri to v1.18.3 [security] (#33961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-19 08:17:40 +00:00
github-actions[bot]
70f8fb6d08
New Crowdin Translations (automated) (#33960)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-19 08:17:23 +00:00
Matt Jankowski
f1d4be1e75
Use preferred allowed origin configuration style for webauthn config (#33953) 2025-02-18 15:03:43 +00:00
Matt Jankowski
fbea3a64cc
Convert statuses spec controller->system/request (#33921) 2025-02-18 11:43:49 +00:00
renovate[bot]
c7f208eecf
chore(deps): update dependency webauthn to v3.4.0 (#33950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 10:27:46 +00:00
github-actions[bot]
e2eceaf2fa
New Crowdin Translations (automated) (#33949)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-18 10:23:53 +00:00
Matt Jankowski
d75c4bf53e
Update rubocop to version 1.72.2 and use plugins configuration style (#33946) 2025-02-18 08:25:41 +00:00
renovate[bot]
405fa6de55
fix(deps): update babel monorepo to v7.26.9 (#33929)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 08:22:18 +00:00
renovate[bot]
32fd40d689
fix(deps): update dependency sass to v1.85.0 (#33924)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 08:21:53 +00:00
renovate[bot]
4d5ae1069c
fix(deps): update dependency ioredis to v5.5.0 (#33878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 08:21:24 +00:00
renovate[bot]
ea5805c8a9
chore(deps): update docker.io/ruby docker tag to v3.4.2 (#33936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-17 09:58:09 +00:00
renovate[bot]
e3d97006a2
chore(deps): update dependency ruby to v3.4.2 (#33935)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-17 09:57:44 +00:00
renovate[bot]
47a1f72ee6
chore(deps): update dependency annotaterb to v4.14.0 (#33943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-17 09:27:37 +00:00
Matt Jankowski
ea53faeb3f
Convert admin/users/roles spec controller->system/request (#33930) 2025-02-17 09:25:25 +00:00
github-actions[bot]
a3ef72a541
New Crowdin Translations (automated) (#33933)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-17 09:22:13 +00:00
KMY(雪あすか)
a52398df5c
Bump version to 18.0-dev (#980)
* Bump version to 18.0-dev

* Update docker-compose.yml
2025-02-17 12:23:49 +09:00
KMY(雪あすか)
d156abee0c
Merge pull request #978 from kmycode/upstream-20250210
Upstream 20250210
2025-02-17 12:07:29 +09:00
KMY
368ddb1bb6 Fix test 2025-02-17 09:02:35 +09:00
KMY
935bea989d Merge remote-tracking branch 'parent/main' into upstream-20250210 2025-02-17 08:57:56 +09:00
KMY
b2315f292d Fix test 2025-02-17 08:44:27 +09:00
github-actions[bot]
5cd80b7836
New Crowdin Translations (automated) (#33925)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-14 08:38:48 +00:00
github-actions[bot]
58a029335b
New Crowdin Translations (automated) (#33918)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-13 10:50:09 +00:00
Matt Jankowski
8f1b41622b
Convert settings/two_factor_authentication_methods spec controller->system/request (#33914) 2025-02-13 10:50:04 +00:00
Matt Jankowski
62dc303d3c
Convert settings/two_factor_authentication/recovery_codes spec controller->system/request (#33912) 2025-02-13 08:02:01 +00:00
renovate[bot]
c433fd01a6
fix(deps): update dependency postcss-preset-env to v10.1.4 (#33915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 07:58:52 +00:00
renovate[bot]
efd485cb46
fix(deps): update dependency pg to v8.13.3 (#33916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 07:58:27 +00:00
Matt Jankowski
4fc8c69129
Update selenium-webdriver to version 4.28.0 (#33908) 2025-02-12 16:32:16 +00:00
Claire
1248c4d1f4
Fix handling of duplicate mentions in incoming status Update (#33911) 2025-02-12 15:34:56 +00:00
Claire
6b52227fcc
Fix Mastodon listing updates older or equal to current version (#33906) 2025-02-12 14:27:42 +00:00
Matt Jankowski
fb0856458b
Verify page content in ChallengableConcern spec (#33895) 2025-02-12 14:24:17 +00:00
Matt Jankowski
6df24b4bc2
Move signed out statuses controller spec examples to request spec (#33907) 2025-02-12 14:24:03 +00:00
Matt Jankowski
b07cd11f4c
Convert settings/migration/redirects spec controller->system (#33905) 2025-02-12 14:06:35 +00:00
Claire
db59f37269
Fix redirect after log-in when allow_referrer_origin setting is enabled (#33903) 2025-02-12 12:58:48 +00:00
Nicholas La Roux
7a50fd8849
Migrate BlockDomainService notification job enqueueing to Sidekiq's perform_bulk for efficiency (#33897) 2025-02-12 12:48:09 +00:00
Claire
447d12aa08
Update dependency net-imap to 0.5.6 (#33901) 2025-02-12 10:31:42 +00:00
renovate[bot]
773d58eb70
chore(deps): update node.js to 22.14 (#33889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 10:02:53 +00:00
renovate[bot]
dd25023f8c
chore(deps): update dependency rack to v2.2.11 (#33900)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 08:37:16 +00:00
github-actions[bot]
e918d4e3e8
New Crowdin Translations (automated) (#33899)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-12 08:33:41 +00:00
Matt Jankowski
506a70d0d8
Convert "http signatures" portion of statuses controller spec to request spec (#33890) 2025-02-12 08:33:25 +00:00
Matt Jankowski
aa10e8f399
Verify page content in 2FA portion of auth/sessions controller spec (#33891) 2025-02-12 08:14:35 +00:00
Matt Jankowski
4c597d5e2c
Convert settings/privacy spec controller->system (#33894) 2025-02-12 08:13:01 +00:00
renovate[bot]
46329d297a
chore(deps): update dependency ox to v2.14.22 (#33896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 08:07:11 +00:00
renovate[bot]
5c81921ef5
fix(deps): update dependency pg to v8.13.2 (#33892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 08:04:34 +00:00
github-actions[bot]
0b4e5b64f9
New Crowdin Translations (automated) (#33885)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-11 06:50:18 +00:00
Matt Jankowski
4e58570f73
Use common before and contexts in admin/base controller spec (#33879) 2025-02-11 06:49:51 +00:00
Matt Jankowski
7d20c12913
Convert settings/featured_tags controller->request/system spec (#33880) 2025-02-11 06:45:34 +00:00
Matt Jankowski
dd2cb77f1a
Remove unused "oversized" spec fixture PNG file (#33881) 2025-02-11 06:45:27 +00:00
Matt Jankowski
83a271c003
Run optimize PNG on archetypes images (#33882) 2025-02-11 06:45:22 +00:00
renovate[bot]
57373ee344
fix(deps): update dependency postcss to v8.5.2 (#33884)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-11 06:39:28 +00:00
renovate[bot]
8a2ebcb8ef
fix(deps): update formatjs monorepo (#33877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 10:16:04 +00:00
github-actions[bot]
804e6832d3
New Crowdin Translations (automated) (#33861)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-10 10:10:38 +00:00
renovate[bot]
3a47dd78ac
fix(deps): update babel monorepo to v7.26.8 (#33868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 09:22:36 +00:00
renovate[bot]
08f8bc4dfa
chore(deps): update dependency stoplight to v4.1.1 (#33867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 07:33:44 +00:00
Matt Jankowski
8c240ef042
Remove final remaining assigns usage in controller specs (#33866) 2025-02-10 07:33:36 +00:00
KMY
f3f93ba0c6 Merge remote-tracking branch 'parent/main' into upstream-20250210 2025-02-10 09:09:12 +09:00
Claire
1cf30717db
Fix potential inefficiency in media privacy system check (#33858) 2025-02-07 10:22:59 +00:00
renovate[bot]
38a3e8d0e3
chore(deps): update dependency webauthn to v3.3.0 (#33857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 09:11:01 +00:00
github-actions[bot]
b7bc7cd087
New Crowdin Translations (automated) (#33856)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-07 08:51:09 +00:00
renovate[bot]
5ffc17415c
chore(deps): update dependency ruby-vips to v2.2.3 (#33853)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 08:48:43 +00:00
renovate[bot]
6d5e6a6818
chore(deps): update dependency rspec-rails to v7.1.1 (#33850)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 15:18:41 +00:00
renovate[bot]
d8f1881ab0
chore(deps): update dependency fog-core to v2.6.0 (#33775)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 15:18:20 +00:00
Matt Jankowski
23a0d91126
Combine examples to reduce factories in specs (#33841) 2025-02-06 10:54:31 +00:00
renovate[bot]
aff2b11394
chore(deps): update dependency fog-openstack to v1.1.4 (#33843)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 10:54:27 +00:00
renovate[bot]
9701c6f148
fix(deps): update dependency sass to v1.84.0 (#33845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 10:54:22 +00:00
renovate[bot]
116f5826d3
chore(deps): update dependency webmock to v3.25.0 (#33848)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 10:54:15 +00:00
github-actions[bot]
9692ffb911
New Crowdin Translations (automated) (#33847)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-06 10:53:56 +00:00
Claire
9e164c532f
Add --skip-filled-timeline option to tootctl feed build to skip half-filled feeds (#33844) 2025-02-06 09:38:32 +00:00
Claire
a9643cb7e7
Use github's native arm64 runners for docker builds (#33788) 2025-02-05 15:58:28 +00:00
Claire
334d306ccc
Fix filtering for lists (#33842) 2025-02-05 15:08:12 +00:00
Claire
1be5269151
Optimize timeline generation (#33839) 2025-02-05 14:02:39 +00:00
Renaud Chaput
4af91e564d
Fix a missing require when enabling the local prometheus exporter with Sidekiq (#33840) 2025-02-05 13:49:47 +00:00
renovate[bot]
5cb54f7c5e
chore(deps): update dependency opentelemetry-instrumentation-redis to v0.26.1 (#33837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-05 09:23:13 +00:00
Matt Jankowski
c3419d146a
Remove duplicate cache header setting before action (#33833) 2025-02-05 09:19:08 +00:00
renovate[bot]
8dce5138dd
chore(deps): update opentelemetry-ruby (non-major) (#33834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-05 08:58:05 +00:00
github-actions[bot]
7dca242795
New Crowdin Translations (automated) (#33835)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-05 08:53:32 +00:00
Matt Jankowski
3b1ba46c93
Use require: false on CLI/console tool gems in Gemfile (#33830) 2025-02-04 16:08:27 +00:00
Matt Jankowski
745391092c
Configure webpacker cache_manifest: true in non-dev environments (#33832) 2025-02-04 15:55:10 +00:00
Matt Jankowski
95caa8bc4e
Switch coverage generation default to false, allow opt in with COVERAGE env var (#33824) 2025-02-04 11:14:45 +00:00
Claire
5212cd43ec
Change preview cards to be shown when Content Warnings are expanded (#33827) 2025-02-04 10:40:43 +00:00
github-actions[bot]
c3e80784ee
New Crowdin Translations (automated) (#33825)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-04 09:39:07 +00:00
KMY(雪あすか)
0e282bbbc4
Add: 絵文字リアクション利用可能なソフトウェアにmitra (#977) 2025-02-04 18:33:34 +09:00
Claire
5553941666
Drop custom scopes conversion code from /settings/applications controller (#33819) 2025-02-04 09:31:42 +00:00
renovate[bot]
bc0fb83ce5
chore(deps): update dependency rubocop to v1.71.2 (#33826)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 09:25:06 +00:00
Claire
44f5f1f0a5
Fix emoji rewrite adding unnecessary curft to the DOM for most emoji (#33818) 2025-02-03 13:43:45 +00:00
Claire
b1c9cff71b
Add language column to public timelines index (#33779) 2025-02-03 13:41:44 +00:00
github-actions[bot]
a85a9f98d9
New Crowdin Translations (automated) (#33802)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-02-03 08:40:09 +00:00
Matt Jankowski
107b2afb74
Revert selenium-webdriver version bump (#33797) 2025-02-03 07:49:31 +00:00
renovate[bot]
4b6c955e5b
chore(deps): update dependency strong_migrations to v2.2.0 (#33808)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 07:49:05 +00:00
renovate[bot]
cefa829c1d
chore(deps): update dependency typescript to v5.7.3 (#33814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 07:48:45 +00:00
renovate[bot]
7481d94bb6
chore(deps): update definitelytyped types (non-major) (#33813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 07:48:35 +00:00
Claire
cf820b2eca
Fix /settings/applications rejecting scopes parameter (#33798) 2025-02-02 21:11:32 +00:00
renovate[bot]
f79b96a5ef
chore(deps): update dependency rubocop to v1.71.1 (#33796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-31 14:52:27 +00:00
renovate[bot]
a29fc4b44a
chore(deps): update dependency puma to v6.6.0 (#33768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-31 14:14:07 +00:00
Matt Jankowski
77587913ce
Convert admin/reports spec controller->system (#33789) 2025-01-31 08:15:51 +00:00
github-actions[bot]
91e4a09f24
New Crowdin Translations (automated) (#33795)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-31 08:09:02 +00:00
Matt Jankowski
c5cd9bda48
Convert auth/passwords spec controller->system/request (#33790) 2025-01-31 08:08:56 +00:00
renovate[bot]
7c03327a17
chore(deps): update dependency haml_lint to v0.60.0 (#33791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-31 07:59:58 +00:00
KMY(雪あすか)
915ee553da
Fix: #950 新規アンテナ作成時にリストへ挿入するを設定しても、ホーム挿入になる (#975)
* Fix: #950 新規アンテナ作成時にリストへ挿入するを設定しても、ホーム挿入になる

* Fix test
2025-01-31 12:04:26 +09:00
KMY(雪あすか)
80cace410f
Merge pull request #974 from kmycode/upstream-20240128
Upstream 20240128
2025-01-31 12:04:13 +09:00
KMY
f5c6b6be40 Fix lint 2025-01-31 09:04:44 +09:00
KMY
bd5b417d2b Merge remote-tracking branch 'parent/main' into upstream-20240128 2025-01-31 08:52:03 +09:00
Claire
a3d2849d15
Fix tootctl feeds build not building list timelines (#33783) 2025-01-30 09:18:46 +00:00
github-actions[bot]
3f4f6317d4
New Crowdin Translations (automated) (#33787)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-30 08:52:04 +00:00
renovate[bot]
005b2ba32f
chore(deps): update dependency pino-pretty to v13 (#33778)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-29 15:18:48 +00:00
Claire
e53c8fbaf8
Fix PollExpirationValidator redundant check for expires_at presence (#33777) 2025-01-29 14:37:59 +00:00
Wolf Noble
7ffda06b6a
build(Dockerfiles): Set the base registry via an ARG (#33712) 2025-01-29 13:09:17 +00:00
Eugen Rochko
796187c1e8
Add ability to dismiss alt text badge by tapping it in web UI (#33737) 2025-01-29 12:51:47 +00:00
Claire
2d545c5fe5
Fix flaky test in /api/v2/notifications tests (#33773) 2025-01-29 12:49:03 +00:00
Eugen Rochko
1e70da5e3c
Add reminder when about to post without alt text in web UI (#33760) 2025-01-29 11:37:56 +00:00
Matt Jankowski
2beab34ca4
Convert admin/email_domain_blocks controller -> system spec (#33759) 2025-01-29 10:54:20 +00:00
Eugen Rochko
6aa565b319
Fix missing button styles on some forms (#33771) 2025-01-29 10:36:24 +00:00
Claire
51bbca7723
Fix “x” hotkey not working on boosted filtered posts (#33758) 2025-01-29 10:15:32 +00:00
Claire
85668becde
Change language detection debouncing behavior to refresh at least once every 1.5 seconds (#33770) 2025-01-29 09:26:06 +00:00
Eugen Rochko
82183d8a79
Add loading indicator to timeline gap indicators in web UI (#33762) 2025-01-29 08:46:04 +00:00
Claire
bd481204b5
Fix missing timeout options in Request class (#33769) 2025-01-29 08:42:20 +00:00
github-actions[bot]
9c85825ac6
New Crowdin Translations (automated) (#33766)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-29 08:38:53 +00:00
renovate[bot]
8e24c4801d
Update dependency opentelemetry-instrumentation-rails to v0.35.1 (#33767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-29 08:27:27 +00:00
Claire
5b291fcbe4
Fix incorrect signature after HTTP redirect (#33757) 2025-01-28 14:44:27 +00:00
Claire
32aa83e9d7
Fix polls not being validated on edition (#33755) 2025-01-28 14:38:18 +00:00
github-actions[bot]
80f72ee501
New Crowdin Translations (automated) (#33753)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-28 09:40:50 +00:00
KMY
3e065f4e12 Merge remote-tracking branch 'parent/main' into upstream-20240128 2025-01-28 18:02:01 +09:00
renovate[bot]
0091459369
Update RuboCop (non-major) to v1.71.0 (#33644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-28 08:39:50 +00:00
Claire
6646a0a9fa
Fix parameter validation in our custom devise strategies (#33754) 2025-01-28 08:21:59 +00:00
Matt Jankowski
8a2d764d34
Reduce factory creation across controllers/admin specs (#33752) 2025-01-28 08:08:16 +00:00
KMY(雪あすか)
bfa1700909
Fix: #959 NGルールで絵文字リアクションを拒否した場合、自分のサーバーのカスタム絵文字は常に拒否される (#963)
* Fix: #959 NGルールで絵文字リアクションを拒否した場合、自分のサーバーのカスタム絵文字は常に拒否される

* Fix test

* Fix test
2025-01-28 12:22:20 +09:00
Matt Jankowski
93f3c724ae
Use expect in remaining controller locations (#33748) 2025-01-27 16:32:06 +00:00
Claire
ea743d68f3
Fix error in TwoFactorPamAuthenticatable when handling invalid params (#33746) 2025-01-27 16:30:18 +00:00
Claire
e97335191d
Add hover cards to follow suggestions (#33749) 2025-01-27 16:24:41 +00:00
Matt Jankowski
d3b637c757
Use expect in Admin::ExportControllerConcern import params (#33745) 2025-01-27 14:29:25 +00:00
Matt Jankowski
65d9171c7d
Use expect for admin/ controllers (#33686) 2025-01-27 14:05:16 +00:00
Renaud Chaput
59384282ed
Add an optional metric exporter (#33734) 2025-01-27 12:52:30 +00:00
renovate[bot]
b868e30fdf
Update dependency @reduxjs/toolkit to v2.5.1 (#33739)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 12:47:23 +00:00
renovate[bot]
df63470ea6
Update dependency ox to v2.14.21 (#33740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 12:47:20 +00:00
renovate[bot]
f8f31826bd
Update formatjs monorepo (#33656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 12:46:11 +00:00
KMY(雪あすか)
d2e3f7f0f4
Fix: Webでフィルターのキーワードを変更できない問題 (#973) 2025-01-27 18:29:36 +09:00
github-actions[bot]
b53bf23df0
New Crowdin Translations (automated) (#33731)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-27 08:39:56 +00:00
Mikkel Ricky
2bfcda172d
Fix documentation URL (#33728) 2025-01-27 08:23:53 +00:00
Eugen Rochko
956873362e
Remove system tooltip for alt text in web UI (#33736) 2025-01-27 08:17:59 +00:00
Eugen Rochko
81271a18c5
Fix color of language indicator in light theme in web UI (#33724) 2025-01-27 08:08:31 +00:00
Eugen Rochko
52a5c8ae05
Refactor <LanguageDropdown> into TypeScript (#33723) 2025-01-27 08:06:33 +00:00
KMY(雪あすか)
fa7b967777
Fix: %を含む利用規約やプライバシーポリシーを設定した場合、REST APIからの取得ができなくなる問題 (#972) 2025-01-25 09:58:09 +09:00
Eugen Rochko
2df86d6413
Fix wrong styles on rules and buttons in the sign-up form (#33725) 2025-01-24 22:20:05 +00:00
renovate[bot]
79cbb6160d
Update dependency react-select to v5.10.0 (#33722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-24 17:16:22 +00:00
Matt Jankowski
f73df1f2b0
Fix Style/HashSlice cop violations (#33720) 2025-01-24 16:57:55 +00:00
renovate[bot]
469c8f8db1
Update babel monorepo to v7.26.7 (#33721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-24 16:49:48 +00:00
Claire
9a0166c3f3
Convert LanguageDropdownMenu to functional component (#33704) 2025-01-24 16:11:23 +00:00
Matt Jankowski
a1d9c3fb99
Use expect params wrapper for more "auth" and "2FA" "controllers" (#33717) 2025-01-24 14:40:20 +00:00
github-actions[bot]
e44b78413a
New Crowdin Translations (automated) (#33711)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-24 09:06:25 +00:00
Christian Schmidt
5c50d89a86
Store Bootsnap cache outside bind mounts (devcontainer only) (#33677) 2025-01-24 08:18:46 +00:00
Claire
7261951791
Fix LDSignature tests (#33705) 2025-01-23 17:56:33 +00:00
Claire
4b4de02fee
Remove broken link to Terms of Service when none are defined (#33699) 2025-01-23 14:34:30 +00:00
Claire
ffaf458f99
Change “Prohibited uses” section of ToS template according to feedback (#33703) 2025-01-23 14:09:33 +00:00
github-actions[bot]
1b2c952471
New Crowdin Translations (automated) (#33697)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-23 13:36:03 +00:00
Matt Jankowski
51ecc7326f
Fix intermittent services/ap/process_status_update tags failure (#33695) 2025-01-23 13:35:19 +00:00
Eugen Rochko
0885c31633
Add information about alt text to alt text modal in web UI (#33702) 2025-01-23 13:01:11 +00:00
Claire
db146046c4
Convert LanguageDropdown to a functional component (#33701) 2025-01-23 12:54:23 +00:00
KMY(雪あすか)
811f09e46b
Merge pull request #971 from kmycode/kbtopic-951-fix-limited-icon
Fix: #951 サークル投稿の専用アイコンが正常に表示されない問題
2025-01-23 19:40:26 +09:00
Claire
3178acc5cb
Fix language detection taking mentions and URLs into account (#33700) 2025-01-23 10:25:14 +00:00
KMY
9e31ad5a66 Fix: #951 サークル投稿の専用アイコンが正常に表示されない問題 2025-01-23 19:23:43 +09:00
KMY(雪あすか)
67064de265
Change: #955 フィルターアクションの「アカウント名だけを出し、本文は警告で隠す」を削除し、外観設定に移動 (#970)
* Remove: #955 フィルターのアクション`half_warn`

* Add: 「フィルター対象投稿の投稿者名やアイコンを表示する」設定

* Fix test
2025-01-23 19:18:40 +09:00
KMY(雪あすか)
22bf14e9f0
Merge pull request #969 from kmycode/upstream-20240123
Upstream 20240123
2025-01-23 19:16:23 +09:00
KMY(雪あすか)
c139f8947e
Add: _misskey_licenseの送受信 (#968) 2025-01-23 18:50:38 +09:00
KMY
8e9540d88b Fix test 2025-01-23 18:46:08 +09:00
KMY
50ae2d9439 Merge remote-tracking branch 'parent/main' into upstream-20240123 2025-01-23 18:10:34 +09:00
Matt Jankowski
8eee7ae4c3
Fix issue with saving empty fields values on filter keyword updates (#33691) 2025-01-23 09:04:12 +00:00
Matt Jankowski
4a9c49ee43
Fix issue with saving empty fields values on profile update (#33689) 2025-01-22 18:50:15 +00:00
Claire
a6fc776c6f
Change mastodon:setup to prevent overwriting already-configured servers (#33684) 2025-01-22 15:34:22 +00:00
Claire
8dcfd3f246
Fix WebUI crash when language detection code returns undefined (#33683) 2025-01-22 15:30:59 +00:00
Matt Jankowski
607f65a0a5
Use expect for api/v1 and api/web push subs controllers (#33682) 2025-01-22 14:55:44 +00:00
Jonathan de Jong
b18caff5b6
Change first_of_value to first_of_hash, and add more test cases (#33647) 2025-01-22 14:02:05 +00:00
Matt Jankowski
e155aab39e
Use expect for nested params in settings/* controllers (#33673) 2025-01-22 08:49:52 +00:00
Eugen Rochko
8b24085f8e
Refactor <DomainPill> into TypeScript (#33680) 2025-01-22 08:39:13 +00:00
github-actions[bot]
38c27a7708
New Crowdin Translations (automated) (#33679)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-22 08:35:41 +00:00
Matt Jankowski
d2cc28813f
Use expect for nested params in more controllers (#33675) 2025-01-22 08:35:34 +00:00
renovate[bot]
2a6a418f48
Update dependency irb to v1.15.1 (#33674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 08:34:58 +00:00
Jonathan de Jong
e380e803a8
Order emoji categories (in admin interface) by name (#33630) 2025-01-22 08:31:51 +00:00
Claire
3dcf5e12b1
Change notifications from moderators to not be filtered (#33654) 2025-01-21 11:39:53 +00:00
Eugen Rochko
11786f1114
Change design of edit media modal in web UI (#33516) 2025-01-21 11:34:22 +00:00
Claire
4ebdfed8ea
Fix opening modals losing some location parameters (#33670) 2025-01-21 09:53:52 +00:00
github-actions[bot]
9e90248abc
New Crowdin Translations (automated) (#33668)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-21 08:37:53 +00:00
Matt Jankowski
45149cd5e1
Use expect for nested params in auth/setup#update (#33657) 2025-01-21 08:16:40 +00:00
Matt Jankowski
7543c90642
Use bundler version 2.6.3 (#33658) 2025-01-21 08:00:35 +00:00
renovate[bot]
004e120e02
Update dependency selenium-webdriver to v4.28.0 (#33667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 07:59:52 +00:00
KMY(雪あすか)
9c14810881
Add: アカウントアイコンでAVIFをサポート (#962) 2025-01-21 12:04:10 +09:00
renovate[bot]
7f866daf63
Update formatjs monorepo (#33652)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-20 10:36:25 +00:00
renovate[bot]
2deab346b3
Update dependency nokogiri to v1.18.2 (#33651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-20 10:36:21 +00:00
renovate[bot]
a0c76f6017
Update dependency i18n to v1.14.7 (#33650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-20 10:36:19 +00:00
Claire
ac59ed39dd
Fix re-encoding of high-framerate VFR videos with FFmpeg 6+ (#33634) 2025-01-20 09:22:49 +00:00
Eugen Rochko
8962f11578
Add warning when selected and detected language is different in web UI (#33042) 2025-01-20 09:17:13 +00:00
github-actions[bot]
329a9e1ac1
New Crowdin Translations (automated) (#33643)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-20 08:59:23 +00:00
Nicholas La Roux
4bd969e4bb
Fix broken CONTRIBUTING link in DEVELOPMENT (#33637) 2025-01-17 15:53:32 +00:00
Matt Jankowski
bc63f2b908
Update CONTRIBUTING doc with various clarifications (#33517) 2025-01-17 15:38:06 +00:00
Claire
ab4874ff13
Further harden the warnings against changing encryption secrets (#33631) 2025-01-17 10:42:52 +00:00
Claire
b37e48d5c8
Revert "Update dependency aws-sdk-s3 to v1.178.0 (#33611)" (#33628) 2025-01-17 10:33:03 +00:00
Matt Jankowski
5be938e661
Migrate visibility interaction checks on statuses to request spec (#33622) 2025-01-17 10:06:52 +00:00
github-actions[bot]
1c23ebd62f
New Crowdin Translations (automated) (#33626)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-17 10:05:41 +00:00
renovate[bot]
531ca4b968
Update dependency tzinfo-data to v1.2025.1 (#33625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 09:35:34 +00:00
KMY(雪あすか)
ecb9bbecac
Merge pull request #967 from kmycode/upstream-20240117
Upstream 20240117
2025-01-17 18:30:47 +09:00
Claire
092e60eb7d
Change activity distribution error handling to skip retrying for deleted accounts (#33617) 2025-01-17 09:12:59 +00:00
renovate[bot]
febdfefafe
Update formatjs monorepo (#33627)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 08:57:11 +00:00
Christian Schmidt
a3baae0b99
API for updating attribution domains (#32730) 2025-01-17 08:18:55 +00:00
KMY
16c90bf5f0 Fix test 2025-01-17 16:55:15 +09:00
KMY
02450da9a5 Fix lint 2025-01-17 16:34:58 +09:00
KMY
5d79bd078c Merge remote-tracking branch 'parent/main' into upstream-20240117 2025-01-17 16:29:11 +09:00
Matt Jankowski
3af6739f21
Add coverage for AnnualReport.prepare method (#33618) 2025-01-16 15:45:48 +00:00
Matt Jankowski
a19141441d
Move clear environment portion of mastodon:setup to private method (#33616) 2025-01-16 15:45:02 +00:00
renovate[bot]
29b355b699
Update dependency concurrent-ruby to v1.3.5 (#33610)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 15:24:31 +00:00
renovate[bot]
9e2f930eed
Update dependency aws-sdk-s3 to v1.178.0 (#33611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 15:23:37 +00:00
renovate[bot]
da208771b9
Update opentelemetry-ruby (non-major) (#33613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 15:23:32 +00:00
Matt Jankowski
69b8a0b9bf
Collect errors in setup rake task (#33603) 2025-01-16 14:58:59 +00:00
KMY(雪あすか)
28cc7eb2c3
Add: 絵文字リアクション対応ソフトウェア名にIceshrimp.NET (#964) 2025-01-16 23:05:06 +09:00
Claire
0aa9bb8130
Bump version to v4.4.0-alpha.2 (#33615) 2025-01-16 11:02:54 +00:00
Claire
da4e55eb17
Merge commit from fork 2025-01-16 11:10:08 +01:00
github-actions[bot]
4a44c47982
New Crowdin Translations (automated) (#33609)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-16 09:13:39 +00:00
Matt Jankowski
3db8498903
Fix Style/MutableConstant cop (#33602) 2025-01-16 09:09:06 +00:00
Matt Jankowski
998cf0dd53
Convert auth/setup spec controller->system/request (#33604) 2025-01-16 09:03:46 +00:00
Matt Jankowski
72abf05269
Add "needs refresh" scenario to api/v1/polls request spec (#33608) 2025-01-16 09:00:04 +00:00
Matt Jankowski
c20824fa76
Promote Style/WordArray rule out of todo into main config (#33580) 2025-01-15 14:29:14 +00:00
renovate[bot]
ea01ecd441
Update dependency opentelemetry-instrumentation-rails to v0.34.1 (#33595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-15 12:49:12 +00:00
renovate[bot]
2a0951e987
Update dependency stackprof to v0.2.27 (#33596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-15 12:48:52 +00:00
fusagiko / takayamaki
1ae574e32a
Enable parallel execution for linting tasks in HAML workflows (#33593) 2025-01-15 07:48:26 +00:00
Matt Jankowski
9f03e5b53a
Expand coverage of admin/*blocks areas (#33594) 2025-01-15 07:47:34 +00:00
Matt Jankowski
68c9f91ccb
Treat non-null but blank account domain as local (#33576) 2025-01-14 17:40:55 +00:00
Michael Stanclift
e1d7efadc0
Fix libyaml missing from Dockerfile build stage (#33591) 2025-01-14 16:35:58 +00:00
renovate[bot]
bfe73e153d
Update dependency postcss to v8.5.1 (#33586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 16:34:26 +00:00
Matt Jankowski
50013b10a5
Add Status::Visibility concern to hold visibility logic (#33578) 2025-01-14 14:32:57 +00:00
Matt Jankowski
7c56517c7c
Move mastodon version config to config_for yml (#33577) 2025-01-14 14:32:29 +00:00
renovate[bot]
87849d739e
Update dependency rspec-github to v3 (#33589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 14:17:11 +00:00
renovate[bot]
6356870dae
Update dependency sass to v1.83.4 (#33585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 14:14:03 +00:00
renovate[bot]
7b608b41f2
Update dependency @babel/plugin-transform-nullish-coalescing-operator to v7.26.6 (#33584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-14 14:13:58 +00:00
Claire
e9462960a7
Redirect new users to onboarding (#33471) 2025-01-14 13:10:48 +00:00
Claire
e2f085e2b2
Use final specification for new WebPush subscriptions in web interface (#33587) 2025-01-14 10:42:06 +00:00
Matt Jankowski
a9a8b6b701
Expand coverage of admin/trends/* areas (#33581) 2025-01-14 10:27:21 +00:00
S1m
4a2813158d
Add support for standard webpush (#33528)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-01-14 09:14:00 +00:00
github-actions[bot]
ee4edbb94f
New Crowdin Translations (automated) (#33582)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-14 08:44:58 +00:00
Jeong Arm
74da9e9281
Fix custom css cache miss (#33583) 2025-01-14 08:24:00 +00:00
Wolfgang
77a44e61a8
Add enum validation to DomainBlock#severity (#29158) 2025-01-13 16:05:24 +00:00
Matt Jankowski
f9451c5614
Fix issue with trending order when user has chosen languages (#33557) 2025-01-13 14:27:30 +00:00
Daniel M Brasil
0db7558822
Fix HTTP 500 on POST /api/v1/admin/ip_blocks (#29308) 2025-01-13 13:50:58 +00:00
Jonathan de Jong
3a762cddf6
Reject announce payload if object is nil (#33570) 2025-01-13 13:35:16 +00:00
Matt Jankowski
3c4a83fc62
Remove unused LanguagePresenter#native_name (#33551) 2025-01-13 12:58:53 +00:00
Claire
68d818121d
Switch webpush dependency to latest version of Mastodon-maintained fork (#33572) 2025-01-13 12:46:32 +00:00
Claire
50449ae7ac
Fix media preview height in compose form when 3 or more images are attached (#33571) 2025-01-13 11:48:47 +00:00
Claire
d517fa5ab7
Change ActivityPub path generation to all happen in ActivityPub::TagManager (#33527) 2025-01-13 09:39:05 +00:00
github-actions[bot]
53885b0fdb
New Crowdin Translations (automated) (#33559)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-13 09:13:47 +00:00
renovate[bot]
99637f2deb
Update dependency ox to v2.14.20 (#33567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-13 08:53:56 +00:00
renovate[bot]
44d9dc4bb0
Update dependency pino-http to v10.4.0 (#33560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-13 08:51:46 +00:00
renovate[bot]
f3f6b65db4
Update dependency @babel/plugin-transform-nullish-coalescing-operator to v7.26.5 (#33553)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-13 08:47:43 +00:00
Matt Jankowski
22c1b6f3ee
Fix Invite#code changing value on every save (#33550) 2025-01-10 20:34:18 +00:00
Matt Jankowski
34cd7d6585
Use config_for for Mastodon::Version metadata/prerelease values (#33548) 2025-01-10 15:52:43 +00:00
Matt Jankowski
2cfc2a777a
Add build_object method for defaults in AP::Activity::Create spec (#33537) 2025-01-10 11:59:19 +00:00
Matt Jankowski
4f6edc7596
Use in_order_of in trends/* classes (#33531) 2025-01-10 09:33:07 +00:00
renovate[bot]
e0f6292492
Update dependency uuid to v11.0.5 (#33538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 09:12:45 +00:00
Matt Jankowski
a8b0152bc5
Convert admin/terms_of_service/histories spec controller->system (#33534) 2025-01-10 09:11:57 +00:00
renovate[bot]
1d680f1941
Update dependency rubocop to v1.70.0 (#33543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 09:11:17 +00:00
renovate[bot]
d155763014
Update dependency react-textarea-autosize to v8.5.7 (#33542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 09:10:58 +00:00
Matt Jankowski
8d4ca95163
Convert admin/follow_recommendations spec controller->system (#33533) 2025-01-10 09:10:21 +00:00
Matt Jankowski
2499cd01db
Add duplicate_record helper to maintenance CLI spec (#33536) 2025-01-10 09:04:23 +00:00
Matt Jankowski
4fb3dc0363
Extract CSS_COLORS constant for UserRole regex validation (#33532) 2025-01-10 09:02:48 +00:00
github-actions[bot]
846c89b66e
New Crowdin Translations (automated) (#33541)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-10 09:00:41 +00:00
Matt Jankowski
f98972e4eb
Use with_options for Account if: :local? validation group (#33529) 2025-01-10 09:00:31 +00:00
Matt Jankowski
54e2030146
Add AccountWarning#appeal_eligible? method (#33526) 2025-01-09 15:08:39 +00:00
Matt Jankowski
3a4aed9890
Rename app/helpers/jsonld_helper.rb to app/helpers/json_ld_helper.rb (#33489) 2025-01-09 14:39:49 +00:00
Matt Jankowski
9b8d1fb6d1
Add Account#actor_type_application? query method (#33525) 2025-01-09 14:32:48 +00:00
Claire
a8b2b474d7
Add timestamp to all announcements in Web UI (#18329) 2025-01-09 14:22:33 +00:00
Claire
c6c8e7e6ab
Fix last paginated notification group only including data on a single notification (#33271) 2025-01-09 13:47:12 +00:00
Claire
91c75a6361
Re-introduce application_id in ScheduledStatusSerializer (#33505) 2025-01-09 13:38:23 +00:00
renovate[bot]
51a92427ce
Update dependency react-intl to v7 (#32954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 10:04:14 +00:00
renovate[bot]
b0fbb71759
Update dependency jsdom to v26 (#33521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 09:55:34 +00:00
KMY(雪あすか)
aeff0b1f1f
Merge pull request #961 from kmycode/upstream-20240109
Upstream 20240109
2025-01-09 18:50:24 +09:00
KMY
75b56ad5c7 Fix test 2025-01-09 17:52:41 +09:00
Christian Schmidt
8e2c642d44
Do now swallow response body on persistent connection (#32729) 2025-01-09 08:35:35 +00:00
github-actions[bot]
4e2c15b45d
New Crowdin Translations (automated) (#33522)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-09 08:21:47 +00:00
Matt Jankowski
cbae00ad23
Remove render_template from accounts request spec (#33519) 2025-01-09 08:17:11 +00:00
Matt Jankowski
4148b68430
Remove render_template from remote interaction helper request spec (#33518) 2025-01-09 08:17:06 +00:00
Matt Jankowski
f4b463ecb1
Use response.parsed_body for error view application controller spec (#33515) 2025-01-09 08:17:00 +00:00
Matt Jankowski
ce1501c3a7
Add "Account::Search" shared example for use in Account spec (#33507) 2025-01-09 08:12:48 +00:00
Christian Schmidt
1ce2dc3d13
Target same browsers in development and production (#33513) 2025-01-09 08:09:13 +00:00
KMY
2d4d0fd8b5 Fix test 2025-01-09 14:53:28 +09:00
KMY
d35fa72842 Merge remote-tracking branch 'parent/main' into upstream-20240109 2025-01-09 13:20:56 +09:00
renovate[bot]
3c7f3b190c
Update formatjs monorepo (#32774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 16:53:12 +00:00
Claire
6b1ea8dd2c
Require specific subtype of formatMessage in timeAgoString (#33511) 2025-01-08 16:26:54 +00:00
Claire
1bf6195763
Fix use of deprecated Iterable.isIndexed from immutable (#33510) 2025-01-08 16:25:41 +00:00
Matt Jankowski
78e0d6a11a
Extract development section from top-level readme into standalone doc (#33328) 2025-01-08 14:29:32 +00:00
Matt Jankowski
f22a2aab40
Add Account#remote? query method (#33508) 2025-01-08 14:28:08 +00:00
Emelia Smith
15669fcf75
Include time portion in formatted datetimes when provided (#33191) 2025-01-08 14:26:08 +00:00
Lamparter
2c36283a89
Refresh README.md (#32143) 2025-01-08 14:03:21 +00:00
renovate[bot]
d34e9eaf17
Update dependency @reduxjs/toolkit to v2.5.0 (#33102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 14:02:07 +00:00
renovate[bot]
a16d83ffef
Update Node.js to 22.13 (#33502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 12:22:44 +00:00
Nick Schonning
67a8d4638c
Unpin peter-evans/create-pull-request to v7 (#30817) 2025-01-08 11:01:51 +00:00
renovate[bot]
6a351e2247
Update dependency core-js to v3.40.0 (#33504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 10:57:40 +00:00
renovate[bot]
5a142060e1
Update opentelemetry-ruby (non-major) (#33506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 10:47:39 +00:00
renovate[bot]
242221c11f
Update dependency connection_pool to v2.5.0 (#33503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 10:21:58 +00:00
renovate[bot]
ee1cbda226
Update opentelemetry-ruby (non-major) (#33501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 09:06:37 +00:00
github-actions[bot]
35e57138f1
New Crowdin Translations (automated) (#33500)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-08 09:01:28 +00:00
Matt Jankowski
0c690511c2
Convert auth/challenges spec controller->request (#33495) 2025-01-08 08:54:08 +00:00
Matt Jankowski
b6c2923cf7
Convert settings/migration spec controller->system (#33496) 2025-01-08 08:53:26 +00:00
renovate[bot]
c3fc12c2b4
Update dependency rubyzip to v2.4.1 (#33494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 08:48:51 +00:00
Matt Jankowski
c0264c8013
Extend custom CSS cache time with digest paths (#33207) 2025-01-08 08:48:45 +00:00
Matt Jankowski
b3243ef41c
Refer to constant values from api/v1/apps request spec (#33488) 2025-01-07 16:28:54 +00:00
Matt Jankowski
7ad44e22ed
Remove role color highlighting from custom css (#33493) 2025-01-07 16:28:35 +00:00
renovate[bot]
bbe9dcfade
Update dependency aws-sdk-s3 to v1.177.0 (#33490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 16:06:11 +00:00
renovate[bot]
5bbcb1bb2e
Update dependency fastimage to v2.4.0 (#33491)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 16:06:05 +00:00
renovate[bot]
e0863fd766
Update peter-evans/create-pull-request action to v7.0.6 (#33492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 16:06:00 +00:00
Noel De Martin
5c4e224b66
Comment sidekiq build in docker compose (#33483) 2025-01-07 15:40:24 +00:00
renovate[bot]
7d6fd68efd
Update dependency test-prof to v1.4.4 (#33487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 14:18:09 +00:00
renovate[bot]
fd7bcfa749
Update dependency rubocop-performance to v1.23.1 (#33486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 14:18:05 +00:00
Matt Jankowski
fdfbf6e04e
Set statement timeout to zero in maintenance CLI (#33484) 2025-01-07 14:11:12 +00:00
Matt Jankowski
927c7bb6bb
Use ruby version 3.4.1 (#33304) 2025-01-07 13:46:56 +00:00
Claire
82e046ea06
Fix preview card sizing in “Author attribution” in profile settings (#33482) 2025-01-07 11:29:38 +00:00
Nick Schonning
c12b85e7a9
Fix Style/MultipleComparison (#33313)
Co-authored-by: Matt Jankowski <matt@jankowski.online>
2025-01-07 11:24:52 +00:00
renovate[bot]
8233293429
Update DefinitelyTyped types (non-major) (#33220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-01-07 09:28:06 +00:00
github-actions[bot]
9715bd796f
New Crowdin Translations (automated) (#33480)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-07 07:50:27 +00:00
Matt Jankowski
edf62d4fe3
Add self_editing? method to user role policy (#33476) 2025-01-07 07:50:19 +00:00
Matt Jankowski
dd937e115a
Use distributable? method in admin/status_policy method (#33477) 2025-01-07 07:47:58 +00:00
Matt Jankowski
efcd4ea5de
Reference value constants from specs (#33479) 2025-01-06 23:25:13 +00:00
Matt Jankowski
b0634b2943
Add helpers for ios/android app store links in welcome mailer (#33475) 2025-01-06 19:59:11 +00:00
Matt Jankowski
82d2ce293d
Convert admin/warning_presets spec controller->system (#33474) 2025-01-06 18:24:54 +00:00
Matt Jankowski
fbd283329e
Avoid "double icon" near each other in nav sidebar (#33449) 2025-01-06 18:24:39 +00:00
Matt Jankowski
24554bb6b9
Use ubuntu-latest for all GH actions runners (#33473) 2025-01-06 18:24:04 +00:00
Matt Jankowski
ef39398b82
Add urgent scope and by_version method to SoftwareUpdate (#33470) 2025-01-06 18:23:57 +00:00
Matt Jankowski
4cf031ee13
Extricate Invite constants for code generation (#33472) 2025-01-06 18:23:05 +00:00
Matt Jankowski
1eb752fb38
Extract constants for AnnualReport::* minimum thresholds (#33469) 2025-01-06 18:22:32 +00:00
Claire
e8672e27e8
Further remove old notifications code (#33465) 2025-01-06 18:22:07 +00:00
Claire
c692f69dba
Fix color contrast in report modal (#33468) 2025-01-06 16:24:32 +00:00
Claire
ea9b10d112
Fix error 500 when passing an invalid lang parameter (#33467) 2025-01-06 10:16:42 +00:00
Claire
dbbf450ef5
Fix fediverse:creator metadata not showing up in REST API (#33466) 2025-01-06 10:04:25 +00:00
Matt Jankowski
08dd11f8d4
Use in_order_of with filter: false in AccountSummary.localized (#33446) 2025-01-06 08:18:05 +00:00
Jeremy Kescher
612d6182e4
Fix /share not using server-set characters limit (#33459) 2025-01-06 08:14:11 +00:00
github-actions[bot]
c93c1f38b7
New Crowdin Translations (automated) (#33451)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-06 08:13:39 +00:00
renovate[bot]
c0f5705c34
Update dependency uuid to v11.0.4 (#33464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 08:01:22 +00:00
renovate[bot]
081244f692
Update dependency sass to v1.83.1 (#33453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 07:55:37 +00:00
zunda
f16fbc069a
Use configured limit for number of profile fields (#33463) 2025-01-06 04:47:10 +00:00
Tim Rogers
3bdfa3eb4c
Added validator for extra profile field values with empty name (#33421) 2025-01-04 19:42:27 +00:00
Matt Jankowski
9b82bedc6f
Only register stats dirs when command available (#33454) 2025-01-04 17:44:49 +00:00
Claire
9712518b2f
Refactor status handleClick and handleHotkeyOpen handlers (#33435) 2025-01-03 22:00:52 +00:00
Matt Jankowski
af7d6e59af
Replace deprecated STATS_DIRECTORIES with Rails::CodeStatistics.register_directory approach (#33445) 2025-01-03 21:52:16 +00:00
Claire
02fe176fd4
Fix audio player modal having white-on-white buttons in light theme (#33444) 2025-01-03 21:51:51 +00:00
Claire
7d6da219c0
Remove old notifications actions and reducers (#31843) 2025-01-03 16:12:08 +00:00
Matt Jankowski
535866218e
Update rails to version 8.0.1 (#32357) 2025-01-03 16:08:21 +00:00
Christian Schmidt
f9582bcfc3
Localize language names (#33402) 2025-01-03 15:29:25 +00:00
Claire
839a4e27a9
Fix incorrect relationship_severance_event attribute name in changelog (#33443) 2025-01-03 13:23:01 +00:00
renovate[bot]
6ffa251d6a
Update dependency net-http to '~> 0.6.0' (#33130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 11:20:13 +00:00
renovate[bot]
098dd91523
Update dependency typescript to v5.7.2 (#33059)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 11:16:44 +00:00
Claire
ed04547de2
Fix Renovate by temporarily constraining it to Ruby 3.3 (#33440) 2025-01-03 09:24:55 +00:00
Claire
79a9069deb
Add t hotkey for post translations (#33441) 2025-01-03 09:24:50 +00:00
Matt Jankowski
7cbdcd7b3f
Add role-specific user fabricators (#33437) 2025-01-03 08:28:14 +00:00
github-actions[bot]
a8a16695f1
New Crowdin Translations (automated) (#33439)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-03 07:53:00 +00:00
Matt Jankowski
590b7b2bb5
Use bundler version 2.6.2 (#33436) 2025-01-03 07:52:58 +00:00
Matt Jankowski
8e3fd1b823
Convert disputes/appeals spec controller->system (#33434) 2025-01-02 16:08:25 +00:00
Matt Jankowski
1fbd106af9
Convert admin/report_notes spec controller->system (#33433) 2025-01-02 15:54:21 +00:00
Jeong Arm
a557f9bbaa
Fix keyboard shortcut for open status (#33419) 2025-01-02 15:48:59 +00:00
Matt Jankowski
00a8a5467c
Convert admin/relays spec controller->system (#33430) 2025-01-02 15:01:44 +00:00
gunchleoc
3201485df2
Fix favorite & bookmark text toggle in timeline, status and image view (#27209) 2025-01-02 13:52:07 +00:00
Claire
655c4a5ebb
Fix processing of incoming notifications for unfilterable types (#33429) 2025-01-02 13:22:25 +00:00
Matt Jankowski
2e936785b7
Convert admin/rules spec controller->system (#33377) 2025-01-02 12:57:55 +00:00
Claire
68bfa7ae3f
Fix WebUI erroneously stopping to offer expanding search results after second page (#33428) 2025-01-02 10:58:00 +00:00
Claire
f9fef9864a
Fix intermittent failure on ap/activity/update spec timestamp check (#33425) 2025-01-02 09:17:49 +00:00
renovate[bot]
ca06156087
Update Yarn to v4.6.0 (#33417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 09:07:45 +00:00
renovate[bot]
a9f2e261d3
Update dependency ox to v2.14.19 (#33398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 09:05:15 +00:00
renovate[bot]
7b5adb0d64
Update dependency pino to v9.6.0 (#33386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 09:03:56 +00:00
github-actions[bot]
ba18289477
New Crowdin Translations (automated) (#33378)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-01-02 09:02:47 +00:00
renovate[bot]
28466865c1
Update dependency csv to v3.3.2 (#33381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 08:38:56 +00:00
Matt Jankowski
441dcd7396
Fix intermittent failure on ap/activity/create spec timestamp check (#33406) 2025-01-02 08:38:22 +00:00
renovate[bot]
7c50e53baa
Update dependency bufferutil to v4.0.9 (#33414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 08:37:51 +00:00
renovate[bot]
79cfffda3b
Update dependency postcss-preset-env to v10.1.3 (#33415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 08:36:40 +00:00
renovate[bot]
d94b2b1c39
Update dependency rubocop-rails to v2.28.0 (#33397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 08:36:24 +00:00
KMY(雪あすか)
088207ae9f
Merge pull request #960 from kmycode/upstream-20241231
Upstream 20241231
2024-12-31 12:49:25 +09:00
KMY
3c77d4e8e4 Merge remote-tracking branch 'parent/main' into upstream-20241231 2024-12-31 11:56:36 +09:00
KMY(雪あすか)
d37143aa3a
Add: 絵文字リアクション対応サーバーにyojo-art (#957) 2024-12-31 11:33:57 +09:00
Matt Jankowski
8770905186
Convert admin/ip_blocks spec controller->system (#33376) 2024-12-20 15:36:19 +00:00
renovate[bot]
b01e8f4a9b
Update dependency ioredis to v5.4.2 (#33375)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-20 15:35:36 +00:00
Matt Jankowski
f35de1ed0d
Remove un-needed Poll.attached scope (#33368) 2024-12-20 15:15:11 +00:00
Matt Jankowski
b648c64e2e
Add NOT NULL requirement to columns on polls (#33374) 2024-12-20 14:33:48 +00:00
段風桜 Dampuzakura
add935a081
Fix: 検索ボックスの入力補助でlanguagedomainに修正 (#956) 2024-12-20 23:21:19 +09:00
Matt Jankowski
d2fbf42b0e
Avoid validate: false save in expired poll create activity spec (#33367) 2024-12-20 13:34:05 +00:00
Claire
344e2903b3
Fix featured tags for remote accounts not being kept up to date (#33372) 2024-12-20 11:50:31 +00:00
Matt Jankowski
d31d988e24
Add coverage for UserMailer not delivering to memorialized users (#33366)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-12-20 10:27:40 +00:00
renovate[bot]
aa455aaa49
Update opentelemetry-ruby (non-major) (#33371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-20 08:31:27 +00:00
Matt Jankowski
28d309fd86
Add shared example for Expireable concern (#33369) 2024-12-20 08:21:34 +00:00
github-actions[bot]
dd56292d1f
New Crowdin Translations (automated) (#33370)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-20 08:06:18 +00:00
Matt Jankowski
87c892191a
Convert admin/domain_allows spec controller->system (#33365) 2024-12-20 08:04:22 +00:00
Matt Jankowski
1acc54cfc7
Convert admin/webhooks spec controller->system (#33364) 2024-12-20 07:52:16 +00:00
Matt Jankowski
03bf4cde55
Convert statuses_cleanup controller specs to system specs (#33363) 2024-12-19 13:34:54 +00:00
renovate[bot]
d826919aeb
Update dependency debug to v1.10.0 (#33361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-19 13:27:37 +00:00
Matt Jankowski
0ac43700d8
Add coverage for REST::AnnualReportEventSerializer and two ActivityPub::* serializers (#33355)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-12-19 12:30:09 +00:00
Renaud Chaput
22813dbc6e
Fix /health endpoint when OTEL is configured (#33362) 2024-12-19 10:44:44 +00:00
renovate[bot]
32184e3f04
Update dependency test-prof to v1.4.3 (#33360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-19 09:08:56 +00:00
github-actions[bot]
7a08fe91b5
New Crowdin Translations (automated) (#33358)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-19 08:47:20 +00:00
Matt Jankowski
22caddaa24
Update user role position range limit (#33349) 2024-12-19 08:10:39 +00:00
Matt Jankowski
aee64a465c
Remove unused Poll.unattached scope (#33350) 2024-12-19 08:10:06 +00:00
Matt Jankowski
d014024dc5
Use bundler version 2.6.1 (#33351) 2024-12-19 08:08:24 +00:00
Matt Jankowski
545a6b9eed
Convert admin/account_moderation_notes spec controller->system (#33354) 2024-12-19 08:02:08 +00:00
Claire
85792cc375
Fix incorrect notification settings migration for non-followers (#33348) 2024-12-18 12:25:40 +00:00
Renaud Chaput
3f8f06eb46
Add support for Active Record query log tags (#33342) 2024-12-18 10:05:00 +00:00
Jesse Karmani
db749c7d2b
Fix down clause for notification policy v2 migrations (#33340) 2024-12-18 08:52:47 +00:00
Matt Jankowski
668ce14ff2
Convert admin/custom_emojis spec controller->system (#33327) 2024-12-18 08:34:15 +00:00
Matt Jankowski
ca2a7d66b8
Fix missing value limits for UserRole position (#33172) 2024-12-18 08:29:27 +00:00
github-actions[bot]
1992c2a4fa
New Crowdin Translations (automated) (#33345)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-18 07:51:31 +00:00
renovate[bot]
c4c9f2bf47
Update dependency opentelemetry-instrumentation-faraday to v0.24.8 (#33338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 07:34:34 +00:00
Renaud Chaput
3febe7d020
Add OTEL trace & span IDs to logs (#33339) 2024-12-18 07:34:20 +00:00
Matt Jankowski
3f9ac22af3
Remove empty/unused config/storage.yml file (#33341) 2024-12-18 07:25:14 +00:00
renovate[bot]
efada38271
Update dependency dotenv to v3.1.7 (#33344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 07:24:51 +00:00
Matt Jankowski
14234d2bda
Use bundler version 2.6.0 (#33337) 2024-12-18 07:24:02 +00:00
Matt Jankowski
d65e246192
Convert statuses#activity action controller to request spec (#33336) 2024-12-17 16:37:30 +00:00
Matt Jankowski
0085e8c427
Wrap assertions in change within AccountStatusesCleanupPolicy spec (#33335) 2024-12-17 16:25:02 +00:00
Matt Jankowski
ce5c33c65d
Add API datetime/format matcher for serialization specs, reduce factories (#33325) 2024-12-17 13:38:57 +00:00
Matt Jankowski
978142ac9e
Add missing NOT NULL on more columns from "large but valid" tables (#33330) 2024-12-17 13:38:18 +00:00
Eugen Rochko
f19fd0b889
Change design of interaction modal in web UI (#33278)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-12-17 12:36:32 +00:00
Claire
1712543c68
Revert "Support animated PNGs in media attachments (#28516)" (#33334) 2024-12-17 10:52:59 +00:00
github-actions[bot]
02748f172d
New Crowdin Translations (automated) (#33332)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-17 09:33:42 +00:00
Matt Jankowski
60bb51eef8
Convert filters spec controller->system (#33326) 2024-12-17 09:20:01 +00:00
Matt Jankowski
a7673d361d
Fix application_id erroneous inclusion in ScheduledStatusSerializer (#33159) 2024-12-17 08:54:07 +00:00
Matt Jankowski
3ac478472e
Remove reference to removed Capfile in lint-staged config (#33329) 2024-12-17 08:51:45 +00:00
Claire
a837f7d693
Fix clicking on a profile mention while logged out potentially leading to incorrect account (#33324) 2024-12-16 19:29:51 +00:00
Matt Jankowski
efe4e72f93
Convert settings/preferences/appearance controller spec to system (#33323) 2024-12-16 17:08:19 +00:00
Matt Jankowski
9067a7f696
Convert settings/preferences/notifications controller spec to system (#33322) 2024-12-16 16:24:05 +00:00
Matt Jankowski
bfef66276a
Convert settings/preferences/other controller spec to system (#33321) 2024-12-16 16:23:26 +00:00
Matt Jankowski
c68eb82ffa
Use explicit config loading from bin/rubocop (#33256) 2024-12-16 13:50:58 +00:00
renovate[bot]
ecdf4ea062
Update codecov/codecov-action action to v5 (#33317)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 12:36:36 +00:00
Claire
6305b6e747
Fix error decrementing status count when FeaturedTags#last_status_at is nil (#33320) 2024-12-16 12:33:55 +00:00
KMY(雪あすか)
cf114758ae
Merge pull request #953 from kmycode/upstream-20241216
Upstream 20241216
2024-12-16 17:31:27 +09:00
Matt Jankowski
cf4595967b
Add NOT NULL requirement to columns on account_conversations (#33308) 2024-12-16 08:20:08 +00:00
Matt Jankowski
a596f3479b
Convert settings/login_activities controller spec to system spec (#33306) 2024-12-16 08:12:36 +00:00
Matt Jankowski
3d00b95359
Convert settings/profiles controller spec to system spec (#33305) 2024-12-16 08:11:48 +00:00
github-actions[bot]
504ea31bd3
New Crowdin Translations (automated) (#33310)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-16 07:54:12 +00:00
renovate[bot]
d19eaebd5e
Update dependency dotenv to v3.1.6 (#33302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 07:47:51 +00:00
renovate[bot]
fd0793dd0e
Update dependency postcss-preset-env to v10.1.2 (#33303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 07:47:32 +00:00
Eugen Rochko
3cf6681736
Change animation on feed generation screen in web UI (#33311) 2024-12-16 07:38:56 +00:00
renovate[bot]
74478888ff
Update dependency oj to v3.16.8 (#33314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 07:37:56 +00:00
renovate[bot]
519630bc03
Update dependency csv to v3.3.1 (#33315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 07:37:39 +00:00
renovate[bot]
02e78a7dac
Update devDependencies (non-major) (#33316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 07:37:09 +00:00
KMY
ddd3581bd8 Fix test 2024-12-16 11:38:52 +09:00
KMY
3784ad273c Merge remote-tracking branch 'parent/main' into upstream-20241216 2024-12-16 10:14:31 +09:00
Nik Clayton
5cf37248cc
Ensure datetime/date are serialized to correct format (#33086) 2024-12-14 15:50:41 +00:00
Matt Jankowski
a8edc82471
Replace deprecated "github" format for stylelint on CI runs (#33292) 2024-12-14 09:50:08 +00:00
Matt Jankowski
efc85e39a0
Add missing NOT NULL requirement to small, indexed, valid data tables (#33284) 2024-12-14 00:16:03 +00:00
Matt Jankowski
4130bda12e
Convert settings/verifications controller spec to system spec (#33285) 2024-12-13 10:39:07 +00:00
github-actions[bot]
7200f9d25c
New Crowdin Translations (automated) (#33300)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-13 10:38:09 +00:00
renovate[bot]
92a4423ab7
Update dependency irb to v1.14.2 (#33282)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 09:22:48 +00:00
renovate[bot]
03aa09561d
Update RuboCop (non-major) to v1.69.2 (#33283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 09:22:27 +00:00
Matt Jankowski
1bd9306ced
Add coverage for Tag model validations on name/display_name (#33291) 2024-12-13 09:21:55 +00:00
renovate[bot]
4f2d060f94
Update dependency aws-sdk-s3 to v1.176.1 (#33293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 09:20:45 +00:00
renovate[bot]
148b1ff230
Update dependency nokogiri to v1.17.2 (#33294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 09:19:56 +00:00
renovate[bot]
e2c7462852
Update dependency dotenv to v3.1.5 (#33298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 09:17:48 +00:00
renovate[bot]
ed33064e7b
Update dependency sass to v1.83.0 (#33299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 09:17:26 +00:00
Matt Jankowski
3c71ee9b90
Use touch_all for time column updates (#33295) 2024-12-13 08:41:42 +00:00
Matt Jankowski
234af14966
Fix long account username leaving container (#33286) 2024-12-13 08:41:38 +00:00
Robb Kidd
d580607510
don't start OTel traces with Redis spans (#33090) 2024-12-13 08:21:38 +00:00
Matt Jankowski
42f6a36f21
Run optimize PNG on emoji sheet asset (#33281) 2024-12-12 20:18:56 +00:00
Matt Jankowski
bc5b9d98a5
Remove unused admin/terms_of_service routes (#33288) 2024-12-12 20:17:15 +00:00
Eugen Rochko
0636bcdbe1
Change search to use query params in web UI (#32949) 2024-12-12 17:12:33 +00:00
Matt Jankowski
708919ee93
Update deprecated enum style in older migrations (#32925) 2024-12-12 10:44:58 +00:00
Matt Jankowski
4bf6af3b61
Remove unused model_have_error_on_field matcher (#33273) 2024-12-12 10:28:05 +00:00
github-actions[bot]
e0a49af47d
New Crowdin Translations (automated) (#33280)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-12 09:10:00 +00:00
Matt Jankowski
b51e0bc3c7
Simplify model validation specs for Report (#33267) 2024-12-12 09:09:35 +00:00
Matt Jankowski
d56aa9031a
Disable Naming/VariableNumber cop in old migrations (#33274) 2024-12-12 08:15:38 +00:00
renovate[bot]
6445facb8c
Update dependency react-select to v5.9.0 (#33279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 08:08:59 +00:00
Matt Jankowski
8fa89c2db1
Remove app/views rubocop rule exception for haml-lint (#33270) 2024-12-11 15:50:56 +00:00
Matt Jankowski
43702b95a2
Enable Rails/ReversibleMigration cop (#33264) 2024-12-11 15:50:50 +00:00
Jonathan de Jong
315c170910
Fix bug where remote suspension causes local instance to remove remote follows (#27588) 2024-12-11 15:08:07 +00:00
Matt Jankowski
d6241f6751
Fix Rails/ThreeStateBooleanColumn cop (#33269) 2024-12-11 14:25:48 +00:00
Claire
bcb3b627b9
Fix processing of mentions for post edits with an existing corresponding silent mention (#33227) 2024-12-11 12:59:29 +00:00
Renaud Chaput
da279df8ae
Fix voting on polls (#33266) 2024-12-11 10:32:03 +00:00
Claire
a4560d9278
Change label of grouped favourite notification on private mentions (#31659) 2024-12-11 10:25:51 +00:00
Filippo Giunchedi
3614e9a30b
Fix Vagrant failure to sync dangling symlinks (#28101)
Co-authored-by: Filippo Giunchedi <filippo@debian.org>
2024-12-11 10:18:30 +00:00
Matt Jankowski
ad68686bec
Simplify model validation specs for CustomFilter (#33248) 2024-12-11 09:55:35 +00:00
Matt Jankowski
f721e76d13
Avoid double request in admin/export_domain_allows controller spec (#33255) 2024-12-11 08:58:59 +00:00
Matt Jankowski
f6daf73286
Add non-matching cases to Report#history spec (#33253) 2024-12-11 08:24:50 +00:00
github-actions[bot]
f12b3a9cef
New Crowdin Translations (automated) (#33262)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-11 08:20:44 +00:00
renovate[bot]
32e23ef630
Update dependency react-redux to v9.2.0 (#33260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 08:17:47 +00:00
renovate[bot]
5e4ca0881e
Update dependency @rails/ujs to v7.1.501 (#33258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 07:55:14 +00:00
renovate[bot]
bf4ad7e200
Update dependency rails to v7.2.2.1 (#33259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-11 07:54:50 +00:00
Jeong Arm
9ba4c8ef66
Handle rotation is not present in the video metadata (#33261) 2024-12-11 04:47:42 +00:00
Christian Schmidt
a70ae28644
Support animated PNGs in media attachments (#28516) 2024-12-11 02:28:21 +00:00
Matt Jankowski
39364346bb
Add coverage for admin/terms/drafts#update and admin/terms/generates#create actions (#33251) 2024-12-10 23:09:36 +00:00
Matt Jankowski
094e2172ec
Add system spec for Admin::TermsOfService index view (#33250) 2024-12-10 23:08:14 +00:00
Renaud Chaput
ded799f913
Convert polls to Typescript / Immutable Records (#29789) 2024-12-10 22:54:07 +00:00
Matt Jankowski
e4e35ab134
Add NOT NULL requirement to account columns on AccountPin (#33244) 2024-12-10 15:50:49 +00:00
Matt Jankowski
e76aff7de5
Standardize uniqueness validation declaration on Mention (#33247) 2024-12-10 15:45:13 +00:00
renovate[bot]
3222c19d45
Update dependency nokogiri to v1.17.1 (#33246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-10 15:10:09 +00:00
Matt Jankowski
12eb6b0e6d
Add coverage for TermsOfServicePolicy class (#33241) 2024-12-10 15:09:44 +00:00
Matt Jankowski
66266ec6fc
Add coverage for UserMailer#terms_of_service_changed mailer (#33242) 2024-12-10 14:45:40 +00:00
Matt Jankowski
19c6cb82f6
Add coverage for Admin::DistributeTermsOfServiceNotificationWorker class (#33245) 2024-12-10 14:45:14 +00:00
Matt Jankowski
c72083ad68
Add system spec for TOS page (#33243) 2024-12-10 14:14:28 +00:00
Renaud Chaput
2a369a8977
Use a system setting for the Referer policy (#33239) 2024-12-10 13:16:52 +00:00
Matt Jankowski
7d52b24569
Add coverage for AccountPin model (#33231) 2024-12-10 13:02:52 +00:00
Claire
58c5068bda
Fix Chromium showing scrollbar on embedded posts (#33237) 2024-12-10 13:02:17 +00:00
github-actions[bot]
801cd731be
New Crowdin Translations (automated) (#33235)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-10 09:10:28 +00:00
FND
c8c916e657
Change URL truncation to account for ellipses (#33229) 2024-12-10 08:41:06 +00:00
Matt Jankowski
2131e61548
Fix hard wrap of markdown list in TOS template (#33230) 2024-12-10 01:43:03 +00:00
Matt Jankowski
12d9ef6003
Character conversion on TOS template (#33233) 2024-12-10 00:04:59 +00:00
Eugen Rochko
425311e1d9
Change referrer policy to be controlled by header in web UI (#33214) 2024-12-09 22:42:45 +00:00
renovate[bot]
2e35b15b4d
Update dependency react-textarea-autosize to v8.5.6 (#33228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 15:12:31 +00:00
renovate[bot]
cfd2879ba4
Update dependency nokogiri to v1.17.0 (#33218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 15:08:16 +00:00
Matt Jankowski
342055cb15
Update rubocop to version 1.69.1 (#32967) 2024-12-09 14:52:49 +00:00
Emelia Smith
6615f17b48
Fix missing top border on Admin Hashtags UI (#31443) 2024-12-09 12:55:28 +00:00
renovate[bot]
7b7a29867b
Update devDependencies (non-major) (#33221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 10:24:10 +00:00
Eugen Rochko
30aa0df88c
Add terms of service (#33055) 2024-12-09 10:04:46 +00:00
KMY(雪あすか)
00a0e21de6
Change: ブックマーク分類新規作成後の繊維画面を分類一覧画面へ変更 (#948) 2024-12-09 18:45:20 +09:00
KMY(雪あすか)
6c719a67be
Change: リスト・アンテナのお気に入り登録の説明文で、PCのみ有効であることを明記 (#949) 2024-12-09 18:45:11 +09:00
github-actions[bot]
7a2a345c08
New Crowdin Translations (automated) (#33210)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-09 09:20:28 +00:00
renovate[bot]
f646fb0259
Update dependency doorkeeper to v5.8.1 (#33225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 09:19:58 +00:00
Eugen Rochko
bf79174829
Fix design of search bar on explore screen in light theme in web UI (#33224) 2024-12-09 09:19:00 +00:00
Claire
ab133c5e30
Bump version to v4.3.2 (#33226) 2024-12-09 09:09:00 +00:00
Eugen Rochko
796dd57e1b
Change ability to navigate of unconfirmed users (#33209) 2024-12-09 08:31:56 +00:00
Eugen Rochko
ca45f896dd
Fix various visual sign-up flow issues (#33206) 2024-12-09 08:23:19 +00:00
1751 changed files with 46929 additions and 26714 deletions

View file

@ -1,10 +1,6 @@
[production]
defaults
> 0.2%
firefox >= 78
ios >= 15.6
not dead
not OperaMini all
[development]
supports es6-module

View file

@ -10,6 +10,7 @@ services:
RAILS_ENV: development
NODE_ENV: development
BIND: 0.0.0.0
BOOTSNAP_CACHE_DIR: /tmp
REDIS_HOST: redis
REDIS_PORT: '6379'
DB_HOST: db
@ -20,12 +21,13 @@ services:
ES_HOST: es
ES_PORT: '9200'
LIBRE_TRANSLATE_ENDPOINT: http://libretranslate:5000
LOCAL_DOMAIN: ${LOCAL_DOMAIN:-localhost:3000}
# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
ports:
- '127.0.0.1:3000:3000'
- '127.0.0.1:3035:3035'
- '127.0.0.1:4000:4000'
- '3000:3000'
- '3035:3035'
- '4000:4000'
networks:
- external_network
- internal_network

View file

@ -20,3 +20,9 @@ postgres14
redis
elasticsearch
chart
.yarn/
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

View file

@ -50,7 +50,7 @@ OTP_SECRET=
# Must be available (and set to same values) for all server processes
# These are private/secret values, do not share outside hosting environment
# Use `bin/rails db:encryption:init` to generate fresh secrets
# Do not change these secrets once in use, as this would cause data loss and other issues
# Do NOT change these secrets once in use, as this would cause data loss and other issues
# ------------------
# ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=
# ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=
@ -79,6 +79,9 @@ AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
S3_ALIAS_HOST=files.example.com
# Optional list of hosts that are allowed to serve media for your instance
# EXTRA_MEDIA_HOSTS=https://data.example1.com,https://data.example2.com
# IP and session retention
# -----------------------
# Make sure to modify the scheduling of ip_cleanup_scheduler in config/sidekiq.yml
@ -86,3 +89,27 @@ S3_ALIAS_HOST=files.example.com
# -----------------------
IP_RETENTION_PERIOD=31556952
SESSION_RETENTION_PERIOD=31556952
# Fetch All Replies Behavior
# --------------------------
# When a user expands a post (DetailedStatus view), fetch all of its replies
# (default: false)
FETCH_REPLIES_ENABLED=false
# Period to wait between fetching replies (in minutes)
FETCH_REPLIES_COOLDOWN_MINUTES=15
# Period to wait after a post is first created before fetching its replies (in minutes)
FETCH_REPLIES_INITIAL_WAIT_MINUTES=5
# Max number of replies to fetch - total, recursively through a whole reply tree
FETCH_REPLIES_MAX_GLOBAL=1000
# Max number of replies to fetch - for a single post
FETCH_REPLIES_MAX_SINGLE=500
# Max number of replies Collection pages to fetch - total
FETCH_REPLIES_MAX_PAGES=500
# Maximum allowed character count
MAX_CHARS=5555

View file

@ -1,13 +0,0 @@
/build/**
/coverage/**
/db/**
/lib/**
/log/**
/node_modules/**
/nonobox/**
/public/**
!/public/embed.js
/spec/**
/tmp/**
/vendor/**
!.eslintrc.js

View file

@ -1,367 +0,0 @@
// @ts-check
const { defineConfig } = require('eslint-define-config');
module.exports = defineConfig({
root: true,
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:jsx-a11y/recommended',
'plugin:import/recommended',
'plugin:promise/recommended',
'plugin:jsdoc/recommended',
],
env: {
browser: true,
node: true,
es6: true,
},
parser: '@typescript-eslint/parser',
plugins: [
'react',
'jsx-a11y',
'import',
'promise',
'@typescript-eslint',
'formatjs',
],
parserOptions: {
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2021,
requireConfigFile: false,
babelOptions: {
configFile: false,
presets: ['@babel/react', '@babel/env'],
},
},
settings: {
react: {
version: 'detect',
},
'import/ignore': [
'node_modules',
'\\.(css|scss|json)$',
],
'import/resolver': {
typescript: {},
},
},
rules: {
'consistent-return': 'error',
'dot-notation': 'error',
eqeqeq: ['error', 'always', { 'null': 'ignore' }],
'indent': ['error', 2],
'jsx-quotes': ['error', 'prefer-single'],
'semi': ['error', 'always'],
'no-catch-shadow': 'error',
'no-console': [
'warn',
{
allow: [
'error',
'warn',
],
},
],
'no-empty': ['error', { "allowEmptyCatch": true }],
'no-restricted-properties': [
'error',
{ property: 'substring', message: 'Use .slice instead of .substring.' },
{ property: 'substr', message: 'Use .slice instead of .substr.' },
],
'no-restricted-syntax': [
'error',
{
// eslint-disable-next-line no-restricted-syntax
selector: 'Literal[value=/•/], JSXText[value=/•/]',
// eslint-disable-next-line no-restricted-syntax
message: "Use '·' (middle dot) instead of '•' (bullet)",
},
],
'no-unused-expressions': 'error',
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': [
'error',
{
vars: 'all',
args: 'after-used',
destructuredArrayIgnorePattern: '^_',
ignoreRestSiblings: true,
},
],
'valid-typeof': 'error',
'react/jsx-filename-extension': ['error', { extensions: ['.jsx', 'tsx'] }],
'react/jsx-boolean-value': 'error',
'react/display-name': 'off',
'react/jsx-fragments': ['error', 'syntax'],
'react/jsx-equals-spacing': 'error',
'react/jsx-no-bind': 'error',
'react/jsx-no-useless-fragment': 'error',
'react/jsx-no-target-blank': 'off',
'react/jsx-tag-spacing': 'error',
'react/jsx-uses-react': 'off', // not needed with new JSX transform
'react/jsx-wrap-multilines': 'error',
'react/react-in-jsx-scope': 'off', // not needed with new JSX transform
'react/self-closing-comp': 'error',
// recommended values found in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/v6.8.0/src/index.js#L46
'jsx-a11y/click-events-have-key-events': 'off',
'jsx-a11y/label-has-associated-control': 'off',
'jsx-a11y/media-has-caption': 'off',
'jsx-a11y/no-autofocus': 'off',
// recommended rule is:
// 'jsx-a11y/no-interactive-element-to-noninteractive-role': [
// 'error',
// {
// tr: ['none', 'presentation'],
// canvas: ['img'],
// },
// ],
'jsx-a11y/no-interactive-element-to-noninteractive-role': 'off',
// recommended rule is:
// 'jsx-a11y/no-noninteractive-tabindex': [
// 'error',
// {
// tags: [],
// roles: ['tabpanel'],
// allowExpressionValues: true,
// },
// ],
'jsx-a11y/no-noninteractive-tabindex': 'off',
// recommended is full 'error'
'jsx-a11y/no-static-element-interactions': [
'warn',
{
handlers: [
'onClick',
],
},
],
// See https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/config/recommended.js
'import/extensions': [
'error',
'always',
{
js: 'never',
jsx: 'never',
mjs: 'never',
ts: 'never',
tsx: 'never',
},
],
'import/first': 'error',
'import/newline-after-import': 'error',
'import/no-anonymous-default-export': 'error',
'import/no-extraneous-dependencies': [
'error',
{
devDependencies: [
'.eslintrc.js',
'config/webpack/**',
'app/javascript/mastodon/performance.js',
'app/javascript/mastodon/test_setup.js',
'app/javascript/**/__tests__/**',
],
},
],
'import/no-amd': 'error',
'import/no-commonjs': 'error',
'import/no-import-module-exports': 'error',
'import/no-relative-packages': 'error',
'import/no-self-import': 'error',
'import/no-useless-path-segments': 'error',
'import/no-webpack-loader-syntax': 'error',
'import/order': [
'error',
{
alphabetize: { order: 'asc' },
'newlines-between': 'always',
groups: [
'builtin',
'external',
'internal',
'parent',
['index', 'sibling'],
'object',
],
pathGroups: [
// React core packages
{
pattern: '{react,react-dom,react-dom/client,prop-types}',
group: 'builtin',
position: 'after',
},
// I18n
{
pattern: '{react-intl,intl-messageformat}',
group: 'builtin',
position: 'after',
},
// Common React utilities
{
pattern: '{classnames,react-helmet,react-router,react-router-dom}',
group: 'external',
position: 'before',
},
// Immutable / Redux / data store
{
pattern: '{immutable,@reduxjs/toolkit,react-redux,react-immutable-proptypes,react-immutable-pure-component}',
group: 'external',
position: 'before',
},
// Internal packages
{
pattern: '{mastodon/**}',
group: 'internal',
position: 'after',
},
],
pathGroupsExcludedImportTypes: [],
},
],
'promise/always-return': 'off',
'promise/catch-or-return': [
'error',
{
allowFinally: true,
},
],
'promise/no-callback-in-promise': 'off',
'promise/no-nesting': 'off',
'promise/no-promise-in-callback': 'off',
'formatjs/blocklist-elements': 'error',
'formatjs/enforce-default-message': ['error', 'literal'],
'formatjs/enforce-description': 'off', // description values not currently used
'formatjs/enforce-id': 'off', // Explicit IDs are used in the project
'formatjs/enforce-placeholders': 'off', // Issues in short_number.jsx
'formatjs/enforce-plural-rules': 'error',
'formatjs/no-camel-case': 'off', // disabledAccount is only non-conforming
'formatjs/no-complex-selectors': 'error',
'formatjs/no-emoji': 'error',
'formatjs/no-id': 'off', // IDs are used for translation keys
'formatjs/no-invalid-icu': 'error',
'formatjs/no-literal-string-in-jsx': 'off', // Should be looked at, but mainly flagging punctuation outside of strings
'formatjs/no-multiple-whitespaces': 'error',
'formatjs/no-offset': 'error',
'formatjs/no-useless-message': 'error',
'formatjs/prefer-formatted-message': 'error',
'formatjs/prefer-pound-in-plural': 'error',
'jsdoc/check-types': 'off',
'jsdoc/no-undefined-types': 'off',
'jsdoc/require-jsdoc': 'off',
'jsdoc/require-param-description': 'off',
'jsdoc/require-property-description': 'off',
'jsdoc/require-returns-description': 'off',
'jsdoc/require-returns': 'off',
},
overrides: [
{
files: [
'.eslintrc.js',
'*.config.js',
'.*rc.js',
'ide-helper.js',
'config/webpack/**/*',
'config/formatjs-formatter.js',
],
env: {
commonjs: true,
},
parserOptions: {
sourceType: 'script',
},
rules: {
'import/no-commonjs': 'off',
},
},
{
files: [
'**/*.ts',
'**/*.tsx',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/strict-type-checked',
'plugin:@typescript-eslint/stylistic-type-checked',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:jsx-a11y/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
'plugin:promise/recommended',
'plugin:jsdoc/recommended-typescript',
],
parserOptions: {
projectService: true,
tsconfigRootDir: __dirname,
},
rules: {
// Disable formatting rules that have been enabled in the base config
'indent': 'off',
// This is not needed as we use noImplicitReturns, which handles this in addition to understanding types
'consistent-return': 'off',
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
'@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
'@typescript-eslint/consistent-type-exports': 'error',
'@typescript-eslint/consistent-type-imports': 'error',
"@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',
// Those rules set stricter rules for TS files
// to enforce better practices when converting from JS
'import/no-default-export': 'warn',
'react/prefer-stateless-function': 'warn',
'react/function-component-definition': ['error', { namedComponents: 'arrow-function' }],
'react/jsx-uses-react': 'off', // not needed with new JSX transform
'react/react-in-jsx-scope': 'off', // not needed with new JSX transform
'react/prop-types': 'off',
},
},
{
files: [
'**/__tests__/*.js',
'**/__tests__/*.jsx',
],
env: {
jest: true,
},
}
],
});

View file

@ -61,7 +61,7 @@ body:
value: |
Please at least include those informations:
- Operating system: (eg. Ubuntu 22.04)
- Ruby version: (from `ruby --version`, eg. v3.3.5)
- Ruby version: (from `ruby --version`, eg. v3.4.1)
- Node.js version: (from `node --version`, eg. v20.18.0)
validations:
required: false

View file

@ -15,6 +15,8 @@
// to `null` after any other rule set it to something.
dependencyDashboardHeader: 'This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more. Before approving any upgrade: read the description and comments in the [`renovate.json5` file](https://github.com/mastodon/mastodon/blob/main/.github/renovate.json5).',
postUpdateOptions: ['yarnDedupeHighest'],
// The types are now included in recent versions,we ignore them here until we upgrade and remove the dependency
ignoreDeps: ['@types/emoji-mart'],
packageRules: [
{
// Require Dependency Dashboard Approval for major version bumps of these node packages
@ -97,7 +99,13 @@
{
// Group all eslint-related packages with `eslint` in the same PR
matchManagers: ['npm'],
matchPackageNames: ['eslint', 'eslint-*', '@typescript-eslint/*'],
matchPackageNames: [
'eslint',
'eslint-*',
'typescript-eslint',
'@eslint/*',
'globals',
],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'eslint (non-major)',
},

View file

@ -24,8 +24,6 @@ jobs:
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
@ -46,8 +44,6 @@ jobs:
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

View file

@ -24,7 +24,7 @@ permissions:
jobs:
check-i18n:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

View file

@ -50,7 +50,7 @@ jobs:
# Create or update the pull request
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7.0.5
uses: peter-evans/create-pull-request@v7.0.6
with:
commit-message: 'New Crowdin translations'
title: 'New Crowdin Translations for ${{ github.base_ref || github.ref_name }} (automated)'

View file

@ -43,4 +43,4 @@ jobs:
uses: ./.github/actions/setup-javascript
- name: Stylelint
run: yarn lint:css -f github
run: yarn lint:css --custom-formatter @csstools/stylelint-formatter-github

View file

@ -14,7 +14,7 @@ on:
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- '.eslint*'
- 'eslint.config.mjs'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
@ -28,7 +28,7 @@ on:
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- '.eslint*'
- 'eslint.config.mjs'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
@ -47,7 +47,7 @@ jobs:
uses: ./.github/actions/setup-javascript
- name: ESLint
run: yarn lint:js --max-warnings 0
run: yarn workspaces foreach --all --parallel run lint:js --max-warnings 0
- name: Typecheck
run: yarn typecheck

View file

@ -12,6 +12,7 @@ on:
- 'Gemfile*'
- '.rubocop*.yml'
- '.ruby-version'
- 'bin/rubocop'
- 'config/brakeman.ignore'
- '**/*.rb'
- '**/*.rake'
@ -22,6 +23,7 @@ on:
- 'Gemfile*'
- '.rubocop*.yml'
- '.ruby-version'
- 'bin/rubocop'
- 'config/brakeman.ignore'
- '**/*.rb'
- '**/*.rake'

View file

@ -67,7 +67,6 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_CLEAN: true
BUNDLE_FROZEN: true
@ -81,6 +80,18 @@ jobs:
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Ensure no errors with `db:prepare`
run: |
bin/rails db:drop
bin/rails db:prepare
bin/rails db:migrate
- name: Ensure no errors with `db:prepare` and SKIP_POST_DEPLOYMENT_MIGRATIONS
run: |
bin/rails db:drop
SKIP_POST_DEPLOYMENT_MIGRATIONS=true bin/rails db:prepare
bin/rails db:migrate
- name: Test "one step migration" flow
run: |
bin/rails db:drop

View file

@ -110,7 +110,7 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: ${{ matrix.ruby-version != '.ruby-version' }}
COVERAGE: ${{ matrix.ruby-version == '.ruby-version' }}
RAILS_ENV: test
ALLOW_NOPAM: true
PAM_ENABLED: true
@ -129,6 +129,7 @@ jobs:
matrix:
ruby-version:
- '3.2'
- '3.3'
- '.ruby-version'
steps:
- uses: actions/checkout@v4
@ -170,7 +171,7 @@ jobs:
- name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
files: coverage/lcov/*.lcov
env:
@ -178,7 +179,7 @@ jobs:
test-libvips:
name: Libvips tests
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
needs:
- build
@ -211,7 +212,7 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: ${{ matrix.ruby-version != '.ruby-version' }}
COVERAGE: ${{ matrix.ruby-version == '.ruby-version' }}
RAILS_ENV: test
ALLOW_NOPAM: true
PAM_ENABLED: true
@ -230,6 +231,7 @@ jobs:
matrix:
ruby-version:
- '3.2'
- '3.3'
- '.ruby-version'
steps:
- uses: actions/checkout@v4
@ -256,7 +258,7 @@ jobs:
- name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
files: coverage/lcov/mastodon.lcov
env:
@ -297,7 +299,6 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_WITH: test
ES_ENABLED: false
@ -309,6 +310,7 @@ jobs:
matrix:
ruby-version:
- '3.2'
- '3.3'
- '.ruby-version'
steps:
@ -413,7 +415,6 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_WITH: test
ES_ENABLED: true
@ -425,6 +426,7 @@ jobs:
matrix:
ruby-version:
- '3.2'
- '3.3'
- '.ruby-version'
search-image:
- docker.elastic.co/elasticsearch/elasticsearch:7.17.13

2
.nvmrc
View file

@ -1 +1 @@
22.12
22.14

View file

@ -63,6 +63,7 @@ docker-compose.override.yml
# Ignore emoji map file
/app/javascript/mastodon/features/emoji/emoji_map.json
/app/javascript/mastodon/features/emoji/emoji_sheet.json
# Ignore locale files
/app/javascript/mastodon/locales/*.json

View file

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

View file

@ -18,6 +18,7 @@ inherit_from:
- .rubocop/rspec_rails.yml
- .rubocop/rspec.yml
- .rubocop/style.yml
- .rubocop/i18n.yml
- .rubocop/custom.yml
- .rubocop_todo.yml
- .rubocop/strict.yml
@ -26,10 +27,10 @@ inherit_mode:
merge:
- Exclude
require:
plugins:
- rubocop-capybara
- rubocop-i18n
- rubocop-performance
- rubocop-rails
- rubocop-rspec
- rubocop-rspec_rails
- rubocop-performance
- rubocop-capybara
- ./lib/linter/rubocop_middle_dot

12
.rubocop/i18n.yml Normal file
View file

@ -0,0 +1,12 @@
I18n/RailsI18n:
Enabled: true
Exclude:
- 'config/**/*'
- 'db/**/*'
- 'lib/**/*'
- 'spec/**/*'
I18n/GetText:
Enabled: false
I18n/RailsI18n/DecorateStringFormattingUsingInterpolation:
Enabled: false

View file

@ -2,6 +2,9 @@
Rails/BulkChangeTable:
Enabled: false # Conflicts with strong_migrations features
Rails/Delegate:
Enabled: false
Rails/FilePath:
EnforcedStyle: arguments

View file

@ -1,4 +1,7 @@
---
Style/ArrayIntersect:
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
@ -19,6 +22,13 @@ Style/HashSyntax:
EnforcedShorthandSyntax: either
EnforcedStyle: ruby19_no_mixed_keys
Style/IfUnlessModifier:
Exclude:
- '**/*.haml'
Style/KeywordArgumentsMerging:
Enabled: false
Style/NumericLiterals:
AllowedPatterns:
- \d{4}_\d{2}_\d{2}_\d{6}
@ -37,6 +47,9 @@ Style/RedundantFetchBlock:
Style/RescueStandardError:
EnforcedStyle: implicit
Style/SafeNavigationChainLength:
Enabled: false
Style/SymbolArray:
Enabled: false
@ -45,3 +58,6 @@ Style/TrailingCommaInArrayLiteral:
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: comma
Style/WordArray:
MinSize: 3 # Override default of 2

View file

@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-offense-counts --no-auto-gen-timestamp`
# using RuboCop version 1.66.1.
# using RuboCop version 1.75.2.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
@ -8,7 +8,7 @@
Lint/NonLocalExitFromIterator:
Exclude:
- 'app/helpers/jsonld_helper.rb'
- 'app/helpers/json_ld_helper.rb'
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
@ -39,7 +39,6 @@ Rails/OutputSafety:
# Configuration parameters: AllowedVars.
Style/FetchEnvVar:
Exclude:
- 'app/lib/translation_service.rb'
- 'config/environments/production.rb'
- 'config/initializers/2_limited_federation_mode.rb'
- 'config/initializers/3_omniauth.rb'
@ -50,7 +49,7 @@ Style/FetchEnvVar:
- 'lib/tasks/repo.rake'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, Mode, AllowedMethods, AllowedPatterns.
# SupportedStyles: annotated, template, unannotated
# AllowedMethods: redirect
Style/FormatStringToken:
@ -63,31 +62,10 @@ Style/FormatStringToken:
Style/GuardClause:
Enabled: false
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/HashTransformValues:
Exclude:
- 'app/serializers/rest/web_push_subscription_serializer.rb'
- 'app/services/import_service.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/MapToHash:
Exclude:
- 'app/models/status.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
Style/MutableConstant:
Exclude:
- 'app/models/tag.rb'
- 'app/services/delete_account_service.rb'
- 'lib/mastodon/migration_warning.rb'
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
Exclude:
- 'app/helpers/jsonld_helper.rb'
- 'app/lib/admin/system_check/message.rb'
- 'app/lib/request.rb'
- 'app/lib/webfinger.rb'
@ -108,10 +86,3 @@ Style/RedundantConstantBase:
Exclude:
- 'config/environments/production.rb'
- 'config/initializers/sidekiq.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: WordRegex.
# SupportedStyles: percent, brackets
Style/WordArray:
EnforcedStyle: percent
MinSize: 3

View file

@ -1 +1 @@
3.3.6
3.4.3

View file

@ -2,6 +2,148 @@
All notable changes to this project will be documented in this file.
## [4.3.7] - 2025-04-02
### Add
- Add delay to profile updates to debounce them (#34137 by @ClearlyClaire)
- Add support for paginating partial collections in `SynchronizeFollowersService` (#34272 and #34277 by @ClearlyClaire)
### Changed
- Change account suspensions to be federated to recently-followed accounts as well (#34294 by @ClearlyClaire)
- Change `AccountReachFinder` to consider statuses based on suspension date (#32805 and #34291 by @ClearlyClaire and @mjankowski)
- Change user archive signed URL TTL from 10 seconds to 1 hour (#34254 by @ClearlyClaire)
### Fixed
- Fix static version of animated PNG emojis not being properly extracted (#34337 by @ClearlyClaire)
- Fix filters not applying in detailed view, favourites and bookmarks (#34259 and #34260 by @ClearlyClaire)
- Fix handling of malformed/unusual HTML (#34201 by @ClearlyClaire)
- Fix `CacheBuster` being queued for missing media attachments (#34253 by @ClearlyClaire)
- Fix incorrect URL being used when cache busting (#34189 by @ClearlyClaire)
- Fix streaming server refusing unix socket path in `DATABASE_URL` (#34091 by @ClearlyClaire)
- Fix “x” hotkey not working on boosted filtered posts (#33758 by @ClearlyClaire)
## [4.3.6] - 2025-03-13
### Security
- Update dependency `omniauth-saml`
- Update dependency `rack`
### Fixed
- Fix Stoplight errors when using `REDIS_NAMESPACE` (#34126 by @ClearlyClaire)
## [4.3.5] - 2025-03-10
### Changed
- Change hashtag suggestion to prefer personal history capitalization (#34070 by @ClearlyClaire)
### Fixed
- Fix processing errors for some HEIF images from iOS 18 (#34086 by @renchap)
- Fix streaming server not filtering unknown-language posts from public timelines (#33774 by @ClearlyClaire)
- Fix preview cards under Content Warnings not being shown in detailed statuses (#34068 by @ClearlyClaire)
- Fix username and display name being hidden on narrow screens in moderation interface (#33064 by @ClearlyClaire)
## [4.3.4] - 2025-02-27
### Security
- Update dependencies
- Change HTML sanitization to remove unusable and unused `embed` tag (#34021 by @ClearlyClaire, [GHSA-mq2m-hr29-8gqf](https://github.com/mastodon/mastodon/security/advisories/GHSA-mq2m-hr29-8gqf))
- Fix rate-limit on sign-up email verification ([GHSA-v39f-c9jj-8w7h](https://github.com/mastodon/mastodon/security/advisories/GHSA-v39f-c9jj-8w7h))
- Fix improper disclosure of domain blocks to unverified users ([GHSA-94h4-fj37-c825](https://github.com/mastodon/mastodon/security/advisories/GHSA-94h4-fj37-c825))
### Changed
- Change preview cards to be shown when Content Warnings are expanded (#33827 by @ClearlyClaire)
- Change warnings against changing encryption secrets to be even more noticeable (#33631 by @ClearlyClaire)
- Change `mastodon:setup` to prevent overwriting already-configured servers (#33603, #33616, and #33684 by @ClearlyClaire and @mjankowski)
- Change notifications from moderators to not be filtered (#32974 and #33654 by @ClearlyClaire and @mjankowski)
### Fixed
- Fix `GET /api/v2/notifications/:id` and `POST /api/v2/notifications/:id/dismiss` for ungrouped notifications (#33990 by @ClearlyClaire)
- Fix issue with some versions of libvips on some systems (#33853 by @kleisauke)
- Fix handling of duplicate mentions in incoming status `Update` (#33911 by @ClearlyClaire)
- Fix inefficiencies in timeline generation (#33839 and #33842 by @ClearlyClaire)
- Fix emoji rewrite adding unnecessary curft to the DOM for most emoji (#33818 by @ClearlyClaire)
- Fix `tootctl feeds build` not building list timelines (#33783 by @ClearlyClaire)
- Fix flaky test in `/api/v2/notifications` tests (#33773 by @ClearlyClaire)
- Fix incorrect signature after HTTP redirect (#33757 and #33769 by @ClearlyClaire)
- Fix polls not being validated on edition (#33755 by @ClearlyClaire)
- Fix media preview height in compose form when 3 or more images are attached (#33571 by @ClearlyClaire)
- Fix preview card sizing in “Author attribution” in profile settings (#33482 by @ClearlyClaire)
- Fix processing of incoming notifications for unfilterable types (#33429 by @ClearlyClaire)
- Fix featured tags for remote accounts not being kept up to date (#33372, #33406, and #33425 by @ClearlyClaire and @mjankowski)
- Fix notification polling showing a loading bar in web UI (#32960 by @Gargron)
- Fix accounts table long display name (#29316 by @WebCoder49)
- Fix exclusive lists interfering with notifications (#28162 by @ShadowJonathan)
## [4.3.3] - 2025-01-16
### Security
- Fix insufficient validation of account URIs ([GHSA-5wxh-3p65-r4g6](https://github.com/mastodon/mastodon/security/advisories/GHSA-5wxh-3p65-r4g6))
- Update dependencies
### Fixed
- Fix `libyaml` missing from `Dockerfile` build stage (#33591 by @vmstan)
- Fix incorrect notification settings migration for non-followers (#33348 by @ClearlyClaire)
- Fix down clause for notification policy v2 migrations (#33340 by @jesseplusplus)
- Fix error decrementing status count when `FeaturedTags#last_status_at` is `nil` (#33320 by @ClearlyClaire)
- Fix last paginated notification group only including data on a single notification (#33271 by @ClearlyClaire)
- Fix processing of mentions for post edits with an existing corresponding silent mention (#33227 by @ClearlyClaire)
- Fix deletion of unconfirmed users with Webauthn set (#33186 by @ClearlyClaire)
- Fix empty authors preview card serialization (#33151, #33466 by @mjankowski and @ClearlyClaire)
## [4.3.2] - 2024-12-03
### Added
- Add `tootctl feeds vacuum` (#33065 by @ClearlyClaire)
- Add error message when user tries to follow their own account (#31910 by @lenikadali)
- Add client_secret_expires_at to OAuth Applications (#30317 by @ThisIsMissEm)
### Changed
- Change design of Content Warnings and filters (#32543 by @ClearlyClaire)
### Fixed
- Fix processing incoming post edits with mentions to unresolvable accounts (#33129 by @ClearlyClaire)
- Fix error when including multiple instances of `embed.js` (#33107 by @YKWeyer)
- Fix inactive users' timelines being backfilled on follow and unsuspend (#33094 by @ClearlyClaire)
- Fix direct inbox delivery pushing posts into inactive followers' timelines (#33067 by @ClearlyClaire)
- Fix `TagFollow` records not being correctly handled in account operations (#33063 by @ClearlyClaire)
- Fix pushing hashtag-followed posts to feeds of inactive users (#33018 by @Gargron)
- Fix duplicate notifications in notification groups when using slow mode (#33014 by @ClearlyClaire)
- Fix posts made in the future being allowed to trend (#32996 by @ClearlyClaire)
- Fix uploading higher-than-wide GIF profile picture with libvips enabled (#32911 by @ClearlyClaire)
- Fix domain attribution field having autocorrect and autocapitalize enabled (#32903 by @ClearlyClaire)
- Fix titles being escaped twice (#32889 by @ClearlyClaire)
- Fix list creation limit check (#32869 by @ClearlyClaire)
- Fix error in `tootctl email_domain_blocks` when supplying `--with-dns-records` (#32863 by @mjankowski)
- Fix `min_id` and `max_id` causing error in search API (#32857 by @Gargron)
- Fix inefficiencies when processing removal of posts that use featured tags (#32787 by @ClearlyClaire)
- Fix alt-text pop-in not using the translated description (#32766 by @ClearlyClaire)
- Fix preview cards with long titles erroneously causing layout changes (#32678 by @ClearlyClaire)
- Fix embed modal layout on mobile (#32641 by @DismalShadowX)
- Fix and improve batch attachment deletion handling when using OpenStack Swift (#32637 by @hugogameiro)
- Fix blocks not being applied on link timeline (#32625 by @tribela)
- Fix follow counters being incorrectly changed (#32622 by @oneiros)
- Fix 'unknown' media attachment type rendering (#32613 and #32713 by @ThisIsMissEm and @renatolond)
- Fix tl language native name (#32606 by @seav)
### Security
- Update dependencies
## [4.3.1] - 2024-10-21
### Added
@ -93,7 +235,7 @@ The following changelog entries focus on changes visible to users, administrator
- **Add notifications of severed relationships** (#27511, #29665, #29668, #29670, #29700, #29714, #29712, and #29731 by @ClearlyClaire and @Gargron)\
Notify local users when they lose relationships as a result of a local moderator blocking a remote account or server, allowing the affected user to retrieve the list of broken relationships.\
Note that this does not notify remote users.\
This adds the `severed_relationships` notification type to the REST API and streaming, with a new [`relationship_severance_event` attribute](https://docs.joinmastodon.org/entities/Notification/#relationship_severance_event).
This adds the `severed_relationships` notification type to the REST API and streaming, with a new [`event` attribute](https://docs.joinmastodon.org/entities/Notification/#relationship_severance_event).
- **Add hover cards in web UI** (#30754, #30864, #30850, #30879, #30928, #30949, #30948, #30931, and #31300 by @ClearlyClaire, @Gargron, and @renchap)\
Hovering over an avatar or username will now display a hover card with the first two lines of the user's description and their first two profile fields.\
This can be disabled in the “Animations and accessibility” section of the preferences.

View file

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1.12
# This file is designed for production server deployment, not local development work
# For a containerized local dev environment, see: https://github.com/mastodon/mastodon/blob/main/README.md#docker
# For a containerized local dev environment, see: https://github.com/mastodon/mastodon/blob/main/docs/DEVELOPMENT.md#docker
# Please see https://docs.docker.com/engine/reference/builder for information about
# the extended buildx capabilities used in this file.
@ -9,19 +9,20 @@
# See: https://docs.docker.com/build/building/multi-platform/
ARG TARGETPLATFORM=${TARGETPLATFORM}
ARG BUILDPLATFORM=${BUILDPLATFORM}
ARG BASE_REGISTRY="docker.io"
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.3.x"]
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.4.x"]
# renovate: datasource=docker depName=docker.io/ruby
ARG RUBY_VERSION="3.3.6"
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
ARG RUBY_VERSION="3.4.2"
# # Node.js version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
# renovate: datasource=node-version depName=node
ARG NODE_MAJOR_VERSION="22"
# 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.x-slim-bookworm)
FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} AS ruby
# Node.js image to use for base image based on combined variables (ex: 20-bookworm-slim)
FROM ${BASE_REGISTRY}/node:${NODE_MAJOR_VERSION}-${DEBIAN_VERSION}-slim AS node
# Ruby image to use for base image based on combined variables (ex: 3.4.x-slim-bookworm)
FROM ${BASE_REGISTRY}/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} AS ruby
# Resulting version string is vX.X.X-MASTODON_VERSION_PRERELEASE+MASTODON_VERSION_METADATA
# Example: v4.3.0-nightly.2023.11.09+pr-123456
@ -60,7 +61,7 @@ ENV \
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
# Use production settings for Yarn, Node.js and related tools
NODE_ENV="production" \
# Use production settings for Ruby on Rails
RAILS_ENV="production" \
@ -95,6 +96,9 @@ RUN \
# Set /opt/mastodon as working directory
WORKDIR /opt/mastodon
# Add backport repository for some specific packages where we need the latest version
RUN echo 'deb http://deb.debian.org/debian bookworm-backports main' >> /etc/apt/sources.list
# hadolint ignore=DL3008,DL3005
RUN \
# Mount Apt cache and lib directories from Docker buildx caches
@ -124,13 +128,6 @@ RUN \
# 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
@ -153,6 +150,7 @@ RUN \
libpq-dev \
libssl-dev \
libtool \
libyaml-dev \
meson \
nasm \
pkg-config \
@ -163,7 +161,7 @@ RUN \
libexif-dev \
libexpat1-dev \
libgirepository1.0-dev \
libheif-dev \
libheif-dev/bookworm-backports \
libimagequant-dev \
libjpeg62-turbo-dev \
liblcms2-dev \
@ -183,18 +181,12 @@ RUN \
libx265-dev \
;
RUN \
# Configure Corepack
rm /usr/local/bin/yarn*; \
corepack enable; \
corepack prepare --activate;
# Create temporary libvips specific build layer from build layer
FROM build AS libvips
# libvips version to compile, change with [--build-arg VIPS_VERSION="8.15.2"]
# renovate: datasource=github-releases depName=libvips packageName=libvips/libvips
ARG VIPS_VERSION=8.16.0
ARG VIPS_VERSION=8.16.1
# libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"]
ARG VIPS_URL=https://github.com/libvips/libvips/releases/download
@ -279,38 +271,37 @@ RUN \
# Download and install required Gems
bundle install -j"$(nproc)";
# Create temporary node specific build layer from build layer
FROM build AS yarn
# Create temporary assets build layer from build layer
FROM build AS precompiler
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
# Copy Mastodon sources into layer
COPY . /opt/mastodon/
# Copy Node.js binaries/libraries into layer
COPY --from=node /usr/local/bin /usr/local/bin
COPY --from=node /usr/local/lib /usr/local/lib
RUN \
# Configure Corepack
rm /usr/local/bin/yarn*; \
corepack enable; \
corepack prepare --activate;
# 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
# Install Node.js 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/
# Copy libvips components to layer for precompiler
# Copy libvips components into layer for precompiler
COPY --from=libvips /usr/local/libvips/bin /usr/local/bin
COPY --from=libvips /usr/local/libvips/lib /usr/local/lib
ARG TARGETPLATFORM
# Copy bundler packages into layer for precompiler
COPY --from=bundler /opt/mastodon /opt/mastodon/
COPY --from=bundler /usr/local/bundle/ /usr/local/bundle/
RUN \
ldconfig; \
@ -346,7 +337,7 @@ RUN \
# libvips components
libcgif0 \
libexif12 \
libheif1 \
libheif1/bookworm-backports \
libimagequant0 \
libjpeg62-turbo \
liblcms2-2 \

64
Gemfile
View file

@ -1,12 +1,12 @@
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '>= 3.2.0'
ruby '>= 3.2.0', '< 3.5.0'
gem 'propshaft'
gem 'puma', '~> 6.3'
gem 'rack', '~> 2.2.7'
gem 'rails', '~> 7.2.0'
gem 'rails', '~> 8.0'
gem 'thor', '~> 1.2'
gem 'dotenv'
@ -14,6 +14,7 @@ gem 'haml-rails', '~>2.0'
gem 'pg', '~> 1.5'
gem 'pghero'
gem 'aws-sdk-core', '< 3.216.0', require: false # TODO: https://github.com/mastodon/mastodon/pull/34173#issuecomment-2733378873
gem 'aws-sdk-s3', '~> 1.123', require: false
gem 'blurhash', '~> 0.1'
gem 'fog-core', '<= 2.6.0'
@ -39,7 +40,7 @@ gem 'net-ldap', '~> 0.18'
gem 'omniauth', '~> 2.0'
gem 'omniauth-cas', '~> 3.0.0.beta.1'
gem 'omniauth_openid_connect', '~> 0.6.1'
gem 'omniauth_openid_connect', '~> 0.8.0'
gem 'omniauth-rails_csrf_protection', '~> 1.0'
gem 'omniauth-saml', '~> 2.0'
@ -61,6 +62,7 @@ gem 'inline_svg'
gem 'irb', '~> 1.8'
gem 'kaminari', '~> 1.2'
gem 'link_header', '~> 0.0'
gem 'linzer', '~> 0.6.1'
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
gem 'mime-types', '~> 3.6.0', require: 'mime/types/columnar'
gem 'mutex_m'
@ -73,13 +75,13 @@ gem 'public_suffix', '~> 6.0'
gem 'pundit', '~> 2.3'
gem 'rack-attack', '~> 6.6'
gem 'rack-cors', '~> 2.0', require: 'rack/cors'
gem 'rails-i18n', '~> 7.0'
gem 'rails-i18n', '~> 8.0'
gem 'redcarpet', '~> 3.6'
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
gem 'redis-namespace', '~> 1.10'
gem 'rqrcode', '~> 2.2'
gem 'ruby-progressbar', '~> 1.13'
gem 'sanitize', '~> 6.0'
gem 'sanitize', '~> 7.0'
gem 'scenic', '~> 1.7'
gem 'sidekiq', '~> 6.5'
gem 'sidekiq-bulk', '~> 0.2.0'
@ -94,29 +96,31 @@ gem 'twitter-text', '~> 3.1.0'
gem 'tzinfo-data', '~> 1.2023'
gem 'webauthn', '~> 3.0'
gem 'webpacker', '~> 5.4'
gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9'
gem 'webpush', github: 'mastodon/webpush', ref: '9631ac63045cfabddacc69fc06e919b4c13eb913'
gem 'json-ld'
gem 'json-ld-preloaded', '~> 3.2'
gem 'rdf-normalize', '~> 0.5'
gem 'opentelemetry-api', '~> 1.4.0'
gem 'prometheus_exporter', '~> 2.2', require: false
gem 'opentelemetry-api', '~> 1.5.0'
group :opentelemetry do
gem 'opentelemetry-exporter-otlp', '~> 0.29.0', 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.29.0', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.25.0', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.33.0', require: false
gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false
gem 'opentelemetry-instrumentation-sidekiq', '~> 0.25.2', require: false
gem 'opentelemetry-exporter-otlp', '~> 0.30.0', require: false
gem 'opentelemetry-instrumentation-active_job', '~> 0.8.0', require: false
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.22.0', require: false
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.22.0', require: false
gem 'opentelemetry-instrumentation-excon', '~> 0.23.0', require: false
gem 'opentelemetry-instrumentation-faraday', '~> 0.26.0', require: false
gem 'opentelemetry-instrumentation-http', '~> 0.24.0', require: false
gem 'opentelemetry-instrumentation-http_client', '~> 0.23.0', require: false
gem 'opentelemetry-instrumentation-net_http', '~> 0.23.0', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.30.0', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.26.0', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.36.0', require: false
gem 'opentelemetry-instrumentation-redis', '~> 0.26.0', require: false
gem 'opentelemetry-instrumentation-sidekiq', '~> 0.26.0', require: false
gem 'opentelemetry-sdk', '~> 1.4', require: false
end
@ -125,7 +129,7 @@ group :test do
gem 'flatware-rspec'
# Adds RSpec Error/Warning annotations to GitHub PRs on the Files tab
gem 'rspec-github', '~> 2.4', require: false
gem 'rspec-github', '~> 3.0', require: false
# RSpec helpers for email specs
gem 'email_spec'
@ -143,9 +147,6 @@ group :test do
# Used to mock environment variables
gem 'climate_control'
# Add back helpers functions removed in Rails 5.1
gem 'rails-controller-testing', '~> 1.0'
# Validate schemas in specs
gem 'json-schema', '~> 5.0'
@ -154,7 +155,7 @@ group :test do
gem 'shoulda-matchers'
# Coverage formatter for RSpec test if DISABLE_SIMPLECOV is false
# Coverage formatter for RSpec
gem 'simplecov', '~> 0.22', require: false
gem 'simplecov-lcov', '~> 0.8', require: false
@ -166,13 +167,14 @@ group :development do
# Code linting CLI and plugins
gem 'rubocop', require: false
gem 'rubocop-capybara', require: false
gem 'rubocop-i18n', require: false
gem 'rubocop-performance', require: false
gem 'rubocop-rails', require: false
gem 'rubocop-rspec', require: false
gem 'rubocop-rspec_rails', require: false
# Annotates modules with schema
gem 'annotaterb', '~> 4.13'
gem 'annotaterb', '~> 4.13', require: false
# Enhanced error message pages for development
gem 'better_errors', '~> 2.9'
@ -183,7 +185,7 @@ group :development do
gem 'letter_opener_web', '~> 3.0'
# Security analysis CLI tools
gem 'brakeman', '~> 6.0', require: false
gem 'brakeman', '~> 7.0', require: false
gem 'bundler-audit', '~> 0.9', require: false
# Linter CLI for HAML files
@ -195,7 +197,7 @@ end
group :development, :test do
# Interactive Debugging tools
gem 'debug', '~> 1.8'
gem 'debug', '~> 1.8', require: false
# Generate fake data values
gem 'faker', '~> 3.2'
@ -207,7 +209,7 @@ group :development, :test do
gem 'memory_profiler', require: false
gem 'ruby-prof', require: false
gem 'stackprof', require: false
gem 'test-prof'
gem 'test-prof', require: false
# RSpec runner for rails
gem 'rspec-rails', '~> 7.0'
@ -222,7 +224,7 @@ gem 'concurrent-ruby', require: false
gem 'connection_pool', require: false
gem 'xorcist', '~> 1.1'
gem 'net-http', '~> 0.5.0'
gem 'net-http', '~> 0.6.0'
gem 'rubyzip', '~> 2.3'
gem 'hcaptcha', '~> 7.1'

File diff suppressed because it is too large Load diff

124
README.md
View file

@ -1,123 +1,27 @@
# ![kmyblue icon](https://raw.githubusercontent.com/kmycode/mastodon/kb_development/app/javascript/icons/favicon-32x32.png) kmyblue
NAS is an KMY & Mastodon Fork
[![Ruby Testing](https://github.com/kmycode/mastodon/actions/workflows/test-ruby.yml/badge.svg)](https://github.com/kmycode/mastodon/actions/workflows/test-ruby.yml)
The following are just a few of the most common features. There are many other minor changes to the specifications.
! FOR ENGLISH USER ! We do not provide English documentation for kmyblue; we assume that you will use automatic translation software, such as Google, to translate the site.
Emoji reactions
kmyblueは、ActivityPubに接続するSNSの1つである[Mastodon](https://github.com/mastodon/mastodon)のフォークです。創作作家のためのMastodonを目指して開発しました。
Local Public (Does not appear on the federated timeline of remote servers, but does appear on followers' home timelines. This is different from local only)
kmyblueはフォーク名であり、同時に[サーバー名](https://kmy.blue)でもあります。以下は特に記述がない限り、フォークとしてのkmyblueをさします。
Bookmark classification
kmyblueは AGPL ライセンスで公開されているため、どなたでも自由にフォークし、このソースコードを元に自分でサーバーを立てて公開することができます。確かにサーバーkmyblueは創作作家向けの利用規約が設定されていますが、フォークとしてのkmyblueのルールは全くの別物です。いかなるコミュニティにも平等にお使いいただけます。
kmyblueは、閉鎖的なコミュニティ、あまり目立ちたくないコミュニティには特に強力な機能を提供します。kmyblueはプライバシーを考慮したうえで強力な独自機能を提供するため、汎用サーバーとして利用するにもある程度十分な機能が揃っています。
Set who can search your posts for each post (Searchability)
テストコード、Lint どちらも動いています。
Quote posts, modest quotes (references)
### アジェンダ
Record posts that meet certain conditions such as domains, accounts, and keywords (Subscriptions/Antennas)
- 利用方法
- kmyblueの開発方針
- kmyblueは何でないか
- kmyblueの独自機能
- 英語のサポートについて
Send posts to a designated set of followers (Circles) (different from direct messages)
## 利用方法
Notification of new posts on lists
### インストール方法
Exclude posts from people you follow when filtering posts
[Wiki](https://github.com/kmycode/mastodon/wiki/Installation)を参照してください。
Hide number of followers and followings
### 開発への参加方法
Automatically delete posts after a specified time has passed
CONTRIBUTING.mdを参照してください。
### テスト
```
# デバッグ実行(以下のいずれか)
foreman start
DB_USER=postgres DB_PASS=password foreman start
# 一部を除く全てのテストを行う
RAILS_ENV=test bundle exec rspec spec
# ElasticSearch連携テストを行う
RAILS_ENV=test ES_ENABLED=true bundle exec rspec --tag search
RAILS_ENV=test ES_ENABLED=true RUN_SEARCH_SPECS=true bundle exec rspec spec/search
```
## kmyblueの開発方針
### 本家Mastodonへの積極的追従
kmyblueは、追加機能を控えめにする代わりに本家Mastodonに積極的に追従を行います。kmyblueの追加機能そのままに、Mastodonの新機能も利用できるよう調整を行います。
### ゆるやかな内輪での運用
kmyblueは同人向けサーバーとして出発したため、同人作家に需要のある「内輪リを外部にできるだけもらさない」という部分に特化しています。
「ローカル公開」は、投稿を見せたくない人に見つかりにくくする効果があります。「サークル」は、フォロワーの中でも特に見せたい人だけに見せる効果があります。
「検索許可」という独自の検索オプションを利用することで、公開投稿の一部だけを検索されにくくするだけでなく、非収載投稿が誰でも自由に検索できるようになります。
内輪とは自分のサーバーに限ったものではありません。内輪同士で複数のサーバーを運営するとき、お互いが深く繋がれる「フレンドサーバー」というシステムも用意しています。
### 少人数サーバーでの運用
kmyblueは、人の少ないサーバーでの運用を考慮して設計しています。そのため、Fedibirdにあるような、人の多いサーバー向けの機能はあまり作っていません。
サーバーの負荷については一部度外視している部分があります。たとえば絵文字リアクション機能はサーバーへ著しい負荷をかける場合があります。ただしkmyblueでは、絵文字リアクション機能そのものを無効にしたり、負荷の高いストリーミング処理を無効にする管理者オプションも存在します。
もちろん人の多いサーバーでの運用が不便になるような修正は行っていません。人数にかかわらず、そのままお使いいただけます。
### 比較的高い防御力
kmyblueでは、「Fediverseは将来的に荒むのではないか」「Fediverseは将来的にスパムに溢れるのではないか」を念頭に設計している部分があります。投稿だけでなく絵文字リアクションも対象にした防衛策があります。
管理者は「NGワード」「NGルール」機能の利用が可能です。設定を変更することで、一部のモデレーターもこの機能を利用できます。
利用者は、独自拡張されたフィルター機能、絵文字リアクションのブロックなどを利用できます。
ただし防御力の高さは自由を犠牲にします。例えばNGワードが多すぎると、他のサーバーからの投稿が制限され、かつそれに気づきにくくなります。
## kmyblueは何でないか
kmyblueは、企業・政府機関向けに開発されたものではありません。開発者はセキュリティに関する専門知識を有しておらず、高度なセキュリティを求められる機関向けのソフトウェアを制作する能力はありません。また、kmyblueのメンテナは現在1人のみであり、そのメンテナが飽きたら開発がストップするリスクも高いです。Mastodonのような高い信頼性・安全性を保証することはできないので、導入の際はご自身で安全を十分に確認してからお使いになることを強くおすすめします。
個人サーバーであっても、安定性を強く求める方にはおすすめできません。glitch-socがよりよい選択肢になるでしょう。
kmyblueは、Misskeyではありません。Misskeyは「楽しむ」をコンセプトにしていますが、kmyblueはMastodonの思想を受け継ぎ、炎上や喧騒を避けることのできる落ち着いた場所を目指しています。そのため、思想に合わない機能は実装しないか、大幅に弱体化しています。
kmyblueは、Fedibirdではありません。Fedibirdは大規模サーバー向けに設定していると思われる機能があり、例えば購読機能がその代表例です。Fedibirdの購読は擬似的なフォロー体験を与えるものですが、本物のフォローではないため、購読対象の投稿が配送されることを確約したものではありません。小規模サーバーだとかえって不便になる機能を、kmyblueは避けています。
## kmyblueの独自機能
以下に列挙したものはあくまで代表的なものです。これ以外にも、細かい仕様変更などが多数含まれます。
- 絵文字リアクション
- ローカル公開Local Publicリモートサーバーの連合タイムラインには流れませんが、フォロワーのホームタイムラインには流れます。**ローカル限定とは異なります**
- ブックマークの分類
- 自分の投稿を検索できる人を投稿ごとに設定検索許可・Searchability
- 投稿の引用、ひかえめな引用(参照)
- ドメイン・アカウント・キーワードなど特定条件を満たした投稿を記録する機能(購読・アンテナ)
- フォロワーの一部を指名して投稿を送る機能(サークル)(ダイレクトメッセージとは異なります)
- リスト新着投稿の通知
- 投稿のフィルタリングにおいて、自分がフォローしている相手の投稿を除外
- フォロー・フォロワー数を隠す機能
- 指定した時間が経過したあとに投稿を自動削除する機能
- モデレーション機能の拡張
## 英語のサポートについて
kmyblueのメイン開発者である[雪あすか](https://kmy.blue/@askyq)は、英語の読み書きがほとんどできません。そのため、ドキュメントの英語化、海外向け公式アカウントの新設などを行う予定はありません。
要望やバグ報告はIssueに書いて構いませんが、Issue画面内の説明やテンプレートはすべて日本語になっています。投稿が難しければ、Discussionに投稿してください。こちらで必要と判断したものは、改めてIssueとして起票します。
そのほか開発者へ質問があれば、[@askyq@kmy.blue](https://kmy.blue/@askyq)へ英語のまま送ってください。
ただしkmyblueのドキュメント、[@askyq@kmy.blue](https://kmy.blue/@askyq)内のkmyblueフォークに関係する投稿を、許可なく翻訳して公開することは問題ありません。
## 開発者のアカウントについて
kmyblueのメイン開発者である[雪あすか](https://kmy.blue/@askyq)は、用途別にアカウントを分けるようなことはせず、すべての発言をつのアカウントで行っています。そのため、kmyblueの開発だけでなく、成人向け同人作品の話も混ざっています。
このうち、公開範囲「公開」「ローカル公開」「非収載」であるkmyblueフォークの開発に関係する投稿に限り抽出し、翻訳の有無に関係なく公開することを許可します。これはkmyblueフォークの利用者にとって公共性の高いコンテンツであると思われます。これは、日本と欧米では一般的に考えられている児童ポルの基準が異なり、欧米のサーバーの中にはこのアカウントをフォローしづらいものもあるという懸念を考慮したものです。
Expanding moderation functions

2
Vagrantfile vendored
View file

@ -174,7 +174,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if config.vm.networks.any? { |type, options| type == :private_network }
config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ['rw', 'actimeo=1']
else
config.vm.synced_folder ".", "/vagrant"
config.vm.synced_folder ".", "/vagrant", type: "rsync", create: true, rsync__args: ["--verbose", "--archive", "--delete", "-z"]
end
# Otherwise, you can access the site at http://localhost:3000 and http://localhost:4000 , http://localhost:8080

View file

@ -49,7 +49,7 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController
def collection_presenter
ActivityPub::CollectionPresenter.new(
id: account_collection_url(@account, params[:id]),
id: ActivityPub::TagManager.instance.collection_uri_for(@account, params[:id]),
type: @type,
size: @size,
items: @items

View file

@ -41,12 +41,8 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
end
end
def outbox_url(**)
if params[:account_username].present?
account_outbox_url(@account, **)
else
instance_actor_outbox_url(**)
end
def outbox_url(...)
ActivityPub::TagManager.instance.outbox_uri_for(@account, ...)
end
def next_page

View file

@ -34,7 +34,8 @@ module Admin
end
def resource_params
params.require(:admin_account_action).permit(:type, :report_id, :warning_preset_id, :text, :send_email_notification, :include_statuses)
params
.expect(admin_account_action: [:type, :report_id, :warning_preset_id, :text, :send_email_notification, :include_statuses])
end
end
end

View file

@ -29,10 +29,8 @@ module Admin
private
def resource_params
params.require(:account_moderation_note).permit(
:content,
:target_account_id
)
params
.expect(account_moderation_note: [:content, :target_account_id])
end
def set_account_moderation_note

View file

@ -172,7 +172,8 @@ module Admin
end
def form_account_batch_params
params.require(:form_account_batch).permit(:action, account_ids: [])
params
.expect(form_account_batch: [:action, account_ids: []])
end
def action_from_button

View file

@ -0,0 +1,18 @@
# frozen_string_literal: true
class Admin::Announcements::DistributionsController < Admin::BaseController
before_action :set_announcement
def create
authorize @announcement, :distribute?
@announcement.touch(:notification_sent_at)
Admin::DistributeAnnouncementNotificationWorker.perform_async(@announcement.id)
redirect_to admin_announcements_path
end
private
def set_announcement
@announcement = Announcement.find(params[:announcement_id])
end
end

View file

@ -0,0 +1,16 @@
# frozen_string_literal: true
class Admin::Announcements::PreviewsController < Admin::BaseController
before_action :set_announcement
def show
authorize @announcement, :distribute?
@user_count = @announcement.scope_for_notification.count
end
private
def set_announcement
@announcement = Announcement.find(params[:announcement_id])
end
end

View file

@ -0,0 +1,17 @@
# frozen_string_literal: true
class Admin::Announcements::TestsController < Admin::BaseController
before_action :set_announcement
def create
authorize @announcement, :distribute?
UserMailer.announcement_published(current_user, @announcement).deliver_later!
redirect_to admin_announcements_path
end
private
def set_announcement
@announcement = Announcement.find(params[:announcement_id])
end
end

View file

@ -84,6 +84,7 @@ class Admin::AnnouncementsController < Admin::BaseController
end
def resource_params
params.require(:announcement).permit(:text, :scheduled_at, :starts_at, :ends_at, :all_day)
params
.expect(announcement: [:text, :scheduled_at, :starts_at, :ends_at, :all_day])
end
end

View file

@ -7,14 +7,14 @@ module Admin
layout 'admin'
before_action :set_cache_headers
before_action :set_referrer_policy_header
after_action :verify_authorized
private
def set_cache_headers
response.cache_control.replace(private: true, no_store: true)
def set_referrer_policy_header
response.headers['Referrer-Policy'] = 'same-origin'
end
def set_user

View file

@ -41,9 +41,8 @@ module Admin
end
def resource_params
params.require(:user).permit(
:unconfirmed_email
)
params
.expect(user: [:unconfirmed_email])
end
end
end

View file

@ -67,11 +67,13 @@ module Admin
end
def resource_params
params.require(:custom_emoji).permit(:shortcode, :image, :category_id, :visible_in_picker, :aliases_raw, :license)
params
.expect(custom_emoji: [:shortcode, :image, :category_id, :visible_in_picker, :aliases_raw, :license])
end
def update_params
params.require(:custom_emoji).permit(:category_id, :visible_in_picker, :aliases_raw, :license)
params
.expect(custom_emoji: [:category_id, :visible_in_picker, :aliases_raw, :license])
end
def filtered_custom_emojis
@ -101,7 +103,8 @@ module Admin
end
def form_custom_emoji_batch_params
params.require(:form_custom_emoji_batch).permit(:action, :category_id, :category_name, custom_emoji_ids: [])
params
.expect(form_custom_emoji_batch: [:action, :category_id, :category_name, custom_emoji_ids: []])
end
end
end

View file

@ -37,6 +37,7 @@ class Admin::DomainAllowsController < Admin::BaseController
end
def resource_params
params.require(:domain_allow).permit(:domain)
params
.expect(domain_allow: [:domain])
end
end

View file

@ -35,7 +35,9 @@ module Admin
rescue Mastodon::NotPermittedError
flash[:alert] = I18n.t('admin.domain_blocks.not_permitted')
else
redirect_to admin_instances_path(limited: '1'), notice: I18n.t('admin.domain_blocks.created_msg')
flash[:notice] = I18n.t('admin.domain_blocks.created_msg')
ensure
redirect_to admin_instances_path(limited: '1')
end
def new
@ -124,9 +126,14 @@ module Admin
end
def form_domain_block_batch_params
params.require(:form_domain_block_batch).permit(domain_blocks_attributes: [:enabled, :domain, :severity, :reject_media, :reject_favourite, :reject_reply_exclude_followers,
:reject_send_sensitive, :reject_hashtag, :reject_straight_follow, :reject_new_follow, :reject_friend, :block_trends, :detect_invalid_subscription,
:reject_reports, :private_comment, :public_comment, :obfuscate, :hidden])
params
.expect(
form_domain_block_batch: [
domain_blocks_attributes: [[:enabled, :domain, :severity, :reject_media, :reject_reports, :private_comment, :public_comment, :obfuscate,
:reject_favourite, :reject_reply_exclude_followers, :reject_send_sensitive, :reject_hashtag,
:reject_straight_follow, :reject_new_follow, :reject_friend, :block_trends, :detect_invalid_subscription, :hidden]],
]
)
end
def action_from_button

View file

@ -62,11 +62,13 @@ module Admin
end
def resource_params
params.require(:email_domain_block).permit(:domain, :allow_with_approval, other_domains: [])
params
.expect(email_domain_block: [:domain, :allow_with_approval, other_domains: []])
end
def form_email_domain_block_batch_params
params.require(:form_email_domain_block_batch).permit(email_domain_block_ids: [])
params
.expect(form_email_domain_block_batch: [email_domain_block_ids: []])
end
def action_from_button

View file

@ -0,0 +1,20 @@
# frozen_string_literal: true
class Admin::Fasp::Debug::CallbacksController < Admin::BaseController
def index
authorize [:admin, :fasp, :provider], :update?
@callbacks = Fasp::DebugCallback
.includes(:fasp_provider)
.order(created_at: :desc)
end
def destroy
authorize [:admin, :fasp, :provider], :update?
callback = Fasp::DebugCallback.find(params[:id])
callback.destroy
redirect_to admin_fasp_debug_callbacks_path
end
end

View file

@ -0,0 +1,19 @@
# frozen_string_literal: true
class Admin::Fasp::DebugCallsController < Admin::BaseController
before_action :set_provider
def create
authorize [:admin, @provider], :update?
@provider.perform_debug_call
redirect_to admin_fasp_providers_path
end
private
def set_provider
@provider = Fasp::Provider.find(params[:provider_id])
end
end

View file

@ -0,0 +1,47 @@
# frozen_string_literal: true
class Admin::Fasp::ProvidersController < Admin::BaseController
before_action :set_provider, only: [:show, :edit, :update, :destroy]
def index
authorize [:admin, :fasp, :provider], :index?
@providers = Fasp::Provider.order(confirmed: :asc, created_at: :desc)
end
def show
authorize [:admin, @provider], :show?
end
def edit
authorize [:admin, @provider], :update?
end
def update
authorize [:admin, @provider], :update?
if @provider.update(provider_params)
redirect_to admin_fasp_providers_path
else
render :edit
end
end
def destroy
authorize [:admin, @provider], :destroy?
@provider.destroy
redirect_to admin_fasp_providers_path
end
private
def provider_params
params.expect(fasp_provider: [capabilities_attributes: {}])
end
def set_provider
@provider = Fasp::Provider.find(params[:id])
end
end

View file

@ -0,0 +1,23 @@
# frozen_string_literal: true
class Admin::Fasp::RegistrationsController < Admin::BaseController
before_action :set_provider
def new
authorize [:admin, @provider], :create?
end
def create
authorize [:admin, @provider], :create?
@provider.update_info!(confirm: true)
redirect_to edit_admin_fasp_provider_path(@provider)
end
private
def set_provider
@provider = Fasp::Provider.find(params[:provider_id])
end
end

View file

@ -37,7 +37,8 @@ module Admin
end
def form_account_batch_params
params.require(:form_account_batch).permit(:action, account_ids: [])
params
.expect(form_account_batch: [:action, account_ids: []])
end
def filter_params

View file

@ -79,11 +79,11 @@ module Admin
end
def resource_params
params.require(:friend_domain).permit(:domain, :inbox_url, :available, :pseudo_relay, :delivery_local, :unlocked, :allow_all_posts)
params.expect(friend_domain: [:domain, :inbox_url, :available, :pseudo_relay, :delivery_local, :unlocked, :allow_all_posts])
end
def update_resource_params
params.require(:friend_domain).permit(:inbox_url, :available, :pseudo_relay, :delivery_local, :unlocked, :allow_all_posts)
params.expect(friend_domain: [:inbox_url, :available, :pseudo_relay, :delivery_local, :unlocked, :allow_all_posts])
end
def warn_signatures_not_enabled!

View file

@ -39,7 +39,8 @@ module Admin
private
def resource_params
params.require(:invite).permit(:max_uses, :expires_in)
params
.expect(invite: [:max_uses, :expires_in])
end
def filtered_invites

View file

@ -44,7 +44,8 @@ module Admin
private
def resource_params
params.require(:ip_block).permit(:ip, :severity, :comment, :expires_in)
params
.expect(ip_block: [:ip, :severity, :comment, :expires_in])
end
def action_from_button
@ -52,7 +53,8 @@ module Admin
end
def form_ip_block_batch_params
params.require(:form_ip_block_batch).permit(ip_block_ids: [])
params
.expect(form_ip_block_batch: [ip_block_ids: []])
end
end
end

View file

@ -82,16 +82,16 @@ module Admin
end
def resource_params
params.require(:ng_rule).permit(:title, :expires_in, :available, :account_domain, :account_username, :account_display_name,
:account_note, :account_field_name, :account_field_value, :account_avatar_state,
:account_header_state, :account_include_local, :status_spoiler_text, :status_text, :status_tag,
:status_sensitive_state, :status_cw_state, :status_media_state, :status_poll_state,
:status_mention_state, :status_reference_state,
:status_quote_state, :status_reply_state, :status_media_threshold, :status_poll_threshold,
:status_mention_threshold, :status_allow_follower_mention,
:reaction_allow_follower, :emoji_reaction_name, :emoji_reaction_origin_domain,
:status_reference_threshold, :account_allow_followed_by_local, :record_history_also_local,
status_visibility: [], status_searchability: [], reaction_type: [])
params.expect(ng_rule: [:title, :expires_in, :available, :account_domain, :account_username, :account_display_name,
:account_note, :account_field_name, :account_field_value, :account_avatar_state,
:account_header_state, :account_include_local, :status_spoiler_text, :status_text, :status_tag,
:status_sensitive_state, :status_cw_state, :status_media_state, :status_poll_state,
:status_mention_state, :status_reference_state,
:status_quote_state, :status_reply_state, :status_media_threshold, :status_poll_threshold,
:status_mention_threshold, :status_allow_follower_mention,
:reaction_allow_follower, :emoji_reaction_name, :emoji_reaction_origin_domain,
:status_reference_threshold, :account_allow_followed_by_local, :record_history_also_local,
status_visibility: [], status_searchability: [], reaction_type: []])
end
def test_words!

View file

@ -21,6 +21,10 @@ module Admin
false
end
def avoid_save?
true
end
private
def after_update_redirect_path

View file

@ -13,6 +13,12 @@ module Admin
return unless validate
if avoid_save?
flash[:notice] = I18n.t('generic.changes_saved_msg')
redirect_to after_update_redirect_path
return
end
@admin_settings = Form::AdminSettings.new(settings_params)
if @admin_settings.save
@ -33,14 +39,18 @@ module Admin
admin_ng_words_path
end
def avoid_save?
false
end
private
def settings_params
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
params.expect(form_admin_settings: [*Form::AdminSettings::KEYS])
end
def settings_params_test
params.require(:form_admin_settings)[:ng_words_test]
params.expect(form_admin_settings: [ng_words_test: [keywords: [], regexps: [], strangers: [], temporary_ids: []]])['ng_words_test']
end
end
end

View file

@ -57,7 +57,8 @@ module Admin
end
def resource_params
params.require(:relay).permit(:inbox_url)
params
.expect(relay: [:inbox_url])
end
def warn_signatures_not_enabled!

View file

@ -47,10 +47,8 @@ module Admin
end
def resource_params
params.require(:report_note).permit(
:content,
:report_id
)
params
.expect(report_note: [:content, :report_id])
end
def set_report_note

View file

@ -61,7 +61,8 @@ module Admin
end
def resource_params
params.require(:user_role).permit(:name, :color, :highlighted, :position, permissions_as_keys: [])
params
.expect(user_role: [:name, :color, :highlighted, :position, permissions_as_keys: []])
end
end
end

View file

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

View file

@ -37,7 +37,7 @@ module Admin
end
def settings_params
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
params.expect(form_admin_settings: [*Form::AdminSettings::KEYS])
end
def settings_params_test

View file

@ -28,7 +28,8 @@ module Admin
end
def settings_params
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
params
.expect(form_admin_settings: [*Form::AdminSettings::KEYS])
end
end
end

View file

@ -6,7 +6,7 @@ module Admin
def index
authorize :software_update, :index?
@software_updates = SoftwareUpdate.all.sort_by(&:gem_version)
@software_updates = SoftwareUpdate.by_version.filter(&:pending?)
end
private

View file

@ -28,7 +28,7 @@ module Admin
end
def settings_params
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
params.expect(form_admin_settings: [*Form::AdminSettings::KEYS])
end
end
end

View file

@ -28,7 +28,7 @@ module Admin
end
def settings_params
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
params.expect(form_admin_settings: [*Form::AdminSettings::KEYS])
end
end
end

View file

@ -98,7 +98,8 @@ module Admin
helper_method :batched_ordered_status_edits
def admin_status_batch_action_params
params.require(:admin_status_batch_action).permit(status_ids: [])
params
.expect(admin_status_batch_action: [status_ids: []])
end
def after_create_redirect_path

View file

@ -37,7 +37,8 @@ module Admin
end
def tag_params
params.require(:tag).permit(:name, :display_name, :trendable, :usable, :listable)
params
.expect(tag: [:name, :display_name, :trendable, :usable, :listable])
end
def filtered_tags

View file

@ -0,0 +1,18 @@
# frozen_string_literal: true
class Admin::TermsOfService::DistributionsController < Admin::BaseController
before_action :set_terms_of_service
def create
authorize @terms_of_service, :distribute?
@terms_of_service.touch(:notification_sent_at)
Admin::DistributeTermsOfServiceNotificationWorker.perform_async(@terms_of_service.id)
redirect_to admin_terms_of_service_index_path
end
private
def set_terms_of_service
@terms_of_service = TermsOfService.find(params[:terms_of_service_id])
end
end

View file

@ -0,0 +1,37 @@
# frozen_string_literal: true
class Admin::TermsOfService::DraftsController < Admin::BaseController
before_action :set_terms_of_service
def show
authorize :terms_of_service, :create?
end
def update
authorize @terms_of_service, :update?
@terms_of_service.published_at = Time.now.utc if params[:action_type] == 'publish'
if @terms_of_service.update(resource_params)
log_action(:publish, @terms_of_service) if @terms_of_service.published?
redirect_to @terms_of_service.published? ? admin_terms_of_service_index_path : admin_terms_of_service_draft_path
else
render :show
end
end
private
def set_terms_of_service
@terms_of_service = TermsOfService.draft.first || TermsOfService.new(text: current_terms_of_service&.text, effective_date: 10.days.from_now)
end
def current_terms_of_service
TermsOfService.live.first
end
def resource_params
params
.expect(terms_of_service: [:text, :changelog, :effective_date])
end
end

View file

@ -0,0 +1,38 @@
# frozen_string_literal: true
class Admin::TermsOfService::GeneratesController < Admin::BaseController
before_action :set_instance_presenter
def show
authorize :terms_of_service, :create?
@generator = TermsOfService::Generator.new(
domain: @instance_presenter.domain,
admin_email: @instance_presenter.contact.email
)
end
def create
authorize :terms_of_service, :create?
@generator = TermsOfService::Generator.new(resource_params)
if @generator.valid?
TermsOfService.create!(text: @generator.render)
redirect_to admin_terms_of_service_draft_path
else
render :show
end
end
private
def set_instance_presenter
@instance_presenter = InstancePresenter.new
end
def resource_params
params
.expect(terms_of_service_generator: [*TermsOfService::Generator::VARIABLES])
end
end

View file

@ -0,0 +1,8 @@
# frozen_string_literal: true
class Admin::TermsOfService::HistoriesController < Admin::BaseController
def show
authorize :terms_of_service, :index?
@terms_of_service = TermsOfService.published.all
end
end

View file

@ -0,0 +1,16 @@
# frozen_string_literal: true
class Admin::TermsOfService::PreviewsController < Admin::BaseController
before_action :set_terms_of_service
def show
authorize @terms_of_service, :distribute?
@user_count = @terms_of_service.scope_for_notification.count
end
private
def set_terms_of_service
@terms_of_service = TermsOfService.find(params[:terms_of_service_id])
end
end

View file

@ -0,0 +1,17 @@
# frozen_string_literal: true
class Admin::TermsOfService::TestsController < Admin::BaseController
before_action :set_terms_of_service
def create
authorize @terms_of_service, :distribute?
UserMailer.terms_of_service_changed(current_user, @terms_of_service).deliver_later!
redirect_to admin_terms_of_service_preview_path(@terms_of_service)
end
private
def set_terms_of_service
@terms_of_service = TermsOfService.find(params[:terms_of_service_id])
end
end

View file

@ -0,0 +1,8 @@
# frozen_string_literal: true
class Admin::TermsOfServiceController < Admin::BaseController
def index
authorize :terms_of_service, :index?
@terms_of_service = TermsOfService.published.first
end
end

View file

@ -31,7 +31,8 @@ class Admin::Trends::Links::PreviewCardProvidersController < Admin::BaseControll
end
def trends_preview_card_provider_batch_params
params.require(:trends_preview_card_provider_batch).permit(:action, preview_card_provider_ids: [])
params
.expect(trends_preview_card_provider_batch: [:action, preview_card_provider_ids: []])
end
def action_from_button

View file

@ -31,7 +31,8 @@ class Admin::Trends::LinksController < Admin::BaseController
end
def trends_preview_card_batch_params
params.require(:trends_preview_card_batch).permit(:action, preview_card_ids: [])
params
.expect(trends_preview_card_batch: [:action, preview_card_ids: []])
end
def action_from_button

View file

@ -31,7 +31,8 @@ class Admin::Trends::StatusesController < Admin::BaseController
end
def trends_status_batch_params
params.require(:trends_status_batch).permit(:action, status_ids: [])
params
.expect(trends_status_batch: [:action, status_ids: []])
end
def action_from_button

View file

@ -31,7 +31,8 @@ class Admin::Trends::TagsController < Admin::BaseController
end
def trends_tag_batch_params
params.require(:trends_tag_batch).permit(:action, tag_ids: [])
params
.expect(trends_tag_batch: [:action, tag_ids: []])
end
def action_from_button

View file

@ -28,7 +28,8 @@ module Admin
end
def resource_params
params.require(:user).permit(:role_id)
params
.expect(user: [:role_id])
end
end
end

View file

@ -52,7 +52,8 @@ module Admin
end
def warning_preset_params
params.require(:account_warning_preset).permit(:title, :text)
params
.expect(account_warning_preset: [:title, :text])
end
end
end

View file

@ -74,7 +74,8 @@ module Admin
end
def resource_params
params.require(:webhook).permit(:url, :template, events: [])
params
.expect(webhook: [:url, :template, events: []])
end
end
end

View file

@ -0,0 +1,81 @@
# frozen_string_literal: true
class Api::Fasp::BaseController < ApplicationController
class Error < ::StandardError; end
DIGEST_PATTERN = /sha-256=:(.*?):/
KEYID_PATTERN = /keyid="(.*?)"/
attr_reader :current_provider
skip_forgery_protection
before_action :check_fasp_enabled
before_action :require_authentication
after_action :sign_response
private
def require_authentication
validate_content_digest!
validate_signature!
rescue Error, Linzer::Error, ActiveRecord::RecordNotFound => e
logger.debug("FASP Authentication error: #{e}")
authentication_error
end
def authentication_error
respond_to do |format|
format.json { head 401 }
end
end
def validate_content_digest!
content_digest_header = request.headers['content-digest']
raise Error, 'content-digest missing' if content_digest_header.blank?
digest_received = content_digest_header.match(DIGEST_PATTERN)[1]
digest_computed = OpenSSL::Digest.base64digest('sha256', request.body&.string || '')
raise Error, 'content-digest does not match' if digest_received != digest_computed
end
def validate_signature!
signature_input = request.headers['signature-input']&.encode('UTF-8')
raise Error, 'signature-input is missing' if signature_input.blank?
keyid = signature_input.match(KEYID_PATTERN)[1]
provider = Fasp::Provider.find(keyid)
linzer_request = Linzer.new_request(
request.method,
request.original_url,
{},
{
'content-digest' => request.headers['content-digest'],
'signature-input' => signature_input,
'signature' => request.headers['signature'],
}
)
message = Linzer::Message.new(linzer_request)
key = Linzer.new_ed25519_public_key(provider.provider_public_key_pem, keyid)
signature = Linzer::Signature.build(message.headers)
Linzer.verify(key, message, signature)
@current_provider = provider
end
def sign_response
response.headers['content-digest'] = "sha-256=:#{OpenSSL::Digest.base64digest('sha256', response.body || '')}:"
linzer_response = Linzer.new_response(response.body, response.status, { 'content-digest' => response.headers['content-digest'] })
message = Linzer::Message.new(linzer_response)
key = Linzer.new_ed25519_key(current_provider.server_private_key_pem)
signature = Linzer.sign(key, message, %w(@status content-digest))
response.headers.merge!(signature.to_h)
end
def check_fasp_enabled
raise ActionController::RoutingError unless Mastodon::Feature.fasp_enabled?
end
end

View file

@ -0,0 +1,15 @@
# frozen_string_literal: true
class Api::Fasp::Debug::V0::Callback::ResponsesController < Api::Fasp::BaseController
def create
Fasp::DebugCallback.create(
fasp_provider: current_provider,
ip: request.remote_ip,
request_body: request.raw_post
)
respond_to do |format|
format.json { head 201 }
end
end
end

View file

@ -0,0 +1,26 @@
# frozen_string_literal: true
class Api::Fasp::RegistrationsController < Api::Fasp::BaseController
skip_before_action :require_authentication
def create
@current_provider = Fasp::Provider.create!(
name: params[:name],
base_url: params[:baseUrl],
remote_identifier: params[:serverId],
provider_public_key_base64: params[:publicKey]
)
render json: registration_confirmation
end
private
def registration_confirmation
{
faspId: current_provider.id.to_s,
publicKey: current_provider.server_public_key_base64,
registrationCompletionUri: new_admin_fasp_provider_registration_url(current_provider),
}
end
end

View file

@ -14,7 +14,7 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
@account = current_account
UpdateAccountService.new.call(@account, account_params, raise_error: true)
current_user.update(user_params) if user_params
ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
ActivityPub::UpdateDistributionWorker.perform_in(ActivityPub::UpdateDistributionWorker::DEBOUNCE_DELAY, @account.id)
render json: @account, serializer: REST::CredentialAccountSerializer
rescue ActiveRecord::RecordInvalid => e
render json: ValidationErrorFormatter.new(e).as_json, status: 422
@ -34,6 +34,7 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
:searchability,
:hide_collections,
:indexable,
attribution_domains: [],
fields_attributes: [:name, :value]
)
end

View file

@ -0,0 +1,66 @@
# frozen_string_literal: true
class Api::V1::Accounts::EndorsementsController < Api::BaseController
include Authorization
before_action -> { authorize_if_got_token! :read, :'read:accounts' }, only: :index
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, except: :index
before_action :require_user!, except: :index
before_action :set_account
before_action :set_endorsed_accounts, only: :index
after_action :insert_pagination_headers, only: :index
def index
cache_if_unauthenticated!
render json: @endorsed_accounts, each_serializer: REST::AccountSerializer
end
def create
AccountPin.find_or_create_by!(account: current_account, target_account: @account)
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
def destroy
pin = AccountPin.find_by(account: current_account, target_account: @account)
pin&.destroy!
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
private
def set_account
@account = Account.find(params[:account_id])
end
def set_endorsed_accounts
@endorsed_accounts = @account.unavailable? ? [] : paginated_endorsed_accounts
end
def paginated_endorsed_accounts
@account.endorsed_accounts.without_suspended.includes(:account_stat, :user).paginate_by_max_id(
limit_param(DEFAULT_ACCOUNTS_LIMIT),
params[:max_id],
params[:since_id]
)
end
def relationships_presenter
AccountRelationshipsPresenter.new([@account], current_user.account_id)
end
def next_path
api_v1_account_endorsements_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
api_v1_account_endorsements_url pagination_params(since_id: pagination_since_id) unless @endorsed_accounts.empty?
end
def pagination_collection
@endorsed_accounts
end
def records_continue?
@endorsed_accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
end
end

View file

@ -17,6 +17,6 @@ class Api::V1::Accounts::FeaturedTagsController < Api::BaseController
end
def set_featured_tags
@featured_tags = @account.suspended? ? [] : @account.featured_tags
@featured_tags = @account.unavailable? ? [] : @account.featured_tags
end
end

View file

@ -1,6 +1,10 @@
# frozen_string_literal: true
class Api::V1::Accounts::IdentityProofsController < Api::BaseController
include DeprecationConcern
deprecate_api '2022-03-30'
before_action :require_user!
before_action :set_account

View file

@ -1,30 +0,0 @@
# frozen_string_literal: true
class Api::V1::Accounts::PinsController < Api::BaseController
include Authorization
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }
before_action :require_user!
before_action :set_account
def create
AccountPin.find_or_create_by!(account: current_account, target_account: @account)
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
def destroy
pin = AccountPin.find_by(account: current_account, target_account: @account)
pin&.destroy!
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end
private
def set_account
@account = Account.find(params[:account_id])
end
def relationships_presenter
AccountRelationshipsPresenter.new([@account], current_user.account_id)
end
end

View file

@ -124,7 +124,7 @@ class Api::V1::AccountsController < Api::BaseController
end
def account_params
params.permit(:username, :email, :password, :agreement, :locale, :reason, :time_zone, :invite_code)
params.permit(:username, :email, :password, :agreement, :locale, :reason, :time_zone, :invite_code, :date_of_birth)
end
def invite

View file

@ -21,7 +21,7 @@ class Api::V1::AntennasController < Api::BaseController
end
def create
@antenna = Antenna.create!(antenna_params.merge(account: current_account, list_id: 0))
@antenna = Antenna.create!(antenna_params.merge(account: current_account))
render json: @antenna, serializer: REST::AntennaSerializer
end

View file

@ -1,6 +1,10 @@
# frozen_string_literal: true
class Api::V1::FiltersController < Api::BaseController
include DeprecationConcern
deprecate_api '2022-11-14'
before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show]
before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show]
before_action :require_user!

View file

@ -31,7 +31,7 @@ class Api::V1::Instances::DomainBlocksController < Api::V1::Instances::BaseContr
end
def show_domain_blocks_to_user?
Setting.show_domain_blocks == 'users' && user_signed_in?
Setting.show_domain_blocks == 'users' && user_signed_in? && current_user.functional_or_moved?
end
def set_domain_blocks
@ -47,6 +47,6 @@ class Api::V1::Instances::DomainBlocksController < Api::V1::Instances::BaseContr
end
def show_rationale_for_user?
Setting.show_domain_blocks_rationale == 'users' && user_signed_in?
Setting.show_domain_blocks_rationale == 'users' && user_signed_in? && current_user.functional_or_moved?
end
end

View file

@ -0,0 +1,22 @@
# frozen_string_literal: true
class Api::V1::Instances::TermsOfServicesController < Api::V1::Instances::BaseController
before_action :set_terms_of_service
def show
cache_even_if_authenticated!
render json: @terms_of_service, serializer: REST::TermsOfServiceSerializer
end
private
def set_terms_of_service
@terms_of_service = begin
if params[:date].present?
TermsOfService.published.find_by!(effective_date: params[:date])
else
TermsOfService.live.first || TermsOfService.published.first! # For the case when none of the published terms have become effective yet
end
end
end
end

View file

@ -1,15 +1,9 @@
# frozen_string_literal: true
class Api::V1::InstancesController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :limited_federation_mode?
skip_around_action :set_locale
class Api::V1::InstancesController < Api::V2::InstancesController
include DeprecationConcern
vary_by ''
# Override `current_user` to avoid reading session cookies unless in limited federation mode
def current_user
super if limited_federation_mode?
end
deprecate_api '2022-11-14'
def show
cache_even_if_authenticated!

View file

@ -7,10 +7,6 @@ class Api::V1::ListsController < Api::BaseController
before_action :require_user!
before_action :set_list, except: [:index, :create]
rescue_from ArgumentError do |e|
render json: { error: e.to_s }, status: 422
end
def index
@lists = List.where(account: current_account).all
render json: @lists, each_serializer: REST::ListSerializer

View file

@ -3,8 +3,8 @@
class Api::V1::MediaController < Api::BaseController
before_action -> { doorkeeper_authorize! :write, :'write:media' }
before_action :require_user!
before_action :set_media_attachment, except: [:create]
before_action :check_processing, except: [:create]
before_action :set_media_attachment, except: [:create, :destroy]
before_action :check_processing, except: [:create, :destroy]
def show
render json: @media_attachment, serializer: REST::MediaAttachmentSerializer, status: status_code_for_media_attachment
@ -25,6 +25,15 @@ class Api::V1::MediaController < Api::BaseController
render json: @media_attachment, serializer: REST::MediaAttachmentSerializer, status: status_code_for_media_attachment
end
def destroy
@media_attachment = current_account.media_attachments.find(params[:id])
return render json: in_usage_error, status: 422 unless @media_attachment.status_id.nil?
@media_attachment.destroy
render_empty
end
private
def status_code_for_media_attachment
@ -54,4 +63,8 @@ class Api::V1::MediaController < Api::BaseController
def processing_error
{ error: 'Error processing thumbnail for uploaded media' }
end
def in_usage_error
{ error: 'Media attachment is currently used by a status' }
end
end

View file

@ -15,7 +15,7 @@ class Api::V1::Polls::VotesController < Api::BaseController
private
def set_poll
@poll = Poll.attached.find(params[:poll_id])
@poll = Poll.find(params[:poll_id])
authorize @poll.status, :show?
rescue Mastodon::NotPermittedError
not_found

View file

@ -15,7 +15,7 @@ class Api::V1::PollsController < Api::BaseController
private
def set_poll
@poll = Poll.attached.find(params[:id])
@poll = Poll.find(params[:id])
authorize @poll.status, :show?
rescue Mastodon::NotPermittedError
not_found

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