diff --git a/Vagrantfile b/Vagrantfile
index e52ec556b9d..ee45d1d16f1 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -12,7 +12,7 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-add-repository 'deb https://dl.yarnpkg.com/debian/ stable main'
# Add repo for NodeJS
-curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
+curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
# Add firewall rule to redirect 80 to PORT and save
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port #{ENV["PORT"]}
diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb
index 723da665eed..35ee5cca922 100644
--- a/app/controllers/accounts_controller.rb
+++ b/app/controllers/accounts_controller.rb
@@ -52,7 +52,7 @@ class AccountsController < ApplicationController
private
def show_pinned_statuses?
- [replies_requested?, media_requested?, params[:max_id].present?, params[:since_id].present?].none?
+ [replies_requested?, media_requested?, params[:max_id].present?, params[:min_id].present?].none?
end
def filtered_statuses
diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb
index 75d00326c76..3234b194f37 100644
--- a/app/controllers/admin/settings_controller.rb
+++ b/app/controllers/admin/settings_controller.rb
@@ -6,6 +6,7 @@ module Admin
site_contact_username
site_contact_email
site_title
+ site_short_description
site_description
site_extended_description
site_terms
diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb
index 723480bddb4..010cf7fc3e6 100644
--- a/app/models/form/admin_settings.rb
+++ b/app/models/form/admin_settings.rb
@@ -10,6 +10,8 @@ class Form::AdminSettings
:site_contact_email=,
:site_title,
:site_title=,
+ :site_short_description,
+ :site_short_description=,
:site_description,
:site_description=,
:site_extended_description,
diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb
index db288d5dbbe..d14836b9d7c 100644
--- a/app/presenters/instance_presenter.rb
+++ b/app/presenters/instance_presenter.rb
@@ -6,6 +6,7 @@ class InstancePresenter
:site_contact_email,
:open_registrations,
:site_title,
+ :site_short_description,
:site_description,
:site_extended_description,
:site_terms,
diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml
index f5c5deca850..fda6b00f44b 100644
--- a/app/views/admin/settings/edit.html.haml
+++ b/app/views/admin/settings/edit.html.haml
@@ -7,7 +7,8 @@
.fields-group
= f.input :site_title, placeholder: t('admin.settings.site_title')
- = f.input :site_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description.title'), hint: t('admin.settings.site_description.desc_html'), input_html: { rows: 8 }
+ = f.input :site_short_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_short_description.title'), hint: t('admin.settings.site_short_description.desc_html'), input_html: { rows: 2 }
+ = f.input :site_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description.title'), hint: t('admin.settings.site_description.desc_html'), input_html: { rows: 4 }
= f.input :site_contact_username, placeholder: t('admin.settings.contact_information.username')
= f.input :site_contact_email, placeholder: t('admin.settings.contact_information.email')
diff --git a/app/views/application/_sidebar.html.haml b/app/views/application/_sidebar.html.haml
index 3d8832bb47e..2ff14b2526f 100644
--- a/app/views/application/_sidebar.html.haml
+++ b/app/views/application/_sidebar.html.haml
@@ -3,4 +3,4 @@
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('preview.jpg'), alt: @instance_presenter.site_title
.hero-widget__text
- %p= @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
+ %p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
diff --git a/app/views/shared/_og.html.haml b/app/views/shared/_og.html.haml
index a6d805bea22..76db511cd86 100644
--- a/app/views/shared/_og.html.haml
+++ b/app/views/shared/_og.html.haml
@@ -3,7 +3,7 @@
= opengraph 'og:url', url_for(only_path: false)
= opengraph 'og:type', 'website'
= opengraph 'og:title', @instance_presenter.site_title
-= opengraph 'og:description', strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon_html'))
+= opengraph 'og:description', strip_tags(@instance_presenter.site_short_description.presence || @instance_presenter.site_description.presence || t('about.about_mastodon_html'))
= opengraph 'og:image', full_asset_url(thumbnail&.file&.url || asset_pack_path('preview.jpg', protocol: :request))
= opengraph 'og:image:width', thumbnail ? thumbnail.meta['width'] : '1200'
= opengraph 'og:image:height', thumbnail ? thumbnail.meta['height'] : '630'
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 18f2931786e..98fa3211ae3 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -372,11 +372,14 @@ en:
desc_html: Show a staff badge on a user page
title: Show staff badge
site_description:
- desc_html: Introductory paragraph on the frontpage and in meta tags. You can use HTML tags, in particular <a>
and <em>
.
+ desc_html: Introductory paragraph on the frontpage. Describe what makes this Mastodon server special and anything else important. You can use HTML tags, in particular <a>
and <em>
.
title: Instance description
site_description_extended:
desc_html: A good place for your code of conduct, rules, guidelines and other things that set your instance 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. If empty, defaults to instance description.
+ title: Short instance description
site_terms:
desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
title: Custom terms of service
diff --git a/config/settings.yml b/config/settings.yml
index 42d41e7be54..0bdcf96e002 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -8,6 +8,7 @@
#
defaults: &defaults
site_title: 'dev.glitch.social'
+ site_short_description: ''
site_description: ''
site_extended_description: ''
site_terms: ''
diff --git a/spec/views/about/show.html.haml_spec.rb b/spec/views/about/show.html.haml_spec.rb
index 0f4d79569a7..e15c72cecf2 100644
--- a/spec/views/about/show.html.haml_spec.rb
+++ b/spec/views/about/show.html.haml_spec.rb
@@ -13,6 +13,7 @@ describe 'about/show.html.haml', without_verify_partial_doubles: true do
it 'has valid open graph tags' do
instance_presenter = double(:instance_presenter,
site_title: 'something',
+ site_short_description: 'something',
site_description: 'something',
version_number: '1.0',
source_url: 'https://github.com/tootsuite/mastodon',