From 394648b3774b6eedf6318251b62de3dd2c3e571e Mon Sep 17 00:00:00 2001 From: Sean Hagstrom Date: Fri, 10 Jan 2025 06:01:57 -0800 Subject: [PATCH] fix: use image clock when updating profile images to cause re-render (#21795) (#21830) Co-authored-by: Alexander --- src/status_im/contexts/profile/edit/header/events.cljs | 6 ++++-- src/status_im/contexts/profile/settings/events.cljs | 6 ++++-- src/status_im/subs/profile.cljs | 8 +++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/status_im/contexts/profile/edit/header/events.cljs b/src/status_im/contexts/profile/edit/header/events.cljs index 5e1f787ca3..1b2ca28120 100644 --- a/src/status_im/contexts/profile/edit/header/events.cljs +++ b/src/status_im/contexts/profile/edit/header/events.cljs @@ -5,9 +5,11 @@ [utils.re-frame :as rf])) (rf/reg-event-fx :profile/update-local-picture - (fn [{:keys [db]} [images]] + (fn [{:keys [db now]} [images]] {:db (if images - (assoc-in db [:profile/profile :images] images) + (assoc-in db + [:profile/profile :images] + (map #(assoc % :clock now) images)) (update db :profile/profile dissoc :images))})) (rf/reg-event-fx :profile/edit-profile-picture-success diff --git a/src/status_im/contexts/profile/settings/events.cljs b/src/status_im/contexts/profile/settings/events.cljs index 0da979bd54..eea3fad8f5 100644 --- a/src/status_im/contexts/profile/settings/events.cljs +++ b/src/status_im/contexts/profile/settings/events.cljs @@ -129,8 +129,10 @@ [:dispatch [:hide-bottom-sheet]]]}))) (rf/reg-event-fx :profile.settings/update-local-picture - (fn [{:keys [db]} [images]] - {:db (assoc-in db [:profile/profile :images] images)})) + (fn [{:keys [db now]} [images]] + {:db (assoc-in db + [:profile/profile :images] + (map #(assoc % :clock now) images))})) (rf/reg-event-fx :profile.settings/mnemonic-was-shown (fn [_] diff --git a/src/status_im/subs/profile.cljs b/src/status_im/subs/profile.cljs index e9f424432a..54b5de7815 100644 --- a/src/status_im/subs/profile.cljs +++ b/src/status_im/subs/profile.cljs @@ -65,6 +65,7 @@ (fn [[profiles port font-file theme] [_ target-key-uid]] (let [{:keys [images ens-name? customization-color] :as profile} (get profiles target-key-uid) image-name (-> images first :type) + image-clock (-> images first :clock) override-ring? (when ens-name? false)] (when (and profile port) {:config @@ -75,6 +76,7 @@ :image-name image-name :key-uid target-key-uid :theme theme + :clock image-clock :override-ring? override-ring?}} {:type :initials :options {:port port @@ -236,7 +238,10 @@ customization-color]} profile ens-name? (or ens-name? (seq ens-names)) avatar-opts (assoc avatar-opts :override-ring? (when ens-name? false)) - images-with-uri (mapv (fn [{key-uid :keyUid image-name :type :as image}] + images-with-uri (mapv (fn [{key-uid :keyUid + image-name :type + image-clock :clock + :as image}] (assoc image :config {:type :account @@ -244,6 +249,7 @@ {:port port :ratio pixel-ratio/ratio :image-name image-name + :clock image-clock :key-uid key-uid :theme theme} avatar-opts)}))