From d48f933502cc694f9adad493051ac0680b533bc8 Mon Sep 17 00:00:00 2001 From: flexsurfer Date: Tue, 9 Apr 2024 17:20:17 +0200 Subject: [PATCH] Feature/allow user to select a picture for a group chat #18983 (#19128) --- resources/images/icons2/32x32/group@2x.png | Bin 1187 -> 0 bytes resources/images/icons2/32x32/group@3x.png | Bin 1815 -> 0 bytes resources/images/icons2/32x32/members@2x.png | Bin 1810 -> 1187 bytes resources/images/icons2/32x32/members@3x.png | Bin 2689 -> 1815 bytes src/legacy/status_im/data_store/chats.cljs | 1 + src/legacy/status_im/ui/screens/screens.cljs | 5 -- .../text_combinations/page_top/view.cljs | 14 ++-- src/react_native/image_crop_picker.cljs | 27 +++++++ .../view.cljs | 67 ++++-------------- src/status_im/common/home/actions/view.cljs | 8 ++- .../common/image_crop_picker/events.cljs | 21 ++++++ src/status_im/contexts/chat/events.cljs | 4 +- .../contexts/chat/group_create/events.cljs | 10 ++- .../contexts/chat/group_create/view.cljs | 59 ++++++++------- .../contexts/chat/group_details/view.cljs | 15 ++-- .../chat/home/chat_list_item/view.cljs | 8 ++- .../onboarding/create_profile/view.cljs | 6 +- .../contexts/profile/edit/header/events.cljs | 2 +- .../profile/edit/header/events_test.cljs | 2 +- .../contexts/profile/edit/header/view.cljs | 6 +- src/status_im/events.cljs | 1 + src/status_im/navigation/screens.cljs | 3 + src/status_im/subs/chats.cljs | 2 - src/status_im/subs/root.cljs | 2 - status-go-version.json | 6 +- 25 files changed, 150 insertions(+), 119 deletions(-) delete mode 100644 resources/images/icons2/32x32/group@2x.png delete mode 100644 resources/images/icons2/32x32/group@3x.png create mode 100644 src/react_native/image_crop_picker.cljs rename src/status_im/common/{profile_picture_picker => avatar_picture_picker}/view.cljs (50%) create mode 100644 src/status_im/common/image_crop_picker/events.cljs diff --git a/resources/images/icons2/32x32/group@2x.png b/resources/images/icons2/32x32/group@2x.png deleted file mode 100644 index 3d045706926fb045bbc0d65c493b30239eeaac2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1187 zcmV;U1YG-xP)5vXd z)FQx;>@k=IDCwudL;O8# z0Stb}muFyrE!`}Y4A7yzPhk8BF9Uf=5;16PkK!nTN7S9G0ERrH{ze-n=KzeBtP*>` zw*SOGhL53JgpmP~9-4g7c*q$sgZ5@okJ-|d;ei2Ueh-BVV0#hTuWsTi!mkOCQ=tq^ zhjyd7@^{f>nXc_JV4t&j_)tfq`08+8`3~(KVk7T`@;Gm=!X|W8n2dm(Yyx}Zr05|z z>Af)DDA{XJSBilF*hV%r1$L^efjudtgXVPQXd3_<$vtS9A=iPnutGDxDP0vti(nQ? zedUTB$59NL*wPg-nF3KZHG=Vmss{Jygsfq6x^lD)K)}1mr}HcEJf_0pgbUoTDP0xX z2EfJXM92!3X}9oU`91u+^@Qv}Q@SdQJi#T}MTaH7;_}ZHx}>MqxOnmTJH{bANqR95 znv8DZ%k?I8Wi;#x6LeWy7F=Put_-8E0B>lFyD;8x`C23%D|T+SbY&QS25;kN$gR$Y zUWwu%FU#vZmTnQX1Vp$WkALuoy}5U2ScEHk$UQn;|J=5&!{KnusI&+sQCrwb7AU@* z^=S4R&Lg;Z4?k(%fPr^b_EV*!>%k;6jR&S$`tS#w?~N&&J4SDh54ABBj zmgw3CwEjoD^g#;}Ekf(vXcUj?)xE=KKn@lq4iZmI0RODi1s!fHq0|{yL6+ z)~ow~V4?HUM0?-WeHOXpKm2-(p=zwNkMpcwH2mT#c?kyM?!^Nnz~ z=4`6MX38nRd+DKdtG|4my6GJw83OWx1r#YksU@+blvIceZzAfE!zK7X7PvKN43;Joj*|$+Y(W&0YNq~fmR6h5LnX1)1qghF{S4Vg$79GX%-UIF-&dg&Pb*~ z?vRD9(A7dC6dHiR#20eDLJio`&4M8_VN>Mk8$dj*B?iY%&FW@a0QOx-`$c6X1|WVe zRW3?f0$aNG;0p^zC9jLhN~QqIRhkHgm!{a#&EkO<3vK$vWedQesd+k64qLkUHd>L8 zRoJF%1mr4ppdCRC*wW21xeJ$NA^HYL;&3@Mj;myN)<=L2h1+2~sb$$T4@N)@*wQs^ zrwxXJO^^mj&%q*<|3~P5#~A<|4u`|xa5$bQ{{UEnbwMrxv)ljx002ovPDHLkV1ixb BATj^| diff --git a/resources/images/icons2/32x32/group@3x.png b/resources/images/icons2/32x32/group@3x.png deleted file mode 100644 index 6acf361937eec988471659ee118e0aa88c862a86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1815 zcmV+y2k7{TP)=w_@n%cJc(6lh8Za zO?Dt-d#~cj2@uI6X=IN$+}}AlN$j!pNmstQy0Qjf7=~dOhG7_nVHk#Cz83^qB1wA5 zM-(dp<*gD$ALt}NnM_0sOCaq)Y~|<Go0YcF5HH{lUR{9ghk4uOrCzYLsfY>O| zUH8=pA!yLiMT4AAZa&UYY|@{<&`)e}=@RwQ<;D2Q-qC1(h#3e$LmiD7;6ieJm3rG# z*j4&-5^@R4=ieF89BI7&%C>c=<0vju8_aw|8)E%Y7wh)FvT~Z!3M8U z(1qm2ixTCE`m9LD=-xldQtg0NHD3Oj{B}=y2Vng$+g(H88f@@pfJ*rIo%*auOLXs= zgmhCHAfw*;bC#tU0@YxPM;Da$b!SW~E|H&;y;O6WCQ?T$2wH<3-V8uDx~DoW{jKd} zM!E={KNjfRLckhq@%RL&eP)63B^;pZHk74MG=iWt*x}6pBx*@@JVxX+i_~AIPbGw) z!4|J!s0!D?s^&WD%7>sqherblrC8Uv+3mUzG}z(M0EM#hBaD~ez*v9XFl-HWcryS+ z25-~_h=*{X&|mi+0c)_u;~*@C>f`0g#pIe*50n!j-E5W`a}xn;u*I7J7SY+z`QQSb zSF%Dd;B*$MMy^&NU=6l-Gk}a3XaVE7`fPbzp=k}Uko1=7^Dy-jst`2T;x!ppt-0p! z>f&TsfeuZKB8stPgUM^;U?=^pK8bdGrBN;?1PwNLUlXP!z$f&;{|V2K-+gqD?QEEQ zHUtf(cwdkikM`b1@ns=APS`vYGMAS*s{$iIi6!Gy*Z z<*Np`@}B&y4F4QwwdL=l?88$y5`u}3UokDUQcq_$-&?`yRwL=6nXFbu;mjHHeI z0lkkXma9z>GQ%i;PB%tOWMtK9mXI4HWKMsZ{vRG>AH1wQg`h!4BL+C#5Fs;*q6cSW zV_@B7$4UqqjP4GPxa>qR!6p~elm-bk*4kmVyAF?dGk{#kh>*Y1Eo8W2)A&tk_!7Ts z0$x_cE+#i0Mm4KQ?ubp(#&1r;*ObRE0L${=ftizWQb>Vf1Mb^^G#vM|2jfvTH7C=Y z20i8R{;?!I8trXk24-?W)gwRt+u)-EdepYbFAoZIhp}9~{Vdrf{q_OSTR={|tL&58 zxlG?e_AHT-vjL`UWSB6R`0xQ5plJ>A{vG6N)Z1&^jYt>Kz3rMk zb#_7L;!CvVTK3gvWjq1+($IRs^bBcnf;xF{)@Tlp=pN9r{KXOI)Ysy@O1J(w( zNIe1ih3@Bv+0G^!=7;2Ze;yhpJzVqR7y5Cf%L;1)l*k{e&&aSbdWIIzzckythDAhc zy4N3RKwX9a0@LFf(D6h2PJU_78o0#iagXYa2t_N zC>lmIy(^303N$RL(VMke-@DI>FcgbkjTP<7niIj6&7$ zB^{;Pv)M^+F$U;%p|{!lLeOwZNo&UH21gOx1d2&eyTibI1U&N!lI`sq($Ewf`+pc8Uv8tpJ0HI0jQG7 zn^C-*q9sDmU_)7LiJHnx?*$ce?tLL>i1cI76&PSR2B-&=Zi|%fUe+BiIZz9G;w=@ zfM6FiXV?I9h7B-h*Z^~e4ZtuA!!QiPFbu;m48t%j@jt5c0yAvkFAD$w002ovPDHLk FV1fzmPALEY diff --git a/resources/images/icons2/32x32/members@2x.png b/resources/images/icons2/32x32/members@2x.png index 6d366ac0681192a614ff74eae7753af3a9d92296..3d045706926fb045bbc0d65c493b30239eeaac2b 100644 GIT binary patch delta 1117 zcmV-j1fu(r4xReuCHNkl6BJH>IRSLp6=BCV zCn%htEW0b5pyULY6Er1pYZ4oTD}>~k`{~0^PXIU^ z4u`|xc&ZSnf#Tq89 z4(%RdBkzUsIDc=i!X|W8n2dm(Yyx}Zr05|z>Af)DDA{XJSBilF*hV%r1$L^efjudt zgXVPQXd3_<$vtS9A=iPnutGDxDP0vti(nQ?edUTB$59NL*wPg-nF3KZHG=Vmss{Jy zgsfq6x^lD)K)}1mr}HcEJf_0pgbUoTDP0xX2EfJXM1RN%mT9-}Vfj7$y!C|aK~uUa zj6A_5+C_&YzvA-G7P_RT*SL7``8&oTJV|;n5Sol`;>-0Wb!9Z{3KMi$TNYelxvmVO zuK;gojJq)2aQRv!9xHZkwsd6}e+F;kXvnS3hhB-|Aur48JeF<|wFE@CACG_VhrPLX zXjp_Rdw?XyE`;bU_Du}Y0!^0a+6T1$N4)ew3lc3t>)mJ+kLuOE z!)HJa7CJBBcJ%8)r=petmgy=FJRX2HN&Nmgj(>jEtNVapq4Uy5Bb440mG%Ua9wNOt zw?dTZV_1597P;j={CbR`YOJ%5^Q>Pq|EuVN5EJC^9U|9+l9XBlI&`f^fC*t|-m7fC ziZ@n=Zn}Xw7sFv?BgCZ)fEN9hZ=m{-RGqr>jc~W-Y^uU$$|=Bm>7jM2zkHp#=`QkZ zK7W__f8n;Ls;e}B7@A7r_0?Y9hA!U`5+O{EsynKBQUk2uL8aJBQ)nGQMQrIVK>Jw8 z3OWx1r#YksU@+blvIceZzAfE!zK7X7PvKN43;Joj*|$+Y(W&0YNq~ zfmR6h5LnX1)1qghF{S4Vg$79GX%-UIF@H>L>CQ-|LGF-+uF%y&BNQ5d!NeDGzCsPy z(#?V)GhtKY=^H>ittAG>PR;6OS^)N4Nc%-)B?cgVE>$i{TLN3U_uvZ)MkTL{%1WjH z%T<~PhnJ?<(#_(57Yl9r#bpb?p{aQ~Qx03Y`8HaSkX6{GYy{*gb)X$V4cOAnGFG_@ zmt`UP21w#?IW&%|WO&v`fDVP*VLYj2*)$JEKn>W^HEpL2hJsCy21(DsB9;F~=zqr< j02~g7!{Kl^o+$qSSc7#zE&;RL00000NkvXXu0mjfJn$8I delta 1745 zcmV;?1}^!d36c(wReuJjNkluRFNl0gPgZZ~ zDfSm6{({=49%KK3{RNdzJzD;PD7W6q#>t)T*tHxxMksvi~@@6z6f+T=_ zTmXyR1;7`4-Vjg|EX%egFzI;USrUXTKx|1Yo^`^NAa4Xn2Y<_*CNu}G>$p$@DkFdd z9>J(9!FVRY>tIthECqpNKp%fsYtZObMTm9+Hm&W>1mG8}x(y&L(1%_F;Plr0&b;P8MpWI{Lw!10}XeFhp(ntN>eZ;qBNh6daC+n#XC>?si8cYFlw_SegJ|<;8ER zT2cq(K~;js;cEmDp?m-rm(YWM-0L1JfyOcqZ&*)XdVe6P0h1MeGvsX*r|e&AYsH<<COu;oEEH|!HUrW;|#yzfR|BUX}-ww{z46yO?YpUmLh6+9h$p! znXPfqN`LeT#+NC!1De;(okbI)v8aLBY#$2G*`|i61N0o!jAY@3!ylo(FX~$+0kd`9 zj!NVqeeqS3kR&|y3GIO$6zMQ}Qrf-@=|~*{zUq(vj2;wcxWpV}b)b&nkf-fO);3Md zuY&vd>~7i;ovH!8>W5d(Iy6FNsi9S9LSEu=S${s_!(nDTB_fdkGBmjA)8-@oW$Pwk z8LgvhGR#;}XJabUJQ4|rG1gDpdDTTiks&uz`F?Qi`Fn{u%n`6TT|c9*PqsZ|plTAz z%r~*Vcam&_IRZQouh?Zjk9}Vi31uhSxE3VM1xCC<96R0UrpRSZ5_FTGYo(!WIlFAf z`+uSkFoa2$UAoJ9U38J4bD1TdgzuQ~s~)K`ss!N0Gj@3e1yGg*-8P2*j^useGO7ef z=4e3m??FKnC80V4%eY|u=qPu1m(@S70XXJu_O!-^vq`9HQzbAK z5w)$D`9UGDJ-@QA)`Bz=YTQxYuy*D(0EI4Xwk|>v2~qp?d6zIayA}M;j1DcUG+t=k!K$*Ua{ztNg1mJ$zi5?d}fJS63b$@j^ zRYb}p&z3=h4FP>|{YC41T}~C={)Bz(kO1`g^?~;rouW_@d5xT^N!Y+}JHIxe8Mb5a zP5@)(0Y+UYfn_bcDoL2Ygb^Sd-oCO7qP4`fz+w*yqNsUW6$yr)Xc6?IAG;R;V`}_n zdljCXDoEg4U=j0kCo-Bf{jem_!5@s&`@EyuHiv8f5++LDg_GpsPuvVi)g7Ly z1$8+yijd%seeUB-4)CN#hcUu>8C5{pAdMX^RDGVD2zlF_rSQFte4N6$cYm+HPpUI@ zJFLzHYMgyl;qknhfIh!BYIv`)n^tG41`y(Lc1n<-yr5O(1_a3Z01x2dtncy3?)2XM z@H(w7v8W+cm8P#a{JL)8dEb&qh^NfNhi)911Q7naNm9Z^)i0MMMW71MnefwG^(z*h z5X=dX;KarL9pp)!&E*rM^?wtW#sgkPtmBSxA65*1%&R%ea*34L+^MpZp4v3G{z7KE zQK@*oZf@Bd=Hsj3&>cdJn5OWVU;m2Y9`SM#ez-(bd#PMuA^`<{M}k9?FWg2C%Zrw| zbu+^IPy@)s9fABE#eE)?(wK)IQCo9;`S2|$fUIRV1gq<8(?;1hRC>}aC_c}Gx;NNa>KdC+sin7 z)z@)2qci~lQVuaBHAu#a8;?KAsgM$dHLL|*X>Hmy>yKXe$66@UOm;yV{KHqWg5x;a z2?#)Amy)i~(CGMiIZD}@F%LRLYV^@hd8O;{RT3&AAP%1p%0iJgJZl00000NkvXXu0mjfA%arp diff --git a/resources/images/icons2/32x32/members@3x.png b/resources/images/icons2/32x32/members@3x.png index 0b9d019c62e459144f9cb70f2a0a9285d5c8669c..6acf361937eec988471659ee118e0aa88c862a86 100644 GIT binary patch delta 1750 zcmV;{1}XW06_*Z>ReuJoNkl=O{4fT7!tP*M@f ztzgTol5}jf@C1Y>ASt(E=;(Ix1elZ1JK0TkAY*&4;>igR$s=iGk2u`lIXOw}vGqw; zzPh@y24EP5VHk#C7=~dOhGD)J1X?0VddWu=D+1-M5=9^AB!57eOhgPzAnibG<>(GZ zS(>5&LeTIvjT=B#`V+>FONb{Ym7Ruw*eK9l_tgj?XwcC`gPc!pKF(2W(x1Q3Pi%4N z67|yM#rVqJ(P)2&83;i`9gP{_LUMhTdfQXjRr+%hatX`l;>(~0cmoGQ&@hcg3?M5` z!q?!3zDomypnt&x?*@pI8!Pnd8T`^;h%fDpNB_Jv`EUptOzFTQankG2sJ>eF89BI7 z&%C>c=<0vju8_aw|8)E%Y7wh)FvT~Z!3M8U(1qm2ixTCE`m9LD=-xldQtg0NHD3Oj z{B}=y2Vng$+g(H88f@@pfJ*rIo%*auOLXs=gmhCHAb+FY`g4}083NT{i$@of_jPAX zD=v|rlf6`PnkG_5D+pSH9o`H;H@c@fF8!_TWJbCOoj(@n+(N(_Z1MO6sC{OE@+BOg z>o%07P&9&|HQ3?J03>Qjbv#DoG>g<purZeVW&l0qL5D{J2&Gup zxY_Nx5Pvk-;n4tvvhpL0m*Buyf88)_4R&}l07V9G)CGu#aG=m%_Z|Uju*KsbEQadi z<;un6npF>!6CvGfmKt*t0c)_un*kQl+0gmm0-aZ~LNMTT7OF!hrk@W%gDH(HNsdSR178gwD?W0_zlWf~gvJ)-s|L98p8Ty0{~Twv}3UokDUQcq_$-&?`yRwL=6nXFbu;mjHHeI0lkkXma9z>GQ%i;PB%tOWMtK9 zmXI4HWKMsZ{vRG>AH1wQg`h!4BL+C#5Pu;vi=qc-WMg36WyeYg8jS7^kGSkaF~KGm z)074YHP+f;w!03Gcr$=p$cT`?(k*1TV$=9dY4{SqYXV+Y#4aW`A4WB+NbZPD)5dR3 z!`GC@F96H(;DMQwaZ*TuVgv5mfHWNUv>HoCZDR@&2(SJsRz8V+Lk&L4VaF zKmOa`qXT->w#hFK3Ur6DT)zD**(Lq<0nl4OPQ9z_liRsdAi8hzm^Z1RG{~M(mi6{5 zk&?3krfp=HFqru80UDrb4f6gS7+H58Bo+iLhSl zLR-1V%;hO_ih`)(FZAc|sOiR^hX#2+az*!R%3Os5)&{spJpuZK?&pWu&L$e>hva&H z9vUV+T=U`=`f;Vp3Tp$D$RDfE$gnYbh8EDjG~2v}MMP`5*B@y>U4|uA27i#Dn*N1V zH2%dFA!w+3{jmTZ+U_Z^GQbGA*1|qtSPfmnx#Ooy`4l8aHTqOo8NlZ*L{~!4P(20M zQk^Skh71d=3{bN>a0@LFf(D6h2PJU_78o0#iagXYa2t_NC>lmIy(^303N$RL(VMkbj<f>nSi;P0m@Fg9k+q2n8Z!rewcA>Y~ z`$EugN=a+R>f`2bWE&g6_bzl7LeOAVuKA*nkpU*@2NhXcFR_N8;cUUOTHlFFM=yqlsWLeOACS#61$ z%1rMC6?5)=A!vy7W6%{CU^oV-2b6A$l@CFKiZP;8eMaKqKDl11j!(<4{Y6WJph3qh+9J$=uHaCKlWQw9aeIM)U>7uJ*Z^~e4KQce s0CR>7z%UHMFbu;m48t%C!!RxJKdSTsGi>263jhEB07*qoM6N<$f?T;p)Bpeg delta 2631 zcmV-N3b^%`4uKVrReuT=Nklng@T5sXr87a3}$oR^PmJqIGH=J*b~u24*$o0duE?( zkBCMIAOQ$iJV3$k8{9rcujlbLILA%7kklT4#l+P734ajBH~{XK9RMb1jDXATN4L;S z9A%pUL4Nzg0m##~UBpB??vZ9>Yi6_BP&)zSQoex&+4(!^cg2Dq!SJZ-1=BmN$eWwQ z(Kc#B-R-TFfOu2|kJ4?eJ%U#e6A>g%LK=i8VQ{@plT;f4Tkd#o2#ZG7xPy?Kt)v6fOxVEk5j(Bc9m@ti5K@IO{*~gcyR9j zbOIINKn2jq&k+78PFkPzRrmyIJN1G3!o5#@Cx0101(eo+#O6OqaWiqU9rjxIt4K8A z`?S8I`Mq9tPAH`T)SzU-P4n?xQr+0I=r>l(P-u<*rhUjT#f2OYV-0Xv(?g+!!CSjWKT5Cr zstH8~5cN6ft7?wW0SO*}A&dwh(}OXb1O1&)3)S|OgfiM2zZUnIuiGEt9taq~$OP@U z*Pb&Co4)p6UQhc>pUhF!w(huB@v~~|NPl>*{TKg*9OP<1GVzYp>l9ea`dnW$p^kwP z%R)6pa(p?GT{dzF;KH-$avALs*-k=TT1xleF55%(dYBp7j^SiCkQ@CZ%;7N@!d4RM zHj%gpJ1V0EnFMg7-!UBhtFVoPCgvydig+!Mnd^d700C&AoL)NJTNajP7q5&1r6$x#*#R7&}hyo|$ zTS<1e29|($lR*o=PU~nOp=}b{T$7yp9_Jv z^H{x-W`E)N2|6=tk}7UnZu|FzO<~mLQ;DWhS}7 zt>I(!0;PyU3#dwhO%Yg5W?_^Fybgu{p|a$+88$9Uf^FgNWUoM76_3^X)_(|y7YmyI z-)h=8p(qKq?mdW=r+5;$>Vj;IfD48p#2It|Qxfdn_z};Ti|GX5UZ%EO#v4572qq-h zyz52}jjPviMLb@8y+!~A;9UJnpwo=zJQ8dbe$)y^b^{RO)z=CEAwz)dJf%FF1Qqt| zH;4Khpux$%!LcHz-;9L*rGG+JN>AUQI(kEZS)#06c}MgBdEPy_1V||QRD1m>lBH}D z34)zd*C*yR0)~uz6^h^5HuC&@TQ>SRNJe&{;?%4W5WvvWzeMapM=)7r*_?MIqPi99 z7-SJJV*FOgMDW^x=?d58Zp^`g=uK(H+k~|{%il`2i*Ov2E?{rH$xbf*oRsg*uGtEOA{RC zX?c-SZ6&@x1)LeeYq!(VtWD7M26`L0s9auc$PDHsQVE#H<$rvq%4PRY2<|}1#@Voe z-Yf|;`RY#<%`-|PXYL0`CMCU$7TB0HRW}K7ANgnMvOeczHw3LIf30h*uy?TUyZZluy1AlO(9s5~1F~4XZTgLJs#(WAb zR0|V8s)y@{ykY$o{t`|1wG;t_P3ht#gdd>rFX9pf zg;6>=mwpi0OLMiN%7IlPr?w#Rb{?b*G#bH&Wrd%7z8aDhPG*1ipDgo($1KX@;M;fZZTB<}TXG%I&9?EMVeezVTD*K&r;5_JB` zmC=VM3kY{0K7WP71m}$X?a}VpVDzEi^|>-6cz8F7a?1HTZYm`vq!5 zts1ZjvvVWk<7JyZt&Rhg<&hBF$Qto6s6IB_o%iJ+w^fYZo>rG#x-r3&s&Y|bsHVt> z(`~{7+$N_Sr%C=NqO$yVdwG=MDvF+>Dx$+Y#gyt4T~s*ClhW#`{!thmbtc pF7YJyNBW|$41{-Xk;V;~Rd7oq)HfR6<002ovPDHLkV1lQf`?LT6 diff --git a/src/legacy/status_im/data_store/chats.cljs b/src/legacy/status_im/data_store/chats.cljs index 8af5ecf6f8..f023f1f94f 100644 --- a/src/legacy/status_im/data_store/chats.cljs +++ b/src/legacy/status_im/data_store/chats.cljs @@ -125,6 +125,7 @@ :profile-public-key (.-profile chat) :highlight (.-highlight chat) :active (.-active chat) + :image (.-image chat) :members (types/js->clj (.-members chat)) :hide-if-permissions-not-met (.-hideIfPermissionsNotMet chat)} rpc->type diff --git a/src/legacy/status_im/ui/screens/screens.cljs b/src/legacy/status_im/ui/screens/screens.cljs index 16c9a583f5..b71356d7d9 100644 --- a/src/legacy/status_im/ui/screens/screens.cljs +++ b/src/legacy/status_im/ui/screens/screens.cljs @@ -44,7 +44,6 @@ [legacy.status-im.ui.screens.sync-settings.views :as sync-settings] [legacy.status-im.ui.screens.wakuv2-settings.edit-node.views :as edit-wakuv2-node] [legacy.status-im.ui.screens.wakuv2-settings.views :as wakuv2-settings] - [status-im.contexts.chat.group-details.view :as group-details] [utils.i18n :as i18n])) (defn topbar-options @@ -69,10 +68,6 @@ :component progress/progress} ;;CHAT - {:name :group-chat-profile - ;;TODO animated-header - :options {:insets {:top? true}} - :component group-details/group-details} {:name :group-chat-invite ;;TODO parameter in the event :options {:insets {:top? true}} diff --git a/src/quo/components/text_combinations/page_top/view.cljs b/src/quo/components/text_combinations/page_top/view.cljs index b8110557da..3062b7439a 100644 --- a/src/quo/components/text_combinations/page_top/view.cljs +++ b/src/quo/components/text_combinations/page_top/view.cljs @@ -2,6 +2,7 @@ (:require [clojure.string :as string] [quo.components.avatars.channel-avatar.view :as channel-avatar] [quo.components.avatars.collection-avatar.view :as collection-avatar] + [quo.components.avatars.group-avatar.view :as group-avatar] [quo.components.inputs.address-input.view :as address-input] [quo.components.inputs.recovery-phrase.view :as recovery-phrase] [quo.components.inputs.search-input.view :as search-input] @@ -36,14 +37,17 @@ [{:keys [title title-accessibility-label input counter-top counter-bottom title-right title-right-props] avatar-props :avatar}] - (let [title-props (assoc title-right-props - :title title - :right title-right - :accessibility-label title-accessibility-label)] + (let [avatar-props (assoc avatar-props :size :size-32) + title-props (assoc title-right-props + :title title + :right title-right + :accessibility-label title-accessibility-label)] [rn/view {:style style/header} [rn/view {:style style/header-title} (when avatar-props - [channel-avatar/view (assoc avatar-props :size :size-32)]) + (if (:group? avatar-props) + [group-avatar/view avatar-props] + [channel-avatar/view avatar-props])) [standard-title/view title-props]] (when (= input :recovery-phrase) [header-counter counter-top counter-bottom])])) diff --git a/src/react_native/image_crop_picker.cljs b/src/react_native/image_crop_picker.cljs new file mode 100644 index 0000000000..1fc1b4ed8d --- /dev/null +++ b/src/react_native/image_crop_picker.cljs @@ -0,0 +1,27 @@ +(ns react-native.image-crop-picker + (:require ["react-native-image-crop-picker" :default image-picker])) + +(defn show-access-error + [o] + (js/console.log (.-message ^js o))) + +(defn show-image-picker + ([callback] + (show-image-picker callback nil)) + ([callback + {:keys [media-type] + :or {media-type "any"} + :as props}] + (-> ^js image-picker + (.openPicker (clj->js (merge {:mediaType media-type} props))) + (.then #(callback (.-path ^js %))) + (.catch show-access-error)))) + +(defn show-image-picker-camera + ([callback] + (show-image-picker-camera callback nil)) + ([callback props] + (-> ^js image-picker + (.openCamera (clj->js props)) + (.then #(callback (.-path ^js %))) + (.catch show-access-error)))) diff --git a/src/status_im/common/profile_picture_picker/view.cljs b/src/status_im/common/avatar_picture_picker/view.cljs similarity index 50% rename from src/status_im/common/profile_picture_picker/view.cljs rename to src/status_im/common/avatar_picture_picker/view.cljs index aa8c58011a..0a99191c84 100644 --- a/src/status_im/common/profile_picture_picker/view.cljs +++ b/src/status_im/common/avatar_picture_picker/view.cljs @@ -1,6 +1,5 @@ -(ns status-im.common.profile-picture-picker.view +(ns status-im.common.avatar-picture-picker.view (:require - ["react-native-image-crop-picker" :default image-picker] [quo.core :as quo] [react-native.permissions :as permissions] [react-native.platform :as platform] @@ -16,50 +15,13 @@ :width crop-size :height crop-size}) -(defn show-access-error - [o] - (when (= "E_PERMISSION_MISSING" (.-code ^js o)) - (js/console.log (i18n/label :t/error)))) - -(defn show-image-picker - ([images-fn] - (show-image-picker images-fn nil)) - ([images-fn - {:keys [media-type] - :or {media-type "any"} - :as props}] - (-> ^js image-picker - (.openPicker (clj->js (merge {:mediaType media-type} - props))) - (.then images-fn) - (.catch show-access-error)))) - -(defn show-image-picker-camera - ([images-fn] - (show-image-picker-camera images-fn nil)) - ([images-fn props] - - (-> ^js image-picker - (.openCamera (clj->js props)) - (.then images-fn) - (.catch show-access-error)))) - -(defn pick-pic - [update-profile-pic-callback] +(defn hide-sheet-and-dispatch + [event] (rf/dispatch [:hide-bottom-sheet]) - (show-image-picker - #(update-profile-pic-callback (.-path ^js %)) - crop-opts)) - -(defn take-pic - [update-profile-pic-callback] - (rf/dispatch [:hide-bottom-sheet]) - (show-image-picker-camera - #(update-profile-pic-callback (.-path ^js %)) - crop-opts)) + (rf/dispatch event)) (defn view - [{:keys [update-profile-pic-callback has-picture?]}] + [{:keys [on-result has-picture?]}] [quo/action-drawer [[{:icon :i/camera :accessibility-label :take-photo-button @@ -70,10 +32,10 @@ :read-external-storage :read-media-images) :write-external-storage] - :on-allowed (fn [] (take-pic update-profile-pic-callback)) - :on-denied (fn [] - (log/info - "user has denied permissions to click picture"))}))} + :on-allowed #(hide-sheet-and-dispatch [:image-crop-picker/show-camera + on-result crop-opts]) + :on-denied #(log/info + "user has denied permissions to click picture")}))} {:icon :i/image :accessibility-label :select-from-gallery-button :label (i18n/label :t/profile-pic-pick) @@ -83,10 +45,10 @@ :read-external-storage :read-media-images) :write-external-storage] - :on-allowed (fn [] (pick-pic update-profile-pic-callback)) - :on-denied (fn [] - (log/info - "user has denied permissions to select picture"))}))} + :on-allowed #(hide-sheet-and-dispatch [:image-crop-picker/show on-result + crop-opts]) + :on-denied #(log/info + "user has denied permissions to select picture")}))} (when has-picture? {:accessibility-label :remove-profile-picture :add-divider? true @@ -96,5 +58,4 @@ :label (i18n/label :t/profile-pic-remove) :on-press (fn [] (rf/dispatch [:hide-bottom-sheet]) - (update-profile-pic-callback nil))})]]]) - + (on-result nil))})]]]) diff --git a/src/status_im/common/home/actions/view.cljs b/src/status_im/common/home/actions/view.cljs index 77a4e47352..80ecfe382c 100644 --- a/src/status_im/common/home/actions/view.cljs +++ b/src/status_im/common/home/actions/view.cljs @@ -349,7 +349,11 @@ [chat-id] (entry {:icon :i/members :label (i18n/label :t/group-details) - :on-press #(hide-sheet-and-dispatch [:navigate-to :group-chat-profile chat-id]) + :on-press (fn [] + (rf/dispatch [:chats-list/load-chat chat-id]) + (rf/dispatch [:pin-message/load-pin-messages chat-id]) + (rf/dispatch [:hide-bottom-sheet]) + (rf/dispatch [:navigate-to :group-details chat-id])) :danger? false :accessibility-label :group-details :sub-label nil @@ -441,7 +445,7 @@ (defn private-group-chat-actions [item inside-chat?] [quo/action-drawer - (let [show-group-actions? (:group-chat-member? item)] + (let [show-group-actions? (:group-chat item)] [(when show-group-actions? (group-actions item inside-chat?)) (notification-actions item inside-chat? show-group-actions?) diff --git a/src/status_im/common/image_crop_picker/events.cljs b/src/status_im/common/image_crop_picker/events.cljs new file mode 100644 index 0000000000..b480f4b91c --- /dev/null +++ b/src/status_im/common/image_crop_picker/events.cljs @@ -0,0 +1,21 @@ +(ns status-im.common.image-crop-picker.events + (:require [react-native.image-crop-picker :as image-crop-picker] + [utils.re-frame :as rf])) + +(rf/reg-fx :effect.image-crop-picker/show + (fn [[callback crop-opts]] + (image-crop-picker/show-image-picker callback crop-opts))) + +(rf/reg-fx :effect.image-crop-picker/show-camera + (fn [[callback crop-opts]] + (image-crop-picker/show-image-picker-camera callback crop-opts))) + +(rf/reg-event-fx + :image-crop-picker/show + (fn [_ [callback crop-opts]] + {:effect.image-crop-picker/show [callback crop-opts]})) + +(rf/reg-event-fx + :image-crop-picker/show-camera + (fn [_ [callback crop-opts]] + {:effect.image-crop-picker/show-camera [callback crop-opts]})) diff --git a/src/status_im/contexts/chat/events.cljs b/src/status_im/contexts/chat/events.cljs index 6f8d6814b3..6d88adbc4c 100644 --- a/src/status_im/contexts/chat/events.cljs +++ b/src/status_im/contexts/chat/events.cljs @@ -84,11 +84,11 @@ (let [{:keys [view-id current-chat-id]} db {:keys [all-chats chats-home-list removed-chats]} (reduce - (fn [acc {:keys [chat-id profile-public-key timeline? community-id active muted] :as chat}] + (fn [acc {:keys [chat-id community-id active muted] :as chat}] (if (not (or active muted)) (update acc :removed-chats conj chat-id) (cond-> acc - (and (not profile-public-key) (not timeline?) (not community-id) active) + (and (not community-id) active) (update :chats-home-list conj chat-id) :always (assoc-in [:all-chats chat-id] chat)))) diff --git a/src/status_im/contexts/chat/group_create/events.cljs b/src/status_im/contexts/chat/group_create/events.cljs index f5224d0afe..a69397e36b 100644 --- a/src/status_im/contexts/chat/group_create/events.cljs +++ b/src/status_im/contexts/chat/group_create/events.cljs @@ -1,7 +1,8 @@ (ns status-im.contexts.chat.group-create.events (:require [legacy.status-im.data-store.chats :as data-store.chats] [oops.core :as oops] - [re-frame.core :as rf])) + [re-frame.core :as rf] + [status-im.common.avatar-picture-picker.view :as avatar-picture-picker])) (rf/reg-event-fx :group-chat/create (fn [{:keys [db]} [group-name color image]] @@ -28,7 +29,12 @@ (rf/reg-event-fx :group-chat/edit (fn [_ [{:keys [chat-id group-name color image]}]] {:json-rpc/call [{:method "chat_editChat" - :params ["" chat-id group-name (name color) image] + :params ["" chat-id group-name (name color) + {:imagePath image + :x 0 + :y 0 + :width avatar-picture-picker/crop-size + :height avatar-picture-picker/crop-size}] :js-response true :on-success #(rf/dispatch [:group-chat/edit-success (data-store.chats/<-rpc-js %)])}]})) diff --git a/src/status_im/contexts/chat/group_create/view.cljs b/src/status_im/contexts/chat/group_create/view.cljs index 0ace3ef2ce..0d05c1ee4d 100644 --- a/src/status_im/contexts/chat/group_create/view.cljs +++ b/src/status_im/contexts/chat/group_create/view.cljs @@ -4,6 +4,7 @@ [quo.foundations.colors :as colors] [quo.theme] [react-native.core :as rn] + [status-im.common.avatar-picture-picker.view :as avatar-picture-picker] [status-im.common.floating-button-page.view :as floating-button-page] [status-im.constants :as constants] [status-im.contexts.chat.group-create.style :as style] @@ -15,30 +16,29 @@ [utils.responsiveness :as responsiveness])) (defn avatar - [{:keys [customization-color]}] - [rn/pressable {:style style/avatar} - ;;NOTE with hole-view group-avatar doesn't change it's background color - #_[hole-view/hole-view - {:holes [style/hole]}] - [quo/group-avatar - {:customization-color customization-color - :size :size-80}] - [quo/button - {:on-press (fn [] - #_(rf/dispatch - [:show-bottom-sheet - {:content (fn [] - [profile-picture-picker/view - {:update-profile-pic-callback on-change-profile-pic - :has-picture? has-picture?}]) - :theme :dark - :shell? true}])) - :container-style style/camera - :icon-only? true - :type :grey - :background :photo - :size 32} - :i/camera]]) + [{:keys [customization-color group-image set-group-image]}] + (let [on-press (rn/use-callback (fn [] + (rf/dispatch + [:show-bottom-sheet + {:content (fn [] + [avatar-picture-picker/view + {:on-result set-group-image}])}])))] + [rn/view {:style style/avatar} + ;;NOTE with hole-view group-avatar doesn't change it's background color + #_[hole-view/hole-view + {:holes [style/hole]}] + [quo/group-avatar + {:customization-color customization-color + :size :size-80 + :picture group-image}] + [quo/button + {:on-press on-press + :container-style style/camera + :icon-only? true + :type :grey + :background :photo + :size 32} + :i/camera]])) (defn view [] @@ -63,10 +63,12 @@ set-error-message] (rn/use-state nil) group-name-empty? (not (and (string? group-name) (not-empty group-name))) [group-color set-group-color] (rn/use-state (rand-nth colors/account-colors)) + [group-image set-group-image] (rn/use-state nil) create-group-on-press (rn/use-callback #(debounce/throttle-and-dispatch - [:group-chat/create group-name group-color] + [:group-chat/create group-name group-color + group-image] 300) - [group-name group-color]) + [group-name group-color group-image]) back-on-press (rn/use-callback #(rf/dispatch [:navigate-back])) on-change-text (rn/use-callback (fn [text] @@ -91,7 +93,10 @@ :on-press create-group-on-press} (i18n/label :t/create-group-chat)]} [:<> - [avatar {:customization-color group-color}] + [avatar + {:customization-color group-color + :group-image group-image + :set-group-image set-group-image}] [quo/title-input {:on-change-text on-change-text :default-value default-value diff --git a/src/status_im/contexts/chat/group_details/view.cljs b/src/status_im/contexts/chat/group_details/view.cljs index 7bcd1f9094..caaa5aaafe 100644 --- a/src/status_im/contexts/chat/group_details/view.cljs +++ b/src/status_im/contexts/chat/group_details/view.cljs @@ -3,6 +3,7 @@ [quo.core :as quo] [quo.foundations.colors :as colors] [react-native.core :as rn] + [react-native.safe-area :as safe-area] [reagent.core :as reagent] [status-im.common.contact-list-item.view :as contact-list-item] [status-im.common.contact-list.view :as contact-list] @@ -43,7 +44,7 @@ [] (let [selected-participants (rf/sub [:group-chat/selected-participants]) deselected-members (rf/sub [:group-chat/deselected-members]) - chat-id (rf/sub [:get-screen-params :group-chat-profile]) + chat-id (rf/sub [:get-screen-params :group-details]) {:keys [admins] :as group} (rf/sub [:chats/chat-by-id chat-id]) admin? (get admins (rf/sub [:multiaccount/public-key]))] [rn/view {:flex 1 :margin-top 20} @@ -107,8 +108,8 @@ (defn group-details [] - (let [chat-id (rf/sub [:get-screen-params :group-chat-profile]) - {:keys [admins chat-id chat-name color muted contacts] + (let [chat-id (rf/sub [:get-screen-params :group-details]) + {:keys [admins chat-id chat-name color muted contacts image] :as group} (rf/sub [:chats/chat-by-id chat-id]) members (rf/sub [:contacts/group-members-sections chat-id]) pinned-messages (rf/sub [:chats/pinned chat-id]) @@ -121,6 +122,7 @@ :customization-color color}] [quo/page-nav {:type :no-title + :margin-top (safe-area/get-top) :background :photo :right-side [{:icon-name :i/options :on-press #(rf/dispatch [:show-bottom-sheet @@ -130,7 +132,9 @@ :on-press #(rf/dispatch [:navigate-back])}] [quo/page-top {:title chat-name - :avatar {:customization-color color}}] + :avatar {:group? true + :picture (when image {:uri image}) + :customization-color color}}] [quo/channel-actions {:container-style style/actions-view :actions [{:accessibility-label :pinned-messages @@ -167,7 +171,8 @@ :render-section-footer-fn contacts-section-footer :render-data {:chat-id chat-id :admin? admin?} - :render-fn contact-item-render}] + :render-fn contact-item-render + :separator [rn/view {:style {:height 4}}]}] [quo/floating-shell-button {:jump-to {:on-press #(rf/dispatch [:shell/navigate-to-jump-to]) :customization-color profile-color diff --git a/src/status_im/contexts/chat/home/chat_list_item/view.cljs b/src/status_im/contexts/chat/home/chat_list_item/view.cljs index 27050a8b60..c69079db2d 100644 --- a/src/status_im/contexts/chat/home/chat_list_item/view.cljs +++ b/src/status_im/contexts/chat/home/chat_list_item/view.cljs @@ -169,7 +169,7 @@ preview-text])) (defn avatar-view - [{:keys [contact chat-id full-name color muted?]}] + [{:keys [contact chat-id full-name color muted? image]}] (if contact ; `contact` is passed when it's not a group chat (let [online? (rf/sub [:visibility-status-updates/online? chat-id]) photo-path (rf/sub [:chats/photo-path chat-id])] @@ -182,6 +182,7 @@ (assoc :ring? false))]) [quo/group-avatar {:customization-color color + :picture (when image {:uri image}) :size :size-32}])) (defn- notification-layout @@ -225,7 +226,7 @@ unviewed-messages-count]]))) (defn chat-item - [{:keys [chat-id group-chat color name last-message timestamp muted] + [{:keys [chat-id group-chat color name last-message timestamp muted image] :as item}] (let [[primary-name secondary-name] (if group-chat @@ -239,7 +240,8 @@ :chat-id chat-id :full-name primary-name :color color - :muted? muted}] + :muted? muted + :image image}] [rn/view {:style {:flex-shrink 1}} [rn/view {:style style/chat-data-container} [quo/author diff --git a/src/status_im/contexts/onboarding/create_profile/view.cljs b/src/status_im/contexts/onboarding/create_profile/view.cljs index 725ac4c033..7a8014ac08 100644 --- a/src/status_im/contexts/onboarding/create_profile/view.cljs +++ b/src/status_im/contexts/onboarding/create_profile/view.cljs @@ -10,7 +10,7 @@ [react-native.platform :as platform] [react-native.safe-area :as safe-area] [reagent.core :as reagent] - [status-im.common.profile-picture-picker.view :as profile-picture-picker] + [status-im.common.avatar-picture-picker.view :as profile-picture-picker] [status-im.common.validation.profile :as profile-validator] [status-im.constants :as c] [status-im.contexts.onboarding.create-profile.style :as style] @@ -145,8 +145,8 @@ [:show-bottom-sheet {:content (fn [] [profile-picture-picker/view - {:update-profile-pic-callback on-change-profile-pic - :has-picture? false}]) + {:on-result on-change-profile-pic + :has-picture? false}]) :shell? true}])) :image-picker-props {:profile-picture @profile-pic :full-name (if (seq @full-name) diff --git a/src/status_im/contexts/profile/edit/header/events.cljs b/src/status_im/contexts/profile/edit/header/events.cljs index 64382db432..b08784bfd1 100644 --- a/src/status_im/contexts/profile/edit/header/events.cljs +++ b/src/status_im/contexts/profile/edit/header/events.cljs @@ -1,6 +1,6 @@ (ns status-im.contexts.profile.edit.header.events (:require [clojure.string :as string] - [status-im.common.profile-picture-picker.view :as profile-picture-picker] + [status-im.common.avatar-picture-picker.view :as profile-picture-picker] [utils.i18n :as i18n] [utils.re-frame :as rf])) diff --git a/src/status_im/contexts/profile/edit/header/events_test.cljs b/src/status_im/contexts/profile/edit/header/events_test.cljs index b81b1997f3..f445759d6e 100644 --- a/src/status_im/contexts/profile/edit/header/events_test.cljs +++ b/src/status_im/contexts/profile/edit/header/events_test.cljs @@ -1,7 +1,7 @@ (ns status-im.contexts.profile.edit.header.events-test (:require [cljs.test :refer [deftest is]] matcher-combinators.test - [status-im.common.profile-picture-picker.view :as profile-picture-picker] + [status-im.common.avatar-picture-picker.view :as profile-picture-picker] [status-im.contexts.profile.edit.header.events :as sut])) (deftest edit-picture-test diff --git a/src/status_im/contexts/profile/edit/header/view.cljs b/src/status_im/contexts/profile/edit/header/view.cljs index f647e08931..8aa42a98ba 100644 --- a/src/status_im/contexts/profile/edit/header/view.cljs +++ b/src/status_im/contexts/profile/edit/header/view.cljs @@ -1,7 +1,7 @@ (ns status-im.contexts.profile.edit.header.view (:require [quo.core :as quo] [react-native.core :as rn] - [status-im.common.profile-picture-picker.view :as profile-picture-picker] + [status-im.common.avatar-picture-picker.view :as profile-picture-picker] [status-im.contexts.profile.edit.style :as style] [status-im.contexts.profile.utils :as profile.utils] [utils.i18n :as i18n] @@ -36,8 +36,8 @@ [:show-bottom-sheet {:content (fn [] [profile-picture-picker/view - {:update-profile-pic-callback on-change-profile-pic - :has-picture? has-picture?}]) + {:on-result on-change-profile-pic + :has-picture? has-picture?}]) :theme :dark :shell? true}])) :container-style style/camera-button diff --git a/src/status_im/events.cljs b/src/status_im/events.cljs index b0953b123b..b374f0d474 100644 --- a/src/status_im/events.cljs +++ b/src/status_im/events.cljs @@ -7,6 +7,7 @@ status-im.common.async-storage.effects status-im.common.emoji-picker.events status-im.common.font.events + status-im.common.image-crop-picker.events [status-im.common.json-rpc.events] status-im.common.log status-im.common.password-authentication.events diff --git a/src/status_im/navigation/screens.cljs b/src/status_im/navigation/screens.cljs index 9ddd8a739e..62643f91ea 100644 --- a/src/status_im/navigation/screens.cljs +++ b/src/status_im/navigation/screens.cljs @@ -125,6 +125,9 @@ :skip-background? true} :component group-create/view} + {:name :group-details + :component group-details/group-details} + {:name :community-requests-to-join :options {:sheet? true} :component join-menu/view} diff --git a/src/status_im/subs/chats.cljs b/src/status_im/subs/chats.cljs index 5836c90bdf..ace2197153 100644 --- a/src/status_im/subs/chats.cljs +++ b/src/status_im/subs/chats.cljs @@ -184,8 +184,6 @@ inputs]] (when current-chat (cond-> current-chat - (chat.events/public-chat? current-chat) - (assoc :able-to-send-message? true) (and (chat.events/community-chat? current-chat) (get-in community [:chats (subs (:chat-id current-chat) 68) :can-post?])) diff --git a/src/status_im/subs/root.cljs b/src/status_im/subs/root.cljs index 5f83dc5f48..dbaba2b4e1 100644 --- a/src/status_im/subs/root.cljs +++ b/src/status_im/subs/root.cljs @@ -121,8 +121,6 @@ (reg-root-key-sub :camera-roll/selected-album :camera-roll/selected-album) ;;group chat -(reg-root-key-sub :group-chat-profile/editing? :group-chat-profile/editing?) -(reg-root-key-sub :group-chat-profile/profile :group-chat-profile/profile) (reg-root-key-sub :group-chat/selected-participants :group-chat/selected-participants) (reg-root-key-sub :group-chat/deselected-members :group-chat/deselected-members) diff --git a/status-go-version.json b/status-go-version.json index 374cb3f824..7339d03b99 100644 --- a/status-go-version.json +++ b/status-go-version.json @@ -3,7 +3,7 @@ "_comment": "Instead use: scripts/update-status-go.sh ", "owner": "status-im", "repo": "status-go", - "version": "v0.179.0", - "commit-sha1": "0db27a8be6b482c3d4687909e156e38654911f88", - "src-sha256": "0qcdf90sz0y0486dsgjindanavilkh9czzijlk8r0zz867n5b896" + "version": "feature/add-image-to-chat-preview", + "commit-sha1": "b91e78593f2b397dcba9da1c41a755e9cdcec531", + "src-sha256": "0l6h18s3l016bjx5g5mvg9r7lhz85gb0r99ajsh91didk44v12i3" }