Compare commits

...

1847 Commits

Author SHA1 Message Date
diondiondion
7df8fab59a [Glitch] Improve contrast for text-warning and text-success tokens
Port 8e00f7cc8f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:27:10 +01:00
Echo
e52a6f219f [Glitch] Add error notice when bundle load fails
Port 6e103636f2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:26:48 +01:00
diondiondion
7ccada36db [Glitch] Refactor NumberFields to standalone component
Port e303c89e4d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:25:32 +01:00
diondiondion
1a816434cf [Glitch] Implement new collection page design
Port 098d698a7e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:24:49 +01:00
Echo
37b4329c75 [Glitch] Profile redesign: Add Intl.Segmenter fallback
Port 9a076359b9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:22:21 +01:00
diondiondion
a70fd75a1a [Glitch] Revert translation wrapper for counters
Port 43adb2c91d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:21:38 +01:00
Echo
df5900d33c [Glitch] Shows loading state for gallery correctly
Port db54c59df4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:21:06 +01:00
Echo
9dfacc21f8 [Glitch] Profile editing: Minor size fixes
Port a8c08dfeb3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:20:30 +01:00
Echo
e8b0d43921 [Glitch] Profile redesign: Re-adds title for profile counts and join date
Port 931f43c8b8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:20:09 +01:00
Echo
edbe394c42 [Glitch] Profile redesign: Include replies in pinned posts
Port 92fa8ce88c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:19:40 +01:00
Echo
131b9acfab [Glitch] Profile editing: Field inline messages
Port 57a4f6b6ec to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:18:17 +01:00
Echo
22e156ea83 [Glitch] Profile editing: Make field buttons vanish instead of disable
Port 9b6f877be5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:17:44 +01:00
diondiondion
9f3e72f1cc [Glitch] Fix styling regressions: familiar followers layout & alert action hover color
Port e26c6fa256 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-27 18:17:22 +01:00
Claire
30bb39fe54 Merge commit '8e00f7cc8fab9b447f80a27a972eef78186633ad' into glitch-soc/merge-upstream 2026-03-27 18:15:50 +01:00
diondiondion
8e00f7cc8f Improve contrast for text-warning and text-success tokens (#38459) 2026-03-27 16:28:29 +00:00
Echo
6e103636f2 Add error notice when bundle load fails (#38458) 2026-03-27 16:21:58 +00:00
diondiondion
e303c89e4d Refactor NumberFields to standalone component (#38455) 2026-03-27 16:13:07 +00:00
diondiondion
098d698a7e Implement new collection page design (#38450) 2026-03-27 15:30:06 +00:00
Matt Jankowski
5a880ff995 Clean up some route declarations (#38444) 2026-03-27 15:29:52 +00:00
Matt Jankowski
df9dec741f Add private method for event export filename (#38454) 2026-03-27 15:25:19 +00:00
renovate[bot]
ab5cbe3509 Update dependency @vitejs/plugin-legacy to v8.0.1 (#38410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 15:19:47 +00:00
renovate[bot]
018ad7ff0a Update dependency vite to v8.0.3 (#38411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 15:19:18 +00:00
Echo
9a076359b9 Profile redesign: Add Intl.Segmenter fallback (#38456) 2026-03-27 15:15:36 +00:00
diondiondion
43adb2c91d Revert translation wrapper for counters (#38453) 2026-03-27 15:04:07 +00:00
Echo
db54c59df4 Shows loading state for gallery correctly (#38451) 2026-03-27 15:03:52 +00:00
Echo
a8c08dfeb3 Profile editing: Minor size fixes (#38446) 2026-03-27 12:57:46 +00:00
Echo
931f43c8b8 Profile redesign: Re-adds title for profile counts and join date (#38445) 2026-03-27 12:50:34 +00:00
Echo
92fa8ce88c Profile redesign: Include replies in pinned posts (#38443) 2026-03-27 12:45:59 +00:00
Echo
57a4f6b6ec Profile editing: Field inline messages (#38442) 2026-03-27 12:41:54 +00:00
Echo
9b6f877be5 Profile editing: Make field buttons vanish instead of disable (#38440) 2026-03-27 12:40:34 +00:00
diondiondion
e26c6fa256 Fix styling regressions: familiar followers layout & alert action hover color (#38438) 2026-03-27 10:12:41 +00:00
github-actions[bot]
28284b8452 New Crowdin Translations (automated) (#38435)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-27 08:26:09 +00:00
Claire
d79af17e8c Merge pull request #3460 from glitch-soc/glitch-soc/merge-upstream
Merge upstream changes up to 9d5e10a70e
2026-03-27 08:23:17 +01:00
diondiondion
d75af8d188 [Glitch] Update outer spacing of new profile page
Port dad7f0e869 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-26 18:30:37 +01:00
diondiondion
ffac9e53c6 [Glitch] Update collection list item design
Port 2124be8a81 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-26 18:30:16 +01:00
Echo
d4e7ee4855 [Glitch] Profile redesign: Fix follower/following pagination
Port 87dc8f9036 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-26 18:29:35 +01:00
diondiondion
915fd0933a [Glitch] Fix regressions caused by rendering default translation wrapper element
Port 39ad873589 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-26 18:29:11 +01:00
Echo
a16b441c70 [Glitch] Profile editing: Add notice in profile preferences
Port dd8602a928 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-26 18:24:29 +01:00
Claire
2ac493ee8e Merge commit '9d5e10a70e006c1c0bc61e7f591b1078c7be6ab4' into glitch-soc/merge-upstream 2026-03-26 18:23:45 +01:00
renovate[bot]
9d5e10a70e Update dependency chromatic to v16 (#38345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 15:25:53 +00:00
diondiondion
dad7f0e869 Update outer spacing of new profile page (#38426) 2026-03-26 15:07:39 +00:00
Matt Jankowski
ea009d5062 Avoid rubocop:disable for private address spec (#38420) 2026-03-26 15:03:10 +00:00
diondiondion
2124be8a81 Update collection list item design (#38425) 2026-03-26 14:56:36 +00:00
David Roetzel
6f509d71c3 Make sure collection exists before items are added (#38424) 2026-03-26 14:42:44 +00:00
renovate[bot]
71092457e9 Update dependency rails to v8.1.3 (#38377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 14:18:41 +00:00
Echo
87dc8f9036 Profile redesign: Fix follower/following pagination (#38417) 2026-03-26 14:15:05 +00:00
Claire
5b2e614beb Add more key processing tests (#38419) 2026-03-26 14:13:43 +00:00
Matt Jankowski
b321d5d377 Use resources to declare API TOS access endpoints (#38416) 2026-03-26 14:07:06 +00:00
Claire
e81a4e258c Add support for FEP-2c59 (#38239) 2026-03-26 13:33:16 +00:00
David Roetzel
abd29109c5 Fetch unknown collection when handling FeatureRequest activity (#38413) 2026-03-26 13:30:27 +00:00
David Roetzel
35c30dfc6e Remove overeager unique index (#38414) 2026-03-26 13:29:47 +00:00
diondiondion
39ad873589 Fix regressions caused by rendering default translation wrapper element (#38412) 2026-03-26 11:16:55 +00:00
Echo
dd8602a928 Profile editing: Add notice in profile preferences (#38404) 2026-03-26 11:03:40 +00:00
renovate[bot]
5061f0b1cd Update dependency @vitejs/plugin-react to v5.2.0 (#38179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 10:41:52 +00:00
github-actions[bot]
1dd604df20 New Crowdin Translations (automated) (#38408)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-26 10:35:06 +00:00
Claire
3ebd3952a1 Add formatted_note and formatted_fields to GET /api/v1/profile (#38339) 2026-03-26 10:32:30 +00:00
David Roetzel
1fb5cb1e67 Add unique indexes for Collection(Item) URIs (#38409) 2026-03-26 10:17:08 +00:00
Matt Jankowski
df479d598f Expand coverage for Tag.search_for method (#38405) 2026-03-26 10:03:17 +00:00
Claire
806e2a993a Fix Webfinger endpoint not handling new AP ID scheme (#38391) 2026-03-26 09:58:47 +00:00
Claire
34b02b9006 Fix profile styling 2026-03-25 23:36:28 +01:00
Claire
89b42f89d0 Merge commit '19806be8ecc387adda4c229fc5e0e7b3af733e4f' into glitch-soc/merge-upstream 2026-03-25 23:17:26 +01:00
Claire
19806be8ec Fix processing keys from separate documents (#38407) 2026-03-25 22:03:33 +00:00
Eugen Rochko
ee03209934 [Glitch] Add email subscriptions
Port bcf0718a9a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 22:07:25 +01:00
Echo
d610336398 [Glitch] Profile editing: Re-adds the character counter with the new limit
Port 61e0ec8844 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 22:07:25 +01:00
diondiondion
ba56c45072 [Glitch] Render FormattedMessage translations into React.Fragment by default
Port e3dfb7ddd6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 22:07:25 +01:00
Echo
f780570f2d [Glitch] Refactor: Update FormatJS
Port 1820a03622 to glitch-soc

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 22:07:25 +01:00
diondiondion
bb3f258c64 [Glitch] Update web theme tokens with latest design system tokens
Port 37236acd3b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 22:03:04 +01:00
diondiondion
1599047922 [Glitch] Allow scrolling alt text popover with keyboard & improved media focus outlines
Port 396d9dd12a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 21:41:25 +01:00
Claire
79958d9442 Merge commit '31abef8917879917a330419fe3981a2fb7f35b69' into glitch-soc/merge-upstream
Conflicts:
- `app/services/post_status_service.rb`:
  Upstream added a line adjacent to one that had been modified due to local-only posting.
  Added upstream's change.
- `tsconfig.json`:
  Upstream updated Typescript and updated `tsconfig` in the process by changing paths, where
  glitch-soc had extra paths. Updated as upstream did.
2026-03-25 21:36:32 +01:00
Claire
24bc05f3a4 Merge pull request #3459 from glitch-soc/glitch-soc/merge-upstream
Merge upstream changes up to 664efcf4c3
2026-03-25 21:30:45 +01:00
Echo
166f932d1e [Glitch] Profile editing: Fix incorrect label
Port 74123950be to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 21:11:10 +01:00
diondiondion
237440f2ec [Glitch] Hide empty state of topic suggestions dropdown in Collection editor
Port bafc552a72 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 21:10:41 +01:00
Claire
572f18c322 Merge commit '664efcf4c3f9713894054fb642a252d8752a4123' into glitch-soc/merge-upstream 2026-03-25 21:09:30 +01:00
Matt Jankowski
31abef8917 Remove archive screenshots step from search CI job (#38403) 2026-03-25 16:37:02 +00:00
David Roetzel
2884abacef Fix item count (#38402) 2026-03-25 16:31:04 +00:00
Eugen Rochko
bcf0718a9a Add email subscriptions (#38163) 2026-03-25 16:25:45 +00:00
Claire
b46d003e20 Don't install recommended packages in CI tasks (#38401) 2026-03-25 15:59:50 +00:00
Echo
61e0ec8844 Profile editing: Re-adds the character counter with the new limit (#38400) 2026-03-25 15:31:58 +00:00
David Roetzel
2a4b205c75 Make sure Delete reaches collection owner (#38399) 2026-03-25 15:28:20 +00:00
diondiondion
e3dfb7ddd6 Render FormattedMessage translations into React.Fragment by default (#38398) 2026-03-25 15:01:40 +00:00
Claire
15dbf8040e Add support for multiple keypairs for remote accounts (#38279) 2026-03-25 14:52:12 +00:00
Echo
1820a03622 Refactor: Update FormatJS (#38388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 14:38:35 +00:00
diondiondion
37236acd3b Update web theme tokens with latest design system tokens (#38387) 2026-03-25 14:34:38 +00:00
David Roetzel
c9eefd0ae7 Persist activity URI of a FeatureRequest (#38393) 2026-03-25 14:32:15 +00:00
David Roetzel
a0f6b6d365 Fix off-by-one error when creating collection items (#38394) 2026-03-25 14:29:11 +00:00
renovate[bot]
864d7b1267 Update dependency typescript to v6 (#38344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2026-03-25 13:43:41 +00:00
Matt Jankowski
2112ea4d63 Drop support for ruby 3.2 (#37476) 2026-03-25 13:18:34 +00:00
Matt Jankowski
664efcf4c3 Add have_attachment matcher for attached file exports (#38389) 2026-03-25 13:18:14 +00:00
David Roetzel
bcead76410 Only federate accepted collection items (#38385) 2026-03-25 13:04:09 +00:00
David Roetzel
84ea8334fe Do not auto-accept remote collection items (#38386) 2026-03-25 13:04:05 +00:00
Claire
7583d07d3a Change avatar and account header description limit and expose it in API (#38384) 2026-03-25 12:32:47 +00:00
renovate[bot]
45e7c7a5e1 Update storybook (non-major) (#38353)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2026-03-25 11:22:11 +00:00
David Roetzel
d9db4779cf Handle local/remote collection items differently when deleting (#38383) 2026-03-25 10:57:34 +00:00
Echo
74123950be Profile editing: Fix incorrect label (#38382) 2026-03-25 10:46:18 +00:00
Matt Jankowski
5d7682c7dd Extract security_key_options endpoint to standalone controller (#38367) 2026-03-25 10:35:09 +00:00
diondiondion
bafc552a72 Hide empty state of topic suggestions dropdown in Collection editor (#38356) 2026-03-25 10:24:19 +00:00
Matt Jankowski
b399dc3191 Add coverage for "fields" feature of Account (#38369) 2026-03-25 10:23:45 +00:00
renovate[bot]
d6da3bdf1f Update dependency react-easy-crop to v5.5.7 (#38355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 10:18:14 +00:00
renovate[bot]
5267a99fb8 Update dependency ws to v8.20.0 (#38328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 10:17:17 +00:00
Claire
ea54c266ed Update dependency bcrypt (#38381) 2026-03-25 10:14:39 +00:00
Matt Jankowski
52a8bf4118 Add constants for delay in services (#38375) 2026-03-25 09:59:38 +00:00
Matt Jankowski
d42182d9a2 Use more granular content check via parsed_body (#38378) 2026-03-25 09:58:04 +00:00
github-actions[bot]
c6691e77bd New Crowdin Translations (automated) (#38380)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-25 09:51:42 +00:00
Claire
88c7d3bf3f Merge pull request #3458 from glitch-soc/glitch-soc/merge-upstream
Merge upstream changes up to c72ca33fac
2026-03-24 17:54:34 +01:00
David Roetzel
a3bdcc71e7 Fix serialization when an account is missing (#38370) 2026-03-24 16:42:57 +00:00
Echo
8c385b89c3 [Glitch] Profile editing: Visual fixes
Port 2d4b5b6c51 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 17:23:00 +01:00
Echo
eb3d54eac9 [Glitch] Remove column header button
Port c7e90ee67a to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 17:23:00 +01:00
Echo
6d3cf92a2b [Glitch] Profile redesign: Remove hashtags from featured page
Port aef70991f8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 17:23:00 +01:00
Echo
2e47579bd2 [Glitch] Profile redesign: Simplify header for follower/following lists
Port 000199f003 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 17:22:59 +01:00
Echo
889706a317 [Glitch] Profile redesign: Ensure boost and languages menu items are only for following
Port 5ba5a2e552 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 17:07:34 +01:00
Claire
3d8e40f7c9 Merge commit 'c72ca33fac1ae1518371f5954ae9487692b17709' into glitch-soc/merge-upstream 2026-03-24 17:05:53 +01:00
Claire
c72ca33fac Bump version to v4.5.8 (#38374) 2026-03-24 15:51:03 +00:00
David Roetzel
7788281759 Fix adding items without a position (#38368) 2026-03-24 14:43:50 +00:00
Claire
4559e4ed1a Merge commit from fork 2026-03-24 15:44:08 +01:00
Claire
ab251290d6 Merge commit from fork 2026-03-24 15:42:40 +01:00
Claire
2458d6ea8e Merge pull request #3454 from glitch-soc/glitch-soc/merge-upstream
Merge upstream changes up to 0ef43a431d
2026-03-24 15:03:35 +01:00
Echo
2d4b5b6c51 Profile editing: Visual fixes (#38346) 2026-03-24 13:47:07 +00:00
Echo
c7e90ee67a Remove column header button (#38362)
Co-authored-by: diondiondion <mail@diondiondion.com>
2026-03-24 13:28:09 +00:00
Echo
aef70991f8 Profile redesign: Remove hashtags from featured page (#38363) 2026-03-24 13:10:27 +00:00
Echo
000199f003 Profile redesign: Simplify header for follower/following lists (#38366) 2026-03-24 13:03:44 +00:00
Echo
5ba5a2e552 Profile redesign: Ensure boost and languages menu items are only for following (#38365) 2026-03-24 12:58:19 +00:00
Claire
1d6508bcdc Fix javascript tests 2026-03-24 12:46:05 +01:00
renovate[bot]
7c5471e763 [Glitch] Update dependency vite to v8
Port changes from 1935f4db79 to glitch-soc

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 12:19:00 +01:00
Echo
5bc6630132 [Glitch] Profile redesign: Nudge to add featured tags
Port 931da0c327 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 12:15:37 +01:00
Claire
60236bffe6 Merge commit '0ef43a431d353a17419ea6664ed745b5dbfbf2f9' into glitch-soc/merge-upstream 2026-03-24 12:13:39 +01:00
Echo
58cd1f3644 Disable locales with Vite 8 (#38357) 2026-03-24 11:08:23 +00:00
Matt Jankowski
0ef43a431d Skip non-collection urls in process links service (#38351)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2026-03-24 09:52:35 +00:00
renovate[bot]
014e85ba9d Update dependency rails to v8.1.2.1 (#38352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 09:40:41 +00:00
github-actions[bot]
65952f9b4c New Crowdin Translations (automated) (#38354)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-24 09:40:31 +00:00
Claire
ca08c040b0 Federate new profile settings (#38314) 2026-03-24 09:20:17 +00:00
renovate[bot]
b9388bed73 Update dependency vite to v8.0.2 (#38333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 22:14:36 +00:00
Claire
970313a83e Drop support for ENABLE_SIDEKIQ_UNIQUE_JOBS_UI (#38340) 2026-03-23 18:34:21 +00:00
Matt Jankowski
9909c743d4 Use matches_uri_prefix in followers hash method (#38332) 2026-03-23 16:11:31 +00:00
Matt Jankowski
6e281e8b9e Fix Layout/EmptyLineAfterGuardClause cop in PollExpirationNotifyWorker (#38331) 2026-03-23 16:09:02 +00:00
David Roetzel
e4e584a99e Handle Update of a FeaturedCollection (#38337) 2026-03-23 15:57:02 +00:00
Matt Jankowski
5a7c565396 Extract common lists for status/reblog preload/cacheable (#35285) 2026-03-23 15:53:56 +00:00
Matt Jankowski
fca25fa1e4 Add tagged_objects to reblog section of status association cache (#38334) 2026-03-23 14:16:52 +00:00
David Roetzel
3c47020f93 Allow service to update existing Collections (#38329) 2026-03-23 14:09:10 +00:00
Claire
39d9da3b82 Tag linked FeaturedCollection objects over ActivityPub (#38115) 2026-03-23 13:11:33 +00:00
renovate[bot]
1935f4db79 Update dependency vite to v8 (#38174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
2026-03-23 11:47:03 +00:00
Claire
d48470a1fc Change media description length limit for remote media attachments from 1500 to 10000 characters (#37921) 2026-03-23 10:32:41 +00:00
renovate[bot]
506d0afa53 Update dependency flatware-rspec to v2.4.0 (#38327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 09:52:07 +00:00
renovate[bot]
13bfd2f27c Update Yarn to v4.13.0 (#38305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 09:33:22 +00:00
Claire
21576e29ab Refactor ProcessMentionsService to remove save_records parameter (#38277) 2026-03-23 09:12:30 +00:00
Echo
931da0c327 Profile redesign: Nudge to add featured tags (#38315) 2026-03-23 09:07:53 +00:00
Matt Jankowski
bd16e3f63e Use progress total tracker in accounts CLI (#38296) 2026-03-23 08:14:38 +00:00
renovate[bot]
e13d57a69e Update dependency jsdom to v29.0.1 (#38304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 08:14:30 +00:00
github-actions[bot]
34a52fd38b New Crowdin Translations (automated) (#38321)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-23 07:45:28 +00:00
Claire
c43f44ebb9 Merge pull request #3453 from glitch-soc/glitch-soc/merge-upstream
Merge upstream changes up to 4e276e4476
2026-03-22 21:47:22 +01:00
diondiondion
b47f225c79 [Glitch] Add simple language selector to collection editor
Port 806f4f1589 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-20 18:15:44 +01:00
diondiondion
784f0169e2 [Glitch] Implements tag suggestions for collections topic field
Port 8bce0b99d4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-20 18:15:00 +01:00
Echo
781491e643 [Glitch] Profile redesign: Profile tab settings
Port 6507a61d30 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-20 18:14:16 +01:00
Echo
00a423ed2b [Glitch] Profile editing: Use server flag
Port 00bcb014df to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-20 18:04:31 +01:00
Claire
469076c357 Merge commit '4e276e4476c81482143440f1f405479e0e4be7eb' into glitch-soc/merge-upstream 2026-03-20 18:03:14 +01:00
Matt Jankowski
4e276e4476 Use Mention arel/exist in report service scope build-out (#38300) 2026-03-20 16:03:23 +00:00
diondiondion
806f4f1589 Add simple language selector to collection editor (#38316) 2026-03-20 16:02:50 +00:00
renovate[bot]
4ecd75f918 Update dependency ioredis to v5.10.1 (#38299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 15:50:35 +00:00
renovate[bot]
67864ef09f Update dependency test-prof to v1.6.0 (#38291)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 15:50:33 +00:00
renovate[bot]
6a2274b6a4 Update dependency aws-sdk-s3 to v1.217.0 (#38290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 15:50:29 +00:00
renovate[bot]
ec5a0de191 Update dependency aws-sdk-core to v3.244.0 (#38289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 15:50:25 +00:00
renovate[bot]
cb010dbb3c Update dependency hiredis-client to v0.28.0 (#38281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 15:50:22 +00:00
renovate[bot]
2ca61614ce Update dependency core-js to v3.49.0 (#38246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 15:50:19 +00:00
Matt Jankowski
24d3c94f4a Use delegate in web/push_subscription model for token value (#38313) 2026-03-20 15:48:28 +00:00
David Roetzel
7aa696149f Fetch an actor's featured collections (#38306) 2026-03-20 15:34:04 +00:00
diondiondion
8bce0b99d4 Implements tag suggestions for collections topic field (#38307) 2026-03-20 13:48:06 +00:00
Echo
6507a61d30 Profile redesign: Profile tab settings (#38309) 2026-03-20 13:38:10 +00:00
Echo
00bcb014df Profile editing: Use server flag (#38310) 2026-03-20 13:32:48 +00:00
Claire
8f9eba9629 Add more tests around terminating streaming connections (#38301) 2026-03-20 10:00:30 +00:00
David Roetzel
ccf6f16f05 Handle Delete of a FeatureAuthorization (#38292) 2026-03-20 09:51:20 +00:00
github-actions[bot]
d7d8d7f5ab New Crowdin Translations (automated) (#38303)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-20 09:38:52 +00:00
Claire
296bff71c3 Merge pull request #3452 from glitch-soc/glitch-soc/merge-upstream
Merge upstream changes up to 1ee457f2d3
2026-03-20 09:47:44 +01:00
Echo
1e77ebde61 [Glitch] Refactor: Remove Status unsafe lifecycles
Port 605b5b91c9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-19 18:17:52 +01:00
Claire
efac62c156 [Glitch] Split invite_users permission into invite_bypass_approval
Port 1ee457f2d3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-19 18:15:36 +01:00
Claire
291f141a02 Merge commit '1ee457f2d37c2b77a7fbce246a7c72ac9f9d3056' into glitch-soc/merge-upstream 2026-03-19 18:14:55 +01:00
Claire
ae1defcfd1 Merge pull request #3451 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to cffa8de626
2026-03-19 18:14:15 +01:00
Claire
1ee457f2d3 Split invite_users permission into invite_bypass_approval (#38278) 2026-03-19 15:25:54 +00:00
Matt Jankowski
49430b7eea Prefer to_json in backup service (#38297) 2026-03-19 15:14:47 +00:00
renovate[bot]
b5b01bebf2 Update dependency json to v2.19.2 [SECURITY] (#38295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 15:14:42 +00:00
David Roetzel
f43969a0eb New service to fetch remote collections (#38298) 2026-03-19 14:27:02 +00:00
Echo
605b5b91c9 Refactor: Remove Status unsafe lifecycles (#38294) 2026-03-19 14:18:47 +00:00
Echo
d6aee5b21f [Glitch] Refactor: Relative timestamp component
Port cffa8de626 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-19 12:44:07 +01:00
Echo
f2d834c852 [Glitch] Profile redesign: Adjust account number fields to be stacked
Port 2af5c8551d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-19 12:40:08 +01:00
diondiondion
4759142f0e [Glitch] Sign-up server rules: Show different icon on toggle button when description is expanded
Port 43d66959aa to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-19 12:39:41 +01:00
Claire
fac3080289 Merge commit 'cffa8de6267a57673b7f6264fab671153f965d23' into glitch-soc/merge-upstream 2026-03-19 12:38:31 +01:00
Claire
7d827f1db1 Merge pull request #3450 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to db074fc3e2
2026-03-19 12:37:19 +01:00
Echo
cffa8de626 Refactor: Relative timestamp component (#38275) 2026-03-19 11:15:23 +00:00
Echo
2af5c8551d Profile redesign: Adjust account number fields to be stacked (#38283) 2026-03-19 11:04:15 +00:00
diondiondion
43d66959aa Sign-up server rules: Show different icon on toggle button when description is expanded (#38293) 2026-03-19 10:58:59 +00:00
Matt Jankowski
2ce4529e1e Final backup service prep for JSON cleanup (#38284) 2026-03-19 10:20:42 +00:00
renovate[bot]
d4c7ac5cd5 Update opentelemetry-ruby (non-major) (#38273)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 10:14:39 +00:00
renovate[bot]
8c6fdad0ca Update dependency capybara-playwright-driver to v0.5.9 (#38269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 10:12:30 +00:00
renovate[bot]
f5aa8e1b25 Update dependency webmock to v3.26.2 (#38270)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 10:12:26 +00:00
renovate[bot]
71e92ca32a Update dependency libvips to v8.18.1 (#38276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 09:43:56 +00:00
github-actions[bot]
6aedd2f9ec New Crowdin Translations (automated) (#38288)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-19 09:30:49 +00:00
diondiondion
ec940e88df Add missing h1 headings to Reset Password & Resend Confirmation Link pages (#38285) 2026-03-19 08:26:52 +00:00
Claire
d9dbe62417 Fix error when processing Add activity where the target is embedded and not a special collection (#38282) 2026-03-19 08:13:50 +00:00
diondiondion
f4c696af13 [Glitch] Improve accessibility of server rules list in sign-up flow
Port 380b898d0d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-18 18:09:16 +01:00
Claire
842bac86f6 Merge commit 'db074fc3e2b671e28a44ae379e6df1fcbdbbce53' into glitch-soc/merge-upstream 2026-03-18 18:01:57 +01:00
Claire
84c741475e Merge pull request #3449 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to d52d0e4ded
2026-03-18 18:01:10 +01:00
Matt Jankowski
db074fc3e2 Add constant for backup service placeholder (#38280) 2026-03-18 16:22:24 +00:00
diondiondion
380b898d0d Improve accessibility of server rules list in sign-up flow (#38257) 2026-03-18 16:08:23 +00:00
Matt Jankowski
815c2cf8e9 Clean up Webfinger lib spec (#38259) 2026-03-18 13:23:06 +00:00
Matt Jankowski
bd9b24f1ef Prefer rspec-sidekiq matchers over "expect push bulk to match" approach (#38274) 2026-03-18 13:21:54 +00:00
Matt Jankowski
e537292e2a Prefer to_json in self destruct scheduler (#38263) 2026-03-18 13:21:03 +00:00
Claire
c0a8442fd5 Fix stray use of Oj gem in glitch-soc-only migrations 2026-03-18 12:14:54 +01:00
diondiondion
3d913d2bf1 [Glitch] Remove superfluous SCSS imports file
Port 11112fa9dc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-18 12:03:47 +01:00
Claire
b305b3b2db Fix stray glitch-soc-only use of Oj gem 2026-03-18 12:02:13 +01:00
Claire
2b0531914f Merge commit 'd52d0e4dedcc4c8ca12781681debe68f77c007e2' into glitch-soc/merge-upstream 2026-03-18 12:01:23 +01:00
Claire
d52d0e4ded Update dependency action_text-trix (#38271) 2026-03-18 10:11:05 +00:00
Matt Jankowski
b497bb2908 Normalize current_username on account redirect form (#38262) 2026-03-18 09:33:00 +00:00
github-actions[bot]
5e7f221cab New Crowdin Translations (automated) (#38267)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-18 09:17:33 +00:00
Matt Jankowski
e839a94b93 Use with_index iterator in backup service (#38264) 2026-03-18 09:11:14 +00:00
Nicholas La Roux
36400681cf Remove oj and its initializer and add json to the Gemfile (#37752) 2026-03-18 09:02:11 +00:00
Claire
5a1e9a6f5e Merge pull request #3448 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to b320c9e4c9
2026-03-17 20:34:40 +01:00
Itoh Shimon
984e9f4e83 [Glitch] Fix vertically written textareas
Port efa76ace8a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-17 18:59:21 +01:00
diondiondion
a6a013c21b [Glitch] Improve accessibility of sign-up progress indicator
Port 75c4ff35d2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-17 18:59:01 +01:00
Claire
3593ddff11 Merge commit 'b320c9e4c901bf99ccbca321bad2ceb2f51de140' into glitch-soc/merge-upstream 2026-03-17 18:58:19 +01:00
diondiondion
5b9cb55701 [Glitch] Revamp heading levels in settings & admin pages
Port 68984de5b5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-17 18:55:35 +01:00
Claire
bd9e7d6060 Merge commit '68984de5b503791b814d81a85520af256bf43e11' into glitch-soc/merge-upstream
Conflicts:
- `app/views/admin/settings/discovery/show.html.haml`:
  Glitch-soc has an extra setting textually adjacent to a line upstream has changed.
  Applied upstream's change while keeping glitch-soc's setting.
2026-03-17 18:53:00 +01:00
Claire
348a7a628f Merge pull request #3447 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to c37bc5a8a9
2026-03-17 18:50:00 +01:00
diondiondion
11112fa9dc Remove superfluous SCSS imports file (#38261) 2026-03-17 17:39:21 +00:00
Claire
04bf07a9cf Merge commit 'c37bc5a8a94758e19b2d50db5e7816a96cec5cf4' into glitch-soc/merge-upstream 2026-03-17 18:01:07 +01:00
Claire
dfccf6423c Merge pull request #3445 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 16c41e035b
2026-03-17 18:00:23 +01:00
Matt Jankowski
b320c9e4c9 Prefer to_json over JSON.generate when simple strings in stub request (#38258) 2026-03-17 16:10:54 +00:00
David Roetzel
f3035a8e51 Handle Reject of a FeatureRequest (#38256) 2026-03-17 15:59:51 +00:00
Matt Jankowski
90840b3ede Rename deprecated ffmpeg vsync arg to fps_mode (#38198) 2026-03-17 15:44:50 +00:00
Itoh Shimon
efa76ace8a Fix vertically written textareas (#38205) 2026-03-17 15:43:49 +00:00
Matt Jankowski
9c4a072adf Add missing require rails helper to recent moved files (#38254) 2026-03-17 15:16:32 +00:00
David Roetzel
96c93ba835 Only persist a collection item's approval URI once it is verified (#38255) 2026-03-17 15:14:30 +00:00
Matt Jankowski
b9d25bde3e Convert mix of JSON.parse and JSON.load_file (#38242) 2026-03-17 13:27:57 +00:00
Matt Jankowski
4d33490ec8 Update chewy to version 8.0.1 (#37983) 2026-03-17 13:27:37 +00:00
renovate[bot]
3d4364a2a6 Update dependency pg to v8.20.0 (#38076)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 13:21:36 +00:00
diondiondion
75c4ff35d2 Improve accessibility of sign-up progress indicator (#38252) 2026-03-17 12:44:40 +00:00
David Roetzel
5f36c482d2 Handle Accept of a FeatureRequest (#38251) 2026-03-17 11:45:00 +00:00
diondiondion
68984de5b5 Revamp heading levels in settings & admin pages (#38230) 2026-03-17 10:32:24 +00:00
Matt Jankowski
c37bc5a8a9 Update model-concern-related spec locations for consistency (#38200) 2026-03-17 09:50:32 +00:00
github-actions[bot]
75c5f30556 New Crowdin Translations (automated) (#38247)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-17 09:36:34 +00:00
renovate[bot]
089eeffc9e Update dependency rollup-plugin-gzip to v4.2.0 (#38209)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 09:25:09 +00:00
renovate[bot]
4b6f0cd5c5 Update dependency jsdom to v29 (#38210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 09:25:04 +00:00
renovate[bot]
2f23d1acb9 Update dependency devise to v5.0.3 (#38245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 09:08:01 +00:00
Matt Jankowski
f07e84f9de Rescue JSON::ParserError where already converted (#38244) 2026-03-17 08:57:10 +00:00
Echo
938f53a624 [Glitch] Profile editing: Finish image editing
Port 4328807f28 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-16 18:31:24 +01:00
Echo
59879b7a61 [Glitch] Profile editing: Uploading avatar and header images
Port 21c27eb3af to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-16 18:30:43 +01:00
Matt Jankowski
f5619fc8bc Use JSON.generate in db migrations (#38241) 2026-03-16 17:26:35 +00:00
Matt Jankowski
653161fecc Convert remaining JSON.generate (#38240) 2026-03-16 17:18:16 +00:00
Claire
73f77c49d8 Merge commit '16c41e035bdd6e08927c950aeeb5332adbe8b6d5' into glitch-soc/merge-upstream
Conflicts:
- `lib/mastodon/version.rb`:
  Upstream bumped the Mastodon API version, glitch-soc has an extra glitch version.
  Bumped the Mastodon API version as upstream did.
2026-03-16 18:16:56 +01:00
Claire
b1942f4f43 Merge pull request #3444 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9c8be1e721
2026-03-16 18:02:39 +01:00
Matt Jankowski
16c41e035b Use JSON.parse in AP inboxes (#38238) 2026-03-16 16:58:13 +00:00
Matt Jankowski
3832030711 Convert Oj.load -> JSON.parse in most places (#38236) 2026-03-16 16:38:19 +00:00
Matt Jankowski
0e14224eaf Use JSON.parse in user settings (#38237) 2026-03-16 16:08:17 +00:00
Echo
4328807f28 Profile editing: Finish image editing (#38235) 2026-03-16 15:56:30 +00:00
Matt Jankowski
703f2d0263 Use implicit to_json call in app/services (#38225) 2026-03-16 15:17:57 +00:00
Matt Jankowski
8792d6f840 Use JSON.generate in trivial string/hash conversion in specs (#38224) 2026-03-16 15:16:43 +00:00
Matt Jankowski
f460ad611a Use to_json call in web/push notification worker (#38233) 2026-03-16 15:12:38 +00:00
Matt Jankowski
0c75e97345 Use JSON.generate in backup service (#38234) 2026-03-16 15:10:10 +00:00
Matt Jankowski
6b1eac8865 Use to_json call for Relay enable/disable (#38232) 2026-03-16 15:09:28 +00:00
Matt Jankowski
092acbd47b Use to_json call for pins API (#38231) 2026-03-16 15:06:22 +00:00
Matt Jankowski
968ce25c39 Use to_json call for worker payloads (#38228) 2026-03-16 14:49:21 +00:00
Matt Jankowski
d9cd65f039 Use to_json call for AP::QuoteRequest accept/reject paths (#38229) 2026-03-16 14:49:09 +00:00
Matt Jankowski
70230c632c Use to_json call for AP::Follow reject path (#38227) 2026-03-16 14:40:51 +00:00
Matt Jankowski
8ed13bc6f7 Use to_json call for accounts API (#38226) 2026-03-16 14:40:03 +00:00
Matt Jankowski
7933fa4f94 Use to_json call in donation campaigns (#38223) 2026-03-16 14:32:05 +00:00
Matt Jankowski
c05492ed5a Use JSON.generate call for fan out service (#38222) 2026-03-16 14:31:58 +00:00
Claire
b7246518bf Add avatar_description and header_description parameters to PATCH /api/v1/profile (#38221) 2026-03-16 14:04:25 +00:00
Matt Jankowski
8124f1581a Use to_json call in cli/domains (#38219) 2026-03-16 14:03:20 +00:00
Matt Jankowski
1a464bc5ed Use to_json in simple view hash data-props build locations (#38218) 2026-03-16 14:02:52 +00:00
Matt Jankowski
330357507d Use to_json call for webhook service (#38217) 2026-03-16 14:01:37 +00:00
Matt Jankowski
638429037f Use to_json call for libre translate api (#38216) 2026-03-16 13:58:39 +00:00
Matt Jankowski
6044219746 Use to_json call for raw event strings (#38215) 2026-03-16 13:55:58 +00:00
Matt Jankowski
f9b2dffaa8 Use JSON.generate call in push update worker (#38208) 2026-03-16 13:55:53 +00:00
Echo
21c27eb3af Profile editing: Uploading avatar and header images (#38189) 2026-03-16 11:39:52 +00:00
Claire
4359098740 Merge commit '9c8be1e72146af247e2b6cdae6e1d37371506569' into glitch-soc/merge-upstream 2026-03-16 12:17:49 +01:00
renovate[bot]
9c8be1e721 Update dependency immutable to v4.3.8 [SECURITY] (#38073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 11:03:13 +00:00
David Roetzel
12c63a382c Handle adding already approved collection items (#38213) 2026-03-16 10:35:07 +00:00
Claire
62b90d73d7 Fixes some model definitions in tootctl maintenance fix-duplicates (#38214) 2026-03-16 10:00:08 +00:00
Claire
5521aac4ab Fix hashtags preceded by non-break spaces not being processed as such (#38212) 2026-03-16 09:39:18 +00:00
David Roetzel
c993daa347 Start of handling FeatureRequest activities (#38193) 2026-03-16 09:04:28 +00:00
Matt Jankowski
8d5d66ecfc Remove unused react component helper method (#38207) 2026-03-16 09:02:21 +00:00
Matt Jankowski
e2bf09d57d Add timestamp spec for markers API response (#38206) 2026-03-16 08:48:10 +00:00
David Roetzel
2f989c780a Reinstate action logging (#38211) 2026-03-16 08:42:06 +00:00
Matt Jankowski
f561014aa8 Make use of email_domain in sign up approval check (#38199) 2026-03-16 08:34:18 +00:00
github-actions[bot]
5b6b86c97c New Crowdin Translations (automated) (#38201)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-16 08:26:09 +00:00
Matt Jankowski
a9c248f14f Limit email domain block variant query to unique values (#38196) 2026-03-16 08:11:32 +00:00
renovate[bot]
e7cb3af15f Update dependency aws-sdk-s3 to v1.216.0 (#38187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 08:11:11 +00:00
renovate[bot]
10624ecce6 Update dependency oj to v3.16.16 (#38186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 08:11:06 +00:00
Claire
ad0a7f83f0 Merge pull request #3441 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 89b7a3d7fb
2026-03-14 12:55:51 +01:00
diondiondion
39f1861252 [Glitch] A11y improvements on login & settings pages
Port 89b7a3d7fb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-14 11:51:20 +01:00
Echo
334188b4fc [Glitch] Adds a range selector component
Port d26269d68b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-14 11:49:27 +01:00
Echo
a78119d8d3 [Glitch] Fix incorrect SASS addition
Port 91407ecc15 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-14 11:48:14 +01:00
diondiondion
8ec882df0c [Glitch] Allow displaying field status (error, warning, info) under form fields
Port 890b2673fc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-14 11:43:31 +01:00
Claire
3afb58ad18 Merge commit '89b7a3d7fb73ba79d33cab9755424b4aa2050b1b' into glitch-soc/merge-upstream 2026-03-14 11:41:24 +01:00
diondiondion
89b7a3d7fb A11y improvements on login & settings pages (#38188) 2026-03-13 17:14:04 +00:00
Matt Jankowski
ec0e78f128 Add coverage for rewrite with vary username paths (#38197) 2026-03-13 16:54:57 +00:00
Echo
d26269d68b Adds a range selector component (#38191) 2026-03-13 14:28:39 +00:00
Echo
91407ecc15 Fix incorrect SASS addition (#38194) 2026-03-13 14:21:39 +00:00
diondiondion
890b2673fc Allow displaying field status (error, warning, info) under form fields (#38175) 2026-03-13 13:55:17 +00:00
renovate[bot]
fdbc3c8a16 Update dependency sass to v1.98.0 (#38142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 13:21:45 +00:00
github-actions[bot]
3a2613a3e8 New Crowdin Translations (automated) (#38185)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-13 09:33:06 +00:00
Matt Jankowski
6416724f75 Normalize current_username on account migration (#38183) 2026-03-13 09:33:02 +00:00
Claire
1b49ef10d2 Merge pull request #3440 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 377952703c
2026-03-12 20:12:20 +01:00
Claire
208b556c18 Merge commit '377952703cf70f14008cc7938479558d8cca9903' into glitch-soc/merge-upstream 2026-03-12 19:03:08 +01:00
Claire
d099de23c5 Merge commit 'bf32befcc21831b31f684795bb211b2f1f4cfb6d' into glitch-soc/merge-upstream
Conflicts:
- `app/models/status.rb`:
  Upstream reordered model annotations, while glitch-soc has extra columns.
  Reordered as upstream did.
- `app/models/status_edit.rb`:
  Upstream reordered model annotations, while glitch-soc has extra columns.
  Reordered as upstream did.
2026-03-12 19:01:28 +01:00
Echo
a7974df51a [Glitch] Profile editing: Edit image menu
Port 420136e83b to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-12 18:53:39 +01:00
diondiondion
ba7db10fd0 [Glitch] Fix extra border on accounts in settings page
Port 13c94db9e7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-12 18:51:04 +01:00
Eugen Rochko
263615b74f [Glitch] Change order of onboarding steps
Port 51894ac247 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-12 18:50:13 +01:00
Claire
3833eadfbf Merge commit 'adede83c7c9a943cf9954fe865becf6a0c2d2280' into glitch-soc/merge-upstream 2026-03-12 18:48:32 +01:00
David Roetzel
377952703c Add serializers for Accept+Reject of feature requests (#38177) 2026-03-12 15:46:36 +00:00
renovate[bot]
7511357ec6 Update opentelemetry-ruby (non-major) (#38138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-12 14:09:17 +00:00
Nicholas La Roux
21a8ff5351 Upgrade from Ruby 3.4.8 to 3.4.9 (#38154) 2026-03-12 14:04:35 +00:00
Matt Jankowski
7778db1418 Truncate unsupported/EOL version changelogs (#38173) 2026-03-12 14:04:21 +00:00
Matt Jankowski
bf32befcc2 Run annotaterb models after bug fix to re-order model comments (#38172) 2026-03-12 14:00:41 +00:00
Echo
adede83c7c Updates to latest Material Icons (#38171) 2026-03-12 11:17:43 +00:00
David Roetzel
eeed483518 Handle Remove of an individual collection item (#38170) 2026-03-12 11:11:39 +00:00
Echo
420136e83b Profile editing: Edit image menu (#38156)
Co-authored-by: diondiondion <mail@diondiondion.com>
2026-03-12 10:42:29 +00:00
David Roetzel
353c8b2abf Handle Remove activity on featuredCollections (#38169) 2026-03-12 10:37:53 +00:00
diondiondion
13c94db9e7 Fix extra border on accounts in settings page (#38168) 2026-03-12 10:19:06 +00:00
Hugo Gameiro
4552cda15a Fix OpenStack Swift Keystone token rate limiting (#38145) 2026-03-12 10:15:49 +00:00
David Roetzel
94aa5d7c9e Handle Add activity to featuredCollections (#38167) 2026-03-12 10:14:22 +00:00
github-actions[bot]
7f9df6d02d New Crowdin Translations (automated) (#38164)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-12 09:53:59 +00:00
Matt Jankowski
2330f11cad Remove unused @markdown from user mailer terms action (#38160) 2026-03-12 09:22:56 +00:00
David Roetzel
84d8020165 Store a remote actor's featuredCollections URI (#38166) 2026-03-12 09:11:32 +00:00
Eugen Rochko
51894ac247 Change order of onboarding steps (#38121) 2026-03-11 21:07:31 +00:00
Claire
3492283a9e Merge pull request #3439 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 811575a109
2026-03-11 19:35:19 +01:00
diondiondion
979ef236ca [Glitch] Collection editor: Format topic as hashtag
Port 3ef7d2835a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-11 18:55:45 +01:00
Echo
99b43f225c [Glitch] Profile editing: Always show field buttons
Port 4a08ab64d1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-11 18:55:18 +01:00
diondiondion
18aefaea62 [Glitch] Refactor collection editor state handling
Port 20932752fe to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-11 18:54:52 +01:00
Echo
006b06199f [Glitch] Profile editing: Add warning for links
Port 12c6c6dcf9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-11 18:54:22 +01:00
Echo
3ed3ce4e05 [Glitch] Profile editing: Fix bug with reordering
Port f971670c62 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-11 18:53:42 +01:00
Claire
0dddc44eb5 [Glitch] Add fallback to Object intent for FEP-3b86 in remote interaction helper
Port 9916c786e6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-11 18:53:10 +01:00
diondiondion
a76ee2e233 [Glitch] Prevent hover card from showing unintentionally
Port 316290ba9d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-11 18:52:39 +01:00
Claire
b5222606e3 Merge commit '811575a10903cada549580979cc809ca98ad570c' into glitch-soc/merge-upstream 2026-03-11 18:50:59 +01:00
Matt Jankowski
811575a109 Use bundler version 4.0.8 (#38150) 2026-03-11 17:11:28 +00:00
Matt Jankowski
0a216003ff Disable use_multi_json for json validator / match_json_schema (#38151) 2026-03-11 17:11:00 +00:00
diondiondion
3ef7d2835a Collection editor: Format topic as hashtag (#38153) 2026-03-11 17:04:37 +00:00
David Roetzel
3091e2e525 Ingestion of remote collections (#38144) 2026-03-11 14:29:00 +00:00
Echo
4a08ab64d1 Profile editing: Always show field buttons (#38152) 2026-03-11 13:52:44 +00:00
diondiondion
20932752fe Refactor collection editor state handling (#38133) 2026-03-11 13:20:56 +00:00
Echo
12c6c6dcf9 Profile editing: Add warning for links (#38148) 2026-03-11 13:19:39 +00:00
Echo
f971670c62 Profile editing: Fix bug with reordering (#38147) 2026-03-11 12:09:54 +00:00
renovate[bot]
da4b717211 Update dependency rspec-rails to v8.0.4 (#38146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 10:53:38 +00:00
Matt Jankowski
dc004caf71 Convert attempt IP from EmailDomainBlock history tracking to string before recording (#38137) 2026-03-11 10:49:07 +00:00
Matt Jankowski
d047a10cf5 Use around_action to set locale in admin/notification mailers (#38140) 2026-03-11 10:18:24 +00:00
github-actions[bot]
d39f867931 New Crowdin Translations (automated) (#38143)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-11 10:16:06 +00:00
renovate[bot]
68f4fe7425 Update dependency fastimage to v2.4.1 (#38135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-11 10:05:54 +00:00
Matt Jankowski
53f4d7f029 Update RemoteIp patch with Rails 8.1 changes (#38139) 2026-03-11 09:51:49 +00:00
Claire
32fc5304a7 Change HTTP signatures to skip the Accept header (#38132) 2026-03-11 09:49:52 +00:00
Claire
9916c786e6 Add fallback to Object intent for FEP-3b86 in remote interaction helper (#38130) 2026-03-11 09:42:24 +00:00
diondiondion
316290ba9d Prevent hover card from showing unintentionally (#38112) 2026-03-11 07:42:36 +00:00
Claire
9602f6fcc3 Merge pull request #3437 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 64629eadb7
2026-03-10 18:46:37 +01:00
Duarte Serrano
42716c94bf [Glitch] Fix short numbers rounding up instead of truncating (#37899)
Port 75ef5bfd2d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-10 18:12:54 +01:00
Eugen Rochko
4150cee7a5 [Glitch] Add support for FEP-3b86 (Activity Intents)
Port 69b1f60f4e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-10 18:12:54 +01:00
diondiondion
19a8c80762 [Glitch] Fix collections not shown on profile when there are no featured tags or accounts
Port 7d58ce309c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-10 18:12:54 +01:00
diondiondion
7e57d00af6 [Glitch] Fix erratic scroll-to-right on delete & redraft in Advanced UI
Port 71f9763e68 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-10 18:12:54 +01:00
Claire
5fdcac60b9 Merge commit '64629eadb71afab79a741b016dc56a8bdf1d46f2' into glitch-soc/merge-upstream 2026-03-10 18:04:32 +01:00
Matt Jankowski
64629eadb7 Do not prepare returning user for unpersisted records (#38136) 2026-03-10 16:37:59 +00:00
David Roetzel
3b6d94ce62 Add column for html descriptions of collections (#38124) 2026-03-10 14:54:38 +00:00
Matt Jankowski
f6ea52e822 Add InstancesIndex coverage (#38129) 2026-03-10 14:45:17 +00:00
Andy Piper
c6322d8007 Update contributing docs (#38125)
Signed-off-by: Andy Piper <andypiper@users.noreply.github.com>
2026-03-10 12:53:20 +00:00
Duarte Serrano
75ef5bfd2d Fix short numbers rounding up instead of truncating (#37899) (#38114) 2026-03-10 11:28:44 +00:00
Eugen Rochko
69b1f60f4e Add support for FEP-3b86 (Activity Intents) (#38120) 2026-03-10 10:21:24 +00:00
diondiondion
7d58ce309c Fix collections not shown on profile when there are no featured tags or accounts (#38113) 2026-03-10 10:02:03 +00:00
github-actions[bot]
b64bed5acd New Crowdin Translations (automated) (#38122)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-10 10:01:38 +00:00
Matt Jankowski
cec60d5b71 Clean up search tagged specs (#38085) 2026-03-10 09:46:03 +00:00
Claire
bbd88f0b9b Merge pull request #3436 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1d46558e8d
2026-03-09 23:41:12 +01:00
diondiondion
71f9763e68 Fix erratic scroll-to-right on delete & redraft in Advanced UI (#38116) 2026-03-09 17:42:54 +00:00
Claire
8d717ab161 Merge commit '1d46558e8d949860acc4f3a86516b9989bd74f79' into glitch-soc/merge-upstream
Conflicts:
- `spec/controllers/application_controller_spec.rb`:
  Upstream moved specs that were textually-adjacent to glitch-soc ones.
  Kept the glitch-soc ones.
2026-03-09 18:14:15 +01:00
Claire
9d805196a7 Merge pull request #3432 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to e235c446c9
2026-03-09 18:12:07 +01:00
David Roetzel
1d46558e8d Ingestion of remote collection items (#38106) 2026-03-09 14:59:57 +00:00
diondiondion
e616200e59 [Glitch] Allow removing yourself from a collection
Port 3a796544e3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-09 12:42:58 +01:00
Claire
4bcd0caa79 Merge commit 'e235c446c96280c015fb27f7eefe4e95a5a39892' into glitch-soc/merge-upstream 2026-03-09 12:41:12 +01:00
Matt Jankowski
2c6d072175 Extract ErrorResponses from application controller (#38105) 2026-03-09 11:30:41 +00:00
Claire
e235c446c9 Fix broken option defaults in tootctl email-domain-blocks (#38107) 2026-03-09 11:26:16 +00:00
renovate[bot]
4211b1b34c Update dependency faker to v3.6.1 (#38074)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 10:47:20 +00:00
Matt Jankowski
73d97153d8 Update connection_pool to version 3.0.2 (#38103) 2026-03-09 10:01:48 +00:00
Matt Jankowski
fcc3fac8a8 Fix Style/ReduceToHash cop (#38088) 2026-03-09 10:01:12 +00:00
diondiondion
3a796544e3 Allow removing yourself from a collection (#38096) 2026-03-09 09:54:17 +00:00
github-actions[bot]
5838fce8f4 New Crowdin Translations (automated) (#38100)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-09 09:50:28 +00:00
Matt Jankowski
3b1705a406 Add TermsOfService#usable_effective_date to DRY up view logic (#38095) 2026-03-09 09:38:00 +00:00
renovate[bot]
d7a1bead51 Update dependency aws-sdk-s3 to v1.215.0 (#38067)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 09:35:20 +00:00
Matt Jankowski
eabbda3148 Fix Style/SelectByKind cop (#38084) 2026-03-09 09:34:58 +00:00
renovate[bot]
5090036edf Update dependency hiredis-client to v0.27.0 (#38092)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 09:34:19 +00:00
renovate[bot]
6a6a97f314 Update dependency json-schema to v6.2.0 (#38093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 09:34:01 +00:00
Matt Jankowski
2ad0b32dd5 Add basic ES-enabled index/service coverage (#38097) 2026-03-09 09:31:56 +00:00
Claire
44f4f73ad2 Merge pull request #3431 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to eb848d082a
2026-03-07 18:14:15 +01:00
Echo
f4fb7d6b7a [Glitch] Profile editing: Rearranging and adding fields
Port eb848d082a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-07 17:30:14 +01:00
Claire
a4af7a531d Merge commit 'eb848d082afc8864b2aa15858f414e4867902c65' into glitch-soc/merge-upstream 2026-03-07 17:29:09 +01:00
Claire
7e7a8cea52 Merge pull request #3430 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 3d8d5f6dc7
2026-03-06 14:27:16 +01:00
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
diondiondion
c56496d22e [Glitch] Remove minimum account limit on collections
Port 3d8d5f6dc7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-05 18:46:34 +01:00
diondiondion
141cd0a741 [Glitch] Hide account list in sensitive collections
Port 3557be5d4d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-05 18:46:34 +01:00
Echo
7575226495 [Glitch] Profile editing: Custom fields (deleting, editing)
Port dae0926c1f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-05 18:46:34 +01:00
Claire
fa3794ea27 [Glitch] Fix “Unblock” and “Unmute” actions being disabled when blocked
Port dd27c7b917 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-05 18:46:34 +01:00
diondiondion
b6774279bd [Glitch] Add "Collections" link to main navigation
Port 748dbf3217 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-05 18:46:31 +01:00
Matt Jankowski
812c109e87 Remove message argument from NoteLengthValidator error approach (#37977) 2026-03-05 17:44:52 +00:00
Claire
0a989af8c6 Merge commit '3d8d5f6dc7625d9638cc2e3387247442225d4e3f' into glitch-soc/merge-upstream 2026-03-05 18:21:07 +01: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
4a22dd3605 Merge pull request #3429 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to a70079968c
2026-03-04 19:57:49 +01:00
Claire
8287661a0b Fix unnecessary difference with upstream 2026-03-04 19:01:19 +01:00
ThibG
6e6036af14 [Glitch] Fix “X new items” not showing up for slow mode on empty timelines
Port 2d5addde03 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-04 19:00:43 +01:00
diondiondion
8384961937 [Glitch] Break ScrollableList component into parts
Port a70079968c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-04 18:53:57 +01:00
Echo
2e4f8c3704 [Glitch] Emoji text input and character counter components
Port 3fbb7424fa to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-04 18:49:29 +01: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
Claire
753e4bee8d Merge commit 'a70079968c55891e387b1c1e524bb314b9dfb033' into glitch-soc/merge-upstream 2026-03-04 18:40:39 +01:00
Claire
8d836e0a49 Merge commit 'a89754f28847ebccee36fab248537d5f49f37024' into glitch-soc/merge-upstream
Conflicts:
- `db/schema.rb`:
  Upstream re-generated the file, which reordered all the definitions.
  Re-generated the files as well.
2026-03-04 18:39:00 +01:00
Claire
96e4d1d821 Merge pull request #3428 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 8a0261c51c
2026-03-04 18:35:14 +01: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
diondiondion
0ae3733a22 [Glitch] Fix local collection link resulting in error page
Port d0e7692d79 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-04 12:41:28 +01:00
diondiondion
3fecef0bb1 [Glitch] Profile redesign: Fix timeline filter button color on Safari iOS
Port c0b2286871 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-04 12:41:09 +01:00
Claire
c96db36396 Merge commit '8a0261c51caf76b6d12e3801da471759c31c9608' into glitch-soc/merge-upstream 2026-03-04 12:40:16 +01: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
github-actions[bot]
b12429e41c New Crowdin translations (#3424)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-03-03 19:30:59 +01:00
Claire
551da3a300 Merge pull request #3427 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to a3aeae0288
2026-03-03 19:30:34 +01: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
diondiondion
8b2e8e7b58 [Glitch] Prevent hover card from showing on touch devices
Port de4ee8565c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-03 18:27:26 +01:00
diondiondion
5f710e3edc [Glitch] Convert ColumnsArea component to TS
Port 1d21d9d4c2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-03 18:27:06 +01:00
diondiondion
a4b7c9f933 [Glitch] Anchor post navigation via hotkeys to top of viewport
Port 6e5aa00436 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-03 18:20:50 +01:00
Claire
45b87f31ff Merge commit 'a3aeae02885408381c7c1f3f6a0cc88799823409' into glitch-soc/merge-upstream 2026-03-03 18:12:16 +01: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
Claire
4298b7d57a Merge pull request #3426 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 74b3b6c798
2026-03-02 19:20:04 +01:00
Claire
d2f5feb25f Fix linting issue 2026-03-02 18:59:32 +01:00
Echo
54cfc49b42 [Glitch] Profile editing: Allow adding arbitrary featured tags
Port 74b3b6c798 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-02 18:48:31 +01:00
diondiondion
fe7dc293c4 [Glitch] Collection share modal cleanup
Port 03b2f77ad2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-02 18:48:31 +01:00
David Roetzel
26ce025df1 [Glitch] Change cursor to make clear summary is clickable
Port ceaadc791e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-02 18:48:31 +01:00
diondiondion
5cfbb5b359 [Glitch] Add "skip to content", "skip to navigation" links
Port 816e63d2a5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-02 18:48:31 +01:00
Antoine Cellerier
739c35811e [Glitch] Add g+e keyboard shortcut for /explore (trending)
Port 87004ddb96 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-03-02 18:15:16 +01:00
Claire
1b92ac0729 Merge commit '74b3b6c798d1f137947e80df8eefb7412e70febd' into glitch-soc/merge-upstream 2026-03-02 18:11:45 +01:00
Claire
b55936be7e Merge pull request #3425 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 2f65701920
2026-03-02 18:11:05 +01: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
Claire
799bd69189 Merge commit '2f657019201d73c9d86d1ece339e66e72954f0eb' into glitch-soc/merge-upstream
Conflicts:
- `app/views/admin/custom_emojis/new.html.haml`:
  Upstream refactored a line adjacent to a glitch-soc modified line.
  Ported upstream changes.
2026-03-02 12:19:02 +01: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
Claire
c93ebf971b Merge pull request #3423 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 7f16397f3c
2026-03-01 11:49:45 +01:00
Dock
d6fa72cfdf [Glitch] Fix avatar alt-text running into other elements on image load failure
Port 3c8e37907d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-27 21:35:02 +01:00
Echo
310acf113b [Glitch] Profile redesign: Profile fields feedback
Port 1e5cad072e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-27 21:34:07 +01:00
Echo
398806a2b0 [Glitch] Profile editing: Tab display controls
Port d69d7c0507 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-27 21:33:31 +01:00
diondiondion
9ed23cc8b2 [Glitch] Add share dialog for collections
Port 7970eb392a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-27 21:31:10 +01:00
Claire
0e1ea3110e Merge commit '7f16397f3c37a8e378239974b73afbfe2b6e6844' into glitch-soc/merge-upstream
Conflicts:
- `lib/mastodon/version.rb`:
  Upstream bumped the mastodon API version, glitch-soc has a change on an adjacent
  line adding a glitch API version.
2026-02-27 21:25:37 +01: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
Claire
36c0f3701e Merge pull request #3422 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to bca57020a0
2026-02-26 18:59:01 +01:00
diondiondion
7970eb392a Add share dialog for collections (#37986) 2026-02-26 17:45:09 +00:00
Echo
836c41728d [Glitch] Profile redesign: Fix fields in Chromium
Port bca57020a0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-26 18:31:11 +01:00
Echo
49bed149df [Glitch] Profile editing: Utilize new API
Port d18a47b6a7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-26 18:30:49 +01:00
Claire
dc27eccc8e Merge commit 'bca57020a04c552a3c91912a0e0b69ddafaad06a' into glitch-soc/merge-upstream 2026-02-26 18:27:02 +01: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
b2d10eab3b Merge pull request #3421 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 4d2a148ccb
2026-02-25 19:45:52 +01:00
Claire
2a60f6fb7c [Glitch] Fix profile redesign profile fields gap
Port 4d2a148ccb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-25 19:12:55 +01:00
Echo
7c631b9ffb [Glitch] Profile redesign: Account fields grid
Port dcbf7ab8dc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-25 19:11:38 +01:00
Claire
f6d6dc2605 [Glitch] Fix username availability check being wrongly applied on race conditions
Port ea34d35b32 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-25 19:11:38 +01:00
diondiondion
ae6dbbcc53 [Glitch] Display public collections on profile "Featured tab"
Port 440466c246 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-25 19:11:38 +01:00
diondiondion
83b4a7845c [Glitch] Add collection report modal
Port 919b1e69b8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-25 19:11:38 +01:00
Claire
e3cb4dea42 Merge commit '4d2a148ccbedc818c98fd712a0b44869c1019321' into glitch-soc/merge-upstream 2026-02-25 19:11:22 +01: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
Claire
c857c91508 Merge pull request #3420 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1e87bd178d
2026-02-24 15:54:29 +01: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
c15c49b5b6 Merge commit '1e87bd178d96ab7d760f019fcf651ecc1585e701' into glitch-soc/merge-upstream 2026-02-24 15:14:25 +01:00
Claire
1e87bd178d Bump version to v4.5.7 (#37965) 2026-02-24 13:54:33 +00:00
Claire
c7338bb819 Merge pull request #3416 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 3ed16489d0
2026-02-24 13:06:06 +01:00
Echo
2369b90673 [Glitch] Profile editing: Add singular to translated string
Port 3ed16489d0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-24 12:02:44 +01:00
Claire
5a5560ca45 Merge commit '3ed16489d05d701e62be5038adbe2891c1a3ac1d' into glitch-soc/merge-upstream
Conflicts:
- `yarn.lock`:
  Upstream dependency updated textually adjacent to glitch-soc dependency
2026-02-24 12:01:25 +01: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
Claire
261c6540f7 Merge pull request #3414 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to ef6405ab28
2026-02-23 20:55:20 +01:00
Echo
ff7c61b82c [Glitch] Profile editing: Featured tags
Port ef6405ab28 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-23 18:34:58 +01:00
David Roetzel
7309703de4 [Glitch] Collapse posts/collections in moderation interface
Port e2aecd040c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-23 18:27:09 +01:00
diondiondion
25e1ade5e2 [Glitch] Allow displaying icon in TextInput component
Port e0cc3a30ef to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-23 18:22:46 +01:00
diondiondion
8ced537389 [Glitch] Fix overly large avatars in report modal
Port f9c18ba170 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-23 18:21:22 +01:00
Claire
3508c8b2f6 Merge commit 'ef6405ab28e02686c0c9aa69d77eb43909be5f6f' into glitch-soc/merge-upstream 2026-02-23 18:20:47 +01: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
Claire
76ce42bef3 Add back follow relationship badge on redesigned profiles (#3413) 2026-02-20 21:44:17 +01:00
Claire
bfbe73f127 Merge pull request #3412 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 6ba6285a73
2026-02-20 21:29:01 +01:00
diondiondion
29e6db98f2 [Glitch] Collection accounts editor: Show info badge on accounts that haven't posted in over a week
Port 3d33294870 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-20 21:09:05 +01:00
diondiondion
c16cbb98e5 [Glitch] Require following accounts before being able to add them to a collection
Port 68a7cd404d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-20 21:08:41 +01:00
Claire
85f72a3940 Merge commit '6ba6285a73c3a8b281123814d45f534e3bcebb96' into glitch-soc/merge-upstream 2026-02-20 21:08:06 +01:00
Claire
200b1adec0 Merge pull request #3411 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to e24737c612
2026-02-20 21:07:27 +01:00
Claire
3a1e3d7413 Fix formatting issues, remove unused JS script 2026-02-20 20:47:50 +01:00
Claire
d7d102e68f Merge commit 'e24737c612730fd865f62905484dbfa25b82d27e' into glitch-soc/merge-upstream
Conflicts:
- `.prettierignore`:
  Upstream removed it, replaced by `.oxfmtrc.json`.
  We had glitch-specific files in there.
  Updated `.oxfmtrc.json` accordingly and removed `.prettierignore`.
- `config/formatjs-formatter.js`:
  Upstream switched to `oxfmt` from `prettier`, and some rules are slightly different.
  Glitch-soc had extra code in there.
  Reformatted appropriately.
- `eslint.config.mjs`:
  Upstream moved some configuration from `eslint.config.mjs` to `.oxfmtrc.json` where
  glitch-soc had slightly different configuration.
  Removed it from `eslint.config.mjs` as well and updated `.oxfmtrc.json` accordingly.
- `package.json`:
  Upstream changed script definitions textually adjacent to one that we have modified.
  Applied upstream's change, keeping the textually adjacent modified script intact.
2026-02-20 20:32:58 +01: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
Claire
754ad33640 Merge pull request #3410 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 8e7c3973dc
2026-02-19 23:31:51 +01:00
Echo
d7bbe9c451 [Glitch] Remove conditional check for timeline data
Port 8e7c3973dc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-19 22:04:28 +01:00
diondiondion
5c47ed2d47 [Glitch] Only suggest discoverable accounts in collection account editor
Port 39ff07bc89 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-19 22:04:05 +01:00
diondiondion
79fba522e1 [Glitch] Merge collection settings into single editor page
Port c118ff708f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-19 22:02:44 +01:00
Echo
3ac5b10dec [Glitch] Profile editing: Name and bio
Port ed4787c1b1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-19 21:53:24 +01:00
Claire
eebed16f59 Merge commit '8e7c3973dc67835e0ce9c7073b9344ec19d3910a' into glitch-soc/merge-upstream 2026-02-19 21:52:23 +01: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
github-actions[bot]
b6917961d5 New Crowdin translations (#3407)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-18 20:15:57 +01:00
Claire
4977fb1570 Merge pull request #3409 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 3df8fb8fe9
2026-02-18 20:15:48 +01:00
diondiondion
312c77fdd0 [Glitch] Fix visibility of video overlay controls in light mode
Port 3df8fb8fe9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-18 18:59:21 +01:00
diondiondion
93b7678555 [Glitch] Add collection detail page
Port 488e0b2617 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-18 18:58:57 +01:00
Echo
d67cdcb0b3 [Glitch] Profile redesign: Design fixes
Port 079f8615fe to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-18 18:55:34 +01:00
Echo
b8b1d3a934 [Glitch] Profile editing: Add initial route
Port 4b1f66418b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-18 18:53:23 +01:00
Claire
925d1ffde5 Fix Ruby linting for glitch-soc code 2026-02-18 18:47:21 +01:00
Claire
b041869887 Merge commit '3df8fb8fe9d33c7fbe51aa0a418b8b9ca46bb61b' into glitch-soc/merge-upstream 2026-02-18 18:40:03 +01: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
Claire
7b4c22214a Merge pull request #3408 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 0b66e74426
2026-02-17 20:51:59 +01: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
diondiondion
9abfde6189 [Glitch] Allow managing collection accounts
Port a644a4a762 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-17 12:15:31 +01:00
Claire
f47e2937cf Merge commit '0b66e744263a4af1f14d03886ea2a9da4ca156db' into glitch-soc/merge-upstream 2026-02-17 12:11:33 +01:00
Claire
13dafeed41 Merge pull request #3406 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to cff25c186b
2026-02-17 12:10:41 +01: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
Echo
df9d9423b9 [Glitch] Profile redesign: Switch to server flag
Port f7bf804a3f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-16 18:27:42 +01:00
Claire
02ad266b81 Merge commit 'cff25c186bb8bb7cdd29de8938949c775dc0ec7f' into glitch-soc/merge-upstream 2026-02-16 18:27:08 +01:00
Claire
2dc567feec Merge upstream changes up to 284c53f439 (#3405)
* Capture output in `cli/emoji` spec (#37861)

* Update dependency devise to v5.0.1 (#37860)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency capybara-playwright-driver to v0.5.8 (#37840)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency jsdom to v28.1.0 (#37874)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update dependency stackprof to v0.2.28 (#37873)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* New Crowdin Translations (automated) (#37863)

Co-authored-by: GitHub Actions <noreply@github.com>

* Update dependency ioredis to v5.9.3 (#37849)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Remove disabled bundlesize-compare workflow (#37875)

---------

Co-authored-by: Matt Jankowski <matt@jankowski.online>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-16 18:25:33 +01: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
5769ceb6e3 Merge commit '284c53f4391c0e2cdea788bc0aff73190913a488' into glitch-soc/merge-upstream 2026-02-16 13:35:39 +01: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
Jeong Arm
5b106a3453 [Fix undefined current_flavour in controllers (/settings/flavours page) (#3400)
* [Glitch] Fix undefined `current_flavour` in controllers

After the theming infrastructure migration (#37612, #37807),
`ThemingConcern` was removed and theme-related methods were moved
to `ThemeHelper`. However, controllers like `Settings::FlavoursController`
call `current_flavour` directly in their actions, which is not accessible
from a view helper module.

Include `ThemeHelper` in `ApplicationController` to restore access to
`current_flavour`, `current_skin`, `current_theme`, and other theme
methods in all controllers.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Include ThemeHelper in Settings::FlavoursController instead of ApplicationController

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:20:51 +01:00
Claire
114105a788 [Glitch] Fix quote-inline fallback being removed even for legacy quotes (#3402)
Port 2a9c7d2b9e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-15 14:59:38 +01:00
github-actions[bot]
4149067b18 New Crowdin translations (#3382)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-14 22:03:41 +01:00
Claire
aa235be5ae Merge pull request #3399 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 56ecdde152
2026-02-14 21:16:37 +01:00
Echo
ce4b913792 [Glitch] Emoji: Cache data by path instead of just Etag
Port 3d0a6ba831 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-13 18:41:42 +01:00
Echo
66027e4057 [Glitch] Profile redesign: About tab
Port f5aa5adcf7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-13 18:41:14 +01:00
Claire
5f72148834 Merge commit '56ecdde1523cec87c55d3d0e7e9b6757dcfe2491' into glitch-soc/merge-upstream 2026-02-13 18:26:08 +01:00
Claire
3efad88c8c Merge pull request #3398 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 6c3bd944f8
2026-02-13 18:17:45 +01: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
Claire
00f16a1863 [Glitch] Fix delete & redraft of pending posts
Port ab9aa25cd3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-13 13:05:52 +01:00
Echo
c0fe6f8600 [Glitch] Fixes appearing in Following list
Port 45057d1df2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-13 13:04:15 +01:00
Claire
ddc7df2064 Merge commit '6c3bd944f8890e1a349bd06e9585cb5ec25507e6' into glitch-soc/merge-upstream 2026-02-13 13:03:51 +01: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
Claire
ba098fdeb5 Merge pull request #3397 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to c44cc1f5c3
2026-02-12 22:19:29 +01:00
diondiondion
f40f529905 [Glitch] Implement Collection list item design
Port c44cc1f5c3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-12 18:04:00 +01:00
diondiondion
629bb4989d [Glitch] Fix bad visibility of scroll buttons on follow-suggestions carousel
Port 46fd341685 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-12 18:03:28 +01:00
diondiondion
f16bef3f7d [Glitch] Theme tokens sync
Port e4bb347f72 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-12 18:02:22 +01:00
Claire
e451416d90 Merge commit 'c44cc1f5c3bafb49a324f8f72a42a91d09eecfe3' into glitch-soc/merge-upstream 2026-02-12 18:00:45 +01: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
Claire
327936e113 Merge pull request #3396 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to ca9966ce2f
2026-02-12 12:15:19 +01: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
f90670683a [Glitch] Make pinning and unpinning directly modify state
Port ca9966ce2f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-11 20:58:55 +01:00
diondiondion
f842ce2206 [Glitch] Add useStorageState hook
Port f99c60a8f3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-11 20:58:54 +01:00
Echo
02a7f74976 [Glitch] Profile redesign: Show yourself in follower list
Port bbd88d356d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-11 20:58:54 +01:00
Nicholas La Roux
5272a18855 [Glitch] Update various eslint packages and correct offences
Port 062d0b454b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-11 20:29:09 +01:00
diondiondion
d3e972465d [Glitch] Add Cmd/Ctrl+Enter to submit when Textarea is focused
Port 8c2c94fa6c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-11 20:28:32 +01:00
Claire
2373c5a132 Merge commit 'ca9966ce2ff79dcac90b2feced65fa991534d53e' into glitch-soc/merge-upstream 2026-02-11 20:26:56 +01:00
Claire
ba748f3bb1 Merge pull request #3395 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 01b576efed
2026-02-11 20:24:24 +01: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
2f8ecb894e Fix generation of static error pages in glitch-soc 2026-02-11 14:12:46 +01:00
Claire
01b576efed Add skin migrations for glitch-soc 2026-02-11 13:49:27 +01:00
Echo
c7b08d8f19 [Glitch] Profile redesign: Account filter fixes
Port 0279a52216 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-11 13:37:19 +01:00
Claire
20fedab093 Fix mistakenly included glitch-soc database columns (#37824) 2026-02-11 12:34:34 +00:00
Claire
4fbd1ad7ae Merge commit 'd13d7b4566d551d027830f7dfc987ba3a8e2dd4f' into glitch-soc/merge-upstream
Conflicts are too numerous to list, but they are all caused by upstream's
theming changes and all have to do with the differences between upstream and
glitch-soc in the theming systems.

They were all manually resolved by adapting the relevant code.
2026-02-11 13:32:18 +01:00
Claire
8d1bf0dda5 Merge pull request #3394 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to fb89198460
2026-02-11 12:52:19 +01: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
Echo
b7d5607dd1 [Glitch] Profile redesign: Quality pass
Port fb89198460 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-10 18:09:26 +01:00
Claire
d89db37e93 Merge commit 'fb89198460f9cebf624cc5ca0b139563ae4fd120' into glitch-soc/merge-upstream 2026-02-10 18:02:15 +01:00
Claire
71f9ec9c08 Merge pull request #3393 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 2774e0fbfa
2026-02-10 18:01:36 +01: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
1b00b92772 Merge commit '2774e0fbfa045e883ec94e873e657e9e8fefa98b' into glitch-soc/merge-upstream 2026-02-10 12:03:53 +01:00
Claire
5bb2518888 Merge pull request #3392 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 0b8ce7200a
2026-02-10 12:03:29 +01: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
Echo
455fa54106 [Glitch] Fix: Changes to pins update immediately
Port b4fb25643a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-09 21:46:08 +01:00
Claire
c8db60f8d2 Merge commit '0b8ce7200aa3121d07aa3866ddfc99de3bcf319e' into glitch-soc/merge-upstream 2026-02-09 21:45:21 +01:00
Claire
387b9afcfb Merge pull request #3390 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to d3cef82401
2026-02-09 21:44:15 +01: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
47b0e7897c Merge commit 'd3cef824018a79ba383deab85e09c31d2673d2c3' into glitch-soc/merge-upstream 2026-02-09 13:11:17 +01: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
Claire
fee8a4f333 Merge pull request #3388 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 2e30044a37
2026-02-07 11:56:05 +01:00
Echo
69f0c52bb5 [Glitch] Profile redesign: Pinned posts
Port 2e30044a37 to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-06 23:39:00 +01:00
diondiondion
8caaffe435 [Glitch] Move account search into hook
Port 7e27ba990e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-06 22:54:15 +01:00
diondiondion
9eb718836e [Glitch] Add new components Combobox and EmptyState
Port 2768ab77e5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-06 22:52:24 +01:00
Itoh Shimon
425d411c9a [Glitch] Enable coexistence of horizontal and vertical posts
Port 96de28dd6f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-06 22:50:49 +01:00
Echo
351b8a719f [Glitch] Show mute end date in badge
Port 7a4945c0d3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-06 22:47:24 +01:00
Claire
8f58c42ca3 Merge commit '2e30044a374811bc94fd62a8159cb2c9ffe18a4d' into glitch-soc/merge-upstream 2026-02-06 22:45:55 +01: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
Claire
612189b47d Merge pull request #3385 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to acdd0b33a3
2026-02-05 18:29:51 +01:00
Echo
09206c7369 [Glitch] Cancel quote button appearing in all statuses
Port d2dca826dd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-05 18:00:37 +01:00
Claire
55cd5e1ab1 Merge commit 'acdd0b33a3183569a2cdb50befdbba58f1e74ae9' into glitch-soc/merge-upstream 2026-02-05 17:57:46 +01: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
Claire
59e02a628d Merge commit 'f652c54c3334890176331f62150559a96eeb41ae' into glitch-soc/merge-upstream
Conflicts:
- `app/services/backup_service.rb`:
  Upstream refactored activity serialization while glitch-soc passed an extra argument.
  Followed upstream's refactor, keeping our extra argument.
2026-02-05 12:43:12 +01: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
Echo
84cc0dcac4 [Glitch] Refactors header from Status component
Port 7f53a77fa3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-04 20:01:33 +01:00
diondiondion
072c30681e [Glitch] Split collection editor into dedicated routes
Port 8ebe2e673e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-04 19:34:34 +01:00
diondiondion
41dee6383f [Glitch] Add components TextInput, TextArea, and FormStack
Port 218ca36653 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-04 19:27:34 +01:00
Claire
3bbc8ecf92 Merge commit '8ebe2e673e2fd175140df7275eb362c8eecfec31' into glitch-soc/merge-upstream 2026-02-04 19:23:24 +01:00
Claire
ff8527eb53 Merge pull request #3384 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 4f99b48e8e
2026-02-04 19:23:03 +01:00
Claire
33dc4a6091 Merge commit '4f99b48e8e8c9818f85be1b2ac9abad75f538585' into glitch-soc/merge-upstream 2026-02-04 18:51:17 +01: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
8cc3692bdb Merge pull request #3381 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to c48634cf5f
2026-02-03 16:39:24 +01:00
Echo
b7443c4b9e [Glitch] Profile redesign: Fields iteration
Port 0923e2cb26 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-03 16:04:00 +01:00
Echo
82f7cdcb48 [Glitch] Profile redesign: Follow button and menu reorg
Port 346ca87ee8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-03 15:57:49 +01:00
diondiondion
3c2a06dc24 [Glitch] Add Select component
Port 218ca36653 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-03 15:54:12 +01:00
diondiondion
dacbd20081 [Glitch] Implement CSS theme tokens behind feature flag
Port 284b46fee7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-03 15:53:50 +01:00
Claire
13499168f8 Merge commit 'c48634cf5f3c5b50fcf6ea075121fa2d88e07c0e' into glitch-soc/merge-upstream 2026-02-03 15:44:04 +01: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
Claire
acdcf5324a Merge pull request #3377 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 6188de3efc
2026-02-02 21:08:37 +01:00
ahxxm
75ff10946a [Glitch] Add text-autospace to status content
Port c6f5315aa9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-02 18:35:21 +01:00
diondiondion
be2df968d3 [Glitch] Add components RadioButton and Fieldset
Port 29e5532870 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-02 18:34:51 +01:00
Echo
7dad362e29 [Glitch] Profile redesign: Additional badges
Port 1100035af4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-02-02 18:34:17 +01:00
diondiondion
ceb4a878fb Add Select component (#37702) 2026-02-02 17:31:34 +00:00
Claire
5b926157e8 Merge commit '6188de3efc293a6327cabcb858430aa79564dfd7' into glitch-soc/merge-upstream 2026-02-02 18:26:04 +01:00
github-actions[bot]
df1ac47a72 New Crowdin translations (#3376)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-02-02 18:25:03 +01: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
Claire
4cf98d4a80 Merge pull request #3372 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to a7a33ef6bc
2026-01-30 19:22:34 +01:00
diondiondion
c1a2dd0f4f [Glitch] Adds new Checkbox and CheckboxField components
Port a7a33ef6bc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-30 18:03:43 +01:00
Claire
b490913ad7 Merge commit 'a7a33ef6bc61cf10ef654313cfb7a45fe2b58ae3' into glitch-soc/merge-upstream 2026-01-30 18:00:16 +01: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
Claire
2566b46169 Merge pull request #3370 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 0688e64a0b
2026-01-30 13:47:06 +01:00
Echo
fcd00902d1 [Glitch] Fix instance api account merging
Port 0688e64a0b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-30 12:01:18 +01:00
Claire
0e154b859f Merge commit '6a5578a0db1aed100b6a3ac82b477923d221c350' into glitch-soc/merge-upstream 2026-01-30 12:00:44 +01: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
Claire
013f281fc8 Merge pull request #3369 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to d0502ac3c1
2026-01-29 22:05:49 +01:00
diondiondion
94314b2982 [Glitch] Implement editing collection settings and deleting collections
Port 6f53b0b634 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-29 21:20:52 +01:00
diondiondion
60314c1077 [Glitch] Add initial collections editor page
Port 2427e14446 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-29 21:13:21 +01:00
Echo
a434d73a08 [Glitch] Prevent account note from appearing on your own profile
Port 8a42689268 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-29 21:10:18 +01:00
Echo
56100254b7 [Glitch] Profile redesign: Featured tags
Port 9079a75574 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-29 21:09:58 +01:00
Claire
d62a7775b5 Merge commit 'd0502ac3c1630e281fda5492cbc28390262b0aeb' into glitch-soc/merge-upstream 2026-01-29 21:08:46 +01: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
Claire
69a424ff62 Merge pull request #3368 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to a6883242e3
2026-01-28 20:45:03 +01:00
Claire
32993fbdef Merge commit 'a6883242e3d9f9ed85806b66d40e1a148972bc3c' into glitch-soc/merge-upstream 2026-01-28 19:54:41 +01:00
Claire
7d096dbf63 Merge pull request #3367 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1ae6b52c47
2026-01-28 19:52:57 +01:00
PGray
136adfdcad [Glitch] Fix quote cancel button not appearing after edit then delete-and-redraft
Port f1c00feb5c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-28 19:32:26 +01:00
Echo
fd0ab20402 [Glitch] Profile redesign: Timeline filters
Port ec76288dff to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-28 19:30:54 +01:00
Echo
da2cb50aaa [Glitch] Tags component
Port 3f46034039 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-28 19:30:15 +01:00
Claire
36be9bbebf Merge commit 'a495a0cbfcf9f6111c0e598af0864de2b76e4111' into glitch-soc/merge-upstream 2026-01-28 19:29:10 +01:00
Claire
8a8de5279f Merge pull request #3366 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1ae6b52c47
2026-01-28 19:28:15 +01:00
Claire
2e0caa2b73 Merge commit '1ae6b52c471d82d3682a732680549fd849c91957' into glitch-soc/merge-upstream 2026-01-28 19:05:27 +01: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
b14cbb3ee9 Merge pull request #3364 from ClearlyClaire/glitch-soc/features/local-only-drop-emoji
Deprecate eye emoji in favor of a bespoke API parameter
2026-01-27 22:30:17 +01:00
Claire
947a233a60 Merge pull request #3365 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 7af5ba271d
2026-01-27 22:29:32 +01:00
Echo
32841f8016 [Glitch] Profile redesign: Account notes
Port 34f0482ad4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-27 18:07:21 +01:00
Echo
0e3441ed66 [Glitch] Profile redesign: Username update
Port c0616bcab6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-27 18:05:48 +01:00
Echo
110cf94d3d [Glitch] Deprecate need for revert-layer CSS
Port 76ab866d93 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-27 18:05:14 +01:00
Claire
5a45a3203a Merge commit '7af5ba271d6f04831f000e9b815914375e42abeb' into glitch-soc/merge-upstream 2026-01-27 18:03:27 +01: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
Claire
9ba2a39a4b Merge pull request #3363 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 89c1b9a8fd
2026-01-26 22:24:39 +01:00
Claire
b96c8ecff4 Merge commit '89c1b9a8fdfe38881ad1b6c22f20240b087aa993' into glitch-soc/merge-upstream 2026-01-26 18:09:54 +01: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
Claire
56de578a89 Merge pull request #3362 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to c36db57ace
2026-01-24 12:26:15 +01:00
Echo
0dbbd376c5 [Glitch] Re-download Material Icons
Port 42b2fdb0ac to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-23 18:10:21 +01:00
Echo
aa71913356 [Glitch] Callout component
Port c1414f1161 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-23 18:10:21 +01:00
diondiondion
46c83fc91d [Glitch] Add "My collections" page
Port a1acf8f4bc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-23 18:10:20 +01:00
Echo
20629b6188 [Glitch] Toggle component
Port 0a0e253614 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-23 18:10:20 +01:00
diondiondion
d8c086e6fd [Glitch] Add form field components: TextInputField, TextAreaField, SelectField
Port 0924171c0f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-23 18:10:20 +01:00
Claire
8b95254883 Merge commit 'c36db57acedf0033c090748125c665a0360cd11f' into glitch-soc/merge-upstream 2026-01-23 17:57:20 +01: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
Claire
1239c8d480 Merge pull request #3361 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 562ea656f4
2026-01-22 12:51:22 +01:00
Echo
8ec969d4c1 [Glitch] Profile redesign: verified badges
Port e79d51ce19 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-21 22:21:12 +01:00
Echo
da330fc8c4 [Glitch] Profile redesign: Badges
Port 22ec368574 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-21 22:21:12 +01:00
Claire
95aaefe083 Merge commit '562ea656f495f0619e393b7d93bd07c5abd28e5a' into glitch-soc/merge-upstream 2026-01-21 22:04:02 +01: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
Claire
e612378f08 Merge pull request #3360 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 400c1f3e8e
2026-01-20 16:35:37 +01:00
Echo
0a1731b81c [Glitch] Profile redesign: Account name
Port a1c17fef3a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-20 16:20:33 +01:00
diondiondion
b5060ba9c3 [Glitch] Improve apiRequest helper types
Port fa9b905fdf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-20 16:16:34 +01:00
Echo
22ec368574 Profile redesign: Badges (#37550) 2026-01-20 15:15:49 +00:00
Claire
5d04c56c48 Merge commit '400c1f3e8ec0ffd33ad30d9334b9210cdb89b14c' into glitch-soc/merge-upstream 2026-01-20 16:14:14 +01: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
Essem
564b8720e1 Re-add data-user-flavour attribute (#3356)
* Re-add `data-user-flavour` attribute

* Add data-user-flavour to embed/error pages

* Use actual flavor for embeds/error pages
2026-01-19 20:07:47 +01:00
Claire
5efebe716e Merge pull request #3351 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to ad77ee7f8b
2026-01-19 19:17:27 +01:00
Claire
e9793971b3 Merge commit 'ad77ee7f8ba6aa25ee36e3e21c38d9bbc252b097' into glitch-soc/merge-upstream 2026-01-19 18:01:57 +01: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
9fd005042b Merge pull request #3350 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to cc3c7ba532
2026-01-17 16:11:06 +01:00
Claire
605e62288c Fix tests
Vite correctly detects the three themes are the same, and picks the first one, which
is `contrast` due to how glitch-soc's theming system works.
2026-01-16 23:54:33 +01:00
Echo
40d5c00c3a [Glitch] Profile fields redesign
Port 047338e684 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-16 23:54:33 +01:00
Claire
d5fb44da91 [Glitch] Fix error pages not using the new theming infrastructure
Port 5727b866b1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-16 23:54:33 +01:00
diondiondion
4c7bfca967 [Glitch] Add high-contrast styles to common stylesheet
Port e715bb5075 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-16 23:24:50 +01:00
Claire
7839c8d9af Merge commit 'cc3c7ba532f75617505bb41297651a5c14f71bdd' into glitch-soc/merge-upstream
Conflicts:
- `app/helpers/theme_helper.rb`:
  Upstream simplified `theme_style_tags`. Our version is different because of
  the different theming system.
  Adapted upstream's changes.
- `app/views/layouts/error.html.haml`:
  Theming system.
2026-01-16 23:22:19 +01:00
Claire
2c421cfd9e Merge pull request #3349 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 918563704f
2026-01-16 23:19:23 +01:00
Heath Dutton🕴️
edf50bd073 [Glitch] Fix directory showing load more button when no more profiles exist
Port 93f5ed0fce to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-16 22:31:54 +01:00
Claire
b6b6e142ba Merge commit '918563704f5ff5eeb1efa31a412ac38f97781e9e' into glitch-soc/merge-upstream
Conflicts:
- `app/helpers/theme_helper.rb`:
  Upstream modified `theme_color_tags` to work on color scheme rather than theme.
  Updated it as well.
- `app/views/layouts/embedded.html.haml`:
  Upstream changed the embed theme from `mastodon-light` to `system`.
  Glitch-soc doesn't use a hardcoded value, so ignore the change.
- `spec/helpers/theme_helper_spec.rb`:
  Accomodate `theme_color_tags` changes.
2026-01-16 22:28:08 +01: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
Claire
8a6389d3f7 Merge pull request #3348 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to bc2f8a358f
2026-01-15 23:04:28 +01:00
Echo
d748ed0434 [Glitch] Account header split up
Port f2fb232e37 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-15 19:14:19 +01:00
diondiondion
73d29e16b5 [Glitch] Enable theming via new HTML element attributes
Port bc2f8a358f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-15 18:08:37 +01:00
Echo
4694013f86 [Glitch] MiniCard and MiniCardList components
Port c09fbeb32f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-15 18:07:28 +01:00
Claire
ba45eb8764 Merge commit 'bc2f8a358f96a9540e6f39bb1c58273deb4545de' into glitch-soc/merge-upstream
Conflicts:
- `app/views/layouts/application.html.haml`:
  Upstream changed how theming works, and in particular changed the set of HTML attributes.
  Adapted upstream's change.
2026-01-15 18:02:35 +01: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
fd510421c4 Merge pull request #3347 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 10de65e41c
2026-01-15 00:06:11 +01:00
Claire
f65e6a5029 Merge commit '10de65e41c3b01bd938f97fdb60fc96c26673966' into glitch-soc/merge-upstream 2026-01-14 20:31:42 +01: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
Claire
46df08b3a4 Merge pull request #3346 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 19bc3e76ea
2026-01-13 20:16:29 +01:00
Echo
aa83f94ac1 [Glitch] Add feature flag detection for profile redesign
Port 122b1592ed to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-13 18:35:37 +01:00
diondiondion
beb23500b1 [Glitch] Fix isDarkMode utility
Port 41639655ff to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-13 18:35:16 +01:00
Heath Dutton🕴️
e14af55640 [Glitch] Fix keyboard navigation in media modal after clicking image
Port be60c4585e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-13 18:34:48 +01:00
Claire
b4ed1e6c99 Merge commit '19bc3e76ea1d7fa2d9af711613a77fc0f5f0d1b5' into glitch-soc/main
Conflicts:
- `app/helpers/theme_helper.rb`:
  Upstream added a helper to insert javascript tags, close to where we had
  modified code.
  Ported upstream's change.
2026-01-13 18:30:48 +01:00
Claire
7f98a6703e Merge pull request #3345 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9b5986b36e
2026-01-13 18:21:18 +01:00
Claire
e33a8d5bfb Merge commit '9b5986b36e86d50d19b68b10788b3316012894c3' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/api/v1/statuses_controller.rb`:
  Upstream refactored a bit where we had an extra argument for markdown/HTML.
  Adapted upstream change.
2026-01-13 18:01:53 +01: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
Claire
ca3c3eada6 Merge pull request #3344 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to ed17b3a7ec
2026-01-12 21:37:32 +01:00
Claire
478462ab25 Merge commit 'ed17b3a7ec52c0421ae2483a8e08431316f08b1c' into glitch-soc/merge-upstream 2026-01-12 21:00:14 +01: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
github-actions[bot]
6541d7ed39 New Crowdin translations (#3335)
Co-authored-by: GitHub Actions <noreply@github.com>
2026-01-10 19:47:20 +01:00
Claire
9183909ef4 Merge pull request #3343 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to a4b8b9fe98
2026-01-10 19:47:05 +01:00
Echo
aff69de399 [Glitch] Fix bug with how Emojibase wasn't stripping characters
Port a4b8b9fe98 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-10 13:18:55 +01:00
diondiondion
18d4606cce [Glitch] Further clean up types for the card object
Port 973fef4b69 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-10 13:18:34 +01:00
Echo
124d6e37eb [Glitch] Emoji: Adds search
Port 628fc9b95b to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-10 13:18:05 +01:00
Echo
c5fd0d47da [Glitch] Remove trailing variation selector code for legacy emojis
Port f254b47067 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-10 13:17:30 +01:00
Joshua Rogers
9d33d43006 [Glitch] Fix modal closeModal ignoreFocus payload type
Port 25053db22b to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-10 13:15:12 +01:00
Echo
bb640bd845 [Glitch] Video modals should not be pushed down on mobile
Port de7b405e55 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-10 13:14:49 +01:00
Claire
d7254ecec4 Merge commit 'a4b8b9fe98c677f718e4b2c1ffe1755d58e7f8d7' into glitch-soc/merge-upstream 2026-01-10 13:12:36 +01:00
Claire
3c1bf72e1a Fix custom emojis not being rendered in status prepend (#3342) 2026-01-10 13:11:50 +01: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
Essem
5c358ceaf1 Merge pull request #3340 from TheEssem/fix/quote-cw-fallback-md
Fix quotes with only CWs not having fallback link when posting with other content types
2026-01-07 21:39:27 +01: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
29950a120d Merge pull request #3339 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9fe14a3072
2026-01-07 15:15:28 +01:00
Claire
aa6ec435d2 Merge commit '9fe14a30724e18425aedaba59ca63c63d8b14083' into glitch-soc/merge-upstream 2026-01-07 14:53:51 +01: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
Claire
5e6b813e7d Merge pull request #3333 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 7e634eecbc
2026-01-06 19:16:40 +01:00
Claire
3e4cd799fd Merge commit '7e634eecbc5dc2f65b7bdbfc5c2b5c8a0955156d' into glitch-soc/merge-upstream 2026-01-06 18:11:26 +01: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
ea59a3d71d Merge pull request #3332 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 82fb2596c7
2026-01-05 21:32:29 +01:00
Claire
0aa70234aa [Glitch] Fix custom emojis not being rendered in profile fields
Port b622f4c698 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-05 18:24:51 +01:00
Claire
550240281e [Glitch] Fix outdated link target for “locked” warning
Port e8a49bd6ae to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-05 18:24:29 +01:00
Claire
b1d219afd0 Merge commit '82fb2596c70a18fc4a2d99ab51106180196bfe98' into glitch-soc/merge-upstream 2026-01-05 18:19:58 +01: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
Claire
c3cc6b5895 Merge pull request #3328 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to e89acc2302
2026-01-03 16:57:31 +01:00
Chan Nyein Tun
e826e0e281 [Glitch] Hide empty padding box if no status in Wrapstodon highlighted post
Port 54bc97cfce to glitch-soc

Co-authored-by: Chan Nyein Tun <29679269+channyeintun@users.noreply.github.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-03 16:10:04 +01:00
Echo
06a49fa0d0 [Glitch] Prevents swiping when zoomed in
Port 4bae3da85c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-03 16:08:16 +01:00
Claire
2ebf6d60a6 Merge commit 'e89acc2302df49cbd7815b031e9c2939632bd204' into glitch-soc/merge-upstream
Conflicts:
- `yarn.lock`:
  Conflict because of an extra dependency in glitch-soc.
  Updated upstream's dependencies as upstream did.
2026-01-03 16:05:35 +01:00
Claire
8011a28011 Merge pull request #3327 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to a0ce77673c
2026-01-03 16:04:13 +01:00
diondiondion
cf461c79ca [Glitch] Add dedicated user preferences for theme mode & contrast
Port a0ce77673c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-03 15:31:38 +01:00
Claire
c7ad055ff3 Merge commit 'a0ce77673c977e3a90d0c7d1c2acd250b7fad0c2' into glitch-soc/merge-upstream
Conflicts:
- `app/controllers/application_controller.rb`:
  Upstream added an experimental color and contrast theme control.
  Conflicts because of glitch-soc's different theming system.
  Adapted upstream's changes.
- `app/views/layouts/application.html.haml`:
  Upstream added an experimental color and contrast theme control.
  Conflicts because of glitch-soc's different theming system.
  Adapted upstream's changes.
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream added an experimental color and contrast theme control.
  Conflicts because of glitch-soc's different theming system.
  Adapted upstream's changes.
2026-01-03 15:26:58 +01:00
Claire
29856620b4 Merge pull request #3274 from glitch-soc/i18n/crowdin/translations
New Crowdin Translations (automated)
2026-01-02 19:45:03 +01: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
GitHub Actions
aace2679bd New Crowdin translations 2026-01-01 04:56:54 +00:00
Claire
8522ea1924 Merge pull request #3320 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 0231b6d350
2025-12-19 22:40:16 +01:00
Claire
04f4725249 Merge commit '0231b6d350d6027fa822f286732405b573d634e8' into glitch-soc/merge-upstream 2025-12-19 18:43:09 +01: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
Claire
6c6ea030f4 Merge pull request #3317 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to ff20ab7510
2025-12-19 09:16:38 +01: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
9ce81baff9 [Glitch] Emoji loading fixes
Port ba4710debe to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-18 18:59:46 +01:00
Claire
baa6af0e18 Merge commit 'ff20ab7510a189bee75bdd5460f6c2ae38e7009a' into glitch-soc/merge-upstream 2025-12-18 18:56:31 +01:00
Echo
ff20ab7510 Fixes CDN domain loading (#37310) 2025-12-18 17:41:21 +00:00
Claire
4bfd92310f [Glitch] Fix custom emojis not displaying in CWs and fav/boost notifications
Port a8109e50fc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-18 18:11:41 +01:00
Claire
97ff0f94bf Merge commit 'a8109e50fc313b8124a3e471d41b490df59a68b8' into glitch-soc/merge-upstream
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream changed a field that was moved to another page due to glitch-soc's theming system.
  Ignored this one change.
2025-12-18 18:10:30 +01: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
Echo
177d3c59d0 [Glitch] Emoji: Refresh custom emoji on new
Port 3d55dcdf7f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-17 18:34:02 +01:00
diondiondion
392a241637 [Glitch] Improve search menu keyboard navigation
Port c4a760d6ba to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-17 18:32:57 +01:00
Echo
34dbea26a7 [Glitch] Remove rendering of custom emoji using the database
Port dbc5af6641 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-17 18:32:34 +01:00
diondiondion
516f0ce131 [Glitch] Fix notifications page error in Tor browser
Port 71af094f97 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-17 18:31:49 +01:00
Claire
22724d2367 [Glitch] Fix hashtag autocomplete replacing suggestion's first characters with input
Port d6a40c2891 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-17 18:31:31 +01:00
Claire
84feffd6e6 Merge commit '009275e66b55729f754da7b4c814b37b67dc76dc' into glitch-soc/merge-upstream
Conflicts:
- `app/models/form/admin_settings.rb`:
  Upstream added a method right next to glitch-soc-only methods.
  Added upstream's method.
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream changed a line right next to a glitch-soc addition.
  Changed the code as upstream did.
2025-12-17 18:27:14 +01: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
Claire
6c2d53372b Merge pull request #3316 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 53be8392ec
2025-12-16 19:09:07 +01:00
diondiondion
cfc64a2ea9 [Glitch] Updates Wrapstodon footer with dedicated local server info
Port e6b0cdcc83 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-16 18:37:45 +01:00
Echo
fbacb5ae7a [Glitch] Emojis: Show in embedded statuses
Port f118d61334 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-16 18:32:54 +01:00
Echo
f56f360a5c [Glitch] Wrapstodon: Load report data only on display
Port a9c84529b2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-16 18:32:30 +01:00
diondiondion
59d2a712c5 [Glitch] Fix bad contrast on disabled dropdown menu items
Port 9e97ad04d8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-16 18:31:01 +01:00
Echo
177479fe37 [Glitch] Improve Redux Storybook
Port 8c2845906c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-16 18:30:39 +01:00
Claire
3cd033df0c [Glitch] Add wrapstodon to initial state and show wrapstodon sidebar item on load
Port 550a6d4765 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-16 18:29:51 +01:00
Claire
780fefa700 Merge commit '53be8392eceea8c3a576478e209fe82c2ceb458a' into glitch-soc/merge-upstream 2025-12-16 18:27:03 +01: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
Claire
57554e9e33 Merge pull request #3315 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to cbe1352103
2025-12-15 22:18:41 +01:00
renovate[bot]
0551455a3c [Glitch] Update devDependencies (non-major)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ChaosExAnima <ChaosExAnima@users.noreply.github.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-15 20:38:29 +01:00
Echo
460e675327 [Glitch] Emoji: Import and use shortcode data
Port cbe1352103 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-15 20:30:02 +01:00
diondiondion
5aaf5f2256 [Glitch] Prevent "invalid access token" error when opening Mastodon while logged out
Port 807e1254e6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-15 20:28:14 +01:00
Echo
56a9d62972 [Glitch] Fixes display names not rendering with emojis
Port 5fa7654688 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-15 20:27:54 +01:00
diondiondion
0c852a426f [Glitch] Fix badly visible focus outlines in composer
Port a9e228361c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-15 20:27:02 +01:00
Claire
1fdb48c668 Merge commit 'cbe135210305c0ce4455130c4e75680e53ff1425' into glitch-soc/merge-upstream
Conflicts:
- `app/views/wrapstodon/show.html.haml`:
  Conflict caused by glitch-soc's theming system.
  Updated upstream changes.
2025-12-15 20:22:20 +01: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
d3afd087b5 Merge pull request #3314 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 4af8e83c8a
2025-12-13 00:55:28 +01:00
Claire
235af71f85 [Glitch] Fix wrapstodon not falling back to username when display name is not set
Port 4af8e83c8a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:59:53 +01:00
diondiondion
6734fd206e [Glitch] Change Emoji in Wrapstodon footer 🐘
Port 861202fd08 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:59:53 +01:00
diondiondion
cb1d1e289e [Glitch] Add secondary Wrapstodon share button
Port 6821b70796 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:59:53 +01:00
diondiondion
acf583d374 [Glitch] Remember revealed archetype on future Wrapstodon visits
Port b72b507584 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:59:53 +01:00
diondiondion
8fad8681ab [Glitch] Convert Settings class to TS
Port 8748f0812d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:59:53 +01:00
Echo
e7c383251b [Glitch] Wrapstodon: Add nav modal
Port e206b0d0de to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:59:52 +01:00
diondiondion
febd6241bf [Glitch] Change Wrapstodon 'About' link to point to joinmastodon.org
Port 571c93c563 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:48:32 +01:00
Echo
aa45a5fa83 [Glitch] Wrapstodon: Allow dismissing banner
Port 10f232ca08 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-12 17:48:12 +01:00
Claire
6503287c2d Merge commit '4af8e83c8a236265c46a1b984fa5dbd3a7c73dfe' into glitch-soc/merge-upstream 2025-12-12 17:45:26 +01: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
88c0f52e99 Merge pull request #3313 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to d730f6b0c5
2025-12-11 19:23:18 +01:00
Claire
a56b739c68 [Glitch] Fix wrapstodon modal closing on any click
Port dfbf908870 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-11 19:07:26 +01:00
diondiondion
183a42a5ee [Glitch] Add Wrapstodon footer links
Port c06eb371e6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-11 19:06:54 +01:00
Claire
303a5478af Merge commit 'dfbf908870fcde76396ebccfb3d71ee1a06ffe82' into glitch-soc/merge-upstream
Conflicts:
- `app/views/wrapstodon/show.html.haml`:
  Conflict because of glitch-soc's theming system.
  Applied upstream's changes.
2025-12-11 19:05:32 +01:00
Claire
dfbf908870 Fix wrapstodon modal closing on any click (#37209) 2025-12-11 17:49:26 +00:00
diondiondion
aa067370d8 [Glitch] Fix Wrapstodon modal scrolling not working on iOS
Port 4323963053 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-11 18:07:59 +01:00
diondiondion
5e0db46b2a [Glitch] Wrapstodon design QA tweaks
Port 5651900b89 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-11 18:07:34 +01:00
diondiondion
c06eb371e6 Add Wrapstodon footer links (#37207) 2025-12-11 17:06:26 +00:00
Claire
53617cef5a Merge commit 'd730f6b0c5cfb18894d1a9e34d0aa2556dda3c62' into glitch-soc/merge-upstream 2025-12-11 18:05:28 +01: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
8b418b84d0 Merge pull request #3312 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to d6f2a3ac8d
2025-12-10 22:09:22 +01:00
diondiondion
f817300d8d [Glitch] Implement custom font for Wrapstodon heading
Port c42b9f6996 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-10 18:13:17 +01:00
Echo
35a89a0173 [Glitch] Fix issue where Wrapstodon was pushed to the bottom of the feed
Port 76184c998c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-10 18:12:23 +01:00
diondiondion
b5721dbd4a [Glitch] Fix Wrapstodon Storybook & other Wrapstodon issues
Port 8137ce87ce to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-10 18:11:08 +01:00
diondiondion
38f623eee7 [Glitch] Minor Wrapstodon tweaks, add stub Storybook page
Port 91500a7f53 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-10 18:09:09 +01:00
Claire
17ba99e5de Merge commit 'd6f2a3ac8d61e0828a17f68a6e9094d0f4662f4c' into glitch-soc/merge-upstream
Conflicts:
- `app/views/wrapstodon/show.html.haml`:
  Conflict because of glitch-soc's theming change.
  Adapted upstream's changes.
- `docker-compose.yml`:
  Conflict because of container repo name change.
  Adapted upstream's changes.
- `yarn.lock`:
  Conflict because of an additional glitch-soc dependency.
  Updated the dependencies upstream did.
2025-12-10 18:05:44 +01: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
Claire
cd71fdcdff Merge pull request #3311 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9d81561bb2
2025-12-10 11:53:00 +01:00
diondiondion
91500a7f53 Minor Wrapstodon tweaks, add stub Storybook page (#37186) 2025-12-10 09:05:14 +00:00
Claire
5422e43e31 Fix wrapstodon standalone page not loading JS module 2025-12-10 09:49:09 +01:00
diondiondion
5a66331003 [Glitch] Update Wrapstodon design
Port 9d81561bb2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-09 18:27:14 +01:00
Matt Jankowski
09e3955145 [Glitch] Fix misc comment typos
Port ac71771d98 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-09 18:10:04 +01:00
Echo
e554e5723d [Glitch] Fix emoji on Wrapstodon
Port 9702cbb41c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-09 18:09:22 +01:00
Claire
315f5e5a31 Merge commit '9d81561bb2440c8fb9a75bd05277120aff346b1e' into glitch-soc/merge-upstream 2025-12-09 18:06:56 +01: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
8c52889c86 Merge pull request #3307 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 607449336d
2025-12-08 17:14:29 +01:00
Claire
05e45beb34 Merge commit '607449336da198ea9fe9c014220a5374a0ca1ae4' into glitch-soc/merge-upstream 2025-12-08 16:33:27 +01: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
Claire
cd34331842 Merge pull request #3306 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1ae3b4672b
2025-12-06 11:35:37 +01:00
Claire
691f4e3210 [Glitch] Fix “Delete and Redraft” on a non-quote being treated as a quote post in some cases
Port 1ae3b4672b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-05 20:08:05 +01:00
diondiondion
7f1862b67e [Glitch] Increase maximum height of media items on desktop
Port ce22c835ac to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-05 20:07:28 +01:00
Claire
71cda79e3b [Glitch] Remove more unused data from 2025 annual reports
Port 9b851616fe to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-05 20:06:12 +01:00
diondiondion
c3f254f170 [Glitch] Fix inversion of emoji colours based on dark/light mode
Port 591776d7ad to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-05 20:05:32 +01:00
Echo
05691293f0 [Glitch] Fixes YouTube embeds
Port 46f3b39fae to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-05 20:01:52 +01:00
Claire
2f6cdd6d47 Merge commit '1ae3b4672bffbc4aaf26f60c7063d6901239de5d' into glitch-soc/merge-upstream 2025-12-05 20:00:40 +01:00
Claire
4625bbe282 Merge pull request #3305 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstrema changes up to 65b216353e
2025-12-05 19:58:48 +01:00
diondiondion
4dc196b595 [Glitch] Handle dark/light/contrast theme modes in common CSS
Port 65b216353e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-05 19:29:37 +01:00
Claire
3b4c4c5b09 Merge commit '65b216353e9bc9ae8517d967f8c2cd8122551fdc' into glitch-soc/merge-upstream
- `app/helpers/application_helper.rb`:
  Upstream updated the classes used for theming purposes,
  but glitch-soc has its own theming system.
  Adapted upstream's changes.
- `spec/helpers/application_helper_spec.rb`:
  Upstream updated the classes used for theming purposes,
  but glitch-soc has its own theming system.
  Adapted upstream's changes.
2025-12-05 19:25:40 +01: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
Claire
0f2ba97c99 Merge pull request #3304 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 0dac31dfd5
2025-12-04 21:42:55 +01:00
Echo
0061f9a699 [Glitch] Create new entrypoint for sharable Wrapstodon
Port 0dac31dfd5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 21:17:30 +01:00
Echo
2d93e63e43 [Glitch] Wrapstodon modal with new share button
Port 31c392b1bc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 21:17:30 +01:00
diondiondion
5a5ba02f96 [Glitch] Fix color contrast issues caused by new theme tokens
Port 498e88f059 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 21:01:08 +01:00
Claire
c8f365fd1d Merge commit '0dac31dfd588e4cd866f382ed001a9535f06234a' into glitch-soc/merge-upstream 2025-12-04 20:59:54 +01:00
Claire
691fe7cb4c Merge pull request #3303 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to b3b5bf26d1
2025-12-04 20:58:43 +01:00
Echo
376332bfe7 [Glitch] Display Wrapstodon inline widget
Port e5e3a64a9b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:27:02 +01:00
Echo
8bec8c373b [Glitch] Remove noreferrer from external links
Port 234990cc37 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:25:52 +01:00
diondiondion
5f2d64c4b0 [Glitch] Add Wrapstodon timeline announcement component
Port 9aec6936e5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:21:09 +01:00
Echo
1faaa9706a [Glitch] Add UJS to buttons
Port 100b20f290 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:20:29 +01:00
Echo
ac926baa74 [Glitch] Emoji: Update emoji categories with featured emoji
Port c5c8100d02 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:20:06 +01:00
diondiondion
f21f8df4cc [Glitch] Ensure all pages have a solid background color
Port f5d6f60ca7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:19:20 +01:00
Claire
62dc7c1ee6 [Glitch] Fix error handling when re-fetching already-known statuses
Port edfbcfb3f5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:18:59 +01:00
diondiondion
c63393c963 [Glitch] Don't reset scroll when using hotkeys to focus columns, add hotkey 0 to scroll to top
Port 9334bd9ede to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-12-04 20:18:28 +01:00
Claire
34aa825e96 Merge commit 'b3b5bf26d14f809a562244642949826b6a91bade' into glitch-soc/merge-upstream 2025-12-04 20:16:21 +01: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
Claire
d2e1c0e1e2 Merge pull request #3302 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 92278796c3
2025-12-02 22:18:31 +01:00
Claire
d600950b83 Remove unmaintained win95 theme 2025-12-02 21:06:16 +01:00
Claire
1ca3894048 Replace old glitch-soc themes by the new ones 2025-12-02 21:04:31 +01:00
Claire
13cf55c501 Merge commit '92278796c3d0fa43c08bd59f66815b196fb273a3' into glitch-soc/merge-upstream
Conflicts:
- `app/helpers/theme_helper.rb`:
  Upstream removed the feature flag and refactored, while we have a slightly
  different theming system.
  Updated accordingly.
- `stylelint.config.js`:
  Upstream removed overrides for the temporary themes.
  Did the same.
2025-12-02 20:45:10 +01: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
Claire
a4357def8a Merge pull request #3301 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 37ccffa95a
2025-12-01 00:02:53 +01:00
diondiondion
bb097056dc [Glitch] Fix current item in pagination not highlighted with new theme tokens
Port 37ccffa95a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:52:13 +01:00
diondiondion
906dd88d7e [Glitch] Fix post navigation in single-column mode when Advanced UI is enabled
Port f12f198f61 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:51:49 +01:00
diondiondion
b3135c1eed [Glitch] Limit height of tall images in posts
Port 5f33ac208f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:51:21 +01:00
diondiondion
b1d00f288f [Glitch] Contain tall videos in full-width video container
Port 2bd7c855b0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:50:56 +01:00
Claire
7bc48f2833 [Glitch] Fix filters not applying to search results
Port 44ff2c32d3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:50:23 +01:00
Echo
9ede21cbe2 [Glitch] Fix media modal misalignment in Safari
Port f07cff42c2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:50:01 +01:00
Echo
17379b73f7 [Glitch] Replace Rails UJS library
Port 0d2e9522ff to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:48:45 +01:00
Claire
99ff59b7b2 Merge commit '37ccffa95a30772b55e3f18d486d699ee6c5f9e8' into glitch-soc/merge-upstream 2025-11-30 17:47:27 +01:00
diondiondion
51698213b5 [Glitch] Remove unused bundle-related Redux actions
Port 07ecf648dd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:03:10 +01:00
diondiondion
78feddec79 [Glitch] Fix error page when logging out or boosting on mobile
Port e126cfc76d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:02:04 +01:00
diondiondion
9d47d6790f [Glitch] Fix null access error in card component
Port ee7e756e89 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:01:23 +01:00
diondiondion
3b4b57e950 [Glitch] Refactor Card component to TypeScript
Port f87f30c1ac to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 17:00:53 +01:00
diondiondion
b75a01634e [Glitch] Fix issues in new theme tokens
Port 59e48657cf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 16:51:16 +01:00
diondiondion
18d46054b5 [Glitch] Replace most unsafe React lifecycle methods
Port 8c772028ac to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 16:50:13 +01:00
diondiondion
281d12d5d6 [Glitch] Prevent vertical videos from overflowing the viewport
Port 861625fdca to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-30 16:41:33 +01:00
Claire
44e6abe48b Merge commit '0004ed4c8021ebd400d32eb32a5e479ebd7bcf91' into glitch-soc/merge-upstream 2025-11-30 16:40:18 +01:00
Claire
2e543ff246 Port new refactored themes to glitch-soc (#3296) 2025-11-30 16:37:40 +01: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
Claire
7e7c21032b Merge pull request #3300 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to ca53195b31
2025-11-25 18:48:10 +01:00
Claire
382dec843b [Glitch] Fix compose autosuggest always lowercasing token
Port a26636ff1f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-25 18:23:34 +01:00
Claire
868d45df2f Merge commit 'ca53195b31ef7eb9205f879e022b09b28efc9314' into glitch-soc/merge-upstream 2025-11-25 18:22:48 +01: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
Claire
4d92051f40 Merge pull request #3299 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 76d8ac3fe6
2025-11-24 19:26:06 +01:00
Claire
b76530a7f1 Merge commit '76d8ac3fe680e92d20059c590ccb1cd8f74078c2' into glitch-soc/merge-upstream 2025-11-24 19:08:03 +01: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
Claire
5885b6715a Merge pull request #3295 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 585545d0d5
2025-11-21 23:09:23 +01:00
diondiondion
975c7097b8 [Glitch] Refactor PrivacyDropdown to TypeScript
Port 8a235dd187 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-21 19:35:20 +01:00
Claire
652ed7ab50 Merge commit '585545d0d5678a6ea4b958af4a3bc6593134d0f6' into glitch-soc/merge-upstream 2025-11-21 19:33:14 +01: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
2f2065751d Merge pull request #3294 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 21ce99f746
2025-11-20 22:44:55 +01:00
diondiondion
aec23fd4a2 [Glitch] Fix error when visiting non-public hashtag timelines
Port f01e80bed3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-20 18:20:53 +01:00
Darius Kazemi
8e70c54d0e [Glitch] Remove stray Font Awesome styles
Port dc67dbba82 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-20 18:19:33 +01:00
Claire
284223f45f [Glitch] Fix statuses without text disappearing on reload
Port bb9a633b99 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-20 18:19:11 +01:00
Echo
8e68d6c6bf [Glitch] Improve media modal swipe animation
Port ea616ac4a4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-20 18:18:46 +01:00
Claire
dd7d750f5d Merge commit '21ce99f746e17867df74029d3b2caca45588818d' into glitch-soc/merge-upstream 2025-11-20 18:13:37 +01: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
Claire
21110f0270 Fix d bookmark keyboard shortcut (#3285) 2025-11-19 22:25:53 +01:00
Claire
4612014192 Merge pull request #3288 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 366856f3bc
2025-11-19 22:25:28 +01:00
diondiondion
b1974a2147 [Glitch] Fix g + h keyboard shortcut not working when a post is focused
Port 4d0aab4a31 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-19 22:07:22 +01:00
Claire
c57ca36006 [Glitch] Fix quoting overwriting current content warning
Port c22b203bca to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-19 22:07:22 +01:00
Claire
69dfde3153 [Glitch] Fix scroll-to-status in threaded view being unreliable
Port be0e23bb0a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-19 22:07:22 +01:00
Claire
c5a6519af9 [Glitch] Change private quote education modal to not show up on self-quotes
Port c820c66d3c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-19 21:54:24 +01:00
Claire
9c7f27ba14 [Glitch] Fix double encoding in links
Port b4daad8c89 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-19 21:51:54 +01:00
Echo
76ba4000d9 [Glitch] Emoji: Fix path resolution for emoji worker
Port caffb0fd63 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-19 21:51:34 +01:00
diondiondion
89d04f3bb3 [Glitch] Fix superfluous border & spacing in domains list on the Moderation > Federation page
Port 72c582e7e5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-19 21:50:37 +01:00
Claire
7a56972381 Merge commit '366856f3bcdc2ff008b04e493a5de317ab83d5d0' into glitch-soc/merge-upstream 2025-11-19 21:49:09 +01:00
Claire
a4fd9b704a Merge commit '284b46fee7ad682b52c99d0455a1134e1d4e3fc3' into glitch-soc/merge-upstream
Conflicts:
- `app/helpers/theme_helper.rb`:
  Upstream added an experimental feature flag to try out theme refactors.
  Glitch-soc's theming system is too different, so skips the new feature flag.
- `stylelint.config.js`:
  Ditto.
2025-11-19 21:34:53 +01:00
Claire
fa721568e0 Change quotes to inherit local-only status of quoted post in composer (#3286) 2025-11-19 21:28:51 +01: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
41279ac801 Fix threaded mode not resetting quote (#3284) 2025-11-18 18:38:53 +01:00
Claire
902b5a169c Clean up CSS differences with upstream (#3283) 2025-11-18 18:38:48 +01: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
932f479a34 Fix missing alt-text confirmation modal not opening (#3281) 2025-11-15 12:03:56 +01:00
Claire
8839ecf2a4 Merge pull request #3279 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to c87b052829
2025-11-15 11:18:59 +01:00
Claire
5645a017b3 [Glitch] Fix inability to paste links
Port c87b052829 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-14 18:29:07 +01:00
Echo
8817ebda50 [Glitch] Remove rails delegate
Port 7dbb2ac79a to glitch-soc

Co-authored-by: Renaud Chaput <renchap@gmail.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-14 18:28:42 +01:00
Jeong Arm
f782c2c8e9 [Glitch] Allow drag&drop of link to quote in compose form
Port 4ab1d5d724 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-14 18:27:29 +01:00
Echo
ee257dc307 [Glitch] Fix error with remote tags including percent signs
Port c5eca8ffb2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-14 18:26:42 +01:00
Claire
8240644b6e [Glitch] Fix bogus quote approval policy not always being replaced correctly
Port f25e066112 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-14 18:25:37 +01:00
Claire
593d21d2ed [Glitch] Fix hashtag completion not being inserted correctly
Port 6d8c43ab85 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-14 18:24:45 +01:00
diondiondion
951816c5d6 [Glitch] Fix Cmd/Ctrl + Enter in the composer triggering confirmation dialog action
Port 6e294828d6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-14 18:24:22 +01:00
Claire
e0d7230f97 Merge commit 'c87b05282909383353a9561e97b9f18a2db0766d' into glitch-soc/merge-upstream 2025-11-14 18:19:00 +01: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
101bd01e6e Merge pull request #3277 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 98c8c1ebd2
2025-11-13 18:40:45 +01:00
Claire
d53ff25529 [Glitch] Fix error when sending new posts
Port 98c8c1ebd2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-13 18:14:59 +01:00
Claire
8ab9040afc [Glitch] Fix posts coming from public/hashtag streaming being marked as unquotable
Port 9dbebbb2ee to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-13 18:14:42 +01:00
diondiondion
19cc39abf0 [Glitch] Fix Cmd/Ctrl + Enter not submitting Alt text modal on some browsers
Port 998d4cc0dc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-13 18:14:27 +01:00
Claire
bebc79d160 Merge commit '98c8c1ebd278f59e97c7d17628e7710cd4c933d4' into glitch-soc/merge-upstream 2025-11-13 18:12:49 +01: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
Claire
9dd7c816d2 Merge pull request #3275 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 7e7f63a2ef
2025-11-12 19:35:15 +01:00
Claire
191d6b071c [Glitch] Revert "Ensure the boost button shows a numeric value (#36805)"
Port 8abec0ffcb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-12 18:15:19 +01:00
Echo
5f01e75290 [Glitch] Fix deprecation warning in Vite
Port 00cbc1b910 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-12 18:14:54 +01:00
diondiondion
1c749e21f8 [Glitch] Fixes blank screen in browsers that don't support Intl.DisplayNames
Port f303f3458d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-12 18:14:11 +01:00
Claire
01f9397e37 [Glitch] Fix filters not being applied to quotes in detailed view
Port 9f3573d446 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-12 18:13:49 +01:00
Echo
62ce66dacb [Glitch] Fix duplicate counters
Port 4b1532e008 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-12 18:13:27 +01:00
Claire
9525134c28 Merge commit '7e7f63a2efc83edd7c59a12e55eaab9509a4c15b' into glitch-soc/merge-upstream 2025-11-12 18:11:41 +01: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
Claire
12ac3317aa Merge pull request #3273 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to b5a2fe715d
2025-11-12 09:49:33 +01:00
diondiondion
fdfbc63199 [Glitch] Fix icon buttons animating when they haven't changed
Port b53ee04475 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-11 20:25:33 +01:00
Echo
e265c6bd4c [Glitch] Emoji: Load emoji with hash in URL
Port ff5d745e3d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-11 20:25:14 +01:00
Claire
48146e5371 Merge commit 'b5a2fe715d158d5fdf4ad9ddef0787b781b4da6e' into glitch-soc/merge-upstream 2025-11-11 20:22:04 +01: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
Asahi Lina
394ed551bb Serialize legacy quotes (#3203) 2025-11-11 13:23:51 +01:00
Claire
565f437f93 Merge pull request #3230 from glitch-soc/i18n/crowdin/translations
New Crowdin Translations (automated)
2025-11-11 12:51:18 +01: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
Claire
095a9571e2 Update simple_form.no.yml 2025-11-11 12:15:55 +01:00
Claire
7ca2a7d9d6 Update no.yml 2025-11-11 12:15:43 +01:00
diondiondion
b53ee04475 Fix icon buttons animating when they haven't changed (#36824) 2025-11-11 11:10:27 +00:00
Claire
2759bafe09 Merge pull request #3272 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1c3e7545cb
2025-11-11 12:07:29 +01: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
Echo
f5cbe73d76 [Glitch] Centers GIFs in media modal
Port 4ddddc2573 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-10 23:04:50 +01:00
diondiondion
5af57000a0 [Glitch] Fix scroll shift caused by fetch-all-replies alerts
Port 400943cb4e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-10 22:30:53 +01:00
Echo
c428129c48 [Glitch] Ensure the boost button shows a numeric value
Port 9a42d00c12 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-10 22:30:26 +01:00
Renaud Chaput
5b75667c03 [Glitch] Update to latest eslint-plugin-react-hooks
Port 9addad8ce5 to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-10 22:29:58 +01:00
diondiondion
01f7a6796f [Glitch] Fix dropdown menu not focusing first item when opened via keyboard
Port 1280792678 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-10 22:22:49 +01:00
Claire
d31aaf9ed8 Merge commit '1c3e7545cb6137025a6efd208d195352c54ffda8' into glitch-soc/merge-upstream 2025-11-10 22:18:01 +01: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
GitHub Actions
91d17b5891 New Crowdin translations 2025-11-09 04:34:42 +00:00
Claire
6153479bad Merge pull request #3271 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 441eb89537
2025-11-08 18:19:16 +01:00
Echo
474cab03bd [Glitch] Reset background color on media modal
Port 882afd7748 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-08 10:46:33 +01:00
Claire
08ef682995 [Glitch] Fix prepared quote not being discarded with contents when replying
Port 315833cb75 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-08 10:46:14 +01:00
Claire
c1ef6e31cb Merge commit '441eb895371cf8ed6a5b8e294367bbbfd0f4c037' into glitch-soc/merge-upstream 2025-11-08 10:44:43 +01: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
Claire
4d44f4c57e Merge pull request #3270 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 6f1a30c4a6
2025-11-06 15:15:19 +01: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
152505dd9e Merge commit '6f1a30c4a6ea49ff7935f19f5a2cefab3eee9e7c' into glitch-soc/merge-upstream 2025-11-06 14:43:18 +01:00
Claire
6f1a30c4a6 Bump version to v4.5.0 (#36754) 2025-11-06 13:24:58 +00:00
Claire
1a890d2077 Merge pull request #3268 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 58b3fc0379
2025-11-06 13:09:22 +01:00
diondiondion
c8ebc974d1 [Glitch] Refactor "New/Edit list" page to avoid setting state in effect
Port 58b3fc0379 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-06 12:44:11 +01:00
Echo
53780dd49e [Glitch] Fix: correctly dismisses announcement when viewed
Port 41a4022988 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-06 12:43:47 +01:00
Echo
663f93ca6a [Glitch] Add default visualizer for audio upload without poster
Port 987104f435 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-06 12:43:23 +01:00
Echo
13395e2d4d [Glitch] Add new ESLint rule requiring explicit button types
Port 6337e036f3 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-06 12:42:17 +01:00
diondiondion
e1b7da0985 [Glitch] Fix spoiler toggle button being able to submit compose form
Port 1b8d1cd6e4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-06 12:37:39 +01:00
diondiondion
ce080a1ca8 [Glitch] Add some outer page spacing when viewport width equals content width
Port 947dfcc548 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-06 12:37:17 +01:00
Claire
58b29be439 Merge commit '58b3fc03796dbde54dbba9a4c554c2d8d24f81fd' into glitch-soc/merge-upstream 2025-11-06 12:35:04 +01: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
a18d96ae2d Merge pull request #3264 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 26e7fe9771
2025-11-04 21:30:24 +01:00
Claire
9475eeaada [Glitch] Change paste-link-to-quote loading state from generic loading bar to compose placeholder
Port 26e7fe9771 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 21:00:09 +01:00
Claire
e24151f688 [Glitch] Change quote action to error instead of insert link in Private Mentions
Port 1b795c12e9 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:59:48 +01:00
Echo
58158eba00 [Glitch] Quote Posts: Add notifications for DMs and private posts
Port 3ab5ae1e4a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:58:52 +01:00
Claire
e011d0fc53 [Glitch] Fix Skeleton placeholders being animated when setting to reduce animations is enabled
Port 4a9460f7bd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:50:18 +01:00
Echo
7d8dc68c5b [Glitch] Refactor: Media Modal
Port 90d4b3b943 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:49:58 +01:00
Echo
649187c30e [Glitch] Remove announcement margin when in Advanced Web Interface
Port 13457111d5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:44:14 +01:00
Claire
4b5282881a [Glitch] Fix quote dropdown menu item in detailed status view
Port 3a54d56fbd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:43:54 +01:00
Claire
a116d11bc6 [Glitch] Remove option to disable access to local topic feeds for logged-in users
Port b5c550ff0b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:43:34 +01:00
Jeong Arm
31b72c0600 [Glitch] Reverse 'Hide/Show all' eye icon for thread view
Port b999a626e5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-04 20:43:02 +01:00
Claire
a7ba4ba446 Merge commit '26e7fe97714d077930621f9111b7eaad2774df65' into glitch-soc/merge-upstream 2025-11-04 20:38:24 +01: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
Claire
310ae6317e Merge pull request #3262 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to d1f57822af
2025-11-03 21:31:16 +01:00
Claire
5c7d22e60a [Glitch] Disable paste-link-to-quote flow when composing Private Mentions
Port bae5877c84 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-11-03 21:09:40 +01:00
Claire
8d1208224f Merge commit 'd1f57822af0da2b2836e33baab5f89469ac6fa25' into glitch-soc/merge-upstream 2025-11-03 21:04:45 +01: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
Claire
6dff6ae7f3 Merge pull request #3259 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 055f581ca5
2025-10-31 18:55:20 +01:00
diondiondion
2ab482da18 [Glitch] Fix initially selected language in Rules panel, hide selector when no alternative translations exist
Port 055f581ca5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-31 18:15:48 +01:00
diondiondion
a0686536c6 [Glitch] Add separate translation key for "About this server" string
Port 499ddfe8e1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-31 18:15:25 +01:00
diondiondion
3d80e8b021 [Glitch] Show error when submitting empty post rather than failing silently
Port fcecbf31ed to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-31 18:14:58 +01:00
Echo
43fbff50b5 [Glitch] Fix: Ensure carousel focuses on wrapper
Port 28cb345131 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-31 18:13:59 +01:00
Echo
9f8e812c56 [Glitch] Refactor carousel components
Port e7cd5a430e to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-31 18:13:35 +01:00
Claire
6ff4dad89d Merge commit '055f581ca58b62132c1eff23453031d9df9dbf0e' into glitch-soc/merge-upstream 2025-10-31 18:03:21 +01: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
868d782b2b Merge pull request #3257 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 2a9c7d2b9e
2025-10-29 14:07:12 +01:00
Claire
1b60f597d7 Merge commit '2a9c7d2b9e51cdfbc636972c0f9ffdbe06c02d59' into glitch-soc/merge-upstream 2025-10-29 13:42:26 +01:00
Claire
2a9c7d2b9e Fix quote-inline fallback being removed even for legacy quotes (#36638) 2025-10-29 11:56:34 +00:00
Claire
9db64d6908 Merge pull request #3256 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 51877081b4
2025-10-29 12:45:31 +01:00
Claire
074b3fe57e [Glitch] Change display of blocked and muted quoted users
Port e437bb919f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-29 12:25:47 +01:00
Claire
002e592667 Merge commit '51877081b435b38e1c5bd449087279469fa7c667' into glitch-soc/merge-upstream 2025-10-29 12:24:49 +01: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
8f00874a0e Merge pull request #3255 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 4896d2c4c6
2025-10-28 23:20:31 +01:00
Claire
ac920eb364 Fix javascript linting error 2025-10-28 23:04:36 +01:00
Claire
d04e6ec597 Remove glitch-soc system emoji font option now that it's superseded by upstream 2025-10-28 22:57:31 +01:00
diondiondion
24234e6632 [Glitch] chore(deps): update dependency eslint-plugin-jsdoc to v60
Port e1bd9b944a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:46:27 +01:00
Claire
8cd8e69c4b [Glitch] Change firehose labels depending on which feeds are accessible
Port 4896d2c4c6 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:38:23 +01:00
Claire
293b8f6744 [Glitch] Change styling of column banners
Port 26ec19a649 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:36:11 +01:00
Claire
48f2597a36 [Glitch] Hashtag fixes
Port b01d21c4d4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:35:41 +01:00
Echo
12c487cc3e [Glitch] Fix props in DisplayName component
Port 9c7d09993d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:34:56 +01:00
Echo
adfa407f6b [Glitch] Emoji: Remove final flag
Port 85d0cdb5f7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:34:14 +01:00
Claire
c43a5a1834 [Glitch] Fix mention matching ignoring path
Port 3ccb6632f2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:20:52 +01:00
Claire
52e2d24a4b [Glitch] Fix URL comparison for mentions in case of empty path
Port 3bf99b8a4a to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:20:27 +01:00
Echo
f94353e1e3 [Glitch] Emoji: Fix Web Worker import
Port d0d09fd3a5 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:19:21 +01:00
Eugen Rochko
0565eb62d6 [Glitch] Fix hashtags not being picked up when full-width hash sign is used
Port 779a1f8448 to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 22:19:01 +01:00
Claire
48ec31bec8 Merge commit '4896d2c4c6d3bd6b878c5a075b6611c65d4203b2' into glitch-soc/merge-upstream
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
  Upstream changed stuff too close to glitch-soc's theming system changes.
  Applied upstream's changes.
- `streaming/index.js`:
  Upstream refactored a bunch of stuff where our code was different due to
  local-only posts.
  Applied upstream's changes while taking care of local-only posts.
2025-10-28 22:10:12 +01:00
Claire
3bd56b92c1 Reimplement misleading link tagging in new HTML handling code (#3254) 2025-10-28 21:59:53 +01:00
Claire
70b8281730 Reimplement mention rewriting in new HTML handling code (#3247) 2025-10-28 21:22:36 +01:00
Claire
fb9e33099f Merge pull request #3253 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1dead10312
2025-10-28 20:54:49 +01:00
Claire
79169408b0 Fix tests on glitch-soc 2025-10-28 20:39:10 +01:00
Renaud Chaput
5a051d07c6 [Glitch] Add a new setting to choose the server landing page
Port 779a1f8448 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-28 20:26:40 +01:00
Claire
5f3f75559f Merge commit '1dead10312caa0cc7719cb80052af549ddf3e6a1' into glitch-soc/merge-upstream 2025-10-28 20:25:09 +01: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
Claire
7f19b5ca2b Merge pull request #3252 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 1ba579b0a1
2025-10-24 11:27:13 +02:00
diondiondion
305f1e5757 [Glitch] Fix "new post highlighting" in threads being applied when navigating between posts
Port 1ba579b0a1 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-23 18:45:53 +02:00
Claire
b11bd2bdbb [Glitch] Add UI support for disabled live feeds
Port 2fa5dd6d1f to glitch-soc

Co-authored-by: diondiondion <mail@diondiondion.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-23 18:45:27 +02:00
Claire
deed31ba8c Merge commit '1ba579b0a181fbfff514ef32b50179d2ab1fc342' into glitch-soc/merge-upstream
Conflicts:
- `app/models/public_feed.rb`:
  Minor conflict due to glitch-soc's local-only posts.
  Adopted upstream's changes.
- `spec/models/tag_feed_spec.rb`:
  Minor conflict due to glitch-soc's local-only posts.
  Adopted upstream's changes.
2025-10-23 18:33:52 +02: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
c6e2ac5af9 Merge pull request #3251 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 9f7075a0ce
2025-10-23 10:36:11 +02:00
Claire
ee87afd6a4 [Glitch] Remove unnecessary restrictions on HTML handling
Port 9f7075a0ce to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-22 18:08:21 +02:00
diondiondion
2d8b7a7fd8 [Glitch] Fix text overflow alignment for long author names in News
Port 7538bc77b7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-22 18:08:00 +02:00
diondiondion
cbc07af929 [Glitch] Refresh thread replies periodically & when refocusing window
Port 7ea2af6ae2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2025-10-22 18:07:34 +02:00
Claire
ee9a15031b Merge commit '9f7075a0ce2b6ecef8d92ef318785fa8ce708688' into glitch-soc/merge-upstream 2025-10-22 18:06:32 +02: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
a0aa5fe8ea Merge pull request #3250 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to 17eb1a7e66
2025-10-21 21:36:50 +02:00
Claire
209434cb1d Merge commit '17eb1a7e668dbba6e79612395b99407e8e8de6b9' into glitch-soc/merge-upstream 2025-10-21 18:15:56 +02: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
2837 changed files with 109273 additions and 43588 deletions

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

@@ -56,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
@@ -73,7 +73,7 @@ services:
hard: -1
libretranslate:
image: libretranslate/libretranslate:v1.6.2
image: libretranslate/libretranslate:v1.7.3
restart: unless-stopped
volumes:
- lt-data:/home/libretranslate/.local

View File

@@ -318,21 +318,3 @@ MAX_POLL_OPTION_CHARS=100
# -----------------------
IP_RETENTION_PERIOD=31556952
SESSION_RETENTION_PERIOD=31556952
# Fetch All Replies Behavior
# --------------------------
# Period to wait between fetching replies (in minutes)
FETCH_REPLIES_COOLDOWN_MINUTES=15
# Period to wait after a post is first created before fetching its replies (in minutes)
FETCH_REPLIES_INITIAL_WAIT_MINUTES=5
# Max number of replies to fetch - total, recursively through a whole reply tree
FETCH_REPLIES_MAX_GLOBAL=1000
# Max number of replies to fetch - for a single post
FETCH_REPLIES_MAX_SINGLE=500
# Max number of replies Collection pages to fetch - total
FETCH_REPLIES_MAX_PAGES=500

View File

@@ -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.4.4)
- Ruby version: (from `ruby --version`, eg. v3.4.9)
- Node.js version: (from `node --version`, eg. v22.16.0)
validations:
required: false

View File

@@ -60,7 +60,7 @@ body:
value: |
Please at least include those informations:
- Operating system: (eg. Ubuntu 24.04.2)
- Ruby version: (from `ruby --version`, eg. v3.4.4)
- Ruby version: (from `ruby --version`, eg. v3.4.9)
- Node.js version: (from `node --version`, eg. v22.16.0)
validations:
required: false

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

@@ -14,10 +14,10 @@ runs:
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev libvips42 ${{ inputs.additional-system-dependencies }}
sudo apt-get install --no-install-recommends -y libicu-dev libidn11-dev libvips42 ${{ inputs.additional-system-dependencies }}
- name: Set up Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@4eb9f110bac952a8b68ecf92e3b5c7a987594ba6 # v1
with:
ruby-version: ${{ inputs.ruby-version }}
bundler-cache: true

View File

@@ -5,7 +5,6 @@
'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',
@@ -23,8 +22,6 @@
// Require Dependency Dashboard Approval for major version bumps of these node packages
matchManagers: ['npm'],
matchPackageNames: [
'tesseract.js', // Requires code changes
// react-router: Requires manual upgrade
'history',
'react-router-dom',
@@ -116,6 +113,7 @@
],
matchUpdateTypes: ['major'],
groupName: 'artifact actions (major)',
extends: ['helpers:pinGitHubActionDigests'],
},
{
// Update @types/* packages every week, with one grouped PR
@@ -156,9 +154,15 @@
groupName: 'opentelemetry-ruby (non-major)',
},
{
// Group Playwright Ruby & JS deps in the same PR, as they need to be in sync
matchManagers: ['bundler', 'npm'],
matchPackageNames: ['playwright-ruby-client', 'playwright'],
// 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

View File

@@ -35,7 +35,7 @@ jobs:
- linux/arm64
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Prepare
env:
@@ -47,19 +47,19 @@ jobs:
image_names=${PUSH_TO_IMAGES//$'\n'/,}
echo "IMAGE_NAMES=${image_names%,}" >> $GITHUB_ENV
- uses: docker/setup-buildx-action@v3
- 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 }}
@@ -67,7 +67,7 @@ jobs:
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
if: ${{ inputs.push_to_images != '' }}
with:
images: ${{ inputs.push_to_images }}
@@ -76,7 +76,7 @@ jobs:
- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6
with:
context: .
file: ${{ inputs.file_to_build }}
@@ -100,7 +100,7 @@ jobs:
- name: Upload digest
if: ${{ inputs.push_to_images != '' }}
uses: actions/upload-artifact@v4
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 }}
@@ -119,10 +119,10 @@ jobs:
PUSH_TO_IMAGES: ${{ inputs.push_to_images }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
path: ${{ runner.temp }}/digests
# `hashFiles` is used to disambiguate between streaming and non-streaming images
@@ -131,25 +131,25 @@ jobs:
- 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 }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
if: ${{ inputs.push_to_images != '' }}
with:
images: ${{ inputs.push_to_images }}

View File

@@ -18,7 +18,7 @@ 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 ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT

View File

@@ -9,7 +9,44 @@ 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
@@ -20,13 +57,14 @@ 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}}
secrets: inherit
build-image-streaming:
needs: check-latest-stable
uses: ./.github/workflows/build-container-image.yml
with:
file_to_build: streaming/Dockerfile
@@ -37,7 +75,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

@@ -28,10 +28,10 @@ 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@4eb9f110bac952a8b68ecf92e3b5c7a987594ba6 # v1
with:
bundler-cache: true

View File

@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby
@@ -42,8 +42,7 @@ jobs:
- name: Check for missing strings in English YML
run: |
bin/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: bin/i18n-tasks check-consistent-interpolations

View File

@@ -1,31 +1,51 @@
name: 'Chromatic'
permissions:
contents: read
on:
push:
branches-ignore:
- renovate/*
- stable-*
paths:
- 'package.json'
- 'yarn.lock'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '**/*.css'
- '**/*.scss'
- '.github/workflows/chromatic.yml'
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
if: github.repository == 'mastodon/mastodon'
needs: pathcheck
if: github.repository == 'mastodon/mastodon' && needs.pathcheck.outputs.changed == 'true'
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
@@ -33,9 +53,10 @@ jobs:
run: yarn build-storybook
- name: Run Chromatic
uses: chromaui/action@v12
uses: chromaui/action@07791f8243f4cb2698bf4d00426baf4b2d1cb7e0 # v13
with:
# ⚠️ Make sure to configure a `CHROMATIC_PROJECT_TOKEN` repository secret
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

@@ -31,11 +31,11 @@ jobs:
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

@@ -13,7 +13,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?
@@ -24,7 +24,7 @@ jobs:
# Download the translation files from Crowdin
- name: crowdin action
uses: crowdin/github-action@v2
uses: crowdin/github-action@b4b468cffefb50bdd99dd83e5d2eaeb63c880380 # v2
with:
config: crowdin-glitch.yml
upload_sources: false
@@ -51,7 +51,7 @@ jobs:
# Create or update the pull request
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7.0.8
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)'

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:
config: crowdin-glitch.yml
upload_sources: false
@@ -53,7 +53,7 @@ jobs:
# Create or update the pull request
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8
with:
commit-message: 'New Crowdin translations'
title: 'New Crowdin Translations (automated)'

View File

@@ -23,10 +23,10 @@ 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:
config: crowdin-glitch.yml
upload_sources: true

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,7 +32,7 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript

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@4eb9f110bac952a8b68ecf92e3b5c7a987594ba6 # v1
with:
bundler-cache: true
- name: Run haml-lint
run: |
echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json"
bin/haml-lint --reporter github

View File

@@ -10,7 +10,6 @@ on:
- 'yarn.lock'
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- 'eslint.config.mjs'
- '**/*.js'
- '**/*.jsx'
@@ -24,7 +23,6 @@ on:
- 'yarn.lock'
- 'tsconfig.json'
- '.nvmrc'
- '.prettier*'
- 'eslint.config.mjs'
- '**/*.js'
- '**/*.jsx'
@@ -38,7 +36,7 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript

View File

@@ -35,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@4eb9f110bac952a8b68ecf92e3b5c7a987594ba6 # 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

@@ -34,7 +34,7 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript

View File

@@ -72,7 +72,7 @@ jobs:
BUNDLE_RETRY: 3
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Ruby environment
uses: ./.github/actions/setup-ruby

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,7 +43,7 @@ jobs:
onlyProduction: 'true'
- name: Cache assets from compilation
uses: actions/cache@v4
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
with:
path: |
public/assets
@@ -65,7 +65,7 @@ jobs:
run: |
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: |-
@@ -124,13 +124,12 @@ jobs:
fail-fast: false
matrix:
ruby-version:
- '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 +150,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 +166,12 @@ jobs:
- name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
with:
files: coverage/lcov/*.lcov
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-imagemagick:
name: ImageMagick tests
runs-on: ubuntu-latest
needs:
- build
services:
postgres:
image: postgres:14-alpine
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
options: >-
--health-cmd pg_isready
--health-interval 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
COVERAGE: ${{ 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: false
strategy:
fail-fast: false
matrix:
ruby-version:
- '3.2'
- '3.3'
- '.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 imagemagick libpam-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@v5
with:
files: coverage/lcov/mastodon.lcov
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-e2e:
name: End to End testing
runs-on: ubuntu-latest
@@ -304,14 +216,13 @@ jobs:
fail-fast: false
matrix:
ruby-version:
- '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 }}
@@ -334,7 +245,7 @@ jobs:
- name: Cache Playwright Chromium browser
id: playwright-cache
uses: actions/cache@v4
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5
with:
path: ~/.cache/ms-playwright
key: playwright-browsers-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
@@ -350,14 +261,14 @@ jobs:
- 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-${{ matrix.ruby-version }}
@@ -435,21 +346,20 @@ jobs:
fail-fast: false
matrix:
ruby-version:
- '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 }}
@@ -469,15 +379,8 @@ 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
if: failure()
with:
name: test-search-screenshots
path: tmp/capybara/

1
.gitignore vendored
View File

@@ -23,6 +23,7 @@
/public/packs
/public/packs-dev
/public/packs-test
stats.html
.env
.env.production
node_modules/

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 @@
22.20
24.14

99
.oxfmtrc.json Normal file
View File

@@ -0,0 +1,99 @@
{
"$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",
"app/javascript/flavours/glitch/styles/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",
// Automatically generated (glitch-soc)
"/app/javascript/flavours/glitch/features/emoji/emoji_map.json",
"/app/javascript/flavours/glitch/features/emoji/emoji_data.json",
"/app/javascript/flavours/glitch/locales/*.json",
"/config/locales-glitch",
// 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/**", "flavours/glitch/**", "@/**"]
}
]
}
}

View File

@@ -1,100 +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
.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
/public/vite*
# Ignore emoji map file
/app/javascript/mastodon/features/emoji/emoji_map.json
/app/javascript/mastodon/features/emoji/emoji_data.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
# Ignore config YAML files that include ERB/ruby code prettier does not understand
/config/email.yml
# Ignore glitch-soc emoji map file
/app/javascript/flavours/glitch/features/emoji/emoji_map.json
/app/javascript/flavours/glitch/features/emoji/emoji_data.json
# Ignore glitch-soc locale files
/app/javascript/flavours/glitch/locales
/config/locales-glitch
# Ignore glitch-soc vendored CSS reset
app/javascript/flavours/glitch/styles/reset.scss
# Ignore win95 theme
app/javascript/styles/win95.scss

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.2 # Oldest supported ruby version
TargetRubyVersion: 3.3 # Oldest supported ruby version
inherit_from:
- .rubocop/layout.yml

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 +1 @@
3.4.7
3.4.9

View File

@@ -3,7 +3,18 @@ import { resolve } from 'node:path';
import type { StorybookConfig } from '@storybook/react-vite';
const config: StorybookConfig = {
stories: ['../app/javascript/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
stories: [
{
directory: '../app/javascript/mastodon',
files: '**/*.stories.@(js|jsx|mjs|ts|tsx)',
titlePrefix: 'Vanilla',
},
{
directory: '../app/javascript/flavours/glitch',
files: '**/*.stories.@(js|jsx|mjs|ts|tsx)',
titlePrefix: 'Glitch',
},
],
addons: [
'@storybook/addon-docs',
'@storybook/addon-a11y',
@@ -27,11 +38,12 @@ const config: StorybookConfig = {
'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(__dirname, '../app/javascript');
config.root = resolve(import.meta.dirname, '../app/javascript');
return config;
},
};

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

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

View File

@@ -11,19 +11,25 @@ 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';
// If you want to run the dark theme during development,
// you can change the below to `/application.scss`
import '../app/javascript/styles/mastodon-light.scss';
import { modes } from './modes';
import '../app/javascript/styles/application.scss';
import './styles.css';
const localeFiles = import.meta.glob('@/mastodon/locales/*.json', {
query: { as: 'json' },
});
// Disabling locales in Storybook as it's breaking with Vite 8.
// const localeFiles = import.meta.glob('@/mastodon/locales/*.json', {
// query: { as: 'json' },
// });
// Initialize MSW
initialize({
@@ -34,28 +40,57 @@ const preview: Preview = {
// Auto-generate docs: https://storybook.js.org/docs/writing-docs/autodocs
tags: ['autodocs'],
globalTypes: {
locale: {
description: 'Locale for the story',
// 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: 'Locale',
icon: 'globe',
items: Object.keys(localeFiles).map((path) =>
path.replace('/mastodon/locales/', '').replace('.json', ''),
),
title: 'Theme',
icon: 'circlehollow',
items: [{ value: 'light' }, { value: 'dark' }],
dynamicTitle: true,
},
},
},
initialGlobals: {
locale: 'en',
theme: 'light',
},
decorators: [
(Story, { parameters, globals, args }) => {
(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 { state: argsState = {} } = args;
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(
{
@@ -64,7 +99,7 @@ const preview: Preview = {
},
},
state as Record<string, unknown>,
argsState as Record<string, unknown>,
argsState,
);
const store = configureStore({
@@ -102,15 +137,18 @@ const preview: Preview = {
}, [currentLocale, currentLocaleData]);
return (
<IntlProvider
locale={currentLocale}
messages={currentLocaleData}
textComponent='span'
>
<IntlProvider locale={currentLocale} messages={currentLocaleData}>
<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 />
@@ -127,7 +165,12 @@ const preview: Preview = {
</MemoryRouter>
),
],
loaders: [mswLoader],
loaders: [
mswLoader,
importCustomEmojiData,
importLegacyShortcodes,
({ globals: { locale } }) => importEmojiData(locale as string),
],
parameters: {
layout: 'centered',
@@ -152,6 +195,13 @@ const preview: Preview = {
msw: {
handlers: mockHandlers,
},
chromatic: {
modes: {
dark: modes.darkTheme,
light: modes.lightTheme,
},
},
},
};

View File

@@ -7,7 +7,7 @@
* - Please do NOT modify this file.
*/
const PACKAGE_VERSION = '2.11.3'
const PACKAGE_VERSION = '2.12.14'
const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82'
const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
const activeClientIds = new Set()
@@ -205,6 +205,7 @@ async function resolveMainClient(event) {
* @param {FetchEvent} event
* @param {Client | undefined} client
* @param {string} requestId
* @param {number} requestInterceptedAt
* @returns {Promise<Response>}
*/
async function getResponse(event, client, requestId, requestInterceptedAt) {

View File

@@ -1,7 +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 {};

View File

@@ -1,8 +0,0 @@
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

@@ -50,6 +50,8 @@ You can contribute in the following ways:
Please review the org-level [contribution guidelines] for high-level acceptance
criteria guidance and the [DEVELOPMENT] guide for environment-specific details.
You should also read the project's [AI Contribution Policy] to understand how we approach
AI-assisted contributions.
## API Changes and Additions
@@ -80,7 +82,7 @@ reviewed and merged into the codebase.
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.
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
@@ -130,3 +132,4 @@ and API docs. Improvements are made via PRs to the [documentation repository].
[keepachangelog]: https://keepachangelog.com/en/1.0.0/
[Mastodon documentation]: https://docs.joinmastodon.org
[SECURITY]: SECURITY.md
[AI Contribution Policy]: https://github.com/mastodon/.github/blob/main/AI_POLICY.md

View File

@@ -13,10 +13,10 @@ ARG BASE_REGISTRY="docker.io"
# 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.4.7"
# # Node.js version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
ARG RUBY_VERSION="3.4.9"
# # 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="22"
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)
@@ -70,8 +70,6 @@ ENV \
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin" \
# Optimize jemalloc 5.x performance
MALLOC_CONF="narenas:2,background_thread:true,thp:never,dirty_decay_ms:1000,muzzy_decay_ms:0" \
# 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
MASTODON_SIDEKIQ_READY_FILENAME=sidekiq_process_has_started_and_will_begin_processing_jobs
@@ -183,7 +181,7 @@ 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.17.2
ARG VIPS_VERSION=8.18.1
# libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"]
ARG VIPS_URL=https://github.com/libvips/libvips/releases/download

View File

@@ -13,7 +13,8 @@
- [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
- [FEP-044f: Consent-respecting quote posts](https://codeberg.org/fediverse/fep/src/branch/main/fep/044f/fep-044f.md)
- [FEP-3b86: Activity Intents](https://codeberg.org/fediverse/fep/src/branch/main/fep/3b86/fep-3b86.md): offer handlers for `Object` and `Create` (with support for the `content` parameter only), has support for the `Follow`, `Announce`, `Like` and `Object` intents
## ActivityPub in Mastodon
@@ -48,3 +49,25 @@ 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`) | 10000 | Description will be truncated |
| Collection name (`FeaturedCollection` `name`) | 256 | Name will be truncated |
| Collection description (`FeaturedCollection` `summary`) | 2048 | Description will be truncated |

59
Gemfile
View File

@@ -1,11 +1,11 @@
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '>= 3.2.0', '< 3.5.0'
ruby '>= 3.3.0', '< 3.5.0'
gem 'propshaft'
gem 'puma', '~> 7.0'
gem 'rails', '~> 8.0'
gem 'rails', '~> 8.1.0'
gem 'thor', '~> 1.2'
gem 'dotenv'
@@ -13,7 +13,7 @@ gem 'haml-rails', '~>3.0'
gem 'pg', '~> 1.5'
gem 'pghero'
gem 'aws-sdk-core', '< 3.216.0', require: false # TODO: https://github.com/mastodon/mastodon/pull/34173#issuecomment-2733378873
gem 'aws-sdk-core', require: false
gem 'aws-sdk-s3', '~> 1.123', require: false
gem 'blurhash', '~> 0.1'
gem 'fog-core', '<= 2.6.0'
@@ -24,11 +24,11 @@ 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 'bootsnap', require: false
gem 'browser'
gem 'charlock_holmes', '~> 0.7.7'
gem 'chewy', '~> 7.3'
gem 'devise', '~> 4.9'
gem 'chewy'
gem 'devise'
gem 'devise-two-factor'
group :pam_authentication, optional: true do
@@ -40,7 +40,7 @@ gem 'net-ldap', '~> 0.18'
gem 'omniauth', '~> 2.0'
gem 'omniauth-cas', '~> 3.0.0.beta.1'
gem 'omniauth_openid_connect', '~> 0.8.0'
gem 'omniauth-rails_csrf_protection', '~> 1.0'
gem 'omniauth-rails_csrf_protection', '~> 2.0'
gem 'omniauth-saml', '~> 2.0'
gem 'color_diff', '~> 0.1'
@@ -55,7 +55,7 @@ gem 'hiredis-client'
gem 'htmlentities', '~> 4.3'
gem 'http', '~> 5.3.0'
gem 'http_accept_language', '~> 2.1'
gem 'httplog', '~> 1.7.0', require: false
gem 'httplog', '~> 1.8.0', require: false
gem 'i18n'
gem 'idn-ruby', require: 'idn'
gem 'inline_svg'
@@ -67,11 +67,10 @@ gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
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', require: 'rack/cors'
@@ -96,29 +95,30 @@ gem 'tzinfo-data', '~> 1.2023'
gem 'webauthn', '~> 3.0'
gem 'webpush', github: 'mastodon/webpush', ref: '9631ac63045cfabddacc69fc06e919b4c13eb913'
gem 'json'
gem 'json-ld'
gem 'json-ld-preloaded', '~> 3.2'
gem 'rdf-normalize', '~> 0.5'
gem 'prometheus_exporter', '~> 2.2', require: false
gem 'opentelemetry-api', '~> 1.7.0'
gem 'opentelemetry-api', '~> 1.8.0'
group :opentelemetry do
gem 'opentelemetry-exporter-otlp', '~> 0.31.0', require: false
gem 'opentelemetry-instrumentation-active_job', '~> 0.9.0', require: false
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.23.0', require: false
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.23.0', require: false
gem 'opentelemetry-instrumentation-excon', '~> 0.25.0', require: false
gem 'opentelemetry-instrumentation-faraday', '~> 0.29.0', require: false
gem 'opentelemetry-instrumentation-http', '~> 0.26.0', require: false
gem 'opentelemetry-instrumentation-http_client', '~> 0.25.0', require: false
gem 'opentelemetry-instrumentation-net_http', '~> 0.25.0', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.31.0', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.28.0', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.38.0', require: false
gem 'opentelemetry-instrumentation-redis', '~> 0.27.0', require: false
gem 'opentelemetry-instrumentation-sidekiq', '~> 0.27.0', require: false
gem 'opentelemetry-exporter-otlp', '~> 0.32.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.28.0', require: false
gem 'opentelemetry-instrumentation-faraday', '~> 0.32.0', require: false
gem 'opentelemetry-instrumentation-http', '~> 0.29.0', require: false
gem 'opentelemetry-instrumentation-http_client', '~> 0.28.0', require: false
gem 'opentelemetry-instrumentation-net_http', '~> 0.28.0', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.35.0', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.30.0', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.40.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
@@ -129,16 +129,13 @@ group :test do
# Adds RSpec Error/Warning annotations to GitHub PRs on the Files tab
gem 'rspec-github', '~> 3.0', require: false
# RSpec helpers for email specs
gem 'email_spec'
# Extra RSpec extension methods and helpers for sidekiq
gem 'rspec-sidekiq', '~> 5.0'
# Browser integration testing
gem 'capybara', '~> 3.39'
gem 'capybara-playwright-driver'
gem 'playwright-ruby-client', '1.55.0', require: false # Pinning the exact version as it needs to be kept in sync with the installed npm package
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'
@@ -180,14 +177,14 @@ group :development do
# 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', '~> 7.0', require: false
gem 'brakeman', '~> 8.0', require: false
gem 'bundler-audit', '~> 0.9', require: false
# Linter CLI for HAML files

File diff suppressed because it is too large Load Diff

View File

@@ -72,10 +72,11 @@ Mastodon is a **free, open-source social network server** based on [ActivityPub]
### Requirements
- **Ruby** 3.2+
- **PostgreSQL** 13+
- **Ruby** 3.3+
- **PostgreSQL** 14+
- **Redis** 7.0+
- **Node.js** 20+
- **FFmpeg** 5.1+
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.

View File

@@ -15,7 +15,7 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
| Version | Supported |
| ------- | ---------------- |
| 4.5.x | Yes |
| 4.4.x | Yes |
| 4.3.x | Yes |
| 4.2.x | Until 2026-01-08 |
| < 4.2 | No |
| 4.3.x | Until 2026-05-06 |
| < 4.3 | No |

1
Vagrantfile vendored
View File

@@ -29,7 +29,6 @@ sudo apt-get install \
libpq-dev \
libxml2-dev \
libxslt1-dev \
imagemagick \
nodejs \
redis-server \
redis-tools \

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

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'
@@ -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

@@ -36,9 +36,8 @@ class ActivityPub::ContextsController < ActivityPub::BaseController
def context_presenter
first_page = ActivityPub::CollectionPresenter.new(
id: items_context_url(@conversation, page_params),
type: :unordered,
part_of: items_context_url(@conversation),
part_of: context_url(@conversation),
next: next_page,
items: @items.map { |status| status.local? ? ActivityPub::TagManager.instance.uri_for(status) : status.uri }
)
@@ -52,7 +51,7 @@ class ActivityPub::ContextsController < ActivityPub::BaseController
page = ActivityPub::CollectionPresenter.new(
id: items_context_url(@conversation, page_params),
type: :unordered,
part_of: items_context_url(@conversation),
part_of: context_url(@conversation),
next: next_page,
items: @items.map { |status| status.local? ? ActivityPub::TagManager.instance.uri_for(status) : status.uri }
)

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,79 @@
# 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
.includes(:accepted_collection_items)
.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,14 +17,18 @@ 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
def unknown_affected_account?
json = Oj.load(body, mode: :strict)
json = JSON.parse(body)
json.is_a?(Hash) && %w(Delete Update).include?(json['type']) && json['actor'].present? && json['actor'] == value_or_id(json['object']) && !Account.exists?(uri: json['actor'])
rescue Oj::ParseError
rescue JSON::ParserError
false
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,7 +22,7 @@ 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

View File

@@ -9,7 +9,7 @@ class ActivityPub::QuoteAuthorizationsController < ActivityPub::BaseController
before_action :set_quote_authorization
def show
expires_in 30.seconds, public: true if @quote.status.distributable? && public_fetch_mode?
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
@@ -23,8 +23,8 @@ class ActivityPub::QuoteAuthorizationsController < ActivityPub::BaseController
@quote = Quote.accepted.where(quoted_account: @account).find(params[:id])
return not_found unless @quote.status.present? && @quote.quoted_status.present?
authorize @quote.status, :show?
rescue Mastodon::NotPermittedError
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

View File

@@ -22,7 +22,7 @@ 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

View File

@@ -0,0 +1,22 @@
# frozen_string_literal: true
module Admin
class CollectionsController < BaseController
before_action :set_account
before_action :set_collection, only: :show
def show
authorize @collection, :show?
end
private
def set_account
@account = Account.find(params[:account_id])
end
def set_collection
@collection = @account.collections.includes(accepted_collection_items: :account).find(params[:id])
end
end
end

View File

@@ -5,6 +5,15 @@ module Admin
def index
authorize :custom_emoji, :index?
# If filtering by local emojis, remove by_domain filter.
params.delete(:by_domain) if params[:local].present?
# If filtering by domain, ensure remote filter is set.
if params[:by_domain].present?
params.delete(:local)
params[:remote] = '1'
end
@custom_emojis = filtered_custom_emojis.eager_load(:local_counterpart).page(params[:page])
@form = Form::CustomEmojiBatch.new
end

View File

@@ -54,7 +54,7 @@ module Admin
end
# Allow transparently upgrading a domain block
if existing_domain_block.present? && existing_domain_block.domain == TagManager.instance.normalize_domain(@domain_block.domain.strip)
if existing_domain_block.present? && existing_domain_block.domain == TagManager.instance.normalize_domain(@domain_block.domain)
@domain_block = existing_domain_block
@domain_block.assign_attributes(resource_params)
end

View File

@@ -5,8 +5,8 @@ class Admin::Fasp::Debug::CallbacksController < Admin::BaseController
authorize [:admin, :fasp, :provider], :update?
@callbacks = Fasp::DebugCallback
.includes(:fasp_provider)
.order(created_at: :desc)
.includes(:fasp_provider)
.order(created_at: :desc)
end
def destroy

View File

@@ -34,8 +34,11 @@ class Admin::Instances::ModerationNotesController < Admin::BaseController
end
def set_instance
domain = params[:instance_id]&.strip
@instance = Instance.find_or_initialize_by(domain: TagManager.instance.normalize_domain(domain))
@instance = Instance.find_or_initialize_by(domain: normalized_domain)
end
def normalized_domain
TagManager.instance.normalize_domain(params[:instance_id])
end
def set_instance_note

View File

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

View File

@@ -13,7 +13,7 @@ class Admin::Reports::ActionsController < Admin::BaseController
case action_from_button
when 'delete', 'mark_as_sensitive'
Admin::StatusBatchAction.new(status_batch_action_params).save!
Admin::ModerationAction.new(moderation_action_params).save!
when 'silence', 'suspend'
Admin::AccountAction.new(account_action_params).save!
else
@@ -25,9 +25,8 @@ class Admin::Reports::ActionsController < Admin::BaseController
private
def status_batch_action_params
def moderation_action_params
shared_params
.merge(status_ids: @report.status_ids)
end
def account_action_params

View File

@@ -50,7 +50,7 @@ module Admin
private
def filtered_reports
ReportFilter.new(filter_params).results.order(id: :desc).includes(:account, :target_account)
ReportFilter.new(filter_params).results.order(id: :desc).includes(:account, :target_account, :collections)
end
def filter_params
@@ -58,7 +58,7 @@ module Admin
end
def set_report
@report = Report.find(params[:id])
@report = Report.includes(collections: :accepted_collection_items).find(params[:id])
end
end
end

View File

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

View File

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

View File

@@ -62,7 +62,11 @@ module Admin
end
def set_statuses
@statuses = Admin::StatusFilter.new(@account, filter_params).results.preload(:application, :preloadable_poll, :media_attachments, active_mentions: :account, reblog: [:account, :application, :preloadable_poll, :media_attachments, active_mentions: :account]).page(params[:page]).per(PER_PAGE)
@statuses = Admin::StatusFilter.new(@account, filter_params).results.preload(*preload_columns, reblog: [:account, *preload_columns]).page(params[:page]).per(PER_PAGE)
end
def preload_columns
[:application, :preloadable_poll, :media_attachments, active_mentions: :account]
end
def filter_params
@@ -78,8 +82,6 @@ module Admin
'report'
elsif params[:remove_from_report]
'remove_from_report'
elsif params[:delete]
'delete'
end
end
end

View File

@@ -47,7 +47,7 @@ class Api::Fasp::BaseController < ApplicationController
provider = nil
Linzer.verify!(request.rack_request, no_older_than: 5.minutes) do |keyid|
provider = Fasp::Provider.find(keyid)
provider = Fasp::Provider.confirmed.find(keyid)
Linzer.new_ed25519_public_key(provider.provider_public_key_pem, keyid)
end

View File

@@ -0,0 +1,26 @@
# frozen_string_literal: true
class Api::V1::Accounts::EmailSubscriptionsController < Api::BaseController
before_action :set_account
before_action :require_feature_enabled!
before_action :require_account_permissions!
def create
@account.email_subscriptions.create!(email: params[:email], locale: I18n.locale)
render_empty
end
private
def set_account
@account = Account.local.find(params[:account_id])
end
def require_feature_enabled!
head 404 unless Mastodon::Feature.email_subscriptions_enabled?
end
def require_account_permissions!
head 404 if @account.unavailable? || !@account.user_can?(:manage_email_subscriptions) || !@account.user_email_subscriptions_enabled?
end
end

View File

@@ -9,9 +9,9 @@ class Api::V1::Accounts::NotesController < Api::BaseController
def create
if params[:comment].blank?
AccountNote.find_by(account: current_account, target_account: @account)&.destroy
current_account.account_notes.find_by(target_account: @account)&.destroy
else
@note = AccountNote.find_or_initialize_by(account: current_account, target_account: @account)
@note = current_account.account_notes.find_or_initialize_by(target_account: @account)
@note.comment = params[:comment]
@note.save! if @note.changed?
end

View File

@@ -38,7 +38,7 @@ class Api::V1::AccountsController < Api::BaseController
headers.merge!(response.headers)
self.response_body = Oj.dump(response.body)
self.response_body = response.body.to_json
self.status = response.status
rescue ActiveRecord::RecordInvalid => e
render json: ValidationErrorFormatter.new(e, 'account.username': :username, 'invite_request.text': :reason).as_json, status: 422

View File

@@ -1,10 +1,12 @@
# frozen_string_literal: true
class Api::V1::AnnualReportsController < Api::BaseController
before_action -> { doorkeeper_authorize! :read, :'read:accounts' }, only: :index
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, except: :index
include AsyncRefreshesConcern
before_action -> { doorkeeper_authorize! :read, :'read:accounts' }, except: [:read, :generate]
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, only: [:read, :generate]
before_action :require_user!
before_action :set_annual_report, except: :index
before_action :set_annual_report, only: [:show, :read]
def index
with_read_replica do
@@ -28,6 +30,28 @@ class Api::V1::AnnualReportsController < Api::BaseController
relationships: @relationships
end
def state
render json: { state: report_state }
end
def generate
return render_empty unless year == AnnualReport.current_campaign
return render_empty if GeneratedAnnualReport.exists?(account_id: current_account.id, year: year)
async_refresh = AsyncRefresh.new(refresh_key)
if async_refresh.running?
add_async_refresh_header(async_refresh, retry_seconds: 2)
return head 202
end
add_async_refresh_header(AsyncRefresh.create(refresh_key), retry_seconds: 2)
GenerateAnnualReportWorker.perform_async(current_account.id, year)
head 202
end
def read
@annual_report.view!
render_empty
@@ -35,7 +59,21 @@ class Api::V1::AnnualReportsController < Api::BaseController
private
def report_state
AnnualReport.new(current_account, year).state do |async_refresh|
add_async_refresh_header(async_refresh, retry_seconds: 2)
end
end
def refresh_key
"wrapstodon:#{current_account.id}:#{year}"
end
def year
params[:id]&.to_i
end
def set_annual_report
@annual_report = GeneratedAnnualReport.find_by!(account_id: current_account.id, year: params[:id])
@annual_report = GeneratedAnnualReport.find_by!(account_id: current_account.id, year: year)
end
end

View File

@@ -18,14 +18,14 @@ class Api::V1::BlocksController < Api::BaseController
def paginated_blocks
@paginated_blocks ||= Block.eager_load(target_account: [:account_stat, :user])
.joins(:target_account)
.merge(Account.without_suspended)
.where(account: current_account)
.paginate_by_max_id(
limit_param(DEFAULT_ACCOUNTS_LIMIT),
params[:max_id],
params[:since_id]
)
.joins(:target_account)
.merge(Account.without_suspended)
.where(account: current_account)
.paginate_by_max_id(
limit_param(DEFAULT_ACCOUNTS_LIMIT),
params[:max_id],
params[:since_id]
)
end
def next_path

View File

@@ -37,20 +37,20 @@ class Api::V1::ConversationsController < Api::BaseController
def paginated_conversations
AccountConversation.where(account: current_account)
.includes(
account: [:account_stat, user: :role],
last_status: [
:media_attachments,
:status_stat,
:tags,
{
preview_cards_status: { preview_card: { author_account: [:account_stat, user: :role] } },
active_mentions: :account,
account: [:account_stat, user: :role],
},
]
)
.to_a_paginated_by_id(limit_param(LIMIT), params_slice(:max_id, :since_id, :min_id))
.includes(
account: [:account_stat, user: :role],
last_status: [
:media_attachments,
:status_stat,
:tags,
{
preview_cards_status: { preview_card: { author_account: [:account_stat, user: :role] } },
active_mentions: :account,
account: [:account_stat, user: :role],
},
]
)
.to_a_paginated_by_id(limit_param(LIMIT), params_slice(:max_id, :since_id, :min_id))
end
def next_path

View File

@@ -0,0 +1,86 @@
# frozen_string_literal: true
class Api::V1::DonationCampaignsController < Api::BaseController
before_action :require_user!
STOPLIGHT_COOL_OFF_TIME = 60
STOPLIGHT_FAILURE_THRESHOLD = 10
def index
return head 204 if api_url.blank?
json = from_cache
return render json: json if json.present?
campaign = fetch_campaign
return head 204 if campaign.nil?
save_to_cache!(campaign)
render json: campaign
end
private
def api_url
Rails.configuration.x.donation_campaigns.api_url
end
def seed
@seed ||= Random.new(current_account.id).rand(100)
end
def from_cache
key = Rails.cache.read(request_key, raw: true)
return if key.blank?
campaign = Rails.cache.read("donation_campaign:#{key}", raw: true)
JSON.parse(campaign) if campaign.present?
end
def save_to_cache!(campaign)
return if campaign.blank?
Rails.cache.write_multi(
{
request_key => campaign_key(campaign),
"donation_campaign:#{campaign_key(campaign)}" => campaign.to_json,
},
expires_in: 1.hour,
raw: true
)
end
def fetch_campaign
stoplight_wrapper.run do
url = Addressable::URI.parse(api_url)
url.query_values = { platform: 'web', seed: seed, locale: locale, environment: Rails.configuration.x.donation_campaigns.environment }.compact
Request.new(:get, url.to_s).perform do |res|
return JSON.parse(res.body_with_limit) if res.code == 200
end
end
rescue *Mastodon::HTTP_CONNECTION_ERRORS, JSON::ParserError
nil
end
def stoplight_wrapper
Stoplight(
'donation_campaigns',
cool_off_time: STOPLIGHT_COOL_OFF_TIME,
threshold: STOPLIGHT_FAILURE_THRESHOLD
)
end
def request_key
"donation_campaign_request:#{seed}:#{locale}"
end
def campaign_key(campaign)
"#{campaign['id']}:#{campaign['locale']}"
end
def locale
I18n.locale.to_s
end
end

View File

@@ -0,0 +1,15 @@
# frozen_string_literal: true
class Api::V1::Instances::TermsOfServiceController < Api::V1::Instances::BaseController
before_action :cache_even_if_authenticated!
def index
@terms_of_service = TermsOfService.current || raise(ActiveRecord::RecordNotFound)
render json: @terms_of_service, serializer: REST::TermsOfServiceSerializer
end
def show
@terms_of_service = TermsOfService.published.find_by!(effective_date: params[:date])
render json: @terms_of_service, serializer: REST::TermsOfServiceSerializer
end
end

View File

@@ -1,23 +0,0 @@
# frozen_string_literal: true
class Api::V1::Instances::TermsOfServicesController < Api::V1::Instances::BaseController
before_action :set_terms_of_service
def show
cache_even_if_authenticated!
render json: @terms_of_service, serializer: REST::TermsOfServiceSerializer
end
private
def set_terms_of_service
@terms_of_service = begin
if params[:date].present?
TermsOfService.published.find_by!(effective_date: params[:date])
else
TermsOfService.current
end
end
not_found if @terms_of_service.nil?
end
end

View File

@@ -32,13 +32,7 @@ class Api::V1::MarkersController < Api::BaseController
private
def serialize_map(map)
serialized = {}
map.each_pair do |key, value|
serialized[key] = ActiveModelSerializers::SerializableResource.new(value, serializer: REST::MarkerSerializer).as_json
end
Oj.dump(serialized)
map.transform_values { |value| ActiveModelSerializers::SerializableResource.new(value, serializer: REST::MarkerSerializer) }
end
def resource_params

View File

@@ -18,14 +18,14 @@ class Api::V1::MutesController < Api::BaseController
def paginated_mutes
@paginated_mutes ||= Mute.eager_load(target_account: [:account_stat, :user])
.joins(:target_account)
.merge(Account.without_suspended)
.where(account: current_account)
.paginate_by_max_id(
limit_param(DEFAULT_ACCOUNTS_LIMIT),
params[:max_id],
params[:since_id]
)
.joins(:target_account)
.merge(Account.without_suspended)
.where(account: current_account)
.paginate_by_max_id(
limit_param(DEFAULT_ACCOUNTS_LIMIT),
params[:max_id],
params[:since_id]
)
end
def next_path

View File

@@ -47,10 +47,6 @@ class Api::V1::Peers::SearchController < Api::BaseController
end
def normalized_domain
TagManager.instance.normalize_domain(query_value)
end
def query_value
params[:q].strip
TagManager.instance.normalize_domain(params[:q])
end
end

View File

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

View File

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

View File

@@ -0,0 +1,43 @@
# frozen_string_literal: true
class Api::V1::ProfilesController < Api::BaseController
before_action -> { doorkeeper_authorize! :profile, :read, :'read:accounts' }, except: [:update]
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, only: [:update]
before_action :require_user!
def show
@account = current_account
render json: @account, serializer: REST::ProfileSerializer
end
def update
@account = current_account
UpdateAccountService.new.call(@account, account_params, raise_error: true)
ActivityPub::UpdateDistributionWorker.perform_in(ActivityPub::UpdateDistributionWorker::DEBOUNCE_DELAY, @account.id)
render json: @account, serializer: REST::ProfileSerializer
rescue ActiveRecord::RecordInvalid => e
render json: ValidationErrorFormatter.new(e).as_json, status: 422
end
def account_params
params.permit(
:display_name,
:note,
:avatar,
:avatar_description,
:header,
:header_description,
:locked,
:bot,
:discoverable,
:hide_collections,
:indexable,
:show_media,
:show_media_replies,
:show_featured,
attribution_domains: [],
fields_attributes: [:name, :value]
)
end
end

View File

@@ -23,6 +23,10 @@ class Api::V1::ReportsController < Api::BaseController
end
def report_params
params.permit(:account_id, :comment, :category, :forward, forward_to_domains: [], status_ids: [], rule_ids: [])
if Mastodon::Feature.collections_enabled?
params.permit(:account_id, :comment, :category, :forward, forward_to_domains: [], status_ids: [], collection_ids: [], rule_ids: [])
else
params.permit(:account_id, :comment, :category, :forward, forward_to_domains: [], status_ids: [], rule_ids: [])
end
end
end

View File

@@ -10,7 +10,7 @@ class Api::V1::Statuses::BaseController < Api::BaseController
def set_status
@status = Status.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
end

View File

@@ -23,7 +23,7 @@ class Api::V1::Statuses::BookmarksController < Api::V1::Statuses::BaseController
bookmark&.destroy!
render json: @status, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new([@status], current_account.id, bookmarks_map: { @status.id => false })
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
end

View File

@@ -25,7 +25,7 @@ class Api::V1::Statuses::FavouritesController < Api::V1::Statuses::BaseControlle
relationships = StatusRelationshipsPresenter.new([@status], current_account.id, favourites_map: { @status.id => false }, attributes_map: { @status.id => { favourites_count: count } })
render json: @status, serializer: REST::StatusSerializer, relationships: relationships
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
end

View File

@@ -26,20 +26,20 @@ class Api::V1::Statuses::PinsController < Api::V1::Statuses::BaseController
def distribute_add_activity!
json = ActiveModelSerializers::SerializableResource.new(
@status,
serializer: ActivityPub::AddSerializer,
serializer: ActivityPub::AddNoteSerializer,
adapter: ActivityPub::Adapter
).as_json
ActivityPub::RawDistributionWorker.perform_async(Oj.dump(json), current_account.id)
ActivityPub::RawDistributionWorker.perform_async(json.to_json, current_account.id)
end
def distribute_remove_activity!
json = ActiveModelSerializers::SerializableResource.new(
@status,
serializer: ActivityPub::RemoveSerializer,
serializer: ActivityPub::RemoveNoteSerializer,
adapter: ActivityPub::Adapter
).as_json
ActivityPub::RawDistributionWorker.perform_async(Oj.dump(json), current_account.id)
ActivityPub::RawDistributionWorker.perform_async(json.to_json, current_account.id)
end
end

View File

@@ -41,8 +41,8 @@ class Api::V1::Statuses::QuotesController < Api::V1::Statuses::BaseController
if current_account&.id != @status.account_id
domains = @statuses.filter_map(&:account_domain).uniq
account_ids = @statuses.map(&:account_id).uniq
relations = current_account&.relations_map(account_ids, domains) || {}
@statuses.reject! { |status| StatusFilter.new(status, current_account, relations).filtered? }
current_account&.preload_relations!(account_ids, domains)
@statuses.reject! { |status| StatusFilter.new(status, current_account).filtered? }
end
end

View File

@@ -36,7 +36,7 @@ class Api::V1::Statuses::ReblogsController < Api::V1::Statuses::BaseController
relationships = StatusRelationshipsPresenter.new([@status], current_account.id, reblogs_map: { @reblog.id => false }, attributes_map: { @reblog.id => { reblogs_count: count } })
render json: @reblog, serializer: REST::StatusSerializer, relationships: relationships
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
@@ -45,7 +45,7 @@ class Api::V1::Statuses::ReblogsController < Api::V1::Statuses::BaseController
def set_reblog
@reblog = Status.find(params[:status_id])
authorize @reblog, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end

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