Commit graph

6458 commits

Author SHA1 Message Date
Eugen Rochko 91616004fe
Fix not being able to upload GIF emojis in admin UI (#17759) 2022-03-14 05:45:22 +01:00
Eugen Rochko 5db1f377ea
Fix nil error when viewing suspended domain in admin UI (#17765) 2022-03-14 05:27:37 +01:00
mayaeh 71e7d38421
Changed to display the "Explore" in "Getting-Started" at all resolutions (#17762) 2022-03-13 15:01:30 +01:00
Eugen Rochko fa47c37f13
Fix public timelines being inaccessible on one stage of responsive layout in web UI (#17760)
Fix #17756
2022-03-13 09:48:39 +01:00
mayaeh e38a01c41a
Change the "Explore" icon from fa-globe to fa-hashtag (#17757) 2022-03-13 05:15:19 +01:00
mayaeh e52085246f
Add menu column of explore to getting-started (#17755) 2022-03-13 04:51:09 +01:00
Claire 92a86b958e
Fix issues with processing toot edits (#17748)
* Fix searching for an already-known status by URL not working

* Fix Update processing from statuses prior to 20220302232632

`ordered_media_attachment_ids_changed?` would return `true` when going from
`nil` to anything (including `[]`).

* Add tests
2022-03-12 19:33:10 +01:00
Claire d3aa9cf774
Fix Updates being forwarded even when not processable or causing no change (#17699)
* Fix Updates being forwarded even when not processable or causing no change

* Refactor and ensure status edit is strictly newer than last known edit
2022-03-12 09:30:31 +01:00
Eugen Rochko ddbe906c25
Fix not updating a status when newer version is fetched manually (#17745) 2022-03-12 09:11:36 +01:00
Eugen Rochko 883099f3c9
Fix nil error when trying to fetch key for signature verification (#17747) 2022-03-12 09:02:24 +01:00
Claire 642528f455
Update fix-duplicates maintenance task (#17731)
* Update fix-duplicates task to 2022_02_10_153119

Also add support for Appeal to AccountMerging#merge_with!

* Update fix-duplicates task to 2022_03_07_094650

* Update fix-duplicates task to 2022_03_09_213005

* Update fix-duplicates task to 2022_03_07_083603

* Update fix-duplicates task to 2022_03_10_060626

* Update fix-duplicates script to 2022_03_07_083603

* Update fix-duplicates task to 2022_03_10_060706

* Update fix-duplicates task to 2022_03_10_060959

* Silence CodeClimate
2022-03-12 08:33:11 +01:00
Eugen Rochko ee8d4dd056
Fix moderator account leak in status edit history (#17746) 2022-03-12 08:23:03 +01:00
Eugen Rochko bc320d6cec
Fix POST /api/v1/emails/confirmations not being available after sign-up (#17743) 2022-03-12 04:14:25 +01:00
Eugen Rochko 1745b71840
New Crowdin updates (#17674)
* New translations devise.en.yml (Hindi)

* New translations devise.en.yml (Spanish, Mexico)

* New translations devise.en.yml (Spanish, Argentina)

* New translations devise.en.yml (Swedish)

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Turkish)

* New translations devise.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

* New translations devise.en.yml (Ukrainian)

* New translations activerecord.en.yml (Chinese Simplified)

* New translations devise.en.yml (Chinese Simplified)

* New translations activerecord.en.yml (Chinese Traditional)

* New translations devise.en.yml (Chinese Traditional)

* New translations devise.en.yml (Urdu (Pakistan))

* New translations devise.en.yml (Vietnamese)

* New translations activerecord.en.yml (Spanish, Argentina)

* New translations activerecord.en.yml (Galician)

* New translations devise.en.yml (Galician)

* New translations activerecord.en.yml (Portuguese, Brazilian)

* New translations devise.en.yml (Portuguese, Brazilian)

* New translations activerecord.en.yml (Indonesian)

* New translations devise.en.yml (Indonesian)

* New translations activerecord.en.yml (Persian)

* New translations devise.en.yml (Persian)

* New translations activerecord.en.yml (Tamil)

* New translations devise.en.yml (Tamil)

* New translations devise.en.yml (Welsh)

* New translations activerecord.en.yml (Sorani (Kurdish))

* New translations devise.en.yml (Sorani (Kurdish))

* New translations activerecord.en.yml (Corsican)

* New translations devise.en.yml (Corsican)

* New translations activerecord.en.yml (Sardinian)

* New translations devise.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

* New translations activerecord.en.yml (Kurmanji (Kurdish))

* New translations devise.en.yml (Kabyle)

* New translations devise.en.yml (Ido)

* New translations activerecord.en.yml (Standard Moroccan Tamazight)

* New translations devise.en.yml (Kurmanji (Kurdish))

* New translations devise.en.yml (Serbian (Latin))

* New translations activerecord.en.yml (Esperanto)

* New translations activerecord.en.yml (Breton)

* New translations activerecord.en.yml (Chinese Traditional, Hong Kong)

* New translations devise.en.yml (Chinese Traditional, Hong Kong)

* New translations activerecord.en.yml (Tatar)

* New translations devise.en.yml (Tatar)

* New translations activerecord.en.yml (Malayalam)

* New translations devise.en.yml (Malayalam)

* New translations devise.en.yml (Breton)

* New translations activerecord.en.yml (Serbian (Latin))

* New translations activerecord.en.yml (Sinhala)

* New translations devise.en.yml (Sinhala)

* New translations devise.en.yml (Kannada)

* New translations activerecord.en.yml (Occitan)

* New translations devise.en.yml (Occitan)

* New translations devise.en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Catalan)

* New translations en.json (Norwegian)

* New translations en.yml (Catalan)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Catalan)

* New translations en.json (Slovenian)

* New translations en.json (Persian)

* New translations en.json (Occitan)

* New translations en.json (Arabic)

* New translations en.json (Thai)

* New translations en.json (Hebrew)

* New translations en.json (Greek)

* New translations en.json (Dutch)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Latvian)

* New translations en.json (Indonesian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Croatian)

* New translations en.json (Kazakh)

* New translations en.json (Estonian)

* New translations en.json (Hindi)

* New translations en.json (Icelandic)

* New translations en.json (Malay)

* New translations en.json (Welsh)

* New translations en.json (Esperanto)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Sinhala)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Galician)

* New translations en.json (Basque)

* New translations en.json (Polish)

* New translations en.json (Finnish)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Portuguese)

* New translations en.json (Vietnamese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Cornish)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Swedish)

* New translations en.json (Catalan)

* New translations en.json (Polish)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations en.yml (French)

* New translations en.json (Russian)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations en.yml (Hungarian)

* New translations en.json (Hungarian)

* New translations en.yml (French)

* New translations en.yml (Hungarian)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.json (German)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Turkish)

* New translations en.yml (Icelandic)

* New translations en.yml (Turkish)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Spanish)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Spanish)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Spanish)

* New translations en.yml (Chinese Traditional)

* New translations en.json (Indonesian)

* New translations en.yml (Italian)

* New translations en.yml (Danish)

* New translations en.json (Italian)

* New translations en.yml (Danish)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.json (Slovenian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations en.json (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations en.yml (Danish)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations en.json (Portuguese)

* New translations en.json (Latvian)

* New translations en.yml (Danish)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations en.yml (Danish)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Russian)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.json (Sinhala)

* New translations en.yml (Sinhala)

* New translations en.json (Greek)

* New translations doorkeeper.en.yml (Sinhala)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Japanese)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Turkish)

* New translations en.yml (Vietnamese)

* New translations en.json (Vietnamese)

* New translations en.json (Slovak)

* New translations en.json (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.json (Esperanto)

* New translations en.yml (Danish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.yml (Danish)

* Fix

* Run `bundle exec i18n-tasks normalize -l da`

* New translations en.yml (Danish)

* Run `bundle exec i18n-tasks normalize -l da`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-11 14:35:51 +09:00
Jeong Arm 18e27e0488
Enable domain purge button on suspended domains too (#17741)
Related: #17209
2022-03-11 04:58:09 +01:00
Claire 64d2988d18
Fix edit history dropdown and modal in light theme (#17740)
Fixes #17739
2022-03-10 17:59:23 +01:00
Takeshi Umeda d7fab238a8
Fix a type error in domain_block policies (#17735) 2022-03-10 04:10:20 +01:00
Claire 29ee3c61a3
Fix report dialog being illegible using mastodon-light theme (#17734)
Fixes #17726
2022-03-10 00:11:15 +01:00
Eugen Rochko 9f2791eb64
Add polls and media attachments to edit comparison modal in web UI (#17727) 2022-03-09 21:15:24 +01:00
Claire 2a56a890da
Fix rare race condition when rebloged status is deleted (#17693)
* Fix rare race condition when rebloged status is deleted

* Use INSERT INTO … SELECT
2022-03-09 20:49:14 +01:00
Eugen Rochko b2cd34474b
Add rate limit for editing (#17728) 2022-03-09 20:06:51 +01:00
Eugen Rochko e54fd73df2
Fix being able to add more than 4 hashtags to hashtag column in web UI (#17729) 2022-03-09 13:01:44 +01:00
Eugen Rochko db04dfc8a6
Chore: Update translatable strings (#17723) 2022-03-09 20:45:49 +09:00
Claire 3bc0aeed50
Change text version of warning mail to mention appeals instead of mails (#17725)
Also, the instruction to reply to e-mail would probably not work in many cases
where the notifications e-mail address is not able to receive incoming emails
or the mailbox is not actively monitored.
2022-03-09 12:11:11 +01:00
chandrn7 a6ed6845c9
Allow login through OpenID Connect (#16221)
* added OpenID Connect as an SSO option

* minor fixes

* added comments, removed an option that shouldn't be set

* fixed Gemfile.lock

* added newline to end of Gemfile.lock

* removed tab from Gemfile.lock

* remove chomp

* codeclimate changes and small name change to make function's purpose clearer

* codeclimate fix

* added SSO buttons to /about page

* minor refactor

* minor style change

* removed spurious change

* removed unecessary conditional from ensure_valid_username and added support for auth.info.name in user_params_from_auth

* minor changes
2022-03-09 12:07:35 +01:00
Eugen Rochko d17fb70131
Change how changes to media attachments are stored for edits (#17696)
* Change how changes to media attachments are stored for edits

Fix not being able to re-order media attachments

* Fix not broadcasting updates when polls/media is changed through ActivityPub

* Various fixes and improvements

* Update app/models/report.rb

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

* Add tracking of media attachment description changes

* Change poll in status edit to have a structure closer to the real one

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-09 09:06:17 +01:00
Eugen Rochko bd53dd5210
Change design of federation pages in admin UI (#17704)
* Change design of federation pages in admin UI

* Fix query performance in instance media attachments measure

* Fix reblogs being included in instance languages dimension
2022-03-09 08:52:32 +01:00
Eugen Rochko 318d34d528
Fix data integrity of featured tags (#17712) 2022-03-09 08:51:12 +01:00
Eugen Rochko c0327ff31f
Fix invalid language resulting in no fallback being set on statuses (#17722) 2022-03-09 08:46:05 +01:00
Eugen Rochko 8f6c67bfde
Fix performance of account timelines (#17709)
* Fix performance of account timelines

* Various fixes and improvements

* Fix duplicate results being returned

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

* Fix grouping for pinned statuses scope

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-08 09:14:39 +01:00
Eugen Rochko dba4be1038
Change appearance of account cards in web UI (#17689)
* Change appearance of account cards in web UI

* Various fixes and improvements

* Various fixes and improvements
2022-03-07 11:38:52 +01:00
Eugen Rochko 292c75aa31
Fix nil error when submitting report without rule_ids (#17713) 2022-03-07 11:21:27 +01:00
Eugen Rochko edf09ec747
Add /api/v1/accounts/familiar_followers to REST API (#17700)
* Add `/api/v1/accounts/familiar_followers` to REST API

* Change hide network preference to be stored consistently for local and remote accounts

* Add dummy classes to migration

* Apply suggestions from code review

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-07 09:36:47 +01:00
Josh Soref b5329e0035
Spelling (#17705)
* spelling: account

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: affiliated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: appearance

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: autosuggest

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: cacheable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: component

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: conversations

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: domain.example

Clarify what's distinct and use RFC friendly domain space.

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: environment

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exceeds

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: functional

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: inefficiency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: not

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: notifications

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: occurring

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: position

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: progress

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: promotable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: reblogging

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: repetitive

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: resolve

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: saturated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: similar

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: strategies

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: success

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: targeting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: thumbnails

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unauthorized

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unsensitizes

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: validations

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: various

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-03-06 22:51:40 +01:00
Mashiro 87a55e2cd6
Change autocomplete type of password input box (#17702)
* Change autocomplete type of password input box

* Update _registration.html.haml
2022-03-05 05:57:50 +01:00
Eugen Rochko 2ea754b861
Fix duplicate notifications being possible after poll expiration (#17697) 2022-03-04 01:06:33 +01:00
Eugen Rochko 04c3ac896a
Fix infinite re-forwarding of update activities temporarily (#17698) 2022-03-04 01:00:13 +01:00
Claire 02dbc59c91
Add option to automatically delete toots after one week (#17691)
Fixes #17658
2022-03-03 16:18:58 +01:00
Claire 6d3fa7828e
Redesign /about when already logged in (#17348)
* Redesign /about when already logged in

* Fix sign up form still showing when OMNIAUTH_ONLY is set

* Fix tests

* Change wording based on suggestions

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-03-03 16:14:44 +01:00
Claire ff43e54a49
Allow editing media attachments for scheduled toots (#17690)
Fixes #17676
2022-03-03 16:13:58 +01:00
Eugen Rochko 631e495a79
Change follow scope to be covered by read and write scopes in REST API (#17678)
Deprecate `follow` scope
2022-03-03 16:13:40 +01:00
Eugen Rochko 085f286750
Fix returning empty <p> tag for blank account note in REST API (#17687) 2022-03-03 06:45:46 +01:00
Eugen Rochko 54d4ece743
Remove profile directory link from main navigation panel (#17688) 2022-03-03 06:45:30 +01:00
Claire c0c4b5718d
Change visual separation of applications in authorized apps list (#17686) 2022-03-02 20:28:25 +01:00
Eugen Rochko 9b58fb1ea4
Add descriptions to trending features in admin UI (#17677) 2022-03-02 18:57:44 +01:00
Eugen Rochko e24b14cc74
Fix leak of existence of otherwise inaccessible statuses in REST API (#17684) 2022-03-02 18:57:26 +01:00
Eugen Rochko 02b8d63fce
Fix report category not being saved in REST API (#17682) 2022-03-02 18:57:08 +01:00
Eugen Rochko 25d3dc4373
Add ability to mark statuses as sensitive from reports in admin UI (#17668)
* Add ability to mark statuses as sensitive from reports in admin UI

* Allow mark as sensitive action on statuses with preview cards
2022-03-01 22:20:29 +01:00
Claire 14919fe11e
Change old moderation strikes to be displayed in a separate page (#17566)
* Change old moderation strikes to be displayed in a separate page

Fixes #17552

This changes the moderation strikes displayed on `/auth/edit` to be those from
the past 3 months, and make all moderation strikes targeting the current user
available in `/disputes`.

* Add short description of what the strikes page is for

* Move link to list of strikes to “Account status” instead of navigation item

* Normalize i18n file

* Fix layout and styling of strikes link

* Revert highlights_on regexp

* Reintroduce account status summary

- this way, “Account status” is never empty
- account status is not necessarily bound to strikes, or recent strikes
2022-03-01 19:37:47 +01:00
Eugen Rochko 50ea54b3ed
Change authorized applications page (#17656)
* Change authorized applications page

* Hide revoke button for superapps and suspended accounts

* Clean up db/schema.rb
2022-03-01 16:48:58 +01:00
Eugen Rochko 233f7e6174
New Crowdin updates (#17628)
* New translations en.yml (Swedish)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Portuguese)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Portuguese)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Turkish)

* New translations en.yml (Italian)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations en.yml (Finnish)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Kabyle)

* New translations en.json (Kabyle)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Indonesian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Greek)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations en.yml (Catalan)

* New translations en.yml (Portuguese)

* New translations en.yml (Italian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Russian)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Japanese)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Italian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Spanish)

* New translations en.yml (Thai)

* New translations en.yml (French)

* New translations en.yml (Thai)

* New translations en.yml (Indonesian)

* New translations en.yml (Danish)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.yml (German)

* New translations en.yml (Thai)

* New translations en.yml (Icelandic)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Hungarian)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Catalan)

* New translations en.json (Slovenian)

* New translations en.json (Persian)

* New translations en.json (Occitan)

* New translations en.json (Arabic)

* New translations en.json (Thai)

* New translations en.json (Hebrew)

* New translations en.json (Greek)

* New translations en.json (Dutch)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Latvian)

* New translations en.json (Indonesian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Croatian)

* New translations en.json (Kazakh)

* New translations en.json (Estonian)

* New translations en.json (Hindi)

* New translations en.json (Icelandic)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (Welsh)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Sinhala)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Galician)

* New translations en.json (Basque)

* New translations en.json (Polish)

* New translations en.json (Finnish)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Punjabi)

* New translations en.json (Portuguese)

* New translations en.json (Vietnamese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Catalan)

* New translations en.json (French)

* New translations en.json (Catalan)

* New translations en.json (French)

* New translations en.json (Albanian)

* New translations en.json (Catalan)

* New translations en.yml (Albanian)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (Danish)

* New translations en.json (Danish)

* New translations en.json (Icelandic)

* New translations en.json (Danish)

* New translations en.json (Italian)

* New translations en.json (Italian)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Hungarian)

* New translations en.json (Ukrainian)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Hungarian)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Russian)

* New translations en.json (Greek)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Finnish)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Finnish)

* New translations en.json (Finnish)

* New translations en.json (Chinese Traditional)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (Thai)

* New translations en.json (Turkish)

* New translations en.json (Scottish Gaelic)

* New translations doorkeeper.en.yml (Scottish Gaelic)

* New translations activerecord.en.yml (Scottish Gaelic)

* New translations devise.en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (Latvian)

* New translations en.json (Latvian)

* New translations en.json (Latvian)

* New translations en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations en.json (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Danish)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* Run `bundle exec i18n-tasks normalize`

* Fix

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-03-01 18:38:36 +09:00
Eugen Rochko 1392741044
Chore: Update translatable strings (#17495) 2022-02-28 14:14:52 +01:00
Eugen Rochko cb2e198d89
Fix not showing loading indicator when searching in web UI (#17655) 2022-02-27 07:37:07 +01:00
Eugen Rochko 0883f05753
Fix report submit button not being disabled during submission in web UI (#17654)
Add loading indicator for status selection step in report dialog in web UI
2022-02-27 07:37:00 +01:00
Claire 57814a98a9
Fix remote reports with comments revealing remote reporter (#17652)
* Display username rather than display name in report comment

For consistency with report notes and appeals

* Fix remote reports with comments revealing remote reporter

* Display instance name in placeholder

* Make instance name in report comment a link to the federation admin page

* Normalize i18n file
2022-02-26 21:14:12 +01:00
Eugen Rochko 0dc57ab6ed
Fix status updates not being forwarded like deletes through ActivityPub (#17648)
Fix #17521
2022-02-26 17:51:59 +01:00
Claire 6aef76b5cd
Fix error when a MX is shared across blocked domains (#17650) 2022-02-26 17:26:28 +01:00
Claire 3d60708508
Fix crash in EmailDomainBlockRefreshScheduler (#17649) 2022-02-26 16:28:28 +01:00
MitarashiDango a5c24d5c4d
Fix unable to unpin follower-only posts (#17647) 2022-02-25 17:04:08 +01:00
Claire 255748dff4
Fix media modal footer's “external link” not being a link (#17561) 2022-02-25 01:20:41 +01:00
Claire 2cd31b3177
Fix reply button on media modal not giving focus to compose form (#17626)
* Avoid compose form and modal management fighting for focus

* Fix reply button on media modal footer not giving focus to compose form
2022-02-25 00:51:01 +01:00
Eugen Rochko d4592bbfcd
Add explore page to web UI (#17123)
* Add explore page to web UI

* Fix not removing loaded statuses from trends on mute/block action
2022-02-25 00:34:33 +01:00
Eugen Rochko 27965ce5ed
Add trending statuses (#17431)
* Add trending statuses

* Fix dangling items with stale scores in localized sets

* Various fixes and improvements

- Change approve_all/reject_all to approve_accounts/reject_accounts
- Change Trends::Query methods to not mutate the original query
- Change Trends::Query#skip to offset
- Change follow recommendations to be refreshed in a transaction

* Add tests for trending statuses filtering behaviour

* Fix not applying filtering scope in controller
2022-02-25 00:34:14 +01:00
Eugen Rochko a29a982eaa
Change e-mail domain blocks to block IPs dynamically (#17635)
* Change e-mail domain blocks to block IPs dynamically

* Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

* Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-24 17:28:23 +01:00
Claire b7cf11d5a9
Fix reporting from profile (#17632)
* Fix reporting from profile

* Clean up dead code
2022-02-23 21:37:02 +01:00
Eugen Rochko a9a43de6d1
Change report modal to include category selection in web UI (#17565)
* Change report modal to include category selection in web UI

* Various fixes and improvements

- Change thank you text to be different based on category
- Change starting headline to be different for account and status reports
- Change toggle components to have a checkmark when checked
- Fix report dialog being cut off on small screens
- Fix thank you screen offering mute or block if already muted or blocked
- Refactor toggle components in report dialog into one component

* Change wording on final screen

* Change checkboxes to be square when multiple options are possible
2022-02-23 20:03:46 +01:00
Claire 1c3e5e44e2
Fix new sign-up notification not working because of incorrect type name (#17629) 2022-02-23 19:30:13 +01:00
noiob 0db101ede2
Fix link in new hashtag notification email (#17624)
It's currently https://example.org/admin/trends/tags?pending_review=1 but should be https://example.org/admin/trends/tags?status=pending_review
2022-02-23 16:51:09 +01:00
Eugen Rochko 7b816eb5ae
Add notifications for new sign-ups (#16953) 2022-02-23 16:45:22 +01:00
Eugen Rochko d21bedc492
New Crowdin updates (#17593)
* New translations en.json (Catalan)

* New translations en.json (Turkish)

* New translations en.json (Macedonian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Korean)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Lithuanian)

* New translations en.json (Georgian)

* New translations en.json (Slovenian)

* New translations en.json (French)

* New translations en.json (Persian)

* New translations en.json (Occitan)

* New translations en.json (Arabic)

* New translations en.json (Thai)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Norwegian)

* New translations en.json (Hebrew)

* New translations en.json (Greek)

* New translations en.json (Dutch)

* New translations en.json (Romanian)

* New translations en.json (Spanish)

* New translations en.json (Japanese)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Cornish)

* New translations en.json (Silesian)

* New translations en.json (Taigi)

* New translations en.json (Ido)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

* New translations en.json (Sardinian)

* New translations en.json (Corsican)

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Serbian (Latin))

* New translations en.json (Asturian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Kannada)

* New translations en.json (Sinhala)

* New translations en.json (Marathi)

* New translations en.json (Breton)

* New translations en.json (Malayalam)

* New translations en.json (Tatar)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Uyghur)

* New translations en.json (Esperanto)

* New translations en.json (Welsh)

* New translations en.json (Telugu)

* New translations en.json (Malay)

* New translations en.json (Hindi)

* New translations en.json (Latvian)

* New translations en.json (Estonian)

* New translations en.json (Kazakh)

* New translations en.json (Croatian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Chinese Traditional)

* New translations en.json (Danish)

* New translations en.json (Thai)

* New translations en.yml (Thai)

* New translations en.json (Korean)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Thai)

* New translations devise.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Catalan)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Galician)

* New translations en.json (Greek)

* New translations en.json (Polish)

* New translations en.json (Hebrew)

* New translations en.json (Icelandic)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Chinese Traditional)

* New translations en.yml (Russian)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Swedish)

* New translations simple_form.en.yml (Russian)

* New translations en.json (Turkish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Albanian)

* New translations en.json (Vietnamese)

* New translations en.json (Latvian)

* New translations en.json (Hungarian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Italian)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.json (Finnish)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Hebrew)

* New translations en.yml (Hebrew)

* New translations en.json (Spanish)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.yml (Basque)

* New translations en.json (Ukrainian)

* New translations en.yml (Indonesian)

* New translations en.json (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Russian)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.json (Hungarian)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations en.json (French)

* New translations simple_form.en.yml (French)

* New translations en.json (French)

* New translations simple_form.en.yml (Galician)

* New translations en.json (French)

* New translations en.json (Russian)

* New translations activerecord.en.yml (Latvian)

* New translations en.yml (French)

* New translations en.yml (French)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-23 22:13:09 +09:00
luzpaz 73f5e4a1d9
Fix various typos (#17621)
Found via `codespell -q 3 -S ./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,keypair,medias,ro`
2022-02-22 20:14:17 +01:00
Claire 166f6e4b50
Fix some media attachments being converted with too high framerates (#17619)
Video files with variable framerates are converted to constant framerate videos
and the output framerate picked by ffmpeg is based on the original file's
container framerate (which can be different from the average framerate).

This means that an input video with variable framerate with about 30 frames per
second on average, but a maximum of 120 fps will be converted to a constant 120
fps file, which won't be processed by other Mastodon servers.

This commit changes it so that input files with VFR and a maximum framerate
above the framerate threshold are converted to VFR files with the maximum frame
rate enforced.
2022-02-22 17:11:22 +01:00
Eugen Rochko 51e67f3243
Fix link colors in report and strike details (#17616) 2022-02-22 15:27:25 +01:00
Eugen Rochko b377022cf9
Add caching layer to metrics (#17617) 2022-02-22 15:27:08 +01:00
Eugen Rochko 8338826963
Fix wrong styles on strike page (#17615) 2022-02-22 06:20:04 +01:00
dependabot[bot] 2e89067d21
Bump pundit from 2.1.1 to 2.2.0 (#17543)
* Bump pundit from 2.1.1 to 2.2.0

Bumps [pundit](https://github.com/varvet/pundit) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/varvet/pundit/releases)
- [Changelog](https://github.com/varvet/pundit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/varvet/pundit/compare/v2.1.1...v2.2.0)

---
updated-dependencies:
- dependency-name: pundit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* `include Pundit` is deprecated

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-19 13:30:06 +09:00
Eugen Rochko 1761d9ba5d
New Crowdin updates (#17514)
* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Albanian)

* New translations simple_form.en.yml (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations simple_form.en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations simple_form.en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations simple_form.en.yml (Chinese Simplified)

* New translations en.yml (Galician)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Vietnamese)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Galician)

* New translations en.yml (Japanese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Hebrew)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.yml (German)

* New translations en.yml (Polish)

* New translations en.yml (Turkish)

* New translations en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations en.yml (Polish)

* New translations en.yml (Turkish)

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Swedish)

* New translations en.yml (Swedish)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Icelandic)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations en.yml (Polish)

* New translations en.json (Polish)

* New translations en.json (Icelandic)

* New translations en.json (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.json (Icelandic)

* New translations doorkeeper.en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations en.yml (Albanian)

* New translations en.yml (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.json (Russian)

* New translations en.yml (Albanian)

* New translations en.yml (Indonesian)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.yml (Hungarian)

* New translations en.yml (Icelandic)

* New translations en.yml (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations simple_form.en.yml (Spanish, Argentina)

* New translations en.json (Korean)

* New translations en.yml (Thai)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Thai)

* New translations en.yml (Spanish)

* New translations en.yml (Thai)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Kurmanji (Kurdish))

* New translations en.yml (Spanish)

* New translations en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Kurmanji (Kurdish))

* New translations en.yml (Spanish)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Portuguese)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Georgian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Albanian)

* New translations en.yml (Basque)

* New translations en.yml (Serbian (Cyrillic))

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Finnish)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Swedish)

* New translations en.yml (Arabic)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Russian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Thai)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Occitan)

* New translations en.yml (Persian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Kabyle)

* New translations en.yml (Sardinian)

* New translations en.yml (Corsican)

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Serbian (Latin))

* New translations en.yml (Chinese Traditional, Hong Kong)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Malay)

* New translations en.yml (Latvian)

* New translations en.yml (Estonian)

* New translations en.yml (Kazakh)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Galician)

* New translations en.yml (Hungarian)

* New translations en.yml (Galician)

* New translations en.yml (Catalan)

* New translations en.yml (Hungarian)

* New translations en.yml (Polish)

* New translations en.yml (Breton)

* New translations en.json (Breton)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Spanish)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Portuguese)

* New translations en.yml (Ukrainian)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Portuguese)

* New translations en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Portuguese)

* New translations en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Italian)

* New translations en.yml (French)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations en.yml (Danish)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Turkish)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.json (Russian)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* New translations en.yml (Indonesian)

* New translations en.yml (Galician)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Traditional)

* Ran `yarn manage:translations`

* Ran `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-19 13:20:00 +09:00
Eugen Rochko de448ab1b5
Change global locale param to lang to avoid conflicts (#17592) 2022-02-19 03:12:28 +01:00
helloworldstack 2426577a91
Fix sign in token and warning emails failed to send in some cases (#17589) 2022-02-18 20:43:42 +01:00
Claire ac99f586bb
Fix issues when attempting to appeal an old strike (#17554)
* Display an error when an appeal could not be submitted

* Do not offer users to appeal old strikes

* Fix 500 error when trying to appeal a strike that is too old

* Avoid using an extra translatable string
2022-02-16 22:29:48 +01:00
Claire aa86cf9557
Fix opening the emoji picker scrolling the single-column view to the top (#17579)
Fixes #17577
2022-02-16 21:44:47 +01:00
Claire 00b45b967e
Fix edge case where settings/admin page sidebar would be incorrectly hidden (#17580) 2022-02-16 21:44:19 +01:00
Claire 8f537a1168
Change relays handling to not record boosts (#17571)
* Change relays handling to not record boosts

* Update tests
2022-02-16 14:36:44 +01:00
Claire 73fce8d311
Fix performance of server-side filtering (#17575)
Fixes #17567
2022-02-16 14:28:45 +01:00
Claire 793da08995
Change dasbhoard links for “new users” and “active users” (#17570)
Make them filter for local accounts by default
2022-02-16 13:17:28 +01:00
Eugen Rochko 564efd0651
Add appeals (#17364)
* Add appeals

* Add ability to reject appeals and ability to browse pending appeals in admin UI

* Add strikes to account page in settings

* Various fixes and improvements

- Add separate notification setting for appeals, separate from reports
- Fix style of links in report/strike header
- Change approving an appeal to not restore statuses (due to federation complexities)
- Change style of successfully appealed strikes on account settings page
- Change account settings page to only show unappealed or recently appealed strikes

* Change appealed_at to overruled_at

* Fix missing method error
2022-02-14 21:27:53 +01:00
Jeong Arm d39df35441
Fix admin statuses page order with media (#17538) 2022-02-14 16:07:04 +01:00
Jeong Arm 9a015e43ef
Add from: query operator to search syntax (#16526)
* Add 'by:userhandle' parameter to search api

* Use search syntax for "by" prefix

* Codeclimate

* Use 'from' instead of 'by'
2022-02-14 00:17:09 +01:00
Eugen Rochko bbd3474416
Fix privacy policy link not being visible on small screens (#17533)
Fix #17482
2022-02-13 02:52:34 +01:00
Eugen Rochko 6240466866
Fix duplicate accounts when searching by IP range in admin UI (#17524) 2022-02-13 01:58:26 +01:00
Claire 7396a254c1
Fix empty batch statuses selection causing a 500 error (#17532)
* Fix empty batch statuses selection causing a 500 error

* Simplify current_params
2022-02-12 19:52:17 +01:00
Claire 38845592c4
Fix controls for unchangeable properties on status edit not being disabled (#17531)
Fixes #17520
2022-02-12 19:00:33 +01:00
Eugen Rochko e848d281d5
Fix layout of the report page on smaller screens in admin UI (#17523)
Fix #17491
2022-02-12 01:08:23 +01:00
Jeong Arm ee47e2028b
Enable domain purge button on suspended domains too (#17209)
* Enable domain purge button on suspended domains too

* Change unless to if
2022-02-11 22:23:19 +01:00
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
2022-02-11 22:20:19 +01:00
Eugen Rochko d0fcf07436
Change actions in reports to require only one click (#17487) 2022-02-11 21:51:57 +01:00
Eugen Rochko a27729ee48
Change reblogs to not count towards hashtag trends anymore (#17501) 2022-02-11 21:16:23 +01:00
Eugen Rochko c9a52833b6
Fix deletes not being signed in authorized fetch mode (#17484)
Fix #17483
2022-02-11 14:52:45 +01:00
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
2022-02-11 14:52:07 +01:00
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>
2022-02-11 04:50:27 +01:00
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
2022-02-10 15:28:53 +01:00
Claire da91b18a8b
Fix NoMethodError in StatusUpdateDistributionWorker (#17499)
* Add tests

* Fix NoMethodError in StatusUpdateDistributionWorker

* Fix tests
2022-02-10 14:57:10 +01:00
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
2022-02-10 14:26:54 +01:00
Eugen Rochko 1bfcb75105
Fix outdated iso-639 reference in update status service (#17496) 2022-02-10 03:09:44 +01:00
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
2022-02-10 00:15:30 +01:00
Eugen Rochko 2f8159baad
Add category and rule_ids params to POST /api/v1/reports (#17492) 2022-02-10 00:10:16 +01:00
Eugen Rochko 3aebe711fd
Change languages to be listed under standard instead of native name in admin UI (#17485) 2022-02-09 04:15:38 +01:00
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
2022-02-09 01:17:07 +01:00
Eugen Rochko 2adcad04ff
Fix error in suggestions API due to typo (#17486)
Regression from #17479
2022-02-08 22:23:04 +01:00
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>
2022-02-08 02:41:17 +01:00
Eugen Rochko 85b86fe28c
Add global locale param (#17464)
- Remove the session-based locale stickyness
2022-02-08 02:34:56 +01:00
Eugen Rochko 35850f8195
Fix localization of cold-start follow recommendations (#17479) 2022-02-08 01:53:49 +01:00
Claire 52c1b86964
Fix Ruby 2.5 incompatibility (#17465) 2022-02-07 19:57:06 +01:00
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
2022-02-07 18:16:31 +01:00
Claire 73a782391c
Fix replies collection incorrectly looping (#17462)
* Refactor tests

* Add tests

* Fix replies collection incorrectly looping
2022-02-07 17:06:43 +01:00
Claire 0d2cf3cd4a
Fix errors when multiple Delete are received for a given actor (#17460) 2022-02-07 13:14:48 +01:00
Claire 92658f0fb0
Fix instance actor not being dereferenceable (#17457)
* Add tests

* Fix instance actor not being dereferenceable

* Fix tests

* Fix tests for real
2022-02-06 15:31:03 +01:00
Eugen Rochko e03e7ac290
Fix error on account relationships page in admin UI (#17444) 2022-02-05 05:06:34 +01:00
Claire c8b1e72a4f
Fix compacted JSON-LD possibly causing compatibility issues on forwarding (#17428) 2022-02-03 14:09:04 +01:00
Claire 948235592a
Fix response_to_recipient? CTE (#17427) 2022-02-03 14:07:43 +01:00
Claire d1ecc323e7
Compact JSON-LD signed incoming activities (#17426)
Co-authored-by: Puck Meerburg <puck@puck.moe>
2022-02-03 14:07:29 +01:00
Claire 987d88ea56
Fix requiring an extra restart after recent post-deployment migrations (#17422)
Follow-up to #16409
2022-02-01 20:57:39 +01:00
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.
2022-01-28 14:24:37 +01:00
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.
2022-01-28 00:43:56 +01:00
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.
2022-01-26 20:53:50 +01:00
Eugen Rochko 6505b39e5d
Fix poll updates being saved as status edits (#17373)
Fix #17344
2022-01-26 18:05:39 +01:00
Claire dd63923c0a
Fix link_to_login argument handling when a block is passed (#17345) 2022-01-24 03:29:03 +01:00
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 86f16c537e06c6ba4a8b250f25dcce9f049023ff.
2022-01-23 18:10:10 +01:00
Claire a63495230a
Change percent to rate in retention metrics API (#16910) 2022-01-23 16:01:25 +01:00
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
2022-01-23 15:52:58 +01:00
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.
2022-01-23 15:50:41 +01:00
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
2022-01-23 15:46:30 +01:00
Claire 3a103cd317
Fix text being incorrectly pre-selected in composer textarea on /share (#17339)
Fixes #17295
2022-01-20 20:56:21 +01:00
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
2022-01-20 13:37:31 +01:00
Eugen Rochko 9eb775a9d1
Fix error when using raw distribution worker (#17334)
Regression from #16697
2022-01-19 23:05:59 +01:00
Eugen Rochko d412a8d1f2
Fix error when processing poll updates (#17333)
Regression from #16697
2022-01-19 22:50:01 +01:00
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
2022-01-19 22:37:27 +01:00
Jeong Arm 2d1f082bb6
Fix NameError on ActivityPub::FetchFeaturedCollectionService (#17326)
Related: #16954
2022-01-19 04:08:46 +01:00
Claire c60f8ce032
Fix pinned attribute not being set for private self-posts (#17304) 2022-01-17 11:59:46 +01:00
Eugen Rochko 14f436c457
Add notifications for statuses deleted by moderators (#17204) 2022-01-17 09:41:33 +01:00
Claire d5c9feb7b7
Add support for private pinned posts (#16954)
* Add support for private pinned toots

* Allow local user to pin private toots

* Change wording to avoid "direct message"
2022-01-17 00:49:55 +01:00
Claire 081e4426f8
Fix admin interface crash when displaying deleted user (#17301) 2022-01-16 20:57:37 +01:00
Eugen Rochko 8e84ebf0cb
Remove IP tracking columns from users table (#16409) 2022-01-16 13:23:50 +01:00
Jeong Arm bc7a8ae6d6
Gradually increase retry waiting for media processing (#17271) 2022-01-10 14:25:08 +01:00
Jeong Arm d3db2eb7fb
Remove custom emojis on domain purge (#17210) 2021-12-30 08:41:09 +01:00
Claire 37e80994f8
Fix media descriptions not being used for client-side filtering (#17206)
Fix oversight in #13837
2021-12-28 23:25:50 +01:00
Eugen Rochko fe71548844
Fix warnings on Rails boot (#16946) 2021-12-27 00:47:20 +01:00
Rens Groothuijsen e65080181a
Fix tag rendering error in hashtag column settings (#17184)
* Flatten tags in configuration to regular array before converting to JSON

* Render filter tags using toJS instead of toJSON
2021-12-26 19:22:05 +01:00
Jeong Arm 720e8ab0f5
Fix duplicate record on admin/accounts when searching with IP (#17150) 2021-12-21 00:17:14 +01:00
Claire 76761d5fc0
Add ability for admins to delete canonical email blocks (#16644)
* Add admin option to remove canonical email blocks from a deleted account

* Add tootctl canonical_email_blocks to inspect and remove canonical email blocks
2021-12-17 23:02:14 +01:00