about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-16 11:18:09 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-16 11:18:09 +0100
commita9db42a956fb045131b06ba434a74189c96ad651 (patch)
treecac55724892f21ec5c10713c874b824dab5ae923
parent5c99e304e5d3e9f975d19d7097bfde3ace986ad8 (diff)
Validations for local profiles
-rw-r--r--Dockerfile2
-rw-r--r--app/helpers/stream_entries_helper.rb2
-rw-r--r--app/models/account.rb4
3 files changed, 7 insertions, 1 deletions
diff --git a/Dockerfile b/Dockerfile
index f569dbea9..7c0e81afb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,3 +13,5 @@ ADD Gemfile.lock /mastodon/Gemfile.lock
 RUN bundle install --deployment --without test --without development
 
 ADD . /mastodon
+
+VOLUME ['/mastodon/public/system']
diff --git a/app/helpers/stream_entries_helper.rb b/app/helpers/stream_entries_helper.rb
index 60955a0a7..5adb09f77 100644
--- a/app/helpers/stream_entries_helper.rb
+++ b/app/helpers/stream_entries_helper.rb
@@ -25,7 +25,7 @@ module StreamEntriesHelper
     status.mentions.each { |m| mention_hash[m.acct] = m }
     coder = HTMLEntities.new
 
-    auto_link(coder.encode(status.text), link: :urls, html: { target: '_blank', rel: 'nofollow' }).gsub(Account::MENTION_RE) do |m|
+    auto_link(coder.encode(status.text), link: :urls, html: { rel: 'nofollow noopener' }).gsub(Account::MENTION_RE) do |m|
       account = mention_hash[Account::MENTION_RE.match(m)[1]]
       "#{m.split('@').first}<a href=\"#{url_for_target(account)}\" class=\"mention\">@<span>#{account.acct}</span></a>"
     end.html_safe
diff --git a/app/models/account.rb b/app/models/account.rb
index 7577d7bd8..b3917e6e8 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -12,6 +12,10 @@ class Account < ActiveRecord::Base
   has_attached_file :header, styles: { medium: '700x335#' }
   validates_attachment_content_type :header, content_type: /\Aimage\/.*\Z/
 
+  # Local user profile validations
+  validates :display_name, length: { maximum: 30 }, if: 'local?'
+  validates :note, length: { maximum: 124 }, if: 'local?'
+
   # Timelines
   has_many :stream_entries, inverse_of: :account
   has_many :statuses, inverse_of: :account