Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3147 commits
Select commit Hold shift + click to select a range
0eed603
Update dependency aws-sdk-core to v3.251.0 (#39257)
renovate[bot] Jun 4, 2026
6bdecf2
Update dependency aws-sdk-s3 to v1.225.0 (#39258)
renovate[bot] Jun 4, 2026
df27144
Update dependency vite to v8.0.16 (#39245)
renovate[bot] Jun 4, 2026
ecc823f
Update yarn monorepo to v4.16.0 (#39247)
renovate[bot] Jun 4, 2026
e00d164
Prevent logged out users from accessing collection & list creation ro…
diondiondion Jun 4, 2026
a19dd60
Fix link to profile API documentation in CHANGELOG (#39276)
ClearlyClaire Jun 4, 2026
2b6b2fc
Fix ValidationError when loading many collections at once (#39286)
diondiondion Jun 4, 2026
085c91b
Reduce timeout minutes for actions (#39205)
mjankowski Jun 4, 2026
fe4613b
Display collection in search results when searched by URL (#39289)
diondiondion Jun 4, 2026
3ccda27
Update openid_connect to version 2.5.0 (#39288)
mjankowski Jun 4, 2026
ada6e13
Exercise more of `disputes/strikes/_card` partial (#39265)
mjankowski Jun 4, 2026
daae64a
Update dependency chewy to v8.3.0 (#39201)
renovate[bot] Jun 4, 2026
4957a4f
Exercise ip block comment path in admin area (#39292)
mjankowski Jun 5, 2026
62bcdc4
Allow `authorized_interactions` endpoint to handle Collections (#39287)
ClearlyClaire Jun 5, 2026
8c80fc6
New Crowdin Translations (automated) (#39295)
github-actions[bot] Jun 5, 2026
4b7cb59
Update dependency axios to v1.17.0 (#39277)
renovate[bot] Jun 5, 2026
20c535a
Fix: Blocked Domains Persist in Elasticsearch InstancesIndex (#39109)
shleeable Jun 5, 2026
906ae95
Prefetch collection accounts for statuses and notifications (#39291)
diondiondion Jun 5, 2026
0968910
[Accessibility] Make post/feed navigation by hotkey more robust (#39270)
diondiondion Jun 5, 2026
ff4d971
Use bundler version 4.0.13 (#39106)
mjankowski Jun 5, 2026
be3dce7
Update doorkeeper to version 5.9.1 (#39132)
mjankowski Jun 5, 2026
0c78d1f
Remove outdated hint for "Use system scrollbar" preference (#39297)
diondiondion Jun 5, 2026
2d2a7ec
Fix Collections editor allowing to add the same account multiple time…
diondiondion Jun 5, 2026
c08d13a
Fix missing null check when importing collections from notifications …
diondiondion Jun 5, 2026
7cd824a
Update dependency chewy to v8.3.1 (#39298)
renovate[bot] Jun 5, 2026
24609bf
Change rule acceptance link to form (#39283)
ClearlyClaire Jun 5, 2026
472b28e
Add Lazuri, Mingrelian and Ottoman Turkish to languages helper (#38648)
batumi14 Jun 5, 2026
2778eef
Add link to profile editing from “Privacy and reach” (#39309)
ClearlyClaire Jun 5, 2026
b3a40bb
Fix "change thumbnail" button being visible when it shouldn't (#35186…
dpbento Jun 5, 2026
ead13d4
fix naming of custom filter export param (#39304)
arte7 Jun 5, 2026
c2e6cbb
Merge commit 'ead13d4826a7ba1699d6bb310e58642b15687671' into glitch-s…
ClearlyClaire Jun 7, 2026
e2d0e45
[Glitch] Remove resize handles from inputs in Firefox
diondiondion Jun 4, 2026
45a21db
[Glitch] Prevent logged out users from accessing collection & list cr…
diondiondion Jun 4, 2026
cdc2d91
[Glitch] Fix ValidationError when loading many collections at once
diondiondion Jun 4, 2026
550299a
[Glitch] Display collection in search results when searched by URL
diondiondion Jun 4, 2026
a147932
[Glitch] Prefetch collection accounts for statuses and notifications
diondiondion Jun 5, 2026
f0c4879
[Glitch] Make post/feed navigation by hotkey more robust
diondiondion Jun 5, 2026
69e4aec
[Glitch] Fix Collections editor allowing to add the same account mult…
diondiondion Jun 5, 2026
8cf1947
[Glitch] Fix missing null check when importing collections from notif…
diondiondion Jun 5, 2026
5c4c27f
[Glitch] Add link to profile editing from “Privacy and reach”
ClearlyClaire Jun 5, 2026
cf6fdcb
[Glitch] Fix "change thumbnail" button being visible when it shouldn't
dpbento Jun 5, 2026
1b5b831
Fix test that was broken because of different glitch-soc default sett…
ClearlyClaire Jun 7, 2026
60608f5
Merge pull request #3525 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 8, 2026
033dae3
Update dependency doorkeeper to v5.9.2 (#39308)
renovate[bot] Jun 8, 2026
a5e763c
Update dependency ioredis to v5.11.1 (#39301)
renovate[bot] Jun 8, 2026
ea5b613
Add ability to view individual newsletters in admin UI (#39271)
Gargron Jun 8, 2026
a3c6a52
New Crowdin Translations (automated) (#39314)
github-actions[bot] Jun 8, 2026
87024b9
Fix alignment of icon and text in Callout component (#39324)
diondiondion Jun 8, 2026
bcafd7d
Accessibility: Move column extra buttons out of h1 column heading (#3…
diondiondion Jun 8, 2026
d139e57
fix remove unused translation keys (#39326)
arte7 Jun 8, 2026
94918df
Fix inconsistent `keyboard_shortcuts.translate` string (#39328)
noelleleigh Jun 8, 2026
51a956b
Fix tiny checkboxes and radio buttons in Safari (#39332)
diondiondion Jun 8, 2026
5553448
[Accessibility] Patch over a11y issues caused by "simple" ruby gems (…
diondiondion Jun 8, 2026
1bfdfca
Fix broken column header layout after heading refactor (#39331)
diondiondion Jun 8, 2026
37a9048
Remove outdated dependency comment (#39307)
mjankowski Jun 8, 2026
c4ea89d
Change media attachment limit to 10000 characters (#39306)
ClearlyClaire Jun 8, 2026
cf09247
Check type of featured item and skip unsupported ones (#39327)
oneiros Jun 8, 2026
bc7e054
Add coverage for email subscription account controls (#39333)
mjankowski Jun 8, 2026
4ee21a6
[Accessibility] Allow alerts ("toasts") to be announced by assistive …
diondiondion Jun 8, 2026
fc64804
Update rubocop-rspec to version 3.10.1 (#39303)
mjankowski Jun 8, 2026
4a5a915
Migrate a few tests to use `NotificationAssertions` (#38098)
larouxn Jun 8, 2026
481e51b
Put Elasticsearch search queries behind a Stoplight (#39323)
ClearlyClaire Jun 9, 2026
0b0cdd7
Remove doorkeeper workaround (#39336)
ClearlyClaire Jun 9, 2026
422d0e4
Add duration to ActivityPub representation of media attachments (#38061)
ClearlyClaire Jun 9, 2026
4f062c8
Fix intermittent failure with order dependent RankedTrend `locales` p…
mjankowski Jun 9, 2026
7b858ec
New Crowdin Translations (automated) (#39341)
github-actions[bot] Jun 9, 2026
da1d731
Update actions/checkout digest to df4cb1c (#39321)
renovate[bot] Jun 9, 2026
fef5a50
Add coverage for rules acceptance and invite code handling (#39310)
mjankowski Jun 9, 2026
4fcb28e
Collections API: Set a maximum for the pagination `limit` param (#39342)
oneiros Jun 9, 2026
9c493c2
Add policy to filter notifications from bots (#38494) (#38809)
evanp Jun 9, 2026
fba4775
Update codecov/codecov-action digest to fb8b358 (#39322)
renovate[bot] Jun 9, 2026
a2064d4
Add sign? methods to the Quote and CollectionItem models (#39047)
shleeable Jun 9, 2026
e969792
Handle offset relative to TZ in options list (#39334)
mjankowski Jun 9, 2026
4ee8934
Change i18n unused strings check to only check English strings (#39347)
ClearlyClaire Jun 9, 2026
200fda1
Add collection reach finder (#39346)
oneiros Jun 9, 2026
e0fc085
Use http POST on rules acceptance button during registration (#39345)
mjankowski Jun 9, 2026
b48f907
Add `Deprecation` headers to collections alpha API (#39349)
oneiros Jun 9, 2026
e08c8b6
Merge commit 'b48f907b20e2c9909665a484041845697d26f17c' into glitch-s…
ClearlyClaire Jun 9, 2026
2777b69
[Glitch] Add ability to view individual newsletters in admin UI
Gargron Jun 8, 2026
4b24bc1
[Glitch] Fix alignment of icon and text in Callout component
diondiondion Jun 8, 2026
dccb5e5
[Glitch] Accessibility: Move column extra buttons out of h1 column he…
diondiondion Jun 8, 2026
b0f609b
[Glitch] Fix tiny checkboxes and radio buttons in Safari
diondiondion Jun 8, 2026
4eeb1b0
[Glitch] Patch over a11y issues caused by "simple" ruby gems
diondiondion Jun 8, 2026
00fdc5e
[Glitch] Fix broken column header layout after heading refactor
diondiondion Jun 8, 2026
b46baba
[Glitch] Change media attachment limit to 10000 characters
ClearlyClaire Jun 8, 2026
5c8858a
[Glitch] Allow alerts ("toasts") to be announced by assistive tech
diondiondion Jun 8, 2026
0bd2330
[Glitch] Add policy to filter notifications from bots
evanp Jun 9, 2026
8c50d2f
Fix linting issues
ClearlyClaire Jun 9, 2026
21c95dd
Merge pull request #3526 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 10, 2026
e697d44
Fix avatar and profile header descriptions not being serialized over …
ClearlyClaire Jun 10, 2026
6432fa6
New Crowdin Translations (automated) (#39351)
github-actions[bot] Jun 10, 2026
885a9f1
Update dependency libvips to v8.18.3 (#39344)
renovate[bot] Jun 10, 2026
c51eb56
Clarify preview card CLI command handles media only (#39348)
mjankowski Jun 10, 2026
f209416
Fix being unable to unmark media as sensitive when "always mark media…
matrix07012 Jun 10, 2026
b2996dc
Fix font size of `Callout` component actions in Safari (#39354)
diondiondion Jun 10, 2026
9f7e2d0
Emoji substring search (#39353)
ChaosExAnima Jun 10, 2026
bff9f0e
Fix uncontained text overflow in column header (#39356)
diondiondion Jun 10, 2026
bcb8553
[Accessibility] Manage focus on navigation (#39350)
diondiondion Jun 10, 2026
70bb70c
Add meta tags to Collection HTML (#39357)
oneiros Jun 10, 2026
c6e2e22
Fix missing boolean check in Admin Reports API (#39197)
shleeable Jun 10, 2026
2994e85
[Accessibility] Navigation focus handling polish (#39358)
diondiondion Jun 10, 2026
22a5e1b
Fix Elasticsearch connection cleanup in Sidekiq middleware (#39359)
ClearlyClaire Jun 10, 2026
1f1455d
Minor refactor foldToASCII in streaming/utils.js (#39355)
shleeable Jun 10, 2026
1bbe387
Change validation to permit polls and media being combined (#39203)
Gargron Jun 10, 2026
008f377
Redirect if collection AP ID is requested as HTML (#39361)
oneiros Jun 10, 2026
9e0a3aa
Resolve links to unknown remote objects when posting (#38711)
ClearlyClaire Jun 10, 2026
89c2ac4
Merge commit '9e0a3aaf08e7d4fc700f7f19d61f5f8fee346b6a' into glitch-s…
ClearlyClaire Jun 10, 2026
318d82d
[Glitch] Fix being unable to unmark media as sensitive when "always m…
matrix07012 Jun 10, 2026
78d5141
[Glitch] Fix font size of `Callout` component actions in Safari
diondiondion Jun 10, 2026
9917327
[Glitch] Emoji substring search
ChaosExAnima Jun 10, 2026
5893554
[Glitch] Fix uncontained text overflow in column header
diondiondion Jun 10, 2026
4cb1bf7
[Glitch] Manage focus on navigation
diondiondion Jun 10, 2026
adfc894
[Glitch] Navigation focus handling polish
diondiondion Jun 10, 2026
dce5466
[Glitch] Change validation to permit polls and media being combined
Gargron Jun 10, 2026
42bdcc7
Merge pull request #3527 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 10, 2026
b5a2dd2
New Crowdin Translations (automated) (#39367)
github-actions[bot] Jun 11, 2026
b09af1b
Add basic coverage for `EmailDistributionWorker` behavior (#39364)
mjankowski Jun 11, 2026
fd2e3d5
Fix inconsistent check on post edition when there is both a poll and …
ClearlyClaire Jun 11, 2026
40bf2dc
fix: sensitive media card display (#39366)
nshki Jun 11, 2026
782ceb3
Auto-focus mobile composer (#39360)
diondiondion Jun 11, 2026
48d6940
Update docker-compose.yml Elasticsearch image from EOL v7 to slightly…
shleeable Jun 11, 2026
96e23af
Fix "unlisted collections" profile section can be visible to other us…
diondiondion Jun 11, 2026
bbbbb24
Merge commit '96e23af89258068d05cc8557df914b4a9add385b' into glitch-s…
ClearlyClaire Jun 11, 2026
e5cf23b
[Glitch] fix: sensitive media card display
nshki Jun 11, 2026
704e570
[Glitch] Auto-focus mobile composer
diondiondion Jun 11, 2026
99ef947
[Glitch] Fix "unlisted collections" profile section can be visible to…
diondiondion Jun 11, 2026
5098b8c
Add empty state to CollectionAdder component (#39372)
diondiondion Jun 11, 2026
640cc39
Typo in authorize_interactions_controller.rb (#39376)
shleeable Jun 11, 2026
655dca8
Follow up to #38809 - Appending not following condition (as standard)…
shleeable Jun 11, 2026
e52fc4a
Follow up to #39323 - for tag_search_service (#39375)
shleeable Jun 11, 2026
90438e9
Fix loading/errored emoji in detailed status display name causing lin…
diondiondion Jun 11, 2026
604b34f
Merge pull request #3528 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 11, 2026
1f84b98
Follow up to #38711 - support instances running on subdomains (#39379)
shleeable Jun 11, 2026
8ba8ce5
Emojis: Improve custom search (#39382)
ChaosExAnima Jun 11, 2026
2e3b81c
Fix account hovercard sometimes not triggering (#39381)
diondiondion Jun 11, 2026
35f3748
Add import for custom filters (#39256)
arte7 Jun 11, 2026
d438a09
Bump version to 4.6.0-rc.1 (#39383)
Gargron Jun 11, 2026
77740e0
Fix missing heading styles in settings area (#39387)
Gargron Jun 12, 2026
2630e7e
Fix missing string for custom filter import (#39386)
Gargron Jun 12, 2026
9910018
Fix poll options being below uploads in compose form in web UI (#39388)
Gargron Jun 12, 2026
bd91848
Fix misleading copy in "Remove me from collection" confirmation dialo…
diondiondion Jun 12, 2026
03ccfc2
New Crowdin Translations (automated) (#39390)
github-actions[bot] Jun 12, 2026
d6336de
Add last few items to the changelog (#39394)
Gargron Jun 12, 2026
c0ee6f3
Add basic coverage for `MuteWorker` job (#39384)
mjankowski Jun 12, 2026
68e5bc4
Update dependency aws-sdk-core to v3.252.0 (#39370)
renovate[bot] Jun 12, 2026
9c8fc8f
Update dependency aws-sdk-s3 to v1.225.1 (#39369)
renovate[bot] Jun 12, 2026
b902c82
Trim stable-4.3 from changelog and update SECURITY.md (#39395)
ClearlyClaire Jun 12, 2026
a7e80c6
Refactor: Typing statuses (#39374)
ChaosExAnima Jun 12, 2026
bbf4bd0
Update unhead monorepo to v3.1.4 (#39316)
renovate[bot] Jun 12, 2026
ad3ee38
Add basic coverage for `UnmergeWorker` job (#39398)
mjankowski Jun 12, 2026
a78d115
Fix crash of standalone wrapstodon and embedded status pages (#39400)
diondiondion Jun 12, 2026
61fdcf3
Guard against undefined AudioContext in useAudioContext hook (#39397)
Federicorao Jun 12, 2026
963a546
Emoji: Add back to state (#39402)
ChaosExAnima Jun 12, 2026
08027ed
Merge commit 'b902c825054b953599cd0341acf428332fca5044' into glitch-s…
ClearlyClaire Jun 12, 2026
d9fa3fe
[Glitch] Add empty state to CollectionAdder component
diondiondion Jun 11, 2026
0f61e15
[Glitch] Fix loading/errored emoji in detailed status display name ca…
diondiondion Jun 11, 2026
7f07257
[Glitch] Emojis: Improve custom search
ChaosExAnima Jun 11, 2026
6e2f3ab
[Glitch] Fix account hovercard sometimes not triggering
diondiondion Jun 11, 2026
17d706a
[Glitch] Fix poll options being below uploads in compose form in web UI
Gargron Jun 12, 2026
057d5e1
[Glitch] Fix misleading copy in "Remove me from collection" confirmat…
diondiondion Jun 12, 2026
a8644cc
Merge pull request #3529 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 12, 2026
61c56d4
Merge pull request #3486 from ClearlyClaire/glitch-soc/drop-local-emoji
ClearlyClaire Jun 12, 2026
cfd038a
Merge commit '963a54664804e60ea8e30795090a0f20de7a48dc' into glitch-s…
ClearlyClaire Jun 12, 2026
79eb9f4
[Glitch] Refactor: Typing statuses
ChaosExAnima Jun 12, 2026
2704d25
[Glitch] Fix crash of standalone wrapstodon and embedded status pages
diondiondion Jun 12, 2026
0d5c0ac
[Glitch] Guard against undefined AudioContext in useAudioContext hook
Federicorao Jun 12, 2026
c469d22
[Glitch] Emoji: Add back to state
ChaosExAnima Jun 12, 2026
4fce6e0
Prevent crash trying to access nullish location state (#39408)
diondiondion Jun 13, 2026
453211a
Merge pull request #3530 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 13, 2026
1b517bd
Merge commit '4fce6e0f7338ee6d6a791039357e8dd69adc206e' into glitch-s…
ClearlyClaire Jun 13, 2026
0490e87
[Glitch] Prevent crash trying to access nullish location state
diondiondion Jun 13, 2026
41db287
Merge pull request #3532 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 13, 2026
7753357
New Crowdin Translations (automated) (#39415)
github-actions[bot] Jun 15, 2026
a7f5931
Remove cookie rotator (#38918)
ClearlyClaire Jun 15, 2026
ff20dbf
Update dependency `net-imap` (#39426)
ClearlyClaire Jun 15, 2026
49d1399
Update unhead monorepo to v3.1.4 (#39417)
renovate[bot] Jun 15, 2026
5dbaf34
Update dependency brakeman to v8.0.5 (#39414)
renovate[bot] Jun 15, 2026
8ffc04b
Update dependency sass to v1.101.0 (#39411)
renovate[bot] Jun 15, 2026
c037591
Update dependency hiredis-client to v0.30.0 (#39392)
renovate[bot] Jun 15, 2026
65f2470
Destroy dependent notifications of a collection (#39429)
oneiros Jun 15, 2026
083b325
Change `Page Up`/`Page Down` hotkeys to require `Alt` modifier key (…
diondiondion Jun 15, 2026
b4be90f
Fix categorised custom emojis missing from the emoji picker (#39421)
Hanage999 Jun 15, 2026
8544f95
Fix hovercard not showing in compose column (#39430)
diondiondion Jun 15, 2026
0a9cf31
Add `devcontainer-lock.json` with Renovate update support (#39046)
larouxn Jun 15, 2026
74391c7
Fix bio text overflow on account profile page (#39418)
Coro365 Jun 15, 2026
a6a8e8b
Fix service worker failing to load due to 404 on chunk dependencies (…
oliinykdm Jun 15, 2026
5507568
Bump version to v4.7.0-alpha.1 (#39436)
ClearlyClaire Jun 15, 2026
3ed1b1d
Update dependency react-easy-crop to v6 (#39371)
renovate[bot] Jun 15, 2026
fdea47b
[Accessibility] Return alt text for default server thumbnail (#39439)
diondiondion Jun 15, 2026
deafb09
New Crowdin Translations (automated) (#39449)
github-actions[bot] Jun 16, 2026
737f444
Update dependency shoulda-matchers to v8 (#39405)
renovate[bot] Jun 16, 2026
6acde65
Update dependency rubyzip to v3.4.0 (#39423)
renovate[bot] Jun 16, 2026
bd913f4
Remove deprecated `bin/update` script (#39443)
mjankowski Jun 16, 2026
7176eee
Update dependency postcss-preset-env to v11.3.1 (#39444)
renovate[bot] Jun 16, 2026
760a484
Update github/codeql-action digest to 8aad20d (#39425)
renovate[bot] Jun 16, 2026
2edc386
Update crowdin/github-action digest to 52aa776 (#39424)
renovate[bot] Jun 16, 2026
fbab6f8
Update dependency @vitest/browser to v4.1.8 [SECURITY] (#39451)
renovate[bot] Jun 16, 2026
69fdefb
Fix styling of follow requests (#39452)
ClearlyClaire Jun 16, 2026
3109a5a
Fixes being unable to edit an attachment twice without submitting (#3…
ClearlyClaire Jun 16, 2026
97db9fb
Add category selection to collection report modal (#39456)
diondiondion Jun 16, 2026
79c7785
Merge commit '97db9fb1a5bbe74ec4cdcbc498ea2e998d3ed510' into glitch-s…
ClearlyClaire Jun 16, 2026
baaeb7f
[Glitch] Change `Page Up`/`Page Down` hotkeys to require `Alt` modifi…
diondiondion Jun 15, 2026
3e004e6
[Glitch] Fix categorised custom emojis missing from the emoji picker
Hanage999 Jun 15, 2026
dcf557b
[Glitch] Fix hovercard not showing in compose column
diondiondion Jun 15, 2026
8c3547f
[Glitch] Fix bio text overflow on account profile page
Coro365 Jun 15, 2026
839c1b1
[Glitch] Fix styling of follow requests
ClearlyClaire Jun 16, 2026
019afc6
[Glitch] Fixes being unable to edit an attachment twice without submi…
ClearlyClaire Jun 16, 2026
d04f676
[Glitch] Add category selection to collection report modal
diondiondion Jun 16, 2026
9cce64c
Merge pull request #3534 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 16, 2026
412ab6f
Relax account display name length limit (#39458)
mjankowski Jun 17, 2026
e966aae
Fix tiny spacing above character counter (#39467)
diondiondion Jun 17, 2026
fe2db1e
Refactor report modal heading translation (#39457)
diondiondion Jun 17, 2026
b777936
Handle missing `sw.js` in test environment assets (#39459)
mjankowski Jun 17, 2026
ccd6fb9
Upgrades to React 19.2 (#39330)
ChaosExAnima Jun 17, 2026
137d580
New Crowdin Translations (automated) (#39466)
github-actions[bot] Jun 17, 2026
6de3001
Merge commit '137d5801544ca5b8078ce2242ff3b5505e648166' into glitch-s…
ClearlyClaire Jun 17, 2026
1aef215
[Glitch] Fix tiny spacing above character counter
diondiondion Jun 17, 2026
1e7fec0
[Glitch] Refactor report modal heading translation
diondiondion Jun 17, 2026
cc2aec8
[Glitch] Upgrades to React 19.2
ChaosExAnima Jun 17, 2026
b873d2e
Bump version to v4.6.0 (#39471)
ClearlyClaire Jun 17, 2026
0d4684e
Merge pull request #3536 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 17, 2026
238f2bb
Merge commit 'b873d2e9eb0bc212e7f166df570f95d8844e93db' into glitch-s…
ClearlyClaire Jun 17, 2026
87e3fe4
Merge pull request #3538 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 17, 2026
b5b9cb7
New Crowdin Translations (automated) (#39482)
github-actions[bot] Jun 18, 2026
83f559e
Fix navigation switching to user “Account” category when viewing appe…
ClearlyClaire Jun 18, 2026
46c6dfb
Update dependency axios to v1.18.0 (#39445)
renovate[bot] Jun 18, 2026
387eb76
Update dependency doorkeeper to v5.9.3 (#39447)
renovate[bot] Jun 18, 2026
5f5cb48
Update dependency aws-sdk-s3 to v1.226.0 (#39462)
renovate[bot] Jun 18, 2026
2750b00
Rely on rubyzip auto require file name change (#39438)
mjankowski Jun 18, 2026
0fbbf6f
Update RuboCop (non-major) to v1.88.0 (#39450)
renovate[bot] Jun 18, 2026
d35c75a
Update dependency FFmpeg/FFmpeg to v8.1.2 (#39464)
renovate[bot] Jun 18, 2026
b3a100b
Update opentelemetry-ruby (non-major) to '~> 0.13.0' (#39463)
renovate[bot] Jun 18, 2026
0f44c63
Add Status component stories (#39475)
ChaosExAnima Jun 18, 2026
4c0a2ce
Fix #39489 - NoMethod in sidekiq appeal_rejected job (#39490)
shleeable Jun 18, 2026
a83e4b9
add log change column to audit log table (#39473)
arte7 Jun 18, 2026
8285905
add search field to admin ip blocks (#39404)
arte7 Jun 18, 2026
48e37f0
Merge commit '828590530e1646a11dbb1f02cf0029a4bb0b6012' into glitch-s…
ClearlyClaire Jun 18, 2026
ddd5f9d
[Glitch] Add Status component stories
ChaosExAnima Jun 18, 2026
97aa341
Merge pull request #3541 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 18, 2026
eb9c780
New Crowdin Translations (automated) (#39511)
github-actions[bot] Jun 19, 2026
cbbc640
Fix fetching unknown key when it's not the actor's first, and add err…
ClearlyClaire Jun 19, 2026
bea8332
Add inbound support for FEP-521a (#39497)
ClearlyClaire Jun 19, 2026
2a89497
Fix custom profile field overflow (#39513)
diondiondion Jun 19, 2026
a39af2c
Add route constraint to only allow numeric ids (#39523)
oneiros Jun 19, 2026
db91d21
Add check for wrong attribution of collections (#39525)
oneiros Jun 19, 2026
a951cf3
Fix "private mention" post heading overlapping thread line (#39521)
diondiondion Jun 19, 2026
3f82139
Merge commit 'a951cf301166f212bc14b8220d8ed4b5b0655059' into glitch-s…
ClearlyClaire Jun 19, 2026
44b8fc8
[Glitch] Fix custom profile field overflow
diondiondion Jun 19, 2026
bedd9b6
[Glitch] Fix "private mention" post heading overlapping thread line
diondiondion Jun 19, 2026
9cfcd53
Merge pull request #3542 from glitch-soc/glitch-soc/merge-upstream
ClearlyClaire Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 2 additions & 2 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
defaults
> 0.2%
firefox >= 78
> 0.2% and not ios < 15.6
firefox >= 91
ios >= 15.6
not dead
not OperaMini all
4 changes: 2 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -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:4.0-trixie

# Install node version from .nvmrc
WORKDIR /app
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .devcontainer/compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ services:
- internal_network

es:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
image: docker.elastic.co/elasticsearch/elasticsearch:8.19.15
restart: unless-stopped
environment:
ES_JAVA_OPTS: -Xms512m -Xmx512m
Expand All @@ -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
Expand Down
9 changes: 9 additions & 0 deletions .devcontainer/devcontainer-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"features": {
"ghcr.io/devcontainers/features/sshd:1": {
"version": "1.1.0",
"resolved": "ghcr.io/devcontainers/features/sshd@sha256:f5251b8e4325f68f7280973c6cd65daff414449c66f240621502d4e8e74eb7ee",
"integrity": "sha256:f5251b8e4325f68f7280973c6cd65daff414449c66f240621502d4e8e74eb7ee"
}
}
}
21 changes: 0 additions & 21 deletions .env.production.sample
Original file line number Diff line number Diff line change
Expand Up @@ -318,24 +318,3 @@ MAX_POLL_OPTION_CHARS=100
# -----------------------
IP_RETENTION_PERIOD=31556952
SESSION_RETENTION_PERIOD=31556952

# Fetch All Replies Behavior
# --------------------------
# When a user expands a post (DetailedStatus view), fetch all of its replies
# (default: false)
FETCH_REPLIES_ENABLED=false

# Period to wait between fetching replies (in minutes)
FETCH_REPLIES_COOLDOWN_MINUTES=15

# Period to wait after a post is first created before fetching its replies (in minutes)
FETCH_REPLIES_INITIAL_WAIT_MINUTES=5

# Max number of replies to fetch - total, recursively through a whole reply tree
FETCH_REPLIES_MAX_GLOBAL=1000

# Max number of replies to fetch - for a single post
FETCH_REPLIES_MAX_SINGLE=500

# Max number of replies Collection pages to fetch - total
FETCH_REPLIES_MAX_PAGES=500
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/2.server_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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. v4.0.5)
- Node.js version: (from `node --version`, eg. v22.16.0)
validations:
required: false
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/3.troubleshooting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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. v4.0.5)
- Node.js version: (from `node --version`, eg. v22.16.0)
validations:
required: false
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/setup-javascript/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,21 @@ runs:
using: 'composite'
steps:
- name: Set up Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: '.nvmrc'

# The following is needed because we can not use `cache: true` for `setup-node`, as it does not support Corepack yet and mess up with the cache location if ran after Node is installed
- name: Enable corepack
shell: bash
run: corepack enable
run: npm i -g corepack

- name: Get yarn cache directory path
id: yarn-cache-dir-path
shell: bash
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT

- uses: actions/cache@v4
- uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # 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 }}
Expand Down
12 changes: 9 additions & 3 deletions .github/actions/setup-ruby/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 'Setup RUby'
name: 'Setup Ruby'
description: 'Setup a Ruby environment ready to run the Mastodon code'
inputs:
ruby-version:
Expand All @@ -14,10 +14,16 @@ 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 \
libheif-plugin-aomdec \
libheif-plugin-libde265 \
${{ inputs.additional-system-dependencies }}

- name: Set up Ruby
uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1
with:
ruby-version: ${{ inputs.ruby-version }}
bundler-cache: true
23 changes: 17 additions & 6 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -16,15 +15,20 @@
// to `null` after any other rule set it to something.
dependencyDashboardHeader: 'This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more. Before approving any upgrade: read the description and comments in the [`renovate.json5` file](https://github.com/mastodon/mastodon/blob/main/.github/renovate.json5).',
postUpdateOptions: ['yarnDedupeHighest'],
devcontainer: {
managerFilePatterns: [
'/^\.devcontainer\/devcontainer\.json$/',
'/^\.devcontainer\.json$/',
'/^\.devcontainer\/devcontainer-lock\.json$/',
],
},
// The types are now included in recent versions,we ignore them here until we upgrade and remove the dependency
ignoreDeps: ['@types/emoji-mart'],
packageRules: [
{
// Require Dependency Dashboard Approval for major version bumps of these node packages
matchManagers: ['npm'],
matchPackageNames: [
'tesseract.js', // Requires code changes

// react-router: Requires manual upgrade
'history',
'react-router-dom',
Expand Down Expand Up @@ -116,6 +120,7 @@
],
matchUpdateTypes: ['major'],
groupName: 'artifact actions (major)',
extends: ['helpers:pinGitHubActionDigests'],
},
{
// Update @types/* packages every week, with one grouped PR
Expand Down Expand Up @@ -156,9 +161,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
Expand Down
37 changes: 19 additions & 18 deletions .github/workflows/build-container-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- linux/arm64

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6

- name: Prepare
env:
Expand All @@ -45,29 +45,30 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
# Transform multi-line variable into comma-separated variable
image_names=${PUSH_TO_IMAGES//$'\n'/,}
echo "IMAGE_NAMES=${image_names%,}" >> $GITHUB_ENV
image_names_split=${image_names%,}
echo "IMAGE_NAMES=${image_names_split,,}" >> $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 }}
password: ${{ secrets.GITHUB_TOKEN }}

- 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 }}
Expand All @@ -76,7 +77,7 @@ jobs:

- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
with:
context: .
file: ${{ inputs.file_to_build }}
Expand All @@ -87,8 +88,8 @@ jobs:
platforms: ${{ matrix.platform }}
provenance: false
push: ${{ inputs.push_to_images != '' }}
cache-from: ${{ inputs.cache && 'type=gha' || '' }}
cache-to: ${{ inputs.cache && 'type=gha,mode=max' || '' }}
cache-from: ${{ inputs.cache && format('type=gha,scope=build-{0}-{1}', hashFiles(inputs.file_to_build), env.PLATFORM_PAIR) || '' }}
cache-to: ${{ inputs.cache && format('type=gha,mode=max,scope=build-{0}-{1}', hashFiles(inputs.file_to_build), env.PLATFORM_PAIR) || '' }}
outputs: type=image,"name=${{ env.IMAGE_NAMES }}",push-by-digest=true,name-canonical=true,push=${{ inputs.push_to_images != '' }}

- name: Export digest
Expand All @@ -100,7 +101,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 }}
Expand All @@ -119,10 +120,10 @@ jobs:
PUSH_TO_IMAGES: ${{ inputs.push_to_images }}

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # 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
Expand All @@ -131,25 +132,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 }}
Expand All @@ -160,11 +161,11 @@ jobs:
- name: Create manifest list and push
working-directory: ${{ runner.temp }}/digests
run: |
echo "$PUSH_TO_IMAGES" | xargs -I{} \
echo "${PUSH_TO_IMAGES,,}" | xargs -I{} \
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '{}@sha256:%s ' *)
- name: Inspect image
run: |
echo "$PUSH_TO_IMAGES" | xargs -i{} \
echo "${PUSH_TO_IMAGES,,}" | xargs -i{} \
docker buildx imagetools inspect {}:${{ steps.meta.outputs.version }}
2 changes: 1 addition & 1 deletion .github/workflows/build-push-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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@df4cb1c069e1874edd31b4311f1884172cec0e10 # 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
Expand Down
Loading