Compare commits

...

3398 Commits

Author SHA1 Message Date
Echo
eb848d082a Profile editing: Rearranging and adding fields (#38083) 2026-03-06 12:57:06 +00:00
github-actions[bot]
11fb1df7a6 New Crowdin Translations (automated) (#38091)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-06 11:39:35 +00:00
renovate[bot]
169552ff06 Update dependency aws-sdk-core to v3.243.0 (#38089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 11:16:28 +00:00
Matt Jankowski
812c109e87 Remove message argument from NoteLengthValidator error approach (#37977) 2026-03-05 17:44:52 +00:00
diondiondion
3d8d5f6dc7 Remove minimum account limit on collections (#38082) 2026-03-05 15:57:27 +00:00
diondiondion
3557be5d4d Hide account list in sensitive collections (#38081) 2026-03-05 15:43:57 +00:00
renovate[bot]
0f37901955 Update dependency htmlentities to v4.4.2 (#38080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 15:34:22 +00:00
Matt Jankowski
58ef0f6aee Move chewy enable for spec to search data manager (#38054) 2026-03-05 15:07:41 +00:00
Claire
9b4a09f760 Fix poll expiration notification being re-triggered on implicit updates (#38078) 2026-03-05 14:53:00 +00:00
Matt Jankowski
4e3866dbaf Replace email_spec gem with built-in matchers (#38079) 2026-03-05 14:42:21 +00:00
renovate[bot]
5d4271a3cc Update dependency rollup-plugin-visualizer to v6.0.11 (#38051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 14:37:58 +00:00
Echo
dae0926c1f Profile editing: Custom fields (deleting, editing) (#38066) 2026-03-05 10:48:19 +00:00
Matt Jankowski
6d9c16e4a1 Fix incorrect I18n string in webauthn mailers (#38062) 2026-03-05 10:37:12 +00:00
github-actions[bot]
94954aed5e New Crowdin Translations (automated) (#38070)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-05 09:27:43 +00:00
Claire
dd27c7b917 Fix “Unblock” and “Unmute” actions being disabled when blocked (#38075) 2026-03-05 09:10:49 +00:00
diondiondion
748dbf3217 Add "Collections" link to main navigation (#38065) 2026-03-05 09:01:08 +00:00
renovate[bot]
eefdf7ecdf Update dependency linzer to v0.7.8 (#38050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 08:56:32 +00:00
Claire
922fbb8c17 Add for searching already-known private GtS posts (#38057) 2026-03-05 08:56:18 +00:00
Claire
1add29cf40 Redirect to short account URLs when requesting HTML for one of the AP endpoints (#38056) 2026-03-04 17:44:27 +00:00
diondiondion
a70079968c Break ScrollableList component into parts (#38059) 2026-03-04 16:18:05 +00:00
Echo
3fbb7424fa Emoji text input and character counter components (#38052) 2026-03-04 16:13:45 +00:00
Matt Jankowski
43b0113a4a Update ES versions in CI/devcontainer to match primary compose (#38041) 2026-03-04 15:33:25 +00:00
Matt Jankowski
a89754f288 Re-run db:schema:dump with rails 8.1 (#38044) 2026-03-04 13:57:53 +00:00
Claire
8a0261c51c Add missing_attribution boolean to preview cards (#38043) 2026-03-04 11:18:37 +00:00
Claire
5472ab251a Fix existing posts not being removed from lists when a list member is unfollowed (#38048) 2026-03-04 11:18:28 +00:00
github-actions[bot]
078b87bdc1 New Crowdin Translations (automated) (#38047)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-04 11:06:26 +00:00
Matt Jankowski
177f4ee3ae Update haml_lint to version 0.72.0 (#38042) 2026-03-04 11:03:25 +00:00
renovate[bot]
0a4f96be21 Update dependency tzinfo-data to v1.2026.1 (#38035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-04 11:01:47 +00:00
renovate[bot]
0f2ad41f89 Update dependency public_suffix to v7.0.5 (#38034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-04 11:01:44 +00:00
diondiondion
d0e7692d79 Fix local collection link resulting in error page (#38038) 2026-03-03 17:34:37 +00:00
diondiondion
c0b2286871 Profile redesign: Fix timeline filter button color on Safari iOS (#38040) 2026-03-03 17:34:01 +00:00
Claire
a3aeae0288 Add test to cover proper URL for media in DELETE /api/v1/statuses/:id (#38037) 2026-03-03 15:36:54 +00:00
diondiondion
de4ee8565c Prevent hover card from showing on touch devices (#38039) 2026-03-03 15:26:56 +00:00
diondiondion
1d21d9d4c2 Convert ColumnsArea component to TS (#38031) 2026-03-03 12:48:50 +00:00
diondiondion
6e5aa00436 Anchor post navigation via hotkeys to top of viewport (#38036) 2026-03-03 11:02:04 +00:00
github-actions[bot]
80066631ee New Crowdin Translations (automated) (#38032)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-03 10:47:19 +00:00
diondiondion
396d9dd12a Allow scrolling alt text popover with keyboard & improved media focus outlines (#38033) 2026-03-03 10:27:46 +00:00
Echo
74b3b6c798 Profile editing: Allow adding arbitrary featured tags (#38012) 2026-03-02 16:32:08 +00:00
diondiondion
03b2f77ad2 Collection share modal cleanup (#38030) 2026-03-02 16:19:13 +00:00
David Roetzel
ceaadc791e Change cursor to make clear summary is clickable (#38029) 2026-03-02 15:13:56 +00:00
Matt Jankowski
e7cec161fd Reduce haml-lint LineLength configuration to 240 (#37287) 2026-03-02 14:43:57 +00:00
diondiondion
816e63d2a5 Add "skip to content", "skip to navigation" links (#38006) 2026-03-02 14:37:33 +00:00
Antoine Cellerier
87004ddb96 Add g+e keyboard shortcut for /explore (trending) (#38014) 2026-03-02 13:49:28 +00:00
David Roetzel
f953d40289 Add API to revoke collection item (#38027) 2026-03-02 13:38:03 +00:00
David Roetzel
2f65701920 Add service to revoke inclusion in a Collection (#38026) 2026-03-02 10:16:41 +00:00
Shlee
6ab24de659 trustworthy_attribution - Bounce bad URIs (#37372) 2026-03-02 10:03:21 +00:00
renovate[bot]
ba8e495631 Update dependency pg to v8.19.0 (#37978)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 09:30:52 +00:00
renovate[bot]
178e8c23b1 Update dependency eslint-plugin-jsdoc to v62 (#37433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 09:30:17 +00:00
Matt Jankowski
c86a8f8798 Use file_field support for array to accept attribute (#37844) 2026-03-02 09:27:04 +00:00
renovate[bot]
e3a53b6f5a Update Node.js to 24.14 (#37971)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 09:08:04 +00:00
Matt Jankowski
74f7a5e8e9 Remove unneeded stylelint-config-prettier-scss package (#37973) 2026-03-02 09:07:50 +00:00
renovate[bot]
68163e5975 Update dependency brakeman to v8.0.4 (#38002)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 09:06:15 +00:00
renovate[bot]
c9282d980d Update dependency addressable to v2.8.9 (#38013)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 09:04:53 +00:00
github-actions[bot]
7444c8f82e New Crowdin Translations (automated) (#38018)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-02 08:51:13 +00:00
Matt Jankowski
5fd1235ba2 Update binding_of_caller to version 2.0.0 (#38017) 2026-03-02 08:51:09 +00:00
renovate[bot]
db241b5c2c Update dependency axios to v1.13.6 (#38009)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 08:50:54 +00:00
renovate[bot]
786fcac4a1 Update dependency ioredis to v5.10.0 (#38010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 08:50:50 +00:00
Matt Jankowski
d845a8a289 Fix violations to existing cops from rubocop v1.85.0 (#38015) 2026-03-02 08:47:45 +00:00
Matt Jankowski
7f16397f3c Add validation spec for Form::Redirect model (#38011) 2026-02-27 17:05:29 +00:00
Matt Jankowski
7e5e96739f Use consistent calling style for TagManager#normalize_domain (#35764) 2026-02-27 16:38:34 +00:00
Matt Jankowski
9762b4a75c Use normalizes for tag name attribute (#37119) 2026-02-27 15:56:08 +00:00
Matt Jankowski
e92b7beb75 Refactor tests for FeaturedTag#display_name (#38007) 2026-02-27 15:23:48 +00:00
Dock
3c8e37907d Fix avatar alt-text running into other elements on image load failure. (#38000) 2026-02-27 15:22:19 +00:00
Echo
1e5cad072e Profile redesign: Profile fields feedback (#38005) 2026-02-27 13:54:08 +00:00
Echo
d69d7c0507 Profile editing: Tab display controls (#37994) 2026-02-27 13:36:19 +00:00
David Roetzel
6b88dd4923 Issue FeatureAuthorizations (#38004) 2026-02-27 11:00:21 +00:00
Claire
3b7c33e763 Add exclude_direct flag to /api/v1/accounts/:id/statuses to exclude direct messages (#37763) 2026-02-27 09:34:12 +00:00
github-actions[bot]
fc1f57b5f1 New Crowdin Translations (automated) (#38001)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-27 09:29:07 +00:00
Matt Jankowski
1bc5cc4fcf Use bundler version 4.0.7 (#37995) 2026-02-27 09:14:46 +00:00
renovate[bot]
dd1623e988 Update dependency storybook to v10.2.10 [SECURITY] (#37998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 08:46:48 +00:00
Matt Jankowski
1dbb258d53 Update rails to version 8.1.2 (#36505) 2026-02-27 07:50:35 +00:00
diondiondion
7970eb392a Add share dialog for collections (#37986) 2026-02-26 17:45:09 +00:00
Echo
bca57020a0 Profile redesign: Fix fields in Chromium (#37996) 2026-02-26 17:04:46 +00:00
Claire
9c4d11f927 Add featured_tags to GET /api/v1/profile (#37932) 2026-02-26 16:18:42 +00:00
Matt Jankowski
5026bf6ac7 Use validation matchers for DisallowedHashtagValidator spec (#37636) 2026-02-26 15:56:16 +00:00
David Roetzel
b09e63da87 Federate activity when remote account is added to a Collection (#37992) 2026-02-26 15:11:02 +00:00
Claire
951a42f491 Add max_note_length and max_display_name_length to configuration.accounts in Instance entity (#37991) 2026-02-26 14:58:07 +00:00
Echo
d18a47b6a7 Profile editing: Utilize new API (#37990) 2026-02-26 13:55:10 +00:00
David Roetzel
51b81b3ce9 Allow remote accounts in Collections (#37989) 2026-02-26 13:31:23 +00:00
github-actions[bot]
970ac04be7 New Crowdin Translations (automated) (#37985)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-26 10:07:33 +00:00
Claire
4d2a148ccb Fix profile redesign profile fields gap (#37979) 2026-02-25 17:45:51 +00:00
Echo
dcbf7ab8dc Profile redesign: Account fields grid (#37976) 2026-02-25 16:59:18 +00:00
David Roetzel
f9326efef6 Add moderation consequences for collections (#37974) 2026-02-25 14:32:07 +00:00
Claire
ea34d35b32 Fix username availability check being wrongly applied on race conditions (#37975) 2026-02-25 14:30:01 +00:00
diondiondion
440466c246 Display public collections on profile "Featured tab" (#37967) 2026-02-25 14:14:55 +00:00
Matt Jankowski
32873e63cf Remove references to removed prettier config files (#37962) 2026-02-25 14:13:32 +00:00
github-actions[bot]
953472b40d New Crowdin Translations (automated) (#37968)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-25 10:14:08 +00:00
David Roetzel
e2c9426c77 Split status batch and moderation actions (#37970) 2026-02-25 10:07:46 +00:00
diondiondion
919b1e69b8 Add collection report modal (#37961) 2026-02-24 14:29:46 +00:00
David Roetzel
72406a1cd1 Refactor: Introduce admin base action class (#37960) 2026-02-24 14:22:44 +00:00
Claire
1e87bd178d Bump version to v4.5.7 (#37965) 2026-02-24 13:54:33 +00:00
Claire
43ef9f66b6 Add PATCH /api/v1/profile (#37934) 2026-02-24 10:48:56 +00:00
Echo
3ed16489d0 Profile editing: Add singular to translated string (#37958) 2026-02-24 10:04:11 +00:00
renovate[bot]
49bcaba628 Update dependency postcss-preset-env to v11.2.0 (#37945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-24 09:08:37 +00:00
github-actions[bot]
c5b6881c1d New Crowdin Translations (automated) (#37956)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-24 09:08:25 +00:00
renovate[bot]
96bff0e4cd Update dependency omniauth-saml to v2.2.5 (#37944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-24 08:37:41 +00:00
Echo
ef6405ab28 Profile editing: Featured tags (#37952) 2026-02-23 15:53:49 +00:00
David Roetzel
e2aecd040c Collapse posts/collections in moderation interface (#37929) 2026-02-23 15:14:24 +00:00
diondiondion
e0cc3a30ef Allow displaying icon in TextInput component (#37951) 2026-02-23 14:12:02 +00:00
David Roetzel
b785f05ddb Add coverage for StatusBatchAction (#37949) 2026-02-23 13:22:24 +00:00
diondiondion
f9c18ba170 Fix overly large avatars in report modal (#37950) 2026-02-23 12:16:54 +00:00
Matt Jankowski
1d513966bd Remove unneeded haml-lint problem matcher (#37930) 2026-02-23 09:54:50 +00:00
github-actions[bot]
6bd4d79802 New Crowdin Translations (automated) (#37940)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-23 09:03:07 +00:00
renovate[bot]
5fc2be54c7 Update dependency rspec-sidekiq to v5.3.0 (#37938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-23 09:03:03 +00:00
David Roetzel
6ba6285a73 Reject unconfirmed FASPs (#37926) 2026-02-20 14:40:31 +00:00
David Roetzel
7b85d21823 Re-use custom socket class for FASP requests (#37925) 2026-02-20 14:27:50 +00:00
diondiondion
3d33294870 Collection accounts editor: Show info badge on accounts that haven't posted in over a week (#37928) 2026-02-20 14:01:39 +00:00
diondiondion
68a7cd404d Require following accounts before being able to add them to a collection (#37927) 2026-02-20 13:14:36 +00:00
github-actions[bot]
4d2ca8c92a New Crowdin Translations (automated) (#37924)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-20 10:52:57 +00:00
Claire
cc1e65dcec Add GET /api/v1/profile (#37912) 2026-02-20 10:16:04 +00:00
Renaud Chaput
e24737c612 Replace prettier with oxfmt (#37893) 2026-02-19 18:04:25 +00:00
Echo
8e7c3973dc Remove conditional check for timeline data (#37922) 2026-02-19 17:20:33 +00:00
diondiondion
39ff07bc89 Only suggest discoverable accounts in collection account editor (#37920) 2026-02-19 16:43:31 +00:00
github-actions[bot]
7eb4b907eb New Crowdin Translations (automated) (#37918)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-19 14:42:24 +00:00
Matt Jankowski
2a9de97cb6 Use validation matchers for UserEmailValidator spec (#37908) 2026-02-19 14:25:58 +00:00
diondiondion
c118ff708f Merge collection settings into single editor page (#37916) 2026-02-19 14:09:52 +00:00
Echo
ed4787c1b1 Profile editing: Name and bio (#37907) 2026-02-19 13:53:29 +00:00
Matt Jankowski
157583659a Use validation matchers for UniqueUsernameValidator spec (#37909) 2026-02-19 13:14:12 +00:00
Matt Jankowski
40f92f3af8 Use validation matchers for UnreservedUsernameValidator spec (#37910) 2026-02-19 12:50:09 +00:00
David Roetzel
e288bf6516 Show reported collections in moderation interface (#37898) 2026-02-19 12:46:38 +00:00
renovate[bot]
6f859364fb Update dependency rack to v3.2.5 (#37895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-19 12:46:32 +00:00
renovate[bot]
238d0f8e1d Update dependency devise to v5.0.2 (#37903)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-19 11:12:08 +00:00
Matt Jankowski
f48a299004 Use validation matchers for UrlValidator spec (#37911) 2026-02-19 11:11:46 +00:00
github-actions[bot]
093528ef17 New Crowdin Translations (automated) (#37915)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-19 11:11:41 +00:00
diondiondion
3df8fb8fe9 Fix visibility of video overlay controls in light mode (#37906) 2026-02-18 15:28:49 +00:00
Matt Jankowski
66052e3ddd Use validation matchers for StatusLengthValidator spec (#37905) 2026-02-18 15:22:22 +00:00
Matt Jankowski
e8ecf1719c Use validation matchers for StatusPinValidator spec (#37904) 2026-02-18 15:09:38 +00:00
Matt Jankowski
a411b7eccb Use validation matchers for PollOptionsValidator spec (#37901) 2026-02-18 13:44:59 +00:00
Matt Jankowski
9e40d3ef37 Use validation matchers for ReactionValidator spec (#37900) 2026-02-18 13:43:21 +00:00
diondiondion
488e0b2617 Add collection detail page (#37897) 2026-02-18 13:19:39 +00:00
Claire
bd64ca2583 Add new profile settings (#37890) 2026-02-18 13:18:44 +00:00
Echo
079f8615fe Profile redesign: Design fixes (#37892) 2026-02-18 12:05:02 +00:00
github-actions[bot]
b62ba9e29e New Crowdin Translations (automated) (#37896)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-18 10:33:31 +00:00
Matt Jankowski
f95cd68667 Use validation matchers for NoteLengthValidator spec (#37891) 2026-02-18 10:33:26 +00:00
renovate[bot]
61b9bc4fac Update dependency rspec-rails to v8.0.3 (#37888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-18 10:26:47 +00:00
Matt Jankowski
3c3a1b1684 Use separate rules with same groupName for playwright updates (#37809) 2026-02-17 17:49:19 +00:00
Echo
4b1f66418b Profile editing: Add initial route (#37885) 2026-02-17 15:45:24 +00:00
Matt Jankowski
371946fa80 Use validation matchers for LanguageValidator spec (#37886) 2026-02-17 14:59:31 +00:00
Nicholas La Roux
438602c488 Upgrade rubocop from v1.84.0 to v1.84.2, update config, and correct offences (#37795) 2026-02-17 14:56:46 +00:00
Claire
0b66e74426 Add GET /api/v1/donation_campaigns (#37880) 2026-02-17 10:54:21 +00:00
Claire
4a6d17ad7b Fix hashtag matching by replacing negative lookbehind with positive lookbehind (#37684) 2026-02-17 10:27:36 +00:00
github-actions[bot]
0a6412faf9 New Crowdin Translations (automated) (#37884)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-17 09:21:35 +00:00
Matt Jankowski
7f28dd1179 Use validation matchers for FollowLimitValidator spec (#37792) 2026-02-17 09:03:46 +00:00
Matt Jankowski
2cb8471d81 Update doorkeeper i18n for invalid code challenge method (#37827) 2026-02-17 09:01:59 +00:00
renovate[bot]
1618c28a48 Update dependency dotenv to v17.3.1 (#37855)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-17 09:01:19 +00:00
Estel
335eeb6239 Add try_files directive comments to nginx.conf (#37866) 2026-02-17 08:55:11 +00:00
diondiondion
a644a4a762 Allow managing collection accounts (#37812) 2026-02-16 18:17:20 +00:00
Claire
cff25c186b Fix race condition when processing statuses twice with the same idempotency key (#37879) 2026-02-16 14:58:22 +00:00
Echo
f7bf804a3f Profile redesign: Switch to server flag (#37876) 2026-02-16 13:06:49 +00:00
Claire
f199d7995c Add missing “Filter action” source string (#37838) 2026-02-16 12:34:38 +00:00
Claire
284c53f439 Remove disabled bundlesize-compare workflow (#37875) 2026-02-16 09:51:24 +00:00
renovate[bot]
ed6d8fad9e Update dependency ioredis to v5.9.3 (#37849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 09:30:56 +00:00
github-actions[bot]
6d3eb43500 New Crowdin Translations (automated) (#37863)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-16 09:14:21 +00:00
renovate[bot]
4425b8a0b2 Update dependency stackprof to v0.2.28 (#37873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 08:32:29 +00:00
renovate[bot]
4396217434 Update dependency jsdom to v28.1.0 (#37874)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 08:32:12 +00:00
renovate[bot]
9baa51c67e Update dependency capybara-playwright-driver to v0.5.8 (#37840)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 08:29:38 +00:00
renovate[bot]
e8ca5f633e Update dependency devise to v5.0.1 (#37860)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 08:25:24 +00:00
Matt Jankowski
1b724e9e12 Capture output in cli/emoji spec (#37861) 2026-02-16 08:24:39 +00:00
Matt Jankowski
56ecdde152 Add ContentPoliciesHelper#policy_list to wrap string building in views (#37856) 2026-02-13 15:54:41 +00:00
Echo
3d0a6ba831 Emoji: Cache data by path instead of just Etag (#37858) 2026-02-13 15:23:22 +00:00
Claire
c1a5bd52f2 Update devcontainer image version (#37857) 2026-02-13 15:17:12 +00:00
Echo
f5aa5adcf7 Profile redesign: About tab (#37851) 2026-02-13 13:37:39 +00:00
David Roetzel
6c3bd944f8 Allow reporting (local) Collections (#37848) 2026-02-13 11:11:44 +00:00
github-actions[bot]
a3f34137fd New Crowdin Translations (automated) (#37853)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-13 10:45:32 +00:00
renovate[bot]
747ec35885 Update dependency annotaterb to v4.22.0 (#37835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 10:32:29 +00:00
Claire
ab9aa25cd3 Fix delete & redraft of pending posts (#37839) 2026-02-13 10:32:16 +00:00
renovate[bot]
83182f9e13 Update dependency vite-tsconfig-paths to v6.1.1 (#37834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 10:16:00 +00:00
Echo
45057d1df2 Fixes appearing in Following list (#37854) 2026-02-13 10:03:57 +00:00
diondiondion
c44cc1f5c3 Implement Collection list item design (#37850) 2026-02-12 16:30:10 +00:00
David Roetzel
f57167c61a Add ID/URI to collection items (#37842) 2026-02-12 15:31:45 +00:00
Matt Jankowski
db64ae368f Use implicit class_names in 2FA partials (#37846) 2026-02-12 15:19:43 +00:00
Claire
bfec82e5f9 Add nan-TW to interface languages (#37822) 2026-02-12 15:12:08 +00:00
diondiondion
46fd341685 Fix bad visibility of scroll buttons on follow-suggestions carousel (#37843) 2026-02-12 15:10:53 +00:00
diondiondion
e4bb347f72 Theme tokens sync (#37841) 2026-02-12 11:33:28 +00:00
David Roetzel
37d859db29 Federate deletion of collection item (#37837) 2026-02-12 10:39:13 +00:00
Claire
37e82ee66f Add --suspended-only option to tootctl emoji purge (#37828) 2026-02-12 10:25:29 +00:00
github-actions[bot]
6e8df21233 New Crowdin Translations (automated) (#37836)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-12 08:59:31 +00:00
Echo
ca9966ce2f Make pinning and unpinning directly modify state (#37831) 2026-02-11 16:58:00 +00:00
Claire
9129f98776 Process actor public keys when they are in a separate document without the ActivityStreams context (#37826) 2026-02-11 15:47:24 +00:00
Claire
dfe44bcaef Add ability to require 2FA for specific roles (including Everybody) (#37701) 2026-02-11 14:34:09 +00:00
David Roetzel
3e1127d27b Federate Add when item is added to Collection (#37823) 2026-02-11 13:52:29 +00:00
diondiondion
f99c60a8f3 Add useStorageState hook (#37825) 2026-02-11 13:30:53 +00:00
Echo
bbd88d356d Profile redesign: Show yourself in follower list (#37813) 2026-02-11 13:19:18 +00:00
Claire
20fedab093 Fix mistakenly included glitch-soc database columns (#37824) 2026-02-11 12:34:34 +00:00
Nicholas La Roux
062d0b454b Update various eslint packages and correct offences (#37814) 2026-02-11 11:24:22 +00:00
diondiondion
8c2c94fa6c Add Cmd/Ctrl+Enter to submit when Textarea is focused (#37821) 2026-02-11 10:44:20 +00:00
Claire
c53bb3b33e Rename “Mode” to “Color scheme” (#37819) 2026-02-11 10:36:59 +00:00
renovate[bot]
94524dd29c Update dependency @vitejs/plugin-react to v5.1.4 (#37798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-11 10:34:45 +00:00
renovate[bot]
3faefafdcb Update dependency pino to v10.3.1 (#37799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-11 10:15:53 +00:00
github-actions[bot]
cc75188a76 New Crowdin Translations (automated) (#37817)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-11 09:11:56 +00:00
Claire
d13d7b4566 Fix server theme migration (#37810) 2026-02-10 20:53:43 +00:00
Echo
0279a52216 Profile redesign: Account filter fixes (#37811) 2026-02-10 17:20:02 +00:00
Matt Jankowski
66b09318ed Remove unneeded rescue from DOB Validator (#37785) 2026-02-10 16:24:23 +00:00
Claire
63aac77b61 Purge custom emojis on domain suspension (#37808) 2026-02-10 16:13:06 +00:00
Matt Jankowski
34514bcfe9 Move theme-related helper methods out of controller (#37807) 2026-02-10 15:34:42 +00:00
Claire
040555be7f Fix NoMethodError in ActivityPub::FetchFeaturedTagsCollectionService (#37806) 2026-02-10 15:24:54 +00:00
renovate[bot]
f3347b1c67 Update dependency irb to v1.17.0 (#37780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-10 13:30:21 +00:00
Claire
46e4b5ae37 Fix streaming of disabled timelines with special permissions (#37791) 2026-02-10 13:27:00 +00:00
David Roetzel
ae30c40335 Auto accept account added to collection (#37805) 2026-02-10 12:48:28 +00:00
Claire
75ba314e6b Migrate to new theming infrastructure (#37612) 2026-02-10 10:59:47 +00:00
Echo
fb89198460 Profile redesign: Quality pass (#37766) 2026-02-10 10:56:03 +00:00
Matt Jankowski
2774e0fbfa Reduce stubbing SUT for EmailMxValidator spec (#37750) 2026-02-10 10:49:49 +00:00
renovate[bot]
b8d735411f Update dependency vite-tsconfig-paths to v6.1.0 (#37773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-10 10:49:41 +00:00
renovate[bot]
920e9fa9d3 Update dependency axios to v1.13.5 [SECURITY] (#37803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-10 10:30:35 +00:00
github-actions[bot]
662df23793 New Crowdin Translations (automated) (#37797)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-10 10:16:57 +00:00
David Roetzel
03f73377d9 Federate updates to collections (#37790) 2026-02-10 10:08:55 +00:00
David Roetzel
0763ad0d96 Set a more explicit version number for GH Action (#37800) 2026-02-10 10:00:27 +00:00
Claire
8aabc8628d Fix i18n check for missing source strings (#37801) 2026-02-10 09:56:16 +00:00
Renaud Chaput
837d1decc9 Add a i18n check in pre-commit for JS files (#37793) 2026-02-10 09:13:09 +00:00
Matt Jankowski
0b8ce7200a Use validation matchers for ExistingUsernameValidator spec (#37749) 2026-02-09 15:24:31 +00:00
Jonny Saunders
e17bbed88f Change: Consolidate collection handling in jsonld helper (#34595) 2026-02-09 15:19:36 +00:00
renovate[bot]
665f746165 Update artifact actions (major) (major) (#37788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 15:06:12 +00:00
renovate[bot]
da91639b43 Update twk3/rollup-size-compare-action action to v1.2.0 (#37787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 14:52:08 +00:00
renovate[bot]
c1b945425c Update peter-evans/create-pull-request action to v8 (#37783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 14:11:10 +00:00
renovate[bot]
624c25edd8 Update actions/cache action to v5 (#37781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 14:11:06 +00:00
renovate[bot]
c0f809cb5b Update actions/checkout action to v6 (#37782)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 13:57:47 +00:00
Echo
b4fb25643a Fix: Changes to pins update immediately (#37765) 2026-02-09 13:14:24 +00:00
Claire
d3cef82401 Refactor store_current_location before_action in OAuth::AuthorizationsController (#37779) 2026-02-09 11:05:32 +00:00
David Roetzel
b9a538e57a Pin Actions to SHA (#37764) 2026-02-09 09:58:42 +00:00
Matt Jankowski
3f845e649b Use bundler version 4.0.6 (#37745) 2026-02-09 09:43:28 +00:00
github-actions[bot]
6ec4bd5927 New Crowdin Translations (automated) (#37767)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-09 09:04:32 +00:00
renovate[bot]
77bc8f7aac Update dependency @types/react to v18.3.28 (#37777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 09:04:25 +00:00
renovate[bot]
08f9af986b Update dependency dotenv to v17.2.4 (#37753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 08:58:21 +00:00
renovate[bot]
1dbf69d78f Update dependency oj to v3.16.15 (#37757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 08:58:13 +00:00
renovate[bot]
08003ba6b9 Update dependency postcss-preset-env to v11.1.3 (#37758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 08:57:49 +00:00
Echo
2e30044a37 Profile redesign: Pinned posts (#37761)
Co-authored-by: diondiondion <mail@diondiondion.com>
2026-02-06 14:53:34 +00:00
Echo
1310628a60 Bust relationship cache key (#37760) 2026-02-06 14:36:12 +00:00
diondiondion
7e27ba990e Move account search into hook (#37762) 2026-02-06 13:08:29 +00:00
diondiondion
2768ab77e5 Add new components Combobox and EmptyState (#37748) 2026-02-06 12:51:27 +00:00
Claire
5b24f4097d Fix processing of object updates with duplicate hashtags (#37756) 2026-02-06 10:09:42 +00:00
github-actions[bot]
b1d4459267 New Crowdin Translations (automated) (#37755)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-06 09:52:28 +00:00
Itoh Shimon
96de28dd6f Enable coexistence of horizontal and vertical posts (#37204) 2026-02-06 09:51:22 +00:00
Echo
7a4945c0d3 Show mute end date in badge (#37747) 2026-02-05 20:01:28 +00:00
Matt Jankowski
acdd0b33a3 Pre-update some config file no-op changes from 8.1 branch (#37746) 2026-02-05 16:40:18 +00:00
renovate[bot]
da4a1495d8 Update dependency oj to v3.16.14 (#37736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 16:34:30 +00:00
Matt Jankowski
af5ce5dad9 Use validation matchers for DomainValidator spec (#37662) 2026-02-05 15:55:31 +00:00
Shlee
ecdc7ff3f9 Add defensive check to AfterUnallowDomainService (#37744)
Co-authored-by: Your Name <you@example.com>
2026-02-05 14:13:56 +00:00
Echo
d2dca826dd Cancel quote button appearing in all statuses (#37742) 2026-02-05 12:58:00 +00:00
Matt Jankowski
f652c54c33 Update devise to version 5.0 (#37419) 2026-02-05 11:05:32 +00:00
David Roetzel
9cd94168b3 Federate Remove when collection is deleted (#37741) 2026-02-05 10:33:39 +00:00
Matt Jankowski
ffb84ea79d Remove bin/bundle stub for bundler (#37461) 2026-02-05 10:29:41 +00:00
renovate[bot]
c53c42b650 Update dependency @vitejs/plugin-react to v5.1.3 (#37698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 10:27:13 +00:00
renovate[bot]
e24a19f8bf Update dependency jsdom to v28 (#37697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 10:23:08 +00:00
github-actions[bot]
ed649fbdb7 New Crowdin Translations (automated) (#37740)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-05 10:08:56 +00:00
Matt Jankowski
e82eb2b037 Convert admin/confirmations spec controller->request/system (#37738) 2026-02-05 10:04:10 +00:00
renovate[bot]
8a65965ded Update dependency brakeman to v8.0.2 (#37728)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 09:56:45 +00:00
renovate[bot]
6f47a7709e Update dependency test-prof to v1.5.2 (#37726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 09:56:38 +00:00
renovate[bot]
8949ef57aa Update dependency kt-paperclip to v7.3.0 (#37689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 09:56:33 +00:00
David Roetzel
73206856c5 Refactor activity serialization (#37678) 2026-02-05 09:39:27 +00:00
diondiondion
8ebe2e673e Split collection editor into dedicated routes (#37731) 2026-02-04 17:45:41 +00:00
Matt Jankowski
0d6fc8026d Convert auth/confirmations spec controller->request (#37735) 2026-02-04 17:42:50 +00:00
github-actions[bot]
015d88b4c6 New Crowdin Translations (automated) (#37733)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-04 17:03:08 +00:00
Echo
7f53a77fa3 Refactors header from Status component (#37732) 2026-02-04 13:12:21 +00:00
Valtteri Laitinen
ee631bf826 Make “Following” correctly translatable (#37671) 2026-02-04 10:56:33 +00:00
Matt Jankowski
4f99b48e8e Convert admin/accounts controller->request specs (#37727) 2026-02-04 10:42:34 +00:00
renovate[bot]
a7aa52c7ef Update dependency aws-sdk-core to v3.242.0 (#37711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 09:02:40 +00:00
renovate[bot]
7d4f5ec8e6 Update dependency devise-two-factor to v6.4.0 (#37708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 08:55:24 +00:00
github-actions[bot]
1cb3b49537 New Crowdin Translations (automated) (#37729)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-04 08:48:44 +00:00
Claire
c48634cf5f Bump version to v4.5.6 (#37722) 2026-02-03 14:28:23 +00:00
Claire
629125cc3d Merge commit from fork 2026-02-03 14:59:53 +01:00
Echo
0923e2cb26 Profile redesign: Fields iteration (#37682) 2026-02-03 13:02:33 +00:00
Echo
346ca87ee8 Profile redesign: Follow button and menu reorg (#37707) 2026-02-03 11:33:20 +00:00
diondiondion
218ca36653 Add components TextInput, TextArea, and FormStack (#37705) 2026-02-03 10:02:13 +00:00
github-actions[bot]
c1272c4b68 New Crowdin Translations (automated) (#37714)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-03 09:29:43 +00:00
diondiondion
ceb4a878fb Add Select component (#37702) 2026-02-02 17:31:34 +00:00
David Roetzel
6188de3efc Add ActivityPub serializer specs (#37706) 2026-02-02 16:47:42 +00:00
Matt Jankowski
9de54635ed Add coverage for "too many IDs" scenario in api/v1/statuses (#37699) 2026-02-02 15:11:15 +00:00
renovate[bot]
d0cd436ac9 Update dependency pg to v8.18.0 (#37686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-02 14:45:04 +00:00
ahxxm
c6f5315aa9 Add text-autospace to status content (#37694) 2026-02-02 14:03:55 +00:00
diondiondion
29e5532870 Add components RadioButton and Fieldset (#37685) 2026-02-02 13:26:31 +00:00
renovate[bot]
69351b3b74 Update dependency aws-sdk-s3 to v1.213.0 (#37656)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-02 10:27:59 +00:00
renovate[bot]
b3086ffbf3 Update dependency annotaterb to v4.21.0 (#37672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-02 10:27:53 +00:00
renovate[bot]
89be2030d4 Update dependency brakeman to v8 (#37673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-02 10:27:38 +00:00
Echo
1100035af4 Profile redesign: Additional badges (#37683) 2026-02-02 10:23:08 +00:00
renovate[bot]
65ccf89bfc Update dependency pg-connection-string to v2.11.0 (#37687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-02 10:02:01 +00:00
github-actions[bot]
6bf2b27b5b New Crowdin Translations (automated) (#37688)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-02 09:39:24 +00:00
diondiondion
a7a33ef6bc Adds new Checkbox and CheckboxField components (#37665) 2026-01-30 14:44:28 +00:00
Claire
a75790143c Change bundlesize-compare workflow to compare with the result of the merge (#37680) 2026-01-30 13:59:54 +00:00
github-actions[bot]
6a5578a0db New Crowdin Translations (automated) (#37668)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-30 10:09:15 +00:00
Claire
3f16c48838 Fix connection recycling pushing symbols to connection pool (#37674) 2026-01-30 09:59:04 +00:00
Echo
0688e64a0b Fix instance api account merging (#37666) 2026-01-30 09:30:22 +00:00
Claire
0997ae0627 Clear affected relationship cache on Move activities (#37664) 2026-01-30 09:15:22 +00:00
Matt Jankowski
d0502ac3c1 Use "namespace style" for URL generation in admin/ area forms (#35080) 2026-01-29 15:56:10 +00:00
Daniel King
d5d57ac25a Add flag to preserve cached media on cleanup (#36200)
Co-authored-by: Daniel King <git@kin.gy>
2026-01-29 15:53:51 +00:00
renovate[bot]
0196c12e7f Update dependency dotenv to v17 (#35216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2026-01-29 14:48:09 +00:00
diondiondion
6f53b0b634 Implement editing collection settings and deleting collections (#37658) 2026-01-29 11:01:40 +00:00
github-actions[bot]
21f8fc808e New Crowdin Translations (automated) (#37655)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-29 10:59:30 +00:00
renovate[bot]
2cea3ccba0 Update dependency axios to v1.13.4 (#37640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 10:14:44 +00:00
Matt Jankowski
23148dc536 Update rubocop to version 1.8.40 (#37628) 2026-01-29 10:14:14 +00:00
Claire
bc3871f992 Fix followers with profile subscription (bell icon) being notified of post edits (#37646) 2026-01-29 09:38:57 +00:00
diondiondion
2427e14446 Add initial collections editor page (#37643) 2026-01-29 09:06:49 +00:00
Echo
8a42689268 Prevent account note from appearing on your own profile (#37653) 2026-01-29 09:02:42 +00:00
Echo
9079a75574 Profile redesign: Featured tags (#37645) 2026-01-29 09:01:36 +00:00
Tan, Kian-ting
8efcdc04eb Add nan-TW to interface languages (#34923) 2026-01-28 17:56:29 +00:00
Claire
a6883242e3 Remove unused nan locale files (replaced by nan-TW) (#37650) 2026-01-28 16:32:19 +00:00
github-actions[bot]
42dfd6c031 New Crowdin Translations (automated) (#37647)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-28 16:04:42 +00:00
Matt Jankowski
14ca5d0e6b Use collection partial for rule translation in signup flow (#35932) 2026-01-28 14:05:02 +00:00
Claire
a495a0cbfc Fix avatar and header descriptions being returned for suspended accounts (#37641) 2026-01-28 11:06:30 +00:00
Matt Jankowski
f861a5cee0 Add action_logs association for account (#36022) 2026-01-28 11:04:00 +00:00
Matt Jankowski
c1626486bc Group classes in media proxy rescue_from declaration (#37304) 2026-01-28 10:52:31 +00:00
Echo
6a995decb8 Experiment with adding a bundle comparison tool (#37630) 2026-01-28 10:33:31 +00:00
PGray
f1c00feb5c Fix quote cancel button not appearing after edit then delete-and-redraft (#37066) 2026-01-28 10:33:04 +00:00
Echo
ec76288dff Profile redesign: Timeline filters (#37626) 2026-01-28 10:17:32 +00:00
Echo
3f46034039 Tags component (#37638) 2026-01-28 10:17:11 +00:00
Shlee
d438161b9b Unclosed connection leak when replacing pooled connection in SharedTimedStack.try_create (#37335) 2026-01-28 10:14:03 +00:00
Claire
6af4696c70 Add backend support for storing remote actors profile pic and header descriptions (#37634) 2026-01-28 09:32:59 +00:00
Matt Jankowski
1ae6b52c47 Reduce oauth/authorizations monkey-patch size (#37615) 2026-01-28 09:29:59 +00:00
github-actions[bot]
8ba87ef568 New Crowdin Translations (automated) (#37639)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-28 09:25:20 +00:00
renovate[bot]
17533cba12 Update dependency simple-navigation to v4.4.1 (#37622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-28 09:07:42 +00:00
renovate[bot]
5a05c97749 Update dependency test-prof to v1.5.1 (#37629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-28 09:06:56 +00:00
Claire
7af5ba271d Fix error when encountering invalid tag in updated object (#37635) 2026-01-27 16:01:22 +00:00
Claire
a20519d671 Clean up arg handling for notification worker (#37587) 2026-01-27 15:59:51 +00:00
Matt Jankowski
48c102aabe Use validation matchers for DateOfBirthValidator spec (#37631) 2026-01-27 15:36:55 +00:00
Echo
34f0482ad4 Profile redesign: Account notes (#37593) 2026-01-27 15:34:09 +00:00
Echo
c0616bcab6 Profile redesign: Username update (#37627) 2026-01-27 15:03:52 +00:00
Echo
7a7c42b50c Makes bundle visualizer output JSON when in CI (#37633) 2026-01-27 15:03:00 +00:00
Echo
76ab866d93 Deprecate need for revert-layer CSS (#37632) 2026-01-27 14:45:35 +00:00
Claire
9ea64fcb5a Fix last_status_at not accurately tracking last status time for remote accounts (#37619) 2026-01-27 13:23:12 +00:00
Matt Jankowski
a28ccf2950 Use validation matchers for PollExpirationValidator spec (#37616) 2026-01-27 12:54:50 +00:00
David Roetzel
1d4c2c5670 Federate creation of collections (#37618) 2026-01-27 10:52:54 +00:00
Matt Jankowski
aa347708f5 Convert oauth/authorized_applications spec controller->request (#37614) 2026-01-27 10:44:24 +00:00
renovate[bot]
142714cd1e Update dependency pino to v10.3.0 (#37588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 10:21:44 +00:00
Matt Jankowski
604bed2930 Convert oauth/authorizations spec controller->request (#37613) 2026-01-27 10:20:25 +00:00
Matt Jankowski
634ff77d82 Convert settings/aliases spec controller->system (#37617) 2026-01-27 10:18:07 +00:00
Claire
73fc40993b Fix filtering of mentions from filtered-on-their-origin-server accounts (#37583) 2026-01-27 09:53:21 +00:00
renovate[bot]
cd7ffb5a10 Update dependency hiredis-client to v0.26.4 (#37610)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 09:53:16 +00:00
renovate[bot]
f1e0d81d03 Update dependency postcss-preset-env to v11.1.2 (#37609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 09:53:13 +00:00
renovate[bot]
60e5e7e097 Update dependency axios to v1.13.3 (#37608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 09:53:10 +00:00
github-actions[bot]
6a73618f3d New Crowdin Translations (automated) (#37621)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-27 09:52:41 +00:00
renovate[bot]
89c1b9a8fd Update dependency devise-two-factor to v6.3.1 (#37430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-26 10:44:13 +00:00
github-actions[bot]
e317645ed9 New Crowdin Translations (automated) (#37598)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-26 10:10:31 +00:00
Matt Jankowski
24fb3e8465 Use collection render on admin dashboard system checks (#35976) 2026-01-26 09:43:30 +00:00
Matt Jankowski
876ccfe0a3 Use Report#local? delegation more broadly (#37596) 2026-01-26 09:43:21 +00:00
Matt Jankowski
f7a2e5c715 Use validation matchers for InstanceModerationNote spec (#37597) 2026-01-26 09:42:55 +00:00
renovate[bot]
2edcb234e0 Update dependency vite-tsconfig-paths to v6.0.5 (#37446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-26 09:32:30 +00:00
Claire
1b748eaeb0 Fix irrelevant accounts being passed through silenced_account_ids to DistributionWorker (#37589) 2026-01-26 09:26:19 +00:00
Michael Stanclift
7022572011 Change 'anyone can quote' label to 'quotes allowed' (#37427) 2026-01-26 08:50:35 +00:00
Matt Jankowski
29ec2cd186 Add targeted_account_notes association to simplify usage (#35540) 2026-01-23 16:35:19 +00:00
renovate[bot]
c36db57ace Update dependency faker to v3.6.0 (#37575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 16:20:33 +00:00
Echo
c1414f1161 Callout component (#37590) 2026-01-23 15:53:48 +00:00
diondiondion
a1acf8f4bc Add "My collections" page (#37552) 2026-01-23 13:51:39 +00:00
Claire
d05df5c197 Fix quote cache invalidation (#37592) 2026-01-23 13:35:43 +00:00
renovate[bot]
93bda9c76d Update dependency core-js to v3.48.0 (#37574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 13:15:39 +00:00
David Roetzel
c5c70311d8 Return empty array when requesting collections of an account that blocked you (#37591) 2026-01-23 13:11:57 +00:00
Echo
0a0e253614 Toggle component (#37582) 2026-01-23 12:20:56 +00:00
renovate[bot]
53c620ba69 Update dependency lodash to v4.17.23 [SECURITY] (#37572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 11:08:39 +00:00
renovate[bot]
e203795ebd Update dependency cors to v2.8.6 (#37579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 10:59:52 +00:00
renovate[bot]
6a1afa2580 Update dependency sass to v1.97.3 (#37573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 10:57:10 +00:00
Echo
ad735d350c Set up modes for Chromatic (#37586) 2026-01-23 10:44:15 +00:00
David Roetzel
de63b61943 Change Collections API shape (#37580) 2026-01-23 10:22:37 +00:00
github-actions[bot]
e12f39aa04 New Crowdin Translations (automated) (#37584)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-23 09:19:24 +00:00
renovate[bot]
1835ce357e Update dependency stylelint to v17 (#37509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 16:10:53 +00:00
diondiondion
0924171c0f Add form field components: TextInputField, TextAreaField, SelectField (#37578) 2026-01-22 16:08:57 +00:00
Shlee
1809048105 Safefy: Updated Admin::AccountDeletionWorker to match AccountDeletionWorker (#37577) 2026-01-22 16:01:44 +00:00
renovate[bot]
3806d15d99 Update dependency pg to v8.17.2 (#37557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 15:00:53 +00:00
Matt Jankowski
157d8c0d99 Remove deprecated usage of imagemagick (#37488) 2026-01-22 14:57:19 +00:00
github-actions[bot]
3a84b73d80 New Crowdin Translations (automated) (#37569)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-22 14:26:33 +00:00
Matt Jankowski
7b9479239a Typo fix in federation document (#37564) 2026-01-22 13:59:36 +00:00
renovate[bot]
8dcd388189 Update dependency aws-sdk-s3 to v1.212.0 (#37536)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 13:50:59 +00:00
renovate[bot]
52ca91c43d Update dependency pg-connection-string to v2.10.1 (#37558)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 13:50:23 +00:00
Claire
958103368e Shorten caching of quote posts pending approval (#37570) 2026-01-22 12:38:00 +00:00
Echo
42b2fdb0ac Re-download Material Icons (#37571) 2026-01-22 12:04:15 +00:00
Matt Jankowski
562ea656f4 Add coverage for TagManager#normalize_domain (#35994) 2026-01-21 16:11:38 +00:00
nicole mikołajczyk
3219373d56 Add profile field limits to instance serializer (#37535) 2026-01-21 16:01:33 +00:00
Echo
6897475f9b Adds theming to Storybook (#37562) 2026-01-21 15:54:52 +00:00
renovate[bot]
22e438d7bd Update dependency @csstools/stylelint-formatter-github to v2 (#37515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-21 14:14:48 +00:00
github-actions[bot]
1468f94509 New Crowdin Translations (automated) (#37555)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-21 13:08:16 +00:00
Echo
e79d51ce19 Profile redesign: verified badges (#37538) 2026-01-21 13:08:08 +00:00
renovate[bot]
5d82d48af3 Update dependency stylelint-config-standard-scss to v17 (#37511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-21 12:31:35 +00:00
renovate[bot]
24ffa00bca Update dependency pino to v10.2.1 (#37543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-21 12:31:19 +00:00
David Roetzel
783504f36a Do not return undiscoverable collections (#37560) 2026-01-21 12:30:07 +00:00
Claire
e7c6600d83 Fix cross-server conversation tracking (#37559) 2026-01-21 12:02:41 +00:00
David Roetzel
e65103bd3d Fix rendering of initial state when collections feature is enabled (#37556) 2026-01-21 09:18:16 +00:00
Echo
22ec368574 Profile redesign: Badges (#37550) 2026-01-20 15:15:49 +00:00
Claire
400c1f3e8e Bump version to v4.5.5 (#37551) 2026-01-20 15:00:10 +00:00
Claire
028e76f770 Merge commit from fork
* Add limit on inbox payload size

The 1MB limit is consistent with the limit we use when fetching remote resources

* Add limit to number of options from federated polls

* Add a limit to the number of federated profile fields

* Add limit on federated username length

* Add hard limits for federated display name and account bio

* Add hard limits for `alsoKnownAs` and `attributionDomains`

* Add hard limit on federated custom emoji shortcode

* Highlight most destructive limits and expand on their reasoning
2026-01-20 15:14:45 +01:00
Claire
841dfce9f7 Merge commit from fork 2026-01-20 15:13:43 +01:00
Claire
7a0d3d3bf8 Merge commit from fork 2026-01-20 15:13:10 +01:00
Claire
c2f776b747 Merge commit from fork 2026-01-20 15:10:38 +01:00
David Roetzel
7cdc05b9a8 Add language attribute to collections (#37549) 2026-01-20 13:22:54 +00:00
Echo
a1c17fef3a Profile redesign: Account name (#37527) 2026-01-20 11:10:46 +00:00
diondiondion
fa9b905fdf Improve apiRequest helper types (#37544) 2026-01-20 11:04:06 +00:00
github-actions[bot]
8ff7662918 New Crowdin Translations (automated) (#37545)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-20 08:31:49 +00:00
David Roetzel
51224bb437 Add "featured collections" collection to actors (#37512) 2026-01-20 08:27:05 +00:00
Matt Jankowski
ad77ee7f8b Add coverage for misc "policy" classes (#37525) 2026-01-19 15:53:52 +00:00
Claire
220115757d Fix potential duplicate handling of quote accept/reject/delete (#37537) 2026-01-19 13:47:27 +00:00
Claire
9b6500f74a Skip tombstone creation on deleting from 404 (#37533) 2026-01-19 10:36:58 +00:00
github-actions[bot]
e4c6130f77 New Crowdin Translations (automated) (#37532)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-19 09:40:47 +00:00
renovate[bot]
fd78aa9eab Update dependency haml_lint to v0.69.0 (#37531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-19 09:23:01 +00:00
renovate[bot]
4339f0ea71 Update dependency ioredis to v5.9.2 (#37510)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-19 09:22:42 +00:00
renovate[bot]
f05e76e591 Update dependency postcss-preset-env to v11.1.1 (#37508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-19 09:22:35 +00:00
Claire
cc3c7ba532 Fix system theme being included twice (#37526) 2026-01-16 15:55:16 +00:00
renovate[bot]
e21cb9f0d0 Update dependency pg to v8.17.1 (#37494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 15:43:36 +00:00
Claire
5727b866b1 Fix error pages not using the new theming infrastructure (#37524) 2026-01-16 14:44:58 +00:00
renovate[bot]
a9bdf5eef9 Update dependency pg-connection-string to v2.10.0 (#37495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 14:35:51 +00:00
renovate[bot]
5b5b00055e Update dependency pino to v10.2.0 (#37507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 14:35:42 +00:00
diondiondion
e715bb5075 Add high-contrast styles to common stylesheet (#37523) 2026-01-16 13:57:48 +00:00
Echo
047338e684 Profile fields redesign (#37513) 2026-01-16 12:44:49 +00:00
Claire
918563704f Update the “embedded” styling to the new theme infrastructure (#37520) 2026-01-16 10:28:50 +00:00
Claire
e58084a85f Update theme_color_tags helper for new theme infrastructure (#37519) 2026-01-16 10:00:04 +00:00
David Roetzel
be00db4fa3 Use snowflake ids for collections and their items (#37514) 2026-01-16 09:49:53 +00:00
github-actions[bot]
0d9fcb59a4 New Crowdin Translations (automated) (#37517)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-16 09:17:56 +00:00
Heath Dutton🕴️
93f5ed0fce Fix directory showing load more button when no more profiles exist (#37465) 2026-01-15 17:02:17 +00:00
diondiondion
bc2f8a358f Enable theming via new HTML element attributes (#37477) 2026-01-15 16:04:27 +00:00
Echo
c09fbeb32f MiniCard and MiniCardList components (#37479) 2026-01-15 13:53:42 +00:00
Echo
f2fb232e37 Account header split up (#37490) 2026-01-15 13:45:30 +00:00
Claire
2a6c084aa1 Update SECURITY.md (#37506) 2026-01-15 13:17:41 +00:00
github-actions[bot]
47557f5b9e New Crowdin Translations (automated) (#37492)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-15 10:41:11 +00:00
renovate[bot]
1482a7bf20 Update dependency postcss-preset-env to v11 (#37485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-15 10:14:00 +00:00
renovate[bot]
dd52e61c24 Update opentelemetry-ruby (non-major) (#37480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-15 10:13:56 +00:00
renovate[bot]
8eff59b106 Update dependency httplog to '~> 1.8.0' (#37484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-15 10:13:53 +00:00
Claire
10de65e41c Fix FeedManager#filter_from_home error when handling a reblog of a deleted status (#37486) 2026-01-14 10:51:23 +00:00
renovate[bot]
4bdc9d5e1e Update dependency vite to v7.3.1 (#37248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 10:37:43 +00:00
renovate[bot]
5d03d5d15c Update dependency libvips to v8.18.0 (#37282)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 10:37:05 +00:00
renovate[bot]
6fdef1191a Update dependency globals to v17 (#37360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 10:35:40 +00:00
renovate[bot]
d612119b3e Update dependency thor to v1.5.0 (#37406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 10:17:40 +00:00
renovate[bot]
8390f0dbbf Update dependency rqrcode to v3.2.0 (#37431)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 10:10:52 +00:00
David Roetzel
c218849204 Add collection endpoint (#37468) 2026-01-14 10:08:29 +00:00
github-actions[bot]
2f91d9755d New Crowdin Translations (automated) (#37482)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-14 10:02:11 +00:00
renovate[bot]
ccf3ed0ddf Update Node.js to 24.13 (#37473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-14 10:02:07 +00:00
Matt Jankowski
19bc3e76ea Add spec for quote policy update change (#37474) 2026-01-13 16:21:55 +00:00
Matt Jankowski
92ad380e11 Update rubocop to version 1.82.1 (#37475) 2026-01-13 16:21:25 +00:00
Shlee
c6be114cef Non-ActivityPub Link header alternate blocks HTML ActivityPub discovery in FetchResourceService (#37439)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2026-01-13 15:47:48 +00:00
Echo
122b1592ed Add feature flag detection for profile redesign (#37472) 2026-01-13 14:17:43 +00:00
Shlee
232b9e9cc6 Fix delivery worker counting unsalvageable HTTP errors as successes (#37235) 2026-01-13 13:49:36 +00:00
renovate[bot]
d5264b3722 Update dependency aws-sdk-s3 to v1.211.0 (#37396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 13:32:11 +00:00
diondiondion
41639655ff Fix isDarkMode utility (#37470) 2026-01-13 11:06:54 +00:00
Heath Dutton🕴️
be60c4585e Fix keyboard navigation in media modal after clicking image (#37464) 2026-01-13 10:47:04 +00:00
Claire
5b54cd7f76 Add ability to include inline javascript (#37459) 2026-01-13 10:40:26 +00:00
Shlee
9b5986b36e Fix quote_approval_policy being reset to user defaults when omitted in status update (#37436) 2026-01-13 10:40:08 +00:00
Claire
9332f48abe Simplify status batch removal SQL query (#37469) 2026-01-13 10:18:26 +00:00
renovate[bot]
f8b8fa16f5 Update dependency pino to v10.1.1 (#37443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 09:18:34 +00:00
github-actions[bot]
6cb533311a New Crowdin Translations (automated) (#37466)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-13 09:14:27 +00:00
renovate[bot]
a63a0db568 Update dependency postcss-preset-env to v10.6.1 (#37457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 09:03:59 +00:00
renovate[bot]
972ed73062 Update DefinitelyTyped types (non-major) (#37456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 09:03:56 +00:00
renovate[bot]
ed17b3a7ec Update dependency use-debounce to v10.1.0 (#37432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 10:09:25 +00:00
renovate[bot]
aa3d76999d Update dependency ioredis to v5.9.1 (#37388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 10:09:04 +00:00
renovate[bot]
012c62132f Update dependency sidekiq-unique-jobs to v8.0.13 (#37408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-12 09:55:12 +00:00
github-actions[bot]
8f70cfc8b1 New Crowdin Translations (automated) (#37447)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-12 09:54:19 +00:00
Matt Jankowski
0fb4e26cfe Add details to JS browser error spec failure helpers (#37441) 2026-01-12 09:38:00 +00:00
David Roetzel
a9cfddf28e AP/AS serialization of Collections (#37434) 2026-01-12 08:39:25 +00:00
Echo
a4b8b9fe98 Fix bug with how Emojibase wasn't stripping characters (#37442) 2026-01-09 18:38:22 +00:00
Joshua Rogers
b55982cc1a Fix Vary parsing in cache control enforcement (#37426) 2026-01-09 16:21:18 +00:00
Joshua Rogers
b35b3a8bcc Fix arg order for non_matching_uri_hosts? call in QuoteRequest (#37425) 2026-01-09 16:21:05 +00:00
Joshua Rogers
48ce49260d Fix thread-unsafe ActivityPub activity dispatch (#37423) 2026-01-09 16:20:59 +00:00
Shlee
f97a015cf9 SharedConnectionPool - NoMethodError: undefined method 'site' for Integer (#37374) 2026-01-09 16:20:50 +00:00
renovate[bot]
1211bbc064 Update dependency hiredis-client to v0.26.3 (#37404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 16:20:33 +00:00
diondiondion
973fef4b69 Further clean up types for the card object (#37023) 2026-01-09 14:40:27 +00:00
Echo
628fc9b95b Emoji: Adds search (#37418)
Co-authored-by: diondiondion <mail@diondiondion.com>
2026-01-09 10:37:14 +00:00
Joshua Rogers
25053db22b Fix modal closeModal ignoreFocus payload type (#37424)
Co-authored-by: diondiondion <mail@diondiondion.com>
2026-01-08 13:22:31 +00:00
github-actions[bot]
780c6378e0 New Crowdin Translations (automated) (#37407)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-08 11:18:50 +00:00
renovate[bot]
13fcb6d2f1 Update dependency ws to v8.19.0 (#37397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-08 10:58:09 +00:00
Shlee
e0cca5c3ba Fix SignatureParser accepting duplicate parameters in HTTP Signature header (#37375)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2026-01-08 10:47:53 +00:00
Echo
de7b405e55 Video modals should not be pushed down on mobile (#37421) 2026-01-08 09:44:17 +00:00
David Roetzel
aa2110025e Fix URI generation for reblogs by accounts with numerical AP ids (#37415) 2026-01-07 15:39:22 +00:00
Claire
bdcdd539f6 Fix unnecessary downcasing of some words in moderation/settings interface (#37364) 2026-01-07 15:34:39 +00:00
renovate[bot]
f840d7bf9f Update dependency sass to v1.97.2 (#37395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-07 14:36:26 +00:00
Matt Jankowski
dd26964f1b Use bundler version 4.0.3 (#37392) 2026-01-07 14:36:21 +00:00
Claire
9fe14a3072 Bump version to v4.5.4 (#37413) 2026-01-07 13:40:06 +00:00
Claire
0f79e29188 Merge commit from fork 2026-01-07 14:15:14 +01:00
Claire
0b1b98c4f2 Merge commit from fork 2026-01-07 14:14:42 +01:00
Claire
84128e1526 Downgrade sidekiq-unique-jobs (#37402) 2026-01-07 09:00:16 +00:00
github-actions[bot]
7e634eecbc New Crowdin Translations (automated) (#37394)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-06 10:40:22 +00:00
Nicholas La Roux
fd5539084c Increase OCR spec timeout from 10 to 20 seconds to improve CI stability (#37393) 2026-01-06 09:51:57 +00:00
Claire
d9cd75400c Fix heartbeat comment not being its own event (#37389) 2026-01-06 09:50:28 +00:00
Claire
82fb2596c7 Fix posts with edited out media attachments being returned in /api/v1/accounts/:id/statuses?only_media=true (#37363) 2026-01-05 15:06:20 +00:00
renovate[bot]
2d711d63d0 Update dependency simple_form to v5.4.1 (#37387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 14:38:10 +00:00
Claire
b622f4c698 Fix custom emojis not being rendered in profile fields (#37365) 2026-01-05 14:24:59 +00:00
renovate[bot]
ad9cc10014 Update dependency vite_rails to v3.0.20 (#37380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 14:22:44 +00:00
Claire
b5bc301cbd Fix serialization of context pages (#37376) 2026-01-05 11:59:10 +00:00
Claire
f711e222dc Fix quotes with CWs but no text not having fallback link (#37361) 2026-01-05 10:35:35 +00:00
Claire
1fe737e0bd Add translation string for Webauthn key nickname (#37371) 2026-01-05 10:35:28 +00:00
Claire
e8a49bd6ae Fix outdated link target for “locked” warning (#37366) 2026-01-05 10:35:23 +00:00
github-actions[bot]
bdf490e949 New Crowdin Translations (automated) (#37378)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-05 09:56:40 +00:00
renovate[bot]
ab7293238f Update dependency public_suffix to v7.0.2 (#37385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 09:38:35 +00:00
renovate[bot]
cd980645d6 Update dependency public_suffix to v7.0.1 (#37383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 08:43:55 +00:00
renovate[bot]
e89acc2302 Update dependency irb to v1.16.0 (#37275)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 16:46:03 +00:00
renovate[bot]
628cbd2999 Update dependency postcss-preset-env to v10.6.0 (#37353)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 14:38:34 +00:00
Matt Jankowski
6628d8e769 Update “Automatic post deletion” explanation text (#37286) 2026-01-02 14:19:49 +00:00
renovate[bot]
d98a18510a Update dependency aws-sdk-s3 to v1.208.0 [SECURITY] (#37313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:54:48 +00:00
renovate[bot]
9173a81b0b Update dependency debug to v1.11.1 (#37318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:52:15 +00:00
github-actions[bot]
04f7638224 New Crowdin Translations (automated) (#37326)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-02 13:48:08 +00:00
renovate[bot]
37eb1ec84c Update dependency bufferutil to v4.1.0 (#37309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:44:14 +00:00
renovate[bot]
b2c0e0c5a7 Update dependency utf-8-validate to v6.0.6 (#37308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:38:08 +00:00
Chan Nyein Tun
54bc97cfce Hide empty padding box if no status in Wrapstodon highlighted post (#37289)
Co-authored-by: Chan Nyein Tun <29679269+channyeintun@users.noreply.github.com>
2026-01-02 13:20:11 +00:00
renovate[bot]
2b74572ebd Update dependency playwright-ruby-client to v1.57.1 (#37356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:07:31 +00:00
renovate[bot]
0afe85e967 Update dependency jsdom to v27.4.0 (#37349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:03:49 +00:00
renovate[bot]
99e16e6b21 Update dependency color_diff to v0.2 (#37331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:03:01 +00:00
renovate[bot]
5a7db6649e Update dependency strong_migrations to v2.5.2 (#37329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 12:54:00 +00:00
renovate[bot]
86a2e650aa Update dependency brakeman to v7.1.2 (#37348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 12:28:23 +00:00
renovate[bot]
334e30492e Update dependency i18n to v1.14.8 (#37337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 11:41:06 +00:00
Andy Piper
f32bed6809 Update keyboard shortcut description for direct mentions (#37347) 2026-01-02 11:15:24 +00:00
renovate[bot]
c772a8fb43 Update dependency json-schema to v6.1.0 (#37338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 11:09:10 +00:00
renovate[bot]
0f55bb6735 Update dependency sass to v1.97.1 (#37328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 11:08:48 +00:00
Claire
bc3f68b46a Fix date-related wrapstodon test failures (#37362) 2026-01-02 10:52:22 +00:00
Echo
4bae3da85c Prevents swiping when zoomed in (#37323) 2025-12-19 16:18:50 +00:00
diondiondion
a0ce77673c Add dedicated user preferences for theme mode & contrast (#37288) 2025-12-19 15:31:44 +00:00
David Roetzel
0231b6d350 Expose feature policy in API (#37322) 2025-12-19 15:20:30 +00:00
diondiondion
8d9192835d Add stub story for StatusQuoteManager / Status component (#37321) 2025-12-19 15:18:10 +00:00
David Roetzel
4e63958914 Federated "featureable in collections" preference (#37298) 2025-12-19 13:44:27 +00:00
Echo
f254b47067 Remove trailing variation selector code for legacy emojis (#37320) 2025-12-19 13:43:27 +00:00
renovate[bot]
06a5199c44 Update dependency storybook to v10.1.10 [SECURITY] (#37314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 13:41:58 +00:00
github-actions[bot]
ff005bae0b New Crowdin Translations (automated) (#37312)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-19 10:40:07 +00:00
renovate[bot]
77b685e749 Update dependency vite-tsconfig-paths to v6.0.3 (#37303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 10:07:44 +00:00
diondiondion
a505c2efd8 Fix mobile admin sidebar displaying under batch table toolbar (#37307) 2025-12-19 08:39:25 +00:00
renovate[bot]
6480e16c17 Update dependency sass to v1.97.0 (#37266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 08:13:07 +00:00
Echo
ff20ab7510 Fixes CDN domain loading (#37310) 2025-12-18 17:41:21 +00:00
Echo
ba4710debe Emoji loading fixes (#37300) 2025-12-18 16:58:44 +00:00
Claire
a8109e50fc Fix custom emojis not displaying in CWs and fav/boost notifications (#37306) 2025-12-18 16:49:03 +00:00
Claire
2a7e5fb3f7 Skip followers synchronization for accounts with 25k followers or more (#37302) 2025-12-18 14:42:47 +00:00
renovate[bot]
8bc0170c02 Update docker.io/ruby Docker tag to v3.4.8 (#37297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-18 14:42:07 +00:00
renovate[bot]
787b00813e Update dependency ruby to v3.4.8 (#37278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-18 14:41:35 +00:00
Claire
ffdf56b1e6 Fix default Admin role not including view_feeds permission (#37301) 2025-12-18 14:26:31 +00:00
Joshua Rogers
38bc7d2864 Use HTTPS when downloading unicode.org's emoji-test.txt (#37290) 2025-12-18 10:11:54 +00:00
github-actions[bot]
ed2a8c32ce New Crowdin Translations (automated) (#37293)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-18 09:20:07 +00:00
diondiondion
830ffbe2da Remove required field markers from unclearable fields in user preferences (#37291) 2025-12-18 08:58:06 +00:00
Matt Jankowski
009275e66b Use link_to for contribute translation link (#36011) 2025-12-17 15:19:21 +00:00
Echo
3d55dcdf7f Emoji: Refresh custom emoji on new (#37271) 2025-12-17 14:58:22 +00:00
Matt Jankowski
7e817f2471 Extract filter_keywords helper method for listing filter keyword groups (#35921) 2025-12-17 14:48:58 +00:00
diondiondion
c4a760d6ba Improve search menu keyboard navigation (#37255) 2025-12-17 14:42:07 +00:00
Echo
dbc5af6641 Remove rendering of custom emoji using the database (#37284) 2025-12-17 14:40:34 +00:00
diondiondion
71af094f97 Fix notifications page error in Tor browser (#37285) 2025-12-17 14:38:46 +00:00
Claire
d6a40c2891 Fix hashtag autocomplete replacing suggestion's first characters with input (#37281) 2025-12-17 14:28:53 +00:00
Nicholas La Roux
a5362a4002 Upgrade Bundler from 4.0.1 to 4.0.2 (#37283) 2025-12-17 14:06:45 +00:00
renovate[bot]
42d4753d30 Update dependency vite-tsconfig-paths to v6.0.2 (#37279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-17 13:15:05 +00:00
github-actions[bot]
8debc5760b New Crowdin Translations (automated) (#37174)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-17 11:18:17 +00:00
David Roetzel
5e8b8f9c23 Extract interaction policy class (#37277) 2025-12-17 10:12:43 +00:00
Claire
db62d70492 Change Wrapstodon switch from feature flag to admin setting (#37273) 2025-12-17 09:47:02 +00:00
Matt Jankowski
a292162c5f Mark Form::AdminSettings#persisted? as true (#35872) 2025-12-17 08:32:24 +00:00
Matt Jankowski
53be8392ec Add coverage for blocked account scenario in following/followers (#36042) 2025-12-16 16:13:03 +00:00
Echo
f118d61334 Emojis: Show in embedded statuses (#37272) 2025-12-16 16:06:59 +00:00
Matt Jankowski
95432b47eb Add coverage for user model registration time validation (#35993) 2025-12-16 15:58:39 +00:00
Matt Jankowski
dbf8d77cbb Add spec for missing username value in create account API (#37057) 2025-12-16 15:43:04 +00:00
diondiondion
e6b0cdcc83 Updates Wrapstodon footer with dedicated local server info (#37270) 2025-12-16 15:35:26 +00:00
Matt Jankowski
7e81e03531 Reduce factory creation across spec/helpers (#35527) 2025-12-16 15:26:04 +00:00
Matt Jankowski
92df1c4458 Add coverage for Account.representative from finder concern (#35996) 2025-12-16 15:05:26 +00:00
Echo
a9c84529b2 Wrapstodon: Load report data only on display (#37269) 2025-12-16 13:00:40 +00:00
diondiondion
9e97ad04d8 Fix bad contrast on disabled dropdown menu items (#37268) 2025-12-16 11:38:47 +00:00
Echo
8c2845906c Improve Redux Storybook (#37227) 2025-12-16 11:27:18 +00:00
Matt Jankowski
7230c2059f Add coverage for "domain variants" consumers (#35995) 2025-12-16 10:24:27 +00:00
Matt Jankowski
c8f608839b Use bundler version 4.0.1 (#37191) 2025-12-16 10:13:43 +00:00
Claire
550a6d4765 Add wrapstodon to initial state and show wrapstodon sidebar item on load (#37261) 2025-12-16 09:47:18 +00:00
renovate[bot]
4c679c698f Update dependency vite-tsconfig-paths to v6 (#37247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-16 09:46:39 +00:00
renovate[bot]
71821eb9c1 Update dependency tzinfo-data to v1.2025.3 (#37242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-16 09:45:59 +00:00
Claire
0801104729 Fix mentions of domain-blocked users being processed (#37257) 2025-12-16 08:49:48 +00:00
Echo
cbe1352103 Emoji: Import and use shortcode data (#37178) 2025-12-15 15:38:13 +00:00
David Roetzel
a3fa441e0c Check "featureable" policy on creation of collections (#37254) 2025-12-15 15:29:28 +00:00
diondiondion
807e1254e6 Prevent "invalid access token" error when opening Mastodon while logged out (#37256) 2025-12-15 15:24:03 +00:00
Isa S.
9d18df4f8a Add REPLICA_DB_HOST to replica_enabled helper (#37240) 2025-12-15 13:25:42 +00:00
Nicholas La Roux
09ab2829da Upgrade rubocop-rails from 2.33.4 to 2.34.2 and address related offenses (#37243) 2025-12-15 12:57:16 +00:00
Echo
5fa7654688 Fixes display names not rendering with emojis (#37251) 2025-12-15 12:54:46 +00:00
renovate[bot]
2984f377e8 Update devDependencies (non-major) (#37074)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
2025-12-15 12:53:21 +00:00
diondiondion
a9e228361c Fix badly visible focus outlines in composer (#37250) 2025-12-15 12:39:04 +00:00
renovate[bot]
d7f632f6ba Update dependency tesseract.js to v7 (#37246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-15 12:07:57 +00:00
Claire
dc4fb51e52 Increase cache duration on public shared wrapstodon page (#37249) 2025-12-15 10:19:17 +00:00
renovate[bot]
c112c6d3a2 Update Node.js to 24.12 (#37196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-15 08:03:56 +00:00
renovate[bot]
ffba47a30f Update dependency ruby-vips to v2.3.0 (#37194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-15 08:03:52 +00:00
David Roetzel
bb72ecd466 Add simple API to remove item from collection (#37225) 2025-12-15 08:03:49 +00:00
renovate[bot]
372de345d7 Update dependency sass to v1.96.0 (#37175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-15 08:03:45 +00:00
David Roetzel
1766616ebc Refactor relation preloading (#37217) 2025-12-15 07:35:46 +00:00
Claire
4af8e83c8a Fix wrapstodon not falling back to username when display name is not set (#37229) 2025-12-12 16:30:22 +00:00
diondiondion
861202fd08 Change Emoji in Wrapstodon footer 🐘 (#37226) 2025-12-12 14:31:21 +00:00
diondiondion
6821b70796 Add secondary Wrapstodon share button (#37224) 2025-12-12 13:39:56 +00:00
David Roetzel
3cc4b59b41 First draft of API to add items to a collection (#37222) 2025-12-12 13:09:55 +00:00
Claire
1e67567d8f Change HTTP Signature verification status from 401 to 503 on temporary failure to get remote actor (#37221) 2025-12-12 12:42:43 +00:00
diondiondion
b72b507584 Remember revealed archetype on future Wrapstodon visits (#37219) 2025-12-12 11:03:00 +00:00
diondiondion
8748f0812d Convert Settings class to TS (#37218) 2025-12-12 10:20:32 +00:00
Echo
e206b0d0de Wrapstodon: Add nav modal (#37210) 2025-12-12 10:11:47 +00:00
diondiondion
571c93c563 Change Wrapstodon 'About' link to point to joinmastodon.org (#37216) 2025-12-12 09:43:34 +00:00
Echo
10f232ca08 Wrapstodon: Allow dismissing banner (#37202) 2025-12-12 09:40:45 +00:00
Claire
dfbf908870 Fix wrapstodon modal closing on any click (#37209) 2025-12-11 17:49:26 +00:00
diondiondion
c06eb371e6 Add Wrapstodon footer links (#37207) 2025-12-11 17:06:26 +00:00
Emelia Smith
d730f6b0c5 Add spec for client_credentials being used with /api/v1/apps/verify_credentials (#37195) 2025-12-11 16:40:22 +00:00
Claire
addeb28292 Change wrapstodon 2025 to allow unlisted posts in top statuses (#37206) 2025-12-11 16:35:35 +00:00
Claire
5e3387539e Add image to Wrapstodon OpenGraph banner (#37205) 2025-12-11 16:22:48 +00:00
diondiondion
4323963053 Fix Wrapstodon modal scrolling not working on iOS (#37203) 2025-12-11 14:25:28 +00:00
diondiondion
5651900b89 Wrapstodon design QA tweaks (#37201) 2025-12-11 11:40:53 +00:00
renovate[bot]
d1b996b7e3 Update dependency omniauth-rails_csrf_protection to v2.0.1 (#37199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 11:12:07 +00:00
renovate[bot]
fed26a41fa Update dependency jsdom to v27.3.0 (#37165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:33:47 +00:00
Claire
37d309bcaf Fix Wrapstodon font loading by disabling inlining of fonts in Vite (#37198) 2025-12-11 10:33:15 +00:00
renovate[bot]
d25f672c50 Update dependency active_model_serializers to v0.10.16 (#37167)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:07:52 +00:00
renovate[bot]
15c9088761 Update dependency vite to v7.2.7 (#37156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:07:38 +00:00
renovate[bot]
da1505a495 Update dependency @vitejs/plugin-react to v5.1.2 (#37155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:07:30 +00:00
renovate[bot]
d1f690f50c Update dependency stoplight to v5.7.0 (#37151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 10:07:25 +00:00
Claire
da2b75bdcd Change build-releases workflow to tag images latest based on latest stable-x.y branch (#37179)
Co-authored-by: emilweth <7402764+emilweth@users.noreply.github.com>
2025-12-10 17:01:25 +00:00
David Roetzel
adf8a3601d Add service to add item to a collection (#37192) 2025-12-10 16:59:21 +00:00
Claire
d6f2a3ac8d Bump version to v4.5.3 (#37166) 2025-12-10 16:42:19 +00:00
diondiondion
c42b9f6996 Implement custom font for Wrapstodon heading (#37193) 2025-12-10 16:26:46 +00:00
Echo
76184c998c Fix issue where Wrapstodon was pushed to the bottom of the feed (#37190) 2025-12-10 15:55:12 +00:00
diondiondion
8137ce87ce Fix Wrapstodon Storybook & other Wrapstodon issues (#37189) 2025-12-10 14:07:25 +00:00
renovate[bot]
37426288d9 Update dependency postcss-preset-env to v10.5.0 (#37132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 12:53:39 +00:00
renovate[bot]
801fee7593 Update dependency test-prof to v1.5.0 (#37127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 12:53:29 +00:00
Claire
6838497fe8 Add title and description to Opengraph data for Wrapstodon share page (#37188) 2025-12-10 11:27:10 +00:00
Claire
7b8a5d42f1 Remove unused time series details from 2025 annual report (#37187) 2025-12-10 11:02:24 +00:00
diondiondion
91500a7f53 Minor Wrapstodon tweaks, add stub Storybook page (#37186) 2025-12-10 09:05:14 +00:00
diondiondion
9d81561bb2 Update Wrapstodon design (#37169) 2025-12-09 16:51:05 +00:00
Matt Jankowski
ac71771d98 Fix misc comment typos (#37183) 2025-12-09 16:09:01 +00:00
Claire
697569e5f9 Add account_id attribute to AnnualReport entity (#37182) 2025-12-09 15:59:40 +00:00
Claire
4cdcdaa7d9 Fix streaming image build after removal of .yarn (#37181) 2025-12-09 15:36:46 +00:00
Echo
9702cbb41c Fix emoji on Wrapstodon (#37177) 2025-12-09 10:36:08 +00:00
David Roetzel
ea768c17db Add counter cache to collections (#37176) 2025-12-09 10:31:35 +00:00
renovate[bot]
5347cabf3e Update dependency oj to v3.16.13 (#37135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 10:07:35 +00:00
renovate[bot]
eef40ba96b Update dependency hiredis-client to v0.26.2 (#37137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 09:47:12 +00:00
Matt Jankowski
9063c3b660 Remove yarn patch for babel-plugin-lodash, removed during Vite upgrade (#37161) 2025-12-09 09:30:57 +00:00
Matt Jankowski
e147947eb8 Add wrapstodon page spec (#37168) 2025-12-09 09:27:29 +00:00
Claire
607449336d Merge commit from fork 2025-12-08 15:44:08 +01:00
github-actions[bot]
85bf5be604 New Crowdin Translations (automated) (#37146)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-08 11:42:24 +00:00
David Roetzel
cf23f0414f Add id to collection serializers (#37157) 2025-12-08 11:40:17 +00:00
David Roetzel
55becaa1b5 Preload tag to prevent n+1 (#37154) 2025-12-08 10:30:10 +00:00
David Roetzel
8625721805 Draft API to get all collections by an account (#37139) 2025-12-08 08:56:13 +00:00
Matt Jankowski
7fe3e80758 Rely on locale for options order in DOB input (#36895) 2025-12-05 15:21:22 +00:00
Claire
1ae3b4672b Fix “Delete and Redraft” on a non-quote being treated as a quote post in some cases (#37140) 2025-12-05 15:17:48 +00:00
Echo
007ae588d8 Fix incorrect date for Wrapstodon start (#37138) 2025-12-05 14:12:26 +00:00
diondiondion
ce22c835ac Increase maximum height of media items on desktop (#37136) 2025-12-05 13:39:48 +00:00
Claire
9b851616fe Remove more unused data from 2025 annual reports (#37134) 2025-12-05 13:36:37 +00:00
diondiondion
591776d7ad Fix inversion of emoji colours based on dark/light mode (#37120) 2025-12-05 10:08:59 +00:00
renovate[bot]
7f1f3236c6 Update opentelemetry-ruby (non-major) (#37101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 09:57:18 +00:00
renovate[bot]
852727a226 Update dependency aws-sdk-s3 to v1.206.0 (#37100)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 09:57:02 +00:00
github-actions[bot]
429d6bcab4 New Crowdin Translations (automated) (#37131)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-05 09:43:12 +00:00
renovate[bot]
e47a5dd1c2 Update dependency faker to v3.5.3 (#37099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 09:22:32 +00:00
renovate[bot]
4ec761debd Update dependency sidekiq to v8.0.10 (#37090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 09:20:54 +00:00
renovate[bot]
d895ea3433 Update dependency vite to v7.2.6 (#37076)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 09:20:45 +00:00
renovate[bot]
49105a28a3 Update eslint (non-major) (#36801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 09:20:34 +00:00
renovate[bot]
1cb650d107 Update dependency jsdom to v27.2.0 (#36845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 09:20:17 +00:00
Echo
46f3b39fae Fixes YouTube embeds (#37126) 2025-12-04 16:27:20 +00:00
diondiondion
65b216353e Handle dark/light/contrast theme modes in common CSS (#37095) 2025-12-04 15:56:35 +00:00
Echo
0dac31dfd5 Create new entrypoint for sharable Wrapstodon (#37121) 2025-12-04 15:48:10 +00:00
David Roetzel
75b9e9a8b0 Enable missing before actions in Collection API (#37122) 2025-12-04 15:35:47 +00:00
Claire
88aed3c11a Fix streamed quoted polls not being hydrated correctly (#37118) 2025-12-04 14:10:48 +00:00
David Roetzel
9921fa1af7 First draft API to delete collections (#37117) 2025-12-04 13:47:23 +00:00
David Roetzel
5a7a4fff11 First draft of Collection update API (#37110) 2025-12-04 10:00:21 +00:00
github-actions[bot]
9cf52fb976 New Crowdin Translations (automated) (#37115)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-04 09:19:08 +00:00
renovate[bot]
baef5b1659 Update dependency @optimize-lodash/rollup-plugin to v6 (#37062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 09:16:13 +00:00
Matt Jankowski
832d8c7397 Use thread support helper in concurrent insert tag spec (#37112) 2025-12-04 09:11:53 +00:00
Matt Jankowski
d063af2594 Add coverage for array vs string in Tag.find_or_create_by (#37113) 2025-12-04 08:46:24 +00:00
Echo
31c392b1bc Wrapstodon modal with new share button (#37109) 2025-12-03 16:25:36 +00:00
diondiondion
498e88f059 Fix color contrast issues caused by new theme tokens (#37105) 2025-12-03 15:43:26 +00:00
Matt Jankowski
7c730e9041 Use normalizes API for Tag display_name value (#35797) 2025-12-03 15:39:01 +00:00
Matt Jankowski
b3b5bf26d1 Remove duplicate set_locale around action in auth/registrations (#36455) 2025-12-03 15:34:10 +00:00
David Roetzel
4e6d1892b9 Fix creation of duplicate conversations (#37108) 2025-12-03 14:33:27 +00:00
Echo
e5e3a64a9b Display Wrapstodon inline widget (#37106) 2025-12-03 13:58:38 +00:00
Echo
234990cc37 Remove noreferrer from external links (#37107) 2025-12-03 13:54:58 +00:00
Claire
08da9d8fc5 Fix serialization of annual reports with share code (#37104) 2025-12-03 13:05:33 +00:00
Claire
c97d25fcbd Fix serialization of 2025 wrapstodon reports (#37103) 2025-12-03 12:53:16 +00:00
renovate[bot]
e222664539 Update DefinitelyTyped types (non-major) (#37073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-03 11:17:01 +00:00
renovate[bot]
9d10137c7c Update dependency bundler-audit to v0.9.3 (#37061)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-03 11:15:47 +00:00
Claire
5d84957117 Add shareable wrapstodon links (#37047) 2025-12-03 11:00:41 +00:00
github-actions[bot]
954f397743 New Crowdin Translations (automated) (#37098)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-03 10:11:20 +00:00
Claire
73294e2561 Fix typo in AsyncRefresh ID for GenerateAnnualReportWorker (#37096) 2025-12-03 08:31:14 +00:00
renovate[bot]
f393ff93cb Update dependency @optimize-lodash/rollup-plugin to v5.1.0 (#37039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 13:45:33 +00:00
renovate[bot]
9c3b41f0a4 Update dependency vite-plugin-pwa to v1.2.0 (#37040)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 13:45:27 +00:00
renovate[bot]
e45ecc7d13 Update dependency express to v5.2.0 [SECURITY] (#37089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 13:43:46 +00:00
Claire
f8422e1fa4 Add API for on-demand generation of annual reports (#37055) 2025-12-02 13:37:05 +00:00
diondiondion
9aec6936e5 Add Wrapstodon timeline announcement component (#37093) 2025-12-02 11:36:20 +00:00
Claire
2b25b65972 Add missing translations for web push notifications (#37078) 2025-12-02 10:52:08 +00:00
Echo
100b20f290 Add UJS to buttons (#37091) 2025-12-02 10:35:29 +00:00
Echo
c5c8100d02 Emoji: Update emoji categories with featured emoji (#37084) 2025-12-02 10:30:08 +00:00
github-actions[bot]
2e5744e8c6 New Crowdin Translations (automated) (#37088)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-02 10:20:40 +00:00
David Roetzel
2d203ca72a First draft of API to get a single collection (#37053) 2025-12-01 15:04:52 +00:00
Christian Oelschlegel
1f9ddb7cf6 fix(tag): prevent dupl. tags on concurrent inserts (#35792)
Co-authored-by: Christian Oelschlegel <oelschle@sciphy.de>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-12-01 14:56:52 +00:00
Echo
048746e56b Hide domain for local emojis in admin (#37080) 2025-12-01 14:24:24 +00:00
diondiondion
f5d6f60ca7 Ensure all pages have a solid background color (#37081) 2025-12-01 14:16:27 +00:00
Claire
e5651e7e04 Make settings-related database migrations more robust (#37079) 2025-12-01 14:11:49 +00:00
Claire
edfbcfb3f5 Fix error handling when re-fetching already-known statuses (#37077) 2025-12-01 10:52:06 +00:00
github-actions[bot]
f562ad9f67 New Crowdin Translations (automated) (#37063)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-12-01 09:42:49 +00:00
diondiondion
9334bd9ede Don't reset scroll when using hotkeys to focus columns, add hotkey 0 to scroll to top (#37052) 2025-11-28 16:19:23 +00:00
Claire
801672e3cb Add method to quickly test for AnnualReport account eligibility (#37045) 2025-11-28 16:19:23 +00:00
diondiondion
92278796c3 Remove theme_tokens feature flag & make new styles the default (#37056) 2025-11-28 15:58:46 +00:00
diondiondion
37ccffa95a Fix current item in pagination not highlighted with new theme tokens (#37054) 2025-11-28 14:45:38 +00:00
Echo
84ffb107c3 Adjust Chromatic to run conditionally (#37050) 2025-11-28 13:37:04 +00:00
David Roetzel
f896bbac3b Draft API to create Collections (#37049) 2025-11-28 13:30:43 +00:00
github-actions[bot]
6b38352b17 New Crowdin Translations (automated) (#37042)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-28 10:44:50 +00:00
diondiondion
f12f198f61 Fix post navigation in single-column mode when Advanced UI is enabled (#37044) 2025-11-28 10:05:54 +00:00
Claire
e0912c1729 Fix Card component using incorrect punycode module (#37043) 2025-11-28 09:50:37 +00:00
Claire
945ef5a8e1 Remove unused data from 2025 annual reports (#37033) 2025-11-28 08:58:34 +00:00
diondiondion
5f33ac208f Limit height of tall images in posts (#37035) 2025-11-27 17:05:56 +00:00
diondiondion
2bd7c855b0 Contain tall videos in full-width video container (#37032) 2025-11-27 17:05:21 +00:00
Claire
44ff2c32d3 Fix filters not applying to search results (#36346) 2025-11-27 16:23:11 +00:00
Eashwar Ranganathan
826e9d7047 Make tootctl aware of 'require approval' for email domains (#34579) 2025-11-27 15:52:59 +00:00
Echo
f07cff42c2 Fix media modal misalignment in Safari (#37034) 2025-11-27 15:27:18 +00:00
Echo
0d2e9522ff Replace Rails UJS library (#37031) 2025-11-27 13:10:55 +00:00
renovate[bot]
0004ed4c80 chore(deps): update opentelemetry-ruby (non-major) (#37016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 10:51:57 +00:00
diondiondion
07ecf648dd Remove unused bundle-related Redux actions (#37030) 2025-11-27 10:50:48 +00:00
github-actions[bot]
90466d0262 New Crowdin Translations (automated) (#37026)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-27 09:51:15 +00:00
Matt Jankowski
199376a080 Use existing time format string to generate backup archive filename (#36469) 2025-11-27 09:38:27 +00:00
diondiondion
e126cfc76d Fix error page when logging out or boosting on mobile (#37028) 2025-11-27 09:36:58 +00:00
David Roetzel
322a4fee53 First steps towards a collection creation service (#37020)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-11-27 09:36:44 +00:00
renovate[bot]
be2caba527 chore(deps): update dependency i18n-tasks to v1.1.2 (#37027)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:29:14 +00:00
renovate[bot]
002632c3bb chore(deps): update dependency aws-sdk-core to v3.239.2 (#37015)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 16:18:51 +00:00
renovate[bot]
81510455d1 chore(deps): update yarn to v4.12.0 (#36797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 16:18:48 +00:00
diondiondion
ee7e756e89 Fix null access error in card component (#37022) 2025-11-26 14:55:40 +00:00
diondiondion
f87f30c1ac Refactor Card component to TypeScript (#36982) 2025-11-26 12:56:17 +00:00
renovate[bot]
1757a0f0f3 chore(deps): update dependency public_suffix to v7 (#36920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 10:48:12 +00:00
Matt Jankowski
cb4f1cc89c Improve SessionActivation.activate spec (#36983) 2025-11-26 10:26:39 +00:00
Claire
00163e89bf Fix tootctl status remove removing quoted posts and remote quotes of local posts (#37009) 2025-11-26 10:26:26 +00:00
diondiondion
59e48657cf Fix issues in new theme tokens (#37019) 2025-11-26 10:25:49 +00:00
github-actions[bot]
384594f462 New Crowdin Translations (automated) (#37018)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-26 10:25:41 +00:00
renovate[bot]
cd9d166312 chore(deps): update dependency rqrcode to v3.1.1 (#37010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 09:54:11 +00:00
renovate[bot]
6f4f9942b9 chore(deps): update dependency connection_pool to v2.5.5 (#37003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 09:53:38 +00:00
David Roetzel
0725afe1a9 Collections: Add missing validations for boolean columns (#37005) 2025-11-25 14:46:50 +00:00
renovate[bot]
09697045a9 chore(deps): update dependency rails-i18n to v8.1.0 (#36992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 14:18:48 +00:00
renovate[bot]
3e77c3bc8c chore(deps): update dependency omniauth-rails_csrf_protection to v2 (#36993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 14:18:32 +00:00
renovate[bot]
bd02cd4591 chore(deps): update dependency addressable to v2.8.8 (#37002)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 14:07:06 +00:00
renovate[bot]
4ca458e0b4 chore(deps): update devdependencies (non-major) (#36802)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 13:53:23 +00:00
diondiondion
8c772028ac Replace most unsafe React lifecycle methods (#36970) 2025-11-25 13:49:45 +00:00
diondiondion
861625fdca Prevent vertical videos from overflowing the viewport (#36966) 2025-11-25 13:21:59 +00:00
renovate[bot]
ca53195b31 chore(deps): update dependency sass to v1.94.2 (#36826)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-25 13:21:25 +00:00
Claire
a26636ff1f Fix compose autosuggest always lowercasing token (#36995) 2025-11-25 13:17:44 +00:00
Claire
204143becc Increase HTTP read timeout for expensive S3 batch delete operation (#37004) 2025-11-25 10:18:34 +00:00
github-actions[bot]
f0d7ea61ef New Crowdin Translations (automated) (#37000)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-25 09:52:51 +00:00
renovate[bot]
76d8ac3fe6 chore(deps): update dependency i18n-tasks to v1.1.1 (#36997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 15:34:10 +00:00
Claire
96d5e57351 Revert "Increase HTTP read timeout for expensive S3 batch delete operation (#36971)" (#36996) 2025-11-24 13:33:37 +00:00
renovate[bot]
57bfe863f3 chore(deps): update dependency aws-sdk-core to v3.239.1 (#36955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 09:10:07 +00:00
David Roetzel
b16452dd99 Add shared context for API authentication (#36981) 2025-11-24 08:48:49 +00:00
renovate[bot]
1bc13609ab chore(deps): update dependency aws-sdk-s3 to v1.205.0 (#36956)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 08:42:56 +00:00
github-actions[bot]
e44a9c0879 New Crowdin Translations (automated) (#36984)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-24 08:08:01 +00:00
Matt Jankowski
f1bf6e6344 Remove unused from_limited? method from NotifyService (#36988) 2025-11-24 07:57:46 +00:00
Matt Jankowski
585545d0d5 Add coverage for media#player scenarios (#35947) 2025-11-21 14:46:29 +00:00
Matt Jankowski
d967137adf Remove unneeded type check on Status in og_image partial (#36980) 2025-11-21 14:29:03 +00:00
Pēteris Caune
ad7839e551 Fix the translation of "Latvian" (#36876) 2025-11-21 13:56:20 +00:00
diondiondion
8a235dd187 Refactor PrivacyDropdown to TypeScript (#36979) 2025-11-21 13:33:27 +00:00
Shugo Maeda
48fe679728 Separate remote thumbnails into cache/ directory (#36911) 2025-11-21 13:27:04 +00:00
renovate[bot]
687f3a2a01 chore(deps): update dependency vite to v7.2.4 (#36964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 11:00:29 +00:00
David Roetzel
7ffa5fa0c4 Add models to represent "Collections" (#36977) 2025-11-21 10:28:23 +00:00
github-actions[bot]
cfa4f402ef New Crowdin Translations (automated) (#36976)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-21 09:34:55 +00:00
renovate[bot]
aa131e538c chore(deps): update dependency core-js to v3.47.0 (#36931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 09:17:57 +00:00
Matt Jankowski
6151febd73 Suggest ES image version 7.17.29 in docker compose (#36972) 2025-11-21 09:16:50 +00:00
Claire
a54334b714 Increase HTTP read timeout for expensive S3 batch delete operation (#36971) 2025-11-21 08:59:07 +00:00
Claire
21ce99f746 Bump version to v4.5.2 (#36968) 2025-11-20 15:04:22 +00:00
github-actions[bot]
8e8669b5ef New Crowdin Translations (automated) (#36957)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-20 10:54:39 +00:00
Claire
a28f1d0110 Fix missing fallback link in CW-only quote posts (#36963) 2025-11-20 10:08:36 +00:00
diondiondion
f01e80bed3 Fix error when visiting non-public hashtag timelines (#36961) 2025-11-20 10:08:00 +00:00
Darius Kazemi
dc67dbba82 Remove stray Font Awesome styles (#36960) 2025-11-20 10:02:50 +00:00
Claire
bb9a633b99 Fix statuses without text disappearing on reload (#36962) 2025-11-20 09:52:53 +00:00
Echo
ea616ac4a4 Improve media modal swipe animation (#36916) 2025-11-19 15:56:24 +00:00
renovate[bot]
01b11c328c chore(deps): update dependency i18n-tasks to v1.1.0 (#36907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 15:37:02 +00:00
Claire
bc7c83ba76 Update glob dependency (#36940) 2025-11-19 15:28:57 +00:00
diondiondion
366856f3bc Fix theme-related Vite errors even when theme_tokens feature flag is disabled (#36936) 2025-11-19 12:37:15 +00:00
diondiondion
4d0aab4a31 Fix g + h keyboard shortcut not working when a post is focused (#36935) 2025-11-19 10:58:07 +00:00
Claire
c22b203bca Fix quoting overwriting current content warning (#36934) 2025-11-19 10:35:10 +00:00
renovate[bot]
52b92bdc9c chore(deps): update dependency bootsnap to '~> 1.19.0' (#36906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 10:19:49 +00:00
Matt Jankowski
4f6a7e44d1 Update rubocop-rspec to version 3.8.0 (#36853) 2025-11-19 10:14:51 +00:00
github-actions[bot]
81ffd1d3c7 New Crowdin Translations (automated) (#36933)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-19 10:09:54 +00:00
Matt Jankowski
9872197d1f Fix Rails/RedirectBackOrTo cop (#36930) 2025-11-19 09:28:43 +00:00
Claire
be0e23bb0a Fix scroll-to-status in threaded view being unreliable (#36927) 2025-11-18 16:20:50 +00:00
Claire
c820c66d3c Change private quote education modal to not show up on self-quotes (#36926) 2025-11-18 16:17:26 +00:00
Claire
b4daad8c89 Fix double encoding in links (#36925) 2025-11-18 15:37:14 +00:00
github-actions[bot]
b14f113929 New Crowdin Translations (automated) (#36922)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-18 08:22:25 +00:00
Echo
caffb0fd63 Emoji: Fix path resolution for emoji worker (#36897) 2025-11-17 15:34:18 +00:00
Matt Jankowski
53703202fb Add IpBlock#to_cidr method to build string (#35773) 2025-11-17 14:51:05 +00:00
Matt Jankowski
59fdff5dc5 Add spec for translation attempt with ineligible target language (#36813) 2025-11-17 14:13:52 +00:00
renovate[bot]
04bdfa1957 chore(deps): update dependency @vitejs/plugin-react to v5.1.1 (#36841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-17 14:12:38 +00:00
Shugo Maeda
04c566e2e9 Fix ArgumentError of tootctl upgrade storage-schema (#36914) 2025-11-17 13:34:20 +00:00
diondiondion
72c582e7e5 Fix superfluous border & spacing in domains list on the Moderation > Federation page (#36915) 2025-11-17 12:07:44 +00:00
diondiondion
284b46fee7 Implement CSS theme tokens behind feature flag (#36861) 2025-11-17 09:44:55 +00:00
github-actions[bot]
489bee8f4e New Crowdin Translations (automated) (#36898)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-17 09:33:15 +00:00
Claire
c87b052829 Fix inability to paste links (#36896) 2025-11-14 16:44:08 +00:00
github-actions[bot]
ebc99cd597 New Crowdin Translations (automated) (#36893)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-14 15:57:35 +00:00
Claire
6db4297193 Fix cross-origin handling of CSS modules (#36890) 2025-11-14 15:42:26 +00:00
renovate[bot]
bc47cba123 chore(deps): update dependency js-yaml to v4.1.1 [security] (#36891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 15:27:43 +00:00
Matt Jankowski
f8ffb85566 Use date attribute for date of birth (#36039) 2025-11-14 15:17:53 +00:00
Echo
7dbb2ac79a Remove rails delegate (#36835)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-11-14 14:18:14 +00:00
renovate[bot]
bc81e299f2 chore(deps): update dependency stoplight to v5.6.0 (#36803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 14:17:50 +00:00
renovate[bot]
277a4c80c0 chore(deps): update dependency prometheus_exporter to v2.3.1 (#36842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 14:17:38 +00:00
renovate[bot]
7be8fe6370 chore(deps): update dependency aws-sdk-core to v3.237.0 (#36823)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 14:15:56 +00:00
Jeong Arm
4ab1d5d724 Allow drag&drop of link to quote in compose form (#36859) 2025-11-14 14:14:37 +00:00
Echo
c5eca8ffb2 Fix error with remote tags including percent signs (#36886) 2025-11-14 14:11:41 +00:00
Claire
f25e066112 Fix bogus quote approval policy not always being replaced correctly (#36885) 2025-11-14 12:39:04 +00:00
Claire
6d8c43ab85 Fix hashtag completion not being inserted correctly (#36884) 2025-11-14 12:23:40 +00:00
Claire
0d7c23469b Bump version to v4.5.1 (#36872) 2025-11-14 10:43:08 +00:00
github-actions[bot]
f243a00b90 New Crowdin Translations (automated) (#36875)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-14 10:27:20 +00:00
diondiondion
6e294828d6 Fix Cmd/Ctrl + Enter in the composer triggering confirmation dialog action (#36870) 2025-11-14 09:39:42 +00:00
Claire
98c8c1ebd2 Fix error when sending new posts (#36869) 2025-11-13 15:42:14 +00:00
diondiondion
998d4cc0dc Fix Cmd/Ctrl + Enter not submitting Alt text modal on some browsers (#36866) 2025-11-13 15:35:25 +00:00
Claire
9dbebbb2ee Fix posts coming from public/hashtag streaming being marked as unquotable (#36860) 2025-11-13 12:54:28 +00:00
github-actions[bot]
3f292e0f5b New Crowdin Translations (automated) (#36858)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-13 10:18:16 +00:00
Itoh Shimon
7e7f63a2ef Use the native script for Divehi (#36254) 2025-11-12 16:58:40 +00:00
Claire
ed3710e58f Fix Update importing old previously-unknown activities and treating them as recent ones (#36848) 2025-11-12 16:09:00 +00:00
Claire
8abec0ffcb Revert "Ensure the boost button shows a numeric value (#36805)" (#36850) 2025-11-12 15:32:55 +00:00
Echo
00cbc1b910 Fix deprecation warning in Vite (#36849) 2025-11-12 14:25:25 +00:00
diondiondion
f303f3458d Fixes blank screen in browsers that don't support Intl.DisplayNames (#36847) 2025-11-12 11:11:48 +00:00
Claire
9f3573d446 Fix filters not being applied to quotes in detailed view (#36843) 2025-11-12 11:09:51 +00:00
Echo
4b1532e008 Fix duplicate counters (#36844) 2025-11-12 11:01:34 +00:00
github-actions[bot]
ff0fca018a New Crowdin Translations (automated) (#36838)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-12 10:24:50 +00:00
Echo
b5a2fe715d Revert "Fix duplicated counters (fix #32614)" (#36834) 2025-11-11 18:05:44 +00:00
renovate[bot]
11b75d616a chore(deps): update dependency aws-sdk-s3 to v1.203.1 (#36822)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-11 15:47:08 +00:00
Matt Jankowski
a002048c8c Update storybook/msw/chromatic (#36739) 2025-11-11 11:17:23 +00:00
Matt Jankowski
fa5318b333 Remove webpack hints IDE config (#36769) 2025-11-11 11:16:15 +00:00
diondiondion
b53ee04475 Fix icon buttons animating when they haven't changed (#36824) 2025-11-11 11:10:27 +00:00
xatier
84cdb6cc66 Fix duplicated counters (fix #32614) (#36785) 2025-11-11 11:02:41 +00:00
Echo
ff5d745e3d Emoji: Load emoji with hash in URL (#36808) 2025-11-11 10:03:06 +00:00
github-actions[bot]
391c77f277 New Crowdin Translations (automated) (#36820)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-11 08:38:02 +00:00
Renaud Chaput
bc5397a0db Remove the 2 PRs-per-hour Renovate limit (#36814) 2025-11-11 08:26:43 +00:00
Matt Jankowski
1c3e7545cb Add spec for translation attempt on private status (#36810) 2025-11-10 16:05:20 +00:00
diondiondion
400943cb4e Fix scroll shift caused by fetch-all-replies alerts (#36807) 2025-11-10 15:33:56 +00:00
Echo
9a42d00c12 Ensure the boost button shows a numeric value (#36805) 2025-11-10 15:10:24 +00:00
Renaud Chaput
9addad8ce5 Update to latest eslint-plugin-react-hooks (#36702)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-11-10 14:50:04 +00:00
Echo
4ddddc2573 Centers GIFs in media modal (#36806) 2025-11-10 13:21:45 +00:00
diondiondion
1280792678 Fix dropdown menu not focusing first item when opened via keyboard (#36804) 2025-11-10 11:44:10 +00:00
Matt Jankowski
63e2ca5d27 Add spec for hitting max status pins limit in pin api (#36789) 2025-11-10 10:06:47 +00:00
github-actions[bot]
b0790d828c New Crowdin Translations (automated) (#36786)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-10 10:06:07 +00:00
renovate[bot]
89b5ceb5dc chore(deps): update dependency vite to v7.2.2 (#36751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-10 09:03:33 +00:00
renovate[bot]
441eb89537 chore(deps): update dependency axios to v1.13.2 (#36726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 13:25:41 +00:00
Echo
882afd7748 Reset background color on media modal (#36782) 2025-11-07 10:44:31 +00:00
Claire
8fb06ea0ca Update dependency rollup from 4.46.2 to 4.46.4 (#36781) 2025-11-07 10:29:05 +00:00
Matt Jankowski
c7dc5767d3 Rely on puma default environment setting (#36760) 2025-11-07 10:06:22 +00:00
Matt Jankowski
6833878f95 Clarify hint for bootstrap account instructions (#36771) 2025-11-07 10:05:52 +00:00
Claire
70d71c10c8 Fix /api/v1/statuses/:id/context sometimes returing Mastodon-Async-Refresh without result_count (#36779) 2025-11-07 10:02:25 +00:00
Claire
315833cb75 Fix prepared quote not being discarded with contents when replying (#36778) 2025-11-07 09:11:10 +00:00
github-actions[bot]
dcf7fc1028 New Crowdin Translations (automated) (#36777)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-07 08:34:18 +00:00
Claire
0ace564537 Add 4.5.x to the list of supported branches (#36762) 2025-11-06 16:23:56 +00:00
Matt Jankowski
16dfa32578 Update express to version 5.1.0 (#36669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 14:46:08 +00:00
Matt Jankowski
0d48005b8a Remove legacy AR connection boot from puma config (#36757) 2025-11-06 14:36:23 +00:00
renovate[bot]
59e0ead418 chore(deps): update dependency stoplight to v5.5.0 (#36731)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 14:24:43 +00:00
renovate[bot]
76fb15dced chore(deps): update dependency aws-sdk-s3 to v1.203.0 (#36746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 14:17:04 +00:00
renovate[bot]
5d3c1cdc9b chore(deps): update libretranslate/libretranslate docker tag to v1.7.3 (#36724)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 14:03:35 +00:00
github-actions[bot]
15c33a16f7 New Crowdin Translations (automated) (#36749)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-06 13:55:37 +00:00
Claire
6f1a30c4a6 Bump version to v4.5.0 (#36754) 2025-11-06 13:24:58 +00:00
diondiondion
58b3fc0379 Refactor "New/Edit list" page to avoid setting state in effect (#36753) 2025-11-06 11:00:37 +00:00
Echo
41a4022988 Fix: correctly dismisses announcement when viewed (#36750) 2025-11-06 09:48:34 +00:00
Emelia Smith
532bb7ea3c Add systemd service file for prometheus exporter (#35130) 2025-11-06 09:25:56 +00:00
Echo
987104f435 Add default visualizer for audio upload without poster (#36734) 2025-11-05 15:33:26 +00:00
Josh Soref
50e1320c8d Improve account migration warnings (#20387)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-11-05 15:27:40 +00:00
Echo
6337e036f3 Add new ESLint rule requiring explicit button types (#36738) 2025-11-05 15:11:04 +00:00
Yurii Izorkin
1a31c412ca nginx: optimize location blocks (part 2) (#19644) 2025-11-05 15:08:16 +00:00
Claire
4a6f479535 Update changelog (#36737) 2025-11-05 14:43:22 +00:00
Renaud Chaput
15a7abd581 Resume Renovate updates for tesseract (#36705) 2025-11-05 14:25:40 +00:00
diondiondion
1b8d1cd6e4 Fix spoiler toggle button being able to submit compose form (#36736) 2025-11-05 14:00:42 +00:00
Shlee
35bd985727 Increase nginx.conf proxy_read_timeout (#30599) 2025-11-05 13:36:14 +00:00
Oneric
c0c6f5ea32 Fix Accept headers when fetching AP objects to match spec (#30354) 2025-11-05 13:32:29 +00:00
github-actions[bot]
3aeae8cafd New Crowdin Translations (automated) (#36727)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-05 13:20:34 +00:00
diondiondion
947dfcc548 Add some outer page spacing when viewport width equals content width (#36733) 2025-11-05 12:17:42 +00:00
renovate[bot]
049dcebf9a chore(deps): update devdependencies (non-major) (#36722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-05 11:37:25 +00:00
renovate[bot]
f361a2c766 chore(deps): update dependency vite to v7.2.0 (#36729)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-05 11:36:58 +00:00
renovate[bot]
d4ec991126 chore(deps): update dependency aws-sdk-s3 to v1.202.0 (#36488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-05 11:36:35 +00:00
Matt Jankowski
1f4fe91708 Relax aws-sdk-core version limit (#36719) 2025-11-05 10:43:10 +00:00
Claire
26e7fe9771 Change paste-link-to-quote loading state from generic loading bar to compose placeholder (#36695) 2025-11-04 19:20:39 +00:00
Claire
1b795c12e9 Change quote action to error instead of insert link in Private Mentions (#36721) 2025-11-04 17:58:50 +00:00
mkljczk
afd5d5c2e5 fix spelling (#35738) 2025-11-04 16:49:12 +00:00
Echo
3ab5ae1e4a Quote Posts: Add notifications for DMs and private posts (#36696) 2025-11-04 16:32:52 +00:00
Claire
4a9460f7bd Fix Skeleton placeholders being animated when setting to reduce animations is enabled (#36716) 2025-11-04 15:30:10 +00:00
renovate[bot]
e7692d0de8 chore(deps): update artifact actions (major) (major) (#36711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 15:28:26 +00:00
renovate[bot]
cc77844540 chore(deps): update github/codeql-action action to v4 (#36713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 15:28:17 +00:00
Matt Jankowski
337f16d33e Remove unused DomainControlHelper include from SignedRequest (#35856) 2025-11-04 15:27:42 +00:00
renovate[bot]
ef20dcbf95 chore(deps): update definitelytyped types (non-major) (#36706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 15:01:23 +00:00
renovate[bot]
0c101b47bf chore(deps): update dependency typescript to v5.9.3 (#36707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 14:59:42 +00:00
renovate[bot]
f221ce530b chore(deps): update actions/setup-node action to v6 (#36710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 14:30:29 +00:00
renovate[bot]
8f1c73ed99 chore(deps): update eslint (non-major) (#36708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 14:30:01 +00:00
renovate[bot]
1a698d3b35 chore(deps): update chromaui/action action to v13 (#36712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 14:29:19 +00:00
renovate[bot]
5a2edebc2b chore(deps): update actions/checkout action to v5 (#36709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 14:25:48 +00:00
Echo
90d4b3b943 Refactor: Media Modal (#36673) 2025-11-04 13:58:35 +00:00
Echo
13457111d5 Remove announcement margin when in Advanced Web Interface (#36714) 2025-11-04 13:37:34 +00:00
Claire
3a54d56fbd Fix quote dropdown menu item in detailed status view (#36704) 2025-11-04 11:01:25 +00:00
Claire
b5c550ff0b Remove option to disable access to local topic feeds for logged-in users (#36703) 2025-11-04 10:37:43 +00:00
renovate[bot]
6c176e56ee chore(deps): update dependency opentelemetry-instrumentation-pg to '~> 0.33.0' (#36701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 10:36:04 +00:00
Jeong Arm
b999a626e5 Reverse 'Hide/Show all' eye icon for thread view (#22301) 2025-11-04 10:35:50 +00:00
renovate[bot]
bb084da1f5 fix(deps): update dependency pino-http to v11 (#36359)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 10:28:30 +00:00
renovate[bot]
84e351cc3a chore(deps): update dependency shoulda-matchers to v7 (#36680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 10:21:27 +00:00
renovate[bot]
7fced55ce7 fix(deps): update dependency pino to v10 (#36357)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 09:56:12 +00:00
Matt Jankowski
8f37f9d012 Update vitest to version 4.0.5 (#36652) 2025-11-04 09:47:30 +00:00
Matt Jankowski
8e4c9cf933 Update lint-staged to version 16.2.6 (#36668) 2025-11-04 09:43:38 +00:00
Matt Jankowski
cf87da25ad Update storybook to version 10.0.2 (#36657) 2025-11-04 09:42:27 +00:00
renovate[bot]
966aaaaf56 chore(deps): update dependency sidekiq to v8.0.9 (#36699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 09:41:59 +00:00
renovate[bot]
5b880a2046 chore(deps): update dependency brakeman to v7.1.1 (#35434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 09:32:38 +00:00
renovate[bot]
24aa5d0460 fix(deps): update dependency @rails/ujs to v7.1.600 (#36634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 08:41:19 +00:00
Claire
5ac3cceaf5 Increase number of quote approval job retries (#36698) 2025-11-04 08:29:27 +00:00
github-actions[bot]
e5fbb49033 New Crowdin Translations (automated) (#36697)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-04 08:10:20 +00:00
Rachael Wright-Munn
d1f57822af Move "Privacy and reach" from "Public profile" to top-level navigation (#27294) 2025-11-03 17:56:17 +00:00
Claire
9b3e92bf17 Prevent creation of Private Mentions quoting someone who is not mentioned (#36689) 2025-11-03 14:16:25 +00:00
Claire
e79e42f8f1 Fix issuance of quote approval for remote private statuses (#36693) 2025-11-03 14:15:18 +00:00
Claire
bae5877c84 Disable paste-link-to-quote flow when composing Private Mentions (#36690) 2025-11-03 13:56:07 +00:00
github-actions[bot]
61c0daffc9 New Crowdin Translations (automated) (#36676)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-11-03 12:21:04 +00:00
renovate[bot]
f10c79c8d1 chore(deps): update dependency irb to v1.15.3 (#36682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 11:05:26 +00:00
renovate[bot]
8781abf2bd chore(deps): update dependency sass to v1.93.3 (#36674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 09:26:54 +00:00
renovate[bot]
7faf2eaa79 chore(deps): update dependency jsdom to v27.1.0 (#36663)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 09:23:25 +00:00
renovate[bot]
0bf974a758 chore(deps): update dependency haml_lint to v0.67.0 (#36645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 09:21:51 +00:00
renovate[bot]
5c0c77223b chore(deps): update node.js to 24.11 (#36630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 09:21:07 +00:00
renovate[bot]
5fe74d2092 chore(deps): update dependency rubyzip to v3.2.2 (#36687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-03 09:09:54 +00:00
diondiondion
055f581ca5 Fix initially selected language in Rules panel, hide selector when no alternative translations exist (#36672) 2025-10-31 14:20:59 +00:00
Claire
8a2826604c Bump version to v4.6.0-alpha.1 (#36667) 2025-10-31 13:24:26 +00:00
Matt Jankowski
d865a095d0 Update eslint-plugin-jsdoc to version 61.1.11 (#36653) 2025-10-31 11:07:48 +00:00
renovate[bot]
35abaa7ff1 chore(deps): update dependency axios to v1.13.1 (#36633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 10:31:57 +00:00
renovate[bot]
fd4e51b3d8 chore(deps): update dependency libvips to v8.17.3 (#36654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 10:30:55 +00:00
renovate[bot]
2c4367bcfc chore(deps): update dependency rubocop to v1.81.7 (#36662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 10:24:36 +00:00
github-actions[bot]
d47ca1cc36 New Crowdin Translations (automated) (#36660)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-31 10:24:16 +00:00
diondiondion
499ddfe8e1 Add separate translation key for "About this server" string (#36664) 2025-10-31 10:07:10 +00:00
Matt Jankowski
7b61ad936d Update playwright-ruby-client to version 1.56.0 (#36655) 2025-10-31 09:52:23 +00:00
diondiondion
fcecbf31ed Show error when submitting empty post rather than failing silently (#36650) 2025-10-30 19:29:25 +00:00
Matt Jankowski
aefd728309 Use before_action to protect hidden collections in following/followers lists (#35783) 2025-10-30 16:34:19 +00:00
renovate[bot]
13a070f8d1 chore(deps): update dependency webmock to v3.26.1 (#36648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-30 16:03:47 +00:00
Echo
28cb345131 Fix: Ensure carousel focuses on wrapper (#36649) 2025-10-30 13:08:24 +00:00
Echo
f3d9a4ed44 Add CSS Module support (#36637) 2025-10-30 12:30:42 +00:00
Claire
762e87b121 Fix SMTP configuration with mail 2.9.0 (#36646) 2025-10-30 11:21:32 +00:00
Joshua Byrd
e5e9f8da93 Fix og:images from The Guardian (and possibly other CDNs that check URL hashes) (#36139)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-10-30 10:57:07 +00:00
Echo
ff1e19a506 Silence Storybook build warning (#36647) 2025-10-30 10:51:34 +00:00
renovate[bot]
2c5d3f934c chore(deps): update dependency oj to v3.16.12 (#36644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-30 08:13:50 +00:00
github-actions[bot]
a77038b288 New Crowdin Translations (automated) (#36641)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-30 07:52:39 +00:00
Dima
ebf5cee38e Fix media URL inconsistency when deleting statuses via API (#35880) 2025-10-29 16:46:16 +00:00
Echo
e7cd5a430e Refactor carousel components (#36425)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-10-29 14:44:46 +00:00
Claire
2a9c7d2b9e Fix quote-inline fallback being removed even for legacy quotes (#36638) 2025-10-29 11:56:34 +00:00
Claire
51877081b4 Bump version to v4.5.0-rc.1 (#36635) 2025-10-29 11:11:33 +00:00
github-actions[bot]
7b66eefd3e New Crowdin Translations (automated) (#36632)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-29 10:13:42 +00:00
Claire
e437bb919f Change display of blocked and muted quoted users (#36619) 2025-10-29 09:13:12 +00:00
Claire
4896d2c4c6 Change firehose labels depending on which feeds are accessible (#36607) 2025-10-28 16:59:37 +00:00
Renaud Chaput
795aaa14bf Remove environment variables to config Fetch All Replies behaviour (#36627) 2025-10-28 15:58:18 +00:00
diondiondion
e1bd9b944a chore(deps): update dependency eslint-plugin-jsdoc to v60 (#36466) 2025-10-28 15:17:33 +00:00
Claire
26ec19a649 Change styling of column banners (#36531) 2025-10-28 14:45:46 +00:00
Claire
b01d21c4d4 Hashtag fixes (#36625) 2025-10-28 14:26:08 +00:00
Claire
3ccb6632f2 Fix mention matching ignoring path (#36626) 2025-10-28 14:05:39 +00:00
Claire
8fb524e07f Add support for Update of converted object types (#36322) 2025-10-28 14:05:14 +00:00
Echo
9c7d09993d Fix props in DisplayName component (#36622) 2025-10-28 14:02:37 +00:00
renovate[bot]
3efc747be3 Update dependency axios to v1.13.0 (#36612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 13:26:05 +00:00
renovate[bot]
1f5cdb30c7 Update dependency @vitejs/plugin-react to v5.1.0 (#36600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 13:23:38 +00:00
renovate[bot]
3cace4098a Update dependency devise-two-factor to v6.2.0 (#36574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 13:23:32 +00:00
Claire
ccfac2716d Add streaming server side filtering for live/topic feed settings (#36585) 2025-10-28 13:23:05 +00:00
diondiondion
422fa1cf9f Revert "Fix custom emoji width (#27969)" (#36620) 2025-10-28 12:36:22 +00:00
renovate[bot]
2b5f6838ed Update dependency annotaterb to v4.20.0 (#36527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 11:59:21 +00:00
Echo
85d0cdb5f7 Emoji: Remove final flag (#36409) 2025-10-28 11:33:27 +00:00
renovate[bot]
e4fc18abfd Update dependency simple_form to v5.4.0 (#36604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 11:29:07 +00:00
renovate[bot]
e322c1777b Update dependency webmock to v3.26.0 (#36605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 11:27:54 +00:00
Nicholas La Roux
f53c4db05c [Vite] Remove overridden build.target in favor of legacy plugin defaults (#36611) 2025-10-28 11:22:41 +00:00
renovate[bot]
4905c194b8 Update dependency mail to v2.9.0 (#36575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 08:32:36 +00:00
renovate[bot]
7ba06a661c Update dependency @reduxjs/toolkit to v2.9.2 (#36572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 08:32:29 +00:00
github-actions[bot]
5d00ae7eb3 New Crowdin Translations (automated) (#36617)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-28 08:29:36 +00:00
Claire
4b42fe6aba Change API behavior of reblogs wrt. quotes for consistency (#36559) 2025-10-28 08:05:23 +00:00
Claire
3bf99b8a4a Fix URL comparison for mentions in case of empty path (#36613) 2025-10-27 18:19:52 +00:00
Echo
d0d09fd3a5 Emoji: Fix Web Worker import (#36603) 2025-10-27 17:36:01 +00:00
Eugen Rochko
76053fb4a9 Fix hashtags not being picked up when full-width hash sign is used (#36103)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-10-27 17:18:01 +00:00
David Roetzel
402686c76c Remove http_message_signatures feature flag (#36610) 2025-10-27 16:06:44 +00:00
marousta
dc851c9efc Fix custom emoji width (#27969) 2025-10-27 15:56:06 +00:00
Eugen Rochko
1dead10312 Change min. characters required for logged-out account search from 5 to 3 (#36487) 2025-10-27 15:52:21 +00:00
M.J. Fieggen (Joni)
e8382c7332 Fix layout of severed relationships when purged events are listed (#36593) 2025-10-27 15:19:38 +00:00
Eugen Rochko
bfcf21e915 Fix vacuums being interrupted by a single batch failure (#36606) 2025-10-27 14:22:54 +00:00
Matt Jankowski
b60bae6361 Handle unreachable network error for search services (#36587) 2025-10-27 13:28:56 +00:00
Claire
38f15a89fe Fix recent settings migrations (#36602) 2025-10-27 12:24:24 +00:00
renovate[bot]
ab5b7e3776 Update dependency webauthn to v3.4.3 (#36599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 10:21:12 +00:00
renovate[bot]
1230d05b18 Update dependency rubyzip to v3.2.1 (#36598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 10:21:08 +00:00
Renaud Chaput
779a1f8448 Add a new setting to choose the server landing page (#36588) 2025-10-27 10:16:59 +00:00
github-actions[bot]
e40ca321ed New Crowdin Translations (automated) (#36590)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-27 09:45:37 +00:00
renovate[bot]
5f837001e6 Update opentelemetry-ruby (non-major) (#36557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 09:40:13 +00:00
Matt Jankowski
2640cf5317 Update stoplight to version 5.4.0 (#36581) 2025-10-27 09:38:01 +00:00
diondiondion
1ba579b0a1 Fix "new post highlighting" in threads being applied when navigating between posts (#36583) 2025-10-23 15:52:07 +00:00
Claire
6b2051b7b3 Fix bookmarks export when one bookmarked status is soft-deleted (#36576) 2025-10-23 11:51:23 +00:00
Claire
2fa5dd6d1f Add UI support for disabled live feeds (#36577)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-10-23 09:59:43 +00:00
github-actions[bot]
f7b99cd48a New Crowdin Translations (automated) (#36569)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-23 09:29:02 +00:00
renovate[bot]
92aeecfbdc Update dependency vite to v7.1.12 (#36573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 08:41:34 +00:00
Claire
7774cd6670 Add disabled setting for live and topic feeds, as well as user permission to bypass that (#36563) 2025-10-23 08:37:05 +00:00
Claire
9f7075a0ce Remove unnecessary restrictions on HTML handling (#36548) 2025-10-22 13:55:41 +00:00
renovate[bot]
c40648f7b3 Update dependency pino to v9.14.0 (#36529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 13:53:20 +00:00
renovate[bot]
2bd5c2f528 Update dependency ioredis to v5.8.2 (#36544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 13:52:59 +00:00
renovate[bot]
1e28ec628b Update dependency rubocop to v1.81.6 (#36541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 13:52:43 +00:00
diondiondion
7538bc77b7 Fix text overflow alignment for long author names in News (#36562) 2025-10-22 13:08:51 +00:00
diondiondion
7ea2af6ae2 Refresh thread replies periodically & when refocusing window (#36547) 2025-10-22 09:43:03 +00:00
belatedly
6adbd9ce52 Fix discovery preamble missing word in EN and EN-GB locales (#36560) 2025-10-22 09:18:02 +00:00
github-actions[bot]
08ae77fd9c New Crowdin Translations (automated) (#36556)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-22 08:24:40 +00:00
Claire
17eb1a7e66 Fix scheduled quote posts being posted as non-quote posts (#36550) 2025-10-21 16:00:40 +00:00
Claire
aba30a85be Fix value of quote_approval_policy and quoted_status_id in ScheduledStatus serializer (#36549) 2025-10-21 16:00:30 +00:00
Renaud Chaput
de80a54555 Update recommended Node version to 24 (LTS) (#36539) 2025-10-21 14:26:24 +00:00
Renaud Chaput
b80ec3721d Drop support for PostgreSQL 13 (#36540) 2025-10-21 14:26:00 +00:00
Claire
118ff13bd0 Bump version to v4.5.0-beta.2 (#36543) 2025-10-21 13:43:38 +00:00
Claire
405a49df44 Merge commit from fork
* Refuse granting quote authorization for reblogs

* Add validation to reject quotes of reblogs

* Do not process quotes of reblogs as potentially valid quotes

* Refuse to serve quoted reblogs over REST API
2025-10-21 15:00:28 +02:00
github-actions[bot]
2b9e4294fe New Crowdin Translations (automated) (#36538)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-21 08:50:24 +00:00
Matt Jankowski
2eccd7b53c Specs for validation error in API responses (#36507) 2025-10-21 07:33:30 +00:00
renovate[bot]
74172ced81 Update dependency playwright to v1.55.1 [SECURITY] (#36534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 07:20:24 +00:00
renovate[bot]
341ea7f462 Update dependency vite to v7.1.11 (#36526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 17:07:28 +00:00
renovate[bot]
168cba35e3 Update dependency puma to v7.1.0 (#36519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 17:07:11 +00:00
Echo
6e2973aa2d Emoji: Fix unneeded re-renders when StatusContent changes (#36532) 2025-10-20 14:52:27 +00:00
Claire
97c8cc5606 Fix position of quote dropdown menu item when “quick boosting” is enabled (#36528) 2025-10-20 13:05:40 +00:00
Echo
50dfab30c2 Emoji: Swap mode test to an emoji from 16.0 (#36530) 2025-10-20 13:04:38 +00:00
renovate[bot]
53e20d5c83 Update dependency jsdom to v27.0.1 (#36524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 12:11:04 +00:00
renovate[bot]
0a1111d5a5 Update dependency @reduxjs/toolkit to v2.9.1 (#36515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 12:10:45 +00:00
renovate[bot]
95be29d700 Update dependency rubocop-performance to v1.26.1 (#36525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 10:56:54 +00:00
Ben Sheldon [he/him]
843c43c97a Replace ThreadingHelper wait loop with functional CyclicBarrier (#36508) 2025-10-20 10:10:43 +00:00
github-actions[bot]
82483ed8b0 New Crowdin Translations (automated) (#36520)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-20 10:10:37 +00:00
renovate[bot]
612771de46 Update dependency rack-attack to v6.8.0 (#36471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 14:10:42 +00:00
renovate[bot]
950e7beeea Update dependency rubyzip to v3.2.0 (#36472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 14:10:39 +00:00
renovate[bot]
1018a4def4 Update dependency vite-plugin-static-copy to v3.1.4 (#36480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 14:10:36 +00:00
Claire
811c1eaf7e Fix relationship not being fetched to evaluate whether to show a quote post (#36517) 2025-10-17 13:03:18 +00:00
diondiondion
6dad80eb8c Add new "quick boosting" setting (#36516) 2025-10-17 13:02:47 +00:00
Claire
c96e28a41d Change HttpMessageSignature to perform assertions directly on Linzer objects (#36510) 2025-10-17 08:41:28 +00:00
github-actions[bot]
ccac6da3e8 New Crowdin Translations (automated) (#36513)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-17 08:41:07 +00:00
diondiondion
20961c7538 Add keyboard shortcut info banner to the boosting preferences section (#36506) 2025-10-16 14:53:23 +00:00
Echo
63dc426fae Emoji: Fix emoji picker not centering native emoji (#36502) 2025-10-16 13:45:20 +00:00
Emelia Smith
210b389643 Implement quote posts in Moderator UI (#35964) 2025-10-16 13:40:24 +00:00
Echo
51d0bfcb38 Emoji: Update Twemoji to v16 (#36501) 2025-10-16 13:15:16 +00:00
Echo
7530f06dee Emoji: Fix autoplay incorrectly being applied (#36503) 2025-10-16 12:46:17 +00:00
renovate[bot]
28339cad6d Update dependency rollup-plugin-visualizer to v6.0.5 (#36499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 10:29:13 +00:00
github-actions[bot]
5404f92cee New Crowdin Translations (automated) (#36494)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-16 10:29:07 +00:00
diondiondion
05244c335d Restructure appearance settings to introduce new Advanced settings section (#36496) 2025-10-16 09:44:24 +00:00
Claire
241ad1c587 Update docker-compose.yml sidekiq health check to work for both 4.4 and 4.5 (#36498) 2025-10-16 09:24:22 +00:00
Claire
ef53dcfd8c Fix pinned hashtag columns fully refreshing unprompted (#36497) 2025-10-16 09:10:53 +00:00
diondiondion
869eeecfee Show new replies early if the fetch-all-replies task takes long to finish (#36481) 2025-10-15 17:30:47 +00:00
diondiondion
28a42bb62c Fix low-contrast hover colour of alert actions (light theme only) (#36484) 2025-10-15 15:38:36 +00:00
Aung Htet Nay
905aa9434d Change FFmpeg source to GitHub mirror in Dockerfile (#36424) 2025-10-15 15:25:39 +00:00
Claire
5a8ab0a3e6 Update changelog with last-minute changes (#36482) 2025-10-15 14:12:33 +00:00
Claire
c5fb080ab8 Bump version to v4.5.0-beta.1 (#36479) 2025-10-15 13:09:25 +00:00
Claire
fab0dd0bcf Change redirection for denied registration from web app to sign-in page with error message (#36384) 2025-10-15 11:37:22 +00:00
Matt Jankowski
c6de46d12d Update stylelint-config-standard-scss to version 16.0.0 (#36429)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-10-15 11:30:09 +00:00
Claire
3160f5746d Bump version to v4.4.7 (#36478) 2025-10-15 09:11:03 +00:00
Emelia Smith
d8bdce2835 Fix rendering of poll options in status history modal (#35633) 2025-10-15 09:05:10 +00:00
github-actions[bot]
339673d533 New Crowdin Translations (automated) (#36476)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-15 08:54:47 +00:00
renovate[bot]
d0d1fcd034 Update opentelemetry-ruby (non-major) (#36477)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 07:56:45 +00:00
renovate[bot]
3550508421 Update dependency core-js to v3.46.0 (#36417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 07:55:10 +00:00
renovate[bot]
e3e5067772 Update formatjs monorepo (#36415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 07:11:45 +00:00
renovate[bot]
5fd380096f Update dependency vite-plugin-pwa to v1.1.0 (#36452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 07:10:52 +00:00
renovate[bot]
d788e45628 Update dependency vite to v7.1.10 (#36468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 07:08:49 +00:00
Claire
264d068d8d Change new accounts to use new ActivityPub numeric ID scheme (#36365) 2025-10-14 16:36:55 +00:00
Claire
50743cc35b Fix forwarder being called with nil status when quote post is soft-deleted (#36463) 2025-10-14 15:15:45 +00:00
Claire
fd516347cb Fix deletion of posts quoting soft-deleted local post (#36461) 2025-10-14 15:15:38 +00:00
Claire
3232eee358 Fix error in logged-out hashtag view when remote posts require log-in (#36467) 2025-10-14 14:04:18 +00:00
github-actions[bot]
484225895f New Crowdin Translations (automated) (#36457)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-14 12:26:21 +00:00
Claire
156f031ed0 Fix WebUI mistakenly allowing to attach quotes when editing (#36464) 2025-10-14 12:21:13 +00:00
renovate[bot]
ad858ebe81 Update dependency strong_migrations to v2.5.1 (#36458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 12:17:40 +00:00
Jonathan de Jong
f2f711deeb Fix allow_referrer_origin typo (#36460) 2025-10-14 12:07:15 +00:00
Claire
44ecc4b1e3 Fix moderation warning e-mails that include posts (#36462) 2025-10-14 11:48:51 +00:00
Echo
0c64e7f75e Emoji: Cleanup new code (#36402) 2025-10-14 09:36:25 +00:00
diondiondion
9a001e7839 Fix videos not being indented properly in thread view (#36459) 2025-10-14 08:58:03 +00:00
Echo
edd7fd9872 Emoji: Picker native rendering (#36454) 2025-10-13 15:29:39 +00:00
Eugen Rochko
33f739da44 Fix permalink redirects continuing to work for suspended accounts (#36453) 2025-10-13 15:18:01 +00:00
Claire
254fff93ca Bump version to v4.4.6 (#36447) 2025-10-13 14:31:12 +00:00
Claire
2971ac9863 Fix streaming still being authorized for suspended accounts (#36448) 2025-10-13 13:35:44 +00:00
Emelia Smith
7e98fa9b47 Merge commit from fork
* Require read, read:statuses or read:notifications scope to access streaming APIs

* Add additional tests for scope-based channel access

We were missing tests in the affirmative for subscribing to the user:notification channel, this adds them
2025-10-13 14:20:57 +02:00
Emelia Smith
24dcb18013 Merge commit from fork
* Ensure tootctl revokes sessions, access tokens and web push subscriptions

* Fix test coverage
2025-10-13 14:20:23 +02:00
Emelia Smith
8d09e4ef23 Merge commit from fork
* Streaming: Ensure disabled users cannot connect to streaming

* Streaming: Disconnect when the user is disabled
2025-10-13 14:19:14 +02:00
renovate[bot]
692cfe27fa Update dependency opentelemetry-instrumentation-excon to v0.25.2 (#36436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-13 10:01:00 +00:00
github-actions[bot]
8b78c033e8 New Crowdin Translations (automated) (#36433)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-13 09:25:52 +00:00
Claire
ab93e9fc8a Update dependency rack (#36443) 2025-10-13 09:13:17 +00:00
Claire
0219b7cad7 Add result_count to Mastodon-Async-Refresh header when needed (#36239) 2025-10-10 12:26:10 +00:00
github-actions[bot]
3f2ee09827 New Crowdin Translations (automated) (#36420)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-10 09:06:57 +00:00
Emelia Smith
8898f120dc Improve display of content warnings in Admin UI (#35935) 2025-10-10 08:55:41 +00:00
Emelia Smith
81350c7cfb Add support for displaying link previews for Admin UI (#35958) 2025-10-10 08:43:48 +00:00
Echo
c858fc77ef Fixes handled link formatting (#36410)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-10-09 14:31:13 +00:00
Echo
258869278e Fix: Embed author handle using wrong DisplayName (#36413) 2025-10-09 14:08:36 +00:00
Claire
d4a4a7177a Fix crash when serializing quotes of deleted posts for ActivityPub (#36381) 2025-10-09 13:52:38 +00:00
Claire
b7c5e60426 Fix quote post state sometimes not being updated through streaming server (#36408) 2025-10-09 09:53:45 +00:00
github-actions[bot]
a459ccf616 New Crowdin Translations (automated) (#36406)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-09 09:12:27 +00:00
renovate[bot]
ba70dcf827 Update docker.io/ruby Docker tag to v3.4.7 (#36407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-09 08:25:26 +00:00
Matt Jankowski
0152659245 Use tag filter for pending tag count on admin dashboard (#36404) 2025-10-09 08:08:29 +00:00
Echo
5bc7c4b7e8 Emoji: Fixes issue with handled link not correctly showing remote users (#36403) 2025-10-08 17:17:03 +00:00
Renaud Chaput
b8444d9bb7 Do not automatically run Prettier on the streaming server code. (#36400) 2025-10-08 15:51:53 +00:00
Echo
babb7b2b9d Emoji: Announcements (#36397)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-10-08 15:07:01 +00:00
renovate[bot]
5c92312d4d Update dependency cross-env to v10.1.0 (#36297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-08 14:19:27 +00:00
Echo
0c1ca6c969 Emoji: Statuses (#36393) 2025-10-08 14:18:11 +00:00
renovate[bot]
2b213e9b1b Update dependency ruby to v3.4.7 (#36387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-08 14:17:42 +00:00
renovate[bot]
4fd5b6e73b Update opentelemetry-ruby (non-major) (#36313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-08 13:15:22 +00:00
Claire
0be0a8898a Fix Update/Delete of quoted status not being forwarded to quoters's followers (#36390) 2025-10-08 12:56:32 +00:00
renovate[bot]
d8f0326b02 Update dependency sidekiq to v8.0.8 (#36388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-08 12:39:24 +00:00
Claire
987f1e897b Fix JSON payload being potentially mutated when processing interaction policies (#36392) 2025-10-08 12:31:51 +00:00
Echo
6abda76d13 Emoji: Account page (#36385) 2025-10-08 11:11:25 +00:00
github-actions[bot]
3867f3bc61 New Crowdin Translations (automated) (#36386)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-08 10:06:30 +00:00
Renaud Chaput
4fce4337d8 Update rack and uri to the latest release (#36389) 2025-10-08 09:35:36 +00:00
Matt Jankowski
092f46f61a Use bundler version 2.7.2 (#36367) 2025-10-08 08:21:23 +00:00
diondiondion
e4c3854ae8 Ensure Fetch-all-replies snackbar is shown at the bottom of the screen (#36383) 2025-10-07 16:43:40 +00:00
renovate[bot]
aa7bcd3ae3 Update formatjs monorepo (#36356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-07 15:34:45 +00:00
Claire
bc7119b3cb Remove unused feature flag from sample configuration file (#36382) 2025-10-07 15:34:06 +00:00
Echo
e02ea3e110 Emoji: Compare history modal (#36378) 2025-10-07 15:22:00 +00:00
Echo
3c9b828c71 Emoji: Bypass legacy emoji normalization (#36377) 2025-10-07 15:21:50 +00:00
Brad Dunbar
c578a0cb74 Resolve typescript eslint warning (#36314) 2025-10-07 14:42:15 +00:00
renovate[bot]
da6ae98e57 Update dependency ioredis to v5.8.1 (#36361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-07 14:29:58 +00:00
renovate[bot]
fb6fd7b7e1 Update dependency pino to v9.13.1 (#36337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-07 14:29:19 +00:00
renovate[bot]
d51717c101 Update dependency vite to v7.1.9 (#36332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-07 14:29:04 +00:00
diondiondion
63bbe4ee16 Display quotes in email notifications (#36379) 2025-10-07 12:50:40 +00:00
github-actions[bot]
adcbab527a New Crowdin Translations (automated) (#36371)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-07 12:37:46 +00:00
Claire
a7f89d13d2 Change index on follows table to improve performance of some queries (#36374) 2025-10-07 12:37:40 +00:00
Renaud Chaput
e8dab026bb Fix quote mailer preview to use the latest quote notification (#36373) 2025-10-07 10:19:53 +00:00
Echo
9027d60420 Emoji: Remove re: from handleElement in StatusContent (#36366) 2025-10-06 16:20:15 +00:00
diondiondion
474fbb2770 Fetch all replies: Only display "More replies found" prompt when there really are new replies (#36334) 2025-10-06 14:13:24 +00:00
diondiondion
4a40f81067 Link to local accounts from settings (#36340) 2025-10-06 14:10:26 +00:00
Claire
cda07686df Add feature to automatically attach quote on eligible link past in Web UI composer (#36364) 2025-10-06 13:43:20 +00:00
Echo
68a36d5a57 Allow modern_emojis to be enabled purely server-side (#36342) 2025-10-06 13:34:51 +00:00
Echo
ffac4cb05f Emoji: Link Replacement (#36341) 2025-10-06 09:31:10 +00:00
github-actions[bot]
4dc21d7afd New Crowdin Translations (automated) (#36349)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-06 09:11:31 +00:00
Claire
2d2c525097 Split timeline_preview setting into more granular settings (#36338) 2025-10-06 08:34:05 +00:00
nicole mikołajczyk
62f91eddf4 Do not display mute button in hashtag dropdown when unauthenticated (#36353)
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-10-05 14:24:54 +00:00
Claire
80c8a84740 Fix redirect to external object when URL is missing or malformed (#36347) 2025-10-03 17:30:23 +00:00
github-actions[bot]
1561517387 New Crowdin Translations (automated) (#36345)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-03 08:07:10 +00:00
renovate[bot]
5543967e5c chore(deps): update dependency rollup-plugin-visualizer to v6.0.4 (#36336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 07:57:48 +00:00
diondiondion
0d7af7e1fe Allow quotes to be displayed in the featured carousel (#36335) 2025-10-02 13:51:47 +00:00
github-actions[bot]
4809b38f6e New Crowdin Translations (automated) (#36329)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-02 08:34:38 +00:00
renovate[bot]
554dd1a76a chore(deps): update dependency omniauth to v2.1.4 (#36331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-02 08:25:40 +00:00
Brad Dunbar
f69ca085db ESLint: Ignore .bundle directory (#36321) 2025-10-01 15:48:15 +00:00
Claire
3ee1378932 Fix approval for remote quotes of local posts not being streamed to local users (#36317) 2025-10-01 13:51:43 +00:00
Claire
f03d1bb21f Add numeric_ap_ids feature flag to switch new accounts to numeric AP identifiers (#36316) 2025-10-01 13:09:56 +00:00
diondiondion
669738ef3b Add quote/boost dropdown menu to boost button in media modal (#36315) 2025-10-01 12:18:19 +00:00
renovate[bot]
94a4e9d5a9 chore(deps): update dependency vite-plugin-static-copy to v3.1.3 (#36312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 09:48:26 +00:00
github-actions[bot]
9114e72c50 New Crowdin Translations (automated) (#36308)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-10-01 09:47:16 +00:00
Terence Eden
6c3c2714d7 Add overflow to .more-from-author (#36310) 2025-10-01 09:23:49 +00:00
metalhead
e4094d9fb2 Add support for dynamic viewport height (#36272)
Co-authored-by: l <eh.chahkiev@smartics.ru>
2025-10-01 08:53:29 +00:00
Claire
d51723bb57 Add UI support for displaying quotes of other people's posts (#36301) 2025-09-30 15:10:09 +00:00
Claire
5af40ff960 Fix some routes for numeric AP identifiers (#36304) 2025-09-30 15:09:59 +00:00
diondiondion
473bd84c24 Update confirmation dialogs for follow button actions "unfollow", "unblock", and "withdraw request" (#36289) 2025-09-30 14:55:25 +00:00
Echo
c12b8f51c1 Emoji Component (#36293) 2025-09-30 13:06:02 +00:00
Brad Dunbar
ac50e5eebc Convert mastodon/initial_state to TypeScript (#36274) 2025-09-30 11:14:58 +00:00
Claire
589af7a1cc Change GET /api/v1/statuses/:id/quotes to allow listing quotes to other people's posts (#36291) 2025-09-30 09:56:03 +00:00
Claire
45219dbf64 Fix spurious notification of local boosters and quoters when updating quote policy (#36299) 2025-09-30 09:40:58 +00:00
renovate[bot]
a6236148d8 chore(deps): update dependency haml-rails to v3 (#36288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-30 08:44:15 +00:00
Emelia Smith
5b97f25a15 Add integration tests for mastodon-streaming (#36025)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: David Roetzel <david@roetzel.de>
2025-09-30 07:27:09 +00:00
Claire
150f0fcba5 Add support for numeric-based URIs for local accounts (#32724) 2025-09-29 12:05:48 +00:00
renovate[bot]
4d7c208da3 chore(deps): update node.js to 22.20 (#36252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 09:45:31 +00:00
renovate[bot]
dc72719f4c chore(deps): update dependency hiredis-client to v0.26.1 (#36286)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 09:30:10 +00:00
renovate[bot]
9f1a12b749 chore(deps): update dependency @vitejs/plugin-react to v5.0.4 (#36282)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 09:30:01 +00:00
renovate[bot]
adbd57e5a9 chore(deps): update dependency rubyzip to v3.1.1 (#36278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 09:29:52 +00:00
renovate[bot]
8779bbc4c1 chore(deps): update rubocop (non-major) to v1.81.1 (#36277)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 09:29:37 +00:00
renovate[bot]
bbb698937a chore(deps): update dependency pino to v9.12.0 (#36287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 09:29:15 +00:00
github-actions[bot]
4d8e848c6a New Crowdin Translations (automated) (#36276)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-29 09:16:16 +00:00
Brad Dunbar
aae9a5528a Remove shallow prop from Wrapper (#36275) 2025-09-29 09:10:27 +00:00
Claire
a44a3f6d40 Expand test coverage of ActivityPub::TagManager class (#36260) 2025-09-26 10:00:53 +00:00
diondiondion
cb5bbbfb05 Update "Follow" button labels (#36264) 2025-09-26 10:00:50 +00:00
Echo
e07b9dfdc1 Adds new HTMLBlock component (#36262) 2025-09-26 09:50:59 +00:00
diondiondion
1571514e49 Fix page being vertically scrollable in Advanced UI (#36271) 2025-09-26 09:23:30 +00:00
Brad Dunbar
238d74fe81 Refactor getFocusedItemIndex to avoid conditionals that closest already handles (#36267) 2025-09-26 08:53:08 +00:00
github-actions[bot]
7431c50566 New Crowdin Translations (automated) (#36270)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-26 08:42:28 +00:00
renovate[bot]
c2d426a565 chore(deps): update dependency rubocop to v1.81.0 (#36269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-26 08:21:06 +00:00
Matt Jankowski
f61d8cb02a Hold usable value lists in admin settings form (#36268) 2025-09-26 08:21:03 +00:00
diondiondion
11bd515648 Allow accessing ref of ScrollContainer's child (#36265) 2025-09-25 16:14:49 +00:00
diondiondion
d801cf8e59 Replace react-router-scroll-4 with inlined implementation (#36253) 2025-09-25 12:26:50 +00:00
renovate[bot]
6d2493ca7c chore(deps): update dependency puma to v7.0.4 (#36240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 10:03:53 +00:00
Claire
66686994c1 Fix not being able to author quotes with CW but no text (#36153)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-09-25 09:25:00 +00:00
Renaud Chaput
719b2de3c3 Update uuid package to latest version (#36259) 2025-09-25 08:54:02 +00:00
github-actions[bot]
d2bdb03da0 New Crowdin Translations (automated) (#36258)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-25 08:53:58 +00:00
renovate[bot]
507e6dc473 fix(deps): update dependency ioredis to v5.8.0 (#36234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:58:20 +00:00
renovate[bot]
52d5e628a4 chore(deps): update dependency hiredis-client to v0.26.0 (#36233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:57:47 +00:00
renovate[bot]
85213dab47 chore(deps): update yarn to v4.10.3 (#36178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:56:33 +00:00
renovate[bot]
8fac87d77c chore(deps): update dependency rails to v8.0.3 (#36230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:55:46 +00:00
renovate[bot]
fda3589498 fix(deps): update dependency sass to v1.93.2 (#36231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:55:09 +00:00
renovate[bot]
0798d0c95a chore(deps): update dependency pundit to v2.5.2 (#36251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:54:58 +00:00
renovate[bot]
33fd8c774b chore(deps): update dependency webauthn to v3.4.2 (#36243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:54:41 +00:00
renovate[bot]
e0f7aedf41 chore(deps): update dependency propshaft to v1.3.1 (#36241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 07:54:07 +00:00
renovate[bot]
cc54b33720 chore(deps): update dependency typescript to ~5.9.0 (#36212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-09-25 07:52:37 +00:00
Claire
df72a2dbbe Fix newly-highlighted replies not being interactable (#36256) 2025-09-24 20:37:20 +00:00
Claire
28be5a199f Fix Private Messages self-quoting private posts being changed to followers-only (#36249) 2025-09-24 10:58:52 +00:00
diondiondion
3a81ee8f5b Implement new design for "Refetch all" (#36172) 2025-09-24 09:54:07 +00:00
Echo
29d9f81e42 Fix missed event handler (#36248) 2025-09-24 09:37:11 +00:00
diondiondion
059bf1e980 Highlight newly added replies in thread view (#36237) 2025-09-24 09:27:33 +00:00
github-actions[bot]
23a69e3bd7 New Crowdin Translations (automated) (#36246)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-24 09:18:50 +00:00
Claire
e1f7847b64 Remove the outgoing_quotes feature flag, making the feature unconditional (#36130) 2025-09-24 08:58:08 +00:00
diondiondion
6cbc857ee0 Fix unfortunate action button wrapping in admin area (#36247) 2025-09-24 08:57:18 +00:00
David Roetzel
37cec638df Update to puma 7 (#36238) 2025-09-23 13:40:04 +00:00
github-actions[bot]
82f5901a3f New Crowdin Translations (automated) (#36228)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-23 09:56:46 +00:00
Echo
6bd90940b6 Refactor emoji GIF animation (#36165) 2025-09-23 08:53:14 +00:00
Claire
24ddf80ff7 Revert "Add compatibility hack for GoToSocial interaction policies (#36004)" (#36218) 2025-09-23 08:14:11 +00:00
renovate[bot]
8e6c0fdf5a chore(deps): update dependency simplecov-lcov to v0.9.0 (#35884)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 16:18:01 +00:00
renovate[bot]
bdadfe60cb chore(deps): update dependency ffmpeg to v8 (#35886)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 16:16:49 +00:00
Claire
64895e5f6d Add support for has:quote in search (#36217) 2025-09-22 16:03:22 +00:00
renovate[bot]
dc808054d2 chore(deps): update opentelemetry-ruby (non-major) (#35831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 15:46:27 +00:00
renovate[bot]
4b1d7490d2 chore(deps): update devdependencies (non-major) (#35889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 15:45:24 +00:00
renovate[bot]
107d2a9f93 chore(deps): update playwright to v1.55.0 (#36222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 15:38:59 +00:00
renovate[bot]
6c2c485638 chore(deps): update storybook (non-major) (#36221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-09-22 15:01:03 +00:00
Itoh Shimon
99d5af9914 Add Traditional Mongolian to posting languages (#36196) 2025-09-22 14:05:07 +00:00
renovate[bot]
45a044cad0 fix(deps): update dependency debug to v4.4.3 (#36058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:57:59 +00:00
Renaud Chaput
63a2ef6274 Force playwright-ruby-client version to keep it in sync with the NPM package (#36225) 2025-09-22 13:56:08 +00:00
renovate[bot]
91e666bcaa fix(deps): update dependency postcss-preset-env to v10.4.0 (#35873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:54:38 +00:00
renovate[bot]
da272d13e2 fix(deps): update dependency react-swipeable-views to v0.14.1 (#36208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:53:49 +00:00
renovate[bot]
28264c5c86 fix(deps): update dependency sass to v1.93.0 (#36199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:52:52 +00:00
renovate[bot]
0ac2d11ac8 fix(deps): update dependency @vitejs/plugin-react to v5.0.3 (#36146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:52:26 +00:00
renovate[bot]
5f2091d8d2 fix(deps): update dependency vite to v7.1.7 (#36177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:51:42 +00:00
diondiondion
e473583da0 Add quote-related info to a post's aria-label (#36169) 2025-09-22 13:50:29 +00:00
renovate[bot]
4a99025d02 chore(deps): update docker/dockerfile docker tag to v1.18 (#36213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:49:30 +00:00
renovate[bot]
5398dd9ee1 fix(deps): update dependency pino to v9.11.0 (#35767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:49:05 +00:00
Matt Jankowski
4abc442add Refer to pinnable visibilities constant from status serializer pinnable? attribute (#35852) 2025-09-22 13:45:23 +00:00
renovate[bot]
1f2a84b3d0 chore(deps): update dependency net-ldap to v0.20.0 (#35871)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:34:05 +00:00
renovate[bot]
00cc6c40eb chore(deps): update dependency annotaterb to v4.19.0 (#35943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:16:44 +00:00
renovate[bot]
187afeaee7 chore(deps): update dependency nokogiri to v1.18.10 (#36120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 13:14:38 +00:00
Renaud Chaput
b1c91d885a Remove Renovate postUpgrade commands (#36223) 2025-09-22 12:44:16 +00:00
diondiondion
66afc13b7f Left-align boost/quote menu to prevent shift based on descriptions (#36220) 2025-09-22 11:54:06 +00:00
Renaud Chaput
6689040fc6 Renovate config improvements (#36209) 2025-09-22 09:08:35 +00:00
diondiondion
9bd151808c Fix line break in Read more button (#36216) 2025-09-22 08:39:32 +00:00
github-actions[bot]
a42258eca2 New Crowdin Translations (automated) (#36198)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-22 07:59:19 +00:00
renovate[bot]
a95deddeab chore(deps): update dependency stoplight to v5.3.8 (#36191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 07:40:55 +00:00
Matt Jankowski
854aaec6fe Spec for newline in request lib initialize (#36170) 2025-09-19 15:22:23 +00:00
David Roetzel
f316cd51c8 Enable GH actions scanning with CodeQL (#36193) 2025-09-19 13:14:24 +00:00
Claire
ea7371c183 Return 404 for quote approval when either quoted or quoting status is deleted (#36194) 2025-09-19 12:55:30 +00:00
Claire
4ff215f19b Update dependency rexml (#36192) 2025-09-19 12:19:10 +00:00
Claire
938b54dff0 Switch stoplight back to upstream releases (#36188) 2025-09-19 10:02:46 +00:00
Claire
a0a56a4c7b Fix processing of out-of-order Update as implicit updates (#36190) 2025-09-19 09:52:17 +00:00
Claire
b6bc42aaa6 Fix getting Create and Update out of order (#36176) 2025-09-19 08:45:13 +00:00
github-actions[bot]
23efdf12cb New Crowdin Translations (automated) (#36187)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-19 07:58:45 +00:00
Claire
48005c55ff Add short-time HTTP caching of quote authorizations for public posts (#36171) 2025-09-18 17:03:07 +00:00
Claire
e2171f5083 Change quoted posts from silenced accounts not to be hidden (#36166) 2025-09-18 13:21:17 +00:00
Claire
16a6e5c118 Add click-through for quoted limited accounts (#36167) 2025-09-18 12:46:31 +00:00
diondiondion
c368a16dc1 Fix translate button width in Safari (#36164) 2025-09-18 10:16:22 +00:00
github-actions[bot]
bb3f9ed13b New Crowdin Translations (automated) (#36160)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-18 08:17:25 +00:00
Claire
90765342a3 Fix posts when omitting quote policy and default policy is nobody (#36158) 2025-09-17 19:16:36 +00:00
diondiondion
085e9ea676 Create reusable Alert/Snackbar component (#36141) 2025-09-17 15:24:39 +00:00
Claire
db0cd9489c Bump version to v4.4.4 (#36152) 2025-09-17 12:19:03 +00:00
Claire
fbf093a87f Fix CW being moved to text when posting quote posts with empty text (#36151) 2025-09-17 12:19:00 +00:00
Claire
2664bb628b Fix quote with CW but no text being shown without CW (#36150) 2025-09-17 12:00:58 +00:00
renovate[bot]
8a6ef2ebdf fix(deps): update dependency jsdom to v27 (#36107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 09:46:30 +00:00
renovate[bot]
de3692ca00 chore(deps): update docker.io/ruby docker tag to v3.4.6 (#36145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 09:44:16 +00:00
renovate[bot]
72fff2e54f chore(deps): update dependency ruby to v3.4.6 (#36135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 09:44:12 +00:00
Echo
dfef7d9407 Refactor: Replace all display name usage for new component (#36137) 2025-09-17 09:00:57 +00:00
github-actions[bot]
ff03938808 New Crowdin Translations (automated) (#36143)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-17 07:27:03 +00:00
Jeong Arm
3055afd1d2 Fix applying user's default quote policy if API parameter is not specified (#36132) 2025-09-17 07:08:55 +00:00
Eugen Rochko
d9b70bbde1 Fix login page linking to other pages within OAuth authorization flow (#36115) 2025-09-16 14:25:21 +00:00
Claire
d1402af0b2 Change reblog button to immediately show the interaction modal when logged out (#36138) 2025-09-16 12:23:44 +00:00
Claire
41ab10f88c Change wording of disabled quote state to “You are not allowed to quote this post” (#36129) 2025-09-16 10:24:58 +00:00
github-actions[bot]
96d0f6f049 New Crowdin Translations (automated) (#36133)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-16 09:43:02 +00:00
Claire
6c5a4702d9 Use default quote policy setting in the absence of API parameter (#36094) 2025-09-15 15:53:21 +00:00
diondiondion
38fa0102c1 Fix logged-out quote menu UX, simplify Interaction dialog copy (#36124) 2025-09-15 15:38:11 +00:00
Claire
943cdc5b21 Add example post with manual quote approval policy to dev:populate_sample_data (#36099) 2025-09-15 15:35:33 +00:00
diondiondion
887e982aa2 Don't show more than one quote removal hint on notifications page (#36128) 2025-09-15 15:27:43 +00:00
Claire
e4bb0fc43a Add server-side support for handling posts with a quote policy allowing followers to quote (#36127) 2025-09-15 15:03:44 +00:00
Claire
f5591346cc Add following_url to accounts (#36093) 2025-09-15 13:45:57 +00:00
renovate[bot]
94dcf8c96c fix(deps): update dependency axios to v1.12.0 [security] (#36116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 10:02:38 +00:00
Lycolia Rizzim
4702e369e9 Fix: clicking a status header opens the status details, no longer navigate to profile (#36118) 2025-09-15 09:43:14 +00:00
diondiondion
681a9cfda1 In composer, show when quoted post is also a quote post (#36119) 2025-09-15 09:21:03 +00:00
renovate[bot]
38c0c9ba3b chore(deps): update dependency libvips to v8.17.2 (#36117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 08:55:15 +00:00
github-actions[bot]
93c977eb3d New Crowdin Translations (automated) (#36105)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-15 08:28:25 +00:00
renovate[bot]
8e46252862 chore(deps): update dependency pundit to v2.5.1 (#36097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 08:15:28 +00:00
Echo
06803422da Make Vite respect CSP for styles (#36089) 2025-09-12 13:37:26 +00:00
Claire
82b26603fe Fix quote posts with CW and no text being rejected (#36095) 2025-09-12 13:10:31 +00:00
Eugen Rochko
30b31a89e6 Add schema.org markup to SEO-enabled posts (#36075) 2025-09-12 09:12:07 +00:00
github-actions[bot]
b59e06fba7 New Crowdin Translations (automated) (#36092)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-12 09:04:44 +00:00
diondiondion
45a996f12b Fix "Post revoked" label & "Pending" tooltip text (#36090) 2025-09-11 16:36:18 +00:00
Claire
946721fd0b Fix local quote notifications (#36091) 2025-09-11 16:32:55 +00:00
diondiondion
84d1ba980b Allow removing deleted quotes from composer (#36080) 2025-09-11 14:44:20 +00:00
diondiondion
872044484c Update labels in Posting defaults settings (#36084) 2025-09-11 14:04:15 +00:00
Claire
e35dfbfdef Fix accpeted quotes sometimes not generating notifications (#36087) 2025-09-11 12:58:25 +00:00
Claire
aacc829dc6 Fix missing memoization in Web::PushNotificationWorker (#36085) 2025-09-11 12:32:56 +00:00
Claire
f7289b251f Add migration to fill unset default quote policy based on default post privacy (#36041) 2025-09-11 10:11:31 +00:00
github-actions[bot]
75f78244d5 New Crowdin Translations (automated) (#36082)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-11 09:39:51 +00:00
Claire
b60ee191ac Fix QuoteAuthorization id not being properly serialized when federating revocation (#36083) 2025-09-11 09:37:56 +00:00
Echo
8a0d0025ff Add basic HTML parser for converting strings to React components (#36071) 2025-09-11 09:22:44 +00:00
renovate[bot]
2314583606 chore(deps): update dependency hiredis-client to v0.25.3 (#36079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 08:17:58 +00:00
diondiondion
841212710b Allow disabled dropdown menu items to be focused (#36078) 2025-09-10 11:32:50 +00:00
Yamagishi Kazutoshi
ffaa672fd6 Display Valkey version on admin dashboard (#35785) 2025-09-10 10:58:51 +00:00
github-actions[bot]
eb118d8523 New Crowdin Translations (automated) (#36076)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-10 08:42:44 +00:00
Claire
e1dc960219 Rework FEP-7888 implementation (#36064) 2025-09-09 18:27:30 +00:00
diondiondion
377e870348 Improve accessibility of visibility modal dropdowns (#36068) 2025-09-09 17:44:43 +00:00
diondiondion
66d73fc213 Lighten up modal background colours in light mode (#36069) 2025-09-09 17:43:36 +00:00
Claire
e2cbef7edb Remove unused definitions from OStatus::TagManager (#36067) 2025-09-09 13:14:35 +00:00
Renaud Chaput
beca0faed0 Upgrade transitive deps with security advisories to latest version (#36066) 2025-09-09 13:13:56 +00:00
diondiondion
cf20c5db9c Show hint explaining post visibility when quoting a "quiet public" post (#36065) 2025-09-09 12:43:23 +00:00
github-actions[bot]
3c79c512fe New Crowdin Translations (automated) (#36063)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-09 07:42:52 +00:00
Claire
1c8990927a Move quote post fallback removal import-time (#36055) 2025-09-08 15:31:36 +00:00
renovate[bot]
13d970b5ae chore(deps): update dependency rubyzip to v3.1.0 (#36048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 14:53:51 +00:00
renovate[bot]
e7d7da9511 chore(deps): update dependency rubocop-performance to v1.26.0 (#36047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 14:53:30 +00:00
Claire
2347354bba Fix unresponsive areas around GIFV modals in some cases (#36059) 2025-09-08 14:11:10 +00:00
renovate[bot]
9d0e73d308 fix(deps): update dependency vite to v7.1.5 (#36056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 13:51:25 +00:00
renovate[bot]
3ca4793e68 fix(deps): update dependency sass to v1.92.1 (#36046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 13:04:57 +00:00
github-actions[bot]
e9e107c5a5 New Crowdin Translations (automated) (#36045)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-08 13:04:38 +00:00
diondiondion
c0af4581aa Visibility dialog: Add visual dropdown indicator to Dropdown component (#36052) 2025-09-08 12:53:23 +00:00
diondiondion
0153b49ef7 Visibility modal: Match dropdown width to button (#36054) 2025-09-08 12:43:38 +00:00
Echo
24fb862a65 Remove old search results with new search (#36053) 2025-09-08 12:35:59 +00:00
Echo
b99c94537b Revert change to EmojiHTML (#36051) 2025-09-08 12:08:07 +00:00
diondiondion
a5fbe2f5c1 Fix missing icons and subtitle in mobile boost/quote menu (#36038) 2025-09-08 08:50:46 +00:00
Jesse Karmani
65b4a0a6f1 Implement FEP 7888: Part 1 - publish conversation context (#35959) 2025-09-05 19:28:29 +00:00
Claire
9463a31107 Change “Posting defaults” settings page to enforce nobody quote policy for private default visibility (#36040) 2025-09-05 18:51:08 +00:00
Claire
7ddb8814e1 Change description of “Quiet public” (#36032) 2025-09-05 18:35:34 +00:00
Matt Jankowski
1b664cf20d Relay reset delivery tracker model spec and callback (#36027) 2025-09-05 12:56:15 +00:00
Matt Jankowski
05a655f33e Convert age verification controller to system specs (#36026) 2025-09-05 12:44:09 +00:00
Matt Jankowski
3efba15b3c Use pluck on DomainAllow.allowed_domains for export (#36019) 2025-09-05 12:30:18 +00:00
Matt Jankowski
350a802851 Remove unused _index iterator in admin partial (#36018) 2025-09-05 12:29:11 +00:00
Claire
de09e33c92 Change “Boost with original visibility” to “Share again with your followers” (#36035) 2025-09-05 08:59:16 +00:00
Claire
9a2be25199 Fix missing beforeUnload confirmation when a quote post is being authored (#36034) 2025-09-05 08:51:49 +00:00
Claire
279405f2a7 Fix incorrect change of unlisted source strings (#36033) 2025-09-05 08:34:14 +00:00
Claire
497bfbc483 Fix source string for visibility dropdown hint (#36031) 2025-09-05 08:14:34 +00:00
github-actions[bot]
dd6bd681ea New Crowdin Translations (automated) (#36029)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-05 08:14:25 +00:00
Claire
0d93801bde Fix missing beforeUnload confirmation when a poll is being authored (#36030) 2025-09-05 08:07:59 +00:00
diondiondion
e7c30cd072 Add first-time user education hint about quote removal on Quote notifications (#35986) 2025-09-04 13:01:12 +00:00
Echo
42be0ca0eb Adds DisplayName component (#35985) 2025-09-04 10:09:27 +00:00
renovate[bot]
d7d83d44e6 fix(deps): update dependency @reduxjs/toolkit to v2.9.0 (#36000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-04 09:44:17 +00:00
github-actions[bot]
5cb85acf2b New Crowdin Translations (automated) (#36015)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-04 09:41:16 +00:00
Matt Jankowski
27969c3077 Update rubocop to version 1.80.2 (#36007) 2025-09-04 08:14:01 +00:00
Emelia Smith
4c2a2c27c1 Automatically remove invalid Web::PushSubscriptions (#35987) 2025-09-04 08:00:44 +00:00
Claire
14cb5ff881 Add compatibility hack for GoToSocial interaction policies (#36004) 2025-09-03 19:35:43 +00:00
diondiondion
bc952ebde9 Add new plain (text-only) button variant (#36002) 2025-09-03 12:34:29 +00:00
renovate[bot]
c1542643f5 fix(deps): update dependency sass to v1.92.0 (#36001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 12:23:00 +00:00
Claire
624c024766 Prepend “RE: <url>” fallback link to Mastodon-authored quote posts (#35971) 2025-09-03 09:35:44 +00:00
github-actions[bot]
927468bce5 New Crowdin Translations (automated) (#35999)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-03 07:57:33 +00:00
Claire
75fca715e9 Change public self-quotes of private posts to be disallowed (#35975) 2025-09-02 15:48:37 +00:00
Claire
5d9a9c76fb Change icon variant for quotes (#35991) 2025-09-02 13:52:09 +00:00
Claire
0e5cac8c8b Change wording on quote label when disabled (#35990) 2025-09-02 13:41:31 +00:00
fiona
e665cc68f4 Fix handling of edited status with new media and no text (#35970) 2025-09-02 12:25:55 +00:00
Bruno Viveiros
bdff970a5e fix: YouTube iframe being able to start at a defined time (#26584) 2025-09-02 10:04:59 +00:00
renovate[bot]
bf860c39c2 Update dependency vite to v7.1.4 (#35983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 09:21:31 +00:00
renovate[bot]
b829d89757 Update dependency use-debounce to v10.0.6 (#35982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 08:29:24 +00:00
renovate[bot]
5844fd3e3d Update dependency pg to v1.6.2 (#35981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 08:11:39 +00:00
renovate[bot]
f51b733109 Update dependency connection_pool to v2.5.4 (#35980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 08:11:28 +00:00
Emelia Smith
2138f3e40f Move 'add more' inside table toolbar on reports (#35963) 2025-09-02 07:54:58 +00:00
github-actions[bot]
fb736eaed5 New Crowdin Translations (automated) (#35979)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-02 07:41:43 +00:00
Matt Jankowski
786891c333 Remove unused local vars from user mailer warning (#35977) 2025-09-02 07:35:53 +00:00
Eugen Rochko
7fc884ba00 Fix banned text being able to be circumvented via unicode (#35978) 2025-09-02 07:29:03 +00:00
Claire
6e09dd10a7 Fix stale interaction counts being served for quotes over streaming (#35967) 2025-09-01 20:12:20 +00:00
Emelia Smith
314d5f0d7a Fix batch table toolbar displaying under status media (#35962) 2025-09-01 16:02:31 +00:00
Emelia Smith
15401e6988 Support displaying polls in Admin UI (#35933)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-09-01 14:59:03 +00:00
diondiondion
6f8187e595 Update Visibility modal copy & preferences link (#35969) 2025-09-01 11:17:27 +00:00
Claire
ab698ff521 Move posting defaults to their own preferences sub-category (#35966) 2025-09-01 08:31:07 +00:00
renovate[bot]
f21d9f64db Update Node.js to 22.19 (#35954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-01 07:21:09 +00:00
github-actions[bot]
e95e6064ae New Crowdin Translations (automated) (#35960)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-09-01 07:20:25 +00:00
Matt Jankowski
70da14871f Remove unused require of rubygems/package from ip blocks CLI class (#35957) 2025-09-01 06:23:39 +00:00
Matt Jankowski
40242fafee Use partial for severed relationship download area (#35945) 2025-08-29 15:19:59 +00:00
Matt Jankowski
ee4b0a223c Add coverage for Relay model (#35950) 2025-08-29 15:18:52 +00:00
ioflow
3c578dbdcd Fix incorrect RSS feed MIME type in gzip_types directive (#35562) 2025-08-29 14:17:04 +00:00
Claire
4fa203e69e Rename unknown quote policy value to unsupported_policy (#35955) 2025-08-29 13:50:37 +00:00
Claire
8b7685d956 Add default quote policy to API (#35948) 2025-08-29 11:37:20 +00:00
Claire
4ecbaea8bb Conditionally bump API version depending on quote post feature flag (#35939) 2025-08-29 10:33:35 +00:00
Matt Jankowski
5f1e6a5886 Fix failure to verify changes in api/v1/accounts/credentials spec (#35951) 2025-08-29 08:14:23 +00:00
github-actions[bot]
97d80265b4 New Crowdin Translations (automated) (#35953)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-29 07:32:22 +00:00
Kazuki Nagasawa
d93572ea90 Fix 404 error after deleting status from detail view (#35800) (#35881) 2025-08-28 20:50:19 +00:00
renovate[bot]
d880f397df Update dependency @vitejs/plugin-react to v5.0.2 (#35942)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 14:04:38 +00:00
renovate[bot]
3ab2d14782 Update Yarn to v4.9.4 (#35837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 12:39:01 +00:00
diondiondion
229cbc6a24 Add hotkey Q for quoting the currently focused post (#35941) 2025-08-28 12:33:23 +00:00
github-actions[bot]
dccd29fe25 New Crowdin Translations (automated) (#35936)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-28 08:47:16 +00:00
Claire
b6cd32281f Accomodate longer text in quote/reblog dropdown (#35930) 2025-08-27 17:20:02 +00:00
Claire
02de05dc27 Add ability to list quotes of one's own posts (#35914) 2025-08-27 15:38:52 +00:00
Claire
9c55b2fbe4 Enable quotes of manually-reviewed quotes with a different label (#35925) 2025-08-27 14:55:39 +00:00
Claire
a6a0d982ef Fix streaming and handling of quoted_update notifications (#35924) 2025-08-27 14:53:54 +00:00
Matt Jankowski
c2b7b28919 Use strict locals and remove unused value in card partial (#35919) 2025-08-27 13:22:39 +00:00
Matt Jankowski
5cb7dfafcc Move lengthy ruby logic from mailer view to helper (#35911) 2025-08-27 13:15:33 +00:00
Matt Jankowski
35a06319fa Rely on mail_to helper default name arg value (#35913) 2025-08-27 13:05:13 +00:00
renovate[bot]
6f34db9bb7 Update dependency sass to v1.91.0 (#35906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 12:51:06 +00:00
Matt Jankowski
3f1d78f3c6 Use target account from group_by result in admin/reports/index (#35920) 2025-08-27 12:50:16 +00:00
Claire
c00ed9c913 Add digest re-check before removing followers in synchronization mechanism (#34273) 2025-08-27 12:12:55 +00:00
Claire
66f5ad42e2 Fix API return types for interaction API helpers (#35915) 2025-08-27 08:13:34 +00:00
github-actions[bot]
8dcd195527 New Crowdin Translations (automated) (#35922)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-27 08:13:21 +00:00
diondiondion
4180f754d0 Fix error alerts for deleted quotes (#35918) 2025-08-26 16:34:14 +00:00
Claire
6ad0ddebe4 Fix quotes counting (#35917) 2025-08-26 15:51:56 +00:00
Claire
3c9bde31f7 Fix WebUI fetching deleted quote in an endless loop (#35909) 2025-08-26 10:07:02 +00:00
Matt Jankowski
a8166d28ed Add coverage for "live TOS" and "no TOS" paths in tos/drafts spec (#35902) 2025-08-26 08:43:43 +00:00
github-actions[bot]
460043a969 New Crowdin Translations (automated) (#35908)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-26 08:40:16 +00:00
Matt Jankowski
4f41b7c089 Relax hard-coded attr names in system specs (#35903) 2025-08-26 08:23:45 +00:00
Matt Jankowski
4738a18e52 Use default action of persisted records on edit forms (#35904) 2025-08-25 17:26:25 +00:00
Claire
3c17ccab37 Rearrange posting defaults settings (#35896) 2025-08-25 15:50:22 +00:00
Claire
496370801a Add quotes_count to serializer specs (#35901) 2025-08-25 15:49:52 +00:00
Claire
f3a932d8a1 Add quoted_update notification type (#35820) 2025-08-25 15:44:18 +00:00
Claire
7aba79ade9 Fix quotes_count attribute on Status not being serialized (#35895) 2025-08-25 14:33:25 +00:00
Claire
7a76f71d99 Ensure quote policy is displayed as “Just me” when disabled because of visibility (#35894) 2025-08-25 13:08:37 +00:00
Claire
012450e87d Consolidate labels for quote policy settings (#35893) 2025-08-25 12:30:37 +00:00
Claire
d8c07be021 Fix Edit as well as “Delete & Redraft” on a poll not inserting empty option (#35892) 2025-08-25 12:25:35 +00:00
Claire
2560242972 Add quotes_count to statuses stats (#35832) 2025-08-25 12:21:28 +00:00
diondiondion
94ad088482 Fix broken custom radio buttons & checkboxes in modals (#35891) 2025-08-25 09:12:46 +00:00
github-actions[bot]
b771fc0880 New Crowdin Translations (automated) (#35878)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-25 06:54:53 +00:00
Shlee
61a21d6a36 Add crossorigin back to inert css (regression? of #30687) (#35876) 2025-08-25 06:54:47 +00:00
renovate[bot]
d85743576c Update dependency vite-plugin-svgr to v4.5.0 (#35885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-25 06:46:10 +00:00
renovate[bot]
a1ca52ed8f Update dependency @types/react to v18.3.24 (#35888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-25 06:43:24 +00:00
Claire
f6e822e1f5 Fix issue with Stoplight 5.3 and DragonflyDB (#35868) 2025-08-22 23:59:25 +00:00
Claire
3fd629cf84 Do not mark remote quotes of local posts as approved before request (#35860) 2025-08-22 23:59:18 +00:00
Matt Jankowski
20bc34ca52 Rely on pluck for the SELECT in RuleTranslation.languages (#35826) 2025-08-22 23:58:40 +00:00
github-actions[bot]
abe5413638 New Crowdin Translations (automated) (#35859)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-22 14:53:27 +00:00
Echo
4df50b9c7e Visibility Modal fixes (#35865) 2025-08-22 12:34:37 +00:00
diondiondion
a1c7b853ec Improve feed item focus outlines (#35864) 2025-08-22 12:10:07 +00:00
diondiondion
118c30fbc7 Improvements for keyboard navigation in feeds (#35853) 2025-08-22 09:57:39 +00:00
diondiondion
511e10df34 Fix layout shift caused by "Who to follow" widget (#35861) 2025-08-22 09:44:10 +00:00
Emelia Smith
4f494781c1 Refactor to reuse the one status partial across moderation tools (#35644) 2025-08-21 14:51:11 +00:00
Echo
f85f0eee1b Composer quote improvements (#35835)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-08-21 14:07:31 +00:00
renovate[bot]
e770303968 Update dependency rubyzip to v3.0.2 (#35845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 11:40:40 +00:00
renovate[bot]
23de9c7e6c Update dependency vite-plugin-static-copy to v3.1.2 (#35846)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 11:33:11 +00:00
github-actions[bot]
f696f794cf New Crowdin Translations (automated) (#35844)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-21 07:42:45 +00:00
renovate[bot]
83f151947e Update dependency core-js to v3.45.1 (#35843)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 07:29:58 +00:00
Matt Jankowski
20a71a5479 Disable Metrics/* cops (#35000) 2025-08-20 17:04:36 +00:00
renovate[bot]
181134153d Update dependency ruby-vips to v2.2.5 (#35836)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 15:31:58 +00:00
Claire
45ec4c93c0 Fix display of quotes in threads in WebUI (#35834) 2025-08-20 14:39:58 +00:00
Matt Jankowski
50cf327819 Use debug? query method on httplog initializer check (#35833) 2025-08-20 12:06:35 +00:00
Echo
8268323d7f Status quote button (#35822) 2025-08-20 10:09:57 +00:00
github-actions[bot]
54da7ff12b New Crowdin Translations (automated) (#35829)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-20 08:31:57 +00:00
renovate[bot]
e28fe4199d Update dependency vite-plugin-pwa to v1.0.3 (#35830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 08:09:02 +00:00
Claire
8d3bca3bb8 Fix serialization of quote policies in nested quotes (#35828) 2025-08-19 17:13:43 +00:00
Echo
f16f8b51b8 Move language and visibility buttons above CW field (#35824) 2025-08-19 15:29:10 +00:00
Claire
831a24ae15 Fix self-destruct scheduler behavior on some Redis setups (#35823) 2025-08-19 14:16:30 +00:00
Claire
736751e5de Change indexes on quotes to efficiently list quotes of a given account or quoted status (#35819) 2025-08-19 12:50:30 +00:00
renovate[bot]
421dbf9a7f Update opentelemetry-ruby (non-major) (#35784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 07:07:46 +00:00
renovate[bot]
7ac16582be Update dependency prometheus_exporter to v2.3.0 (#35791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 07:07:26 +00:00
renovate[bot]
5d24cb7514 Update dependency @vitejs/plugin-react to v5.0.1 (#35817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 06:51:08 +00:00
renovate[bot]
a81b6beeca Update dependency vite to v7.1.3 (#35818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 06:51:05 +00:00
github-actions[bot]
10dc66be64 New Crowdin Translations (automated) (#35816)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-19 06:49:37 +00:00
Matt Jankowski
ce813ad144 Avoid method that makes tokens while checking for tokens (#35815) 2025-08-19 06:49:34 +00:00
Echo
d4b2e7f771 Composer Quote UI (#35805)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-08-18 16:52:28 +00:00
Michael Stanclift
28bf811a07 Update Dockerfile to use Debian 'trixie' (#35768) 2025-08-18 16:45:31 +00:00
Claire
255d8f3f8c Fix e-mail confirmation bypassing username approval (#35806) 2025-08-18 16:37:13 +00:00
Alan
95111e88e3 Update color alpha blending to use Sass color functions (#35787) 2025-08-18 15:55:38 +00:00
Claire
c2fcf4183c Fix “Delete & Redraft” as well as “Edit” unexpectedly reseting quote policy (#35808) 2025-08-18 14:51:16 +00:00
Evаn Summers
f5754f2a36 Mention admin@localhost in DEVELOPMENT.md for non-Vagrant setups (#35704) 2025-08-18 14:13:44 +00:00
Claire
72bd1ed4b3 Fix updates to quote policy not being federated (#35804) 2025-08-18 08:34:45 +00:00
Matt Jankowski
9d15b85d3b Include update in the resources args for api/web/push_subscriptions route (#35801) 2025-08-18 07:35:56 +00:00
github-actions[bot]
a18e6199ef New Crowdin Translations (automated) (#35795)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-18 07:03:54 +00:00
renovate[bot]
83fcd1cf4f Update dependency rails-i18n to v8.0.2 (#35796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-18 07:01:07 +00:00
github-actions[bot]
25f1a515f8 New Crowdin Translations (automated) (#35788)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-15 07:12:01 +00:00
Matt Jankowski
4de21056ff Update sidekiq to version 8.0.7 (#34824) 2025-08-14 15:25:31 +00:00
Echo
651e51a82e Allow editing status quote policy (#35762) 2025-08-14 15:04:32 +00:00
Claire
a2cddb9eac Disallow making private posts quotable (#35780) 2025-08-14 13:58:25 +00:00
Claire
b0ce1ce49d Fix tootctl admin create not bypassing reserved username checks (#35779) 2025-08-14 13:35:19 +00:00
renovate[bot]
ac0581fd22 Update devDependencies (non-major) (#35660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-08-14 08:36:38 +00:00
Matt Jankowski
93923a4af2 First pass coverage addition for antispam class (#35771) 2025-08-14 07:57:18 +00:00
renovate[bot]
9fc81adc7b Update opentelemetry-ruby (non-major) (#35777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 07:51:51 +00:00
renovate[bot]
734dbbcb14 Update dependency rubocop-rails to v2.33.3 (#35766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 07:35:12 +00:00
renovate[bot]
2112416761 Update dependency @rails/ujs to v7.1.502 (#35772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 07:34:30 +00:00
renovate[bot]
c0f64a6603 Update dependency rails to v8.0.2.1 (#35776)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 07:34:27 +00:00
Claire
e2e19544ae Update Vagrantfile (#35765) 2025-08-13 20:45:10 +00:00
Claire
2648bbdc51 Add PUT /api/v1/statuses/:status_id/interaction_policy (#35769) 2025-08-13 15:51:16 +00:00
Echo
49a6e4cbb5 Move composer buttons to top (#35749) 2025-08-13 14:09:45 +00:00
Echo
7cf53dbf63 Redirect on success for standalone compose (#35763) 2025-08-13 13:52:29 +00:00
renovate[bot]
613cbf720c Update dependency eslint-plugin-jsdoc to v54 (#35760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 07:28:21 +00:00
github-actions[bot]
bce4a572cd New Crowdin Translations (automated) (#35759)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-13 07:26:03 +00:00
Claire
c893b82ace Remove unnecessary limitation on manual build-security workflow (#35752) 2025-08-13 07:12:11 +00:00
renovate[bot]
eda8ddddd6 Update dependency json-schema to v6 (#35754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 16:38:54 +00:00
Claire
63d3f28b20 Fix reply indicator displaying wrong avatar in rare cases (#35756) 2025-08-12 16:16:03 +00:00
renovate[bot]
783b33e2da Update dependency pino to v9.8.0 (#35722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 13:54:40 +00:00
renovate[bot]
5847117573 Update dependency eslint-plugin-jsdoc to v53 (#35742)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 13:54:22 +00:00
Claire
258e5c4938 Fix interaction policy changes in implicit updates not being saved (#35751) 2025-08-12 12:19:29 +00:00
renovate[bot]
69ee043f9d Update dependency rspec-rails to v8.0.2 (#35750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 09:53:52 +00:00
renovate[bot]
28b5477c6f Update dependency rubocop-rails to v2.33.1 (#35747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 09:27:07 +00:00
Matt Jankowski
5ee83a680b Update stoplight to version 5.3.1 (#35129) 2025-08-12 08:15:22 +00:00
renovate[bot]
d9d7914a8d Update dependency vite to v7.1.2 (#35746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 07:44:48 +00:00
github-actions[bot]
ca3d67e88d New Crowdin Translations (automated) (#35745)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-12 07:40:37 +00:00
Matt Jankowski
61f0ce654f Update rubocop-rails to version 2.33.0 (#35741) 2025-08-12 07:29:02 +00:00
Renaud Chaput
379f12ea00 Update to Vite 7 (#35598) 2025-08-11 12:35:36 +00:00
Echo
bf15b1d65d Prevent props being added as HTML attributes (#35739) 2025-08-11 12:00:35 +00:00
renovate[bot]
4cabc031e6 Update dependency rubyzip to v3 (#35576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 10:12:14 +00:00
renovate[bot]
9c5b4b2639 Update dependency sass to v1.90.0 (#35695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 08:57:42 +00:00
Claire
8a7e84a475 Add test for Delete of inlined QuoteAuthorization (#35724) 2025-08-11 08:55:23 +00:00
Claire
0e99d428b2 Change serialization of Delete activities for QuoteAuthorization to inline the latter (#35725) 2025-08-11 08:55:18 +00:00
renovate[bot]
dbab3912bd Update dependency hiredis-client to v0.25.2 (#35732)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 08:08:40 +00:00
github-actions[bot]
3c6c9d650d New Crowdin Translations (automated) (#35729)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-11 08:08:33 +00:00
Matt Jankowski
b827a0a6a8 Allow CustomEmoji to normalize its own domain (#35726) 2025-08-11 07:33:36 +00:00
renovate[bot]
ce1680e6f9 Update dependency core-js to v3.45.0 (#35667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 15:32:15 +00:00
Matt Jankowski
b8982cb881 Use around_action to preserve stored location in auth/sessions#destroy (#35716) 2025-08-08 15:31:50 +00:00
renovate[bot]
5d934c2835 Update dependency httplog to v1.7.3 (#35721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 10:06:23 +00:00
David Roetzel
868c46bc76 Add delivery failure handling to FASP jobs (#35723) 2025-08-08 09:46:09 +00:00
github-actions[bot]
1fd147bf2b New Crowdin Translations (automated) (#35720)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-08 09:00:51 +00:00
Echo
8ee4b3f906 Update Redux to handle quote posts (#35715) 2025-08-08 08:44:05 +00:00
Matt Jankowski
a485f97d21 Replace EmailHelper module with normalizes via model concern (#35702) 2025-08-07 13:47:47 +00:00
Claire
496a5f423e Inline instrument quote post in outgoing QuoteRequest activities (#35713) 2025-08-07 13:19:18 +00:00
Claire
836a2bfee0 Fix handling of inlined instrument in incoming QuoteRequest (#35714) 2025-08-07 12:52:29 +00:00
github-actions[bot]
39a3ffaf2f New Crowdin Translations (automated) (#35708)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-07 08:46:11 +00:00
Claire
d4e0784182 Fix quote revocation not being streamed (#35710) 2025-08-07 08:03:15 +00:00
Claire
e615d2f069 Change quote to be fetched with quoted account rather than random follower (#35709) 2025-08-07 08:02:29 +00:00
Claire
ac59772dc6 Change icon of quote notification mails (#35701) 2025-08-06 15:20:16 +00:00
Claire
4838085d66 Bundle quotes and mentions in the same quickfilter bar since quotes don't have their own icon (#35700) 2025-08-06 14:54:03 +00:00
Claire
9ec99ffef1 Add quote_approval_policy parameter when posting and editing statuses (#35699) 2025-08-06 14:23:12 +00:00
Matt Jankowski
6e48322055 Add spec for CanonicalEmailBlock.matching_email scope (#35692) 2025-08-06 12:19:43 +00:00
Claire
55a98580aa Add UI for revoking quote posts (#35689) 2025-08-06 11:52:56 +00:00
Claire
c8f263c419 Export interaction policies for local posts over ActivityPub (#35697) 2025-08-06 11:31:36 +00:00
github-actions[bot]
6f6e7d8d49 New Crowdin Translations (automated) (#35694)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-06 09:06:22 +00:00
renovate[bot]
fcbd4b7afb Update dependency annotaterb to v4.18.0 (#35676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 08:43:14 +00:00
Matt Jankowski
4c2ddbf2c4 Update rubocop to version 1.79.2 (#35688) 2025-08-06 08:42:53 +00:00
Claire
a4c05c694f Fix quote notification filtering and add settings (#35690) 2025-08-05 16:15:16 +00:00
Matt Jankowski
a968849e9c Use normalizes api for UsernameBlock username change (#35606) 2025-08-05 14:10:28 +00:00
Claire
ffeb5da991 Bump version to v4.4.3 (#35687) 2025-08-05 13:32:20 +00:00
Claire
edece2a197 Merge commit from fork 2025-08-05 14:53:04 +02:00
Claire
1fd3510b32 Change the quote revocation REST API endpoint to return updated quote post (#35677) 2025-08-05 09:42:58 +00:00
renovate[bot]
9c0a10f662 Update dependency capybara-playwright-driver to v0.5.7 (#35675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 08:19:58 +00:00
github-actions[bot]
54fd1c1f9b New Crowdin Translations (automated) (#35674)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-05 08:19:55 +00:00
Matt Jankowski
8131268256 Replace unprocessable_entity -> unprocessable_content (#35658) 2025-08-05 07:42:08 +00:00
Claire
5318957ab3 Fix serialization of quote post notification groups (#35670) 2025-08-04 20:58:59 +00:00
Claire
081d38679f Add quote notifications to WebUI (#35653) 2025-08-04 18:12:37 +00:00
Echo
570c9d16be Performance regression fixes (#35664) 2025-08-04 17:16:12 +00:00
Echo
28b0e5ee78 Provides legacy fallback for browser that don't support regex flag v (#35659) 2025-08-04 17:15:46 +00:00
Claire
cb0b608fa7 Ensure quoted user is given access to see the post (#35665) 2025-08-04 16:06:59 +00:00
Claire
32791c9745 Accept remote quotes of local quotes according to set policy (#35629) 2025-08-04 15:27:46 +00:00
Claire
0153a239db Avoid nested transactions when fetching quote posts (#35657) 2025-08-04 14:34:05 +00:00
renovate[bot]
49dcbd22d6 Update eslint (non-major) (#35661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 14:19:48 +00:00
Claire
5ed9410de0 Disable ActiveRecord query cache in Create critical path (#35662) 2025-08-04 14:15:02 +00:00
David Roetzel
eb273f904f Make WorkerBatch spec more robust (#35656) 2025-08-04 14:04:40 +00:00
Eugen Rochko
d8397040d7 Fix allow with approval option not working on username blocks (#35655) 2025-08-04 13:10:19 +00:00
Eugen Rochko
c8ec649830 Fix "new replies available" miscounting previously known replies (#35654) 2025-08-04 12:49:17 +00:00
Claire
80aadc55df Add missing mailer for quote notifications (#35652) 2025-08-04 10:44:59 +00:00
github-actions[bot]
f68bd21600 New Crowdin Translations (automated) (#35634)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-04 09:20:50 +00:00
renovate[bot]
59e729e3fe Update dependency ioredis to v5.7.0 (#35617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 08:34:04 +00:00
renovate[bot]
895975e2ab Update dependency haml_lint to v0.66.0 (#35649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 08:33:41 +00:00
renovate[bot]
1228e000a1 Update dependency pg to v1.6.1 (#35559)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 08:33:17 +00:00
renovate[bot]
3d3d2c93d6 Update DefinitelyTyped types (non-major) (#35647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 08:12:11 +00:00
Claire
3caa318dfe Fix WebUI crashing for accounts with null URL (#35651) 2025-08-04 07:49:12 +00:00
Claire
927cfea5ae Update dependency ruby-saml to v1.18.1 (#35650) 2025-08-04 07:49:08 +00:00
David Roetzel
05cdd3f6eb Track delivery failures to FASP (#35628) 2025-08-04 07:43:34 +00:00
renovate[bot]
bf46cffd9e Update peter-evans/create-pull-request action to v7.0.8 (#35648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 06:48:16 +00:00
renovate[bot]
ab1a5b4822 Update Node.js to 22.18 (#35621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 06:46:38 +00:00
Claire
591df1f205 Add support for local quote stamps (#35626) 2025-08-01 14:55:25 +00:00
Matt Jankowski
483da67204 Remove unused obscured_counter helper method (#35627) 2025-08-01 14:28:45 +00:00
David Roetzel
fba24cc4eb Add minute resolution to DeliveryFailureTracker (#35625) 2025-08-01 13:29:22 +00:00
renovate[bot]
bcab6a9318 Update dependency sidekiq-scheduler to v6 (#35596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 11:57:13 +00:00
Claire
6268321316 Ensure blocked users cannot quote (#35624) 2025-08-01 09:34:12 +00:00
Claire
29a5f059d2 Add notifications for inbound quotes (#35618) 2025-08-01 09:12:46 +00:00
github-actions[bot]
d09f866daa New Crowdin Translations (automated) (#35622)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-08-01 07:57:38 +00:00
renovate[bot]
1d86df685b Update dependency puma to v6.6.1 (#35620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 06:34:05 +00:00
Echo
6bca52453a Emoji Rendering Efficiency (#35568) 2025-07-31 17:30:14 +00:00
Claire
0e249cba4b Revoke quote posts when those get deleted (#35614) 2025-07-31 14:23:36 +00:00
Claire
19db4cb7c1 Add example of quote post with a preview card to development sample data (#35616) 2025-07-31 13:39:26 +00:00
Echo
b81670776f Modern Emoji: Use local storage to opt-in (#35605) 2025-07-31 13:33:34 +00:00
renovate[bot]
8452ec6f3b Update dependency rubocop to v1.79.1 (#35613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 12:35:22 +00:00
Claire
f7388af721 Fix Chewy::UndefinedUpdateStrategy in dev:populate_sample_data task when Elasticsearch is enabled (#35615) 2025-07-31 12:34:21 +00:00
Claire
2dfdcc7dcb Add API endpoints to view and revoke one's quoted posts (#35578) 2025-07-31 09:36:51 +00:00
Claire
572a0e128d Change quote verification to not bypass authorization flow for mentions (#35528) 2025-07-31 07:39:53 +00:00
github-actions[bot]
2131d1ff23 New Crowdin Translations (automated) (#35611)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-31 07:26:24 +00:00
renovate[bot]
fc1abed0dc Update dependency database_cleaner-active_record to v2.2.2 (#35610)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 07:14:48 +00:00
Claire
e5826777b6 Fix friends-of-friends recommendations suggesting already-requested accounts (#35604) 2025-07-30 16:28:26 +00:00
Eugen Rochko
b80e95b2aa Change new replies to be loaded automatically if thread previously empty (#35603) 2025-07-30 16:18:58 +00:00
Eugen Rochko
2257612deb Fix "new replies available" reporting a false positive for re-fetched root status (#35602) 2025-07-30 16:09:16 +00:00
Eugen Rochko
92bf55afd0 Change design of quote posts in web UI (#35584) 2025-07-30 15:53:42 +00:00
Osman
39250ab961 Sort auditable accounts (#35272) 2025-07-30 15:08:05 +00:00
Claire
efc0d237af Fix synchronous recursive fetching of deeply-nested quoted posts (#35600) 2025-07-30 14:39:30 +00:00
Claire
31ba52a57b Change StatusReachFinder to consider quotes as well as reblogs (#35601) 2025-07-30 14:07:01 +00:00
Matt Jankowski
e8e6cf9510 Add coverage to user spec for missing last_sign_in_at scenario (#35587) 2025-07-30 13:46:58 +00:00
Matt Jankowski
139025fce0 Fix wrong policy authorization in admin controllers (#35588) 2025-07-30 13:17:53 +00:00
Matt Jankowski
3146109b08 Add MediaAttachment.combined_media_file_size method (#35570) 2025-07-30 12:57:51 +00:00
Matt Jankowski
8896d6c1b1 Use attribute for User#bypass_registration_checks? (#35580) 2025-07-30 12:55:36 +00:00
renovate[bot]
25add0af31 Update dependency cross-env to v10 (#35564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 12:15:56 +00:00
renovate[bot]
027657b590 Update dependency eslint-plugin-jsdoc to v52 (#35561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 12:14:33 +00:00
Matt Jankowski
7e6b134222 Extract User::Activity concern (#35581) 2025-07-30 11:19:11 +00:00
Matt Jankowski
4042bc959b Use increment for User#update_sign_in! optional change (#35573) 2025-07-30 10:38:04 +00:00
Matt Jankowski
6dc55a2f4e Extract User::Confirmation concern (#35582) 2025-07-30 10:33:57 +00:00
Matt Jankowski
15b72591d4 Use attribute for User#external? (#35579) 2025-07-30 09:48:18 +00:00
Matt Jankowski
fd779c25b9 Avoid return not_found in statuses controller (#35585) 2025-07-30 09:28:20 +00:00
Matt Jankowski
ece49baa38 Use generated query method for check in admin/domain_blocks (#35589) 2025-07-30 09:27:29 +00:00
Matt Jankowski
ba9fa54f9c Add coverage for more admin/domain_blocks scenarios (#35590) 2025-07-30 08:52:47 +00:00
github-actions[bot]
1c89309db0 New Crowdin Translations (automated) (#35592)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-30 08:37:33 +00:00
Eugen Rochko
a368b29e27 Fix number of new replies increasing even if reply was not fetched (#35577) 2025-07-29 10:47:18 +00:00
Eugen Rochko
20bbd20ef1 Add ability to block words in usernames (#35407) 2025-07-29 10:19:15 +00:00
Eugen Rochko
8cf7a77808 Fix async refresh never being finished when status cannot be fetched (#35500) 2025-07-29 09:23:32 +00:00
Eugen Rochko
d121007927 Change "new replies available" notice to be above replies in web UI (#35575) 2025-07-29 09:00:27 +00:00
Claire
3eca8cce1c Add second set of blocked text that applies to accounts regardless of account age (#35563) 2025-07-29 08:59:16 +00:00
github-actions[bot]
d299b0d576 New Crowdin Translations (automated) (#35574)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-29 08:59:00 +00:00
Matt Jankowski
ea976a5ffb Fix unnecessary account note addition for already-muted moved-to users (#35566) 2025-07-29 08:23:19 +00:00
Matt Jankowski
bedbab74b9 Use bundler version 2.7.1 (#35567) 2025-07-29 08:22:04 +00:00
Matt Jankowski
c587c44975 Fix Lint/NonLocalExitFromIterator cop in JSON-LD helper (#34948) 2025-07-28 15:35:37 +00:00
David Roetzel
f1b9868980 Bypass registration checks for seeded admin user (#35565) 2025-07-28 13:25:16 +00:00
Matt Jankowski
8d6f033326 Fix Style/GuardClause in move worker (#35520) 2025-07-28 12:55:05 +00:00
Colin Dean
b5cebf45ea Swap order of translation restoration and service credit on post card (#33619) 2025-07-28 11:33:11 +00:00
renovate[bot]
513b6289d6 chore(deps): update dependency strong_migrations to v2.5.0 (#35560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 09:34:14 +00:00
Matt Jankowski
040a638ab9 Fix Style/GuardClause in Tag (#35522) 2025-07-28 08:54:29 +00:00
Matt Jankowski
eb73ae2f86 Fix Style/GuardClause in User#regenerate_feed! (#35523) 2025-07-28 08:53:52 +00:00
Matt Jankowski
916cc1365e Fix Style/GuardClause in User#wrap_email_confirmation (#35524) 2025-07-28 08:52:59 +00:00
Matt Jankowski
86ef4d4884 Add skip_* methods to check move worker process (#35538) 2025-07-28 08:50:19 +00:00
renovate[bot]
456c3bda0b chore(deps): update dependency omniauth-cas to v3.0.2 (#35558)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 08:41:31 +00:00
Matt Jankowski
63daf6b317 Fix Style/GuardClause in PreviewCard (#35525) 2025-07-28 08:40:37 +00:00
Matt Jankowski
e183d7dd9a Fix Style/GuardClause in app/helpers (#35526) 2025-07-28 08:40:20 +00:00
Matt Jankowski
2acc942bb4 Fix Style/GuardClause in WebfingerResource (#35531) 2025-07-28 08:39:11 +00:00
Matt Jankowski
038de44110 Fix Style/GuardClause in Webfinger lib (#35532) 2025-07-28 08:38:55 +00:00
renovate[bot]
3b01f98c11 fix(deps): update dependency vite-plugin-pwa to v1.0.2 (#35529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 08:32:47 +00:00
Matt Jankowski
7cd3738c19 Add with_list_account scope to List model (#35539) 2025-07-28 08:26:29 +00:00
Eugen Rochko
018e5e303f Fix jobs being added to batch after they might already execute (#35496) 2025-07-28 08:20:12 +00:00
github-actions[bot]
a57a9505d4 New Crowdin Translations (automated) (#35537)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-28 08:14:11 +00:00
Matt Jankowski
720ee96969 Move repeated snowflake ID gather to base classes (#35554) 2025-07-28 08:14:06 +00:00
Matt Jankowski
73f72ec8fe Use attribute for defining rate_limit boolean (#35555) 2025-07-28 08:08:31 +00:00
Matt Jankowski
5d69157e62 Prefer delegated nil-wrapping methods to safe navigation (#35541) 2025-07-28 08:03:23 +00:00
Matt Jankowski
b464b87c2b Use moved? query method where relevant (#35542) 2025-07-28 08:02:21 +00:00
Matt Jankowski
9d0d6f011c Add coverage for AnnouncementReaction model (#35543) 2025-07-28 07:59:32 +00:00
william light
f3786e0816 hotkeys: only match just() when no modifiers are held (#35535) 2025-07-26 05:51:50 +00:00
Claire
e93efe0e13 Fix unnecessary duplication in vite code for finding entrypoints (#35515) 2025-07-25 16:38:21 +00:00
Claire
5a88b7f683 Add experimental basic quote post authoring (#35355) 2025-07-25 12:35:24 +00:00
Roni Laukkarinen
81da377d8e Fix Vite build failure on Node.js v20 due to undefined file.parentPath (#35509) 2025-07-25 07:59:49 +00:00
github-actions[bot]
d950298d29 New Crowdin Translations (automated) (#35514)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-25 07:29:48 +00:00
Matt Jankowski
2e35defeec Update rubocop to version 1.79.0 (#35502) 2025-07-25 07:22:05 +00:00
Matt Jankowski
960f693219 Use field partial in admin account show view (#35503) 2025-07-25 07:21:08 +00:00
Matt Jankowski
e5e977c24f Fix Style/GuardClause in worker rescues (#35508) 2025-07-25 07:18:46 +00:00
Claire
a863e68d17 Add restrictions on which quote posts can trend (#35507) 2025-07-24 15:45:12 +00:00
renovate[bot]
847b37552a chore(deps): update dependency httplog to v1.7.2 (#35506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 15:08:50 +00:00
Echo
dfaca794bf Force modern emoji experimental to be dev mode only (#35505) 2025-07-24 14:55:00 +00:00
diondiondion
6fc77a545b fix: Fix TypeError on pages with empty feeds (#35504) 2025-07-24 14:30:56 +00:00
renovate[bot]
c871c7398e fix(deps): update dependency @vitejs/plugin-react to v4.7.0 (#35421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 09:00:32 +00:00
Mayank
8baed8b90e remove redundant title text from media modal images in web UI (#35468) 2025-07-24 08:58:22 +00:00
David Roetzel
8a1c43bf3b Use default for preselected default privacy post setting (#35422) 2025-07-24 08:23:41 +00:00
Matt Jankowski
5c01ccc31f Set flash options via redirect where possible (#35370) 2025-07-24 08:03:28 +00:00
renovate[bot]
67be8208db chore(deps): update dependency haml_lint to v0.65.1 (#35497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 07:52:34 +00:00
David Roetzel
7d136feccf Bump version to v4.4.2 (#35498) 2025-07-24 07:51:56 +00:00
Matt Jankowski
e54e96d61f Extract params hash for api/v1/push/subscriptions#create (#35475) 2025-07-24 07:49:20 +00:00
github-actions[bot]
469304359a New Crowdin Translations (automated) (#35495)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-24 07:49:09 +00:00
Matt Jankowski
290e36d7e8 Finish migration of api/web/push_subscriptions controller->request spec (#35482) 2025-07-24 07:46:09 +00:00
Matt Jankowski
4241ce9888 Silence json key duplicate warning from api/web/push_subscriptions (#35481) 2025-07-24 07:33:53 +00:00
Echo
7f9ad7eabf Enables cross-origin Web Workers (#35483) 2025-07-24 07:14:27 +00:00
Claire
a6794c066d Fix “Expand this post” link including user @undefined (#35478) 2025-07-23 23:09:24 +00:00
Echo
7d3ef27a8d Fix accidentally instantiating Web Worker (#35473) 2025-07-23 14:01:45 +00:00
Eugen Rochko
14a781fa24 Add button to load new replies in web UI (#35210) 2025-07-23 13:42:07 +00:00
renovate[bot]
cec26d58c8 chore(deps): update dependency json-ld-preloaded to v3.3.2 (#35470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 08:13:04 +00:00
renovate[bot]
593cdae404 fix(deps): update dependency axios to v1.11.0 (#35471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 08:12:16 +00:00
Matt Jankowski
d2ef9ac04a Use report_range method in admin/tags to generate reporting period (#35465) 2025-07-23 08:02:07 +00:00
Matt Jankowski
d065ec9298 Combine assignment params in admin/accounts#batch action (#35463) 2025-07-23 07:59:14 +00:00
Matt Jankowski
b19131202f Extract constants for captcha directives/sources (#35439) 2025-07-23 07:55:54 +00:00
Matt Jankowski
70058ae49d Add Form::BaseBatch class for "batch form update" objects (#35458) 2025-07-23 07:50:35 +00:00
renovate[bot]
62a23b1985 chore(deps): update dependency rspec-sidekiq to v5.2.0 (#35436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 07:42:48 +00:00
renovate[bot]
6917cd2f40 chore(deps): update dependency propshaft to v1.2.1 (#35451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 07:40:24 +00:00
diondiondion
d36236cbcd fix: Fix glitchy status keyboard navigation (#35455) 2025-07-23 07:39:36 +00:00
Echo
760d00b7f7 Emoji Rendering (#35424) 2025-07-22 14:43:15 +00:00
Echo
0af2c4829f Creates Vite plugin to generate assets file (#35454) 2025-07-22 13:58:04 +00:00
github-actions[bot]
be3dc5b508 New Crowdin Translations (automated) (#35453)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-22 10:10:37 +00:00
renovate[bot]
ae13063460 chore(deps): update dependency eslint-plugin-jsdoc to v51 (#35026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 16:31:10 +00:00
renovate[bot]
1ed58aaaf2 fix(deps): update dependency axios to v1.10.0 (#35050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 16:28:49 +00:00
renovate[bot]
bf17895d19 chore(deps): update dependency chromatic to v13 (#35064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 16:28:01 +00:00
Matt Jankowski
20b3c43dde Update playwright-ruby-client to version 1.54.0 (#35448) 2025-07-21 16:24:55 +00:00
diondiondion
ee21f72211 fix: Don't submit post when pressing Enter in CW field (#35445) 2025-07-21 15:57:20 +00:00
diondiondion
4de5cbd6f5 refactor: Replace react-hotkeys with custom hook (#35425) 2025-07-21 14:43:38 +00:00
Matt Jankowski
fab95b8dae Add coverage for api/v1/invites scenarios (#35389) 2025-07-21 14:17:53 +00:00
renovate[bot]
4d2655490c chore(deps): update dependency nokogiri to v1.18.9 (#35433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 12:25:28 +00:00
github-actions[bot]
6bb4113d0a New Crowdin Translations (automated) (#35428)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-21 09:01:34 +00:00
Matt Jankowski
3e76f01db4 Use bundler version 2.7.0 (#35430) 2025-07-21 08:07:53 +00:00
diondiondion
cf580d8c90 Don't require JSDoc params & return in TS (#35426) 2025-07-18 18:34:04 +00:00
github-actions[bot]
dbd0c3cbd9 New Crowdin Translations (automated) (#35420)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-18 07:52:05 +00:00
diondiondion
3771f9e04b fix: Fix quote posts styling on notifications page (#35411) 2025-07-17 17:28:30 +00:00
diondiondion
a842b14c84 refactor: Disable useDrag hook when main menu is not openable (#35414) 2025-07-17 12:39:40 +00:00
diondiondion
138746bdcc fix: Add lang attribute to current composer language in alt text modal (#35412) 2025-07-17 11:12:54 +00:00
Echo
9e6a9efe10 Replace Ruby Vite plugins (#35195)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-07-17 10:04:04 +00:00
renovate[bot]
19626ad89f chore(deps): update dependency httplog to v1.7.1 (#35406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 09:32:57 +00:00
github-actions[bot]
7e2d92284c New Crowdin Translations (automated) (#35408)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-17 09:31:22 +00:00
renovate[bot]
20fb6bd788 chore(deps): update docker.io/ruby docker tag to v3.4.5 (#35397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 09:03:40 +00:00
diondiondion
faffb73cbd fix: Improve a11y of custom select menus in notifications settings (#35403) 2025-07-17 08:56:00 +00:00
renovate[bot]
02a4e30594 chore(deps): update dependency propshaft to v1.2.0 (#35398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 08:48:10 +00:00
renovate[bot]
f10b522f0c chore(deps): update dependency ruby to v3.4.5 (#35395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 08:47:39 +00:00
github-actions[bot]
331599fa2b New Crowdin Translations (automated) (#35399)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-16 12:24:09 +00:00
diondiondion
558b9c90a6 fix: Fix selected item in poll select menus is unreadable in Firefox (#35402) 2025-07-16 12:03:39 +00:00
Renaud Chaput
7d2dda97b3 Remove the "to triage" label status (#35394) 2025-07-16 07:17:21 +00:00
diondiondion
74fc4dbacf refactor: Only remove pointer-events when necessary (#35390) 2025-07-15 15:57:31 +00:00
diondiondion
07912a1cb7 Update age limit wording (#35387) 2025-07-15 15:46:44 +00:00
Claire
d36bf3b6fb Fix support for quote verification in implicit status updates (#35384) 2025-07-15 15:36:12 +00:00
Claire
594976a538 Refactor ActivityPub::Activity::Accept and ActivityPub::Activity::Reject specs (#35382) 2025-07-15 13:18:37 +00:00
Matt Jankowski
0efb889a9c Extract constant for attribution domains limit in account (#35350) 2025-07-15 13:08:24 +00:00
Claire
c0eabe289b Always give local quote of remote posts a quote request URI (#35383) 2025-07-15 13:01:03 +00:00
Claire
5bbc3c5ebb Fix quoteAuthorization type in JSON-LD context (#35380) 2025-07-15 09:32:02 +00:00
github-actions[bot]
d5e2cf5d3c New Crowdin Translations (automated) (#35379)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-15 08:16:56 +00:00
diondiondion
82a6ff091f fix: Improve Dropdown component accessibility (#35373) 2025-07-15 07:52:34 +00:00
renovate[bot]
4b8e60682d fix(deps): update dependency react-select to v5.10.2 (#35352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 06:32:38 +00:00
renovate[bot]
6c2db9b1cf fix(deps): update dependency vite-plugin-static-copy to v3.1.1 (#35367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 06:32:00 +00:00
Matt Jankowski
30344d6abf Confirm User#login_activities in auth/sessions spec (#35372) 2025-07-15 06:31:00 +00:00
Matt Jankowski
1637297085 Add coverage for CustomFilterStatus model (#35374) 2025-07-15 06:28:40 +00:00
Matt Jankowski
dec1fb71f4 Add coverage for FollowRecommendationMute model (#35376) 2025-07-15 06:27:36 +00:00
Matt Jankowski
7273f6c03c Move shared params to common method in admin/reports/actions (#35353) 2025-07-14 09:23:18 +00:00
Matt Jankowski
a3ffd2edf8 Use sequence for unique names on webauthn cred fabricator (#35356) 2025-07-14 09:20:50 +00:00
renovate[bot]
a2c5eace88 chore(deps): update dependency annotaterb to v4.17.0 (#35368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 07:07:21 +00:00
github-actions[bot]
a643d9d498 New Crowdin Translations (automated) (#35358)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-14 06:21:56 +00:00
Claire
3b52dca405 Fix quote attributes missing from Mastodon's context (#35354) 2025-07-11 16:35:06 +00:00
Echo
853a0c466e Make bio hashtags open the local page instead of the remote instance (#35349) 2025-07-11 15:18:34 +00:00
Echo
94bceb8683 Expose enabled features to the frontend (#35348) 2025-07-11 13:15:22 +00:00
Claire
88b0f3a172 Simplify DatabaseViewRecord.refresh (#35252) 2025-07-11 08:36:05 +00:00
github-actions[bot]
b69b5ba775 New Crowdin Translations (automated) (#35344)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-11 08:14:39 +00:00
Matt Jankowski
c442589593 Use ActiveModel::Attributes in FollowLimitable concern (#35327) 2025-07-10 07:40:56 +00:00
renovate[bot]
28633a504a chore(deps): update dependency json-schema to v5.2.1 (#35337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 07:38:07 +00:00
Matt Jankowski
ad78701b6f Mark private methods in AnnualReport::TopStatuses (#35256) 2025-07-10 07:35:40 +00:00
Matt Jankowski
1496488771 Add Status#not_replying_to_account scope for annual report classes (#35257) 2025-07-10 07:35:04 +00:00
renovate[bot]
dd3d958e75 fix(deps): update dependency core-js to v3.44.0 (#35284)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 07:23:54 +00:00
github-actions[bot]
b363a3651d New Crowdin Translations (automated) (#35335)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-10 07:23:27 +00:00
renovate[bot]
86645fc14c chore(deps): update dependency rubocop to v1.78.0 (#35289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 07:23:23 +00:00
Matt Jankowski
f9beecb343 Improve Accounts CLI prune spec (#35302) 2025-07-10 07:23:09 +00:00
Matt Jankowski
4ecfbd3920 Add Status.only_polls (and without polls) scope (#35330) 2025-07-10 07:13:22 +00:00
Claire
a315934314 Fix styling of external log-in button (#35320) 2025-07-10 06:56:40 +00:00
Claire
e9170e2de1 Bump version to v4.4.1 (#35329) 2025-07-09 16:22:25 +00:00
Claire
5cfc1fabcf Fix nearly every sub-directory being crawled as part of Vite build (#35323) 2025-07-09 14:34:16 +00:00
David Roetzel
786b12e379 Relax error restriction in initializer (#35321) 2025-07-09 14:22:47 +00:00
Claire
e7c5c25de8 Fix replying from media modal or pop-in-player tagging user @undefined (#35317) 2025-07-09 12:13:51 +00:00
Echo
a1e8813522 Emoji Indexing and Search (#35253) 2025-07-09 09:55:41 +00:00
github-actions[bot]
76c1446416 New Crowdin Translations (automated) (#35310)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-09 09:10:55 +00:00
Claire
8bd2c87399 Fix support for special characters in various environment variables (#35314)
Co-authored-by: Matt Jankowski <matt@jankowski.online>
2025-07-09 08:58:41 +00:00
Matt Jankowski
1e2d77f2c7 Use if_exists: true when removing duplicate indexes (#35309) 2025-07-09 08:45:29 +00:00
Matt Jankowski
fb6c22f5c2 Use touch to record viewing annual report (#35296) 2025-07-09 08:04:00 +00:00
Matt Jankowski
f7259f625f Prefer on: :update in Tag validation declaration (#35297) 2025-07-09 08:03:39 +00:00
Claire
b628a98d32 Bump version to v4.4.0 (#35291) 2025-07-08 14:26:43 +00:00
Miguel Landaeta
d8fa807998 Bump linzer to 0.7.7 (#35258) 2025-07-08 13:04:16 +00:00
Echo
ef66d8379c Add option to set emoji preferences behind feature flag (#35282) 2025-07-08 10:51:11 +00:00
David Roetzel
8ee6cee36e Better error response to malformed headers (#35278) 2025-07-08 09:31:04 +00:00
github-actions[bot]
71b2120e5c New Crowdin Translations (automated) (#35286)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-08 09:22:38 +00:00
renovate[bot]
b10078633c chore(deps): update dependency libvips to v8.17.1 (#35283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 08:35:54 +00:00
diondiondion
b5eebd4d2b fix: Fix can't skip search field by tabbing (#35281) 2025-07-07 15:10:51 +00:00
Claire
fdefc4d2b4 Add ability to manually trigger i18n uploads (#35279) 2025-07-07 09:22:22 +00:00
github-actions[bot]
f6b2609353 New Crowdin Translations (automated) (#35269)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-07 08:21:51 +00:00
Matt Jankowski
bdffdcb12f Remove unused scopes in Account model (#35276) 2025-07-07 08:07:01 +00:00
Claire
1ebb87a6a8 Fix incorrect name in scheduler configuration (#35263) 2025-07-04 07:51:01 +00:00
github-actions[bot]
83660ee381 New Crowdin Translations (automated) (#35261)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-04 07:34:54 +00:00
David Roetzel
1fa72d6c44 Raise better exception on FASP error responses (#35262) 2025-07-04 07:25:42 +00:00
Andy Piper
5a7c0d42f7 Add specific language confirming that we test with BrowserStack and Chromatic (#35248)
Signed-off-by: Andy Piper <andypiper@users.noreply.github.com>
2025-07-03 20:51:32 +00:00
Matt Jankowski
e8d2432e6a Fix intermittent failure of TOS model spec from effective date collision (#35244) 2025-07-03 16:28:47 +00:00
Matt Jankowski
2af17adc34 Use ActiveModel::Attributes in admin/status_batch_action (#35255) 2025-07-03 14:43:36 +00:00
Claire
e97f43399b Fix error handling for blank actions in account moderation action form (#35246) 2025-07-03 14:42:48 +00:00
github-actions[bot]
c66c5fd73d New Crowdin Translations (automated) (#35250)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-03 09:47:57 +00:00
diondiondion
3c0767f543 fix: Remove focus highlight when status is clicked in light mode (#35251) 2025-07-03 07:51:12 +00:00
renovate[bot]
70cd1fdc63 fix(deps): update dependency vite-plugin-pwa to v1.0.1 (#35223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-03 07:32:51 +00:00
renovate[bot]
39028dde40 chore(deps): update dependency scenic to v1.9.0 (#35226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-03 07:32:15 +00:00
Matt Jankowski
6e39b5ef04 Use ActiveModel::Attributes for admin/account_action boolean values (#35247) 2025-07-03 07:28:07 +00:00
Matt Jankowski
49db8a9662 Use Account#targeted_reports association where needed (#35249) 2025-07-03 07:28:03 +00:00
Andy Piper
2cfa6cb0e0 Update README with testing tool references. (#35236)
Signed-off-by: Andy Piper <andypiper@users.noreply.github.com>
2025-07-02 12:00:15 +00:00
Matt Jankowski
1ae3510ede Add coverage for TOS interstitial interruption flow of web app controller concern (#35235) 2025-07-02 09:21:32 +00:00
github-actions[bot]
6f1135d763 New Crowdin Translations (automated) (#35238)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-02 09:17:03 +00:00
Echo
52bc2f64f4 Import Emojibase data (#35229) 2025-07-02 08:58:39 +00:00
renovate[bot]
b1375328e1 chore(deps): update dependency faker to v3.5.2 (#35239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 08:02:33 +00:00
renovate[bot]
9443e2cc4b chore(deps): update dependency opentelemetry-instrumentation-http to v0.25.1 (#35240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 08:02:30 +00:00
Renaud Chaput
3a533c6c8d Bump version to 4.5.0-alpha.1 (#35231) 2025-07-02 08:00:43 +00:00
Matt Jankowski
c047014214 Add coverage for valid_locale_or_nil languages helper method (#34866) 2025-07-02 07:34:42 +00:00
Claire
68b05e994f Fix error on log-in from old users requiring ToS interstitial when said ToS has been removed (#35233) 2025-07-01 17:43:59 +00:00
Claire
a203a05eb1 Fix missing newline in changelog (#35227) 2025-07-01 12:31:55 +00:00
Claire
68090cd8be Bump version to v4.4.0-rc.1 (#35196) 2025-07-01 09:21:32 +00:00
github-actions[bot]
dd064aaa36 New Crowdin Translations (automated) (#35224)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-01 09:02:26 +00:00
diondiondion
e6e8974785 fix: Fix column header overlapping mobile menu on old Safari (#35225) 2025-07-01 08:53:43 +00:00
Renaud Chaput
498af63b85 chore: validate the project funding.json association (#35221) 2025-06-30 16:21:52 +00:00
David Roetzel
c357a7f8d6 Add optional bulk mailer settings (#35203) 2025-06-30 14:49:14 +00:00
David Roetzel
bae258925c Persist follow recommendations from FASP (#35218) 2025-06-30 13:39:36 +00:00
diondiondion
e8a603b18f fix: Fix popover/dialog backgrounds not blurred on older Webkit browsers (#35220) 2025-06-30 12:16:54 +00:00
renovate[bot]
f00c8e3245 chore(deps): update dependency haml_lint to v0.64.0 (#35215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 11:25:47 +00:00
Claire
153af19f55 Add specs for PublicFileServer middleware (#35219) 2025-06-30 11:23:11 +00:00
Matt Jankowski
964916c71b Add coverage for TermsOfService scopes/validations (#35204) 2025-06-30 10:28:14 +00:00
github-actions[bot]
8782e860b6 New Crowdin Translations (automated) (#35208)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-30 09:33:15 +00:00
renovate[bot]
641c0c6393 fix(deps): update dependency pg to v8.16.3 (#35213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 09:33:09 +00:00
renovate[bot]
0383100b0e fix(deps): update dependency ws to v8.18.3 (#35214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 09:33:03 +00:00
Jeong Arm
87db28cebc Fix unexpected "cache-control: no-cache" header in public file server (#35209) 2025-06-30 09:06:18 +00:00
David Roetzel
ac4b735c67 Add FASP account search support (#34033) 2025-06-30 07:42:34 +00:00
github-actions[bot]
6d017dbf10 New Crowdin Translations (automated) (#35202)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-27 08:37:39 +00:00
renovate[bot]
0d650780e2 fix(deps): update dependency postcss-preset-env to v10.2.4 (#35194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 14:17:31 +00:00
Eugen Rochko
1804a87193 Change terms of service generator to not be displayed (#35127) 2025-06-26 13:26:41 +00:00
diondiondion
9576434d47 fix: Fix outdated icon in notifications permissions banner (#35193) 2025-06-26 13:25:12 +00:00
diondiondion
b804ed0cba refactor: Tweak wording of "discard draft?" confirmation dialogs (#35192) 2025-06-26 13:03:24 +00:00
David Roetzel
48451b782d Move email env var reading to yml files (#35191) 2025-06-26 12:18:30 +00:00
Claire
2e0a00ab46 Fix search operators sometimes getting lost (#35190) 2025-06-26 10:35:49 +00:00
github-actions[bot]
a9f2ec45da New Crowdin Translations (automated) (#35189)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-26 08:40:39 +00:00
diondiondion
c1ef1f62d5 fix: Prevent scrolling behind menus and modals in Safari iOS (#35183) 2025-06-25 19:22:11 +00:00
Claire
dbb20f76a7 Fix crash in development environment with no prebuilt assets and no vite dev server running (#35177) 2025-06-25 14:20:07 +00:00
renovate[bot]
91741214e1 chore(deps): update node.js to 22.17 (#35166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-25 14:01:46 +00:00
diondiondion
8fa32ca8ba fix: Fix search icon overlapping text on Trending page (#35175) 2025-06-25 13:26:44 +00:00
Matt Jankowski
8285194451 Move layout setup for OAuth views to controllers (#35176) 2025-06-25 13:26:17 +00:00
Claire
392eaf1010 Ensure consistent ordering of rule translations in admin interface (#35174) 2025-06-25 13:15:59 +00:00
diondiondion
c6dddbb66e fix: Prevent content scrolling behind main menu (part 1) (#35173) 2025-06-25 12:12:49 +00:00
Echo
c52848b444 Storybook Helpers (#35158) 2025-06-25 11:20:11 +00:00
Claire
0a7418e6d8 Change rule translation interface to display english name and populate empty translations (#35170) 2025-06-25 10:02:19 +00:00
Emelia Smith
72f2f35bfb Implement Instance Moderation Notes (#31529) 2025-06-25 08:15:44 +00:00
github-actions[bot]
0f9f27972d New Crowdin Translations (automated) (#35165)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-25 08:05:57 +00:00
Matt Jankowski
9f16f41678 Remove patch for unsupported redis version (#35155) 2025-06-25 07:53:38 +00:00
Matt Jankowski
47fda2df2c Update OAuth inflection to match spec (#35160) 2025-06-25 07:52:30 +00:00
Matt Jankowski
377289c961 Add coverage for doorkeeper model extensions (#35161) 2025-06-25 07:50:20 +00:00
Matt Jankowski
f852da50f6 Add User#email_domain method to extract domain from email address (#35159) 2025-06-25 07:22:19 +00:00
diondiondion
8ba1487f30 fix: Fix inaccessible "Clear search" button (#35152) 2025-06-24 14:36:05 +00:00
diondiondion
644da36336 feat: More obvious loading state when submitting a post (#35153) 2025-06-24 14:08:48 +00:00
diondiondion
fb5b8ae0a5 fix: Improve status focus indicators (#35150) 2025-06-24 09:34:43 +00:00
Matt Jankowski
fd902c04f7 Use config_for for omniauth enabled values (#35015) 2025-06-24 09:32:13 +00:00
Echo
8ee8231a43 Adds Redux and React-Intl to storybook (#35094) 2025-06-24 09:31:27 +00:00
Claire
c4128d89c9 Fix Firefox not updating spellcheck language in textarea (#35148) 2025-06-24 09:08:00 +00:00
Claire
9954acf61d Fix “Alt text” button submitting form in moderation interface (#35147) 2025-06-24 09:04:26 +00:00
renovate[bot]
0276354775 fix(deps): update dependency @vitejs/plugin-react to v4.6.0 (#35137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 08:05:24 +00:00
github-actions[bot]
dba636da7a New Crowdin Translations (automated) (#35144)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-24 07:58:50 +00:00
renovate[bot]
43e9186e5d chore(deps): update dependency haml_lint to v0.63.0 (#35146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 07:54:49 +00:00
Matt Jankowski
0338733531 Add model coverage and scopes to RuleTranslation class (#35098) 2025-06-24 07:44:50 +00:00
Eugen Rochko
1be48d0cab Change terms of service e-mail job to be iterable (#35126) 2025-06-24 07:41:39 +00:00
renovate[bot]
e60014ed9c fix(deps): update dependency pg to v8.16.2 (#35111)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 07:40:46 +00:00
Matt Jankowski
0d7f1584bc Move remaining _map method specs from account to mappings spec (#35142) 2025-06-24 07:40:24 +00:00
Matt Jankowski
36f01af6c4 Add Status#only_reblogs scope for annual report classes (#35141) 2025-06-24 06:54:55 +00:00
renovate[bot]
16057f550d fix(deps): update dependency pg-connection-string to v2.9.1 (#35112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 06:51:37 +00:00
renovate[bot]
e79ecabd0a chore(deps): update dependency strong_migrations to v2.4.0 (#35140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 06:51:09 +00:00
Matt Jankowski
c023ebc87a Limit count to pending&trending on admin/trends/tags page (#35120) 2025-06-23 13:30:12 +00:00
Matt Jankowski
ebc6897afb Extract method to DRY up month/year grouping in AnnualReport::TimeSeries class (#35113) 2025-06-23 12:18:29 +00:00
Matt Jankowski
b08ccaa5b3 Extract Account::Mappings concern from "interactions" (#35119) 2025-06-23 12:02:14 +00:00
diondiondion
b9b1500fc5 fix: Update hashtags when (un)following a hashtag (#35101) 2025-06-23 11:44:59 +00:00
diondiondion
d28a4428b5 refactor: Use new main menu as "Getting started" column in Advanced Web UI (#35117) 2025-06-23 09:59:47 +00:00
diondiondion
6166e61638 fix: Keep user on Compose page when changing screen size, #34937 (#35105) 2025-06-23 09:53:21 +00:00
github-actions[bot]
e5aa8c1ff3 New Crowdin Translations (automated) (#35090)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-23 08:43:53 +00:00
Matt Jankowski
8837fd8c54 Update rubocop to version 1.77.0 (#35128) 2025-06-23 07:40:11 +00:00
Claire
ac039d5f13 Fix clicking a status multiple times causing duplicate entries in browser history (#35118) 2025-06-21 09:00:38 +00:00
David Roetzel
adf812efb3 Fix missing terms of services link (#35115) 2025-06-21 08:59:47 +00:00
diondiondion
3f743b1a07 fix: Fix SCSS lint warnings (#35102) 2025-06-21 08:58:12 +00:00
renovate[bot]
204ff46f7e chore(deps): update dependency rspec-rails to v8.0.1 (#35110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 10:20:24 +00:00
Matt Jankowski
54f9a1b43b Extract secret size constants in Webhook model (#35104) 2025-06-20 10:05:24 +00:00
Matt Jankowski
e9b1c1edfe Simplify WebauthnCredential constant limit math (#35107) 2025-06-20 10:04:14 +00:00
David Roetzel
0ec6c26af3 Fix error when RFC9421 signatures are used (#35109) 2025-06-20 09:44:26 +00:00
diondiondion
08597a1819 fix: Prevent click on content warning banner in notification from opening the post (#35096) 2025-06-20 09:41:24 +00:00
diondiondion
102a7635d6 fix: Prevent mobile navbar from overscrolling (#35074) 2025-06-18 11:55:16 +00:00
Matt Jankowski
b1fe35d7d2 Update rubocop to version 1.76.2 (#35070) 2025-06-18 09:54:17 +00:00
renovate[bot]
adf01b021c chore(deps): update dependency debug to v1.11.0 (#35079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 09:53:05 +00:00
Matt Jankowski
aac51707d1 Use ENV.fetch for ffmpeg/ffprobe defaults (#35081) 2025-06-18 09:43:25 +00:00
renovate[bot]
aa345c4630 chore(deps): update dependency opentelemetry-instrumentation-http to '~> 0.25.0' (#35088)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 09:42:53 +00:00
renovate[bot]
70c6e09e0f chore(deps): update dependency annotaterb to v4.16.0 (#35087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 09:42:17 +00:00
renovate[bot]
1a7fd2f446 chore(deps): update dependency faraday-httpclient to v2.0.2 (#35082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 09:41:24 +00:00
diondiondion
474464ffff fix: Tweak focus style & spacing of list/hashtags expand/collapse button (#35075) 2025-06-17 17:54:23 +00:00
Claire
98f98249ff Bump version to v4.4.0-beta.2 (#35076) 2025-06-17 16:43:17 +00:00
Claire
af157939d9 Fix sidebar rest position on mobile layout on RTL locales (#35067)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-06-17 14:41:51 +00:00
diondiondion
9d07a31380 fix: Bring back vertical borders on search input in new mobile menu (light theme) (#35072) 2025-06-17 13:46:07 +00:00
github-actions[bot]
1cb026f962 New Crowdin Translations (automated) (#35062)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-17 10:39:43 +00:00
diondiondion
59dc0bd6f3 fix: Improve support for safe area insets (#35065) 2025-06-17 09:53:14 +00:00
diondiondion
69f298731e fix: Fix glitchy iOS media attachment drag interactions (#35057) 2025-06-16 15:37:04 +00:00
Echo
af6ee7f230 Change color of pinned carousel to avoid confusion with PMs (#35056) 2025-06-16 15:32:59 +00:00
Eugen Rochko
7c4393e719 Change order of items in navigation panel in web UI (#35029) 2025-06-16 15:06:33 +00:00
Claire
013c527406 Fix vite helpers crash in development mode (#35035)
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
2025-06-16 14:25:12 +00:00
Claire
c644413f8a Fix database error instead of form validation on ToS effective date conflict (#35053) 2025-06-16 13:44:48 +00:00
Matt Jankowski
ca3cc36549 Allow more flexible host/port treatment with LOCAL_DOMAIN values in tests (#35040) 2025-06-16 13:12:23 +00:00
David Roetzel
b2506478ba Add FASP follow recommendation support (#34964) 2025-06-16 10:43:27 +00:00
diondiondion
ad32834ccd fix: Fix zoomed images blurry in Safari (#35052) 2025-06-16 10:37:41 +00:00
diondiondion
4d29215ad3 fix: Fix unresponsive status banner button (#35051) 2025-06-16 07:35:32 +00:00
renovate[bot]
0544898b8b fix(deps): update dependency babel-plugin-formatjs to v10.5.39 (#35049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 06:28:26 +00:00
renovate[bot]
aef1b4f5b7 chore(deps): update dependency webauthn to v3.4.1 (#35048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 06:28:22 +00:00
github-actions[bot]
070455cad0 New Crowdin Translations (automated) (#35044)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-16 06:26:25 +00:00
Matt Jankowski
6f2aba989f Move "limited federation mode" config to x.mastodon area (#35041) 2025-06-16 06:13:03 +00:00
diondiondion
ed4788a342 fix: Remove redundant focus stop within status (#35037) 2025-06-13 16:47:02 +00:00
diondiondion
71d4ce1c22 fix: Ensure digits in media player time readout have a consistent width (#35038) 2025-06-13 15:30:40 +00:00
Claire
e8868af079 Fix crash in StatusEdit serializer when quote posts are involved (#35036) 2025-06-13 14:59:52 +00:00
diondiondion
e28f86cbe5 fix: Fix glitchy video player controls in Safari (#35034) 2025-06-13 14:28:49 +00:00
David Roetzel
83d5016ca3 Re-instate rescuing signature errors (#35033) 2025-06-13 13:36:33 +00:00
diondiondion
672d411c2c fix: Fix unreadable text in high-contrast-mode (#35032) 2025-06-13 12:58:30 +00:00
github-actions[bot]
5ce055759f New Crowdin Translations (automated) (#35030)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-13 08:20:19 +00:00
Matt Jankowski
ab7f50ce4e Reduce hard coding of LOCAL_DOMAIN env value throughout tests (#35025) 2025-06-13 07:58:22 +00:00
diondiondion
f92ff6d699 fix: Hide limited user info in hover card (#35024) 2025-06-12 16:13:17 +00:00
David Roetzel
319fbbbfac Experimental Async Refreshes API (#34918) 2025-06-12 14:54:00 +00:00
Echo
825312d4b0 Fix theme name requirement regression with efficient lookup by name (#35007)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-06-12 14:09:45 +00:00
diondiondion
2254f47702 fix: Avatars too large on notifications page (#35023) 2025-06-12 14:05:34 +00:00
diondiondion
9f94ddcd40 fix: Fix error caused by attempt to fetch non-existent quote (#35022) 2025-06-12 13:29:55 +00:00
Eugen Rochko
ccf7760205 Change viewport behaviour to cover (#34986)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-06-12 12:26:24 +00:00
Eugen Rochko
24d943fee0 Change media attachments in moderated posts to not be accessible (#34872) 2025-06-12 08:53:02 +00:00
Eugen Rochko
d1fb957361 Change "Explore" to "Trending" and remove explanation banners (#34985) 2025-06-12 08:29:42 +00:00
github-actions[bot]
0ea4267839 New Crowdin Translations (automated) (#35021)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-12 08:23:59 +00:00
Eugen Rochko
6fcbd7c17a Remove prominent logout button from profile card in sidebar in web UI (#35017) 2025-06-12 08:13:31 +00:00
Matt Jankowski
1200f70ae7 Simplify QR/OTP generation in 2FA/confirmations spec (#35019) 2025-06-12 06:54:51 +00:00
Matt Jankowski
3509064801 Reduce hard coding of instance hostname in AdminMailer specs (#35020) 2025-06-12 06:53:39 +00:00
diondiondion
d4d77ace97 fix: Fetch missing nested quotes (#35016) 2025-06-12 03:24:58 +00:00
Echo
3aed93711c Make React Spring respect animation preferences (#35018) 2025-06-11 16:51:55 +00:00
Eugen Rochko
f53bb4cd7d Add "More" to the sidebar menu with links to mutes, blocks, and so on (#34987) 2025-06-11 16:12:04 +00:00
diondiondion
9896bed85f fix: Fix direction of media gallery arrows (#35014) 2025-06-11 15:17:14 +00:00
diondiondion
2c828748a3 fix: Fix cramped layout of follower recommendations on small viewports (#34967) 2025-06-11 15:15:12 +00:00
David Roetzel
1623d54ec0 Start local prometheus_exporter server only in puma/sidekiq startup (#35005) 2025-06-11 13:37:59 +00:00
Claire
722fb1ff55 Fix quoted posts appearing between text and media (#35011) 2025-06-11 13:17:42 +00:00
Claire
933ee420c3 Remove some unused CSS classes (#35012) 2025-06-11 13:17:07 +00:00
renovate[bot]
0cdf11d6ad fix(deps): update dependency postcss-preset-env to v10.2.3 (#35009)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 12:12:53 +00:00
Eugen Rochko
a13b33d851 Change navigation layout on small screens in web UI (#34910) 2025-06-11 11:55:43 +00:00
Echo
8cf246e4d3 Prevent two composers from being shown (#35006) 2025-06-11 11:12:39 +00:00
Matt Jankowski
629bb74451 Replace selenium-webdriver with playwright (#34867) 2025-06-10 16:33:46 +00:00
renovate[bot]
b8cc9b3290 fix(deps): update dependency postcss-preset-env to v10.2.2 (#34998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 14:12:56 +00:00
renovate[bot]
2c085ea044 fix(deps): update dependency core-js to v3.43.0 (#34999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 14:12:53 +00:00
renovate[bot]
bb89a64af0 chore(deps): update dependency http to '~> 5.3.0' (#34994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 14:12:44 +00:00
Echo
c543e823ab Ensure featured carousel respects tags (#34995) 2025-06-10 13:28:41 +00:00
Claire
7a7e0ba4cd Add basic support for remote attachments with multiple media types (#34996) 2025-06-10 13:26:29 +00:00
Claire
c727701839 Fix crash in /about when server returns cached rules without translations attribute (#34997) 2025-06-10 13:25:24 +00:00
Eugen Rochko
1824b1fd29 Fix broken colors in some themed SVGs in web UI (#34988) 2025-06-10 08:36:42 +00:00
renovate[bot]
1bf8a642f0 fix(deps): update dependency sass to v1.89.2 (#34993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 08:36:27 +00:00
Matt Jankowski
dc2cfd50a0 Fix Style/OptionalBooleanParameter cop (#34968) 2025-06-10 08:17:35 +00:00
Eugen Rochko
a2a6117143 Fix wrong dimensions on blurhash previews of news articles in web UI (#34990) 2025-06-10 08:11:46 +00:00
renovate[bot]
24803db2bc fix(deps): update dependency @vitejs/plugin-react to v4.5.2 (#34992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 08:11:21 +00:00
renovate[bot]
90183b6c27 chore(deps): update dependency rubocop to v1.76.1 (#34991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 07:55:27 +00:00
github-actions[bot]
c3022fe10f New Crowdin Translations (automated) (#34973)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-10 07:52:52 +00:00
Eugen Rochko
f3d60a4a6f Fix wrong styles on action bar in media modal in web UI (#34989) 2025-06-10 07:42:29 +00:00
renovate[bot]
1dd8a99d9f fix(deps): update dependency use-debounce to v10.0.5 (#34982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 07:38:19 +00:00
renovate[bot]
66a42c11ba fix(deps): update dependency rollup-plugin-visualizer to v6.0.3 (#34974)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 07:38:00 +00:00
renovate[bot]
132f32dd70 chore(deps): update dependency libvips to v8.17.0 (#34956)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 07:37:16 +00:00
Claire
e557769a3c Remove broken link to /start/share in welcome e-mail (#34962) 2025-06-08 13:58:53 +00:00
Matt Jankowski
d887790e86 Update SafeReblogInsert concern to match Rails 8 method (#34966) 2025-06-06 15:25:09 +00:00
Claire
d0c6f30378 Add fasp queue to sidekiq queue system check (#34965) 2025-06-06 15:23:16 +00:00
Claire
ba75ba3adc Change github workflow for chromatic to only run on official Mastodon repository (#34963) 2025-06-06 12:57:41 +00:00
diondiondion
c92e21813e fix: Fix indentation of quote posts in threads (#34961) 2025-06-06 12:37:56 +00:00
PGray
076005eae2 fix: update search column input on param change (#34951) 2025-06-06 12:25:38 +00:00
Renaud Chaput
b10fde673d Update rack to 3.1.16 (#34959) 2025-06-06 10:15:55 +00:00
Claire
68810643d8 Rewrite AccountNote as Typescript functional component (#34925)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-06-06 09:59:26 +00:00
diondiondion
f2cfa4f482 feat: Add Storybook for component documentation, testing, and development (#34907)
Co-authored-by: Echo <ChaosExAnima@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-06-06 09:27:29 +00:00
Claire
989ca63b59 Remove inbound_quotes feature flag (#34958) 2025-06-06 08:25:59 +00:00
Matt Jankowski
f2cdbefa3c Align versions in templates to current/plausible values (#34952) 2025-06-06 07:42:57 +00:00
Claire
86627624f1 Fix quote post streaming edge cases (#34957) 2025-06-06 07:32:24 +00:00
github-actions[bot]
c09f9a93f1 New Crowdin Translations (automated) (#34953)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-06 07:15:31 +00:00
renovate[bot]
963f4977d6 fix(deps): update dependency postcss-preset-env to v10.2.1 (#34947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 06:29:40 +00:00
renovate[bot]
5fde019e39 chore(deps): update dependency ruby-vips to v2.2.4 (#34949)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 06:29:19 +00:00
Claire
520974e052 Add ability to filter quote posts in home timeline (#34946) 2025-06-05 15:36:51 +00:00
Claire
3d474807bf Change “legacy” non-fast-tracked quote posts to not be displayed as such (#34945) 2025-06-05 13:53:57 +00:00
renovate[bot]
09208eafa4 chore(deps): update yarn to v4.9.2 (#34916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 13:37:43 +00:00
renovate[bot]
25c4574480 chore(deps): update dependency opentelemetry-instrumentation-faraday to '~> 0.27.0' (#34917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 13:37:37 +00:00
Matt Jankowski
e2c5a2abaa Fix Style/FetchEnvVar cop in repo.rake (#34903)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-06-05 13:37:33 +00:00
renovate[bot]
a80f77a996 fix(deps): update dependency pino-http to v10.5.0 (#34920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 13:36:22 +00:00
Matt Jankowski
1297ad759e Update rubocop to version 1.76.0 (#34926) 2025-06-05 12:09:05 +00:00
Echo
1fdcaaebbb Add a way to easily unpin profiles from the featured account area (#34931) 2025-06-05 10:23:01 +00:00
Claire
375add0c83 Fix account note textarea being interactable before the relationship gets fetched (#34932) 2025-06-05 08:49:26 +00:00
renovate[bot]
a4bc438010 chore(deps): update dependency annotaterb to v4.15.0 (#34870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:47:34 +00:00
Matt Jankowski
1d152d2181 Replace local vars with let in JS-enabled system specs (#34905) 2025-06-05 07:08:52 +00:00
github-actions[bot]
250c3b0c1f New Crowdin Translations (automated) (#34939)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-05 07:05:25 +00:00
diondiondion
1dafd8c9dd fix: Fix broken audio player layout in Safari, #34930 (#34933) 2025-06-04 15:34:13 +00:00
diondiondion
6637ecb460 fix: Fix Safari volume bug, #34797 (#34929) 2025-06-04 14:35:29 +00:00
Echo
e9f197740d Ensure carousel slides don't overflow (#34927) 2025-06-04 14:29:34 +00:00
Claire
12c0e58d9a Fix mastodon-streaming container image builds on 4.4 (#34921) 2025-06-04 09:36:15 +00:00
Claire
f7c19226cf Bump version to v4.4.0-beta.1 (#34912) 2025-06-04 08:47:18 +00:00
diondiondion
b64ad77e21 fix: Fix unauthenticated familiar followers request, #34911 (#34914) 2025-06-04 08:25:10 +00:00
renovate[bot]
37bf59f76a fix(deps): update dependency @vitejs/plugin-react to v4.5.1 (#34898)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 07:41:52 +00:00
Claire
129e72b914 Revert "Add telemetry for status / bio formatting (#32677)" (#34906) 2025-06-03 15:06:32 +00:00
Matt Jankowski
6d12831686 Fix Rails/OutputSafety cop from rubocop todo via inline disable (#34893) 2025-06-03 08:00:50 +00:00
github-actions[bot]
efe8def0c6 New Crowdin Translations (automated) (#34897)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-03 07:57:07 +00:00
Claire
8224178e8c Revert "Remove cookie rotator (#32289)" (#34892) 2025-06-02 13:51:27 +00:00
Claire
d4bbe8b719 Fix blocked accounts not being automatically removed from trending statuses (#34891) 2025-06-02 13:38:47 +00:00
Eugen Rochko
c77158c8b7 Fix nested buttons in search popout in web UI (#34871) 2025-06-02 12:21:31 +00:00
David Roetzel
9c80b16401 Accept HTTP Message Signatures (RFC9421) (#34814) 2025-06-02 09:27:08 +00:00
github-actions[bot]
eb42425427 New Crowdin Translations (automated) (#34874)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-06-02 08:24:52 +00:00
Claire
00b56932de Fix handling of featured tag removal (#34887) 2025-06-02 08:09:30 +00:00
Eugen Rochko
d47199dd4b Fix not being able to scroll dropdown on touch devices in web UI (#34873) 2025-06-02 08:07:42 +00:00
renovate[bot]
0182fc389e fix(deps): update dependency sass to v1.89.1 (#34875)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 07:49:37 +00:00
renovate[bot]
7036d5ad25 chore(deps): update dependency csv to v3.3.5 (#34881)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 07:49:11 +00:00
Lukas Martini
11481df4dc Fix sidekiq health check in docker-compose for sidekiq 7 (#34879) 2025-06-02 07:48:37 +00:00
Matt Jankowski
0d5123199f Fix Style/FormatStringToken cop (#34861) 2025-06-02 07:37:33 +00:00
renovate[bot]
1b11bb23d7 chore(deps): update definitelytyped types (non-major) (#34884)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 07:37:15 +00:00
renovate[bot]
d051366308 chore(deps): update dependency linzer to v0.7.3 (#34885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 07:09:25 +00:00
Matt Jankowski
7f4ec7d9cf Include matrix values in upload artifact names (#34876) 2025-05-31 15:52:28 +00:00
Claire
32b521b7f4 Fix multiple issues in quoted posts hydration (#34864) 2025-05-31 15:20:31 +00:00
Eugen Rochko
44d71d59ef Add icon to header of pinned posts carousel in web UI (#34869) 2025-05-30 22:24:34 +00:00
diondiondion
1cc853059f refactor(Pinned posts carousel): Don't animate initial resize (#34868) 2025-05-30 18:06:41 +00:00
Matt Jankowski
7efe20337c Fix Style/FetchEnvVar cop in omniauth config (#34862) 2025-05-30 15:32:47 +00:00
diondiondion
54ad57ea95 fix: Fix autoplay not working properly in AudioModal, #34841 (#34865) 2025-05-30 15:26:08 +00:00
Claire
064d333620 Fix inconsistent filtering of silenced accounts for other silenced accounts (#34863) 2025-05-30 13:20:51 +00:00
Claire
4b39bced3e Increase capybara default timeout to reduce test flakiness (#34859) 2025-05-30 13:13:24 +00:00
Nicholas La Roux
0789ec93f8 Make account header profile pic exactly 2x post profile pic (#34807) 2025-05-30 12:33:30 +00:00
diondiondion
975db93e3f feat: Add relationship info to hover card (#34792) 2025-05-30 12:32:19 +00:00
Matt Jankowski
c025824f98 Use config_for for cache buster values (#34851) 2025-05-30 11:54:25 +00:00
Echo
9860046b04 Fix pinned carousel scroll on mobile (#34858) 2025-05-30 09:08:09 +00:00
Claire
71a4a92dda Fix featured posts and familiar followers showing up on hidden accounts (#34855) 2025-05-30 08:33:52 +00:00
Matt Jankowski
426ee069b5 Update fabrication to version 3.0.0 (#34850) 2025-05-30 08:30:42 +00:00
Matt Jankowski
7fc10bc7b0 Update rack-cors to version 3.0.0 (#34849) 2025-05-30 08:29:25 +00:00
github-actions[bot]
4130d9659c New Crowdin Translations (automated) (#34847)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-30 07:34:17 +00:00
renovate[bot]
208dbb8821 chore(deps): update dependency oj to v3.16.11 (#34853)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-30 07:34:04 +00:00
Matt Jankowski
3c09fd3f89 Fix Style/FetchEnvVar cop in devise config (#34846) 2025-05-30 07:00:37 +00:00
Matt Jankowski
f7a3dd0e38 Use config_for for VAPID key storage (#34845) 2025-05-30 07:00:33 +00:00
Matt Jankowski
a1c260696f Fix Style/FetchEnvVar cop in production env config (#34844) 2025-05-30 07:00:30 +00:00
renovate[bot]
ca41a95872 chore(deps): update dependency rubocop to v1.75.8 (#34843)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 15:46:21 +00:00
renovate[bot]
6e16cac09f chore(deps): update dependency ox to v2.14.23 (#34835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 14:53:42 +00:00
Matt Jankowski
38e0a360ca Add coverage for "default" stylesheet theme helper path (#34732) 2025-05-28 13:33:07 +00:00
David Roetzel
b195956ecb Encapsulate redis key usage (#34840) 2025-05-28 12:34:37 +00:00
Emelia Smith
a73ade526a Assert usage of client credentials for account registration (#34828) 2025-05-28 12:09:32 +00:00
Echo
6ffa262546 Update ESLint to not try to resolve virtual modules (#34837) 2025-05-28 10:04:52 +00:00
Darius Kazemi
991796172a Fix NoMethodError in edge case of emoji cache handling (#34749)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-05-28 09:39:55 +00:00
Matt Jankowski
71d46e26b2 Update rack to version 3 (#34816) 2025-05-28 08:39:17 +00:00
Matt Jankowski
887533392f Regenerate rubocop todo with 1.75.7 (#34825) 2025-05-28 08:38:57 +00:00
github-actions[bot]
43ccb04548 New Crowdin Translations (automated) (#34834)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-28 08:38:51 +00:00
renovate[bot]
75ae084976 fix(deps): update dependency rollup-plugin-visualizer to v6.0.1 (#34836)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 08:20:55 +00:00
renovate[bot]
474013b48c fix(deps): update dependency postcss-preset-env to v10.2.0 (#34821)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 08:01:02 +00:00
renovate[bot]
9d7ecf92fe chore(deps): update dependency omniauth-saml to v2.2.4 (#34831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 07:45:16 +00:00
Echo
d78535eab9 Add language picker to server rules section (#34820) 2025-05-27 13:57:34 +00:00
renovate[bot]
7ede5460d8 chore(deps): update dependency pghero to v3.7.0 (#34819)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 12:14:38 +00:00
github-actions[bot]
32b5da558e New Crowdin Translations (automated) (#34817)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-27 09:28:32 +00:00
renovate[bot]
7132e660a6 chore(deps): update dependency sidekiq-unique-jobs to v8.0.11 (#34815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 08:56:08 +00:00
Claire
0372344d33 Move Mastodon theme handling to custom vite plugin (#34808)
Co-authored-by: Echo <ChaosExAnima@users.noreply.github.com>
2025-05-27 08:50:48 +00:00
Matt Jankowski
37c82a3003 Update sidekiq to version 7 (#34745) 2025-05-26 15:32:41 +00:00
Echo
ba5320671c Move pinned posts to a carousel (#34754)
Co-authored-by: diondiondion <mail@diondiondion.com>
2025-05-26 13:35:28 +00:00
renovate[bot]
47512fe518 fix(deps): update dependency rollup-plugin-visualizer to v6 (#34805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 13:26:09 +00:00
Claire
955e75e820 Fix premailer strategy when using CDN_HOST (#34813) 2025-05-26 13:19:19 +00:00
Claire
b7e967817b Fix unnecessary requirement for deprecated OTP_SECRET environment variable (#34810) 2025-05-26 11:59:54 +00:00
Claire
198b59ca3e Fix NoMethodError in ActivityPub::FetchFeaturedCollectionService (#34811) 2025-05-26 08:24:46 +00:00
Claire
b3615a803e Remove unnecessary direct dependency to glob (#34809) 2025-05-26 07:42:24 +00:00
renovate[bot]
170668ed69 chore(deps): update dependency selenium-webdriver to v4.33.0 (#34796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 07:41:59 +00:00
github-actions[bot]
d1d3ff087a New Crowdin Translations (automated) (#34795)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-26 07:41:52 +00:00
Claire
558c73a21e Use @/ absolute paths instead of relative paths in CSS (#34806) 2025-05-26 07:27:44 +00:00
Claire
e0f15a6875 Add cross-account quote to sample data (#34791) 2025-05-24 12:16:28 +00:00
diondiondion
a13756148d fix: Show hint for quotes hidden by filter (#34790) 2025-05-23 15:26:06 +00:00
Claire
304c0417ed Fix handling of inlined featured collections in ActivityPub actor objects (#34789) 2025-05-23 15:01:07 +00:00
diondiondion
3bf128e62a Add dev sample data for post with quote + media (#34787) 2025-05-23 12:52:14 +00:00
Echo
84d03e4e16 Revert React Spring to 9.7.5 and updates Renovate (#34788) 2025-05-23 12:34:41 +00:00
diondiondion
68a5724b3e fix: Allow quotes to be filtered (#34786) 2025-05-23 11:42:55 +00:00
renovate[bot]
229e100dc0 fix(deps): update dependency @vitejs/plugin-react to v4.5.0 (#34784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 07:30:04 +00:00
github-actions[bot]
11c8177498 New Crowdin Translations (automated) (#34781)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-23 07:24:21 +00:00
Matt Jankowski
bd2988bdf4 Fix Style/PreferredHashMethods cop (#34775) 2025-05-23 07:11:59 +00:00
nicole mikołajczyk
6b066eac2c Fix “Open original page” and “Add or Remove from lists” being included in account dropdown even when irrelevant (#34767)
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-05-23 07:11:32 +00:00
diondiondion
5dda094daa fix: Fix various UI text wrapping and overflow issues (#34774) 2025-05-23 07:07:05 +00:00
Claire
02ac18da51 Change display of quote posts to strip fallback link and preview cards (#34772) 2025-05-23 06:53:04 +00:00
David Roetzel
3acd87419c Update to linzer 0.7 (#34765) 2025-05-23 06:43:02 +00:00
Claire
e0ce4b9b6b Fix quotes not being displayed in reblogs (#34773) 2025-05-22 15:23:45 +00:00
Renaud Chaput
ef1bf8e9f2 Fix polyfills naming and tag missing a source (#34768) 2025-05-22 12:54:47 +00:00
diondiondion
12c8a6498c Add "Followers you know" to hovercard (#34769) 2025-05-22 12:46:14 +00:00
Claire
da60acced5 Add boost of remote quote post with fallback link to sample dev data (#34771) 2025-05-22 12:45:24 +00:00
Claire
80849fbfba Fix preview card being fetched even when a status has a quote or media attachment (#34770) 2025-05-22 12:42:16 +00:00
diondiondion
79ccba1758 Add visual indicator & link to nested quote posts (#34766) 2025-05-22 10:39:45 +00:00
renovate[bot]
72356bd5ec chore(deps): update dependency ruby-prof to v1.7.2 (#34764)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 10:35:49 +00:00
renovate[bot]
6664f16b14 chore(deps): update dependency rack to v2.2.16 (#34763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 10:35:41 +00:00
github-actions[bot]
cddb69ed52 New Crowdin Translations (automated) (#34762)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-22 10:11:03 +00:00
Andy Piper
68f951b945 Add security policy in CONTRIBUTING, update year refs. (#34761)
Signed-off-by: Andy Piper <andypiper@users.noreply.github.com>
2025-05-22 10:03:26 +00:00
renovate[bot]
f1172ca8fe chore(deps): update dependency rubocop to v1.75.7 (#34759)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:59:43 +00:00
renovate[bot]
e9d62b284a chore(deps): update node.js to 22.16 (#34760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:53:20 +00:00
Matt Jankowski
8d4ae81ab4 Remove OTP_SECRET env configuration (#34748) 2025-05-22 09:33:21 +00:00
Renaud Chaput
83dd09d4dc Fix JS polyfills missing after the Vite switch (#34758) 2025-05-21 20:11:01 +00:00
Claire
6ab96ba647 Use more generic locale as fallback for rules (#34756) 2025-05-21 16:22:54 +00:00
diondiondion
97b9e8849d Add rendering of quote posts in web UI (#34738) 2025-05-21 15:50:45 +00:00
Matt Jankowski
f1a6f4333a Remove redis-namespace gem (#34742) 2025-05-21 15:20:17 +00:00
Matt Jankowski
3a5e310a6d Remove OTP_SECRET env configuration from setup (#34757) 2025-05-21 15:08:46 +00:00
Claire
8c51a8ba94 Add ability to translate server rules (#34494) 2025-05-21 11:54:12 +00:00
diondiondion
977164decc docs: Update DEVELOPMENT.md to include vips project dependency (#34753) 2025-05-21 09:17:17 +00:00
Matt Jankowski
67f5122ba6 Use ActiveSupport::TaggedLogging.logger shorthand to set logger in production env (#34746) 2025-05-21 08:50:36 +00:00
renovate[bot]
30ee67e2c6 fix(deps): update dependency @react-spring/web to v10.0.1 (#34752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 08:39:04 +00:00
github-actions[bot]
07741f307e New Crowdin Translations (automated) (#34750)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-21 08:28:04 +00:00
Nick Schonning
d8ea8bc3bb Enable Stylelint color-hex-length (#34310) 2025-05-21 08:05:45 +00:00
Claire
f7182ddc8b Change libvips to be enabled by default (#34741) 2025-05-20 17:14:17 +00:00
Matt Jankowski
4709121f72 Remove Legacy OTP Secret code (#34743) 2025-05-20 14:51:19 +00:00
Claire
dab31f7a88 Drop support for PostgreSQL 12 (#34744) 2025-05-20 14:48:29 +00:00
Matt Jankowski
855022f4d9 Use ActiveSupport::TaggedLogging.logger shorthand to set logger (#34734) 2025-05-20 14:31:49 +00:00
Renaud Chaput
a8f12a6fd8 Change Node.js minimum version to Node 20 (#34390) 2025-05-20 14:25:51 +00:00
Claire
ef87cd6910 Fix incorrect progress value being passed to react-spring in video player (#34740) 2025-05-20 13:12:08 +00:00
renovate[bot]
042a9c42be fix(deps): update dependency @reduxjs/toolkit to v2.8.2 (#34477)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 13:11:13 +00:00
Claire
6d6263ce07 Drop redis namespace code (except for Rails cache) (#34665) 2025-05-20 13:02:09 +00:00
Claire
f94b1fce41 Drop compatibility with Redis < 6.2 (#30413) 2025-05-20 12:55:42 +00:00
Claire
d7cb6068b1 Add ability to reorder server rules from admin interface (#34737) 2025-05-20 12:49:11 +00:00
github-actions[bot]
8ed0408adb New Crowdin Translations (automated) (#34736)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-20 08:13:20 +00:00
Claire
0ada6e4168 Bypass date of birth check in dev:populate_sample_data task (#34733) 2025-05-19 20:20:37 +00:00
renovate[bot]
0d809652d9 chore(deps): update dependency lint-staged to v16 (#34657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 16:10:41 +00:00
Echo
dbf14784bf Add setting to control the referrer origin (#34731) 2025-05-19 13:13:22 +00:00
renovate[bot]
8ab2c4a9fc chore(deps): update dependency stylelint-config-standard-scss to v15 (#34658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
2025-05-19 12:46:11 +00:00
diondiondion
4372d17114 fix: Prevent long link names in admin sidebar from being truncated (#34727) 2025-05-19 12:36:46 +00:00
renovate[bot]
65f338c812 fix(deps): update dependency pino to v9.7.0 (#34728)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 12:35:46 +00:00
renovate[bot]
39eff1c3ca fix(deps): update dependency sass to v1.89.0 (#34729)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 12:35:25 +00:00
renovate[bot]
feb4e0a007 fix(deps): update dependency @react-spring/web to v10 (#34693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
2025-05-19 12:35:10 +00:00
diondiondion
24551375cf fix: Show Follow account modal before allowing adding to list, #34468 (#34709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Jankowski <matt@jankowski.online>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-19 09:54:45 +00:00
Claire
90f7b90223 Change passthrough video processing to emit moov atom at start of video (#34726) 2025-05-19 08:29:31 +00:00
github-actions[bot]
e291f95a04 New Crowdin Translations (automated) (#34713)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-19 07:35:35 +00:00
renovate[bot]
b981175f08 chore(deps): update dependency rubocop-rails to v2.32.0 (#34724)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 07:25:28 +00:00
renovate[bot]
695f0c5eaa fix(deps): update dependency @vitejs/plugin-react to v4.4.1 (#34725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 07:25:04 +00:00
renovate[bot]
2e4ba88ceb chore(deps): update dependency rack to v2.2.15 (#34719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 07:03:16 +00:00
renovate[bot]
3d2bc0c513 fix(deps): update dependency postcss-preset-env to v10.1.6 (#34720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 07:03:02 +00:00
renovate[bot]
9d4ec09e7a fix(deps): update dependency ws to v8.18.2 (#34721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 07:02:38 +00:00
Matt Jankowski
2d13a41462 Use bundler version 2.6.9 (#34708) 2025-05-16 16:02:29 +00:00
renovate[bot]
b4bbea51c4 fix(deps): update dependency babel-plugin-formatjs to v10.5.38 (#34707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 15:26:34 +00:00
renovate[bot]
9e2c0c4cef chore(deps): update dependency bootsnap to v1.18.6 (#34703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 15:16:02 +00:00
renovate[bot]
48922c6aff chore(deps): update docker.io/ruby docker tag to v3.4.4 (#34706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 14:57:55 +00:00
renovate[bot]
6d6e1ed958 chore(deps): update dependency ruby to v3.4.4 (#34692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 14:57:51 +00:00
renovate[bot]
6452796879 chore(deps): update dependency rubocop to v1.75.6 (#34704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 14:14:43 +00:00
Claire
8cc5084ca1 Add interstitial for Terms of Service updates (#34527) 2025-05-16 14:03:05 +00:00
Echo
c4f47adb49 Convert from Webpack to Vite (#34450)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-05-16 13:26:12 +00:00
David Roetzel
a5a2c6dc7e Add support for FASP data sharing (#34415) 2025-05-16 12:24:02 +00:00
Claire
3ea1f074ab Fix sidekiq JSON serialization warning in ActivityPub::FetchAllRepliesWorker (#34702) 2025-05-16 09:07:33 +00:00
github-actions[bot]
c058c45a8e New Crowdin Translations (automated) (#34701)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-16 08:07:14 +00:00
Claire
24d3599690 Fix middle button mouse up on status header always opening status in a new tab (#34700) 2025-05-15 18:29:43 +00:00
diondiondion
6c743831aa fix: Hide "Followers you know" widget from your own profile, #34698 (#34699) 2025-05-15 14:40:01 +00:00
diondiondion
3f965d83b0 fix: More "Followers you know" polish & bug fixes (#34697) 2025-05-15 11:33:16 +00:00
Claire
ae281f31db Add dev:populate_sample_data rake task to populate test data (#34676) 2025-05-15 08:51:07 +00:00
github-actions[bot]
e17c78b679 New Crowdin Translations (automated) (#34695)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-15 08:50:48 +00:00
diondiondion
ccffa11f2b refactor: Remove duplicated AvatarGroup CSS and familiar followers cleanup (#34681) 2025-05-15 08:07:38 +00:00
renovate[bot]
d475bcce65 chore(deps): update dependency bootsnap to v1.18.5 (#34684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 08:00:55 +00:00
Claire
1b68020331 Fix admin dashboard crash on specific Elasticsearch connection errors (#34683) 2025-05-14 14:50:32 +00:00
Claire
e8e93b82f1 Fix NoMethodError in ActivityPub::FetchAllRepliesWorker (#34682) 2025-05-14 13:43:34 +00:00
Claire
aa04efb92a Move server rule creation form to its own page (#34637) 2025-05-14 09:43:07 +00:00
diondiondion
c45ce549af refactor: Prevent leading slashes in API urls (#34680) 2025-05-14 08:59:08 +00:00
github-actions[bot]
8d5b73d70d New Crowdin Translations (automated) (#34679)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-14 07:00:32 +00:00
renovate[bot]
16e36d8477 chore(deps): update dependency database_cleaner-active_record to v2.2.1 (#34674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 06:57:27 +00:00
Echo
545e8fbd0c Fix emoji bundle size (#34677) 2025-05-14 06:39:05 +00:00
diondiondion
865a30ab0d fix: Hide FamiliarFollowers widget when logged out (#34678) 2025-05-13 17:55:16 +00:00
diondiondion
cc57fa4a41 docs: Improve local development readme (#34675) 2025-05-13 12:22:51 +00:00
Claire
5305e939c4 Add (currently unused) setting for default quote policy (#34623) 2025-05-13 11:47:38 +00:00
Claire
f993d7578b Use plural forms for date_of_birth prompt (#34636) 2025-05-13 11:29:22 +00:00
github-actions[bot]
65baf9b04a New Crowdin Translations (automated) (#34672)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-13 07:47:56 +00:00
renovate[bot]
050d76c010 fix(deps): update dependency pg to v8.16.0 (#34670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 07:38:15 +00:00
diondiondion
b135a831ea feat: Add "Followers you know" widget to user profiles (#34652) 2025-05-13 06:38:18 +00:00
Marcel Hellkamp
c9a554bdca fix: OIDC account creation fails for long display names (#34639) 2025-05-12 15:51:53 +00:00
Claire
5ec840a32f Change REDIS_NAMESPACE deprecation warning to an error (#34664) 2025-05-12 15:14:15 +00:00
Jonny Saunders
b709ef8ac3 Add: Update root status when fetching replies (#34615) 2025-05-12 14:54:58 +00:00
Claire
4e2aa78a56 Fix tootctl accounts create failing because of date-of-birth check (#34663) 2025-05-12 09:28:12 +00:00
github-actions[bot]
3357ae9889 New Crowdin Translations (automated) (#34655)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-12 07:40:14 +00:00
renovate[bot]
6fa48fabb2 fix(deps): update dependency sass to v1.88.0 (#34659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 07:20:48 +00:00
Renaud Chaput
9244ffc425 Fix eslint import plugin resolution in vscode (#34651) 2025-05-12 07:12:56 +00:00
renovate[bot]
82688387a8 chore(deps): update dependency mime-types to '~> 3.7.0' (#34634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-09 14:58:18 +00:00
renovate[bot]
23238ddd95 fix(deps): update dependency vite to v6.2.7 [security] (#34640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2025-05-09 08:05:58 +00:00
Claire
912268295c Change /api/v2/instance to be enabled without authentication when limited federation mode is enabled (#34576) 2025-05-09 07:46:57 +00:00
renovate[bot]
face71b7b2 fix(deps): update dependency @babel/core to v7.27.1 (#34643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-09 07:14:25 +00:00
github-actions[bot]
7cd7445abe New Crowdin Translations (automated) (#34649)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-09 07:07:17 +00:00
renovate[bot]
1131f2c439 fix(deps): update dependency ws to v8.17.1 [security] (#34641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-09 06:48:30 +00:00
Echo
8c579c5b34 Migrate from Jest to Vitest (#34454) 2025-05-07 18:29:02 +00:00
github-actions[bot]
741f166407 New Crowdin Translations (automated) (#34633)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-07 08:45:03 +00:00
renovate[bot]
0c738ea0ca chore(deps): update dependency rack to v2.2.14 (#34629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 08:41:15 +00:00
renovate[bot]
6ac29ab1ac fix(deps): update dependency @babel/preset-env to v7.27.2 (#34628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 08:13:16 +00:00
renovate[bot]
b99abe44b0 fix(deps): update dependency cssnano to v7.0.7 (#34627)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 08:13:12 +00:00
Claire
fbe9728f36 Bump version to v4.3.8 (#34626) 2025-05-06 14:17:07 +00:00
Claire
3bbf3e9709 Fix code style issue (#34624) 2025-05-06 13:35:54 +00:00
Claire
79931bf3ae Merge commit from fork
* Check scheme in account and post links

* Harden media attachments

* Client-side mitigation

* Client-side mitigation for media attachments
2025-05-06 15:02:13 +02:00
Claire
22e2e7f02b Fix crash when likes or shares collections are not inlined, for real (#34619) 2025-05-06 09:51:42 +00:00
Claire
41d00bc28b Fix libvips being unconditionally required by tasks (#34620) 2025-05-06 09:45:32 +00:00
Claire
3e5d78cc5b Fix crash when likes or shares collections are not inlined (#34618) 2025-05-06 07:39:26 +00:00
Renaud Chaput
df6b808750 fix: do not use the deprecated /api/v1/instance end point (#34613) 2025-05-06 06:08:44 +00:00
Claire
aedc5f6921 Add warning for REDIS_NAMESPACE deprecation at startup (#34581) 2025-05-05 13:01:16 +00:00
Claire
89cafb01b4 Remove double-query for signed query strings (#34610) 2025-05-05 12:33:31 +00:00
renovate[bot]
2133f2b47e fix(deps): update dependency babel-plugin-formatjs to v10.5.38 (#34609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 08:26:12 +00:00
renovate[bot]
833ea0725d chore(deps): update dependency rubocop to v1.75.5 (#34608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 08:26:07 +00:00
github-actions[bot]
eacf6f2342 New Crowdin Translations (automated) (#34596)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-05 08:23:27 +00:00
renovate[bot]
84bca6fd54 chore(deps): update dependency public_suffix to v6.0.2 (#34590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 08:23:21 +00:00
Claire
cbaba54e9d Add support for importing embedded self-quotes (#34584) 2025-05-05 08:01:16 +00:00
renovate[bot]
d41a741e00 fix(deps): update dependency ws to v8.18.2 (#34603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 07:55:52 +00:00
renovate[bot]
03a0f7caf9 chore(deps): update dependency selenium-webdriver to v4.32.0 (#34604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 07:55:34 +00:00
Jonny Saunders
8b34daf254 Fix: Use strings not symbols to access totalItems in interaction collections (#34594) 2025-05-03 10:37:06 +00:00
Eugen Rochko
b4394ec129 Change design of audio player in web UI (#34520) 2025-05-02 16:15:00 +00:00
renovate[bot]
24c25ec4f5 fix(deps): update babel monorepo to v7.27.1 (#34592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 14:45:49 +00:00
github-actions[bot]
94fa5b7168 New Crowdin Translations (automated) (#34587)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-05-02 06:59:30 +00:00
Matt Jankowski
4354f84c5c Update rspec-rails to version 8.0.0 (#34588) 2025-05-02 06:33:20 +00:00
Patryk Rzucidło
e3f0b955b8 Fix directory scroll position reset (#34560) 2025-04-30 12:27:37 +00:00
renovate[bot]
05f6f7d28a fix(deps): update dependency core-js to v3.42.0 (#34577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-30 07:50:13 +00:00
github-actions[bot]
64ab9be93f New Crowdin Translations (automated) (#34580)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-30 07:31:08 +00:00
renovate[bot]
a2310a06fa fix(deps): update dependency axios to v1.9.0 (#34547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-29 14:40:02 +00:00
Eugen Rochko
79013c730d Add endorsed accounts to profiles in web UI (#34568) 2025-04-29 12:14:22 +00:00
Claire
b81c28e7dc Fix edit dropdown crashing the web interface on mobile (#34564) 2025-04-29 09:48:54 +00:00
Claire
ce13fca0c5 Add built-in context for interaction policies (#34574) 2025-04-29 08:51:03 +00:00
Claire
98e6dfcbcf Fix context selector trying to mutate immutable state (#34573) 2025-04-29 08:12:05 +00:00
renovate[bot]
7cb93ef5a1 chore(deps): update dependency connection_pool to v2.5.3 (#34569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-29 07:23:53 +00:00
github-actions[bot]
66d9e47178 New Crowdin Translations (automated) (#34572)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-29 07:05:02 +00:00
renovate[bot]
e7dd0b37c7 chore(deps): update dependency rubocop to v1.75.4 (#34570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-29 06:47:42 +00:00
renovate[bot]
b0e63fbe1c chore(deps): update dependency rqrcode to v3.1.0 (#34565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-29 06:19:10 +00:00
Essem
e96044f389 Update to Twemoji 15.1.0 (#34321) 2025-04-28 14:22:14 +00:00
Eugen Rochko
715cbee93d Fix dashboard warning about Elasticsearch index mismatch not showing up (#34567)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-04-28 13:59:49 +00:00
Eugen Rochko
17d8e2b6e3 Refactor context reducer to TypeScript (#34506) 2025-04-28 13:38:40 +00:00
Eugen Rochko
bd9223f0b9 Fix tootctl search deploy --only-mapping not updating index settings (#34566) 2025-04-28 13:02:41 +00:00
Eugen Rochko
40157e063d Add ability to feature and unfeature hashtags from web UI (#34490) 2025-04-28 11:44:01 +00:00
Eugen Rochko
926c67c648 Refactor <ActionsModal> to TypeScript (#34559) 2025-04-28 11:43:42 +00:00
Claire
17e4345eb2 Add quoted_status attribute to PostStatusService for local testing (#34553) 2025-04-28 10:07:22 +00:00
Claire
9ed6a14d45 Add support for ingesting quote policies (#34479) 2025-04-28 08:48:27 +00:00
renovate[bot]
1a1f3f037d fix(deps): update dependency pg to v8.15.6 (#34555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 07:34:18 +00:00
renovate[bot]
3032d9d0dd chore(deps): update dependency shoulda-matchers to v6.5.0 (#34556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 07:33:51 +00:00
github-actions[bot]
a20686f593 New Crowdin Translations (automated) (#34558)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-28 07:33:20 +00:00
Claire
ae3b7dd28d Reject incoming QuoteRequest activities (#34480) 2025-04-25 23:28:09 +00:00
Claire
8f59b63176 Change quote IDs to use snowflake IDs (#34551) 2025-04-25 23:24:26 +00:00
Eugen Rochko
a97647158c Add REST API for featuring and unfeaturing a hashtag (#34489)
Co-authored-by: Matt Jankowski <matt@jankowski.online>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-04-25 15:12:05 +00:00
Eugen Rochko
49b6a49c76 Change "Pin on profile" to "Feature on profile" for posts in web UI (#34492) 2025-04-25 15:11:59 +00:00
Claire
d4944a2467 Fix incorrect redirect in response to unauthenticated API requests in limited federation mode (#34549) 2025-04-25 11:24:57 +00:00
Eugen Rochko
91db45b197 Change account search to be more forgiving of spaces (#34455) 2025-04-25 10:35:21 +00:00
Claire
7a70d95435 Add warning for Elasticsearch index analyzers mismatch (#34515) 2025-04-25 10:35:11 +00:00
renovate[bot]
1326c8cb1d chore(deps): update dependency rqrcode to v3 (#34541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 09:54:56 +00:00
Claire
199acce481 Fix sign-up e-mail confirmation page reloading on error or redirect (#34548) 2025-04-25 09:00:54 +00:00
github-actions[bot]
b1b949f16c New Crowdin Translations (automated) (#34546)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-25 06:44:41 +00:00
Matt Jankowski
6463415e06 Update rubocop-rspec to version 3.6.0 (#34497) 2025-04-24 14:56:13 +00:00
Claire
22ec828951 Change DEFAULT_LOCALE to not override unauthenticated users' browser language (#34535) 2025-04-24 11:38:27 +00:00
Terence Eden
13b13c8726 Reduce path size for oEmbed and logo (#34538)
Co-authored-by: Terence Eden <git@shkspr.mobi>
2025-04-24 11:38:02 +00:00
renovate[bot]
5679bb5394 fix(deps): update dependency pg to v8.15.5 (#34531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 08:24:16 +00:00
github-actions[bot]
1fc66c1970 New Crowdin Translations (automated) (#34534)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-24 08:06:10 +00:00
renovate[bot]
57a6c5f4e9 chore(deps): update dependency connection_pool to v2.5.2 (#34530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 07:43:39 +00:00
renovate[bot]
65c67fb827 fix(deps): update dependency pg-connection-string to v2.8.5 (#34532)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 07:42:59 +00:00
renovate[bot]
ca4139be07 chore(deps): update node.js to 22.15 (#34523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 09:50:42 +00:00
renovate[bot]
ffc853c086 fix(deps): update dependency pg to v8.15.1 (#34516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 08:53:29 +00:00
github-actions[bot]
577e407ffc New Crowdin Translations (automated) (#34522)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-23 08:47:20 +00:00
renovate[bot]
b68c622a07 fix(deps): update dependency pg-connection-string to v2.8.1 (#34517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 08:25:46 +00:00
Claire
7bc301e184 Make Web::PushSubscription#user and Web::PushSubscription#access_token relationships non-optional (#34498)
Co-authored-by: Emelia Smith <ThisIsMissEm@users.noreply.github.com>
2025-04-23 08:12:31 +00:00
Claire
dee744c793 Fix quote serializer (#34510) 2025-04-23 07:29:13 +00:00
renovate[bot]
e097f0e9eb fix(deps): update dependency sass to v1.87.0 (#34511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 14:55:17 +00:00
Gomasy
6027764c31 Fix icon crushed when account name was too long (#34514) 2025-04-22 12:39:35 +00:00
Emelia Smith
b754e28190 Change devise to not use HTTP Basic Authentication (#34501) 2025-04-22 12:11:21 +00:00
renovate[bot]
cba4682ced fix(deps): update dependency react-intl to v7.1.11 (#34503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 08:34:08 +00:00
github-actions[bot]
b92f42a6bd New Crowdin Translations (automated) (#34502)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-22 08:33:42 +00:00
Matt Jankowski
8dea1c422a Combine examples to reduce factories in BulkImportWorker spec (#34499) 2025-04-22 08:23:41 +00:00
renovate[bot]
bc32ff9b57 fix(deps): update dependency postcss-preset-env to v10.1.6 (#34505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 08:22:25 +00:00
renovate[bot]
20162a821c chore(deps): update dependency nokogiri to v1.18.8 (#34508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 08:22:05 +00:00
Eugen Rochko
3159f3b2f6 Fix featured hashtags not showing year for date in web UI (#34491) 2025-04-18 13:54:13 +00:00
github-actions[bot]
361f528c89 New Crowdin Translations (automated) (#34487)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-18 08:51:50 +00:00
Eugen Rochko
bed614d44e Add option to remove account from followers in web UI (#34488) 2025-04-18 07:23:34 +00:00
Echo
64d94f9e57 Update copy for empty featured tabs (#34483) 2025-04-17 10:27:44 +00:00
Claire
8489f6c8fc Fix namespace of QuoteAuthorization type in specs (#34481) 2025-04-17 09:19:23 +00:00
Eugen Rochko
c01d219c12 Add --only-mapping option to tootctl search deploy (#34466) 2025-04-17 09:09:03 +00:00
Eugen Rochko
ee62ac53e1 Add "Mutual" relationship tag to profiles in web UI (#34467) 2025-04-17 08:10:11 +00:00
github-actions[bot]
b33f9ea603 New Crowdin Translations (automated) (#34464)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-04-17 08:10:03 +00:00
renovate[bot]
b64a5a7d84 chore(deps): update dependency connection_pool to v2.5.1 (#34475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-17 08:07:19 +00:00
renovate[bot]
3dc95902d7 chore(deps): update dependency opentelemetry-instrumentation-pg to v0.30.1 (#34472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-17 08:07:02 +00:00
renovate[bot]
5810bd3310 chore(deps): update docker.io/ruby docker tag to v3.4.3 (#34460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-17 07:56:10 +00:00
Claire
df2611a10f Add initial support for ingesting and verifying remote quote posts (#34370) 2025-04-17 07:45:23 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Claire
3178acc5cb Fix language detection taking mentions and URLs into account (#33700) 2025-01-23 10:25:14 +00: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
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
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
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
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
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
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
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
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
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
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
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
Matt Jankowski
58c40caeb4 Extract SPA-handled routes to stand-alone file (#33190) 2024-12-07 07:46:34 +00:00
Matt Jankowski
72a4da83fd Merge duplicate custom css request specs (#33204) 2024-12-06 18:55:47 +00:00
github-actions[bot]
8dc7f8533d New Crowdin Translations (automated) (#33193)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-06 15:44:21 +00:00
renovate[bot]
96498a09c2 Update dependency @babel/preset-react to v7.26.3 (#33174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-06 15:21:12 +00:00
renovate[bot]
3ad45ced5e Update dependency @dnd-kit/core to v6.3.1 (#33194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-06 15:20:36 +00:00
renovate[bot]
e35655cf55 Update dependency express to v4.21.2 (#33195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-06 15:20:19 +00:00
Claire
fbcd14ff7e Always remove setting keys in legacy user settings migrations (#33196) 2024-12-06 10:58:18 +00:00
Eugen Rochko
25387dc423 Refactor <HashtagHeader> to TypeScript (#33096) 2024-12-06 08:42:24 +00:00
Matt Jankowski
a1143c522b Add missing on_delete: :cascade foreign keys option (#33175) 2024-12-06 08:29:54 +00:00
renovate[bot]
635da00cfa Update Node.js to 22.12 (#33169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-06 08:28:21 +00:00
Eugen Rochko
d29eddc401 Fix tag trend migration failing due to duplicate rows (#33189) 2024-12-05 16:12:26 +00:00
Matt Jankowski
17c02c9210 Remove thing_type and thing_id columns from settings table (#31971) 2024-12-05 14:34:14 +00:00
Mohammad Kazemi
b82c791770 Set unicode-bidi of account header content to plaintext in styles (#33088) 2024-12-05 11:40:50 +00:00
Claire
1ee149d015 Add explicit migration breakpoints (#33089) 2024-12-05 11:40:30 +00:00
Matt Jankowski
86b45a4a48 Add rel alternate rss/json links to tags show html page (#33179) 2024-12-05 11:34:49 +00:00
Claire
21f6780498 Fix deletion of unconfirmed users with Webauthn set (#33186) 2024-12-05 09:38:48 +00:00
github-actions[bot]
8b223f3b15 New Crowdin Translations (automated) (#33185)
Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-12-05 09:37:49 +00:00
renovate[bot]
f9dc7842de Update dependency browser to v6.2.0 (#33182)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 09:36:49 +00:00
renovate[bot]
f57c82ed35 Update opentelemetry-ruby (non-major) (#33180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 09:36:25 +00:00
renovate[bot]
d58173e45b Update dependency @dnd-kit/sortable to v10 (#33183)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 09:12:21 +00:00
renovate[bot]
3708039856 Update dependency @dnd-kit/core to v6.3.0 (#33181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 09:12:08 +00:00
Matt Jankowski
b85d7eb7a3 Update rails-html-sanitizer to version 1.6.1 (#33177) 2024-12-05 08:48:15 +00:00
Matt Jankowski
4934242aca Update schema/annotations after tag trend db/redis migrate (#33173) 2024-12-04 17:55:56 +00:00
Matt Jankowski
0fcf227a92 Add media attachment description limit to instance API response (#33153) 2024-12-04 15:10:20 +00:00
Eugen Rochko
48ea7552dd Change hashtag trends to be stored in the database instead of redis (#32837)
Co-authored-by: David Roetzel <david@roetzel.de>
2024-12-04 11:59:17 +00:00
renovate[bot]
b9b26490e7 Update dependency sass to v1.82.0 (#32411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 10:40:47 +00:00
renovate[bot]
23a2366090 Update dependency dotenv to v16.4.7 (#33147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 10:20:50 +00:00
github-actions[bot]
0262310c88 New Crowdin Translations (automated) (#33166)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-04 10:04:02 +00:00
renovate[bot]
ebbccb196a Update dependency aws-sdk-s3 to v1.176.0 (#33170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 09:48:14 +00:00
Claire
c521a62b1e Add tests for broken mention processing (#33171) 2024-12-04 09:45:35 +00:00
renovate[bot]
1cb303ca75 Update dependency axios to v1.7.9 (#33168)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-04 09:12:26 +00:00
Matt Jankowski
e5bea68b20 Fix empty authors preview card serialization (#33151) 2024-12-04 09:05:58 +00:00
Matt Jankowski
6fddf1610c Fix awkwardly-worded nature of scheduled too soon error (#33156) 2024-12-04 07:43:29 +00:00
Matt Jankowski
7420f59f76 Add maxlength to registration reason input (#33162) 2024-12-04 07:40:56 +00:00
renovate[bot]
30c2a6c01c Update dependency @rails/ujs to v7.1.500 (#32648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-03 15:53:36 +00:00
github-actions[bot]
836810e88b New Crowdin Translations (automated) (#33146)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-03 09:44:20 +00:00
Eugen Rochko
7135f513a4 Add ability to search for all accounts when creating a list in web UI (#33036) 2024-12-03 09:42:52 +00:00
Eugen Rochko
6cf87762a4 Change percentile label in year in review in web UI (#33148) 2024-12-03 08:57:29 +00:00
YOCKOW
88ff1c8e7e Fix typo in CHANGELOG.md (#33145) 2024-12-03 08:46:11 +00:00
renovate[bot]
ada5baf0b2 Update dependency nokogiri to v1.16.8 (#33140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-03 08:39:54 +00:00
Michael Stanclift
04b7046be1 Provide option to force use of system scrollbar styling (#32117) 2024-12-03 08:38:23 +00:00
Matt Jankowski
be43b01eb1 Add coverage for CustomFilter#expires_in method (#33142) 2024-12-02 21:52:17 +00:00
Matt Jankowski
2381ed55d7 Add coverage for Report#unresolved_siblings? (#33141) 2024-12-02 21:52:12 +00:00
Eugen Rochko
346a27b6fc Refactor <Column> to TypeScript (#33081) 2024-12-02 20:07:48 +00:00
Matt Jankowski
752d49eefe Add coverage for api/v1/push/subscriptions#show action (#33134) 2024-12-02 15:08:41 +00:00
renovate[bot]
de37bc7722 Update dependency json-schema to v5.1.1 (#33132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 15:08:37 +00:00
Jonathan de Jong
360b6d3a44 Fix exclusive lists interfering with notifications (#28162) 2024-12-02 09:26:04 +00:00
Claire
5c06fe4902 Fix processing incoming post edits with mentions to unresolvable accounts (#33129) 2024-12-02 09:24:34 +00:00
github-actions[bot]
4b80ff92bd New Crowdin Translations (automated) (#33114)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-12-02 08:27:19 +00:00
renovate[bot]
459be1f4e7 Update dependency active_model_serializers to v0.10.15 (#33120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 08:14:46 +00:00
Eugen Rochko
ca11740dc9 Change profile bios to be displayed during onboarding in web UI (#33119) 2024-12-02 08:11:45 +00:00
renovate[bot]
f72831b9c2 Update dependency aws-sdk-s3 to v1.175.0 (#33128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 08:11:28 +00:00
renovate[bot]
9e8da55d99 Update docker/dockerfile Docker tag to v1.12 (#33127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 08:11:25 +00:00
renovate[bot]
462e0717d6 Update devDependencies (non-major) (#33126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 08:11:22 +00:00
Robert R George
a98a8ee93f Update robots.txt to prevent crawling of domain blocks (#26470)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-12-02 08:03:24 +00:00
Matt Jankowski
a17e7d10fc Always validate inbox_url presence on Relay (#32364) 2024-12-02 07:38:06 +00:00
Matt Jankowski
3cd308523a Add shared example for RankedTrend concern (#33125) 2024-12-02 00:44:14 +00:00
Matt Jankowski
75ecc6df06 Fix typo dimsiss -> dismiss in changelog (#33116) 2024-11-30 21:37:17 +00:00
Eugen Rochko
4de108e755 Change "social web" to "fediverse" in a few banners in web UI (#33101) 2024-11-29 16:44:05 +00:00
Eugen Rochko
986a3676d3 Change server rules to be collapsible (#33039) 2024-11-29 16:33:06 +00:00
Yann
4635ce2926 Remove constant definition from global scope in embed.js (#33107) 2024-11-29 15:33:25 +00:00
Claire
c58967c3bd Add tootctl feeds vacuum (#33065) 2024-11-29 14:08:57 +00:00
Claire
9ff01403ea Fix middle-click handling conflicting with automatic scrolling (#33106) 2024-11-29 14:04:22 +00:00
github-actions[bot]
9296d58024 New Crowdin Translations (automated) (#33104)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-29 09:39:52 +00:00
Eugen Rochko
7f2cfcccab Change design of modal loading and error screens in web UI (#33092) 2024-11-29 07:50:08 +00:00
Emelia Smith
eef8d2c855 Add link from Web UI for Hashtags to the Moderation UI (#31448)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2024-11-29 07:36:17 +00:00
Claire
7a4370f2d9 Fix inactive users' timelines being backfilled on follow and unsuspend (#33094) 2024-11-28 17:40:53 +00:00
Calvin Lee
7f4858b339 Correctly sanitize MathML out of post content (#27107) 2024-11-28 12:02:34 +00:00
Eugen Rochko
48f3ed738f Fix list error messages (#33082) 2024-11-28 10:13:06 +00:00
github-actions[bot]
fa3577e04b New Crowdin Translations (automated) (#33084)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-28 10:10:38 +00:00
renovate[bot]
e4bd3162e8 Update opentelemetry-ruby (non-major) (#33083)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 09:40:25 +00:00
Eugen Rochko
46c43d263c Change avatar and header size limits from 2MB to 8MB when using libvips (#33002) 2024-11-26 21:01:52 +00:00
Eugen Rochko
7a3dea385e Change onboarding flow in web UI (#32998) 2024-11-26 16:10:12 +00:00
Eugen Rochko
429e08e3d2 Remove old notifications route from web UI (#33038) 2024-11-26 09:59:11 +00:00
Matt Jankowski
a27bafa596 Add UserRole#bypass_block? method for notification check (#32974) 2024-11-26 09:45:47 +00:00
renovate[bot]
f0855fd41f Update dependency axios to v1.7.8 (#33075)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 08:10:19 +00:00
renovate[bot]
5c3a64dd50 Update dependency aws-sdk-s3 to v1.174.0 (#33076)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 08:10:08 +00:00
renovate[bot]
7ba19ecf1e Update dependency webauthn to v3.2.2 (#32879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 08:09:54 +00:00
renovate[bot]
08914516d9 Update dependency postcss-preset-env to v10.1.1 (#32947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 08:09:34 +00:00
Matt Jankowski
6efa320feb Fix Style/SafeNavigation cop (#32970) 2024-11-26 08:09:04 +00:00
renovate[bot]
b702cd74f3 Update dependency @dnd-kit/core to v6.2.0 (#33050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 07:26:50 +00:00
renovate[bot]
72f623c391 Update dependency @dnd-kit/sortable to v9 (#33051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 07:26:47 +00:00
github-actions[bot]
6b1dd1bf2a New Crowdin Translations (automated) (#33074)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-26 07:24:28 +00:00
renovate[bot]
36496f4d73 Update Yarn to v4.5.3 (#33069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 07:19:48 +00:00
renovate[bot]
3e901d108c Update dependency selenium-webdriver to v4.27.0 (#33071)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 07:19:35 +00:00
Matt Jankowski
0ea9d8164b Remove body_class_string helper (#33072) 2024-11-26 07:19:20 +00:00
Matt Jankowski
6d62581da1 Update binstub templates (#32335) 2024-11-25 16:49:24 +00:00
Claire
9a7130d6da Fix direct inbox delivery pushing posts into inactive followers' timelines (#33067) 2024-11-25 15:54:18 +00:00
Claire
2d8fed23e6 Fix TagFollow records not being correctly handled in account operations (#33063) 2024-11-25 10:27:58 +00:00
Eugen Rochko
1a88c05274 Fix arrow in the wrong place on empty list members screen in web UI (#33054) 2024-11-25 10:23:09 +00:00
Claire
1be83c6982 Fix username and display name being hidden on narrow screens in moderation interface (#33064) 2024-11-25 09:18:06 +00:00
Matt Jankowski
74df47ad9c Add coverage for Webhook validations (#33026) 2024-11-25 08:19:16 +00:00
Matt Jankowski
ab9c62e8c7 Add coverage for User validations (#33028) 2024-11-25 08:18:10 +00:00
Matt Jankowski
fd90f04f0e Add coverage for UserRole validations (#33029) 2024-11-25 08:18:07 +00:00
renovate[bot]
7fb0880e1e Update dependency husky to v9.1.7 (#33058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 08:17:52 +00:00
github-actions[bot]
4521390163 New Crowdin Translations (automated) (#33043)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-25 08:17:41 +00:00
renovate[bot]
1333ed4d4e Update docker/dockerfile Docker tag to v1.11 (#33060)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 07:58:05 +00:00
Matt Jankowski
a20dca7327 Restore stdout logging setting in development environment (#33057) 2024-11-24 20:00:37 +00:00
renovate[bot]
8c322cca19 Update dependency mutex_m to v0.3.0 (#32991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 10:29:04 +00:00
renovate[bot]
91cc180cd0 Update dependency puma to v6.5.0 (#33041)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 10:28:09 +00:00
Nick Schonning
27e79da6b9 Update immutable imports for v5 (#33037) 2024-11-22 22:23:02 +00:00
David Roetzel
21a8612aab Prevent delivery of posts to (even more) suspended followers (#33030) 2024-11-22 15:58:48 +00:00
Christian Schmidt
2e66dd09e2 Show default time zone (#31803) 2024-11-22 14:48:41 +00:00
Claire
99f36f1b7b Tweak antispam a bit (#33024) 2024-11-22 14:43:16 +00:00
Claire
04ce5939ae Prevent delivery of new posts to suspended followers (#27509) 2024-11-22 14:36:08 +00:00
Claire
9d34146aaa Remove redundant temporary index creation in tootctl status remove (#33023) 2024-11-22 14:19:11 +00:00
シュンジョーァ
35683ac154 Remove webauthn credentials on tootctl accounts modify --disable-2fa (#29883)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-11-22 10:04:48 +00:00
Oliver Geer
0ad5c212c1 Fix accounts table long display name (#29316) 2024-11-22 09:50:47 +00:00
Christian Schmidt
9ebed5d410 Fix CSS warnings (#32266) 2024-11-22 08:58:04 +00:00
renovate[bot]
d0753ec276 Update dependency aws-sdk-s3 to v1.173.0 (#33019)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-22 08:54:58 +00:00
github-actions[bot]
47190087f8 New Crowdin Translations (automated) (#33020)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-22 08:44:09 +00:00
renovate[bot]
2e5abe4720 Update Yarn to v4.5.2 (#33021)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-22 08:33:43 +00:00
Matt Jankowski
be2d4615ab Rely on Rails to enable YJIT when available (#33017) 2024-11-22 08:31:23 +00:00
Eugen Rochko
d75088d699 Fix pushing hashtag-followed posts to feeds of inactive users (#33018) 2024-11-22 08:30:57 +00:00
Christian Schmidt
0518613dd7 LinkDetailsExtractor adjustments (#31357) 2024-11-22 08:00:14 +00:00
Joshix-1
68c7782940 improve nginx.conf by setting gzip_static to on (#30698) 2024-11-21 16:39:56 +00:00
Claire
4bfb8887bf Fix duplicate notifications in notification groups when using slow mode (#33014) 2024-11-21 16:10:07 +00:00
Eugen Rochko
62603508c7 Change design of lists in web UI (#32881) 2024-11-21 16:10:04 +00:00
Christian Schmidt
7385016837 rel="me" check should be case-insenstive (#32238) 2024-11-21 14:37:25 +00:00
Claire
dbddd40c1c Add stop-gap antispam code (#32981) 2024-11-21 14:06:57 +00:00
Emelia Smith
4517e18b79 Update dependency doorkeeper to v5.8.0 (#33000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-21 13:48:30 +00:00
github-actions[bot]
e4d5cc0ca6 New Crowdin Translations (automated) (#33010)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-21 10:58:45 +00:00
Eugen Rochko
420ed155ba Fix wrong video dimensions for some rotated videos (#33008) 2024-11-21 10:58:04 +00:00
Paulo Vilarinho
2526b32ad3 block scheduled status from frozen users (#30729) 2024-11-20 19:06:41 +00:00
Eugen Rochko
683db3ab25 Add ability to middle-mouse click posts in web UI (#32988) 2024-11-20 15:56:35 +00:00
Claire
e68b26c8df Fix posts made in the future being allowed to trend (#32996) 2024-11-20 12:41:22 +00:00
renovate[bot]
174c687ca0 Update dependency json-schema to v5.1.0 (#32992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 09:01:13 +00:00
github-actions[bot]
4252b13a4b New Crowdin Translations (automated) (#32990)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-20 08:24:50 +00:00
Matt Jankowski
b66fbaeec2 Add AccountWarning case to Report#history spec (#32984) 2024-11-20 07:52:00 +00:00
renovate[bot]
41b033e381 Update dependency opentelemetry-instrumentation-rails to '~> 0.33.0' (#32987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-20 07:42:53 +00:00
Claire
30e9c7137b Fix error when viewing statuses to deleted replies in moderation view (#32986) 2024-11-19 20:21:12 +00:00
Matt Jankowski
37f00fb018 Use hash arguments to group when possible (#32916) 2024-11-19 10:36:02 +00:00
Eugen Rochko
2b5faa2ba3 Change lists to reflect added and removed users retroactively (#32930) 2024-11-19 10:04:12 +00:00
Matt Jankowski
f2976ec9a4 Extract Notification::Groups concern (#32968) 2024-11-19 10:02:01 +00:00
Matt Jankowski
87e7ad9b8f Add LoginActivity model spec and BrowserDetection concern shared example (#32959) 2024-11-19 09:15:05 +00:00
github-actions[bot]
9fc2fc2251 New Crowdin Translations (automated) (#32969)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-19 09:05:39 +00:00
renovate[bot]
436a5d295b Update dependency aws-sdk-s3 to v1.172.0 (#32964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 08:57:47 +00:00
Eugen Rochko
e856838e0c Fix notification polling showing a loading bar in web UI (#32960) 2024-11-19 08:57:12 +00:00
Shlee
06fcee099a DB Replica database_tasks as ENV (#32908) 2024-11-19 08:54:28 +00:00
Matt Jankowski
425982841d Use group/count approach in annual report classes (#32914) 2024-11-19 08:51:34 +00:00
Matt Jankowski
295ad6f19a Prep work for coverage addition to ActivityPub::DeliveryWorker spec (#32944) 2024-11-18 16:37:21 +00:00
Matt Jankowski
30a7986569 Add coverage for fixing the thing with the dates in the search area (#32958) 2024-11-18 15:42:45 +00:00
Matt Jankowski
da826fe959 Use hash arguments to order when possible (Rails 7.2) (#32915) 2024-11-18 15:07:53 +00:00
Matt Jankowski
477412d62a Use hash arguments to select when possible (Rails 7.2) (#32917) 2024-11-18 14:58:45 +00:00
Andrew W. Lee
3e44dca0b4 Change dependency from annotate to annotaterb (#30232) 2024-11-18 14:40:02 +00:00
Matt Jankowski
c0c34d35e2 Move self destruct check to config_for and add constant for verifier string (#32943) 2024-11-18 09:57:16 +00:00
Eugen Rochko
911d7dbbf6 Fix min_id and max_id causing error in search API (#32857) 2024-11-18 09:37:01 +00:00
Emelia Smith
9a46329fbd Streaming: add development logging of database queries (#32945) 2024-11-18 09:34:34 +00:00
Matt Jankowski
03ee08c2da Use nil instead of false for datetime value in spec (#32926) 2024-11-18 09:31:25 +00:00
renovate[bot]
d8e907fae3 Update dependency aws-sdk-s3 to v1.171.0 (#32901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 09:25:11 +00:00
Matt Jankowski
c511cbcd6c Extract constants for controller LIMIT queries (#32921) 2024-11-18 09:23:38 +00:00
Matt Jankowski
16addf47c7 Reduce long lines in relationships/show view (#32922) 2024-11-18 09:23:07 +00:00
Matt Jankowski
be413d67de Form::Import spec reduce factories (#32924) 2024-11-18 09:22:09 +00:00
github-actions[bot]
02985aae69 New Crowdin Translations (automated) (#32927)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-18 09:20:37 +00:00
renovate[bot]
49a12a2df9 Update dependency @formatjs/cli to v6.3.11 (#32950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 08:57:37 +00:00
renovate[bot]
5b68f4b070 Update libretranslate/libretranslate Docker tag to v1.6.2 (#32951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 08:56:19 +00:00
Jeong Arm
60801ab914 Add missing autofocus on boost modal (#32953) 2024-11-18 08:48:27 +00:00
Renaud Chaput
bcf5d30e01 Add OpenTelemetry VCS attributes (#32904) 2024-11-18 08:41:09 +00:00
Matt Jankowski
1c6f53e70f Use with_options blocks in Associations concern (#32840) 2024-11-18 08:07:18 +00:00
Matt Jankowski
a1ac2a73ff Remove remnants of embed views (#32419) 2024-11-16 20:48:10 +00:00
renovate[bot]
44d92fa4f6 Update dependency uuid to v11.0.3 (#32913)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 16:15:44 +00:00
Matt Jankowski
9d3fcc3546 Remove unused failure action in api/base controller spec (#32905) 2024-11-15 16:10:20 +00:00
Matt Jankowski
7bd7705f59 Combine shared-setup examples across spec/controllers/auth/* specs (#32906) 2024-11-15 16:07:26 +00:00
renovate[bot]
54a7c1898e Update dependency uuid to v11 (#32676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 15:55:10 +00:00
Matt Jankowski
319109029d Fix logic in "last used at per application" oauth token list (#32912) 2024-11-15 15:52:37 +00:00
Matt Jankowski
297ce9ef44 Move body class to shared partial for web app controller concern views (#31797) 2024-11-15 15:49:26 +00:00
Shlee
34d7c9edae Rails 7+: primary_abstract_class recommendation (#32909) 2024-11-15 15:37:30 +00:00
Claire
f1ef7b5b43 Fix uploading higher-than-wide GIF profile picture with libvips enabled (#32911) 2024-11-15 15:35:30 +00:00
Claire
0838cf1e05 Fix domain attribution field having autocorrect and autocapitalize enabled (#32903) 2024-11-15 13:37:45 +00:00
github-actions[bot]
c546aa57cb New Crowdin Translations (automated) (#32900)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-15 10:30:11 +00:00
Emelia Smith
ddfb3d123b Improve display of statuses in admin panel (#30813) 2024-11-15 09:38:01 +00:00
Claire
2de018256a Fix filters not being correctly applied to boosted posts (#32895) 2024-11-14 19:42:43 +00:00
Matt Jankowski
766358e52b Add coverage for malformed version cleanup in SoftwareUpdateCheckService, add helper query methods (#32876) 2024-11-14 14:03:57 +00:00
Matt Jankowski
62d65504f6 Add DomainResource class to wrap MX lookup/normalize (#32864) 2024-11-14 13:47:29 +00:00
Claire
e8b6607ece Fix titles being escaped twice (#32889) 2024-11-14 13:28:00 +00:00
Claire
ec663eaba1 Fix Content Warning and filter states not applying to boosted posts properly (#32887) 2024-11-14 12:50:36 +00:00
github-actions[bot]
aaebf142aa New Crowdin Translations (automated) (#32884)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-14 09:39:33 +00:00
renovate[bot]
980970ddfd Update dependency browser to v6.1.0 (#32878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 09:15:49 +00:00
renovate[bot]
7fc8292ea5 Update dependency react-textarea-autosize to v8.5.5 (#32872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 15:08:10 +00:00
Jaz-Michael King
03ecf5df3b Adds a range of reserved usernames to reduce potential misuse by malicious actors (#32828) 2024-11-13 13:10:01 +00:00
Claire
8f5cbf5370 Fix list creation limit check (#32869) 2024-11-13 10:22:11 +00:00
Matt Jankowski
95d7120ce6 Misc gem version bumps (#32854) 2024-11-13 09:35:21 +00:00
github-actions[bot]
baad795384 New Crowdin Translations (automated) (#32868)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-13 09:33:02 +00:00
Matt Jankowski
a6d829e86f Fix error in CLI EmailDomainBlocks when supplying --with-dns-records (#32863) 2024-11-13 08:39:58 +00:00
Emelia Smith
2bd56f726a Add client_secret_expires_at to OAuth Applications (#30317) 2024-11-12 22:06:13 +00:00
Matt Jankowski
ace4268308 Remove unused api/v1/polls#create route (#32860) 2024-11-12 17:27:23 +00:00
Matt Jankowski
884bbf7ae2 Prepare the way for banning a bunch of usernames (#32856) 2024-11-12 15:43:55 +00:00
Claire
f5f6273d2b Move ALLOWED_PRIVATE_ADDRESSES parsing to an initializer (#32850) 2024-11-12 13:00:52 +00:00
Eugen Rochko
32e5e1d3f1 Fix a few visual issues with annual reports in web UI (#32807) 2024-11-12 12:35:35 +00:00
renovate[bot]
f8e96e761b Update dependency strong_migrations to v2.1.0 (#32810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 09:09:53 +00:00
Matt Jankowski
5d9dde3ec0 Add age/expiry duration constants to BulkImport class (#32839) 2024-11-12 08:57:06 +00:00
Matt Jankowski
897cb1803e Run bin/rails db:schema:dump under Rails 7.2 (#32838) 2024-11-12 08:56:04 +00:00
Emelia Smith
bf609090b1 Fix: prevent linking to pages which require extra permissions (#32843) 2024-11-12 08:55:17 +00:00
Claire
e97f4b18ad Update changelog and docker tags to v4.3.1 (#32849) 2024-11-12 08:54:18 +00:00
github-actions[bot]
0d06d70d11 New Crowdin Translations (automated) (#32811)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-12 08:47:59 +00:00
Matt Jankowski
ea6d3ca8c1 Define constants for sampling sizes in AccountReachFinder (#32805) 2024-11-12 08:38:08 +00:00
renovate[bot]
1f85ca2b0e Update dependency react-select to v5.8.3 (#32817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 08:35:31 +00:00
Emelia Smith
a34edc211f Add audit logging to Relays (#32819) 2024-11-12 08:35:08 +00:00
renovate[bot]
88512220bb Update dependency @formatjs/cli to v6.3.8 (#32830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 08:33:23 +00:00
renovate[bot]
90b5017c19 Update dependency postcss to v8.4.49 (#32831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 08:33:02 +00:00
renovate[bot]
67a2b03909 Update dependency postcss-preset-env to v10.1.0 (#32835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 08:32:43 +00:00
renovate[bot]
5a99ac3cfd Update dependency aws-sdk-s3 to v1.170.1 (#32846)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 08:31:08 +00:00
Matt Jankowski
c099797700 Use mastodon config namespace to load software update default value via config_for (#30534) 2024-11-12 08:28:31 +00:00
Emelia Smith
aeae152006 Prevent Web::Push notification delivery if notification is outside of TTL window (#32842) 2024-11-11 19:56:28 +00:00
Matt Jankowski
c78dc23b49 Move account sensitize-related methods to concern (#28865) 2024-11-11 13:08:23 +00:00
Matt Jankowski
d033920b7e Move account silence-related methods to concern (#28866) 2024-11-11 08:29:55 +00:00
Christian Schmidt
157fba4698 Backspace hotkey should override default behaviour (#32826) 2024-11-10 16:16:07 +00:00
Emelia Smith
e22ec25077 Fix typo in account unlocked localisation (#32821) 2024-11-10 12:26:51 +00:00
Matt Jankowski
1e71c4e247 Use enum-generated IpBlock.severity... scopes (#31210) 2024-11-08 14:23:52 +00:00
Matt Jankowski
10c895dc84 Use existing arel scopes instead of string ordering (#32801) 2024-11-08 14:21:44 +00:00
Matt Jankowski
bde0f1239a Add InetContainer with scopes of containing and contained (#32802) 2024-11-08 10:08:36 +00:00
Matt Jankowski
df54196a14 Use touch_all with batches (#32799) 2024-11-08 10:00:15 +00:00
Matt Jankowski
4ef3a1a38d Match dependency-generator output for require_relative usage (#32800) 2024-11-08 09:55:15 +00:00
github-actions[bot]
8df867b20a New Crowdin Translations (automated) (#32803)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-08 09:53:47 +00:00
Matt Jankowski
f180880f65 Remove postgres version support check for REINDEX in migration (#32744) 2024-11-07 15:40:41 +00:00
Matt Jankowski
870bb06994 Add coverage for misc serializers (#32781) 2024-11-07 15:37:26 +00:00
Matt Jankowski
41227aeb95 Update Rails to version 7.2.2 (#30391) 2024-11-07 14:58:20 +00:00
renovate[bot]
16b074d731 Update dependency net-http to '~> 0.5.0' (#32794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-07 13:56:14 +00:00
Matt Jankowski
697947116e Add EmailDomainBlock.parents scope (#31968) 2024-11-07 13:46:20 +00:00
Claire
6ae1fcd059 Fix list of follow requests not having a back button (#32797) 2024-11-07 11:45:46 +00:00
Matt Jankowski
e0a44b8317 Use shell.indent for list output indentation in CLI area (#31969) 2024-11-07 10:34:13 +00:00
Matt Jankowski
68b545ef33 Add Status.not_direct_visibility scope (#32065) 2024-11-07 10:32:33 +00:00
Matt Jankowski
73f66af6eb Update location of unused MIN_SCHEDULE_OFFSET constant (#31217) 2024-11-07 10:28:59 +00:00
Matt Jankowski
ae667624ac Use with_options for shared settings options in routes (#30847) 2024-11-07 10:07:04 +00:00
Claire
befb44a08c Fix “uninitialized constant HttpLog” errors in tootctl (#32796) 2024-11-07 09:57:42 +00:00
renovate[bot]
8f4af29a73 Update dependency aws-sdk-s3 to v1.170.0 (#32791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-07 09:45:19 +00:00
github-actions[bot]
4ed3ce2377 New Crowdin Translations (automated) (#32793)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-07 09:45:05 +00:00
Claire
d482211aa6 Fix out-of-view post contents being inconsistent with in-view post contents (#32778) 2024-11-06 13:30:53 +00:00
renovate[bot]
1392daa638 Update dependency discard to v1.4.0 (#32785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 10:58:50 +00:00
Matt Jankowski
4053cd2bff Update faraday to version 2.12.0 (#32718) 2024-11-06 10:58:28 +00:00
renovate[bot]
e581c1a520 Update docker.io/ruby Docker tag to v3.3.6 (#32784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 10:58:01 +00:00
renovate[bot]
e4b4d6d262 Update dependency ruby to v3.3.6 (#32773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 10:57:42 +00:00
Claire
2bea74e69d Avoid latest featured tag use on post removal unless necessary (#32787) 2024-11-06 10:51:54 +00:00
github-actions[bot]
871e3b25e8 New Crowdin Translations (automated) (#32782)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-06 08:21:13 +00:00
Eugen Rochko
d6349c0e9a Add year in review feature to web UI (#32709) 2024-11-05 14:40:07 +00:00
Matt Jankowski
20a147170e Remove unused usage method from REST::V1::InstanceSerializer (#32768) 2024-11-05 14:20:27 +00:00
David Roetzel
d60ef3f17e Disable httplog gem in production (#32776) 2024-11-05 08:55:34 +00:00
github-actions[bot]
933fa81baf New Crowdin Translations (automated) (#32772)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-05 08:41:09 +00:00
renovate[bot]
883b509988 Update dependency postcss-preset-env to v10.0.9 (#32746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 08:36:03 +00:00
renovate[bot]
c83eea9a58 Update dependency json-ld-preloaded to v3.3.1 (#32771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 08:33:36 +00:00
Claire
0a1b5df202 Fix alt-text pop-in not using the translated description (#32766) 2024-11-04 11:08:19 +00:00
Eugen Rochko
90f4ffa31d Fix performance of percentile calculation for annual reports (#32765) 2024-11-04 10:11:06 +00:00
renovate[bot]
823f597f00 Update formatjs monorepo (#32764)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 09:20:13 +00:00
Matt Jankowski
a139dac18e Remove cookie rotator (#32289) 2024-11-04 09:11:00 +00:00
Claire
dfccd207bb Refactor common checks in tootctl media remove-orphans (#32720) 2024-11-04 09:04:55 +00:00
Matt Jankowski
ff490daa58 Reduce factory generation in AccountStatusesFilter spec (#32727) 2024-11-04 09:00:01 +00:00
github-actions[bot]
2271b39a5c New Crowdin Translations (automated) (#32733)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-11-04 08:56:11 +00:00
Matt Jankowski
e7a93915de Update browser to version 6.0.0 (#32728) 2024-11-04 08:44:59 +00:00
renovate[bot]
074fb04c6a Update dependency utf-8-validate to v6.0.5 (#32738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 08:42:39 +00:00
renovate[bot]
5bc32c47a2 Update dependency oj to v3.16.7 (#32741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 08:40:52 +00:00
renovate[bot]
f2763d978c Update formatjs monorepo (#32751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 08:38:46 +00:00
renovate[bot]
1657106473 Update DefinitelyTyped types (non-major) (#32760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 08:38:32 +00:00
renovate[bot]
dfdc6b2871 Update devDependencies (non-major) (#32761)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 08:38:20 +00:00
Matt Jankowski
b06fd54c30 Update zeitwerk to version 2.7.1 (#32723) 2024-10-31 16:00:21 +00:00
Matt Jankowski
080b3b6ca5 Update rails-i18n to version 7.0.10 (#32719) 2024-10-31 15:13:20 +00:00
Matt Jankowski
b231c3c1bf Drop support for ruby 3.1 (#32363) 2024-10-31 15:12:08 +00:00
Matt Jankowski
a20ac20302 Add model spec for Tombstone (#32697) 2024-10-31 13:27:47 +00:00
Joé Dupuis
917a799c67 Migrate from the deprecated azure-storage-blob to azure-blob (#32080)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-10-31 10:46:07 +00:00
renovate[bot]
516c97a112 Update dependency node to v22 (#32689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 10:42:18 +00:00
renovate[bot]
b3b3c0fe96 Update dependency core-js to v3.39.0 (#32707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 10:28:20 +00:00
renovate[bot]
87aa3467cf Update dependency selenium-webdriver to v4.26.0 (#32698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 10:03:07 +00:00
renovate[bot]
75b2ac49fb Update dependency strong_migrations to v2.0.2 (#32705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-31 10:02:47 +00:00
github-actions[bot]
e78db58b65 New Crowdin Translations (automated) (#32708)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-31 10:01:05 +00:00
Eugen Rochko
c2b498a2b0 Fix IDs not being serialized as strings in annual reports API (#32710) 2024-10-31 09:38:00 +00:00
Renato "Lond" Cerqueira
01e25af2e3 Fix 'unknown' media attachment rendering in detailed view (#32713) 2024-10-31 09:37:31 +00:00
Emelia Smith
e1b7382ea6 Add userinfo oauth endpoint (#32548) 2024-10-30 14:38:10 +00:00
github-actions[bot]
0a599d08d8 New Crowdin Translations (automated) (#32695)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-30 10:02:02 +00:00
renovate[bot]
110aa0aa28 Update workbox monorepo to v7.3.0 (#32691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 09:09:10 +00:00
renovate[bot]
7f743f3c81 Update dependency libvips to v8.16.0 (#32679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 08:40:49 +00:00
Claire
742eb549ab Fix preview cards with long titles erroneously causing layout changes (#32678) 2024-10-30 08:34:56 +00:00
Matt Jankowski
babee06794 Add coverage for StatusTrend and PreviewCardTrend models, add locales class method to RankedTrend (#32688) 2024-10-29 15:46:32 +00:00
Matt Jankowski
df3b954720 Add DomainHelpers spec support module for DNS/MX stub (#32690) 2024-10-29 15:35:25 +00:00
Nathan Sparrow
de1d8dc63a Embed modal mobile fix (#32641) 2024-10-29 15:12:35 +00:00
renovate[bot]
311d2b7f3a Update dependency fog-core to '<= 2.6.0' (#32660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-29 14:17:28 +00:00
David Roetzel
9de3fd60a0 Add telemetry for status / bio formatting (#32677) 2024-10-29 10:10:17 +00:00
github-actions[bot]
244aaf9a38 New Crowdin Translations (automated) (#32687)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-29 09:29:22 +00:00
Emelia Smith
d94a367aeb Add test coverage for POST /api/v2/media's max description length (#32683) 2024-10-29 09:25:38 +00:00
Matt Jankowski
b107fc2e65 Use nil for timestamp column in admin/confirmations spec (#32682) 2024-10-29 08:54:30 +00:00
Matt Jankowski
dc077437d5 Misc gem version bumps (#32684) 2024-10-29 08:37:43 +00:00
renovate[bot]
cff1846f80 Update babel monorepo to v7.26.0 (#32659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 14:55:45 +00:00
Matt Jankowski
6f5eb22135 Mailer header partial access cleanup (#32585) 2024-10-28 13:41:56 +00:00
Hugo Gameiro
b1d3c64525 Fix and improve batch attachment deletion handling when using OpenStack Swift (#32637) 2024-10-28 13:32:56 +00:00
Emelia Smith
dc0b1948be Feat: Implement interaction modal for Polls (#32609) 2024-10-28 13:27:37 +00:00
github-actions[bot]
0426cb78f7 New Crowdin Translations (automated) (#32589)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-28 13:23:13 +00:00
renovate[bot]
6a5a59c28c Update dependency @formatjs/cli to v6.3.5 (#32675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 13:21:24 +00:00
renovate[bot]
c3919289d2 Update DefinitelyTyped types (non-major) (#32674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 13:21:01 +00:00
renovate[bot]
48f6f46072 Update dependency react-select to v5.8.2 (#32661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 13:20:47 +00:00
Matt Jankowski
d547bf2f1e Update rails to version 7.1.4.2 (#32670) 2024-10-28 07:37:32 +00:00
Matt Jankowski
1edb527072 Enhance coverage for StatusPin model (#32515) 2024-10-28 07:34:58 +00:00
Jonny Saunders
9074c1fac9 Use likes and shares totalItems on status creations and updates (#32620) 2024-10-28 04:55:18 +00:00
renovate[bot]
77cd16f4ee Update dependency opentelemetry-instrumentation-active_job to v0.7.8 (#32657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 09:44:02 +00:00
renovate[bot]
3aa38841bd Update formatjs monorepo (#32651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 09:36:14 +00:00
renovate[bot]
aa29e42cf8 Update babel monorepo to v7.25.9 (#32628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 09:17:41 +00:00
renovate[bot]
60b0ad0771 Update dependency postcss-preset-env to v10.0.8 (#32647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 09:17:22 +00:00
renovate[bot]
5f58357bbe Update opentelemetry-ruby (non-major) (#32631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 09:15:46 +00:00
renovate[bot]
097942a291 Update dependency pg to v8.13.1 (#32650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 09:15:22 +00:00
renovate[bot]
0970cf818a Update dependency pg to v1.5.9 (#32655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 09:04:53 +00:00
Matt Jankowski
1775e151ec Simplify model validation specs for DomainAllow (#32496) 2024-10-25 08:42:14 +00:00
Matt Jankowski
9464281f29 Simplify model validation specs for AccountStatusCleanupPolicy (#32495) 2024-10-25 08:41:24 +00:00
Matt Jankowski
66c0471515 Enrich coverage for IpBlock model (#32471) 2024-10-25 08:35:07 +00:00
Matt Jankowski
15f6336cdd Simplify model validation specs for AccountMigration (#32494) 2024-10-25 08:02:13 +00:00
Matt Jankowski
86132f7dd3 Provide establish_policy helper method in AccountStatusesCleanupPolicy spec (#32490) 2024-10-25 08:00:58 +00:00
Matt Jankowski
2a13d6824c Use subject for FeedManager lib spec (#32486) 2024-10-25 07:59:31 +00:00
Matt Jankowski
2e3bbb6861 Move account suspension related coverage to concern spec (#32432) 2024-10-25 07:58:41 +00:00
Matt Jankowski
4134ccdbe0 Simplify model validation specs for WebauthnCredential (#32466) 2024-10-25 07:55:45 +00:00
Matt Jankowski
e5be4bf8d8 Simplify model validation specs for PreviewCard (#32469) 2024-10-25 07:55:33 +00:00
Matt Jankowski
37bcbeab4a Simplify model validation spec in AccountModerationNote/ReportNote (#31792) 2024-10-24 12:52:38 +00:00
Matt Jankowski
dea6c454fd Contribute more coverage for Account model (#32474) 2024-10-24 12:47:06 +00:00
Matt Jankowski
b16435e79f Explore more resplendent model validation specs for Form::AdminSettings (#32465) 2024-10-24 12:44:13 +00:00
Matt Jankowski
67504dbf9c Simplify uniqueness validation spec for IpBlock (#32066) 2024-10-24 12:43:40 +00:00
Matt Jankowski
5c910dc82e Add coverage for DatabaseHelper primary/replica methods (#32642) 2024-10-24 08:04:29 +00:00
Matt Jankowski
745c4f900a Remove unused ApplicationHelper#visibility_icon helper method (#32644) 2024-10-24 08:02:54 +00:00
Eugen Rochko
d11231a420 Change design of rich text elements in web UI (#32633) 2024-10-24 07:28:22 +00:00
Matt Jankowski
97b18d10b4 Move hcaptcha service config to config_for yml (#30662) 2024-10-23 14:25:43 +00:00
Matt Jankowski
35f008aa2a Move translation service config to config_for yml (#30663) 2024-10-23 13:32:18 +00:00
Matt Jankowski
5a4f4f3e83 Remove single-use ProfileStories method (#31164) 2024-10-23 13:31:03 +00:00
Matt Jankowski
a850be4ad3 Match ruby version in lockfile to version in .ruby-version (#31995) 2024-10-23 13:30:09 +00:00
Matt Jankowski
2f906ed55a Constants for account refresh (#32420) 2024-10-23 13:29:01 +00:00
Matt Jankowski
fae1de699c Remove duplicate indexes from database (#32454) 2024-10-23 13:26:51 +00:00
Matt Jankowski
c3e684b715 Remove unused svg logos (#32581) 2024-10-23 13:25:49 +00:00
Claire
393f0a0159 Redesign Content Warning and filters (#32543) 2024-10-23 09:47:23 +00:00
David Roetzel
05f23df3b7 Add endpoint to remove web push subscription (#32626) 2024-10-23 08:02:31 +00:00
Matt Jankowski
d1b20ea8f7 Worker specs coverage increase (#32541) 2024-10-23 07:50:20 +00:00
Matt Jankowski
bd0c826a3d Simplify model validation specs for Announcement (#32481) 2024-10-23 07:47:46 +00:00
Matt Jankowski
c0f46e9031 Fortify coverage for Follow model (#32472) 2024-10-23 07:46:55 +00:00
Matt Jankowski
1f3722904f Top off coverage for Appeal model (#32464) 2024-10-23 06:42:57 +00:00
Matt Jankowski
67403e7b01 Add coverage for ActivityPub likes/shares endpoints (#32305) 2024-10-23 06:41:07 +00:00
Matt Jankowski
0a4a73f9a6 Add coverage for api/v1/domain_blocks/preview endpoint (#32303) 2024-10-23 06:40:29 +00:00
Matt Jankowski
6d2f865862 Add coverage for AccountAlias validations (#31936) 2024-10-23 06:39:19 +00:00
David Roetzel
029c99bd7b Do not change follow counters when already following (#32622) 2024-10-22 12:49:10 +00:00
Jeong Arm
18659f8163 Fix that blocking was not working on link timeline (#32625) 2024-10-22 12:46:32 +00:00
Eugene Alvin Villar
16597fa735 Fix tl language native name (#32606) 2024-10-22 08:41:40 +00:00
renovate[bot]
f8a66e9915 Update formatjs monorepo (#32612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 08:36:32 +00:00
Emelia Smith
346cdb998c Fix 'unknown' media attachment type rendering (#32613) 2024-10-22 08:31:53 +00:00
renovate[bot]
bb05325306 Update dependency eslint-plugin-formatjs to v5 (#32087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 08:37:51 +00:00
renovate[bot]
36f1ec164d Update dependency ubuntu to v24 (#32280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 08:29:23 +00:00
renovate[bot]
4d5b2de6c8 Update dependency mime-types to '~> 3.6.0' (#32215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 08:24:42 +00:00
renovate[bot]
699f75bb35 Update dependency eslint-plugin-react-hooks to v5 (#32425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 08:23:46 +00:00
renovate[bot]
bd850d1ec0 Update dependency @reduxjs/toolkit to v2.3.0 (#32497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 08:22:07 +00:00
Matt Jankowski
40b4f73c18 Pre-import Rails 7.2 generated config minor changes (#30579) 2024-10-21 08:07:07 +00:00
renovate[bot]
e05f9fed33 Update dependency pino to v9.5.0 (#32511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 08:04:30 +00:00
renovate[bot]
29f98b361f Update dependency ruby-prof to v1.7.1 (#32599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 08:03:59 +00:00
renovate[bot]
11a63b2db6 Update eslint (non-major) (#32279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-10-21 08:03:44 +00:00
renovate[bot]
4a65fa74fa Update dependency aws-sdk-s3 to v1.169.0 (#32552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 07:29:51 +00:00
renovate[bot]
650f224328 Update dependency faker to v3.5.1 (#32588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 07:29:32 +00:00
renovate[bot]
2e0bb35cf7 Update dependency brakeman to v6.2.2 (#32587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 07:29:09 +00:00
renovate[bot]
35da47c857 Update devDependencies (non-major) (#32603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 07:28:35 +00:00
renovate[bot]
8e39cc9218 Update Yarn to v4.5.1 (#32586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 07:28:01 +00:00
renovate[bot]
a19a120769 Update DefinitelyTyped types (non-major) (#32278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 07:27:27 +00:00
renovate[bot]
52af99ce77 Update dependency libvips to v8.15.5 (#32596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-21 07:27:09 +00:00
Renaud Chaput
fb6d7ed475 Replace execCommand for copying text with the modern clipboard API (#32598) 2024-10-21 07:08:18 +00:00
Claire
1fc165de02 Remove ability to get embed code for remote posts (#32578) 2024-10-18 10:51:05 +00:00
Claire
2391937e11 Fix follow recommendation moderation page default language when using regional variant (#32580) 2024-10-18 10:21:25 +00:00
github-actions[bot]
8eae0d067d New Crowdin Translations (automated) (#32573)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-18 07:56:43 +00:00
hota
0f37b7d6ac Fix column-settings spacing in local timeline in advanced view (#32567) 2024-10-18 07:40:08 +00:00
Matt Jankowski
bd6c96f737 Fix broken i18n in text welcome mailer tags area (#32571) 2024-10-18 07:19:37 +00:00
Claire
8b56509625 Add more explicit explanations about author attribution and fediverse:creator (#32383) 2024-10-17 09:03:08 +00:00
github-actions[bot]
009f2ebc32 New Crowdin Translations (automated) (#32553)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-17 08:21:51 +00:00
Emelia Smith
b23ff050ac Fix missing or incorrect cache-control headers for Streaming server (#32551) 2024-10-17 08:17:18 +00:00
Matt Jankowski
5103abc3ec Fix trailing slash newline in changelog (#32545) 2024-10-17 07:22:13 +00:00
Matt Jankowski
a0c7b317a7 Update rails to version 7.1.4.1 (#32542) 2024-10-16 12:52:06 +00:00
Emelia Smith
bc2e642272 Fix: Reword 'pick one' to 'single choice' for polls (#32397) 2024-10-16 10:40:40 +00:00
Claire
6ff1954bdb Change Active Record Encryption variable check to check for emptiness (#32537) 2024-10-16 08:43:45 +00:00
Renaud Chaput
6c87c76e18 Add ability to group follow notifications in WebUI (#32520) 2024-10-16 08:33:11 +00:00
github-actions[bot]
acc1973f3a New Crowdin Translations (automated) (#32533)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-16 08:12:43 +00:00
Matt Jankowski
bfe3d49cca Add inline_jobs to admin/reset spec (#32517) 2024-10-16 08:06:34 +00:00
Claire
f8ba2122f8 Explicitly install ImageMagick in CI (except for libvips tests) (#32534) 2024-10-16 08:03:35 +00:00
Christian Winther
5900c8c7fd Run migration tests against postgres 16 and 17 as well (#32416) 2024-10-16 07:44:28 +00:00
Claire
25f8003d75 Fix only the first paragraph being displayed in some notifications (#32348) 2024-10-16 07:30:53 +00:00
Renaud Chaput
7a7a7cc448 Add back a 6 hours mute duration option (#32522) 2024-10-16 07:27:44 +00:00
Matt Jankowski
c40cd79c4d Convert admin/invites controller specs to system specs (#32450) 2024-10-15 14:27:46 +00:00
Matt Jankowski
9e8f099d38 Improve app/policies coverage (#32426) 2024-10-15 14:24:12 +00:00
Matt Jankowski
28131b4b00 Convert status embed controller to request spec (#32448) 2024-10-15 14:18:20 +00:00
Matt Jankowski
52bc33115d Add mention of encryption secrets to production sample (#32512) 2024-10-15 14:14:17 +00:00
Matt Jankowski
b78597979a Fix missing content warning text in rss formatter (#32406) 2024-10-15 14:12:54 +00:00
Matt Jankowski
b742ce9d09 Reduce factory creation (17 -> 0) in PlainTextFormatter spec (#32487) 2024-10-15 13:58:45 +00:00
renovate[bot]
92c8860451 Update babel monorepo to v7.25.8 (#32391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 13:58:33 +00:00
Matt Jankowski
0e58dc90d9 Use array compact style for classes in nothing_here helper (#32403) 2024-10-15 13:56:29 +00:00
Matt Jankowski
e9b27852be Reduce factory creation (14 -> 8) in ActivityPub::Activity::Block spec (#32488) 2024-10-15 13:51:52 +00:00
Matt Jankowski
27f05e9016 Expand coverage for User#token_for_app (#32434) 2024-10-15 13:43:08 +00:00
renovate[bot]
c772b41c36 Update dependency react-textarea-autosize to v8.5.4 (#32401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 13:38:48 +00:00
renovate[bot]
c19397b94a Update formatjs monorepo (#32304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 13:38:02 +00:00
Matt Jankowski
bfb41e61a3 Expand coverage for Block model (#32480) 2024-10-15 13:30:17 +00:00
Christian Schmidt
227d46883f Translate to regional language variant (e.g. pt-BR) (#32428) 2024-10-15 13:26:20 +00:00
Matt Jankowski
6a39212b02 Reduce factories (36 > 12) in AccountReachFinder spec (#32482) 2024-10-15 13:18:57 +00:00
Matt Jankowski
92bb19773a Use context for repeated scenarios in AccountStatusCleanupPolicy spec (#32489) 2024-10-15 13:12:58 +00:00
Matt Jankowski
d1d2278e70 Reduce factory creation (73 -> 64) in PublicFeed spec (#32491) 2024-10-15 13:10:29 +00:00
Matt Jankowski
b1c10969ac Reduce factory creation (48 -> 8) in AP::Note serializer spec (#32492) 2024-10-15 13:10:03 +00:00
Matt Jankowski
a11b599ffa Expand coverage for Scheduler::IpCleanupScheduler worker (#32499) 2024-10-15 13:09:25 +00:00
Matt Jankowski
0cc21f1ded Reduce factory creation (132 -> 40) in lib/vacuum/* specs (#32498) 2024-10-15 12:54:56 +00:00
Matt Jankowski
d74c2c583a Extend spec coverage for Poll model (#32500) 2024-10-15 12:48:10 +00:00
Renaud Chaput
a1eb1a9642 Update issue templates ot use the new GH Types, and add Troubleshooting template (#32484)
Co-authored-by: Matt Jankowski <matt@jankowski.online>
2024-10-15 11:49:15 +00:00
Jeong Arm
5afdb81b36 Fix reblog icons on account media view (#32506) 2024-10-15 10:01:21 +00:00
Claire
5e4cc1a39c Fix follow recommendation carrousel scrolling on RTL layouts, for real (#32505) 2024-10-15 09:38:04 +00:00
kenkiku1021
f2378aca40 add SWIFT object storage uri to CSP media hosts (#32439)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-10-15 09:28:07 +00:00
github-actions[bot]
7d89cea0ea New Crowdin Translations (automated) (#32339)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-15 09:26:28 +00:00
renovate[bot]
5ac64153d9 Update dependency pghero to v3.6.1 (#32502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 09:16:29 +00:00
renovate[bot]
b5e8bc4dad Update dependency strong_migrations to v2.0.1 (#32503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 09:16:14 +00:00
Renaud Chaput
51345e5133 Fix back arrow pointing to the incorrect direction in RTL languages (#32485) 2024-10-15 09:15:25 +00:00
Emelia Smith
6d99f848a2 Fix: Use consistent REDIS_USER environment variable in streaming (#32493) 2024-10-15 07:40:18 +00:00
Claire
7c10b0fb7a Fix follow recommendation carrousel scrolling on RTL layouts (#32462) 2024-10-14 15:25:32 +00:00
Claire
ffa1032381 Add further warnings about encryption secrets (#32476) 2024-10-14 13:00:20 +00:00
Matt Jankowski
cc70acc11c Augment coverage for Status model (#32468) 2024-10-14 12:52:47 +00:00
Matt Jankowski
d8eab3d81f Reinforce coverage for DomainBlock model (#32473) 2024-10-14 12:51:01 +00:00
Florian Kohler
2404d6d1a1 Added Swiss German to languages dropdown (#29281)
Co-authored-by: David Roetzel <david@roetzel.de>
2024-10-14 08:57:34 +00:00
Matt Jankowski
06d6b35e88 Convert admin/tags controller specs to system specs (#32447) 2024-10-14 08:31:12 +00:00
renovate[bot]
2343ce4441 Update dependency rack to v2.2.10 (#32455)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 08:28:47 +00:00
renovate[bot]
555fb98cbb Update dependency typescript to v5.6.3 (#32456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 08:28:15 +00:00
renovate[bot]
05bc82e1ab Update dependency use-debounce to v10.0.4 (#32452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 08:24:10 +00:00
renovate[bot]
e9eac64896 Update devDependencies (non-major) (#32457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 08:23:20 +00:00
renovate[bot]
de422a37e8 Update dependency fuzzysort to v3.1.0 (#32460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 08:22:46 +00:00
Claire
b0dd38433b Fix follow recommendation suppressions not applying immediately (#32392) 2024-10-14 08:18:25 +00:00
Claire
e15befebbd Add tag with commit hash to PR image builds (#32418) 2024-10-11 14:16:37 +00:00
Claire
10ea6da09f Fix language of push notifications (#32415) 2024-10-11 10:24:03 +00:00
Claire
bb0cf04d71 Add note about not changing ActiveRecord encryption secrets once they are set (#32413) 2024-10-11 09:19:48 +00:00
Claire
22fd767425 Fix mute duration not being shown in list of muted accounts in web UI (#32388) 2024-10-10 14:53:12 +00:00
Claire
3b07fe1bba Fix “Mark every notification as read” not updating the read marker if scrolled down (#32385) 2024-10-10 13:42:08 +00:00
renovate[bot]
9350cd31d7 Update dependency postcss-preset-env to v10.0.7 (#32389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 13:21:48 +00:00
Claire
a5a3733c97 Fix “Mention” appearing for otherwise filtered posts (#32356) 2024-10-10 11:04:38 +00:00
Michael Stanclift
cdf603239e Restore list column border (#32367) 2024-10-09 19:33:28 +00:00
Claire
d9fbb071da Fix notification requests from suspended accounts still being listed (#32354) 2024-10-09 17:29:02 +00:00
Claire
03dbebdfef Fix list edition modal styling (#32358) 2024-10-09 17:24:22 +00:00
Claire
fda52b2a52 Fix 4 columns barely not fitting on 1920px screen (#32361) 2024-10-09 17:16:57 +00:00
renovate[bot]
6d6565eee7 Update dependency express to v4.21.1 (#32336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 14:24:24 +00:00
Claire
0d91db3d77 Fix latest tag for 4.3 docker image builds (#32350) 2024-10-09 12:13:32 +00:00
Matt Jankowski
258dce1256 Add OpenSSL::SSL::SSLError to http connection errors wrapper (#32307) 2024-10-08 14:59:51 +00:00
Matt Jankowski
e8ec6667bd Extract wrapper constant for HTTP::* error classes (#32285) 2024-10-08 13:53:35 +00:00
Matt Jankowski
f49161ab1d Oauth system spec cleanup / helper method extraction (#32287) 2024-10-08 13:30:54 +00:00
Matt Jankowski
3cf2d35c49 Reference IpBlock.severities keys from CLI option check (#32291) 2024-10-08 13:23:30 +00:00
Matt Jankowski
d20a899bb9 Bring icon vertical middle to applications list style (#32293) 2024-10-08 13:21:36 +00:00
Matt Jankowski
022c1ae6f2 Remove unused deprecator configuration (#32288) 2024-10-08 12:52:52 +00:00
Claire
c3a38c7d8c Update changelog and security policy (#32300) 2024-10-08 12:24:59 +00:00
github-actions[bot]
ff3e2c9cfa New Crowdin Translations (automated) (#32295)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-08 08:10:39 +00:00
Claire
562105c69a Fix source strings being uploaded to crowdin in merge groups (#32298) 2024-10-08 08:00:05 +00:00
renovate[bot]
c60d4ecc82 Update dependency @reduxjs/toolkit to v2.2.8 (#32296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 07:38:43 +00:00
Jake Anto
0c16365991 Prefer native apps over PWA (#27254) 2024-10-07 20:33:14 +00:00
Leni Kadali
4238da6ee3 Add error message when user tries to follow their own account (#31910) 2024-10-07 12:05:46 +00:00
Matt Jankowski
bfabd6a2b8 Move account suspension-related methods to concern (#28351) 2024-10-07 12:02:04 +00:00
Eugen Rochko
1f5bd571cd Fix missing avatar fallback interfering with transparency in web UI (#32270) 2024-10-07 09:35:42 +00:00
Claire
a59160cf01 Add missing on_delete: :cascade on notification_permissions (#32281) 2024-10-07 07:46:03 +00:00
renovate[bot]
0ce2db4f7d Update dependency postcss-preset-env to v10.0.6 (#32260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 07:07:07 +00:00
github-actions[bot]
498024558a New Crowdin Translations (automated) (#32262)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-07 07:06:43 +00:00
Eugen Rochko
2c54b91dd1 Fix wrong width on logo in detailed link card in web UI (#32271) 2024-10-07 06:53:29 +00:00
Christian Schmidt
c40ab43dc7 Remove redundant title attribute (#32258) 2024-10-04 16:23:05 +00:00
Claire
51769e0670 Fix media gallery items having incorrect borders when hidden (#32257) 2024-10-04 14:55:44 +00:00
Claire
1f720366e9 Fix notification push notifications not including the author's username (#32254) 2024-10-04 14:29:23 +00:00
Matt Jankowski
ebdeac0731 Add coverage for missing status scenario in NotificationMailer (#32256) 2024-10-04 14:15:14 +00:00
Matt Jankowski
e4e07b1c34 Reduce factory usage across spec/services area (#32098) 2024-10-04 14:11:15 +00:00
Matt Jankowski
4fe7f213a6 Use async_count in more view locations (#32086) 2024-10-04 12:29:43 +00:00
Claire
77f5b127fa Fix unsupported grouped notifications from streaming causing duplicate IDs (#32243) 2024-10-04 12:23:30 +00:00
Matt Jankowski
463f9197d8 Add regression coverage for admin reports resolution button within form (#32248) 2024-10-04 12:21:55 +00:00
Claire
49407e7623 Fix Content-Security-Policy when using sso-redirect (#32241) 2024-10-04 08:50:36 +00:00
Matt Jankowski
cf28104317 Rename preloaded models constant in cli media (#30531) 2024-10-04 08:30:08 +00:00
Matt Jankowski
82e7d53d54 Rename transformer constant in sanitizer (#30532) 2024-10-04 08:29:23 +00:00
gunchleoc
160917e718 Pluralize csv imports (#27094)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-10-04 08:19:01 +00:00
forsamori
63a959099b Add margin-bottom to error.dialog to reduce whitespace (#25708)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-10-04 08:02:14 +00:00
renovate[bot]
12a8ac1f85 Update dependency node to 20.18 (#32244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 07:57:41 +00:00
github-actions[bot]
1b247a1dc2 New Crowdin Translations (automated) (#32249)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-04 07:29:53 +00:00
renovate[bot]
aba888c4a6 Update dependency ffmpeg to v7.1 (#32239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 07:18:38 +00:00
Claire
4c0e44ebbe Fix recently-broken admin interface buttons (#32240) 2024-10-03 16:12:15 +00:00
Matt Jankowski
cc8d723e71 Register an XML encoder for response tests (#32220) 2024-10-03 13:10:27 +00:00
Matt Jankowski
d95f6f4410 Extract ExportSummary class for account object counts (#32227) 2024-10-03 13:09:58 +00:00
Matt Jankowski
52afa94f1c Use print_table to wrap storage output CLI (#32230) 2024-10-03 12:13:54 +00:00
renovate[bot]
1db91ab8d9 Update dependency typescript to v5.6.2 (#32165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-03 09:34:04 +00:00
github-actions[bot]
fe3f5375e3 New Crowdin Translations (automated) (#32233)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-03 09:15:31 +00:00
renovate[bot]
d96351a87d Update babel monorepo to v7.25.7 (#32225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-03 09:05:11 +00:00
renovate[bot]
0be1d332f2 Update dependency aws-sdk-s3 to v1.167.0 (#32231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-03 09:04:33 +00:00
renovate[bot]
6ef510fe3f Update dependency json-schema to v5.0.1 (#32234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-03 09:04:12 +00:00
Claire
f768a6eb16 Hide badges in media gallery when media are hidden (#32224) 2024-10-02 15:51:05 +00:00
Matt Jankowski
cec8961372 Move admin action log type list generation to helper (#32178) 2024-10-02 14:47:00 +00:00
Matt Jankowski
7d6b9ccd34 Add copyable_input helper method to wrap shared options (#32119) 2024-10-02 14:45:54 +00:00
Matt Jankowski
36f9c96812 Clean up labels on development application form (#32116) 2024-10-02 14:45:12 +00:00
Matt Jankowski
b7bb850efd Enable hostname config for all system specs (#32109) 2024-10-02 13:56:26 +00:00
Claire
f760899b04 Fix editing description of media uploads with custom thumbnails (#32221) 2024-10-02 13:29:23 +00:00
Claire
b5006539c9 Fix media uploads in composer appearing over search results in advanced interface (#32217) 2024-10-02 13:28:36 +00:00
Matt Jankowski
d270d6dd4f Provide use_path to qr generator for svg data size reduction (#32127) 2024-10-02 13:26:46 +00:00
Matt Jankowski
2151dfb8d6 Add relevant_params to ReportFilter (matches account filter) (#32136) 2024-10-02 13:24:40 +00:00
Matt Jankowski
cf859d151b More link/button conversion across views (#32199) 2024-10-02 13:08:40 +00:00
Matt Jankowski
1f65a95421 Remove unneeded reorder(nil) conditions (#32200) 2024-10-02 12:26:16 +00:00
Matt Jankowski
4aa26eba53 Extract WebPushRequest from push notification worker and subscription (#32208) 2024-10-02 11:11:52 +00:00
Claire
4a737a948a Fix incorrect 'navigator' check (#32219) 2024-10-02 10:03:04 +00:00
Matt Jankowski
ebab3b80c7 Expand coverage for Export utility class (#32212) 2024-10-02 09:43:04 +00:00
Christian Schmidt
33d3ca7cf1 Support /.well-known/host-meta.json (#32206) 2024-10-02 09:23:44 +00:00
Matt Jankowski
f0716368e6 Update simplecov-html to version 0.13.1 (#32205) 2024-10-02 09:07:52 +00:00
github-actions[bot]
ea72d5ec3a New Crowdin Translations (automated) (#32214)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-02 09:05:57 +00:00
Jeong Arm
66b2bc1c84 Ignore error if mentioned account was not processable (#29215)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-10-02 08:08:02 +00:00
Nick Schonning
f91f077985 Enable ESLlint no-case-declarations (#30768) 2024-10-01 16:26:30 +00:00
renovate[bot]
a2c4ba2001 Update dependency rubocop-rspec to v3.1.0 (#32202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 15:10:56 +00:00
Matt Jankowski
4cae309f6a Fix Rails/CreateTableWithTimestamps cop (#30836) 2024-10-01 13:56:43 +00:00
Jeong Arm
65508bb0c0 Show timestamp when the user deletes their account on admin dashboard (#25640)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-10-01 13:54:28 +00:00
Matt Jankowski
df98cf71e3 Avoid repeated icon stack in settings sidebar (#32201) 2024-10-01 13:50:20 +00:00
Matt Jankowski
f10d61bf86 Adjust spacing on setting sub-nav items when below mobile size (#32137) 2024-10-01 13:41:25 +00:00
Matt Jankowski
f73787a4b8 Fix broken border on applications list (#32147) 2024-10-01 13:38:29 +00:00
Claire
7b92cf3b47 Fix unneeded requests to blocked domains when receiving relayed signed activities from them (#31161) 2024-10-01 12:52:13 +00:00
Emelia Smith
c5f0da98e4 Add detection and download of material_symbol icons in config/navigation.rb (#31366) 2024-10-01 12:49:04 +00:00
Matt Jankowski
44071fdbae Wrap datetime in time element with attrs (#32177) 2024-10-01 12:45:58 +00:00
Matt Jankowski
ec16ed37c3 Extract constants for header and avatar geometry (#32151) 2024-10-01 11:36:25 +00:00
Matt Jankowski
c009507912 Use button_to for method: :post links on account show page (#32154) 2024-10-01 11:14:12 +00:00
Matt Jankowski
651846c622 Only show email domain blocks MX table when some found (#32155) 2024-10-01 11:03:13 +00:00
Matt Jankowski
4b4bf82ea9 Fix nav item active highlight for some paths (#32159) 2024-10-01 10:48:27 +00:00
Matt Jankowski
489abb8173 Remove explicit put action in prefs forms (#32175) 2024-10-01 10:35:40 +00:00
Matt Jankowski
7e35bef97e Remove explicit put action in settings forms (#32176) 2024-10-01 10:34:05 +00:00
renovate[bot]
8ae381fd04 Update dependency postcss-preset-env to v10.0.5 (#32019)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 10:04:12 +00:00
Matt Jankowski
efd3f59627 Use module: :users in routes/admin section (#30767) 2024-10-01 10:02:58 +00:00
Emelia Smith
454d21ab5a Remove OAuth Password Grant Type support (#30960) 2024-10-01 09:56:58 +00:00
Matt Jankowski
e975b55c24 Remove WebfingerHelper module & move usage inline (#31203) 2024-10-01 09:54:42 +00:00
David Roetzel
e6cda8388c Move OTP secret length to configuration (#32125) 2024-10-01 09:38:42 +00:00
renovate[bot]
0b89765e9a Update RuboCop (non-major) to v1.22.1 (#31573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 09:30:54 +00:00
Matt Jankowski
f251edfc1d Add date_range view helper (#32187) 2024-10-01 09:30:21 +00:00
renovate[bot]
7a653001b4 Update dependency haml_lint to v0.59.0 (#32146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 09:30:09 +00:00
renovate[bot]
b7ddf45924 Update docker/dockerfile Docker tag to v1.10 (#32166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 09:29:38 +00:00
renovate[bot]
3d943f03fd Update dependency webmock to v3.24.0 (#32190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 09:13:33 +00:00
renovate[bot]
2829f72d16 Update dependency propshaft to v1.1.0 (#32192)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 09:13:29 +00:00
Matt Jankowski
f811fcb2b2 Improve alignment of icons on admin roles list (#32153) 2024-10-01 09:08:29 +00:00
Matt Jankowski
675d3ea5c1 Extract dashboard partial for admin instance page (#32189) 2024-10-01 08:36:41 +00:00
Renaud Chaput
497e8d00b9 Bump main version 4.4.0-alpha.1 (#32180) 2024-10-01 08:36:22 +00:00
renovate[bot]
d9973f3b70 Update peter-evans/create-pull-request action to v7.0.5 (#32164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 08:28:50 +00:00
Matt Jankowski
685067efd1 Avoid id duplication conflict with main navigation from settings profile link (#32181) 2024-10-01 08:23:05 +00:00
Renaud Chaput
1be55ce244 Fix follow notifications from streaming being grouped (#32179) 2024-10-01 08:22:14 +00:00
github-actions[bot]
5839ee434b New Crowdin Translations (automated) (#32195)
Co-authored-by: GitHub Actions <noreply@github.com>
2024-10-01 08:21:17 +00:00
Matt Jankowski
0b6d217b9e Use account display name for pretend blog example in attribution area (#32188) 2024-10-01 08:19:53 +00:00
Claire
07cd1fd1ef Support translation branches in Crowdin (#32174) 2024-09-30 17:32:23 +00:00
4051 changed files with 179572 additions and 77747 deletions

59
.annotaterb.yml Normal file
View File

@@ -0,0 +1,59 @@
---
:position: before
:position_in_additional_file_patterns: before
:position_in_class: before
:position_in_factory: before
:position_in_fixture: before
:position_in_routes: before
:position_in_serializer: before
:position_in_test: before
:classified_sort: true
:exclude_controllers: true
:exclude_factories: true
:exclude_fixtures: true
:exclude_helpers: true
:exclude_scaffolds: true
:exclude_serializers: true
:exclude_sti_subclasses: true
:exclude_tests: true
:force: false
:format_markdown: false
:format_rdoc: false
:format_yard: false
:frozen: false
:ignore_model_sub_dir: false
:ignore_unknown_models: false
:include_version: false
:show_complete_foreign_keys: false
:show_foreign_keys: false
:show_indexes: false
:simple_indexes: false
:sort: false
:timestamp: false
:trace: false
:with_comment: true
:with_column_comments: true
:with_table_comments: true
:active_admin: false
:command:
:debug: false
:hide_default_column_types: ''
:hide_limit_column_types: 'integer,boolean'
:ignore_columns:
:ignore_routes:
:models: true
:routes: false
:skip_on_db_migrate: false
:target_action: :do_annotations
:wrapper:
:wrapper_close:
:wrapper_open:
:classes_default_to_s: []
:additional_file_patterns: []
:model_dir:
- app/models
:require: []
:root_dir:
- ''
:show_check_constraints: false

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

@@ -1,5 +1,5 @@
# For details, see https://github.com/devcontainers/images/tree/main/src/ruby
FROM mcr.microsoft.com/devcontainers/ruby:1-3.3-bookworm
FROM mcr.microsoft.com/devcontainers/ruby:3.4-trixie
# Install node version from .nvmrc
WORKDIR /app
@@ -9,7 +9,7 @@ RUN /bin/bash --login -i -c "nvm install"
# Install additional OS packages
RUN apt-get update && \
export DEBIAN_FRONTEND=noninteractive && \
apt-get -y install --no-install-recommends libicu-dev libidn11-dev ffmpeg imagemagick libvips42 libpam-dev
apt-get -y install --no-install-recommends libicu-dev libidn11-dev ffmpeg libvips42 libpam-dev
# Disable download prompt for Corepack
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0

View File

@@ -9,7 +9,9 @@ services:
environment:
RAILS_ENV: development
NODE_ENV: development
VITE_RUBY_HOST: 0.0.0.0
BIND: 0.0.0.0
BOOTSNAP_CACHE_DIR: /tmp
REDIS_HOST: redis
REDIS_PORT: '6379'
DB_HOST: db
@@ -20,12 +22,14 @@ services:
ES_HOST: es
ES_PORT: '9200'
LIBRE_TRANSLATE_ENDPOINT: http://libretranslate:5000
LOCAL_DOMAIN: ${LOCAL_DOMAIN:-localhost:3000}
VITE_DEV_SERVER_PUBLIC: ${VITE_DEV_SERVER_PUBLIC:-localhost:3036}
# 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'
- '3036:3036'
- '4000:4000'
networks:
- external_network
- internal_network
@@ -52,7 +56,7 @@ services:
- internal_network
es:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.29
restart: unless-stopped
environment:
ES_JAVA_OPTS: -Xms512m -Xmx512m
@@ -69,7 +73,7 @@ services:
hard: -1
libretranslate:
image: libretranslate/libretranslate:v1.6.1
image: libretranslate/libretranslate:v1.7.3
restart: unless-stopped
volumes:
- lt-data:/home/libretranslate/.local

View File

@@ -5,6 +5,7 @@
.gitattributes
.gitignore
.github
.vscode
public/system
public/assets
public/packs
@@ -20,3 +21,10 @@ postgres14
redis
elasticsearch
chart
storybook-static
.yarn/
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

View File

@@ -43,7 +43,17 @@ ES_PASS=password
# Make sure to use `bundle exec rails secret` to generate secrets
# -------
SECRET_KEY_BASE=
OTP_SECRET=
# Encryption secrets
# ------------------
# 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
# ------------------
# ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=
# ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=
# ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=
# Web Push
# --------
@@ -68,6 +78,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

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,368 +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-case-declarations': 'off',
'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

@@ -0,0 +1 @@
https://joinmastodon.org/funding.json

View File

@@ -1,6 +1,7 @@
name: Bug Report (Web Interface)
description: If you are using Mastodon's web interface and something is not working as expected
labels: [bug, 'status/to triage', 'area/web interface']
description: There is a problem using Mastodon's web interface.
labels: ['area/web interface']
type: Bug
body:
- type: markdown
attributes:
@@ -47,8 +48,8 @@ body:
attributes:
label: Mastodon version
description: |
This is displayed at the bottom of the About page, eg. `v4.1.2+nightly-20230627`
placeholder: v4.1.2
This is displayed at the bottom of the About page, eg. `v4.4.0-beta.1`
placeholder: v4.4.0-beta.1
validations:
required: true
- type: input
@@ -56,7 +57,7 @@ body:
label: Browser name and version
description: |
What browser are you using when getting this bug? Please specify the version as well.
placeholder: Firefox 105.0.3
placeholder: Firefox 139.0.0
validations:
required: true
- type: input
@@ -64,7 +65,7 @@ body:
label: Operating system
description: |
What OS are you running? Please specify the version as well.
placeholder: macOS 13.4.1
placeholder: macOS 15.5
validations:
required: true
- type: textarea

View File

@@ -1,7 +1,7 @@
name: Bug Report (server / API)
description: |
If something is not working as expected, but is not from using the web interface.
labels: [bug, 'status/to triage']
There is a problem with the HTTP server, REST API, ActivityPub interaction, etc.
type: 'Bug'
body:
- type: markdown
attributes:
@@ -48,8 +48,8 @@ body:
attributes:
label: Mastodon version
description: |
This is displayed at the bottom of the About page, eg. `v4.1.2+nightly-20230627`
placeholder: v4.1.2
This is displayed at the bottom of the About page, eg. `v4.4.0-beta.1`
placeholder: v4.4.0-beta.1
validations:
required: false
- type: textarea
@@ -59,7 +59,7 @@ body:
Any additional technical details you may have, like logs or error traces
value: |
If this is happening on your own Mastodon server, please fill out those:
- Ruby version: (from `ruby --version`, eg. v3.1.2)
- Node.js version: (from `node --version`, eg. v18.16.0)
- Ruby version: (from `ruby --version`, eg. v3.4.4)
- Node.js version: (from `node --version`, eg. v22.16.0)
validations:
required: false

View File

@@ -0,0 +1,74 @@
name: Deployment troubleshooting
description: |
You are a server administrator and you are encountering a technical issue during installation, upgrade or operations of Mastodon.
labels: ['status/to triage']
type: 'Troubleshooting'
body:
- type: markdown
attributes:
value: |
Make sure that you are submitting a new bug that was not previously reported or already fixed.
Please use a concise and distinct title for the issue.
- type: textarea
attributes:
label: Steps to reproduce the problem
description: What were you trying to do?
value: |
1.
2.
3.
...
validations:
required: true
- type: input
attributes:
label: Expected behaviour
description: What should have happened?
validations:
required: true
- type: input
attributes:
label: Actual behaviour
description: What happened?
validations:
required: true
- type: textarea
attributes:
label: Detailed description
validations:
required: false
- type: input
attributes:
label: Mastodon instance
description: The address of the Mastodon instance where you experienced the issue
placeholder: mastodon.social
validations:
required: true
- type: input
attributes:
label: Mastodon version
description: |
This is displayed at the bottom of the About page, eg. `v4.4.0-alpha.1`
placeholder: v4.4.0-beta.1
validations:
required: false
- type: textarea
attributes:
label: Environment
description: |
Details about your environment, like how Mastodon is deployed, if containers are used, version numbers, etc.
value: |
Please at least include those informations:
- Operating system: (eg. Ubuntu 24.04.2)
- Ruby version: (from `ruby --version`, eg. v3.4.4)
- Node.js version: (from `node --version`, eg. v22.16.0)
validations:
required: false
- type: textarea
attributes:
label: Technical details
description: |
Any additional technical details you may have, like logs or error traces
validations:
required: false

View File

@@ -1,6 +1,6 @@
name: Feature Request
description: I have a suggestion
labels: [suggestion]
type: Suggestion
body:
- type: markdown
attributes:

View File

@@ -9,7 +9,7 @@ runs:
using: 'composite'
steps:
- name: Set up Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version-file: '.nvmrc'
@@ -23,7 +23,7 @@ runs:
shell: bash
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
- uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}

View File

@@ -17,7 +17,7 @@ runs:
sudo apt-get install -y libicu-dev libidn11-dev libvips42 ${{ inputs.additional-system-dependencies }}
- name: Set up Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1
with:
ruby-version: ${{ inputs.ruby-version }}
bundler-cache: true

View File

@@ -5,7 +5,7 @@
'customManagers:dockerfileVersions',
':labels(dependencies)',
':prConcurrentLimitNone', // Remove limit for open PRs at any time.
':prHourlyLimit2', // Rate limit PR creation to a maximum of two per hour.
':enableVulnerabilityAlertsWithLabel(security)',
],
rebaseWhen: 'conflicted',
minimumReleaseAge: '3', // Wait 3 days after the package has been published before upgrading it
@@ -15,34 +15,19 @@
// 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
matchManagers: ['npm'],
matchPackageNames: [
'tesseract.js', // Requires code changes
'react-hotkeys', // Requires code changes
// Requires Webpacker upgrade or replacement
'@svgr/webpack',
'@types/webpack',
'babel-loader',
'compression-webpack-plugin',
'css-loader',
'imports-loader',
'mini-css-extract-plugin',
'postcss-loader',
'sass-loader',
'terser-webpack-plugin',
'webpack',
'webpack-assets-manifest',
'webpack-bundle-analyzer',
'webpack-dev-server',
'webpack-cli',
// react-router: Requires manual upgrade
'history',
'react-router-dom',
// react-spring: Requires manual upgrade when upgrading react
'@react-spring/web',
],
matchUpdateTypes: ['major'],
dependencyDashboardApproval: true,
@@ -51,7 +36,6 @@
// Require Dependency Dashboard Approval for major version bumps of these Ruby packages
matchManagers: ['bundler'],
matchPackageNames: [
'rack', // Needs to be synced with Rails version
'strong_migrations', // Requires manual upgrade
'sidekiq', // Requires manual upgrade
'sidekiq-unique-jobs', // Requires manual upgrades and sync with Sidekiq version
@@ -97,10 +81,29 @@
{
// 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)',
},
{
// Group all Storybook-related packages in the same PR
matchManagers: ['npm'],
matchPackageNames: [
'chromatic',
'storybook',
'@storybook/*',
'msw',
'msw-storybook-addon',
],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'storybook (non-major)',
},
{
// Group actions/*-artifact in the same PR
matchManagers: ['github-actions'],
@@ -110,6 +113,7 @@
],
matchUpdateTypes: ['major'],
groupName: 'artifact actions (major)',
extends: ['helpers:pinGitHubActionDigests'],
},
{
// Update @types/* packages every week, with one grouped PR
@@ -149,6 +153,18 @@
matchUpdateTypes: ['patch', 'minor'],
groupName: 'opentelemetry-ruby (non-major)',
},
{
// The ruby portion of the Playwright group
matchManagers: ['bundler'],
matchPackageNames: ['playwright-ruby-client'],
groupName: 'Playwright',
},
{
// The node portion of the Playwright group
matchManagers: ['npm'],
matchPackageNames: ['playwright'],
groupName: 'Playwright',
},
// Add labels depending on package manager
{ matchManagers: ['npm', 'nvm'], addLabels: ['javascript'] },
{ matchManagers: ['bundler', 'ruby-version'], addLabels: ['ruby'] },

View File

@@ -1,14 +1,9 @@
on:
workflow_call:
inputs:
platforms:
required: true
type: string
cache:
type: boolean
default: true
use_native_arm64_builder:
type: boolean
push_to_images:
type: string
version_prerelease:
@@ -24,60 +19,137 @@ on:
file_to_build:
type: string
# This builds multiple images with one runner each, allowing us to build for multiple architectures
# using Github's runners.
# The two-step process is adapted form:
# https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
jobs:
# Build each (amd64 and arm64) image separately
build-image:
runs-on: ubuntu-latest
runs-on: ${{ startsWith(matrix.platform, 'linux/arm') && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: docker/setup-qemu-action@v3
if: contains(inputs.platforms, 'linux/arm64') && !inputs.use_native_arm64_builder
- uses: docker/setup-buildx-action@v3
id: buildx
if: ${{ !(inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')) }}
- name: Start a local Docker Builder
if: inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')
run: |
docker run --rm -d --name buildkitd -p 1234:1234 --privileged moby/buildkit:latest --addr tcp://0.0.0.0:1234
- uses: docker/setup-buildx-action@v3
id: buildx-native
if: inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')
with:
driver: remote
endpoint: tcp://localhost:1234
platforms: linux/amd64
append: |
- endpoint: tcp://${{ vars.DOCKER_BUILDER_HETZNER_ARM64_01_HOST }}:13865
platforms: linux/arm64
name: mastodon-docker-builder-arm64-01
driver-opts:
- servername=mastodon-docker-builder-arm64-01
- name: Prepare
env:
BUILDER_NODE_1_AUTH_TLS_CACERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CACERT }}
BUILDER_NODE_1_AUTH_TLS_CERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CERT }}
BUILDER_NODE_1_AUTH_TLS_KEY: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_KEY }}
PUSH_TO_IMAGES: ${{ inputs.push_to_images }}
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
# Transform multi-line variable into comma-separated variable
image_names=${PUSH_TO_IMAGES//$'\n'/,}
echo "IMAGE_NAMES=${image_names%,}" >> $GITHUB_ENV
- uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
id: buildx
- name: Log in to Docker Hub
if: contains(inputs.push_to_images, 'tootsuite')
uses: docker/login-action@v3
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Log in to the GitHub Container registry
if: contains(inputs.push_to_images, 'ghcr.io')
uses: docker/login-action@v3
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/metadata-action@v5
- name: Docker meta
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
if: ${{ inputs.push_to_images != '' }}
with:
images: ${{ inputs.push_to_images }}
flavor: ${{ inputs.flavor }}
labels: ${{ inputs.labels }}
- name: Build and push by digest
id: build
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6
with:
context: .
file: ${{ inputs.file_to_build }}
build-args: |
MASTODON_VERSION_PRERELEASE=${{ inputs.version_prerelease }}
MASTODON_VERSION_METADATA=${{ inputs.version_metadata }}
SOURCE_COMMIT=${{ github.sha }}
platforms: ${{ matrix.platform }}
provenance: false
push: ${{ inputs.push_to_images != '' }}
cache-from: ${{ inputs.cache && 'type=gha' || '' }}
cache-to: ${{ inputs.cache && 'type=gha,mode=max' || '' }}
outputs: type=image,"name=${{ env.IMAGE_NAMES }}",push-by-digest=true,name-canonical=true,push=${{ inputs.push_to_images != '' }}
- name: Export digest
if: ${{ inputs.push_to_images != '' }}
run: |
mkdir -p "${{ runner.temp }}/digests"
digest="${{ steps.build.outputs.digest }}"
touch "${{ runner.temp }}/digests/${digest#sha256:}"
- name: Upload digest
if: ${{ inputs.push_to_images != '' }}
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
# `hashFiles` is used to disambiguate between streaming and non-streaming images
name: digests-${{ hashFiles(inputs.file_to_build) }}-${{ env.PLATFORM_PAIR }}
path: ${{ runner.temp }}/digests/*
if-no-files-found: error
retention-days: 1
# Then merge the docker images into a single one
merge-images:
if: ${{ inputs.push_to_images != '' }}
runs-on: ubuntu-24.04
needs:
- build-image
env:
PUSH_TO_IMAGES: ${{ inputs.push_to_images }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Download digests
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
path: ${{ runner.temp }}/digests
# `hashFiles` is used to disambiguate between streaming and non-streaming images
pattern: digests-${{ hashFiles(inputs.file_to_build) }}-*
merge-multiple: true
- name: Log in to Docker Hub
if: contains(inputs.push_to_images, 'tootsuite')
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Log in to the GitHub Container registry
if: contains(inputs.push_to_images, 'ghcr.io')
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
- name: Docker meta
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
if: ${{ inputs.push_to_images != '' }}
with:
images: ${{ inputs.push_to_images }}
@@ -85,18 +157,14 @@ jobs:
tags: ${{ inputs.tags }}
labels: ${{ inputs.labels }}
- uses: docker/build-push-action@v6
with:
context: .
file: ${{ inputs.file_to_build }}
build-args: |
MASTODON_VERSION_PRERELEASE=${{ inputs.version_prerelease }}
MASTODON_VERSION_METADATA=${{ inputs.version_metadata }}
platforms: ${{ inputs.platforms }}
provenance: false
builder: ${{ steps.buildx.outputs.name || steps.buildx-native.outputs.name }}
push: ${{ inputs.push_to_images != '' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: ${{ inputs.cache && 'type=gha' || '' }}
cache-to: ${{ inputs.cache && 'type=gha,mode=max' || '' }}
- name: Create manifest list and push
working-directory: ${{ runner.temp }}/digests
run: |
echo "$PUSH_TO_IMAGES" | xargs -I{} \
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '{}@sha256:%s ' *)
- name: Inspect image
run: |
echo "$PUSH_TO_IMAGES" | xargs -i{} \
docker buildx imagetools inspect {}:${{ steps.meta.outputs.version }}

View File

@@ -26,8 +26,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
@@ -48,8 +46,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

@@ -18,20 +18,20 @@ jobs:
steps:
# Repository needs to be cloned so `git rev-parse` below works
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- id: version_vars
run: |
echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT
echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT
echo mastodon_short_sha=$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT
outputs:
metadata: ${{ steps.version_vars.outputs.mastodon_version_metadata }}
short_sha: ${{ steps.version_vars.outputs.mastodon_short_sha }}
build-image:
needs: compute-suffix
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: true
push_to_images: |
ghcr.io/mastodon/mastodon
version_metadata: ${{ needs.compute-suffix.outputs.metadata }}
@@ -39,6 +39,7 @@ jobs:
latest=auto
tags: |
type=ref,event=pr
type=ref,event=pr,suffix=-${{ needs.compute-suffix.outputs.short_sha }}
secrets: inherit
build-image-streaming:
@@ -46,8 +47,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
push_to_images: |
ghcr.io/mastodon/mastodon-streaming
version_metadata: ${{ needs.compute-suffix.outputs.metadata }}
@@ -55,4 +54,5 @@ jobs:
latest=auto
tags: |
type=ref,event=pr
type=ref,event=pr,suffix=-${{ needs.compute-suffix.outputs.short_sha }}
secrets: inherit

View File

@@ -9,12 +9,47 @@ permissions:
packages: write
jobs:
check-latest-stable:
runs-on: ubuntu-latest
outputs:
latest: ${{ steps.check.outputs.is_latest_stable }}
steps:
# Repository needs to be cloned to list branches
- name: Clone repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Check latest stable
shell: bash
id: check
run: |
ref="${GITHUB_REF#refs/tags/}"
if [[ "$ref" =~ ^v([0-9]+)\.([0-9]+)(\.[0-9]+)?$ ]]; then
current="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
else
echo "tag $ref is not semver"
echo "is_latest_stable=false" >> "$GITHUB_OUTPUT"
exit 0
fi
latest=$(git for-each-ref --format='%(refname:short)' "refs/remotes/origin/stable-*.*" \
| sed -E 's#^origin/stable-##' \
| sort -Vr \
| head -n1)
if [[ "$current" == "$latest" ]]; then
echo "is_latest_stable=true" >> "$GITHUB_OUTPUT"
else
echo "is_latest_stable=false" >> "$GITHUB_OUTPUT"
fi
build-image:
needs: check-latest-stable
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: true
push_to_images: |
tootsuite/mastodon
ghcr.io/mastodon/mastodon
@@ -23,19 +58,17 @@ jobs:
# Only tag with latest when ran against the latest stable branch
# This needs to be updated after each minor version release
flavor: |
latest=${{ startsWith(github.ref, 'refs/tags/v4.2.') }}
latest=${{ needs.check-latest-stable.outputs.latest }}
tags: |
type=pep440,pattern={{raw}}
type=pep440,pattern=v{{major}}.{{minor}}
secrets: inherit
build-image-streaming:
if: startsWith(github.ref, 'refs/tags/v4.3.')
needs: check-latest-stable
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
platforms: linux/amd64,linux/arm64
use_native_arm64_builder: true
push_to_images: |
tootsuite/mastodon-streaming
ghcr.io/mastodon/mastodon-streaming
@@ -44,7 +77,7 @@ jobs:
# Only tag with latest when ran against the latest stable branch
# This needs to be updated after each minor version release
flavor: |
latest=${{ startsWith(github.ref, 'refs/tags/v4.3.') }}
latest=${{ needs.check-latest-stable.outputs.latest }}
tags: |
type=pep440,pattern={{raw}}
type=pep440,pattern=v{{major}}.{{minor}}

View File

@@ -9,7 +9,6 @@ permissions:
jobs:
compute-suffix:
runs-on: ubuntu-latest
if: github.repository == 'mastodon/mastodon'
steps:
- id: version_vars
env:
@@ -24,8 +23,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 +43,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

@@ -28,12 +28,12 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1
with:
bundler-cache: true
- name: Run bundler-audit
run: bundle exec bundler-audit check --update
run: bin/bundler-audit check --update

View File

@@ -18,10 +18,10 @@ permissions:
jobs:
check-i18n:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
@@ -35,18 +35,17 @@ jobs:
git diff --exit-code
- name: Check locale file normalization
run: bundle exec i18n-tasks check-normalized
run: bin/i18n-tasks check-normalized
- name: Check for unused strings
run: bundle exec i18n-tasks unused
run: bin/i18n-tasks unused
- name: Check for missing strings in English YML
run: |
bundle exec i18n-tasks add-missing -l en
git diff --exit-code
bin/i18n-tasks missing -t used -l en
- name: Check for wrong string interpolations
run: bundle exec i18n-tasks check-consistent-interpolations
run: bin/i18n-tasks check-consistent-interpolations
- name: Check that all required locale files exist
run: bundle exec rake repo:check_locales_files
run: bin/rake repo:check_locales_files

62
.github/workflows/chromatic.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: 'Chromatic'
permissions:
contents: read
on:
push:
branches-ignore:
- renovate/*
- stable-*
jobs:
pathcheck:
name: Check for relevant changes
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.filter.outputs.src }}
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
id: filter
with:
filters: |
src:
- 'package.json'
- 'yarn.lock'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '**/*.css'
- '**/*.scss'
- '.github/workflows/chromatic.yml'
chromatic:
name: Run Chromatic
runs-on: ubuntu-latest
needs: pathcheck
if: github.repository == 'mastodon/mastodon' && needs.pathcheck.outputs.changed == 'true'
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Build Storybook
run: yarn build-storybook
- name: Run Chromatic
uses: chromaui/action@07791f8243f4cb2698bf4d00426baf4b2d1cb7e0 # v13
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
zip: true
storybookBuildDir: 'storybook-static'
exitOnceUploaded: true # Exit immediately after upload
autoAcceptChanges: 'main' # Auto-accept changes on main branch only

View File

@@ -25,17 +25,17 @@ jobs:
strategy:
fail-fast: false
matrix:
language: ['javascript', 'ruby']
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
language: ['actions', 'javascript', 'ruby']
# CodeQL supports [ 'actions', 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -48,7 +48,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v4
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -61,6 +61,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v4
with:
category: '/language:${{matrix.language}}'

View File

@@ -0,0 +1,69 @@
name: Crowdin / Download translations (stable branches)
on:
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
download-translations-stable:
runs-on: ubuntu-latest
if: github.repository == 'mastodon/mastodon'
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Increase Git http.postBuffer
# This is needed due to a bug in Ubuntu's cURL version?
# See https://github.com/orgs/community/discussions/55820
run: |
git config --global http.version HTTP/1.1
git config --global http.postBuffer 157286400
# Download the translation files from Crowdin
- name: crowdin action
uses: crowdin/github-action@b4b468cffefb50bdd99dd83e5d2eaeb63c880380 # v2
with:
upload_sources: false
upload_translations: false
download_translations: true
crowdin_branch_name: ${{ github.base_ref || github.ref_name }}
push_translations: false
create_pull_request: false
env:
CROWDIN_PROJECT_ID: ${{ vars.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
# As the files are extracted from a Docker container, they belong to root:root
# We need to fix this before the next steps
- name: Fix file permissions
run: sudo chown -R runner:docker .
# This is needed to run the normalize step
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
- name: Run i18n normalize task
run: bin/i18n-tasks normalize
# Create or update the pull request
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
commit-message: 'New Crowdin translations'
title: 'New Crowdin Translations for ${{ github.base_ref || github.ref_name }} (automated)'
author: 'GitHub Actions <noreply@github.com>'
body: |
New Crowdin translations, automated with GitHub Actions
See `.github/workflows/crowdin-download.yml`
This PR will be updated every day with new translations.
Due to a limitation in GitHub Actions, checks are not running on this PR without manual action.
If you want to run the checks, then close and re-open it.
branch: i18n/crowdin/translations-${{ github.base_ref || github.ref_name }}
base: ${{ github.base_ref || github.ref_name }}
labels: i18n

View File

@@ -15,7 +15,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Increase Git http.postBuffer
# This is needed due to a bug in Ubuntu's cURL version?
@@ -26,7 +26,7 @@ jobs:
# Download the translation files from Crowdin
- name: crowdin action
uses: crowdin/github-action@v2
uses: crowdin/github-action@b4b468cffefb50bdd99dd83e5d2eaeb63c880380 # v2
with:
upload_sources: false
upload_translations: false
@@ -48,11 +48,11 @@ jobs:
uses: ./.github/actions/setup-ruby
- name: Run i18n normalize task
run: bundle exec i18n-tasks normalize
run: bin/i18n-tasks normalize
# Create or update the pull request
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7.0.1
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8
with:
commit-message: 'New Crowdin translations'
title: 'New Crowdin Translations (automated)'

View File

@@ -1,7 +1,6 @@
name: Crowdin / Upload translations
on:
merge_group:
push:
branches:
- 'main'
@@ -15,6 +14,7 @@ on:
- config/locales/devise.en.yml
- config/locales/doorkeeper.en.yml
- .github/workflows/crowdin-upload.yml
workflow_dispatch:
jobs:
upload-translations:
@@ -23,15 +23,15 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: crowdin action
uses: crowdin/github-action@v2
uses: crowdin/github-action@b4b468cffefb50bdd99dd83e5d2eaeb63c880380 # v2
with:
upload_sources: true
upload_translations: false
download_translations: false
crowdin_branch_name: main
crowdin_branch_name: ${{ github.base_ref || github.ref_name }}
env:
CROWDIN_PROJECT_ID: ${{ vars.CROWDIN_PROJECT_ID }}

View File

@@ -13,10 +13,10 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: Check formatting with Prettier
- name: Check formatting
run: yarn format:check

View File

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

View File

@@ -9,7 +9,6 @@ on:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- 'stylelint.config.js'
- '**/*.css'
- '**/*.scss'
@@ -21,7 +20,6 @@ on:
- 'package.json'
- 'yarn.lock'
- '.nvmrc'
- '.prettier*'
- 'stylelint.config.js'
- '**/*.css'
- '**/*.scss'
@@ -34,10 +32,10 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Javascript environment
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

@@ -33,14 +33,13 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1
with:
bundler-cache: true
- name: Run haml-lint
run: |
echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json"
bundle exec haml-lint --reporter github
bin/haml-lint --reporter github

View File

@@ -10,8 +10,7 @@ on:
- 'yarn.lock'
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- '.eslint*'
- 'eslint.config.mjs'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
@@ -24,8 +23,7 @@ on:
- 'yarn.lock'
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- '.eslint*'
- 'eslint.config.mjs'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
@@ -38,13 +36,13 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Javascript environment
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

@@ -9,6 +9,7 @@ on:
- 'Gemfile*'
- '.rubocop*.yml'
- '.ruby-version'
- 'bin/rubocop'
- 'config/brakeman.ignore'
- '**/*.rb'
- '**/*.rake'
@@ -19,6 +20,7 @@ on:
- 'Gemfile*'
- '.rubocop*.yml'
- '.ruby-version'
- 'bin/rubocop'
- 'config/brakeman.ignore'
- '**/*.rb'
- '**/*.rake'
@@ -33,15 +35,15 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1
with:
bundler-cache: true
- name: Set-up RuboCop Problem Matcher
uses: r7kamura/rubocop-problem-matchers-action@v1
uses: r7kamura/rubocop-problem-matchers-action@59f1a0759f50cc2649849fd850b8487594bb5a81 # v1.2.2
- name: Run rubocop
run: bin/rubocop

View File

@@ -18,7 +18,7 @@ jobs:
steps:
- name: Check for merge conflicts
uses: eps1lon/actions-label-merge-conflict@v3
uses: eps1lon/actions-label-merge-conflict@1df065ebe6e3310545d4f4c4e862e43bdca146f0 # v3
with:
dirtyLabel: 'rebase needed :construction:'
repoToken: '${{ secrets.GITHUB_TOKEN }}'

View File

@@ -8,6 +8,7 @@ on:
- .github/workflows/test-image-build.yml
- Dockerfile
- streaming/Dockerfile
- .dockerignore
permissions:
contents: read
@@ -20,7 +21,6 @@ jobs:
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: Dockerfile
platforms: linux/amd64 # Testing only on native platform so it is performant
cache: true
build-image-streaming:
@@ -31,5 +31,4 @@ jobs:
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
platforms: linux/amd64 # Testing only on native platform so it is performant
cache: true

View File

@@ -34,10 +34,10 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- name: JavaScript testing
run: yarn jest --reporters github-actions summary
run: yarn test:js

View File

@@ -12,6 +12,7 @@ on:
- '**/*.rb'
- '.github/workflows/test-migrations.yml'
- 'lib/tasks/tests.rake'
- 'lib/tasks/db.rake'
pull_request:
paths:
@@ -32,6 +33,8 @@ jobs:
postgres:
- 14-alpine
- 15-alpine
- 16-alpine
- 17-alpine
services:
postgres:
@@ -61,7 +64,6 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_CLEAN: true
BUNDLE_FROZEN: true
@@ -70,11 +72,23 @@ jobs:
BUNDLE_RETRY: 3
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- 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
@@ -88,6 +102,11 @@ jobs:
bin/rails db:drop
bin/rails db:create
SKIP_POST_DEPLOYMENT_MIGRATIONS=true bin/rails tests:migrations:prepare_database
# Migrate up to v4.2.0 breakpoint
bin/rails db:migrate VERSION=20230907150100
# Migrate the rest
SKIP_POST_DEPLOYMENT_MIGRATIONS=true bin/rails db:migrate
bin/rails db:migrate
bin/rails tests:migrations:check_database

View File

@@ -32,7 +32,7 @@ jobs:
SECRET_KEY_BASE_DUMMY: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
@@ -43,13 +43,13 @@ jobs:
onlyProduction: 'true'
- name: Cache assets from compilation
uses: actions/cache@v4
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
with:
path: |
public/assets
public/packs
public/packs-test
tmp/cache/webpacker
tmp/cache/vite
key: ${{ matrix.mode }}-assets-${{ github.head_ref || github.ref_name }}-${{ github.sha }}
restore-keys: |
${{ matrix.mode }}-assets-${{ github.head_ref || github.ref_name }}-${{ github.sha }}
@@ -63,9 +63,9 @@ jobs:
- name: Archive asset artifacts
run: |
tar --exclude={"*.br","*.gz"} -zcf artifacts.tar.gz public/assets public/packs*
tar --exclude={"*.br","*.gz"} -zcf artifacts.tar.gz public/assets public/packs* tmp/cache/vite/last-build*.json
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: matrix.mode == 'test'
with:
path: |-
@@ -107,7 +107,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
@@ -124,13 +124,13 @@ jobs:
fail-fast: false
matrix:
ruby-version:
- '3.1'
- '3.2'
- '3.3'
- '.ruby-version'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
path: './'
name: ${{ github.sha }}
@@ -151,7 +151,7 @@ jobs:
bin/flatware fan bin/rails db:test:prepare
- name: Cache RSpec persistence file
uses: actions/cache@v4
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
with:
path: |
tmp/rspec/examples.txt
@@ -167,99 +167,12 @@ jobs:
- name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
with:
files: coverage/lcov/*.lcov
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-libvips:
name: Libvips tests
runs-on: ubuntu-24.04
needs:
- build
services:
postgres:
image: postgres:14-alpine
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
options: >-
--health-cmd pg_isready
--health-interval 10ms
--health-timeout 3s
--health-retries 50
ports:
- 5432:5432
redis:
image: redis:7-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10ms
--health-timeout 3s
--health-retries 50
ports:
- 6379:6379
env:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: ${{ matrix.ruby-version != '.ruby-version' }}
RAILS_ENV: test
ALLOW_NOPAM: true
PAM_ENABLED: true
PAM_DEFAULT_SERVICE: pam_test
PAM_CONTROLLED_SERVICE: pam_test_controlled
OIDC_ENABLED: true
OIDC_SCOPE: read
SAML_ENABLED: true
CAS_ENABLED: true
BUNDLE_WITH: 'pam_authentication test'
GITHUB_RSPEC: ${{ matrix.ruby-version == '.ruby-version' && github.event.pull_request && 'true' }}
MASTODON_USE_LIBVIPS: true
strategy:
fail-fast: false
matrix:
ruby-version:
- '3.1'
- '3.2'
- '.ruby-version'
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
path: './'
name: ${{ github.sha }}
- name: Expand archived asset artifacts
run: |
tar xvzf artifacts.tar.gz
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
additional-system-dependencies: ffmpeg libpam-dev libyaml-dev
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
- run: bin/rspec --tag attachment_processing
- name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v4
with:
files: coverage/lcov/mastodon.lcov
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-e2e:
name: End to End testing
runs-on: ubuntu-latest
@@ -295,7 +208,6 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_WITH: test
LOCAL_DOMAIN: localhost:3000
@@ -305,14 +217,14 @@ jobs:
fail-fast: false
matrix:
ruby-version:
- '3.1'
- '3.2'
- '3.3'
- '.ruby-version'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
path: './'
name: ${{ github.sha }}
@@ -333,20 +245,35 @@ jobs:
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
- name: Cache Playwright Chromium browser
id: playwright-cache
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
with:
path: ~/.cache/ms-playwright
key: playwright-browsers-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
- name: Install Playwright Chromium browser (with deps)
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: yarn run playwright install --with-deps chromium
- name: Install Playwright Chromium browser deps
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: yarn run playwright install-deps chromium
- run: bin/rspec spec/system --tag streaming --tag js
- name: Archive logs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: failure()
with:
name: e2e-logs-${{ matrix.ruby-version }}
path: log/
- name: Archive test screenshots
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: failure()
with:
name: e2e-screenshots
name: e2e-screenshots-${{ matrix.ruby-version }}
path: tmp/capybara/
test-search:
@@ -411,7 +338,6 @@ jobs:
DB_HOST: localhost
DB_USER: postgres
DB_PASS: postgres
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_WITH: test
ES_ENABLED: true
@@ -422,21 +348,21 @@ jobs:
fail-fast: false
matrix:
ruby-version:
- '3.1'
- '3.2'
- '3.3'
- '.ruby-version'
search-image:
- docker.elastic.co/elasticsearch/elasticsearch:7.17.13
- docker.elastic.co/elasticsearch/elasticsearch:7.17.29
include:
- ruby-version: '.ruby-version'
search-image: docker.elastic.co/elasticsearch/elasticsearch:8.10.2
search-image: docker.elastic.co/elasticsearch/elasticsearch:8.19.2
- ruby-version: '.ruby-version'
search-image: opensearchproject/opensearch:2
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
path: './'
name: ${{ github.sha }}
@@ -456,14 +382,14 @@ jobs:
- run: bin/rspec --tag search
- name: Archive logs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: failure()
with:
name: test-search-logs-${{ matrix.ruby-version }}
path: log/
- name: Archive test screenshots
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: failure()
with:
name: test-search-screenshots

7
.gitignore vendored
View File

@@ -21,10 +21,12 @@
/public/system
/public/assets
/public/packs
/public/packs-dev
/public/packs-test
stats.html
.env
.env.production
/node_modules/
node_modules/
/build/
# Ignore Vagrant files
@@ -74,3 +76,6 @@ docker-compose.override.yml
# Ignore local-only rspec configuration
.rspec-local
*storybook.log
storybook-static

View File

@@ -10,6 +10,6 @@ linters:
MiddleDot:
enabled: true
LineLength:
max: 300
max: 240 # Override default value of 80 inherited from rubocop
ViewLength:
max: 200 # Override default value of 100 inherited from rubocop

2
.nvmrc
View File

@@ -1 +1 @@
20.17
24.14

92
.oxfmtrc.json Normal file
View File

@@ -0,0 +1,92 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"singleQuote": true,
"jsxSingleQuote": true,
"printWidth": 80,
"ignorePatterns": [
"/tmp",
"/coverage",
"/public/assets",
"/public/emoji",
"/public/packs",
"/public/packs-test",
"/public/system",
"/public/vite*",
"*.html",
"docker-compose.override.yml",
// Ignore config YAML files that include ERB/ruby code
"config/email.yml",
// Vendored CSS
"app/javascript/styles/mastodon/reset.scss",
// Automatically generated
"/app/javascript/mastodon/features/emoji/emoji_map.json",
"/app/javascript/mastodon/features/emoji/emoji_data.json",
"AUTHORS.md",
"/app/javascript/mastodon/locales/*.json",
"/config/locales",
".storybook/static/mockServiceWorker.js",
// do not reformat JS files as this will change too many files and cause merge conflicts with open PRs and forks
"app/javascript/**/*.js",
"app/javascript/**/*.jsx",
"streaming/**/*.js"
],
"experimentalSortPackageJson": false,
"experimentalSortImports": {
"groups": [
["builtin"],
["react"],
["react-intl"],
["react-utils"],
["redux"],
["external", "type-external"],
["internal", "type-internal"],
["mastodon-internals"],
["parent", "type-parent"],
["sibling", "type-sibling", "index", "type-index"],
["side_effect"]
],
"customGroups": [
{
"groupName": "react",
"elementNamePattern": [
"react",
"react-dom",
"react-dom/client",
"prop-types"
]
},
{
"groupName": "react-intl",
"elementNamePattern": ["react-intl", "intl-messageformat"]
},
{
"groupName": "react-utils",
"elementNamePattern": [
"classnames",
"react-helmet",
"react-router",
"react-router-dom"
]
},
{
"groupName": "redux",
"elementNamePattern": [
"immutable",
"@reduxjs/toolkit",
"react-redux",
"react-immutable-proptypes",
"react-immutable-pure-component"
]
},
{
"groupName": "mastodon-internals",
"elementNamePattern": ["mastodon/**", "@/**"]
}
]
}
}

View File

@@ -1,85 +0,0 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config and downloaded libraries.
/.bundle
/vendor/bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
# Ignore all logfiles and tempfiles.
.eslintcache
/log/*
!/log/.keep
/tmp
/coverage
/public/system
/public/assets
/public/packs
/public/packs-test
.env
.env.production
.env.development
/node_modules/
/build/
# Ignore Vagrant files
.vagrant/
# Ignore IDE files
.vscode/
.idea/
# Ignore postgres + redis + elasticsearch volume optionally created by docker-compose
/postgres
/postgres14
/redis
/elasticsearch
# Ignore Apple files
.DS_Store
# Ignore vim files
*~
*.swp
# Ignore log files
*.log
# Ignore Docker option files
docker-compose.override.yml
# Ignore public
/public/assets
/public/emoji
/public/packs
/public/packs-test
/public/system
# Ignore emoji map file
/app/javascript/mastodon/features/emoji/emoji_map.json
# Ignore locale files
/app/javascript/mastodon/locales/*.json
/config/locales
# Ignore vendored CSS reset
app/javascript/styles/mastodon/reset.scss
# Ignore Javascript pending https://github.com/mastodon/mastodon/pull/23631
*.js
*.jsx
# Ignore HTML till cleaned and included in CI
*.html
# Ignore the generated AUTHORS.md
AUTHORS.md
# Process a few selected JS files
!lint-staged.config.js

View File

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

View File

@@ -8,7 +8,7 @@ AllCops:
- lib/mastodon/migration_helpers.rb
ExtraDetails: true
NewCops: enable
TargetRubyVersion: 3.1 # Oldest supported ruby version
TargetRubyVersion: 3.2 # Oldest supported ruby version
inherit_from:
- .rubocop/layout.yml
@@ -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,9 +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

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

@@ -4,3 +4,6 @@ Layout/FirstHashElementIndentation:
Layout/LineLength:
Max: 300 # Default of 120 causes a duplicate entry in generated todo file
Layout/MultilineMethodCallIndentation:
EnforcedStyle: indented

View File

@@ -1,17 +1,21 @@
---
Metrics/AbcSize:
Exclude:
- lib/mastodon/cli/*.rb
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/BlockNesting:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CollectionLiteralLength:
Enabled: false
Metrics/CyclomaticComplexity:
Exclude:
- lib/mastodon/cli/*.rb
Enabled: false
Metrics/MethodLength:
Enabled: false
@@ -20,4 +24,7 @@ Metrics/ModuleLength:
Enabled: false
Metrics/ParameterLists:
CountKeywordArgs: false
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false

View File

@@ -1,3 +1,6 @@
---
Naming/BlockForwarding:
EnforcedStyle: explicit
Naming/PredicateMethod:
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

@@ -23,5 +23,6 @@ RSpec/SpecFilePathFormat:
ActivityPub: activitypub
DeepL: deepl
FetchOEmbedService: fetch_oembed_service
OAuth: oauth
OEmbedController: oembed_controller
OStatus: ostatus

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,113 +1,18 @@
# 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.80.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
# versions of RuboCop, may require this file to be generated again.
Lint/NonLocalExitFromIterator:
Exclude:
- 'app/helpers/jsonld_helper.rb'
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
Max: 82
# Configuration parameters: CountBlocks, CountModifierForms, Max.
Metrics/BlockNesting:
Exclude:
- 'lib/tasks/mastodon.rake'
# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/CyclomaticComplexity:
Max: 25
# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/PerceivedComplexity:
Max: 27
Rails/OutputSafety:
Exclude:
- 'config/initializers/simple_form.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedVars.
# Configuration parameters: AllowedVars, DefaultToNil.
Style/FetchEnvVar:
Exclude:
- 'app/lib/translation_service.rb'
- 'config/environments/production.rb'
- 'config/initializers/2_limited_federation_mode.rb'
- 'config/initializers/3_omniauth.rb'
- 'config/initializers/cache_buster.rb'
- 'config/initializers/devise.rb'
- 'config/initializers/paperclip.rb'
- 'config/initializers/vapid.rb'
- 'lib/tasks/repo.rake'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
# SupportedStyles: annotated, template, unannotated
# AllowedMethods: redirect
Style/FormatStringToken:
Exclude:
- 'config/initializers/devise.rb'
- 'lib/paperclip/color_extractor.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
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'
- 'app/services/block_domain_service.rb'
- 'app/services/fetch_resource_service.rb'
- 'app/workers/domain_block_worker.rb'
- 'app/workers/unfollow_follow_worker.rb'
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: short, verbose
Style/PreferredHashMethods:
Exclude:
- 'config/initializers/paperclip.rb'
# This cop supports safe autocorrection (--autocorrect).
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.5
3.4.8

40
.storybook/main.ts Normal file
View File

@@ -0,0 +1,40 @@
import { resolve } from 'node:path';
import type { StorybookConfig } from '@storybook/react-vite';
const config: StorybookConfig = {
stories: ['../app/javascript/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
addons: [
'@storybook/addon-docs',
'@storybook/addon-a11y',
'@storybook/addon-vitest',
],
framework: {
name: '@storybook/react-vite',
options: {},
},
staticDirs: [
'./static',
// We need to manually specify the assets because of the symlink in public/sw.js
...[
'avatars',
'emoji',
'headers',
'sounds',
'badge.png',
'loading.gif',
'loading.png',
'oops.gif',
'oops.png',
].map((path) => ({ from: `../public/${path}`, to: `/${path}` })),
{ from: '../app/javascript/images/logo.svg', to: '/custom-emoji/logo.svg' },
],
viteFinal(config) {
// For an unknown reason, Storybook does not use the root
// from the Vite config so we need to set it manually.
config.root = resolve(import.meta.dirname, '../app/javascript');
return config;
},
};
export default config;

7
.storybook/manager.ts Normal file
View File

@@ -0,0 +1,7 @@
import { addons } from 'storybook/manager-api';
import theme from './storybook-theme';
addons.setConfig({
theme,
});

8
.storybook/modes.ts Normal file
View File

@@ -0,0 +1,8 @@
export const modes = {
darkTheme: {
theme: 'dark',
},
lightTheme: {
theme: 'light',
},
} as const;

View File

@@ -0,0 +1,2 @@
<html class="no-reduce-motion" data-color-scheme="light">
</html>

View File

@@ -0,0 +1,18 @@
<style>
/* Increase docs font size */
.sbdocs.sbdocs-content :where(p:not(.sb-anchor, .sb-unstyled, .sb-unstyled p)),
.sbdocs.sbdocs-content :where(li:not(.sb-anchor, .sb-unstyled, .sb-unstyled li)) {
font-size: 1.0666rem; /* 17px */
line-height: 1.585; /* 27px */
}
.sbdocs.sbdocs-content :where(p:not(.sb-anchor, .sb-unstyled, .sb-unstyled p)) code,
.sbdocs.sbdocs-content :where(li:not(.sb-anchor, .sb-unstyled, .sb-unstyled li)) code {
font-size: 0.875rem; /* ~15px */
}
/* Bring numbers back for ordered lists */
ol {
list-style: revert !important;
}
</style>

211
.storybook/preview.tsx Normal file
View File

@@ -0,0 +1,211 @@
import { useEffect, useState } from 'react';
import { IntlProvider } from 'react-intl';
import { MemoryRouter, Route } from 'react-router';
import { configureStore } from '@reduxjs/toolkit';
import { Provider } from 'react-redux';
import type { Preview } from '@storybook/react-vite';
import { initialize, mswLoader } from 'msw-storybook-addon';
import { action } from 'storybook/actions';
import {
importCustomEmojiData,
importLegacyShortcodes,
importEmojiData,
} from '@/mastodon/features/emoji/loader';
import type { LocaleData } from '@/mastodon/locales';
import { reducerWithInitialState } from '@/mastodon/reducers';
import { defaultMiddleware } from '@/mastodon/store/store';
import { mockHandlers, unhandledRequestHandler } from '@/testing/api';
import { modes } from './modes';
import '../app/javascript/styles/application.scss';
import './styles.css';
const localeFiles = import.meta.glob('@/mastodon/locales/*.json', {
query: { as: 'json' },
});
// Initialize MSW
initialize({
onUnhandledRequest: unhandledRequestHandler,
});
const preview: Preview = {
// Auto-generate docs: https://storybook.js.org/docs/writing-docs/autodocs
tags: ['autodocs'],
globalTypes: {
locale: {
description: 'Locale for the story',
toolbar: {
title: 'Locale',
icon: 'globe',
items: Object.keys(localeFiles).map((path) =>
path.replace('/mastodon/locales/', '').replace('.json', ''),
),
dynamicTitle: true,
},
},
theme: {
description: 'Theme for the story',
toolbar: {
title: 'Theme',
icon: 'circlehollow',
items: [{ value: 'light' }, { value: 'dark' }],
dynamicTitle: true,
},
},
},
initialGlobals: {
locale: 'en',
theme: 'light',
},
decorators: [
(Story, { parameters, globals, args, argTypes }) => {
// Get the locale from the global toolbar
// and merge it with any parameters or args state.
const { locale } = globals as { locale: string };
const { state = {} } = parameters;
const argsState: Record<string, unknown> = {};
for (const [key, value] of Object.entries(args)) {
const argType = argTypes[key];
if (argType?.reduxPath) {
const reduxPath = Array.isArray(argType.reduxPath)
? argType.reduxPath.map((p) => p.toString())
: argType.reduxPath.split('.');
reduxPath.reduce((acc, key, i) => {
if (acc[key] === undefined) {
acc[key] = {};
}
if (i === reduxPath.length - 1) {
acc[key] = value;
}
return acc[key] as Record<string, unknown>;
}, argsState);
}
}
const reducer = reducerWithInitialState(
{
meta: {
locale,
},
},
state as Record<string, unknown>,
argsState,
);
const store = configureStore({
reducer,
middleware(getDefaultMiddleware) {
return getDefaultMiddleware(defaultMiddleware);
},
});
return (
<Provider store={store}>
<Story />
</Provider>
);
},
(Story, { globals }) => {
const currentLocale = (globals.locale as string) || 'en';
const [messages, setMessages] = useState<
Record<string, Record<string, string>>
>({});
const currentLocaleData = messages[currentLocale];
useEffect(() => {
async function loadLocaleData() {
const { default: localeFile } = (await import(
`@/mastodon/locales/${currentLocale}.json`
)) as { default: LocaleData['messages'] };
setMessages((prevLocales) => ({
...prevLocales,
[currentLocale]: localeFile,
}));
}
if (!currentLocaleData) {
void loadLocaleData();
}
}, [currentLocale, currentLocaleData]);
return (
<IntlProvider
locale={currentLocale}
messages={currentLocaleData}
textComponent='span'
>
<Story />
</IntlProvider>
);
},
(Story, { globals }) => {
const theme = (globals.theme as string) || 'light';
useEffect(() => {
document.body.setAttribute('data-color-scheme', theme);
}, [theme]);
return <Story />;
},
(Story) => (
<MemoryRouter>
<Story />
<Route
path='*'
// eslint-disable-next-line react/jsx-no-bind
render={({ location }) => {
if (location.pathname !== '/') {
action(`route change to ${location.pathname}`)(location);
}
return null;
}}
/>
</MemoryRouter>
),
],
loaders: [
mswLoader,
importCustomEmojiData,
importLegacyShortcodes,
({ globals: { locale } }) => importEmojiData(locale as string),
],
parameters: {
layout: 'centered',
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i,
},
},
a11y: {
// 'todo' - show a11y violations in the test UI only
// 'error' - fail CI on a11y violations
// 'off' - skip a11y checks entirely
test: 'todo',
},
state: {},
docs: {},
msw: {
handlers: mockHandlers,
},
chromatic: {
modes: {
dark: modes.darkTheme,
light: modes.lightTheme,
},
},
},
};
export default preview;

View File

@@ -0,0 +1,349 @@
/* eslint-disable */
/* tslint:disable */
/**
* Mock Service Worker.
* @see https://github.com/mswjs/msw
* - Please do NOT modify this file.
*/
const PACKAGE_VERSION = '2.12.1'
const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82'
const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
const activeClientIds = new Set()
addEventListener('install', function () {
self.skipWaiting()
})
addEventListener('activate', function (event) {
event.waitUntil(self.clients.claim())
})
addEventListener('message', async function (event) {
const clientId = Reflect.get(event.source || {}, 'id')
if (!clientId || !self.clients) {
return
}
const client = await self.clients.get(clientId)
if (!client) {
return
}
const allClients = await self.clients.matchAll({
type: 'window',
})
switch (event.data) {
case 'KEEPALIVE_REQUEST': {
sendToClient(client, {
type: 'KEEPALIVE_RESPONSE',
})
break
}
case 'INTEGRITY_CHECK_REQUEST': {
sendToClient(client, {
type: 'INTEGRITY_CHECK_RESPONSE',
payload: {
packageVersion: PACKAGE_VERSION,
checksum: INTEGRITY_CHECKSUM,
},
})
break
}
case 'MOCK_ACTIVATE': {
activeClientIds.add(clientId)
sendToClient(client, {
type: 'MOCKING_ENABLED',
payload: {
client: {
id: client.id,
frameType: client.frameType,
},
},
})
break
}
case 'CLIENT_CLOSED': {
activeClientIds.delete(clientId)
const remainingClients = allClients.filter((client) => {
return client.id !== clientId
})
// Unregister itself when there are no more clients
if (remainingClients.length === 0) {
self.registration.unregister()
}
break
}
}
})
addEventListener('fetch', function (event) {
const requestInterceptedAt = Date.now()
// Bypass navigation requests.
if (event.request.mode === 'navigate') {
return
}
// Opening the DevTools triggers the "only-if-cached" request
// that cannot be handled by the worker. Bypass such requests.
if (
event.request.cache === 'only-if-cached' &&
event.request.mode !== 'same-origin'
) {
return
}
// Bypass all requests when there are no active clients.
// Prevents the self-unregistered worked from handling requests
// after it's been terminated (still remains active until the next reload).
if (activeClientIds.size === 0) {
return
}
const requestId = crypto.randomUUID()
event.respondWith(handleRequest(event, requestId, requestInterceptedAt))
})
/**
* @param {FetchEvent} event
* @param {string} requestId
* @param {number} requestInterceptedAt
*/
async function handleRequest(event, requestId, requestInterceptedAt) {
const client = await resolveMainClient(event)
const requestCloneForEvents = event.request.clone()
const response = await getResponse(
event,
client,
requestId,
requestInterceptedAt,
)
// Send back the response clone for the "response:*" life-cycle events.
// Ensure MSW is active and ready to handle the message, otherwise
// this message will pend indefinitely.
if (client && activeClientIds.has(client.id)) {
const serializedRequest = await serializeRequest(requestCloneForEvents)
// Clone the response so both the client and the library could consume it.
const responseClone = response.clone()
sendToClient(
client,
{
type: 'RESPONSE',
payload: {
isMockedResponse: IS_MOCKED_RESPONSE in response,
request: {
id: requestId,
...serializedRequest,
},
response: {
type: responseClone.type,
status: responseClone.status,
statusText: responseClone.statusText,
headers: Object.fromEntries(responseClone.headers.entries()),
body: responseClone.body,
},
},
},
responseClone.body ? [serializedRequest.body, responseClone.body] : [],
)
}
return response
}
/**
* Resolve the main client for the given event.
* Client that issues a request doesn't necessarily equal the client
* that registered the worker. It's with the latter the worker should
* communicate with during the response resolving phase.
* @param {FetchEvent} event
* @returns {Promise<Client | undefined>}
*/
async function resolveMainClient(event) {
const client = await self.clients.get(event.clientId)
if (activeClientIds.has(event.clientId)) {
return client
}
if (client?.frameType === 'top-level') {
return client
}
const allClients = await self.clients.matchAll({
type: 'window',
})
return allClients
.filter((client) => {
// Get only those clients that are currently visible.
return client.visibilityState === 'visible'
})
.find((client) => {
// Find the client ID that's recorded in the
// set of clients that have registered the worker.
return activeClientIds.has(client.id)
})
}
/**
* @param {FetchEvent} event
* @param {Client | undefined} client
* @param {string} requestId
* @param {number} requestInterceptedAt
* @returns {Promise<Response>}
*/
async function getResponse(event, client, requestId, requestInterceptedAt) {
// Clone the request because it might've been already used
// (i.e. its body has been read and sent to the client).
const requestClone = event.request.clone()
function passthrough() {
// Cast the request headers to a new Headers instance
// so the headers can be manipulated with.
const headers = new Headers(requestClone.headers)
// Remove the "accept" header value that marked this request as passthrough.
// This prevents request alteration and also keeps it compliant with the
// user-defined CORS policies.
const acceptHeader = headers.get('accept')
if (acceptHeader) {
const values = acceptHeader.split(',').map((value) => value.trim())
const filteredValues = values.filter(
(value) => value !== 'msw/passthrough',
)
if (filteredValues.length > 0) {
headers.set('accept', filteredValues.join(', '))
} else {
headers.delete('accept')
}
}
return fetch(requestClone, { headers })
}
// Bypass mocking when the client is not active.
if (!client) {
return passthrough()
}
// Bypass initial page load requests (i.e. static assets).
// The absence of the immediate/parent client in the map of the active clients
// means that MSW hasn't dispatched the "MOCK_ACTIVATE" event yet
// and is not ready to handle requests.
if (!activeClientIds.has(client.id)) {
return passthrough()
}
// Notify the client that a request has been intercepted.
const serializedRequest = await serializeRequest(event.request)
const clientMessage = await sendToClient(
client,
{
type: 'REQUEST',
payload: {
id: requestId,
interceptedAt: requestInterceptedAt,
...serializedRequest,
},
},
[serializedRequest.body],
)
switch (clientMessage.type) {
case 'MOCK_RESPONSE': {
return respondWithMock(clientMessage.data)
}
case 'PASSTHROUGH': {
return passthrough()
}
}
return passthrough()
}
/**
* @param {Client} client
* @param {any} message
* @param {Array<Transferable>} transferrables
* @returns {Promise<any>}
*/
function sendToClient(client, message, transferrables = []) {
return new Promise((resolve, reject) => {
const channel = new MessageChannel()
channel.port1.onmessage = (event) => {
if (event.data && event.data.error) {
return reject(event.data.error)
}
resolve(event.data)
}
client.postMessage(message, [
channel.port2,
...transferrables.filter(Boolean),
])
})
}
/**
* @param {Response} response
* @returns {Response}
*/
function respondWithMock(response) {
// Setting response status code to 0 is a no-op.
// However, when responding with a "Response.error()", the produced Response
// instance will have status code set to 0. Since it's not possible to create
// a Response instance with status code 0, handle that use-case separately.
if (response.status === 0) {
return Response.error()
}
const mockedResponse = new Response(response.body, response)
Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, {
value: true,
enumerable: true,
})
return mockedResponse
}
/**
* @param {Request} request
*/
async function serializeRequest(request) {
return {
url: request.url,
mode: request.mode,
method: request.method,
headers: Object.fromEntries(request.headers.entries()),
cache: request.cache,
credentials: request.credentials,
destination: request.destination,
integrity: request.integrity,
redirect: request.redirect,
referrer: request.referrer,
referrerPolicy: request.referrerPolicy,
body: await request.arrayBuffer(),
keepalive: request.keepalive,
}
}

View File

@@ -0,0 +1,7 @@
import { create } from 'storybook/theming';
export default create({
base: 'light',
brandTitle: 'Mastodon Storybook',
brandImage: 'https://joinmastodon.org/logos/wordmark-black-text.svg',
});

20
.storybook/storybook.d.ts vendored Normal file
View File

@@ -0,0 +1,20 @@
// The addon package.json incorrectly exports types, so we need to override them here.
import type { RootState } from '@/mastodon/store';
// See: https://github.com/storybookjs/storybook/blob/v9.0.4/code/addons/vitest/package.json#L70-L76
declare module '@storybook/addon-vitest/vitest-plugin' {
export * from '@storybook/addon-vitest/dist/vitest-plugin/index';
}
type RootPathKeys = keyof RootState;
declare module 'storybook/internal/csf' {
export interface InputType {
reduxPath?:
| `${RootPathKeys}.${string}`
| [RootPathKeys, ...(string | number)[]];
}
}
export {};

8
.storybook/styles.css Normal file
View File

@@ -0,0 +1,8 @@
a {
color: inherit;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}

View File

@@ -0,0 +1,8 @@
import * as a11yAddonAnnotations from '@storybook/addon-a11y/preview';
import { setProjectAnnotations } from '@storybook/react-vite';
import * as projectAnnotations from './preview';
// This is an important step to apply the right configuration when testing your stories.
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
setProjectAnnotations([a11yAddonAnnotations, projectAnnotations]);

View File

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

View File

@@ -538,7 +538,7 @@ and provided thanks to the work of the following contributors:
* [Drew Schuster](mailto:dtschust@gmail.com)
* [Dryusdan](mailto:dryusdan@dryusdan.fr)
* [Eai](mailto:eai@mizle.net)
* [Eashwar Ranganathan](mailto:eranganathan@lyft.com)
* [Eashwar Ranganathan](mailto:eashwar@eashwar.com)
* [Ed Knutson](mailto:knutsoned@gmail.com)
* [Elizabeth Martín Campos](mailto:me@elizabeth.sh)
* [Elizabeth Myers](mailto:elizabeth@interlinked.me)

File diff suppressed because it is too large Load Diff

View File

@@ -9,30 +9,56 @@ You can contribute in the following ways:
- Contributing code to Mastodon by fixing bugs or implementing features
- Improving the documentation
If your contributions are accepted into Mastodon, you can request to be paid through [our OpenCollective](https://opencollective.com/mastodon).
Please review the org-level [contribution guidelines] for high-level acceptance
criteria guidance.
[contribution guidelines]: https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md
criteria guidance and the [DEVELOPMENT] guide for environment-specific details.
## API Changes and Additions
Please note that any changes or additions made to the API should have an accompanying pull request on [our documentation repository](https://github.com/mastodon/documentation).
Any changes or additions made to the API should have an accompanying pull
request on our [documentation repository].
## Bug reports
## Bug Reports
Bug reports and feature suggestions must use descriptive and concise titles and be submitted to [GitHub Issues](https://github.com/mastodon/mastodon/issues). Please use the search function to make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected.
Bug reports and feature suggestions must use descriptive and concise titles and
be submitted to [GitHub Issues]. Please use the search function to make sure
there are not duplicate bug reports or feature requests.
## Security Issues
If you believe you have identified a security issue in Mastodon or our own apps,
check [SECURITY].
## Translations
You can submit translations via [Crowdin](https://crowdin.com/project/mastodon). They are periodically merged into the codebase.
Translations are community contributed via [Crowdin]. They are periodically
reviewed and merged into the codebase.
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/mastodon/localized.svg)](https://crowdin.com/project/mastodon)
## Pull requests
## Pull Requests
**Please use clean, concise titles for your pull requests.** Unless the pull request is about refactoring code, updating dependencies or other internal tasks, assume that the person reading the pull request title is not a programmer or Mastodon developer, but instead a Mastodon user or server administrator, and **try to describe your change or fix from their perspective**. We use commit squashing, so the final commit in the main branch will carry the title of the pull request, and commits from the main branch are fed into the changelog. The changelog is separated into [keepachangelog.com categories](https://keepachangelog.com/en/1.0.0/), and while that spec does not prescribe how the entries ought to be named, for easier sorting, start your pull request titles using one of the verbs "Add", "Change", "Deprecate", "Remove", or "Fix" (present tense).
### Size and Scope
Our time is limited and PRs making large, unsolicited changes are unlikely to
get a response. Changes which link to an existing confirmed issue, or which come
from a "help wanted" issue or other request are more likely to be reviewed.
The smaller and more narrowly focused the changes in a PR are, the easier they
are to review and potentially merge. If the change only makes sense in some
larger context of future ongoing work, note that in the description, but still
aim to keep each distinct PR to a "smallest viable change" chunk of work.
### Description of Changes
Unless the Pull Request is about refactoring code, updating dependencies or
other internal tasks, assume that the audience are not developers, but a
Mastodon user or server admin, and try to describe it from their perspective.
The final commit in the main branch will carry the title from the PR. The main
branch is then fed into the changelog and ultimately into release notes. We try
to follow the [keepachangelog] spec, and while that does not prescribe how
exactly the entries ought to be named, starting titles using one of the verbs
"Add", "Change", "Deprecate", "Remove", or "Fix" (present tense) is helpful.
Example:
@@ -40,16 +66,26 @@ Example:
| ------------------------------------ | ------------------------------------------------------------- |
| Fixed NoMethodError in RemovalWorker | Fix nil error when removing statuses caused by race condition |
It is not always possible to phrase every change in such a manner, but it is desired.
### Technical Requirements
**The smaller the set of changes in the pull request is, the quicker it can be reviewed and merged.** Splitting tasks into multiple smaller pull requests is often preferable.
Pull requests that do not pass automated checks on CI may not be reviewed. In
particular, please keep in mind:
**Pull requests that do not pass automated checks may not be reviewed**. In particular, you need to keep in mind:
- Unit and integration tests (rspec, jest)
- Unit and integration tests (rspec, vitest)
- Code style rules (rubocop, eslint)
- Normalization of locale files (i18n-tasks)
- Relevant accessibility or performance concerns
## Documentation
The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/documentation](https://github.com/mastodon/documentation).
The [Mastodon documentation] is a statically generated site that contains guides
and API docs. Improvements are made via PRs to the [documentation repository].
[contribution guidelines]: https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md
[Crowdin]: https://crowdin.com/project/mastodon
[DEVELOPMENT]: docs/DEVELOPMENT.md
[documentation repository]: https://github.com/mastodon/documentation
[GitHub Issues]: https://github.com/mastodon/mastodon/issues
[keepachangelog]: https://keepachangelog.com/en/1.0.0/
[Mastodon documentation]: https://docs.joinmastodon.org
[SECURITY]: SECURITY.md

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1.9
# syntax=docker/dockerfile:1.18
# 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.5"
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
ARG RUBY_VERSION="3.4.8"
# # Node.js version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="22"]
# renovate: datasource=node-version depName=node
ARG NODE_MAJOR_VERSION="20"
# Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"]
ARG DEBIAN_VERSION="bookworm"
# Node image to use for base image based on combined variables (ex: 20-bookworm-slim)
FROM docker.io/node:${NODE_MAJOR_VERSION}-${DEBIAN_VERSION}-slim AS node
# Ruby image to use for base image based on combined variables (ex: 3.3.x-slim-bookworm)
FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} AS ruby
ARG NODE_MAJOR_VERSION="24"
# Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="trixie"]
ARG DEBIAN_VERSION="trixie"
# Node.js image to use for base image based on combined variables (ex: 20-trixie-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-trixie)
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
@@ -29,6 +30,8 @@ FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} AS ruby
ARG MASTODON_VERSION_PRERELEASE=""
# Append build metadata or fork information to version.rb [--build-arg MASTODON_VERSION_METADATA="pr-123456"]
ARG MASTODON_VERSION_METADATA=""
# Will be available as Mastodon::Version.source_commit
ARG SOURCE_COMMIT=""
# Allow Ruby on Rails to serve static files
# See: https://docs.joinmastodon.org/admin/config/#rails_serve_static_files
@@ -45,30 +48,29 @@ ARG GID="991"
# Apply Mastodon build options based on options above
ENV \
# Apply Mastodon version information
# Apply Mastodon version information
MASTODON_VERSION_PRERELEASE="${MASTODON_VERSION_PRERELEASE}" \
MASTODON_VERSION_METADATA="${MASTODON_VERSION_METADATA}" \
# Apply Mastodon static files and YJIT options
SOURCE_COMMIT="${SOURCE_COMMIT}" \
# Apply Mastodon static files and YJIT options
RAILS_SERVE_STATIC_FILES=${RAILS_SERVE_STATIC_FILES} \
RUBY_YJIT_ENABLE=${RUBY_YJIT_ENABLE} \
# Apply timezone
# Apply timezone
TZ=${TZ}
ENV \
# Configure the IP to bind Mastodon to when serving traffic
# 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
# Use production settings for Ruby on Rails
RAILS_ENV="production" \
# Add Ruby and Mastodon installation to the PATH
# Add Ruby and Mastodon installation to the PATH
DEBIAN_FRONTEND="noninteractive" \
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin" \
# Optimize jemalloc 5.x performance
# Optimize jemalloc 5.x performance
MALLOC_CONF="narenas:2,background_thread:true,thp:never,dirty_decay_ms:1000,muzzy_decay_ms:0" \
# Enable libvips, should not be changed
MASTODON_USE_LIBVIPS=true \
# Sidekiq will touch tmp/sidekiq_process_has_started_and_will_begin_processing_jobs to indicate it is ready. This can be used for a readiness check in Kubernetes
# Sidekiq will touch tmp/sidekiq_process_has_started_and_will_begin_processing_jobs to indicate it is ready. This can be used for a readiness check in Kubernetes
MASTODON_SIDEKIQ_READY_FILENAME=sidekiq_process_has_started_and_will_begin_processing_jobs
# Set default shell used for running commands
@@ -79,14 +81,14 @@ ARG TARGETPLATFORM
RUN echo "Target platform is $TARGETPLATFORM"
RUN \
# Remove automatic apt cache Docker cleanup scripts
# Remove automatic apt cache Docker cleanup scripts
rm -f /etc/apt/apt.conf.d/docker-clean; \
# Sets timezone
# Sets timezone
echo "${TZ}" > /etc/localtime; \
# Creates mastodon user/group and sets home directory
# Creates mastodon user/group and sets home directory
groupadd -g "${GID}" mastodon; \
useradd -l -u "${UID}" -g "${GID}" -m -d /opt/mastodon mastodon; \
# Creates /mastodon symlink to /opt/mastodon
# Creates /mastodon symlink to /opt/mastodon
ln -s /opt/mastodon /mastodon;
# Set /opt/mastodon as working directory
@@ -94,104 +96,92 @@ WORKDIR /opt/mastodon
# hadolint ignore=DL3008,DL3005
RUN \
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Apt update & upgrade to check for security updates to Debian image
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Apt update & upgrade to check for security updates to Debian image
apt-get update; \
apt-get dist-upgrade -yq; \
# Install jemalloc, curl and other necessary components
# Install jemalloc, curl and other necessary components
apt-get install -y --no-install-recommends \
curl \
file \
libjemalloc2 \
patchelf \
procps \
tini \
tzdata \
wget \
curl \
file \
libjemalloc2 \
patchelf \
procps \
tini \
tzdata \
wget \
; \
# Patch Ruby to use jemalloc
# Patch Ruby to use jemalloc
patchelf --add-needed libjemalloc.so.2 /usr/local/bin/ruby; \
# Discard patchelf after use
# Discard patchelf after use
apt-get purge -y \
patchelf \
patchelf \
;
# Create temporary build layer from base image
FROM ruby AS build
# Copy Node package configuration files into working directory
COPY package.json yarn.lock .yarnrc.yml /opt/mastodon/
COPY .yarn /opt/mastodon/.yarn
COPY --from=node /usr/local/bin /usr/local/bin
COPY --from=node /usr/local/lib /usr/local/lib
ARG TARGETPLATFORM
# hadolint ignore=DL3008
RUN \
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Install build tools and bundler dependencies from APT
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Install build tools and bundler dependencies from APT
apt-get install -y --no-install-recommends \
autoconf \
automake \
build-essential \
cmake \
git \
libgdbm-dev \
libglib2.0-dev \
libgmp-dev \
libicu-dev \
libidn-dev \
libpq-dev \
libssl-dev \
libtool \
meson \
nasm \
pkg-config \
shared-mime-info \
xz-utils \
# libvips components
libcgif-dev \
libexif-dev \
libexpat1-dev \
libgirepository1.0-dev \
libheif-dev \
libimagequant-dev \
libjpeg62-turbo-dev \
liblcms2-dev \
liborc-dev \
libspng-dev \
libtiff-dev \
libwebp-dev \
autoconf \
automake \
build-essential \
cmake \
git \
libgdbm-dev \
libglib2.0-dev \
libgmp-dev \
libicu-dev \
libidn-dev \
libpq-dev \
libssl-dev \
libtool \
libyaml-dev \
meson \
nasm \
pkg-config \
shared-mime-info \
xz-utils \
# libvips components
libcgif-dev \
libexif-dev \
libexpat1-dev \
libgirepository1.0-dev \
libheif-dev \
libhwy-dev \
libimagequant-dev \
libjpeg62-turbo-dev \
liblcms2-dev \
libspng-dev \
libtiff-dev \
libwebp-dev \
# ffmpeg components
libdav1d-dev \
liblzma-dev \
libmp3lame-dev \
libopus-dev \
libsnappy-dev \
libvorbis-dev \
libvpx-dev \
libx264-dev \
libx265-dev \
libdav1d-dev \
liblzma-dev \
libmp3lame-dev \
libopus-dev \
libsnappy-dev \
libvorbis-dev \
libvpx-dev \
libx264-dev \
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.15.3
ARG VIPS_VERSION=8.18.0
# 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
@@ -214,42 +204,42 @@ FROM build AS ffmpeg
# ffmpeg version to compile, change with [--build-arg FFMPEG_VERSION="7.0.x"]
# renovate: datasource=repology depName=ffmpeg packageName=openpkg_current/ffmpeg
ARG FFMPEG_VERSION=7.0.2
ARG FFMPEG_VERSION=8.0
# ffmpeg download URL, change with [--build-arg FFMPEG_URL="https://ffmpeg.org/releases"]
ARG FFMPEG_URL=https://ffmpeg.org/releases
ARG FFMPEG_URL=https://github.com/FFmpeg/FFmpeg/archive/refs/tags
WORKDIR /usr/local/ffmpeg/src
# Download and extract ffmpeg source code
ADD ${FFMPEG_URL}/ffmpeg-${FFMPEG_VERSION}.tar.xz /usr/local/ffmpeg/src/
RUN tar xf ffmpeg-${FFMPEG_VERSION}.tar.xz;
ADD ${FFMPEG_URL}/n${FFMPEG_VERSION}.tar.gz /usr/local/ffmpeg/src/
RUN tar xf n${FFMPEG_VERSION}.tar.gz && mv FFmpeg-n${FFMPEG_VERSION} ffmpeg-${FFMPEG_VERSION};
WORKDIR /usr/local/ffmpeg/src/ffmpeg-${FFMPEG_VERSION}
# Configure and compile ffmpeg
RUN \
./configure \
--prefix=/usr/local/ffmpeg \
--toolchain=hardened \
--disable-debug \
--disable-devices \
--disable-doc \
--disable-ffplay \
--disable-network \
--disable-static \
--enable-ffmpeg \
--enable-ffprobe \
--enable-gpl \
--enable-libdav1d \
--enable-libmp3lame \
--enable-libopus \
--enable-libsnappy \
--enable-libvorbis \
--enable-libvpx \
--enable-libwebp \
--enable-libx264 \
--enable-libx265 \
--enable-shared \
--enable-version3 \
--prefix=/usr/local/ffmpeg \
--toolchain=hardened \
--disable-debug \
--disable-devices \
--disable-doc \
--disable-ffplay \
--disable-network \
--disable-static \
--enable-ffmpeg \
--enable-ffprobe \
--enable-gpl \
--enable-libdav1d \
--enable-libmp3lame \
--enable-libopus \
--enable-libsnappy \
--enable-libvorbis \
--enable-libvpx \
--enable-libwebp \
--enable-libx264 \
--enable-libx265 \
--enable-shared \
--enable-version3 \
; \
make -j$(nproc); \
make install;
@@ -263,58 +253,57 @@ ARG TARGETPLATFORM
COPY Gemfile* /opt/mastodon/
RUN \
# Mount Ruby Gem caches
--mount=type=cache,id=gem-cache-${TARGETPLATFORM},target=/usr/local/bundle/cache/,sharing=locked \
# Configure bundle to prevent changes to Gemfile and Gemfile.lock
# Mount Ruby Gem caches
--mount=type=cache,id=gem-cache-${TARGETPLATFORM},target=/usr/local/bundle/cache/,sharing=locked \
# Configure bundle to prevent changes to Gemfile and Gemfile.lock
bundle config set --global frozen "true"; \
# Configure bundle to not cache downloaded Gems
# Configure bundle to not cache downloaded Gems
bundle config set --global cache_all "false"; \
# Configure bundle to only process production Gems
# Configure bundle to only process production Gems
bundle config set --local without "development test"; \
# Configure bundle to not warn about root user
# Configure bundle to not warn about root user
bundle config set silence_root_warning "true"; \
# Download and install required Gems
# Download and install required Gems
bundle install -j"$(nproc)";
# Create temporary node specific build layer from build layer
FROM build AS yarn
ARG TARGETPLATFORM
# Copy Node package configuration files into working directory
COPY package.json yarn.lock .yarnrc.yml /opt/mastodon/
COPY streaming/package.json /opt/mastodon/streaming/
COPY .yarn /opt/mastodon/.yarn
# hadolint ignore=DL3008
RUN \
--mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \
--mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \
# Install Node packages
yarn workspaces focus --production @mastodon/mastodon;
# Create temporary assets build layer from build layer
FROM build AS precompiler
# Copy Mastodon sources into precompiler layer
ARG TARGETPLATFORM
# Copy Mastodon sources into 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 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.js packages
yarn workspaces focus --production @mastodon/mastodon;
# 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; \
# Use Ruby on Rails to create Mastodon assets
# Use Ruby on Rails to create Mastodon assets
SECRET_KEY_BASE_DUMMY=1 \
bundle exec rails assets:precompile; \
# Cleanup temporary files
# Cleanup temporary files
rm -fr /opt/mastodon/tmp;
# Prep final Mastodon Ruby layer
@@ -324,49 +313,49 @@ ARG TARGETPLATFORM
# hadolint ignore=DL3008
RUN \
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Mount Corepack and Yarn caches from Docker buildx caches
--mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \
--mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \
# Apt update install non-dev versions of necessary components
# Mount Apt cache and lib directories from Docker buildx caches
--mount=type=cache,id=apt-cache-${TARGETPLATFORM},target=/var/cache/apt,sharing=locked \
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
# Mount Corepack and Yarn caches from Docker buildx caches
--mount=type=cache,id=corepack-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/corepack,sharing=locked \
--mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \
# Apt update install non-dev versions of necessary components
apt-get install -y --no-install-recommends \
libexpat1 \
libglib2.0-0 \
libicu72 \
libidn12 \
libpq5 \
libreadline8 \
libssl3 \
libyaml-0-2 \
libexpat1 \
libglib2.0-0t64 \
libicu76 \
libidn12 \
libpq5 \
libreadline8t64 \
libssl3t64 \
libyaml-0-2 \
# libvips components
libcgif0 \
libexif12 \
libheif1 \
libimagequant0 \
libjpeg62-turbo \
liblcms2-2 \
liborc-0.4-0 \
libspng0 \
libtiff6 \
libwebp7 \
libwebpdemux2 \
libwebpmux3 \
libcgif0 \
libexif12 \
libheif1 \
libhwy1t64 \
libimagequant0 \
libjpeg62-turbo \
liblcms2-2 \
libspng0 \
libtiff6 \
libwebp7 \
libwebpdemux2 \
libwebpmux3 \
# ffmpeg components
libdav1d6 \
libmp3lame0 \
libopencore-amrnb0 \
libopencore-amrwb0 \
libopus0 \
libsnappy1v5 \
libtheora0 \
libvorbis0a \
libvorbisenc2 \
libvorbisfile3 \
libvpx7 \
libx264-164 \
libx265-199 \
libdav1d7 \
libmp3lame0 \
libopencore-amrnb0 \
libopencore-amrwb0 \
libopus0 \
libsnappy1v5 \
libtheora0 \
libvorbis0a \
libvorbisenc2 \
libvorbisfile3 \
libvpx9 \
libx264-164 \
libx265-215 \
;
# Copy Mastodon sources into final layer
@@ -386,7 +375,7 @@ COPY --from=ffmpeg /usr/local/ffmpeg/lib /usr/local/lib
RUN \
ldconfig; \
# Smoketest media processors
# Smoketest media processors
vips -v; \
ffmpeg -version; \
ffprobe -version;
@@ -396,10 +385,10 @@ RUN \
bundle exec bootsnap precompile --gemfile app/ lib/;
RUN \
# Pre-create and chown system volume to Mastodon user
# Pre-create and chown system volume to Mastodon user
mkdir -p /opt/mastodon/public/system; \
chown mastodon:mastodon /opt/mastodon/public/system; \
# Set Mastodon user as owner of tmp folder
# Set Mastodon user as owner of tmp folder
chown -R mastodon:mastodon /opt/mastodon/tmp;
# Set the running user for resulting container

View File

@@ -13,6 +13,7 @@
- [FEP-f1d5: NodeInfo in Fediverse Software](https://codeberg.org/fediverse/fep/src/branch/main/fep/f1d5/fep-f1d5.md)
- [FEP-8fcf: Followers collection synchronization across servers](https://codeberg.org/fediverse/fep/src/branch/main/fep/8fcf/fep-8fcf.md)
- [FEP-5feb: Search indexing consent for actors](https://codeberg.org/fediverse/fep/src/branch/main/fep/5feb/fep-5feb.md)
- [FEP-044f: Consent-respecting quote posts](https://codeberg.org/fediverse/fep/src/branch/main/fep/044f/fep-044f.md): partial support for incoming quote-posts
## ActivityPub in Mastodon
@@ -47,3 +48,23 @@ Mastodon requires all `POST` requests to be signed, and MAY require `GET` reques
### Additional documentation
- [Mastodon documentation](https://docs.joinmastodon.org/)
## Size limits
Mastodon imposes a few hard limits on federated content.
These limits are intended to be very generous and way above what the Mastodon user experience is optimized for, so as to accommodate future changes and unusual or unforeseen usage patterns, while still providing some limits for performance reasons.
The following table summarizes those limits.
| Limited property | Size limit | Consequence of exceeding the limit |
| ------------------------------------------------------------- | ---------- | ---------------------------------- |
| Serialized JSON-LD | 1MB | **Activity is rejected/dropped** |
| Profile fields (actor `PropertyValue` attachments) name/value | 2047 | Field name/value is truncated |
| Number of profile fields (actor `PropertyValue` attachments) | 50 | Fields list is truncated |
| Poll options (number of `anyOf`/`oneOf` in a `Question`) | 500 | Items list is truncated |
| Account username (actor `preferredUsername`) length | 2048 | **Actor will be rejected** |
| Account display name (actor `name`) length | 2048 | Display name will be truncated |
| Account note (actor `summary`) length | 20kB | Account note will be truncated |
| Account `attributionDomains` | 256 | List will be truncated |
| Account aliases (actor `alsoKnownAs`) | 256 | List will be truncated |
| Custom emoji shortcode (`Emoji` `name`) | 2048 | Emoji will be rejected |
| Media and avatar/header descriptions (`name`/`summary`) | 1500 | Description will be truncated |

127
Gemfile
View File

@@ -1,34 +1,34 @@
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '>= 3.1.0'
ruby '>= 3.2.0', '< 3.5.0'
gem 'propshaft'
gem 'puma', '~> 6.3'
gem 'rack', '~> 2.2.7'
gem 'rails', '~> 7.1.1'
gem 'puma', '~> 7.0'
gem 'rails', '~> 8.1.0'
gem 'thor', '~> 1.2'
gem 'dotenv'
gem 'haml-rails', '~>2.0'
gem 'haml-rails', '~>3.0'
gem 'pg', '~> 1.5'
gem 'pghero'
gem 'aws-sdk-core', require: false
gem 'aws-sdk-s3', '~> 1.123', require: false
gem 'blurhash', '~> 0.1'
gem 'fog-core', '<= 2.5.0'
gem 'fog-core', '<= 2.6.0'
gem 'fog-openstack', '~> 1.0', require: false
gem 'jd-paperclip-azure', '~> 3.0', require: false
gem 'kt-paperclip', '~> 7.2'
gem 'md-paperclip-azure', '~> 2.2', require: false
gem 'ruby-vips', '~> 2.2', require: false
gem 'active_model_serializers', '~> 0.10'
gem 'addressable', '~> 2.8'
gem 'bootsnap', '~> 1.18.0', require: false
gem 'browser', '< 6' # https://github.com/fnando/browser/issues/543
gem 'bootsnap', require: false
gem 'browser'
gem 'charlock_holmes', '~> 0.7.7'
gem 'chewy', '~> 7.3'
gem 'devise', '~> 4.9'
gem 'devise'
gem 'devise-two-factor'
group :pam_authentication, optional: true do
@@ -39,82 +39,86 @@ 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-rails_csrf_protection', '~> 1.0'
gem 'omniauth_openid_connect', '~> 0.8.0'
gem 'omniauth-rails_csrf_protection', '~> 2.0'
gem 'omniauth-saml', '~> 2.0'
gem 'color_diff', '~> 0.1'
gem 'csv', '~> 3.2'
gem 'discard', '~> 1.2'
gem 'doorkeeper', '~> 5.6'
gem 'faraday-httpclient'
gem 'fast_blank', '~> 1.0'
gem 'fastimage'
gem 'hiredis', '~> 0.6'
gem 'hiredis-client'
gem 'htmlentities', '~> 4.3'
gem 'http', '~> 5.2.0'
gem 'http', '~> 5.3.0'
gem 'http_accept_language', '~> 2.1'
gem 'httplog', '~> 1.7.0'
gem 'httplog', '~> 1.8.0', require: false
gem 'i18n'
gem 'idn-ruby', require: 'idn'
gem 'inline_svg'
gem 'irb', '~> 1.8'
gem 'kaminari', '~> 1.2'
gem 'link_header', '~> 0.0'
gem 'linzer', '~> 0.7.7'
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
gem 'mime-types', '~> 3.5.0', require: 'mime/types/columnar'
gem 'mime-types', '~> 3.7.0', require: 'mime/types/columnar'
gem 'mutex_m'
gem 'nokogiri', '~> 1.15'
gem 'oj', '~> 3.14'
gem 'ox', '~> 2.14'
gem 'parslet'
gem 'premailer-rails'
gem 'public_suffix', '~> 6.0'
gem 'public_suffix', '~> 7.0'
gem 'pundit', '~> 2.3'
gem 'rack-attack', '~> 6.6'
gem 'rack-cors', '~> 2.0', require: 'rack/cors'
gem 'rails-i18n', '~> 7.0'
gem 'rack-cors', require: 'rack/cors'
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 'rqrcode', '~> 3.0'
gem 'ruby-progressbar', '~> 1.13'
gem 'sanitize', '~> 6.0'
gem 'sanitize', '~> 7.0'
gem 'scenic', '~> 1.7'
gem 'sidekiq', '~> 6.5'
gem 'sidekiq', '< 9'
gem 'sidekiq-bulk', '~> 0.2.0'
gem 'sidekiq-scheduler', '~> 5.0'
gem 'sidekiq-unique-jobs', '~> 7.1'
gem 'sidekiq-scheduler', '~> 6.0'
gem 'sidekiq-unique-jobs', '> 8'
gem 'simple_form', '~> 5.2'
gem 'simple-navigation', '~> 4.4'
gem 'stoplight', '~> 4.1'
gem 'stoplight'
gem 'strong_migrations'
gem 'tty-prompt', '~> 0.23', require: false
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.7.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.24.1', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.31.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.31.0', require: false
gem 'opentelemetry-instrumentation-active_job', '~> 0.10.0', require: false
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.24.0', require: false
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.24.0', require: false
gem 'opentelemetry-instrumentation-excon', '~> 0.27.0', require: false
gem 'opentelemetry-instrumentation-faraday', '~> 0.31.0', require: false
gem 'opentelemetry-instrumentation-http', '~> 0.28.0', require: false
gem 'opentelemetry-instrumentation-http_client', '~> 0.27.0', require: false
gem 'opentelemetry-instrumentation-net_http', '~> 0.27.0', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.35.0', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.29.0', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.39.0', require: false
gem 'opentelemetry-instrumentation-redis', '~> 0.28.0', require: false
gem 'opentelemetry-instrumentation-sidekiq', '~> 0.28.0', require: false
gem 'opentelemetry-sdk', '~> 1.4', require: false
end
@@ -123,17 +127,15 @@ 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
# RSpec helpers for email specs
gem 'email_spec'
gem 'rspec-github', '~> 3.0', require: false
# Extra RSpec extension methods and helpers for sidekiq
gem 'rspec-sidekiq', '~> 5.0'
# Browser integration testing
gem 'capybara', '~> 3.39'
gem 'selenium-webdriver'
gem 'capybara-playwright-driver'
gem 'playwright-ruby-client', '1.57.1', require: false # Pinning the exact version as it needs to be kept in sync with the installed npm package
# Used to reset the database between system tests
gem 'database_cleaner-active_record'
@@ -141,47 +143,48 @@ 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'
gem 'json-schema', '~> 6.0'
# Test harness fo rack components
gem 'rack-test', '~> 2.1'
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
# Stub web requests for specs
gem 'webmock', '~> 3.18'
# Websocket driver for testing integration between rails/sidekiq and streaming
gem 'websocket-driver', '~> 0.8', require: false
end
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 'annotate', '~> 3.2'
gem 'annotaterb', '~> 4.13', require: false
# Enhanced error message pages for development
gem 'better_errors', '~> 2.9'
gem 'binding_of_caller', '~> 1.0'
gem 'binding_of_caller'
# Preview mail in the browser
gem 'letter_opener', '~> 1.8'
gem 'letter_opener_web', '~> 3.0'
# Security analysis CLI tools
gem 'brakeman', '~> 6.0', require: false
gem 'brakeman', '~> 8.0', require: false
gem 'bundler-audit', '~> 0.9', require: false
# Linter CLI for HAML files
@@ -193,22 +196,22 @@ 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'
# Generate factory objects
gem 'fabrication', '~> 2.30'
gem 'fabrication'
# Profiling tools
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'
gem 'rspec-rails', '~> 8.0'
end
group :production do
@@ -220,9 +223,11 @@ gem 'concurrent-ruby', require: false
gem 'connection_pool', require: false
gem 'xorcist', '~> 1.1'
gem 'net-http', '~> 0.4.0'
gem 'rubyzip', '~> 2.3'
gem 'net-http', '~> 0.6.0'
gem 'rubyzip', '~> 3.0'
gem 'hcaptcha', '~> 7.1'
gem 'mail', '~> 2.8'
gem 'vite_rails', '~> 3.0.19'

File diff suppressed because it is too large Load Diff

View File

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

187
README.md
View File

@@ -1,158 +1,99 @@
<h1><picture>
<source media="(prefers-color-scheme: dark)" srcset="./lib/assets/wordmark.dark.png?raw=true">
<source media="(prefers-color-scheme: light)" srcset="./lib/assets/wordmark.light.png?raw=true">
<img alt="Mastodon" src="./lib/assets/wordmark.light.png?raw=true" height="34">
</picture></h1>
> [!NOTE]
> Want to learn more about Mastodon?
> Click below to find out more in a video.
[![GitHub release](https://img.shields.io/github/release/mastodon/mastodon.svg)][releases]
[![Ruby Testing](https://github.com/mastodon/mastodon/actions/workflows/test-ruby.yml/badge.svg)](https://github.com/mastodon/mastodon/actions/workflows/test-ruby.yml)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/mastodon/localized.svg)][crowdin]
<p align="center">
<a style="text-decoration:none" href="https://www.youtube.com/watch?v=IPSbNdBmWKE">
<img alt="Mastodon hero image" src="https://github.com/user-attachments/assets/ef53f5e9-c0d8-484d-9f53-00efdebb92c3" />
</a>
</p>
[releases]: https://github.com/mastodon/mastodon/releases
[crowdin]: https://crowdin.com/project/mastodon
<p align="center">
<a style="text-decoration:none" href="https://github.com/mastodon/mastodon/releases">
<img src="https://img.shields.io/github/release/mastodon/mastodon.svg" alt="Release" /></a>
<a style="text-decoration:none" href="https://github.com/mastodon/mastodon/actions/workflows/test-ruby.yml">
<img src="https://github.com/mastodon/mastodon/actions/workflows/test-ruby.yml/badge.svg" alt="Ruby Testing" /></a>
<a style="text-decoration:none" href="https://crowdin.com/project/mastodon">
<img src="https://d322cqt584bo4o.cloudfront.net/mastodon/localized.svg" alt="Crowdin" /></a>
</p>
Mastodon is a **free, open-source social network server** based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, and video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon software that implements ActivityPub!)
Click below to **learn more** in a video:
[![Screenshot](https://blog.joinmastodon.org/2018/06/why-activitypub-is-the-future/ezgif-2-60f1b00403.gif)][youtube_demo]
[youtube_demo]: https://www.youtube.com/watch?v=IPSbNdBmWKE
Mastodon is a **free, open-source social network server** based on [ActivityPub](https://www.w3.org/TR/activitypub/) where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, and video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon software that implements ActivityPub!)
## Navigation
- [Project homepage 🐘](https://joinmastodon.org)
- [Support the development via Patreon][patreon]
- [View sponsors](https://joinmastodon.org/sponsors)
- [Blog](https://blog.joinmastodon.org)
- [Documentation](https://docs.joinmastodon.org)
- [Roadmap](https://joinmastodon.org/roadmap)
- [Official Docker image](https://github.com/mastodon/mastodon/pkgs/container/mastodon)
- [Browse Mastodon servers](https://joinmastodon.org/communities)
- [Browse Mastodon apps](https://joinmastodon.org/apps)
[patreon]: https://www.patreon.com/mastodon
- [Donate to support development 🎁](https://joinmastodon.org/sponsors#donate)
- [View sponsors](https://joinmastodon.org/sponsors)
- [Blog 📰](https://blog.joinmastodon.org)
- [Documentation 📚](https://docs.joinmastodon.org)
- [Official container image 🚢](https://github.com/mastodon/mastodon/pkgs/container/mastodon)
## Features
<img src="/app/javascript/images/elephant_ui_working.svg?raw=true" align="right" width="30%" />
<img src="./app/javascript/images/elephant_ui_working.svg?raw=true" align="right" width="30%" />
### No vendor lock-in: Fully interoperable with any conforming platform
**Part of the Fediverse. Based on open standards, with no vendor lock-in.** - the network goes beyond just Mastodon; anything that implements ActivityPub is part of a broader social network known as [the Fediverse](https://jointhefediverse.net/). You can follow and interact with users on other servers (including those running different software), and they can follow you back.
It doesn't have to be Mastodon; whatever implements ActivityPub is part of the social network! [Learn more](https://blog.joinmastodon.org/2018/06/why-activitypub-is-the-future/)
**Real-time, chronological timeline updates** - updates of people you're following appear in real-time in the UI.
### Real-time, chronological timeline updates
**Media attachments** - upload and view images and videos attached to the updates. Videos with no audio track are treated like animated GIFs; normal videos loop continuously.
Updates of people you're following appear in real-time in the UI via WebSockets. There's a firehose view as well!
**Safety and moderation tools** - Mastodon includes private posts, locked accounts, phrase filtering, muting, blocking, and many other features, along with a reporting and moderation system.
### Media attachments like images and short videos
Upload and view images and WebM/MP4 videos attached to the updates. Videos with no audio track are treated like GIFs; normal videos loop continuously!
### Safety and moderation tools
Mastodon includes private posts, locked accounts, phrase filtering, muting, blocking, and all sorts of other features, along with a reporting and moderation system. [Learn more](https://blog.joinmastodon.org/2018/07/cage-the-mastodon/)
### OAuth2 and a straightforward REST API
Mastodon acts as an OAuth2 provider, so 3rd party apps can use the REST and Streaming APIs. This results in a rich app ecosystem with a lot of choices!
**OAuth2 and a straightforward REST API** - Mastodon acts as an OAuth2 provider, and third party apps can use the REST and Streaming APIs. This results in a [rich app ecosystem](https://joinmastodon.org/apps) with a variety of choices!
## Deployment
### Tech stack
- **Ruby on Rails** powers the REST API and other web pages
- **React.js** and **Redux** are used for the dynamic parts of the interface
- **Node.js** powers the streaming API
- [Ruby on Rails](https://github.com/rails/rails) powers the REST API and other web pages.
- [PostgreSQL](https://www.postgresql.org/) is the main database.
- [Redis](https://redis.io/) and [Sidekiq](https://sidekiq.org/) are used for caching and queueing.
- [Node.js](https://nodejs.org/) powers the streaming API.
- [React.js](https://reactjs.org/) and [Redux](https://redux.js.org/) are used for the dynamic parts of the interface.
- [BrowserStack](https://www.browserstack.com/) supports testing on real devices and browsers. (This project is tested with BrowserStack)
- [Chromatic](https://www.chromatic.com/) provides visual regression testing. (This project is tested with Chromatic)
### Requirements
- **PostgreSQL** 12+
- **Redis** 4+
- **Ruby** 3.1+
- **Node.js** 18+
- **Ruby** 3.2+
- **PostgreSQL** 14+
- **Redis** 7.0+
- **Node.js** 20+
The repository includes deployment configurations for **Docker and docker-compose** as well as specific platforms like **Heroku**, and **Scalingo**. For Helm charts, reference the [mastodon/chart repository](https://github.com/mastodon/chart). The [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation.
## Development
### Vagrant
A **Vagrant** configuration is included for development purposes. To use it, complete the following steps:
- Install Vagrant and Virtualbox
- Install the `vagrant-hostsupdater` plugin: `vagrant plugin install vagrant-hostsupdater`
- Run `vagrant up`
- Run `vagrant ssh -c "cd /vagrant && bin/dev"`
- Open `http://mastodon.local` in your browser
### macOS
To set up **macOS** for native development, complete the following steps:
- Install [Homebrew] and run `brew install postgresql@14 redis imagemagick
libidn nvm` to install the required project dependencies
- Use a Ruby version manager to activate the ruby in `.ruby-version` and run
`nvm use` to activate the node version from `.nvmrc`
- Run the `bin/setup` script, which will install the required ruby gems and node
packages and prepare the database for local development
- Finally, run the `bin/dev` script which will launch services via `overmind`
(if installed) or `foreman`
### Docker
For production hosting and deployment with **Docker**, use the `Dockerfile` and
`docker-compose.yml` in the project root directory.
For local development, install and launch [Docker], and run:
```shell
docker compose -f .devcontainer/compose.yaml up -d
docker compose -f .devcontainer/compose.yaml exec app bin/setup
docker compose -f .devcontainer/compose.yaml exec app bin/dev
```
### Dev Containers
Within IDEs that support the [Development Containers] specification, start the
"Mastodon on local machine" container from the editor. The necessary `docker
compose` commands to build and setup the container should run automatically. For
**Visual Studio Code** this requires installing the [Dev Container extension].
### GitHub Codespaces
[GitHub Codespaces] provides a web-based version of VS Code and a cloud hosted
development environment configured with the software needed for this project.
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)][codespace]
- Click the button to create a new codespace, and confirm the options
- Wait for the environment to build (takes a few minutes)
- When the editor is ready, run `bin/dev` in the terminal
- Wait for an _Open in Browser_ prompt. This will open Mastodon
- On the _Ports_ tab "stream" setting change _Port visibility__Public_
This repository includes deployment configurations for **Docker and docker-compose**, as well as for other environments like Heroku and Scalingo. For Helm charts, reference the [mastodon/chart repository](https://github.com/mastodon/chart). A [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the main documentation.
## Contributing
Mastodon is **free, open-source software** licensed under **AGPLv3**.
Mastodon is **free, open-source software** licensed under **AGPLv3**. We welcome contributions and help from anyone who wants to improve the project.
You can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository or submit translations using Crowdin. To get started, take a look at [CONTRIBUTING.md](CONTRIBUTING.md). If your contributions are accepted into Mastodon, you can request to be paid through [our OpenCollective](https://opencollective.com/mastodon).
You should read the overall [CONTRIBUTING](https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md) guide, which covers our development processes.
**IRC channel**: #mastodon on irc.libera.chat
You should also read and understand the [CODE OF CONDUCT](https://github.com/mastodon/.github/blob/main/CODE_OF_CONDUCT.md) that enables us to maintain a welcoming and inclusive community. Collaboration begins with mutual respect and understanding.
## License
You can learn about setting up a development environment in the [DEVELOPMENT](docs/DEVELOPMENT.md) documentation.
Copyright (C) 2016-2024 Eugen Rochko & other Mastodon contributors (see [AUTHORS.md](AUTHORS.md))
If you would like to help with translations 🌐 you can do so on [Crowdin](https://crowdin.com/project/mastodon).
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
## LICENSE
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
Copyright (c) 2016-2025 Eugen Rochko (+ [`mastodon authors`](AUTHORS.md))
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Licensed under GNU Affero General Public License as stated in the [LICENSE](LICENSE):
[codespace]: https://codespaces.new/mastodon/mastodon?quickstart=1&devcontainer_path=.devcontainer%2Fcodespaces%2Fdevcontainer.json
[Dev Container extension]: https://containers.dev/supporting#dev-containers
[Development Containers]: https://containers.dev/supporting
[Docker]: https://docs.docker.com
[GitHub Codespaces]: https://docs.github.com/en/codespaces
[Homebrew]: https://brew.sh
```text
Copyright (c) 2016-2025 Eugen Rochko & other Mastodon contributors
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
details.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see https://www.gnu.org/licenses/
```

View File

@@ -3,6 +3,6 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require File.expand_path('config/application', __dir__)
require_relative 'config/application'
Rails.application.load_tasks

View File

@@ -13,8 +13,9 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
## Supported Versions
| Version | Supported |
| ------- | --------- |
| 4.2.x | Yes |
| 4.1.x | Yes |
| < 4.1 | No |
| Version | Supported |
| ------- | ---------------- |
| 4.5.x | Yes |
| 4.4.x | Yes |
| 4.3.x | Until 2026-05-06 |
| < 4.3 | No |

6
Vagrantfile vendored
View File

@@ -29,7 +29,6 @@ sudo apt-get install \
libpq-dev \
libxml2-dev \
libxslt1-dev \
imagemagick \
nodejs \
redis-server \
redis-tools \
@@ -54,6 +53,7 @@ sudo apt-get install \
pkg-config \
protobuf-compiler \
zlib1g-dev \
libvips42t64 \
-y
# Install rvm
@@ -134,7 +134,7 @@ VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/focal64"
config.vm.box = "bento/ubuntu-24.04"
config.vm.provider :virtualbox do |vb|
vb.name = "mastodon"
@@ -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

@@ -17,10 +17,6 @@
"description": "The secret key base",
"generator": "secret"
},
"OTP_SECRET": {
"description": "One-time password secret",
"generator": "secret"
},
"SINGLE_USER_MODE": {
"description": "Should the instance run in single user mode? (Disable registrations, redirect to front page)",
"value": "false",

View File

@@ -19,9 +19,16 @@ class AccountsIndex < Chewy::Index
type: 'stemmer',
language: 'possessive_english',
},
word_joiner: {
type: 'shingle',
output_unigrams: true,
token_separator: '',
},
},
analyzer: {
# "The FOOING's bar" becomes "foo bar"
natural: {
tokenizer: 'standard',
filter: %w(
@@ -35,11 +42,20 @@ class AccountsIndex < Chewy::Index
),
},
# "FOO bar" becomes "foo bar"
verbatim: {
tokenizer: 'standard',
filter: %w(lowercase asciifolding cjk_width),
},
# "Foo bar" becomes "foo bar foobar"
word_join_analyzer: {
type: 'custom',
tokenizer: 'standard',
filter: %w(lowercase asciifolding cjk_width word_joiner),
},
# "Foo bar" becomes "f fo foo b ba bar"
edge_ngram: {
tokenizer: 'edge_ngram',
filter: %w(lowercase asciifolding cjk_width),

View File

@@ -53,9 +53,9 @@ class PublicStatusesIndex < Chewy::Index
}
index_scope ::Status.unscoped
.kept
.indexable
.includes(:media_attachments, :preloadable_poll, :tags, preview_cards_status: :preview_card)
.kept
.indexable
.includes(:media_attachments, :preloadable_poll, :tags, preview_cards_status: :preview_card)
root date_detection: false do
field(:id, type: 'long')

View File

@@ -18,6 +18,8 @@ class AccountsController < ApplicationController
respond_to do |format|
format.html do
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.hour) unless user_signed_in?
redirect_to short_account_path(@account) if account_id_param.present? && username_param.blank?
end
format.rss do
@@ -71,6 +73,10 @@ class AccountsController < ApplicationController
params[:username]
end
def account_id_param
params[:id]
end
def skip_temporary_suspension_response?
request.format == :json
end

View File

@@ -1,20 +1,36 @@
# frozen_string_literal: true
class ActivityPub::CollectionsController < ActivityPub::BaseController
SUPPORTED_COLLECTIONS = %w(featured tags).freeze
vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!, if: :authorized_fetch_mode?
before_action :check_authorization
before_action :set_items
before_action :set_size
before_action :set_type
def show
expires_in 3.minutes, public: public_fetch_mode?
render_with_cache json: collection_presenter, content_type: 'application/activity+json', serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter
if @unauthorized
render json: collection_presenter, content_type: 'application/activity+json', serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter
else
render_with_cache json: collection_presenter, content_type: 'application/activity+json', serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter
end
end
private
def check_authorization
# Because in public fetch mode we cache the response, there would be no
# benefit from performing the check below, since a blocked account or domain
# would likely be served the cache from the reverse proxy anyway
@unauthorized = authorized_fetch_mode? && !signed_request_account.nil? && (@account.blocking?(signed_request_account) || (!signed_request_account.domain.nil? && @account.domain_blocking?(signed_request_account.domain)))
end
def set_items
case params[:id]
when 'featured'
@@ -49,7 +65,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
@@ -57,11 +73,7 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController
end
def for_signed_account
# Because in public fetch mode we cache the response, there would be no
# benefit from performing the check below, since a blocked account or domain
# would likely be served the cache from the reverse proxy anyway
if authorized_fetch_mode? && !signed_request_account.nil? && (@account.blocking?(signed_request_account) || (!signed_request_account.domain.nil? && @account.domain_blocking?(signed_request_account.domain)))
if @unauthorized
[]
else
yield

View File

@@ -0,0 +1,81 @@
# frozen_string_literal: true
class ActivityPub::ContextsController < ActivityPub::BaseController
vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!, if: :authorized_fetch_mode?
before_action :set_conversation
before_action :set_items
DESCENDANTS_LIMIT = 60
def show
expires_in 3.minutes, public: public_fetch_mode?
render_with_cache json: context_presenter, serializer: ActivityPub::ContextSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end
def items
expires_in 3.minutes, public: public_fetch_mode?
render_with_cache json: items_collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end
private
def account_required?
false
end
def set_conversation
account_id, status_id = params[:id].split('-')
@conversation = Conversation.local.find_by(parent_account_id: account_id, parent_status_id: status_id)
end
def set_items
@items = @conversation.statuses.distributable_visibility.paginate_by_min_id(DESCENDANTS_LIMIT, params[:min_id])
end
def context_presenter
first_page = ActivityPub::CollectionPresenter.new(
type: :unordered,
part_of: context_url(@conversation),
next: next_page,
items: @items.map { |status| status.local? ? ActivityPub::TagManager.instance.uri_for(status) : status.uri }
)
ActivityPub::ContextPresenter.from_conversation(@conversation).tap do |presenter|
presenter.first = first_page
end
end
def items_collection_presenter
page = ActivityPub::CollectionPresenter.new(
id: items_context_url(@conversation, page_params),
type: :unordered,
part_of: context_url(@conversation),
next: next_page,
items: @items.map { |status| status.local? ? ActivityPub::TagManager.instance.uri_for(status) : status.uri }
)
return page if page_requested?
ActivityPub::CollectionPresenter.new(
id: items_context_url(@conversation),
type: :unordered,
first: page
)
end
def page_requested?
truthy_param?(:page)
end
def next_page
return nil if @items.size < DESCENDANTS_LIMIT
items_context_url(@conversation, page: true, min_id: @items.last.id)
end
def page_params
params.permit(:page, :min_id)
end
end

View File

@@ -0,0 +1,29 @@
# frozen_string_literal: true
class ActivityPub::FeatureAuthorizationsController < ActivityPub::BaseController
include Authorization
vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!, if: :authorized_fetch_mode?
before_action :set_collection_item
def show
expires_in 30.seconds, public: true if public_fetch_mode?
render json: @collection_item, serializer: ActivityPub::FeatureAuthorizationSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end
private
def pundit_user
signed_request_account
end
def set_collection_item
@collection_item = @account.collection_items.accepted.find(params[:id])
authorize @collection_item.collection, :show?
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
end

View File

@@ -0,0 +1,77 @@
# frozen_string_literal: true
class ActivityPub::FeaturedCollectionsController < ApplicationController
include SignatureAuthentication
include Authorization
include AccountOwnedConcern
PER_PAGE = 5
vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }
before_action :check_feature_enabled
before_action :require_account_signature!, if: -> { authorized_fetch_mode? }
before_action :set_collections
skip_around_action :set_locale
skip_before_action :require_functional!, unless: :limited_federation_mode?
def index
respond_to do |format|
format.json do
expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode?)
render json: collection_presenter,
serializer: ActivityPub::CollectionSerializer,
adapter: ActivityPub::Adapter,
content_type: 'application/activity+json'
end
end
end
private
def set_collections
authorize @account, :index_collections?
@collections = @account.collections.page(params[:page]).per(PER_PAGE)
rescue Mastodon::NotPermittedError
not_found
end
def page_requested?
params[:page].present?
end
def next_page_url
ap_account_featured_collections_url(@account, page: @collections.next_page) if @collections.respond_to?(:next_page)
end
def prev_page_url
ap_account_featured_collections_url(@account, page: @collections.prev_page) if @collections.respond_to?(:prev_page)
end
def collection_presenter
if page_requested?
ActivityPub::CollectionPresenter.new(
id: ap_account_featured_collections_url(@account, page: params.fetch(:page, 1)),
type: :unordered,
size: @account.collections.count,
items: @collections,
part_of: ap_account_featured_collections_url(@account),
next: next_page_url,
prev: prev_page_url
)
else
ActivityPub::CollectionPresenter.new(
id: ap_account_featured_collections_url(@account),
type: :unordered,
size: @account.collections.count,
first: ap_account_featured_collections_url(@account, page: 1)
)
end
end
def check_feature_enabled
raise ActionController::RoutingError unless Mastodon::Feature.collections_enabled?
end
end

View File

@@ -3,6 +3,7 @@
class ActivityPub::InboxesController < ActivityPub::BaseController
include JsonLdHelper
before_action :skip_large_payload
before_action :skip_unknown_actor_activity
before_action :require_actor_signature!
skip_before_action :authenticate_user!
@@ -16,6 +17,10 @@ class ActivityPub::InboxesController < ActivityPub::BaseController
private
def skip_large_payload
head 413 if request.content_length > ActivityPub::Activity::MAX_JSON_SIZE
end
def skip_unknown_actor_activity
head 202 if unknown_affected_account?
end
@@ -39,7 +44,7 @@ class ActivityPub::InboxesController < ActivityPub::BaseController
return @body if defined?(@body)
@body = request.body.read
@body.force_encoding('UTF-8') if @body.present?
@body.presence&.force_encoding('UTF-8')
request.body.rewind if request.body.respond_to?(:rewind)

View File

@@ -22,13 +22,13 @@ class ActivityPub::LikesController < ActivityPub::BaseController
def set_status
@status = @account.statuses.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
def likes_collection_presenter
ActivityPub::CollectionPresenter.new(
id: account_status_likes_url(@account, @status),
id: ActivityPub::TagManager.instance.likes_uri_for(@status),
type: :unordered,
size: @status.favourites_count
)

View File

@@ -41,12 +41,8 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
end
end
def outbox_url(**kwargs)
if params[:account_username].present?
account_outbox_url(@account, **kwargs)
else
instance_actor_outbox_url(**kwargs)
end
def outbox_url(...)
ActivityPub::TagManager.instance.outbox_uri_for(@account, ...)
end
def next_page
@@ -77,6 +73,8 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
end
def set_account
@account = params[:account_username].present? ? Account.find_local!(username_param) : Account.representative
return super if params[:account_username].present? || params[:account_id].present?
@account = Account.representative
end
end

View File

@@ -0,0 +1,30 @@
# frozen_string_literal: true
class ActivityPub::QuoteAuthorizationsController < ActivityPub::BaseController
include Authorization
vary_by -> { 'Signature' if authorized_fetch_mode? }
before_action :require_account_signature!, if: :authorized_fetch_mode?
before_action :set_quote_authorization
def show
expires_in 30.seconds, public: true if @quote.quoted_status.distributable? && public_fetch_mode?
render json: @quote, serializer: ActivityPub::QuoteAuthorizationSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end
private
def pundit_user
signed_request_account
end
def set_quote_authorization
@quote = Quote.accepted.where(quoted_account: @account).find(params[:id])
return not_found unless @quote.status.present? && @quote.quoted_status.present?
authorize @quote.quoted_status, :show?
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
end

View File

@@ -25,7 +25,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
def set_status
@status = @account.statuses.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
@@ -37,7 +37,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
def replies_collection_presenter
page = ActivityPub::CollectionPresenter.new(
id: account_status_replies_url(@account, @status, page_params),
id: ActivityPub::TagManager.instance.replies_uri_for(@status, page_params),
type: :unordered,
part_of: account_status_replies_url(@account, @status),
next: next_page,
@@ -47,7 +47,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
return page if page_requested?
ActivityPub::CollectionPresenter.new(
id: account_status_replies_url(@account, @status),
id: ActivityPub::TagManager.instance.replies_uri_for(@status),
type: :unordered,
first: page
)
@@ -66,8 +66,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
# Only consider remote accounts
return nil if @replies.size < DESCENDANTS_LIMIT
account_status_replies_url(
@account,
ActivityPub::TagManager.instance.replies_uri_for(
@status,
page: true,
min_id: @replies&.last&.id,
@@ -77,8 +76,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
# For now, we're serving only self-replies, but next page might be other accounts
next_only_other_accounts = @replies&.last&.account_id != @account.id || @replies.size < DESCENDANTS_LIMIT
account_status_replies_url(
@account,
ActivityPub::TagManager.instance.replies_uri_for(
@status,
page: true,
min_id: next_only_other_accounts ? nil : @replies&.last&.id,

View File

@@ -22,13 +22,13 @@ class ActivityPub::SharesController < ActivityPub::BaseController
def set_status
@status = @account.statuses.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
def shares_collection_presenter
ActivityPub::CollectionPresenter.new(
id: account_status_shares_url(@account, @status),
id: ActivityPub::TagManager.instance.shares_uri_for(@status),
type: :unordered,
size: @status.reblogs_count
)

View File

@@ -14,16 +14,20 @@ module Admin
def create
authorize @account, :show?
account_action = Admin::AccountAction.new(resource_params)
account_action.target_account = @account
account_action.current_account = current_account
@account_action = Admin::AccountAction.new(resource_params)
@account_action.target_account = @account
@account_action.current_account = current_account
account_action.save!
if account_action.with_report?
redirect_to admin_reports_path, notice: I18n.t('admin.reports.processed_msg', id: resource_params[:report_id])
if @account_action.save
if @account_action.with_report?
redirect_to admin_reports_path, notice: I18n.t('admin.reports.processed_msg', id: resource_params[:report_id])
else
redirect_to admin_account_path(@account.id)
end
else
redirect_to admin_account_path(@account.id)
@warning_presets = AccountWarningPreset.all
render :new
end
end
@@ -34,7 +38,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

@@ -16,11 +16,14 @@ module Admin
def batch
authorize :account, :index?
@form = Form::AccountBatch.new(form_account_batch_params)
@form.current_account = current_account
@form.action = action_from_button
@form.select_all_matching = params[:select_all_matching]
@form.query = filtered_accounts
@form = Form::AccountBatch.new(
form_account_batch_params.merge(
action: action_from_button,
current_account:,
query: filtered_accounts,
select_all_matching: params[:select_all_matching]
)
)
@form.save
rescue ActionController::ParameterMissing
flash[:alert] = I18n.t('admin.accounts.no_account_selected')
@@ -158,7 +161,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

@@ -6,7 +6,7 @@ module Admin
def index
authorize :audit_log, :index?
@auditable_accounts = Account.auditable.select(:id, :username)
@auditable_accounts = Account.auditable.select(:id, :username).order(username: :asc)
end
private

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

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