,
+ ];
+
+ if (status.get('activity_pub_type') === 'Article' && !this.props.expanded) {
+ output.push(readArticleButton);
+ }
+
+ return output;
} else if (this.props.onClick) {
const output = [
-
+
{media}
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index ed3bbb0d4..7f3291cac 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -773,6 +773,7 @@
ul,
ol {
margin-left: 1em;
+ margin-bottom: 1em;
p {
margin: 0;
@@ -840,6 +841,10 @@
display: block;
}
}
+
+ .article-type img {
+ max-width: 95%;
+ }
}
.status__content.status__content--collapsed {
diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb
index 1e47de2d9..b1c170af0 100644
--- a/app/lib/activitypub/activity/create.rb
+++ b/app/lib/activitypub/activity/create.rb
@@ -60,7 +60,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
account: @account,
text: text_from_content || '',
language: detected_language,
- spoiler_text: converted_object_type? ? '' : (text_from_summary || ''),
+ spoiler_text: converted_object_type? ? '' : (text_from_summary || (@object['type'] == 'Article' && text_from_name) || ''),
created_at: @object['published'],
override_timestamps: @options[:override_timestamps],
reply: @object['inReplyTo'].present?,
@@ -70,6 +70,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
conversation: conversation_from_uri(@object['conversation']),
media_attachment_ids: process_attachments.take(4).map(&:id),
poll: process_poll,
+ activity_pub_type: @object['type']
}
end
end
diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb
index 9c2c0cd29..1c2066655 100644
--- a/app/lib/formatter.rb
+++ b/app/lib/formatter.rb
@@ -92,6 +92,7 @@ class Formatter
def format_article(text)
text = text.gsub(/>\n+, "><")
+ text = "#{text}"
text.html_safe # rubocop:disable Rails/OutputSafety
end
diff --git a/app/lib/sanitize_config.rb b/app/lib/sanitize_config.rb
index c157fc16a..f50d5f0fa 100644
--- a/app/lib/sanitize_config.rb
+++ b/app/lib/sanitize_config.rb
@@ -49,6 +49,9 @@ class Sanitize
'rel' => 'nofollow noopener',
'target' => '_blank',
},
+ 'span' => {
+ 'class' => 'article-type',
+ },
},
protocols: {
diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb
index 7d2dc4e82..f96c32ae0 100644
--- a/app/serializers/rest/status_serializer.rb
+++ b/app/serializers/rest/status_serializer.rb
@@ -4,7 +4,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
attributes :id, :created_at, :in_reply_to_id, :in_reply_to_account_id,
:sensitive, :spoiler_text, :visibility, :language,
:uri, :url, :replies_count, :reblogs_count,
- :favourites_count, :local_only
+ :favourites_count, :local_only, :activity_pub_type
attribute :favourited, if: :current_user?
attribute :reblogged, if: :current_user?
@@ -61,6 +61,10 @@ class REST::StatusSerializer < ActiveModel::Serializer
OStatus::TagManager.instance.uri_for(object)
end
+ def activity_pub_type
+ object.activity_pub_type.to_s
+ end
+
def content
Formatter.instance.format(object)
end
From f82b572102c0adab989990df1a1c916910b3b0ab Mon Sep 17 00:00:00 2001
From: Darius Kazemi
Date: Sun, 30 Jun 2019 15:23:53 -0700
Subject: [PATCH 005/129] Underlining hyperlinks by default
---
app/javascript/styles/mastodon/components.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 7f3291cac..651a45aea 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -790,7 +790,7 @@
a {
color: $secondary-text-color;
- text-decoration: none;
+ text-decoration: underline;
&:hover {
text-decoration: underline;
From 1b87a79ec728dee219f6fe2986ec5f05e77262f1 Mon Sep 17 00:00:00 2001
From: Darius Kazemi
Date: Sun, 30 Jun 2019 15:52:42 -0700
Subject: [PATCH 006/129] Updating README
---
README.md | 103 ++++++++++++++++++++++++++----------------------------
1 file changed, 49 insertions(+), 54 deletions(-)
diff --git a/README.md b/README.md
index 2d18a4ee2..b9ec3b08c 100644
--- a/README.md
+++ b/README.md
@@ -1,92 +1,87 @@
-![Mastodon](https://i.imgur.com/NhZc40l.png)
-========
+# Hometown: a Mastodon fork
-[![GitHub release](https://img.shields.io/github/release/tootsuite/mastodon.svg)][releases]
-[![Build Status](https://img.shields.io/circleci/project/github/tootsuite/mastodon.svg)][circleci]
-[![Code Climate](https://img.shields.io/codeclimate/maintainability/tootsuite/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/tootsuite/mastodon/releases
-[circleci]: https://circleci.com/gh/tootsuite/mastodon
-[code_climate]: https://codeclimate.com/github/tootsuite/mastodon
-[crowdin]: https://crowdin.com/project/mastodon
-[docker]: https://hub.docker.com/r/tootsuite/mastodon/
+Photo by [Joana Mujollari](https://www.flickr.com/photos/141654969@N04/26777339042/), CC0 / Public Domain.
-Mastodon is a **free, open-source social network server** based on ActivityPub. Follow friends and discover new ones. Publish anything you want: links, pictures, text, video. All servers of Mastodon are interoperable as a federated network, i.e. users on one server can seamlessly communicate with users from another one. This includes non-Mastodon software that also implements ActivityPub!
+Mastodon is a **free, open-source social network server** based on ActivityPub. This is *not* the official version of Mastodon; this is a separate version (i.e. a fork) maintained by [Darius Kazemi](https://friend.camp/@darius). For more information on Mastodon, you can see the [official website](https://joinmastodon.org) and the [upstream repo](https://github.com/tootsuite/mastodon).
-Click below to **learn more** in a video:
+Hometown is a light weight fork of Mastodon. This fork is based on the principle of: minimum code change for maximum user experience change.
-[![Screenshot](https://blog.joinmastodon.org/2018/06/why-activitypub-is-the-future/ezgif-2-60f1b00403.gif)][youtube_demo]
+Hometown is launching with a few key differences from Mastodon.
-[youtube_demo]: https://www.youtube.com/watch?v=IPSbNdBmWKE
+* Local only posting (aka posts that never federate)
+* Accepting more content types "natively", like in-line reading of full articles (behind a cut for length)
+* Better list management
+* Some accessibility features set to default
-## Navigation
+Those are the only changes! They are pretty minor in terms of the source code involved, but they drastically change the experience of being on Mastodon. I'll explain each of these in more detail now.
-- [Project homepage 🐘](https://joinmastodon.org)
-- [Support the development via Patreon][patreon]
-- [View sponsors](https://joinmastodon.org/sponsors)
-- [Blog](https://blog.joinmastodon.org)
-- [Documentation](https://docs.joinmastodon.org)
-- [Browse Mastodon servers](https://joinmastodon.org/#getting-started)
-- [Browse Mastodon apps](https://joinmastodon.org/apps)
+## Local only posting
-[patreon]: https://www.patreon.com/mastodon
+Mastodon right now is designed to get your messages out to the entire fediverse. This is great, but there is a huge need for more private communities. And in a federated network I think it makes the most sense for your home server to be that community (hence "Hometown").
-## Features
+**In the context of Hometown, local only posting is a per-post security option that lets you set whether that post can federate out to other servers or not.**
-
+I've been running Friend Camp, a Mastodon fork with local only posting, for about a year. Being able to have conversations with people on your server that don't federate is a hugely liberating thing. It allows inside jokes to develop. It allows people the freedom to complain about things that they wouldn't necessarily feel comfortable leaving a trusted server (cops, employers, etc). It also lets us do things like have a server-wide movie night where we flood the local timeline with posts about the movie, and it doesn't pollute the rest of the Fediverse.
-**No vendor lock-in: Fully interoperable with any conforming platform**
+This feature is based on [the work of Renato Lond](https://github.com/tootsuite/mastodon/pull/8427), which is itself based on a feature in the [Mastodon Glitch Edition](https://glitch-soc.github.io/docs/) fork.
-It doesn't have to be Mastodon, whatever implements ActivityPub is part of the social network! [Learn more](https://blog.joinmastodon.org/2018/06/why-activitypub-is-the-future/)
+## Reading more content types
-**Real-time, chronological timeline updates**
+Mastodon is microblogging software, meant for Twitter-style shortform posting.
-See the updates of people you're following appear in real-time in the UI via WebSockets. There's a firehose view as well!
+Hometown is microblogging for _writing_, but its goal is to accept many content types for _reading_. So while I don't plan to let Hometown users publish massive blog posts, I would like your Hometown instance to be your one-stop shop for viewing all sorts of things on the Fediverse.
-**Media attachments like images and short videos**
+For Hometown this means if you subscribe to a service that sends out `Article` objects over ActivityPub (such as a blog on [Write As](https://write.as)), then those full articles render in your home timeline, behind a cut for length. Also, Hometown will render a variety of rich text like _italic_ and **bold**.
-Upload and view images and WebM/MP4 videos attached to the updates. Videos with no audio track are treated like GIFs; normal videos are looped - like vines!
+Click on this GIF for a brief video demo:
-**Safety and moderation tools**
+
-Private posts, locked accounts, phrase filtering, muting, blocking and all sorts of other features, along with a reporting and moderation system. [Learn more](https://blog.joinmastodon.org/2018/07/cage-the-mastodon/)
+This is based on rich text work by [Thibaut Girka](https://sitedethib.com), and my own work on `Article` support.
-**OAuth2 and a straightforward REST API**
+### It's more than just reading more stuff
-Mastodon acts as an OAuth2 provider so 3rd party apps can use the REST and Streaming APIs, resulting in a rich app ecosystem with a lot of choice!
+Reading more content types also helps make the fediverse better. ActivityPub supports all kinds of content, but most ActivityPub servers shoehorn all their content into `Note` because that's the type that Mastodon treats as first-class. This has important implications for the fediverse and also on your day to do user experience.
-## Deployment
+Take the "quote tweet" debate for example.
-**Tech stack:**
+Twitter has a feature called "quote tweeting" that lets you embed what someone else tweets, with your own comment right next to it. It's really useful for provide commentary in context, like this, where I point people to a sale and they can read both my comment on the sale and the original tweet about the sale in one post:
-- **Ruby on Rails** powers the REST API and other web pages
-- **React.js** and Redux are used for the dynamic parts of the interface
-- **Node.js** powers the streaming API
+
-**Requirements:**
+But it's also open to abuse with people quote-tweeting things they disagree with to encourage a pile-on from their followers. There's been a lot of debate among Mastodon users as to whether the good of this feature outweighs the bad. So far, Mastodon has avoided implementing quoting.
-- **PostgreSQL** 9.5+
-- **Redis**
-- **Ruby** 2.4+
-- **Node.js** 8+
+What does this have to do with content types? Well, if we support an `Article` content type and a `Note` content type, we can support quoting for an `Article` but not for a `Note`. In practice this means that you can quote blog posts and news articles, but you can't quote a quick personal microblog note.
-The repository includes deployment configurations for **Docker and docker-compose**, but also a few specific platforms like **Heroku**, **Scalingo**, and **Nanobox**. The [**stand-alone** installation guide](https://docs.joinmastodon.org/administration/installation/) is available in the documentation.
+## Better list management
-A **Vagrant** configuration is included for development purposes.
+If Hometown is going to be a universal reader, you're going to need better control over organizing your feeds than mainline Mastodon provides.
-## Contributing
+### Exclusive lists
-Mastodon is **free, open source software** licensed under **AGPLv3**.
+My first plan is to introduce a new kind of _exclusive list_. Right now if you add an account to your "friends I like" list in Mastodon, posts from people on that list appear on that list. But they also appear on your home timeline, and maybe you don't want that! You'd rather treat your "friends I like" list as your "real" home timeline, and then check your home timeline when you're bored.
-You can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository, or submit translations using Weblate. To get started, take a look at [CONTRIBUTING.md](CONTRIBUTING.md). If your contributions are accepted into Mastodon, you can request to be paid through [our OpenCollective](https://opencollective.com/mastodon).
+Or another case: I might have all the blogs I read in one list, but I only check it on Saturdays when I have time to read things. In that case I don't want updates from those blogs clogging up my home timeline.
-**IRC channel**: #mastodon on irc.freenode.net
+## Better accessibility defaults
+
+Look, right now this pretty much just means that we underline hyperlinks by default. I'm of course open to implementing other obviously beneficial accessibilty defaults that Mastodon itself doesn't implement.
+
+## Hometown is still 99.999% Mastodon
+
+I don't intend to stray very far from mainline Mastodon with this fork. If you want something that provides a ton of new features and widgets and stuff, the [Mastodon Glitch Edition](https://glitch-soc.github.io/docs/) fork is a wondrous kitchen sink of major and minor tweaks.
+
+Part of why I don't want to stray far from mainline Mastodon is that this project is going to be just me for the foreseeable future, and I'd like to keep it up to date with new Mastodon versions as easily as possible. The less code I change from Mastodon, the easier that is. Hence the principle of "minimum code change for maximum user experience change."
+
+## Versioning
+
+Hometown follows Mastodon versioning, so Hometown v2.9.2 is up to date with Mastodon v2.9.2.
## License
-Copyright (C) 2016-2019 Eugen Rochko & other Mastodon contributors (see [AUTHORS.md](AUTHORS.md))
+Copyright (C) 2016-2019 Eugen Rochko and other Mastodon contributors; see [AUTHORS.md](AUTHORS.md).
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
From 42e62896f7461d75bfe252431c084f104e45495f Mon Sep 17 00:00:00 2001
From: Darius Kazemi
Date: Mon, 1 Jul 2019 14:07:59 -0700
Subject: [PATCH 007/129] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index b9ec3b08c..e2f206068 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,8 @@ But it's also open to abuse with people quote-tweeting things they disagree with
What does this have to do with content types? Well, if we support an `Article` content type and a `Note` content type, we can support quoting for an `Article` but not for a `Note`. In practice this means that you can quote blog posts and news articles, but you can't quote a quick personal microblog note.
+> Hometown doesn't support quoting articles yet... but it will.
+
## Better list management
If Hometown is going to be a universal reader, you're going to need better control over organizing your feeds than mainline Mastodon provides.
From 704e2cdd6a05c58391f0ab777e4faab44e5b1212 Mon Sep 17 00:00:00 2001
From: Darius Kazemi
Date: Mon, 1 Jul 2019 14:10:25 -0700
Subject: [PATCH 008/129] Update README.md
---
README.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index e2f206068..9c3b0dd2e 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ Hometown is launching with a few key differences from Mastodon.
* Local only posting (aka posts that never federate)
* Accepting more content types "natively", like in-line reading of full articles (behind a cut for length)
-* Better list management
+* Better list management (not implemented yet but will come in the first release)
* Some accessibility features set to default
Those are the only changes! They are pretty minor in terms of the source code involved, but they drastically change the experience of being on Mastodon. I'll explain each of these in more detail now.
@@ -67,6 +67,8 @@ My first plan is to introduce a new kind of _exclusive list_. Right now if you a
Or another case: I might have all the blogs I read in one list, but I only check it on Saturdays when I have time to read things. In that case I don't want updates from those blogs clogging up my home timeline.
+> This is not yet implemented but will be available in the first release.
+
## Better accessibility defaults
Look, right now this pretty much just means that we underline hyperlinks by default. I'm of course open to implementing other obviously beneficial accessibilty defaults that Mastodon itself doesn't implement.
From 927a79e31598bddda4588ed0b28e03559e42f57b Mon Sep 17 00:00:00 2001
From: Darius Kazemi
Date: Wed, 10 Jul 2019 21:10:47 -0700
Subject: [PATCH 009/129] Update README
---
README.md | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index b9ec3b08c..7f17ef357 100644
--- a/README.md
+++ b/README.md
@@ -6,17 +6,20 @@ Photo by [Joana Mujollari](https://www.flickr.com/photos/141654969@N04/267773390
Mastodon is a **free, open-source social network server** based on ActivityPub. This is *not* the official version of Mastodon; this is a separate version (i.e. a fork) maintained by [Darius Kazemi](https://friend.camp/@darius). For more information on Mastodon, you can see the [official website](https://joinmastodon.org) and the [upstream repo](https://github.com/tootsuite/mastodon).
-Hometown is a light weight fork of Mastodon. This fork is based on the principle of: minimum code change for maximum user experience change.
+__Hometown__ is a light weight fork of Mastodon. This fork is based on the principle of: minimum code change for maximum user experience change.
Hometown is launching with a few key differences from Mastodon.
* Local only posting (aka posts that never federate)
* Accepting more content types "natively", like in-line reading of full articles (behind a cut for length)
-* Better list management
* Some accessibility features set to default
Those are the only changes! They are pretty minor in terms of the source code involved, but they drastically change the experience of being on Mastodon. I'll explain each of these in more detail now.
+Some changes are to come in the future:
+
+* Better list management
+
## Local only posting
Mastodon right now is designed to get your messages out to the entire fediverse. This is great, but there is a huge need for more private communities. And in a federated network I think it makes the most sense for your home server to be that community (hence "Hometown").
From 5585c244dabf2e7cf60386c546e607b2656fcb3c Mon Sep 17 00:00:00 2001
From: Darius Kazemi
Date: Wed, 10 Jul 2019 21:10:58 -0700
Subject: [PATCH 010/129] Add link to Hometown source in footer
---
app/javascript/mastodon/features/ui/components/link_footer.js | 4 ++++
app/javascript/mastodon/locales/en.json | 1 +
2 files changed, 5 insertions(+)
diff --git a/app/javascript/mastodon/features/ui/components/link_footer.js b/app/javascript/mastodon/features/ui/components/link_footer.js
index b481983dc..9689e9da4 100644
--- a/app/javascript/mastodon/features/ui/components/link_footer.js
+++ b/app/javascript/mastodon/features/ui/components/link_footer.js
@@ -23,6 +23,10 @@ const LinkFooter = ({ withHotkeys }) => (
id='getting_started.open_source_notice'
defaultMessage='Mastodon is open source software. You can contribute or report issues on GitHub at {github}.'
values={{ github: {repository} (v{version}) }}
+ /> friendcamp/mastodon }}
/>
}
+ {status.get('activity_pub_type') === 'Article' ? '' : }
{mentionsPlaceholder}
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 8926a2bf8..7aaa52d95 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -6027,3 +6027,14 @@ noscript {
padding: 0.35rem;
}
}
+
+div.status__content,
+div.status__content--with-action,
+div.status__content--with-spoiler {
+ p {
+ span.show_more_button {
+ display: block;
+ margin: 0.25rem 0 0 0;
+ }
+ }
+}
From b43b748813b8d72d531ae11c147b9c3501324162 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Thu, 12 Sep 2019 23:05:30 +0100
Subject: [PATCH 033/129] 'Back to Mastodon' is now 'Back home', and posts are
now toots in US English
---
config/locales/en.yml | 48 +++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/config/locales/en.yml b/config/locales/en.yml
index cabc9100c..838a3174c 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1,7 +1,7 @@
---
en:
about:
- about_hashtag_html: These are public toots tagged with #%{hashtag}. You can interact with them if you have an account anywhere in the fediverse.
+ about_hashtag_html: These are public posts tagged with #%{hashtag}. You can interact with them if you have an account anywhere in the fediverse.
about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
about_this: About
active_count_after: active
@@ -21,9 +21,9 @@ en:
A good place for rules
The extended description has not been set up yet.
federation_hint_html: With an account on %{instance} you'll be able to follow people on any Mastodon server and beyond.
- generic_description: "%{domain} is one server in the network"
+ generic_description: "%{domain} is one server in the federated network"
get_apps: Try a mobile app
- hosted_on: Mastodon hosted on %{domain}
+ hosted_on: Hometown hosted on %{domain}
learn_more: Learn more
privacy_policy: Privacy policy
see_whats_happening: See what's happening
@@ -59,10 +59,10 @@ en:
pin_errors:
following: You must be already following the person you want to endorse
posts:
- one: Toot
- other: Toots
- posts_tab_heading: Toots
- posts_with_replies: Toots and replies
+ one: Post
+ other: Posts
+ posts_tab_heading: Posts
+ posts_with_replies: Posts and replies
reserved_username: The username is reserved
roles:
admin: Admin
@@ -341,11 +341,11 @@ en:
relays:
add_new: Add new relay
delete: Delete
- description_html: A federation relay is an intermediary server that exchanges large volumes of public toots between servers that subscribe and publish to it. It can help small and medium servers discover content from the fediverse, which would otherwise require local users manually following other people on remote servers.
+ description_html: A federation relay is an intermediary server that exchanges large volumes of public posts between servers that subscribe and publish to it. It can help small and medium servers discover content from the fediverse, which would otherwise require local users manually following other people on remote servers.
disable: Disable
disabled: Disabled
enable: Enable
- enable_hint: Once enabled, your server will subscribe to all public toots from this relay, and will begin sending this server's public toots to it.
+ enable_hint: Once enabled, your server will subscribe to all public posts from this relay, and will begin sending this server's public posts to it.
enabled: Enabled
inbox_url: Relay URL
pending: Waiting for relay's approval
@@ -431,7 +431,7 @@ en:
open: Anyone can sign up
title: Registrations mode
show_known_fediverse_at_about_page:
- desc_html: When toggled, it will show toots from all the known fediverse on preview. Otherwise it will only show local toots.
+ desc_html: When toggled, it will show posts from all the known fediverse on preview. Otherwise it will only show local posts.
title: Show known fediverse on timeline preview
show_staff_badge:
desc_html: Show a staff badge on a user page
@@ -609,7 +609,7 @@ en:
archive_takeout:
date: Date
download: Download your archive
- hint_html: You can request an archive of your toots and uploaded media. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days.
+ hint_html: You can request an archive of your posts and uploaded media. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days.
in_progress: Compiling your archive...
request: Request your archive
size: Size
@@ -669,7 +669,7 @@ en:
i_am_html: I am %{username} on %{service}.
identity: Identity
inactive: Inactive
- publicize_checkbox: 'And toot this:'
+ publicize_checkbox: 'And post this:'
publicize_toot: 'It is proven! I am %{username} on %{service}: %{url}'
status: Verification status
view_proof: View proof
@@ -812,20 +812,20 @@ en:
remote_interaction:
favourite:
proceed: Proceed to favourite
- prompt: 'You want to favourite this toot:'
+ prompt: 'You want to favourite this post:'
reblog:
proceed: Proceed to boost
- prompt: 'You want to boost this toot:'
+ prompt: 'You want to boost this post:'
reply:
proceed: Proceed to reply
- prompt: 'You want to reply to this toot:'
+ prompt: 'You want to reply to this post:'
remote_unfollow:
error: Error
title: Title
unfollowed: Unfollowed
scheduled_statuses:
- over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day
- over_total_limit: You have exceeded the limit of %{limit} scheduled toots
+ over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for that day
+ over_total_limit: You have exceeded the limit of %{limit} scheduled posts
too_soon: The scheduled date must be in the future
sessions:
activity: Last activity
@@ -873,7 +873,7 @@ en:
account_settings: Account settings
appearance: Appearance
authorized_apps: Authorized apps
- back: Back to Mastodon
+ back: Back home
delete: Account deletion
development: Development
edit_profile: Edit profile
@@ -907,9 +907,9 @@ en:
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded
pin_errors:
- limit: You have already pinned the maximum number of toots
- ownership: Someone else's toot cannot be pinned
- private: Non-public toot cannot be pinned
+ limit: You have already pinned the maximum number of posts
+ ownership: Someone else's post cannot be pinned
+ private: Non-public post cannot be pinned
reblog: A boost cannot be pinned
poll:
total_votes:
@@ -927,7 +927,7 @@ en:
unlisted: Unlisted
unlisted_long: Everyone can see, but not listed on public timelines
stream_entries:
- pinned: Pinned toot
+ pinned: Pinned post
reblogged: boosted
sensitive_content: Sensitive content
terms:
@@ -1047,8 +1047,8 @@ en:
warning:
explanation:
disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked.
- silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follow you.
- suspend: Your account has been suspended, and all of your toots and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
+ silence: While your account is limited, only people who are already following you will see your posts on this server, and you may be excluded from various public listings. However, others may still manually follow you.
+ suspend: Your account has been suspended, and all of your posts and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
review_server_policies: Review server policies
subject:
disable: Your account %{acct} has been frozen
From 30db0c5ee29d857f5974c0b0696f181cf744610b Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Thu, 12 Sep 2019 23:08:06 +0100
Subject: [PATCH 034/129] 'Back to Mastodon' is now 'Back home', and posts are
now toots in British English
---
config/locales/en_GB.yml | 42 ++++++++++++++++++++--------------------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml
index 33ba16210..ec4c23c0f 100644
--- a/config/locales/en_GB.yml
+++ b/config/locales/en_GB.yml
@@ -1,7 +1,7 @@
---
en_GB:
about:
- about_hashtag_html: These are public toots tagged with #%{hashtag}. You can interact with them if you have an account anywhere in the fediverse.
+ about_hashtag_html: These are public posts tagged with #%{hashtag}. You can interact with them if you have an account anywhere in the fediverse.
about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
about_this: About
active_count_after: active
@@ -59,10 +59,10 @@ en_GB:
pin_errors:
following: You must be already following the person you want to endorse
posts:
- one: Toot
- other: Toots
- posts_tab_heading: Toots
- posts_with_replies: Toots and replies
+ one: Post
+ other: Posts
+ posts_tab_heading: Posts
+ posts_with_replies: Posts and replies
reserved_username: The username is reserved
roles:
admin: Admin
@@ -332,11 +332,11 @@ en_GB:
relays:
add_new: Add new relay
delete: Delete
- description_html: A federation relay is an intermediary server that exchanges large volumes of public toots between servers that subscribe and publish to it. It can help small and medium servers discover content from the fediverse, which would otherwise require local users manually following other people on remote servers.
+ description_html: A federation relay is an intermediary server that exchanges large volumes of public posts between servers that subscribe and publish to it. It can help small and medium servers discover content from the fediverse, which would otherwise require local users manually following other people on remote servers.
disable: Disable
disabled: Disabled
enable: Enable
- enable_hint: Once enabled, your server will subscribe to all public toots from this relay, and will begin sending this server's public toots to it.
+ enable_hint: Once enabled, your server will subscribe to all public posts from this relay, and will begin sending this server's public posts to it.
enabled: Enabled
inbox_url: Relay URL
pending: Waiting for relay's approval
@@ -422,7 +422,7 @@ en_GB:
open: Anyone can sign up
title: Registrations mode
show_known_fediverse_at_about_page:
- desc_html: When toggled, it will show toots from all the known fediverse on preview. Otherwise it will only show local toots.
+ desc_html: When toggled, it will show posts from all the known fediverse on preview. Otherwise it will only show local posts.
title: Show known fediverse on timeline preview
show_staff_badge:
desc_html: Show a staff badge on a user page
@@ -589,7 +589,7 @@ en_GB:
archive_takeout:
date: Date
download: Download your archive
- hint_html: You can request an archive of your toots and uploaded media. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days.
+ hint_html: You can request an archive of your posts and uploaded media. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days.
in_progress: Compiling your archive...
request: Request your archive
size: Size
@@ -781,20 +781,20 @@ en_GB:
remote_interaction:
favourite:
proceed: Proceed to favourite
- prompt: 'You want to favourite this toot:'
+ prompt: 'You want to favourite this post:'
reblog:
proceed: Proceed to boost
- prompt: 'You want to boost this toot:'
+ prompt: 'You want to boost this post:'
reply:
proceed: Proceed to reply
- prompt: 'You want to reply to this toot:'
+ prompt: 'You want to reply to this post:'
remote_unfollow:
error: Error
title: Title
unfollowed: Unfollowed
scheduled_statuses:
- over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day
- over_total_limit: You have exceeded the limit of %{limit} scheduled toots
+ over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for that day
+ over_total_limit: You have exceeded the limit of %{limit} scheduled posts
too_soon: The scheduled date must be in the future
sessions:
activity: Last activity
@@ -839,7 +839,7 @@ en_GB:
title: Sessions
settings:
authorized_apps: Authorized apps
- back: Back to Mastodon
+ back: Back home
delete: Account deletion
development: Development
edit_profile: Edit profile
@@ -870,9 +870,9 @@ en_GB:
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded
pin_errors:
- limit: You have already pinned the maximum number of toots
- ownership: Someone else's toot cannot be pinned
- private: Non-public toot cannot be pinned
+ limit: You have already pinned the maximum number of posts
+ ownership: Someone else's post cannot be pinned
+ private: Non-public post cannot be pinned
reblog: A boost cannot be pinned
poll:
total_votes:
@@ -890,7 +890,7 @@ en_GB:
unlisted: Unlisted
unlisted_long: Everyone can see, but not listed on public timelines
stream_entries:
- pinned: Pinned toot
+ pinned: Pinned post
reblogged: boosted
sensitive_content: Sensitive content
terms:
@@ -1008,8 +1008,8 @@ en_GB:
warning:
explanation:
disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked.
- silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follow you.
- suspend: Your account has been suspended, and all of your toots and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
+ silence: While your account is limited, only people who are already following you will see your posts on this server, and you may be excluded from various public listings. However, others may still manually follow you.
+ suspend: Your account has been suspended, and all of your posts and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
review_server_policies: Review server policies
subject:
disable: Your account %{acct} has been frozen
From 6ae391bbb3ebcea2b81ca1dee0d120d08a8b075d Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Thu, 12 Sep 2019 23:52:17 +0100
Subject: [PATCH 035/129] Making more toots into posts
---
app/javascript/mastodon/locales/en.json | 44 ++++++++++++-------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 77ae2809a..036534638 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -23,8 +23,8 @@
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
- "account.posts": "Toots",
- "account.posts_with_replies": "Toots and replies",
+ "account.posts": "Posts",
+ "account.posts_with_replies": "Posts and replies",
"account.report": "Report @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request",
"account.share": "Share @{name}'s profile",
@@ -54,7 +54,7 @@
"column.lists": "Lists",
"column.mutes": "Muted users",
"column.notifications": "Notifications",
- "column.pins": "Pinned toots",
+ "column.pins": "Pinned posts",
"column.public": "Federated timeline",
"column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings",
@@ -65,9 +65,9 @@
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.media_only": "Media Only",
- "compose_form.direct_message_warning": "This toot will only be sent to the mentioned users.",
+ "compose_form.direct_message_warning": "This post will only be sent to the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
- "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
+ "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What's on your mind?",
@@ -75,8 +75,8 @@
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
- "compose_form.publish": "Toot",
- "compose_form.publish_loud": "{publish}!",
+ "compose_form.publish": "Post",
+ "compose_form.publish_loud": "{publish}",
"compose_form.sensitive.hide": "Mark media as sensitive",
"compose_form.sensitive.marked": "Media is marked as sensitive",
"compose_form.sensitive.unmarked": "Media is not marked as sensitive",
@@ -117,14 +117,14 @@
"emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
- "empty_column.account_timeline": "No toots here!",
+ "empty_column.account_timeline": "No posts here!",
"empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "You haven't blocked any users yet.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "There are no hidden domains yet.",
- "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
- "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
+ "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
+ "empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
@@ -135,9 +135,9 @@
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
"federation.change": "Adjust status federation",
- "federation.federated.long": "Allow toot to reach other instances",
+ "federation.federated.long": "Allow post to reach other instances",
"federation.federated.short": "Federated",
- "federation.local_only.long": "Restrict this toot only to my instance",
+ "federation.local_only.long": "Restrict this post only to my instance",
"federation.local_only.short": "Local-only",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
@@ -174,11 +174,11 @@
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Finish tutorial!",
"introduction.interactions.favourite.headline": "Favourite",
- "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.favourite.text": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
- "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
- "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "introduction.interactions.reply.text": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
@@ -203,7 +203,7 @@
"keyboard_shortcuts.muted": "to open muted users list",
"keyboard_shortcuts.my_profile": "to open your profile",
"keyboard_shortcuts.notifications": "to open notifications column",
- "keyboard_shortcuts.pinned": "to open pinned toots list",
+ "keyboard_shortcuts.pinned": "to open pinned posts list",
"keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.requests": "to open follow requests list",
@@ -211,7 +211,7 @@
"keyboard_shortcuts.start": "to open \"get started\" column",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
- "keyboard_shortcuts.toot": "to start a brand new toot",
+ "keyboard_shortcuts.post": "to start a brand new post",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list",
"lightbox.close": "Close",
@@ -235,7 +235,7 @@
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline",
- "navigation_bar.compose": "Compose new toot",
+ "navigation_bar.compose": "Compose new post",
"navigation_bar.direct": "Direct messages",
"navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains",
@@ -250,7 +250,7 @@
"navigation_bar.logout": "Logout",
"navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal",
- "navigation_bar.pins": "Pinned toots",
+ "navigation_bar.pins": "Pinned posts",
"navigation_bar.preferences": "Preferences",
"navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Federated timeline",
@@ -319,7 +319,7 @@
"search_popout.tips.user": "user",
"search_results.accounts": "People",
"search_results.hashtags": "Hashtags",
- "search_results.statuses": "Toots",
+ "search_results.statuses": "Posts",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
@@ -342,12 +342,12 @@
"status.mute_conversation": "Mute conversation",
"status.open": "Expand this status",
"status.pin": "Pin on profile",
- "status.pinned": "Pinned toot",
+ "status.pinned": "Pinned post",
"status.read_more": "Read more",
"status.reblog": "Boost",
"status.reblog_private": "Boost to original audience",
"status.reblogged_by": "{name} boosted",
- "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
+ "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
"status.redraft": "Delete & re-draft",
"status.reply": "Reply",
"status.replyAll": "Reply to thread",
From 0eeb168bbe5da974da9aeed9c328533d8169c7c0 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Fri, 13 Sep 2019 00:06:19 +0100
Subject: [PATCH 036/129] reworded 'the visually impaired' to 'visually
impaired users'
It's less clunky and dated language, and Darius said I could do it
---
app/javascript/mastodon/locales/en.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 036534638..32dab8ede 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -379,7 +379,7 @@
"upload_button.label": "Add media ({formats})",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
- "upload_form.description": "Describe for the visually impaired",
+ "upload_form.description": "Describe for visually impaired users",
"upload_form.focus": "Change preview",
"upload_form.undo": "Delete",
"upload_progress.label": "Uploading...",
From 288709e4301c9d200a6d52c63161492ad028ec39 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Fri, 13 Sep 2019 00:53:29 +0100
Subject: [PATCH 037/129] change 'Mastodon' to site name on signup page
---
app/views/about/show.html.haml | 2 +-
config/locales/en.yml | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/views/about/show.html.haml b/app/views/about/show.html.haml
index f24f4e195..de5463f4f 100644
--- a/app/views/about/show.html.haml
+++ b/app/views/about/show.html.haml
@@ -35,7 +35,7 @@
%h4
= fa_icon 'globe fw'
= t('about.see_whats_happening')
- %small= t('about.browse_public_posts')
+ %small= t('about.browse_public_posts', title: site_title)
.directory__tag
= link_to 'https://joinmastodon.org/apps', target: '_blank', rel: 'noopener' do
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 838a3174c..5c322d4c5 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -11,7 +11,7 @@ en:
apps: Mobile apps
apps_platforms: Use Mastodon from iOS, Android and other platforms
browse_directory: Browse a profile directory and filter by interests
- browse_public_posts: Browse a live stream of public posts on Mastodon
+ browse_public_posts: Browse a live stream of public posts on %{title}
contact: Contact
contact_missing: Not set
contact_unavailable: N/A
@@ -20,7 +20,7 @@ en:
extended_description_html: |
A good place for rules
The extended description has not been set up yet.
- federation_hint_html: With an account on %{instance} you'll be able to follow people on any Mastodon server and beyond.
+ federation_hint_html: With an account on %{instance} you'll be able to follow people on any Hometown or Mastodon server and beyond.
generic_description: "%{domain} is one server in the federated network"
get_apps: Try a mobile app
hosted_on: Hometown hosted on %{domain}
@@ -39,7 +39,7 @@ en:
one: user
other: users
user_count_before: Home to
- what_is_mastodon: What is Mastodon?
+ what_is_mastodon: What is Hometown/Mastodon?
accounts:
choices_html: "%{name}'s choices:"
follow: Follow
@@ -437,13 +437,13 @@ en:
desc_html: Show a staff badge on a user page
title: Show staff badge
site_description:
- desc_html: Introductory paragraph on the API. Describe what makes this Mastodon server special and anything else important. You can use HTML tags, in particular <a> and <em>.
+ desc_html: Introductory paragraph on the API. Describe what makes this Hometown server special and anything else important. You can use HTML tags, in particular <a> and <em>.
title: Server description
site_description_extended:
desc_html: A good place for your code of conduct, rules, guidelines and other things that set your server apart. You can use HTML tags
title: Custom extended information
site_short_description:
- desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph.
+ desc_html: Displayed in sidebar and meta tags. Describe what Hometown is and what makes this server special in a single paragraph.
title: Short server description
site_terms:
desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
From d904046775e5dd7a3a4b5b1b404146cd30472fd4 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Fri, 13 Sep 2019 01:09:33 +0100
Subject: [PATCH 038/129] Swapping out Mastodon for site title in sessions,
noscript and backup confirmation message
---
app/views/auth/registrations/_sessions.html.haml | 2 +-
app/views/home/index.html.haml | 2 +-
app/views/user_mailer/backup_ready.html.haml | 2 +-
config/locales/en.yml | 8 ++++----
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/app/views/auth/registrations/_sessions.html.haml b/app/views/auth/registrations/_sessions.html.haml
index d7d96a1bb..80f9f722c 100644
--- a/app/views/auth/registrations/_sessions.html.haml
+++ b/app/views/auth/registrations/_sessions.html.haml
@@ -1,5 +1,5 @@
%h4= t 'sessions.title'
-%p.muted-hint= t 'sessions.explanation'
+%p.muted-hint= t('sessions.explanation', title: site_title)
.table-wrapper
%table.table.inline-table
diff --git a/app/views/home/index.html.haml b/app/views/home/index.html.haml
index 4c7fac0b6..8e1d5f4c9 100644
--- a/app/views/home/index.html.haml
+++ b/app/views/home/index.html.haml
@@ -14,4 +14,4 @@
= image_pack_tag 'logo.svg', alt: 'Mastodon'
%div
- = t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps')
+ = t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps', title: site_title)
diff --git a/app/views/user_mailer/backup_ready.html.haml b/app/views/user_mailer/backup_ready.html.haml
index 85140b08b..6009d584d 100644
--- a/app/views/user_mailer/backup_ready.html.haml
+++ b/app/views/user_mailer/backup_ready.html.haml
@@ -36,7 +36,7 @@
%tbody
%tr
%td.column-cell.text-center
- %p= t 'user_mailer.backup_ready.explanation'
+ %p= t('user_mailer.backup_ready.explanation', title: site_title)
%table.email-table{ cellspacing: 0, cellpadding: 0 }
%tbody
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 5c322d4c5..22fd622e7 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -601,7 +601,7 @@ en:
'500':
content: We're sorry, but something went wrong on our end.
title: This page is not correct
- noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform.
+ noscript_html: To use the %{title} web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform.
existing_username_validator:
not_found: could not find a local user with that username
not_found_multiple: could not find %{usernames}
@@ -850,7 +850,7 @@ en:
weibo: Weibo
current_session: Current session
description: "%{browser} on %{platform}"
- explanation: These are the web browsers currently logged in to your Mastodon account.
+ explanation: These are the web browsers currently logged in to your %{title} account.
ip: IP
platforms:
adobe_air: Adobe Air
@@ -1041,7 +1041,7 @@ en:
wrong_code: The entered code was invalid! Are server time and device time correct?
user_mailer:
backup_ready:
- explanation: You requested a full backup of your Mastodon account. It's now ready for download!
+ explanation: You requested a full backup of your %{title} account. It's now ready for download!
subject: Your archive is ready for download
title: Archive takeout
warning:
@@ -1070,7 +1070,7 @@ en:
full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
review_preferences_action: Change preferences
review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level you’d like your posts to default to. If you don’t have motion sickness, you could choose to enable GIF autoplay.
- subject: Welcome to Mastodon
+ subject: Welcome to %{title}
tip_federated_timeline: The federated timeline is a firehose view of the Mastodon network. But it only includes people your neighbours are subscribed to, so it's not complete.
tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines.
tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours!
From 639a883d9be736aa6e7c367ddec9e96810052fb4 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Fri, 13 Sep 2019 01:43:51 +0100
Subject: [PATCH 039/129] Changing some mentions of 'Mastodon' to either be
specific to the instance or general to the fediverse
---
app/views/settings/profiles/show.html.haml | 2 +-
app/views/user_mailer/welcome.html.haml | 2 +-
config/locales/en.yml | 8 ++++----
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml
index f8a8fddd3..4f2a0dfa7 100644
--- a/app/views/settings/profiles/show.html.haml
+++ b/app/views/settings/profiles/show.html.haml
@@ -45,7 +45,7 @@
.fields-row__column.fields-group.fields-row__column-6
%h6= t('verification.verification')
- %p.hint= t('verification.explanation_html')
+ %p.hint= t('verification.explanation_html', instance: site_hostname)
.input-copy
.input-copy__wrapper
diff --git a/app/views/user_mailer/welcome.html.haml b/app/views/user_mailer/welcome.html.haml
index 1f75ff48a..de1d8395b 100644
--- a/app/views/user_mailer/welcome.html.haml
+++ b/app/views/user_mailer/welcome.html.haml
@@ -135,7 +135,7 @@
%h5= t 'user_mailer.welcome.tips'
%ul
%li
- %span= t 'user_mailer.welcome.tip_mobile_webapp'
+ %span= t 'user_mailer.welcome.tip_mobile_webapp', instance: @instance
%li
%span= t 'user_mailer.welcome.tip_following'
%li
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 22fd622e7..d02e07ceb 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1070,11 +1070,11 @@ en:
full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
review_preferences_action: Change preferences
review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level you’d like your posts to default to. If you don’t have motion sickness, you could choose to enable GIF autoplay.
- subject: Welcome to %{title}
- tip_federated_timeline: The federated timeline is a firehose view of the Mastodon network. But it only includes people your neighbours are subscribed to, so it's not complete.
+ subject: Welcome to Mastodon
+ tip_federated_timeline: The federated timeline is a firehose view of the wider network. But it only includes people your neighbours are subscribed to, so it's not complete.
tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines.
tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours!
- tip_mobile_webapp: If your mobile browser offers you to add Mastodon to your homescreen, you can receive push notifications. It acts like a native app in many ways!
+ tip_mobile_webapp: If your mobile browser offers you to add %{instance} to your homescreen, you can receive push notifications. It acts like a native app in many ways!
tips: Tips
title: Welcome aboard, %{name}!
users:
@@ -1085,5 +1085,5 @@ en:
seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
signed_in_as: 'Signed in as:'
verification:
- explanation_html: 'You can verify yourself as the owner of the links in your profile metadata. For that, the linked website must contain a link back to your Mastodon profile. The link back must have a rel="me" attribute. The text content of the link does not matter. Here is an example:'
+ explanation_html: 'You can verify yourself as the owner of the links in your profile metadata. For that, the linked website must contain a link back to your %{instance} profile. The link back must have a rel="me" attribute. The text content of the link does not matter. Here is an example:'
verification: Verification
From 4b7548c7604eecefc1ff191f1c94e513f6b3ebfa Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Fri, 13 Sep 2019 01:54:58 +0100
Subject: [PATCH 040/129] rewording text to be more specific to
platforms/hometown
---
app/views/about/show.html.haml | 2 +-
config/locales/en.yml | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/views/about/show.html.haml b/app/views/about/show.html.haml
index de5463f4f..c9514c162 100644
--- a/app/views/about/show.html.haml
+++ b/app/views/about/show.html.haml
@@ -42,7 +42,7 @@
%h4
= fa_icon 'tablet fw'
= t('about.get_apps')
- %small= t('about.apps_platforms')
+ %small= t('about.apps_platforms', title: site_title)
.landing__grid__column.landing__grid__column-login
.box-widget
diff --git a/config/locales/en.yml b/config/locales/en.yml
index d02e07ceb..d4bf3fd82 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -2,14 +2,14 @@
en:
about:
about_hashtag_html: These are public posts tagged with #%{hashtag}. You can interact with them if you have an account anywhere in the fediverse.
- about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
+ about_mastodon_html: Hometown is adapted from Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
about_this: About
active_count_after: active
active_footnote: Monthly Active Users (MAU)
administered_by: 'Administered by:'
api: API
apps: Mobile apps
- apps_platforms: Use Mastodon from iOS, Android and other platforms
+ apps_platforms: Use %{title} from iOS, Android and other platforms
browse_directory: Browse a profile directory and filter by interests
browse_public_posts: Browse a live stream of public posts on %{title}
contact: Contact
@@ -601,7 +601,7 @@ en:
'500':
content: We're sorry, but something went wrong on our end.
title: This page is not correct
- noscript_html: To use the %{title} web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform.
+ noscript_html: To use the %{title} web application, please enable JavaScript. Alternatively, try one of the native apps for Hometown/Mastodon for your platform.
existing_username_validator:
not_found: could not find a local user with that username
not_found_multiple: could not find %{usernames}
@@ -938,7 +938,7 @@ en:
Basic account information: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.
Posts, following and other public information: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.
-
Direct and followers-only posts: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. Please keep in mind that the operators of the server and any receiving server may view such messages, and that recipients may screenshot, copy or otherwise re-share them. Do not share any dangerous information over Mastodon.
+
Direct and followers-only posts: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. Please keep in mind that the operators of the server and any receiving server may view such messages, and that recipients may screenshot, copy or otherwise re-share them. Do not share any dangerous information over Hometown/Mastodon.
IPs and other metadata: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.
@@ -949,7 +949,7 @@ en:
Any of the information we collect from you may be used in the following ways:
-
To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.
+
To provide the core functionality of Hometown/Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.
To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.
The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.
From 5406acd04beac3d70b862dc9db4961d243f9f922 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Fri, 13 Sep 2019 02:36:45 +0100
Subject: [PATCH 041/129] Welcome email now welcomes you to your instance
title, not to mastodon
---
app/mailers/user_mailer.rb | 2 +-
config/locales/en.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
index 8f3a4ab3a..b494e62fb 100644
--- a/app/mailers/user_mailer.rb
+++ b/app/mailers/user_mailer.rb
@@ -63,7 +63,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do
- mail to: @resource.email, subject: I18n.t('user_mailer.welcome.subject')
+ mail to: @resource.email, subject: I18n.t('user_mailer.welcome.subject', title: Setting.site_title)
end
end
diff --git a/config/locales/en.yml b/config/locales/en.yml
index d4bf3fd82..3892adb84 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1070,7 +1070,7 @@ en:
full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
review_preferences_action: Change preferences
review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level you’d like your posts to default to. If you don’t have motion sickness, you could choose to enable GIF autoplay.
- subject: Welcome to Mastodon
+ subject: Welcome to %{title}
tip_federated_timeline: The federated timeline is a firehose view of the wider network. But it only includes people your neighbours are subscribed to, so it's not complete.
tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines.
tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours!
From f10703ae073097c876595e8e7e710dc59691d25e Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Fri, 13 Sep 2019 22:37:40 +0100
Subject: [PATCH 042/129] Remove share intent button for local-only posts -
closes #12
---
app/javascript/mastodon/components/status_action_bar.js | 2 +-
.../mastodon/features/status/components/action_bar.js | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js
index 27c2b4665..c21ba218c 100644
--- a/app/javascript/mastodon/components/status_action_bar.js
+++ b/app/javascript/mastodon/components/status_action_bar.js
@@ -245,7 +245,7 @@ class StatusActionBar extends ImmutablePureComponent {
replyTitle = intl.formatMessage(messages.replyAll);
}
- const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (
+ const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && federated && (
);
diff --git a/app/javascript/mastodon/features/status/components/action_bar.js b/app/javascript/mastodon/features/status/components/action_bar.js
index 3e511b7a6..2783d215d 100644
--- a/app/javascript/mastodon/features/status/components/action_bar.js
+++ b/app/javascript/mastodon/features/status/components/action_bar.js
@@ -16,6 +16,7 @@ const messages = defineMessages({
reblog_private: { id: 'status.reblog_private', defaultMessage: 'Boost to original audience' },
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },
+ local_only: { id: 'status.local_only', defaultMessage: 'This post is only visible by other users of your instance' },
favourite: { id: 'status.favourite', defaultMessage: 'Favourite' },
mute: { id: 'status.mute', defaultMessage: 'Mute @{name}' },
muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },
@@ -138,6 +139,7 @@ class ActionBar extends React.PureComponent {
const publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));
const mutingConversation = status.get('muted');
+ const federated = !status.get('local_only');
let menu = [];
@@ -175,7 +177,7 @@ class ActionBar extends React.PureComponent {
}
}
- const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (
+ const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && federated && (
);
From 7d7712e1ba41ecf6101cc015309ab8225b1d773c Mon Sep 17 00:00:00 2001
From: Darius Kazemi
Date: Fri, 13 Sep 2019 20:27:32 -0700
Subject: [PATCH 043/129] Fixing header CSS for rich text statuses
Making the headers larger in font size, and differentiating the h1 and
h2 headers.
---
app/javascript/styles/mastodon/components.scss | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 2c0f0beb7..3088424fd 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -727,14 +727,14 @@
margin-bottom: 20px;
}
- h1,
- h2 {
+ h1 {
font-weight: 700;
- font-size: 18px;
+ font-size: 22px;
}
h2 {
- font-size: 16px;
+ font-weight: 700;
+ font-size: 20px;
}
h3,
From e7d13cd08aa40148f483ccc086e32b08f5b49553 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Mon, 16 Sep 2019 21:02:08 +0100
Subject: [PATCH 044/129] All 'Mastodon' references in emails (except
unlock_instructions) changed to instance title
unlock_instructions doesn't seem to exist elsewhere in the project so I've left it as is.
---
app/mailers/user_mailer.rb | 10 +++++-----
.../reconfirmation_instructions.html.haml | 2 +-
config/locales/devise.en.yml | 12 ++++++------
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
index b494e62fb..99f8de5ed 100644
--- a/app/mailers/user_mailer.rb
+++ b/app/mailers/user_mailer.rb
@@ -17,7 +17,7 @@ class UserMailer < Devise::Mailer
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.unconfirmed_email.presence || @resource.email,
- subject: I18n.t(@resource.pending_reconfirmation? ? 'devise.mailer.reconfirmation_instructions.subject' : 'devise.mailer.confirmation_instructions.subject', instance: @instance),
+ subject: I18n.t(@resource.pending_reconfirmation? ? 'devise.mailer.reconfirmation_instructions.subject' : 'devise.mailer.confirmation_instructions.subject', instance: @instance, title: Setting.site_title),
template_name: @resource.pending_reconfirmation? ? 'reconfirmation_instructions' : 'confirmation_instructions'
end
end
@@ -30,7 +30,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do
- mail to: @resource.email, subject: I18n.t('devise.mailer.reset_password_instructions.subject')
+ mail to: @resource.email, subject: I18n.t('devise.mailer.reset_password_instructions.subject', title: Setting.site_title)
end
end
@@ -41,7 +41,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do
- mail to: @resource.email, subject: I18n.t('devise.mailer.password_change.subject')
+ mail to: @resource.email, subject: I18n.t('devise.mailer.password_change.subject', title: Setting.site_title)
end
end
@@ -52,7 +52,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do
- mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject')
+ mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject', title: Setting.site_title)
end
end
@@ -75,7 +75,7 @@ class UserMailer < Devise::Mailer
return if @resource.disabled?
I18n.with_locale(@resource.locale || I18n.default_locale) do
- mail to: @resource.email, subject: I18n.t('user_mailer.backup_ready.subject')
+ mail to: @resource.email, subject: I18n.t('user_mailer.backup_ready.subject', title: Setting.site_title)
end
end
diff --git a/app/views/user_mailer/reconfirmation_instructions.html.haml b/app/views/user_mailer/reconfirmation_instructions.html.haml
index 7f10ba94f..c02d44724 100644
--- a/app/views/user_mailer/reconfirmation_instructions.html.haml
+++ b/app/views/user_mailer/reconfirmation_instructions.html.haml
@@ -57,4 +57,4 @@
%tbody
%tr
%td.column-cell.text-center.padded
- %p= t 'devise.mailer.reconfirmation_instructions.extra'
+ %p= t 'devise.mailer.reconfirmation_instructions.extra', title: site_title
diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml
index 2930733c0..a5ca02c77 100644
--- a/config/locales/devise.en.yml
+++ b/config/locales/devise.en.yml
@@ -23,28 +23,28 @@ en:
explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email.
explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can't login until then. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email.
extra_html: Please also check out the rules of the server and our terms of service.
- subject: 'Mastodon: Confirmation instructions for %{instance}'
+ subject: '%{title}: Confirmation instructions'
title: Verify email address
email_changed:
explanation: 'The email address for your account is being changed to:'
extra: If you did not change your email, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account.
- subject: 'Mastodon: Email changed'
+ subject: '%{title}: Email changed'
title: New email address
password_change:
explanation: The password for your account has been changed.
extra: If you did not change your password, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account.
- subject: 'Mastodon: Password changed'
+ subject: '%{title}: Password changed'
title: Password changed
reconfirmation_instructions:
explanation: Confirm the new address to change your email.
- extra: If this change wasn't initiated by you, please ignore this email. The email address for the Mastodon account won't change until you access the link above.
- subject: 'Mastodon: Confirm email for %{instance}'
+ extra: If this change wasn't initiated by you, please ignore this email. The email address for the %{title} account won't change until you access the link above.
+ subject: '%{title}: Confirm email'
title: Verify email address
reset_password_instructions:
action: Change password
explanation: You requested a new password for your account.
extra: If you didn't request this, please ignore this email. Your password won't change until you access the link above and create a new one.
- subject: 'Mastodon: Reset password instructions'
+ subject: '%{title}: Reset password instructions'
title: Password reset
unlock_instructions:
subject: 'Mastodon: Unlock instructions'
From 3d4f3d783a4738989442d494f3e4018397742a75 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Mon, 16 Sep 2019 21:09:31 +0100
Subject: [PATCH 045/129] Update the mobile web app copy to be factually
accurate about iOS, and also grammatically correct
iOS still doesn't have web push notifications :( and the original wording makes it sound like it does :( :(
---
config/locales/en.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 3892adb84..ba2154279 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1074,7 +1074,7 @@ en:
tip_federated_timeline: The federated timeline is a firehose view of the wider network. But it only includes people your neighbours are subscribed to, so it's not complete.
tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines.
tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours!
- tip_mobile_webapp: If your mobile browser offers you to add %{instance} to your homescreen, you can receive push notifications. It acts like a native app in many ways!
+ tip_mobile_webapp: If your Android mobile browser prompts you to add %{instance} to your homescreen, you can receive push notifications from the web app. It acts like a native app in many ways! On iOS, you can still pin %{instance} to your homescreen, but you will not receive push notifications.
tips: Tips
title: Welcome aboard, %{name}!
users:
From e83b30c39ddb792bed6259a7ab4380600ec21367 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Mon, 16 Sep 2019 21:13:35 +0100
Subject: [PATCH 046/129] De-tooting/removing mention of Mastodon
---
.../mastodon/features/compose/components/search_results.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/javascript/mastodon/features/compose/components/search_results.js b/app/javascript/mastodon/features/compose/components/search_results.js
index 2f338dd24..90f5848d7 100644
--- a/app/javascript/mastodon/features/compose/components/search_results.js
+++ b/app/javascript/mastodon/features/compose/components/search_results.js
@@ -73,7 +73,7 @@ class SearchResults extends ImmutablePureComponent {
count += results.get('statuses').size;
statuses = (
diff --git a/app/javascript/mastodon/features/keyboard_shortcuts/index.js b/app/javascript/mastodon/features/keyboard_shortcuts/index.js
index 01b45652c..b92bcd42c 100644
--- a/app/javascript/mastodon/features/keyboard_shortcuts/index.js
+++ b/app/javascript/mastodon/features/keyboard_shortcuts/index.js
@@ -82,7 +82,7 @@ class KeyboardShortcuts extends ImmutablePureComponent {
alt+n
-
+
backspace
@@ -126,7 +126,7 @@ class KeyboardShortcuts extends ImmutablePureComponent {
g+p
-
+
g+u
diff --git a/app/javascript/mastodon/features/pinned_statuses/index.js b/app/javascript/mastodon/features/pinned_statuses/index.js
index 98cdbda3c..f29806937 100644
--- a/app/javascript/mastodon/features/pinned_statuses/index.js
+++ b/app/javascript/mastodon/features/pinned_statuses/index.js
@@ -10,7 +10,7 @@ import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({
- heading: { id: 'column.pins', defaultMessage: 'Pinned toot' },
+ heading: { id: 'column.pins', defaultMessage: 'Pinned post' },
});
const mapStateToProps = state => ({
diff --git a/app/javascript/mastodon/features/reblogs/index.js b/app/javascript/mastodon/features/reblogs/index.js
index c05d21c74..5d0d8c89a 100644
--- a/app/javascript/mastodon/features/reblogs/index.js
+++ b/app/javascript/mastodon/features/reblogs/index.js
@@ -46,7 +46,7 @@ class Reblogs extends ImmutablePureComponent {
);
}
- const emptyMessage = ;
+ const emptyMessage = ;
return (
diff --git a/app/javascript/mastodon/features/ui/components/columns_area.js b/app/javascript/mastodon/features/ui/components/columns_area.js
index 042e44e43..ae3d4f0a9 100644
--- a/app/javascript/mastodon/features/ui/components/columns_area.js
+++ b/app/javascript/mastodon/features/ui/components/columns_area.js
@@ -33,7 +33,7 @@ const componentMap = {
};
const messages = defineMessages({
- publish: { id: 'compose_form.publish', defaultMessage: 'Toot' },
+ publish: { id: 'compose_form.publish', defaultMessage: 'Post' },
});
const shouldHideFAB = path => path.match(/^\/statuses\/|^\/search|^\/getting-started/);
diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json
index d4706768c..faa7da094 100644
--- a/app/javascript/mastodon/locales/ast.json
+++ b/app/javascript/mastodon/locales/ast.json
@@ -23,7 +23,7 @@
"account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
- "account.posts": "Toots",
+ "account.posts": "Posts",
"account.posts_with_replies": "Toots y rempuestes",
"account.report": "Report @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request",
@@ -67,7 +67,7 @@
"community.column_settings.media_only": "Media Only",
"compose_form.direct_message_warning": "Esti toot namái va unviase a los usuarios mentaos.",
"compose_form.direct_message_warning_learn_more": "Learn more",
- "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
+ "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "¿En qué pienses?",
@@ -123,7 +123,7 @@
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "Entá nun tienes dengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
"empty_column.domain_blocks": "Entá nun hai dominios anubríos.",
- "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
+ "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
"empty_column.follow_requests": "Entá nun tienes denguna solicitú de siguimientu. Cuando recibas una, va amosase equí.",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
@@ -171,13 +171,13 @@
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
- "introduction.interactions.action": "Finish toot-orial!",
+ "introduction.interactions.action": "Finish tutorial!",
"introduction.interactions.favourite.headline": "Favourite",
- "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.favourite.text": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
- "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
- "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "introduction.interactions.reply.text": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index f534aa4ba..f281a5619 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -67,7 +67,7 @@
"community.column_settings.media_only": "Media Only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
- "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
+ "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Какво си мислиш?",
@@ -123,8 +123,8 @@
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "There are no hidden domains yet.",
- "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
- "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
+ "empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
+ "empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
"empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
@@ -175,12 +175,12 @@
"introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
- "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
- "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "introduction.interactions.reply.text": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps",
- "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
+ "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special — it hosts your profile, so remember its name.",
"keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list",
"keyboard_shortcuts.boost": "to boost",
@@ -202,7 +202,7 @@
"keyboard_shortcuts.muted": "to open muted users list",
"keyboard_shortcuts.my_profile": "to open your profile",
"keyboard_shortcuts.notifications": "to open notifications column",
- "keyboard_shortcuts.pinned": "to open pinned toots list",
+ "keyboard_shortcuts.pinned": "to open pinned posts list",
"keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.requests": "to open follow requests list",
@@ -249,7 +249,7 @@
"navigation_bar.logout": "Излизане",
"navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal",
- "navigation_bar.pins": "Pinned toots",
+ "navigation_bar.pins": "Pinned posts",
"navigation_bar.preferences": "Предпочитания",
"navigation_bar.profile_directory": "Profile directory",
"navigation_bar.public_timeline": "Публичен канал",
@@ -318,7 +318,7 @@
"search_popout.tips.user": "user",
"search_results.accounts": "People",
"search_results.hashtags": "Hashtags",
- "search_results.statuses": "Toots",
+ "search_results.statuses": "Posts",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 5f76bed2b..1c4a23138 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -23,7 +23,7 @@
"account.mute": "Silencia @{name}",
"account.mute_notifications": "Notificacions desactivades de @{name}",
"account.muted": "Silenciat",
- "account.posts": "Toots",
+ "account.posts": "Posts",
"account.posts_with_replies": "Toots i respostes",
"account.report": "Informe @{name}",
"account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment",
diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json
index c478f2953..33e84a928 100644
--- a/app/javascript/mastodon/locales/da.json
+++ b/app/javascript/mastodon/locales/da.json
@@ -173,9 +173,9 @@
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Slut tutorial!",
"introduction.interactions.favourite.headline": "Favorisere",
- "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "introduction.interactions.favourite.text": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
- "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
+ "introduction.interactions.reblog.text": "You can share other people's posts with your followers by boosting them.",
"introduction.interactions.reply.headline": "Svar",
"introduction.interactions.reply.text": "Du kan svare andres og din egen bidrag, hvilke vil kæde dem sammen i en konversation.",
"introduction.welcome.action": "Læd os gå!",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index 236d573e8..f2cbcbcab 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -409,7 +409,7 @@
"id": "status.filtered"
},
{
- "defaultMessage": "Pinned toot",
+ "defaultMessage": "Pinned post",
"id": "status.pinned"
},
{
@@ -493,11 +493,11 @@
{
"descriptors": [
{
- "defaultMessage": "Toots",
+ "defaultMessage": "Posts",
"id": "account.posts"
},
{
- "defaultMessage": "Toots and replies",
+ "defaultMessage": "Posts and replies",
"id": "account.posts_with_replies"
},
{
@@ -556,7 +556,7 @@
"id": "empty_column.account_unavailable"
},
{
- "defaultMessage": "No toots here!",
+ "defaultMessage": "No posts here!",
"id": "empty_column.account_timeline"
}
],
@@ -641,7 +641,7 @@
"id": "account.show_reblogs"
},
{
- "defaultMessage": "Pinned toots",
+ "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins"
},
{
@@ -709,7 +709,7 @@
"id": "account.badges.bot"
},
{
- "defaultMessage": "Toots",
+ "defaultMessage": "Posts",
"id": "account.posts"
},
{
@@ -765,7 +765,7 @@
"id": "account.edit_profile"
},
{
- "defaultMessage": "Pinned toots",
+ "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins"
},
{
@@ -814,7 +814,7 @@
"id": "compose_form.spoiler_placeholder"
},
{
- "defaultMessage": "Toot",
+ "defaultMessage": "Post",
"id": "compose_form.publish"
},
{
@@ -892,7 +892,7 @@
"id": "federation.federated.short"
},
{
- "defaultMessage": "Allow toot to reach other instances",
+ "defaultMessage": "Allow post to reach other instances",
"id": "federation.federated.long"
},
{
@@ -900,7 +900,7 @@
"id": "federation.local_only.short"
},
{
- "defaultMessage": "Restrict this toot only to my instance",
+ "defaultMessage": "Restrict this post only to my instance",
"id": "federation.local_only.long"
},
{
@@ -1030,7 +1030,7 @@
"id": "search_results.accounts"
},
{
- "defaultMessage": "Toots",
+ "defaultMessage": "Posts",
"id": "search_results.statuses"
},
{
@@ -1153,11 +1153,11 @@
"id": "compose_form.lock_disclaimer.lock"
},
{
- "defaultMessage": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
+ "defaultMessage": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"id": "compose_form.hashtag_warning"
},
{
- "defaultMessage": "This toot will only be sent to all the mentioned users.",
+ "defaultMessage": "This post will only be sent to all the mentioned users.",
"id": "compose_form.direct_message_warning"
},
{
@@ -1198,7 +1198,7 @@
"id": "navigation_bar.logout"
},
{
- "defaultMessage": "Compose new toot",
+ "defaultMessage": "Compose new post",
"id": "navigation_bar.compose"
}
],
@@ -1241,7 +1241,7 @@
"id": "column.favourites"
},
{
- "defaultMessage": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
+ "defaultMessage": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
"id": "empty_column.favourited_statuses"
}
],
@@ -1250,7 +1250,7 @@
{
"descriptors": [
{
- "defaultMessage": "No one has favourited this toot yet. When someone does, they will show up here.",
+ "defaultMessage": "No one has favourited this post yet. When someone does, they will show up here.",
"id": "empty_column.favourites"
}
],
@@ -1359,7 +1359,7 @@
"id": "navigation_bar.mutes"
},
{
- "defaultMessage": "Pinned toots",
+ "defaultMessage": "Pinned posts",
"id": "navigation_bar.pins"
},
{
@@ -1520,7 +1520,7 @@
"id": "introduction.interactions.reply.headline"
},
{
- "defaultMessage": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
+ "defaultMessage": "You can reply to other people's and your own posts, which will chain them together in a conversation.",
"id": "introduction.interactions.reply.text"
},
{
@@ -1528,7 +1528,7 @@
"id": "introduction.interactions.reblog.headline"
},
{
- "defaultMessage": "You can share other people's toots with your followers by boosting them.",
+ "defaultMessage": "You can share other people's posts with your followers by boosting them.",
"id": "introduction.interactions.reblog.text"
},
{
@@ -1536,11 +1536,11 @@
"id": "introduction.interactions.favourite.headline"
},
{
- "defaultMessage": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
+ "defaultMessage": "You can save a post for later, and let the author know that you liked it, by favouriting it.",
"id": "introduction.interactions.favourite.text"
},
{
- "defaultMessage": "Finish toot-orial!",
+ "defaultMessage": "Finish tutorial!",
"id": "introduction.interactions.action"
}
],
@@ -1609,7 +1609,7 @@
"id": "keyboard_shortcuts.compose"
},
{
- "defaultMessage": "to start a brand new toot",
+ "defaultMessage": "to start a brand new post",
"id": "keyboard_shortcuts.toot"
},
{
@@ -1653,7 +1653,7 @@
"id": "keyboard_shortcuts.favourites"
},
{
- "defaultMessage": "to open pinned toots list",
+ "defaultMessage": "to open pinned posts list",
"id": "keyboard_shortcuts.pinned"
},
{
@@ -1932,7 +1932,7 @@
{
"descriptors": [
{
- "defaultMessage": "Pinned toot",
+ "defaultMessage": "Pinned post",
"id": "column.pins"
}
],
@@ -1954,7 +1954,7 @@
{
"descriptors": [
{
- "defaultMessage": "No one has boosted this toot yet. When someone does, they will show up here.",
+ "defaultMessage": "No one has boosted this post yet. When someone does, they will show up here.",
"id": "status.reblogs.empty"
}
],
@@ -2210,7 +2210,7 @@
{
"descriptors": [
{
- "defaultMessage": "Toot",
+ "defaultMessage": "Post",
"id": "compose_form.publish"
}
],
@@ -2517,4 +2517,4 @@
],
"path": "app/javascript/mastodon/features/video/index.json"
}
-]
\ No newline at end of file
+]
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 63c73563e..6a56f99f0 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -318,7 +318,7 @@
"search_popout.tips.user": "user",
"search_results.accounts": "People",
"search_results.hashtags": "Hashtags",
- "search_results.statuses": "Toots",
+ "search_results.statuses": "Posts",
"search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index 93235ad1f..dae22f8e8 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -3,10 +3,10 @@ en:
simple_form:
hints:
account_warning_preset:
- text: You can use toot syntax, such as URLs, hashtags and mentions
+ text: You can use post syntax, such as URLs, hashtags and mentions
admin_account_action:
send_email_notification: The user will receive an explanation of what happened with their account
- text_html: Optional. You can use toot syntax. You can add warning presets to save time
+ text_html: Optional. You can use post syntax. You can add warning presets to save time
type_html: Choose what to do with %{acct}
warning_preset_id: Optional. You can still add custom text to end of the preset
defaults:
@@ -20,21 +20,21 @@ en:
fields: You can have up to 4 items displayed as a table on your profile
header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
inbox_url: Copy the URL from the frontpage of the relay you want to use
- irreversible: Filtered toots will disappear irreversibly, even if filter is later removed
+ irreversible: Filtered posts will disappear irreversibly, even if filter is later removed
locale: The language of the user interface, e-mails and push notifications
locked: Requires you to manually approve followers
password: Use at least 8 characters
- phrase: Will be matched regardless of casing in text or content warning of a toot
+ phrase: Will be matched regardless of casing in text or content warning of a post
scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones.
- setting_aggregate_reblogs: Do not show new boosts for toots that have been recently boosted (only affects newly-received boosts)
- setting_default_federation: Toots do not federate to other instances unless manually changed while composing
+ setting_aggregate_reblogs: Do not show new boosts for posts that have been recently boosted (only affects newly-received boosts)
+ setting_default_federation: Posts do not federate to other instances unless manually changed while composing
setting_default_sensitive: Sensitive media is hidden by default and can be revealed with a click
setting_display_media_default: Hide media marked as sensitive
setting_display_media_hide_all: Always hide all media
setting_display_media_show_all: Always show media marked as sensitive
setting_hide_network: Who you follow and who follows you will not be shown on your profile
setting_noindex: Affects your public profile and status pages
- setting_show_application: The application you use to toot will be displayed in the detailed view of your toots
+ setting_show_application: The application you use to post will be displayed in the detailed view of your posts
username: Your username will be unique on %{domain}
whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word
featured_tag:
@@ -46,7 +46,7 @@ en:
sessions:
otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:'
user:
- chosen_languages: When checked, only toots in selected languages will be displayed in public timelines
+ chosen_languages: When checked, only posts in selected languages will be displayed in public timelines
labels:
account:
fields:
@@ -94,20 +94,20 @@ en:
setting_aggregate_reblogs: Group boosts in timelines
setting_auto_play_gif: Auto-play animated GIFs
setting_boost_modal: Show confirmation dialog before boosting
- setting_default_federation: Allow my toots to reach other instances by default
+ setting_default_federation: Allow my posts to reach other instances by default
setting_default_language: Posting language
setting_default_privacy: Posting privacy
setting_default_sensitive: Always mark media as sensitive
- setting_delete_modal: Show confirmation dialog before deleting a toot
+ setting_delete_modal: Show confirmation dialog before deleting a post
setting_display_media: Media display
setting_display_media_default: Default
setting_display_media_hide_all: Hide all
setting_display_media_show_all: Show all
- setting_expand_spoilers: Always expand toots marked with content warnings
+ setting_expand_spoilers: Always expand posts marked with content warnings
setting_hide_network: Hide your network
setting_noindex: Opt-out of search engine indexing
setting_reduce_motion: Reduce motion in animations
- setting_show_application: Disclose application used to send toots
+ setting_show_application: Disclose application used to send posts
setting_system_font_ui: Use system's default font
setting_theme: Site theme
setting_unfollow_modal: Show confirmation dialog before unfollowing someone
From 87ad6ac03a43d551d0dbfb06ab15a576f9de4670 Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Tue, 17 Sep 2019 16:46:21 +0100
Subject: [PATCH 055/129] Add default hometown mascot images
---
app/javascript/images/defaultmascot.svg | 1 +
app/javascript/images/defaultmascotdark.svg | 1 +
app/javascript/images/defaultmascotlight.svg | 1 +
3 files changed, 3 insertions(+)
create mode 100644 app/javascript/images/defaultmascot.svg
create mode 100644 app/javascript/images/defaultmascotdark.svg
create mode 100644 app/javascript/images/defaultmascotlight.svg
diff --git a/app/javascript/images/defaultmascot.svg b/app/javascript/images/defaultmascot.svg
new file mode 100644
index 000000000..e1381af8a
--- /dev/null
+++ b/app/javascript/images/defaultmascot.svg
@@ -0,0 +1 @@
+
diff --git a/app/javascript/images/defaultmascotdark.svg b/app/javascript/images/defaultmascotdark.svg
new file mode 100644
index 000000000..352118ec2
--- /dev/null
+++ b/app/javascript/images/defaultmascotdark.svg
@@ -0,0 +1 @@
+
diff --git a/app/javascript/images/defaultmascotlight.svg b/app/javascript/images/defaultmascotlight.svg
new file mode 100644
index 000000000..03ede1333
--- /dev/null
+++ b/app/javascript/images/defaultmascotlight.svg
@@ -0,0 +1 @@
+
From 2ebe82c49bad1af9757516f89ec7ccaa699fa07a Mon Sep 17 00:00:00 2001
From: Emma Winston
Date: Tue, 17 Sep 2019 16:57:08 +0100
Subject: [PATCH 056/129] Utility function to detect background colour and
select either light or dark default hometown logo
---
.../mastodon/features/compose/index.js | 13 ++++++++++--
.../features/compose/util/svg_select.js | 21 +++++++++++++++++++
.../styles/mastodon/components.scss | 6 ++++++
3 files changed, 38 insertions(+), 2 deletions(-)
create mode 100644 app/javascript/mastodon/features/compose/util/svg_select.js
diff --git a/app/javascript/mastodon/features/compose/index.js b/app/javascript/mastodon/features/compose/index.js
index 0780b7d8c..4d53b9905 100644
--- a/app/javascript/mastodon/features/compose/index.js
+++ b/app/javascript/mastodon/features/compose/index.js
@@ -12,8 +12,10 @@ import Motion from '../ui/util/optional_motion';
import spring from 'react-motion/lib/spring';
import SearchResultsContainer from './containers/search_results_container';
import { changeComposing } from '../../actions/compose';
-import elephantUIPlane from '../../../images/elephant_ui_plane.svg';
+import defaultmascotlight from '../../../images/defaultmascotlight.svg';
+import defaultmascotdark from '../../../images/defaultmascotdark.svg';
import { mascot } from '../../initial_state';
+import {svgSelect} from './util/svg_select';
import Icon from 'mastodon/components/icon';
const messages = defineMessages({
@@ -32,6 +34,13 @@ const mapStateToProps = (state, ownProps) => ({
showSearch: ownProps.multiColumn ? state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']) : ownProps.isSearchPage,
});
+let instanceMascot;
+if (mascot) {
+ instanceMascot = ;
+} else {
+ instanceMascot = ;
+}
+
export default @connect(mapStateToProps)
@injectIntl
class Compose extends React.PureComponent {
@@ -110,7 +119,7 @@ class Compose extends React.PureComponent {