Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump react-redux from 7.2.9 to 8.1.1 #1959

Open
wants to merge 63 commits into
base: ertona.net
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
713bf6a
Streaming: Accept X-Disconnect-After header
shibafu528 Feb 10, 2021
4507008
Merge branch 'feature/ertona/stream-disconnect-after' into ertona.net
shibafu528 Feb 10, 2021
2e9f4e7
Ignore .git in .dockerignore
shibafu528 Feb 10, 2021
0dc342d
Fix “Remove all followers from the selected domains” being more destr…
ClearlyClaire Mar 3, 2023
ac76651
dot is not allowed (#23519)
emilweth Feb 11, 2023
ea1d55a
fix metrics format (#23520)
emilweth Feb 11, 2023
11d6663
Fix case-sensitive check for previously used hashtags (#23526)
deanveloper Feb 13, 2023
9007901
Fix focus point of already-attached media not saving after edit (#23566)
ClearlyClaire Feb 19, 2023
00208b2
Fix sidebar cut-off on small screens in admin UI (#23764)
wxt2005 Feb 21, 2023
69564db
Fix inefficiency when searching accounts per username in admin interf…
ClearlyClaire Feb 22, 2023
b52746e
Fix duplicate “Publish” button on mobile (#23804)
ClearlyClaire Mar 3, 2023
aff3f85
Fix server error when failing to follow back followers from `/relatio…
ClearlyClaire Mar 3, 2023
63532d9
Fix error when displaying post history of a trendable post in the adm…
ClearlyClaire Mar 3, 2023
f5f17e8
Fix tootctl accounts migrate error due to typo (#23567)
ClearlyClaire Mar 3, 2023
675c24a
Fix unconfirmed accounts being registered as active users (#23803)
ClearlyClaire Mar 6, 2023
4cec3ad
Fix original account being unfollowed on migration before the follow …
ClearlyClaire Mar 3, 2023
37a28ba
Do not leave Mastodon when clicking “Back” (#23953)
c960657 Mar 4, 2023
2fed61a
Fix pgBouncer resetting application name on every transaction (#23958)
Gargron Mar 5, 2023
4bfbeb8
Fix `/api/v1/streaming` sub-paths not being redirected (#23988)
ClearlyClaire Mar 6, 2023
14bcd14
Center the text itself in upload area (#24029)
vintprox Mar 9, 2023
479b666
Fix sidekiq jobs not triggering Elasticsearch index updates (#24046)
ClearlyClaire Mar 12, 2023
92a2663
Do not strip tags from `Setting.site_short_description` (#23975)
c960657 Mar 6, 2023
3f2e318
Unescape HTML entities (#24019)
c960657 Mar 8, 2023
40ae8d5
Fix paths with url-encoded @ to redirect to the correct path (#23593)
thijskh Feb 14, 2023
9377c4a
Add `lang` tag to native language names in language picker (#23749)
ClearlyClaire Feb 21, 2023
cec5941
Add mail headers to avoid auto-replies (#23597)
ClearlyClaire Mar 3, 2023
78c7c79
Add refreshing many accounts at once with "tootctl accounts refresh" …
9p4 Mar 8, 2023
9972eb4
add modal message when editing toot (#23936)
PauloVilarinho Mar 6, 2023
a133570
Increase contrast of upload progress background (#23836)
toolmantim Feb 23, 2023
68af19c
Change auto-deletion throttling constants to better scale with server…
ClearlyClaire Feb 23, 2023
a54bd84
Switched bookmark and favourites around (#23701)
Mar 3, 2023
2a37dc7
Change unintended SMTP read timeout from 5 seconds to 20 seconds (#23…
ClearlyClaire Mar 3, 2023
6962d11
Change `ActivityPub::DeliveryWorker` retries to be spread out more (#…
ClearlyClaire Mar 3, 2023
fe7752f
Update changelog
ClearlyClaire Mar 13, 2023
4e02c7d
Support the PROXY protocol through the PROXY_PROTO_V1 env variable (…
CSDUMMI Mar 14, 2023
5cc39a3
Add `SENDFILE_HEADER` environment variable (#24123)
Gargron Mar 16, 2023
59a2fe3
Add cache headers to static files served through Rails (#24120)
Gargron Mar 16, 2023
0529fb0
Push Docker images to Github Container Registry as well (#24101)
renchap Mar 14, 2023
0891a8d
Skip Docker CI Login/Push on forks (#23564)
nschonni Mar 15, 2023
4213907
Use Github Container Registry as the official container image source …
renchap Mar 15, 2023
46d6cb0
Skip pushing containers on forks (#24106)
nschonni Mar 15, 2023
0363064
Fix dashboard crash on ElasticSearch server error (#23751)
ClearlyClaire Mar 15, 2023
cc65f32
Fix incorrect post links in strikes when the account is remote (#23611)
ClearlyClaire Mar 15, 2023
8c4ea7d
Fix misleading error code when receiving invalid WebAuthn credentials…
ClearlyClaire Mar 15, 2023
0e58e7f
Update changelog
ClearlyClaire Mar 16, 2023
19def1a
Update changelog
ClearlyClaire Mar 16, 2023
6db7687
Change user backups to use expiring URLs for download when possible (…
Gargron Mar 16, 2023
6a7b91a
Add warning for object storage misconfiguration (#24137)
ClearlyClaire Mar 16, 2023
ab85f59
Bump version to v4.1.1
ClearlyClaire Mar 16, 2023
3c82c4e
Fix crash in `tootctl` commands making use of parallelization when El…
ClearlyClaire Mar 20, 2023
ae64c5b
Fix user archive takeout when using OpenStack Swift or S3 providers w…
ClearlyClaire Mar 27, 2023
590df44
Bump blurhash from 0.1.6 to 0.1.7 (#23517)
Gargron Feb 11, 2023
af6eb37
Wrap db:setup with Chewy.strategy(:mastodon) (#24302)
rrgeorge Mar 29, 2023
0161753
Update Ruby to 3.0.6 (#24334)
saizai Mar 31, 2023
51572ac
Fix invalid/expired invites being processed on sign-up (#24337)
ClearlyClaire Mar 31, 2023
4eaa6d5
Change root Chewy strategy to emit a warning instead of erroring out …
ClearlyClaire Apr 3, 2023
b9f2713
Fix unescaped user input in LDAP query (#24379)
ClearlyClaire Apr 3, 2023
4b9e4f6
Bump version to v4.1.2
ClearlyClaire Mar 27, 2023
90e1ad5
Merge remote-tracking branch 'ertona/feature/ertona/stream-disconnect…
shibafu528 Apr 16, 2023
19257c7
Merge remote-tracking branch 'ertona/feature/ertona/ignore-dotgit-in-…
shibafu528 Apr 16, 2023
f19b0d6
customizable FeedManager::MAX_ITEMS
shibafu528 Mar 5, 2023
cf76c9a
add version suffix
shibafu528 Mar 5, 2023
4854187
Bump react-redux from 7.2.9 to 8.1.1
dependabot[bot] Jun 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ postgres14
redis
elasticsearch
chart
.git
24 changes: 20 additions & 4 deletions .github/workflows/build-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
- Dockerfile
permissions:
contents: read
packages: write

jobs:
build-image:
Expand All @@ -26,29 +27,44 @@ jobs:
- uses: hadolint/hadolint-action@v3.1.0
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- uses: docker/login-action@v2

- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
if: github.event_name != 'pull_request'
if: github.repository == 'mastodon/mastodon' && github.event_name != 'pull_request'

- name: Log in to the Github Container registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
if: github.repository == 'mastodon/mastodon' && github.event_name != 'pull_request'

- uses: docker/metadata-action@v4
id: meta
with:
images: tootsuite/mastodon
images: |
tootsuite/mastodon
ghcr.io/mastodon/mastodon
flavor: |
latest=auto
tags: |
type=edge,branch=main
type=pep440,pattern={{raw}}
type=pep440,pattern=v{{major}}.{{minor}}
type=ref,event=pr

- uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64
provenance: false
builder: ${{ steps.buildx.outputs.name }}
push: ${{ github.event_name != 'pull_request' }}
push: ${{ github.repository == 'mastodon/mastodon' && github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.4
3.0.6
65 changes: 65 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,71 @@ Changelog

All notable changes to this project will be documented in this file.

## [4.1.2] - 2023-04-04

### Fixed

- Fix crash in `tootctl` commands making use of parallelization when Elasticsearch is enabled ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24182), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/24377))
- Fix crash in `db:setup` when Elasticsearch is enabled ([rrgeorge](https://github.com/mastodon/mastodon/pull/24302))
- Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24200))
- Fix invalid/expired invites being processed on sign-up ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24337))

### Security

- Update Ruby to 3.0.6 due to ReDoS vulnerabilities ([saizai](https://github.com/mastodon/mastodon/pull/24334))
- Fix unescaped user input in LDAP query ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24379))

## [4.1.1] - 2023-03-16

### Added

- Add redirection from paths with url-encoded `@` to their decoded form ([thijskh](https://github.com/mastodon/mastodon/pull/23593))
- Add `lang` attribute to native language names in language picker in Web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23749))
- Add headers to outgoing mails to avoid auto-replies ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23597))
- Add support for refreshing many accounts at once with `tootctl accounts refresh` ([9p4](https://github.com/mastodon/mastodon/pull/23304))
- Add confirmation modal when clicking to edit a post with a non-empty compose form ([PauloVilarinho](https://github.com/mastodon/mastodon/pull/23936))
- Add support for the HAproxy PROXY protocol through the `PROXY_PROTO_V1` environment variable ([CSDUMMI](https://github.com/mastodon/mastodon/pull/24064))
- Add `SENDFILE_HEADER` environment variable ([Gargron](https://github.com/mastodon/mastodon/pull/24123))
- Add cache headers to static files served through Rails ([Gargron](https://github.com/mastodon/mastodon/pull/24120))

### Changed

- Increase contrast of upload progress bar background ([toolmantim](https://github.com/mastodon/mastodon/pull/23836))
- Change post auto-deletion throttling constants to better scale with server size ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23320))
- Change order of bookmark and favourite sidebar entries in single-column UI for consistency ([TerryGarcia](https://github.com/mastodon/mastodon/pull/23701))
- Change `ActivityPub::DeliveryWorker` retries to be spread out more ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21956))

### Fixed

- Fix “Remove all followers from the selected domains” also removing follows and notifications ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23805))
- Fix streaming metrics format ([emilweth](https://github.com/mastodon/mastodon/pull/23519), [emilweth](https://github.com/mastodon/mastodon/pull/23520))
- Fix case-sensitive check for previously used hashtags in hashtag autocompletion ([deanveloper](https://github.com/mastodon/mastodon/pull/23526))
- Fix focus point of already-attached media not saving after edit ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23566))
- Fix sidebar behavior in settings/admin UI on mobile ([wxt2005](https://github.com/mastodon/mastodon/pull/23764))
- Fix inefficiency when searching accounts per username in admin interface ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23801))
- Fix duplicate “Publish” button on mobile ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23804))
- Fix server error when failing to follow back followers from `/relationships` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23787))
- Fix server error when attempting to display the edit history of a trendable post in the admin interface ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23574))
- Fix `tootctl accounts migrate` crashing because of a typo ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23567))
- Fix original account being unfollowed on migration before the follow request to the new account could be sent ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21957))
- Fix the “Back” button in column headers sometimes leaving Mastodon ([c960657](https://github.com/mastodon/mastodon/pull/23953))
- Fix pgBouncer resetting application name on every transaction ([Gargron](https://github.com/mastodon/mastodon/pull/23958))
- Fix unconfirmed accounts being counted as active users ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23803))
- Fix `/api/v1/streaming` sub-paths not being redirected ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23988))
- Fix drag'n'drop upload area text that spans multiple lines not being centered ([vintprox](https://github.com/mastodon/mastodon/pull/24029))
- Fix sidekiq jobs not triggering Elasticsearch index updates ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24046))
- Fix tags being unnecessarily stripped from plain-text short site description ([c960657](https://github.com/mastodon/mastodon/pull/23975))
- Fix HTML entities not being un-escaped in extracted plain-text from remote posts ([c960657](https://github.com/mastodon/mastodon/pull/24019))
- Fix dashboard crash on ElasticSearch server error ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23751))
- Fix incorrect post links in strikes when the account is remote ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23611))
- Fix misleading error code when receiving invalid WebAuthn credentials ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23568))
- Fix duplicate mails being sent when the SMTP server is too slow to close the connection ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23750))

### Security

- Change user backups to use expiring URLs for download when possible ([Gargron](https://github.com/mastodon/mastodon/pull/24136))
- Add warning for object storage misconfiguration ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24137))

## [4.1.0] - 2023-02-10

### Added
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# This needs to be bullseye-slim because the Ruby image is built on bullseye-slim
ARG NODE_VERSION="16.18.1-bullseye-slim"

FROM ghcr.io/moritzheiber/ruby-jemalloc:3.0.4-slim as ruby
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.0.6-slim as ruby
FROM node:${NODE_VERSION} as build

COPY --link --from=ruby /opt/ruby /opt/ruby
Expand Down
3 changes: 1 addition & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,7 @@ GEM
bindata (2.4.14)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
blurhash (0.1.6)
ffi (~> 1.14)
blurhash (0.1.7)
bootsnap (1.16.0)
msgpack (~> 1.2)
brakeman (5.4.0)
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@
[![Build Status](https://img.shields.io/circleci/project/github/mastodon/mastodon.svg)][circleci]
[![Code Climate](https://img.shields.io/codeclimate/maintainability/mastodon/mastodon.svg)][code_climate]
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/mastodon/localized.svg)][crowdin]
[![Docker Pulls](https://img.shields.io/docker/pulls/tootsuite/mastodon.svg)][docker]

[releases]: https://github.com/mastodon/mastodon/releases
[circleci]: https://circleci.com/gh/mastodon/mastodon
[code_climate]: https://codeclimate.com/github/mastodon/mastodon
[crowdin]: https://crowdin.com/project/mastodon
[docker]: https://hub.docker.com/r/tootsuite/mastodon/

Mastodon is a **free, open-source social network server** based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon software that implements ActivityPub!)

Expand All @@ -31,6 +29,7 @@ Click below to **learn more** in a video:
- [View sponsors](https://joinmastodon.org/sponsors)
- [Blog](https://blog.joinmastodon.org)
- [Documentation](https://docs.joinmastodon.org)
- [Official Docker image](https://github.com/mastodon/mastodon/pkgs/container/mastodon)
- [Browse Mastodon servers](https://joinmastodon.org/communities)
- [Browse Mastodon apps](https://joinmastodon.org/apps)

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/auth/registrations_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def build_resource(hash = nil)
super(hash)

resource.locale = I18n.locale
resource.invite_code = params[:invite_code] if resource.invite_code.blank?
resource.invite_code = @invite&.code if resource.invite_code.blank?
resource.registration_form_time = session[:registration_form_time]
resource.sign_up_ip = request.remote_ip

Expand Down
31 changes: 31 additions & 0 deletions app/controllers/backups_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# frozen_string_literal: true

class BackupsController < ApplicationController
include RoutingHelper

skip_before_action :require_functional!

before_action :authenticate_user!
before_action :set_backup

def download
case Paperclip::Attachment.default_options[:storage]
when :s3
redirect_to @backup.dump.expiring_url(10)
when :fog
if Paperclip::Attachment.default_options.dig(:storage, :fog_credentials, :openstack_temp_url_key).present?
redirect_to @backup.dump.expiring_url(Time.now.utc + 10)
else
redirect_to full_asset_url(@backup.dump.url)
end
when :filesystem
redirect_to full_asset_url(@backup.dump.url)
end
end

private

def set_backup
@backup = current_user.backups.find(params[:id])
end
end
6 changes: 4 additions & 2 deletions app/controllers/relationships_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ def update
@form.save
rescue ActionController::ParameterMissing
# Do nothing
rescue Mastodon::NotPermittedError, ActiveRecord::RecordNotFound
flash[:alert] = I18n.t('relationships.follow_failure') if action_from_button == 'follow'
ensure
redirect_to relationships_path(filter_params)
end
Expand Down Expand Up @@ -60,8 +62,8 @@ def action_from_button
'unfollow'
elsif params[:remove_from_followers]
'remove_from_followers'
elsif params[:block_domains]
'block_domains'
elsif params[:block_domains] || params[:remove_domains_from_followers]
'remove_domains_from_followers'
end
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def create
end
else
flash[:error] = I18n.t('webauthn_credentials.create.error')
status = :internal_server_error
status = :unprocessable_entity
end
else
flash[:error] = t('webauthn_credentials.create.error')
Expand Down
18 changes: 13 additions & 5 deletions app/javascript/mastodon/actions/compose.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,11 +165,19 @@ export function submitCompose(routerHistory) {
// API call.
let media_attributes;
if (statusId !== null) {
media_attributes = media.map(item => ({
id: item.get('id'),
description: item.get('description'),
focus: item.get('focus'),
}));
media_attributes = media.map(item => {
let focus;

if (item.getIn(['meta', 'focus'])) {
focus = `${item.getIn(['meta', 'focus', 'x']).toFixed(2)},${item.getIn(['meta', 'focus', 'y']).toFixed(2)}`;
}

return {
id: item.get('id'),
description: item.get('description'),
focus,
};
});
}

api(getState).request({
Expand Down
6 changes: 3 additions & 3 deletions app/javascript/mastodon/components/column_back_button.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ export default class ColumnBackButton extends React.PureComponent {
};

handleClick = () => {
if (window.history && window.history.length === 1) {
this.context.router.history.push('/');
} else {
if (window.history && window.history.state) {
this.context.router.history.goBack();
} else {
this.context.router.history.push('/');
}
};

Expand Down
14 changes: 5 additions & 9 deletions app/javascript/mastodon/components/column_header.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,6 @@ class ColumnHeader extends React.PureComponent {
animating: false,
};

historyBack = () => {
if (window.history && window.history.length === 1) {
this.context.router.history.push('/');
} else {
this.context.router.history.goBack();
}
};

handleToggleClick = (e) => {
e.stopPropagation();
this.setState({ collapsed: !this.state.collapsed, animating: true });
Expand All @@ -69,7 +61,11 @@ class ColumnHeader extends React.PureComponent {
};

handleBackClick = () => {
this.historyBack();
if (window.history && window.history.state) {
this.context.router.history.goBack();
} else {
this.context.router.history.push('/');
}
};

handleTransitionEnd = () => {
Expand Down
15 changes: 14 additions & 1 deletion app/javascript/mastodon/containers/status_container.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ const messages = defineMessages({
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
editConfirm: { id: 'confirmations.edit.confirm', defaultMessage: 'Edit' },
editMessage: { id: 'confirmations.edit.message', defaultMessage: 'Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' },
});

Expand Down Expand Up @@ -149,7 +151,18 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
},

onEdit (status, history) {
dispatch(editStatus(status.get('id'), history));
dispatch((_, getState) => {
let state = getState();
if (state.getIn(['compose', 'text']).trim().length !== 0) {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(messages.editMessage),
confirm: intl.formatMessage(messages.editConfirm),
onConfirm: () => dispatch(editStatus(status.get('id'), history)),
}));
} else {
dispatch(editStatus(status.get('id'), history));
}
});
},

onTranslate (status) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ class LanguageDropdownMenu extends React.PureComponent {

return (
<div key={lang[0]} role='option' tabIndex='0' data-index={lang[0]} className={classNames('language-dropdown__dropdown__results__item', { active: lang[0] === value })} aria-selected={lang[0] === value} onClick={this.handleClick} onKeyDown={this.handleKeyDown}>
<span className='language-dropdown__dropdown__results__item__native-name'>{lang[2]}</span> <span className='language-dropdown__dropdown__results__item__common-name'>({lang[1]})</span>
<span className='language-dropdown__dropdown__results__item__native-name' lang={lang[0]}>{lang[2]}</span> <span className='language-dropdown__dropdown__results__item__common-name'>({lang[1]})</span>
</div>
);
};
Expand Down
4 changes: 2 additions & 2 deletions app/javascript/mastodon/features/ui/components/header.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ const mapDispatchToProps = (dispatch) => ({
},
});

export default @connect(null, mapDispatchToProps)
@withRouter
export default @withRouter
@connect(null, mapDispatchToProps)
class Header extends React.PureComponent {

static contextTypes = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,8 @@ class NavigationPanel extends React.Component {
{signedIn && (
<React.Fragment>
<ColumnLink transparent to='/conversations' icon='at' text={intl.formatMessage(messages.direct)} />
<ColumnLink transparent to='/favourites' icon='star' text={intl.formatMessage(messages.favourites)} />
<ColumnLink transparent to='/bookmarks' icon='bookmark' text={intl.formatMessage(messages.bookmarks)} />
<ColumnLink transparent to='/favourites' icon='star' text={intl.formatMessage(messages.favourites)} />
<ColumnLink transparent to='/lists' icon='list-ul' text={intl.formatMessage(messages.lists)} />

<ListPanel />
Expand Down
6 changes: 3 additions & 3 deletions app/javascript/mastodon/features/ui/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -474,10 +474,10 @@ class UI extends React.PureComponent {
};

handleHotkeyBack = () => {
if (window.history && window.history.length === 1) {
this.context.router.history.push('/');
} else {
if (window.history && window.history.state) {
this.context.router.history.goBack();
} else {
this.context.router.history.push('/');
}
};

Expand Down
2 changes: 2 additions & 0 deletions app/javascript/mastodon/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
"confirmations.domain_block.confirm": "Block entire domain",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
"confirmations.edit.confirm": "Edit",
"confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.logout.confirm": "Log out",
"confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Mute",
Expand Down