Fix empty chat in opened on pressing hashtag in a community channel (#18111)
This commit is contained in:
parent
07d8bf0d19
commit
9e27a36f5e
|
@ -17,6 +17,7 @@
|
||||||
[status-im.utils.deprecated-types :as types]
|
[status-im.utils.deprecated-types :as types]
|
||||||
[status-im.utils.random :as random]
|
[status-im.utils.random :as random]
|
||||||
[status-im2.constants :as constants]
|
[status-im2.constants :as constants]
|
||||||
|
[status-im2.contexts.chat.events :as chat.events]
|
||||||
[status-im2.navigation.events :as navigation]
|
[status-im2.navigation.events :as navigation]
|
||||||
[taoensso.timbre :as log]
|
[taoensso.timbre :as log]
|
||||||
[utils.address :as address]
|
[utils.address :as address]
|
||||||
|
@ -310,6 +311,7 @@
|
||||||
{:browser-id (:browser-id browser)}
|
{:browser-id (:browser-id browser)}
|
||||||
:browser/screen-id :browser)}
|
:browser/screen-id :browser)}
|
||||||
(navigation/pop-to-root :shell-stack)
|
(navigation/pop-to-root :shell-stack)
|
||||||
|
(chat.events/close-chat)
|
||||||
(navigation/change-tab :browser-stack)
|
(navigation/change-tab :browser-stack)
|
||||||
(update-browser browser)
|
(update-browser browser)
|
||||||
(resolve-url nil)))))
|
(resolve-url nil)))))
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
{:events [:navigate-chat-updated]}
|
{:events [:navigate-chat-updated]}
|
||||||
[cofx chat-id]
|
[cofx chat-id]
|
||||||
(when (get-in cofx [:db :chats chat-id])
|
(when (get-in cofx [:db :chats chat-id])
|
||||||
(chat.events/navigate-to-chat cofx chat-id nil)))
|
(chat.events/pop-to-root-and-navigate-to-chat cofx chat-id nil)))
|
||||||
|
|
||||||
(rf/defn handle-chat-removed
|
(rf/defn handle-chat-removed
|
||||||
{:events [:chat-removed]}
|
{:events [:chat-removed]}
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
{:events [:group-chats/create-from-link]}
|
{:events [:group-chats/create-from-link]}
|
||||||
[cofx {:keys [chat-id invitation-admin chat-name]}]
|
[cofx {:keys [chat-id invitation-admin chat-name]}]
|
||||||
(if (get-in cofx [:db :chats chat-id])
|
(if (get-in cofx [:db :chats chat-id])
|
||||||
{:dispatch [:chat/navigate-to-chat chat-id]}
|
{:dispatch [:chat/pop-to-root-and-navigate-to-chat chat-id]}
|
||||||
{:json-rpc/call [{:method "wakuext_createGroupChatFromInvitation"
|
{:json-rpc/call [{:method "wakuext_createGroupChatFromInvitation"
|
||||||
:params [chat-name chat-id invitation-admin]
|
:params [chat-name chat-id invitation-admin]
|
||||||
:js-response true
|
:js-response true
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
(rf/defn handle-community-chat
|
(rf/defn handle-community-chat
|
||||||
[cofx {:keys [chat-id]}]
|
[cofx {:keys [chat-id]}]
|
||||||
(log/info "universal-links: handling community chat" chat-id)
|
(log/info "universal-links: handling community chat" chat-id)
|
||||||
{:dispatch [:chat/navigate-to-chat chat-id]})
|
{:dispatch [:chat/pop-to-root-and-navigate-to-chat chat-id]})
|
||||||
|
|
||||||
(rf/defn handle-view-profile
|
(rf/defn handle-view-profile
|
||||||
[{:keys [db] :as cofx} {:keys [public-key ens-name]}]
|
[{:keys [db] :as cofx} {:keys [public-key ens-name]}]
|
||||||
|
|
|
@ -14,5 +14,5 @@
|
||||||
:key-uid
|
:key-uid
|
||||||
(fn [stored-key-uid]
|
(fn [stored-key-uid]
|
||||||
(when (= stored-key-uid key-uid)
|
(when (= stored-key-uid key-uid)
|
||||||
(rf/dispatch [:chat/navigate-to-chat chat-id
|
(rf/dispatch [:chat/pop-to-root-and-navigate-to-chat chat-id
|
||||||
shell.constants/open-screen-without-animation])))))))))
|
shell.constants/open-screen-without-animation])))))))))
|
||||||
|
|
|
@ -208,8 +208,6 @@
|
||||||
[{db :db :as cofx} chat-id animation]
|
[{db :db :as cofx} chat-id animation]
|
||||||
(rf/merge cofx
|
(rf/merge cofx
|
||||||
{:dispatch [(if animation :shell/navigate-to :navigate-to) :chat chat-id animation]}
|
{:dispatch [(if animation :shell/navigate-to :navigate-to) :chat chat-id animation]}
|
||||||
(when-not (#{:community :community-overview :shell} (:view-id db))
|
|
||||||
(navigation/pop-to-root :shell-stack))
|
|
||||||
(close-chat)
|
(close-chat)
|
||||||
(force-close-chat chat-id)
|
(force-close-chat chat-id)
|
||||||
(fn [{:keys [db]}]
|
(fn [{:keys [db]}]
|
||||||
|
@ -218,6 +216,14 @@
|
||||||
#(when (group-chat? cofx chat-id)
|
#(when (group-chat? cofx chat-id)
|
||||||
(loading/load-chat % chat-id))))
|
(loading/load-chat % chat-id))))
|
||||||
|
|
||||||
|
(rf/defn pop-to-root-and-navigate-to-chat
|
||||||
|
{:events [:chat/pop-to-root-and-navigate-to-chat]}
|
||||||
|
[cofx chat-id animation]
|
||||||
|
(rf/merge
|
||||||
|
cofx
|
||||||
|
(navigation/pop-to-root :shell-stack)
|
||||||
|
(navigate-to-chat chat-id animation)))
|
||||||
|
|
||||||
(rf/defn handle-clear-history-response
|
(rf/defn handle-clear-history-response
|
||||||
{:events [:chat/history-cleared]}
|
{:events [:chat/history-cleared]}
|
||||||
[{:keys [db]} chat-id response]
|
[{:keys [db]} chat-id response]
|
||||||
|
@ -237,7 +243,7 @@
|
||||||
(assoc-in [:chats chat-id] chat)
|
(assoc-in [:chats chat-id] chat)
|
||||||
:always
|
:always
|
||||||
(update :chats-home-list conj chat-id))
|
(update :chats-home-list conj chat-id))
|
||||||
:dispatch [:chat/navigate-to-chat chat-id]}))
|
:dispatch [:chat/pop-to-root-and-navigate-to-chat chat-id]}))
|
||||||
|
|
||||||
(rf/defn decrease-unviewed-count
|
(rf/defn decrease-unviewed-count
|
||||||
{:events [:chat/decrease-unviewed-count]}
|
{:events [:chat/decrease-unviewed-count]}
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
[gesture/touchable-without-feedback
|
[gesture/touchable-without-feedback
|
||||||
{:on-press (fn []
|
{:on-press (fn []
|
||||||
(rf/dispatch [:hide-popover])
|
(rf/dispatch [:hide-popover])
|
||||||
(rf/dispatch [:chat/navigate-to-chat chat-id]))}
|
(rf/dispatch [:chat/pop-to-root-and-navigate-to-chat chat-id]))}
|
||||||
child]
|
child]
|
||||||
child))
|
child))
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
[gesture/touchable-without-feedback
|
[gesture/touchable-without-feedback
|
||||||
{:on-press (fn []
|
{:on-press (fn []
|
||||||
(rf/dispatch [:hide-popover])
|
(rf/dispatch [:hide-popover])
|
||||||
(rf/dispatch [:chat/navigate-to-chat chat-id]))}
|
(rf/dispatch [:chat/pop-to-root-and-navigate-to-chat chat-id]))}
|
||||||
[quo/activity-log
|
[quo/activity-log
|
||||||
{:title (i18n/label :t/mention)
|
{:title (i18n/label :t/mention)
|
||||||
:customization-color customization-color
|
:customization-color customization-color
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
[gesture/touchable-without-feedback
|
[gesture/touchable-without-feedback
|
||||||
{:on-press (fn []
|
{:on-press (fn []
|
||||||
(rf/dispatch [:hide-popover])
|
(rf/dispatch [:hide-popover])
|
||||||
(rf/dispatch [:chat/navigate-to-chat chat-id]))}
|
(rf/dispatch [:chat/pop-to-root-and-navigate-to-chat chat-id]))}
|
||||||
[quo/activity-log
|
[quo/activity-log
|
||||||
{:title (i18n/label :t/message-reply)
|
{:title (i18n/label :t/message-reply)
|
||||||
:customization-color customization-color
|
:customization-color customization-color
|
||||||
|
|
|
@ -60,15 +60,12 @@
|
||||||
(rf/defn pop-to-root
|
(rf/defn pop-to-root
|
||||||
{:events [:pop-to-root]}
|
{:events [:pop-to-root]}
|
||||||
[{:keys [db]} tab]
|
[{:keys [db]} tab]
|
||||||
(merge
|
|
||||||
{:pop-to-root-fx tab
|
{:pop-to-root-fx tab
|
||||||
:db (-> db
|
:db (-> db
|
||||||
(dissoc :shell/floating-screens)
|
(dissoc :shell/floating-screens)
|
||||||
(dissoc :shell/loaded-screens)
|
(dissoc :shell/loaded-screens)
|
||||||
(assoc :view-id (or @shell.state/selected-stack-id :shell)))
|
(assoc :view-id (or @shell.state/selected-stack-id :shell)))
|
||||||
:effects.shell/pop-to-root nil}
|
:effects.shell/pop-to-root nil})
|
||||||
(when (:current-chat-id db)
|
|
||||||
{:dispatch-n [[:chat/close]]})))
|
|
||||||
|
|
||||||
(rf/defn init-root
|
(rf/defn init-root
|
||||||
{:events [:init-root]}
|
{:events [:init-root]}
|
||||||
|
|
Loading…
Reference in New Issue