fix ens name turns into public key while editing message (#14149)

This commit is contained in:
Parvesh Monu 2022-10-14 17:35:36 +05:30 committed by GitHub
parent 509b8bf3e1
commit ac9fb2fe4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 17 deletions

View File

@ -1 +1 @@
1.20.0 1.20.2

View File

@ -185,7 +185,7 @@
[alias name nickname])) [alias name nickname]))
(defn add-searchable-phrases-to-contact (defn add-searchable-phrases-to-contact
[{:keys [alias name added? blocked? identicon public-key nickname]} community-chat?] [{:keys [alias name added? blocked? identicon public-key nickname ens-verified]} community-chat?]
(when (and alias (when (and alias
(not (string/blank? alias)) (not (string/blank? alias))
(or name (or name
@ -194,11 +194,12 @@
community-chat?) community-chat?)
(not blocked?)) (not blocked?))
(add-searchable-phrases (add-searchable-phrases
{:alias alias {:alias alias
:name (or (utils/safe-replace name ".stateofus.eth" "") alias) :name (or (and ens-verified (utils/safe-replace name ".stateofus.eth" "")) alias)
:identicon identicon :identicon identicon
:nickname nickname :nickname nickname
:public-key public-key}))) :ens-verified ens-verified
:public-key public-key})))
(defn mentionable-contacts [contacts] (defn mentionable-contacts [contacts]
(reduce (reduce

View File

@ -218,16 +218,23 @@
as arguments and returns new fx. Always clear all validation messages." as arguments and returns new fx. Always clear all validation messages."
{:events [:chat.ui.input/set-chat-input-text]} {:events [:chat.ui.input/set-chat-input-text]}
[{:keys [db] :as cofx} text chat-id] [{:keys [db] :as cofx} text chat-id]
(let [text-with-mentions (mentions/->input-field text) (let [text-with-mentions (mentions/->input-field text)
contacts (:contacts db) all-contacts (:contacts/contacts db)
hydrated-mentions (map (fn [[t mention :as e]] chat (get-in db [:chats chat-id])
(if (= t :mention) current-multiaccount (:multiaccount db)
[:mention (str "@" (multiaccounts/displayed-name mentionable-users (mentions/get-mentionable-users
(or (get contacts mention) chat all-contacts current-multiaccount nil)
{:public-key mention})))] hydrated-mentions (map
e)) text-with-mentions) (fn [[t mention :as e]]
info (mentions/->info hydrated-mentions)] (if (= t :mention)
{:set-input-text [chat-id text] (let [mention (multiaccounts/displayed-name
(get mentionable-users mention))]
[:mention (if (string/starts-with? mention "@")
mention (str "@" mention))])
e)) text-with-mentions)
info (mentions/->info hydrated-mentions)
new-text (string/join (map second hydrated-mentions))]
{:set-input-text [chat-id new-text]
:db :db
(-> db (-> db
(assoc-in [:chats/cursor chat-id] (:mention-end info)) (assoc-in [:chats/cursor chat-id] (:mention-end info))