From 9f79f5439ce25dabe12d70648a70ad806c4c28cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 08:49:26 +0000 Subject: [PATCH 1/3] Initial plan From 0954e9aacd52eccd565ec9df31c853f5a0d0eddf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:03:25 +0000 Subject: [PATCH 2/3] Add dynamic release loading from GitHub API with blob URL manifests - Create bin/boot/ with shared bootloader/partition files - Create releases.js: fetches wled/WLED releases, generates esp-web-tools manifests dynamically as blob URLs, populates dropdown, with sessionStorage caching and graceful fallback to static HTML options - Update index.htm: add releases.js script, call loadReleases() on load - Static options remain as fallback when API is unavailable Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com> --- bin/boot/boot_app0.bin | Bin 0 -> 8192 bytes bin/boot/bootloader_s2.bin | Bin 0 -> 13536 bytes bin/boot/bootloader_s3.bin | Bin 0 -> 14768 bytes bin/boot/esp32-c3_bootloader_v2.bin | Bin 0 -> 12144 bytes bin/boot/esp32_bootloader_v4.bin | Bin 0 -> 65535 bytes bin/boot/partitions_s2_4m.bin | Bin 0 -> 3072 bytes bin/boot/partitions_s3_8m.bin | Bin 0 -> 3072 bytes index.htm | 3 +- releases.js | 355 ++++++++++++++++++++++++++++ 9 files changed, 357 insertions(+), 1 deletion(-) create mode 100644 bin/boot/boot_app0.bin create mode 100644 bin/boot/bootloader_s2.bin create mode 100644 bin/boot/bootloader_s3.bin create mode 100644 bin/boot/esp32-c3_bootloader_v2.bin create mode 100644 bin/boot/esp32_bootloader_v4.bin create mode 100644 bin/boot/partitions_s2_4m.bin create mode 100644 bin/boot/partitions_s3_8m.bin create mode 100644 releases.js diff --git a/bin/boot/boot_app0.bin b/bin/boot/boot_app0.bin new file mode 100644 index 0000000000000000000000000000000000000000..13562cabb9648287fdf70d2a22789fdf1e4156b4 GIT binary patch literal 8192 zcmeI#u?+wq2n0Z!&B7Ip%ZdwNPjZydJlFk*h+E9ra}_6R0t5&UAV7cs0RjXF5FkLH gk-)3}W&dyVhNuJx5FkK+009C72oNAZfWSu}0Te{nn*aa+ literal 0 HcmV?d00001 diff --git a/bin/boot/bootloader_s2.bin b/bin/boot/bootloader_s2.bin new file mode 100644 index 0000000000000000000000000000000000000000..ddb7cad66b0e845a936cf524a03f0a621ca446cd GIT binary patch literal 13536 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/#Hy=(hn9Ht>6GGO6{#CpL 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 W*8>k8`meLp`JFo^ufO%~ZT}BJLQ}W^ literal 0 HcmV?d00001 diff --git a/bin/boot/bootloader_s3.bin b/bin/boot/bootloader_s3.bin new file mode 100644 index 0000000000000000000000000000000000000000..f847291b5e3f4052d81b2a992ff0bff465942e8a GIT binary patch literal 14768 zcmbt4dt6gj(&ye>LK3c;03r(3n_wXLXhTp5RBM7RRja#Hg<99HK@A4$tAbnG;@8~J z#h`SThr5E?Zf{aqkxCWxvp$v_)96w@6BDzU{w_30DvhzlnmJn5!V3{ z)JZR8!wgVK7$iBQa7fm|Li@HNEdo6X zA@dpJ4qg(`>TUMCb*l^W*KPgxCi@Qi+U-CLqHN0ByiUruY$o>2>rx&lEXvzfl=8n3 zwP5qwjoa7R?-X}?QNhN09mvQOWMm>ZzSRKW9^j;6-nw<${x{rF5%$8Zs|z;et+%hv z-?D8}UJ)o_Uf#yF+c)MFfvz2(8uF7JTkUIa*X~dPiUK-VU$A9!;p#2Fv~Sy(x0OIv zkpI-`+k)6(jthwcbgA4x)oH?BF z&Ite%)67|`^9wc?fb@6B8)`selDK+JVc}|NCUA0tRnX!8Lo`q&N(%(EAeb7Eu5Tp_$odlK!~!4&;A--$QxqA5k0BzlF=Vz|8b9Fe5)Bgm5h6Z2AjU#j z4Q(?Z0k3Dx*mhkMXG=KYz|%p*xdS4x$OusYdr-#4$B4zIB$f`)SJ5P5IRIlg0J#Hl zkk4jFAml2b&T136mHjqvtEJJ5z;~fG>n;LC7hSze~IYRRTF!m&Q8!zV!Q%Xr(@U& zJ$fc(tEk;7TDOX=97&eJkAdMgi%uPfb%v!O)2$^v2BO^{rfd+Cj*adr5ZgA0&7N#e zf!H&a(H4j)1ptrea)@o~0RFIiP^^2L@Xune{D1xMtIZROKL>th+LEeEgcz ztEM%?K7rJ2C;C0ao=@yn8H^}*WqQ({TyjK-pKZ+hRkS$y2mpcc#}F*oHY22`?HmXZ|86GOQ^ zlur)j387pU%C(`K3+0nS`8}b0VknOf<#EB>Ize2lz#bWADo$rQV;v{Dj=T{9NmIaB zqeM0;*r-9WbVi>;>Q<47y^ERrwRCB-IF0Fp{HSPpb1+kI${S(F%*rF6n<&(XeQp@9 z6c3sot5k|^WzG0nO=Y-P;Z{q(Tp3k&nGuBO3%jXGMy#hQ8r04P?hs|a0#K$Kpkkn& zI;k0f_pBuRaDY{UAhim9C{R2ol_vH=cYh8*cliy!>*y0<9out2M9BG@fy$c!z%nQn zt15!aR>AiMstyndSbS{+sQp)<@)}~gX?9YD8#PjfE6`0>ei>kYiZXwJ%@WX{TF>AFox%w`sk(3m8&9bus*TUIHej2? zynra<$Ne?qZdF~VA^G#y3>pm<2(X$Ukm+@@+e6c}L#tQOuG<{uzd*ohQ3U* zW7y(mfkIf7gg1tr_zl2XMj_~V1WoLPHESj90=XzCTK~kcEA8Dh9*A)I-U*+*vgaRn z!x8y;K!a57IyZ^x=XaPLBmbqM(8gJz*@mIb8w=5Oal~n-iFPdQ1{WDFtvnd z|L_Oc`B5#SW;f{nPHQIx>S=zBGzhkZ#g2PEpxIH=Rfxha(tiL%LEb@{p7-gL$Uwb} z&q10NKxNC>33V4~0A)*TMg=MDUDzG&Tdf@XScr{gx@|$=Lm3-!!MWYfUbt|J-Tcd6 zn@lXTt2*hz?=`1uduuiOU-ByDCS@25*x10Cl!{DcxHDBFG#V|bT$+lBJJWtH^1>d? zX?L$%v->xh3YAHrbk5fp=W`}S#8Sm5lB%)HgEH$(rGO+;F&bL4=W|OHV@Qt1@)Ibi zT?&mehbp6ZJ&Gl4;Ji9w$>I1(SnZY(H^oMiSPPl&v7A=#R2`lQmmD95jr;`swVmJu zp@@&gGF)wTvkV4%^b_vryPQ{$*R|1>gIsqQfpJHKI39fNOvfz|=Skb{*Xc;l-)Zj} zQUS{WVV)!Ywj+KvLO9pT|IrUjCEZy`Q?vh~K(!08(7%0>3=Vr*FjRA#E!1uwq&)E`j=?74)8R!_U%tJn1RPT74eV0!96L27VrAF4N~}tlN{Ax;@MsmA6gN^9#oF zrN8YgEwnuk zGP|9T)=OQZDCJFm_k((RzM$bWJ%Ie|pD}Ik`oud{KD5q1qKWtN9jzU?>V1$V89n(TSY&%x?&tCRWAoujOL z-fyDx!EODzzc-bF*81D6Lf!VBPnde1Gwc-__4a=QmQ@}LLg0*s zmNJ=%;`kyIuTiG|fbkqg4fTA$c-z$a1567AHjhaguKxpbZi4-J8CXJZF~Zj}q1h{V zUFT)&D1I-}3SUR@kNKS@je&=Q-l*eJe(&dh?@#89CiSjru#W7HF-hCTG}WNePN%XF z#?vMGH6W|t4XZ1}{N=HA1)yPR&0vOW$Ec$cqg03IB_?PRQzrnFl^L&O8#$5%W-ps+ zT$4?pJP73ku#?!EAwZvG@8kNr{rC243ztmDb6`uV(%+kV8uIgyfZRsl2mZhU2J4rQ zts(#64XDe|j)(l8koqBA#|Q)3vX_ANI?{u=jQY?6Howry-2v8cf(h=qi{ z0UWqQ0e!KYnp^@u;})cPpy?II*lOa51^o}&2F5ZZ^f?HbOM+etnLT3v9|ilr6>NX> zKhPHdoY@@M(8D0lMo7_67T-WAfzkF7tHUC#pi z8jMXnkyxgH|8xM71JYBFW&mstYYd@|dz2FeR~Vml5z2%$j_e(@@l zXGnE5)US&sn8RC;3LrfLi8#|hq6eVgPSD+7=I#PmH1K~j*w!jO8xH@jhA7H`Z|576dS_b*tQA5kK_i`S5U%$naZ>L~fOHhbeT3#<+&EsC zs=op6FCejz#L|#W$iMz2imPC}4oF3if-xzWRgl}0@nJU5{|3@`qBu7oif@ZV@{hs^ z=?2{e9k@a0G$2K|oHBA1`msr49u4h4HVLpk!%3h>>vO0Z1$hhdH)D`KAQk~`JS23H zKt2Yr=R)#XqG%ExK>>(xmTqEG!`#|nURlty8j=m_;!RQf9Qs3FY8Z4cP8tvwPk{9X z{MP5^=aX)b^Y~j#G~mZVB2Jmj226KAy9kSp5a+WXyHoNhw}Lz{QaGnu=xKBnWnAAp zx=Smz>BMI5gC4C|C#Uu`kLu#Ywut~)P&x$U{6x_sS>OYPRxkw}ZE<3<21`5O=Mci` z9qh!`pjqd@s=F;({4_=c^Q$cqekFU)9c&nb(2xb^W?6~2g*CQRb7!dT2K6cG=xNCU zl=$pul8X_kwp0qNE@KA5)3MKmv2WMXSr3pDF<_RNWaBe_V!2cT@J@$yIAFX?SHZ94MG~WFBeF&Rz}grXb_0&wSVh-qUd zc_$P8SBL^5lnlQO`tJaTEpL&{o?!14v3+N#{la-pvMH~NEZqDshLEY-^Nsj}sjL4+ zL{ql`?5kTkFTqhw_)EN;l|3da{X`^bzb)^$4qE|q%C&PRmW}Sp545chcya>G-YWb1 zke?ETCs)nAkl9r{rl4awchhDwHOLbp}{K^2CqJf)OaBg>k%k@aW z368T)GP2=bO<5GsB@i$S>n0M23zRQHsR?1@;#K+qPzTTulg2(R?~LyTX<&qkO*R@WyUq7AZonvK+tgYgKmO~|uY&!L4tNhw0zqpO;CDh^tB@)iRU_3(dB7{Q;!u<$ju(yv zWv2oj3LQA4#jOb5YCy8S?!W{*Fps_ydxpWVghLv2)92^bSU7IP9%_^&Mly*yc49Bz zi`JIhk4NTpEN0>9i8QUpG?p{%u=V(_5iZ%NT*db1LB08BXE|$%oX(>Bk4C#XzhTF- zAMZNNy-0V+$>IqIYn86fuK>1RJ|wPE9jsNkI{(Fv?=$?Pf-4G*Ls}jv*I)hYxfZ&3 zh<_jZaGO|VoPmv-qjWa3a`#sYzb~mskj@Ukg-y8Fdqm_r5i@iafGx>oa&@B!ODF9g zZ7ynL?0!*rxs{C)5=ugSaVE|s8>ORJr(46hIagwr0Z_??Wyy}vup%k7u1fVvz{BUUy~-#+CTUu zeZl66d6|N_$elu9I#O!t6s5@2sM$A8T__^#`U#G78tZkk@ z#qRer-QC|W9@W~eZjr&3Scf>}UpI#HYq7-ASqv;R!bSq*7YNa1kqkZbgzI9N-$j!b zI{6%I;Fn9kk4R(+S0*+W50v2%183VNnw!jV2^_~o!?B%f3XAzwxFyrtJzuk7{$uh7 ze~a!W;V1bkv;5BOYPWLNIBTtjpNq^6QTziE(=km}KYP#OQRl;Zk8pej!rWAiru>~o z1)qks;v1#kh@?^Rl#)-yIzQ9D`&V0cw7SD>+gqP5EDL`qr}T5&L&?}`d5be1JR5`mB7F_TmqL}R^qI>Qap5N(D~dI zV?{LhTbCB}{6;)Cbe;i?(&c~VV^>lD@cQa91go?_lhe(_o*PC>vus^*#8lz}z97fEJ4#OO? z5Nf+4u=a`sd*DvAKT05owE;~q+{SwlRJm{1vu_wW$E!th*Oirfhdq0L1gaeNRQ?F` z>tWCGAA$A^d-jZga6ZeFxYck^*4+|WmHtt(h7Mz8-T9iX(&0}_hj-Fd?eSCcACsk1 zOJpsw^Ro5h=&VHI(4Eqr)$l7(J~&GrmE?SK*z?SAr{<&<44YrN(8xIhS@P-Gh5E6rBkMH48Ir&-PDxS?Cx9an6E#xbgC`?eY>>)Tea(lLysJd z;UTm0?q`m4n!g_r?H1B4Cw%U3y>j;upEKNV9@UY*q1)XKZWkB9mnxM@mC zdQ6p0na6iP$N<-Y@vyb7UCcdAEPv&uv0w?vdfKJU39*~s-Gs>AuuDM>JL1nZ3*ti_ zJ_fsrD=DKOq+=+{tE&_bJz*~tPtxaA5Et=@xXbNR;g~w50gSkw{nCXF{lM*{(@~iM zX^}k`snR#WDJo=^zzr}RV@i3X$vEtZ8typ&?a z)UGKih|wGp*+>Z66PJ>d*CfXNEUuyIEZ5O5x|GymM`CA6>q&L~nXjDA8BON?{7)+CnR5T}-%RJdbL>B>x5*GDRuWlQDPkS~>6GZaFg%Od4p z!r9jb0lztPZU&sJ6MIiaYQu(KGll7nyx8Fr?X{q?mvV(sD8)8 z4`T%m(HBK+pAQs}nMw3E(Ve$Ml^;9mq>NpFs&nPZ^?sltMn$txrc5H2 z;WcM|0(vbJ4_1H7(jDz!uYzAd__H{g{FO2GVlhTVwNQ1xCFgdtaZm;9cY|@ko^izc z@>TvBMCD)iRTlVQGt?^Nl2bk_k9Hji80T@js_$1fao%>d{vTpYMi`L4Ew(VQe8Nd{ zp4Fwbdh;wVtZ1RUT~yB}V)0GV+f0dV%#2~A>7wj^Lv^&sO0S}?o)4yc!Lpna98q+V!$>YAQG*89F)mOms5UaRcr7;8_B9Rta{lb^6$; za9#3Pk!&kCK$zT%q-&?IZKp5(70*te9s)lXqRU_GddAoGlrR1an6jQiAOBR4MB1On zxZEqGYpbtqyU+84uUXLc(8ROBcdoi!_>fNxBJx`>mrP=$!FhT-!~*M{0^c`bmu27x zGW>c86J`S7yxrG*RO9^hSk6ryZMHhkaGpG0^Sgfj7l_1<^*J4ua0lIMB`|e>U-@%i z@oDKK2KQv-Fy;&H`+P3Y45*_HvO)C({!V{X8PJ@`r_a9%=GE6i;qlJbtBgs@3|ayUJh#?-TCQq zX^}OB`OZgRLyNovJ~bdIV|=_CWimew#f%wgCu#XTq-m7TGfL{kejWCPJh#u6(l^x9 zH-sX>G5RfZ9dmk!4-6UCx2D_}T5k?Zp?$_QXCCd_ux`Cs-6Rg3KA!f9)YExc)<49i zuZBYX$~wRv)D8}%yg4)_DJfOc)IY?=oSy$+DxLK=k(J9o5L0drY5z2ov5S@OYNp}- zY3dDPG*hhHW-BT^2Qljy`MV*TVOu+VjsT_yLHBj%5Uf9TVmcjP-U5R5EEYGxGupY8 z=W^mpO!;XOd#mJeE`bsc2Xpvls@=krHc!)XtG1B#PikWi8Bz%uB?+OT%by0qZqVQBAe#o<@x4>jcv?XQAy z?mGj|KcsT?P@4?^Y}~#-QEUV}gf>MFvE!4@;KFrt(A~Az{FRd{_YQe}0ciV9t1GLA z_UpiPOv<30HC%A$LZ4GFA5Qp8SsYMdH#Z#^eLU>om?qG8RuvI$a!IlAs_?_T&cZj+9tE~iJ6q2 zPUdwUI_9tApNJlEM6G{~E}aTH3tCvTJ-|`lL?3ljU${_Y+oX>8ZF?JMYcHuVlzamr zp|VeJD}P{#fV&h^SLc0%7w zTK{?Avg%}IJ%66jzbo!kLCa~Gj)^lzm3vRjjMYs})3tNDb!kvYf_P;r(f(^N3*I51 zUe7cO-BTLaiPPAl$DQ_3z%}OM;d(x15n&_rzY*bTXCuHd-#!S+&oU8WzZ}S2sWk9l zxq=bJZ$UWR^{~I}5cci2=9=LRm#@L` zpAW|`y7=E=87!=}75rW-#D|n9N5w;x8Zm@PnBPm1!cz!T3O2In^6BB6oEsIR2-I0|^gWCTZ%+6+V zZ(!V@T!^0t|!iC?SraN+$UH zC_<>iyLm^k&sn6;a&(R;Ng#D`5nyC5MW=D8LlV`Hn0bJVV1>9?9|8do=QiI=@4w;9 z`!SByau>wpmtY6B&eb=V*)}{e&PX#zA)Bk73gW34A;8BgCY^ zJ0V^}eDN`3gF0J!Kk_=_r4A;I#1b&%j=L39OsI~XIHH1|13JcMy(!tF?nncj>s4lFPfm=wFQ$YfCM-%!-C)nbi82`y zwY>xI{=<#DEiH87G4eOiK1cmk{&C>k8sJ%li%81H-}Vcz-6J2kbOqstsX=4C z$}v@{CXQ4S!A6i~)PXUnDnsN*L!@MCLO(UY$7p0Od7<5voT!~VU`d5Qwc2RL^T|F?;N9E5E z^n>i2a0{YKs1tt4fLCxz_#?+7_~M*7sD?)w802FSFuujy z@@h8!qELVX+gQz}O%LObNxkNDbdIczqy6lX8(>Y00wY_JY!g2NarjsI**Itb>6U=d zUSSh|FT$to=KJ~}2Rq@Agy-#VhKM#U@`%(smUa!S`Mt2ID}vt%;A%H3D);qQ1mEEm zDf{~Qntr3sl~UcGEKAudja24@&ucgJhgN`Oqrf_Wbp+II+R5E=R(!v&N)h2M{%BV^ zHL-V^OCAXBwK~6;l)-WP+bf!^!Wn19nRaluUaL~M){;X}wF$|oY%F?Cs~}_^>k@=r zk>jca@T2xsU1gKmSg)rWzx`tiz!YNB<@lHZ{iZyQ{VtGM7DXpU>&oXRPF?~l7YBlG z!Z5tJRO9aUh4i7wbc{d_i2Toyz%1=-7=ECooA|eIdQ$H1XGa5=UBYe*P3!9jhv_SorjP3RP6Qr;%D|7Q#H<1wL2y04qa7FMO*3wndXp7$w z;FFJe98?x6toQW0q~!pHDh>3AhO5@h@Ui_+cO4+1uK<~piT&wHfPz$bAb2ABi{AxI z>Dyw<0*;TsJ{Dph3l!eNM3|4v7NT+&C_G{PP)DaK_#KJDs_Ji~7blb}49j*b> zWMa&SzI5`WuHIySSImzZrM=dNT}F<(Lc@C*4vFN)8WN-8t(*H?4Q~W#f+{hsBle5p z$w>P#vEHP=B6i#qNxtD-ub|-niXCd-LHTHDQbY3nOoIOz<)fup4a&C=!7!;B%&~h0 z)DMG(qI6og8SUvlxVyE#gJ0A`8KZrz&)VL%kjDHq6xmH%+-hq@pC$AGyd1(hI9ASi zi|90*f#Z)N+U%6nC_-ToSMF%&&+Vh7WvH1PJv0%%7-~e*-p!eY4Ys)f!`{1%eX=L-u ee|u%-d%8clpQ&E)DN{B5nfH7(zq4Ka>VE(!sm2)q literal 0 HcmV?d00001 diff --git a/bin/boot/esp32-c3_bootloader_v2.bin b/bin/boot/esp32-c3_bootloader_v2.bin new file mode 100644 index 0000000000000000000000000000000000000000..68c7e58e6d18050565acd09daad7cec227e5e428 GIT binary patch literal 12144 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 NVMXz`XKL3>{C}j}F*X1I literal 0 HcmV?d00001 diff --git a/bin/boot/esp32_bootloader_v4.bin b/bin/boot/esp32_bootloader_v4.bin new file mode 100644 index 0000000000000000000000000000000000000000..df4c55be2cfe1ace5bc14872f5857d72878fc8ad GIT binary patch literal 65535 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 literal 0 HcmV?d00001 diff --git a/bin/boot/partitions_s3_8m.bin b/bin/boot/partitions_s3_8m.bin new file mode 100644 index 0000000000000000000000000000000000000000..e22aac8c2e8a5314485529a8ac9c8d65e6dbf996 GIT binary patch literal 3072 zcmZ1#z{tcffq{V`fPo>etQg2Z1*-xW85kY_#S|DA@=Fp^5=#cssSoU zEGRHQkpyyp@`4NuiZFRYOnJs81_no0ZH3e9D3YU`(GVC7fzc2c4S~@R7!85Z5Eu=C(GVEn GApiiD1wtAC literal 0 HcmV?d00001 diff --git a/index.htm b/index.htm index 34fc083..1ed3776 100644 --- a/index.htm +++ b/index.htm @@ -15,7 +15,7 @@ - +
@@ -156,6 +156,7 @@

Welcome to the WLED web installer!


GitHubkno.wled.ge + diff --git a/releases.js b/releases.js new file mode 100644 index 0000000..a3edf47 --- /dev/null +++ b/releases.js @@ -0,0 +1,355 @@ +// releases.js - Dynamic release loading from GitHub API for WLED Web Installer +// +// Fetches available WLED releases from the GitHub Releases API and dynamically +// populates the version dropdown. Generates esp-web-tools manifests on-the-fly +// as blob URLs, so the existing setManifest()/handleCheckbox() logic in script.js +// works unchanged. +// +// Falls back to the static