about summary refs log tree commit diff
path: root/config
AgeCommit message (Collapse)Author
2022-02-25Escape database passwords in config/database.yml (#17627)sasanquaneuf
* Add double quotes for using passwords that start with a comma * Escape database password in yml
2022-02-25Add trending statuses (#17431)Eugen Rochko
* Add trending statuses * Fix dangling items with stale scores in localized sets * Various fixes and improvements - Change approve_all/reject_all to approve_accounts/reject_accounts - Change Trends::Query methods to not mutate the original query - Change Trends::Query#skip to offset - Change follow recommendations to be refreshed in a transaction * Add tests for trending statuses filtering behaviour * Fix not applying filtering scope in controller
2022-02-24Change e-mail domain blocks to block IPs dynamically (#17635)Eugen Rochko
* Change e-mail domain blocks to block IPs dynamically * Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> * Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-23Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `.github/workflows/build-image.yml`: Upstream changed the workflow a bit. Conflict comes from us pushing to ghcr while upstream pushes to dockerhub. Ported the upstream changes while still pushing to ghcr.
2022-02-23Add notifications for new sign-ups (#16953)Eugen Rochko
2022-02-23New Crowdin updates (#17593)Eugen Rochko
* New translations en.json (Catalan) * New translations en.json (Turkish) * New translations en.json (Macedonian) * New translations en.json (Punjabi) * New translations en.json (Polish) * New translations en.json (Portuguese) * New translations en.json (Russian) * New translations en.json (Slovak) * New translations en.json (Albanian) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Swedish) * New translations en.json (Ukrainian) * New translations en.json (Korean) * New translations en.json (Chinese Simplified) * New translations en.json (Chinese Traditional) * New translations en.json (Urdu (Pakistan)) * New translations en.json (Vietnamese) * New translations en.json (Galician) * New translations en.json (Icelandic) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Indonesian) * New translations en.json (Tamil) * New translations en.json (Spanish, Argentina) * New translations en.json (Lithuanian) * New translations en.json (Georgian) * New translations en.json (Slovenian) * New translations en.json (French) * New translations en.json (Persian) * New translations en.json (Occitan) * New translations en.json (Arabic) * New translations en.json (Thai) * New translations en.json (Norwegian Nynorsk) * New translations en.json (Norwegian) * New translations en.json (Hebrew) * New translations en.json (Greek) * New translations en.json (Dutch) * New translations en.json (Romanian) * New translations en.json (Spanish) * New translations en.json (Japanese) * New translations en.json (Afrikaans) * New translations en.json (Bulgarian) * New translations en.json (Czech) * New translations en.json (Danish) * New translations en.json (German) * New translations en.json (Basque) * New translations en.json (Finnish) * New translations en.json (Hungarian) * New translations en.json (Armenian) * New translations en.json (Italian) * New translations en.json (Spanish, Mexico) * New translations en.json (Bengali) * New translations en.json (Cornish) * New translations en.json (Silesian) * New translations en.json (Taigi) * New translations en.json (Ido) * New translations en.json (Kabyle) * New translations en.json (Sanskrit) * New translations en.json (Sardinian) * New translations en.json (Corsican) * New translations en.json (Sorani (Kurdish)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Serbian (Latin)) * New translations en.json (Asturian) * New translations en.json (Scottish Gaelic) * New translations en.json (Kannada) * New translations en.json (Sinhala) * New translations en.json (Marathi) * New translations en.json (Breton) * New translations en.json (Malayalam) * New translations en.json (Tatar) * New translations en.json (Chinese Traditional, Hong Kong) * New translations en.json (Uyghur) * New translations en.json (Esperanto) * New translations en.json (Welsh) * New translations en.json (Telugu) * New translations en.json (Malay) * New translations en.json (Hindi) * New translations en.json (Latvian) * New translations en.json (Estonian) * New translations en.json (Kazakh) * New translations en.json (Croatian) * New translations en.json (Standard Moroccan Tamazight) * New translations en.yml (Japanese) * New translations en.json (Japanese) * New translations en.json (Chinese Traditional) * New translations en.json (Danish) * New translations en.json (Thai) * New translations en.yml (Thai) * New translations en.json (Korean) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.json (Chinese Simplified) * New translations en.yml (Thai) * New translations devise.en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.json (Catalan) * New translations simple_form.en.yml (Thai) * New translations en.json (Galician) * New translations en.json (Greek) * New translations en.json (Polish) * New translations en.json (Hebrew) * New translations en.json (Icelandic) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Chinese Traditional) * New translations en.yml (Russian) * New translations en.json (Portuguese) * New translations en.json (Russian) * New translations en.yml (Russian) * New translations en.json (Swedish) * New translations simple_form.en.yml (Russian) * New translations en.json (Turkish) * New translations en.json (Chinese Traditional) * New translations en.json (Albanian) * New translations en.json (Vietnamese) * New translations en.json (Latvian) * New translations en.json (Hungarian) * New translations en.json (Spanish, Argentina) * New translations en.json (Italian) * New translations en.yml (Japanese) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations en.yml (Finnish) * New translations en.yml (Finnish) * New translations en.json (Finnish) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Hebrew) * New translations en.yml (Hebrew) * New translations en.json (Spanish) * New translations en.json (Basque) * New translations en.yml (Basque) * New translations en.json (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.json (Ukrainian) * New translations en.yml (Indonesian) * New translations en.json (Indonesian) * New translations en.yml (Indonesian) * New translations en.yml (Russian) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.json (Hungarian) * New translations en.yml (Indonesian) * New translations en.yml (Indonesian) * New translations en.yml (Indonesian) * New translations simple_form.en.yml (Indonesian) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations simple_form.en.yml (French) * New translations en.json (French) * New translations simple_form.en.yml (French) * New translations en.json (French) * New translations simple_form.en.yml (Galician) * New translations en.json (French) * New translations en.json (Russian) * New translations activerecord.en.yml (Latvian) * New translations en.yml (French) * New translations en.yml (French) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-22Fix various typos (#17621)luzpaz
Found via `codespell -q 3 -S ./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,keypair,medias,ro`
2022-02-21Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-02-21Fix error when trying to register (#17600)Claire
2022-02-19Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-02-19New Crowdin updates (#17514)Eugen Rochko
* New translations en.yml (Catalan) * New translations simple_form.en.yml (Catalan) * New translations en.yml (Albanian) * New translations simple_form.en.yml (Albanian) * New translations en.yml (Albanian) * New translations en.yml (Ukrainian) * New translations en.yml (Ukrainian) * New translations en.yml (Danish) * New translations en.yml (Danish) * New translations en.yml (Danish) * New translations en.yml (Chinese Traditional) * New translations simple_form.en.yml (Chinese Traditional) * New translations en.yml (Danish) * New translations en.yml (Chinese Traditional) * New translations en.yml (Danish) * New translations en.yml (Chinese Traditional) * New translations simple_form.en.yml (Danish) * New translations en.yml (Chinese Traditional) * New translations en.yml (Chinese Traditional) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations simple_form.en.yml (Chinese Simplified) * New translations en.yml (Galician) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Vietnamese) * New translations en.yml (Indonesian) * New translations simple_form.en.yml (Galician) * New translations en.yml (Japanese) * New translations en.yml (Vietnamese) * New translations en.yml (Indonesian) * New translations simple_form.en.yml (Vietnamese) * New translations en.yml (Hebrew) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (German) * New translations en.yml (German) * New translations simple_form.en.yml (German) * New translations en.yml (German) * New translations en.yml (Polish) * New translations en.yml (Turkish) * New translations en.yml (Icelandic) * New translations activerecord.en.yml (Icelandic) * New translations devise.en.yml (Icelandic) * New translations en.yml (Polish) * New translations en.yml (Turkish) * New translations en.yml (Swedish) * New translations en.yml (Turkish) * New translations simple_form.en.yml (Turkish) * New translations en.yml (Swedish) * New translations simple_form.en.yml (Swedish) * New translations en.yml (Swedish) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations en.yml (Icelandic) * New translations en.yml (Hungarian) * New translations en.yml (Hungarian) * New translations simple_form.en.yml (Hungarian) * New translations en.yml (Icelandic) * New translations en.json (Icelandic) * New translations simple_form.en.yml (Icelandic) * New translations en.json (Icelandic) * New translations en.yml (Polish) * New translations en.json (Polish) * New translations en.json (Icelandic) * New translations en.json (Icelandic) * New translations simple_form.en.yml (Icelandic) * New translations en.yml (Icelandic) * New translations en.json (Icelandic) * New translations doorkeeper.en.yml (Icelandic) * New translations simple_form.en.yml (Icelandic) * New translations activerecord.en.yml (Icelandic) * New translations en.yml (Albanian) * New translations en.yml (Icelandic) * New translations en.yml (Indonesian) * New translations en.json (Russian) * New translations en.yml (Albanian) * New translations en.yml (Indonesian) * New translations en.json (Icelandic) * New translations en.yml (Icelandic) * New translations en.yml (Indonesian) * New translations en.json (Icelandic) * New translations en.yml (Icelandic) * New translations en.yml (Hungarian) * New translations en.yml (Icelandic) * New translations en.yml (Hungarian) * New translations simple_form.en.yml (Hungarian) * New translations simple_form.en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Argentina) * New translations simple_form.en.yml (Spanish, Argentina) * New translations en.json (Korean) * New translations en.yml (Thai) * New translations en.yml (Spanish) * New translations en.yml (Spanish) * New translations en.yml (Thai) * New translations en.yml (Spanish) * New translations en.yml (Thai) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations en.yml (Spanish) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Spanish) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations en.yml (Spanish) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Korean) * New translations en.yml (Korean) * New translations en.json (Korean) * New translations en.yml (Korean) * New translations en.yml (Korean) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Korean) * New translations simple_form.en.yml (Korean) * New translations en.yml (Korean) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Armenian) * New translations en.yml (Georgian) * New translations en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Turkish) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Greek) * New translations en.yml (Galician) * New translations en.yml (Slovak) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (Slovenian) * New translations en.yml (German) * New translations en.yml (Vietnamese) * New translations en.yml (Thai) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Occitan) * New translations en.yml (Persian) * New translations en.yml (Czech) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Kabyle) * New translations en.yml (Sardinian) * New translations en.yml (Corsican) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Malay) * New translations en.yml (Latvian) * New translations en.yml (Estonian) * New translations en.yml (Kazakh) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Galician) * New translations en.yml (Hungarian) * New translations en.yml (Galician) * New translations en.yml (Catalan) * New translations en.yml (Hungarian) * New translations en.yml (Polish) * New translations en.yml (Breton) * New translations en.json (Breton) * New translations en.yml (Galician) * New translations en.yml (Icelandic) * New translations en.yml (Spanish) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Vietnamese) * New translations en.yml (Portuguese) * New translations en.yml (Ukrainian) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Portuguese) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Portuguese) * New translations en.yml (Ukrainian) * New translations en.yml (Albanian) * New translations en.yml (Ukrainian) * New translations simple_form.en.yml (Ukrainian) * New translations en.yml (Albanian) * New translations en.yml (Ukrainian) * New translations en.yml (Italian) * New translations en.yml (French) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Finnish) * New translations en.yml (Korean) * New translations en.yml (Korean) * New translations simple_form.en.yml (Korean) * New translations en.yml (Chinese Traditional) * New translations en.yml (Chinese Traditional) * New translations en.yml (Danish) * New translations en.yml (Danish) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Turkish) * New translations en.yml (Latvian) * New translations en.yml (Latvian) * New translations en.json (Russian) * New translations simple_form.en.yml (Russian) * New translations en.yml (Russian) * New translations en.yml (Galician) * New translations en.yml (Russian) * New translations en.yml (Indonesian) * New translations en.yml (Galician) * New translations en.yml (Galician) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Simplified) * New translations en.yml (Chinese Traditional) * Ran `yarn manage:translations` * Ran `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-18Avoid return within block (#17590)zunda
This prevents the error: LocalJumpError (unexpected return)
2022-02-18Throttle IPv6 signup for subnet (#17588)Jeong Arm
2022-02-17Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `db/schema.rb`: Conflict due to glitch-soc adding the `content_type` column on status edits and thus having a different schema version number. Solved by taking upstream's schema version number, as it is higher than glitch-soc's.
2022-02-16Fix 0 pluralization for some localization strings (#17576)Claire
Apparently, when the `zero` case is not defined, the translation string used for `0` depends on the language. In French, `one` is used, causing some strings with hardcoded “one” or `1` to misrepresent the actual data. For instance, the dashboard would display « 1 utilisateur·rice en attente » for both 0 and 1 pending users.
2022-02-14Add appeals (#17364)Eugen Rochko
* Add appeals * Add ability to reject appeals and ability to browse pending appeals in admin UI * Add strikes to account page in settings * Various fixes and improvements - Add separate notification setting for appeals, separate from reports - Fix style of links in report/strike header - Change approving an appeal to not restore statuses (due to federation complexities) - Change style of successfully appealed strikes on account settings page - Change account settings page to only show unappealed or recently appealed strikes * Change appealed_at to overruled_at * Fix missing method error
2022-02-12Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-02-12Add support for multiple source files per packClaire
2022-02-11Refactor compile-time glitch-soc theme handlingClaire
2022-02-11Add notifications when a reblogged status has been updated (#17404)Eugen Rochko
* Add notifications when a reblogged status has been updated * Change wording to say "edit" instead of "update" and add missing controls * Replace previous update notifications with the most up-to-date one
2022-02-11Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-02-11Change actions in reports to require only one click (#17487)Eugen Rochko
2022-02-11New Crowdin updates (#16858)Eugen Rochko
* New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (French) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations simple_form.en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (French) [ci skip] * New translations devise.en.yml (French) [ci skip] * New translations devise.en.yml (French) [ci skip] * New translations activerecord.en.yml (French) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Scottish Gaelic) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Hebrew) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations activerecord.en.yml (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations doorkeeper.en.yml (Slovenian) [ci skip] * New translations activerecord.en.yml (Slovenian) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations devise.en.yml (Slovenian) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations devise.en.yml (Slovenian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations doorkeeper.en.yml (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations devise.en.yml (Slovenian) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations simple_form.en.yml (Catalan) [ci skip] * New translations doorkeeper.en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations simple_form.en.yml (Thai) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Armenian) [ci skip] * New translations en.yml (Georgian) [ci skip] * New translations en.yml (Lithuanian) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Norwegian) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Basque) [ci skip] * New translations en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Arabic) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Scottish Gaelic) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.yml (Romanian) [ci skip] * New translations en.yml (Czech) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.yml (Spanish, Mexico) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations en.yml (Sardinian) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations en.yml (Sorani (Kurdish)) [ci skip] * New translations en.yml (Kurmanji (Kurdish)) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations en.yml (Latvian) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations en.yml (Kazakh) [ci skip] * New translations en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Kurmanji (Kurdish)) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.yml (Hebrew) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.yml (Latvian) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations devise.en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations devise.en.yml (Thai) [ci skip] * New translations en.yml (French) [ci skip] * New translations devise.en.yml (Thai) [ci skip] * New translations devise.en.yml (Thai) [ci skip] * New translations en.yml (Spanish, Mexico) [ci skip] * New translations en.yml (German) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations en.yml (Latvian) [ci skip] * New translations en.yml (Kurmanji (Kurdish)) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Catalan) [ci skip] * New translations en.yml (Danish) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.yml (Greek) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Polish) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * Ran `i18n-tasks normalize` * Ran `yarn manage:translations` * Add space Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-10Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `app/controllers/api/v1/statuses_controller.rb`: Upstream moved things around in a place where glitch-soc had support for an extra parameter (`content_type`). Follow upstream but reintroduce `content_type`.
2022-02-10Add editing for published statuses (#17320)Eugen Rochko
* Add editing for published statuses * Fix change of multiple-choice boolean in poll not resetting votes * Remove the ability to update existing media attachments for now
2022-02-10Add `category` and `rule_ids` params to `POST /api/v1/reports` (#17492)Eugen Rochko
2022-02-08Merge branch 'main' into glitch-soc/merge-upstreamClaire
2022-02-08Remove language detection through cld3 (#17478)Eugen Rochko
* Remove language detection through cld3 * Update app/helpers/languages_helper.rb Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-08Add global `locale` param (#17464)Eugen Rochko
- Remove the session-based locale stickyness
2022-01-28Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `Gemfile.lock`: Upstream-updated lib textually too close to glitch-soc-only dep. Updated like upstream.
2022-01-28Fix Sidekiq warnings about JSON serialization (#17381)Claire
* Fix Sidekiq warnings about JSON serialization This occurs on every symbol argument we pass, and every symbol key in hashes, because Sidekiq expects strings instead. See https://github.com/mperham/sidekiq/pull/5071 We do not need to change how workers parse their arguments because this has not changed and we were already converting to symbols adequately or using `with_indifferent_access`. * Set Sidekiq to raise on unsafe arguments in test mode In order to more easily catch issues that would produce warnings in production code.
2022-01-26Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `config/environments/production.rb`: Upstream changed a header but we had different default headers. Applied the same change, and also dropped HSTS headers redundant with Rails'.
2022-01-26Add link to /about/more to the CAPTCHA verification pageClaire
2022-01-26Add some explanation text on the CAPTCHA confirmation pageClaire
2022-01-26Add mention of accessibility issues to hCaptcha option in admin pageClaire
2022-01-25Change CAPTCHA handling to be only on email verificationClaire
This simplifies the implementation considerably, and while not providing ideal UX, it's the most flexible approach.
2022-01-25Add ability to set hCaptcha either on registration form or on e-mail validationClaire
Upshot of CAPTCHA on e-mail validation is it does not need to break the in-band registration API.
2022-01-25Disable `registrations` flag in /api/v1/instance when CAPTCHA is enabledClaire
This is to avoid apps trying and failing at using the registrations API, which does not let us require a CAPTCHA and cannot be clearly signaled as unavailable.
2022-01-24Add optional hCaptcha supportClaire
Fixes #1649 This requires setting `HCAPTCHA_SECRET_KEY` and `HCAPTCHA_SITE_KEY`, then enabling the admin setting at `/admin/settings/edit#form_admin_settings_captcha_enabled` Subsequently, a hCaptcha widget will be displayed on `/about` and `/auth/sign_up` unless: - the user is already signed-up already - the user has used an invite link - the user has already solved the captcha (and registration failed for another reason) The Content-Security-Policy headers are altered automatically to allow the third-party hCaptcha scripts on `/about` and `/auth/sign_up` following the same rules as above.
2022-01-24disable legacy XSS filtering (#17289)Wonderfall
Browsers are phasing out X-XSS-Protection, but Safari and IE still support it.
2022-01-23Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `spec/models/status_spec.rb`: Upstream added tests too close to glitch-soc-specific tests. Kept both tests.
2022-01-23Fix error-prone SQL queries (#15828)Claire
* Fix error-prone SQL queries in Account search While this code seems to not present an actual vulnerability, one could easily be introduced by mistake due to how the query is built. This PR parameterises the `to_tsquery` input to make the query more robust. * Harden code for Status#tagged_with_all and Status#tagged_with_none Those two scopes aren't used in a way that could be vulnerable to an SQL injection, but keeping them unchanged might be a hazard. * Remove unneeded spaces surrounding tsquery term * Please CodeClimate * Move advanced_search_for SQL template to its own function This avoids one level of indentation while making clearer that the SQL template isn't build from all the dynamic parameters of advanced_search_for. * Add tests covering tagged_with, tagged_with_all and tagged_with_none * Rewrite tagged_with_none to avoid multiple joins and make it more robust * Remove obsolete brakeman warnings * Revert "Remove unneeded spaces surrounding tsquery term" The two queries are not strictly equivalent. This reverts commit 86f16c537e06c6ba4a8b250f25dcce9f049023ff.
2022-01-23Add OMNIAUTH_ONLY environment variable to enforce externa log-in (#17288)Claire
* Remove support for OAUTH_REDIRECT_AT_SIGN_IN Fixes #15959 Introduced in #6540, OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form to instead redirect to the external OmniAuth login provider. However, it did not prevent the log-in form on /about introduced by #10232 from appearing, and completely broke with the introduction of #15228. As I restoring that previous log-in flow without introducing a security vulnerability may require extensive care and knowledge of how OmniAuth works, this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time being. * Add OMNIAUTH_ONLY environment variable to enforce external log-in only * Disable user registration when OMNIAUTH_ONLY is set to true * Replace log-in links When OMNIAUTH_ONLY is set with exactly one OmniAuth provider
2022-01-23Remove support for OAUTH_REDIRECT_AT_SIGN_IN (#17287)Claire
Fixes #15959 Introduced in #6540, OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form to instead redirect to the external OmniAuth login provider. However, it did not prevent the log-in form on /about introduced by #10232 from appearing, and completely broke with the introduction of #15228. As I restoring that previous log-in flow without introducing a security vulnerability may require extensive care and knowledge of how OmniAuth works, this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time being.
2022-01-20Add post edited notice in admin and public UIs (#17335)Claire
* Add edited toot flag on public pages * Add toot edit flag to admin pages
2022-01-19Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `app/lib/activitypub/activity/create.rb`: Upstream refactored how `Create` activities are handled and how values are extracted from `Create`d objects. This conflicted with how glitch-soc supported the `directMessage` flag to explicitly distinguish between limited and direct messages. Ported glitch-soc's changes to latest upstream changes. - `app/services/fan_out_on_write_service.rb`: Upstream largely refactored that file and changed some of the logic. This conflicted with glitch-soc's handling of the direct timeline and the options to allow replies and boosts in public feeds. Ported those glitch-soc changes on top of latest upstream changes. - `app/services/process_mentions_service.rb`: Upstream refactored to move mention-related ActivityPub deliveries to `ActivityPub::DeliveryWorker`, while glitch-soc contained an extra check to not send local-only toots to remote mentioned users. Took upstream's version, as the check is not needed anymore, since it is performed at the `ActivityPub::DeliveryWorker` call site already. - `app/workers/feed_insert_worker.rb`: Upstream added support for `update` toot events, while glitch-soc had support for an extra timeline support, `direct`. Ported upstream changes and extended them to the `direct` timeline. Additional changes: - `app/lib/activitypub/parser/status_parser.rb`: Added code to handle the `directMessage` flag and take it into account to compute visibility. - `app/lib/feed_manager.rb`: Extended upstream's support of `update` toot events to glitch-soc's `direct` timeline.
2022-01-19Add support for editing for published statuses (#16697)Eugen Rochko
* Add support for editing for published statuses * Fix references to stripped-out code * Various fixes and improvements * Further fixes and improvements * Fix updates being potentially sent to unauthorized recipients * Various fixes and improvements * Fix wrong words in test * Fix notifying accounts that were tagged but were not in the audience * Fix mistake
2022-01-17Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `app/views/admin/reports/show.html.haml`: Conflicts due to glitch-soc's theming system.
2022-01-17Add notifications for statuses deleted by moderators (#17204)Eugen Rochko
2022-01-17Merge branch 'main' into glitch-soc/merge-upstreamClaire
Conflicts: - `app/controllers/accounts_controller.rb`: Upstream introduced support for private pinned toots, but glitch-soc's query was a bit different as it filtered out local-only toots. Used upstream's query, while adding local-only filtering back. - `app/controllers/activitypub/collections_controller.rb`: Same thing with regards to local-only posts. - `app/validators/status_pin_validator.rb`: Not a real conflict, but the line below was different in glitch-soc due to the configurable pinned toots limit.