Merge pull request #2170 from ClearlyClaire/glitch-soc/merge-upstream * Bump addressable from 2.8.1 to 2.8.2 (#24392) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump typescript from 4.9.5 to 5.0.3 (#24398) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add typechecking in CI (#24405) * HTML string attributes set as booleans (#24408) * Ensure tabIndex is number instead of string (#24409) * Fix styling regressions from RTL layout refactor (#24415) * Enable Stylelint property-no-unknown (#24404) * SUBMIT doesn't exist on XMLHttpRequest (#24423) * Set marginRight as string (#24422) * Update display_media typing to string (#24416) * Bump aws-sdk-s3 from 1.119.2 to 1.120.0 (#24401) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump capybara from 3.38.0 to 3.39.0 (#24395) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump puma from 6.1.1 to 6.2.1 (#24402) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump rubocop from 1.48.1 to 1.49.0 (#24387) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix height of announcements not being updated when using reduced animations (#24354) * Check for missing JSON translations (#24338) * Fix user archive takeouts when using OpenStack Swift (#24431) * Fix DevContainer post-create warnings (#23977) * New Crowdin updates (#24378) Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> * Bump version to v4.1.2 (#24427) * Fix user settings migration script failing in some cases (#24453) * Fix account header image missing in low-res (#24433) * Remove Array.prototype.includes polyfill (#24234) * Remove duplicate ca-certificates Docker install (#24231) * Remove unused methods in 2FA OTP Auth Controller (#24220) * Update Node.js to 16.20.0 (#24316) * Expand coverage for "system checks" (#24216) * Fix loading spinner + infinite scroll for private mentions (#24446) * Fix tooltip for dates without time (#24244) * Fix crash in NotifyService when trying to send an email notification for post edits (#24460) * [Glitch] HTML string attributes set as booleans Port a425915ce7d1148e9505c87889936c4c497061dd to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] SUBMIT doesn't exist on XMLHttpRequest Port ab3f23da916c8578148fe92fe008da19b8a7ed02 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Set marginRight as string Port 927b2fd1386bce6fda1d2ff53ceadd82289d77ce to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Update display_media typing to string Port 17b2fd217730e6fd598aa6664373d8d7779c28c1 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Fix height of announcements not being updated when using reduced animations Port ffd5b2eea4503c2ee389c7aa5dff9c51dbf9f846 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Fix account header image missing in low-res Port d7b8c6db7ec4d9b3fe39cbf8f1b32d152e70b8f1 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Remove Array.prototype.includes polyfill Port c0886dee1480cecedb7e8b152c848f061ab7f81e to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Fix tooltip for dates without time Port aa136cf2fa177af1fea59279cb8bab0b2a042b2b to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Enable Stylelint property-no-unknown Port cd14f712ad9f5a6ebdbec8c9b87740cd76d949e7 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Fix loading spinner + infinite scroll for private mentions Port 9ef9974ff207fe91291c81c7a9b9bb83e0df8e16 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Ensure tabIndex is number instead of string Port ec0c104bf25f2689c31bb79f9f447be1a9b3da7f to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com> * [Glitch] Fix user settings migration script failing in some cases * Move glitch-soc-only translation strings out of `app/javascript/mastodono/locales` * Run `yarn manage:translations` --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Claire <claire.github-309c@sitedethib.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nick Schonning <nschonni@gmail.com> Co-authored-by: Christian Schmidt <github@chsc.dk> Co-authored-by: Eugen Rochko <eugen@zeonfederated.com> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> Co-authored-by: Matt Jankowski <matt@jankowski.online>
290 files changed, 17328 insertions(+), 761 deletions(-) M .devcontainer/post-create.sh M .github/workflows/check-i18n.yml M .github/workflows/lint-js.yml M .nvmrc M .prettierignore M CHANGELOG.md M Dockerfile M Gemfile M Gemfile.lock M app/controllers/backups_controller.rb M app/controllers/settings/two_factor_authentication/otp_authentication_controller.rb M app/javascript/flavours/glitch/actions/markers.js M app/javascript/flavours/glitch/base_polyfills.js M app/javascript/flavours/glitch/components/admin/ReportReasonSelector.jsx M app/javascript/flavours/glitch/components/autosuggest_input.jsx M app/javascript/flavours/glitch/components/autosuggest_textarea.jsx M app/javascript/flavours/glitch/components/column_back_button_slim.jsx M app/javascript/flavours/glitch/components/dropdown_menu.jsx M app/javascript/flavours/glitch/components/error_boundary.jsx M app/javascript/flavours/glitch/components/gifv.jsx M app/javascript/flavours/glitch/components/intersection_observer_article.jsx M app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx M app/javascript/flavours/glitch/components/poll.jsx M app/javascript/flavours/glitch/components/spoilers.jsx M app/javascript/flavours/glitch/components/status.jsx M app/javascript/flavours/glitch/components/status_content.jsx M app/javascript/flavours/glitch/containers/media_container.jsx M app/javascript/flavours/glitch/features/about/index.jsx M app/javascript/flavours/glitch/features/account/components/account_note.jsx M app/javascript/flavours/glitch/features/audio/index.jsx M app/javascript/flavours/glitch/features/compose/components/dropdown_menu.jsx M app/javascript/flavours/glitch/features/compose/components/language_dropdown.jsx M app/javascript/flavours/glitch/features/compose/components/search.jsx M app/javascript/flavours/glitch/features/compose/components/upload.jsx M app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx M app/javascript/flavours/glitch/features/direct_timeline/components/conversations_list.jsx M app/javascript/flavours/glitch/features/direct_timeline/index.jsx M app/javascript/flavours/glitch/features/emoji/emoji.js M app/javascript/flavours/glitch/features/filters/select_filter.jsx M app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx M app/javascript/flavours/glitch/features/list_editor/components/search.jsx M app/javascript/flavours/glitch/features/list_editor/index.jsx M app/javascript/flavours/glitch/features/list_timeline/index.jsx M app/javascript/flavours/glitch/features/local_settings/navigation/item/index.jsx M app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx M app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx M app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx M app/javascript/flavours/glitch/features/notifications/components/follow.jsx M app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx M app/javascript/flavours/glitch/features/notifications/components/grant_permission_button.jsx M app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx M app/javascript/flavours/glitch/features/report/components/option.jsx M app/javascript/flavours/glitch/features/status/index.jsx M app/javascript/flavours/glitch/features/ui/components/actions_modal.jsx M app/javascript/flavours/glitch/features/ui/components/column_link.jsx M app/javascript/flavours/glitch/features/ui/components/media_modal.jsx M app/javascript/flavours/glitch/features/ui/components/modal_root.jsx M app/javascript/flavours/glitch/features/ui/components/onboarding_modal.jsx M app/javascript/flavours/glitch/features/video/index.jsx M app/javascript/flavours/glitch/initial_state.js M app/javascript/flavours/glitch/load_polyfills.js M app/javascript/flavours/glitch/locales/af.json M app/javascript/flavours/glitch/locales/an.json M app/javascript/flavours/glitch/locales/ar.json M app/javascript/flavours/glitch/locales/ast.json M app/javascript/flavours/glitch/locales/be.json M app/javascript/flavours/glitch/locales/bg.json M app/javascript/flavours/glitch/locales/bn.json M app/javascript/flavours/glitch/locales/br.json M app/javascript/flavours/glitch/locales/bs.json M app/javascript/flavours/glitch/locales/ca.json M app/javascript/flavours/glitch/locales/ckb.json M app/javascript/flavours/glitch/locales/co.json M app/javascript/flavours/glitch/locales/cs.json M app/javascript/flavours/glitch/locales/cy.json M app/javascript/flavours/glitch/locales/da.json M app/javascript/flavours/glitch/locales/de.json M app/javascript/flavours/glitch/locales/defaultMessages.json M app/javascript/flavours/glitch/locales/el.json M app/javascript/flavours/glitch/locales/en-GB.json M app/javascript/flavours/glitch/locales/en.json M app/javascript/flavours/glitch/locales/eo.json M app/javascript/flavours/glitch/locales/es-AR.json M app/javascript/flavours/glitch/locales/es-MX.json M app/javascript/flavours/glitch/locales/es.json M app/javascript/flavours/glitch/locales/et.json M app/javascript/flavours/glitch/locales/eu.json M app/javascript/flavours/glitch/locales/fa.json M app/javascript/flavours/glitch/locales/fi.json M app/javascript/flavours/glitch/locales/fo.json M app/javascript/flavours/glitch/locales/fr-QC.json M app/javascript/flavours/glitch/locales/fr.json M app/javascript/flavours/glitch/locales/fy.json M app/javascript/flavours/glitch/locales/ga.json M app/javascript/flavours/glitch/locales/gd.json M app/javascript/flavours/glitch/locales/gl.json M app/javascript/flavours/glitch/locales/he.json M app/javascript/flavours/glitch/locales/hi.json M app/javascript/flavours/glitch/locales/hr.json M app/javascript/flavours/glitch/locales/hu.json M app/javascript/flavours/glitch/locales/hy.json M app/javascript/flavours/glitch/locales/id.json M app/javascript/flavours/glitch/locales/ig.json M app/javascript/flavours/glitch/locales/io.json M app/javascript/flavours/glitch/locales/is.json M app/javascript/flavours/glitch/locales/it.json M app/javascript/flavours/glitch/locales/ja.json M app/javascript/flavours/glitch/locales/ka.json M app/javascript/flavours/glitch/locales/kab.json M app/javascript/flavours/glitch/locales/kk.json M app/javascript/flavours/glitch/locales/kn.json M app/javascript/flavours/glitch/locales/ko.json M app/javascript/flavours/glitch/locales/ku.json M app/javascript/flavours/glitch/locales/kw.json M app/javascript/flavours/glitch/locales/la.json M app/javascript/flavours/glitch/locales/lt.json M app/javascript/flavours/glitch/locales/lv.json M app/javascript/flavours/glitch/locales/mk.json M app/javascript/flavours/glitch/locales/ml.json M app/javascript/flavours/glitch/locales/mr.json M app/javascript/flavours/glitch/locales/ms.json M app/javascript/flavours/glitch/locales/my.json M app/javascript/flavours/glitch/locales/nl.json M app/javascript/flavours/glitch/locales/nn.json M app/javascript/flavours/glitch/locales/no.json M app/javascript/flavours/glitch/locales/oc.json M app/javascript/flavours/glitch/locales/pa.json M app/javascript/flavours/glitch/locales/pl.json M app/javascript/flavours/glitch/locales/pt-BR.json M app/javascript/flavours/glitch/locales/pt-PT.json M app/javascript/flavours/glitch/locales/ro.json M app/javascript/flavours/glitch/locales/ru.json M app/javascript/flavours/glitch/locales/sa.json M app/javascript/flavours/glitch/locales/sc.json M app/javascript/flavours/glitch/locales/sco.json M app/javascript/flavours/glitch/locales/si.json M app/javascript/flavours/glitch/locales/sk.json M app/javascript/flavours/glitch/locales/sl.json M app/javascript/flavours/glitch/locales/sq.json M app/javascript/flavours/glitch/locales/sr-Latn.json M app/javascript/flavours/glitch/locales/sr.json M app/javascript/flavours/glitch/locales/sv.json M app/javascript/flavours/glitch/locales/szl.json M app/javascript/flavours/glitch/locales/ta.json M app/javascript/flavours/glitch/locales/tai.json M app/javascript/flavours/glitch/locales/te.json M app/javascript/flavours/glitch/locales/th.json M app/javascript/flavours/glitch/locales/tr.json M app/javascript/flavours/glitch/locales/tt.json M app/javascript/flavours/glitch/locales/ug.json M app/javascript/flavours/glitch/locales/uk.json M app/javascript/flavours/glitch/locales/ur.json M app/javascript/flavours/glitch/locales/vi.json A app/javascript/flavours/glitch/locales/whitelist_an.json A app/javascript/flavours/glitch/locales/whitelist_be.json A app/javascript/flavours/glitch/locales/whitelist_bs.json A app/javascript/flavours/glitch/locales/whitelist_en-GB.json A app/javascript/flavours/glitch/locales/whitelist_fo.json A app/javascript/flavours/glitch/locales/whitelist_fr-QC.json A app/javascript/flavours/glitch/locales/whitelist_fy.json A app/javascript/flavours/glitch/locales/whitelist_ig.json A app/javascript/flavours/glitch/locales/whitelist_la.json A app/javascript/flavours/glitch/locales/whitelist_my.json A app/javascript/flavours/glitch/locales/whitelist_sco.json M app/javascript/flavours/glitch/locales/zgh.json M app/javascript/flavours/glitch/locales/zh-CN.json M app/javascript/flavours/glitch/locales/zh-HK.json M app/javascript/flavours/glitch/locales/zh-TW.json M app/javascript/flavours/glitch/packs/public.jsx M app/javascript/flavours/glitch/packs/settings.js M app/javascript/flavours/glitch/styles/accounts.scss M app/javascript/flavours/glitch/styles/components/columns.scss M app/javascript/flavours/glitch/styles/components/drawer.scss M app/javascript/mastodon/actions/markers.js M app/javascript/mastodon/base_polyfills.js M app/javascript/mastodon/components/admin/ReportReasonSelector.jsx M app/javascript/mastodon/components/autosuggest_input.jsx M app/javascript/mastodon/components/autosuggest_textarea.jsx M app/javascript/mastodon/components/column_back_button_slim.jsx M app/javascript/mastodon/components/dropdown_menu.jsx M app/javascript/mastodon/components/gifv.jsx M app/javascript/mastodon/components/icon_button.jsx M app/javascript/mastodon/components/intersection_observer_article.jsx M app/javascript/mastodon/components/picture_in_picture_placeholder.jsx M app/javascript/mastodon/components/poll.jsx M app/javascript/mastodon/components/status.jsx M app/javascript/mastodon/components/status_content.jsx M app/javascript/mastodon/containers/media_container.jsx M app/javascript/mastodon/features/about/index.jsx M app/javascript/mastodon/features/audio/index.jsx M app/javascript/mastodon/features/compose/components/language_dropdown.jsx M app/javascript/mastodon/features/compose/components/poll_form.jsx M app/javascript/mastodon/features/compose/components/privacy_dropdown.jsx M app/javascript/mastodon/features/compose/components/search.jsx M app/javascript/mastodon/features/compose/components/upload.jsx M app/javascript/mastodon/features/direct_timeline/components/conversation.jsx M app/javascript/mastodon/features/direct_timeline/components/conversations_list.jsx M app/javascript/mastodon/features/direct_timeline/index.jsx M app/javascript/mastodon/features/emoji/emoji.js M app/javascript/mastodon/features/filters/select_filter.jsx M app/javascript/mastodon/features/getting_started/components/announcements.jsx M app/javascript/mastodon/features/list_editor/components/search.jsx M app/javascript/mastodon/features/list_editor/index.jsx M app/javascript/mastodon/features/list_timeline/index.jsx M app/javascript/mastodon/features/notifications/components/clear_column_button.jsx M app/javascript/mastodon/features/notifications/components/grant_permission_button.jsx M app/javascript/mastodon/features/notifications/components/notification.jsx M app/javascript/mastodon/features/report/components/option.jsx M app/javascript/mastodon/features/status/index.jsx M app/javascript/mastodon/features/ui/components/actions_modal.jsx M app/javascript/mastodon/features/ui/components/media_modal.jsx M app/javascript/mastodon/features/ui/components/modal_root.jsx M app/javascript/mastodon/features/video/index.jsx M app/javascript/mastodon/initial_state.js M app/javascript/mastodon/load_polyfills.js M app/javascript/mastodon/locales/ast.json M app/javascript/mastodon/locales/be.json M app/javascript/mastodon/locales/ca.json M app/javascript/mastodon/locales/ckb.json M app/javascript/mastodon/locales/cs.json M app/javascript/mastodon/locales/da.json M app/javascript/mastodon/locales/de.json M app/javascript/mastodon/locales/el.json M app/javascript/mastodon/locales/en.json M app/javascript/mastodon/locales/eo.json M app/javascript/mastodon/locales/es-AR.json M app/javascript/mastodon/locales/es-MX.json M app/javascript/mastodon/locales/es.json M app/javascript/mastodon/locales/et.json M app/javascript/mastodon/locales/eu.json M app/javascript/mastodon/locales/fa.json M app/javascript/mastodon/locales/fi.json M app/javascript/mastodon/locales/fo.json M app/javascript/mastodon/locales/fy.json M app/javascript/mastodon/locales/gl.json M app/javascript/mastodon/locales/he.json M app/javascript/mastodon/locales/hi.json M app/javascript/mastodon/locales/hu.json M app/javascript/mastodon/locales/is.json M app/javascript/mastodon/locales/it.json M app/javascript/mastodon/locales/ja.json M app/javascript/mastodon/locales/ko.json M app/javascript/mastodon/locales/lv.json M app/javascript/mastodon/locales/my.json M app/javascript/mastodon/locales/nl.json M app/javascript/mastodon/locales/pl.json M app/javascript/mastodon/locales/pt-BR.json M app/javascript/mastodon/locales/pt-PT.json M app/javascript/mastodon/locales/sq.json M app/javascript/mastodon/locales/th.json M app/javascript/mastodon/locales/tr.json M app/javascript/mastodon/locales/uk.json M app/javascript/mastodon/locales/vi.json M app/javascript/mastodon/locales/zh-CN.json M app/javascript/mastodon/locales/zh-TW.json M app/javascript/packs/public.jsx M app/javascript/styles/mastodon/accounts.scss M app/javascript/styles/mastodon/admin.scss M app/javascript/styles/mastodon/components.scss M app/javascript/styles/mastodon/rich_text.scss M app/javascript/styles/mastodon/rtl.scss M app/javascript/styles/mastodon/tables.scss M app/services/notify_service.rb M config/locales/cs.yml M config/locales/devise.my.yml M config/locales/devise.zh-CN.yml M config/locales/doorkeeper.my.yml M config/locales/en-GB.yml M config/locales/eo.yml M config/locales/my.yml M config/locales/simple_form.el.yml M config/locales/simple_form.my.yml M config/locales/simple_form.zh-CN.yml M config/locales/zh-CN.yml M config/locales/zh-TW.yml M db/migrate/20230215074423_move_user_settings.rb M db/migrate/20230215074424_move_glitch_user_settings.rb M lib/mastodon/version.rb M package.json A spec/lib/admin/system_check/base_check_spec.rb A spec/lib/admin/system_check/database_schema_check_spec.rb A spec/lib/admin/system_check/elasticsearch_check_spec.rb A spec/lib/admin/system_check/media_privacy_check_spec.rb A spec/lib/admin/system_check/message_spec.rb A spec/lib/admin/system_check/rules_check_spec.rb A spec/lib/admin/system_check/sidekiq_process_check_spec.rb A spec/lib/admin/system_check_spec.rb A spec/support/examples/lib/admin/checks.rb M stylelint.config.js M yarn.lock