Eugen Rochko
0b88105e3a
Fix undefined method error when batch-removing statuses with ElasticSearch on ( #15421 )
4 years ago
Takeshi Umeda
743c7504f5
Fix unfollow action button style ( #15418 )
4 years ago
ThibG
ca5b51153a
Fix media modal buttons not showing up on mobile ( #15417 )
...
Fixes #15374
When the pop-out player was introduced, it had tweaks for the mobile
view, but it's now disabled in mobile mode and the styling was reused
for modals, causing the footer to be hidden on mobile without a good
reason.
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
trwnh
33e4e1cfe4
Use existing FeaturedTag serializer and delete AccountFeaturedTag serializer ( #15415 )
...
* Update featured_tags_controller.rb
* Update featured_tag_serializer.rb
* Update featured_tag_serializer.rb
* Delete account_featured_tag_serializer.rb
* please codeclimate
* please codeclimate
4 years ago
ThibG
92243f1306
Fix mentions not being deleted efficiently ( #15416 )
...
As a regression from the recent optimizations, mentions were left untouched
until `account.destroy`, which would then delete them individually,
and executing queries to find and delete associated notifications, resulting
in a massive slowdown.
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
e4f5e9c029
Fix trying to privatize empty media attachments ( #15414 )
4 years ago
ThibG
52955fdcee
Improve performances of deleting favourites when deleting accounts ( #15412 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
fd6bfd2b0f
New Crowdin updates ( #15369 )
...
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Albanian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Romanian)
[ci skip]
* New translations en.yml (Tatar)
[ci skip]
* New translations en.json (Tatar)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations doorkeeper.en.yml (Sardinian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations doorkeeper.en.yml (Romanian)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (Sorani (Kurdish))
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Sardinian)
[ci skip]
* New translations en.yml (Sardinian)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations simple_form.en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.json (Sorani (Kurdish))
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations doorkeeper.en.yml (Dutch)
[ci skip]
* New translations en.yml (Macedonian)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.json (Macedonian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.json (Lithuanian)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Georgian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.json (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Armenian)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations devise.en.yml (German)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations simple_form.en.yml (Malayalam)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations devise.en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations devise.en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations devise.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations devise.en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations activerecord.en.yml (Kabyle)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
4 years ago
ThibG
c1f03bedec
Fix BatchedRemoveStatusService not working without ES in rails console ( #15408 )
...
Not a huge deal but may cause surprising failures in custom scripts and
development.
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
8d75aa630f
Improve account deletion performances further ( #15407 )
...
* Delete status records by batches of 50
* Do not precompute values that are only used once
* Do not generate redis events for removal of public toots older than two weeks
* Filter reported toots a priori for polls and status deletion
* Do not process reblogs when cleaning up public timelines
As in Mastodon proper, reblogs don't appear in public TLs
* Clean the deleted account's own feed in one go
* Refactor Account#clean_feed_manager and List#clean_feed_manager
* Delete instead of destroy a few more associations
* Fix preloading
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
58e0d8924b
Fix batch order warnings in BatchedRemoveStatusService ( #15409 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
f894bb9220
Fix external user creation failing when invite request text is required ( #15405 )
...
* Fix external user creation failing when invite request text is required
Also fixes tootctl-based user creation.
* Add test about invites when invite request text is otherwise required
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
3489758ff2
Fix unnecessary queries when batch-removing statuses, 100x faster ( #15387 )
4 years ago
ThibG
806f7ea54f
Fix some notifications not being deleted on poll/status deletion ( #15402 )
...
* Fix deleting polls not deleting notifications
* Fix fav notification deletion when deleting a toot
* Refactor DeleteAccountService spec
* Add DeleteAccountService tests for other associations and notifications
* Add favourite handling spec in status removal
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
ad1a3c6435
Fix invitation links not working when invite request text is required ( #15385 )
...
Fixes #15383
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
bbf0e7107c
Fix AccountDeletionWorker crashing and clogging sidekiq queues ( #15380 )
...
* Fix account deletion workers being queued multiple times for a single account
* Fix poll votes being unnecessarily instantiated on poll deletion
* Fix favourites being unnecessarily instantiated on status deletion
* Remove inaccurate comments
* Delete polls instead of destroying them
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
382ecc0197
New Crowdin updates ( #15353 )
...
* New translations en.json (Danish)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations doorkeeper.en.yml (Arabic)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations doorkeeper.en.yml (Bulgarian)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Breton)
[ci skip]
* New translations simple_form.en.yml (Breton)
[ci skip]
* New translations en.json (Kannada)
[ci skip]
* New translations en.yml (Breton)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Hindi)
[ci skip]
* New translations doorkeeper.en.yml (Hindi)
[ci skip]
* New translations en.json (Malay)
[ci skip]
* New translations en.yml (Malay)
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations en.json (Welsh)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Welsh)
[ci skip]
* New translations doorkeeper.en.yml (Welsh)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.json (Uyghur)
[ci skip]
* New translations en.yml (Uyghur)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations simple_form.en.yml (Malayalam)
[ci skip]
* New translations doorkeeper.en.yml (Malayalam)
[ci skip]
* New translations en.yml (Kannada)
[ci skip]
* New translations en.yml (Serbian (Latin))
[ci skip]
* New translations en.json (Taigi)
[ci skip]
* New translations simple_form.en.yml (Kabyle)
[ci skip]
* New translations doorkeeper.en.yml (Kabyle)
[ci skip]
* New translations en.json (Ido)
[ci skip]
* New translations en.yml (Ido)
[ci skip]
* New translations simple_form.en.yml (Ido)
[ci skip]
* New translations doorkeeper.en.yml (Ido)
[ci skip]
* New translations en.yml (Taigi)
[ci skip]
* New translations en.json (Silesian)
[ci skip]
* New translations en.yml (Silesian)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.json (Asturian)
[ci skip]
* New translations en.json (Serbian (Latin))
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations simple_form.en.yml (Asturian)
[ci skip]
* New translations doorkeeper.en.yml (Asturian)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations doorkeeper.en.yml (Occitan)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Sanskrit)
[ci skip]
* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations en.json (Sanskrit)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Latvian)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.json (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Sardinian)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations simple_form.en.yml (Sardinian)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Tatar)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.json (Tatar)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations doorkeeper.en.yml (Sardinian)
[ci skip]
* New translations doorkeeper.en.yml (Sorani (Kurdish))
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Estonian)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Croatian)
[ci skip]
* New translations simple_form.en.yml (Croatian)
[ci skip]
* New translations doorkeeper.en.yml (Croatian)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Kazakh)
[ci skip]
* New translations doorkeeper.en.yml (Thai)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations simple_form.en.yml (Kazakh)
[ci skip]
* New translations doorkeeper.en.yml (Kazakh)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations doorkeeper.en.yml (Marathi)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Tamil)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations simple_form.en.yml (Bengali)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.yml (Marathi)
[ci skip]
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
4 years ago
Eugen Rochko
46b249ece6
Fix missing description on enable bootstrap timeline accounts toggle in admin UI ( #15367 )
4 years ago
ThibG
0b3e9c1e4c
Fix resolving accounts sometimes creating duplicate records for a given AP id ( #15364 )
...
* Fix ResolveAccountService accepting mismatching acct: URI
* Set attributes that should be updated regardless of suspension
* Fix key fetching
* Automatically merge remote accounts with duplicate `uri`
* Add tests
* Add "tootctl accounts fix-duplicates"
Finds duplicate accounts sharing a same ActivityPub `id`, re-fetch them and
merge them under the canonical `acct:` URI.
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
82b5e454dc
Fix styling issue on /about when server admin has a long username ( #15357 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
e66964d8f0
Fix follow limit preventing re-following of a moved account ( #14207 )
4 years ago
Eugen Rochko
832b70df82
Fix styles for RTL languages and the light theme ( #15356 )
4 years ago
Eugen Rochko
816df80b86
Add option to obfuscate domain name in public list of domain blocks ( #15355 )
...
- Replace the middle of the domain with * characters (except for periods)
- Add SHA-256 digest of the domain name in tooltip
4 years ago
ThibG
509ab82fb2
Improve searching for private toots from URL ( #14856 )
...
* Improve searching for private toots from URL
Most of the time, when sharing toots, people use the toot URL rather than
the toot URI, which makes sense since it is the user-facing URL.
In Mastodon's case, the URL and URI are different, and Mastodon does not
have an index on URL, which means searching a private toot by URL is done
with a slow query that will only succeed for very recent toots.
This change gets rid of the slow query, and attempts to guess the URI from
URL instead, as Mastodon's are predictable.
* Add tests
* Only return status with guessed uri if url matches
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
d5a3299b4d
New Crowdin updates ( #15220 )
...
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Armenian)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.yml (Sardinian)
[ci skip]
* New translations simple_form.en.yml (Sardinian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations simple_form.en.yml (Albanian)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Sardinian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations devise.en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Sardinian)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* ran `yarn manage:translations`
* ran `i18n-tasks normalize`
* Ran `yarn manage:translations`
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* Ran `i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
4 years ago
ThibG
5a4d40dcfa
Change notification permission handling ( #15176 )
...
* Change notification permission handling
- allow changing individual alert settings even if permission is not explicitly
enabled (asks for permission on toggle)
- persist permission request banner dismissal across sessions through settings
* Add additional, more discrete message to grant permissions
* Change permission granting button design according to reviews
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
02bd1060d8
Fix admins being able to suspend their instance actor ( #14567 )
...
* Fix admin being able to suspend their own instance account
* Add text about the instance's own actor in admin view
* Change instance actor notice from flash message to template
* Do not list local instance actor in account moderation list
4 years ago
Eugen Rochko
812f2bdb8f
Change RTL detection to rely on unicode-bidi paragraph by paragraph ( #14573 )
4 years ago
Eugen Rochko
76b0f84cd5
Add stoplight for object storage failures, return HTTP 503 ( #13043 )
4 years ago
Mashiro
9129058192
Add "invite request content" display in user account admin page ( #15265 )
...
* feat: display `invite_request_text` in admin's user account page
* fix: move invite_request to the bottom of accounts page
* fix: remove time display, remove formate, change code terminology
* fix: remove escape
4 years ago
ThibG
3debd888a6
Add indication to admin UI of whether a report has been forwarded ( #13237 )
...
* Add indication to admin UI of whether a report has been forwarded
* Rework how forwarded status is displayed
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Marcin Mikołajczak
429d837f80
Add app shortcuts ( #15234 )
...
* Add app shortcuts
Signed-off-by: mkljczk <me@mkljczk.pl>
* Fix codeclimate issues
Signed-off-by: mkljczk <me@mkljczk.pl>
* Change shortcuts
Signed-off-by: mkljczk <me@mkljczk.pl>
* More consistent new-status icon
Signed-off-by: mkljczk <me@mkljczk.pl>
4 years ago
ThibG
64eaaff345
Add ability to require invite request text ( #15326 )
...
Fixes #15273
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
5749bd73ca
Fix dynamic updating of “Bootstrap timeline accounts” admin setting ( #15325 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
2d8ee84ed6
Change "Profile unavailable" string to "Account suspended" in web UI ( #15345 )
4 years ago
Eugen Rochko
df8874b24e
Fix performance on instances list in admin UI ( #15282 )
...
- Reduce duplicate queries
- Remove n+1 queries
- Add accounts count to detailed view
- Add separate action log entry for updating existing domain blocks
4 years ago
Eugen Rochko
c2ff16b1ed
Change number format on about page from full to shortened ( #15327 )
4 years ago
ThibG
e1ef5f3b31
Add honeypot fields and minimum fill-out time for sign-up form ( #15276 )
...
* Add honeypot fields to limit non-specialized spam
Add two honeypot fields: a fake website input and a fake password confirmation
one. The label/placeholder/aria-label tells not to fill them, and they are
hidden in CSS, so legitimate users should not fall into these.
This should cut down on some non-Mastodon-specific spambots.
* Require a 3 seconds delay before submitting the registration form
* Fix tests
* Move registration form time check to model validation
* Give people a chance to clear the honeypot fields
* Refactor honeypot translation strings
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
ThibG
772f525c90
Fix notifications being unnecessarily redrawn on state change ( #15312 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
trwnh
eb9be7be0c
rename replies_policy enumerables ( #15304 )
4 years ago
Takeshi Umeda
4de05a3606
Fix missing pictureInPicture prop in detailed status container ( #15309 )
4 years ago
Jeong Arm
46ad37d3a5
Fix open media hotkey ( #15308 )
...
* Fix open media hotkey
* Update status.js
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
4 years ago
Takeshi Umeda
14b5505c68
Fix the Open handler for PreviewCard ( #15305 )
4 years ago
ThibG
58a3eaccba
Fix column swiping animation logic ( #15301 )
...
From the start, swiping columns was highly unreliable because the logic
could change `ReactSwipeableViews`'s `animateTransitions` property
mid-swipe.
PR #11200 partially fixed this, but at the unintended cost of disabling the
swipe animation altogether.
This PR changes the logic behind `shouldAnimate` to only disable the swiping
animation at the end of a column change not initiated by `ReactSwipeableViews`.
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
4 years ago
Eugen Rochko
7e7f69dfed
Fix unnecessary re-rendering of various components when typing in web UI ( #15286 )
4 years ago
Eugen Rochko
48534762cf
Fix slow distinct queries where grouped queries are faster ( #15287 )
...
About 2x speed-up on inboxes query
4 years ago
Eugen Rochko
de8c539b7b
Fix not being able to open audio modal in web UI ( #15283 )
...
Fix #15280
Also adds the new action bar and blurhash-based background
color to audio and video modals
4 years ago
Eugen Rochko
905032d903
Fix alert when failing to save timeline markers in web UI ( #15285 )
...
Fix #15267
4 years ago
Eugen Rochko
9d12bbf0e2
Fix too low contrast on new media modal background in web UI ( #15284 )
...
Fix #15258
4 years ago
Takeshi Umeda
c229a3aab7
Fix remove number sign from account_featured_tags ( #15277 )
4 years ago
Takeshi Umeda
fabb864526
Fix incorrect conditions for suspended accounts in Get API for account featured tags ( #15270 )
4 years ago
ThibG
1fce69291f
Fix account merging in maintenance script ( #15264 )
...
Also include AccountNote and AccountDeletionRequest to the list of classes
needing to be reassigned the merged account.
4 years ago
ThibG
b62b44a0e1
Change public thread view to hide "Show thread" link ( #15266 )
...
Fixes #15262
4 years ago
ThibG
39824d29f1
Fix followers hash cache not being invalidated on account merge ( #15256 )
...
Also clear relationships cache.
4 years ago
Eugen Rochko
9c670a0e7f
Fix `ku` locale not being right-to-left ( #15252 )
4 years ago
Mélanie Chauvel
413526a7b8
Fix character count not ignoring hidden CW field ( #15236 )
4 years ago
Eugen Rochko
a217a14b58
Fix omniauth (SAML/CAS) sign-in routes not having CSRF protection ( #15228 )
4 years ago
Eugen Rochko
c3d62dcf8a
Fix media modal crashing when media has no blurhash ( #15229 )
4 years ago
Eugen Rochko
715c8eac80
Fix deletes not reaching every server that interacted with status ( #15200 )
...
Extract logic for determining ActivityPub inboxes to send deletes
to to its own class and explicitly include the person the status
replied to (even if not mentioned), people who favourited it, and
people who replied to it (though that one is still not recursive)
4 years ago
Eugen Rochko
841c0c9a28
Fix media modal regression on public pages ( #15221 )
4 years ago
Eugen Rochko
af1fa584e9
Change media modals look in web UI ( #15217 )
...
- Change overlay background to match color of viewed image
- Add interactive reply/boost/favourite buttons to footer of modal
- Change ugly "View context" link to button among the action bar
4 years ago
Eugen Rochko
5de6f37c4d
New Crowdin updates ( #15137 )
...
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.yml (Sanskrit)
[ci skip]
* New translations en.json (Sanskrit)
[ci skip]
* New translations en.yml (Sardinian)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations en.yml (Urdu (Pakistan))
[ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.yml (Telugu)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.json (Telugu)
[ci skip]
* New translations en.yml (Malay)
[ci skip]
* New translations en.json (Malay)
[ci skip]
* New translations en.yml (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.json (Latvian)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations simple_form.en.yml (Kazakh)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.json (Kazakh)
[ci skip]
* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.yml (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations simple_form.en.yml (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations devise.en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Kannada)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations doorkeeper.en.yml (Esperanto)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations devise.en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations devise.en.yml (Czech)
[ci skip]
* New translations devise.en.yml (Czech)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.json (Chinese Traditional, Hong Kong)
[ci skip]
* New translations devise.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations devise.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations devise.en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations devise.en.yml (Galician)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Sorani (Kurdish))
[ci skip]
* New translations doorkeeper.en.yml (Sorani (Kurdish))
[ci skip]
* Ran `i18n-tasks normalize`
* Ran `yarn manage:translations`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
4 years ago
Eugen Rochko
876df5bb18
Add `tootctl accounts merge` ( #15201 )
...
* Add `tootctl accounts merge`
* Update lib/mastodon/accounts_cli.rb
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
4 years ago
abcang
144e606ec9
Fixed ESLint error ( #15214 )
...
* eslint --fix
* fix consistent-return
* fix promise/catch-or-return
* ignore import rule
4 years ago
Eugen Rochko
107759e4ee
Remove fade-in animation from modals in web UI ( #15199 )
4 years ago
Eugen Rochko
bcb3a91c0c
Fix hardcoded frame rate for frame by frame video navigation in web UI ( #15198 )
4 years ago
ThibG
da80f4852e
Undo outgoing follows when suspending a remote account ( #15188 )
4 years ago
ThibG
a609802736
Fix not being able to unfavorite toots one has lost access to ( #15192 )
...
Fixes #15191
4 years ago
ThibG
f2e1d77706
Fix webfinger redirect handling in ResolveAccountService ( #15187 )
...
* Fix webfinger redirect handling in ResolveAccountService
ResolveAccountService#process_webfinger! handled a one-step webfinger
redirection, but only accepting the result if it matched the exact URI passed
as input, defeating the point of a redirection check.
Instead, use the same logic as in `ActivityPub::FetchRemoteAccountService`,
updating the resulting `acct:` URI with the result of the first webfinger
query.
* Add tests
4 years ago
ThibG
8e79bac43d
Add import/export feature for bookmarks ( #14956 )
...
* Add ability to export bookmarks
* Add support for importing bookmarks
* Add bookmark import tests
* Add bookmarks export test
4 years ago
Darius Kazemi
8681af3303
Mark correctly as read reverse-order announcements ( #15070 )
...
This fixes a bug in #15065 where the "read" indicator was not getting correctly set. The ID of a dismissed announcement is now correct.
4 years ago
ThibG
b0bc965658
Fix sending spurious Rejects when processing remote account deletion ( #15104 )
...
* Fix sending spurious Rejects when processing remote account deletion
* Make skip_side_effects imply skip_activitypub
4 years ago
Eugen Rochko
471b8570ad
Add cache buster feature for media files ( #15155 )
...
Nginx can be configured to bypass proxy cache when a special header
is in the request. If the response is cacheable, it will replace
the cache for that request. Proxy caching of media files is
desirable when using object storage as a way of minimizing bandwidth
costs, but has the drawback of leaving deleted media files for
a configured amount of cache time. A cache buster can make those
media files immediately unavailable. This especially makes sense
when suspending and unsuspending an account.
4 years ago
ThibG
fdab81200a
Fix DMs not appearing into timelines ( #15182 )
...
Fixes #15179
4 years ago
ThibG
71e63ec4dd
Fix image uploads being random data when canvas read access is blocked ( #15180 )
...
Fixes #15178
PR #11499 introduced a way to deal with all-white canvas, but newer
Firefox versions set random data instead.
This PR detects whether canvas operations are reliable by comparing
the results on a hardcoded 2×2 pixels image, and memoizing the result.
This should be both more reliable and faster than the previous check.
4 years ago
Eugen Rochko
d416f3f662
Fix pop-out player appearing on mobile screens in web UI ( #15157 )
...
Fix #15092
4 years ago
Eugen Rochko
e8facfb2e9
Add hotkeys for audio/video control ( #15158 )
...
Fix #14515
4 years ago
ThibG
53ad960562
Fix AccountDeletionWorker not accepting keyword arguments ( #15152 )
4 years ago
Eugen Rochko
7e2920d9b2
Fix streaming API allowing connections to persist after access token invalidation ( #15111 )
...
Fix #14816
4 years ago
Eugen Rochko
90faa8039c
Fix 2FA/sign-in token sessions being valid after password change ( #14802 )
...
If someone tries logging in to an account and is prompted for a 2FA
code or sign-in token, even if the account's password or e-mail is
updated in the meantime, the session will show the prompt and allow
the login process to complete with a valid 2FA code or sign-in token
4 years ago
ThibG
472b0e77e7
Fix possible inconsistencies in tag search ( #14906 )
...
Do not downcase the queried tag before passing it to postgres when searching:
- tags are not downcased on creation
- `arel_table[:name].lower.matches(pattern)` generates an ILIKE anyway
- if Postgres and Rails happen to use different case-folding rules,
downcasing before query but not before insertion may mean that some
tags with some casings are not searchable
4 years ago
Takeshi Umeda
f0a79a9fa8
Add interrelationship icon ( #15149 )
...
* Add interrelationship icon
* Fix arrow for rtl
* Fix to predefined color
4 years ago
Takeshi Umeda
1dde6183a3
Add follow selected followers button ( #15148 )
...
* Add follow selected followers button
* Fix unused variable
* Fix i18n normalize
4 years ago
Eugen Rochko
640005d33a
Add button to dismiss desktop notifications permissions banner ( #15141 )
4 years ago
Eugen Rochko
4dccf2c8c8
Remove auto-redirect to direct messages in web UI ( #15142 )
4 years ago
Yamagishi Kazutoshi
02a9e38210
Add missing locales ( #15138 )
4 years ago
Eugen Rochko
f86045827e
New Crowdin updates ( #15110 )
...
* New translations doorkeeper.en.yml (Hungarian)
[ci skip]
* New translations doorkeeper.en.yml (Korean)
[ci skip]
* New translations doorkeeper.en.yml (Georgian)
[ci skip]
* New translations doorkeeper.en.yml (Japanese)
[ci skip]
* New translations doorkeeper.en.yml (Italian)
[ci skip]
* New translations doorkeeper.en.yml (Armenian)
[ci skip]
* New translations doorkeeper.en.yml (Hebrew)
[ci skip]
* New translations doorkeeper.en.yml (Dutch)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Basque)
[ci skip]
* New translations doorkeeper.en.yml (Greek)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations doorkeeper.en.yml (Danish)
[ci skip]
* New translations doorkeeper.en.yml (Czech)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Norwegian)
[ci skip]
* New translations doorkeeper.en.yml (Persian)
[ci skip]
* New translations doorkeeper.en.yml (Ukrainian)
[ci skip]
* New translations doorkeeper.en.yml (Indonesian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations doorkeeper.en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Traditional)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Polish)
[ci skip]
* New translations doorkeeper.en.yml (Swedish)
[ci skip]
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations doorkeeper.en.yml (Albanian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Portuguese)
[ci skip]
* New translations en.json (Kazakh)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Czech)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Bulgarian)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.json (Bulgarian)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations simple_form.en.yml (Danish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.json (Armenian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hebrew)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations simple_form.en.yml (Basque)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations simple_form.en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations simple_form.en.yml (Armenian)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Romanian)
[ci skip]
* New translations simple_form.en.yml (Croatian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations en.json (Romanian)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Breton)
[ci skip]
* New translations en.yml (Breton)
[ci skip]
* New translations doorkeeper.en.yml (Croatian)
[ci skip]
* New translations en.yml (Croatian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.json (Croatian)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations doorkeeper.en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Chinese Traditional)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.yml (Urdu (Pakistan))
[ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.yml (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations simple_form.en.yml (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Swedish)
[ci skip]
* New translations en.json (Swedish)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations en.json (Macedonian)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Macedonian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.json (Lithuanian)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Georgian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.json (Georgian)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.json (Polish)
[ci skip]
* New translations simple_form.en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.json (Serbian (Cyrillic))
[ci skip]
* New translations simple_form.en.yml (Albanian)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations devise.en.yml (Turkish)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Korean)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations devise.en.yml (Japanese)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations simple_form.en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations devise.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations activerecord.en.yml (Icelandic)
[ci skip]
* New translations devise.en.yml (Icelandic)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations simple_form.en.yml (Russian)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations activerecord.en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* Fix invalid syntax
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* bundle exec i18n-tasks normalize
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* bundle exec i18n-tasks normalize
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* bundle exec i18n-tasks normalize [ci skip]
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
4 years ago
Eugen Rochko
f9dfbaf6b2
Fix updating account counters when account_stat is not yet created ( #15108 )
4 years ago
Yamagishi Kazutoshi
c01d043260
Remove unnecessary messages ( #15109 )
...
* Remove unnecessary messages
* ran `i18n-tasks normalize`
4 years ago
ThibG
4f093bc155
Fix Move handler not being triggered when failing to fetch target ( #15107 )
...
When failing to fetch the target account, the ProcessingWorker fails
as expected, but since it hasn't cleared the `move_in_progress` flag,
the next attempt at processing skips the `Move` activity altogether.
This commit changes it to clear the flag when encountering any
unexpected error on fetching the target account. This is likely to
occur because, of, e.g., a timeout, when many instances query the
same actor at the same time.
4 years ago
Eugen Rochko
228e8f2a4a
New Crowdin updates ( #14388 )
...
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Esperanto)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations simple_form.en.yml (Norwegian)
[ci skip]
* New translations devise.en.yml (Norwegian)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.json (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Vietnamese)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Galician)
[ci skip]
* New translations en.json (Albanian)
[ci skip]
* New translations en.json (Indonesian)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.json (Czech)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Breton)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Kabyle)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.json (Sardinian)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations doorkeeper.en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.json (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations simple_form.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.json (Spanish, Mexico)
[ci skip]
* New translations doorkeeper.en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations simple_form.en.yml (Spanish)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations simple_form.en.yml (Portuguese)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations simple_form.en.yml (German)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations simple_form.en.yml (Italian)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations simple_form.en.yml (Korean)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations devise.en.yml (German)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Hungarian)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations simple_form.en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations simple_form.en.yml (Albanian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations simple_form.en.yml (Corsican)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.json (Corsican)
[ci skip]
* New translations doorkeeper.en.yml (Corsican)
[ci skip]
* New translations devise.en.yml (Corsican)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations simple_form.en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.json (Chinese Traditional)
[ci skip]
* New translations en.json (German)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations simple_form.en.yml (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations devise.en.yml (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.json (Standard Moroccan Tamazight)
[ci skip]
* New translations en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations activerecord.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations devise.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations en.json (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations doorkeeper.en.yml (Turkish)
[ci skip]
* New translations devise.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations devise.en.yml (Turkish)
[ci skip]
* New translations activerecord.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations simple_form.en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* ran `i18n-tasks normalize`
* ran `yarn manage:translations`
* ran `i18n-tasks normalize`
* New translations en.json (Turkish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
4 years ago
ThibG
6a6b98af65
Fix crash in SuspendAccountWorker ( #15106 )
...
* Fix crash in SuspendAccountWorker
`follows` is an array thanks to `to_a`
* Fix code style issue
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
4 years ago
Eugen Rochko
38be9af436
Add support for reversible suspensions through ActivityPub ( #14989 )
4 years ago
ThibG
d41433f651
Fix crashes in SuspendAccountService/UnsuspendAccountService ( #15100 )
...
* Fix crashes in SuspendAccountService/UnsuspendAccountService
* Catch filesystem errors
4 years ago
ThibG
c11e8737dd
Fix suspension/unsuspension not working because of FeedManager change ( #15099 )
4 years ago
Eugen Rochko
79f71206de
Add subresource integrity for JS and CSS assets ( #15096 )
...
Fix #2744
4 years ago
Mélanie Chauvel
87042c99ee
Display “Show newer” and “Show older” instead of “Show more” in public pages ( #15052 )
4 years ago
ThibG
b1a78a5cce
Change order of announcements in admin page to sort them newest-first ( #15091 )
...
* Change order of announcements in admin page to sort show newly-created first
Fixes #15090
* Use reverse-chronological rather than creation date only
4 years ago
Takeshi Umeda
385c2eac6f
Add account sensitized ( #14361 )
...
* Add account sensitized
* Fix i18n normalize
* Fix description and spec
* Fix spec
* Fix wording
4 years ago
Mashiro
7f3497bd7f
Add limitation of image's max zoom rate (max to the original size of image) ( #15094 )
...
* limit image max scale rate to fit the actual image size
* replace with MIN_SCALE
* fix behavior on touch screen
4 years ago
dependabot[bot]
88dd5d3ee1
Bump detect-passive-events from 1.0.5 to 2.0.1 ( #15003 )
...
* Bump detect-passive-events from 1.0.5 to 2.0.1
Bumps [detect-passive-events](https://github.com/rafgraph/detect-passive-events ) from 1.0.5 to 2.0.1.
- [Release notes](https://github.com/rafgraph/detect-passive-events/releases )
- [Commits](https://github.com/rafgraph/detect-passive-events/compare/v1.0.5...v2.0.1 )
Signed-off-by: dependabot[bot] <support@github.com>
* Migrate to detect-passive-events v2
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
4 years ago
Mashiro
00c6280294
add mouse scroll lock in image expand view ( #15088 )
...
* add mouse scroll lock in image expand view
* enhancement
4 years ago
Mashiro
315356cf23
Add expand/compress image button on image view box ( #15068 )
...
* add zoom image button
* enhance zoom algorithm & add translation
* code structure
* code structure
* code structure
* enhance grab performance
* rm useless state
* fix behavior on Firefox & scroll lock & horizontal scroll with mousewheel
* remove scroll lock on MouseWheelEvent
* code structure
* enhance algorithm and code structure
* rm Gemfile.lock from tree
* codeclimate
* fix a stupid mistake
4 years ago
ThibG
9500d00e5f
Tweak signature verification ( #15069 )
...
* Add more specific error message when request body digest is invalid
This may help other implementors debug their implementation.
* Relax Host parameter requirement to GET requests
The only POST requests processed by Mastodon need objects/actors (including
their host) to be explicitly mentioned in the request's body, so replaying
a legitimate request to another host should not be a security issue.
* Support Digest headers using multiple algorithms or lowercase alogirthm names
4 years ago
ThibG
2d5f0a0002
Fix some account media gallery items having empty labels ( #15073 )
...
Remove the labels entirely for images instead of putting an empty label.
4 years ago
ThibG
2b0491bb3c
Fix poll ending notifications being created for each vote ( #15071 )
...
On a poll ending, notifications were created for each vote instead
of for each voter.
4 years ago
Darius Kazemi
a0b695b0c6
Show announcements in reverse chronological order ( #15065 )
4 years ago
fuyu
5ba6548e62
Fix wrong seek bar width on media player ( #15060 )
4 years ago
mayaeh
c15c3b01eb
Fix width of content text fluctuating over time ( #15055 )
4 years ago
Mélanie Chauvel
6c072d8dec
Make “Mark media as sensitive” properly translatable ( #15051 )
4 years ago
Mélanie Chauvel
f7eae6d264
Make visibility icon clickable as part of the time of a toot ( #15053 )
...
- Makes permalink to a toot more easily clickable
- Fix clicking between icon and time in fact clicking the display name
- Fix clicking slightly under time in fact clicking the display name
4 years ago
Mélanie Chauvel
c93e98ad47
Sort filters by “keyword or phrase” in Settings ( #15050 )
4 years ago
Mélanie Chauvel
988d029417
Make click area of video/audio player buttons bigger in WebUI ( #15049 )
4 years ago
ThibG
df120d667c
Fix follow request notifications ( #15048 )
4 years ago
ThibG
a9b5dd584f
Fix followers synchronization mechanism not being triggered on mentions ( #15026 )
...
e.g. if someone on an instance that previously had followers gets mentioned
in a private toot, before this PR, they would not receive a
Collection-Synchronization header and may show the toot to the former followers
in addition to the mentioned person.
4 years ago
ThibG
06aef3817a
Fix account processing failing because of large collections ( #15027 )
...
Fixes #15025
4 years ago
ThibG
694a5e33d5
Add follower synchronization mechanism ( #14510 )
...
* Add support for followers synchronization on the receiving end
Check the `collectionSynchronization` attribute on `Create` and `Announce`
activities and synchronize followers from provided collection if possible.
* Add tests for followers synchronization on the receiving end
* Add support for follower synchronization on the sender's end
* Add tests for the sending end
* Switch from AS attributes to HTTP header
Replace the custom `collectionSynchronization` ActivityStreams attribute by
an HTTP header (`X-AS-Collection-Synchronization`) with the same syntax as
the `Signature` header and the following fields:
- `collectionId` to specify which collection to synchronize
- `digest` for the SHA256 hex-digest of the list of followers known on the
receiving instance (where “receiving instance” is determined by accounts
sharing the same host name for their ActivityPub actor `id`)
- `url` of a collection that should be fetched by the instance actor
Internally, move away from the webfinger-based `domain` attribute and use
account `uri` prefix to group accounts.
* Add environment variable to disable followers synchronization
Since the whole mechanism relies on some new preconditions that, in some
extremely rare cases, might not be met, add an environment variable
(DISABLE_FOLLOWERS_SYNCHRONIZATION) to disable the mechanism altogether and
avoid followers being incorrectly removed.
The current conditions are:
1. all managed accounts' actor `id` and inbox URL have the same URI scheme and
netloc.
2. all accounts whose actor `id` or inbox URL share the same URI scheme and
netloc as a managed account must be managed by the same Mastodon instance
as well.
As far as Mastodon is concerned, breaking those preconditions require extensive
configuration changes in the reverse proxy and might also cause other issues.
Therefore, this environment variable provides a way out for people with highly
unusual configurations, and can be safely ignored for the overwhelming majority
of Mastodon administrators.
* Only set follower synchronization header on non-public statuses
This is to avoid unnecessary computations and allow Follow-related
activities to be handled by the usual codepath instead of going through
the synchronization mechanism (otherwise, any Follow/Undo/Accept activity
would trigger the synchronization mechanism even if processing the activity
itself would be enough to re-introduce synchronization)
* Change how ActivityPub::SynchronizeFollowersService handles follow requests
If the remote lists a local follower which we only know has sent a follow
request, consider the follow request as accepted instead of sending an Undo.
* Integrate review feeback
- rename X-AS-Collection-Synchronization to Collection-Synchronization
- various minor refactoring and code style changes
* Only select required fields when computing followers_hash
* Use actor URI rather than webfinger domain in synchronization endpoint
* Change hash computation to be a XOR of individual hashes
Makes it much easier to be memory-efficient, and avoid sorting discrepancy issues.
* Marginally improve followers_hash computation speed
* Further improve hash computation performances by using pluck_each
4 years ago
abcang
875a771c0b
Removed disabling comments for Style/MethodMissingSuper ( #15014 )
...
* Removed disabling comments for Style/MethodMissingSuper
* Update rubocop for codeclimate
4 years ago
Josh Leeb-du Toit
c94a083b9a
Add support for Gemini urls ( #15013 )
...
This PR updates the `valid_url` regex and sanitizer allowlist to provide
support for Gemini urls.
Closes #14991
4 years ago
mayaeh
20f7e2c452
Fix translation string ( #14986 )
4 years ago
mayaeh
f1b2eea474
Fix strings that could not be translated ( #14980 )
4 years ago
Eugen Rochko
10ff8b1205
Change how missing desktop notifications permission is displayed ( #14985 )
...
Add missing controls for new notification type
4 years ago
Takeshi Umeda
4395de7360
Fix a bear check when the activity object is nil ( #14981 )
4 years ago
ThibG
ce87767572
Change how CDN_HOST is passed down to make assets build reproducible ( #14381 )
...
* Change how CDN_HOST is passed down to make assets build reproducible
* Change webpacker/webpack configuration to dynamically load publicPath based on meta header
* Fix embedded layout missing the cdn-host meta header
4 years ago
OSAMU SATO
ba9252b32d
Add duration parameter to muting. ( #13831 )
...
* Adding duration to muting.
* Remove useless checks
4 years ago
ThibG
592fa427e3
Fix browser notification permission request logic ( #13543 )
...
* Add notification permission handling code
* Request notification permission when enabling any notification setting
* Add badge to notification settings when permissions insufficient
* Disable alerts by default, requesting permission and enable them on onboarding
4 years ago
Eugen Rochko
da4c730c47
Add IP-based rules ( #14963 )
4 years ago
ThibG
bf23bf82bd
Fix issue checking for last unread notification when there are gaps ( #14960 )
4 years ago
ThibG
199107aa25
Fix unread notification marker not updating when mounting column ( #14954 )
4 years ago
Eugen Rochko
adaf3f7b7a
Remove dependency on goldfinger gem ( #14919 )
...
There are edge cases where requests to certain hosts timeout when
using the vanilla HTTP.rb gem, which the goldfinger gem uses. Now
that we no longer need to support OStatus servers, webfinger logic
is so simple that there is no point encapsulating it in a gem, so
we can just use our own Request class. With that, we benefit from
more robust timeout code and IPv4/IPv6 resolution.
Fix #14091
4 years ago
ThibG
90a501d96d
Ignore alt-key hotkeys in text fields ( #14942 )
...
Fixes #14862
This used to be the case until #13987 , which introduced a hotkey to toggle
the Content Warning field.
Unfortunately, MacOS relies on the “alt” key for many things, including
composing text (see #14862 ), therefore, even if that makes the CW toggle
hotkey significantly less useful, it makes sense to not interfere with
composing toots.
4 years ago
mayaeh
b04f5d793e
Update translation files ( #14920 )
4 years ago
Eugen Rochko
5c10211bcd
Fix regressions in icon buttons in web UI ( #14915 )
4 years ago
Takeshi Umeda
ffa5aa294e
Fix mark as read in notifications to be saved immediately ( #14907 )
...
* Fix mark as read in notifications to be saved immediately
* fix code style
4 years ago
ThibG
cbdbe3699c
Fix logging out on mobile ( #14901 )
...
Fixes #14900
4 years ago
ThibG
79b2d30a19
Add option to disable swiping motions across the WebUI ( #13885 )
...
Fixes #13882
4 years ago
Takeshi Umeda
b361c0bac6
Fix unread notification markers ( #14897 )
4 years ago
ThibG
f53281dedb
Fix bell button causing a brief “Cancel follow request” on locked accounts ( #14896 )
4 years ago
Eugen Rochko
fc497420e9
Add pop-out player for audio/video in web UI ( #14870 )
...
Fix #11160
4 years ago
ThibG
1603dc87ac
Add environment variable to allow requests to some private addresses ( #14722 )
4 years ago
ThibG
187c756e16
Add unread notification markers ( #14818 )
...
* Add unread notification markers
Fixes #14804
* Allow IntersectionObserverArticle's children to be updated
4 years ago
Jeremy Rose
4b59090add
add og:published_time to opengraph meta tags ( #14865 )
4 years ago
Takeshi Umeda
67ee32365d
Fix a slow query for TagFeed ( #14861 )
...
* Fix a slow query for TagFeed
* rename tags to tag_ids
4 years ago
Takeshi Umeda
218ea2dedb
Fix method of the DELETE DATA button ( #14855 )
4 years ago
Eugen Rochko
2539d7d655
Fix not being able to enable status notifications in Web Push API ( #14822 )
4 years ago
Eugen Rochko
02c4c91faa
Add option to be notified when a followed user posts ( #13546 )
...
* Add bell button
Fix #4890
* Remove duplicate type from post-deployment migration
* Fix legacy class type mappings
* Improve query performance with better index
* Fix validation
* Remove redundant index from notifications
4 years ago
ThibG
219150f197
Fix home TL marker code mishandling gaps ( #14809 )
4 years ago
ThibG
cfb35b767c
Fix notification filter bar incorrectly filtering gaps ( #14808 )
4 years ago
kawaguchi
f13d563cb7
Fix validates :sign_count of WebauthnCredential ( #14806 )
4 years ago
Eugen Rochko
e514304a76
Change account suspensions to be reversible by default ( #14726 )
4 years ago