about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-11-05 22:09:51 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-11-05 22:09:51 +0100
commit7bb28bf7804eadbaeac05e7adb8123a8fb6c5d02 (patch)
tree9bc9bf1fe93f36f169b903d930c69fbaf624ed1d /app
parent262adb9791f32162340cec23e3b571655225a3da (diff)
Improve @mention regex
Diffstat (limited to 'app')
-rw-r--r--app/models/account.rb2
-rw-r--r--app/services/process_hashtags_service.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/app/models/account.rb b/app/models/account.rb
index 9999f05dd..cb186b465 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -1,7 +1,7 @@
 class Account < ApplicationRecord
   include Targetable
 
-  MENTION_RE = /(?:^|\s|\.|>)@([a-z0-9_]+(?:@[a-z0-9\.\-]+)?)/i
+  MENTION_RE = /(?:^|[\s\.>*+])@([a-z0-9_]+(?:@[a-z0-9\.\-]+)?)/i
   IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze
 
   # Local users
diff --git a/app/services/process_hashtags_service.rb b/app/services/process_hashtags_service.rb
index 8c68ce989..df30f73ae 100644
--- a/app/services/process_hashtags_service.rb
+++ b/app/services/process_hashtags_service.rb
@@ -4,7 +4,7 @@ class ProcessHashtagsService < BaseService
       tags = status.text.scan(Tag::HASHTAG_RE).map(&:first)
     end
 
-    tags.map(&:downcase).each do |tag|
+    tags.map(&:downcase).uniq.each do |tag|
       status.tags << Tag.where(name: tag).first_or_initialize(name: tag)
     end
   end