Alex Stine
aad42cfc35
[Glitch] Fix hidden label causing accessibility issue for search inputs
...
Port 903e5a3f45
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Riedler
8cd7b95559
[Glitch] Fix profile avatar being slightly offset into left border
...
Port c3388f4ab1
to glitch-soc
Co-authored-by: Riedler <riedler@gelse.eu>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
65cc5cb891
[Glitch] Change dropdown menu to contain “Copy link to post” even for non-public posts
...
Port fe9eab51d1
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
1e8aff072a
[Glitch] Fix wasteful request to /api/v1/custom_emojis when not logged in
...
Port 1f762f4271
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
b70c2e2167
Fix issue with glitch-soc theming
2 years ago
Claire
f3a4d57be1
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `README.md`:
Discarded upstream changes: we have our own README
- `app/controllers/follower_accounts_controller.rb`:
Port upstream's minor refactoring
2 years ago
Claire
d13702ac06
Fix status cache hydration discrepancy ( #19879 )
2 years ago
Douglas Blank
2c7df002fa
Add left and right margin to emojis ( #20464 )
2 years ago
Claire
70415714f1
Add follow request banner on account header ( #20785 )
...
* Add requested_by to relationship maps
* Display whether an account has requested to follow you on their profile
2 years ago
Holden Foreman
c761e7a5ef
Fix language surrounding disability in prompts for alt text and other media descriptions ( #20923 )
2 years ago
Jullan-M
b4fe2d1004
Add Southern Sami, and Lule Sami to language list under the ISO-639-3 standard ( #21262 )
...
* Add sme, smj, and sma ISO-639-3 language codes
* Remove sme in ISO-639-3
2 years ago
Claire
bf1c7e2122
Ensure exact match is the first result in hashtag searches ( #21315 )
...
Fixes #17494
2 years ago
Bramus!
7fbc17afa2
Fix media markup ( #21420 )
...
This brings the markup of the MediaItem component on par with the Item component from media_gallery.
Co-authored-by: Effy Elden <effy@effy.space>
2 years ago
Claire
2644a28cb3
Change remote media files to be downloaded outside of transactions ( #21796 )
2 years ago
Brian Campbell
2d12948220
Fix idempotency when database writes are slow ( #21840 )
...
There is an idempotency key generated by clients when authoring a post,
and stored in Redis, to ensure that if a user or client retries posting
the same status, we don't get a duplicate.
Hachyderm.io has been experiencing some filesystem and database
performance issues, causing database writes to be slow. This can mean
that there are successful posts, but the reverse proxy returns 504
Gateway Timeout before the idempotency status has been updated; users or
clients who retry (such as Tusky which retries automatically, see
tuskyapp/Tusky#2951 ) can re-try the same post with the same idempotency
key before it has actually been recorded in Redis, leading to duplicate
posts.
To address this issue, move all of the database updates after the
initial transaction that creates the status into the
`postprocess_status!` method, so we can insert the idempotency key
immediately after the status has been created, significantly reducing
the window in which the status could be created but the idempotency key
not yet stored.
Note: this has not yet been tested; I'm submitting this PR for
discussion and to offer to the Hachyderm.io admins to try out to fix the
multiple posting problem.
Co-authored-by: Brian Campbell <brcampbell@beta.team>
2 years ago
Claire
ebf1d74e40
Fix being stuck in edit mode when deleting the edited status ( #22126 )
2 years ago
Claire
8556a649d5
Fix changing domain block severity not undoing individual account effects ( #22135 )
...
* Fix changing domain block severity not undoing individual account effects
Fixes #22133
* Add tests
2 years ago
Claire
fb1d9789db
Fix attachment rendering of edited posts in OpenGraph ( #22270 )
...
Fixes #22241
2 years ago
Rens Groothuijsen
726c7dea31
Display search popout at fixed screen position ( #16463 )
...
* Display search popout at fixed screen position
* Attach search popout to search box
2 years ago
Terence Eden
ff414a5489
Add transparancy to modal background for accessibility ( #18081 )
...
Fixes #18080
This keeps the `ui-base-lighter-color` but adds enough transparency so that text is more easily readable.
Tested in Firefox and Chrome.
2 years ago
Arnout Engelen
9f63c428e1
Don't autofocus the compose form ( #16517 )
...
When opening a page such as /web/timelines/home in a desktop browser, the
cursor was automatically placed in the textarea of the compose form.
When using the keyboard for navigation (using a browser plugin like vimium or
vim vixen, or just to hit 'space' to scroll down a page), you have remember to
leave the field before using that.
Since you only visit the page to write a new post some of the time, this PR
attempts to have nothing focused initially (and require the user to click or
e.g. use 'tab' to focus the textarea).
Tested:
* /web/timeslines/home no longer autofocuses the compose box
* pressing the 'n' hotkey still focuses the compose box
* clicking 'reply' for a post still focuses the compose box
* replying to a CW'ed post still focuses the compose box
* introducing the CW field still focuses the CW field
* introducing the CW field for a reply still focuses the CW field
* removing the CW field still focuses the compose box
* /web/statuses/new still autofocuses the compose box
fixes #15862
2 years ago
Jeong Arm
3656a6b9cc
Add "disabled" user filter for admin/accounts UI ( #21282 )
2 years ago
Mina Her
cedf138313
Fix margin for search field on medium window size ( #21606 )
2 years ago
David Vega
1b5d207131
Fix single name variables on controller folder ( #20092 )
...
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: Effy Elden <effy@effy.space>
2 years ago
Jeong Arm
d412147d02
Save avatar or header correctly even if other one fails ( #18465 )
...
* Save avatar or header correctly if other one fails
* Fix test
2 years ago
Luxiaba
8f8c0fe88c
Remove inline-css in logo ( #20814 )
2 years ago
Matthías Páll Gissurarson
1e95fa3df5
Fix punycoded local domains not being prettified in initial state ( #21440 )
2 years ago
Meisam
059d64a59e
set activation for tag follow button ( #21629 )
...
Co-authored-by: meisam <meisam@noreply.codeberg.org>
2 years ago
Claire
673c54f114
Fix inability to use local LibreTranslate without setting ALLOWED_PRIVATE_ADDRESSES ( #21926 )
...
Fixes #20029
2 years ago
Claire
bbc49f15e0
Add explanation text to log-in page ( #20946 )
2 years ago
Fries
725f21662f
Add Montenegrin (cnr) ( #21013 )
2 years ago
Claire
38596e49d4
Fix the top action bar appearing in multi-column layout ( #20943 )
2 years ago
Claire
623d3d2e32
Change CSP directives on API to be tight and concise ( #20960 )
2 years ago
Neil Matatall
1f5740e65c
Use Rails tag API to build RSS feed for spoilers and polls ( #20163 )
...
* Use Rails tag API to build RSS feed for spoilers and polls
While the previous method did not contain a bug or a potential issue,
the tag API can be very resilient against future problems and reduces the
amount of manual management of the escape status of the content.
I've added tests to ensure that the formatting is broken and still
escapes control characters correctly.
* this seems cleaner and passes
* Incorporate feedback by moving the br to its own line and using the tag helper over the string constant for the br tag itself
* whoops, tag helper doesn't use a self-closing tag
2 years ago
Nick Schonning
72a8af8088
Fix typo in handler function call name ( #21829 )
2 years ago
Connor Shea
08c0e43b6f
Increase the width of the unread notification border. ( #21692 )
...
The smaller border is difficult to see for some users, especially
when the browser window was thinner, and so the unread border is at the
very left edge of the window.
2 years ago
Francis Murillo
c50e9d078a
Render current day formats in the client timezone ( #21878 )
...
* Fix remaining plain %time to %time.formatted
* Add %time.relative-formatted to client format dates on the current day
* Add missing comma dangle to formats
* Use client side message format instead of the server
* Add fallback message to relatve_format.today
* Remove unused translation key and fix js lint issue
Co-authored-by: Effy Elden <effy@effy.space>
2 years ago
Yamagishi Kazutoshi
58200132d0
`FormattedMessage` must be used directly ( #20982 )
...
* `FormattedMessage` must be used directly
* rollback
2 years ago
Pleclown
3a59ffde8d
Adding 12 hours option for polls ( #21131 )
...
* Adding 12 hours option for polls
Adding 12 hours option for polls
* Adding 12 hours option for polls
Missing > on a line
2 years ago
Alex Stine
903e5a3f45
Fix hidden label causing accessibility issue for search inputs ( #21275 )
...
* Try unhiding search label.
* Use aria-label. Remove label as empty labels are useless.
* Remove addition of package-lock.json.
2 years ago
Jeremy Kescher
04c611daa1
Fix being unable to react with the keycap number sign emoji ( #22231 )
...
#⃣
This bug is caused by the emoji consisting of:
U+23 #
U+FE0F
U+20E3 ⃣
Because it starts with a #, it's interpreted as an anchor link, which is not passed to the API. Therefore, the API sees no emoji to react with and answers correctly with a 404.
2 years ago
nametoolong
63b379c2d9
Fix N+1 queries from in NotificationsController ( #21202 )
...
Co-authored-by: Nonexistent <nx@example.org>
2 years ago
luzpaz
596923da4a
Fix typos in source documentation ( #21046 )
...
Fixed 2 source comment/documentation typos
2 years ago
Riedler
c3388f4ab1
Fix profile avatar being slightly offset into left border ( fixes #20822 ) ( #20994 )
...
* hotfix for #20822
I don't know why it was shifted in the first place or why the width is specified twice, but this fixes the problem, so it looks fine to me.
* realigned pfp with content below
* fixed formatting
my bad
* added comment to explain the negative margin
before I forget - comments are *important* !
Co-authored-by: Riedler <riedler@gelse.eu>
2 years ago
s0
52540771b0
Fix crash in elasticsearch_check.rb ( #21006 )
...
Nil unwrap causes the admin dashboard to crash/500 when the Chewy client info version number value is nil.
This occurs when running another ES-compatible backend such as MeiliSearch.
Obviously it would be good for chewy to recognise upstream but at least avoiding the crash would be fine.
2 years ago
Effy Elden
441cac758f
Allow adding relays while secure mode & limited federation mode are enabled ( #22324 )
2 years ago
Claire
7b68e6409b
Fix invalid CSS for links in warning and strike cards ( #22302 )
2 years ago
Jeong Arm
e8cc63105f
Don't delivery a reply to domains which are blocked by author ( #22117 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
bae6ef315e
Fix missing Javascript in domain block import confirmation page ( #21471 )
...
Follow-up to #20597
2 years ago
Francis Murillo
5fb1c3e934
Revoke all authorized applications on password reset ( #21325 )
...
* Clear sessions on password change
* Rename User::clear_sessions to revoke_access for a clearer meaning
* Add reset paassword controller test
* Use User.find instead of User.find_for_authentication for reset password test
* Use redirect and render for better test meaning in reset password
Co-authored-by: Effy Elden <effy@effy.space>
2 years ago
Claire
fe9eab51d1
Change dropdown menu to contain “Copy link to post” even for non-public posts ( #21316 )
...
Fixes #21244
2 years ago
Claire
5917b46c05
Allow admins to refresh remotely-suspended accounts ( #22327 )
...
* Change suspension text to mention that a remotely suspended account is not locally-suspended
* Add ability to refresh profile of remotely suspended accounts
2 years ago
Claire
1f762f4271
Fix wasteful request to /api/v1/custom_emojis when not logged in ( #22326 )
2 years ago
Claire
ccc01559de
Fix invalid CSS for links in warning and strike cards
2 years ago
Rin
21ee6a777d
[Glitch] fix missing style in warning and strike cards
...
Port 42e16ea52d
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
cadars
32b8b3355b
[Glitch] Make handle more easily selectable on profile page
...
Port 52a50c5e43
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
bc91069e08
[Glitch] Change default reply language to be default language when replying to a translated reply
...
Port f70bdba926
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
47c75c29da
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
zunda
09191dee66
Add single splat to callback method definitions to avoid ArgumentError ( #22246 )
...
It looks like a [bug](https://bugs.ruby-lang.org/issues/18633 ) around
autosplat is [fixed](fbaadd1cfe
)
on ruby-3.2.0-rc1 and breaks a test (but not on ruby <= 3.1.3):
```
$ bundle exec rspec ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:41
:
1) Api::V1::Emails::ConfirmationsController#create with an oauth token from an app that created the account when the account is already confirmed but user changed e-mail and has not confirmed it returns http success
Failure/Error:
def email_changed(user, **)
@resource = user
@instance = Rails.configuration.x.local_domain
return unless @resource.active_for_authentication?
I18n.with_locale(locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject')
end
end
ArgumentError:
wrong number of arguments (given 2, expected 1)
# ./app/mailers/user_mailer.rb:51:in `email_changed'
# ./app/models/user.rb:444:in `render_and_send_devise_message'
# ./app/models/user.rb:430:in `block in send_pending_devise_notifications'
# ./app/models/user.rb:429:in `each'
# ./app/models/user.rb:429:in `send_pending_devise_notifications'
# ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:38:in `block (7 levels) in <top (required)>'
```
2 years ago
Rin
42e16ea52d
fix missing style in warning and strike cards ( #22177 )
2 years ago
cadars
52a50c5e43
Make handle more easily selectable on profile page ( #21479 )
...
* Make handle more easily selectable on profile page
* Wrap handle in a span
* Add `user-select: all` to span
* remove whitespace
2 years ago
Claire
f70bdba926
Change default reply language to be default language when replying to a translated reply ( #22272 )
...
Fixes #22250
2 years ago
Claire
dcae9edb14
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
prplecake
714e68db38
Add noindex setting to Admin settings Discovery page ( #22205 )
...
* Add noindex setting to Admin settings Discovery page
* Replace default_noindex i18n
2 years ago
Claire
3ea445bb5c
[Glitch] Fix potential duplicate statuses in Explore tab
...
Port c8a1faa86b
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
e877bb47b8
Merge branch 'main' into glitch-soc/main
2 years ago
Eugen Rochko
97b6e38a7d
New Crowdin updates ( #21954 )
...
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.yml (Serbian (Latin))
* New translations simple_form.en.yml (Serbian (Latin))
* New translations activerecord.en.yml (Serbian (Latin))
* New translations doorkeeper.en.yml (Serbian (Latin))
* New translations devise.en.yml (Serbian (Latin))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Chinese Traditional)
* New translations en.json (Serbian (Latin))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Icelandic)
* New translations en.json (Serbian (Latin))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.json (Malay)
* New translations en.json (Malay)
* New translations activerecord.en.yml (Malay)
* New translations devise.en.yml (Malay)
* New translations en.yml (Malay)
* New translations en.yml (Arabic)
* New translations en.yml (Greek)
* New translations en.yml (Galician)
* New translations simple_form.en.yml (Malay)
* New translations en.yml (Greek)
* New translations en.yml (Russian)
* New translations en.yml (Belarusian)
* New translations en.yml (Greek)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Greek)
* New translations en.json (Greek)
* New translations en.yml (Greek)
* New translations en.yml (Belarusian)
* New translations doorkeeper.en.yml (Greek)
* New translations en.yml (Greek)
* New translations en.yml (Malay)
* New translations simple_form.en.yml (Malay)
* New translations en.json (Esperanto)
* New translations en.yml (Malay)
* New translations en.yml (Esperanto)
* New translations devise.en.yml (Esperanto)
* New translations en.yml (Vietnamese)
* New translations simple_form.en.yml (Vietnamese)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.yml (Belarusian)
* New translations en.yml (Vietnamese)
* New translations en.yml (Belarusian)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.json (Occitan)
* New translations en.json (Czech)
* New translations en.yml (Hebrew)
* New translations doorkeeper.en.yml (Spanish, Argentina)
* New translations en.json (German)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (German)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.json (German)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Thai)
* New translations activerecord.en.yml (Scots)
* New translations en.json (Scottish Gaelic)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Latvian)
* New translations en.json (Latvian)
* New translations activerecord.en.yml (Latvian)
* New translations devise.en.yml (Latvian)
* New translations en.yml (Turkish)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Danish)
* New translations en.yml (Thai)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Thai)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (German)
* New translations en.yml (German)
* New translations simple_form.en.yml (German)
* New translations en.json (Kurmanji (Kurdish))
* New translations en.json (Kurmanji (Kurdish))
* New translations en.yml (Belarusian)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.json (Latvian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations simple_form.en.yml (Spanish, Argentina)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Persian)
* New translations en.json (Spanish, Mexico)
* New translations en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Danish)
* New translations en.yml (Danish)
* New translations simple_form.en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.yml (Danish)
* New translations en.yml (Scots)
* New translations simple_form.en.yml (Scots)
* New translations en.json (Scots)
* New translations devise.en.yml (Scots)
* New translations doorkeeper.en.yml (Scots)
* New translations en.yml (Greek)
* New translations en.yml (Greek)
* New translations en.yml (Belarusian)
* New translations en.json (German)
* New translations en.yml (Belarusian)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (Spanish, Argentina)
* New translations en.json (German)
* New translations en.json (Esperanto)
* New translations en.json (French)
* New translations en.yml (Esperanto)
* New translations en.yml (Belarusian)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Esperanto)
* New translations en.json (Slovak)
* New translations en.yml (Slovak)
* New translations activerecord.en.yml (Slovak)
* New translations devise.en.yml (Slovak)
* New translations doorkeeper.en.yml (Slovak)
* New translations en.yml (Belarusian)
* New translations en.yml (Slovak)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Lithuanian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.json (Esperanto)
* New translations en.json (Vietnamese)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Latvian)
* New translations en.yml (Belarusian)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (Welsh)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations en.json (Welsh)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations en.yml (Hebrew)
* New translations en.yml (Welsh)
* New translations en.yml (Hebrew)
* New translations en.yml (Russian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Slovak)
* New translations en.json (Slovak)
* New translations en.yml (Slovak)
* New translations en.yml (Belarusian)
* normalize
* New translations en.yml (Belarusian)
* normalize
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Michal Dvorak
859db01268
initial translation of Glitch-specific texts into Czech ( #1997 )
2 years ago
Claire
ed07f10ca8
Fix failure when “Require a reason to join” is set with open registrations ( #22127 )
2 years ago
Claire
c8a1faa86b
Fix potential duplicate statuses in Explore tab ( #22121 )
2 years ago
Juan Xavier Gomez
16fb604c52
[Glitch] Fix hidden overflow on interaction modal
...
Port 21b208afcb
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
4642f7d830
[Glitch] Fix UI header overflow on mobile
...
Port 76454cc638
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
0e70215c40
[Glitch] Fix “Sign up” button with closed registrations not opening modal on mobile
...
Port 51098035ed
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
9a3d91f629
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/models/concerns/domain_materializable.rb`:
Fixed a code style issue upstream in a PR that got merged in glitch-soc
earlier.
Changed the code to match upstream's.
2 years ago
Claire
b59fb28e90
Fix 500 error when trying to migrate to an invalid address ( #21462 )
...
* Fix 500 error when trying to migrate to an invalid address
* Add tests
2 years ago
Juan Xavier Gomez
21b208afcb
Fix hidden overflow on interaction modal ( #21763 )
...
* Fix hidden overflow on interaction modal
* only update overflow y
2 years ago
Claire
76454cc638
Fix UI header overflow on mobile ( #21783 )
2 years ago
Claire
51098035ed
Fix “Sign up” button with closed registrations not opening modal on mobile ( #22060 )
...
Fixes #20840
2 years ago
Francis Murillo
f6492a7c4d
Log admin approve and reject account ( #22088 )
...
* Log admin approve and reject account
* Add unit tests for approve and reject logging
2 years ago
Claire
c8849d6cee
Fix unbounded recursion in account discovery ( #22025 )
...
* Fix trying to fetch posts from other users when fetching featured posts
* Rate-limit discovery of new subdomains
* Put a limit on recursively discovering new accounts
2 years ago
Claire
69137f4a90
Fix irreversible and whole_word parameters handling in /api/v1/filters ( #21988 )
...
Fixes #21965
2 years ago
Jed Fox
33f06a4ae7
Fix the top border of verified account fields ( #22006 )
2 years ago
Claire
fe523a3045
Fix unbounded recursion in account discovery ( #1994 )
...
* Fix trying to fetch posts from other users when fetching featured posts
* Rate-limit discovery of new subdomains
* Put a limit on recursively discovering new accounts
2 years ago
Claire
f4879c4481
Fix content-type being reset when editing toots ( #1993 )
...
Fixes #1990
2 years ago
Claire
3be6aff1a8
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Nick Schonning
05d4c50f64
Fix spacing warning from ESLint ( #22005 )
2 years ago
Eugen Rochko
6119668e45
New Crowdin updates ( #21599 )
...
* New translations doorkeeper.en.yml (Esperanto)
* New translations activerecord.en.yml (Spanish)
* New translations activerecord.en.yml (Esperanto)
* New translations doorkeeper.en.yml (Spanish)
* New translations devise.en.yml (Spanish)
* New translations devise.en.yml (Esperanto)
* New translations en.json (Spanish)
* New translations en.yml (Danish)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Faroese)
* New translations en.yml (Faroese)
* New translations en.json (German)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Bulgarian)
* New translations en.json (German)
* New translations en.yml (Bulgarian)
* New translations simple_form.en.yml (Bulgarian)
* New translations doorkeeper.en.yml (Bulgarian)
* New translations en.json (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.json (Czech)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Serbian (Cyrillic))
* New translations simple_form.en.yml (Faroese)
* New translations devise.en.yml (Catalan)
* New translations en.yml (German)
* New translations en.json (Bulgarian)
* New translations en.json (German)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations en.json (Danish)
* New translations en.json (Ukrainian)
* New translations en.json (Galician)
* New translations doorkeeper.en.yml (Catalan)
* New translations simple_form.en.yml (German)
* New translations en.json (Danish)
* New translations en.yml (English, United Kingdom)
* New translations simple_form.en.yml (Faroese)
* New translations en.json (Danish)
* New translations en.yml (Japanese)
* New translations en.yml (German)
* New translations en.json (Urdu (Pakistan))
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (German)
* New translations en.json (Urdu (Pakistan))
* New translations simple_form.en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.json (Scots)
* New translations activerecord.en.yml (Scots)
* New translations en.json (Finnish)
* New translations en.json (Finnish)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations activerecord.en.yml (Asturian)
* New translations devise.en.yml (Asturian)
* New translations doorkeeper.en.yml (Asturian)
* New translations en.yml (Belarusian)
* New translations en.json (Romanian)
* New translations en.json (Galician)
* New translations en.yml (Galician)
* New translations doorkeeper.en.yml (Romanian)
* New translations doorkeeper.en.yml (Galician)
* New translations activerecord.en.yml (Romanian)
* New translations en.yml (Russian)
* New translations en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations devise.en.yml (Estonian)
* New translations en.json (Czech)
* New translations en.yml (Bulgarian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Serbian (Cyrillic))
* New translations en.json (Galician)
* New translations en.yml (Galician)
* New translations en.json (Breton)
* New translations simple_form.en.yml (Bulgarian)
* New translations doorkeeper.en.yml (Bulgarian)
* New translations simple_form.en.yml (Galician)
* New translations devise.en.yml (Italian)
* New translations en.json (Bulgarian)
* New translations en.yml (Bulgarian)
* New translations simple_form.en.yml (Bulgarian)
* New translations doorkeeper.en.yml (Bulgarian)
* New translations devise.en.yml (Italian)
* New translations en.json (Serbian (Cyrillic))
* New translations doorkeeper.en.yml (Italian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Chinese Traditional, Hong Kong)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.json (Serbian (Latin))
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations doorkeeper.en.yml (Italian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Asturian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations en.json (Thai)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (Thai)
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations simple_form.en.yml (Czech)
* New translations doorkeeper.en.yml (Czech)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.json (English, United Kingdom)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.yml (Estonian)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (German)
* New translations en.json (Russian)
* New translations en.yml (Icelandic)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations simple_form.en.yml (Esperanto)
* New translations en.yml (Thai)
* New translations en.json (Esperanto)
* New translations en.yml (Thai)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.json (Icelandic)
* New translations en.yml (Icelandic)
* New translations simple_form.en.yml (Icelandic)
* New translations doorkeeper.en.yml (Icelandic)
* New translations en.yml (Belarusian)
* New translations activerecord.en.yml (Icelandic)
* New translations devise.en.yml (Icelandic)
* New translations en.yml (Thai)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations doorkeeper.en.yml (Estonian)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.yml (Belarusian)
* New translations en.json (Bulgarian)
* New translations en.yml (Bulgarian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Bulgarian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Estonian)
* New translations en.json (Ukrainian)
* New translations en.yml (Estonian)
* New translations en.json (Esperanto)
* New translations en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Persian)
* New translations en.yml (Belarusian)
* New translations en.json (Esperanto)
* New translations en.json (Greek)
* New translations en.json (Persian)
* New translations en.json (Scots)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Thai)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Finnish)
* New translations en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations devise.en.yml (German)
* New translations simple_form.en.yml (German)
* New translations en.yml (Finnish)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Estonian)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.json (Spanish)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Thai)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Icelandic)
* New translations en.yml (German)
* New translations en.yml (Ukrainian)
* New translations en.json (Spanish, Mexico)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Spanish, Mexico)
* New translations activerecord.en.yml (Spanish, Mexico)
* New translations en.json (German)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.json (Korean)
* New translations en.json (Scottish Gaelic)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Thai)
* New translations en.yml (Japanese)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Estonian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Italian)
* New translations en.yml (Italian)
* New translations en.json (Kurmanji (Kurdish))
* New translations en.yml (Spanish)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Latvian)
* New translations simple_form.en.yml (Latvian)
* New translations en.yml (Belarusian)
* New translations en.json (Serbian (Cyrillic))
* New translations simple_form.en.yml (Serbian (Cyrillic))
* normalize
* New translations en.json (German)
* New translations en.json (Serbian (Cyrillic))
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
kibigo!
2cabc5d188
Use a tree‐based approach for advanced text formatting ( #1907 )
...
* Use a tree‐based approach for adv. text formatting
Sanitizing HTML/Markdown means parsing the content into an HTML tree
under‐the‐hood anyway, and it is more accurate to do mention/hashtag
replacement on the text nodes in that tree than it is to try to hack it
in with regexes et cetera.
This undoes the overrides of `#entities` and `#rewrite` on
`AdvancedTextFormatter` but also stops using them, instead keeping
track of the parsed Nokogiri tree itself and using that in the `#to_s`
method.
Internally, this tree uses `<mastodon-entity>` nodes to keep track of
hashtags, links, and mentions. Sanitization is moved to the beginning,
so it should be known that these do not appear in the input.
* Also disallow entities inside of `<code>`
I think this is generally expected behaviour, and people are annoyed
when their code gets turned into links/hashtags/mentions.
* Minor cleanup to AdvancedTextFormatter
* Change AdvancedTextFormatter to rewrite entities in one pass and sanitize at the end
Also, minor refactoring to better match how other formatters are organized.
* Add some tests
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
4ac6601476
Port navigation bar from upstream ( #1986 )
...
Fixes #1977
2 years ago
Claire
fd6f9bf7a7
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Claire
68d1df8bc3
Fix some performance issues with /admin/instances ( #21907 )
...
/admin/instances?availability=failing remains wholly unefficient
2 years ago
Claire
e64909d8bf
Move translate button above media attachments/preview cards
2 years ago
Claire
afdd75e1f9
Fix translate button not being shown when the toot has no Content Warning
2 years ago
Claire
620b079a78
Fix inconsistent with “translate” button padding
2 years ago
Eugen Rochko
f7684a31fe
[Glitch] Change design of translations in web UI
...
Port fcca781aae
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
44c0ba445a
[Glitch] Add mention of the translation provider when translating a post
...
Port 30453fab80
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
47bd934061
[Glitch] Change “Translate” button to only show up when a translation backend is configured
...
Port 8046cf34d6
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Eugen Rochko
e8d0a1b320
[Glitch] Fix showing translate button when status has no language in web UI
...
Port 4adb267f91
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Eugen Rochko
5e143db13a
[Glitch] Don't show translate button to logged-out users
...
Port part of e623c302d5
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Eugen Rochko
b5ee275ed9
[Glitch] Fix translations not being formatted, other issues in web UI
...
Port 55a2e9b5be
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Eugen Rochko
a3052dad04
[Glitch] Add user content translations with configurable backends
...
Port 0d6b878808
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
fe111a8bad
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Claire
2d4d99f135
Fix expanded statuses not always being scrolled into view ( #21797 )
2 years ago
Connor Shea
f51990bd62
[Glitch] Make the 'Trending now' header a link to Explore.
...
Port cec1e902e0
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
98c5ca1037
[Glitch] Fix infinite loading instead of soft 404 for non-existing remote accounts
...
Port 3ffaa966b0
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
James Adney
2815ac4155
[Glitch] fix gif autoplay on iOS
...
Port c0dcf15d1e
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
c0bf90ac19
[Glitch] Fix “Share @{name}'s profile” profile menu item
...
Port fe421257e5
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
kedama
32b43a96a7
[Glitch] Fix status mismatch of sensitive check
...
Port 14e2354eea
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
a2e7997592
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `README.md`:
Our README is completely different.
Discarded upstream changes.
2 years ago
Connor Shea
cec1e902e0
Make the 'Trending now' header a link to Explore. ( #21759 )
...
This keeps the same design that exists currently, but makes "Trending
now" into a link to the Hashtags section of "Explore".
Resolves #21758 .
2 years ago
Claire
3ffaa966b0
Fix infinite loading instead of soft 404 for non-existing remote accounts ( #21303 )
...
Fixes #21278 , #21021
2 years ago
Claire
57b893d505
Fix spaces not being stripped in admin account search ( #21324 )
...
Fixes #21058
Regression from #18641
2 years ago
James Adney
c0dcf15d1e
fix gif autoplay on iOS ( #21422 )
2 years ago
Bramus!
e617ee7fd9
Add user profile OG tag on status page ( #21423 )
2 years ago
Claire
f4f2b062ec
Remove LDSignature on actor Delete activities ( #21466 )
...
They are currently not used for anything and represent more than half of the
payload size.
2 years ago
Claire
fe421257e5
Fix “Share @{name}'s profile” profile menu item ( #21490 )
2 years ago
Kaspar V
47f0d7021e
refactor(vacuum statuses): reduce amount of db queries and load for each query - improve performance ( #21487 )
...
* refactor(statuses_vacuum): remove dead code - unused
Method is not called inside class and private.
Clean up dead code.
* refactor(statuses_vacuum): make retention_period present test explicit
This private method only hides functionality.
It is best practice to be as explicit as possible.
* refactor(statuses_vacuum): improve query performance
- fix statuses_scope having sub-select for Account.remote scope by
`joins(:account).merge(Account.remote)`
- fix statuses_scope unnecessary use of `Status.arel_table[:id].lt`
because it is inexplicit, bad practice and even slower than normal
`.where('statuses.id < ?'`
- fix statuses_scope remove select(:id, :visibility) for having reusable
active record query batches (no re queries)
- fix vacuum_statuses! to use in_batches instead of find_in_batches,
because in_batches delivers a full blown active record query result,
in stead of an array - no requeries necessary
- send(:unlink_from_conversations) not to perform another db query, but
reuse the in_batches result instead.
- remove now obsolete remove_from_account_conversations method
- remove_from_search_index uses array of ids, instead of mapping
the ids from an array - this should be more efficient
- use the in_batches scope to call delete_all, instead of running
another db query for this - because it is again more efficient
- add TODO comment for calling models private method with send
* refactor(status): simplify unlink_from_conversations
- add `has_many through:` relation mentioned_accounts
- use model scope local instead of method call `Status#local?`
- more readable add account to inbox_owners when account.local?
* refactor(status): searchable_by way less sub selects
These queries all included a sub-select. Doing the same with a joins
should be more efficient.
Since this method does 5 such queries, this should be significant,
since it technically halves the query count.
This is how it was:
```ruby
[3] pry(main)> Status.first.mentions.where(account: Account.local, silent: false).explain
Status Load (1.6ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]]
Mention Load (1.5ms) SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
QUERY PLAN
------------------------------------------------------------------------------------------------------------------
Nested Loop (cost=0.15..23.08 rows=1 width=41)
-> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8)
Filter: (domain IS NULL)
-> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41)
Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
Filter: (NOT silent)
(6 rows)
```
This is how it is with this change:
```ruby
[4] pry(main)> Status.first.mentions.joins(:account).merge(Account.local).active.explain
Status Load (1.7ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]]
Mention Load (0.7ms) SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
QUERY PLAN
------------------------------------------------------------------------------------------------------------------
Nested Loop (cost=0.15..23.08 rows=1 width=41)
-> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8)
Filter: (domain IS NULL)
-> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41)
Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
Filter: (NOT silent)
(6 rows)
```
2 years ago
Claire
625216d8e1
Fix attachments of edited statuses not being fetched ( #21565 )
...
* Fix attachments of edited statuses not being fetched
* Fix tests
2 years ago
kedama
14e2354eea
Fix status mismatch of sensitive check ( #21724 )
2 years ago
afontenot
f17fc5742e
Clear voter count when poll is reset ( #21700 )
...
When a poll is edited, we reset the poll and remove all previous
votes. However, prior to this commit, the voter count on the poll
was not reset. This leads to incorrect percentages being shown in
poll results.
Fixes #21696
2 years ago
Skyler Hawthorne
5b2ff8d32d
fix media uploads with ffmpeg 5 ( #21191 )
2 years ago
Claire
6517b7b9f0
Fix pillbar buttons in light theme ( #1972 )
...
* Simplify pillbar button design and make it more consistent with toggles
* Fix pillbar buttons in light theme
Fixes #1970
2 years ago
Eugen Rochko
3d906d8e62
New Crowdin updates ( #20942 )
...
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations devise.en.yml (Finnish)
* New translations en.json (Norwegian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Esperanto)
* New translations en.yml (Scots)
* New translations en.yml (Italian)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations en.yml (Esperanto)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (German)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Belarusian)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Estonian)
* New translations en.json (German)
* New translations simple_form.en.yml (German)
* New translations en.yml (Esperanto)
* New translations en.yml (Welsh)
* New translations en.yml (Estonian)
* New translations en.json (Estonian)
* New translations en.yml (Italian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Welsh)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations en.yml (Faroese)
* New translations en.yml (Scots)
* New translations simple_form.en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Hungarian)
* New translations en.json (Bengali)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Welsh)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (German)
* New translations en.yml (Russian)
* New translations en.yml (Estonian)
* New translations en.json (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.json (Indonesian)
* New translations en.yml (Indonesian)
* New translations simple_form.en.yml (Serbian (Latin))
* New translations en.json (Belarusian)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Serbian (Latin))
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Portuguese, Brazilian)
* New translations simple_form.en.yml (German)
* New translations doorkeeper.en.yml (German)
* New translations devise.en.yml (German)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.json (Spanish)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations en.yml (Belarusian)
* New translations en.json (German)
* New translations en.yml (Welsh)
* New translations en.json (Asturian)
* New translations simple_form.en.yml (German)
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations en.json (French, Quebec)
* New translations en.json (Faroese)
* New translations en.yml (Faroese)
* New translations en.json (Belarusian)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Asturian)
* New translations en.json (Spanish)
* New translations en.json (French, Quebec)
* New translations en.yml (Faroese)
* New translations en.yml (Scots)
* New translations en.json (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (French, Quebec)
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations doorkeeper.en.yml (Asturian)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations en.json (Asturian)
* New translations en.yml (Faroese)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations simple_form.en.yml (Belarusian)
* New translations devise.en.yml (Serbian (Latin))
* New translations en.yml (Japanese)
* New translations en.json (Serbian (Latin))
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Estonian)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations devise.en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations devise.en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Catalan)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Catalan)
* New translations doorkeeper.en.yml (Catalan)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations activerecord.en.yml (Serbian (Cyrillic))
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations devise.en.yml (German)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations doorkeeper.en.yml (Estonian)
* New translations en.yml (Romanian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Estonian)
* New translations simple_form.en.yml (Bulgarian)
* New translations simple_form.en.yml (German)
* New translations activerecord.en.yml (Serbian (Cyrillic))
* New translations en.yml (Scots)
* New translations en.yml (Bulgarian)
* New translations simple_form.en.yml (Bulgarian)
* New translations en.yml (Asturian)
* New translations devise.en.yml (Asturian)
* New translations en.yml (Scots)
* New translations simple_form.en.yml (Hebrew)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.json (Ukrainian)
* New translations doorkeeper.en.yml (Ukrainian)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations en.yml (Bulgarian)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.json (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Ukrainian)
* New translations simple_form.en.yml (Dutch)
* New translations en.json (Ukrainian)
* New translations en.yml (Esperanto)
* New translations simple_form.en.yml (Ukrainian)
* New translations simple_form.en.yml (Esperanto)
* New translations en.yml (Faroese)
* New translations en.yml (Faroese)
* New translations en.yml (Scots)
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Czech)
* New translations en.json (Malayalam)
* New translations en.yml (Scots)
* New translations en.json (Czech)
* New translations en.json (Hindi)
* New translations en.json (Malayalam)
* New translations activerecord.en.yml (Serbian (Latin))
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Latin))
* New translations en.json (Czech)
* New translations en.json (Serbian (Cyrillic))
* New translations simple_form.en.yml (Asturian)
* New translations en.yml (Scots)
* New translations en.json (Czech)
* New translations en.json (Frisian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Frisian)
* New translations en.json (Czech)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Bulgarian)
* New translations en.json (Italian)
* New translations en.json (Ukrainian)
* New translations en.json (Spanish, Mexico)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Bulgarian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations devise.en.yml (Ukrainian)
* New translations en.yml (Ukrainian)
* New translations en.json (Italian)
* New translations en.json (Ukrainian)
* New translations en.json (Spanish, Mexico)
* New translations simple_form.en.yml (Ukrainian)
* New translations activerecord.en.yml (Italian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
* Add `app/javascript/mastodon/locales/whitelist_be.json`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Claire
43dbc62568
Fix privacy dropdown in boost modal on mobile ( #1967 )
...
Fixes #1965
2 years ago
Claire
ff42233aae
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Claire
51a33ce77a
Fix not being able to follow more than one hashtag ( #21285 )
...
Fixes regression from #20860
2 years ago
David Leadbeater
69378eac99
Don't allow URLs that contain non-normalized paths to be verified ( #20999 )
...
* Don't allow URLs that contain non-normalized paths to be verified
This stops things like https://example.com/otheruser/../realuser where
"/otheruser" appears to be the verified URL, but the actual URL being
verified is "/realuser" due to the "/../".
Also fix a test to use 'https', so it is testing the right thing, now
that since #20304 https is required.
* missing do
2 years ago
Claire
597a783742
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Claire
48e136605a
Fix form-action CSP directive for external login ( #20962 )
2 years ago
Claire
367db8222f
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Claire
4ae97a2e4c
Fix OAuth flow being broken by recent CSP change ( #20958 )
2 years ago
Eugen Rochko
0a78631e86
New Crowdin updates ( #20759 )
...
* New translations en.json (German)
* New translations en.json (Italian)
* New translations en.yml (Kurmanji (Kurdish))
* New translations simple_form.en.yml (German)
* New translations doorkeeper.en.yml (Kurmanji (Kurdish))
* New translations en.json (Dutch)
* New translations en.json (Esperanto)
* New translations en.json (Dutch)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.json (Faroese)
* New translations en.json (Esperanto)
* New translations en.json (Irish)
* New translations simple_form.en.yml (Esperanto)
* New translations doorkeeper.en.yml (Esperanto)
* New translations en.json (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.json (Scots)
* New translations simple_form.en.yml (Esperanto)
* New translations doorkeeper.en.yml (Esperanto)
* New translations en.json (Scots)
* New translations en.yml (Korean)
* New translations simple_form.en.yml (Korean)
* New translations en.yml (Esperanto)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations en.json (Chinese Simplified)
* New translations simple_form.en.yml (Chinese Simplified)
* New translations doorkeeper.en.yml (Chinese Simplified)
* New translations en.json (Lithuanian)
* New translations en.yml (Galician)
* New translations en.json (Icelandic)
* New translations en.yml (Galician)
* New translations en.json (Icelandic)
* New translations en.yml (Thai)
* New translations en.yml (Slovenian)
* New translations en.yml (Lithuanian)
* New translations en.yml (Macedonian)
* New translations en.yml (Dutch)
* New translations en.yml (Punjabi)
* New translations en.yml (Polish)
* New translations en.yml (Portuguese)
* New translations en.yml (Russian)
* New translations en.yml (Slovak)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Georgian)
* New translations en.yml (Swedish)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Urdu (Pakistan))
* New translations en.yml (Vietnamese)
* New translations en.yml (Galician)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Persian)
* New translations en.yml (Tamil)
* New translations en.yml (Korean)
* New translations en.yml (Japanese)
* New translations en.yml (German)
* New translations en.yml (Arabic)
* New translations en.yml (Czech)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Ido)
* New translations en.yml (Spanish)
* New translations en.yml (Turkish)
* New translations en.yml (Albanian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Romanian)
* New translations en.yml (French)
* New translations en.yml (Afrikaans)
* New translations en.yml (Bulgarian)
* New translations en.yml (Italian)
* New translations en.yml (Catalan)
* New translations en.yml (Danish)
* New translations en.yml (Frisian)
* New translations en.yml (Basque)
* New translations en.yml (Finnish)
* New translations en.yml (Hebrew)
* New translations en.yml (Hungarian)
* New translations en.yml (Armenian)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Silesian)
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Corsican)
* New translations en.yml (Sardinian)
* New translations en.yml (Sanskrit)
* New translations en.yml (Taigi)
* New translations en.yml (Standard Moroccan Tamazight)
* New translations en.yml (Asturian)
* New translations en.yml (Burmese)
* New translations en.yml (Igbo)
* New translations en.yml (French, Quebec)
* New translations en.json (Faroese)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Occitan)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Bengali)
* New translations en.yml (Telugu)
* New translations en.yml (Marathi)
* New translations en.yml (Croatian)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Kazakh)
* New translations en.yml (Estonian)
* New translations en.yml (Latvian)
* New translations en.yml (Hindi)
* New translations en.yml (English, United Kingdom)
* New translations en.yml (Kannada)
* New translations en.yml (Welsh)
* New translations en.yml (Uyghur)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Tatar)
* New translations en.yml (Malayalam)
* New translations en.yml (Sinhala)
* New translations en.yml (Cornish)
* New translations en.yml (Thai)
* New translations en.yml (Portuguese)
* New translations en.yml (Georgian)
* New translations en.yml (Korean)
* New translations en.yml (Lithuanian)
* New translations en.yml (Dutch)
* New translations simple_form.en.yml (Dutch)
* New translations en.yml (Norwegian)
* New translations en.yml (Polish)
* New translations en.yml (Russian)
* New translations en.yml (Italian)
* New translations en.yml (Slovak)
* New translations en.yml (Slovenian)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Swedish)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Vietnamese)
* New translations en.yml (Galician)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Japanese)
* New translations en.yml (Armenian)
* New translations en.json (Hebrew)
* New translations en.yml (French)
* New translations en.yml (German)
* New translations en.yml (Czech)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Spanish)
* New translations en.yml (Turkish)
* New translations simple_form.en.yml (Czech)
* New translations en.yml (Albanian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Afrikaans)
* New translations en.yml (Hungarian)
* New translations en.yml (Arabic)
* New translations en.yml (Bulgarian)
* New translations en.yml (Catalan)
* New translations en.yml (Danish)
* New translations en.yml (Greek)
* New translations en.yml (Basque)
* New translations en.yml (Finnish)
* New translations en.yml (Irish)
* New translations en.yml (Hebrew)
* New translations en.yml (Indonesian)
* New translations en.yml (Ido)
* New translations en.yml (Persian)
* New translations simple_form.en.yml (Polish)
* New translations en.yml (Breton)
* New translations en.yml (Sinhala)
* New translations en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Sinhala)
* New translations simple_form.en.yml (Vietnamese)
* New translations simple_form.en.yml (Romanian)
* New translations simple_form.en.yml (French)
* New translations simple_form.en.yml (Spanish)
* New translations simple_form.en.yml (Afrikaans)
* New translations simple_form.en.yml (Arabic)
* New translations simple_form.en.yml (Bulgarian)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Kazakh)
* New translations en.yml (Estonian)
* New translations en.yml (Latvian)
* New translations simple_form.en.yml (Catalan)
* New translations en.yml (Esperanto)
* New translations en.yml (Welsh)
* New translations en.yml (Malay)
* New translations en.yml (Corsican)
* New translations en.yml (Occitan)
* New translations en.yml (Sardinian)
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Kabyle)
* New translations en.yml (Sorani (Kurdish))
* New translations simple_form.en.yml (Bengali)
* New translations simple_form.en.yml (Galician)
* New translations simple_form.en.yml (Icelandic)
* New translations simple_form.en.yml (Portuguese, Brazilian)
* New translations simple_form.en.yml (Indonesian)
* New translations simple_form.en.yml (Persian)
* New translations simple_form.en.yml (Tamil)
* New translations simple_form.en.yml (Spanish, Argentina)
* New translations simple_form.en.yml (Spanish, Mexico)
* New translations simple_form.en.yml (Ukrainian)
* New translations simple_form.en.yml (Croatian)
* New translations simple_form.en.yml (Norwegian Nynorsk)
* New translations simple_form.en.yml (Kazakh)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Latvian)
* New translations simple_form.en.yml (English, United Kingdom)
* New translations simple_form.en.yml (Chinese Traditional)
* New translations simple_form.en.yml (Turkish)
* New translations simple_form.en.yml (Georgian)
* New translations simple_form.en.yml (Frisian)
* New translations simple_form.en.yml (Basque)
* New translations simple_form.en.yml (Finnish)
* New translations simple_form.en.yml (Hebrew)
* New translations simple_form.en.yml (Hungarian)
* New translations simple_form.en.yml (Armenian)
* New translations simple_form.en.yml (Italian)
* New translations simple_form.en.yml (Japanese)
* New translations simple_form.en.yml (Swedish)
* New translations simple_form.en.yml (Portuguese)
* New translations simple_form.en.yml (Slovak)
* New translations simple_form.en.yml (Slovenian)
* New translations simple_form.en.yml (Albanian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (French, Quebec)
* New translations en.json (Faroese)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Malayalam)
* New translations simple_form.en.yml (Tatar)
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
* New translations simple_form.en.yml (Ido)
* New translations simple_form.en.yml (Sardinian)
* New translations simple_form.en.yml (Corsican)
* New translations simple_form.en.yml (Sorani (Kurdish))
* New translations simple_form.en.yml (Serbian (Latin))
* New translations simple_form.en.yml (Occitan)
* New translations simple_form.en.yml (Asturian)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Hebrew)
* New translations en.yml (Korean)
* New translations en.yml (Dutch)
* New translations en.yml (Slovenian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Kurmanji (Kurdish))
* normalize
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Claire
c22f3a87a3
[Glitch] Remove use of DOMParser in front-end emoji rewriting code
...
Port 585cc1a604
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Levi Bard
4b449fff23
[Glitch] Make the button that expands the publish form differentiable from the button that publishes a post
...
Port 654d348aac
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
nyura123dev
87929ad866
[Glitch] Fix safari explore disappearing tabs
...
Port aaca78da78
to glitch-soc
Co-authored-by: nyura <nyura@hidden.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
aec61a703f
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `.github/workflows/build-image.yml`:
Upstream changed how docker images were built, including how
they were cached.
I don't know much about it, so applied upstream's changes.
- `app/controllers/admin/domain_blocks_controller.rb`:
The feature, that was in glitch-soc, got backported upstream.
It also had a few fixes upstream, so those have been ported!
- `app/javascript/packs/admin.js`:
Glitch-soc changes have been backported upstream. As a result,
some code from `app/javascript/core/admin.js` got added upstream.
Kept our version since our shared Javascript already has that feature.
- `app/models/user.rb`:
Upstream added something to distinguish unusable and unusable-because-moved
accounts, while glitch-soc considers moved accounts usable.
Took upstream's code for `functional_or_moved?` and made `functional?`
call it.
- `app/views/statuses/_simple_status.html.haml`:
Upstream cleaned up code style a bit, on a line that we had custom changes
for.
Applied upstream's change while keeping our change.
- `config/initializers/content_security_policy.rb`:
Upstream adopted one CSP directive we already had.
The conflict is because of our files being structurally different, but the
change itself was already part of glitch-soc.
Kept our version.
2 years ago
Claire
ab7d99e035
Fix various issues with domain block import ( #1944 )
...
- stop using Paperclip for processing domain allow/block imports
- stop leaving temporary files
- better error handling
- assume CSV files are UTF-8-encoded
2 years ago
Claire
585cc1a604
Remove use of DOMParser in front-end emoji rewriting code ( #20758 )
...
* Add jstest for node ordering in emojify
* Remove use of DOMParser in front-end emoji rewriting code
2 years ago
Rose
4f15fd0ba1
Fix style for hashes ( #20518 )
...
* Fix style for hashes
Make the style for hashes consistent.
* New style
More consistency
2 years ago
lenore gilbert
c373148b3d
Support for import/export of instance-level domain blocks/allows for 4.x w/ additional fixes ( #20597 )
...
* Allow import/export of instance-level domain blocks/allows (#1754 )
* Allow import/export of instance-level domain blocks/allows.
Fixes #15095
* Pacify circleci
* Address simple code review feedback
* Add headers to exported CSV
* Extract common import/export functionality to
AdminExportControllerConcern
* Add additional fields to instance-blocked domain export
* Address review feedback
* Split instance domain block/allow import/export into separate pages/controllers
* Address code review feedback
* Pacify DeepSource
* Work around Paperclip::HasAttachmentFile for Rails 6
* Fix deprecated API warning in export tests
* Remove after_commit workaround
(cherry picked from commit 94e98864e3
)
* Add confirmation page when importing blocked domains (#1773 )
* Move glitch-soc-specific strings to glitch-soc-specific locale files
* Add confirmation page when importing blocked domains
(cherry picked from commit b91196f4b7
)
* Fix authorization check in domain blocks controller
(cherry picked from commit 7527937758
)
* Fix error strings for domain blocks and email-domain blocks
Corrected issue with non-error message used for Mastodon:NotPermittedError in Domain Blocks
Corrected issue Domain Blocks using the Email Domain Blocks message on ActionContoller::ParameterMissing
Corrected issue with Email Domain Blocks using the not_permitted string from "custom emojii's"
* Ran i18n-tasks normalize to address test failure
* Removed unused admin.export_domain_blocks.not_permitted string
Removing unused string as indicated by Check i18n
* Fix tests
(cherry picked from commit 9094c2f52c
)
* Fix domain block export not exporting blocks with only media rejection
(cherry picked from commit 26ff48ee48
)
* Fix various issues with domain block import
- stop using Paperclip for processing domain allow/block imports
- stop leaving temporary files
- better error handling
- assume CSV files are UTF-8-encoded
(cherry picked from commit cad824d8f501b95377e4f0a957e5a00d517a1902)
Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Joshua Wood
daf6f3453e
Handle links with no href in VerifyLinkService ( #20741 )
...
Before this change, the following error would cause VerifyAccountLinksWorker to fail:
NoMethodError: undefined method `downcase' for nil:NilClass
[PROJECT_ROOT]/app/services/verify_link_service.rb:31 :in `block in link_back_present?`
2 years ago
Claire
cbb0153bd0
Fix invalid/empty RSS feed link on account pages ( #20772 )
...
Fixes #20770
2 years ago
trwnh
7fdeed5fbc
Make tag following idempotent ( #20860 )
2 years ago
trwnh
72618ebf03
Fix getting a single EmailDomainBlock ( #20846 )
2 years ago
Claire
00b2720ef0
Change automatic post deletion configuration to be accessible to redirected users ( #20774 )
...
Fixes #20550
2 years ago
trwnh
e1f819fd78
Fix pagination of followed tags ( #20861 )
...
* Fix missing pagination headers on followed tags
* Fix typo
2 years ago
Levi Bard
654d348aac
Make the button that expands the publish form differentiable from the button that publishes a post ( #20864 )
2 years ago
Claire
0cc77263fc
Change batch account suspension to create a strike ( #20897 )
2 years ago
Chris Johnson
413481f953
Add maskable icon support for Android ( #20904 )
...
* Add maskable icon support for Android
* Update manifest_serializer.rb
* Fix linting issue
2 years ago
nyura123dev
aaca78da78
Fix safari explore disappearing tabs ( #20917 )
...
* fix disappearing Explore tabs on Safari
* fix lint
Co-authored-by: nyura <nyura@hidden.com>
2 years ago
Claire
23ea0e7508
Add aria-label and title attributes to local settings navigation items ( #1949 )
2 years ago
Claire
1901829f9a
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `config/initializers/content_security_policy.rb`:
Our config file is pretty different from upstream.
Upstream changed CSP directive `script-src` to include
`wasm-unsafe-eval` instead of `unsafe-eval`, which we
did not include.
Added `wasm-unsafe-eval` to `script-src` to fix
execution of the OCR web worker.
- `package.json`:
Upstream updated a dependency (`array-includes`) textually
adjacent to a glitch-soc-only dependency (`atrament`).
Updated `array-includes` as upstream did.
2 years ago
Daniel Axtens
4d85c27d1a
Add 'private' to Cache-Control, match Rails expectations ( #20608 )
...
Several controlers set quite intricate Cache-Control headers in order to
hopefully not be cached by any intermediate proxies or local caches. Unfortunately,
these headers are processed by ActionDispatch::HTTP::Cache in a way that squashes
and discards any values set alongside no-store other than private:
8015c2c2cf/actionpack/lib/action_dispatch/http/cache.rb (L207-L209)
We want to preserve no-store on these responses, but we might as well remove
parts that are going to be dropped anyway. As many of the endpoints in these
controllers are private to a particular user, we should also add "private",
which will be preserved alongside no-store.
2 years ago
Eugen Rochko
a1738f8991
New Crowdin updates ( #20580 )
...
* New translations en.json (Catalan)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Thai)
* New translations en.yml (Spanish)
* New translations en.yml (Ukrainian)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations en.yml (Hungarian)
* New translations en.json (Slovak)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Catalan)
* New translations en.yml (Turkish)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations simple_form.en.yml (Thai)
* New translations en.json (Irish)
* New translations en.yml (Norwegian)
* New translations en.yml (German)
* New translations en.json (Romanian)
* New translations en.yml (Danish)
* New translations en.json (Irish)
* New translations en.yml (Irish)
* New translations en.yml (Norwegian)
* New translations en.yml (Russian)
* New translations en.yml (Norwegian Nynorsk)
* New translations simple_form.en.yml (Irish)
* New translations doorkeeper.en.yml (Irish)
* New translations en.yml (Danish)
* New translations en.json (Catalan)
* New translations en.yml (Norwegian)
* New translations en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Norwegian)
* New translations en.json (Catalan)
* New translations en.json (Portuguese, Brazilian)
* New translations simple_form.en.yml (Portuguese, Brazilian)
* New translations en.yml (Portuguese, Brazilian)
* New translations simple_form.en.yml (Portuguese, Brazilian)
* New translations en.yml (Latvian)
* New translations en.json (Irish)
* New translations en.json (Swedish)
* New translations en.yml (Galician)
* New translations en.json (Latvian)
* New translations en.yml (Latvian)
* New translations en.json (Kabyle)
* New translations en.yml (Welsh)
* New translations en.json (Breton)
* New translations en.json (Kabyle)
* New translations en.yml (Kabyle)
* New translations simple_form.en.yml (Kabyle)
* New translations en.json (Malay)
* New translations simple_form.en.yml (Spanish)
* New translations simple_form.en.yml (Malay)
* New translations activerecord.en.yml (Malay)
* New translations devise.en.yml (Malay)
* New translations doorkeeper.en.yml (Malay)
* New translations en.json (Malay)
* New translations en.yml (Malay)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (Malay)
* New translations simple_form.en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations activerecord.en.yml (Malay)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations doorkeeper.en.yml (Malay)
* New translations en.yml (Dutch)
* New translations en.json (Malay)
* New translations en.yml (Malay)
* New translations en.json (English, United Kingdom)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (Malay)
* New translations devise.en.yml (Welsh)
* New translations en.yml (German)
* New translations en.yml (Vietnamese)
* New translations en.yml (Malay)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Malay)
* New translations simple_form.en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations devise.en.yml (Malay)
* New translations en.json (Vietnamese)
* New translations en.yml (Malay)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (German)
* New translations en.yml (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Catalan)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Malay)
* New translations devise.en.yml (Thai)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Catalan)
* New translations en.json (Norwegian)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Norwegian)
* New translations devise.en.yml (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Korean)
* New translations en.yml (Korean)
* New translations en.yml (Norwegian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Korean)
* New translations en.json (Esperanto)
* New translations en.json (Korean)
* New translations en.yml (Korean)
* New translations en.yml (Norwegian)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (Korean)
* New translations simple_form.en.yml (Norwegian)
* New translations en.json (Korean)
* New translations en.yml (Korean)
* New translations doorkeeper.en.yml (Korean)
* New translations devise.en.yml (Korean)
* New translations en.json (Asturian)
* New translations en.json (Asturian)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Eugen Rochko
17bd9a87b9
Fix wrong color on mentions hidden behind content warning in web UI ( #20724 )
2 years ago
Claire
ceafd1f68f
Fix infinite loop when system emoji font is enabled ( #1931 )
...
Fixes #1930
2 years ago
Claire
8aa56aedfd
[Glitch] Fix nodes order being sometimes mangled when rewriting emoji
...
Port ccbca50a25
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
b5698af25f
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Claire
ccbca50a25
Fix nodes order being sometimes mangled when rewriting emoji ( #20677 )
...
* Fix front-end emoji tests
* Fix nodes order being sometimes mangled when rewriting emoji
2 years ago
Claire
71982e5c83
[Glitch] Fix emoji substitution not applying only to text nodes in Web UI
...
Port 625e086996
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
767630be24
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `Gemfile`:
Upstream removed blank lines.
2 years ago
Claire
71c92d3f56
Fix emoji substitution not applying only to text nodes in backend code ( #20641 )
...
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
625e086996
Fix emoji substitution not applying only to text nodes in Web UI ( #20640 )
...
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
96c1ef6d50
[Glitch] Fix media metadata being only editable once
...
Port 2d54986a03
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
9ab4e3fc6d
Merge branch 'main' into glitch-soc/merge-upstream
2 years ago
Claire
2d54986a03
Fix media metadata being only editable once ( #20665 )
2 years ago
trwnh
c31e756644
[Glitch] Move V2 Filter methods under /api/v2 prefix
...
Port b59ce0a60f
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Eugen Rochko
9db90d2ebe
[Glitch] Fix dropdown menu on profiles not being accessible on narrow screens in web UI
...
Port 6da9df774e
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Samuel Kaiser
9fd866f38e
[Glitch] Stick batch table toolbar to the top
...
Port e62b514e95
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
32c70d2f09
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/views/admin/announcements/edit.html.haml`:
Upstream change too close to theming-related glitch-soc change.
Ported upstream changes.
- `app/views/admin/announcements/new.html.haml`
Upstream change too close to theming-related glitch-soc change.
Ported upstream changes.
2 years ago
trwnh
b59ce0a60f
Move V2 Filter methods under /api/v2 prefix ( #20622 )
...
* Move V2 Filter methods under /api/v2 prefix
* move over the tests too
2 years ago
Eugen Rochko
552d69ad96
Fix error when invalid domain name is submitted ( #19474 )
...
Fix #19175
2 years ago
Eugen Rochko
523e106cbf
Fix style of username in navigation bar above compose form in web UI ( #20628 )
...
Regression from #20540
2 years ago
Eugen Rochko
b31afc6294
Fix error when passing unknown filter param in REST API ( #20626 )
...
Fix #19156
2 years ago
Eugen Rochko
5c826c408d
Fix image type not being set after conversion for convertible image types ( #20624 )
2 years ago
Eugen Rochko
167d86d21d
Fix `role_ids` not accepting arrays in admin API ( #20625 )
...
Fix #19157
2 years ago
Eugen Rochko
2e2ba39abf
Fix rules with same priority being sorted non-deterministically ( #20623 )
2 years ago
Eugen Rochko
6da9df774e
Fix dropdown menu on profiles not being accessible on narrow screens in web UI ( #20620 )
2 years ago
Hampton Lintorn-Catlin
147d8bd8fc
Support UTF-8 Characters in Domains During CSV Import ( #20592 )
...
* Support UTF-8 Characters in Domains During Import
* Update Changelong
2 years ago
Eugen Rochko
d0b7bd4250
Fix wrong cut-off point for "Read more" in web UI ( #20599 )
2 years ago
Eugen Rochko
24b2c60beb
Fix icons having an image role ( #20600 )
2 years ago
trwnh
07229089a6
Change in-app links to keep you in-app ( #20540 )
...
* Change in-app links to keep you in-app
* refactor Permalink into Link
* rewrite link hrefs in status content
* please linter
* please linter again
2 years ago
Samuel Kaiser
e62b514e95
Stick batch table toolbar to the top ( #20442 )
...
Fixes #20441
2 years ago
Claire
3d3bd344cb
Fix announcement dates not being validated client-side ( #20577 )
2 years ago
Eugen Rochko
cf36ee99bb
New Crowdin updates ( #20476 )
...
* New translations en.json (Galician)
* New translations en.yml (Galician)
* New translations en.json (Japanese)
* New translations en.yml (Czech)
* New translations en.json (Esperanto)
* New translations en.yml (Norwegian)
* New translations en.json (Spanish, Argentina)
* New translations en.json (Latvian)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations simple_form.en.yml (Esperanto)
* New translations activerecord.en.yml (Russian)
* New translations activerecord.en.yml (Portuguese, Brazilian)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (Norwegian)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations en.json (Malayalam)
* New translations simple_form.en.yml (Thai)
* New translations simple_form.en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Thai)
* New translations devise.en.yml (Welsh)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Irish)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Thai)
* New translations en.yml (Thai)
* New translations en.json (Esperanto)
* New translations en.yml (Irish)
* New translations en.json (Norwegian)
* New translations en.json (Polish)
* New translations en.yml (Polish)
* New translations en.json (Slovak)
* New translations en.yml (Slovak)
* New translations en.json (Turkish)
* New translations en.yml (Portuguese, Brazilian)
* New translations simple_form.en.yml (Thai)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Polish)
* New translations en.json (Slovak)
* New translations en.yml (Slovak)
* New translations simple_form.en.yml (Slovak)
* New translations en.json (Thai)
* New translations simple_form.en.yml (Portuguese, Brazilian)
* New translations doorkeeper.en.yml (Esperanto)
* New translations en.json (Norwegian)
* New translations en.json (Finnish)
* New translations en.json (Norwegian)
* New translations simple_form.en.yml (Norwegian)
* New translations en.yml (Thai)
* New translations en.json (Norwegian Nynorsk)
* New translations en.yml (Norwegian Nynorsk)
* New translations simple_form.en.yml (Arabic)
* New translations en.json (German)
* New translations en.json (Dutch)
* New translations en.yml (Greek)
* New translations en.yml (German)
* New translations en.yml (Hungarian)
* New translations en.yml (Hebrew)
* New translations en.yml (Finnish)
* New translations en.yml (Basque)
* New translations en.yml (Frisian)
* New translations en.yml (Danish)
* New translations en.yml (Catalan)
* New translations en.yml (Bulgarian)
* New translations en.yml (Arabic)
* New translations en.yml (Afrikaans)
* New translations en.yml (French)
* New translations en.yml (Romanian)
* New translations en.yml (Spanish)
* New translations en.yml (Czech)
* New translations en.yml (Armenian)
* New translations en.yml (Urdu (Pakistan))
* New translations en.yml (Vietnamese)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Swedish)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Slovenian)
* New translations en.yml (Thai)
* New translations en.yml (Galician)
* New translations en.yml (Russian)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Persian)
* New translations en.yml (Tamil)
* New translations en.yml (Slovak)
* New translations en.yml (Japanese)
* New translations en.yml (Portuguese)
* New translations en.yml (Polish)
* New translations en.yml (Punjabi)
* New translations en.yml (Norwegian)
* New translations en.yml (Dutch)
* New translations en.yml (Macedonian)
* New translations en.yml (Lithuanian)
* New translations en.yml (Korean)
* New translations en.yml (Georgian)
* New translations en.yml (Italian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Albanian)
* New translations en.yml (Turkish)
* New translations en.yml (Ido)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Kannada)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Asturian)
* New translations en.yml (Occitan)
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Corsican)
* New translations en.yml (Sinhala)
* New translations en.yml (Sardinian)
* New translations en.yml (Sanskrit)
* New translations en.yml (Kabyle)
* New translations en.yml (Taigi)
* New translations en.yml (Silesian)
* New translations en.yml (Standard Moroccan Tamazight)
* New translations en.yml (Burmese)
* New translations en.yml (Cornish)
* New translations en.yml (Breton)
* New translations en.yml (Bengali)
* New translations en.yml (Hindi)
* New translations en.yml (Marathi)
* New translations en.yml (Croatian)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Kazakh)
* New translations en.yml (Estonian)
* New translations en.yml (Latvian)
* New translations en.yml (Malay)
* New translations en.yml (Malayalam)
* New translations en.yml (Telugu)
* New translations en.yml (English, United Kingdom)
* New translations en.yml (Welsh)
* New translations en.yml (Esperanto)
* New translations en.yml (Uyghur)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Tatar)
* New translations en.yml (Igbo)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Afrikaans)
* New translations en.yml (Korean)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Thai)
* New translations en.yml (German)
* New translations en.yml (Czech)
* New translations en.yml (Catalan)
* New translations en.yml (Greek)
* New translations en.yml (Italian)
* New translations en.yml (Slovenian)
* New translations en.yml (Swedish)
* New translations simple_form.en.yml (Thai)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (Basque)
* New translations en.yml (Norwegian)
* New translations en.yml (Portuguese)
* New translations en.yml (Icelandic)
* New translations en.json (Spanish, Argentina)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (Albanian)
* New translations en.yml (Albanian)
* New translations en.yml (French)
* New translations en.yml (Hebrew)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Norwegian)
* New translations en.yml (Polish)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Esperanto)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Hebrew)
* New translations en.yml (Norwegian)
* New translations en.yml (German)
* New translations en.json (Spanish)
* New translations en.yml (Finnish)
* New translations en.json (Norwegian)
* New translations en.yml (Latvian)
* New translations en.yml (Esperanto)
* New translations en.json (German)
* New translations en.json (Esperanto)
* New translations en.yml (Dutch)
* New translations en.yml (Norwegian)
* New translations en.yml (Esperanto)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations doorkeeper.en.yml (Catalan)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Claire
cf77d938f8
Fix saving server registration settings redirecting to branding settings ( #20505 )
2 years ago
Claire
a808ac1fd8
[Glitch] Fix WebUI crash when listing server blocks and rationale is not available
...
Port 93a6ebc83d
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
9255bfb908
[Glitch] Add the ability to edit media attachment metadata for any unattached media
...
Port 31005aad12
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Cutls
e2315876f4
[Glitch] Do not show drag&drop dialog when not logined
...
Port 553b169d48
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
8ac4165c72
[Glitch] Remove “No description added” media warning in edit mode
...
Port 5e796dc6f8
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Eugen Rochko
400d168310
[Glitch] Fix domain blocks on about page not working well on small screens in web UI
...
Port 6774c339b2
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Connor Shea
d525ae4bdd
[Glitch] Only remove padding when listing applications
...
Port cf4992c918
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Yamagishi Kazutoshi
0071582c6d
[Glitch] Delay workbox import
...
Port 53d26cfc1c
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
5394ca6807
[Glitch] Fix unnecessary service worker registration and preloading when logged out
...
Port 894ce3726a
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
487689f062
[Glitch] Remove preview cards from fav and boost notifications
...
Port 99734ac936
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
3fa6c603ba
[Glitch] Fix color of the “No description added“ media upload warning on light theme
...
Port 89a6b76f99
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Claire
93912f0498
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/models/account.rb`:
Conflict because we (glitch-soc) have disabled trending of posts without
review.
Discarded that upstream change.
- `app/views/admin/settings/discovery/show.html.haml`:
Just an extra setting in glitch-soc.
Kept that extra setting.
2 years ago
Claire
d37f426f95
Add back missing glitch-soc admin settings ( #1919 )
...
Fixes #1890
2 years ago
Claire
6a96b17a2d
Add “Glitch-only” label to glitch-specific settings
2 years ago
Claire
c813df2ebb
Merge pull request #1917 from ClearlyClaire/glitch-soc/fixes/not-recommended-label
...
Fix “not recommended” label being shown as “recommended”
2 years ago