Skip to content

Commit

Permalink
fix(mention)_: ensure async call work as expected
Browse files Browse the repository at this point in the history
  • Loading branch information
qfrank committed Sep 12, 2024
1 parent babcd96 commit d097106
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 14 deletions.
40 changes: 29 additions & 11 deletions src/legacy/status_im/chat/models/mentions.cljs
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
(ns legacy.status-im.chat.models.mentions
(:require
[clojure.set :as set]
[taoensso.timbre :as log]
[utils.re-frame :as rf]))
(:require [clojure.set :as set]
[taoensso.timbre :as log]
[utils.re-frame :as rf]))

(defn- transfer-input-segments
[segments]
Expand Down Expand Up @@ -59,18 +58,22 @@

(defn- transfer-mention-result
[result]
(let [{:keys [input-segments mentionable-users state chat-id new-text]}
(let [{:keys [input-segments mentionable-users state chat-id new-text call-id call-time]}
(set/rename-keys result
{:InputSegments :input-segments
:MentionSuggestions :mentionable-users
:MentionState :state
:ChatID :chat-id
:NewText :new-text})]
:NewText :new-text
:CallID :call-id
:CallTime :call-time})]
{:chat-id chat-id
:input-segments (transfer-input-segments input-segments)
:mentionable-users (rename-mentionable-users mentionable-users)
:state (rename-state state)
:new-text new-text}))
:new-text new-text
:call-id call-id
:call-time call-time}))

(rf/defn on-error
{:events [:mention/on-error]}
Expand Down Expand Up @@ -102,12 +105,14 @@

(rf/defn on-change-text
{:events [:mention/on-change-text]}
[{:keys [db]} text]
[{:keys [db now]} text]
(let [chat-id (:current-chat-id db)
params [chat-id text]
call-id (inc (get-in db [:chat/inputs chat-id :current-call-id] 0))
params [chat-id text call-id now]
method "wakuext_chatMentionOnChangeText"]
(log/debug "[mentions] on-change-text" {:params params})
{:json-rpc/call [{:method method
{:db (assoc-in db [:chat/inputs chat-id :current-call-id] call-id)
:json-rpc/call [{:method method
:params params
:on-success #(rf/dispatch [:mention/on-change-text-success %])
:on-error #(rf/dispatch [:mention/on-error
Expand All @@ -116,10 +121,23 @@

(rf/defn on-change-text-success
{:events [:mention/on-change-text-success]}
[{:keys [db]} result]
[{:keys [db now]} result]
(log/debug "[mentions] on-change-text-success" {:result result})
<<<<<<< HEAD
(let [{:keys [chat-id mentionable-users]} (transfer-mention-result result)]
{:db (assoc-in db [:chats/mention-suggestions chat-id] mentionable-users)}))
=======
(let [{:keys [state chat-id mentionable-users
input-segments call-id call-time]} (transfer-mention-result result)
current-call-id (get-in db [:chat/inputs chat-id :current-call-id])]
(when (= call-id current-call-id)
(let [response-time (- now call-time)]
(log/debug "[mentions] on-change-text-success response-time" {:response-time response-time})
{:db (-> db
(assoc-in [:chat/inputs-with-mentions chat-id] input-segments)
(assoc-in [:chats/mention-suggestions chat-id] mentionable-users)
(assoc-in [:chats/mentions chat-id :mentions] state))}))))
>>>>>>> 41a0e3ce0 (fix(mention)_: ensure async call work as expected)

(rf/defn on-select-mention-success
{:events [:mention/on-select-mention-success]}
Expand Down
6 changes: 3 additions & 3 deletions status-go-version.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"_comment": "Instead use: scripts/update-status-go.sh <rev>",
"owner": "status-im",
"repo": "status-go",
"version": "900ad9be01de8bfce2c229c8fb0222b99606cf35",
"commit-sha1": "900ad9be01de8bfce2c229c8fb0222b99606cf35",
"src-sha256": "0axamynhkg4m4hcgdznz62lz0hvalb7rw0axziy6hvjxj2i9b3r4"
"version": "fix/issue-relate-to-mobile-pr-16330-2",
"commit-sha1": "a1010b33c786828910d2a08642e082c856ddaf27",
"src-sha256": "1ylm7ca13bm4kxk4vglg2ybl6cyd49kvw6m1w6n5iw4vn0zpqibj"
}

0 comments on commit d097106

Please sign in to comment.