Commit graph

7103 commits

Author SHA1 Message Date
Claire
1bef772764 Fix some performance issues with /admin/instances (#21907)
/admin/instances?availability=failing remains wholly unefficient
2022-12-01 10:32:10 +01:00
Claire
feaa152fcd Fix expanded statuses not always being scrolled into view (#21797) 2022-11-28 16:42:04 +01:00
Connor Shea
2821d7aaa7 Make the 'Trending now' header a link to Explore. (#21759)
This keeps the same design that exists currently, but makes "Trending
now" into a link to the Hashtags section of "Explore".

Resolves #21758.
2022-11-27 23:49:32 +01:00
Claire
e668be4cac Fix infinite loading instead of soft 404 for non-existing remote accounts (#21303)
Fixes #21278, #21021
2022-11-27 20:48:12 +01:00
Claire
851c6d647f Fix spaces not being stripped in admin account search (#21324)
Fixes #21058

Regression from #18641
2022-11-27 20:47:29 +01:00
James Adney
0a302f7673 fix gif autoplay on iOS (#21422) 2022-11-27 20:46:23 +01:00
Bramus!
e0d03fd3cb Add user profile OG tag on status page (#21423) 2022-11-27 20:45:28 +01:00
Claire
4d9ee0e01d Remove LDSignature on actor Delete activities (#21466)
They are currently not used for anything and represent more than half of the
payload size.
2022-11-27 20:43:24 +01:00
Claire
f47fbb8729 Fix “Share @{name}'s profile” profile menu item (#21490) 2022-11-27 20:42:17 +01:00
Kaspar V
f2ec356cb6 refactor(vacuum statuses): reduce amount of db queries and load for each query - improve performance (#21487)
* refactor(statuses_vacuum): remove dead code - unused

Method is not called inside class and private.
Clean up dead code.

* refactor(statuses_vacuum): make retention_period present test explicit

This private method only hides functionality.
It is best practice to be as explicit as possible.

* refactor(statuses_vacuum): improve query performance

- fix statuses_scope having sub-select for Account.remote scope by
  `joins(:account).merge(Account.remote)`
- fix statuses_scope unnecessary use of `Status.arel_table[:id].lt`
  because it is inexplicit, bad practice and even slower than normal
  `.where('statuses.id < ?'`
- fix statuses_scope remove select(:id, :visibility) for having reusable
  active record query batches (no re queries)
- fix vacuum_statuses! to use in_batches instead of find_in_batches,
  because in_batches delivers a full blown active record query result,
  in stead of an array - no requeries necessary
- send(:unlink_from_conversations) not to perform another db query, but
  reuse the in_batches result instead.
- remove now obsolete remove_from_account_conversations method
- remove_from_search_index uses array of ids, instead of mapping
  the ids from an array - this should be more efficient
- use the in_batches scope to call delete_all, instead of running
  another db query for this - because it is again more efficient
- add TODO comment for calling models private method with send

* refactor(status): simplify unlink_from_conversations

- add `has_many through:` relation mentioned_accounts
- use model scope local instead of method call `Status#local?`
- more readable add account to inbox_owners when account.local?

* refactor(status): searchable_by way less sub selects

These queries all included a sub-select. Doing the same with a joins
should be more efficient.
Since this method does 5 such queries, this should be significant,
since it technically halves the query count.

This is how it was:

```ruby
[3] pry(main)> Status.first.mentions.where(account: Account.local, silent: false).explain
  Status Load (1.6ms)  SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1  [["LIMIT", 1]]
  Mention Load (1.5ms)  SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2  [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
                                                    QUERY PLAN
------------------------------------------------------------------------------------------------------------------
 Nested Loop  (cost=0.15..23.08 rows=1 width=41)
   ->  Seq Scan on accounts  (cost=0.00..10.90 rows=1 width=8)
         Filter: (domain IS NULL)
   ->  Index Scan using index_mentions_on_account_id_and_status_id on mentions  (cost=0.15..8.17 rows=1 width=41)
         Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
         Filter: (NOT silent)
(6 rows)
```

This is how it is with this change:

```ruby
[4] pry(main)> Status.first.mentions.joins(:account).merge(Account.local).active.explain
  Status Load (1.7ms)  SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1  [["LIMIT", 1]]
  Mention Load (0.7ms)  SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2  [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
                                                    QUERY PLAN
------------------------------------------------------------------------------------------------------------------
 Nested Loop  (cost=0.15..23.08 rows=1 width=41)
   ->  Seq Scan on accounts  (cost=0.00..10.90 rows=1 width=8)
         Filter: (domain IS NULL)
   ->  Index Scan using index_mentions_on_account_id_and_status_id on mentions  (cost=0.15..8.17 rows=1 width=41)
         Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
         Filter: (NOT silent)
(6 rows)
```
2022-11-27 20:41:18 +01:00
Claire
be16e6f26c Fix attachments of edited statuses not being fetched (#21565)
* Fix attachments of edited statuses not being fetched

* Fix tests
2022-11-27 20:39:05 +01:00
kedama
691b827c87 Fix status mismatch of sensitive check (#21724) 2022-11-27 20:36:21 +01:00
afontenot
05b1b5790f Clear voter count when poll is reset (#21700)
When a poll is edited, we reset the poll and remove all previous
votes. However, prior to this commit, the voter count on the poll
was not reset. This leads to incorrect percentages being shown in
poll results.

Fixes #21696
2022-11-26 23:08:25 +01:00
Skyler Hawthorne
ce10b313bb fix media uploads with ffmpeg 5 (#21191) 2022-11-25 16:20:47 +01:00
Eugen Rochko
4b21adb4b2 New Crowdin updates (#20942)
* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations devise.en.yml (Finnish)

* New translations en.json (Norwegian)

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

* New translations en.yml (Esperanto)

* New translations en.yml (Scots)

* New translations en.yml (Italian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (German)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Belarusian)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (German)

* New translations simple_form.en.yml (German)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Italian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations en.yml (Faroese)

* New translations en.yml (Scots)

* New translations simple_form.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Hungarian)

* New translations en.json (Bengali)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Welsh)

* New translations en.yml (Scots)

* New translations doorkeeper.en.yml (German)

* New translations en.yml (Russian)

* New translations en.yml (Estonian)

* New translations en.json (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.json (Indonesian)

* New translations en.yml (Indonesian)

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

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

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

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations devise.en.yml (German)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (Spanish)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.yml (Belarusian)

* New translations en.json (German)

* New translations en.yml (Welsh)

* New translations en.json (Asturian)

* New translations simple_form.en.yml (German)

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (French, Quebec)

* New translations en.json (Faroese)

* New translations en.yml (Faroese)

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Spanish)

* New translations en.json (French, Quebec)

* New translations en.yml (Faroese)

* New translations en.yml (Scots)

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (French, Quebec)

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Faroese)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations simple_form.en.yml (Belarusian)

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

* New translations en.yml (Japanese)

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

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Catalan)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

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

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Scots)

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

* New translations en.yml (Belarusian)

* New translations devise.en.yml (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

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

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (Romanian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Scots)

* New translations doorkeeper.en.yml (Estonian)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (German)

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

* New translations en.yml (Scots)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.yml (Scots)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.yml (Scots)

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

* New translations en.yml (Scots)

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

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.yml (Bulgarian)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Scots)

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

* New translations en.json (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Ukrainian)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Faroese)

* New translations en.yml (Faroese)

* New translations en.yml (Scots)

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Czech)

* New translations en.json (Malayalam)

* New translations en.yml (Scots)

* New translations en.json (Czech)

* New translations en.json (Hindi)

* New translations en.json (Malayalam)

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

* New translations en.yml (Scots)

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

* New translations en.json (Czech)

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

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Scots)

* New translations en.json (Czech)

* New translations en.json (Frisian)

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

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations devise.en.yml (Frisian)

* New translations en.json (Czech)

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

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Bulgarian)

* New translations en.json (Italian)

* New translations en.json (Ukrainian)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations devise.en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.json (Italian)

* New translations en.json (Ukrainian)

* New translations en.json (Spanish, Mexico)

* New translations simple_form.en.yml (Ukrainian)

* New translations activerecord.en.yml (Italian)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* Add `app/javascript/mastodon/locales/whitelist_be.json`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-25 09:40:05 +09:00
Claire
655ad99a37 Fix not being able to follow more than one hashtag (#21285)
Fixes regression from #20860
2022-11-21 10:35:09 +01:00
David Leadbeater
72a60150de Don't allow URLs that contain non-normalized paths to be verified (#20999)
* Don't allow URLs that contain non-normalized paths to be verified

This stops things like https://example.com/otheruser/../realuser where
"/otheruser" appears to be the verified URL, but the actual URL being
verified is "/realuser" due to the "/../".

Also fix a test to use 'https', so it is testing the right thing, now
that since #20304 https is required.

* missing do
2022-11-20 19:28:13 +01:00
Claire
3b81318a0f Fix form-action CSP directive for external login (#20962) 2022-11-17 22:59:07 +01:00
Claire
aa37dc6aae Fix OAuth flow being broken by recent CSP change (#20958) 2022-11-17 21:31:52 +01:00
Eugen Rochko
c67819829d New Crowdin updates (#20759)
* New translations en.json (German)

* New translations en.json (Italian)

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

* New translations simple_form.en.yml (German)

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

* New translations en.json (Dutch)

* New translations en.json (Esperanto)

* New translations en.json (Dutch)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Irish)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.json (Scots)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Scots)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Esperanto)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

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

* New translations en.json (Lithuanian)

* New translations en.yml (Galician)

* New translations en.json (Icelandic)

* New translations en.yml (Galician)

* New translations en.json (Icelandic)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Punjabi)

* New translations en.yml (Polish)

* New translations en.yml (Portuguese)

* New translations en.yml (Russian)

* New translations en.yml (Slovak)

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

* New translations en.yml (Georgian)

* New translations en.yml (Swedish)

* New translations en.yml (Chinese Traditional)

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

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Korean)

* New translations en.yml (Japanese)

* New translations en.yml (German)

* New translations en.yml (Arabic)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.yml (Spanish)

* New translations en.yml (Turkish)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Romanian)

* New translations en.yml (French)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Italian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Frisian)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Hebrew)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Silesian)

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

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Taigi)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Asturian)

* New translations en.yml (Burmese)

* New translations en.yml (Igbo)

* New translations en.yml (French, Quebec)

* New translations en.json (Faroese)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Occitan)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Bengali)

* New translations en.yml (Telugu)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Kannada)

* New translations en.yml (Welsh)

* New translations en.yml (Uyghur)

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

* New translations en.yml (Tatar)

* New translations en.yml (Malayalam)

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Thai)

* New translations en.yml (Portuguese)

* New translations en.yml (Georgian)

* New translations en.yml (Korean)

* New translations en.yml (Lithuanian)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Russian)

* New translations en.yml (Italian)

* New translations en.yml (Slovak)

* New translations en.yml (Slovenian)

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

* New translations en.yml (Swedish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Japanese)

* New translations en.yml (Armenian)

* New translations en.json (Hebrew)

* New translations en.yml (French)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Hungarian)

* New translations en.yml (Arabic)

* New translations en.yml (Bulgarian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Greek)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Irish)

* New translations en.yml (Hebrew)

* New translations en.yml (Indonesian)

* New translations en.yml (Ido)

* New translations en.yml (Persian)

* New translations simple_form.en.yml (Polish)

* New translations en.yml (Breton)

* New translations en.yml (Sinhala)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Afrikaans)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

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

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Malay)

* New translations en.yml (Corsican)

* New translations en.yml (Occitan)

