Eugen Rochko
bbd3474416
Fix privacy policy link not being visible on small screens ( #17533 )
Fix #17482
2 years ago
Eugen Rochko
6240466866
Fix duplicate accounts when searching by IP range in admin UI ( #17524 )
2 years ago
Claire
7396a254c1
Fix empty batch statuses selection causing a 500 error ( #17532 )
* Fix empty batch statuses selection causing a 500 error
* Simplify current_params
2 years ago
Claire
38845592c4
Fix controls for unchangeable properties on status edit not being disabled ( #17531 )
Fixes #17520
2 years ago
Eugen Rochko
e848d281d5
Fix layout of the report page on smaller screens in admin UI ( #17523 )
Fix #17491
2 years ago
Jeong Arm
ee47e2028b
Enable domain purge button on suspended domains too ( #17209 )
* Enable domain purge button on suspended domains too
* Change unless to if
2 years ago
Eugen Rochko
8f03b7a2fb
Add notifications when a reblogged status has been updated ( #17404 )
* Add notifications when a reblogged status has been updated
* Change wording to say "edit" instead of "update" and add missing controls
* Replace previous update notifications with the most up-to-date one
2 years ago
Eugen Rochko
d0fcf07436
Change actions in reports to require only one click ( #17487 )
2 years ago
Eugen Rochko
a27729ee48
Change reblogs to not count towards hashtag trends anymore ( #17501 )
2 years ago
Eugen Rochko
c9a52833b6
Fix deletes not being signed in authorized fetch mode ( #17484 )
Fix #17483
2 years ago
Claire
d4e6774a0c
Fix Undo Announce sometimes inlining the originally Announced status ( #17516 )
* Change tests to have more specific expectations on sent ActivityPub payloads
* Check that payload doesn't actually contain the contents of the boosted toot
* Fix Undo Announce sometimes inlining the originally Announced status
2 years ago
Eugen Rochko
6f38765fcc
New Crowdin updates ( #16858 )
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations devise.en.yml (French)
[ci skip]
* New translations devise.en.yml (French)
[ci skip]
* New translations activerecord.en.yml (French)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Scottish Gaelic)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations activerecord.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations activerecord.en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations devise.en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations devise.en.yml (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations devise.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[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 simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[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 simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Scottish Gaelic)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.yml (Sardinian)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Dutch)
[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 en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* Ran `i18n-tasks normalize`
* Ran `yarn manage:translations`
* Add space
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Eugen Rochko
3dc1e3cfc3
Chore: Disable menu items for editing statuses in web UI ( #17497 )
Feature must be unlocked in a separate release for max. compatibility
2 years ago
Claire
da91b18a8b
Fix NoMethodError in StatusUpdateDistributionWorker ( #17499 )
* Add tests
* Fix NoMethodError in StatusUpdateDistributionWorker
* Fix tests
2 years ago
Claire
63854bee6c
Fix poll votes not being properly reset on poll change ( #17498 )
* Fix poll votes not being properly reset on poll change
* Fix and add tests
* Fix poll update handling when the number of options changes
2 years ago
Eugen Rochko
1bfcb75105
Fix outdated iso-639 reference in update status service ( #17496 )
2 years ago
Eugen Rochko
63002cde03
Add editing for published statuses ( #17320 )
* Add editing for published statuses
* Fix change of multiple-choice boolean in poll not resetting votes
* Remove the ability to update existing media attachments for now
2 years ago
Eugen Rochko
2f8159baad
Add `category` and `rule_ids` params to `POST /api/v1/reports` ( #17492 )
2 years ago
Eugen Rochko
3aebe711fd
Change languages to be listed under standard instead of native name in admin UI ( #17485 )
2 years ago
Eugen Rochko
fd3a45e348
Add edit history to web UI ( #17390 )
* Add edit history to web UI
* Change history reducer to store items per status
* Fix missing loading prop
2 years ago
Eugen Rochko
2adcad04ff
Fix error in suggestions API due to typo ( #17486 )
Regression from #17479
2 years ago
Eugen Rochko
b6d7726ecb
Remove language detection through cld3 ( #17478 )
* Remove language detection through cld3
* Update app/helpers/languages_helper.rb
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Eugen Rochko
85b86fe28c
Add global `locale` param ( #17464 )
- Remove the session-based locale stickyness
2 years ago
Eugen Rochko
35850f8195
Fix localization of cold-start follow recommendations ( #17479 )
2 years ago
Claire
52c1b86964
Fix Ruby 2.5 incompatibility ( #17465 )
2 years ago
Eugen Rochko
f1f6ddd536
Fix structured data parsing from links choking on bad data ( #17403 )
* Fix structured data parsing from links choking on bad data
- Fix og:url meta tag being prioritized over canonical link tag
- Fix structured data parsing choking on commented-out CDATA declarations
- Fix HTML entities in title, description, provider_name, author_name
- Change structured data parsing to attempt every JSON-LD script tag
* Remove unnecessary slash escapes from CDATA regex pattern
2 years ago
Claire
73a782391c
Fix replies collection incorrectly looping ( #17462 )
* Refactor tests
* Add tests
* Fix replies collection incorrectly looping
2 years ago
Claire
0d2cf3cd4a
Fix errors when multiple Delete are received for a given actor ( #17460 )
2 years ago
Claire
92658f0fb0
Fix instance actor not being dereferenceable ( #17457 )
* Add tests
* Fix instance actor not being dereferenceable
* Fix tests
* Fix tests for real
2 years ago
Eugen Rochko
e03e7ac290
Fix error on account relationships page in admin UI ( #17444 )
2 years ago
Claire
c8b1e72a4f
Fix compacted JSON-LD possibly causing compatibility issues on forwarding ( #17428 )
2 years ago
Claire
948235592a
Fix response_to_recipient? CTE ( #17427 )
2 years ago
Claire
d1ecc323e7
Compact JSON-LD signed incoming activities ( #17426 )
Co-authored-by: Puck Meerburg <puck@puck.moe>
2 years ago
Claire
987d88ea56
Fix requiring an extra restart after recent post-deployment migrations ( #17422 )
Follow-up to #16409
2 years ago
Claire
f5639e1cbe
Change public profile pages to be disabled for unconfirmed users ( #17385 )
Fixes #17382
Note that unconfirmed and unapproved accounts can still be searched for
and their (empty) account retrieved using the REST API.
2 years ago
Claire
03d59340da
Fix Sidekiq warnings about JSON serialization ( #17381 )
* Fix Sidekiq warnings about JSON serialization
This occurs on every symbol argument we pass, and every symbol key in hashes,
because Sidekiq expects strings instead.
See https://github.com/mperham/sidekiq/pull/5071
We do not need to change how workers parse their arguments because this has
not changed and we were already converting to symbols adequately or using
`with_indifferent_access`.
* Set Sidekiq to raise on unsafe arguments in test mode
In order to more easily catch issues that would produce warnings in production
code.
2 years ago
Claire
166cc5b89d
Fix local distribution of edited statuses ( #17380 )
Because `FanOutOnWriteService#update?` was broken, edits were considered as new
toots and a regular `update` payload was sent.
2 years ago
Eugen Rochko
6505b39e5d
Fix poll updates being saved as status edits ( #17373 )
Fix #17344
2 years ago
Claire
dd63923c0a
Fix link_to_login argument handling when a block is passed ( #17345 )
2 years ago
Claire
0a120d86d2
Fix error-prone SQL queries ( #15828 )
* Fix error-prone SQL queries in Account search
While this code seems to not present an actual vulnerability, one could
easily be introduced by mistake due to how the query is built.
This PR parameterises the `to_tsquery` input to make the query more robust.
* Harden code for Status#tagged_with_all and Status#tagged_with_none
Those two scopes aren't used in a way that could be vulnerable to an SQL
injection, but keeping them unchanged might be a hazard.
* Remove unneeded spaces surrounding tsquery term
* Please CodeClimate
* Move advanced_search_for SQL template to its own function
This avoids one level of indentation while making clearer that the SQL template
isn't build from all the dynamic parameters of advanced_search_for.
* Add tests covering tagged_with, tagged_with_all and tagged_with_none
* Rewrite tagged_with_none to avoid multiple joins and make it more robust
* Remove obsolete brakeman warnings
* Revert "Remove unneeded spaces surrounding tsquery term"
The two queries are not strictly equivalent.
This reverts commit 86f16c537e
.
2 years ago
Claire
a63495230a
Change `percent` to `rate` in retention metrics API ( #16910 )
2 years ago
Claire
bddd9ba36d
Add OMNIAUTH_ONLY environment variable to enforce externa log-in ( #17288 )
* Remove support for OAUTH_REDIRECT_AT_SIGN_IN
Fixes #15959
Introduced in #6540 , OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.
However, it did not prevent the log-in form on /about introduced by #10232 from
appearing, and completely broke with the introduction of #15228 .
As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.
* Add OMNIAUTH_ONLY environment variable to enforce external log-in only
* Disable user registration when OMNIAUTH_ONLY is set to true
* Replace log-in links When OMNIAUTH_ONLY is set with exactly one OmniAuth provider
2 years ago
Claire
cfa583fa71
Remove support for OAUTH_REDIRECT_AT_SIGN_IN ( #17287 )
Fixes #15959
Introduced in #6540 , OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.
However, it did not prevent the log-in form on /about introduced by #10232 from
appearing, and completely broke with the introduction of #15228 .
As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.
2 years ago
Claire
8a07ecd377
Remove leftover database columns from Devise::Models::Rememberable ( #17191 )
* Remove leftover database columns from Devise::Models::Rememberable
* Update fix-duplication maintenance script
* Improve errors/warnings in the fix-duplicates maintenance script
2 years ago
Claire
3a103cd317
Fix text being incorrectly pre-selected in composer textarea on /share ( #17339 )
Fixes #17295
2 years ago
Claire
6eea3f8f9c
Add post edited notice in admin and public UIs ( #17335 )
* Add edited toot flag on public pages
* Add toot edit flag to admin pages
2 years ago
Eugen Rochko
9eb775a9d1
Fix error when using raw distribution worker ( #17334 )
Regression from #16697
2 years ago
Eugen Rochko
d412a8d1f2
Fix error when processing poll updates ( #17333 )
Regression from #16697
2 years ago
Eugen Rochko
1060666c58
Add support for editing for published statuses ( #16697 )
* Add support for editing for published statuses
* Fix references to stripped-out code
* Various fixes and improvements
* Further fixes and improvements
* Fix updates being potentially sent to unauthorized recipients
* Various fixes and improvements
* Fix wrong words in test
* Fix notifying accounts that were tagged but were not in the audience
* Fix mistake
2 years ago
Jeong Arm
2d1f082bb6
Fix NameError on ActivityPub::FetchFeaturedCollectionService ( #17326 )
Related: #16954
2 years ago