From 0c7ee646b17bba1edb35c0e4f76b49b353fbafd1 Mon Sep 17 00:00:00 2001 From: jruns Date: Wed, 14 May 2025 10:37:43 -0400 Subject: [PATCH 01/26] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2e96f4f..5a1429f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # wordpress-detector -A simple chrome extension notifying of a WordPress site in your current tab. +A simple browser extension notifying of a WordPress site in your current tab. -## Chrome Web Store Link -[View](https://chrome.google.com/webstore/detail/wordpress-detector/mllfefhpnfcegnbepchcijjijhageknh) the extension on the Chrome Web Store. +## Location installation instructions +Coming soon -## Firefox Addons Link -[View](https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/) the extension on the Firefox Browser Add-Ons. +## Credits +Forked from [https://github.com/bensaine/wordpress-detector]([https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/](https://github.com/bensaine/wordpress-detector) From 8f6832fba50eb01cce4fcfb6fe06282a135ceb00 Mon Sep 17 00:00:00 2001 From: jruns Date: Wed, 14 May 2025 10:37:55 -0400 Subject: [PATCH 02/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a1429f..68d8207 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,4 @@ A simple browser extension notifying of a WordPress site in your current tab. Coming soon ## Credits -Forked from [https://github.com/bensaine/wordpress-detector]([https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/](https://github.com/bensaine/wordpress-detector) +Forked from https://github.com/bensaine/wordpress-detector From 877b8a07841ab16015ac81946c99cab20f6776c1 Mon Sep 17 00:00:00 2001 From: jruns Date: Wed, 14 May 2025 17:32:20 +0000 Subject: [PATCH 03/26] 2025 upgrades for Firefox (#1) --- .gitignore | 1 + README.md | 10 +++++++- src/background.js | 23 ++++++++++-------- src/icon_off_128.png | Bin 14441 -> 0 bytes src/icon_off_16.png | Bin 895 -> 0 bytes src/icon_off_32.png | Bin 4983 -> 0 bytes src/icon_off_48.png | Bin 6430 -> 0 bytes src/{ => icons}/icon_128.png | Bin src/{ => icons}/icon_16.png | Bin src/{ => icons}/icon_32.png | Bin src/{ => icons}/icon_48.png | Bin src/icons/icon_off_128.png | Bin 0 -> 18547 bytes src/icons/icon_off_16.png | Bin 0 -> 4980 bytes src/icons/icon_off_32.png | Bin 0 -> 8697 bytes src/icons/icon_off_48.png | Bin 0 -> 10209 bytes .../icon_on_128.png} | Bin src/{ => icons}/icon_on_16.png | Bin src/{ => icons}/icon_on_32.png | Bin src/{ => icons}/icon_on_48.png | Bin src/manifest.json | 16 ++++++------ wordpress-detector.zip | Bin 96770 -> 0 bytes 21 files changed, 31 insertions(+), 19 deletions(-) create mode 100644 .gitignore delete mode 100644 src/icon_off_128.png delete mode 100644 src/icon_off_16.png delete mode 100644 src/icon_off_32.png delete mode 100644 src/icon_off_48.png rename src/{ => icons}/icon_128.png (100%) rename src/{ => icons}/icon_16.png (100%) rename src/{ => icons}/icon_32.png (100%) rename src/{ => icons}/icon_48.png (100%) create mode 100644 src/icons/icon_off_128.png create mode 100644 src/icons/icon_off_16.png create mode 100644 src/icons/icon_off_32.png create mode 100644 src/icons/icon_off_48.png rename src/{icon_on_128,png.png => icons/icon_on_128.png} (100%) rename src/{ => icons}/icon_on_16.png (100%) rename src/{ => icons}/icon_on_32.png (100%) rename src/{ => icons}/icon_on_48.png (100%) delete mode 100644 wordpress-detector.zip diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f66c74 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.zip \ No newline at end of file diff --git a/README.md b/README.md index 68d8207..47a5b1c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,15 @@ A simple browser extension notifying of a WordPress site in your current tab. ## Location installation instructions -Coming soon +1. Download a release zip file +2. Go to about:addons +3. Click the gear icon next to the "Manage Your Extensions" heading +4. Select "Install Add-on From File..." and select the release file +5. Pin the extension to the Toolbar + +## ToDo +1. Correctly set the toolbar icon when multiple windows are open and focus switches between them. +2. Find WordPress sites that miss the head check (like sites using a CDN), and add body checks to match those as well. ## Credits Forked from https://github.com/bensaine/wordpress-detector diff --git a/src/background.js b/src/background.js index 30b7b52..7eea247 100644 --- a/src/background.js +++ b/src/background.js @@ -1,20 +1,21 @@ 'use strict'; // terms we will search in to detect WordPress -const clues = ["wp-content", "wp-includes"] - -// reset icon -updateIcon(false) +const clues = { + head: [ "wp-content", "wp-includes", "xmlrpc.php" ] +} // updates the icon in the toolbar const updateIcon = (state) => { - const path = state ? "icon_on_32.png" : "icon_off_32.png"; + const path = state ? "icons/icon_on_32.png" : "icons/icon_off_32.png"; chrome.browserAction.setIcon({ path }) } // detect wordpress in a pages const detectWordPress = (head) => { - updateIcon(head && head != null && head !== "" && clues.some(v => head.includes(v))) + if ( typeof head !== "undefined" ) { + updateIcon(head && head != null && head !== "" && clues.head.some(v => head.includes(v))) + } } const onTabUpdate = () => { @@ -22,10 +23,12 @@ const onTabUpdate = () => { updateIcon(false) // get current tab's and detect WordPress - chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) { - chrome.tabs.sendMessage(tabs[0].id, { text: "send_head_inner" }, function (response) { - detectWordPress(response) - }); + chrome.tabs.query({ active: true, currentWindow: true, url: '*://*/*' }, function (tabs) { + if ( tabs.length !== 0 ) { + chrome.tabs.sendMessage(tabs[0].id, { text: "send_head_inner" }, function (response) { + detectWordPress(response) + }); + } }); } diff --git a/src/icon_off_128.png b/src/icon_off_128.png deleted file mode 100644 index 948fc504468ba77b1a9dc0866867e1f0a9724e04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14441 zcmV-vIF`qWP)(8m08iXM&G>k-kUeykGsC} zoxRUJdw=@?(ENi%;%rm}AWJNhM)-NLW8>o4#6CcQ3GfiQ;;fD{5iW}Zx<(8mCPnVg~EC{Dqp zv2pPLsD^^4e&*9Y#eC)-3NFYJ3jk2Xoh5=Sfr57fz}j57Pym1h13*!(NSFtJT?GK6 zOnH_F0DGgz%@Xo*0B|&gE)(+80C2VdK$AvBZ~<^L0Z6peuXyrTTqay7Q&i8*mMoHr zQqyE?Grl?7&e@s6_7~=53S}~@FdjdHCl#={*;x{vcoD$onm<8J(OY(a57*Jo+0oI; z-rDY~R{qz`zX^r6pCey{fAS1r^?uR5;ER@B2f!Hzz&3u-lB)pPR|9C={-PP}1W+yn zXuJ4TJuJn%q{(Cw7aNkZ-MM=%4tX0e=Hu{m)u)+@I}Xdka%|@=O_9(Kmi} zX0}|)&XMr=Lblakhxi{Seub~@F)c!vB9scnd?7npB+L_uQ`y{Xu|OmfWsBJ&@qaS$ zAEx~UpXV9?81)~4nP?3v7ny+l+6y=a6|jWu3fKSiEtnh)ikBCoH}ZMzKLPpoQ_)hz zCr6a}DUTZw$>z(Yxu5qG&l2!J0cBu=6z!3-LjMkq9IXNkUQ)F(OBnAghoPqztJ>b|H<(_sC)7BytYvM{Xg5$SCqV z@(#sN8p=de}hMq((px4j=^a(nS0Y=4G zm_BBOaWF0xip66om=s%v6=M}x9oB+%Vm;UuYyf+Ty~Po53>+J0g>%LEPuNCiC7dAi6NU)mL?Tg>Xi0P-)lk(e)%B`Ps^?T6sS(vo)O^$gYK3aM z)lR7mF))T9gUjGERx#=sry0Xc0@IWkz)WYBFu!B=F~`)^)Muzit1ncqQ9r6az`|H2 ztN>OftCV$sb)EHYip~_zDZ(l1rnF4CJms~PrtHw2rcbaTXAI%KSO`7eR z_q1?Y7Fyw2d0N}GPHR1#%AD#tl|Qw3>Vc`ZwNY&g?Fj9~+Pk%Twa0aIb^LTBI#oKS zbe`(6bUk#_b<1^+>5l3#^k(Ua^vd;)>pf`HbwdrV(j-(O#@ze~SQf5O1j zAj+V?pw-}>A;pkmm||FN*kw3oq-PXjw8W^{=(aK0m}8t~yw$kJ__c|tNsP%FlXjCw zrW&RJrunALrgzQgX6|MS%<9apniI@9<{9SO%r9A>77i9^7BvKj zY0lHc)9R+(u%cOcTIE_bTMb&Xtb?r!tlO=h*%;Zx+ibGwvH580V4G=MZ+pj1%`VWc zz^>EocY6zazI~1T)#>!owPfyOevv z8}s(_F81#8QS*uNsrI?=Yv7ye+w42$=is;4?}R_zKgfTR|BV2h0DeGYz*wMD;L^bE zAX?Czpz5Fp!4|>N;LZ>NB}u4v`xgy_cT*D>BPWibP>HnB@%FT`oZiQ+oq ziSg0#4e{f1edcbNJDlKsun#@_fOxE z{yHNxV^79pW=v*l7AY$!>#$f&oFVSc*3Dj+-7m3}6iEgaxGdPRU`!e$ZOB1#=H+zA zm@Eg#ICm0OehCNDbg;6l}f;)T77EEcU>G?MR||LtPjV*cW;CHhNNE*V_v zxpdbuWLfgEuH}Zy3zrYC@LREWC1qvC%AX2s3(5*!u8LXJS*TOEqHt)n-|FTfr6Ot3 zjWw=ocC5v%6|L=CH+@~zx{t+z;`1f8B^4#_*Ynq(|Hkf{%5Nq&q-^Lbbu8V!k+4y` z@%kqBO?%5!%ks;HHiv9(D`%G%m%rSSxaC~MjEWswDO=@R2P%UrJF1MTHdei_POH9F z<5kmIt6jUU_VqTww#(Z+wzuri*-^6N-A>WYo4fpWwbhx_RqQ70&fWd6KDxf=Th6zQ z4O$H)4IlQ1_YCZf*xTLc)Y#ah-Bj9)Hp`nw_a*GR^qu#29W7QZyINVTCHrB&eE;L` zlfJ)xAm~8XLC(RJAB=yfJ;XRv+=jF*Y8z`$Yai%{>*zlmc(|+6we!%A)<5n!qJO03 zsQS^;W0Yfs$0m>GA0IydB$5#I8H1VozP|4)5+e9d!Ea8Q(LfdOUlMpLIKX z-OuJfw+=WC93Au? z?0qoj!JQ%g(34+setAD!_>lgvVnlDG@sa(bBcr~fmmbf3Jp4rRWa4Sjud2V+J~Mmv z!*3qH^^V1k4L_GYpZtCO3(XgMUe0*gH6Av8|5etjiPyz%G~euf%X!=LF6Q0HMBaPi z`^pdIA38q3h`d(7_6^hPTNZ1=o=?|=XK{r^+n zfAp7#O$t!Pk*64yn6qNi-!8LLl42=JoBcBxf2TCdLna22c!QLdF z@#j#=`?>#n{(aL7FkJy-jWJ^Yi~}$hzz6_C0W<-q$q&w>UI1MH&Hy+CsAEt#sDLBJ zm}5$*y~dbb05bXS_Pz}KBV#nK{99?xh3o&0^54V2xC+qx9s9N3=Q%ek|0i=`>`S_E zjSH=`{|xUA*L4BoKxT2V~m-W=cNJ$%H?wMZ;$k8z*+z;SM%gutqgDrfO`Pk4P$OJ-j4Pb zIh#XIZ!fYrN+Mq(XpM9#g_@eQ{GD>RgS+9-JTT|mPfTLwm;qPufi%ihd(<=jaFse#;~+=ZOzbUKX@!-itq=#iK>b_|9O9U{B?!yu}Qlc&$%@Ud33 z96o~9Q>W3@)h&$K*w_F^YyWl3(}4PW81=%HW&~a_44{?6A8?m{T>+0!Klk?bp|h(? z?&qRU95)8jCQZP&(WByzxgY4vxi;+H--4DSM{(%LF;OY?^>ulvVhq+nnZHv;KjyhE z*Ej=E2fLzwv-7ob{zNH!feWAM>5-jOS6_$8;+0H-!)vP6u#@(3D>p+7;a#`4VbUdDz^*Y*wBEP(56H-3UlgZLnC!F36qGDvIQ~C(F=G)^ zCyuY!Sl!oh2(P~RHd;@flIKtbxvtp`nBRAeyXm9A0F2ZBLTfdS5xefLZcLjp5i4$6 zELGmyKvJf}lFgMa;8T@%~ z>vnA2wFhUtE)ppeVu%E zr7e6hS*gHxppi%QL}@@(H*Cn@viFmLo?rVKcJDiY=B6e|V7adQtWs(b~qaXh)_w9@z5pw6P3=3&|5g=HUc?8HgDvSA|*9zH6Q zMNxmXE_^XrM(F71#Na^#vGkS&xNiE?viC7~^z=)wz;U#A8LsOd1Mmsg)q9*PQv#S* zls2E}&d@08#)_p&u;7L{WpAfD^ya3`qTdGjnY@p}!WWXn9+Z-FGL6_-)286=Ww({g zKEe+v|K_nzlc+GUW7&jA1MlXwhJ5MNoVwO+;mOixb_?pv`;qI#u> zsnq9Qeia9g9F^=DCnFES_=pmv0pkg6ZS5F1Z~*T4#BG>7VO+_VrMvr!C!a;8r&m(l zu4~!=+z6Nhac9YSVD)EW+-@Ulcus45m$iUb-Ls;sh@&t6*t0K)t{*aZkc44BYP&v& z_>N=(hP@dKqK8A8Fm`n4J+uL4Oqqlod-usbjScm6#<-6F_$h#nIOEaKOv_bqDZ-xk zGU{hq>wD?rXEGT)boZT@IdyW$FQsww+vi`DbSW4AqoV7hk{|z=@#kMG zDgC(fA6fk%>T7E~mssoJ0ABMxRaIZk{i{~P4}@2Ad9iZ*rQp$`$zZ{8Yq!o@HK8lT7wo0yn`H(`qq9v-xX_F^n%Z}aX?#U41 z#sI@IDEzqE?@!gH>#Deo;ZXN;2KX=3XS8nb`oyi`?}iawLK-s%S`K5-paCKVujR$( z`*(D93AByT!)X&I$j{q5I`WCAAYyd!vk%^je|h|ANq99j)GvoI-#0M-F65SylrxzmRNRTf4Y=3$72h_9-EL{@Z78;^b)z88S$Ib}fngLbBcf#W+>K z!X*pEUaBOs$Y9#)Pp-sc&-_jjUN!0TR{{0D>zePOAQ%;eQViKfCD#=LMr);BvM<3P z&mBu{34H<=|7VXsEje&5{gNTOjgt24r;L7Dy;|!R1T7KJNy!_f57(AFc2lc-I zv);hGSIP9Iw2lT0_H{lP;Mb1hjO60eXJ2*qouT(o#B=A%;tw8l&Fg!~iJWW0_%WmL zZ&uwG`*{oJ&6RZc&OQ5lV_L5S1iMT0nGxeQA!P0P(L@uD_4v1M=O;>l*=GH z%r)+h$XT@bm*2JsqlOO)9oU*z)=RG2x_KWHkm<@uSiBk}Q5Z3Pvijb;WP?%N0_Jmo z`yc^0Q7)}a8l^6{yi$xf{#t7#M&IO#<4dM=H*ML5cR$!BkuF@r245j@_YWI3q@<@* zEsY#D6t^$B86D?4tpWH;*L7=%dvwcOI%iyzx@h&ga9NJEth=X2{8pxQ!-z!^FTVEr zg~EuB7hj0zp(zu_l~kE=Xz@++FlO{f4|kz;z1GhEA)2V{1(ijq%c#B@gWUh+*t$Bq zaOcv+q4+n3f**hW1;NZQXi>@HTd0*=0LUywh43u*GIGJ&?lGQ zE_YKEXr=x@E43h>tO>bNZkdTwP=BMfZYF1qA3Fv&UNLCMMvB+8j~Hf1yA*M395aEW{YhjnN`lunZj#`V0sdJTTwm%dQ^j@i7r!vZ zE2aK}MZ>OGx;XS#_Z&DV`1`R1NexaiU!3`DE|ipJvrIdk7Nm>)n?FzcKPM)iSwiLu zh$*1KRJgnOOyciS=@jm}bCE!`iP*Iz;Zok++n28a;NODk&3dTbT+Yq+3Aivu?Tynf zBfn&f{tN^e8cvKJ)Z95n;^)6QhhxjSX`R41u_hhcbZUgv0>^ z*J=KW13!269Il@|Q;dx;nmm3izW(Je$ft#qTaC^m)S3+Q)Qf9n(hEf`cROv72X9{@ zIrVDD2VBM)Bm4x-qrZ7d7^@WgT>1S6n9l8QA|o$dcoUv^ajj*{|LGbxlmWEMxPH-< z^Tgpq0FQ8I5uw9}mLiI4P9!gH*E_Kc9tKOe`-@c+C!1n-svkSAhLRd1MJ^LJlrE)6 zLg=n5Jq9iZ5r;8m)JOrJD5b`0r5|DOZQvzEdPSG=5Z&M5z?tYFmW_4zmy?M5_l=p0 zzLkqcsM+CT$1m%6f`~v3sw+yVa>Ti0#nR=XB@1p8)#s7=Yg%AAH|KeE1()-{!=Jq< zm+bXjQX{m+PpCh&cJRQ8J4EmG7ug_&bmchTA@;;;Z@nYBxp;E5)Z7~>!Ddv=NM{dM zhM(%^>S2zttJ@nROVD0kzX3hHeGvmYO76XW_KeuoN|sz(@)khM8nzrcCN@f4Z4Co5 zTO6&oYir2*SE~4a|AF7KyMMvFxgv6trk2A;vHtB%qB;aj($gcNlm;FD9p(ja!HFa2 z?C!=hFTEnaLj#S*8SfEmyQv8)Z(kC-oSdG|OY7c{IpIRv0#oiR>hqM}p`@G_K;qb# z1Y$WG(LG5KF@r2o3sPk_U4I>({M}1-UBB%b_cx{pM3@Rd6>6o_*SHwe{VZ(g4-NMLfZxBj<)Adt2m<2FoH9x3G3XK0*VoPk^g`vT zjVRdkIv_y6YMut}{;88DL@sZtlvph@ch(HKi`Htb?+#k=SkA4o!6NIr@qRKDjj~j2 z4fgDh-@T2}<(3<-m-s>P7%MGFlN!RNMzkC{B2pkJA``s%-j=|pN!9ht=>pZ0xl;O1 zQcenva`KlhMw0=o+xG@MGeJ=mMBJrGNAUPOhN1T#IwI(rxJ1M*OVV-)WHW7CgfRG| zh#TqnvDQ!nlTwfcHhsNWxXArp&h!j&(F=QNf;yp_;ILjs29DTBypFrE@Ah+_)>rvy|JT4e)w*$sVs+w}(PAA}5?3!r#;@Vu zmyoDs={K=^NsW;^l2uSNDw80cPDwwauy_Q4r1`*?)?Z>P8haI)j^+_b5o(QTlO_f} zjD9b{2kgk<<)7mb?Tr2ai%<>FRihgempFkmRFhBxqM{n=1yhlPDv&w@$B{Jsjy?MV ze~0DjtSZWIy^L9AV1^s7FA5pJ*6|xE{MmHL*piK1FM^0)LXkrwF^L_rdO z4K-FM?cBRR_EQ-G=bR*=2H^YeMDe`4WgAYMIvx92@C`o3PlAZ<>ex{uMY4+&Gv#3E zHZDyXKek`;`4qM6C_-O8F41?VU6F(ufWLDIsy%e%XsGCpLRJlPmvi$TICLcNE+*L6 z=*qVfZu8ROEDZBS0gPG956MaFf)zyU&*S=;FGk+Zw|7X}mLw*ZA~6Y@qL8ew&N{@n z#KaHr_>@#h5~bAox8JRL12D*Ai7w`W!@&%|%`jrv5Nmi2R?tfn98U%K?biopGCdeJ zc#w3}4kA|ZIt4|X>}Nxj5SJKBA3M@>wUSl?bTfA!2)B?cA-cs311B{`j*lwv^qI5y zBGF1oGJZbvuCA`u>sK6Nt56E$vR>rUsN72EEVRFvE8vG%X)FX06E*C^$1lkbzNt|} z4n2anL`xg}03cL9icRio6taN8X;`-}EjB#SbD% zu?x(r=CPHJ_Tzt2*ToOn05OP|`Xmz+X56R>xFdEa5O(F{7U-zNNDN%9u`>ZRz^L1J z-(XFOY>4>yiIbuFJB&KIy5wU11O>Q*Lm{bhG5|BEKEi9h6#94{safRen%bJsUi+*- zq5dz-I$2AbIyUakW!#;i;jVsA13W~6_<}-xSuN3H$@V3u22g0L?5~VT+uA!sZQ87- zjR|nG1`+clWP%0Nd4bqa>*YJpElKMmE^ zI*ML?7zUBz?nwoNhJ`6y7u#dFGL{$=>JM*##If&biEjsR2hmF+LnSE%>S}AmhiCLM zDly7gJOg*GW*k>rQhxklQ)4jfiyU>nvr~3bFywZNpu58B9F8QcK?Wsu}7f<5!JxCb8U(E+cXBz58i;|H>60yV4X2}qD*{ThA$)= zglml$8a~>3((}q{FNLGoF6==>v=rCT^$H-SvfB@P%?MY7)v7bEPL3;uYv=t*xLQmO zF+!F!gqoAWri)~NxXC9rb{I1%`JfOJPAngfGCtZ|#!uW8lhjUxL}=-8Sg4&+YBcX2 zE$A9{uBs1afWj)DAhII%z~Q43n219*alu4Rl4=0Hq+-y8IJ&qr%~u0Sj*%c(X|Nd~ z=|q*woJ`=l$gw-Y8;Enj&gy<`#6X($BPkAOJcOwL8fE2Pl=pXab%kc6Dj|!ROIi)s zcSyouW&R>*HNf~h5zgf@qcrdsHwfFX+CO(Gh!}Nc7+;Xoz(7g>Q2~ylGbzUj+`fX? ziNNW!v>A4dOZ2tbJHIF46tNhr^>vcOin7Z}5wVi&?bn$=Y{3$-hs5faGcaju$+?Lk z9-FkL4Uque@i_T#em$QsjN-s?oUT+V)gE+H6pPoYfx}0ShXx{|5`9@Bk}?T<10gg^O_#7!O@_MdA%) zlko<4j9tBdK0pxBIHadlUthi)9TC+D8K6(uGxkg9l&EAA8+#Hk2ALd6@=TzdXY1rs z&q)v^33CHUcmrh4QsH=J3mI?=3jP$5fIa=b2Z5g(lP?0{Z?tierFnuIW;8@+01Luk zVMbiob3QkakT;O=0k5U{98^kF0|d|}5fq}T9Z_Ozbg`pI8aDl~2Vn+&592=m;l*6p zQ=&6+IsYWhODPrBL?VRhYHBmq}9m956i+y5~xBk%*f)tm<)gf0i)usX)Vu7 znuxoX3a1!gmaKo$c$jpeO+_evl=Fu8u3>7zl_PWWc!qAWL8}-?*=(rAUEHUq9NEOu z!K23{j2wq(2Z%QiQ=KsILr`b&sbzGl;zlpMBV~uhg0_oyGJII*S&9t)sED>0MSNJ# z0_mM3eIMjm?FS80KOWC;|)klx0)p!H89B+Kc`N@p@aWe(sF@i`8 z@epJ;fjzV*xSqz~82hcX+8|I^3X!e}0h^V8AZ%!uQ1YlChcIGTm}($XB~pmRr`%n| zy^WbvVc42j$GBJq0xjqbR1*~9d-44yhQucby|2_259>+DMpYM5`(`iyK4_aQgn=fR zL#Fttw2a$^hIhxDTuKt|j%w6^xVU}UK=Dt*N|Gv$lL%gr9!90P0r5_HdWAWI7MWli zrmq|Qa}>*wfO~6dq`o7Fi0&$QPK$P3mnTy83K*fSJy4HvkSt)RRJ>Ub#;ycF7)%jY zqXum7C#WsUfkTJoGf83{Yn969I3)cJ>MQdG?E6d!2~E?JA~qsw11x?wjnW|@4A5C% zs4At7Xr*);ptjNH<^+U+2?>UDs{laI7-49bh}SqYZp^3)CC(L)jr|uN;7mXz$3(xH zlgp5ETq!`Y%N#}}-T)Vj>Xj#m1QCI(P6bEm(b(l?4P%%yZEaHA0LkCw?4$cf0kC2ax$Q?g+wDc~Dnj)qsrsOKN z{%QHMPftTZ*3H&8#PtR^PYgD7MreCOn~F9P%gus_`IJh;Kcl(aq+utyP@?1uZ z!>4V30Cp*8uk)*X!jd=?Z`A@Jc~9KdZ4}pZm7)Mft@sZ*l9hFWxuOQoR#K5k<6{09 z6NpmbQa!vU*ajsJ8Elx1w%?yqN z5&c|Mg&klkiOJD%Ep6uCqu3(W9hw#p{GnwX1gT;Yi?Hnd6&7h06AMSmwY{zq${kY3SWi;?u`HwFD9|HYto5S57A{RH3l2} znHV7cxwDGJzau1iyd(4bf_^nYwBcSl4^jEoLss!QOlpgh?aIKRm8FB0PCN>Pj95u z&SDnr{P_;-+#8QknZRPLWsn-M$*IvJhX>xfE5Jr6M{dpy#X9g=lzg@J94Doo=KS$0 z_y(DfpXI~1AqE@8FKq#a6f2biwmxrr%qEjGoXF{6)i2#4sb5OA)-s4%lxevZm8APw znV`_PkZvr5eou1fVs*c}=hU21!xj^LhAaB6#t|0Nxi70m>nKf9M#EM(r5Y`KsQh|jpK?WeBla#;> zA=$iQ^3G7|mQZ&XSj0lf{20oQb3Xi!m%iv+Ijy%VrQYM0GkhBs8Jpp^A@8gL0Ac&) z$4wJY4hafL@F(S5(&v~jz3<>5arMeEpKX1U#2AB+LNpG!`-9vy8p&=M*moi2{NJ5F zXLjJ{EbHfcFx+g6$+^ZnR@ff=f){YX8~ERLmxT4N<7fOrTJ_ar=aOjM#zPWD1$ZPB z|09PF6K|!Em{FsPR~O-Q58G=vt~(gi1k?5bU_C)Gkx?jlYa^by$c3l9!V}!Xu!P%p z?-L1;mgb)Nw~k7kb`)F2dzZfC$SC9TkjM=ESaMESZh%Lh@HqI63Oi-wD~S&si3Jza zKEAKe8?eEjpv>A1-?fW6Rz?XKEsWdx#-@lZQLVC}M$n;GWKvcym$Oj{pG8_c|AxTN z`MvB)&hL{$FJ1S$#b*X-9v@$H<&@GtV6`tNH>`ab{rZLTt`{j#DN$E-bauuzv{*P& z7!=C+XxQmRxPML*f$zi?^eQY2k`!KlBoJCzL#!*=TRv!;s_sKyqc3li4VGAhvt}o-n+>%7X&CN}XrtKQXP)4;636**^Im|4 zn{U(3D{K`n?c%*+#Nx|2rnU1c?o`(Nzq4g);1}@Wx8Jfrtno@w!!&>>^5Qg+*-$8v|8v*uhb^ncXXNT&38u0XF zh~_fJFsSo$dV0mDiEB9<{E|O8S_A*dN&#|Gm=vH0;&JlqNmB`K%{G*XTS-hbuB~he z3jT21><18~pdyI)?6_)xDv1?N#0yel1!4bpMzm4*Ip2xv!ee5?=#5RAh1q=f?=O^i zdX5|ec+r*1v5x%G%eXG1HIK2M40qV;Z@(M*Wh-yLRlX=wL0gxkKp6A}DE7G{s1k~; ze=a^hi&9V#G)6KG-N!hgVa_3YA@_D?L>d%V>=1}^_;_pn9K>>CA}Hq0+ZKl+f9buk z3pryA-2JXG|5R-J<&D4#q2P-z zZll!Ur1o`Z#N{d`Hm-_VP!UA7z9Fu`N=P~vFG&B>SffE#?f^=@D{&Q5Cr`k2AyGem z2M^t3xLa_)aK8!ANDjWVjR_ZDK2BgCl=`7GBQ^#vu6rYNaEs>OfC=Nr$^fIP0w*C5 z2IKCjnwm>=t0(@CMK7obA-+%C3?akP&4UL9TI~BH*eDzWU2Ynt_ug@P=&CeawAnej%hYCA%36%rm;*VX|&9HS_%fTZhPYZkSt~v)&L84IlXu?g9d}}IBhERi$16y^^ z3K?i`#N$;g2;)EuOPk?kPHr(0Hp?{CGy zLr0{^rZFb#y173jjNiDIx_%eAfw&|Y5PT_MH79~!uxsyrY~H>zbTGHxJRh@XOp}3^ zV*uMwf*_2f&e21JomDAaIDaU)W9tczWA-ns>W7TMIpm!G-aRWqpF`F3^6PJ+u_><_ zzLe5VN7_lD+@;gH4pA;g)f`dKUze7$jSX1y%KDNgg*>!!ImV3{Ee1(Bdw{_YN{k%| zlxJD8J1eR7GB$~oM6Y2>R8e77KO8$_E0jE+d+5GUHDgXZbs{1Z691DqhpYeW53D-5}q0Fa>gl2q4OZ^TBs!l^ z{4@MpEdC|Q)6pS0gU>$r$&x*T7@OI$ZKu`yoXLBQF+CR_2VVNpDV;{tE3MOX4Kv1I zC8J1#1`WX0ox8EV#1W|U48HjALsHOT)j^P5z{O%LKMByNt*1+x@&;=Hs)_+BW?KuH zR02JO%^ToztL_Uuy%j!e?1fj>i{AHD-Je3>URq!tQ7^4Dd*?*Iw3hJUMg{c;QindE z8SCDBN4PPJXh41OQx9RxsF5NGg1iH3Y0J^HG4!^rr>i#hUy8gWR)ZH_?(B^9EOsWb zRXc@)5R^D`P<0I)D5g-S0#AjLm{QU8M+ zOfForc3sKcOLg$b>IVe9!WYdJ9Y6)&pJ)AACC8>*GO_zx`bGR(qF2$y);BQ@%%qw- z)_PLJzcntoF(@U!^yyWhrCpE)4;}c$lh5W$_FdO(fKp$~gJLSYbk1Z^>E&e$X+)TB z8DoA+E+p9EiQm0c(pTmnSKoUVZkd0BSp5tr6*7UX&x<2sxjPGsKKp~@X!;ljW-_2; zE0YNnIeWHEas^!cu+ARv+q?YBZ=V+YgJ<-)hmA3Jz;E(d&84A;6R-R-l3b8UUhTT> ztIVBKBt7=*nzCTZ<+m=veJhrU3qxsO?E-6Q(;KKJG)y$@;e@UKVk$g;sM`7lZW5|H z8hb=WEx!3ieER--N=hwy1&==dloWsv1CVob=as@zrO{LIwl7ox5#vC?*9BVUy6#&P zNlYC5=Gir6!=`g*PRH**{Gb3hDgL+<$OxhbrTzzj;!m=3rTTHv^-1+;2HC z>^S;X7Ml{B$k;sLTVc%$ED_d4`yl5U9BDm)8B-<(o>*E;Yu|Vaec4?8B<;&W(ps-m zO68&ip6KR=b?~&rG&-ZJ?`-}++-n-wuIn<~db?6etj>!WARZ;p0LJz8xL#unPAP@^ z7?h#7B$$M_w^DvC{HP#z2_s>IE|<&b(e-lG2=*) zFAc1K9~j`%3dq`bOOgTl*Ib7Ao-yVg*EOe^JK!#1!05>}FGs2h;yqESWGG!Ksi#Yl z_?_=>-xb^NB#!TwPd+Ds9`^Y28%TWUrUrwFm2_wPpl?y4eU~EEM!d3Nqm-c$ z$|YzX*KJ{R&lvMsf6KFeX8>6g=#vWSZr9}gTxtCsayS?6xtCv6v~-u=vOwC zcz(IcpO;IUf#R8empbk?>iDz%VH(uW#xL%myE|#xSV1Hc@EL~F3nPMG)^B_l?|!gN z%sAWG({tHbf?a@#1IsnB1?dlfXz`WTrG4HxrRZVUoaq-y}l|~xv4IVhr z+v^>cz`qO6)nhpvcQri-Ia;+QEq`+ig9i+dxI2CQxHbkWb>G{%L!f00mNn(E0O|({ z`cDnqw)~uZ^cf(>pHEUseH$=e;>&bpGU)E=#=wCCBnU(lZCKNzB*@J(K>rz!>|ek( zxm$Pck%gyPq9lR0rY}R8zf?xQrr^Lu_QHZ*BMjh2qs<~0xxY|Q4{|Zc2rPeMVrcrL ziPDjzKMs59Phzzb)8p)iMB9X2OL*`GytUj6;J*X-1*>zo_+DBjcg-?@{J&CqC4g_h zmX;(8xLX^hzdg};T-Kk_FA zA2UD!1F(MG&uK4KN__(ifGCxAZfd*^ezyObDwEasB{s2UzN#*DH78J>XE>mMRvD})G`U;?G7p+O8T zd*ls~OSJI)6SFRH1L*?NLtwc!Tg_6Ww|8_(cMtxX3(v$>pWpnE1|4%9&ILeA22jrc zctR=lgfXW5LXOOq>wPQ%sv-mP91NZV@E-vzF~CDwspa)`we#xhYGoz4fOIK|D9Sfx z^3Tu}_b#0lbwQVpmjsCv{7Lmr+vYC!3Nd@V_HO>pD_>O(-=HqfY%`1 zI20~pN+K3rH4K0Y)j2&%skJazE3<6O1f|q629`81yC$8!p(dTas7r+Fb;y#P&3J&+ zK@=R8T__FMPMwUwg|0`fw*yUnSMtQAE$qHVYzF{V#(bbeu9<>yUe;-eMOPIAgb+_X z`>9gur~V?+0GP#|491u-N~!T0n4}$N1RQ4oE4A61f)!~3Z}ucKWiRyzGgOQx^E#!J v;Li*Njhaa& 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 B%KrcW diff --git a/src/icon_off_48.png b/src/icon_off_48.png deleted file mode 100644 index 166e3178041eb6cd57d8a45259d3f4562eb63213..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6430 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 diff --git a/src/icon_128.png b/src/icons/icon_128.png similarity index 100% rename from src/icon_128.png rename to src/icons/icon_128.png diff --git a/src/icon_16.png b/src/icons/icon_16.png similarity index 100% rename from src/icon_16.png rename to src/icons/icon_16.png diff --git a/src/icon_32.png b/src/icons/icon_32.png similarity index 100% rename from src/icon_32.png rename to src/icons/icon_32.png diff --git a/src/icon_48.png b/src/icons/icon_48.png similarity index 100% rename from src/icon_48.png rename to src/icons/icon_48.png diff --git a/src/icons/icon_off_128.png b/src/icons/icon_off_128.png new file mode 100644 index 0000000000000000000000000000000000000000..d66b2f15d758660251a7adfdc0a59e39a3a3431f GIT binary patch literal 18547 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 KUM^}F`2PUxTxl=> literal 0 HcmV?d00001 diff --git a/src/icons/icon_off_16.png b/src/icons/icon_off_16.png new file mode 100644 index 0000000000000000000000000000000000000000..5720153b5853d940df95bfd5c3facfe59a99a204 GIT binary patch literal 4980 zcmeHKc~leU79X~XC`c(PSixzeRn$o)8(B(N9z+u{N`>+OHzvshN3)q3NTOI56pI`; zsI^tJrMOg)#bQ}ilttW1i@SJ0MGFs6Q46J3koP4Z;%U!$$8%o)b8=?8-@U(k@9*CG zolI)@>>18ZvyKP}373Y1yi5k9khyZ3NKzFvzGhKG znD~(RA>6z*OL#*p9v?P3EiUWm=-33bv~$Exj*l;W^V+4SPHm|In|tDj^ z^6JDJ9QJs!SO?9`u1BID#FZw;oDENn|GaABp-)b1O^CU3tR^P+a&-Hip7m>v6{WWb ze_~c2S!bW_`ayOIYf6D@)~6F|LO1@dSkRNbIZ#UfdOnUCrhV%)I{ogjzT{htJJ+}Q z@_b$Gk{Ct3OqV~5YgCOz6VNr7j`MSH7B^m#a9DnPgp%N;m0Jq@#AgZ6Q5hy@$^wsUDFHE zrTZPj)OCivu%^WuG+iPAnk!m1OQ_Ik=$KL`$LS`G9&{Z9`3IWxm|`hT!E!vF(28gs zN{(=E_i+J_KJ(NR}J$h~={*70Z_@1WH<9fRn#T2mmxVg~29`T1yH|BAOLf z2%ars1`W2VP)kL$XjwQMqBGzyht8p+h}c9VvS36zLN z1MBe1_%wQ%Y!F^c4zK|DV3;sHgGomj8VzHp1xbk$0mwi=e``TTf*EDZ#YtU)L4k`C zaV<4*D1=fmXs=H&sIBQJ6%1UBYk(>VyfR;NIYTN7AGEMg5Kn0IRx3dEYnl|HdPUZ2 zu~}BE=?o17m=EH+fX{d;1@h?>B6ogV}eH5TP7RJWd2%E{| zA{-v7K=^!|gD|-&l@jO4l>#Pj2$WPyQkYhOTc7|qod7s~TsfPEGUW)HuaYAi6(}j@ z$Mr)n1%@$|Tn^5B4PuUg09}cxhelKOWQI&uz!EiB?Jllo2{b$nTo)d^}qGMstM~b!LW5KgqWf~1rkfdmDV@`R{xS> zF{X{j!TvGOurKAr-!ubXfvIqm$479v9~0pylx#%K7YGm*##JeKTo%q#_GdMSPU=*Y z5i{Vy@qkCb6=+Z^SMcP4Qu)3fjd3wVZ&etw z#Q?j08Q8kOPRJPC3J3TCvHp|CKpp-`7cl(R$s6(emaeySy%7U%r2MwK-qQ6(47`!@ z+wS_m(dG2&V+z-Te?Ug?skHb0x?1p=^^QDjMkv&0`F(r*Kn9Qu*GpnZ2paL8<+Ooz zW_keOFiI*D4{LL98Rb5D_ZIaO2(qI|LxUsv=QSCPbLKgCoL<$MP4(LD74>R;9nN{6 zaV*zPIawxNP-OnqLCD@@q@P|@HTC$D%93gI)nA$R(Z{`)Dx80MMpm-(`KX3v4NqfY zqhiOzuc&(>SGhHk-2vvOVNLhU_Aj#M#W;rzTvU-z)c?g{d^+XXkmGZDTzN?XUMW@HKy9KEevng^H}NdX;~j8wv|aE}lex0Z{@Q`N_s<^LmIKjF76;0XB_8gUbQb2H zz|0>eH>*!&mu&rTc*fav*K%R084uguAMabx z(&6)@B=ZlE)~{&9f6AsOEgN2ie!q0w4?gwR8o5&vLo0LH#afb4=oIAR4#CAmbx&uu zq)wXY_N>eK;u4oCRFZqhe&wEm>v1e@o<@7*hn)`am`(6T+R2KA^X${Eti?PYeA#`y z$v6EIGWvq5+%c{&S`tq}z@h)f5y$iH6x@UgVvu#c0iCg48-AMk(XQ6~Sg&ArSMGva zznR^ql;ei>UC_Fog`qK(KIfH}Yj5jMZkQYvjf??Y+T_14yOh&>Ix)DbbTpLS*Ylve zq;2uieNp-BWs3XElO5SPg}VbMh`x)S>^9utdV{a3rh50iFRHZJ2U^k8n_1J>PMx^x58X8EkUw3b|MP_AAqBpRf43 zgjsVzZCmf7@Y`kXyU2h3d{jNPshs%K>-}*he_m!fcXhk0m_Pf4WZ&8E1s9y1qmd0B zf~!A2N@hi*&LdkF26XjCTyuQbx%WIiKhaFtc8Ge+UK$l8R@C=KU*f?SBCl2XW#6 literal 0 HcmV?d00001 diff --git a/src/icons/icon_off_32.png b/src/icons/icon_off_32.png new file mode 100644 index 0000000000000000000000000000000000000000..82a24b1afcb4a909fff21971cdf4c64082e77f3a GIT binary patch literal 8697 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 N26`sCceGv3{tu9Sw*CMB literal 0 HcmV?d00001 diff --git a/src/icons/icon_off_48.png b/src/icons/icon_off_48.png new file mode 100644 index 0000000000000000000000000000000000000000..9e2c1d286d8ea7a1973b0681f1b3b2849c724633 GIT binary patch literal 10209 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 a#H4fVTRJ;}IprJ-Ffq8O|5Vo{`u_l4x_==6 literal 0 HcmV?d00001 diff --git a/src/icon_on_128,png.png b/src/icons/icon_on_128.png similarity index 100% rename from src/icon_on_128,png.png rename to src/icons/icon_on_128.png diff --git a/src/icon_on_16.png b/src/icons/icon_on_16.png similarity index 100% rename from src/icon_on_16.png rename to src/icons/icon_on_16.png diff --git a/src/icon_on_32.png b/src/icons/icon_on_32.png similarity index 100% rename from src/icon_on_32.png rename to src/icons/icon_on_32.png diff --git a/src/icon_on_48.png b/src/icons/icon_on_48.png similarity index 100% rename from src/icon_on_48.png rename to src/icons/icon_on_48.png diff --git a/src/manifest.json b/src/manifest.json index c574d69..868e3dd 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,9 +1,9 @@ { "name": "WordPress Detector", - "author": "bensaine", - "version": "1.0", + "author": "jruns", + "version": "1.5", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", - "permissions": ["activeTab"], + "permissions": ["activeTab", "tabs"], "background": { "scripts": ["background.js"], "persistent": false @@ -15,14 +15,14 @@ } ], "icons": { - "16": "icon_16.png", - "32": "icon_32.png", - "48": "icon_48.png", - "128": "icon_128.png" + "16": "icons/icon_16.png", + "32": "icons/icon_32.png", + "48": "icons/icon_48.png", + "128": "icons/icon_128.png" }, "manifest_version": 2, "browser_action": { - "default_icon": "icon_off_32.png", + "default_icon": "icons/icon_off_32.png", "default_title": "WordPress Detector" } } diff --git a/wordpress-detector.zip b/wordpress-detector.zip deleted file mode 100644 index 3097897ee5a36fbac4620040e849ee9f05181adc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96770 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 Date: Wed, 14 May 2025 15:17:44 -0400 Subject: [PATCH 04/26] Add package.json for web-ext firefox builds --- package.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 0000000..fb75512 --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "scripts": { + "build": "web-ext build --filename wordpress-detector.zip --overwrite-dest --source-dir ./src/", + "sign": "web-ext sign --source-dir ./src/", + "start:firefox": "web-ext run --source-dir ./src/" + } +} \ No newline at end of file From ccef45f082f4c4a65318356b7669991d949d607b Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 14 May 2025 15:17:53 -0400 Subject: [PATCH 05/26] Update gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6f66c74..1a79944 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -*.zip \ No newline at end of file +*.zip +web-ext-artifacts \ No newline at end of file From 3b9c4f0f026bd13f307ebff5e866b1b4cd086c21 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 14 May 2025 15:19:03 -0400 Subject: [PATCH 06/26] Update README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 47a5b1c..7a1cae8 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # wordpress-detector A simple browser extension notifying of a WordPress site in your current tab. -## Location installation instructions -1. Download a release zip file +## Installation instructions +1. Download a release xpi file from this github repo 2. Go to about:addons 3. Click the gear icon next to the "Manage Your Extensions" heading -4. Select "Install Add-on From File..." and select the release file +4. Select "Install Add-on From File..." and select the release file you downloaded 5. Pin the extension to the Toolbar ## ToDo From c73868ad73dc40bd3592af6ee1a92370afc4a606 Mon Sep 17 00:00:00 2001 From: jruns Date: Wed, 14 May 2025 16:53:22 -0400 Subject: [PATCH 07/26] Update README.md with Chrome installation instructions --- README.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7a1cae8..63ac150 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,24 @@ # wordpress-detector A simple browser extension notifying of a WordPress site in your current tab. -## Installation instructions +## Firefox Installation instructions 1. Download a release xpi file from this github repo -2. Go to about:addons +2. Go to `about:addons` 3. Click the gear icon next to the "Manage Your Extensions" heading 4. Select "Install Add-on From File..." and select the release file you downloaded 5. Pin the extension to the Toolbar +## Chrome Installation instructions +1. Download the `src` folder from this github repo +2. Go to `chrome://extensions/` +3. Activate "Developer mode" +4. Click the "Load unpacked" button +5. Select the `src` folder you saved locally +6. Pin the extension to the Toolbar + ## ToDo 1. Correctly set the toolbar icon when multiple windows are open and focus switches between them. -2. Find WordPress sites that miss the head check (like sites using a CDN), and add body checks to match those as well. +2. Find any WordPress sites that miss the head check (like sites using a CDN), and add body checks to match those as well. ## Credits Forked from https://github.com/bensaine/wordpress-detector From 19e6a1d5de14f6efd10c7cb14fd62a078176f856 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 08:07:32 -0400 Subject: [PATCH 08/26] Undo icons folder move --- src/background.js | 2 +- src/{icons => }/icon_128.png | Bin src/{icons => }/icon_16.png | Bin src/{icons => }/icon_32.png | Bin src/{icons => }/icon_48.png | Bin src/{icons => }/icon_off_128.png | Bin src/{icons => }/icon_off_16.png | Bin src/{icons => }/icon_off_32.png | Bin src/{icons => }/icon_off_48.png | Bin src/{icons => }/icon_on_128.png | Bin src/{icons => }/icon_on_16.png | Bin src/{icons => }/icon_on_32.png | Bin src/{icons => }/icon_on_48.png | Bin src/manifest.json | 10 +++++----- 14 files changed, 6 insertions(+), 6 deletions(-) rename src/{icons => }/icon_128.png (100%) rename src/{icons => }/icon_16.png (100%) rename src/{icons => }/icon_32.png (100%) rename src/{icons => }/icon_48.png (100%) rename src/{icons => }/icon_off_128.png (100%) rename src/{icons => }/icon_off_16.png (100%) rename src/{icons => }/icon_off_32.png (100%) rename src/{icons => }/icon_off_48.png (100%) rename src/{icons => }/icon_on_128.png (100%) rename src/{icons => }/icon_on_16.png (100%) rename src/{icons => }/icon_on_32.png (100%) rename src/{icons => }/icon_on_48.png (100%) diff --git a/src/background.js b/src/background.js index 7eea247..03a1c49 100644 --- a/src/background.js +++ b/src/background.js @@ -7,7 +7,7 @@ const clues = { // updates the icon in the toolbar const updateIcon = (state) => { - const path = state ? "icons/icon_on_32.png" : "icons/icon_off_32.png"; + const path = state ? "icon_on_32.png" : "icon_off_32.png"; chrome.browserAction.setIcon({ path }) } diff --git a/src/icons/icon_128.png b/src/icon_128.png similarity index 100% rename from src/icons/icon_128.png rename to src/icon_128.png diff --git a/src/icons/icon_16.png b/src/icon_16.png similarity index 100% rename from src/icons/icon_16.png rename to src/icon_16.png diff --git a/src/icons/icon_32.png b/src/icon_32.png similarity index 100% rename from src/icons/icon_32.png rename to src/icon_32.png diff --git a/src/icons/icon_48.png b/src/icon_48.png similarity index 100% rename from src/icons/icon_48.png rename to src/icon_48.png diff --git a/src/icons/icon_off_128.png b/src/icon_off_128.png similarity index 100% rename from src/icons/icon_off_128.png rename to src/icon_off_128.png diff --git a/src/icons/icon_off_16.png b/src/icon_off_16.png similarity index 100% rename from src/icons/icon_off_16.png rename to src/icon_off_16.png diff --git a/src/icons/icon_off_32.png b/src/icon_off_32.png similarity index 100% rename from src/icons/icon_off_32.png rename to src/icon_off_32.png diff --git a/src/icons/icon_off_48.png b/src/icon_off_48.png similarity index 100% rename from src/icons/icon_off_48.png rename to src/icon_off_48.png diff --git a/src/icons/icon_on_128.png b/src/icon_on_128.png similarity index 100% rename from src/icons/icon_on_128.png rename to src/icon_on_128.png diff --git a/src/icons/icon_on_16.png b/src/icon_on_16.png similarity index 100% rename from src/icons/icon_on_16.png rename to src/icon_on_16.png diff --git a/src/icons/icon_on_32.png b/src/icon_on_32.png similarity index 100% rename from src/icons/icon_on_32.png rename to src/icon_on_32.png diff --git a/src/icons/icon_on_48.png b/src/icon_on_48.png similarity index 100% rename from src/icons/icon_on_48.png rename to src/icon_on_48.png diff --git a/src/manifest.json b/src/manifest.json index 868e3dd..10f2c20 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -15,14 +15,14 @@ } ], "icons": { - "16": "icons/icon_16.png", - "32": "icons/icon_32.png", - "48": "icons/icon_48.png", - "128": "icons/icon_128.png" + "16": "icon_16.png", + "32": "icon_32.png", + "48": "icon_48.png", + "128": "icon_128.png" }, "manifest_version": 2, "browser_action": { - "default_icon": "icons/icon_off_32.png", + "default_icon": "icon_off_32.png", "default_title": "WordPress Detector" } } From 6182d715491f67d6ae8230745b3d7cddba941881 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 08:10:14 -0400 Subject: [PATCH 09/26] Revert manifest changes from original repo --- src/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/manifest.json b/src/manifest.json index 10f2c20..376c3a0 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "name": "WordPress Detector", - "author": "jruns", - "version": "1.5", + "author": "bensaine", + "version": "1.1", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", "permissions": ["activeTab", "tabs"], "background": { From d9930c6c9e365b5cf738d1abeb22d27581396541 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 08:14:06 -0400 Subject: [PATCH 10/26] Copy my individual changes to original background.js --- src/background.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/background.js b/src/background.js index 03a1c49..711ef13 100644 --- a/src/background.js +++ b/src/background.js @@ -1,9 +1,7 @@ 'use strict'; // terms we will search in to detect WordPress -const clues = { - head: [ "wp-content", "wp-includes", "xmlrpc.php" ] -} +const clues = ["wp-content", "wp-includes", "xmlrpc.php"] // updates the icon in the toolbar const updateIcon = (state) => { @@ -14,7 +12,7 @@ const updateIcon = (state) => { // detect wordpress in a pages const detectWordPress = (head) => { if ( typeof head !== "undefined" ) { - updateIcon(head && head != null && head !== "" && clues.head.some(v => head.includes(v))) + updateIcon(head && head != null && head !== "" && clues.some(v => head.includes(v))) } } From 7cef4ccd78068d717ebfc1f97d2b8edc6658eeb6 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 08:34:16 -0400 Subject: [PATCH 11/26] Revert repo README changes --- README.md | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 63ac150..53d9e1a 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,11 @@ # wordpress-detector -A simple browser extension notifying of a WordPress site in your current tab. +A simple chrome extension notifying of a WordPress site in your current tab. -## Firefox Installation instructions -1. Download a release xpi file from this github repo -2. Go to `about:addons` -3. Click the gear icon next to the "Manage Your Extensions" heading -4. Select "Install Add-on From File..." and select the release file you downloaded -5. Pin the extension to the Toolbar +## Chrome Web Store Link +[View](https://chrome.google.com/webstore/detail/wordpress-detector/mllfefhpnfcegnbepchcijjijhageknh) the extension on the Chrome Web Store. -## Chrome Installation instructions -1. Download the `src` folder from this github repo -2. Go to `chrome://extensions/` -3. Activate "Developer mode" -4. Click the "Load unpacked" button -5. Select the `src` folder you saved locally -6. Pin the extension to the Toolbar +## Firefox Addons Link +[View](https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/) the extension on the Firefox Browser Add-Ons. ## ToDo -1. Correctly set the toolbar icon when multiple windows are open and focus switches between them. -2. Find any WordPress sites that miss the head check (like sites using a CDN), and add body checks to match those as well. - -## Credits -Forked from https://github.com/bensaine/wordpress-detector +1. Correctly set the toolbar icon when multiple windows are open and focus switches between them. \ No newline at end of file From a4ab13ce5a3b8d9f8e7e1c717c61b8b40b7818b4 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 10:52:36 -0400 Subject: [PATCH 12/26] Update icon by tabId so that multiple windows can maintain their own icon states --- README.md | 5 +---- src/background.js | 20 +++++++++++--------- src/content.js | 2 +- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 53d9e1a..2747ec1 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,4 @@ A simple chrome extension notifying of a WordPress site in your current tab. [View](https://chrome.google.com/webstore/detail/wordpress-detector/mllfefhpnfcegnbepchcijjijhageknh) the extension on the Chrome Web Store. ## Firefox Addons Link -[View](https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/) the extension on the Firefox Browser Add-Ons. - -## ToDo -1. Correctly set the toolbar icon when multiple windows are open and focus switches between them. \ No newline at end of file +[View](https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/) the extension on the Firefox Browser Add-Ons. \ No newline at end of file diff --git a/src/background.js b/src/background.js index 711ef13..be1c529 100644 --- a/src/background.js +++ b/src/background.js @@ -4,27 +4,29 @@ const clues = ["wp-content", "wp-includes", "xmlrpc.php"] // updates the icon in the toolbar -const updateIcon = (state) => { +const updateIcon = (state, tabId = null) => { const path = state ? "icon_on_32.png" : "icon_off_32.png"; - chrome.browserAction.setIcon({ path }) + chrome.browserAction.setIcon({ path, tabId }) } // detect wordpress in a pages -const detectWordPress = (head) => { +const detectWordPress = (head, tabId) => { if ( typeof head !== "undefined" ) { - updateIcon(head && head != null && head !== "" && clues.some(v => head.includes(v))) + const state = head && head != null && head !== "" && clues.some(v => head.includes(v)) + updateIcon( state, tabId ) } } -const onTabUpdate = () => { +const onTabUpdate = (activeInfo) => { // reset - updateIcon(false) + updateIcon(false, activeInfo.tabId) // get current tab's and detect WordPress - chrome.tabs.query({ active: true, currentWindow: true, url: '*://*/*' }, function (tabs) { + chrome.tabs.query({ active: true, currentWindow: true, url: ['about:newtab', '*://*/*'] }, function (tabs) { if ( tabs.length !== 0 ) { - chrome.tabs.sendMessage(tabs[0].id, { text: "send_head_inner" }, function (response) { - detectWordPress(response) + const tabId = tabs[0].id; + chrome.tabs.sendMessage(tabId, { tabId: tabId, text: "send_head_inner" }, function (response) { + detectWordPress( response?.response, response?.tabId ) }); } }); diff --git a/src/content.js b/src/content.js index b7ff7dc..6cd9505 100644 --- a/src/content.js +++ b/src/content.js @@ -1,5 +1,5 @@ chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) { if (msg.text === 'send_head_inner') { - sendResponse(document.head.innerHTML) + sendResponse( { response: document.head.innerHTML, tabId: msg.tabId } ) } }); \ No newline at end of file From 66eec4074aaacd08b4e20ffe2181cdef5b9a1962 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 10:55:20 -0400 Subject: [PATCH 13/26] Revert README to fork version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2747ec1..2e96f4f 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,4 @@ A simple chrome extension notifying of a WordPress site in your current tab. [View](https://chrome.google.com/webstore/detail/wordpress-detector/mllfefhpnfcegnbepchcijjijhageknh) the extension on the Chrome Web Store. ## Firefox Addons Link -[View](https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/) the extension on the Firefox Browser Add-Ons. \ No newline at end of file +[View](https://addons.mozilla.org/en-US/firefox/addon/wordpress-detector/) the extension on the Firefox Browser Add-Ons. From c3a84391509f5c8a4aa40855cc9cd378e1118eaa Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 11:30:31 -0400 Subject: [PATCH 14/26] Support switching windows, and remove unneeded event listeners --- src/background.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/background.js b/src/background.js index be1c529..42ca63d 100644 --- a/src/background.js +++ b/src/background.js @@ -22,20 +22,16 @@ const onTabUpdate = (activeInfo) => { updateIcon(false, activeInfo.tabId) // get current tab's and detect WordPress - chrome.tabs.query({ active: true, currentWindow: true, url: ['about:newtab', '*://*/*'] }, function (tabs) { - if ( tabs.length !== 0 ) { - const tabId = tabs[0].id; + chrome.tabs.query({ active: true, windowType: 'normal', url: ['about:newtab', '*://*/*'] }, function (tabs) { + tabs.forEach( function( tab, index, arr ) { + const tabId = tab.id; chrome.tabs.sendMessage(tabId, { tabId: tabId, text: "send_head_inner" }, function (response) { detectWordPress( response?.response, response?.tabId ) }); - } + }); }); } // listen for tab updates -chrome.tabs.onActivated.addListener(onTabUpdate) chrome.tabs.onUpdated.addListener(onTabUpdate) -chrome.tabs.onCreated.addListener(onTabUpdate) -chrome.windows.onFocusChanged.addListener(onTabUpdate) -chrome.tabs.onRemoved.addListener(onTabUpdate) -chrome.tabs.onReplaced.addListener(onTabUpdate) \ No newline at end of file +chrome.windows.onFocusChanged.addListener(onTabUpdate) \ No newline at end of file From afe2235e015497dfe6a545434276ab9262d26ceb Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Wed, 28 May 2025 12:05:32 -0400 Subject: [PATCH 15/26] Update comment --- src/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.js b/src/background.js index 42ca63d..71bd8e5 100644 --- a/src/background.js +++ b/src/background.js @@ -21,7 +21,7 @@ const onTabUpdate = (activeInfo) => { // reset updateIcon(false, activeInfo.tabId) - // get current tab's and detect WordPress + // get each window's active tab's and detect WordPress chrome.tabs.query({ active: true, windowType: 'normal', url: ['about:newtab', '*://*/*'] }, function (tabs) { tabs.forEach( function( tab, index, arr ) { const tabId = tab.id; From 774ec70fc3f2db03e9d9e0de1b6d7dec6d128b40 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Sat, 31 May 2025 11:19:48 -0400 Subject: [PATCH 16/26] Set icon title when WordPress is detected --- src/background.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/background.js b/src/background.js index 71bd8e5..9045629 100644 --- a/src/background.js +++ b/src/background.js @@ -6,7 +6,9 @@ const clues = ["wp-content", "wp-includes", "xmlrpc.php"] // updates the icon in the toolbar const updateIcon = (state, tabId = null) => { const path = state ? "icon_on_32.png" : "icon_off_32.png"; + const title = state ? "WordPress Detector (detected)" : "WordPress Detector (not detected)"; chrome.browserAction.setIcon({ path, tabId }) + chrome.browserAction.setTitle({ title, tabId }) } // detect wordpress in a pages From e5c562f59adc6a26b94bb1cc579671fc7a56cc54 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Sat, 31 May 2025 11:21:43 -0400 Subject: [PATCH 17/26] Added back onActivated listener --- src/background.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/background.js b/src/background.js index 9045629..adec5d4 100644 --- a/src/background.js +++ b/src/background.js @@ -35,5 +35,6 @@ const onTabUpdate = (activeInfo) => { } // listen for tab updates +chrome.tabs.onActivated.addListener(onTabUpdate) chrome.tabs.onUpdated.addListener(onTabUpdate) chrome.windows.onFocusChanged.addListener(onTabUpdate) \ No newline at end of file From 0adef64030d63c069d5666fa8e4786f49c6e4175 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Sat, 31 May 2025 11:24:48 -0400 Subject: [PATCH 18/26] Change version for local testing --- src/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manifest.json b/src/manifest.json index 376c3a0..6ddf215 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "name": "WordPress Detector", "author": "bensaine", - "version": "1.1", + "version": "1.0.1", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", "permissions": ["activeTab", "tabs"], "background": { From b1fba76045602f7aa33d8ad3907463ca39545109 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Sun, 1 Jun 2025 07:07:16 -0400 Subject: [PATCH 19/26] Remove xmlrpc.php check --- src/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.js b/src/background.js index adec5d4..8ca303b 100644 --- a/src/background.js +++ b/src/background.js @@ -1,7 +1,7 @@ 'use strict'; // terms we will search in to detect WordPress -const clues = ["wp-content", "wp-includes", "xmlrpc.php"] +const clues = ["wp-content", "wp-includes"] // updates the icon in the toolbar const updateIcon = (state, tabId = null) => { From 28b3de0f9c24898b154ac09fd6f9d5176e5ec767 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Sun, 1 Jun 2025 07:08:15 -0400 Subject: [PATCH 20/26] Bump version for testing --- src/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manifest.json b/src/manifest.json index 6ddf215..f96ef26 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "name": "WordPress Detector", "author": "bensaine", - "version": "1.0.1", + "version": "1.0.2", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", "permissions": ["activeTab", "tabs"], "background": { From fa9b5c024507d39add61bddd692d69e66b72fc6b Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Sun, 1 Jun 2025 07:10:00 -0400 Subject: [PATCH 21/26] Remove about:newtab query --- src/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.js b/src/background.js index 8ca303b..91e00bb 100644 --- a/src/background.js +++ b/src/background.js @@ -24,7 +24,7 @@ const onTabUpdate = (activeInfo) => { updateIcon(false, activeInfo.tabId) // get each window's active tab's and detect WordPress - chrome.tabs.query({ active: true, windowType: 'normal', url: ['about:newtab', '*://*/*'] }, function (tabs) { + chrome.tabs.query({ active: true, windowType: 'normal', url: ['*://*/*'] }, function (tabs) { tabs.forEach( function( tab, index, arr ) { const tabId = tab.id; chrome.tabs.sendMessage(tabId, { tabId: tabId, text: "send_head_inner" }, function (response) { From 5033bff7210546fe5ac4d288ea26335ecb944508 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Mon, 9 Jun 2025 12:26:27 -0400 Subject: [PATCH 22/26] Update version --- src/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manifest.json b/src/manifest.json index f96ef26..6ddf215 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "name": "WordPress Detector", "author": "bensaine", - "version": "1.0.2", + "version": "1.0.1", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", "permissions": ["activeTab", "tabs"], "background": { From 487ce7c1f58d386b3664ac239ef4ec124ef4878c Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Mon, 9 Jun 2025 21:14:49 -0400 Subject: [PATCH 23/26] Upgrade to manifest v3 and bump version --- src/background.js | 4 ++-- src/manifest.json | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/background.js b/src/background.js index 91e00bb..e0614fa 100644 --- a/src/background.js +++ b/src/background.js @@ -7,8 +7,8 @@ const clues = ["wp-content", "wp-includes"] const updateIcon = (state, tabId = null) => { const path = state ? "icon_on_32.png" : "icon_off_32.png"; const title = state ? "WordPress Detector (detected)" : "WordPress Detector (not detected)"; - chrome.browserAction.setIcon({ path, tabId }) - chrome.browserAction.setTitle({ title, tabId }) + chrome.action.setIcon({ path, tabId }) + chrome.action.setTitle({ title, tabId }) } // detect wordpress in a pages diff --git a/src/manifest.json b/src/manifest.json index 6ddf215..de09f12 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,12 +1,12 @@ { "name": "WordPress Detector", "author": "bensaine", - "version": "1.0.1", + "version": "1.1", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", "permissions": ["activeTab", "tabs"], "background": { - "scripts": ["background.js"], - "persistent": false + "service_worker": "background.js", + "scripts": ["background.js"] }, "content_scripts": [ { @@ -20,8 +20,8 @@ "48": "icon_48.png", "128": "icon_128.png" }, - "manifest_version": 2, - "browser_action": { + "manifest_version": 3, + "action": { "default_icon": "icon_off_32.png", "default_title": "WordPress Detector" } From e8bb308e080a4fb9b11097a29be9b011df12c62b Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Mon, 9 Jun 2025 21:35:51 -0400 Subject: [PATCH 24/26] Add min versions based on support for scripts and service_worker in background, set gecko id --- src/manifest.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/manifest.json b/src/manifest.json index de09f12..67e79f8 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -3,6 +3,19 @@ "author": "bensaine", "version": "1.1", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", + "minimum_chrome_version": "121", + "browser_specific_settings": { + "gecko": { + "id": "21a16015-26a5-4449-92ae-633e2b960be7", + "strict_min_version": "121.0" + }, + "gecko_android": { + "strict_min_version": "121.0" + }, + "safari": { + "strict_min_version": "15.4" + } + }, "permissions": ["activeTab", "tabs"], "background": { "service_worker": "background.js", From 34ff37729aeb9c4281988374f1f2bdba2c3b9c30 Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Mon, 9 Jun 2025 21:39:40 -0400 Subject: [PATCH 25/26] Temp version for local testing --- src/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manifest.json b/src/manifest.json index 67e79f8..abe6227 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "name": "WordPress Detector", "author": "bensaine", - "version": "1.1", + "version": "1.0.3", "description": "WordPress Detector will detect instantly if the site in your current tab is made using WordPress!", "minimum_chrome_version": "121", "browser_specific_settings": { From 76a5113f5c2317fcdc582455f940916f62f7375d Mon Sep 17 00:00:00 2001 From: Jason Schramm Date: Mon, 9 Jun 2025 21:40:33 -0400 Subject: [PATCH 26/26] Update gecko id --- src/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manifest.json b/src/manifest.json index abe6227..7718305 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -6,7 +6,7 @@ "minimum_chrome_version": "121", "browser_specific_settings": { "gecko": { - "id": "21a16015-26a5-4449-92ae-633e2b960be7", + "id": "{21a16015-26a5-4449-92ae-633e2b960be7}", "strict_min_version": "121.0" }, "gecko_android": {