Age | Commit message (Collapse) | Author |
|
* Fix PeerTube videos appearing with an erroneous “Edited at” marker
PeerTube videos have an `updated` field equal to `published`.
When processing an incoming activity that has the same value for `updated` and
`published`, assume this doesn't represent an actual edit.
* Please CodeClimate
|
|
* Add migration test about instance actor key
* Fix old migration
* Work around incorrect database state
|
|
* New translations en.yml (Korean)
* New translations en.yml (Portuguese)
* New translations en.yml (Hungarian)
* New translations en.yml (Armenian)
* New translations en.yml (Georgian)
* New translations en.yml (Lithuanian)
* New translations en.yml (Macedonian)
* New translations en.yml (Dutch)
* New translations en.yml (Norwegian)
* New translations en.yml (Punjabi)
* New translations en.yml (Polish)
* New translations en.yml (Albanian)
* New translations en.yml (Basque)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Turkish)
* New translations en.yml (Ukrainian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Urdu (Pakistan))
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Tamil)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Finnish)
* New translations en.yml (Greek)
* New translations en.yml (Galician)
* New translations en.yml (Slovak)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Swedish)
* New translations en.yml (Arabic)
* New translations en.yml (French)
* New translations en.yml (Spanish)
* New translations en.yml (Catalan)
* New translations en.yml (Hebrew)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Russian)
* New translations en.yml (Slovenian)
* New translations en.yml (German)
* New translations en.yml (Vietnamese)
* New translations en.yml (Thai)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Occitan)
* New translations en.yml (Persian)
* New translations en.yml (Romanian)
* New translations en.yml (Afrikaans)
* New translations en.yml (Bulgarian)
* New translations en.yml (Czech)
* New translations en.yml (Danish)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Bengali)
* New translations en.yml (Sinhala)
* New translations en.yml (Silesian)
* New translations en.yml (Taigi)
* New translations en.yml (Ido)
* New translations en.yml (Kabyle)
* New translations en.yml (Sanskrit)
* New translations en.yml (Sardinian)
* New translations en.yml (Corsican)
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Asturian)
* New translations en.yml (Kannada)
* New translations en.yml (Cornish)
* New translations en.yml (Breton)
* New translations en.yml (Marathi)
* New translations en.yml (Malayalam)
* New translations en.yml (Tatar)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Uyghur)
* New translations en.yml (Esperanto)
* New translations en.yml (Welsh)
* New translations en.yml (Telugu)
* New translations en.yml (Malay)
* New translations en.yml (Hindi)
* New translations en.yml (Latvian)
* New translations en.yml (Estonian)
* New translations en.yml (Kazakh)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Croatian)
* New translations en.yml (Standard Moroccan Tamazight)
* New translations en.yml (Catalan)
* New translations en.yml (Japanese)
* New translations en.json (Catalan)
* New translations en.yml (Greek)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Turkish)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Latvian)
* New translations en.yml (Czech)
* New translations en.yml (Russian)
* New translations en.yml (Czech)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Korean)
* New translations en.yml (Vietnamese)
* New translations en.yml (Catalan)
* New translations en.yml (French)
* New translations en.yml (Spanish)
* New translations en.yml (Galician)
* New translations en.yml (Icelandic)
* New translations en.yml (Italian)
* New translations en.yml (Hungarian)
* New translations en.yml (Thai)
* New translations en.json (Irish)
* New translations en.yml (Irish)
* New translations simple_form.en.yml (Irish)
* New translations activerecord.en.yml (Irish)
* New translations devise.en.yml (Irish)
* New translations doorkeeper.en.yml (Irish)
* New translations simple_form.en.yml (Turkish)
* New translations en.yml (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations en.yml (Indonesian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Thai)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.yml (Vietnamese)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (German)
* New translations en.json (German)
* New translations en.json (German)
* New translations en.yml (Arabic)
* New translations en.json (Arabic)
* New translations doorkeeper.en.yml (Arabic)
* New translations en.yml (Turkish)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
|
|
|
|
|
|
* New translations en.json (Vietnamese)
* New translations en.yml (Chinese Simplified)
* New translations en.json (Chinese Simplified)
* New translations en.yml (Japanese)
* New translations en.yml (French)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations en.yml (Turkish)
* New translations en.yml (German)
* New translations simple_form.en.yml (German)
* New translations en.json (Vietnamese)
* New translations en.json (Turkish)
* New translations simple_form.en.yml (Turkish)
* New translations en.yml (Korean)
* New translations en.json (Korean)
* New translations en.json (Turkish)
* New translations en.json (Turkish)
* New translations en.yml (Turkish)
* New translations en.json (Turkish)
* New translations simple_form.en.yml (Turkish)
* New translations devise.en.yml (Turkish)
* New translations en.yml (Catalan)
* New translations en.json (Catalan)
* New translations en.yml (German)
* New translations en.yml (Japanese)
* New translations en.yml (Japanese)
* New translations en.yml (Japanese)
* New translations simple_form.en.yml (Japanese)
* New translations doorkeeper.en.yml (Japanese)
* New translations en.yml (French)
* New translations en.json (Japanese)
* New translations en.yml (Japanese)
* New translations doorkeeper.en.yml (Japanese)
* New translations simple_form.en.yml (Japanese)
* New translations en.yml (Japanese)
* New translations simple_form.en.yml (Japanese)
* New translations en.yml (Japanese)
* New translations simple_form.en.yml (Japanese)
* New translations en.yml (Japanese)
* New translations en.yml (Japanese)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations en.json (Catalan)
* New translations en.yml (French)
* New translations en.yml (Catalan)
* New translations en.yml (Vietnamese)
* New translations simple_form.en.yml (Catalan)
* New translations en.json (Vietnamese)
* New translations doorkeeper.en.yml (Catalan)
* New translations en.yml (Catalan)
* New translations en.json (Catalan)
* New translations simple_form.en.yml (Catalan)
* New translations simple_form.en.yml (Japanese)
* New translations simple_form.en.yml (Japanese)
* New translations simple_form.en.yml (Japanese)
* New translations en.yml (Portuguese)
* New translations en.yml (Hungarian)
* New translations en.yml (Armenian)
* New translations en.yml (Georgian)
* New translations en.yml (Lithuanian)
* New translations en.yml (Macedonian)
* New translations en.yml (Dutch)
* New translations en.yml (Norwegian)
* New translations en.yml (Punjabi)
* New translations en.yml (Polish)
* New translations en.yml (Albanian)
* New translations en.yml (Basque)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Ukrainian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Urdu (Pakistan))
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Tamil)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Finnish)
* New translations en.yml (Greek)
* New translations en.yml (Galician)
* New translations en.yml (Slovak)
* New translations en.yml (Swedish)
* New translations en.yml (Arabic)
* New translations en.yml (Spanish)
* New translations en.yml (Hebrew)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Russian)
* New translations en.yml (Slovenian)
* New translations en.yml (Thai)
* New translations en.yml (Persian)
* New translations en.yml (Romanian)
* New translations en.yml (Afrikaans)
* New translations en.yml (Bulgarian)
* New translations en.yml (Czech)
* New translations en.yml (Danish)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Occitan)
* New translations en.yml (Bengali)
* New translations en.yml (Malay)
* New translations en.yml (Marathi)
* New translations en.yml (Uyghur)
* New translations en.yml (Esperanto)
* New translations en.yml (Telugu)
* New translations en.yml (Welsh)
* New translations en.yml (Hindi)
* New translations en.yml (Latvian)
* New translations en.yml (Estonian)
* New translations en.yml (Kazakh)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Croatian)
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Silesian)
* New translations en.yml (Taigi)
* New translations en.yml (Ido)
* New translations en.yml (Kabyle)
* New translations en.yml (Sanskrit)
* New translations en.yml (Sardinian)
* New translations en.yml (Corsican)
* New translations en.yml (Breton)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Kannada)
* New translations en.yml (Cornish)
* New translations en.yml (Sinhala)
* New translations en.yml (Malayalam)
* New translations en.yml (Tatar)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Standard Moroccan Tamazight)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
* Run `bundle exec i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
|
|
* New translations en.json (Catalan)
* New translations en.yml (Persian)
* New translations en.yml (Romanian)
* New translations en.yml (Afrikaans)
* New translations en.yml (Bulgarian)
* New translations en.yml (Czech)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Sanskrit)
* New translations en.yml (Asturian)
* 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 (Kabyle)
* New translations en.yml (Cornish)
* New translations en.yml (Ido)
* New translations en.yml (Taigi)
* New translations en.yml (Silesian)
* New translations en.yml (Standard Moroccan Tamazight)
* New translations en.json (Czech)
* New translations en.json (Hungarian)
* New translations en.yml (Kannada)
* New translations en.yml (Sinhala)
* 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 (Breton)
* New translations en.yml (Telugu)
* 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 (Malayalam)
* New translations en.json (Icelandic)
* New translations en.json (Vietnamese)
* New translations en.yml (Korean)
* New translations en.yml (Catalan)
* New translations en.yml (Czech)
* New translations en.yml (Icelandic)
* New translations en.json (Korean)
* New translations en.json (Polish)
* New translations en.yml (Albanian)
* New translations en.json (Albanian)
* New translations en.yml (Vietnamese)
* New translations en.yml (Chinese Traditional)
* New translations en.json (Chinese Traditional)
* New translations en.json (Vietnamese)
* New translations en.json (Russian)
* New translations en.yml (Russian)
* New translations en.json (Russian)
* New translations en.json (Latvian)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (Spanish, Argentina)
* New translations en.yml (Danish)
* New translations en.yml (Latvian)
* New translations en.yml (Spanish)
* New translations en.json (Spanish)
* New translations simple_form.en.yml (Catalan)
* New translations simple_form.en.yml (Chinese Traditional)
* 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 (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 (Dutch)
* New translations simple_form.en.yml (Vietnamese)
* 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 (Bengali)
* New translations simple_form.en.yml (Norwegian)
* New translations simple_form.en.yml (Slovenian)
* New translations simple_form.en.yml (Danish)
* New translations simple_form.en.yml (Chinese Simplified)
* New translations simple_form.en.yml (Thai)
* New translations simple_form.en.yml (Polish)
* 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 (Czech)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Greek)
* 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 (Georgian)
* New translations simple_form.en.yml (Korean)
* New translations simple_form.en.yml (Croatian)
* New translations simple_form.en.yml (Ido)
* New translations simple_form.en.yml (Kabyle)
* 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 (Kurmanji (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 simple_form.en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Norwegian Nynorsk)
* New translations simple_form.en.yml (Sinhala)
* New translations simple_form.en.yml (Breton)
* 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 (Esperanto)
* New translations simple_form.en.yml (Welsh)
* New translations simple_form.en.yml (Latvian)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Kazakh)
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
* New translations simple_form.en.yml (Czech)
* New translations simple_form.en.yml (Latvian)
* New translations simple_form.en.yml (Spanish)
* New translations simple_form.en.yml (Czech)
* New translations simple_form.en.yml (Korean)
* New translations simple_form.en.yml (Russian)
* New translations simple_form.en.yml (Spanish, Argentina)
* New translations simple_form.en.yml (Polish)
* New translations en.json (Swedish)
* New translations en.yml (Italian)
* New translations en.json (Italian)
* New translations simple_form.en.yml (Italian)
* New translations simple_form.en.yml (Catalan)
* New translations en.yml (Portuguese)
* New translations en.json (Portuguese)
* New translations en.yml (Kurmanji (Kurdish))
* New translations simple_form.en.yml (Portuguese)
* New translations simple_form.en.yml (Russian)
* New translations en.json (French)
* New translations simple_form.en.yml (French)
* New translations en.json (Polish)
* New translations en.json (Polish)
* New translations en.yml (Kurmanji (Kurdish))
* New translations simple_form.en.yml (Kurmanji (Kurdish))
* New translations simple_form.en.yml (Arabic)
* New translations en.yml (Arabic)
* New translations simple_form.en.yml (Arabic)
* New translations doorkeeper.en.yml (Arabic)
* New translations en.yml (Arabic)
* New translations doorkeeper.en.yml (Arabic)
* New translations simple_form.en.yml (Chinese Traditional)
* New translations en.yml (Esperanto)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Turkish)
* New translations en.json (Turkish)
* New translations simple_form.en.yml (Turkish)
* New translations en.yml (Czech)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Greek)
* New translations en.json (Greek)
* New translations simple_form.en.yml (Greek)
* New translations simple_form.en.yml (Icelandic)
* New translations en.yml (Czech)
* New translations en.yml (Ukrainian)
* New translations en.yml (Ukrainian)
* New translations en.json (Ukrainian)
* New translations simple_form.en.yml (Ukrainian)
* New translations en.yml (Ukrainian)
* New translations en.json (Ukrainian)
* New translations doorkeeper.en.yml (Ukrainian)
* New translations simple_form.en.yml (Danish)
* New translations en.yml (Galician)
* New translations en.json (Galician)
* New translations simple_form.en.yml (Galician)
* New translations simple_form.en.yml (Vietnamese)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.json (French)
* New translations en.yml (Indonesian)
* New translations en.json (Indonesian)
* New translations en.yml (Indonesian)
* New translations simple_form.en.yml (Indonesian)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations simple_form.en.yml (Thai)
* New translations simple_form.en.yml (Thai)
* New translations en.yml (Armenian)
* New translations en.json (Armenian)
* New translations en.yml (Italian)
* New translations en.json (Italian)
* New translations en.yml (Catalan)
* New translations en.json (Catalan)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (Kurmanji (Kurdish))
* New translations simple_form.en.yml (Hungarian)
* New translations en.yml (Chinese Simplified)
* New translations simple_form.en.yml (Chinese Simplified)
* New translations en.json (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations en.json (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations simple_form.en.yml (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations en.json (Polish)
* New translations en.json (Polish)
* New translations en.json (Polish)
* New translations en.json (Polish)
* New translations doorkeeper.en.yml (Polish)
* New translations doorkeeper.en.yml (Polish)
* New translations en.yml (Polish)
* New translations en.yml (Polish)
* New translations en.yml (Polish)
* New translations en.yml (Polish)
* New translations simple_form.en.yml (Polish)
* New translations en.json (Polish)
* New translations en.json (Polish)
* New translations en.json (Catalan)
* New translations en.json (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations en.json (Vietnamese)
* New translations en.json (Vietnamese)
* New translations en.yml (Vietnamese)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
|
|
|
|
Co-authored-by: dogelover911 <dogelover911@localhost>
|
|
|
|
* Fix error responses in `from` search prefix (addresses mastodon/mastodon#17941)
Using unsupported prefixes now reports a 422; searching for posts from an
account the instance is not aware of reports a 404. TODO: The UI for this
on the front end is abysmal.
Searching `from:username@domain` now succeeds when `domain` is the local
domain; searching `from:@username(@domain)?` now works as expected.
* Remove unused methods on new Error classes as they are not being used
Currently when `raise`d there are error messages being supplied, but
this is not actually being used. The associated `raise`s have been
edited accordingly.
* Remove needless comments
* Satisfy rubocop
* Try fixing tests being unable to find AccountFindingConcern methods
* Satisfy rubocop
* Simplify `from` prefix logic
This incorporates @ClearlyClaire's suggestion (see
https://github.com/mastodon/mastodon/pull/17963#pullrequestreview-933986737).
Accepctable account strings in `from:` clauses are more lenient than
before this commit; for example, `from:@user@example.org@asnteo +cat`
will not error, and return posts by @user@example.org containing the
word "cat". This is more consistent with how Mastodon matches mentions
in statuses. In addition, `from` clauses will not be checked for
syntatically invalid usernames or domain names, simply 404ing when
`Account.find_remote!` raises ActiveRecord::NotFound.
New code for this PR that is no longer used has been removed.
|
|
- Change score half-life for trending statuses from 2 to 6 hours
- Change score threshold for trimming old items from 1 to 0.3
|
|
stream (#17987)
|
|
|
|
* Change e-mail notifications to only be sent when recipient is offline
Change the default for follow and mention notifications back on
* Add preference to always send e-mail notifications
* Change wording
|
|
- Change filtering and pagination to occur in SQL instead of Redis
- Change rank/score displayed on trends in admin UI to be locale-specific
|
|
* New translations en.yml (Danish)
* New translations en.yml (German)
* New translations en.yml (Basque)
* New translations en.yml (Finnish)
* New translations en.yml (Hungarian)
* New translations en.yml (Hebrew)
* New translations en.yml (Catalan)
* New translations en.yml (Spanish)
* New translations en.yml (French)
* New translations en.yml (Arabic)
* New translations en.yml (Armenian)
* New translations en.yml (Afrikaans)
* New translations en.yml (Polish)
* New translations en.yml (Punjabi)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Portuguese)
* New translations en.yml (Albanian)
* New translations en.yml (Dutch)
* New translations en.yml (Turkish)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Urdu (Pakistan))
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Tamil)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Norwegian)
* New translations en.yml (Korean)
* New translations en.yml (Macedonian)
* New translations en.yml (Slovenian)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Swedish)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Russian)
* New translations en.yml (Slovak)
* New translations en.yml (Vietnamese)
* New translations en.yml (Lithuanian)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Occitan)
* New translations en.yml (Persian)
* New translations en.yml (Galician)
* New translations en.yml (Georgian)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Bengali)
* New translations en.yml (Sinhala)
* New translations en.yml (Silesian)
* New translations en.yml (Taigi)
* New translations en.yml (Ido)
* New translations en.yml (Kabyle)
* New translations en.yml (Sanskrit)
* New translations en.yml (Sardinian)
* New translations en.yml (Corsican)
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Asturian)
* New translations en.yml (Kannada)
* New translations en.yml (Cornish)
* New translations en.yml (Breton)
* New translations en.yml (Marathi)
* New translations en.yml (Malayalam)
* New translations en.yml (Tatar)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Uyghur)
* New translations en.yml (Esperanto)
* New translations en.yml (Welsh)
* New translations en.yml (Telugu)
* New translations en.yml (Malay)
* New translations en.yml (Hindi)
* New translations en.yml (Latvian)
* New translations en.yml (Estonian)
* New translations en.yml (Kazakh)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Croatian)
* New translations en.yml (Standard Moroccan Tamazight)
* New translations en.yml (German)
* New translations en.yml (Icelandic)
* New translations en.yml (Catalan)
* New translations en.yml (Czech)
* New translations en.yml (Italian)
* New translations doorkeeper.en.yml (Czech)
* New translations en.yml (Danish)
* New translations en.json (Czech)
* New translations doorkeeper.en.yml (Czech)
* New translations en.yml (Czech)
* New translations doorkeeper.en.yml (Czech)
* New translations en.yml (Latvian)
* New translations doorkeeper.en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Indonesian)
* New translations en.yml (Czech)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations simple_form.en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Hungarian)
* New translations simple_form.en.yml (Czech)
* New translations simple_form.en.yml (Czech)
* New translations en.yml (Korean)
* New translations en.yml (Spanish)
* New translations en.yml (Czech)
* New translations simple_form.en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Portuguese)
* New translations en.yml (Polish)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.json (Chinese Traditional)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.json (Chinese Traditional)
* New translations en.json (Chinese Traditional)
* New translations en.yml (Czech)
* New translations en.json (Chinese Traditional)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (Chinese Traditional)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.json (Italian)
* New translations en.yml (Galician)
* New translations en.yml (French)
* New translations en.yml (Vietnamese)
* New translations simple_form.en.yml (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations simple_form.en.yml (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations simple_form.en.yml (Vietnamese)
* New translations simple_form.en.yml (Vietnamese)
* New translations en.yml (Korean)
* New translations en.json (Korean)
* New translations simple_form.en.yml (Galician)
* New translations en.yml (Korean)
* New translations en.yml (Portuguese)
* New translations en.yml (Hungarian)
* New translations en.yml (Armenian)
* New translations en.yml (Dutch)
* New translations en.yml (Norwegian)
* New translations en.yml (Polish)
* New translations en.yml (Albanian)
* New translations en.yml (Basque)
* New translations en.yml (Turkish)
* New translations en.yml (Ukrainian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Tamil)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Finnish)
* New translations en.yml (Greek)
* New translations en.yml (Galician)
* New translations en.yml (Slovak)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Swedish)
* New translations en.yml (Arabic)
* New translations en.yml (French)
* New translations en.yml (Spanish)
* New translations en.yml (Catalan)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Russian)
* New translations en.yml (Slovenian)
* New translations en.yml (German)
* New translations en.yml (Vietnamese)
* New translations en.yml (Thai)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Occitan)
* New translations en.yml (Persian)
* New translations en.yml (Romanian)
* New translations en.yml (Czech)
* New translations en.yml (Danish)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Kabyle)
* New translations en.yml (Sardinian)
* New translations en.yml (Corsican)
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Breton)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Esperanto)
* New translations en.yml (Welsh)
* New translations en.yml (Latvian)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Croatian)
* New translations en.yml (Catalan)
* New translations en.yml (Latvian)
* New translations en.yml (Catalan)
* New translations en.yml (Latvian)
* New translations en.yml (Icelandic)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Swedish)
* New translations en.yml (Russian)
* New translations en.yml (Czech)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Czech)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Danish)
* New translations en.yml (Danish)
* New translations en.yml (Korean)
* New translations en.yml (Korean)
* New translations en.yml (Galician)
* New translations en.yml (Vietnamese)
* New translations en.yml (Galician)
* New translations en.yml (Turkish)
* New translations en.yml (Polish)
* New translations en.yml (Hungarian)
* New translations en.yml (Hungarian)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Italian)
* New translations en.yml (Spanish)
* New translations en.yml (Arabic)
* New translations en.json (Arabic)
* New translations doorkeeper.en.yml (Arabic)
* New translations en.yml (Arabic)
* New translations en.yml (French)
* New translations en.json (Arabic)
* New translations en.json (Arabic)
* New translations en.json (Arabic)
* New translations en.json (Breton)
* New translations en.yml (Arabic)
* New translations en.json (Arabic)
* New translations en.yml (Vietnamese)
* New translations en.yml (Korean)
* New translations en.yml (Vietnamese)
* New translations en.yml (Esperanto)
* New translations en.json (Esperanto)
* New translations en.json (Esperanto)
* New translations en.json (Esperanto)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalzie`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
|
|
|
|
* Fix potentially missing statuses when reconnecting to websocket
* Add gap on reconnect rather than maintaining it constantly
|
|
* Add tests
* Fix failure when sending warning emails with custom text
|
|
In some rare cases, when receiving statuses out of order from the streaming
API then polling from the REST API, it was possible for the
`expandNormalizedTimeline` function to remove older items from the timeline.
This commit ensures that any item from the replaced slice that is older
than the oldest item retrieved from the API gets added back to the replaced
slice.
|
|
|
|
In some rare cases, when receiving statuses out of order from the streaming
API then polling from the REST API, it was possible for the
`expandNormalizedTimeline` function to insert duplicates in the timeline,
which would then result in several bugs.
This commits ensures that there are no duplicates inserted in the
timeline.
|
|
such (#17918)
* Change post text edit to not be considered significant if it's identical after reformatting
* We don't need to clear previous change information anymore
* Require status edits to be explicit, except for poll tallies
* Fix tests
* Add some tests
* Add poll-related tests
* Add HTML-formatting related tests
|
|
|
|
(#17970)
|
|
Not completely sure this could actually have any ill effect, but if
`RemoveStatusService` fails to acquire a lock in an
`ActivityPub::ProcessingWorker` job processing a `Delete`, the status
is currently discarded and causes a job failure but the next time the
job is attempted, it will skip deleting the status due to it being
discarded.
This commit makes the behavior of `RemoveStatusService` a bit more consistent
in case of failure to acquire the lock.
|
|
Fixes #17898
Since #17204, the admin API has only been available through the web
application because of the unconditional requirement to provide a valid CSRF
token.
This commit changes it back to `null_session`, which should make it work
both with session-based authentication (provided a CSRF token) and with a
bearer token.
|
|
|
|
|
|
* Replace deprecated String.prototype.substr()
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
* Change String.prototype.substring() to String.prototype.slice()
.substring() and .slice() work very similary but .slice() is a bit faster and stricter
* Add ESLint rule to forbid usage of .substr and .substring
.substr() is deprecated and .substring() is very similar to .slice() so better to use .slice() at all times
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
|
|
* Fix unusual number formatting in some locales
Fixes #17904
* Fix typo
|
|
|
|
Also refactor a bit to reduce code duplication.
|
|
|
|
|
|
* Optimize and clean up `response_to_recipient?` CTE
Marginally improve performances, and make the CTE much more readable
* Limit max depth in `response_to_recipient?` CTE
|
|
Fixes #17900
Regression in #17844 (#17851 restored the code in the wrong place…)
|
|
* New translations doorkeeper.en.yml (Kazakh)
* New translations doorkeeper.en.yml (Estonian)
* New translations doorkeeper.en.yml (Latvian)
* New translations doorkeeper.en.yml (Hindi)
* New translations doorkeeper.en.yml (Welsh)
* New translations doorkeeper.en.yml (Serbian (Latin))
* 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 (Breton)
* New translations doorkeeper.en.yml (Sinhala)
* New translations doorkeeper.en.yml (Occitan)
* New translations activerecord.en.yml (Czech)
* New translations devise.en.yml (Polish)
* New translations activerecord.en.yml (Dutch)
* New translations devise.en.yml (Dutch)
* New translations activerecord.en.yml (Norwegian)
* New translations devise.en.yml (Norwegian)
* New translations activerecord.en.yml (Polish)
* New translations activerecord.en.yml (Portuguese)
* New translations devise.en.yml (Portuguese)
* New translations activerecord.en.yml (Russian)
* New translations devise.en.yml (Russian)
* New translations activerecord.en.yml (Slovak)
* New translations devise.en.yml (Slovak)
* New translations activerecord.en.yml (Slovenian)
* New translations devise.en.yml (Slovenian)
* New translations activerecord.en.yml (Albanian)
* New translations devise.en.yml (Albanian)
* New translations activerecord.en.yml (Serbian (Cyrillic))
* New translations devise.en.yml (Korean)
* New translations devise.en.yml (Czech)
* New translations activerecord.en.yml (Hebrew)
* New translations activerecord.en.yml (Danish)
* New translations devise.en.yml (Danish)
* New translations activerecord.en.yml (German)
* New translations devise.en.yml (German)
* New translations activerecord.en.yml (Greek)
* New translations devise.en.yml (Greek)
* New translations activerecord.en.yml (Basque)
* New translations devise.en.yml (Basque)
* New translations activerecord.en.yml (Finnish)
* New translations devise.en.yml (Finnish)
* New translations devise.en.yml (Hebrew)
* New translations activerecord.en.yml (Korean)
* New translations activerecord.en.yml (Hungarian)
* New translations devise.en.yml (Hungarian)
* New translations activerecord.en.yml (Armenian)
* New translations devise.en.yml (Armenian)
* New translations activerecord.en.yml (Italian)
* New translations devise.en.yml (Italian)
* New translations activerecord.en.yml (Japanese)
* New translations devise.en.yml (Japanese)
* New translations activerecord.en.yml (Georgian)
* New translations devise.en.yml (Georgian)
* New translations devise.en.yml (Serbian (Cyrillic))
* New translations activerecord.en.yml (Swedish)
* New translations devise.en.yml (Norwegian Nynorsk)
* New translations activerecord.en.yml (Bengali)
* New translations devise.en.yml (Bengali)
* New translations activerecord.en.yml (Marathi)
* New translations activerecord.en.yml (Thai)
* New translations activerecord.en.yml (Croatian)
* New translations devise.en.yml (Croatian)
* New translations activerecord.en.yml (Norwegian Nynorsk)
* New translations activerecord.en.yml (Kazakh)
* New translations activerecord.en.yml (Spanish, Mexico)
* New translations devise.en.yml (Kazakh)
* New translations activerecord.en.yml (Estonian)
* New translations devise.en.yml (Estonian)
* New translations activerecord.en.yml (Latvian)
* New translations devise.en.yml (Latvian)
* New translations activerecord.en.yml (Hindi)
* New translations devise.en.yml (Hindi)
* New translations devise.en.yml (Spanish, Mexico)
* New translations devise.en.yml (Spanish, Argentina)
* New translations devise.en.yml (Swedish)
* New translations activerecord.en.yml (Vietnamese)
* New translations activerecord.en.yml (Turkish)
* New translations devise.en.yml (Turkish)
* New translations activerecord.en.yml (Ukrainian)
* New translations devise.en.yml (Ukrainian)
* New translations activerecord.en.yml (Chinese Simplified)
* New translations devise.en.yml (Chinese Simplified)
* New translations activerecord.en.yml (Chinese Traditional)
* New translations devise.en.yml (Chinese Traditional)
* New translations devise.en.yml (Urdu (Pakistan))
* New translations devise.en.yml (Vietnamese)
* New translations activerecord.en.yml (Spanish, Argentina)
* New translations activerecord.en.yml (Galician)
* New translations devise.en.yml (Galician)
* New translations activerecord.en.yml (Portuguese, Brazilian)
* New translations devise.en.yml (Portuguese, Brazilian)
* New translations activerecord.en.yml (Indonesian)
* New translations devise.en.yml (Indonesian)
* New translations activerecord.en.yml (Persian)
* New translations devise.en.yml (Persian)
* New translations activerecord.en.yml (Tamil)
* New translations devise.en.yml (Tamil)
* New translations devise.en.yml (Welsh)
* New translations activerecord.en.yml (Sorani (Kurdish))
* New translations devise.en.yml (Sorani (Kurdish))
* New translations activerecord.en.yml (Corsican)
* New translations devise.en.yml (Corsican)
* New translations activerecord.en.yml (Sardinian)
* New translations devise.en.yml (Sardinian)
* New translations activerecord.en.yml (Kabyle)
* New translations activerecord.en.yml (Kurmanji (Kurdish))
* New translations devise.en.yml (Kabyle)
* New translations devise.en.yml (Ido)
* New translations activerecord.en.yml (Standard Moroccan Tamazight)
* New translations devise.en.yml (Serbian (Latin))
* New translations activerecord.en.yml (Esperanto)
* New translations activerecord.en.yml (Breton)
* New translations activerecord.en.yml (Chinese Traditional, Hong Kong)
* New translations devise.en.yml (Chinese Traditional, Hong Kong)
* New translations activerecord.en.yml (Tatar)
* New translations devise.en.yml (Tatar)
* New translations activerecord.en.yml (Malayalam)
* New translations devise.en.yml (Malayalam)
* New translations devise.en.yml (Breton)
* New translations activerecord.en.yml (Serbian (Latin))
* New translations activerecord.en.yml (Sinhala)
* New translations devise.en.yml (Sinhala)
* New translations devise.en.yml (Kannada)
* New translations activerecord.en.yml (Occitan)
* New translations devise.en.yml (Occitan)
* New translations devise.en.yml (Standard Moroccan Tamazight)
* New translations en.json (Portuguese, Brazilian)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.json (Portuguese, Brazilian)
* New translations doorkeeper.en.yml (Portuguese, Brazilian)
* New translations en.json (Portuguese, Brazilian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Danish)
* New translations en.yml (Vietnamese)
* New translations en.yml (Galician)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Albanian)
* New translations en.json (Albanian)
* New translations en.json (Albanian)
* New translations en.yml (Scottish Gaelic)
* New translations en.json (Scottish Gaelic)
* New translations doorkeeper.en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Scottish Gaelic)
* New translations en.yml (Icelandic)
* New translations en.yml (Spanish)
* New translations en.yml (Polish)
* New translations en.yml (French)
* New translations en.yml (French)
* New translations en.json (French)
* New translations en.yml (Portuguese)
* New translations en.yml (Italian)
* New translations en.yml (Ukrainian)
* New translations en.json (Ukrainian)
* New translations doorkeeper.en.yml (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.yml (Indonesian)
* New translations en.yml (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations en.yml (Vietnamese)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations en.json (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Thai)
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations en.json (Czech)
* New translations en.json (Czech)
* New translations simple_form.en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations en.json (Czech)
* New translations en.json (Czech)
* New translations en.json (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Czech)
* New translations en.yml (Korean)
* New translations en.yml (Portuguese)
* New translations en.yml (Hungarian)
* New translations en.yml (Polish)
* New translations en.yml (Albanian)
* New translations en.yml (Basque)
* New translations en.yml (Turkish)
* New translations en.yml (Ukrainian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Icelandic)
* New translations en.yml (Indonesian)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Finnish)
* New translations en.yml (Galician)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Swedish)
* New translations en.yml (Arabic)
* New translations en.yml (French)
* New translations en.yml (Spanish)
* New translations en.yml (Catalan)
* New translations en.yml (Hebrew)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Russian)
* New translations en.yml (German)
* New translations en.yml (Vietnamese)
* New translations en.yml (Thai)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Danish)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Latvian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Catalan)
* New translations en.yml (Korean)
* New translations en.yml (Danish)
* New translations en.yml (Danish)
* New translations en.yml (Spanish)
* New translations en.yml (French)
* New translations en.yml (French)
* New translations en.yml (Hungarian)
* New translations en.yml (Icelandic)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Czech)
* New translations en.yml (Albanian)
* New translations en.yml (Russian)
* New translations en.yml (Russian)
* New translations en.yml (Russian)
* New translations en.json (Persian)
* New translations en.yml (Persian)
* New translations simple_form.en.yml (Persian)
* New translations doorkeeper.en.yml (Persian)
* New translations en.yml (Indonesian)
* New translations en.json (Persian)
* New translations en.yml (Persian)
* New translations simple_form.en.yml (Persian)
* New translations doorkeeper.en.yml (Persian)
* New translations en.yml (Italian)
* New translations en.yml (Vietnamese)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
|
|
* Fix /api/v1/admin/accounts
Compatibility was broken since #17009 which changed the underlying filter class
without changing the controller.
This commits restore support for the old parameters.
* Add /api/v2/admin/accounts with the new parameters
* Add tests
* Add missing filter for `silenced` status
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
|
|
* Refactor status formatting
* Add account formatting helpers
* Remove StatusFormatter
* Fixup
* Fix copied typo
|
|
|
|
* Refactor formatter
* Move custom emoji pre-rendering logic to view helpers
* Move more methods out of Formatter
* Fix code style issues
* Remove Formatter
* Add inline poll options to RSS feeds
* Remove unused helper method
* Fix code style issues
* Various fixes and improvements
* Fix test
|
|
Fix #17815
|
|
* Add a hashtag public link to the hashtag management page
* Add support for element 'target' to Counter.js.
Remove 'rel' element.
* Update app/javascript/mastodon/components/admin/Counter.js
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>
|
|
|
|
* Fix edits with no actual changes being allowed locally
* Fix edits with no actual changes being allowed through ActivityPub
* Fix false positive changes caused by description processing in model
* Fix not recording poll expiration update
* Fix test
* Revert changes to ProcessStatusUpdateService
* Various fixes and improvements
* Fix code style issues
* Various changes and improvements
* Add guard clause
|
|
|
|
|
|
* Add workaround for YouTube Shorts links
* Update link_details_extractor_spec.rb
|