Merge pull request #1899 from ClearlyClaire/glitch-soc/merge-upstream

Merge upstream changes
rebase/4.0.0rc2^2
Claire 2022-11-07 08:31:36 +01:00 committed by GitHub
commit b67e0c94a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 25 additions and 17 deletions

View File

@ -11,8 +11,7 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
## Supported Versions ## Supported Versions
| Version | Supported | | Version | Supported |
| ------- | ------------------ | | ------- | ----------|
| 4.0.x | Yes |
| 3.5.x | Yes | | 3.5.x | Yes |
| 3.4.x | Yes | | < 3.5 | No |
| 3.3.x | No |
| < 3.3 | No |

View File

@ -52,7 +52,7 @@ class Api::V1::FiltersController < Api::BaseController
end end
def resource_params def resource_params
params.permit(:phrase, :expires_in, :irreversible, :whole_word, context: []) params.permit(:phrase, :expires_in, :irreversible, context: [])
end end
def filter_params def filter_params

View File

@ -63,7 +63,7 @@ class ColumnHeader extends React.PureComponent {
} }
handleTitleClick = () => { handleTitleClick = () => {
this.props.onClick(); this.props.onClick?.();
} }
handleMoveLeft = () => { handleMoveLeft = () => {

View File

@ -22,7 +22,7 @@ export default class ColumnSettings extends React.PureComponent {
onRequestNotificationPermission: PropTypes.func, onRequestNotificationPermission: PropTypes.func,
alertsEnabled: PropTypes.bool, alertsEnabled: PropTypes.bool,
browserSupport: PropTypes.bool, browserSupport: PropTypes.bool,
browserPermission: PropTypes.bool, browserPermission: PropTypes.string,
}; };
onPushChange = (path, checked) => { onPushChange = (path, checked) => {

View File

@ -132,6 +132,10 @@
&:active { &:active {
outline: 0 !important; outline: 0 !important;
} }
&::-webkit-search-cancel-button {
display: none;
}
} }
} }

View File

@ -57,7 +57,7 @@ class ColumnHeader extends React.PureComponent {
} }
handleTitleClick = () => { handleTitleClick = () => {
this.props.onClick(); this.props.onClick?.();
} }
handleMoveLeft = () => { handleMoveLeft = () => {

View File

@ -21,7 +21,7 @@ export default class ColumnSettings extends React.PureComponent {
onRequestNotificationPermission: PropTypes.func, onRequestNotificationPermission: PropTypes.func,
alertsEnabled: PropTypes.bool, alertsEnabled: PropTypes.bool,
browserSupport: PropTypes.bool, browserSupport: PropTypes.bool,
browserPermission: PropTypes.bool, browserPermission: PropTypes.string,
}; };
onPushChange = (path, checked) => { onPushChange = (path, checked) => {

View File

@ -132,6 +132,10 @@
&:active { &:active {
outline: 0 !important; outline: 0 !important;
} }
&::-webkit-search-cancel-button {
display: none;
}
} }
} }

View File

@ -58,7 +58,7 @@ class AccountMigration < ApplicationRecord
private private
def set_target_account def set_target_account
self.target_account = ResolveAccountService.new.call(acct) self.target_account = ResolveAccountService.new.call(acct, skip_cache: true)
rescue Webfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError, Mastodon::Error rescue Webfinger::Error, HTTP::Error, OpenSSL::SSL::SSLError, Mastodon::Error
# Validation will take care of it # Validation will take care of it
end end

View File

@ -19,7 +19,7 @@
= f.simple_fields_for :account do |ff| = f.simple_fields_for :account do |ff|
= ff.input :display_name, wrapper: :with_label, label: false, required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.display_name'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.display_name') } = ff.input :display_name, wrapper: :with_label, label: false, required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.display_name'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.display_name') }
= ff.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-zA-Z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false = ff.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-zA-Z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false
= f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'username' }, hint: false
= f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'new-password', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'new-password', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false
= f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'new-password' }, hint: false = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'new-password' }, hint: false
= f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), :autocomplete => 'off' }, hint: false = f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), :autocomplete => 'off' }, hint: false

View File

@ -5,7 +5,7 @@
%p.hint.authentication-hint= t('simple_form.hints.sessions.otp') %p.hint.authentication-hint= t('simple_form.hints.sessions.otp')
.fields-group .fields-group
= f.input :otp_attempt, type: :number, wrapper: :with_label, label: t('simple_form.labels.defaults.otp_attempt'), input_html: { 'aria-label' => t('simple_form.labels.defaults.otp_attempt'), :autocomplete => 'off' }, autofocus: true = f.input :otp_attempt, type: :number, wrapper: :with_label, label: t('simple_form.labels.defaults.otp_attempt'), input_html: { 'aria-label' => t('simple_form.labels.defaults.otp_attempt'), :autocomplete => 'one-time-code' }, autofocus: true
.actions .actions
= f.button :button, t('auth.login'), type: :submit = f.button :button, t('auth.login'), type: :submit

View File

@ -59,6 +59,7 @@
= media_attachment.file_file_name = media_attachment.file_file_name
.strike-card__statuses-list__item__meta .strike-card__statuses-list__item__meta
%time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
- unless status.application.nil?
· ·
= status.application.name = status.application.name
- else - else

2
dist/nginx.conf vendored
View File

@ -112,7 +112,7 @@ server {
try_files $uri =404; try_files $uri =404;
} }
location ^~ /api/v1/streaming/ { location ^~ /api/v1/streaming {
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;