Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
a54334b
Increase HTTP read timeout for expensive S3 batch delete operation (#…
ClearlyClaire Nov 21, 2025
6151feb
Suggest ES image version 7.17.29 in docker compose (#36972)
mjankowski Nov 21, 2025
aa131e5
chore(deps): update dependency core-js to v3.47.0 (#36931)
renovate[bot] Nov 21, 2025
cfa4f40
New Crowdin Translations (automated) (#36976)
github-actions[bot] Nov 21, 2025
7ffa5fa
Add models to represent "Collections" (#36977)
oneiros Nov 21, 2025
687f3a2
chore(deps): update dependency vite to v7.2.4 (#36964)
renovate[bot] Nov 21, 2025
48fe679
Separate remote thumbnails into cache/ directory (#36911)
shugo Nov 21, 2025
8a235dd
Refactor PrivacyDropdown to TypeScript (#36979)
diondiondion Nov 21, 2025
ad7839e
Fix the translation of "Latvian" (#36876)
cuu508 Nov 21, 2025
d967137
Remove unneeded type check on Status in `og_image` partial (#36980)
mjankowski Nov 21, 2025
585545d
Add coverage for `media#player` scenarios (#35947)
mjankowski Nov 21, 2025
f1bf6e6
Remove unused `from_limited?` method from NotifyService (#36988)
mjankowski Nov 24, 2025
e44a9c0
New Crowdin Translations (automated) (#36984)
github-actions[bot] Nov 24, 2025
1bc1360
chore(deps): update dependency aws-sdk-s3 to v1.205.0 (#36956)
renovate[bot] Nov 24, 2025
b16452d
Add shared context for API authentication (#36981)
oneiros Nov 24, 2025
57bfe86
chore(deps): update dependency aws-sdk-core to v3.239.1 (#36955)
renovate[bot] Nov 24, 2025
96d5e57
Revert "Increase HTTP read timeout for expensive S3 batch delete oper…
ClearlyClaire Nov 24, 2025
76d8ac3
chore(deps): update dependency i18n-tasks to v1.1.1 (#36997)
renovate[bot] Nov 24, 2025
f0d7ea6
New Crowdin Translations (automated) (#37000)
github-actions[bot] Nov 25, 2025
204143b
Increase HTTP read timeout for expensive S3 batch delete operation (#…
ClearlyClaire Nov 25, 2025
a26636f
Fix compose autosuggest always lowercasing token (#36995)
ClearlyClaire Nov 25, 2025
ca53195
chore(deps): update dependency sass to v1.94.2 (#36826)
renovate[bot] Nov 25, 2025
861625f
Prevent vertical videos from overflowing the viewport (#36966)
diondiondion Nov 25, 2025
8c77202
Replace most unsafe React lifecycle methods (#36970)
diondiondion Nov 25, 2025
4ca458e
chore(deps): update devdependencies (non-major) (#36802)
renovate[bot] Nov 25, 2025
bd02cd4
chore(deps): update dependency addressable to v2.8.8 (#37002)
renovate[bot] Nov 25, 2025
3e77c3b
chore(deps): update dependency omniauth-rails_csrf_protection to v2 (…
renovate[bot] Nov 25, 2025
0969704
chore(deps): update dependency rails-i18n to v8.1.0 (#36992)
renovate[bot] Nov 25, 2025
0725afe
Collections: Add missing validations for boolean columns (#37005)
oneiros Nov 25, 2025
6f4f994
chore(deps): update dependency connection_pool to v2.5.5 (#37003)
renovate[bot] Nov 26, 2025
cd9d166
chore(deps): update dependency rqrcode to v3.1.1 (#37010)
renovate[bot] Nov 26, 2025
384594f
New Crowdin Translations (automated) (#37018)
github-actions[bot] Nov 26, 2025
59e4865
Fix issues in new theme tokens (#37019)
diondiondion Nov 26, 2025
00163e8
Fix `tootctl status remove` removing quoted posts and remote quotes o…
ClearlyClaire Nov 26, 2025
cb4f1cc
Improve `SessionActivation.activate` spec (#36983)
mjankowski Nov 26, 2025
1757a0f
chore(deps): update dependency public_suffix to v7 (#36920)
renovate[bot] Nov 26, 2025
f87f30c
Refactor `Card` component to TypeScript (#36982)
diondiondion Nov 26, 2025
ee7e756
Fix null access error in card component (#37022)
diondiondion Nov 26, 2025
8151045
chore(deps): update yarn to v4.12.0 (#36797)
renovate[bot] Nov 26, 2025
002632c
chore(deps): update dependency aws-sdk-core to v3.239.2 (#37015)
renovate[bot] Nov 26, 2025
be2caba
chore(deps): update dependency i18n-tasks to v1.1.2 (#37027)
renovate[bot] Nov 27, 2025
322a4fe
First steps towards a collection creation service (#37020)
oneiros Nov 27, 2025
e126cfc
Fix error page when logging out or boosting on mobile (#37028)
diondiondion Nov 27, 2025
199376a
Use existing time format string to generate backup archive filename (…
mjankowski Nov 27, 2025
90466d0
New Crowdin Translations (automated) (#37026)
github-actions[bot] Nov 27, 2025
07ecf64
Remove unused bundle-related Redux actions (#37030)
diondiondion Nov 27, 2025
0004ed4
chore(deps): update opentelemetry-ruby (non-major) (#37016)
renovate[bot] Nov 27, 2025
0d2e952
Replace Rails UJS library (#37031)
ChaosExAnima Nov 27, 2025
f07cff4
Fix media modal misalignment in Safari (#37034)
ChaosExAnima Nov 27, 2025
826e9d7
Make tootctl aware of 'require approval' for email domains (#34579)
e-nomem Nov 27, 2025
44ff2c3
Fix filters not applying to search results (#36346)
ClearlyClaire Nov 27, 2025
2bd7c85
Contain tall videos in full-width video container (#37032)
diondiondion Nov 27, 2025
5f33ac2
Limit height of tall images in posts (#37035)
diondiondion Nov 27, 2025
945ef5a
Remove unused data from 2025 annual reports (#37033)
ClearlyClaire Nov 28, 2025
e0912c1
Fix `Card` component using incorrect `punycode` module (#37043)
ClearlyClaire Nov 28, 2025
f12f198
Fix post navigation in single-column mode when Advanced UI is enabled…
diondiondion Nov 28, 2025
6b38352
New Crowdin Translations (automated) (#37042)
github-actions[bot] Nov 28, 2025
f896bba
Draft API to create Collections (#37049)
oneiros Nov 28, 2025
84ffb10
Adjust Chromatic to run conditionally (#37050)
ChaosExAnima Nov 28, 2025
37ccffa
Fix current item in pagination not highlighted with new theme tokens …
diondiondion Nov 28, 2025
9227879
Remove `theme_tokens` feature flag & make new styles the default (#37…
diondiondion Nov 28, 2025
801672e
Add method to quickly test for AnnualReport account eligibility (#37045)
ClearlyClaire Nov 28, 2025
9334bd9
Don't reset scroll when using hotkeys to focus columns, add hotkey `0…
diondiondion Nov 28, 2025
f562ad9
New Crowdin Translations (automated) (#37063)
github-actions[bot] Dec 1, 2025
edfbcfb
Fix error handling when re-fetching already-known statuses (#37077)
ClearlyClaire Dec 1, 2025
e5651e7
Make settings-related database migrations more robust (#37079)
ClearlyClaire Dec 1, 2025
f5d6f60
Ensure all pages have a solid background color (#37081)
diondiondion Dec 1, 2025
048746e
Hide domain for local emojis in admin (#37080)
ChaosExAnima Dec 1, 2025
1f9ddb7
fix(tag): prevent dupl. tags on concurrent inserts (#35792)
oelison Dec 1, 2025
2d203ca
First draft of API to get a single collection (#37053)
oneiros Dec 1, 2025
e25c139
Merge remote-tracking branch 'parent/main' into upstream-20251202
kmycode Dec 2, 2025
2e5744e
New Crowdin Translations (automated) (#37088)
github-actions[bot] Dec 2, 2025
c5c8100
Emoji: Update emoji categories with featured emoji (#37084)
ChaosExAnima Dec 2, 2025
100b20f
Add UJS to buttons (#37091)
ChaosExAnima Dec 2, 2025
2b25b65
Add missing translations for web push notifications (#37078)
ClearlyClaire Dec 2, 2025
9aec693
Add Wrapstodon timeline announcement component (#37093)
diondiondion Dec 2, 2025
f8422e1
Add API for on-demand generation of annual reports (#37055)
ClearlyClaire Dec 2, 2025
e45ecc7
Update dependency express to v5.2.0 [SECURITY] (#37089)
renovate[bot] Dec 2, 2025
9c3b41f
Update dependency vite-plugin-pwa to v1.2.0 (#37040)
renovate[bot] Dec 2, 2025
f393ff9
Update dependency @optimize-lodash/rollup-plugin to v5.1.0 (#37039)
renovate[bot] Dec 2, 2025
73294e2
Fix typo in AsyncRefresh ID for GenerateAnnualReportWorker (#37096)
ClearlyClaire Dec 3, 2025
954f397
New Crowdin Translations (automated) (#37098)
github-actions[bot] Dec 3, 2025
5d84957
Add shareable wrapstodon links (#37047)
ClearlyClaire Dec 3, 2025
9d10137
Update dependency bundler-audit to v0.9.3 (#37061)
renovate[bot] Dec 3, 2025
e222664
Update DefinitelyTyped types (non-major) (#37073)
renovate[bot] Dec 3, 2025
c97d25f
Fix serialization of 2025 wrapstodon reports (#37103)
ClearlyClaire Dec 3, 2025
08da9d8
Fix serialization of annual reports with share code (#37104)
ClearlyClaire Dec 3, 2025
234990c
Remove noreferrer from external links (#37107)
ChaosExAnima Dec 3, 2025
e5e3a64
Display Wrapstodon inline widget (#37106)
ChaosExAnima Dec 3, 2025
4e6d189
Fix creation of duplicate conversations (#37108)
oneiros Dec 3, 2025
b3b5bf2
Remove duplicate `set_locale` around action in auth/registrations (#3…
mjankowski Dec 3, 2025
7c730e9
Use `normalizes` API for Tag `display_name` value (#35797)
mjankowski Dec 3, 2025
498e88f
Fix color contrast issues caused by new theme tokens (#37105)
diondiondion Dec 3, 2025
31c392b
Wrapstodon modal with new share button (#37109)
ChaosExAnima Dec 3, 2025
d063af2
Add coverage for array vs string in `Tag.find_or_create_by` (#37113)
mjankowski Dec 4, 2025
832d8c7
Use thread support helper in concurrent insert tag spec (#37112)
mjankowski Dec 4, 2025
baef5b1
Update dependency @optimize-lodash/rollup-plugin to v6 (#37062)
renovate[bot] Dec 4, 2025
9cf52fb
New Crowdin Translations (automated) (#37115)
github-actions[bot] Dec 4, 2025
5a7a4ff
First draft of Collection update API (#37110)
oneiros Dec 4, 2025
9921fa1
First draft API to delete collections (#37117)
oneiros Dec 4, 2025
88aed3c
Fix streamed quoted polls not being hydrated correctly (#37118)
ClearlyClaire Dec 4, 2025
75b9e9a
Enable missing before actions in Collection API (#37122)
oneiros Dec 4, 2025
0dac31d
Create new entrypoint for sharable Wrapstodon (#37121)
ChaosExAnima Dec 4, 2025
65b2163
Handle dark/light/contrast theme modes in common CSS (#37095)
diondiondion Dec 4, 2025
46f3b39
Fixes YouTube embeds (#37126)
ChaosExAnima Dec 4, 2025
1cb650d
Update dependency jsdom to v27.2.0 (#36845)
renovate[bot] Dec 5, 2025
49105a2
Update eslint (non-major) (#36801)
renovate[bot] Dec 5, 2025
d895ea3
Update dependency vite to v7.2.6 (#37076)
renovate[bot] Dec 5, 2025
4ec761d
Update dependency sidekiq to v8.0.10 (#37090)
renovate[bot] Dec 5, 2025
e47a5dd
Update dependency faker to v3.5.3 (#37099)
renovate[bot] Dec 5, 2025
429d6bc
New Crowdin Translations (automated) (#37131)
github-actions[bot] Dec 5, 2025
852727a
Update dependency aws-sdk-s3 to v1.206.0 (#37100)
renovate[bot] Dec 5, 2025
7f1f323
Update opentelemetry-ruby (non-major) (#37101)
renovate[bot] Dec 5, 2025
591776d
Fix inversion of emoji colours based on dark/light mode (#37120)
diondiondion Dec 5, 2025
9b85161
Remove more unused data from 2025 annual reports (#37134)
ClearlyClaire Dec 5, 2025
ce22c83
Increase maximum height of media items on desktop (#37136)
diondiondion Dec 5, 2025
007ae58
Fix incorrect date for Wrapstodon start (#37138)
ChaosExAnima Dec 5, 2025
1ae3b46
Fix “Delete and Redraft” on a non-quote being treated as a quote post…
ClearlyClaire Dec 5, 2025
7fe3e80
Rely on locale for options order in DOB input (#36895)
mjankowski Dec 5, 2025
8625721
Draft API to get all collections by an account (#37139)
oneiros Dec 8, 2025
55becaa
Preload tag to prevent n+1 (#37154)
oneiros Dec 8, 2025
cf23f04
Add `id` to collection serializers (#37157)
oneiros Dec 8, 2025
85bf5be
New Crowdin Translations (automated) (#37146)
github-actions[bot] Dec 8, 2025
6074493
Merge commit from fork
ClearlyClaire Dec 8, 2025
ccdde93
Merge remote-tracking branch 'parent/main' into upstream-20251202
kmycode Dec 9, 2025
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
  •  
  •  
  •  
45 changes: 33 additions & 12 deletions .github/workflows/chromatic.yml
Original file line number Diff line number Diff line change
@@ -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@v5
with:
fetch-depth: 0

- uses: dorny/paths-filter@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@v5
with:
fetch-depth: 0

- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript

Expand All @@ -35,7 +55,8 @@ jobs:
- name: Run Chromatic
uses: chromaui/action@v13
with:
# ⚠️ Make sure to configure a `CHROMATIC_PROJECT_TOKEN` repository secret
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
zip: true
storybookBuildDir: 'storybook-static'
exitZeroOnChanges: false # Fail workflow if changes are found
autoAcceptChanges: 'main' # Auto-accept changes on main branch only
1 change: 0 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ docker-compose.override.yml

# Ignore vendored CSS reset
app/javascript/styles/mastodon/reset.scss
app/javascript/styles_new/mastodon/reset.scss

# Ignore Javascript pending https://github.com/mastodon/mastodon/pull/23631
*.js
Expand Down
2 changes: 1 addition & 1 deletion .storybook/preview-body.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<html class="no-reduce-motion">
<html class="no-reduce-motion theme-light">
</html>
2 changes: 1 addition & 1 deletion AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ and provided thanks to the work of the following contributors:
* [Drew Schuster](mailto:[email protected])
* [Dryusdan](mailto:[email protected])
* [Eai](mailto:[email protected])
* [Eashwar Ranganathan](mailto:eranganathan@lyft.com)
* [Eashwar Ranganathan](mailto:eashwar@eashwar.com)
* [Ed Knutson](mailto:[email protected])
* [Elizabeth Martín Campos](mailto:[email protected])
* [Elizabeth Myers](mailto:[email protected])
Expand Down
6 changes: 3 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -71,7 +71,7 @@ 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'
Expand Down Expand Up @@ -114,7 +114,7 @@ group :opentelemetry do
gem 'opentelemetry-instrumentation-http', '~> 0.27.0', require: false
gem 'opentelemetry-instrumentation-http_client', '~> 0.26.0', require: false
gem 'opentelemetry-instrumentation-net_http', '~> 0.26.0', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.33.0', require: false
gem 'opentelemetry-instrumentation-pg', '~> 0.34.0', require: false
gem 'opentelemetry-instrumentation-rack', '~> 0.29.0', require: false
gem 'opentelemetry-instrumentation-rails', '~> 0.39.0', require: false
gem 'opentelemetry-instrumentation-redis', '~> 0.28.0', require: false
Expand Down
62 changes: 31 additions & 31 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ GEM
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
addressable (2.8.8)
public_suffix (>= 2.0.2, < 8.0)
aes_key_wrap (1.1.0)
android_key_attestation (0.3.0)
annotaterb (4.20.0)
Expand All @@ -96,19 +96,19 @@ GEM
ast (2.4.3)
attr_required (1.0.2)
aws-eventstream (1.4.0)
aws-partitions (1.1181.0)
aws-sdk-core (3.237.0)
aws-partitions (1.1190.0)
aws-sdk-core (3.239.2)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
bigdecimal
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.116.0)
aws-sdk-core (~> 3, >= 3.234.0)
aws-sdk-kms (1.118.0)
aws-sdk-core (~> 3, >= 3.239.1)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.203.1)
aws-sdk-s3 (1.206.0)
aws-sdk-core (~> 3, >= 3.234.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
Expand All @@ -135,8 +135,8 @@ GEM
racc
browser (6.2.0)
builder (3.3.0)
bundler-audit (0.9.2)
bundler (>= 1.2.0, < 3)
bundler-audit (0.9.3)
bundler (>= 1.2.0)
thor (~> 1.0)
capybara (3.40.0)
addressable
Expand Down Expand Up @@ -167,7 +167,7 @@ GEM
cocoon (1.2.15)
color_diff (0.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.4)
connection_pool (2.5.5)
cose (1.3.1)
cbor (~> 0.5.9)
openssl-signature_algorithm (~> 1.0)
Expand Down Expand Up @@ -234,7 +234,7 @@ GEM
excon (1.3.0)
logger
fabrication (3.0.0)
faker (3.5.2)
faker (3.5.3)
i18n (>= 1.8.11, < 2)
faraday (2.14.0)
faraday-net_http (>= 2.0, < 3.5)
Expand Down Expand Up @@ -324,7 +324,7 @@ GEM
rainbow (>= 2.0.0)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
i18n-tasks (1.1.0)
i18n-tasks (1.1.2)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi
Expand Down Expand Up @@ -481,7 +481,7 @@ GEM
addressable (~> 2.8)
nokogiri (~> 1.12)
omniauth (~> 2.1)
omniauth-rails_csrf_protection (1.0.2)
omniauth-rails_csrf_protection (2.0.0)
actionpack (>= 4.2)
omniauth (~> 2.0)
omniauth-saml (2.2.4)
Expand Down Expand Up @@ -518,7 +518,7 @@ GEM
opentelemetry-semantic_conventions
opentelemetry-helpers-sql (0.3.0)
opentelemetry-api (~> 1.7)
opentelemetry-helpers-sql-obfuscation (0.5.0)
opentelemetry-helpers-sql-processor (0.3.1)
opentelemetry-common (~> 0.21)
opentelemetry-instrumentation-action_mailer (0.6.1)
opentelemetry-instrumentation-active_support (~> 0.10)
Expand All @@ -542,19 +542,19 @@ GEM
opentelemetry-registry (~> 0.1)
opentelemetry-instrumentation-concurrent_ruby (0.24.0)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-excon (0.26.0)
opentelemetry-instrumentation-excon (0.26.1)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-faraday (0.30.0)
opentelemetry-instrumentation-faraday (0.30.1)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-http (0.27.0)
opentelemetry-instrumentation-http (0.27.1)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-http_client (0.26.0)
opentelemetry-instrumentation-http_client (0.26.1)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-net_http (0.26.0)
opentelemetry-instrumentation-net_http (0.26.1)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-pg (0.33.0)
opentelemetry-instrumentation-pg (0.34.1)
opentelemetry-helpers-sql
opentelemetry-helpers-sql-obfuscation
opentelemetry-helpers-sql-processor
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-rack (0.29.0)
opentelemetry-instrumentation-base (~> 0.25)
Expand All @@ -569,7 +569,7 @@ GEM
opentelemetry-instrumentation-concurrent_ruby (~> 0.23)
opentelemetry-instrumentation-redis (0.28.0)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-instrumentation-sidekiq (0.28.0)
opentelemetry-instrumentation-sidekiq (0.28.1)
opentelemetry-instrumentation-base (~> 0.25)
opentelemetry-registry (0.4.0)
opentelemetry-api (~> 1.1)
Expand Down Expand Up @@ -618,7 +618,7 @@ GEM
psych (5.2.6)
date
stringio
public_suffix (6.0.2)
public_suffix (7.0.0)
puma (7.1.0)
nio4r (~> 2.0)
pundit (2.5.2)
Expand All @@ -638,7 +638,7 @@ GEM
faraday-follow_redirects
json-jwt (>= 1.11.0)
rack (>= 2.1.0)
rack-protection (4.1.1)
rack-protection (4.2.1)
base64 (>= 0.1.0)
logger (>= 1.6.0)
rack (>= 3.0.0, < 4)
Expand Down Expand Up @@ -672,7 +672,7 @@ GEM
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
rails-i18n (8.0.2)
rails-i18n (8.1.0)
i18n (>= 0.7, < 2)
railties (>= 8.0.0, < 9)
railties (8.0.3)
Expand Down Expand Up @@ -717,10 +717,10 @@ GEM
rotp (6.3.0)
rouge (4.6.1)
rpam2 (4.0.2)
rqrcode (3.1.0)
rqrcode (3.1.1)
chunky_png (~> 1.0)
rqrcode_core (~> 2.0)
rqrcode_core (2.0.0)
rqrcode_core (2.0.1)
rspec (3.13.1)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
Expand Down Expand Up @@ -809,7 +809,7 @@ GEM
securerandom (0.4.1)
shoulda-matchers (7.0.1)
activesupport (>= 7.1)
sidekiq (8.0.9)
sidekiq (8.0.10)
connection_pool (>= 2.5.0)
json (>= 2.9.0)
logger (>= 1.6.2)
Expand Down Expand Up @@ -1009,7 +1009,7 @@ DEPENDENCIES
oj (~> 3.14)
omniauth (~> 2.0)
omniauth-cas (~> 3.0.0.beta.1)
omniauth-rails_csrf_protection (~> 1.0)
omniauth-rails_csrf_protection (~> 2.0)
omniauth-saml (~> 2.0)
omniauth_openid_connect (~> 0.8.0)
opentelemetry-api (~> 1.7.0)
Expand All @@ -1022,7 +1022,7 @@ DEPENDENCIES
opentelemetry-instrumentation-http (~> 0.27.0)
opentelemetry-instrumentation-http_client (~> 0.26.0)
opentelemetry-instrumentation-net_http (~> 0.26.0)
opentelemetry-instrumentation-pg (~> 0.33.0)
opentelemetry-instrumentation-pg (~> 0.34.0)
opentelemetry-instrumentation-rack (~> 0.29.0)
opentelemetry-instrumentation-rails (~> 0.39.0)
opentelemetry-instrumentation-redis (~> 0.28.0)
Expand All @@ -1036,7 +1036,7 @@ DEPENDENCIES
premailer-rails
prometheus_exporter (~> 2.2)
propshaft
public_suffix (~> 6.0)
public_suffix (~> 7.0)
puma (~> 7.0)
pundit (~> 2.3)
rack-attack (~> 6.6)
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/activitypub/likes_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def pundit_user
def set_status
@status = @account.statuses.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def set_quote_authorization
return not_found unless @quote.status.present? && @quote.quoted_status.present?

authorize @quote.quoted_status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end
end
2 changes: 1 addition & 1 deletion app/controllers/activitypub/replies_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def pundit_user
def set_status
@status = @account.statuses.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/activitypub/shares_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def pundit_user
def set_status
@status = @account.statuses.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
not_found
end

Expand Down
9 changes: 9 additions & 0 deletions app/controllers/admin/custom_emojis_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ class CustomEmojisController < BaseController
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]).without_count
@form = Form::CustomEmojiBatch.new
end
Expand Down
Loading
Loading