* New translations en.yml (Sardinian)

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

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

* New translations en.yml (Kabyle)

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

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Icelandic)

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

* New translations simple_form.en.yml (Indonesian)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

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

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

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Croatian)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (English, United Kingdom)

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

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Albanian)

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

* New translations en.yml (French, Quebec)

* New translations en.json (Faroese)

* New translations en.yml (Faroese)

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

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Tatar)

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

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

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Corsican)

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

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

* New translations simple_form.en.yml (Occitan)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.yml (Korean)

* New translations en.yml (Dutch)

* New translations en.yml (Slovenian)

* New translations en.yml (Chinese Traditional)

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

* normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-17 21:59:15 +09:00
Claire
41be06e4ec Remove use of DOMParser in front-end emoji rewriting code (#20758)
* Add jstest for node ordering in emojify

* Remove use of DOMParser in front-end emoji rewriting code
2022-11-17 11:24:59 +01:00
Rose
b54c639482 Fix style for hashes (#20518)
* Fix style for hashes

Make the style for hashes consistent.

* New style

More consistency
2022-11-17 11:05:39 +01:00
lenore gilbert
498e9478c7 Support for import/export of instance-level domain blocks/allows for 4.x w/ additional fixes (#20597)
* Allow import/export of instance-level domain blocks/allows (#1754)

* Allow import/export of instance-level domain blocks/allows.
Fixes #15095

* Pacify circleci

* Address simple code review feedback

* Add headers to exported CSV

* Extract common import/export functionality to
AdminExportControllerConcern

* Add additional fields to instance-blocked domain export

* Address review feedback

* Split instance domain block/allow import/export into separate pages/controllers

* Address code review feedback

* Pacify DeepSource

* Work around Paperclip::HasAttachmentFile for Rails 6

* Fix deprecated API warning in export tests

* Remove after_commit workaround

(cherry picked from commit b8319d0578)

* Add confirmation page when importing blocked domains (#1773)

* Move glitch-soc-specific strings to glitch-soc-specific locale files

* Add confirmation page when importing blocked domains

(cherry picked from commit 73a2e3326f)

* Fix authorization check in domain blocks controller

(cherry picked from commit 655bac2c3a)

* Fix error strings for domain blocks and email-domain blocks

Corrected issue with non-error message used for Mastodon:NotPermittedError in Domain Blocks
Corrected issue Domain Blocks using the Email Domain Blocks message on ActionContoller::ParameterMissing
Corrected issue with Email Domain Blocks using the not_permitted string from "custom emojii's"

* Ran i18n-tasks normalize to address test failure

* Removed unused admin.export_domain_blocks.not_permitted string

Removing unused string as indicated by Check i18n

* Fix tests

(cherry picked from commit 1ba41b34c1)

* Fix domain block export not exporting blocks with only media rejection

(cherry picked from commit 1686374b2f)

* Fix various issues with domain block import

- stop using Paperclip for processing domain allow/block imports
- stop leaving temporary files
- better error handling
- assume CSV files are UTF-8-encoded

(cherry picked from commit cad824d8f501b95377e4f0a957e5a00d517a1902)

Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-17 11:05:09 +01:00
Joshua Wood
e0940d04f1 Handle links with no href in VerifyLinkService (#20741)
Before this change, the following error would cause VerifyAccountLinksWorker to fail:

NoMethodError: undefined method `downcase' for nil:NilClass
  [PROJECT_ROOT]/app/services/verify_link_service.rb:31 :in `block in link_back_present?`
2022-11-17 10:59:35 +01:00
Claire
4abfb043f2 Fix invalid/empty RSS feed link on account pages (#20772)
Fixes #20770
2022-11-17 10:58:33 +01:00
trwnh
699bec589f Make tag following idempotent (#20860) 2022-11-17 10:55:59 +01:00
trwnh
0f402ff0eb Fix getting a single EmailDomainBlock (#20846) 2022-11-17 10:55:50 +01:00
Claire
c7accdb6ac Change automatic post deletion configuration to be accessible to redirected users (#20774)
Fixes #20550
2022-11-17 10:55:23 +01:00
trwnh
9b83c67aa7 Fix pagination of followed tags (#20861)
* Fix missing pagination headers on followed tags

* Fix typo
2022-11-17 10:54:10 +01:00
Levi Bard
8f32b59570 Make the button that expands the publish form differentiable from the button that publishes a post (#20864) 2022-11-17 10:53:38 +01:00
Claire
3e40b7ef8d Change batch account suspension to create a strike (#20897) 2022-11-17 10:52:51 +01:00
Chris Johnson
5573d1db4e Add maskable icon support for Android (#20904)
* Add maskable icon support for Android

* Update manifest_serializer.rb

* Fix linting issue
2022-11-17 10:52:30 +01:00
nyura123dev
c18c565cb3 Fix safari explore disappearing tabs (#20917)
* fix disappearing Explore tabs on Safari

* fix lint

Co-authored-by: nyura <nyura@hidden.com>
2022-11-17 08:54:43 +01:00
Daniel Axtens
e61dc520ae Add 'private' to Cache-Control, match Rails expectations (#20608)
Several controlers set quite intricate Cache-Control headers in order to
hopefully not be cached by any intermediate proxies or local caches. Unfortunately,
these headers are processed by ActionDispatch::HTTP::Cache in a way that squashes
and discards any values set alongside no-store other than private:
8015c2c2cf/actionpack/lib/action_dispatch/http/cache.rb (L207-L209)

We want to preserve no-store on these responses, but we might as well remove
parts that are going to be dropped anyway. As many of the endpoints in these
controllers are private to a particular user, we should also add "private",
which will be preserved alongside no-store.
2022-11-16 04:56:30 +01:00
Eugen Rochko
a021e53791 New Crowdin updates (#20580)
* New translations en.json (Catalan)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.yml (Spanish)

* New translations en.yml (Ukrainian)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Hungarian)

* New translations en.json (Slovak)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Irish)

* New translations en.yml (Norwegian)

* New translations en.yml (German)

* New translations en.json (Romanian)

* New translations en.yml (Danish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.yml (Danish)

* New translations en.json (Catalan)

* New translations en.yml (Norwegian)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Norwegian)

* New translations en.json (Catalan)

* New translations en.json (Portuguese, Brazilian)

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

* New translations en.yml (Portuguese, Brazilian)

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

* New translations en.yml (Latvian)

* New translations en.json (Irish)

* New translations en.json (Swedish)

* New translations en.yml (Galician)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.json (Kabyle)

* New translations en.yml (Welsh)

* New translations en.json (Breton)

* New translations en.json (Kabyle)

* New translations en.yml (Kabyle)

* New translations simple_form.en.yml (Kabyle)

* New translations en.json (Malay)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Malay)

* New translations activerecord.en.yml (Malay)

* New translations devise.en.yml (Malay)

* New translations doorkeeper.en.yml (Malay)

* New translations en.json (Malay)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Malay)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Malay)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Malay)

* New translations en.yml (Dutch)

* New translations en.json (Malay)

* New translations en.yml (Malay)

* New translations en.json (English, United Kingdom)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Malay)

* New translations devise.en.yml (Welsh)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Malay)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations devise.en.yml (Malay)

* New translations en.json (Vietnamese)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Malay)

* New translations devise.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Norwegian)

* New translations devise.en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Norwegian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Esperanto)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Norwegian)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Norwegian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations en.json (Asturian)

* New translations en.json (Asturian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-15 14:37:37 +09:00
Eugen Rochko
496fb46016 Fix wrong color on mentions hidden behind content warning in web UI (#20724) 2022-11-15 02:58:00 +01:00
Claire
97ac51901d Fix nodes order being sometimes mangled when rewriting emoji (#20677)
* Fix front-end emoji tests

* Fix nodes order being sometimes mangled when rewriting emoji
2022-11-14 22:14:55 +01:00
Claire
c9b53436d7 Fix emoji substitution not applying only to text nodes in backend code (#20641)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:21 +01:00
Claire
bd267f6353 Fix emoji substitution not applying only to text nodes in Web UI (#20640)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:03 +01:00
Claire
088c365559 Fix media metadata being only editable once (#20665) 2022-11-14 17:52:31 +01:00
trwnh
72d3607229 Move V2 Filter methods under /api/v2 prefix (#20622)
* Move V2 Filter methods under /api/v2 prefix

* move over the tests too
2022-11-14 08:34:07 +01:00
Eugen Rochko
2b3b063852 Fix error when invalid domain name is submitted (#19474)
Fix #19175
2022-11-14 08:07:14 +01:00
Eugen Rochko
0cfead6483 Fix style of username in navigation bar above compose form in web UI (#20628)
Regression from #20540
2022-11-14 08:06:17 +01:00
Eugen Rochko
8b98bebc17 Fix error when passing unknown filter param in REST API (#20626)
Fix #19156
2022-11-14 08:06:06 +01:00
Eugen Rochko
2018fe879c Fix image type not being set after conversion for convertible image types (#20624) 2022-11-14 07:13:14 +01:00
Eugen Rochko
3cc5ed3bae Fix role_ids not accepting arrays in admin API (#20625)
Fix #19157
2022-11-14 06:56:15 +01:00
Eugen Rochko
12b819c78c Fix rules with same priority being sorted non-deterministically (#20623) 2022-11-14 06:28:19 +01:00
Eugen Rochko
ca6df7a68c Fix dropdown menu on profiles not being accessible on narrow screens in web UI (#20620) 2022-11-14 06:05:10 +01:00
Hampton Lintorn-Catlin
277e2590e2 Support UTF-8 Characters in Domains During CSV Import (#20592)
* Support UTF-8 Characters in Domains During Import

* Update Changelong
2022-11-14 05:52:13 +01:00
Eugen Rochko
72de8402bd Fix wrong cut-off point for "Read more" in web UI (#20599) 2022-11-14 00:43:24 +01:00
Eugen Rochko
c7924acf16 Fix icons having an image role (#20600) 2022-11-14 00:38:56 +01:00
trwnh
1b9ad6fb4b Change in-app links to keep you in-app (#20540)
* Change in-app links to keep you in-app

* refactor Permalink into Link

* rewrite link hrefs in status content

* please linter

* please linter again
2022-11-13 21:10:20 +01:00
Samuel Kaiser
cb99d425b3 Stick batch table toolbar to the top (#20442)
Fixes #20441
2022-11-13 21:02:28 +01:00
Claire
4dab1ab637 Fix announcement dates not being validated client-side (#20577) 2022-11-13 20:58:54 +01:00
Eugen Rochko
eaf5acca01 New Crowdin updates (#20476)
* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations en.json (Japanese)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations en.yml (Norwegian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Latvian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations activerecord.en.yml (Russian)

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

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Norwegian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Malayalam)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Thai)

* New translations devise.en.yml (Welsh)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Irish)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations simple_form.en.yml (Slovak)

* New translations en.json (Thai)

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

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Norwegian)

* New translations en.json (Finnish)

* New translations en.json (Norwegian)

* New translations simple_form.en.yml (Norwegian)

* New translations en.yml (Thai)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Arabic)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.yml (Greek)

* New translations en.yml (German)

* New translations en.yml (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.yml (Finnish)

* New translations en.yml (Basque)

* New translations en.yml (Frisian)

* New translations en.yml (Danish)

* New translations en.yml (Catalan)

* New translations en.yml (Bulgarian)

* New translations en.yml (Arabic)

* New translations en.yml (Afrikaans)

* New translations en.yml (French)

* New translations en.yml (Romanian)

* New translations en.yml (Spanish)

* New translations en.yml (Czech)

* New translations en.yml (Armenian)

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

* New translations en.yml (Vietnamese)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Swedish)

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

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Slovak)

* New translations en.yml (Japanese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Punjabi)

* New translations en.yml (Norwegian)

* New translations en.yml (Dutch)

* New translations en.yml (Macedonian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Korean)

* New translations en.yml (Georgian)

* New translations en.yml (Italian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Turkish)

* New translations en.yml (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

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

* New translations en.yml (Kannada)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations en.yml (Occitan)

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sinhala)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Burmese)

* New translations en.yml (Cornish)

* New translations en.yml (Breton)

* New translations en.yml (Bengali)

* New translations en.yml (Hindi)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Malay)

* New translations en.yml (Malayalam)

* New translations en.yml (Telugu)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

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

* New translations en.yml (Tatar)

* New translations en.yml (Igbo)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Afrikaans)

* New translations en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Catalan)

* New translations en.yml (Greek)

* New translations en.yml (Italian)

* New translations en.yml (Slovenian)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Basque)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Icelandic)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (French)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Esperanto)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Hebrew)

* New translations en.yml (Norwegian)

* New translations en.yml (German)

* New translations en.json (Spanish)

* New translations en.yml (Finnish)

* New translations en.json (Norwegian)

* New translations en.yml (Latvian)

* New translations en.yml (Esperanto)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Esperanto)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-14 01:14:31 +09:00
Claire
29cddeffaf Fix saving server registration settings redirecting to branding settings (#20505) 2022-11-13 03:33:31 +01:00
Eugen Rochko
bf3b0db357 Fix missing "not recommended" label on "Allow trends without review" (#20480) 2022-11-12 10:54:51 +01:00
Eugen Rochko
9d3d3d7ab1 New Crowdin updates (#20258)
* New translations en.json (Asturian)

* New translations en.yml (Telugu)

* New translations en.yml (Tamil)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.json (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Asturian)

* New translations en.json (Occitan)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (Irish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Occitan)

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

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

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

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

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

* New translations en.yml (Corsican)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Sinhala)

* New translations en.yml (Kabyle)

* New translations en.yml (Sardinian)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Sanskrit)

* New translations simple_form.en.yml (Tatar)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Esperanto)

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

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Breton)

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

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

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Occitan)

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

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

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

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Albanian)

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

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Icelandic)

* New translations simple_form.en.yml (Croatian)

* New translations activerecord.en.yml (Icelandic)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

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

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

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Corsican)

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

* New translations activerecord.en.yml (Slovak)

* New translations activerecord.en.yml (Dutch)

* New translations activerecord.en.yml (Norwegian)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Japanese)

* New translations activerecord.en.yml (Albanian)

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

* New translations activerecord.en.yml (Swedish)

* New translations activerecord.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

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

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Galician)

* New translations activerecord.en.yml (Georgian)

* New translations activerecord.en.yml (Italian)

* New translations activerecord.en.yml (Catalan)

* New translations activerecord.en.yml (Czech)

* New translations activerecord.en.yml (Romanian)

* New translations activerecord.en.yml (French)

* New translations activerecord.en.yml (Spanish)

* New translations activerecord.en.yml (Afrikaans)

* New translations activerecord.en.yml (Arabic)

* New translations activerecord.en.yml (Bulgarian)

* New translations activerecord.en.yml (Armenian)

* New translations activerecord.en.yml (German)

* New translations activerecord.en.yml (Greek)

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Basque)

* New translations activerecord.en.yml (Finnish)

* New translations activerecord.en.yml (Irish)

* New translations activerecord.en.yml (Hebrew)

* New translations activerecord.en.yml (Hungarian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Kabyle)

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

* New translations simple_form.en.yml (Sardinian)

* New translations activerecord.en.yml (Indonesian)

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

* New translations activerecord.en.yml (Breton)

* New translations activerecord.en.yml (Persian)

* New translations activerecord.en.yml (Asturian)

* New translations activerecord.en.yml (Occitan)

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

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

* New translations activerecord.en.yml (Tatar)

* New translations activerecord.en.yml (Corsican)

* New translations en.yml (Burmese)

* New translations en.yml (Igbo)

* New translations activerecord.en.yml (Malayalam)

* New translations activerecord.en.yml (Sinhala)

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

* New translations activerecord.en.yml (Norwegian Nynorsk)

* New translations activerecord.en.yml (Tamil)

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

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

* New translations activerecord.en.yml (Bengali)

* New translations activerecord.en.yml (Marathi)

* New translations activerecord.en.yml (Thai)

* New translations activerecord.en.yml (Croatian)

* New translations activerecord.en.yml (Kazakh)

* New translations activerecord.en.yml (Estonian)

* New translations activerecord.en.yml (Latvian)

* New translations activerecord.en.yml (Hindi)

* New translations activerecord.en.yml (Welsh)

* New translations activerecord.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

* New translations activerecord.en.yml (Ido)

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

* New translations en.json (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.json (Hungarian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Chinese Simplified)

* New translations en.json (Vietnamese)

* New translations en.json (Icelandic)

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

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Korean)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Romanian)

* New translations en.json (Catalan)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Norwegian)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Latvian)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.yml (Korean)

* New translations en.json (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

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

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

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Thai)

* New translations en.json (Bulgarian)

* New translations en.yml (Ukrainian)

* New translations en.json (Indonesian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (German)

* New translations en.json (Portuguese)

* New translations en.json (Spanish)

* New translations en.json (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Tamil)

* New translations en.json (Chinese Traditional)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations en.json (Norwegian)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Korean)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.json (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Basque)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Occitan)

* New translations devise.en.yml (Esperanto)

* New translations en.yml (Czech)

* New translations en.json (German)

* New translations en.json (Czech)

* New translations en.json (French)

* New translations en.yml (Hebrew)

* New translations en.json (Norwegian)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations en.json (Ukrainian)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-12 15:56:25 +09:00
Bearice Ren
192fe87f51 fixes ArgumentError when proxy is used (#20420)
* fixes ArgumentError when proxy is used

* Update app/lib/request.rb

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

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-11 21:31:03 +01:00
Jeong Arm
f9e6d2bb38 Fix trendable status without review (#20214) 2022-11-11 21:24:10 +01:00
Claire
532fc2e361 Fix WebUI crash when listing server blocks and rationale is not available (#20408)
Regression from #20391

Fixes #20405
2022-11-11 21:23:03 +01:00
Emily Strickland
32798102ad Guard against error extracting body from URL (#20428)
If `Nokogiri::HTML(value).at_xpath('//body')` fails to find the `body` element, it will return `nil`. We can guard against that with an early return. Avoids calling `children` on `Nilclass` in those cases.
2022-11-11 21:22:28 +01:00
Claire
d55054b166 Add the ability to edit media attachment metadata for any unattached media (#20402) 2022-11-11 21:22:17 +01:00
Cutls
f22910ef4a Do not show drag&drop dialog when not logined (#20400)
* Cannot upload until login

* and do not fire upload

* change username props to context
2022-11-11 21:19:48 +01:00
Claire
28ae058593 Remove “No description added” media warning in edit mode (#20393)
Editing media metadata is not currently possible in edit mode, the button would
open the modal but saving the changes would error out.
2022-11-11 09:20:24 +01:00
Eugen Rochko
361d6793e8 Fix metadata scrubbing removing color profile from images (#20389) 2022-11-11 09:20:10 +01:00
Eugen Rochko
791592c961 Bump version to 4.0.0rc3 (#20378) 2022-11-11 08:39:38 +01:00
Eugen Rochko
609cb69251 Fix domain blocks on about page not working well on small screens in web UI (#20391) 2022-11-11 08:26:58 +01:00
Connor Shea
8824c6c4a2 Only remove padding when listing applications (#20382)
This prevents styling issues on the Authorization page.
2022-11-11 02:55:20 +01:00
Yamagishi Kazutoshi
95e3572a6c Delay workbox import (#20376) 2022-11-11 01:33:59 +01:00
Claire
2fe47bc7db Remove dead code and refactor status threading code (#20357)
* Remove dead code

* Remove unneeded/broken parameters and refactor descendant computation
2022-11-10 22:30:00 +01:00
F
dae2918c6a Add Scots to the supported locales (#20283)
Fixes #20249
2022-11-10 21:11:38 +01:00
Eugen Rochko
faaa47c421 Change verification to only work for https links (#20304)
Fix #20242
2022-11-10 21:09:03 +01:00
Claire
ee5a39a507 Change logged out /api/v1/statuses/:id/context logged out limits (#20355) 2022-11-10 21:06:08 +01:00
Claire
9b878a14eb Fix unnecessary service worker registration and preloading when logged out (#20341) 2022-11-10 20:26:04 +01:00
Claire
faff403b5b Add old logo files back (#20332)
Fixes #20221
2022-11-10 20:25:12 +01:00
Claire
0161fa9745 Remove preview cards from fav and boost notifications (#20335)
Fixes #20329
2022-11-10 19:36:12 +01:00
Eugen Rochko
e6e139ac2b Change incoming activity processing to happen in ingress queue (#20264) 2022-11-10 14:21:51 +01:00
Claire
a0d7039011 Fix color of the “No description added“ media upload warning on light theme (#20328) 2022-11-10 14:21:31 +01:00
Effy Elden
117a2c290c Remove unused timeline_container to fix linter errors (#20305) 2022-11-10 08:50:45 +01:00
Eugen Rochko
40a2ab1dfe Change larger reblogs/favourites numbers to be shortened in web UI (#20303) 2022-11-10 08:49:59 +01:00
Eugen Rochko
802416d2e9 Fix confusing wording in interaction modal in web UI (#20302) 2022-11-10 08:49:48 +01:00
Eugen Rochko
3ff5a02f65 Add option to open original page in dropdowns of remote content in web UI (#20299)
Change profile picture click to open profile picture in modal in web UI
2022-11-10 08:49:35 +01:00
Eugen Rochko
9f8e8662b9 Fix profile header being cut off in light theme in web UI (#20298) 2022-11-10 07:32:37 +01:00
Eugen Rochko
ea7cc10811 Change link verification to ignore IDN domains (#20295)
Fix #3833
2022-11-10 06:27:45 +01:00
James Tucker
c4ff2640c1 Improve performance by avoiding regex construction (#20215)
```ruby
10.times { p /#{FOO}/.object_id }
10.times { p FOO_RE.object_id }
```
2022-11-10 05:49:30 +01:00
Eugen Rochko
17881148e4 Revert filtering public timelines by locale by default (#20294) 2022-11-10 05:34:42 +01:00
Claire
0ac21d1fb8 Fix NameError in Webfinger redirect handling in ActivityPub::FetchRemoteActorService (#20260) 2022-11-09 20:10:38 +01:00
Eugen Rochko
9ee302b30f New Crowdin updates (#20016)
* New translations en.json (Telugu)

* New translations en.yml (Telugu)

* New translations en.yml (Occitan)

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

* New translations en.yml (Kabyle)

* New translations en.json (Igbo)

* New translations en.yml (Burmese)

* New translations en.json (Burmese)

* New translations activerecord.en.yml (Frisian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Silesian)

* New translations en.json (Silesian)

* New translations en.yml (Taigi)

* New translations en.json (Taigi)

* New translations en.json (Kabyle)

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

* New translations en.yml (Sanskrit)

* New translations en.json (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.json (Sardinian)

* New translations en.yml (Corsican)

* New translations en.json (Corsican)

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

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

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

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

* New translations en.yml (Igbo)

* New translations en.json (Hebrew)

* New translations en.json (Polish)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Latvian)

* New translations en.json (Icelandic)

* New translations en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.json (Slovenian)

* New translations en.json (Russian)

* New translations en.json (Italian)

* New translations en.json (German)

* New translations en.yml (Hebrew)

* New translations en.yml (Finnish)

* New translations en.json (Finnish)

* New translations en.yml (Danish)

* New translations en.json (Afrikaans)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Dutch)

* New translations simple_form.en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Spanish, Argentina)

* New translations activerecord.en.yml (Hebrew)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Occitan)

* New translations en.json (Welsh)

* New translations en.yml (Chinese Traditional)

* New translations en.json (German)

* New translations en.json (Chinese Traditional)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese)

* New translations en.yml (Hebrew)

* New translations en.json (Finnish)

* New translations en.json (Japanese)

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

* New translations en.yml (Thai)

* New translations en.json (Hebrew)

* New translations en.json (Thai)

* New translations en.json (Greek)

* New translations en.yml (Hebrew)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Occitan)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Thai)

* New translations en.json (Catalan)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Polish)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.json (Chinese Simplified)

* New translations en.json (Irish)

* New translations activerecord.en.yml (Irish)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Italian)

* New translations en.json (Danish)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Czech)

* New translations en.json (Turkish)

* New translations en.json (Vietnamese)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Albanian)

* New translations en.json (Arabic)

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

* New translations en.json (Bulgarian)

* New translations en.json (Macedonian)

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

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

* New translations en.json (Bulgarian)

* New translations devise.en.yml (Polish)

* New translations en.json (Bulgarian)

* New translations en.json (Hungarian)

* New translations en.yml (Japanese)

* New translations en.json (Norwegian)

* New translations en.json (Bulgarian)

* New translations en.json (Korean)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

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

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

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

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

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Latvian)

* New translations en.json (Esperanto)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Vietnamese)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.yml (Romanian)

* New translations en.yml (Frisian)

* New translations en.json (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Norwegian)

* New translations en.json (Swedish)

* New translations en.json (Occitan)

* New translations en.json (Afrikaans)

* New translations en.json (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Swedish)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.json (Welsh)

* New translations en.yml (Esperanto)

* New translations en.json (Occitan)

* New translations doorkeeper.en.yml (French)

* New translations activerecord.en.yml (Norwegian)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Norwegian)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Chinese Simplified)

* New translations en.json (Welsh)

* New translations doorkeeper.en.yml (Norwegian)

* New translations activerecord.en.yml (Norwegian)

* New translations devise.en.yml (Norwegian)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Norwegian)

* New translations doorkeeper.en.yml (Norwegian)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Norwegian)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations doorkeeper.en.yml (English, United Kingdom)

* New translations activerecord.en.yml (English, United Kingdom)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Irish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.json (Bulgarian)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.json (Bulgarian)

* New translations en.yml (Irish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Galician)

* New translations en.json (Bulgarian)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations en.json (Igbo)

* New translations en.json (Thai)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Irish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Breton)

* New translations en.yml (Breton)

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

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

* New translations en.yml (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Afrikaans)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Esperanto)

* New translations en.json (Breton)

* New translations en.yml (Breton)

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

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

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Bulgarian)

* New translations en.json (Afrikaans)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.yml (Portuguese, Brazilian)

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.json (Occitan)

* Run `yarn manage:translations`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-10 00:43:48 +09:00
Vyr Cossont
75cb668fa9 Add Balaibalan, Láadan, Lingua Franca Nova, Lojban, Toki Pona to language list (#20168)
* Add Balaibalan, Láadan, Lojban, Toki Pona to language list

Fixes #8995.

* Correct translated names for Lojban and Toki Pona

* Correct translated name for Balaibalan

* Add Lingua Franca Nova aka Elefen

* Disable unhelpful Rubocop checks

* Re-enable Rubocop checks at end of file
2022-11-09 15:23:52 +01:00
trwnh
96f0997992 Fix GET /api/v1/admin/ip_blocks/:id (#20207) 2022-11-09 15:22:58 +01:00
Claire
9a98169232 Change account deletion requests to spread out over time (#20222) 2022-11-09 14:08:19 +01:00
Eugen Rochko
3c80a6e445 Fix being able to spoof link verification (#20217)
- Change verification to happen in `default` queue
- Change verification worker to only be queued if there's something to do
- Add `link` tags from metadata fields to page header of profiles
2022-11-09 08:24:21 +01:00
Sasha Sorokin
f3339b4ba9 Remove aria-pressed where it's redundant (#19912)
This commit removes aria-pressed attribute from all elements which
contents or other descriptive attributes change in active state,
effectively replacing the meaning of the button, in which case
aria-pressed, an attribute specified whether the button is currently
pressed, would create a confusion. (Spoiler: it's everywhere).

See https://github.com/mastodon/mastodon/issues/13545#issuecomment-1304886969
2022-11-08 17:31:32 +01:00
trwnh
260ea7b222 Change Report category to "violation" if rule IDs are provided (#20137)
* Change Report category to "violation" if rule IDs are provided

* Fix LiteralAsCondition

* Add parentheses to conditional statement
2022-11-08 17:28:02 +01:00
Claire
5f391239e3 Fix nodeinfo metadata attribute being an array instead of an object (#20114)
Fixes #20111
2022-11-08 17:26:11 +01:00
trwnh
821fcfb930 Add sensitized to Admin::Account serializer (fix #19148) (#20094)
* Add `sensitized` to Admin::Account serializer (fix #19148)

* remove whitespace, please linter
2022-11-08 17:15:54 +01:00
trwnh
9d3cf4d9d4 Make account endorsements idempotent (fix #19045) (#20118)
* Make account endorsements idempotent (fix #19045)

* Accept suggestion to use exists? instead of find_by + nil check

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

* fix logic (unless, not if)

* switch to using `find_or_create_by!`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-08 16:39:15 +01:00
trwnh
c8933e9275 Fix missing cast of status and rule IDs to string (fix #19048) (#20122) 2022-11-08 16:37:41 +01:00
trwnh
9596a1374d Fix uncaught 500 error on invalid replies_policy (Fix #19097) (#20126) 2022-11-08 16:37:28 +01:00
Claire
18a11da3b5 Change Request connection logic to try both IPv6 and IPv4 when available (#20108)
Fixes #19751
2022-11-08 16:36:26 +01:00
Claire
793cc2096d Fix redrafting a currently-editing post not leaving edit mode (#20023) 2022-11-08 04:06:54 +01:00
James Tucker
f48dcd025b Improve performance by avoiding method cache busts (#19957)
Switch to monkey-patching http.rb rather than a runtime extend of each
response, so as to avoid busting the global method cache. A guard is
included that will provide developer feedback in development and test
environments should the monkey patch ever collide.
2022-11-08 04:00:27 +01:00
Claire
18c710be23 Add password autocomplete hints (#20071)
Fixes #20067

Our password autocomplete hints were “off” but that does not prevent current
browsers from trying to autocomplete them anyway, so use `current-password` and
`new-password` so they don't put a newly-generated password in a password
confirmation prompt, or the old password for a password renewal prompt.
2022-11-08 03:53:06 +01:00
Claire
ffef3ac03b Fix opening the language picker scrolling the single-column view to the top (#19983)
Fixes #19915
2022-11-08 03:52:52 +01:00
Postmodern
97ee940b1a Micro-optimization: use if/else instead of Array#compact and Array#min (#19906)
* Technically `if`/`else` is faster than using `[value1, value2].compact.min` to find the lesser of two values, one of which may be `nil`.
2022-11-08 03:50:47 +01:00
Zach Flanders
e9c2354515 Fix spoiler buttons css not rendering correct color in light theme (#19960)
* Updating status__content__spoiler-link css for mastodon-light theme to ensure correct rendering precedence

* Adding focus css selector to status__content__spoiler-link mastodon-light theme

* reformatting code to match convention of having css selectors on separate lines

* fixing code format for  scss linting issue
2022-11-07 22:37:36 +01:00
Claire
5778ba1028 Fix validation error in SynchronizeFeaturedTagsCollectionWorker (#20018)
* Fix followers count not being updated when migrating follows

Fixes #19900

* Fix validation error in SynchronizeFeaturedTagsCollectionWorker

Also saves remote user's chosen case for hashtags

* Limit remote featured tags before validation
2022-11-07 22:35:53 +01:00
Claire
2ed7a4124b Fix filter handling in status cache hydration (#19963) 2022-11-07 19:47:48 +01:00
Postmodern
41d43a1e1f Micro-optimization: only split acct into two Strings (#19901)
* Since `acct` is split by `@` and assigned to `username` and `domain`, we only need to split `acct` into two Strings.
2022-11-07 16:17:55 +01:00
Eugen Rochko
3f108bf80b New Crowdin updates (#19771)
* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Japanese)

* New translations en.yml (Armenian)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.json (Esperanto)

* New translations en.yml (Turkish)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Romanian)

* New translations en.yml (Hungarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Greek)

* New translations en.yml (Frisian)

* New translations en.yml (Basque)

* New translations en.json (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Irish)

* New translations en.yml (Hebrew)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

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

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Kannada)

* New translations en.yml (Asturian)

* New translations en.yml (Occitan)

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Malayalam)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (French)

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

* New translations en.yml (Burmese)

* New translations en.yml (Breton)

* New translations en.yml (Tatar)

* New translations en.yml (Indonesian)

* New translations en.yml (Kazakh)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Estonian)

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

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

* New translations en.yml (Igbo)

* New translations en.json (Czech)

* New translations en.json (Dutch)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Dutch)

* New translations en.yml (Polish)

* New translations en.yml (Swedish)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.json (Dutch)

* New translations en.yml (Ukrainian)

* New translations en.yml (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations simple_form.en.yml (Irish)

* New translations simple_form.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Japanese)

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

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations en.json (Afrikaans)

* New translations en.json (Galician)

* New translations en.yml (Turkish)

* New translations en.json (Afrikaans)

* New translations en.yml (Afrikaans)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Afrikaans)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (French)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Albanian)

* New translations activerecord.en.yml (French)

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

* New translations devise.en.yml (French)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Occitan)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations activerecord.en.yml (Occitan)

* New translations en.yml (Spanish)

* New translations en.yml (Japanese)

* New translations en.json (Occitan)

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

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Occitan)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (Irish)

* New translations en.json (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

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

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (German)

* New translations en.yml (Spanish)

* New translations en.json (Greek)

* New translations en.json (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Thai)

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

* New translations devise.en.yml (Asturian)

* New translations en.json (Danish)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Korean)

* New translations en.json (French)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Ukrainian)

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

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

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

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Asturian)

* New translations en.json (Occitan)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Norwegian Nynorsk)

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

* New translations en.json (German)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

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

* New translations en.json (French)

* New translations en.yml (Dutch)

* New translations en.json (Welsh)

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

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations en.json (Dutch)

* New translations en.json (French)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (German)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

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

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations activerecord.en.yml (Ukrainian)

* New translations en.json (Russian)

* New translations en.json (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Bulgarian)

* New translations en.json (Japanese)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Japanese)

* New translations devise.en.yml (Finnish)

* New translations en.json (Hebrew)

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Japanese)

* New translations activerecord.en.yml (Arabic)

* New translations activerecord.en.yml (Hebrew)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Danish)

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

* New translations en.json (Bulgarian)

* New translations en.json (Frisian)

* New translations en.json (Russian)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Russian)

* New translations devise.en.yml (Frisian)

* New translations en.yml (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Frisian)

* New translations en.json (Italian)

* New translations en.json (Polish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-08 00:06:48 +09:00
Claire
b2a132bf9c Add aria-expanded to content warning toggle button (#19975)
Fixes #19920
2022-11-07 15:48:46 +01:00
Claire
811f8d2175 Fix crash when external auth provider has no display_name set (#19962)
Fixes #19913
2022-11-07 15:43:24 +01:00
Claire
9b012211d5 Fix links to the Web UI in notifications (#19981)
Most of the old routes are broken because of the /web removal.
2022-11-07 15:42:58 +01:00
Sunny Ripert
6dd0521788 Add form element on focal point modal (#19834)
* Add form element on focal point modal

* Add type="button" for detection button
2022-11-07 15:41:42 +01:00
Claire
5437dda76b Fix followers count not being updated when migrating follows (#19998)
Fixes #19900
2022-11-07 15:38:55 +01:00
Chris Rose
42657c0728 Tag the OTP field with autocomplete for password managers (#19946)
This is modeled on #19833, and based on the attribute values documented
in https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element?language=objc
2022-11-07 03:57:16 +01:00
Sunny Ripert
bfad78e194 Fix double button to clear emoji search input (#19888) 2022-11-07 03:40:54 +01:00
Jeremy Kescher
3b6c7c4878 Add null check on application in dispute viewer (#19851) 2022-11-07 03:40:17 +01:00
Sunny Ripert
99cf3cdb63 Fix JavaScript console error on Getting Started column (#19891)
* Fix JavaScript console error on Getting Started column

* Update app/javascript/mastodon/components/column_header.js

Co-authored-by: Ilias Tsangaris <iliastsangaris@gmail.com>

Co-authored-by: Ilias Tsangaris <iliastsangaris@gmail.com>
2022-11-07 03:40:04 +01:00
Sunny Ripert
461d06bec8 Fix console log error on column settings load (#19886) 2022-11-07 03:39:48 +01:00
Claire
bfb8121e94 Fix crash in legacy filter creation controller (#19878) 2022-11-07 03:38:53 +01:00
nightpool
149a8246d2 Skip Webfinger cache during migrations as well (#19883) 2022-11-07 03:31:38 +01:00
rcombs
edb86217c9 Set autocomplete attr for email field on signup page (#19833)
The email address will be used as the "username" for sign-in purposes, so it's the value that should be stored in password managers. We can inform the password manager of this by setting `autocomplete="email"`. Without this hint, password managers may instead store the `username` field, which isn't valid for sign-in (this happens with iCloud Keychain in Safari, for instance).
2022-11-07 03:16:10 +01:00
Eugen Rochko
b2cf46ee21 Fix not using GIN index for account search queries (#19830) 2022-11-06 06:16:34 +01:00
Eugen Rochko
786b5a7c49 Change design of new list form in web UI (#19801) 2022-11-05 23:06:32 +01:00
Eugen Rochko
b38a465476 Change AUTHORIZED_FETCH to not block unauthenticated REST API access (#19803)
New environment variable `DISALLOW_UNAUTHENTICATED_API_ACCESS`
2022-11-05 22:56:03 +01:00
Eugen Rochko
4c6f7ee8ca Fix indexing scheduler trying to index when Elasticsearch is disabled (#19805)
Fix #19646
2022-11-05 22:31:52 +01:00
Eugen Rochko
d67659a2cd Fix n+1 queries when rendering initial state JSON (#19795) 2022-11-05 21:51:01 +01:00
Eugen Rochko
90902371b0 Fix rendering empty avatar in web UI (#19798) 2022-11-05 21:18:57 +01:00
Eugen Rochko
8742e0000e Fix missing interpolation of domain in disabled account banner in web UI (#19788) 2022-11-05 21:11:35 +01:00
Eugen Rochko
716696cd80 Change design of moved account banner in web UI (#19790) 2022-11-05 21:11:24 +01:00
eai04191
afb6763712 Remove word-break:keep-all from Dismissable banner message (#19799) 2022-11-05 21:03:58 +01:00
Claire
3d24ef2967 Change sign-in banner to reflect disabled or moved account status (#19773) 2022-11-05 18:28:13 +01:00
Sunny Ripert
c91962983f Fix JavaScript console warning when loading notifications (#19772) 2022-11-05 13:45:06 +01:00
Sunny Ripert
343099eafa Fix JavaScript console error on upload editing status (#19769) 2022-11-05 13:43:47 +01:00
Claire
43629707c9 Fix compose form submission reloading web interface (#19762)
* Fix compose form submission reloading web interface

Fix regression introduced by #19742

* Fix various compose form buttons being handled like submit buttons

* Fix coding style issue

* Fix missing onClick prop check
2022-11-05 13:43:37 +01:00
Eugen Rochko
adf13fc0ae New Crowdin updates (#19627)
* 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 (Armenian)

* New translations en.yml (Irish)

* New translations en.json (Thai)

* New translations en.json (Sinhala)

* New translations en.json (Bulgarian)

* New translations en.json (Ido)

* New translations en.json (German)

* New translations en.json (Tamil)

* New translations en.json (Esperanto)

* New translations en.json (Czech)

* New translations en.json (Dutch)

* New translations en.json (Albanian)

* New translations en.json (Japanese)

* New translations en.json (Indonesian)

* New translations en.json (Romanian)

* New translations en.json (Irish)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Corsican)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Occitan)

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

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

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

* New translations en.json (Sardinian)

* New translations en.json (Breton)

* New translations en.json (Sanskrit)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

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

* New translations en.json (Burmese)

* New translations en.json (Cornish)

* New translations en.json (Malayalam)

* New translations en.json (Persian)

* New translations en.json (Estonian)

* 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 (Norwegian Nynorsk)

* New translations en.json (Kazakh)

* New translations en.json (Latvian)

* New translations en.json (Tatar)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Welsh)

* New translations en.json (Uyghur)

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

* New translations en.json (Japanese)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.json (Portuguese)

* New translations en.json (Chinese Simplified)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations activerecord.en.yml (Irish)

* New translations devise.en.yml (Irish)

* New translations en.json (Greek)

* New translations en.json (Irish)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Chinese Traditional)

* New translations en.json (Galician)

* New translations en.json (French)

* New translations en.yml (French)

* New translations en.json (Italian)

* New translations en.json (Vietnamese)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Esperanto)

* New translations en.json (Albanian)

* New translations en.json (Indonesian)

* New translations en.json (Icelandic)

* New translations en.yml (Indonesian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.json (Slovenian)

* New translations en.json (Turkish)

* New translations en.json (Vietnamese)

* New translations en.yml (Norwegian Nynorsk)

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

* New translations en.json (German)

* New translations simple_form.en.yml (Finnish)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.json (Breton)

* New translations en.json (Dutch)

* New translations en.json (Spanish)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Hungarian)

* New translations en.json (French)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Albanian)

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

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Afrikaans)

* New translations en.json (Catalan)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Indonesian)

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

* New translations simple_form.en.yml (Icelandic)

* New translations simple_form.en.yml (Galician)

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

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

* New translations simple_form.en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

* New translations simple_form.en.yml (Corsican)

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

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Occitan)

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

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

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

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Breton)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Ido)

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

* New translations simple_form.en.yml (Malayalam)

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

* New translations simple_form.en.yml (Estonian)

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

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Croatian)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Tatar)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Esperanto)

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

* New translations en.json (Persian)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Portuguese)

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

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Italian)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.json (Irish)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Ukrainian)

* New translations activerecord.en.yml (Irish)

* New translations en.json (Polish)

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

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Polish)

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

* New translations en.yml (Dutch)

* New translations en.json (Swedish)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Swedish)

* New translations doorkeeper.en.yml (Swedish)

* New translations activerecord.en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Swedish)

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

* New translations simple_form.en.yml (Vietnamese)

* New translations en.json (Afrikaans)

* New translations en.yml (Afrikaans)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Norwegian Nynorsk)

* New translations simple_form.en.yml (Afrikaans)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Swedish)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Polish)

* New translations en.json (Swedish)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Czech)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-05 19:54:26 +09:00
Eugen Rochko
2e68cbe212 Fix n+1 query during status removal (#19753) 2022-11-05 00:09:52 +01:00
Claire
0735081cc2 Fix additional issues with status cache hydration (#19747)
* Spare one SQL query when hydrating polls

* Improve tests

* Fix more discrepancies

* Fix possible crash when the status has no application set
2022-11-04 20:01:33 +01:00
Claire
e97b0e0700 Fix various issues with store hydration (#19746)
- Improve tests
- Fix possible crash when application of a reblogged post isn't set
- Fix discrepancies around favourited and reblogged attributes
- Fix discrepancies around pinned attribute
- Fix polls not being hydrated
2022-11-04 19:33:16 +01:00
Sunny Ripert
5404fa8bc0 A11y: Explicit <form> element around compose area (#19742) 2022-11-04 17:08:08 +01:00
Claire
4b0e72b2b7 Fix reblogs being discarded after the reblogged status (#19731) 2022-11-04 16:31:44 +01:00
Eugen Rochko
e75cab5d37 Add assets from Twemoji 14.0 (#19733) 2022-11-04 16:08:41 +01:00
Eugen Rochko
6b2ae9e5a5 Fix featured tags not saving preferred casing (#19732) 2022-11-04 16:08:29 +01:00
Jeong Arm
79106199df Make word-break: keep-all for dismissable banner (#19719) 2022-11-04 16:04:25 +01:00
Eugen Rochko
5b639f9e15 Add caching for payload serialization during fan-out (#19642) 2022-11-04 13:21:06 +01:00
Claire
ae89367588 Change mentions of blocked users to not be processed (#19725)
Fixes #19698
2022-11-04 13:19:12 +01:00
Eugen Rochko
f8def1f6b1 Fix colors in light theme (#19714) 2022-11-04 02:32:26 +01:00
Eugen Rochko
bd9c4ec16d Fix limited account hint referencing "your" server when logged out (#19711) 2022-11-04 02:28:37 +01:00
Eugen Rochko
51e5229712 Fix showing profile's featured tags on individual statuses (#19712) 2022-11-04 02:28:25 +01:00
Eugen Rochko
3cd8f07e90 Fix wrong colors in the high-contrast theme (#19708) 2022-11-04 02:28:14 +01:00
Eugen Rochko
27f63cba4e Fix design of verified links in web UI (#19709) 2022-11-04 02:28:00 +01:00
Claire
7e4afba7c6 Fix handling of duplicate and out-of-order notifications in WebUI (#19693)
* Fix handling of duplicate notifications from streaming server

* Fix handling of duplicate and out-of-order notifications when polling/expanding

Fixes #19615
2022-11-04 00:14:39 +01:00
SJang1
11b59967e7 Remove meta tag for official iOS app (#19656) 2022-11-04 00:13:07 +01:00
Claire
05bb841077 Fix admin action logs page (#19649)
* Add tests

* Fix crash when trying to display orphaned action logs

* Add migration for older admin action logs
2022-11-03 16:06:42 +01:00
Claire
b0d4b7d956 Fix being unable to withdraw follow request when confirmation modal is disabled (#19687)
* Fix being unable to withdraw follow request when unfollow confirmation modal is disabled

Fixes #19569

* Fix “unfollow” being inadequately used for withdrawing follow requests from account card
2022-11-03 16:05:39 +01:00
Claire
a5e1f56347 Fix inaccurate admin log entry for re-sending confirmation e-mails (#19674)
Fixes #19593
2022-11-02 18:50:21 +01:00
Claire
2674759f9c Fix edits not being immediately reflected (#19673)
Fixes #19546
2022-11-02 18:09:39 +01:00
Claire
208ae8a4e0 Fix bookmark import stopping at the first failure (#19669)
Fixes #19389
2022-11-02 16:38:23 +01:00
txt-file
a2703b8852 Add support for AVIF uploads (#19647) 2022-11-01 22:08:41 +01:00
Eugen Rochko
ca1dec3831 Add support for HEIC uploads (#19618) 2022-11-01 16:26:25 +01:00
Claire
4390103b44 Fix N+1 on mentions in PushUpdateWorker (#19637) 2022-11-01 16:03:51 +01:00
Eugen Rochko
529fe25add Change post-processing to be deferred only for large media types (#19617) 2022-11-01 15:27:58 +01:00
pea-sys
066fcb0d41 png optimization(loss less) (#19630) 2022-11-01 15:06:52 +01:00
Eugen Rochko
0c0daf7142 Change max. thumbnail dimensions to 640x360px (360p) (#19619) 2022-11-01 13:01:39 +01:00
Claire
14e07428ec Fix UserCleanupScheduler crash when an unconfirmed account has a moderation note (#19629)
Fixes #19109
2022-11-01 12:59:23 +01:00
Eugen Rochko
3bbe112208 New Crowdin updates (#19517)
* New translations en.json (Persian)

* New translations en.json (Spanish, Argentina)

* New translations simple_form.en.yml (Arabic)

* New translations activerecord.en.yml (Slovenian)

* New translations activerecord.en.yml (Turkish)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations activerecord.en.yml (Spanish)

* New translations en.json (Czech)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Greek)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.json (Polish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Basque)

* New translations activerecord.en.yml (Greek)

* New translations activerecord.en.yml (Basque)

* New translations activerecord.en.yml (Polish)

* New translations en.yml (German)

* New translations en.json (Vietnamese)

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

* New translations simple_form.en.yml (German)

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

* New translations en.json (Romanian)

* New translations en.json (Chinese Traditional)

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

* New translations activerecord.en.yml (Afrikaans)

* New translations en.json (German)

* New translations en.json (Romanian)

* New translations en.json (Afrikaans)

* New translations en.json (German)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations activerecord.en.yml (Japanese)

* New translations en.yml (German)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (German)

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

* New translations activerecord.en.yml (German)

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

* New translations en.json (Polish)

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

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Italian)

* New translations en.json (Portuguese)

* New translations simple_form.en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Danish)

* New translations en.json (Finnish)

* New translations en.json (Dutch)

* New translations en.json (Danish)

* New translations simple_form.en.yml (Danish)

* New translations activerecord.en.yml (Danish)

* New translations en.json (Dutch)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

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

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

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

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

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

* New translations en.json (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Spanish, Argentina)

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

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

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

* New translations en.json (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

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

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

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

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Chinese Simplified)

* New translations en.json (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations en.yml (German)

* New translations en.json (French)

* New translations en.json (Afrikaans)

* New translations en.yml (Afrikaans)

* New translations en.json (Kabyle)

* New translations en.yml (Kabyle)

* New translations simple_form.en.yml (Kabyle)

* New translations en.yml (Czech)

* New translations en.json (German)

* New translations en.json (French)

* New translations en.yml (Catalan)

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

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

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

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.yml (Italian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Greek)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Portuguese)

* New translations en.yml (Vietnamese)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Polish)

* New translations en.yml (Latvian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (German)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Asturian)

* New translations simple_form.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Basque)

* New translations en.json (Chinese Simplified)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (Basque)

* New translations en.yml (Spanish)

* New translations en.json (Spanish)

* New translations en.yml (Basque)

* New translations activerecord.en.yml (Spanish)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Ukrainian)

* New translations activerecord.en.yml (Ukrainian)

* New translations en.json (German)

* New translations en.yml (Ukrainian)

* New translations en.json (Slovenian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Japanese)

* New translations en.json (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (German)

* New translations en.json (Japanese)

* New translations en.json (Indonesian)

* New translations simple_form.en.yml (German)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Indonesian)

* New translations en.yml (Russian)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.json (Burmese)

* New translations en.yml (Burmese)

* New translations simple_form.en.yml (Burmese)

* New translations activerecord.en.yml (Burmese)

* New translations devise.en.yml (Burmese)

* New translations doorkeeper.en.yml (Burmese)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations activerecord.en.yml (Indonesian)

* New translations en.json (Burmese)

* New translations en.json (German)

* New translations en.json (Indonesian)

* New translations en.json (Swedish)

* New translations en.json (Icelandic)

* New translations en.yml (Indonesian)

* New translations simple_form.en.yml (Indonesian)

* New translations en.json (Hungarian)

* New translations en.json (German)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations en.json (German)

* New translations en.yml (Arabic)

* New translations en.json (Hindi)

* New translations en.json (Scottish Gaelic)

* New translations simple_form.en.yml (Arabic)

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

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

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

* New translations activerecord.en.yml (Danish)

* New translations en.json (German)

* New translations en.json (Scottish Gaelic)

* New translations en.json (German)

* New translations en.json (Persian)

* New translations en.yml (Persian)

* New translations en.json (Persian)

* New translations activerecord.en.yml (Persian)

* New translations en.json (Igbo)

* New translations en.yml (Igbo)

* New translations simple_form.en.yml (Igbo)

* New translations activerecord.en.yml (Igbo)

* New translations devise.en.yml (Igbo)

* New translations doorkeeper.en.yml (Igbo)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Spanish, Argentina)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Igbo)

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Galician)

* New translations en.yml (Galician)

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-01 18:42:04 +09:00
Claire
78f77cb5d4 Change featured hashtag deletion to be done synchronously (#19590) 2022-10-31 16:31:44 +01:00
Eugen Rochko
0b91816814 Change design of link footer (#19562) 2022-10-31 13:06:17 +01:00
Eugen Rochko
fdfe1eae4a Remove language filtering from hashtag timelines (#19563) 2022-10-30 21:29:23 +01:00
Claire
8c94b641a9 Fix invites (#19560)
Fixes #19507

Fix regression from #19296
2022-10-30 19:04:39 +01:00
Eugen Rochko
3455b9001f Add reputation and followers score boost to SQL-only account search (#19251) 2022-10-30 13:23:05 +01:00
Eugen Rochko
eedf46b243 Fix account action type validation (#19476)
* Fix account action type validation

Fix #19143

* Fix #19145

* Fix code style issues
2022-10-30 02:44:32 +02:00
Eugen Rochko
69f2f514d2 Fix admin APIs returning deleted object instead of empty object upon delete (#19479)
Fix #19153
2022-10-30 02:43:57 +02:00
Eugen Rochko
fa30d092f2 Fix language not being saved when editing status (#19543)
Fix #19542
2022-10-30 02:43:27 +02:00
Eugen Rochko
c129275c25 Fix not being able to input featured tag with # (#19535) 2022-10-30 02:43:20 +02:00
Eugen Rochko
361a2a3516 Fix sidebar and tabs on settings on small screens in admin UI (#19533) 2022-10-30 02:43:15 +02:00
Eugen Rochko
89ef2cf044 Fix upload progress not communicating processing phase in web UI (#19530) 2022-10-29 20:05:53 +02:00
Eugen Rochko
57d54172f4 Fix wrong host being used for custom.css when asset host configured (#19521) 2022-10-29 14:04:24 +02:00
Matthias Bethke
150f5b0e6c fix name of Lao language (#19520)
It said ພາສາ or pha-sa, which means just "language" in Lao. "ພາສາລາວ",
pha-sa lao, is the full name but the short "ລາວ" is commonly used.
2022-10-29 13:34:56 +02:00
Eugen Rochko
973d496b86 Fix logged out search and changed logged-in search placeholder (#19514) 2022-10-29 13:32:49 +02:00
Eugen Rochko
6ad2304088 New Crowdin updates (#19425)
* New translations en.yml (Occitan)

* New translations doorkeeper.en.yml (Armenian)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Greek)

* New translations doorkeeper.en.yml (Frisian)

* New translations doorkeeper.en.yml (Basque)

* New translations doorkeeper.en.yml (Finnish)

* New translations doorkeeper.en.yml (Hebrew)

* New translations doorkeeper.en.yml (Hungarian)

* New translations doorkeeper.en.yml (Italian)

* New translations doorkeeper.en.yml (Catalan)

* New translations doorkeeper.en.yml (Japanese)

* New translations doorkeeper.en.yml (Georgian)

* New translations doorkeeper.en.yml (Korean)

* New translations doorkeeper.en.yml (Dutch)

* New translations doorkeeper.en.yml (Norwegian)

* New translations doorkeeper.en.yml (Polish)

* New translations doorkeeper.en.yml (Portuguese)

* New translations doorkeeper.en.yml (Czech)

* New translations doorkeeper.en.yml (Bulgarian)

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations doorkeeper.en.yml (Romanian)

* New translations doorkeeper.en.yml (French)

* New translations doorkeeper.en.yml (Spanish)

* New translations doorkeeper.en.yml (Afrikaans)

* New translations doorkeeper.en.yml (Russian)

* New translations doorkeeper.en.yml (Slovak)

* New translations doorkeeper.en.yml (Breton)

* New translations doorkeeper.en.yml (Welsh)

* New translations doorkeeper.en.yml (Esperanto)

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

* New translations doorkeeper.en.yml (Tatar)

* New translations doorkeeper.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Sinhala)

* New translations doorkeeper.en.yml (Latvian)

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

* New translations doorkeeper.en.yml (Asturian)

* New translations doorkeeper.en.yml (Occitan)

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

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

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

* New translations doorkeeper.en.yml (Corsican)

* New translations doorkeeper.en.yml (Sardinian)

* New translations doorkeeper.en.yml (Hindi)

* New translations doorkeeper.en.yml (Estonian)

* New translations doorkeeper.en.yml (Slovenian)

* New translations doorkeeper.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Albanian)

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

* New translations doorkeeper.en.yml (Swedish)

* New translations doorkeeper.en.yml (Turkish)

* New translations doorkeeper.en.yml (Ukrainian)

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

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

* New translations doorkeeper.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Galician)

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

* New translations doorkeeper.en.yml (Kazakh)

* New translations doorkeeper.en.yml (Indonesian)

* New translations doorkeeper.en.yml (Persian)

* New translations doorkeeper.en.yml (Tamil)

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

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

* New translations doorkeeper.en.yml (Marathi)

* New translations doorkeeper.en.yml (Thai)

* New translations doorkeeper.en.yml (Croatian)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Kabyle)

* New translations doorkeeper.en.yml (Ido)

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

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Hungarian)

* New translations en.yml (Polish)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations en.yml (Polish)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Icelandic)

* New translations en.json (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Vietnamese)

* New translations en.yml (Finnish)

* New translations en.yml (Chinese Traditional)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Turkish)

* New translations en.json (Finnish)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Turkish)

* New translations en.json (Dutch)

* New translations en.yml (Catalan)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

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

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

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

* New translations en.yml (Greek)

* New translations en.yml (Italian)

* New translations en.yml (Dutch)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Dutch)

* New translations en.yml (Slovenian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Galician)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Galician)

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

* New translations en.yml (Chinese Simplified)

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

* New translations en.json (French)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Spanish)

* New translations en.json (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations en.yml (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Breton)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Arabic)

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

* New translations en.yml (German)

* New translations en.yml (Scottish Gaelic)

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

* New translations en.yml (German)

* New translations activerecord.en.yml (Turkish)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Slovak)

* New translations activerecord.en.yml (Slovenian)

* New translations activerecord.en.yml (Albanian)

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

* New translations activerecord.en.yml (Swedish)

* New translations activerecord.en.yml (Ukrainian)

* New translations activerecord.en.yml (Dutch)

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

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

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Galician)

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

* New translations activerecord.en.yml (Indonesian)

* New translations activerecord.en.yml (Persian)

* New translations activerecord.en.yml (Tamil)

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

* New translations activerecord.en.yml (Norwegian)

* New translations activerecord.en.yml (Greek)

* New translations activerecord.en.yml (Romanian)

* New translations activerecord.en.yml (French)

* New translations activerecord.en.yml (Spanish)

* New translations activerecord.en.yml (Afrikaans)

* New translations activerecord.en.yml (Arabic)

* New translations activerecord.en.yml (Bulgarian)

* New translations activerecord.en.yml (Catalan)

* New translations activerecord.en.yml (Czech)

* New translations activerecord.en.yml (Danish)

* New translations activerecord.en.yml (German)

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Basque)

* New translations activerecord.en.yml (Finnish)

* New translations activerecord.en.yml (Hebrew)

* New translations activerecord.en.yml (Hungarian)

* New translations activerecord.en.yml (Armenian)

* New translations activerecord.en.yml (Italian)

* New translations activerecord.en.yml (Japanese)

* New translations activerecord.en.yml (Georgian)

* New translations activerecord.en.yml (Korean)

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

* New translations activerecord.en.yml (Bengali)

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

* New translations activerecord.en.yml (Asturian)

* New translations activerecord.en.yml (Occitan)

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

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

* New translations activerecord.en.yml (Corsican)

* New translations activerecord.en.yml (Breton)

* New translations activerecord.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

* New translations activerecord.en.yml (Ido)

* New translations activerecord.en.yml (Sinhala)

* New translations activerecord.en.yml (Malayalam)

* New translations activerecord.en.yml (Marathi)

* New translations activerecord.en.yml (Hindi)

* New translations activerecord.en.yml (Thai)

* New translations activerecord.en.yml (Croatian)

* New translations activerecord.en.yml (Norwegian Nynorsk)

* New translations activerecord.en.yml (Kazakh)

* New translations activerecord.en.yml (Estonian)

* New translations activerecord.en.yml (Latvian)

* New translations activerecord.en.yml (Tatar)

* New translations activerecord.en.yml (Welsh)

* New translations activerecord.en.yml (Esperanto)

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

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

* New translations activerecord.en.yml (Catalan)

* New translations activerecord.en.yml (Italian)

* New translations activerecord.en.yml (Dutch)

* New translations activerecord.en.yml (Swedish)

* New translations activerecord.en.yml (Ukrainian)

* New translations activerecord.en.yml (Latvian)

* New translations activerecord.en.yml (Icelandic)

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

* New translations activerecord.en.yml (Vietnamese)

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

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations activerecord.en.yml (Korean)

* New translations activerecord.en.yml (Portuguese)

* New translations en.yml (Korean)

* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations activerecord.en.yml (Galician)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-10-29 14:35:49 +09:00
Eugen Rochko
6099eecf57 Fix account migration form ever using outdated account data (#18429) 2022-10-29 01:31:45 +02:00
Eugen Rochko
92a6d04ba6 Fix error when uploading malformed CSV import (#19509) 2022-10-28 23:30:44 +02:00
Eugen Rochko
528f96e769 Fix closed registrations message not appearing in web UI (#19508)
Regression from #19486
2022-10-28 19:34:22 +02:00
Eugen Rochko
c7f1ae40b5 Fix number of uses being shown again on trending hashtags in web UI (#19484) 2022-10-28 12:56:51 +02:00
Claire
9cb523d3be Change admin announcement edition interface to use datetime-local (#18321)
* Change admin announcement edition interface to use datetime-local

* Dynamically set announcement stop date as required if start date is set, set minimum date for stop date

* Change `all_day` to not be bound to presence of time-range

* Add pattern and placeholder as minimal fallback for browsers not supporting datetime-local

* Display datetime-local inputs as local time

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-10-28 12:56:32 +02:00
Robert Laurenz
21aa2217de fix(component): adjust style of counter button to fix overflow issue (#19494) 2022-10-28 12:46:41 +02:00
Eugen Rochko
87c34be5bd Fix avatars not using image tags in web UI (#19488)
Fix #19483
2022-10-28 00:48:45 +02:00
Eugen Rochko
bf1bc15575 Fix using wrong policy on status-related actions in admin UI (#19490) 2022-10-28 00:48:30 +02:00
Eugen Rochko
c71443ef1d Remove unused method searchable? on accounts (#19489)
It called the wrong methods, but nothing uses it
2022-10-27 19:30:08 +02:00
Eugen Rochko
ccbf541365 Change closed_registrations_message to message and add Markdown (#19486) 2022-10-27 19:17:48 +02:00
Eugen Rochko
4b0d58f0ad Fix missing delete and redraft link in web UI (#19485) 2022-10-27 19:17:15 +02:00
Eugen Rochko
4435be82db Fix uncaught error when invalid date is supplied to API (#19480)
Fix #19213
2022-10-27 14:30:52 +02:00
Eugen Rochko
35b5120c5d Fix notifications about deleted reports not being also deleted (#19475)
* Fix notifications about deleted reports not being also deleted

* Fix notification with empty report crashing web UI

Fix #18909
2022-10-27 02:10:54 +02:00
Eugen Rochko
b121befc33 Fix wrong math function used in search query (#19481) 2022-10-27 02:10:38 +02:00
zunda
3697b51abc Store integer settings as integer (#19478) 2022-10-26 22:14:07 +02:00
Eugen Rochko
9788e248fb Fix improperly checking for blocked domain on followed hashtags (#19472)
Fix #19469
2022-10-26 20:40:56 +02:00
Claire
d94b1c682a Add closed registrations modal (#19437) 2022-10-26 19:35:55 +02:00
Yamagishi Kazutoshi
9315d51940 Disable media cache on service worker (#19471) 2022-10-26 18:21:36 +02:00
Eugen Rochko
85fc370638 Change post editing to be enabled in web UI (#19103) 2022-10-26 15:23:00 +02:00
Eugen Rochko
3e5588bf70 Add ability to view previous edits of a status in admin UI (#19462)
* Add ability to view previous edits of a status in admin UI

* Change moderator access to posts to be controlled by a separate policy
2022-10-26 13:42:29 +02:00
Eugen Rochko
821c050f08 Fix negatives values in search index causing queries to fail (#19464) 2022-10-26 13:00:43 +02:00
Eugen Rochko
d53e1fc6d9 Fix vacuum scheduler missing lock, locks never expiring (#19458)
Remove vacuuming of orphaned preview cards
2022-10-26 12:10:48 +02:00
Eugen Rochko
6c1c7d9d3b Change unauthenticated search to not support pagination in REST API (#19326)
- Only exact search matches for queries with < 5 characters
- Do not support queries with `offset` (pagination)
- Return HTTP 401 on truthy `resolve` instead of overriding to false
2022-10-26 12:10:02 +02:00
Eugen Rochko
317383f397 Revert "Remove preference to aggregate reblogs in home/list feeds (#18112)" (#19463)
This reverts commit dd5b90e4f2.
2022-10-26 09:10:18 +02:00
Eugen Rochko
7b0b8221a5 Fix IP blocks not having a unique index (#19456) 2022-10-25 21:43:44 +02:00
Eugen Rochko
e0516f9832 Fix wrong size of avatars in admin UI (#19457) 2022-10-25 21:43:33 +02:00
Claire
4a6fb0ea2a Remove navigation links to /explore when trends are disabled (#19415)
* Remove navigation links to /explore when trends are disabled

* Do not display trends interface when trends are disabled
2022-10-25 19:03:16 +02:00
Eugen Rochko
7cbab3e7fd Change layout of posts in web UI (#19423) 2022-10-25 19:02:21 +02:00
Eugen Rochko
3a2f9a8c53 Change design of translations in web UI (#19453) 2022-10-25 18:47:21 +02:00
Eugen Rochko
b01fad5dbd Fix nofollow rel being removed in web UI (#19455) 2022-10-25 18:47:04 +02:00
Claire
d2d2ec29f4 Add mention of the translation provider when translating a post (#19433) 2022-10-24 18:37:57 +02:00
Claire
119b5adbe0 Change “Translate” button to only show up when a translation backend is configured (#19434)
* Change “Translate” button to only show up when a translation backend is configured

Fixes #19346

* Add `translation` attribute to /api/v2/instance to expose whether the translation feature is enabled

Fixes #19328
2022-10-24 18:30:58 +02:00
Claire
0e682bbe24 Fix WebUI notification settings for new user and new report notifications (#19436)
Due to an error in operator priority, those settings would only show up if the
user role included the all-encompassing `administrator` permission and would
display `0` otherwise.
2022-10-24 17:37:46 +02:00
Eugen Rochko
aa2d04e53e Fix language dropdown causing zoom on mobile devices in web UI (#19428) 2022-10-23 23:38:20 +02:00
Eugen Rochko
14b27b92e2 Fix media, following and followers tabs in web UI (#19426) 2022-10-23 23:38:08 +02:00
Eugen Rochko
2e0f4c286f Fix redirecting to /publish when compose form is visible in web UI (#19427) 2022-10-23 23:37:58 +02:00
Eugen Rochko
02b2538c06 New Crowdin updates (#19405)
* New translations en.yml (Kazakh)

* New translations en.json (English, United Kingdom)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.json (Hindi)

* New translations en.yml (Hindi)

* New translations en.json (Malay)

* New translations en.yml (Malay)

* New translations en.json (Telugu)

* New translations en.yml (Telugu)

* New translations en.yml (Occitan)

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

* New translations en.yml (Sanskrit)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Silesian)

* New translations en.json (Silesian)

* New translations en.yml (Taigi)

* New translations en.json (Taigi)

* New translations en.yml (Kabyle)

* New translations en.json (Kabyle)

* New translations en.json (Sanskrit)

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

* New translations en.yml (Sardinian)

* New translations en.json (Sardinian)

* New translations en.yml (Corsican)

* New translations en.json (Corsican)

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

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

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

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

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Catalan)

* New translations en.json (Polish)

* New translations en.json (Slovenian)

* New translations en.json (Ukrainian)

* New translations en.json (Latvian)

* New translations en.json (Portuguese)

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

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Greek)

* New translations en.json (Ukrainian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Ido)

* New translations en.json (Chinese Traditional)

* New translations en.json (Danish)

* New translations en.json (Japanese)

* New translations en.json (Japanese)

* New translations en.json (Galician)

* New translations en.yml (Hungarian)

* New translations en.yml (Arabic)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Greek)

* New translations en.yml (French)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Hebrew)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Spanish)

* New translations en.yml (Turkish)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Thai)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Georgian)

* New translations en.yml (Armenian)

* New translations en.yml (Swedish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

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

* New translations en.yml (Slovenian)

* New translations en.yml (Norwegian)

* New translations en.yml (Korean)

* New translations en.yml (Lithuanian)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.yml (Polish)

* New translations en.yml (Portuguese)

* New translations en.yml (Russian)

* New translations en.yml (Slovak)

* New translations en.yml (Persian)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

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

* New translations en.yml (Breton)

* New translations en.yml (Sinhala)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Malay)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Afrikaans)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Occitan)

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

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

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

* New translations en.yml (Kabyle)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Esperanto)

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

* New translations simple_form.en.yml (Tatar)

* New translations simple_form.en.yml (Breton)

* New translations simple_form.en.yml (Estonian)

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

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Occitan)

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

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

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

* New translations simple_form.en.yml (Corsican)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Albanian)

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

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

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

* New translations simple_form.en.yml (Icelandic)

* New translations simple_form.en.yml (Norwegian Nynorsk)

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

* New translations simple_form.en.yml (Indonesian)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

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

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

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Croatian)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Ido)

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

* New translations en.yml (Catalan)

* New translations en.yml (Greek)

* New translations en.yml (Italian)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Italian)

* New translations en.yml (Czech)

* New translations en.yml (Spanish)

* New translations simple_form.en.yml (Czech)

* New translations en.json (Spanish)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Italian)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Portuguese)

* New translations en.json (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Portuguese)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations simple_form.en.yml (Hungarian)

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

* New translations en.yml (Ukrainian)

* New translations en.yml (Danish)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Spanish, Argentina)

* New translations simple_form.en.yml (Hungarian)

* New translations devise.en.yml (Hungarian)

* New translations doorkeeper.en.yml (Hungarian)

* New translations simple_form.en.yml (Ukrainian)

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

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

* New translations en.yml (Ukrainian)

* New translations en.yml (Danish)

* New translations en.yml (Hungarian)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Hungarian)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Ido)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Ido)

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

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

* New translations en.json (Vietnamese)

* New translations en.yml (Slovenian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.json (Irish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-10-24 00:46:35 +09:00
Eugen Rochko
370f2609b8 Change floating action button to be a button in header in web UI (#19422)
- Fix theme color
- Fix elephant being too big on error page on small screens
- Remove "Follows and Followers" link from navigation panel
2022-10-23 15:58:24 +02:00
Eugen Rochko
f1c016e7b6 Fix PWA manifest using /web paths (#19421) 2022-10-23 14:05:18 +02:00
Eugen Rochko
daaa66a2c2 Add error boundary around routes in web UI (#19412)
* Add error boundary around routes in web UI

* Update app/javascript/mastodon/features/ui/util/react_router_helpers.js

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

* Update app/javascript/mastodon/features/ui/util/react_router_helpers.js

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

* Update app/javascript/mastodon/features/ui/components/bundle_column_error.js

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

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-10-22 23:18:32 +02:00
Eugen Rochko
01980c975b Fix reply not opening compose page on certain screen sizes in web UI (#19417)
Fix ellipsis next to icons on navigation panel on some browsers
2022-10-22 23:15:14 +02:00
Yamagishi Kazutoshi
9e8b91092a Fix Settings::FeaturedTagsController (#19418)
Regression from #19409
2022-10-22 23:14:58 +02:00
Takeshi Umeda
64b46b9ae5 Change featured tag updates to add/remove activity (#19409)
* Change featured tag updates to add/remove activity

* Fix to check for the existence of feature tag

* Rename service and worker

* Merge AddHashtagSerializer with AddSerializer

* Undo removal of sidekiq_options
2022-10-22 18:30:55 +02:00
Eugen Rochko
a041d3cb27 Fix error when rendering limited account in web UI (#19413) 2022-10-22 18:30:20 +02:00
Claire
f272594be6 Change landing page to be /about instead of /explore when trends are disabled (#19414) 2022-10-22 18:09:51 +02:00
Takeshi Umeda
17648d9bf6 Fix duplicate featured tags (#19403)
* Fix duplicate featured tags

* Add unique tag name validator

* Fix error message
2022-10-22 14:30:59 +02:00
Takeshi Umeda
46755e25a2 Add featured tag add/remove activity handler (#19408) 2022-10-22 11:49:41 +02:00
Eugen Rochko
2130895196 Change settings area to be separated into categories in admin UI (#19407)
And update all descriptions
2022-10-22 11:44:41 +02:00
Eugen Rochko
d4588f2441 Fix remote account in contact account setting not being used (#19351) 2022-10-21 14:07:02 +02:00
Eugen Rochko
534cbc96b1 New Crowdin updates (#19350)
* New translations en.yml (Danish)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Icelandic)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.yml (Latvian)

* New translations en.yml (Polish)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Galician)

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

* New translations en.yml (Thai)

* New translations en.json (Korean)

* New translations en.yml (German)

* New translations en.yml (Turkish)

* New translations en.yml (Polish)

* New translations en.yml (Scottish Gaelic)

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

* New translations en.json (Kabyle)

* New translations en.json (Kabyle)

* New translations en.yml (Kabyle)

* New translations doorkeeper.en.yml (Kabyle)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Greek)

* New translations en.json (Chinese Traditional)

* New translations en.json (Kabyle)

* New translations en.json (Czech)

* New translations en.json (Catalan)

* New translations en.json (Korean)

* New translations en.json (Ukrainian)

* New translations en.yml (Spanish)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.json (Spanish)

* New translations en.json (Polish)

* New translations en.json (Icelandic)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Italian)

* New translations en.json (Danish)

* New translations en.json (Russian)

* New translations en.json (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Latvian)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.yml (Ido)

* New translations en.json (Turkish)

* New translations simple_form.en.yml (Ido)

* New translations en.json (Galician)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.json (Hebrew)

* New translations en.json (Slovak)

* New translations en.json (Korean)

* New translations en.json (Macedonian)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovenian)

* New translations en.json (Armenian)

* 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 (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Italian)

* New translations en.json (Hungarian)

* New translations en.json (Thai)

* New translations en.json (Sinhala)

* New translations en.json (Bulgarian)

* New translations en.json (Ido)

* New translations en.json (German)

* New translations en.json (Tamil)

* New translations en.json (Esperanto)

* New translations en.json (Czech)

* New translations en.json (Dutch)

* New translations en.json (Albanian)

* New translations en.json (Japanese)

* New translations en.json (Indonesian)

* New translations en.json (Romanian)

* New translations en.json (Irish)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Persian)

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

* New translations en.json (Cornish)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Occitan)

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

* New translations en.json (Malayalam)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Breton)

* New translations en.json (Tatar)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Estonian)

* 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 (Norwegian Nynorsk)

* New translations en.json (Kazakh)

* New translations en.json (Latvian)

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

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Welsh)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.json (Ido)

* New translations en.json (Korean)

* New translations en.json (Chinese Traditional)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Ido)

* New translations en.json (Galician)

* New translations en.json (Greek)

* New translations en.json (Polish)

* New translations en.json (Ukrainian)

* New translations en.json (Italian)

* New translations en.json (Icelandic)

* New translations en.json (Turkish)

* New translations en.json (Ido)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Vietnamese)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Russian)

* New translations en.json (Portuguese)

* New translations en.json (Latvian)

* New translations en.json (Portuguese)

* New translations en.json (Ukrainian)

* New translations en.yml (Galician)

* New translations en.yml (Greek)

* New translations en.yml (Afrikaans)

* New translations en.yml (Arabic)

* New translations en.yml (Bulgarian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Irish)

* New translations en.yml (Hebrew)

* New translations en.yml (Hungarian)

* New translations en.yml (French)

* New translations en.yml (Turkish)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Romanian)

* New translations en.yml (Ido)

* New translations en.yml (Thai)

* New translations en.yml (Armenian)

* New translations en.yml (Russian)

* New translations en.yml (Slovak)

* New translations en.yml (Slovenian)

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

* New translations en.yml (Swedish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Italian)

* New translations en.yml (Georgian)

* New translations en.yml (Korean)

* New translations en.yml (Japanese)

* New translations en.yml (Lithuanian)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Icelandic)

* New translations en.yml (Persian)

* New translations en.yml (Indonesian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Tamil)

* New translations en.yml (Esperanto)

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

* New translations en.yml (Tatar)

* New translations en.yml (Malayalam)

* New translations en.yml (Breton)

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations en.yml (Welsh)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

* New translations en.yml (Occitan)

* New translations en.yml (Taigi)

* New translations en.yml (Kabyle)

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

* 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 (Standard Moroccan Tamazight)

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

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.json (Spanish)

* Run `yarn manage:translations`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-10-21 20:47:56 +09:00
Takeshi Umeda
f4e4bf44aa Fix featured tag display name in setting (#19404) 2022-10-21 13:22:02 +02:00
Yamagishi Kazutoshi
65c91f5cb3 Fix FetchFeaturedCollectionService spec (#19401)
Regression from #19380
2022-10-21 11:48:22 +02:00
Eugen Rochko
e700e95246 Fix case-sensitive look-up for profiles in web UI (#19397) 2022-10-21 10:06:03 +02:00
Eugen Rochko
a51d8075b6 Fix too many featured tags causing navigation panel scroll in web UI (#19398) 2022-10-21 10:05:50 +02:00
Eugen Rochko
8e0daf2214 Fix error on profile in web UI (#19396) 2022-10-20 14:47:42 +02:00
Eugen Rochko
0fdfbe555e Change public accounts pages to mount the web UI (#19319)
* Change public accounts pages to mount the web UI

* Fix handling of remote usernames in routes

- When logged in, serve web app
- When logged out, redirect to permalink
- Fix `app-body` class not being set sometimes due to name conflict

* Fix missing `multiColumn` prop

* Fix failing test

* Use `discoverable` attribute to control indexing directives

* Fix `<ColumnLoading />` not using `multiColumn`

* Add `noindex` to accounts in REST API

* Change noindex directive to not be rendered by default before a route is mounted

* Add loading indicator for detailed status in web UI

* Fix missing indicator appearing while account is loading in web UI
2022-10-20 14:35:29 +02:00
Takeshi Umeda
fd61882f1a Add synchronization of remote featured tags (#19380)
* Add LIMIT of featured tag to instance API response

* Add featured_tags_collection_url to Account

* Add synchronization of remote featured tags

* Deliver update activity when updating featured tag

* Remove featured_tags_collection_url

* Revert "Add featured_tags_collection_url to Account"

This reverts commit cff349fc27b104ded2df6bb5665132dc24dab09c.

* Add hashtag sync from featured collections

* Fix tag name normalize

* Add target option to fetch featured collection

* Refactor fetch_featured_tags_collection_service

* Add LIMIT of featured tag to v1/instance API response
2022-10-20 09:15:52 +02:00
Eugen Rochko
6ab724918b Change featured hashtags to be displayed in navigation panel (#19382) 2022-10-19 11:30:59 +02:00
prplecake
2690a13d0e Don't use "unfollow language" when cancelling follow requests (#19363)
* Don't use "unfollow language" when cancelling follow requests

- Adds two new i18n keys: `confirmations.cancel_follow_request.confirm`
  and `confirmations.cancel_follow_request.message`
- Update the header container to use new language

* "Withdraw follow request" instead of "cancel follow request"
2022-10-19 00:12:55 +02:00
Eugen Rochko
6090e6e067 Fix showing translate button when status has no language in web UI (#19388) 2022-10-18 21:21:20 +02:00
Eugen Rochko
0b84d15288 Fix missing rules in report modal in web UI (#19387) 2022-10-18 19:33:11 +02:00
Eugen Rochko
1fdfebc745 Fix error on migration page (#19386) 2022-10-18 19:01:59 +02:00
Eugen Rochko
8723d322c7 Fix error while server rules are loading in report modal in web UI (#19385) 2022-10-18 18:57:01 +02:00
Takeshi Umeda
3e88e7ba20 Add featured tags selector for WebUI (#19358)
* Add featured tags selector for WebUI

* Add title to tag count
2022-10-16 08:43:59 +02:00
prplecake
ed8c16377f Make "No $entity selected" errors more accurate (#19356)
Previously all controllers would use the single "No accounts changed as
none were selected" message. This commit changes them to read "tags",
"posts", "emojis", etc. where necessary.
2022-10-15 00:20:54 +02:00
Yamagishi Kazutoshi
14bae3580b Fix missing isCancel (#19354) 2022-10-14 16:14:22 +02:00
Yamagishi Kazutoshi
4266397139 Replace CancelToken to AbortSignal (#19352) 2022-10-14 03:16:37 +02:00