about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2022-04-27Update win95 style from cybre.spaceClaire
https://cybre.tech/cybrespace/mastodon/raw/branch/cybrespace-3.3/app/javascript/styles/win95.scss
2022-04-27Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `package.json`: Not a real conflict, upstream dependency updated textually too close to a glitch-soc-only dependency. Updated the upstream dependency.
2022-04-26Fix n+1 query on feed merge and populate operations (#18111)Eugen Rochko
2022-04-26Fix UnmergeWorker being exceptionally slow in some conditions (#18110)Claire
2022-04-26Fix PeerTube videos appearing with an erroneous “Edited at” marker (#18100)Claire
* 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
2022-04-26Fix instance actor being incorrectly created when running migrations (#18109)Claire
* Add migration test about instance actor key * Fix old migration * Work around incorrect database state
2022-04-25Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-04-24New Crowdin updates (#18062)Eugen Rochko
* 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>
2022-04-23Fix web push notifications containing HTML entities (#18071)Claire
2022-04-23Let votes statuses are also searchable (#18070)Jeong Arm
2022-04-22New Crowdin updates (#18032)Eugen Rochko
* 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>
2022-04-20Swap position of media attachments and pollsClaire
2022-04-19Revert support from loading Home timeline from databaseClaire
Unfortunately, the database query could turn out very inefficient and I did not manage to find a way to improve that. Furthermore, there were still behavior inconsistencies between fetching the timeline from Redis and fetching it from Postgres.
2022-04-16Revert DM support in HomeFeed#from_databaseClaire
Fixes #1746 Queries could get prohibitively expensive.
2022-04-14Fix loading Home TL from database not respecting `min_id` and not including ↵Claire
DMs (#1744) * Rework tests * Add tests * Fix HomeFeed#get with min_id fetching from database * Minor code cleanup and optimizations * Add tests * Take DMs into account when fetching home TL from database * Fix not listing own DMs in Home timeline * Add tests * Please CodeClimate
2022-04-14Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-04-14New Crowdin updates (#17995)Eugen Rochko
* 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>
2022-04-13Fix FetchFeaturedCollectionService (#18030)Jeong Arm
2022-04-12Implement infinity home timeline (#1610)Jeong Arm
* Implement infinity home timeline * Fix test for infinite home timeline * Fix infinity home timeline with min_id * Fix infinite home timeline duplicated statuses * Codeclimate for infinite home timeline * Refactor code as reviewed * Fix redis sufficient check * Fix typo on variable name
2022-04-11FeedManager: skip account when target_account's last status is too old (#18009)dogelover911
Co-authored-by: dogelover911 <dogelover911@localhost>
2022-04-11Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-04-09Fix crash in alias settings page (#18004)Claire
2022-04-08Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-04-08Fix error resposes for `from` search prefix (#17963)0x2019
* 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.
2022-04-08[Glitch] Auto-fill timeline gaps when getting re-connecting to ↵Claire
Websocket/EventSource stream Port a39bf04fe6b6a98547737cc15f42727428376e67 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-08[Glitch] Fix potentially missing statuses when reconnecting to websocketClaire
Port ebe01ea194104b14af6cd6abe6d20637f1a3e140 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-08Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `Gemfile.lock`: Not a real conflict, just an upstream dependency udpated textually too close to a glitch-soc-only dependency. Updated dependencies like upstream. - `app/controllers/settings/preferences_controller.rb`: Upstream added settings where we had extra glitch-soc-specific settings. Added upstream's new settings. - `app/models/user.rb`: Upstream added settings where we had extra glitch-soc-specific settings. Added upstream's new settings. - `config/i18n-tasks.yml`: Not a real conflict, just a new upstream line too textually close to a glitch-soc-only line. Ported upstream's change.
2022-04-08Fix dangling language-specific trends (#17997)Eugen Rochko
- Change score half-life for trending statuses from 2 to 6 hours - Change score threshold for trimming old items from 1 to 0.3
2022-04-08Auto-fill timeline gaps when getting re-connecting to Websocket/EventSource ↵Claire
stream (#17987)
2022-04-08Fix extremely rare race condition when deleting a toot or account (#17994)Claire
2022-04-08Change e-mail notifications to only be sent when recipient is offline (#17984)Eugen Rochko
* 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
2022-04-08Fix trends returning less results per page when filtered in REST API (#17996)Eugen Rochko
- Change filtering and pagination to occur in SQL instead of Redis - Change rank/score displayed on trends in admin UI to be locale-specific
2022-04-08New Crowdin updates (#17897)Eugen Rochko
* 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>
2022-04-07Fix pagination header on empty trends responses in REST API (#17986)Eugen Rochko
2022-04-07Fix potentially missing statuses when reconnecting to websocket (#17981)Claire
* Fix potentially missing statuses when reconnecting to websocket * Add gap on reconnect rather than maintaining it constantly
2022-04-07[Glitch] Fix older items possibly disappearing on timeline updatesClaire
Port 1b91359a4508b3068207ef4fd798a56549575591 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-07Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-04-07Fix failure when sending warning emails with custom text (#17983)Claire
* Add tests * Fix failure when sending warning emails with custom text
2022-04-07Fix older items possibly disappearing on timeline updates (#17980)Claire
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.
2022-04-06Add pagination for trending statuses in web UI (#17976)Eugen Rochko
2022-04-06[Glitch] Fix possible duplicate statuses in timelines in some edge casesClaire
Port dd4c156f33a24b8bb89b45b2697aa4036c3ae5be to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-04-06Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `app/controllers/concerns/sign_in_token_authentication_concern.rb`: Upstream removed this file, while glitch-soc had changes to deal with its theming system. Removed the file like upstream did.
2022-04-06Fix possible duplicate statuses in timelines in some edge cases (#17971)Claire
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.
2022-04-06Fix spurious edits and require incoming edits to be explicitly marked as ↵Claire
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
2022-04-06Fix error when encountering invalid pinned posts (#17964)Claire
2022-04-06Remove sign-in token authentication, instead send e-mail about new sign-in ↵Eugen Rochko
(#17970)
2022-04-06Fix inconsistency in error handling when removing a status (#17974)Claire
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.
2022-04-06Fix admin API unconditionally requiring CSRF token (#17975)Claire
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.
2022-04-06Fix `GET /api/v1/trends/tags` missing `offset` param in REST API (#17973)Eugen Rochko
2022-04-06[Glitch] Replace deprecated String.prototype.substr()CommanderRoot
Port 0ec695e036dab45d57598f451266bd0b176df9fd to glitch-soc Signed-off-by: Tobias Speicher <rootcommander@gmail.com> Signed-off-by: Claire <claire.github-309c@sitedethib.com>