diff options
author | GeckoEidechse <gecko.eidechse+git@pm.me> | 2024-03-20 16:42:47 +0100 |
---|---|---|
committer | GeckoEidechse <gecko.eidechse+git@pm.me> | 2024-03-20 16:42:47 +0100 |
commit | 892a85fe8dde014d8b92030283ace1068525ad99 (patch) | |
tree | 9c9dcbe73fb61420e6d32a79fb4b7ee2d7200543 | |
parent | 5bd099131800e4ac420ac75ed6c312f6304f1aed (diff) | |
parent | 4d39ce8f9244fdc629ae809a6b90d4b298e35f7f (diff) | |
download | FlightCore-feat/retry-package-index-fetch.tar.gz FlightCore-feat/retry-package-index-fetch.zip |
Merge branch 'main' into feat/retry-package-index-fetchfeat/retry-package-index-fetch
34 files changed, 1380 insertions, 399 deletions
diff --git a/docs/assets/flightcore.svg b/docs/assets/flightcore.svg new file mode 100644 index 00000000..0a4e0c52 --- /dev/null +++ b/docs/assets/flightcore.svg @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg1" + xml:space="preserve" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" + sodipodi:docname="flightcore.svg" + inkscape:export-filename="flightcore_svg.png" + inkscape:export-xdpi="241.90475" + inkscape:export-ydpi="241.90475" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview1" + pagecolor="#313131" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:document-units="mm" + inkscape:zoom="0.84735788" + inkscape:cx="334.56938" + inkscape:cy="510.41007" + inkscape:window-width="2144" + inkscape:window-height="1412" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="0" + inkscape:current-layer="Wings" + inkscape:export-bgcolor="#ffffffe7" /><defs + id="defs1"><inkscape:path-effect + effect="fillet_chamfer" + id="path-effect38" + nodesatellites_param="F,0,0,1,0,3.1637374,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,4.1020699,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.8251803,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1" + is_visible="true" + lpeversion="1" + radius="0" + unit="px" + method="auto" + mode="F" + chamfer_steps="1" + flexible="false" + use_knot_distance="true" + apply_no_radius="true" + apply_with_radius="true" + only_selected="false" + hide_knots="false" /><inkscape:path-effect + effect="fillet_chamfer" + id="path-effect36" + nodesatellites_param="F,0,0,1,0,3.1637374,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,4.1020699,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.8251803,0,1 @ F,0,0,1,0,0,0,1" + is_visible="true" + lpeversion="1" + radius="0" + unit="px" + method="auto" + mode="F" + chamfer_steps="1" + flexible="false" + use_knot_distance="true" + apply_no_radius="true" + apply_with_radius="true" + only_selected="false" + hide_knots="false" /><inkscape:path-effect + effect="fillet_chamfer" + id="path-effect35" + is_visible="true" + lpeversion="1" + nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.0736026,0,1 @ F,0,0,1,0,1.0073515,0,1 @ F,0,0,1,0,6.4904829,0,1 @ F,0,0,1,0,7.1642084,0,1 @ F,0,0,1,0,1.7927291,0,1 @ F,0,0,1,0,2.6111364,0,1 @ F,0,0,1,0,1.9319179,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,3.1316968,0,1 @ F,0,0,1,0,1.0399686,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.3026102,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,9.6252962,0,1 @ F,0,0,1,0,2.2791043,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1" + radius="0" + unit="px" + method="auto" + mode="F" + chamfer_steps="1" + flexible="false" + use_knot_distance="true" + apply_no_radius="true" + apply_with_radius="true" + only_selected="false" + hide_knots="false" /><linearGradient + id="swatch18" + inkscape:swatch="solid"><stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop18" /></linearGradient></defs><g + inkscape:label="FlightCore" + inkscape:groupmode="layer" + id="flightcore"><g + id="Wings" + style="fill:#c0a151;fill-opacity:1;stroke:#948337;stroke-opacity:1"><g + id="outline" + style="fill:#c0a151;fill-opacity:1;stroke:#948337;stroke-opacity:1" + inkscape:label="Outline"><path + id="path36" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1" + transform="matrix(-1,0,0,1,209.99958,0)" + inkscape:path-effect="#path-effect38" + inkscape:original-d="M 82.212036,8.2697795 H 66.581982 c -1.066967,0 -1.986775,0.1589289 -2.054655,0.355017 -1.750413,5.5208205 -4.045216,10.8800645 -5.585188,16.4630775 -0.459728,1.666698 -0.750389,4.441098 -0.752926,6.170683 -0.0024,1.651129 -0.0073,3.30259 -0.01447,4.953703 -0.0025,0.574353 -0.413296,1.26835 -0.863514,1.62419 -1.987958,1.571229 -3.058563,4.071518 -3.732588,6.468339 -3.631643,10.318925 -7.168142,20.672722 -10.652063,31.041516 -0.851954,2.295672 -0.57965,4.777917 -0.628386,7.174756 0.01011,0.856305 0.01924,1.712473 0.02067,2.568836 0.0012,0.719398 -0.474712,1.656122 -0.960148,2.185913 -1.852125,2.021355 -2.573094,4.862908 -3.417363,7.421252 -4.093062,12.633538 -8.177647,25.270048 -12.252999,37.909318 -1.631331,5.0594 -0.484042,12.6935 2.560568,17.05115 4.746391,6.79336 9.492646,13.58731 14.238924,20.38067 0.720899,1.03183 0.834949,2.774 0.299206,3.91294 -8.508246,18.08766 -8.571855,40.01283 0.167432,58.03212 8.259608,17.53966 24.307698,31.27464 43.013395,36.47064 6.175941,1.77275 12.605227,2.62965 19.031913,2.61431 V 134.34736 c -4.88882,-0.008 -9.778981,0.51221 -14.553116,1.56062 -0.579126,0.12718 -1.046448,-0.24215 -1.046448,-0.83509 v -12.55582 c 0,-0.55634 0.397015,-1.22125 0.886767,-1.48518 2.477612,-1.33522 4.955432,-2.66979 7.433138,-4.00492 3.155609,-1.70043 5.713349,-5.98589 5.713349,-9.57048 V 31.227035 c 0,-3.95668 -2.70999,-8.879796 -6.053379,-10.995712 -3.475738,-2.199678 -6.952011,-4.399442 -10.427788,-6.59908 -0.836635,-0.529463 -1.211049,-1.374773 -1.514636,-2.751253 -10e-4,-0.0074 -1.216384,-1.0635739 -1.217449,-1.0709764 z m 48.739244,0 h 12.46632 c 1.15158,1.7e-6 2.61159,2.1055585 3.36757,4.2411015 1.47842,4.176284 3.09566,8.311325 4.27227,12.576993 0.45973,1.666698 0.75039,4.441098 0.75293,6.170683 0.002,1.651129 0.007,3.30259 0.0145,4.953703 0.002,0.574353 0.41329,1.26835 0.86351,1.62419 1.98796,1.571229 3.05856,4.071518 3.73259,6.468339 3.63164,10.318925 7.16814,20.672722 10.65206,31.041516 0.85196,2.295672 0.57965,4.777917 0.62839,7.174756 -0.0101,0.856305 -0.0192,1.712473 -0.0207,2.568836 -0.001,0.719398 0.47471,1.656122 0.96015,2.185913 1.85212,2.021355 2.57309,4.862908 3.41736,7.421252 4.09306,12.633538 8.17765,25.270048 12.253,37.909318 1.63133,5.0594 0.48404,12.6935 -2.56057,17.05115 -4.74639,6.79336 -9.49265,13.58731 -14.23892,20.38067 -0.7209,1.03183 -0.83495,2.774 -0.29921,3.91294 8.50825,18.08766 8.57186,40.01283 -0.16743,58.03212 -8.25961,17.53966 -24.3077,31.27464 -43.0134,36.47064 -6.17594,1.77275 -12.60522,2.62965 -19.03191,2.61431 V 134.34736 c 4.88882,-0.008 9.77898,0.51221 14.55312,1.56062 0.57912,0.12718 1.04644,-0.24215 1.04644,-0.83509 v -12.55582 c 0,-0.55634 -0.39701,-1.22125 -0.88676,-1.48518 -2.47761,-1.33522 -4.95544,-2.66979 -7.43314,-4.00492 -3.15561,-1.70043 -5.71335,-5.98589 -5.71335,-9.57048 V 31.227035 c 0,-3.95668 2.70999,-8.879796 6.05338,-10.995712 3.47574,-2.199678 6.95201,-4.399442 10.42779,-6.59908 0.66085,-0.418219 1.03331,-1.033504 1.31027,-1.951975 0.13154,-0.436229 0.48086,-1.044302 0.82394,-1.344273 0.30043,-0.262687 0.59735,-0.5223243 0.59787,-0.5259814 a 8.3968581,8.3968581 0 0 1 5.17193,-1.5402341 z" + d="M 79.048299,8.2697795 H 66.581982 c -1.151584,1.7e-6 -2.611589,2.1055585 -3.367575,4.2411015 -1.478412,4.176284 -3.095661,8.311325 -4.272268,12.576993 -0.459728,1.666698 -0.750389,4.441098 -0.752926,6.170683 -0.0024,1.651129 -0.0073,3.30259 -0.01447,4.953703 -0.0025,0.574353 -0.413296,1.26835 -0.863514,1.62419 -1.987958,1.571229 -3.058563,4.071518 -3.732588,6.468339 -3.631643,10.318925 -7.168142,20.672722 -10.652063,31.041516 -0.851954,2.295672 -0.57965,4.777917 -0.628386,7.174756 0.01011,0.856305 0.01924,1.712473 0.02067,2.568836 0.0012,0.719398 -0.474712,1.656122 -0.960148,2.185913 -1.852125,2.021355 -2.573094,4.862908 -3.417363,7.421252 -4.093062,12.633538 -8.177647,25.270048 -12.252999,37.909318 -1.631331,5.0594 -0.484042,12.6935 2.560568,17.05115 4.746391,6.79336 9.492646,13.58731 14.238924,20.38067 0.720899,1.03183 0.834949,2.774 0.299206,3.91294 -8.508246,18.08766 -8.571855,40.01283 0.167432,58.03212 8.259608,17.53966 24.307698,31.27464 43.013395,36.47064 6.175941,1.77275 12.605227,2.62965 19.031913,2.61431 V 134.34736 c -4.88882,-0.008 -9.778981,0.51221 -14.553116,1.56062 -0.579126,0.12718 -1.046448,-0.24215 -1.046448,-0.83509 v -12.55582 c 0,-0.55634 0.397015,-1.22125 0.886767,-1.48518 2.477612,-1.33522 4.955432,-2.66979 7.433138,-4.00492 3.155609,-1.70043 5.713349,-5.98589 5.713349,-9.57048 V 31.227035 c 0,-3.95668 -2.70999,-8.879796 -6.053379,-10.995712 C 93.904363,18.031645 90.42809,15.831881 86.952313,13.632243 86.291461,13.214024 85.919003,12.598739 85.642045,11.680268 85.510503,11.244039 85.161181,10.635966 84.818103,10.335995 84.517666,10.073308 84.220754,9.8136707 84.220228,9.8100136 A 8.3968581,8.3968581 16.583873 0 0 79.048299,8.2697795 Z m 51.902981,0 h 12.46632 c 1.15158,1.7e-6 2.61159,2.1055585 3.36757,4.2411015 1.47842,4.176284 3.09566,8.311325 4.27227,12.576993 0.45973,1.666698 0.75039,4.441098 0.75293,6.170683 0.002,1.651129 0.007,3.30259 0.0145,4.953703 0.002,0.574353 0.41329,1.26835 0.86351,1.62419 1.98796,1.571229 3.05856,4.071518 3.73259,6.468339 3.63164,10.318925 7.16814,20.672722 10.65206,31.041516 0.85196,2.295672 0.57965,4.777917 0.62839,7.174756 -0.0101,0.856305 -0.0192,1.712473 -0.0207,2.568836 -0.001,0.719398 0.47471,1.656122 0.96015,2.185913 1.85212,2.021355 2.57309,4.862908 3.41736,7.421252 4.09306,12.633538 8.17765,25.270048 12.253,37.909318 1.63133,5.0594 0.48404,12.6935 -2.56057,17.05115 -4.74639,6.79336 -9.49265,13.58731 -14.23892,20.38067 -0.7209,1.03183 -0.83495,2.774 -0.29921,3.91294 8.50825,18.08766 8.57186,40.01283 -0.16743,58.03212 -8.25961,17.53966 -24.3077,31.27464 -43.0134,36.47064 -6.17594,1.77275 -12.60522,2.62965 -19.03191,2.61431 V 134.34736 c 4.88882,-0.008 9.77898,0.51221 14.55312,1.56062 0.57912,0.12718 1.04644,-0.24215 1.04644,-0.83509 v -12.55582 c 0,-0.55634 -0.39701,-1.22125 -0.88676,-1.48518 -2.47761,-1.33522 -4.95544,-2.66979 -7.43314,-4.00492 -3.15561,-1.70043 -5.71335,-5.98589 -5.71335,-9.57048 V 31.227035 c 0,-3.95668 2.70999,-8.879796 6.05338,-10.995712 3.47574,-2.199678 6.95201,-4.399442 10.42779,-6.59908 0.66085,-0.418219 1.03331,-1.033504 1.31027,-1.951975 0.13154,-0.436229 0.48086,-1.044302 0.82394,-1.344273 0.30043,-0.262687 0.59735,-0.5223243 0.59787,-0.5259814 1.50755,-1.0684899 3.32544,-1.6098713 5.17193,-1.5402341 z" /></g><path + style="fill:#c0a151;stroke-width:0.264583;fill-opacity:1;stroke:#948337;stroke-opacity:1" + d="M 178.48025,140.44861 163.3858,93.668055 v 21.083335 l -3.65139,-1.32917 V 78.268054 L 148.30664,45.023611 v 60.362499 l -4.46111,-2.99444 V 28.126388 l -4.16941,-11.917807 h -7.19726 v 80.154358 l -4.16481,-2.716958 V 19.673958 l -13.83241,8.754166 v 80.774206 l 14.03264,7.56573 v 31.10368 l 28.20091,23.73424 z" + id="path2" /><path + style="fill:#c0a151;stroke-width:0.264583;fill-opacity:1;stroke:#948337;stroke-opacity:1" + d="M 31.472221,140.44861 46.566666,93.668055 v 21.083335 l 3.65139,-1.32917 V 78.268054 L 61.645834,45.023611 v 60.362499 l 4.46111,-2.99444 V 28.126388 l 4.169402,-11.917807 h 7.197265 v 80.154358 l 4.164811,-2.716958 V 19.673958 l 13.832411,8.754166 v 80.774206 l -14.03264,7.56573 v 31.10368 l -28.20091,23.73424 z" + id="path1" /></g><g + id="emblem" + inkscape:label="Emblem"><ellipse + style="fill:#21201e;stroke-width:0.2;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-dasharray:none" + id="Base" + cx="104.78024" + cy="202.71603" + rx="60.550629" + ry="60.479027" + inkscape:label="Base" /><g + id="details1" + transform="rotate(120,104.30023,207.34563)" + style="stroke:#000000;stroke-opacity:1;fill:#d6d6d6;fill-opacity:1;stroke-width:0.2;stroke-dasharray:none" + inkscape:label="Details 1"><path + style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="M 101.56667,157.55972 H 90.612499 l -10.740276,16.53055 h 11.488888 l 2.459722,-3.42222 h 7.761107 z" + id="path6" /><path + style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="m 107.31643,157.89588 h 10.05762 l 10.07922,16.42059 h -10.63018 l -2.1714,-3.44617 h -7.33526 z" + id="path7" /><path + style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="M 81.938542,211.93715 97.83215,185.14756 h 13.50378 l 16.32606,27.51799 -6.8059,10.85974 H 88.844037 Z" + id="path14" + transform="rotate(-120,104.30023,207.34563)" /><path + style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="m 60.790277,227.99028 11.135169,-6.4289 -3.628525,-6.28479 2.155608,-3.73362 L 64.9,202.2625 55.672222,219.25139 Z" + id="path9" + transform="rotate(-120,104.30023,207.34563)" /><path + style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="m 75.286247,227.73847 3.953907,6.71948 4.061934,0.11883 5.822828,10.12243 -19.607482,-1.03709 -5.509541,-9.51746 z" + id="path10" + transform="rotate(-120,104.30023,207.34563)" /><path + style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="M 101.56667,157.55972 H 90.612499 l -10.740276,16.53055 h 11.488888 l 2.459722,-3.42222 h 7.761107 z" + id="path4" + transform="rotate(-120,104.30023,207.34563)" /><path + style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="m 108.14903,157.62687 h 10.05762 l 10.07922,16.42059 h -10.63018 l -2.1714,-3.44617 h -7.33526 z" + id="path5" + transform="rotate(-120,104.30023,207.34563)" /></g><g + id="details2" + style="stroke:#000000;stroke-opacity:1;fill:#7d8184;fill-opacity:1;stroke-width:0.2;stroke-dasharray:none" + inkscape:label="Details 2"><path + style="fill:#7d8184;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="m 92.820137,234.59027 2.459723,4.27014 h 18.91346 l 2.45769,-4.24042 z" + id="path13" /><path + style="fill:#7d8184;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="m 73.22287,198.36506 2.419877,4.07273 11.926535,-20.47172 -4.866761,-0.0594 z" + id="path11" /><path + style="fill:#7d8184;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none" + d="m 121.6204,181.96607 4.82895,-0.0216 9.24739,16.4314 -2.62514,4.09434 z" + id="path12" /></g><g + id="outer" + style="stroke:#4c4b49;stroke-opacity:1" + inkscape:label="Outer Lines"><path + style="fill:none;fill-opacity:1;stroke:#4c4b49;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + d="m 84.921589,152.64911 c -15.696048,7.49503 -34.217623,21.77704 -32.322928,58.17975" + id="path15" + sodipodi:nodetypes="cc" /><path + style="fill:none;fill-opacity:1;stroke:#4c4b49;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + d="m 123.89315,152.64911 c 15.15775,7.60284 35.90423,21.65169 33.56488,57.87616" + id="path17" + sodipodi:nodetypes="cc" /><path + style="fill:none;fill-opacity:1;stroke:#4c4b49;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + d="m 71.511725,248.26184 c 14.33891,9.84566 35.940685,19.76598 66.518995,-0.0762" + id="path18" + sodipodi:nodetypes="cc" /></g></g></g></svg> diff --git a/package-lock.json b/package-lock.json index dc121b5c..8a5ff962 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "@tauri-apps/api": "^1.5.3" }, "devDependencies": { - "@tauri-apps/cli": "^1.5.9" + "@tauri-apps/cli": "^1.5.11" } }, "node_modules/@tauri-apps/api": { @@ -27,9 +27,9 @@ } }, "node_modules/@tauri-apps/cli": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.5.9.tgz", - "integrity": "sha512-knSt/9AvCTeyfC6wkyeouF9hBW/0Mzuw+5vBKEvzaGPQsfFJo1ZCp5FkdiZpGBBfnm09BhugasGRTGofzatfqQ==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.5.11.tgz", + "integrity": "sha512-B475D7phZrq5sZ3kDABH4g2mEoUIHtnIO+r4ZGAAfsjMbZCwXxR/jlMGTEL+VO3YzjpF7gQe38IzB4vLBbVppw==", "dev": true, "bin": { "tauri": "tauri.js" @@ -42,22 +42,22 @@ "url": "https://opencollective.com/tauri" }, "optionalDependencies": { - "@tauri-apps/cli-darwin-arm64": "1.5.9", - "@tauri-apps/cli-darwin-x64": "1.5.9", - "@tauri-apps/cli-linux-arm-gnueabihf": "1.5.9", - "@tauri-apps/cli-linux-arm64-gnu": "1.5.9", - "@tauri-apps/cli-linux-arm64-musl": "1.5.9", - "@tauri-apps/cli-linux-x64-gnu": "1.5.9", - "@tauri-apps/cli-linux-x64-musl": "1.5.9", - "@tauri-apps/cli-win32-arm64-msvc": "1.5.9", - "@tauri-apps/cli-win32-ia32-msvc": "1.5.9", - "@tauri-apps/cli-win32-x64-msvc": "1.5.9" + "@tauri-apps/cli-darwin-arm64": "1.5.11", + "@tauri-apps/cli-darwin-x64": "1.5.11", + "@tauri-apps/cli-linux-arm-gnueabihf": "1.5.11", + "@tauri-apps/cli-linux-arm64-gnu": "1.5.11", + "@tauri-apps/cli-linux-arm64-musl": "1.5.11", + "@tauri-apps/cli-linux-x64-gnu": "1.5.11", + "@tauri-apps/cli-linux-x64-musl": "1.5.11", + "@tauri-apps/cli-win32-arm64-msvc": "1.5.11", + "@tauri-apps/cli-win32-ia32-msvc": "1.5.11", + "@tauri-apps/cli-win32-x64-msvc": "1.5.11" } }, "node_modules/@tauri-apps/cli-darwin-arm64": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.5.9.tgz", - "integrity": "sha512-7C2Jf8f0gzv778mLYb7Eszqqv1bm9Wzews81MRTqKrUIcC+eZEtDXLex+JaEkEzFEUrgIafdOvMBVEavF030IA==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.5.11.tgz", + "integrity": "sha512-2NLSglDb5VfvTbMtmOKWyD+oaL/e8Z/ZZGovHtUFyUSFRabdXc6cZOlcD1BhFvYkHqm+TqGaz5qtPR5UbqDs8A==", "cpu": [ "arm64" ], @@ -71,9 +71,9 @@ } }, "node_modules/@tauri-apps/cli-darwin-x64": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.5.9.tgz", - "integrity": "sha512-LHKytpkofPYgH8RShWvwDa3hD1ws131x7g7zNasJPfOiCWLqYVQFUuQVmjEUt8+dpHe/P/err5h4z+YZru2d0A==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.5.11.tgz", + "integrity": "sha512-/RQllHiJRH2fJOCudtZlaUIjofkHzP3zZgxi71ZUm7Fy80smU5TDfwpwOvB0wSVh0g/ciDjMArCSTo0MRvL+ag==", "cpu": [ "x64" ], @@ -87,9 +87,9 @@ } }, "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.5.9.tgz", - "integrity": "sha512-teGK20IYKx+dVn8wFq/Lg57Q9ce7foq1KHSfyHi464LVt1T0V1rsmULSgZpQPPj/NYPF5BG78PcWYv64yH86jw==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.5.11.tgz", + "integrity": "sha512-IlBuBPKmMm+a5LLUEK6a21UGr9ZYd6zKuKLq6IGM4tVweQa8Sf2kP2Nqs74dMGIUrLmMs0vuqdURpykQg+z4NQ==", "cpu": [ "arm" ], @@ -103,9 +103,9 @@ } }, "node_modules/@tauri-apps/cli-linux-arm64-gnu": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.5.9.tgz", - "integrity": "sha512-onJ/DW5Crw38qVx+wquY4uBbfCxVhzhdJmlCYqnYyXsZZmSiPUfSyhV58y+5TYB0q1hG8eYdB5x8VAwzByhGzw==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.5.11.tgz", + "integrity": "sha512-w+k1bNHCU/GbmXshtAhyTwqosThUDmCEFLU4Zkin1vl2fuAtQry2RN7thfcJFepblUGL/J7yh3Q/0+BCjtspKQ==", "cpu": [ "arm64" ], @@ -119,9 +119,9 @@ } }, "node_modules/@tauri-apps/cli-linux-arm64-musl": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.9.tgz", - "integrity": "sha512-23AYoLD3acakLp9NtheKQDJl8F66eTOflxoPzdJNRy13hUSxb+W9qpz4rRA+CIzkjICFvO2i3UWjeV9QwDVpsQ==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.11.tgz", + "integrity": "sha512-PN6/dl+OfYQ/qrAy4HRAfksJ2AyWQYn2IA/2Wwpaa7SDRz2+hzwTQkvajuvy0sQ5L2WCG7ymFYRYMbpC6Hk9Pg==", "cpu": [ "arm64" ], @@ -135,9 +135,9 @@ } }, "node_modules/@tauri-apps/cli-linux-x64-gnu": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.5.9.tgz", - "integrity": "sha512-9PQA1rE7gh41W2ylyKd5qOGOds55ymaYPml9KOpM0g+cxmCXa+8Wf9K5NKvACnJldJJ6cekWzIyB4eN6o5T+yQ==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.5.11.tgz", + "integrity": "sha512-MTVXLi89Nj7Apcvjezw92m7ZqIDKT5SFKZtVPCg6RoLUBTzko/BQoXYIRWmdoz2pgkHDUHgO2OMJ8oKzzddXbw==", "cpu": [ "x64" ], @@ -151,9 +151,9 @@ } }, "node_modules/@tauri-apps/cli-linux-x64-musl": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.9.tgz", - "integrity": "sha512-5hdbNFeDsrJ/pXZ4cSQV4bJwUXPPxXxN3/pAtNUqIph7q+vLcBXOXIMoS64iuyaluJC59lhEwlWZFz+EPv0Hqg==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.11.tgz", + "integrity": "sha512-kwzAjqFpz7rvTs7WGZLy/a5nS5t15QKr3E9FG95MNF0exTl3d29YoAUAe1Mn0mOSrTJ9Z+vYYAcI/QdcsGBP+w==", "cpu": [ "x64" ], @@ -167,9 +167,9 @@ } }, "node_modules/@tauri-apps/cli-win32-arm64-msvc": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.5.9.tgz", - "integrity": "sha512-O18JufjSB3hSJYu5WWByONouGeX7DraLAtXLErsG1r/VS3zHd/zyuzycrVUaObNXk5bfGlIP0Ypt+RvZJILN2w==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.5.11.tgz", + "integrity": "sha512-L+5NZ/rHrSUrMxjj6YpFYCXp6wHnq8c8SfDTBOX8dO8x+5283/vftb4vvuGIsLS4UwUFXFnLt3XQr44n84E67Q==", "cpu": [ "arm64" ], @@ -183,9 +183,9 @@ } }, "node_modules/@tauri-apps/cli-win32-ia32-msvc": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.5.9.tgz", - "integrity": "sha512-FQxtxTZu0JVBihfd/lmpxo7jyMOesjWQehfyVUqtgMfm5+Pvvw0Y+ZioeDi1TZkFVrT3QDYy8R4LqDLSZVMQRA==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.5.11.tgz", + "integrity": "sha512-oVlD9IVewrY0lZzTdb71kNXkjdgMqFq+ohb67YsJb4Rf7o8A9DTlFds1XLCe3joqLMm4M+gvBKD7YnGIdxQ9vA==", "cpu": [ "ia32" ], @@ -199,9 +199,9 @@ } }, "node_modules/@tauri-apps/cli-win32-x64-msvc": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.5.9.tgz", - "integrity": "sha512-EeI1+L518cIBLKw0qUFwnLIySBeSmPQjPLIlNwSukHSro4tAQPHycEVGgKrdToiCWgaZJBA0e5aRSds0Du2TWg==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.5.11.tgz", + "integrity": "sha512-1CexcqUFCis5ypUIMOKllxUBrna09McbftWENgvVXMfA+SP+yPDPAVb8fIvUcdTIwR/yHJwcIucmTB4anww4vg==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 62e09138..24cc1c58 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,6 @@ "@tauri-apps/api": "^1.5.3" }, "devDependencies": { - "@tauri-apps/cli": "^1.5.9" + "@tauri-apps/cli": "^1.5.11" } } diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index ce61298f..73b99a26 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -75,15 +75,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "arboard" -version = "3.3.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08" +checksum = "ac57f2b058a76363e357c056e4f74f1945bf734d37b8b3ef49066c4787dde0fc" dependencies = [ "clipboard-win", "core-graphics", @@ -95,10 +95,17 @@ dependencies = [ "parking_lot", "thiserror", "winapi", + "wl-clipboard-rs", "x11rb", ] [[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[package]] name = "async-broadcast" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -194,9 +201,9 @@ dependencies = [ [[package]] name = "async-recursion" -version = "1.0.5" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" dependencies = [ "proc-macro2", "quote", @@ -284,6 +291,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" [[package]] +name = "base64" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" + +[[package]] name = "base64ct" version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -369,6 +382,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] +name = "bytecount" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" + +[[package]] name = "bytemuck" version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -446,9 +465,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.81" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c6b2562119bf28c3439f7f02db99faf0aa1a8cdfe5772a2ee155d32227239f0" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "jobserver", "libc", @@ -498,9 +517,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.33" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" +checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" dependencies = [ "android-tzdata", "iana-time-zone", @@ -834,6 +853,17 @@ dependencies = [ ] [[package]] +name = "derive-new" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -906,6 +936,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] name = "dtoa" version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1096,6 +1132,12 @@ dependencies = [ ] [[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] name = "flate2" version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1107,7 +1149,7 @@ dependencies = [ [[package]] name = "flightcore" -version = "2.18.1" +version = "2.19.3" dependencies = [ "anyhow", "async-recursion", @@ -1118,9 +1160,11 @@ dependencies = [ "json5", "libthermite", "log", - "open 5.0.1", + "octocrab", + "open 5.1.2", "pretty_env_logger", "regex", + "remove-markdown-links", "reqwest", "semver", "sentry", @@ -1181,12 +1225,28 @@ dependencies = [ ] [[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] name = "futures-channel" version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", + "futures-sink", ] [[package]] @@ -1256,6 +1316,7 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ + "futures-channel", "futures-core", "futures-io", "futures-macro", @@ -1387,9 +1448,9 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.3.0" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" dependencies = [ "libc", "winapi", @@ -1413,8 +1474,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -1594,7 +1657,7 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", + "http 0.2.9", "indexmap 1.9.3", "slab", "tokio", @@ -1610,9 +1673,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "heck" @@ -1687,13 +1750,47 @@ dependencies = [ ] [[package]] +name = "http" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.9", +] + +[[package]] name = "http-body" version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", - "http", + "http 0.2.9", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.0.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840" +dependencies = [ + "bytes", + "futures-util", + "http 1.0.0", + "http-body 1.0.0", "pin-project-lite", ] @@ -1732,8 +1829,8 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", "httparse", "httpdate", "itoa 1.0.9", @@ -1746,19 +1843,89 @@ dependencies = [ ] [[package]] +name = "hyper" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5aa53871fc917b1a9ed87b683a5d86db645e23acb32c2e0785a353e522fb75" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.0.0", + "http-body 1.0.0", + "httparse", + "itoa 1.0.9", + "pin-project-lite", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +dependencies = [ + "futures-util", + "http 1.0.0", + "hyper 1.1.0", + "hyper-util", + "log", + "rustls 0.22.2", + "rustls-native-certs", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-timeout" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +dependencies = [ + "hyper 1.1.0", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] name = "hyper-tls" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper", + "hyper 0.14.27", "native-tls", "tokio", "tokio-native-tls", ] [[package]] +name = "hyper-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.0.0", + "http-body 1.0.0", + "hyper 1.1.0", + "pin-project-lite", + "socket2 0.5.5", + "tokio", + "tower", + "tower-service", + "tracing", +] + +[[package]] name = "iana-time-zone" version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1852,12 +2019,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.3", ] [[package]] @@ -1905,6 +2072,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] +name = "iri-string" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21859b667d66a4c1dacd9df0863b3efb65785474255face87f5bca39dd8407c0" +dependencies = [ + "memchr", + "serde", +] + +[[package]] name = "is-docker" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2037,6 +2214,21 @@ dependencies = [ ] [[package]] +name = "jsonwebtoken" +version = "9.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7ea04a7c5c055c175f189b6dc6ba036fd62306b58c66c9f6389036c503a3f4" +dependencies = [ + "base64 0.21.2", + "js-sys", + "pem", + "ring 0.17.7", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] name = "keyvalues-parser" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2082,9 +2274,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.150" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libthermite" @@ -2138,9 +2330,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "loom" @@ -2228,6 +2420,15 @@ checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" [[package]] name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" @@ -2251,6 +2452,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] name = "minisign-verify" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2331,6 +2538,18 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" [[package]] name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" @@ -2355,6 +2574,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce" [[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] name = "notify-rust" version = "4.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2387,6 +2616,17 @@ dependencies = [ ] [[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] name = "num-integer" version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2496,6 +2736,45 @@ dependencies = [ ] [[package]] +name = "octocrab" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6d07f2ea5f11065486c5d66e7fa592833038377c8b55c0b8694a624732fee32" +dependencies = [ + "arc-swap", + "async-trait", + "base64 0.22.0", + "bytes", + "cfg-if", + "chrono", + "either", + "futures", + "futures-util", + "http 1.0.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.1.0", + "hyper-rustls", + "hyper-timeout", + "hyper-util", + "jsonwebtoken", + "once_cell", + "percent-encoding", + "pin-project", + "secrecy", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "snafu", + "tokio", + "tower", + "tower-http", + "tracing", + "url", +] + +[[package]] name = "once_cell" version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2513,9 +2792,9 @@ dependencies = [ [[package]] name = "open" -version = "5.0.1" +version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90878fb664448b54c4e592455ad02831e23a3f7e157374a8b95654731aac7349" +checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32" dependencies = [ "is-wsl", "libc", @@ -2699,6 +2978,16 @@ dependencies = [ ] [[package]] +name = "pem" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310" +dependencies = [ + "base64 0.21.2", + "serde", +] + +[[package]] name = "percent-encoding" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2749,6 +3038,16 @@ dependencies = [ ] [[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.2.5", +] + +[[package]] name = "phf" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2883,6 +3182,26 @@ dependencies = [ ] [[package]] +name = "pin-project" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.46", +] + +[[package]] name = "pin-project-lite" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3130,9 +3449,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" dependencies = [ "either", "rayon-core", @@ -3140,14 +3459,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -3224,10 +3541,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] +name = "remove-markdown-links" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f12300eb28972e58b37a90854ec8a8f58e762e526f3c429a350879a8d4cbbeb" +dependencies = [ + "regex", +] + +[[package]] name = "reqwest" -version = "0.11.24" +version = "0.11.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "78bf93c4af7a8bb7d879d51cebe797356ff10ae8516ace542b5182d9dcac10b2" dependencies = [ "base64 0.21.2", "bytes", @@ -3235,9 +3561,9 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http", - "http-body", - "hyper", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.27", "hyper-tls", "ipnet", "js-sys", @@ -3247,7 +3573,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", + "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", @@ -3298,13 +3624,27 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", - "untrusted", + "spin 0.5.2", + "untrusted 0.7.1", "web-sys", "winapi", ] [[package]] +name = "ring" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +dependencies = [ + "cc", + "getrandom 0.2.10", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.48.0", +] + +[[package]] name = "rustc-demangle" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3353,12 +3693,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d1feddffcfcc0b33f5c6ce9a29e341e4cd59c3f78e7ee45f4a40c038b1d6cbb" dependencies = [ "log", - "ring", + "ring 0.16.20", "rustls-webpki 0.101.2", "sct", ] [[package]] +name = "rustls" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" +dependencies = [ + "log", + "ring 0.17.7", + "rustls-pki-types", + "rustls-webpki 0.102.2", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.0.0", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] name = "rustls-pemfile" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3368,13 +3735,29 @@ dependencies = [ ] [[package]] +name = "rustls-pemfile" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4" +dependencies = [ + "base64 0.21.2", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a716eb65e3158e90e17cd93d855216e27bde02745ab842f2cab4a39dba1bacf" + +[[package]] name = "rustls-webpki" version = "0.100.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -3383,8 +3766,19 @@ version = "0.101.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +dependencies = [ + "ring 0.17.7", + "rustls-pki-types", + "untrusted 0.9.0", ] [[package]] @@ -3441,8 +3835,17 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "secrecy" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +dependencies = [ + "zeroize", ] [[package]] @@ -3490,9 +3893,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] @@ -3617,18 +4020,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.196" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.196" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", @@ -3637,16 +4040,27 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.113" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ + "indexmap 2.2.5", "itoa 1.0.9", "ryu", "serde", ] [[package]] +name = "serde_path_to_error" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" +dependencies = [ + "itoa 1.0.9", + "serde", +] + +[[package]] name = "serde_repr" version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3805,6 +4219,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror", + "time", +] + +[[package]] name = "siphasher" version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3826,6 +4252,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] +name = "snafu" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ed22871b3fe6eff9f1b48f6cbd54149ff8e9acd740dea9146092435f9c43bd3" +dependencies = [ + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4651148226ec36010993fcba6c3381552e8463e9f3e337b75af202b0688b5274" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.46", +] + +[[package]] name = "socket2" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3880,6 +4327,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] name = "stable_deref_trait" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3920,7 +4373,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "533127ad49314bfe71c3d3fd36b3ebac3d24f40618092e70e1cfe8362c7fac79" dependencies = [ - "nom", + "nom 1.2.4", ] [[package]] @@ -4010,9 +4463,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.29.11" +version = "0.30.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666" +checksum = "0c385888ef380a852a16209afc8cfad22795dd8873d69c9a14d2e2088f118d18" dependencies = [ "cfg-if", "core-foundation-sys", @@ -4020,7 +4473,7 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "winapi", + "windows 0.52.0", ] [[package]] @@ -4147,15 +4600,16 @@ checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" [[package]] name = "tauri" -version = "1.5.4" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd27c04b9543776a972c86ccf70660b517ecabbeced9fb58d8b961a13ad129af" +checksum = "0da520ff07c0745199204f7a7a62a8c6ee1666313b792b051ca170eca04649aa" dependencies = [ "anyhow", "base64 0.21.2", "bytes", "cocoa", "dirs-next", + "dunce", "embed_plist", "encoding_rs", "flate2", @@ -4164,9 +4618,11 @@ dependencies = [ "glob", "gtk", "heck 0.4.1", - "http", + "http 0.2.9", "ignore", + "indexmap 1.9.3", "minisign-verify", + "nix 0.26.2", "notify-rust", "objc", "once_cell", @@ -4282,7 +4738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf2d0652aa2891ff3e9caa2401405257ea29ab8372cce01f186a5825f1bd0e76" dependencies = [ "gtk", - "http", + "http 0.2.9", "http-range", "rand 0.8.5", "raw-window-handle", @@ -4298,9 +4754,9 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cae61fbc731f690a4899681c9052dde6d05b159b44563ace8186fc1bfb7d158" +checksum = "067c56fc153b3caf406d7cd6de4486c80d1d66c0f414f39e94cb2f5543f6445f" dependencies = [ "arboard", "cocoa", @@ -4319,9 +4775,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece74810b1d3d44f29f732a7ae09a63183d63949bbdd59c61f8ed2a1b70150db" +checksum = "75ad0bbb31fccd1f4c56275d0a5c3abdf1f59999f72cb4ef8b79b4ed42082a21" dependencies = [ "brotli", "ctor", @@ -4492,9 +4948,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -4531,6 +4987,17 @@ dependencies = [ ] [[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.2", + "rustls-pki-types", + "tokio", +] + +[[package]] name = "tokio-util" version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4580,7 +5047,7 @@ version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.2.5", "serde", "serde_spanned", "toml_datetime", @@ -4588,6 +5055,49 @@ dependencies = [ ] [[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da193277a4e2c33e59e09b5861580c33dd0a637c3883d0fa74ba40c0374af2e" +dependencies = [ + "bitflags 2.3.3", + "bytes", + "futures-util", + "http 1.0.0", + "http-body 1.0.0", + "http-body-util", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] name = "tower-service" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4600,6 +5110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4656,6 +5167,20 @@ dependencies = [ ] [[package]] +name = "tree_magic_mini" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91adfd0607cacf6e4babdb870e9bec4037c1c4b151cfd279ccefc5e0c7feaa6d" +dependencies = [ + "bytecount", + "fnv", + "lazy_static", + "nom 7.1.3", + "once_cell", + "petgraph", +] + +[[package]] name = "treediff" version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4672,9 +5197,9 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "ts-rs" -version = "7.1.1" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2cae1fc5d05d47aa24b64f9a4f7cba24cdc9187a2084dd97ac57bef5eccae6" +checksum = "ceb8fe78a9de6544a6c5a027900e38e12d769e3cb6206543a0d6ee66685c9caa" dependencies = [ "thiserror", "ts-rs-macros", @@ -4682,9 +5207,9 @@ dependencies = [ [[package]] name = "ts-rs-macros" -version = "7.1.1" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f7f9b821696963053a89a7bd8b292dc34420aea8294d7b225274d488f3ec92" +checksum = "6c5f502d23d0afc51313c02c2d2ca75d90fb421478d27b8eaa37b518a67b8d77" dependencies = [ "Inflector", "proc-macro2", @@ -4764,6 +5289,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] name = "ureq" version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4774,7 +5305,7 @@ dependencies = [ "log", "native-tls", "once_cell", - "rustls", + "rustls 0.21.6", "rustls-webpki 0.100.1", "url", "webpki-roots", @@ -4975,6 +5506,65 @@ dependencies = [ ] [[package]] +name = "wayland-client" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +dependencies = [ + "bitflags 1.3.2", + "downcast-rs", + "libc", + "nix 0.24.3", + "wayland-commons", + "wayland-scanner", + "wayland-sys", +] + +[[package]] +name = "wayland-commons" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +dependencies = [ + "nix 0.24.3", + "once_cell", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-protocols" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +dependencies = [ + "bitflags 1.3.2", + "wayland-client", + "wayland-commons", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +dependencies = [ + "proc-macro2", + "quote", + "xml-rs", +] + +[[package]] +name = "wayland-sys" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +dependencies = [ + "pkg-config", +] + +[[package]] name = "web-sys" version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5161,6 +5751,16 @@ dependencies = [ ] [[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.0", +] + +[[package]] name = "windows-bindgen" version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5171,6 +5771,15 @@ dependencies = [ ] [[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] name = "windows-implement" version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5505,6 +6114,24 @@ dependencies = [ ] [[package]] +name = "wl-clipboard-rs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "981a303dfbb75d659f6612d05a14b2e363c103d24f676a2d44a00d18507a1ad9" +dependencies = [ + "derive-new", + "libc", + "log", + "nix 0.24.3", + "os_pipe", + "tempfile", + "thiserror", + "tree_magic_mini", + "wayland-client", + "wayland-protocols", +] + +[[package]] name = "wry" version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5521,7 +6148,7 @@ dependencies = [ "glib", "gtk", "html5ever", - "http", + "http 0.2.9", "kuchikiki", "libc", "log", @@ -5565,12 +6192,12 @@ dependencies = [ [[package]] name = "x11rb" -version = "0.12.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" +checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507" dependencies = [ "gethostname", - "nix", + "nix 0.24.3", "winapi", "winapi-wsapoll", "x11rb-protocol", @@ -5578,11 +6205,11 @@ dependencies = [ [[package]] name = "x11rb-protocol" -version = "0.12.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" +checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67" dependencies = [ - "nix", + "nix 0.24.3", ] [[package]] @@ -5600,11 +6227,17 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" dependencies = [ - "nix", + "nix 0.26.2", "winapi", ] [[package]] +name = "xml-rs" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" + +[[package]] name = "zbus" version = "3.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5628,7 +6261,7 @@ dependencies = [ "futures-sink", "futures-util", "hex", - "nix", + "nix 0.26.2", "once_cell", "ordered-stream", "rand 0.8.5", @@ -5671,6 +6304,12 @@ dependencies = [ ] [[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" + +[[package]] name = "zip" version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 542c1c47..925eda8b 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "flightcore" -version = "2.18.1" +version = "2.19.3" description = "Mod-manager for Northstar" authors = ["https://github.com/R2NorthstarTools/FlightCore/graphs/contributors"] license = "MIT" @@ -23,7 +23,7 @@ tauri-build = { version = "1.5", features = [] } [dependencies] serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.5", features = ["api-all", "dialog", "updater"] } +tauri = { version = "1.6", features = ["api-all", "dialog", "updater"] } tokio = { version = "1", features = ["full"] } # Sentry (crash) logging sentry = "0.32" @@ -39,7 +39,7 @@ zip = "0.6.2" # Regex regex = "1.10" # Read out running application process names -sysinfo = "0.29.11" +sysinfo = "0.30.7" # HTTP requests reqwest = { version = "0.11", features = ["blocking"] } # Persistent store for settings @@ -47,11 +47,11 @@ tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", # JSON5 parsing support (allows comments in JSON) json5 = "0.4.1" # Async recursion for recursive mod install -async-recursion = "1.0.5" +async-recursion = "1.1.0" # For parsing timestamps -chrono = "0.4.33" +chrono = "0.4.35" # TypeScript bindings -ts-rs = "7.1" +ts-rs = "8.0" # const formatting const_format = "0.2.32" # Logging libraries @@ -60,12 +60,18 @@ log = "0.4" # Extracting zip files easily zip-extract = "0.1.3" # open urls -open = "5.0.1" +open = "5.1.2" semver = "1.0" # simplified filesystem access glob = "0.3.1" dirs = "5" +# Interacting with GitHub +octocrab = "0.35.0" +# Library for removing markdown links +remove-markdown-links = "1.0.0" + + [target.'cfg(windows)'.dependencies] # Windows API stuff winapi = "0.3.9" diff --git a/src-tauri/bindings/CommitHead.ts b/src-tauri/bindings/CommitHead.ts index 58f31657..7c4da020 100644 --- a/src-tauri/bindings/CommitHead.ts +++ b/src-tauri/bindings/CommitHead.ts @@ -1,4 +1,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { Repo } from "./Repo"; -export interface CommitHead { sha: string, ref: string, repo: Repo, }
\ No newline at end of file +export type CommitHead = { sha: string, ref: string, repo: Repo, };
\ No newline at end of file diff --git a/src-tauri/bindings/FlightCoreVersion.ts b/src-tauri/bindings/FlightCoreVersion.ts index 9017a840..6c0af915 100644 --- a/src-tauri/bindings/FlightCoreVersion.ts +++ b/src-tauri/bindings/FlightCoreVersion.ts @@ -1,3 +1,3 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface FlightCoreVersion { tag_name: string, published_at: string, }
\ No newline at end of file +export type FlightCoreVersion = { tag_name: string, published_at: string, };
\ No newline at end of file diff --git a/src-tauri/bindings/InstallProgress.ts b/src-tauri/bindings/InstallProgress.ts index 7bea9bb8..234f3c35 100644 --- a/src-tauri/bindings/InstallProgress.ts +++ b/src-tauri/bindings/InstallProgress.ts @@ -1,4 +1,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { InstallState } from "./InstallState"; -export interface InstallProgress { current_downloaded: bigint, total_size: bigint, state: InstallState, }
\ No newline at end of file +export type InstallProgress = { current_downloaded: bigint, total_size: bigint, state: InstallState, };
\ No newline at end of file diff --git a/src-tauri/bindings/InstallType.ts b/src-tauri/bindings/InstallType.ts index 2a0f9a7f..094ccf8b 100644 --- a/src-tauri/bindings/InstallType.ts +++ b/src-tauri/bindings/InstallType.ts @@ -1,3 +1,6 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +/** + * Defines how Titanfall2 was installed (Steam, Origin, ...) + */ export type InstallType = "STEAM" | "ORIGIN" | "EAPLAY" | "UNKNOWN";
\ No newline at end of file diff --git a/src-tauri/bindings/NorthstarLaunchOptions.ts b/src-tauri/bindings/NorthstarLaunchOptions.ts new file mode 100644 index 00000000..fc977f68 --- /dev/null +++ b/src-tauri/bindings/NorthstarLaunchOptions.ts @@ -0,0 +1,3 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type NorthstarLaunchOptions = { launch_via_steam: boolean, bypass_checks: boolean, };
\ No newline at end of file diff --git a/src-tauri/bindings/NorthstarMod.ts b/src-tauri/bindings/NorthstarMod.ts index 3686485b..1643778d 100644 --- a/src-tauri/bindings/NorthstarMod.ts +++ b/src-tauri/bindings/NorthstarMod.ts @@ -1,3 +1,6 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface NorthstarMod { name: string, version: string | null, thunderstore_mod_string: string | null, enabled: boolean, directory: string, }
\ No newline at end of file +/** + * Object holding various information about a Northstar mod + */ +export type NorthstarMod = { name: string, version: string | null, thunderstore_mod_string: string | null, enabled: boolean, directory: string, };
\ No newline at end of file diff --git a/src-tauri/bindings/NorthstarThunderstoreRelease.ts b/src-tauri/bindings/NorthstarThunderstoreRelease.ts index 4e9d5235..771ca732 100644 --- a/src-tauri/bindings/NorthstarThunderstoreRelease.ts +++ b/src-tauri/bindings/NorthstarThunderstoreRelease.ts @@ -1,3 +1,3 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface NorthstarThunderstoreRelease { package: string, version: string, }
\ No newline at end of file +export type NorthstarThunderstoreRelease = { package: string, version: string, };
\ No newline at end of file diff --git a/src-tauri/bindings/NorthstarThunderstoreReleaseWrapper.ts b/src-tauri/bindings/NorthstarThunderstoreReleaseWrapper.ts index 77593816..8551dde6 100644 --- a/src-tauri/bindings/NorthstarThunderstoreReleaseWrapper.ts +++ b/src-tauri/bindings/NorthstarThunderstoreReleaseWrapper.ts @@ -1,4 +1,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { NorthstarThunderstoreRelease } from "./NorthstarThunderstoreRelease"; -export interface NorthstarThunderstoreReleaseWrapper { label: string, value: NorthstarThunderstoreRelease, }
\ No newline at end of file +export type NorthstarThunderstoreReleaseWrapper = { label: string, value: NorthstarThunderstoreRelease, };
\ No newline at end of file diff --git a/src-tauri/bindings/PullsApiResponseElement.ts b/src-tauri/bindings/PullsApiResponseElement.ts index b2b5c476..489039e3 100644 --- a/src-tauri/bindings/PullsApiResponseElement.ts +++ b/src-tauri/bindings/PullsApiResponseElement.ts @@ -1,4 +1,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { CommitHead } from "./CommitHead"; -export interface PullsApiResponseElement { number: bigint, title: string, url: string, head: CommitHead, html_url: string, }
\ No newline at end of file +export type PullsApiResponseElement = { number: bigint, title: string, url: string, head: CommitHead, html_url: string, };
\ No newline at end of file diff --git a/src-tauri/bindings/ReleaseInfo.ts b/src-tauri/bindings/ReleaseInfo.ts index 249f986e..78426273 100644 --- a/src-tauri/bindings/ReleaseInfo.ts +++ b/src-tauri/bindings/ReleaseInfo.ts @@ -1,3 +1,3 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface ReleaseInfo { name: string, published_at: string, body: string, }
\ No newline at end of file +export type ReleaseInfo = { name: string, published_at: string, body: string, };
\ No newline at end of file diff --git a/src-tauri/bindings/Repo.ts b/src-tauri/bindings/Repo.ts index 836f39d7..eade8cd4 100644 --- a/src-tauri/bindings/Repo.ts +++ b/src-tauri/bindings/Repo.ts @@ -1,3 +1,3 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface Repo { full_name: string, }
\ No newline at end of file +export type Repo = { full_name: string, };
\ No newline at end of file diff --git a/src-tauri/bindings/Tag.ts b/src-tauri/bindings/Tag.ts index adbbff33..00ff5225 100644 --- a/src-tauri/bindings/Tag.ts +++ b/src-tauri/bindings/Tag.ts @@ -1,3 +1,3 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface Tag { name: string, }
\ No newline at end of file +export type Tag = { name: string, };
\ No newline at end of file diff --git a/src-tauri/bindings/TagWrapper.ts b/src-tauri/bindings/TagWrapper.ts index f9f56a51..ea7f0bcd 100644 --- a/src-tauri/bindings/TagWrapper.ts +++ b/src-tauri/bindings/TagWrapper.ts @@ -1,4 +1,7 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { Tag } from "./Tag"; -export interface TagWrapper { label: string, value: Tag, }
\ No newline at end of file +/** + * Wrapper type needed for frontend + */ +export type TagWrapper = { label: string, value: Tag, };
\ No newline at end of file diff --git a/src-tauri/bindings/ThunderstoreMod.ts b/src-tauri/bindings/ThunderstoreMod.ts index 25d119cb..a421334b 100644 --- a/src-tauri/bindings/ThunderstoreMod.ts +++ b/src-tauri/bindings/ThunderstoreMod.ts @@ -1,4 +1,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { ThunderstoreModVersion } from "./ThunderstoreModVersion"; -export interface ThunderstoreMod { name: string, full_name: string, owner: string, package_url: string, date_created: string, date_updated: string, uuid4: string, rating_score: number, is_pinned: boolean, is_deprecated: boolean, has_nsfw_content: boolean, categories: Array<string>, versions: Array<ThunderstoreModVersion>, }
\ No newline at end of file +export type ThunderstoreMod = { name: string, full_name: string, owner: string, package_url: string, date_created: string, date_updated: string, uuid4: string, rating_score: number, is_pinned: boolean, is_deprecated: boolean, has_nsfw_content: boolean, categories: Array<string>, versions: Array<ThunderstoreModVersion>, };
\ No newline at end of file diff --git a/src-tauri/bindings/ThunderstoreModVersion.ts b/src-tauri/bindings/ThunderstoreModVersion.ts index 7e76308e..a20f776f 100644 --- a/src-tauri/bindings/ThunderstoreModVersion.ts +++ b/src-tauri/bindings/ThunderstoreModVersion.ts @@ -1,3 +1,3 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface ThunderstoreModVersion { name: string, full_name: string, description: string, icon: string, version_number: string, dependencies: Array<string>, download_url: string, downloads: number, date_created: string, website_url: string, is_active: boolean, uuid4: string, file_size: bigint, }
\ No newline at end of file +export type ThunderstoreModVersion = { name: string, full_name: string, description: string, icon: string, version_number: string, dependencies: Array<string>, download_url: string, downloads: number, date_created: string, website_url: string, is_active: boolean, uuid4: string, file_size: bigint, };
\ No newline at end of file diff --git a/src-tauri/src/constants.rs b/src-tauri/src/constants.rs index bd394ed0..47eeef19 100644 --- a/src-tauri/src/constants.rs +++ b/src-tauri/src/constants.rs @@ -31,12 +31,6 @@ pub const SECTION_ORDER: [&str; 11] = [ "feat", "fix", "docs", "style", "refactor", "build", "test", "i18n", "ci", "chore", "other", ]; -/// GitHub API endpoints for launcher/mods PRs -pub const PULLS_API_ENDPOINT_LAUNCHER: &str = - "https://api.github.com/repos/R2Northstar/NorthstarLauncher/pulls"; -pub const PULLS_API_ENDPOINT_MODS: &str = - "https://api.github.com/repos/R2Northstar/NorthstarMods/pulls"; - /// Statistics (players and servers counts) refresh delay pub const REFRESH_DELAY: Duration = Duration::from_secs(5 * 60); @@ -46,6 +40,12 @@ pub const FLIGHTCORE_REPO_NAME: &str = "R2NorthstarTools/FlightCore"; /// Northstar release repo name and org name on GitHub pub const NORTHSTAR_RELEASE_REPO_NAME: &str = "R2Northstar/Northstar"; +/// NorthstarLauncher repo name on GitHub +pub const NORTHSTAR_LAUNCHER_REPO_NAME: &str = "NorthstarLauncher"; + +/// NorthstarMods repo name on GitHub +pub const NORTHSTAR_MODS_REPO_NAME: &str = "NorthstarMods"; + /// URL to launcher commits API URL pub const NS_LAUNCHER_COMMITS_API_URL: &str = "https://api.github.com/repos/R2Northstar/NorthstarLauncher/commits"; diff --git a/src-tauri/src/github/pull_requests.rs b/src-tauri/src/github/pull_requests.rs index 91d8a5da..bf7a8fdb 100644 --- a/src-tauri/src/github/pull_requests.rs +++ b/src-tauri/src/github/pull_requests.rs @@ -1,6 +1,4 @@ -use crate::github::release_notes::fetch_github_releases_api; - -use crate::constants::{APP_USER_AGENT, PULLS_API_ENDPOINT_LAUNCHER, PULLS_API_ENDPOINT_MODS}; +use crate::constants::{APP_USER_AGENT, NORTHSTAR_LAUNCHER_REPO_NAME, NORTHSTAR_MODS_REPO_NAME}; use crate::repair_and_verify::check_is_valid_game_path; use crate::GameInstall; use anyhow::anyhow; @@ -29,7 +27,7 @@ struct CommitHead { #[derive(Serialize, Deserialize, Debug, Clone, TS)] #[ts(export)] pub struct PullsApiResponseElement { - number: i64, + number: u64, title: String, url: String, head: CommitHead, @@ -66,32 +64,56 @@ pub enum PullRequestType { } /// Parse pull requests from specified URL -pub async fn get_pull_requests(url: String) -> Result<Vec<PullsApiResponseElement>, String> { - let mut all_pull_requests: Vec<PullsApiResponseElement> = vec![]; +pub async fn get_pull_requests( + repo: PullRequestType, +) -> Result<Vec<PullsApiResponseElement>, anyhow::Error> { + let repo = match repo { + PullRequestType::Mods => NORTHSTAR_MODS_REPO_NAME, + PullRequestType::Launcher => NORTHSTAR_LAUNCHER_REPO_NAME, + }; - let mut i = 1; // pagination on GitHub starts with `1`. - loop { - let paginated_url = format!("{}?page={}", url, i); + // Grab list of PRs + let octocrab = octocrab::instance(); + let page = octocrab + .pulls("R2Northstar", repo) + .list() + .state(octocrab::params::State::Open) + .per_page(50) // Only grab 50 PRs + .page(1u32) + .send() + .await?; - let json_response = match fetch_github_releases_api(&paginated_url).await { - Ok(result) => result, - Err(err) => return Err(format!("Failed fetching GitHub API {err}")), + // Iterate over pull request elements and insert into struct + let mut all_pull_requests: Vec<PullsApiResponseElement> = vec![]; + for item in page.items { + let repo = Repo { + full_name: item + .head + .repo + .ok_or(anyhow!("repo not found"))? + .full_name + .ok_or(anyhow!("full_name not found"))?, }; - let pulls_response: Vec<PullsApiResponseElement> = - match serde_json::from_str(&json_response) { - Ok(res) => res, - Err(err) => return Err(err.to_string()), - }; + let head = CommitHead { + sha: item.head.sha, + gh_ref: item.head.ref_field, + repo, + }; - // Check if we still got a result - if pulls_response.is_empty() { - // Empty result means we went through all pages with content - break; - } + // TODO there's probably a way to automatically serialize into the struct but I don't know yet how to + let elem = PullsApiResponseElement { + number: item.number, + title: item.title.ok_or(anyhow!("title not found"))?, + url: item.url, + head, + html_url: item + .html_url + .ok_or(anyhow!("html_url not found"))? + .to_string(), + }; - all_pull_requests.extend(pulls_response); - i += 1; + all_pull_requests.push(elem); } Ok(all_pull_requests) @@ -102,12 +124,10 @@ pub async fn get_pull_requests(url: String) -> Result<Vec<PullsApiResponseElemen pub async fn get_pull_requests_wrapper( install_type: PullRequestType, ) -> Result<Vec<PullsApiResponseElement>, String> { - let api_pr_url = match install_type { - PullRequestType::Mods => PULLS_API_ENDPOINT_MODS, - PullRequestType::Launcher => PULLS_API_ENDPOINT_LAUNCHER, - }; - - get_pull_requests(api_pr_url.to_string()).await + match get_pull_requests(install_type).await { + Ok(res) => Ok(res), + Err(err) => Err(err.to_string()), + } } pub async fn check_github_api(url: &str) -> Result<serde_json::Value, Box<dyn std::error::Error>> { @@ -190,8 +210,6 @@ pub async fn get_launcher_download_link(commit_sha: String) -> Result<String, St for artifact in artifacts_response.artifacts { // Make sure artifact and CI run commit head sha match if artifact.workflow_run.head_sha == workflow_run.head_sha { - dbg!(artifact.id); - // Download artifact return Ok(format!("https://nightly.link/R2Northstar/NorthstarLauncher/actions/artifacts/{}.zip", artifact.id)); } diff --git a/src-tauri/src/github/release_notes.rs b/src-tauri/src/github/release_notes.rs index 16b65183..e3a14537 100644 --- a/src-tauri/src/github/release_notes.rs +++ b/src-tauri/src/github/release_notes.rs @@ -1,4 +1,3 @@ -use crate::constants::APP_USER_AGENT; use serde::{Deserialize, Serialize}; use std::vec::Vec; use ts_rs::TS; @@ -18,35 +17,31 @@ pub struct FlightCoreVersion { published_at: String, } -// Fetches repo release API and returns response as string -pub async fn fetch_github_releases_api(url: &str) -> Result<String, anyhow::Error> { - log::info!("Fetching releases notes from GitHub API"); - - let client = reqwest::Client::new(); - let res = client - .get(url) - .header(reqwest::header::USER_AGENT, APP_USER_AGENT) - .send() - .await? - .text() - .await?; - - Ok(res) -} - /// Gets newest FlighCore version from GitHub #[tauri::command] pub async fn get_newest_flightcore_version() -> Result<FlightCoreVersion, String> { // Get newest version number from GitHub API log::info!("Checking GitHub API"); - let url = "https://api.github.com/repos/R2NorthstarTools/FlightCore/releases/latest"; - let res = match fetch_github_releases_api(url).await { - Ok(res) => res, - Err(err) => return Err(format!("Failed getting newest FlightCore version: {err}")), - }; + let octocrab = octocrab::instance(); + let page = octocrab + .repos("R2NorthstarTools", "FlightCore") + .releases() + .list() + // Optional Parameters + .per_page(1) + .page(1u32) + // Send the request + .send() + .await + .map_err(|err| err.to_string())?; - let flightcore_version: FlightCoreVersion = - serde_json::from_str(&res).expect("JSON was not well-formatted"); + // Get newest element + let latest_release_item = &page.items[0]; + + let flightcore_version = FlightCoreVersion { + tag_name: latest_release_item.tag_name.clone(), + published_at: latest_release_item.published_at.unwrap().to_rfc3339(), + }; log::info!("Done checking GitHub API"); Ok(flightcore_version) @@ -98,20 +93,109 @@ pub async fn check_is_flightcore_outdated() -> Result<bool, String> { #[tauri::command] pub async fn get_northstar_release_notes() -> Result<Vec<ReleaseInfo>, String> { - let url = "https://api.github.com/repos/R2Northstar/Northstar/releases"; - let res = match fetch_github_releases_api(url).await { - Ok(res) => res, - Err(err) => return Err(format!("Failed getting Northstar release notes: {err}")), - }; + let octocrab = octocrab::instance(); + let page = octocrab + .repos("R2Northstar", "Northstar") + .releases() + .list() + // Optional Parameters + .per_page(25) + .page(1u32) + // Send the request + .send() + .await + .map_err(|err| err.to_string())?; + + // TODO there's probably a way to automatically serialize into the struct but I don't know yet how to + let mut release_info_vector: Vec<ReleaseInfo> = vec![]; + for item in page.items { + let release_info = ReleaseInfo { + name: item.name.ok_or(String::from("Release name not found"))?, + published_at: item + .published_at + .ok_or(String::from("Release date not found"))? + .to_rfc3339(), + body: item.body.ok_or(String::from("Release body not found"))?, + }; + release_info_vector.push(release_info); + } - let release_info_vector: Vec<ReleaseInfo> = match serde_json::from_str(&res) { - Ok(res) => res, - Err(err) => { - log::warn!("{err}"); - return Err("Could not fetch release notes. JSON was not well-formatted".to_string()); - } - }; log::info!("Done checking GitHub API"); Ok(release_info_vector) } + +/// Checks latest GitHub release and generates a announcement message for Discord based on it +#[tauri::command] +pub async fn generate_release_note_announcement() -> Result<String, String> { + let octocrab = octocrab::instance(); + let page = octocrab + .repos("R2Northstar", "Northstar") + .releases() + .list() + // Optional Parameters + .per_page(1) + .page(1u32) + // Send the request + .send() + .await + .unwrap(); + + // Get newest element + let latest_release_item = &page.items[0]; + + // Extract the URL to the GitHub release note + let github_release_link = latest_release_item.html_url.clone(); + + // Extract release version number + let current_ns_version = &latest_release_item.tag_name; + + // Extract changelog and format it + let changelog = remove_markdown_links::remove_markdown_links( + latest_release_item + .body + .as_ref() + .unwrap() + .split("**Contributors:**") + .next() + .unwrap() + .trim(), + ); + + // Strings to insert for different sections + // Hardcoded for now + let general_info = "REPLACE ME"; + let modders_info = "Mod compatibility should not be impacted"; + let server_hosters_info = "REPLACE ME"; + + // Build announcement string + let return_string = format!( + r"Hello beautiful people <3 +**Northstar `{current_ns_version}` is out!** + +{general_info} + +__**Modders:**__ + +{modders_info} + +__**Server hosters:**__ + +{server_hosters_info} + +__**Changelog:**__ +``` +{changelog} +``` +{github_release_link} + +Checkout #installation on how to install/update Northstar +(the process is the same for both, using a Northstar installer like FlightCore, Viper, or VTOL is recommended over manual installation) + +If you do notice any bugs, please open an issue on Github or drop a message in the thread below +" + ); + + // Return built announcement message + Ok(return_string.to_string()) +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 1fc55678..0654d626 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -65,7 +65,7 @@ fn main() { }, )); - match tauri::Builder::default() + let tauri_builder_res = tauri::Builder::default() .plugin(tauri_plugin_store::Builder::default().build()) .setup(|app| { let app_handle = app.app_handle(); @@ -124,6 +124,7 @@ fn main() { github::pull_requests::get_launcher_download_link, github::pull_requests::get_pull_requests_wrapper, github::release_notes::check_is_flightcore_outdated, + github::release_notes::generate_release_note_announcement, github::release_notes::get_newest_flightcore_version, github::release_notes::get_northstar_release_notes, mod_management::delete_northstar_mod, @@ -161,8 +162,9 @@ fn main() { util::kill_northstar, util::open_repair_window, ]) - .run(tauri::generate_context!()) - { + .run(tauri::generate_context!()); + + match tauri_builder_res { Ok(()) => (), Err(err) => { // Failed to launch system native web view diff --git a/src-tauri/src/mod_management/mod.rs b/src-tauri/src/mod_management/mod.rs index ab639b11..049eaa6e 100644 --- a/src-tauri/src/mod_management/mod.rs +++ b/src-tauri/src/mod_management/mod.rs @@ -414,7 +414,6 @@ async fn get_ns_mod_download_url(thunderstore_mod_string: &str) -> Result<String // Iterate over all versions of a given mod for ns_mod in ns_mod.versions.values() { if ns_mod.url.contains(&ts_mod_string_url) { - dbg!(ns_mod.clone()); return Ok(ns_mod.url.clone()); } } @@ -437,7 +436,6 @@ async fn get_mod_dependencies(thunderstore_mod_string: &str) -> Result<Vec<Strin // Iterate over all versions of a given mod for ns_mod in ns_mod.versions.values() { if ns_mod.url.contains(&ts_mod_string_url) { - dbg!(ns_mod.clone()); return Ok(ns_mod.deps.clone()); } } diff --git a/src-tauri/src/northstar/mod.rs b/src-tauri/src/northstar/mod.rs index 9191c595..0b37c3f6 100644 --- a/src-tauri/src/northstar/mod.rs +++ b/src-tauri/src/northstar/mod.rs @@ -7,6 +7,15 @@ use crate::util::check_ea_app_or_origin_running; use crate::{constants::CORE_MODS, platform_specific::get_host_os, GameInstall, InstallType}; use crate::{NorthstarThunderstoreRelease, NorthstarThunderstoreReleaseWrapper}; use anyhow::anyhow; +use serde::{Deserialize, Serialize}; +use ts_rs::TS; + +#[derive(Serialize, Deserialize, Debug, Clone, TS)] +#[ts(export)] +pub struct NorthstarLaunchOptions { + launch_via_steam: bool, + bypass_checks: bool, +} /// Gets list of available Northstar versions from Thunderstore #[tauri::command] @@ -150,14 +159,12 @@ pub fn get_northstar_version_number(game_install: GameInstall) -> Result<String, #[tauri::command] pub fn launch_northstar( game_install: GameInstall, - launch_via_steam: Option<bool>, - bypass_checks: Option<bool>, + launch_options: NorthstarLaunchOptions, ) -> Result<String, String> { dbg!(game_install.clone()); - let launch_via_steam = launch_via_steam.unwrap_or(false); - if launch_via_steam { - return launch_northstar_steam(game_install, bypass_checks); + if launch_options.launch_via_steam { + return launch_northstar_steam(game_install); } let host_os = get_host_os(); @@ -172,13 +179,11 @@ pub fn launch_northstar( )); } - return launch_northstar_steam(game_install, bypass_checks); + return launch_northstar_steam(game_install); } - let bypass_checks = bypass_checks.unwrap_or(false); - // Only check guards if bypassing checks is not enabled - if !bypass_checks { + if !launch_options.bypass_checks { // Some safety checks before, should have more in the future if get_northstar_version_number(game_install.clone()).is_err() { return Err(anyhow!("Not all checks were met").to_string()); @@ -224,10 +229,7 @@ pub fn launch_northstar( } /// Prepare Northstar and Launch through Steam using the Browser Protocol -pub fn launch_northstar_steam( - game_install: GameInstall, - _bypass_checks: Option<bool>, -) -> Result<String, String> { +pub fn launch_northstar_steam(game_install: GameInstall) -> Result<String, String> { if !matches!(game_install.install_type, InstallType::STEAM) { return Err("Titanfall2 was not installed via Steam".to_string()); } diff --git a/src-tauri/src/repair_and_verify/mod.rs b/src-tauri/src/repair_and_verify/mod.rs index c752a3ab..3c861609 100644 --- a/src-tauri/src/repair_and_verify/mod.rs +++ b/src-tauri/src/repair_and_verify/mod.rs @@ -92,7 +92,6 @@ pub fn clean_up_download_folder( Ok(contents) => contents, Err(_) => continue, }; - // dbg!(download_dir_contents); let mut count = 0; download_dir_contents.for_each(|_| count += 1); diff --git a/src-tauri/src/util.rs b/src-tauri/src/util.rs index ad09eec2..1d355997 100644 --- a/src-tauri/src/util.rs +++ b/src-tauri/src/util.rs @@ -2,7 +2,6 @@ use anyhow::{Context, Result}; use serde::{Deserialize, Serialize}; -use sysinfo::{ProcessExt, SystemExt}; use zip::ZipArchive; use crate::constants::{APP_USER_AGENT, MASTER_SERVER_URL, SERVER_BROWSER_ENDPOINT}; diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 9829c412..d660b4f6 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "FlightCore", - "version": "2.18.1" + "version": "2.19.3" }, "tauri": { "allowlist": { diff --git a/src-vue/package-lock.json b/src-vue/package-lock.json index fc44a34e..281b1c52 100644 --- a/src-vue/package-lock.json +++ b/src-vue/package-lock.json @@ -9,12 +9,12 @@ "version": "0.0.0", "dependencies": { "@element-plus/icons-vue": "^2.0.9", - "element-plus": "^2.5.3", - "marked": "^11.2.0", + "element-plus": "^2.6.0", + "marked": "^12.0.1", "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store#9bd993aa67766596638bbfd91e79a1bf8f632014", - "vue": "^3.4.15", - "vue-i18n": "^9.9.0", - "vue-router": "^4.2.5", + "vue": "^3.4.21", + "vue-i18n": "^9.10.1", + "vue-router": "^4.3.0", "vuex": "^4.0.2" }, "devDependencies": { @@ -22,13 +22,13 @@ "@vitejs/plugin-vue": "^3.1.0", "typescript": "^5.3.3", "vite": "^3.1.0", - "vue-tsc": "^1.8.27" + "vue-tsc": "^2.0.4" } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -107,12 +107,12 @@ "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==" }, "node_modules/@intlify/core-base": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.9.0.tgz", - "integrity": "sha512-C7UXPymDIOlMGSNjAhNLtKgzITc/8BjINK5gNKXg8GiWCTwL6n3MWr55czksxn8RM5wTMz0qcLOFT+adtaVQaA==", + "version": "9.10.1", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.10.1.tgz", + "integrity": "sha512-0+Wtjj04GIyglh5KKiNjRwgjpHrhqqGZhaKY/QVjjogWKZq5WHROrTi84pNVsRN18QynyPmjtsVUWqFKPQ45xQ==", "dependencies": { - "@intlify/message-compiler": "9.9.0", - "@intlify/shared": "9.9.0" + "@intlify/message-compiler": "9.10.1", + "@intlify/shared": "9.10.1" }, "engines": { "node": ">= 16" @@ -122,11 +122,11 @@ } }, "node_modules/@intlify/message-compiler": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.9.0.tgz", - "integrity": "sha512-yDU/jdUm9KuhEzYfS+wuyja209yXgdl1XFhMlKtXEgSFTxz4COZQCRXXbbH8JrAjMsaJ7bdoPSLsKlY6mXG2iA==", + "version": "9.10.1", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.10.1.tgz", + "integrity": "sha512-b68UTmRhgZfswJZI7VAgW6BXZK5JOpoi5swMLGr4j6ss2XbFY13kiw+Hu+xYAfulMPSapcHzdWHnq21VGnMCnA==", "dependencies": { - "@intlify/shared": "9.9.0", + "@intlify/shared": "9.10.1", "source-map-js": "^1.0.2" }, "engines": { @@ -137,9 +137,9 @@ } }, "node_modules/@intlify/shared": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.9.0.tgz", - "integrity": "sha512-1ECUyAHRrzOJbOizyGufYP2yukqGrWXtkmTu4PcswVnWbkcjzk3YQGmJ0bLkM7JZ0ZYAaohLGdYvBYnTOGYJ9g==", + "version": "9.10.1", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.10.1.tgz", + "integrity": "sha512-liyH3UMoglHBUn70iCYcy9CQlInx/lp50W2aeSxqqrvmG+LDj/Jj7tBJhBoQL4fECkldGhbmW0g2ommHfL6Wmw==", "engines": { "node": ">= 16" }, @@ -218,97 +218,95 @@ } }, "node_modules/@volar/language-core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", - "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.1.0.tgz", + "integrity": "sha512-BrYEgYHx92ocpt1OUxJs2x3TAXEjpPLxsQoARb96g2GdF62xnfRQUqCNBwiU7Z3MQ/0tOAdqdHNYNmrFtx6q4A==", "dev": true, "dependencies": { - "@volar/source-map": "1.11.1" + "@volar/source-map": "2.1.0" } }, "node_modules/@volar/source-map": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", - "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.1.0.tgz", + "integrity": "sha512-VPyi+DTv67cvUOkUewzsOQJY3VUhjOjQxigT487z/H7tEI8ZFd5RksC5afk3JelOK+a/3Y8LRDbKmYKu1dz87g==", "dev": true, "dependencies": { - "muggle-string": "^0.3.1" + "muggle-string": "^0.4.0" } }, "node_modules/@volar/typescript": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", - "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.1.0.tgz", + "integrity": "sha512-2cicVoW4q6eU/omqfOBv+6r9JdrF5bBelujbJhayPNKiOj/xwotSJ/DM8IeMvTZvtkOZkm6suyOCLEokLY0w2w==", "dev": true, "dependencies": { - "@volar/language-core": "1.11.1", + "@volar/language-core": "2.1.0", "path-browserify": "^1.0.1" } }, "node_modules/@vue/compiler-core": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.15.tgz", - "integrity": "sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", "dependencies": { - "@babel/parser": "^7.23.6", - "@vue/shared": "3.4.15", + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz", - "integrity": "sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", "dependencies": { - "@vue/compiler-core": "3.4.15", - "@vue/shared": "3.4.15" + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz", - "integrity": "sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", "dependencies": { - "@babel/parser": "^7.23.6", - "@vue/compiler-core": "3.4.15", - "@vue/compiler-dom": "3.4.15", - "@vue/compiler-ssr": "3.4.15", - "@vue/shared": "3.4.15", + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", "estree-walker": "^2.0.2", - "magic-string": "^0.30.5", - "postcss": "^8.4.33", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz", - "integrity": "sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", "dependencies": { - "@vue/compiler-dom": "3.4.15", - "@vue/shared": "3.4.15" + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" } }, "node_modules/@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz", + "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" }, "node_modules/@vue/language-core": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", - "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.4.tgz", + "integrity": "sha512-IYlVEICXKRWYjRQ4JyPlXhydU/p0C7uY5LpqXyJzzJHWo44LWHZtTP3USfWNQif3VAK5QZpdZKQ5HYIeQL3BJQ==", "dev": true, "dependencies": { - "@volar/language-core": "~1.11.1", - "@volar/source-map": "~1.11.1", - "@vue/compiler-dom": "^3.3.0", - "@vue/shared": "^3.3.0", + "@volar/language-core": "~2.1.0", + "@vue/compiler-dom": "^3.4.0", + "@vue/shared": "^3.4.0", "computeds": "^0.0.1", "minimatch": "^9.0.3", - "muggle-string": "^0.3.1", "path-browserify": "^1.0.1", "vue-template-compiler": "^2.7.14" }, @@ -322,48 +320,48 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.15.tgz", - "integrity": "sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz", + "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==", "dependencies": { - "@vue/shared": "3.4.15" + "@vue/shared": "3.4.21" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.15.tgz", - "integrity": "sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz", + "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==", "dependencies": { - "@vue/reactivity": "3.4.15", - "@vue/shared": "3.4.15" + "@vue/reactivity": "3.4.21", + "@vue/shared": "3.4.21" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.15.tgz", - "integrity": "sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz", + "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==", "dependencies": { - "@vue/runtime-core": "3.4.15", - "@vue/shared": "3.4.15", + "@vue/runtime-core": "3.4.21", + "@vue/shared": "3.4.21", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.15.tgz", - "integrity": "sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz", + "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==", "dependencies": { - "@vue/compiler-ssr": "3.4.15", - "@vue/shared": "3.4.15" + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21" }, "peerDependencies": { - "vue": "3.4.15" + "vue": "3.4.21" } }, "node_modules/@vue/shared": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.15.tgz", - "integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==" + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==" }, "node_modules/@vueuse/core": { "version": "9.13.0", @@ -491,9 +489,9 @@ "dev": true }, "node_modules/element-plus": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.5.3.tgz", - "integrity": "sha512-wmtstxaMkD6UinIgD+45CjrhbRh4u0vt+/GgxfPeMLt5pDpIVwZFjkUaVcWqqxcxd5a80HP3XlDF74fW7wim9A==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.6.0.tgz", + "integrity": "sha512-MP+N48P+diyndR+GjY+0VOrUmFnajD4U0CkrXIMzmeRmq4+dwi0bdzVo587v4wDo9Hs+ggviyacqm3NS8JYVqw==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.3.1", @@ -979,9 +977,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -990,9 +988,9 @@ } }, "node_modules/marked": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-11.2.0.tgz", - "integrity": "sha512-HR0m3bvu0jAPYiIvLUUQtdg1g6D247//lvcekpHO1WMvbwDlwSkZAX9Lw4F4YHE1T0HaaNve0tuAWuV1UJ6vtw==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.1.tgz", + "integrity": "sha512-Y1/V2yafOcOdWQCX0XpAKXzDakPOpn6U0YLxTJs3cww6VxOzZV1BTOOYWLvH3gX38cq+iLwljHHTnMtlDfg01Q==", "bin": { "marked": "bin/marked.js" }, @@ -1021,9 +1019,9 @@ } }, "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", "dev": true }, "node_modules/nanoid": { @@ -1066,9 +1064,9 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "funding": [ { "type": "opencollective", @@ -1188,9 +1186,9 @@ } }, "node_modules/vite": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.7.tgz", - "integrity": "sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.8.tgz", + "integrity": "sha512-EtQU16PLIJpAZol2cTLttNP1mX6L0SyI0pgQB1VOoWeQnMSvtiwovV3D6NcjN8CZQWWyESD2v5NGnpz5RvgOZA==", "dev": true, "dependencies": { "esbuild": "^0.15.9", @@ -1237,15 +1235,15 @@ } }, "node_modules/vue": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.15.tgz", - "integrity": "sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==", + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz", + "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==", "dependencies": { - "@vue/compiler-dom": "3.4.15", - "@vue/compiler-sfc": "3.4.15", - "@vue/runtime-dom": "3.4.15", - "@vue/server-renderer": "3.4.15", - "@vue/shared": "3.4.15" + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-sfc": "3.4.21", + "@vue/runtime-dom": "3.4.21", + "@vue/server-renderer": "3.4.21", + "@vue/shared": "3.4.21" }, "peerDependencies": { "typescript": "*" @@ -1257,12 +1255,12 @@ } }, "node_modules/vue-i18n": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.9.0.tgz", - "integrity": "sha512-xQ5SxszUAqK5n84N+uUyHH/PiQl9xZ24FOxyAaNonmOQgXeN+rD9z/6DStOpOxNFQn4Cgcquot05gZc+CdOujA==", + "version": "9.10.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.10.1.tgz", + "integrity": "sha512-37HVJQZ/pZaRXGzFmmMomM1u1k7kndv3xCBPYHKEVfv5W3UVK67U/TpBug71ILYLNmjHLHdvTUPRF81pFT5fFg==", "dependencies": { - "@intlify/core-base": "9.9.0", - "@intlify/shared": "9.9.0", + "@intlify/core-base": "9.10.1", + "@intlify/shared": "9.10.1", "@vue/devtools-api": "^6.5.0" }, "engines": { @@ -1276,11 +1274,11 @@ } }, "node_modules/vue-router": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", - "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz", + "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", "dependencies": { - "@vue/devtools-api": "^6.5.0" + "@vue/devtools-api": "^6.5.1" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -1300,13 +1298,13 @@ } }, "node_modules/vue-tsc": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", - "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.0.4.tgz", + "integrity": "sha512-FJk+F1QhqROr6DK8raTuWk5ezNw1/kZ+7TYhc08k+cpvb1fmi7wguPZHX0svIhT4bAxCGDtF8534It8fiAkScg==", "dev": true, "dependencies": { - "@volar/typescript": "~1.11.1", - "@vue/language-core": "1.8.27", + "@volar/typescript": "~2.1.0", + "@vue/language-core": "2.0.4", "semver": "^7.5.4" }, "bin": { diff --git a/src-vue/package.json b/src-vue/package.json index 263aabef..13801f5e 100644 --- a/src-vue/package.json +++ b/src-vue/package.json @@ -10,12 +10,12 @@ }, "dependencies": { "@element-plus/icons-vue": "^2.0.9", - "element-plus": "^2.5.3", - "marked": "^11.2.0", + "element-plus": "^2.6.0", + "marked": "^12.0.1", "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store#9bd993aa67766596638bbfd91e79a1bf8f632014", - "vue": "^3.4.15", - "vue-i18n": "^9.9.0", - "vue-router": "^4.2.5", + "vue": "^3.4.21", + "vue-i18n": "^9.10.1", + "vue-router": "^4.3.0", "vuex": "^4.0.2" }, "devDependencies": { @@ -23,6 +23,6 @@ "@vitejs/plugin-vue": "^3.1.0", "typescript": "^5.3.3", "vite": "^3.1.0", - "vue-tsc": "^1.8.27" + "vue-tsc": "^2.0.4" } } diff --git a/src-vue/src/i18n/lang/pl.json b/src-vue/src/i18n/lang/pl.json index c11c7f06..175d6eb3 100644 --- a/src-vue/src/i18n/lang/pl.json +++ b/src-vue/src/i18n/lang/pl.json @@ -15,7 +15,8 @@ "extracting": "Wypakowywanie", "done": "Gotowe", "success": "Sukces", - "informationShort": "Informacja" + "informationShort": "Informacja", + "confirm": "Potwierdź" }, "play": { "button": { @@ -121,7 +122,12 @@ "profile": { "active": "Aktywny profil", "dialog": { - "title": "Profile" + "title": "Profile", + "delete": "Usuń", + "clone": "Klonuj", + "new_profile_name": "Wprowadź nową nazwę profilu", + "create_empty": "Nowy profil", + "delete_confirm": "Czy na pewno chcesz usunąć ten profil?" }, "edit": "Edytuj profile" } @@ -150,7 +156,12 @@ "title": "Nieprawidłowy profil", "text": "Profil, na który próbowano się przełączyć, nie jest już prawidłowy." } - } + }, + "no_new": { + "title": "Aktualny", + "text": "Nie ma tu nic do obejrzenia!" + }, + "date_prefix": "na" }, "channels": { "release": { diff --git a/src-vue/src/plugins/store.ts b/src-vue/src/plugins/store.ts index a1a67e2b..b61ac573 100644 --- a/src-vue/src/plugins/store.ts +++ b/src-vue/src/plugins/store.ts @@ -15,6 +15,7 @@ import { router } from "../main"; import { ReleaseInfo } from "../../../src-tauri/bindings/ReleaseInfo"; import { ThunderstoreMod } from "../../../src-tauri/bindings/ThunderstoreMod"; import { NorthstarMod } from "../../../src-tauri/bindings/NorthstarMod"; +import { NorthstarLaunchOptions } from "../../../src-tauri/bindings/NorthstarLaunchOptions" import { searchModule } from './modules/search'; import { i18n } from '../main'; import { pullRequestModule } from './modules/pull_requests'; @@ -172,9 +173,10 @@ export const store = createStore<FlightCoreStore>({ } } }, - async launchGame(state: any, no_checks = false) { - if (no_checks) { - await invoke("launch_northstar", { gameInstall: state.game_install, bypassChecks: no_checks }) + async launchGame(state: any, launch_options: NorthstarLaunchOptions = { launch_via_steam: false, bypass_checks: false}) { + + if (launch_options.bypass_checks) { + await invoke("launch_northstar", { gameInstall: state.game_install, launchOptions: launch_options }) .then((message) => { console.log("Launched with bypassed checks"); console.log(message); @@ -224,7 +226,7 @@ export const store = createStore<FlightCoreStore>({ // Game is ready to play. case NorthstarState.READY_TO_PLAY: - await invoke("launch_northstar", { gameInstall: state.game_install }) + await invoke("launch_northstar", { gameInstall: state.game_install, launchOptions: launch_options }) .then((message) => { console.log(message); // NorthstarState.RUNNING @@ -240,8 +242,8 @@ export const store = createStore<FlightCoreStore>({ break; } }, - async launchGameSteam(state: any, no_checks = false) { - await invoke("launch_northstar", { gameInstall: state.game_install, launchViaSteam: true, bypassChecks: no_checks }) + async launchGameSteam(state: any, launch_options: NorthstarLaunchOptions = { launch_via_steam: true, bypass_checks: false}) { + await invoke("launch_northstar", { gameInstall: state.game_install, launchOptions: launch_options }) .then((message) => { showNotification('Success'); }) @@ -254,7 +256,13 @@ export const store = createStore<FlightCoreStore>({ }, async fetchReleaseNotes(state: FlightCoreStore) { if (state.releaseNotes.length !== 0) return; - state.releaseNotes = await invoke("get_northstar_release_notes"); + await invoke<ReleaseInfo[]>("get_northstar_release_notes") + .then((message) => { + state.releaseNotes = message; + }) + .catch((error) => { + showErrorNotification(error); + }); }, async fetchThunderstoreMods(state: FlightCoreStore) { // To check if some Thunderstore mods are already installed/outdated, we need to load locally-installed mods. diff --git a/src-vue/src/views/DeveloperView.vue b/src-vue/src/views/DeveloperView.vue index aa586e6e..f3847d36 100644 --- a/src-vue/src/views/DeveloperView.vue +++ b/src-vue/src/views/DeveloperView.vue @@ -93,7 +93,7 @@ :label="item.label" :value="item.value" /> - </el-select> + </el-select> <el-button type="primary" @click="getTags"> Get tags </el-button> @@ -129,6 +129,19 @@ :rows="5" placeholder="Output" /> + + <h3>Release announcements</h3> + + <el-button type="primary" @click="generateReleaseAnnouncementMessage"> + Generate release announcement + </el-button> + + <el-input + v-model="discord_release_announcement_text" + type="textarea" + :rows="5" + placeholder="Output" + /> </el-scrollbar> </div> </template> @@ -136,6 +149,7 @@ <script lang="ts"> import { defineComponent } from "vue"; import { invoke } from "@tauri-apps/api"; +import { NorthstarLaunchOptions } from "../../../src-tauri/bindings/NorthstarLaunchOptions"; import { TagWrapper } from "../../../src-tauri/bindings/TagWrapper"; import { NorthstarThunderstoreReleaseWrapper } from "../../../src-tauri/bindings/NorthstarThunderstoreReleaseWrapper"; import PullRequestsSelector from "../components/PullRequestsSelector.vue"; @@ -151,6 +165,7 @@ export default defineComponent({ return { mod_to_install_field_string: "", release_notes_text: "", + discord_release_announcement_text: "", first_tag: { label: '', value: { name: '' } }, second_tag: { label: '', value: { name: '' } }, ns_release_tags: [] as TagWrapper[], @@ -206,10 +221,12 @@ export default defineComponent({ }); }, async launchGameWithoutChecks() { - this.$store.commit('launchGame', true); + let launch_options: NorthstarLaunchOptions = { bypass_checks: true, launch_via_steam: false }; + this.$store.commit('launchGame', launch_options); }, async launchGameViaSteam() { - this.$store.commit('launchGameSteam', true); + let launch_options: NorthstarLaunchOptions = { bypass_checks: false, launch_via_steam: true }; + this.$store.commit('launchGameSteam', launch_options); }, async getInstalledMods() { await invoke("get_installed_mods_and_properties", { gameInstall: this.$store.state.game_install }).then((message) => { @@ -336,6 +353,16 @@ export default defineComponent({ showErrorNotification("Failed copying to clipboard"); }); }, + async generateReleaseAnnouncementMessage() { + await invoke<string>("generate_release_note_announcement", { }) + .then((message) => { + this.discord_release_announcement_text = message; + showNotification("Done", "Generated announcement"); + }) + .catch((error) => { + showErrorNotification(error); + }); + }, } }); </script> |