From a2b2b3367f51662ff99ae8e03514d32fc9133055 Mon Sep 17 00:00:00 2001 From: Rodrigo Villablanca Date: Wed, 2 Sep 2020 06:39:47 -0400 Subject: [PATCH] [MM-467] Notification sounds (#1351) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Custom sounds * Trying new version * Trying new version * Some fixes * Rollback version change * Allow native sound * Increase version * Playing custom sounds :) * Fix var name * Fix * Update src/browser/js/notification.js Co-authored-by: Guillermo Vayá * Update src/browser/js/notification.js Co-authored-by: Guillermo Vayá * Update src/browser/js/notification.js Co-authored-by: Guillermo Vayá * Several suggestions * Update src/browser/js/notification.js Co-authored-by: Guillermo Vayá * Restore of version Co-authored-by: Guillermo Vayá --- src/assets/sounds/bing.mp3 | Bin 0 -> 5760 bytes src/assets/sounds/crackle.mp3 | Bin 0 -> 16574 bytes src/assets/{ => sounds}/ding.mp3 | Bin src/assets/sounds/down.mp3 | Bin 0 -> 26165 bytes src/assets/sounds/hello.mp3 | Bin 0 -> 28650 bytes src/assets/sounds/ripple.mp3 | Bin 0 -> 24020 bytes src/assets/sounds/upstairs.mp3 | Bin 0 -> 23246 bytes src/browser/components/MattermostView.jsx | 4 +-- src/browser/js/notification.js | 40 +++++++++++++++++----- src/browser/webview/mattermost.js | 4 +-- src/utils/util.js | 5 +-- 11 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 src/assets/sounds/bing.mp3 create mode 100644 src/assets/sounds/crackle.mp3 rename src/assets/{ => sounds}/ding.mp3 (100%) create mode 100644 src/assets/sounds/down.mp3 create mode 100644 src/assets/sounds/hello.mp3 create mode 100644 src/assets/sounds/ripple.mp3 create mode 100644 src/assets/sounds/upstairs.mp3 diff --git a/src/assets/sounds/bing.mp3 b/src/assets/sounds/bing.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2827addd44bca5667ab5fd4604181e34e1425fc2 GIT binary patch literal 5760 zcmeH~2~ZSQ8pmHx4>QxvpaY^JN75k294Lc`0#RrLN%Jb198;>3v)r%zW`SD!zB@#4kn z*Kggr)zEPN{{6pR;o}56#TDU$@3TVH^7Kx-oU*yy60cZZq#X z2k-8$cV6X{ZM9{2)57ZG{Xf#{lh#CmX)`~d+HwNkl?~rC{q^z{`Cg@fUakW`9L354 zHXk~YEjS;$r)+aF_V>a9D&$q^l9F?e=*Un$1Luth7#sP})R*b^lP|t0XMG$Ko^`l> zW|Y{n9?4}NCl{1!2H^m2@cu-Mzls#1iP_WeTtCIt)x70bz%q=@Bpbl6zQ7h)AgB%JFBPpi_vgt2 z5U@}LtT!C?iFr(mDnExa_LtagH`g`_zy62o*6{iGfs^ScrGW54Lyx^|;8hH+%-3aA zoBw(#WTVt}OrFC-}hjM<^hzP#`$!mkV#H#~B#=8N7T?aeg19 z$yU=8s0*s6e@Hz?)d9wO+u7Ct6)8+OCO67aCT8Sydts6ya|(&* zH{NV#?)0tN;^gYhKwttE`;`o3+yrDlm5+0SS0>-aUuQ1ZQVi@K-S5bueL-l#q9Am^G5}%>UdhwK> z9h^6{wiS%$S<_sS&m@)K$)9sdU!%&Ku!1!+jtOWRKBv^tBc;mSL1hCJHLwEf=ReF3 zQJ3>1K$x(Eq$ihRYfZefDsJ5{DwxRlA99v zW60sLZu2U?bdV0F6r56QPW*s^k!Ss@uhmc>DV9%FWm8GudyBw^XKopp(h>LG$>C5r z19=nx9OtE0^DX`(J3F{gNZ}e&qI z0a20P5GTX>@lVA3ND}KAN8Z{DTlCzvdV6V;k)AH;jdwUsi?+NPzs_Q+Bmsl37J7b#-0Jzk#*N?) z)g|WiJVn_rv8ybi;?@T?7}PUlDm7$9xd5o)((sKYpnQa0TAYJDu(jY5D0qRS?UGvT z>*N?pdTYyZo}g?AepMs(s(`-r=Qv754C8o;MkzJf;al5Oq&QF&jXGo>ty0~zud!NU z${s(d_3Y#rmDDxlI6rGO+wsd9k*XT#tYL#8NV6=C0SqAqYL&4b6O;rmGIF)*zSg7} z!AENpWA?rZ5OjG)zNMu70LN+6vU&JrR>*M%u^gwB({l&vnf+gSxJj@QyyD62b-WBf z3Dowjs?j~v^GM64;};1`T7eLQ$~jJrB7(6zt%4k2tf$=ygo3?MF+ILi$+to!^~u4h|22FXx&sTF7gptkQcK{cWe7cdSlX8OOP&W&eat zq-h^(14rdFPD|ZWzu|N{Sp-1rcU4-8nv~Z)?Kj9tz@lhjY=>`Bm$ATc2mKB`Ms^7A zNHRt`^ia=zEjta1V059-_xAPCIE|qkca;7wJ;ow?$hoU!L$L5tvCP)MkvRDQ#}cCV zIbm1?iOD+jh@D0QJHDY0j7#q}?xCKawCotD2kX!S?m2nUjwQ<8)`PNPSQvwO!yal| zA8^fSIOJ%0nNz=t^)LyS0*S#lQ0nAETLtzuN4JW#GzkYlA~ool+uw%H>)?)~$Nee0UC+r2+H-P-crgTJ+J d@b4D)d>c-6{oVWCy5Ds{w0{uH_?r#=e*oZXZ|wj8 literal 0 HcmV?d00001 diff --git a/src/assets/sounds/crackle.mp3 b/src/assets/sounds/crackle.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..90025f2e24ed0d3f4b170ace5e67bb02941d313e GIT binary patch literal 16574 zcmeHMc_5Yf*MF>83n5u@yOxOSK6hUt`%WPul{|Mt_KQ$6b(N)%ElE+4C8T1aQi_PF zG`3bVEo5)`5vfG?zR#s*>i5pP)4VfN@4Uahe_YS~e$R70=bX>^e!u6qwiY-c03HTg zoLp>I1Hilp0Pt{h0t}6#LLj<7GaNx<`uGJIAxF;FArXEIBcwaQ5p)bOXZrftY-Tf8 zZC>F@-|SDPFp$Q}B@CmeQGp?W%y0-16&Mf{MvXE;LX2P^u zfPlde=D}b#$cK28D$~L3F0Ag%J`)GVt?bP$?7!5etzq zC<2~>Md4W>1_fbhI20Do!hj?Y0wEmnJsPaSBA6b*_xHUD2CM=DVPIiA1;wDihT;h{ z3W^3n5Q+@4m{^F3CEzgl4^*sV`@ty>1^g*h3_6t+%npQLQlSWjUobi_gz57h#KMsp z0AIn8{jvy zgh0&X4;7-%Y6^okF&Q&p@O!gMe!mjhPmasaS|WX!u%TEGLqUN=6qe+Q#ZoaCDh8(i zXV!lf4hv?5M?!3-sSnJ@`~7YT2V-WRVXy`mgpMOb_X`RS4)fLh*j&0V6y(E%j~g`q z*x+Xy68+aXP9$OJG(3Tc!eE#b6rMyPqbL+25k&+kBs@sMLlipZV|%`Uxxo*nct+%b=C@#^6zS1`$3kDL6U` z$09OFG%S-yA<=%{VH|~u$Nw+(^cQ3ri>E@`v)A|pIrF;?92O0`olZx@AUdT$A)Nr)9}7DGerOQ;*DR=!9|}d z8}6yXJ}BqRAfI2YYG%d5`Qj^}K)A{_k6=0l!<7=k5n}r@*q8D#EiYa3ppe87lE#dpwR>TLVg$1HfUu;_$Ok{((^vl zGxU7K#q9bAJs?cU>>S)%!c8su=dSi0S8&4pnIZ8@bIlBbOWa7fb>{crU&q%7e2u`@ z2z-se*9d%#z<*E#cvEThe0K#5;12`p=HWhnjDj$eOr$K;PSV}8vVP}LPwb7vhP$QMt6f=R z7QONJ=0Ceai}6Y*xqH*^h0!&}qska^-U=O^`nEb=i;5xfGREmJ_0~oU@JU?pWlY29 zqF^3(!^0Uv8^2H27~wq^=$pIX&|F?B z^~Phu<_jB^iFjGu8ar(MFn`dziQ)c=*GS*moRB}Xc~L}_USCLp`n2&j^?_G0cyZ`o z`|cYz5u$<{?@t4pMsFbw=p2#N%*wDV>pOMSqQTo4D0R#&)*M-ga0=O%IFV7+ z?BVk~N=E8|;j`N^5qBr|-{{DWv)-s2<=7odnXlB`_+$EHfVRP#(;en&ao1x(utIh% zyZBIJ@5+|8EkYX7$ssmaZ=3d`^Yt@>8fEx9h{st_t}dT!Bv?Q_(}z7YDsT@ITb7=+ ziXyWwS!yK)5HnK~k-6@q42G!8<&t^*53@(!oHbE?;_*ankTr^#f+9vN+Xtmz+xc&;1?!gh-o)MoOe4zF^2c?nE-F)t^`QF2i0#tyoi#>Cx~#<>b4Wmj>S6 zW|#eUU)w0MtKkS6Lr^>tG2a|J-=#B@bC+$4F!7a2iP&P-6=ng+rBvkNOw7fGf+kw-pVDfbjy~>O%o>qJAItWi`KoVI=hVr@<POY^!F5>LZ)WLjxHGyXI;p6&LzNCPd#&L|@IZU7%rShuP!5cSoFj zI^F&3G3v7^-j?1sZN{&kZQV9_9OAu(;*}evbccJ+29c!eMy9xT5OxlyP9BQxxn|S1 z>To$~#BluC1s@)-c6@~QL<$__@wm~0hoZK@e-{ou8UvhOMW%iVqp+y6zzbvaij0i%|(18xBi@8_ttJ)5G431|zU zW6e~KJKEc_`FYVOxAVRh;Sm3k`z@C{-cWl)Iq}Niq|V#%vGW&Kb01WmbD&%t4io_# z!VO(545XX@2f_HqVr~21wm7n$>E8+%ZPXt=(RK9bnbP&PmQfNJns@gsgx0=v6g*=p z<8(E;C}scE*O%%$Y-nN~+r}T?YB->UmJq7duYR;^l^5@gF*l*GYjmn2udow$X9p$x3eG@G(_Oh4uapX;cM^!RZhE=f*S*UcE6MH%=7iDC=$T(tY zQ%1FOc9Rcq;S*HIQGcG}HhF;~cn6~sc^I6dnja>aomgp;B!6t}di0x>yyJ>*UcSj# zvn#6BOFQ0U-DR8WVYd0L3oxR~9g<7pECne|m>*O-kui#@kMyJ9kvrtUfm zZ%gp`__Jd#Vs|lzMJ$}N9TQ+Rf|XP0mpFq*2kR*{>rmW|yQN=N*57fUxKIqe?3Am! zoQe%Mky?_L^7j6`c1?M`KMVfr@52P8a%2ll)sodk>$fD((_R|h`*q3xZ?ivz=A{cF z1v)Nq)yF4PfuNrZ<=(V@vwe%e!Lk8kUcUg4)VA-NyydXlFE97*nA0x|aLzGIOGKO% zsn|?0vYcz}q<(ZcZs(l3v3UvOZRgTQ#v7&3J#86vPb!fM3MTbJ?nQDp*y`-A3tG!l z*(~|mhb%FaD)Ft__lu{~nwKozKg}CWb!zXASA7uO>Cu?eW;pd4O5lDwJwEbe9+R&x;It9st}%?LG(3<=Hq8Tn*oZy54{R6M z)<4?k-LlxEA*Q<#T6e`+3sumHi|{}GZRZ9jfjH!ql3IGbFRh{ii)%y?jPkS(>Yhhe z8&vp^Py6b2dQ)nBJCwY4UWW2kROksNg3YDHgSbZh7f_U(x5px+=nlbp5U5%=WZ*Jg z>sI<*vcn21QgXABZl{crpx|z?V#!z?K`F^woO;mM^=4bulD7=huW#rs`xV1QDPuH56ojTh`nZcsP-H~Zac zOcz|uQL~yQNVz{>fshQ$4K>q^Bz2k^AO*53bkyC1Ukix@m|QZ^DG@;K)KOOu=&DE- z2LWA7?QV>P5Vq z2Yc^vRFsl1Cp5gJ?w3g}Z*_IPx53&#?>G$+9o;L=RG)^LG1Ua{`m-mJcgpQvXBvqX zJwr9SN&~%lt!gP}9qbnU%aGTC=JBR6$9%@FX-Ql8`32nnUKMv-+PL#^P*;t#@u^y_ z&+gz~K&I=sr#*PQCw07+8@sr{`WvrpxWiIAHBr`RV1J&b$+IslYk~HO7Lk zW%q1-WocOGksDbiaw5f-6)SN$lZ>QXW6wF+duw*v3>T~*2q7h6-)7v|t@R*9+;ml$ zVEOm3eS4)9;*V%NUNo3y7H7w9Ipm@WQ(6_KZiVz~LA_c;)Dl)^JLDa&%i-EORD6#|ms7hb4W(p*=kz zW5%(bw`iTAp>dv!Mm?L9DkG2`?TzdG#6ZFXwE&A<391Pf`i3CU-uCg_PrQS4B#z-+ zoJr)ljW5PEMYfmX9GJ9G2|5@yZ4*yQ4Iv` zH!D60JLuEn?V&{rimRzF*G-*Rdrem=u~O4)+N1r&B$+BJ6xtMUda+b$x8dIDC|RXe z^CQyLsfp`XJiWMJj+Dxd=U1zOb3^phWY#TAYodiZOD|72-W4N-m)jww+M}U4XyPRt z!x(gH_IC30cs~E}w0V49l94Peh}mE+`&9hWC|O#_^zns0(#Ro0&X~rl=MM~{o^RK? zGH;Pd)R=GZBDblj+83!g(`UNK-CGw+2Mt?#&jAn!ZfZ(EmMT_5nQ8GT=!_ft?34wl z6njNWAr1sY0!>+Zk_X~$ukZ55XQ&OF4z0>|67}wpv|(x+OBHV}>`wD-kZGVu?p)ZQ zk?VE+fS^bA?LC4CMFY;tn$+6czJyhXuYB*x0-CQY(eC8@3~TtpaWH2%2Q&;oN*!G zia=DMgXHQg1%mxbYc8irN(?}jjlbm{Q)C~hd;WTP0dKEO_1VI`2haB+#5vxQ8@z(X z$>-I4mcKYlI7TRIUzF!dwLX~49o`Z1JXQGlUUN)V&;IxwF=?jH(;yugJUEKL2up$p zgZ5+q)Rd70yz>^;_PyBGTlW|1*EVvzFI9+L>dw9di0O!n z3df6W*A`0F_R81J&C>2z6t5<(ZJjvaFK4AK;8KzdbvBZ$vQ2<&RpGe$Mq!g)!Fuam z^G`k~DlDG*CAGP?TPjXy9h1GjwWozJtp5|-yzs}=UY7%IFK%Cy)x?#R0jTQEd-(nN zCH4~4SKj`3t@;Mu%KuD#X!vn-rROfE4T8}%FUQN4pWfPSSuXBxzwBn@)uHwRtBc0P zukff-%fI!fKO%-6=nZq29G^d+#jY8v?j3%`<9T&WCcU!Kxi(7>Zqq{Bn$`@7{wkeq zhen0_C^_oeTyLQyh+dZ<2=8{{%rc31gQC?eA< zl#bmx|D*1AyBJSvu)ept?wI1P-!YjOD(WZ;jEtx`n4^CEOv)O6{pSxy^eYDpZ$Itz zyuI|8Q^oarZFAP>d5#s~woR=ud+=SLeCN`oK})4AEgjw5Vpz^Q%sadeWakA4CnQNq z3g*40E>cY>BD1AU%T$9ED?*VK{qqtOlIEJ0oWfiS;FRbZQV4G5duVZS`-{RgbEv+Z zOgg6V);ZpD2=d+R49IY*zFS$ZZt(h4u(0u4Zvw~nyX^=dd98!FgD+}xP9H;dma@O` z6F%Z{0L8_3RF?Ee*E@>#IeqdG_ct2#e?;||@HG?Q$~PiFLQ|WRS4R^Vf)EGn)ZFjo zyw>E#RBrezX2Jw5LO#fai|gl zNT&=g-6)Sqb-IT9EH1zV@i^#Ob>(E$BPHY=N7@^6T|W!(KL$ih2L2)D@b-CS+m$ro z4o>H^phf&=G=7F45TT%yaKX%5Z#yz=L7~)Vg#X7t?QAeP+Z_NCBq$gaqwpEco+YSH zTs|fb(2)~ZT%XAi{*3Vd3@EM%%#5gw@0YN4mY`fo<=6@YLIpUI<_(B^2|K=G{ze35 z2*Pka`pNq@M88gdi3ofp=u1TX4`6;J=nn+zONf3Y=u1TX4`6;J=nn)7uH`=WnEhYe YzZD6e+la4tza0TrQ|sSe{0uAq1`tr}t)yadYBz<`&v=!XS*ND80Y8vKGwh#Nx zff(jN)FH{QUBj;zq8sAn>qQR4gG0PLy#sVZ^yTp+9|BpIbv{?DArGE63G~pHH<+sc zvx0$*eEi8^Ep<4I2!|uV+B)h8EtIAfTn&tbBjFlwqy|D021n?^wRMq5@K1;Q8h)^z zKZ&Aihco#p80($B{IV+;j*iZp6C@JGvVaAIdI#b|VBP@= zb1oKq;K%_)f2waF)yEq==Mzux2@2GgmuJ<3-)G|G`?GWJ0QLE-)QLV`8XbQfN%mry2Cy25_(ez-Dcq+T>9vp(F4P{y}RiD_t}1fIz%Ak!*(3muJOO zr&39}2$VK~sI5hT5j9B&7z$6o!|)^w5r!fY@n{lBTU(PtdLNMG0_Q^vn#=mV3lhtP zCRv+A&?X{a2owedL%|6cm=2nt38Rn@cp{tvM-cFuAGomgr?NUe-t#ZHA`x{dKK@>K z7Fv7|iRz=_x=gfw5AyOc==L2@pIizU!H>Z3?R>UO|Tv-dsZ^0)PO)A z|IoSK`cr?kC;KhDTj;)?)cGnfc)l0u;)x5M0`S|(3!<>DTd1ObMA|>B%gBsqKJ7>LTE}NX!S|e>M*Ap#%ow{mBMyEFSMiy#Y&%`O$_zsw2QER(K-S zJJ2U!8+2ZqpRXlu!+X1tS(A>&+~hIW=j1g$U*Z@%h72c>kuYs-Bp!xB;Csk1lC-KBEj%z3Ic{FlSwFowvILl`3Dk4!CCX}*F_q^ zS}1ggBn%8eAZWu-2sCRz5D;kATTLWJhpb6NkSV{P@P9AcU%{CE!#jeXb9p~|e>j{8tA#vdO_Wo|jd8^M9)INwn^rZU! zZcH<8>!83t7;^#7d#UH~{DQ?o{RejmEF=qMth*1^ZI8y!_dP$cV)eN%dHl59`;sBR z;Kd++O5Z;$7yp0mt;yc3y=^e-&Ux+@eDPRRU{QfZ1r`-pRA5noZ%F~>Y*PJPzHI8O zKVSe*tOo$jD$WW3xLykYbmrpmPbQuImPMa=`hy6!>y4!ppgh*gE3icZE)gBa=0` zu&G-hXOU6TP2%+l2s0IN6~7$GrGw#Fd0fj=OQ}=GmT(yK+b3@cFt|h{Emtt+IAy=F z%e`|-x_J<78KByxY1r9iY&o^WAgPwuwH~YjWQqaB=Fl442yJt4WFgkw1t<+&VF5~^ zU-~hrFdC8_cBuNGLa8X7{U95ST6E%4FR``k*^bqr_joFo?`u{N4@mW&P2RJ==KFiI zh;w%PdZtd#p0ti#{%mT~{h-*X?|m=dYrzrPcibM1Tm7NzC!CJeWeZPC9_52x@QMe+ z4bcxS6e-&Hs)VeN0C8m+2nV>fz$NULQDbtSlyAll+@?t>y)Dh#JGrGL%ppEB>v&{2 zrq#43r5pSzE=RY+QF^nDg%!nIh;wz%L4HE*sfwQSuBLkgK%7UFByL{AUhYaa05!Oq z92>YhH^nh&;#C~dGyveJEh0XDI$R;-u71Wt7ulP(*Iu~Yq}oF!$OBca&gfnnpI!Ne zN_IT$z&Sy}DT?w$StA8j@)#&HC+lx_v7P)drGN1J?QtbVv4aqREwaC#a}_7Md=`xz zU0%)>{oqjfc~OgXMr&iQ@+iFvJ4sb-mAW&`R-oKe%Uo+C4^^D>@+XC2^L2<-K!>0U zCh4{EzCt4#IcHtPN3Rbv-#Ok#difg^0l%?J9Fwz-W}&)l^Il8GqU!qE zE_xdagb5W!M*8u0S(%S!WwcC_57w+?HYzjs1Atenskc(s{wE6~2nvceE_=8KAtX|S zK5wfOboQQC$~6y#)w!wwg(pgn3NnR2wIW!@8=ylwYVYH#+& zNEC*Ia7MHhsI{4`O!G$%=E~#0%wD-|LK3KfZT*ofK?vbrH< z-28-t*0Xk#(NUo+leTn@HqWIAu5S3o2u1PlZYfdFy9-r$FRzw}b>QU|;pCR!iCw{#lm7Mq-=-5`E@q%4 z*LQWLcf36t;DS}27iu$w`D3{sE{&$}Ms8#E;&UOyh;xsa&#Ix!r;)VX&0F?vY3-R& z0qmW;R!PRKWv(oI%N)2dyYrpBcVTcDHqGS;Pe5JI)4`^j+qaL`FS+(SyY%JyvckLm zTM(p9^JyDntWaQ8!2pl6W4{WAG?*MLJ@NNl*qWsJj#^xcr&DYLgGXkE#3W}{3011VhGpKF_^sZ_u z2kUpRtH+z96iLdo!jNh-6IxT6)OF{oGd>wxm1fl{A6AyRyQ9uBY=SJC3wkQk$urYx z=Vp6cHlK=jv8-uph!LEey_+`e*I0w;95{p-OmM8ccJ2z_dY9Yj2uf8=XghiT#w*L$ z&W*fjzbj0Y?jL8FXDr=hDvw(_xYRY|K`z@@w`i5iMH#Fua_IanygWf8U?!&NNJq9B z;DEVmI=EC0;1LiisoU2^haqd2l34g9Km1;oj{l3a^|mI-mcew>R277Oj}n&Jg5>8Z4{& z;i7_Y*V^uz#lgGe-*w;XZNGZ()lv^jMk8b!B)L_#BLcYM;E z8cWmesLo#Op*8I*@9c05bAW!NE#DKqesdY1 zdl%v!R5pCtqQHsKH!5@MR`qG{t4(!*H`}Dor`mn9=cf)I+}>Af5;)~| zCS3o*#$z}1UdArJWg&?_;eA*T&U`ajY@I_TGvG~v@Wzx>!GM!yJD7S?&%VF0=B*+_ zC$<<0e|Y-ht|xa*v3m5B7R6&~mFB7-Lori_ZHgj&Plc1Z`V3!W~H4BjcVPE-2C}5Qh6}aY7ra$4Me=Rz9>|td@mc15r6+c9ro+LAFS~!p% z>wNu%N0syCjf_OecF@>3r@I|fvw&Mizdhpch`V%JZwYkRxotJXk5C1FT8&nZHxG?> zclX#>Vr6x2(89tZaWD~nz4@HRfrx^D+CfG;T5GF?6r*z>0W+A0yr#D6p^N?ck_4BC zdj+Qwj^8e5QtiH5a_6duE$sW?o_a1oLvNIZeTWszytqb~xAg$jna#kW@L~?oX!y2+ zSB7M$=$OYA+-;_3Z+qI6t!W>FUUq3bki56gd~(Bq_Mk{LM-JYy?V#4|GTkYGO*md9 zWn0dnX3ZkD!}~7{t%u0j+TE~klxmZ_p4nM*JTk?1f13%{sj#}inI|E`+8(lliL2v1 z$%;1o%g?Z~*>EA}cH?^Muoo-SOD)xQFLmm>|BjZsyCrq&yK(>oY#4hOJaBR>DNtM_ZmRfzj3)L#R9s~4iCVL`2(s|qSz!!8fMMJQr=J%jNX-Fy2FMEK ztuJ#EsyrrJT-{C%7I2yJ(9}#GxyM8BzatTeSSq=%v#G}adq_fwMSPQ%`kmH$)ZR3G zp{dPfteNUUfbcZy<=ugUb*z`a{}_`up_`tndrf0k$j7b0gJRd9b!dRxBrv-D5zmtC zD<;9*{TpZUkiAo78Yv(ke}AqFKOeW<3z=nWTB4GA*d+xv0J_FFu_b+B2J!LxPuYXo zj5ckyHPGJhu!V0dK-@~Az&27cU!3`{Bv(Q@7I5lvR@rfr#fQxM% zjWGg`wjV>(7x~xHirl_4zm6`rnuiT0HMNd@??RPnF2=tJ78LgH|4x70zo}J0RdmIL zRu5mEGnAFv%`}6Mv+;xHsm; z0gB41K3<$s4^~p3^00dLQ7LKe6^A0O#D|c@bUk#$T5j(g(iq=%zHt9xRr8n7lh62X zsu-Vr^JeY%J(}H9pU6#8nx8_%0>q>#7R6bYK7t~`QlW3Nhc!NB`*oB*2Dn>KJZCTyI(3vYepttw|F?~dEIHwf<<_Bf=>Y3bdkYp(70 zEVa%BjTYKDbxpwehFkFVi6$X(f?nfA#95%??aF+-D4HCcIGqbfIZGO2L`(yGOZ{A{ zu0d5KM*1_?a>CZMARGKM9;QLB-Urpl#JLc|6==w4(UB#<{uDK?7pONeo}Du%o_IbM zf7A1-T0Let^l}M>q9FHM!p;LyQrlxY?#AawO)7qyJ)rbk_FqZeYZ_b0D!qtu0LZMb zZ;es0QDC=AaDKD|?aywpPWug3%DM=tmY1NHm&8;qs@5p6*Jv~^v974J4dJOUC3$=K ztvsq4Z$ymP^KQtKl(_Rwxc%mrw{);<#uT^29|2%RetL@VK)qxq+T3AN=n41)U!<_u z?tnXjz{rXYS)oHs^j)a7U9w1niv~6?Dj%w;C{`hEOB${h#p zAA$W~#3qMR$PQHSB|llO0z#kE5{ukg>v=JrzACn6TzmJCTb$Jxc@$wJ@~;B)pFFYr zPwMV;0Bp~3d=>4r!?&$hFYSh9a<#asV~gsmZ_lLC`7N|3QE5jTFU}lX&Y}1OW}jQ? z#H2JwLgI5$r?c){Fv^)#hvUVxC?Vn103bdhqxOol?zqeZT!oBFp*|J1xv1(;X_y1X zuGp(6iC2tDOc#*1RoGfSp@#`t3Gd|L=$y3N7Ro29ezYJ#VP}?Dq6YJgiu>vRH1Shs z^MF*cW9-Msdl1XxN70N5q6f{w`V44K8K|-CB5QB;Lwk1<`nTy+Lp2R=pz?;9DG7%y+QE%zHZgc#uo^QxS?uqv4FQf6Wy4p%$Zx8&C9@0)QS}IR{=31$6CHhD5|{ z%CRb*#v`h+J`n8fZqTO8@BKrA9mIOBFjmLBuhi+sn&Rl; zUI4Jn6e2Ev8k_V?O#1xJT!d@C#O7iKjotXFIJzSO|KL7NB06sjWXAr$MHw@o!X3}$ zg99yNw#!C51POlFsy}eP0BFRCHG&=?#F9qP+5b*J^HOv=%reVd0U+FN1Ib=nhE8CB zU*!1NjX(3;*LGa=F*P;$sGi`KOG_LlCGBHy%kKtNmJp||Z9 zWZ+o_y9qxi6miu~3zIXdl@)0t5q8K5S;`6UyoFGKK?vXj;)#w59HoSx%qTm_oV?<& z-ue%~_?XE&An5KGvoX>r{M|m4pzNWCAG7yU z&MXbhEqLtCjqL0aRi)`O&CSz!@yZ9M41H&8S5?0$U-DBEJ)qv3}Wv;2h@vd<5_ zultw2z5>w4vodFF0Jh2_jgC-NCKhipG31=N^sJEX4}r4a=ZY!;#q4WNZ&u!Jv8xX| zJwVfMj`d+O@x4bt8;a=htVf#?H+|f8$4FnL#K_Q(Hgp=*(+L6gkvei+ zh_`B3u1aN@$?Ot&@u!Ii0ebQ!n$qVLAJ*++cHTW5`h!D-WcJzO!zKWLbPW+KZj*$1 zj%2+O>7yhI8|PLM?-3v&>ZW@_&aB0FTw3YGgnkww<^iqR=A=1xfd|~kQy9*0?fWc_ z|NlFgkhc;QZr=?E#sEFs`;@`FNu7PJoZm$VR5q{I^y6xjjEkOdmPw`WW+GN*bVo2B zqmC{OJznI=+9fRAYh(aH9~YI3#u{G*n7EA`yPqE`H{AM2<|trCRy}s>J|%)Vb4a-E zudA>C$WmwZ7(uE3G7mX4TkTr`G%sEsko90iS3RJp0V*|ksYIt5?Mzbac-wkdBIHEe z{hV|?w$UR668F~}@F|`#t=B%?Ap&shZgq>Ht@9;aVtr6;+8`M<+`-<(W{`)RrrW?w zWb9T)ygS16*U9|kVFA#Hh3446!~RMZAjbJ`3ebBYxwh6s1AyFco-DY(JQ<)n%CS3& zYPd!7WRS}9_ZFY1V>0u7>+dpOx&mC8IR-Au^~JG!Rz{i8pIlZb=cEtf#GMWISazvB zo2^~--sfj|od=}W?WD+XT?bCvqlkzr{U!m;i#d@tl+3@O!uH73OK=M%%SpS64dypq zK0ey-TM4FBf(|v`ttrJKR^^|uNH&UGQ6w@FR>^tY-JUJidUwW>cb|pFubj*Sf-%rg z27ai27dJ#S8_&NAnctOLw2c3y2LzA~lQX>}5{!!BB$yeBdSd*IyMB4$zNYE{5ZqA>=!GwJnKg(9w+e{K z98h1UAhI4t;1w;FY3ZV#xLIT^V-kher1lP5 zr{{1AvxyG8*u`|-X4(a|>`9{!Z{koBP=I?D4cQs?43Ms}Zj!#(u>hzI0io*;^#{e~ zB{S5%Wk5{kZFOxCP+D(-)qPl&7J1bC_ULGZtd8X?sDe)t>zkyc;1s!jlMHS`jvwbS z+09y8OQIW!eTt8HOhtSdM)QEwc@&A=1=r;&lFRj98|BsDdH_OX*Y?=@1#?>f1VYF%28Q~* zxCU>=m44eJi1}`l6^M2pYQwE%c3?!7m~-@Xm2x+mjTvsK4J6+VOpNCf++=H-ff1-Y ztGJQs8+z&W$nQM0{!9240O>&`S(}7hH?BO>RB}T7p_q#L0V2dqOBBF+80DslL4ry_JRa+LKi?+?p8~Z2==>^4 z)*6)Sv^(E6j=l(JL9BtE4v64$aee^7Tc#vap{>EC2r&ROo0R2&9LY`Yg%L{=q9Z<~ z>t`#U2c%&sC(TeJ<(kAOBri)_1jJHzCb>$K!&1c7j|PK!o-aPY!ww!6P1NE5yICJM z7|2BOxK8clmKFGH96sr2VFbN^O74N@=i0_7*e(M4K&!VHIsl0DKgTph$u{cRsYB-e zi}wnU+$R2k(U(147(umASq2D~i-}UOk%9c#uQhzx2L9vTW5fX(M*ilG3F};d^{ftq z_rkXy{=F^u{~m1sP6LFw%a@jl09+sd@ZApE9Q!x6c>$1` zkQj{(42H7j*(?J3mHKfUfC$)EYKaXWI{+9ml zIX`OnO&88^iU4fOOaRvRfgBOdb$_Q83xKMGq-iqsDpFB-A^>A?iu*NyH>|P4mNCBu zZT)ramn>NT)XO&aZ}?ydKtY7{OCw)0-dF7Vb=n*ta^2sX!aN{^jnGmWfCY2W6tIhc zJ_cZZ1eJcQ=1Z5oA3>6HBM1a2BrO8^(vtr<{|h7NfBh+#KNoA!`hQSh5zwCy4fy+y cg>CkK{g~3<-;BkGpHjfVVBM#x{+9Cp18ANcKL7v# literal 0 HcmV?d00001 diff --git a/src/assets/sounds/hello.mp3 b/src/assets/sounds/hello.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4e013bd6c56febdf4839b76b04853652480ffc7a GIT binary patch literal 28650 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 literal 0 HcmV?d00001 diff --git a/src/assets/sounds/ripple.mp3 b/src/assets/sounds/ripple.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..49102a3e7db20ec5ece728469cea0a49683781a4 GIT binary patch literal 24020 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�@F zl^7EA@A62jz4$c8_`wxsBskRKlx&dM!Xe}dYfhEs44_H*IfK&Yu3m}{(BP`205(>q zM=okOP<50fuQM5hZ}IUU-O4t|x3rRT>qlsmYJ)kXTU$fIH-&GVU_C#4;qY-m%|YkC zo;vN9pb0@sn3UT?=bOTR9d%AzIV}X3leTAYWp;VrH zn{!bGFDE?Eyw<{!_MK_Y_|s2Y`*R7}*2aTFEG*R+4z}BXkv>X-ssRfdx%b`*fHGps zy6pwcTQw^;1hm>g=Z5Wn;b&}MB;d`?RkV1Jj>NVxJjhDL-WHXaDFmQu_2Ek@I~~{7 z6kZDPWVecc!{ckGqZ`k-V}Yig{FlpdMtZfI?Xzn}04I)RAFH?!Wex?++iYdq&%8KX z=ThhAo{ry_lTEN4urX;^HwW5tU4;Sp8MMMeOqZJPDve8sWRSJT3Tyqlj33wCDA;B^ zHhZb%04RHxhjVAQ2AlZIxwzWOGXL&+wi_fQcYFWKM~t9mz|w!g$c>DwA_!W$cS-Y> zzwGom3N)S}9!!-1>c9a4*=IxTu~viY|8r)`@}azaf#^$h8*L}Om`=Bvt$Zjt4E2T_ zpYDEcS*T^XZYjNJA(mTF3)z}7j;m9Z&dLBRqT;`)HvMW~7~(%>TOpFJTih#*{K=p#Qtd*A^hSH2Y(q&!3O{8U)huzAY-0|LSonPn{HVXhWW?I6o z0|}>0`r+pd3b_(^DQZ%fmb&@c;sutoI(wcNOp3J%Fi*YZ+)?o|^nPcNe0@Twx{ z^j?CJp!@IP7_TB6G)7mg&NW#g$BXO&2KV@}ar&x6rPXFB!u)UAUcaL``M%(-%Irs?WU*D|1 zceqa$(JQ=H)u=xI4wb%CbA7+UGiUP40bukGm)G$8lD}EBzIdRsN&p_Unt02}^lQ~y z4_{RT1=JYpsn2kqXL|KYw&$0*#C78O+&T^DH!O&Iew)dIHpi9Ds%lST5=|`#O4tDa z>gN7FCAwG7AbS$CY>87J5guD0XwIg8sWV6kYeFTK$-!&R zMvochI~5j48){Tw7fJ|3{j7w|7(oUElP15hY3sWV(N9Y(9jB|LdgH1hsCM^|D76jT zMAOw?Y$cdWn0BDVAaYaC*nJVtooa>mD5JAV|$^jLmdq)oRze>HbIr zR0PT1`ET||s^}B%O$7P~>P>WeKzAQOJpf{Fs^}xAH_`0@-F*c00EoS*qK}}DKo<*x fK6O$3Cjox<6!)n=qR-x+BjD#U?#~-PLCgOFZ^v?9 literal 0 HcmV?d00001 diff --git a/src/assets/sounds/upstairs.mp3 b/src/assets/sounds/upstairs.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2e4366b85787026ddd42e866d96d60e2669af765 GIT binary patch literal 23246 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 V{oNS#`0o_(cb)q0s{WSy{|C this.webviewRef.current.send('notification-clicked', {channel, teamId})); + const [title, body, channel, teamId, silent, data] = event.args; + Utils.dispatchNotification(title, body, silent, data, () => this.webviewRef.current.send('notification-clicked', {channel, teamId})); break; } case 'onNotificationClick': diff --git a/src/browser/js/notification.js b/src/browser/js/notification.js index a8ba3030..ce503e22 100644 --- a/src/browser/js/notification.js +++ b/src/browser/js/notification.js @@ -5,17 +5,34 @@ const OriginalNotification = Notification; import {throttle} from 'underscore'; - import {ipcRenderer, remote} from 'electron'; import osVersion from '../../common/osVersion'; -import dingDataURL from '../../assets/ding.mp3'; // https://github.com/mattermost/platform/blob/v3.7.3/webapp/images/ding.mp3 + +import ding from '../../assets/sounds/ding.mp3'; +import bing from '../../assets/sounds/bing.mp3'; +import crackle from '../../assets/sounds/crackle.mp3'; +import down from '../../assets/sounds/down.mp3'; +import hello from '../../assets/sounds/hello.mp3'; +import ripple from '../../assets/sounds/ripple.mp3'; +import upstairs from '../../assets/sounds/upstairs.mp3'; + +const DEFAULT_WIN7 = 'Ding'; +const notificationSounds = new Map([ + [DEFAULT_WIN7, ding], + ['Bing', bing], + ['Crackle', crackle], + ['Down', down], + ['Hello', hello], + ['Ripple', ripple], + ['Upstairs', upstairs], +]); const appIconURL = `file:///${remote.app.getAppPath()}/assets/appicon_48.png`; -const playDing = throttle(() => { - const ding = new Audio(dingDataURL); - ding.play(); +const playSound = throttle((soundName) => { + const audio = new Audio(notificationSounds.get(soundName)); + audio.play(); }, 3000, {trailing: false}); export default class EnhancedNotification extends OriginalNotification { @@ -28,6 +45,13 @@ export default class EnhancedNotification extends OriginalNotification { Reflect.deleteProperty(options, 'icon'); } + const isWin7 = (process.platform === 'win32' && osVersion.isLowerThanOrEqualWindows8_1() && DEFAULT_WIN7); + const customSound = !options.silent && ((options.data.soundName !== 'None' && options.data.soundName) || isWin7); + if (customSound) { + // disable native sound + options.silent = true; + } + super(title, options); ipcRenderer.send('notified', { @@ -35,10 +59,8 @@ export default class EnhancedNotification extends OriginalNotification { options, }); - if (process.platform === 'win32' && osVersion.isLowerThanOrEqualWindows8_1()) { - if (!options.silent) { - playDing(); - } + if (customSound) { + playSound(customSound); } } diff --git a/src/browser/webview/mattermost.js b/src/browser/webview/mattermost.js index 19d824bb..5b68f365 100644 --- a/src/browser/webview/mattermost.js +++ b/src/browser/webview/mattermost.js @@ -76,8 +76,8 @@ window.addEventListener('message', ({origin, data: {type, message = {}} = {}} = break; } case 'dispatch-notification': { - const {title, body, channel, teamId, silent} = message; - ipcRenderer.sendToHost('dispatchNotification', title, body, channel, teamId, silent, () => handleNotificationClick({teamId, channel})); + const {title, body, channel, teamId, silent, data} = message; + ipcRenderer.sendToHost('dispatchNotification', title, body, channel, teamId, silent, data, () => handleNotificationClick({teamId, channel})); break; } } diff --git a/src/utils/util.js b/src/utils/util.js index b34aa35a..42fd53f8 100644 --- a/src/utils/util.js +++ b/src/utils/util.js @@ -185,7 +185,7 @@ function equalUrlsIgnoringSubpath(url1, url2) { return url1.origin.toLowerCase() === url2.origin.toLowerCase(); } -const dispatchNotification = async (title, body, silent, handleClick) => { +const dispatchNotification = async (title, body, silent, data, handleClick) => { let permission; const appIconURL = `file:///${remote.app.getAppPath()}/assets/appicon_48.png`; if (Notification.permission === 'default') { @@ -204,7 +204,8 @@ const dispatchNotification = async (title, body, silent, handleClick) => { tag: body, icon: appIconURL, requireInteraction: false, - silent + silent, + data, }); notification.onclick = handleClick;