From 65e58fb2c85e078a58b2741dc5daf37363b8ca1e Mon Sep 17 00:00:00 2001 From: Phil Booth Date: Thu, 6 Dec 2018 22:11:16 +0000 Subject: [PATCH 1/3] wip: replace CAD with CAA --- .../connect_another_service/lockbox.png | Bin 0 -> 11554 bytes .../connect_another_service/monitor.png | Bin 0 -> 2399 bytes app/images/connect_another_service/notes.png | Bin 0 -> 63981 bytes app/images/connect_another_service/pocket.png | Bin 0 -> 55378 bytes .../connect_another_service/screenshots.png | Bin 0 -> 459 bytes app/images/open_in_new.svg | 5 + app/scripts/lib/experiment.js | 1 + .../grouping-rules/connect-another-service.js | 42 ++++++ .../lib/experiments/grouping-rules/index.js | 1 + app/scripts/lib/router.js | 2 + .../connect_another_service.mustache | 31 +++++ app/scripts/views/connect_another_device.js | 11 +- app/scripts/views/connect_another_service.js | 120 ++++++++++++++++++ .../mixins/connect-another-device-mixin.js | 10 ++ ...onnect-another-service-experiment-mixin.js | 67 ++++++++++ app/styles/_modules.scss | 1 + .../modules/_connect-another-service.scss | 68 ++++++++++ .../lib/experiments/grouping-rules/index.js | 2 +- server/lib/routes/get-frontend.js | 1 + tests/functional.js | 1 + tests/functional/connect_another_service.js | 117 +++++++++++++++++ tests/functional/lib/selectors.js | 3 + 22 files changed, 481 insertions(+), 2 deletions(-) create mode 100644 app/images/connect_another_service/lockbox.png create mode 100644 app/images/connect_another_service/monitor.png create mode 100644 app/images/connect_another_service/notes.png create mode 100644 app/images/connect_another_service/pocket.png create mode 100644 app/images/connect_another_service/screenshots.png create mode 100644 app/images/open_in_new.svg create mode 100644 app/scripts/lib/experiments/grouping-rules/connect-another-service.js create mode 100644 app/scripts/templates/connect_another_service.mustache create mode 100644 app/scripts/views/connect_another_service.js create mode 100644 app/scripts/views/mixins/connect-another-service-experiment-mixin.js create mode 100644 app/styles/modules/_connect-another-service.scss create mode 100644 tests/functional/connect_another_service.js diff --git a/app/images/connect_another_service/lockbox.png b/app/images/connect_another_service/lockbox.png new file mode 100644 index 0000000000000000000000000000000000000000..59b4f740e8b88f48c35ddab18131b3b8b8f73166 GIT binary patch literal 11554 zcmd6Nc|4U{^!Ia2MWr%ES6m@;gAl^$ip(+`3WqBqbIEWGA$1#wP{=IPi4(32hhw^u zDH%_kI1ZWTdC2UypF>@D_OV;(qvx*DNQc3~#vRzRRoJ|BDO1fK|ZzSvEe& z%gTLopu6LU9kB06;EkZ6qoStW2R_Oi1z1#6wDkLE5VSjVV5p?CGWZWt+OZ3|Kc*ox7`IDqy{=1r9KKNLiL5;s`hlhr-?_stiG)YAg^fw^ByOp6a_rDg=+ZKaUlHH+(;pKi_@cRDUXet8gKn za4LTYyr5)NCSg@3nm23l;z|E#&4hfx6LAFM)4K#+rMkpN&&o#&T~edE!~%g|S0QD3 zmQXb+gG)#Ne~#NSt!-~}DpjVW{Tz^L1`qU_C!7OdK!S8?yx}wff(V{)@yq^HPkB^R z15}xk8NhEE|0H_ea1I5c(hm;*r7bNVJw^90B!UI7;-lB4g{eR+Fe|{1AIa^_6+)rG z15~1dXaZGv7$5+ungm|EO7DVa@Tl^=VSwm)RChjsy1f2YRH~_OsCjBEA@~DRG6bat zKuMrIlQ5J7!A<<(U&RoW;0}A$BnZf;o(O?Y_j!~3fyTlR#pZ7x=3Yysa0rKB4uO;x zsK*Nozr#T-d@!8mO*rUz*8%`DH9!yown&0_m|pXO&Y3v)0_z$$0(X%qh75qs2*FxG zflNRv(1#$zL=Og&K^44U3J5UJNf6(CVJetlp!!oDNbq0~$CJPDU;;o86#iO3BV3i~ zHBW#)7&R(?p43N|VTIv=5(3JAPZT1cad&6#Ui*s;lmyHXfq%(UWn{#=5La@mYlVJwKswL6Hmp+J4a{}u6>RY zzL};;&@+r`HFa@`5enl`<$;8O@xa8Of`o+6ovXeP4u;@~Aeaz5g4DtGRD&a_gmJeu z?D?*rI3z|Y20KGKb2c}{@zeU3?NKsHyfvIdYso=(;u?N+FpaX4FmXaJ7=6+!yI7MT zUNV6%V_8cZGHVOtGE7mFB0g9)vzE-2ytx=c-c0mxX_@6_v=ve%Wi@+5B&_usZ=%f~ zP?fr^RSZSF=qY%8#;`=Nxj8GU^4-*LLh2SISHmkW0(vczolO(EFy2yeCr&&kIh|a2 z-0l>m<6KYpib>%rujR5UEV)5G+NtUESlse(boH{(q~?g-xc)oF-Cq*%>1lHRkAGk@ zwClA0KjH%{!i4vcoTv(#9-BnlcG>B_lU5Xsbq^9dDezpwZ|x6~`DCt3(PVT_pOhGi zr0MiX(dd0FU1r3{^1Va$=7)+h9KCHByY3ieOlDtO8tvxy!*@G1Oiq~K_)DbHNm$&_ z=UXl-ywfgC9~ZYoOT6@!6ic#(Z^*~J?|#0xknT~tx>3-~G;2Lq^|?gc$Kdm=v2CcR zQnD~{9D}YfztXleyRvSymh2KAY{~Wd&M}?#v+;743%Nwc@(3HH+87s?2+gN75%e_B zReG8Th?b9oPJ-pH)t;$m+l@-HH&>s+%31a0%Pvc3F7lNhE4F!_2yjmoA?;=#8MB|xcDA7?ftxf z6ur-$%|7p%BCk<)5{R-+?G`C7D#MpqBI<1sXap8H?c;xp<#!kf_z>F~#4wKv-s--`_Xk>MOg_FB zBx#l{m@E_j&NkQm^Vc_(*Mkg} zzcqDQa~*7fHG%igy^8IWIdvkMj^XUP#mI{n#++Ul`P_WhN=a__>F;(!krorge|NNgZh_SleFK&q2C!=Yb@(#hfwhOp>idR7?{?!p z<9b~WLCbJ1qkEntWh*v)wmGh(YRN=Chg-d;JzcEU+iBU7p0zu3(|m4nA>q)6+1NiI zDzM@Gn<$V_AO8?*C_iJ_;kat6(>#zRmgU#rhb~ydGET5tH`Zm#y;>=~c*CLH&U=7Z zJZv_+as6~{WPFo`cot5toPm&>)%3JU;&DT^?s?Q%ac!q}NZ`?2VnqVygEh?ZER!-n z5<>F-a*6g%z1hQv^y4Mr@?z(^IUa~Acf}Q-BaV$t+pZXQxJGyphouz4CO5NnXf;>T zZRS=y)P9xE5B*Qduy9|T=PzygO0~z!MQqv7vGIk8%8O~eH3g1c3S~a>5{kn*abvNj zk>Z0Y-QSk}IM?jS12*ydyn(<^2&_B%>R~jnus^&#^K8r$U-N%VAiiE?^@C*0=pe{Idx!sm*(LIXp{)*1YNM zGfx@&#$CG@mpvxrF}!?Ft7B!l(NSbWxGwmx`90m@2MUC)X`I}OLOi#KiMB?Dmf-_* zK*TmAS=OYkKbK}I+{$jb{7Iv*H^0aWBb@PytVqC3#%blvglXZ-AB*cq8h?{fX!N=! zeVgd8wPsd+ocr;I4dH$p8{c7zmWJ>8fHx<1q=Rd1%_cFft-s`*?PjdPleo#7OOe4- zTrxNENJqvDa+EsklMaLe_XYU7`;&k(6bR-hZ|WP^r`cFA>Tl<73L&Nz8TO1kk_z;D ze`8Di{Kl1PY?C?a&zfuYeoN2u1jlav1v%dBSYxbktWrZn-A?*oWRtwS$Wa~P@fD$! z_SlD&#HaCL1;e&tLeA9M`b2}}E6c6x%j?B+beIIPq_kC<$lO_zxjUVsIPAoPL*$vl zNfiU7%QdzKzTgY8Q5zm-KfilvW%XzDwdBF*G{@KB!vm~^{dk#)cy5oAl>D zEEf|@2{Kg{v*tp^Srr2E+(*d1*ek7$_=M6|WeO-oZjIXNQM}!zp%=#Hu1zc67cU^z z?=|4;Q^gsC+J!$RB-surTWSy@(jJ`iia5eUyaekbKt1n2hXKnbA%BYZu=9 z(D)E{L-5I<^KNsaQ(NA#0*_YoM>fw_*jjEw$%&Ip`bgsED@!=AGDv*m7jn%dr95khAkv?y?nG^v53! z-M-)pkJ%47c)CTkMUCJ~dk&&<8p_MeQL^Lp@B2oMx(J3eEwhEz5CZa~PvP(iIdT({ z#=%wBV~w&J+#R*;ORzH~*#+BB1+`;=U94;M`C0=7N8e2kY|KR5u&LlweF(hTULdQf z{r=RWNBu(KCiZro4RLTAvKe=JW`s6-CL^*9Y4z4(YUUOb4x1$yhJ0Ci)SQ$b*Oh(d z+o{E7n>N1;r{y9ta@RsYYfhyo*=?xI_;7c|rUpsi_Z5`q*3aqQ8gpaw8x7{IQw9D^ z$~!?6lJ1vlpY%W|70PECjznA;N*rvjF&&-qGI^w^Quw@kb{pd7blZl4jN&$XQI&o; z+%|M={hU*z>i6-W{>3G)l<3<3DaJ%RUMe82F&~3+o+vLXQhz zmzx?*%nmcp!VEaLu&2M8oO;}rZzd9Nk&*4~eX5Bo>`61s1FV)v5CW&Hx^4=$_zvle zn{}Q){T|yqcSyQR=ebVQu<=^F&Yib!p2C42^cr5UD6tF(MnDn7UmJNw{lu05{dle% z&D*u39j)sL+=D4v6?1kAi6!H&6qlE`p$Tqlt+sj?4t{=;uuA_)<{Wwc4#{LE)lwDp;J&Ed46w(i9GN`#N{5m2FkQ6-Ulie2s7O z;V#yyDy*2Ca>n*fs#Q2wAMehnG<&-F0&f=Hhjq$(EQNJ0 zEbMi9aY)4Rb6{IpwXBFrn(y6WgPP9u@`#5|gV_4ruXKjH$^E%&yM48#CT=7ZJV^oN zx+WWUk|}4YixG#caM@-8ycbcXn-Jegh|G=J<6N2|6Uy;QRdgoBn%;*3bee zlHhhCh02hxhMZaq1Ee~d_N=#~z9lrk5= zJ>uXV8SmOxAOHG8MnR#-`aI$O{@%8n(Z;({F7-!a_Bi7?l@*zIP*LGv_m(5k3rrMP zwh-Mjt34v@=pE-b*41lN@ujq%7%2Vzu3Qg2`Lto9kK5EO=k#GMpUmY)R>Y4vx2*rq zinn;aTM{_C_=v)p7iNKLEDZ|8NDnmYy7gRE%U~)R)99<188N!?bBV>Ya)T?8Yj)LF z{8MKMs(3o8Pkb3Zm;lEVjM7F)QG$>922Wiw_0}FKLaT11NEW@#35nFRUm>qZ#!K9l zd)b;dPretIhqWtt(JSM$4Ry5q*7)o@1t`s4JF_G48kUS6GRl{b!i?t1-9q@Gvklf&?y)Xa<+hU> zP3bSI6NKhn^b*+$7TdzcQY>1J0Y6NF#Fe0>)FsMNedkHKEGE;Zt1BW#z5{zE^I?E$ zs(-R!a(1FltO>R%we7lT%rhe4gq%Wk%P()w=CJ<8L{^scD4B8$)dlQ9ChSF*D% zaSKf0#&GBo-Pc6Rk@Krl)6Tf6F-%~7j+XEw&IOB7c3rN@UWz&0DmC$}-|SBR^zn|{ zg=1)`%!mq|d-kTBf%^SJxOKw>PN~Tg;?J}=TS>i#6UMl>%@~KX(D8(VM`>-1p2ebX zfV*V;;CJG0LImT~CT&;3IkL~o+gj^dFMFhY&`o{eUn(DsyM8S!bIX}BjDNXU5Pa(S z5GEX_h^ZJS=Su|*&o!W*x63DLi@ludS=p-wr3}s^zds;y*e$N$f^(EhN6+2*CdxKK z=p{OmU2{SrCenOk(jOQW7u$#h`LpSo2_G{P6%)*mV%yEld5Vw_~Re^X;$52n6f(U zq`iM|LaFN8K!<$}4qZ$lI4On1BbJ}&tEBYqn~ znS~8)mXJPqf7g4@TX3fgf~Y;hv!!Y|>BOq_NHDv;5_<1djE6k0$@j3Bnvb$galoH7 z@;olt-N`iHA={B3(_wE`xTL9Y)7-SU_yWJz?+#AC;23S56s#S<&bi6@PIvjXM=Ya_ zeoxODaf(^iA?K~jco^0shnFT>Y z39n{yCVS`XH?Cb+H%$x7Si6@H8B|u+e+xVDZQRQ}Kd|;`n!=O)e*?{gAciD}sv#)w z`#jn6`FzxA&MohIB=>duIoB1D$Z_BHrDYTCj{4VPH{ehIaO~A}wBeF4Voe;& z>nE&8qq*!~RJH05rdOvU%0BjEu@jNg>GTN;klMcEYq!FO4z1Uv_pRE{bYk#%zCrRU zenUAmxK-?z&*#gsG*!GU6|1~kJUlf;_50!~#5d-9igrME?6gaOI_Sv{D&Gs#{XGR8 zQ?Uvq=zBL}9N34}#?(6!pUF9phQ#$Rdo*NkHmQ@1PT>X2t`<(@;Bmdz%f}nR$&h_V z@2zJkf<8@yBQg!KF9HNP=*?bRlCn!u6pr8R)JgwX?RTJpt^y-wqbx0@ zZ9=+|hkKV@;%zD4yGG8kEr2NI0#@7ew6YG_JlQzr-dj}C<3K)S=`i!P?PS+Q!#Z-c z+~nM;Xp(RL%x|Oi$8G#*zddJuCw*s+)C5SWdoF6%kw457eDJk#SPv>2cdumlR&&>m@Z&6d%H@GisBrp|Bd-u1F|_;PT@;tadTcV0v+W7r)*5>2}Yh5MQa0HHcB^b^lv}86`rll zlf-YwSXE!sH*3S?D3gspJJ|5ae6&2ic`oaOZ+O8+i;3qWciUT~i$zh)OAUVd1V^C? z2mMOu2Ls) zM>@YS;*0}fTvqARL1#5XJ^#Q9|C-JQs0NdeO|YUXus;Kd8_>9NLB!an74HiJ!~zN4XyuCH8Yh<#Tf;p8ix&Ae*p` zmW4(kgsxIj-NA?FXgN4;W%CuHN>I#16I#gYbSykzp%nvbWe`D?W>vc@7K0 zxUp+G_piLX7j2|ex(h~o74nRINv`S>zesj5@o;<2rfxgAcwKvBrNOn;z4)T!SzM0y zFKyq7O;LCAuy?cMPrZciFH?dy)y@nZzU*?g$QS)*jHw4&dUW0#lam}VowXs3vD9qq zD88uK)KmEFb@u$LYr*l_^9yFX3o<}HM8CzOsNud1b=!jAT>JitBnZwk)-TOvfZ*J? z^$*DwdMczY1Yc@i3X7Cr1(%JXtVkp{3S6~bm0aZ4HgGS~f1j94lAgZihp|`suwl0` zGQDQV{8g7Ssxz>5@IJ|k^dUuNH`0+aJFMPb$5i_oZ$l00#B~|n%iWoRAzK*q$9^)i z={FT;K6K>9>O1R(>-FK|y>32kS=JTRiw9h*&mKJ-i_Wymw2N?;^@k55#mCu>n{Oyg z%QxkDkeqUqm#=5MOVkqSCT}>}dwCI2?23;FlS@7LsclH?GtuP2uAza_`?h%eGzxc> zHvG5JU+IApNjd0Lqf>rX4Zx_Bl_9=5{wqVVgS(+Q>UO-%@9uWnP$hh7BdSxA)8spo z+NVH!LU;KlnsFA4Cq;3HZr}6st8S+3WqpnNn% z`*n74NSBRQ>XXzV#O20Std&NKmhSF02P@lR-cMIC7yHQ-OQ2jrk>%@ZGd=v;Fl=vre`5F3O6UH>jV# zXm!)KXsu!N3rF)IC*RP<+)gBLI(D9jv5B#y-~%7o1!AU3(6Q!KUEWJ3?&=+DU#r#X z1Ijt|;yq0ILt=czQm%~IiKGjb$)Ip}UfiF15|GtR@XJH}BtN@^W_jNFt2w|1`P zHJy1JM1ympzn(UWdy{VVXmIA?nc0wLQ_1q~uF0jewYbk1WqWO`<7SNOnstHQu}Q~k zB{AeMuF&p3jtSq6T=KT|MrS>2-ZcXl^^tOO7Y|eC^t`&3feokfEF7|S8@kxs;dkhY zj?UT~x9Ud0=dzIiRVW~ki6%fbW^-R^MNRYxCN30^j_DwOAVchMv}bn{L5c7_Qp3M&U+#mW zLV_S89Q>tU<+nFp>L^$Q7vVpii|q~C=`kU?ZXIoTn#blW*2Zp%m=8O7u?3roN#JCb zY-8-o95ib_l{dXyHj@DnY+yJCBnWOZQci+Nqn^P7E>uD8#8VGFO;KrQ9+P+p2d~X{ z6BRP)%}peoFXahK1ygo-m!_;PC&y=ip6|3S^tu&ZryRqZ zsCSGLE7jdTf3(SDvJo%#WPXAZp7}|+*hzBy^Z4m{=QVq?=kK|d-d`Vd)OWTze-Pbc zJcXKysuYbBOaeA#%Jc`f;%^^tJOP;m>i*!`z+c#a>%oiZpSPi^i>UMt;OVB;uf}T$ z4NuQ*q5?N{6jl2?8>7?Zye-B?KbcEauAWB;qaByqCdAV^$ZBby-?rt?wWcn+ zxq$m%0@J7S)5uq&eyv{@gb;r;6xMZlRQkQ>ue%NK)`X8mI)cA zhm1IP2mj*oD;IE-;1TjRUG$=S=};QZWX{zyCr8M*0DjK`to({}=!f*dd(>pcQUwtZQC zj5uHJ!)5}5CO9rX8x`KoV_pLIk&K~oq22-?t#X_0rS`Pb^>Yrj>Kmqp`k7r`ikyum zJ%E zwU*XV7W0YVvJI0I>mI4i2@Nfk_P14;)qUA=>4j^yM4hZ`be>D2G47<0Ltzf7OuL}C ziQ7A?`yZx&lRAKCUqHdE{#!2QXP(+$R(!i(xpq2s;}~4^84skB?AJY(^jp=ipWok# zU3uDMX&9fk@;ElIEz&_nSC+82)pa27!i&58!8Q0sqO_Zd^{ct-t#Huso|q17GseUxkk7A$4o= zH6xle-h94Qz&6rqcW!J!A1fd-ar5)q=tOqA^hx2A3+|*6ba7MkM|6qPkX+DtskW|Z zHoGj$1N}#&2~w+h^>BB~7qI;fM7<#3((jyiZ%>Sseh?Wv{ZT)WFUu97_NXJfjqsN;6Gm~^5==RtdOg)e6K;E4hc ze8Noar^WvAS)B);XL>VMAMDFQPw&XQD-{kK{D(~cM_ca-ZVAHE8JZP&?aj5sS7*H1 zd&Z_We44dSl`?-_l3TI!{k3w!$Qx7Ax*&fcfdbLD3z0*S#VaZt)~|T9OU1hk?vAkV zucmM{gPHG56K1Xe#;zLxb&K;m>LNfD*=ahy7j*|A$YA6x{E-eCS z5XwhSxqQ+LFhIf?b-;s1A;IF!cSQFWaQ_YbUj(vFjS3lI08xBFC``|Q4=j^NC<4wG zpatctEO0AO`6>(SG*XHzS0Q*UW#_Mh|9)9PRvz#r5vV=O`CotPd`BQ!fN+(Sa)T6c z1c3yJgtXKG;7;r+1U`gbQik1907pyxGZe~?f~dd_U;t4m13iFy4pG7D2JEUMkXKi`rw>Hwc} z5o%OQe3X1ohy`AxyK8U2x7hIRo*@i7QXo4Z6{HaYXI9`6Nce*tEwI;6`K$8X7fyme zvfch9$_xUvAaMUhc|fk^F=%)BMbd&C2XMXzZfX%%f#M*s5&|O(ObXai%m5Sx>823$ z*VfN%g}*ko7aFAa!3lfeG|@ZI{+S>RQWXjcWdJmI!Ue&Boj(P6_dn`!S3EtKmDD^G zTrdd07GNs40NY<>IT*T&3n4oHxUFANJ;9uTt0_IBO8^ yAne(Ln>e6u(q7c>;G=GMe}wRUh!>>8`U}GOhW>((uqst5`2BaDf3-fm-T6Nt155+} literal 0 HcmV?d00001 diff --git a/app/images/connect_another_service/monitor.png b/app/images/connect_another_service/monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a8b681db046cf339d2ae306a56fa84ba2df005 GIT binary patch literal 2399 zcmW-i3p^9*8^@QXj+OphC^=4Ub6OOC(IgeaZ05F`Z5+gq@skQyCV8#r% zlR-31@-rQzI|Cjr%~hI1+K>fHPm@3!dQHnqtn38{M5!qW+$Y?%dkwNlj}7`Hhv-rw zNtQ}t>j(-R!98N7=?K6QrF0S~bO4dgfa@6GD|mA53uv+fG}4Bio3ytNB+|eG0>~tT z+f<3#MIf>PkL>`1EImWwVHQD$bI%X)ed4^WZdYC zL2!*)j$H=-BZ4Sexko&x#@6JBb9Fi-M|@<3_}2e`0Ll-aO%bay%CL)7Ijhp}yz`w_w3kmPGus-}nBiNMMU)M5d{8Q=&2LjW#hP;OU-{Z@%y05@G^G650^m^*=H8<6S@ zyq#st0mliH+Ji<62%-WC2|UCX*{y&i+7FEPNTA4}=KRFQQFjnQ18gb?rOE{T-A$TB zlO}p@%A~yMvmU{agaoVtrVH>S%jDbCa{)JK(o$&Pc@*c7*{7Qf6zJ3F>(^1G}XBiultTj1Z+OV``+!Lrw%5k_<*L3Y}n(6?nP z@7~R3>#7`R#j1%$Te&3k`7`P;>E^HqBBSSKNOhyT8Ku(4#ayH5}~3uK#w@Y_KZpsx0o1RxqG-{ zWg~YZuSqPO_a^8|*6&&;d7lkO*Iev0duPIbkUMl-M`u#CuPj}2NW zS~uK(%+z!ZNf`JTyS5VQ@;Wx4^;_JAxNPkH*1aqFpIV|KDjg=Deu!xJGi*i}!)Z(s zjJCB!RDSKrJ!LmhF}xBd#BBljByTes8`+R0P!3q$xZ2hXx`7i;R^=ins;LhS0sfm(7E; z5H_w_nNLy|aXE6FCgSqruPN?qO*h|!0_0qXMl+?2A)4_w# z%s&TcL7Yt5g2G#$vH`8ak8H)7O}#jU{TxnMl`EmonKsj_dFp9PklKs$yxZt@1yLdb ztGFjkI0Ho)(2fxzSCNkn&7aHAtvB;Mnhdqd&fLq6%woSZ(n(LyHfKK^{As@y$_t*r zEaWJ_+3oKNxK}44+YRFs|uBViB$vblFlK6OT!RqMpA@Ehu0TB8#g2$=Ge8 z>OexbPd!UjRoqwVDoUI#7RbLe9=Qx-M(@+qEYOgv5oWd*@bBzu)P#?O?=7AV7BwLx zYWtu&wD`vzC_|9HgEeL-O3`=>R6cQ{*%mP=g%N`-(!ihe$b@>N@21E91~DMF)F0lgShf4*ph9 zAh)Yp$hgN_u~8gfN?F==ECiMT>t!-w68i18Y()b|)LrKr}7xvG0Ic_IzgUGS{6OkaGAueoO z@0VNI@o+#vhi(2mZ?akUm-S zSGY*~0PjB#w)RCVaaRmp-ZaAl>(lhm^YXE_m4eb|9i7fNIxKZZiCOg(n-g%nSYc`$ zKK5F$zE-gly>b})oTF2io5oztTso&64-&e#>U;HHqt5n9Z;}b|b?r@`&-ZWQjEve! zSijc(_f>#LOpafQWOR^M)>berx@8^h)}mV<=u*YC+isNJ9j16&?tW>rgl*vtKPkvp zSwsxyIb+k%H#Ay>{R&)zWS-^zi_YRh=A1x7`CEq$qrWcH);1^9HV0%Lx%kI34Rv`9 z=z~J7mD#tfgni5EytR)+d6!E%MlJ`8l|3Og78@`nJ%Nk|jP-p6OTEAT<<+KwZsBf| zqO#A3LaM6DfCuRF<$A`{_Ee5SQ;J#gT{)kX`KVx}C-40Os4l2pZt0T`tS*+-b=2fs zuMI)%Fw<#gu+lFXC_bSUopkb6akI)vl~6x1alUstcCqKn?;+y`3Li(;%ua7RAp0vI NwrEG|CzhVfe*t?`*3$q0 literal 0 HcmV?d00001 diff --git a/app/images/connect_another_service/notes.png b/app/images/connect_another_service/notes.png new file mode 100644 index 0000000000000000000000000000000000000000..673ef7d6ae45f625e9419a08ebe8d62b50ea25dd GIT binary patch literal 63981 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≻Kjjq_HWM=;R-- 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

^IvPy;`(< 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 literal 0 HcmV?d00001 diff --git a/app/images/connect_another_service/screenshots.png b/app/images/connect_another_service/screenshots.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c524dbf05024fda55e5b3d0d9ef71415a13a6a GIT binary patch literal 459 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy;Q>A&uK)l4XXsl3M+S?xww=5( z^U`ggNbS*!T$5G+8M3q20ZD05u)>|6k$%1Rw(lHh_o^{~s7!I#U0Vfq{|D z)5S5Qg0Xc{dtQ?v51XuB^Ir2k|BJ=kH`eXcd$sYW-eob>vp*(BPV#%E9r>AM>9%VN zetwT~cs?UAs=Fy@MmNWmZ5rNn!D4HhPIQ%KXDeB4m|nD>U;Lo>k&qt$>?;SJ zKAdq(HAdv`qNKk4ue?uq3&iZ(QWUN0R=4}o# + + diff --git a/app/scripts/lib/experiment.js b/app/scripts/lib/experiment.js index 4ed89db66a..67c9cae440 100644 --- a/app/scripts/lib/experiment.js +++ b/app/scripts/lib/experiment.js @@ -21,6 +21,7 @@ const STARTUP_EXPERIMENTS = { * after the app has started. */ const MANUAL_EXPERIMENTS = { + 'connectAnotherService': BaseExperiment, 'emailFirst': BaseExperiment, // For now, the send SMS experiment only needs to log "enrolled", so // no special experiment is created. diff --git a/app/scripts/lib/experiments/grouping-rules/connect-another-service.js b/app/scripts/lib/experiments/grouping-rules/connect-another-service.js new file mode 100644 index 0000000000..f5b69057a2 --- /dev/null +++ b/app/scripts/lib/experiments/grouping-rules/connect-another-service.js @@ -0,0 +1,42 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * Should the user be part of the Connect Another Service + */ +'use strict'; + +const BaseGroupingRule = require('./base'); + +module.exports = class ConnectAnotherServiceGroupingRule extends BaseGroupingRule { + constructor() { + super(); + this.name = 'connectAnotherService'; + this.ROLLOUT_RATE = 0.0; + } + + choose(subject = {}) { + if (! subject.account || ! subject.uniqueUserId || ! subject.userAgent) { + return false; + } + + const { + canSignIn, + isFirefoxAndroid, + isFirefoxIos, + isOtherAndroid, + isOtherIos, + } = subject.userAgent; + + if (this.isTestEmail(subject.account.get('email'))) { + return true; + } else if (! canSignIn && (isFirefoxAndroid || isFirefoxIos || isOtherAndroid || isOtherIos)) { + if (this.bernoulliTrial(this.ROLLOUT_RATE, subject.uniqueUserId)) { + return true; + } + } + + return false; + } +}; diff --git a/app/scripts/lib/experiments/grouping-rules/index.js b/app/scripts/lib/experiments/grouping-rules/index.js index 09e8222f55..d8799d3c63 100644 --- a/app/scripts/lib/experiments/grouping-rules/index.js +++ b/app/scripts/lib/experiments/grouping-rules/index.js @@ -18,6 +18,7 @@ const experimentGroupingRules = [ require('./send-sms-install-link'), require('./sentry'), require('./token-code'), + require('./connect-another-service'), ].map(ExperimentGroupingRule => new ExperimentGroupingRule()); class ExperimentChoiceIndex { diff --git a/app/scripts/lib/router.js b/app/scripts/lib/router.js index 1f0bb2a3ba..73f8fb1f5d 100644 --- a/app/scripts/lib/router.js +++ b/app/scripts/lib/router.js @@ -24,6 +24,7 @@ import CompleteSignUpView from '../views/complete_sign_up'; import ConfirmResetPasswordView from '../views/confirm_reset_password'; import ConfirmView from '../views/confirm'; import ConnectAnotherDeviceView from '../views/connect_another_device'; +import ConnectAnotherServiceView from '../views/connect_another_service'; import CookiesDisabledView from '../views/cookies_disabled'; import DeleteAccountView from '../views/settings/delete_account'; import DisplayNameView from '../views/settings/display_name'; @@ -108,6 +109,7 @@ const Router = Backbone.Router.extend({ 'confirm_signin(/)': createViewHandler(ConfirmView, { type: VerificationReasons.SIGN_IN }), 'connect_another_device(/)': createViewHandler(ConnectAnotherDeviceView), 'connect_another_device/why(/)': createChildViewHandler(WhyConnectAnotherDeviceView, ConnectAnotherDeviceView), + 'connect_another_service(/)': createViewHandler(ConnectAnotherServiceView), 'cookies_disabled(/)': createViewHandler(CookiesDisabledView), 'force_auth(/)': createViewHandler(ForceAuthView), 'legal(/)': createViewHandler('legal'), diff --git a/app/scripts/templates/connect_another_service.mustache b/app/scripts/templates/connect_another_service.mustache new file mode 100644 index 0000000000..3ed7923d4f --- /dev/null +++ b/app/scripts/templates/connect_another_service.mustache @@ -0,0 +1,31 @@ +

+

{{#t}}Connect another service{{/t}}

+ + {{#showSuccessMessage}} + {{#isSignUp}} +
{{#t}}Email verified{{/t}}
+ {{/isSignUp}} + {{#isSignIn}} +
{{#t}}Sign-in confirmed{{/t}}
+ {{/isSignIn}} + {{/showSuccessMessage}} + +

Do more with your Firefox Account with these new services.

+ + {{#connect-services}} +
diff --git a/app/scripts/views/connect_another_device.js b/app/scripts/views/connect_another_device.js index 8da83f68c2..bd9e84b62a 100644 --- a/app/scripts/views/connect_another_device.js +++ b/app/scripts/views/connect_another_device.js @@ -13,6 +13,7 @@ define(function (require, exports, module) { const Cocktail = require('cocktail'); const ConnectAnotherDeviceMixin = require('./mixins/connect-another-device-mixin'); + const ConnectAnotherServiceExperimentMixin = require('./mixins/connect-another-service-experiment-mixin'); const ExperimentMixin = require('./mixins/experiment-mixin'); const FlowEventsMixin = require('./mixins/flow-events-mixin'); const FormView = require('./form'); @@ -59,6 +60,13 @@ define(function (require, exports, module) { if (country) { return this.replaceCurrentPageWithSmsScreen(account, country, this._showSuccessMessage()); } + + // Check to see if user is in the ConnectAnotherService Experiment and + // navigate to page. + if (this.isInConnectAnotherServiceExperiment()) { + return this.replaceCurrentPageWithAppsScreen(account, this._showSuccessMessage()); + } + }); } @@ -271,7 +279,8 @@ define(function (require, exports, module) { }), SyncAuthMixin, UserAgentMixin, - VerificationReasonMixin + VerificationReasonMixin, + ConnectAnotherServiceExperimentMixin, ); module.exports = ConnectAnotherDeviceView; diff --git a/app/scripts/views/connect_another_service.js b/app/scripts/views/connect_another_service.js new file mode 100644 index 0000000000..a3bc562eb3 --- /dev/null +++ b/app/scripts/views/connect_another_service.js @@ -0,0 +1,120 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import Cocktail from 'cocktail'; +import BaseView from './base'; +import Template from 'templates/connect_another_service.mustache'; +import UserAgentMixin from '../lib/user-agent-mixin'; +import VerificationReasonMixin from './mixins/verification-reason-mixin'; + +const SERVICES = [ + { + description: 'A Secure Notepad App.', + image: 'notes', + links: { + android: 'https://play.google.com/store/apps/details?id=org.mozilla.testpilot.notes&hl=en', + }, + name: 'Notes', + }, + { + description: 'Save articles, videos and stories from any publication, page or app.', + image: 'pocket', + links: { + android: 'https://getpocket.com/ff_signin?s=pocket&t=login', + ios: 'https://getpocket.com/ff_signin?s=pocket&t=login' + }, + name: 'Pocket', + }, + { + description: 'Take your passwords everywhere with Firefox Lockbox.', + image: 'lockbox', + links: { + ios: 'https://itunes.apple.com/us/app/firefox-lockbox/id1314000270?mt=8', + }, + name: 'Lockbox', + }, + { + description: 'Detects threats against your online accounts.', + image: 'monitor', + links: { + website: 'https://monitor.firefox.com/', + }, + name: 'Monitor', + }, + { + description: 'Screenshots made simple.', + image: 'screenshots', + links: { + website: 'https://screenshots.firefox.com/', + }, + name: 'Screenshots', + } +]; + + +const View = BaseView.extend({ + className: 'connect-another-service', + template: Template, + + events: { + 'click .open-link': '_logLinkMetrics', + }, + + setInitialContext(context) { + const services = this._filterServices(); + const isSignIn = this.isSignIn(); + const isSignUp = this.isSignUp(); + const showSuccessMessage = this._showSuccessMessage(); + + context.set({ + 'connect-services': services, + isSignIn, + isSignUp, + showSuccessMessage + }); + }, + + _filterServices() { + const { + isFirefoxAndroid, + isFirefoxIos, + isOtherAndroid, + isOtherIos, + } = this.getContext(); + + const supportedServices = SERVICES.filter((service) => { + if (service.links.android && (isFirefoxAndroid || isOtherAndroid)) { + service.link = service.links.android; + return service; + } else if (service.links.ios && (isFirefoxIos || isOtherIos)) { + service.link = service.links.ios; + return service; + } else if (service.links.website) { + service.link = service.links.website; + return service; + } + }); + + return supportedServices; + }, + + _showSuccessMessage() { + return !! this.model.get('showSuccessMessage') || + !! this.getSearchParam('showSuccessMessage'); + }, + + _logLinkMetrics(event) { + const service = this.$(event.currentTarget).attr('data-service'); + this.logViewEvent(`clicked.${service}`); + }, +}); + + +Cocktail.mixin( + View, + UserAgentMixin, + VerificationReasonMixin, +); + +module.exports = View; diff --git a/app/scripts/views/mixins/connect-another-device-mixin.js b/app/scripts/views/mixins/connect-another-device-mixin.js index b0b2537e6f..9f5c17114c 100644 --- a/app/scripts/views/mixins/connect-another-device-mixin.js +++ b/app/scripts/views/mixins/connect-another-device-mixin.js @@ -84,6 +84,16 @@ define(function(require, exports, module) { this.replaceCurrentPage('sms', { account, country, showSuccessMessage, type }); }, + /** + * Replace the current page with the connect app screen. + * + * @param {Object} account + * @param {Boolean} showSuccessMessage + */ + replaceCurrentPageWithAppsScreen (account, showSuccessMessage) { + this.replaceCurrentPage('connect_another_service', { account, showSuccessMessage }); + }, + /** * Get the country to send an sms to if `account` is eligible for SMS? * diff --git a/app/scripts/views/mixins/connect-another-service-experiment-mixin.js b/app/scripts/views/mixins/connect-another-service-experiment-mixin.js new file mode 100644 index 0000000000..45c8254967 --- /dev/null +++ b/app/scripts/views/mixins/connect-another-service-experiment-mixin.js @@ -0,0 +1,67 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * An ConnectAnotherServiceExperimentMixin factory. + * + * @mixin ConnectAnotherServiceExperimentMixin + */ +'use strict'; + +const ExperimentMixin = require('./experiment-mixin'); +const UserAgentMixin = require('../../lib/user-agent-mixin'); +const EXPERIMENT_NAME = 'connectAnotherService'; + +/** + * Creates the mixin + * + * @returns {Object} mixin + */ +module.exports = { + dependsOn: [ + ExperimentMixin, + UserAgentMixin + ], + + beforeRender() { + if (this.isInConnectAnotherServiceExperiment()) { + const experimentGroup = this.getConnectAnotherServiceExperimentGroup(); + this.createExperiment(EXPERIMENT_NAME, experimentGroup); + } + }, + + /** + * Get the experiment group + * + * @returns {String} + */ + getConnectAnotherServiceExperimentGroup() { + return this.getExperimentGroup(EXPERIMENT_NAME, this._getExperimentSubject()); + }, + + + /** + * Is the user in the experiment? + * + * @returns {Boolean} + */ + isInConnectAnotherServiceExperiment() { + return this.isInExperiment(EXPERIMENT_NAME, this._getExperimentSubject()); + }, + + /** + * Get the experiment choice subject + * + * @returns {Object} + * @private + */ + _getExperimentSubject() { + const subject = { + account: this.model.get('account'), + clientId: this.relier.get('clientId'), + userAgent: this.getContext() + }; + return subject; + } +}; diff --git a/app/styles/_modules.scss b/app/styles/_modules.scss index 1248a99969..dd1d1832db 100644 --- a/app/styles/_modules.scss +++ b/app/styles/_modules.scss @@ -1,6 +1,7 @@ @import '../../node_modules/jquery-modal/jquery.modal'; @import 'modules/iframe'; @import 'modules/branding'; +@import 'modules/connect-another-service'; @import 'modules/tooltip'; @import 'modules/input-row'; @import 'modules/select-row'; diff --git a/app/styles/modules/_connect-another-service.scss b/app/styles/modules/_connect-another-service.scss new file mode 100644 index 0000000000..0533e67f5f --- /dev/null +++ b/app/styles/modules/_connect-another-service.scss @@ -0,0 +1,68 @@ +.connect-another-service { + .connect-service { + display: flex; + flex-direction: row; + margin-bottom: 10px; + + .image-container { + align-self: center; + + .image { + background-image: url('/images/icon-device-laptop.svg'); + background-repeat: no-repeat; + background-size: cover; + height: 42px; + width: 42px; + + &[data='Lockbox'] { + background-image: url('/images/connect_another_service/lockbox.png'); + } + + &[data='Pocket'] { + background-image: url('/images/connect_another_service/pocket.png'); + } + + &[data='Notes'] { + background-image: url('/images/connect_another_service/notes.png'); + } + + &[data='Monitor'] { + background-image: url('/images/connect_another_service/monitor.png'); + } + + &[data='Screenshots'] { + background-image: url('/images/connect_another_service/screenshots.png'); + } + } + } + + .content { + align-self: center; + line-height: 1.3; + margin-left: 10px; + margin-right: 10px; + text-align: left; + width: 80%; + + .service-name { + font-size: 18px; + } + + .service-description { + font-size: 12px; + } + } + + .service-links { + align-self: center; + justify-content: flex-end; + + .open-icon { + background-image: image-url('open_in_new.svg'); + background-repeat: no-repeat; + height: 24px; + width: 24px; + } + } + } +} diff --git a/app/tests/spec/lib/experiments/grouping-rules/index.js b/app/tests/spec/lib/experiments/grouping-rules/index.js index 71d1984fd5..89801f35ac 100644 --- a/app/tests/spec/lib/experiments/grouping-rules/index.js +++ b/app/tests/spec/lib/experiments/grouping-rules/index.js @@ -12,7 +12,7 @@ define(function (require, exports, module) { describe('lib/experiments/grouping-rules/index', () => { it('EXPERIMENT_NAMES is exported', () => { - assert.lengthOf(ExperimentGroupingRules.EXPERIMENT_NAMES, 7); + assert.lengthOf(ExperimentGroupingRules.EXPERIMENT_NAMES, 8); }); describe('choose', () => { diff --git a/server/lib/routes/get-frontend.js b/server/lib/routes/get-frontend.js index b98d6771bb..f0e008e942 100644 --- a/server/lib/routes/get-frontend.js +++ b/server/lib/routes/get-frontend.js @@ -19,6 +19,7 @@ module.exports = function () { 'confirm_signin', 'connect_another_device', 'connect_another_device/why', + 'connect_another_service', 'cookies_disabled', 'force_auth', 'legal', diff --git a/tests/functional.js b/tests/functional.js index fe72cfa64d..7b879f4dda 100644 --- a/tests/functional.js +++ b/tests/functional.js @@ -19,6 +19,7 @@ module.exports = [ 'tests/functional/complete_sign_in.js', 'tests/functional/complete_sign_up.js', 'tests/functional/connect_another_device.js', + 'tests/functional/connect_another_service.js', 'tests/functional/send_sms.js', 'tests/functional/sync_sign_up.js', 'tests/functional/sync_v2_sign_up.js', diff --git a/tests/functional/connect_another_service.js b/tests/functional/connect_another_service.js new file mode 100644 index 0000000000..97f6285a3d --- /dev/null +++ b/tests/functional/connect_another_service.js @@ -0,0 +1,117 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +'use strict'; + +const {registerSuite} = intern.getInterface('object'); +const TestHelpers = require('../lib/helpers'); +const FunctionalHelpers = require('./lib/helpers'); +const UA_STRINGS = require('./lib/ua-strings'); +const selectors = require('./lib/selectors'); + +const config = intern._config; + +const SIGNUP_FENNEC_URL = `${config.fxaContentRoot}signup?context=fx_fennec_v1&service=sync`; +const SIGNUP_DESKTOP_URL = `${config.fxaContentRoot}signup?context=fx_desktop_v3&service=sync`; +const CHANNEL_COMMAND_CAN_LINK_ACCOUNT = 'fxaccounts:can_link_account'; + +const { + clearBrowserState, + click, + fillOutSignUp, + openPage, + openVerificationLinkInSameTab, + respondToWebChannelMessage, + testElementExists, +} = FunctionalHelpers; + +let email; +const PASSWORD = '12345678'; + +registerSuite('connect_another_service', { + beforeEach: function () { + email = TestHelpers.createEmail('sync{id}'); + + return this.remote.then(clearBrowserState()); + }, + tests: { + + 'signup Fx Desktop, verify in Fennec': function () { + // should navigate to signin and have the email prefilled + return this.remote + .then(openPage(SIGNUP_DESKTOP_URL, selectors.SIGNUP.HEADER, { + forceUA: UA_STRINGS['desktop_firefox'], + })) + .then(respondToWebChannelMessage(CHANNEL_COMMAND_CAN_LINK_ACCOUNT, {ok: true})) + // this tests needs to signup so that we can check if the email gets prefilled + .then(fillOutSignUp(email, PASSWORD)) + .then(testElementExists(selectors.CHOOSE_WHAT_TO_SYNC.HEADER)) + .then(click(selectors.CHOOSE_WHAT_TO_SYNC.SUBMIT)) + + .then(testElementExists(selectors.CONFIRM_SIGNUP.HEADER)) + + // clear browser state to synthesize verifying in an Android browser. + .then(clearBrowserState()) + + .then(openVerificationLinkInSameTab(email, 0, { + query: { + forceExperiment: 'connectAnotherService', + forceExperimentGroup: 'treatment', + forceUA: UA_STRINGS['android_firefox'] + } + })) + .then(testElementExists(selectors.CONNECT_ANOTHER_SERVICE.HEADER)); + }, + + 'signup Fx Desktop, verify in Fx for iOS': function () { + return this.remote + .then(openPage(SIGNUP_DESKTOP_URL, selectors.SIGNUP.HEADER, { + forceUA: UA_STRINGS['desktop_firefox'] + })) + .then(respondToWebChannelMessage(CHANNEL_COMMAND_CAN_LINK_ACCOUNT, {ok: true})) + .then(fillOutSignUp(email, PASSWORD)) + .then(testElementExists(selectors.CHOOSE_WHAT_TO_SYNC.HEADER)) + .then(click(selectors.CHOOSE_WHAT_TO_SYNC.SUBMIT)) + + .then(testElementExists(selectors.CONFIRM_SIGNUP.HEADER)) + + // clear browser state to synthesize verifying in an Android browser. + .then(clearBrowserState()) + + .then(openVerificationLinkInSameTab(email, 0, { + query: { + forceExperiment: 'connectAnotherService', + forceExperimentGroup: 'treatment', + forceUA: UA_STRINGS['ios_firefox'] + } + })) + .then(testElementExists(selectors.CONNECT_ANOTHER_SERVICE.HEADER)); + }, + + 'signup in Fennec, verify same browser': function () { + // should have both links to mobile apps + return this.remote + .then(openPage(SIGNUP_FENNEC_URL, selectors.SIGNUP.HEADER, { + query: { + forceUA: UA_STRINGS['android_firefox'] + } + })) + .then(respondToWebChannelMessage(CHANNEL_COMMAND_CAN_LINK_ACCOUNT, {ok: true})) + .then(fillOutSignUp(email, PASSWORD)) + .then(testElementExists(selectors.CHOOSE_WHAT_TO_SYNC.HEADER)) + .then(click(selectors.CHOOSE_WHAT_TO_SYNC.SUBMIT)) + + .then(testElementExists(selectors.CONFIRM_SIGNUP.HEADER)) + + .then(openVerificationLinkInSameTab(email, 0, { + query: { + forceExperiment: 'connectAnotherService', + forceExperimentGroup: 'treatment', + forceUA: UA_STRINGS['android_firefox'] + } + })) + .then(testElementExists(selectors.CONNECT_ANOTHER_SERVICE.HEADER)); + } + } +}); diff --git a/tests/functional/lib/selectors.js b/tests/functional/lib/selectors.js index 7ba3949fba..524d52a530 100644 --- a/tests/functional/lib/selectors.js +++ b/tests/functional/lib/selectors.js @@ -100,6 +100,9 @@ module.exports = { CLOSE: '.connect-another-device button[type="submit"]', HEADER: '#fxa-why-connect-another-device-header', }, + CONNECT_ANOTHER_SERVICE: { + HEADER: '#fxa-connect-another-service-header' + }, EMAIL: { ADDRESS_LABEL: '#emails .address', ADD_BUTTON: '.email-add:not(.disabled)', From 4828f523519a8a945356996073d14b7443a56726 Mon Sep 17 00:00:00 2001 From: Vijay Budhram Date: Mon, 7 Jan 2019 14:54:30 -0500 Subject: [PATCH 2/3] fix(totp): fix password reset --- .../grouping-rules/connect-another-service.js | 2 +- app/scripts/views/connect_another_service.js | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/app/scripts/lib/experiments/grouping-rules/connect-another-service.js b/app/scripts/lib/experiments/grouping-rules/connect-another-service.js index f5b69057a2..182b6efb87 100644 --- a/app/scripts/lib/experiments/grouping-rules/connect-another-service.js +++ b/app/scripts/lib/experiments/grouping-rules/connect-another-service.js @@ -13,7 +13,7 @@ module.exports = class ConnectAnotherServiceGroupingRule extends BaseGroupingRul constructor() { super(); this.name = 'connectAnotherService'; - this.ROLLOUT_RATE = 0.0; + this.ROLLOUT_RATE = 1.0; } choose(subject = {}) { diff --git a/app/scripts/views/connect_another_service.js b/app/scripts/views/connect_another_service.js index a3bc562eb3..a83acff389 100644 --- a/app/scripts/views/connect_another_service.js +++ b/app/scripts/views/connect_another_service.js @@ -76,18 +76,13 @@ const View = BaseView.extend({ }, _filterServices() { - const { - isFirefoxAndroid, - isFirefoxIos, - isOtherAndroid, - isOtherIos, - } = this.getContext(); + const userAgent = this.getUserAgent(); const supportedServices = SERVICES.filter((service) => { - if (service.links.android && (isFirefoxAndroid || isOtherAndroid)) { + if (service.links.android && (userAgent.isFirefoxAndroid() || userAgent.isAndroid())) { service.link = service.links.android; return service; - } else if (service.links.ios && (isFirefoxIos || isOtherIos)) { + } else if (service.links.ios && (userAgent.isFirefoxIos() || userAgent.isIos())) { service.link = service.links.ios; return service; } else if (service.links.website) { From 19906c6533d5317b78cbac13de22ed4e6199c74f Mon Sep 17 00:00:00 2001 From: Vijay Budhram Date: Mon, 7 Jan 2019 15:30:16 -0500 Subject: [PATCH 3/3] fix(totp): fix password reset --- .../lib/experiments/grouping-rules/connect-another-service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/scripts/lib/experiments/grouping-rules/connect-another-service.js b/app/scripts/lib/experiments/grouping-rules/connect-another-service.js index 182b6efb87..f5b69057a2 100644 --- a/app/scripts/lib/experiments/grouping-rules/connect-another-service.js +++ b/app/scripts/lib/experiments/grouping-rules/connect-another-service.js @@ -13,7 +13,7 @@ module.exports = class ConnectAnotherServiceGroupingRule extends BaseGroupingRul constructor() { super(); this.name = 'connectAnotherService'; - this.ROLLOUT_RATE = 1.0; + this.ROLLOUT_RATE = 0.0; } choose(subject = {}) {