Extended nicknames: allow dashes.
authorhref <href@random.sh>
Wed, 12 Dec 2018 20:44:08 +0000 (21:44 +0100)
committerhref <href@random.sh>
Wed, 12 Dec 2018 20:48:54 +0000 (21:48 +0100)
config/config.md
lib/pleroma/formatter.ex
lib/pleroma/user.ex

index e8e2cf6f835a66c8a965571e8f36bf1b22f66bf8..6b45c01daf9f6f2973679fbeaa3c2bc3364e82d9 100644 (file)
@@ -63,7 +63,7 @@ This filter replaces the filename (not the path) of an upload. For complete obfu
   * "masto": Copy verbatim, as in Mastodon.
   * "noop": Don't copy the subject.
 * `always_show_subject_input`: When set to false, auto-hide the subject field when it's empty.
-* `extended_nickname_format`: Set to `true` to use extended local nicknames format (allows underscore). This will break federation with
+* `extended_nickname_format`: Set to `true` to use extended local nicknames format (allows underscores/dashes). This will break federation with
     older software for theses nicknames.
 
 ## :fe
index 1fea1c57a445977b40b38830f0ae2b92d1c4aee6..1336837944af4c3c80b2e8013dab5cb6870debe0 100644 (file)
@@ -18,7 +18,7 @@ defmodule Pleroma.Formatter do
   def parse_mentions(text) do
     # Modified from https://www.w3.org/TR/html5/forms.html#valid-e-mail-address
     regex =
-      ~r/@[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]*@?[a-zA-Z0-9_](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*/u
+      ~r/@[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]*@?[a-zA-Z0-9_-](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*/u
 
     Regex.scan(regex, text)
     |> List.flatten()
index f10cdfbc8ee21b6c78eb147948af94ac88aa22c0..49928bc1387689b10d68e60890d6452a54cbc59d 100644 (file)
@@ -14,7 +14,7 @@ defmodule Pleroma.User do
   @email_regex ~r/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
 
   @strict_local_nickname_regex ~r/^[a-zA-Z\d]+$/
-  @extended_local_nickname_regex ~r/^[a-zA-Z\d_]+$/
+  @extended_local_nickname_regex ~r/^[a-zA-Z\d_-]+$/
 
   schema "users" do
     field(:bio, :string)