From 81ab481f440a3258254dc2e40bae5a5ef26b845b Mon Sep 17 00:00:00 2001 From: Ryan Galletto Date: Mon, 25 Nov 2024 10:30:21 -0500 Subject: [PATCH 1/3] Release 3.6.2 --- package.json | 2 +- projects/ziti-console-lib/package.json | 2 +- release-notes.md | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a9cb36fd..66793f61 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "io.netfoundry.zac", - "version": "3.6.1", + "version": "3.6.2", "description": "Ziti Administration Console", "main": "server.js", "type": "module", diff --git a/projects/ziti-console-lib/package.json b/projects/ziti-console-lib/package.json index f96e508d..e9f0865d 100644 --- a/projects/ziti-console-lib/package.json +++ b/projects/ziti-console-lib/package.json @@ -1,6 +1,6 @@ { "name": "@openziti/ziti-console-lib", - "version": "0.6.2", + "version": "0.6.3", "repository": { "type": "git", "url": "https://github.com/openziti/ziti-console" diff --git a/release-notes.md b/release-notes.md index 3279e505..fb6de33c 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,3 +1,16 @@ +# app-ziti-console-v3.6.2 +# ziti-console-lib-v0.6.3 + +## Feature/Improvements +* [Issue #548](https://github.com/openziti/ziti-console/issues/548) - Optionally delete unused/orphaned entities when deleting a Service +* +## Bug Fixes +* [Issue #550](https://github.com/openziti/ziti-console/issues/550) - Fix filtering of configs based on config type when editing a service +* [Issue #546](https://github.com/openziti/ziti-console/issues/546) - Fix download of Certificate Authority JWT +* [Issue #553](https://github.com/openziti/ziti-console/issues/553) - Fix synchronization of pagination controls when applying filters to list pages +* [Issue #544](https://github.com/openziti/ziti-console/pull/544) - prune and ignore hard-coded lib version.ts file + + # app-ziti-console-v3.6.1 # ziti-console-lib-v0.6.2 From fc0763fb841725cc389be7801d1efb0f6e9cf627 Mon Sep 17 00:00:00 2001 From: Ryan Galletto Date: Mon, 25 Nov 2024 11:11:37 -0500 Subject: [PATCH 2/3] * update font file with latest fonts/icons * init API versions when page is refreshed --- .../src/app/services/node-settings.service.ts | 1 + .../src/lib/assets/fonts/zac.eot | Bin 36412 -> 37400 bytes .../src/lib/assets/fonts/zac.svg | 4 +++- .../src/lib/assets/fonts/zac.ttf | Bin 36264 -> 37236 bytes .../src/lib/assets/fonts/zac.woff | Bin 36340 -> 37312 bytes .../src/lib/assets/fonts/zac.woff2 | Bin 17288 -> 17948 bytes .../src/lib/assets/styles/icons.css | 3 +++ .../side-toolbar/side-toolbar.component.ts | 1 + 8 files changed, 8 insertions(+), 1 deletion(-) diff --git a/projects/app-ziti-console/src/app/services/node-settings.service.ts b/projects/app-ziti-console/src/app/services/node-settings.service.ts index ade79671..fae84e29 100644 --- a/projects/app-ziti-console/src/app/services/node-settings.service.ts +++ b/projects/app-ziti-console/src/app/services/node-settings.service.ts @@ -152,6 +152,7 @@ export class NodeSettingsService extends SettingsServiceClass { growler.error("Invalid Edge Controller: " + body.error); } else { this.apiVersions = body.data.apiVersions; + this.zitiSemver = body.data?.version?.replace("v", ""); } } catch (e) { growler.error("Invalid Edge Controller: " + body); diff --git a/projects/ziti-console-lib/src/lib/assets/fonts/zac.eot b/projects/ziti-console-lib/src/lib/assets/fonts/zac.eot index 5065cb0c8f95ac1292f74b224869bea2f29c1b39..88cacf9f45517c814d2e47459a60cf177797cc61 100644 GIT binary patch delta 2136 zcmcIlU2GIp6u#%)nL9IgmYH4L?k*HsXz60N(*N!jm!C#RRahTv0F_{1Q?@O(%NC?i zEx3^cLrbAq786POKmsVD24h3w1DaxDf`%G3k%X8SL?4hCO)46rcI%m+CZPE9pp(q( z_nq%M=bm$?oqJ)FzI2N6&{0Bm<#Ie)F`?huNB(pfWE*KG8Is03L$>Fhs4@Q-8VUK< zVBQ71x3s5|y}=Eip3l8KFS~bY-Vh!&d zUFlu@7ayN4AV)vB+>>cfp6mR41tBA=k$0t&{k>#|q#=JD`GW1qbn5sT?N{WNag7&x zGf(d#3>A{I>MbCQ!DN0Ntc2?PF<6VwYf$^Z^f)1GoKQkyOTjYZ<6p&8%f|-U_*fe~ zt|}Heh-6Y6a7Y6i&p&t1v^*|h{jvT27iHUX4N1w|_qk0@Ai23wfs8~H z;rixE$CW@byFDk_#cv`x+nI8dSFr0q_nTv|qqx$~-Ob=u%tzDr*`w33 zXVebYu|sm<5v^3ys0rsj;U3Nz^?Tr6-7g0`=4>|K2z4Z;K2CIGI}*@rghEE)QdK-& zMQf|#L6Z)@Q%Go3Qx|FQ7EsPTn#b?g3*UO?(4e^r&FdfR?nux`q9bIO!Fbiwl}J1u zf!B->A;y+IuX%q+JhRObUnF^Ktr`dD2o zisfQatAf26E)_wqwN_1brk&bAQA2HglhYMA;*915Z|k%Ivzr>DalqH%=l|rMkQG_h zShcDuK{c{LDN+UF>#ZPDvjV;=44NS!bkKDXGHD%>Q6a#q2|uNyl(VS`Nv8ItP}rlJ zrVd{-!JBv9AKww>g5m$W*V`Pfh=lZz9*l%5mioMG>j2XfX%?pdvPV*c)S{|tKy9HC z9pC{)u&F_-gX~}QB>>L9svD-jhf!$xn+XJ*pukxT7FX5CvqI)L;2uerB+A$|Va>#L z&k706BeYR5$H;jMkA9SKItti$mdf*NSfpi1pJc1WsfqlBvRR0TmGZ|#sVhYWR z`)U@xpK&d-n!eqJ`{RBctuN%hTl&OibJ>qXm#irHD)rd0ncwL`zV%Q^*7|Tu4_oFt zt_CN;iCHBr{y*HQ|EwtMwFkMQ9{UAPjng=3%kWmQda||6p0go;cDORD;6TpQlqh72 ziy7jmizUQ;E|!T-id@VwzShNp%q2s3d;uPCKnzqIOc8gwm?2*7VhQnH3pZhcOacVY zJ3E=9(B@)68p)|`?U{5Yv;EFPJU?)F;kvsjcMZ0sI{SK(JF##IyXhl6BuRGO)tSG1 Gxc7IIa*t;K delta 1163 zcmah}Ye-Z<6h1TO?wxB(mMChHu|-cYQ!F2;C`D0JP!ax+La*zp*1; z{C0rLZ6Q4?`RdQga`@-bp$SZIhs;%CigqW)Y^JTq9lK zGXs98)uI4S&L!>IZ~8pTo6ePzPNzAF{k4bc04V}(ttt+PY}~3~g)G(TVOyyE#?sfR zI6WL7JC`Xo*(mZK&wz&TAO`WKEaztp(GdQOt$0RqXNw^QpbazmxYZsTc8qF(-SSl2 zX@_uyM{oo$$h4%Vx+nt|UcfRr;X2@8Dbl-iy}@*OE3Jczgz!WBguQZO#!;LaOTJv~ zbT|fSu$yu?cQl&i$%mWX%ytZub5Wiv4x(5VeunSyzDy~(f;tEa9G36)#Bi#Lfxj^z zzn88+(FMu46-(tJcSsZQ;aB(>Z^`>r9uy@IgO{+^I4DtC8QbM zDF!MM;T)o2z0HyQm5Q&SB#p!_JK%tLh_ks)ewNK=!D^^$GTo7Xgq0aum_Dth$xcsI Yz1KVlJHZ20P!C@EpB$WyT9-rqKNwBscK`qY diff --git a/projects/ziti-console-lib/src/lib/assets/fonts/zac.svg b/projects/ziti-console-lib/src/lib/assets/fonts/zac.svg index 9ac28667..be907d1a 100644 --- a/projects/ziti-console-lib/src/lib/assets/fonts/zac.svg +++ b/projects/ziti-console-lib/src/lib/assets/fonts/zac.svg @@ -3,7 +3,7 @@ Generated by IcoMoon - + @@ -52,4 +52,6 @@ + + \ No newline at end of file diff --git a/projects/ziti-console-lib/src/lib/assets/fonts/zac.ttf b/projects/ziti-console-lib/src/lib/assets/fonts/zac.ttf index 9c6c079766c8de9bfbcba3b5e17ceb17385389de..8fc4b45d4405be6c4d9ba5cdc7becc50b2fdd92a 100644 GIT binary patch delta 2155 zcmc&#Yitx%6u#%)nLDp#W?Qzqiv`N7i%g~6zIF>MP=r*0RU<-uM1i$WWS1?E@(^&9 zDB1!xWz~e(AB0ClMM-SL#%HFZ`gUyhki@VBlllj;ezetm`zn2dN;S87WS zKK+QrQ|(Ic?A$#%xgYTkLJl17?nt%U(cg{{@`ljIx-p?@(gMV*5YOt)Y~6A0$+040 z)RPP8Y}?}0>8@`V5;Cw96Wy8Ajvlf}(h#3QJZ)nt({XsY_9x;CxX8Yq?3S(AD2_o< za2jFk`e0!ZR3CyBP@PXg^ntMgA*?_sA@O;_n(%j5IaTObA1e%>g~O^M!0QOs=&!n< zo)z*}OULAbg!PB7O?*psG?x+dPx_oY;0S`&X`5sq!{;lPsQBDe^S(1tJNcn+CU}{ftNUE#_o&?W)ccH&x$DNBEph7=k$7b799NY@@ZxiW zl2iODf?!vN%e;$S?|r_{A+BIty5TWgseMBecop+U)Au>n>1Rlfq|+`qheeiWzEDsc z=zWHcFTZX3C2(q8LcVn;xGRb#*X*fP1mo<^+pm-`oO$xK4*^iu7l$0a5Zuubd^J-^ z3%->&m@qpMi-R&FGP@dPH^l0v*9FU1fX_svU|53T^cj)H5|45q$8->tF(+Ni_RGbG zwF*t67M%Wy`#5Jb;DdXOfE@H$rEH2B?o5t;ne5DUCZWj;ht1;oszjoSMynDbiyrv2 znAE7I&eGsxpq%?OUm#!g%FwwISc(NQLdOUGlZ^C(O9xjkivEa zOodPx8k`YX01c5Es0Oqy#KJC4clHK(Byi?TheCD=a3n)GKUf#9jmNNDJSHkQtKm{M zYQ;AG32<{PB*(Wne(8!O*WVeGHteW&5!$P6@ML9fK6i4(}Nh{g1!qyIGv!t%go+Yn1(gPEU*#^QZQ=2bNxMS?L(9$Ab^AH5@cQ zcyMCQBp-Pj07Sv8yBQSYbzaOcj(M?!ajzH4c=?ujF~|H0FV@LDq#y4(z}pariHsXl zjJv#;VZ1=Zi%}#Y*zFNA2@<>YE4^4J4dnRxwrnPw-ALAxHj*V7{AJ0;{7(m_ iueu|1$K=Y6uHJNNGZyZ^ZhA?Yq{!wwD)UVTd;SLQu8AA~ delta 1168 zcmah|TWm~G6y4|UJNI0zSF33eWF(a`DW*uZs%a^SH}#lAgZ7$ErvhnY60H{(@x zk>W!$Kg1&>=R-&}gAzW35X6s^L_#BeJpQ=$nYpTePO{EkYwdd;`<`>Y$CS$#lvZE> zkP5p2!M%Ld)M>-gwT0w#5vsgFBb4QNApqDI(yRSOLx|#V(lYA)Ky%H~i{lDNM*yN3 zwLYUd`&PkxfFs8!pI=Lco~jm+?jfCB8*Gf+zO8qY{zSSbQ0JXvY;HRJ1>op4GOB|{ zBm{NpAb?}E2spPILEprd^OdCCw1_8E*U(5CrFQ(V%md=L_IL@)J;fHYTyqI?&y`7P z3c$=lSz4k#8UN?$5Vl@o6mN)bc24JEs}B$3S+ODIfX<)7ah$GvGyBpl$9om!Ah}fW4p>Tt>@T>H$|r3hr9yP@DkRTdpAe>Z}wtDfg9o=IcN}XC-i2xu<*)i-J!$D-;<`>l6)oRZvcd?cukK_VobY z;$7isW-8V8hBg@!8+PV#&a58VWtTX+KMh&2xP0h3W8K0Noyl6|Sr9hX{JdH@Z1xXG zRppUD@1^FC|Dx5cF2p!#T^?Yf(HM+daR60bOW7w*HIYkpdC8fQLJlJxmYyA-O5RGH z(>7(Iir^ZcrKb_H2#Em$azz7pj?Lw_9fV9m1z{vX5NIA&N+?P4#3l-fkCzL`!EymW zdOorq;*3x%J#$`L_3%V-c`Aoua_GjIM*9f!S=-=NdFhjdE5Kp4&5<61%jWdsq1@&U zdeMVyu8}|8<|!~5Do8VWVhm&^$rTt1Wj06hC)->lzFP80G{6CwkYOh@O61!-1!h2F pi{XV9Fu-fJogDA(SN&wA&)*a<>R~1Lzzb}`U8W8;>`d6 diff --git a/projects/ziti-console-lib/src/lib/assets/fonts/zac.woff b/projects/ziti-console-lib/src/lib/assets/fonts/zac.woff index 440c488c6371384201b26c37d80d22fabf836108..89936fee3ac75e81ebe11fd0ad361928bc038cb4 100644 GIT binary patch delta 2166 zcmcIlYitx%6u#%)nLAH*wy@n@th7*Iv0G`kuie5@Xuwp3RU-jJqry_QEz)Iqm4ZMv z5=2|TQdf;=e>4=LVhqNHf0`^r6EtF!#3sZ)fc`*ZFhMj#?XKs}ObsUZ_@R@WneRK_ zx#w|bGWW*oG(ST9y$`ju5g>RC=80iHw-d-+K0IZx%AZ}@o=$Ei1iDaIAuO=!!s*WB zHsO08x$2s?vwK$u`aUG&&~agV#_#O!N+s75@`6|!6&8;CIMRhq^bI4QB}~<%mag>n zo#?~0E1nRbkOaNr0!M1rnUonI|XCwF4uft$#u+qOm0HYL+3LXHHn_yJ)@ zmukOm&TQL`^9=tH#}F}gJ!irqsL3T@8Qx!o$l_ui{dqzOiOsY30B`@whjSP6tdHeK zb$V1)1bH6GN&Q)eG_ZUwI;AM*CCooM-}ka?$6P`(HuWQJlVK#srf-pfjQT=LRD7(i z8KAcGElSrS&oG-{uF)NhhU_LgFz>PlW4rGAa+2#=ysFQMyn>Mz9zDr;(W$%di4rGY z0fpDrR5?)zB%iDsl(8F*vxTdOpWOH`R(f}1Gq@RZ*ShbvN2g~| zu1t43NDXk!zcSqYciYW33epLKTmXII}*_B2?jld zbJg*9HH}oq0~S5>K_Q`0O`WB|dq6oiHPh!a3g4SkX~0^7!7K0G*pZ;&L`TqL1>)7? zW8ru_3~zhz+f<4L9OwiNR6!mi`^cN*92p}&<98PZ9HBoqMeApv>{U8PO(1k~^wyx!)}>~PQs8i8njX`5k#RZ%*m#!8^tXOwAbWLfGF+83$>;a`B!$bSGB7t> z)mB#K)g(#tmX)rzyFS5%n0-z%r<7z3$2s!Sx-OX-I=G?FDkPRk- zOj|8o^Wwf*g&!uO7Ko;A4a5DxKd607;2(1D4deV8Yr#*%kc5|foqFV@iD$8pEA*FV ziv>cY`<-*ej&W`c&H{&sl!E^cmio_8H0w=wBaJ}!I>ut;JIUDfz z)?!aa#p#*L9x}5Ea{FAtBSs->UCaftp`j@#_CwGv3!U#wjdOWB& zm?G|UF+<$qVhQmcftzrFO#EcJD{vH+yI3cU=x|3TmaSFTXA>AZNw%#@}xBu|w-vK?nlW_n5 delta 1167 zcma)5T}TvB6h3#(?9Al$CoP&mvPET@g_4-2q9{d@m5NA-wXVAER=a7bt%@Q2x0RZV ziP=N3Js3tL+=nns`mvzE2D=8>>a7dkobUV2xj$#_%$+OJ)J4hW z-?nihFrd*s1=di!+GShSmS5#_)&VdNStSC|rQ_V~tQX!eY0boZx3{^5yitIFO<>EV z*ffvJSq*Ud71g8)EW4Su!9ym%nfaub320V1!{cjcA}@tB&4`U;uCM2gLYgiebZAH z7?yW3;3dA^cHW}ejY*uu%lt*m14XR>J6^^L9<=Ybumo;fk*6_*Z(q|XsnNzA{Di~& zYtmtyUW*@0v05w>wAc-PBK_T5mcc!np3kwoB`3&pO9QCJ84vM2-s0ms22cT&60Q8m z&PYjBK*QhI#QPlasP@8QEIOv^Qj~Jux z+FQgpAKaV96n0bw_DlcjP1INp?3V6HclD({ug0>WTe>TK;XS@bDof`TjpdR8lQKvh z{GR_cqjTNI*La%;o0&|#y`)11`M{xMRb|E~opPAJKNg8Bi%*@r&e#YK2G+6V;u;8* zH9xL7=4E~ds~ozM$^PaKf`p^q(GlAwq?|8`{~5{Q31N?}7fAbsXT~v;+s!Ea3PQqP zT6hW}nlN22Jb?@|?i3=<6r#A75Je~>EF^FO)vz2wc9@42NH@8dD>eY6FPj<>>oG!> z@bq(?)k>(hWc_z%e4F@;!<|Z?LZ-~c4H Wod=*8T;PUA@KWu8nXF#eRrd$6Gv{Cc diff --git a/projects/ziti-console-lib/src/lib/assets/fonts/zac.woff2 b/projects/ziti-console-lib/src/lib/assets/fonts/zac.woff2 index 84b131ece09ab1d44628a9d01ca89314d41721b1..939bd2a5abfdf6ba448efbe8cfd4ce745ac94d17 100644 GIT binary patch literal 17948 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 X0000006>x?No5!qGhxasIR^j$@~x;k literal 17288 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 diff --git a/projects/ziti-console-lib/src/lib/assets/styles/icons.css b/projects/ziti-console-lib/src/lib/assets/styles/icons.css index ba647693..758e5d9c 100644 --- a/projects/ziti-console-lib/src/lib/assets/styles/icons.css +++ b/projects/ziti-console-lib/src/lib/assets/styles/icons.css @@ -157,4 +157,7 @@ } .icon-minus:before { content: "\e91e"; +} +.icon-Policies:before { + content: "\e92e"; } \ No newline at end of file diff --git a/projects/ziti-console-lib/src/lib/features/sidebars/side-toolbar/side-toolbar.component.ts b/projects/ziti-console-lib/src/lib/features/sidebars/side-toolbar/side-toolbar.component.ts index 6c6a67d6..8f2c39b0 100644 --- a/projects/ziti-console-lib/src/lib/features/sidebars/side-toolbar/side-toolbar.component.ts +++ b/projects/ziti-console-lib/src/lib/features/sidebars/side-toolbar/side-toolbar.component.ts @@ -54,6 +54,7 @@ export class SideToolbarComponent { this.zacService.initZac(); app.init(); this.zacService.initZACButtonListener(); + this.settingsService.initApiVersions(this.settingsService?.settings?.selectedEdgeController); this.settingsService.settingsChange.subscribe((results:any) => { this.hideNav = results.hideNav; this.initSideBar(); From fe95afb3e433d11c633c7329283ae81382258d48 Mon Sep 17 00:00:00 2001 From: Ryan Galletto Date: Mon, 25 Nov 2024 11:26:13 -0500 Subject: [PATCH 3/3] check if controller semver exists in settings service --- .../src/lib/pages/services/services-page.component.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/projects/ziti-console-lib/src/lib/pages/services/services-page.component.ts b/projects/ziti-console-lib/src/lib/pages/services/services-page.component.ts index 8ef7ca77..efc99995 100644 --- a/projects/ziti-console-lib/src/lib/pages/services/services-page.component.ts +++ b/projects/ziti-console-lib/src/lib/pages/services/services-page.component.ts @@ -30,6 +30,7 @@ import {ServicePolicyFormService} from "../../features/projectable-forms/service import semver from 'semver'; import {SETTINGS_SERVICE, SettingsService} from "../../services/settings.service"; import {Subscription} from "rxjs"; +import {isEmpty} from "lodash"; @Component({ selector: 'lib-services', @@ -161,12 +162,13 @@ export class ServicesPageComponent extends ListPageComponent implements OnInit, }); const countLabel = selectedItems.length > 1 ? selectedItems.length : ''; this.selectedItems = selectedItems; + const showSecondaryConfirm = !isEmpty(this.settingsService?.zitiSemver) && semver.gte(this.settingsService?.zitiSemver, '1.1.8') this.confirmData = { appendId: 'DeleteServices', title: 'Delete Services', message: `Are you sure you would like to delete the following ${countLabel} ${entityTypeLabel}?`, bulletList: selectedNames, - showSecondaryConfirm: semver.gte(this.settingsService?.zitiSemver, '1.1.8'), + showSecondaryConfirm: showSecondaryConfirm, secondaryConfirmLabel: 'Delete all orphaned associated configs and service policies?', secondaryConfirmed: false, secondaryInfoLabel: `Choosing this option will also delete any associated configs and/or service policies that ONLY make reference to these selected services`,