From 98d918dda2fb0037b6d9ccb5e454a0e9a2c5f517 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Fri, 24 Jul 2026 17:02:40 -0400 Subject: [PATCH] M10 (task 2022, issue 2021): Arch pacman package + commit icon set (native, system libs) Native-first fix for the AppImage black window: a PKGBUILD that builds from source, linked against SYSTEM graphics libs, so it renders on the host driver. - desktop/packaging/arch/{PKGBUILD,thoughtsync.desktop,README.md}: `makepkg -si` installs /usr/bin/thoughtsync + .desktop + icon; deps webkit2gtk-4.1/gtk3/...; builds the frontend + `cargo build --release` (no tauri-cli). Uses the host graphics stack -> avoids EGL_BAD_PARAMETER. - Commit the icon set (desktop/src-tauri/icons/*.png, un-gitignored) so BOTH `cargo build` (pacman) and `cargo tauri build` (deb/appimage) work without a generate step; bundle.icon -> the 4 committed PNGs; drop the `cargo tauri icon` step from desktop.yml. - Broaden the WebKit software-render hardening (lib.rs) to ALL Linux (was AppImage-scoped) so the native build also renders if system WebKit is finicky. Can't CI-test the PKGBUILD (Arch-only; CI is Debian) -- operator builds locally. desktop.yml re-verifies the deb+AppImage build with the committed icons. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01FRgehjoz7Yv8LkUfADxACm --- .forgejo/workflows/desktop.yml | 5 -- desktop/packaging/arch/PKGBUILD | 68 +++++++++++++++++++++ desktop/packaging/arch/README.md | 31 ++++++++++ desktop/packaging/arch/thoughtsync.desktop | 9 +++ desktop/src-tauri/.gitignore | 4 -- desktop/src-tauri/icons/128x128.png | Bin 0 -> 4462 bytes desktop/src-tauri/icons/128x128@2x.png | Bin 0 -> 9127 bytes desktop/src-tauri/icons/32x32.png | Bin 0 -> 1043 bytes desktop/src-tauri/icons/icon.png | Bin 0 -> 21597 bytes desktop/src-tauri/src/lib.rs | 12 +--- desktop/src-tauri/tauri.conf.json | 3 +- 11 files changed, 112 insertions(+), 20 deletions(-) create mode 100644 desktop/packaging/arch/PKGBUILD create mode 100644 desktop/packaging/arch/README.md create mode 100644 desktop/packaging/arch/thoughtsync.desktop create mode 100644 desktop/src-tauri/icons/128x128.png create mode 100644 desktop/src-tauri/icons/128x128@2x.png create mode 100644 desktop/src-tauri/icons/32x32.png create mode 100644 desktop/src-tauri/icons/icon.png diff --git a/.forgejo/workflows/desktop.yml b/.forgejo/workflows/desktop.yml index 6b5c68d..bd6c862 100644 --- a/.forgejo/workflows/desktop.yml +++ b/.forgejo/workflows/desktop.yml @@ -45,11 +45,6 @@ jobs: run: npm ci && npm run build working-directory: frontend - # Generate the platform icon set from the committed 1024px source PNG. - - name: Generate app icons - run: cargo tauri icon app-icon.png - working-directory: desktop/src-tauri - - name: Rust format check run: cargo fmt --check working-directory: desktop/src-tauri diff --git a/desktop/packaging/arch/PKGBUILD b/desktop/packaging/arch/PKGBUILD new file mode 100644 index 0000000..67d852d --- /dev/null +++ b/desktop/packaging/arch/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer: bvandeusen +# +# ThoughtSync desktop (Tauri v2) — native Arch package. +# +# Built from THIS repo checkout, from SOURCE, linked against your SYSTEM libraries. +# That is the whole point: it uses the host's graphics stack (webkit2gtk-4.1 + your +# GPU driver), which avoids the bundled-AppImage "EGL_BAD_PARAMETER" black window. +# +# Usage (from a clone of the thoughtsync repo): +# cd desktop/packaging/arch +# makepkg -si +# +pkgname=thoughtsync-desktop +pkgver=0.1.0 +pkgrel=1 +pkgdesc="ThoughtSync desktop — local-first Keep-style thought capture" +arch=('x86_64') +url="https://git.fabledsword.com/bvandeusen/thoughtsync" +license=('MIT') +depends=( + 'webkit2gtk-4.1' + 'gtk3' + 'cairo' + 'gdk-pixbuf2' + 'glib2' + 'libsoup3' + 'pango' + 'hicolor-icon-theme' + 'desktop-file-utils' + 'librsvg' +) +makedepends=('rust' 'nodejs' 'npm' 'git' 'pkgconf') +# Cargo's release profile already does its own LTO; don't let makepkg inject C-level +# LTO flags into the crates that build native code. +options=('!lto') + +# Locate the repo root this PKGBUILD lives inside (desktop/packaging/arch/). +_repo() { git -C "$startdir" rev-parse --show-toplevel; } + +pkgver() { + cd "$startdir" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + local repo; repo="$(_repo)" + + # 1) Build the shared Vue frontend — it's embedded into the binary at compile time + # (tauri generate_context!), so it must exist before the cargo build. + cd "$repo/frontend" + npm ci + npm run build + + # 2) Compile the native binary against SYSTEM libraries (no bundling, no tauri-cli). + cd "$repo/desktop/src-tauri" + cargo build --release +} + +package() { + local repo; repo="$(_repo)" + + install -Dm755 "$repo/desktop/src-tauri/target/release/thoughtsync-desktop" \ + "$pkgdir/usr/bin/thoughtsync" + install -Dm644 "$repo/desktop/src-tauri/app-icon.png" \ + "$pkgdir/usr/share/pixmaps/thoughtsync.png" + install -Dm644 "$startdir/thoughtsync.desktop" \ + "$pkgdir/usr/share/applications/thoughtsync.desktop" +} diff --git a/desktop/packaging/arch/README.md b/desktop/packaging/arch/README.md new file mode 100644 index 0000000..0ae6b92 --- /dev/null +++ b/desktop/packaging/arch/README.md @@ -0,0 +1,31 @@ +# ThoughtSync desktop — Arch package + +A native Arch/pacman package, built **from source** so it links against your +**system** libraries (webkit2gtk-4.1 + your GPU driver). This is the robust install +on Arch/CachyOS: it avoids the bundled-AppImage `EGL_BAD_PARAMETER` black-window +problem entirely, and it installs a proper application-menu entry. + +## Install + +From a clone of the `thoughtsync` repo: + +```sh +cd desktop/packaging/arch +makepkg -si +``` + +`makepkg` will pull the build tools (`rust`, `nodejs`, `npm`) and runtime deps +(`webkit2gtk-4.1`, `gtk3`, …) via pacman, compile the frontend + the Rust binary, +and install: + +- `/usr/bin/thoughtsync` — the app +- `/usr/share/applications/thoughtsync.desktop` — the menu entry +- `/usr/share/pixmaps/thoughtsync.png` — the icon + +Then launch **ThoughtSync** from your app menu (or run `thoughtsync`). + +## Notes + +- Builds in-place from the checkout (`makepkg` reads the committed state via git). +- The compile takes a few minutes the first time (Rust release build). +- Uninstall: `sudo pacman -R thoughtsync-desktop`. diff --git a/desktop/packaging/arch/thoughtsync.desktop b/desktop/packaging/arch/thoughtsync.desktop new file mode 100644 index 0000000..7328f95 --- /dev/null +++ b/desktop/packaging/arch/thoughtsync.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=ThoughtSync +Comment=Capture a fleeting thought in a second +Exec=thoughtsync %U +Icon=thoughtsync +Terminal=false +Categories=Utility;Office; +StartupWMClass=ThoughtSync diff --git a/desktop/src-tauri/.gitignore b/desktop/src-tauri/.gitignore index 3b90f41..732d389 100644 --- a/desktop/src-tauri/.gitignore +++ b/desktop/src-tauri/.gitignore @@ -3,7 +3,3 @@ # Generated by Tauri /gen/schemas - -# App icons are generated from ../../frontend/public/icon.svg via `cargo tauri -# icon` (in CI before the build); not committed. -/icons/ diff --git a/desktop/src-tauri/icons/128x128.png b/desktop/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..bf909126c63f7a90c318db150d8dfbf4d90a20a0 GIT binary patch literal 4462 zcmZ`-cTm$^v;Gl6?@f5=O?vNA1R>PWJ4i>6V(29bLP7@>6anc)5Rn#YkRB0G5d{>iY^G1KO~Ju>Ln`KEZh{D1kI;9FxZ@e&qwXE%LsWo*oPvt9oT{{flC8Xo zx`L9rva+O{oVuKx?hdT>{{+B-@A&)P|NjFN(Noum0b>8l5aAE=36JoEh5ToXf}Fat zs=AWWf0Ho&uJZu^Mss7xEnE2PuafwCE_P8LvCBxN8WkU$Y>*naD0{8Yu@DAGA0iBL^(D~N`ep-nS7 z@*9s?29QXHeKu%(<;R5A!ZGa}>cLZeadbF$gyLT61UTpNYi@doKIm9=vYPH-5MhR~ z_vpl0@CuR|BIAJtbU0;B!l8zU$h#!)W?+qe1*0BP9rqg3fmA@1sSLj50Nf}_Nu1~Z z{DJ5V_)v{wEsHM4*f2Dh2dFZ+!Kx+(__s!04-oTXDB?0j9lK334Z5P0Iy!r!yPD*U zAt1>Ki3dhb&h;*JbESQtL3+b);0%gy>ZUI+R^DD42chJ06ke zR!7vZ0zX5`Ie|65dvMjqcry0S$bE6H>3vO?I@G9hN^ z>-F~f{ERrY6qq-Ros^Tr%7x+l88$mPUu8aZ;(owC@Yg@b7_7J*y&^Nw{x1DoBH^rT zg7zC$un$RgZctXQ*=B0T8ssASMyx;v4Gki9)^|UJs(2_h%p(`w9Vd{%@>#iQCQw`# zo>J7N)yDKvP2OUTMT3avT198QohhI6Q_leeZFa}Y()1r~)t3%%`A&q)|-^eTc@k}%P%O{L^&(!u&0Px6VENL8F*2XZ-FJRDnyLD zrY~g{!{Qcr`jQI$YcdvYG%**P3TTk0<@f)y*5sLse^JB}%!< zT9|dkNzHPrfLBhRS2})oWuOIRj5B83Ja8BH+ey0XrZ|!XkwL{0&WymB#kQJ9g)bYz zmv<5oIxGOLK`X-|lWWc5+B3@7FqdX;3rsuT9grAV0}sB8?@do0ToAu!SU8>O5rf1q z>jbJz)Tn(A7`}*|ErTgPT>ZWvOSxMqUfxWWVsNHr1b&G z6=249i=Lb;4-mA}pxATWSXHJK^O>FgO7+{^(}N1PjC?Y%{Xn3gIJW2xvptrE;T~<% zx-`fPV9Ix=v(Of)cM%juHBCvPjfOL>4}8y}I;u;AU4Tn~ndaC(*rfhHnN2~-md*-& z*7~DKp+BjYg8PM}WD}n7@4hL=c*DUXCQIG%V)GM}!ExoM+q&yf_()~^ct_INkgn4k z|L31Ck?u@zhH};j_k>3;9w(z*1V>TVij`z>l%pt>_YnW|PV`^vCIa9BE(Ows+oEf2 zYhTz~Dr7E7rWfuH(sTVP$$-$a81@T}gDpoK!z~tTlpV&B4&m#XI)kzHTH$T37G?fi z5weVaAmN6S?zR1wR{0LsS0wDjk4koUvZrZQTVjueKu|;u+wC28Mzc3TJ>0ayBsmESH{Z@^1YERAnoaLR zkUXl2@Te~KP34DVQ#9agAd~c$Yh~-H-=OoAaH)M@IBaqlU^f2lV40|k6hc^!&oTV; zpVqEpmXH)-pJtQCel+5<0yeh&paBj$ox@P?*8WKLz8=CN?X4jD)v zcx6iM;9yaB;(!@7cJ8NP`tEB#RKvcxE&q_>3k^5}$i)1K*ul!7oDVa$3bfN<_vR6A+QE*^<M%dfivwEwL($azA2$y< zwSobnr^oO{#l0Pixs&i0si?k6wJ3?Bwyf!p0F~tso+#<$(nY*>rpgnhn6`lzt1CH&l>k>RQ7!0i}iGgy^Mri-lQvpmD`3E1ARXjxn!h%)4z1gH+v zX{RgoOX=w}e#_X0RsB;hVqHb;P=8%hz~1XDib_fC-v7AM(!D3!$#C5%Qv6bbx7F1iFmI#^~aRhcXn=nZZ{@?_EwJu z^y3*w`>tcgjS5e^!_Hb7v|oPdx_Goc{|{cj^<`!1V>4kaP0k17p9I~GLTfq@Y6%Jw z^U3oH(lH=WZoR%D90GZNRhq&V^nG^$B{B-;JgO9%>2*JtRMD!|H6q@s7bY}1kuJx< z@R=82j;KWWC@C4q2bDJ ze>{B>xqepVeJRKpRIj|~BZ>%sy-Y)$r!Iex^}nfIndTQh_Ex&}*Iij$T`SV$mcxF{ z33PVm>XKyWXpXI{M45VIVUpyncPHL~fhN2z$-+Y7E4pATIG;f>_}W)@TTQ}#hC83# zo4=h`Y)FQiR!V5GxV9nB6^V*!6Tbi(aoO>yNBici?DyU{zIuEjt}$n?BEABtG%1-8 zmrN!*O5%xOBOdClJ)XdmOdTg$m0-rWrcV{q5=J`{k#T219=An%TA;1oC@&Ac;!E!5 zqWHVRG z80aJa?(FN+HInDuWm@E-JdSegr8B!BizUN0F8;bTxlUet3#b{iP59pV=}}r*O1A?| z(O&kXRcoW0-nYz0A^tj6Rw7c3id8iwinHjamX_f0Sw~!^Rz|e;w_<hkF#l<7>B{DOg)1XbR3R12o=K`Ijacl~ z^V?5Ism%Co&SD(lBO{H}Z^!@L;pUz9Ta~F={gxnrxIOi^0BZ_!$C}-J&*c4TBJEE_ zE0&O%zwH(u`vT8S&~S0kTM&&A%rey>dC?!`IK{+&7l?J*B-SG-tL#_In_%|-IotV);)W-ljcMS{*#AawxO?! zgAPCW$CNxs{ER(1fSg*mVKf}%M@Nw<{+oBCUo5-_%sbEDb1amq{8{*f{AnFoN5AsP z0Mz2f`6mP8A>i=-LT@T7MJAg8Q^1(Mk$Tfc`LcDXAu5}`-c98Ec+R)SLfDWks{M-D zxTX%-A2;cFqVOp&XsP=3uN#gWuQRpiz@2wbEtJ;z4D57bL}Q~2UPWy+z8Q`B7_dLO zm@G;5fs2kQOshSjeMy?+p8kHLTdp<)il_XoAEU`7SXX zl7~t7SW3zzY0VSB3)GQQ=hzS1ekqx5>bm}b-Na5>1p7^8DY(;@ zvS7?MW4&76XIy_SyR(;KS2nY2sY2)7zv$D)ttkpjO9Z)5j@^`*?{l$6h4jw13x@m+ zJ9^-N^4gBexv$AO===21?k`+x!}=6#Z#tl7uxEH}A(Ebf_2YCcpO3lWEha=Lv#xnZ z{;a0rh^dUbfQZAX)q2iuvH>E;W2GvIE%re!gOAKil_gWGL(PvY1@=Kb-Iy@cE80-A5Z1TsYNVFU=qXx~i)?mRhkpjQp2hP}a(L zV)IBqYC=_$#DLhKNH_#ii8!6jdrUJdoScV(nQ0Fn%i|q4sbbSB?W5@c>eNFe?7r80 zJuYLEMw^_MJZ|lTB{^T|w^NDoTRz+RKpw)t=j!BcVM`P5)WlR|Su%7mVHm($L=8kk zel+)Z!FGJOT$&rL-Sv3<+oilPA|8PpQW9$1?K|hLLDd~CdS{S)ThE4ytG>*nuWC1& zC{JbZuQ9r)vYw9N$KM3c@vf0<>Nqn87wddbptes9&q8MUILe6X5t{e$M-_$IFhTZoqB-U*6T z?s!hAQBMVVw?AS1xQpc?+hebb=0;>;G)(`8>Wj-6j>IfL6_7;UMzUedFq-Axz6uN+ zrLnwk_J*UhS`S|FEHaSx-bOMl2t00gc90Xdo1%VVZKp-~H>?T8HfN|x? zeQiz9<-cEkYe@<~A@jZa;11b38H`y$Jm}!}H-IGMd&kVz9_j0#Xy@$!G$0wc%q<*Bk5a;GO~&{Z;HX;ig38bhFkgnrQqga@BB3I|F3YPZh{q15cwYqzRqqAKE6md z&;L_L2CjHhPEl6&zl_iyRycq_{Lyzc)gJ{+Z{-B0S{dgM)Y?N_ufC>aFV}d-#|J}G z!!%!M3fW3o9lG8n_pNwP;c>l#qOV9b`it+e`POs9qgO(oRoxsPP)mN{X>-3F`N#l{ z7DT{azZ$c@Dq42^=1fp1At^-9Sg6e6$Yi4RXeMam=y8Qnno{Zi%UKE$45J&b?x-IGFSkQm`hZJvvyV^}OfO}B0eq*RO@ zUhFWqK^j>DICnT~wZ#29;gns{ICWeJ7UQXcZmPcRJ2CnmIn@zi-%I=s= zX-U^Y62M~ca7;`tK46XXDrqSB3>ziMOJ1iA@$eQZ>{_%1xshYGo6)ab57KI=D5ZB1 z#xVOmN*hIhY@iRF==jhEZyn=!YanB-fmZ}izS-XtVIdboB}K*s83(q?bcslubY1V* z5`9K5wDy`pmcgK2IgI}m8+g^pt(S(&9F#*9%-q1<-su7B-N}Z8QqLsTM)z}#2_6h3 zEuGmbu%W7lhv@|o5QM0@DM=pX5rL+wKk*t$3haswWf()0+2sCq>&m7?OfF|$&>5rl z(E1<(t;!yC7mV8qdxQ=<$c>)k>Ms&79D(LneCfF?pyW3N+fdXW01`ZO;5=wxfC1F| z(|x!*SpG}kEtV`O!Z;_Ug@w2>rZx|cpQ)uIR+6h33xRYF6ojkf;nfj|_d$wRpLNi@ zz)ymBAgbK%2ke++3&pc0)C_oslRQfkiwG zR79>ZT15Vj_NUJ_Aa;zXk>TNf+x|Ib+z?iRwbBko$_Hv&nIvrylg5{}zt|r~8~Xn` zZ2zj*ycfo8W|uP$r^HZ^&HV0CCFk(`Tks}v4N=IS9DnvAlR5E>Adabh(v^W~VIsb9 z8m{_&kZ=MjWJFaz2(8f9bm>&Ml=yi}BVaPeeb~c+aqn}y`x7!YF-`r>DPPZ6jaibI zIpqP{#do$5`82r^{u^H_=d&kPXTLPEGc!l$Uy=v+)tyimmO7Emk)1FZs-sVqGIOG2 zC=uGOH}r&FEE!`*yRw5ZNM^QER6Qu{%Ge+?O^u==o>L}kClNgo7P>m;3i$srMFGj9 z!h<-uu`5B5YN-T5g-Gx;(h3yJBz>_^ztxVDMGn4A@f#xfcmz;DC!h>p%u%aP9UNNvslV0xL zANGHsWx#N_R_wl3?9*?K%_q$#3A1)AY)7VYn`*hfkP(D9 z8Gtkm3luBATX6fk0`J5139JQ6xiJ}!Z{&xIcf5lddq;BdAD6yBs7P0*|8Pf)%v}k- z0aw{J;lL!b6_bR??So77tvQNFGaxN|+pGZ9bPlAe4h;cW`u|4sd@}{T>77;Vg8v=V zz{#Mh%QNM(;|3F~$Yi_!L%m1hnFFEiIewBW3mU?^XCh&w$VNm2?PF*QeS_e(2|LD+ zUXpe%n3^2xP;l9fge{GJcH+jCO`?iSa9wa=YFaZ6Clph-maW%}gba0IzW8%I2lv>M zvNjsKPA~8n9@U8b(O_W*(^Ai*w8Wv_JnpsW%JBR_A{8f&`YNPJ-6e935v$BLLQ370 z5%ARuyV+oYglUO?eU4<#N5YtruG3~P`-@R`#Y7E^JO@$RbsDXRAGITO&B}FwC%loN zv{9^Qp>pz0p2*4l*g9piqEPi2 ziCdIt3Iw|VL@&RD?m2<2PL<}jKh-I%hDEez(`0*f9Y?XOsL#_*{PEy-QqKkPqGC$O zLAY(|weJ(tPk21o@!32}7WGsca+FEi%!xUX_JdTnWoc0Adp0bhjPNRo>ISpNehD9+ zB^%jLUH?Qr$jF3}5m^8AJC|v@QU6zi@#^N)Y>54BSyHFc2-kE`R}<0ul13KSL~iSX z2FV##^*g6&I&)mPrLOKiL_Jfwm?}NFj@@M6L35J0x0sYw)?QavKtc?JV-WgMGp%!8 zgb)q?B%T8wb$Wyq&5U;lHps)krThVOkn}f1oCK=&cODQrQfzN{Q!%37kn7pRwtews zaodLK{O*0;$C4SKR1*B~MG%2X$?@t7N7>efBe}#coZZa%x^S?FSN0xNsDHJe@6n%< zJ?$7`PL$H5Vx7u0g)cJk0kuiBkqqeVanI2ZJlh%NjFQ%XFF`s+Li{3AYYu=o@=#_+Vm%zK^2>k=XsI2Z4HEQ>8rY+d(11g zN1*|}j>E4bv6NR?AJiTu!DoTJKf(9dnNW;Enfqv! zfk*LfIvt5t8Zzuhv+&-R6bK6bfWGVyvPJHYJGKPAdDa_{drV9yBf*&@wQqbMo-2c= zr$a))4^iK{q4`jTV40-c2Blo=nzav&q{F}Pg4jU}!ksdDE9$ZWNcLG=D!S+w8a!S~ z3j%eu^*=j{m}*JVIbg@r*vF_^%!<*)H_k~S>MpAl{e2bV@Y(0t9ZQdAF{ zD2p`f^BNtZ;5)Cn4j2z0{Zdpsq){Ko9?g=!KHBPwb|4c4%-&1o-6?CXX)v=JSm1%~ zl;2Mc{DfC%Pv!(z8CjxcehJ?VOn(`gO*m3pA1K-=VMVO|aS+Ipu4WhFjD+ zw*3MgB4?2I<;tCxYBRCrQ9f>|b>>w5puMV?GwZePid;~3IA(0{t)Aa7jcWXqnqDRh zS&DoNa?rF<<8o$#96Sv(7P7qXb{GgIPK9+6EN(dN&_DvV90n~ewaQ9&F6laxFLmB} z&Izi~zz0cwlZr5D=2ww4>E$`Elc8;RD=S9a7p!+{sw(BjYY^Q$%~f3=L2sCZK@J*W zjEQvvwLyCv7xv>G4*eUW!sKTPClXYiQ??L;D>2vs+Ety0d^(YanOkWrYf0nZwniOH z5P|=gf+-6#YQw8G7BmkMru4yC9OpsbAA_~0D_IeZ03Q!1>#eTdyWv7Io|T$aF5Y^? z>{6b(_CRqnRlPfJ!@lG(cnL*;h)vNwW>83bx?fWk?wq0>HdB^z9uz$u|Hz)S+bpfW zp9ToHc=FHw8mBRZVHqj`zS_lg(-yRAm8e5WdBB$eAQn2`8+kT7&?#b%tq=>jcEw=0 ztwbwPbv!Fy@j++OBm2M%7K86Vwh;LyGL!q1*~Hc*g;sny;pux;c1z`K#X#bZ#mq{& zLRlbd7|INHRfr*9j1%uYr?`Mkq;;vOeLsmXb4UAR4E^?Ora6bJ7#PYTPImF?Rk5(Rz6s{*n{O5d04{b47KX_jk`4 zN||{WHWa5H+Dy7}m6@ z?6}x{ZTqatCX%cUWxwkj7eQkYd3w2-l4ze|Cisw*f0(}aS$DMWm%3jjZpplmXnkz% z`I^AGWJX!Gn#8B%?QFH5{y!Cds_^>yCi}g&r6)$Ua+-(`Y`Dji)8eN>q4J*8hgZ3* zr8RBm#EXtw0@x%IZb(z*$MiqK2fe3mz3oMN$Q`Law?teZM2&23DuwM|jEwIPF8PB0 zO7_h~WX|VZXZn!FDy63jdKnon)Yipyp1FJ>`I%q!$Rm*^j778e)=}bIJu+_RIEXu1 z-#(Z2k+F=op`n;Ec^rOUXPWA0O@@VensP^sD76;Oc4ZVff zSsA=JLb&7OcYIG21>&o{1zzc)jUjGQ`pjZ+6Z4h;I5;NxTRQP- zY_4j+6a9;naMceMG8iIY;X7bK%i9>QP$Khxc{}HIg#IJ1fP9da@`{%tlHaTGssqmyw8x!r})kvw}`Q1OcGYyxC zzSY+b$!&;jbo7JEmVgrtKn{X8itcjzrK_n(&K%zCJ4uKdXc~VLdBAzDAg3zq_*sbi z-xvWoUO;Y(D|;J#xu>*H=r3Ql^>;2T3Wg9;zO1vln3+GV8k@c0-B1gJfb~n>sz2RG zr_h##ww2rC&q|n3kr8aPU2(5d*$bVUEmPO+xrmzTVZuAisvGFXF-X}B6k<8&@*Nz$Q<66d*F83K?rfc zEfhn6aS>~;Bf#|eK|r`N(ON50&R-NQPI5-gT?FV}=n8UiIY&rcHruVJE=7d#?7U`o z)T6+pv#NQmTi)jrl~A>NY4qmKS%h@x%bkixq47oC{`P+_k10In3Dc5IgR9_BkZ)(annUaqfX2n zmLHh~6#QL}snK2CNtvqIcGFB}!+vYISl+UemTT7}ciFvDG&*xov|7Pjuqv|bj3 zD+FPtz{kDokUyDos=pddSFaWidVD6d4gKUjbw^cR#7f@%hp5o`&usZ$7uh=#dE{^F2CxcR_eD{U#~13}Lfp*?ewZBZ zFEv~1+CUxjsIt{&+j5TucQgHO2CHssrOJG3tB+e=MfSZO>+zc}Sl|wO*La!Dsi4PsrA6 zZD6zKS*quNrGq)sXaA`2LS!ZC;(d}}rOx~I(Ox2)%9dJwr9E;$Fnjx8MC`o4-@+kE z&St{}*G~~}f!j%T|F#;2%h*Zdp?I6Ob9ii~J^AJS# z0JY0eC~{-GHl)6m!28)RV1=#IGT=QL^@Ye$~puDK=cSjgqx| zYQ%`|r;onq;+rcz-gKRHYKN6O6Fe)3&shs0a!~P%#i}B-75&O(7!G!Jgj`s?8?Z38 za}+qDYo=`TxCtbgz2w6JbvYpW)C1+E%HAu~-*}EZ*IM|N)A=DqwPqG;`Jz8kaXpfS zqP?{qS2XxnsMa%Ae`o6Fg4p3jdpo&RiFSLZUW0+D1*x1>Ny}v~D)V7qoxd9EJC+MV zrOz3@J#t*dt_9;+f2Oa4|^}6RSdTi}yb! zS+_$|WrRTj^dSpCF*xIsSL?NbOE;@4%*7NMKDgO}cNi3t!jSRoS$H*?8&nKL4CGN< zn{&R#M)ihVJd3QxqWsM7n({>@&zkn)Dg6U5$2u;nXb`9{UdQ<&MB*2u!8#E!Hj(Dd z>J2_sm*LIQtkZ(#I3oHRKPq`yBa>v7oDntT;kb)VbYqxTcGq`+tVzf0twD}1%r zJ9aWa)DbasZH+;#i*u(kea&p)h>*GViOKA>M-Qo~S6Y}IQ~7T{zvJGhiffeGE6RfJTC(QyVrguG+#UtUj3W3?)WY^u-pss`Vt(=<`DadHUD zK33*owOQR`zAAs~@VdGr{Vu*SJ=wcJ%^+gOmRM zDaxO;+$aM*)kW*Ks^Inrv>7Ue0n4XTbzwh!i8IX*)$d0vDt&6 zK*TUP%`ViR;Io=t}G#)N4?A}y@mZ+wktvTlGr~aF^U!1 z!?y|a0H>Uc>?f!0e3|@iz0)oAe5hfi$O<-ej8SMu^~>^|9a=t??)qzay8l5C9#5ye z@#%?VLy6cC+9Gxnn;@Gf9>~eKdk@l5_h-U>Z7``F%^ke!7IovVJ$gl_SYGo%9!((y ziahPUried(!kA7?*g7hxUcyAi>M1oX-gJjLxgNc~+sf8edVK-Rzb4ToM%G{QNCA0|e`heA-Ec!mJg!R4m>kVA$fE9R^!h(7Mmi1LsGwdW8lBA4XR8#GdC}elW6HtB1sTrQF_))!KN%diDhQueal+ z<*$*$N_e-vvo}P|0&lJD3hxdNl99YB<>TPs$>Q}J(v#D)pbSuesHp93)L;$X+mI^7 z#nP`#=IE@Ss`jicm!ib7ag2>KHtuDlKEHXg2!V96lAt|9BXZ>ta&0K&$v~l7)Df9M z)Y?PaweY_qPMoFfy-ylOmtG`k4@KHQ1>-H7J=48=dN}U?v7*OTNE$8=zg#(sYSC*R z{daoQdB9THq~%;Hwz-dY|{|Po~6NwII5tz zhT2n0OCWwqPsBe0K-woqW?>3#dgA_sYqjaRi*Rqtk8K|>Bm^GGixOhHUO&tH=RA(l zFY-S)$G7gRl<5#j0CO7A`fsR%ROo-84yMn(39~Eju;0V!Zu5iRSpBIlt0Qn&C~W#_ zl8VjwMEuP)22U6>9R)cbDTG$a7;wDnWZbw)-*#TXm3oEK=;J!DYns&5zBc|9lE}@3 zVu(@pt|$EMQRn$3Q-{wt`Rr}KsoED!fne2K>X7qb`+0dc;7{4+P=vng-;rw-)+_b- z>n`_h4Eyr|Lks}69?kBz#VR4Sj_tKe?0FXM1in1vvTx1h)1M}%ibp=?Eu+WZN#P#p z{;Jm<<>oDsM~$@^pm=n@>;vHt_r`5&wIrdh5(cJQg~RU@LvJxA&@_(%Af0Wt=F>I$ zp&!dRf!J-I&{`*~*AtuWPTL~|wG4q*NL}0i4TRakm|#qxt_wg+vYd#3m|9WoX@)X@RfngY^wrHK= znprT&ZjHAjhkdh@UGOIhcgQvq{zL0jB~zw*k9Us+;AtV!O)u=HIwruML`mFKKSchj zzbgPEi}ayaxIO!Sf&q;91DpINB#qWqd!|Ynz@(qiy`o*w1lO4v0ONr{Y%6Y)b)xI1 z6aklEiQuHgE;P&7EcT&S{UAI(e22Llpm>X<8}{6*egq!h;;p8^ z3GRPca992OInD!J=v6-kP(7K6+>|k4Snv-irOhJ^E8xuEMUV-E%YnjTo4;U?e^RwO+a6rf=got`PG-+Dn&voA zDOftRJ%Dgi3tSWIQVn_iehij%nQg^h+FX9^WKXW(2@GR+awfDnZcyN;?1cgSkW$n1 z=Z^FO&y$|u-5Zgx#dlJhLw!~$J!He6N9uLrp3L$1^SNdt~|4B@>lW`6cwXL!GsRTka21ajFARY zEFEhaL&|jC|GOzFwF*V?D&Qz_L=Ti-V>;5;~f-l)6?Z>&eeJOA09nTe++ zQr#dW%6JZ$L3`lwhD@MK*5?qPSmTuNJ8mX}|scjJrsFA6i<2Bd%P;l!42J%cGM z@Zp$Vo;?mePej_C_G#$V6Pj*~QXi2p+df@QC%WgWCN@8X3F(=_B9Cg4J=8=FhGBXZU1C1-H6WTP#0rvyh0@3 zd66$lRsxUrE>P3O1uE@;URCM}=`^95mdJcOi3;Aq}347 z-Z0iKk;ku*G>HUEW&;_&o6uTm&@8$ox5ZZVY_@8+ba3p39*s|WD|ds;z5qNvR>R}h zZW!$O*xw$``tf0H0_Lm1yj*y}$A@hJr(g@Jf6#iI)=0dm0LQ84| zD!U)Nv(Yhj=}-#Q+(fqIyfxPmjO4}EFcFKwg>fIpWX!I|)D zH<~+?r$In literal 0 HcmV?d00001 diff --git a/desktop/src-tauri/icons/32x32.png b/desktop/src-tauri/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..f48f6d466448e305cb2fda52bd125cea73040045 GIT binary patch literal 1043 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=k0Y$sR$z3=CCj3=9n|3=F@3LJcn% z7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG?e4&pI$T|&fCr~2#d zi$EdO64!{5l*E!$tK_0oAjM#0U}UCiV6JOq5@Kj(Wn^MyYN~BuU}a$7^g4GHiiX_$ zl+3hB+!~CxT@?dr(16=el9`)YT#}eufUL*Jz{=Fz%ESa>iNLqjsSFHEpFLe1Ln00z zoqpCkBvIs8{qwzx&CG(DdnL6ls$Gf-31iW1TA;?kB<`58L$K(&y@24=`UmG6lr%H1 zDsf2N-Vw0kg|~)|kj|V9{U4J{+$8OvZK-&_K(OyKpP603!=m@q_dm~hZu$LAwTf-X zX(<^-t456gewG_DI?RO%YU#?wp#~Q31^fyd8y+QT`lhc1o zi@K)Re?Rv!6kIvKN915J$4|ri(hssYQ{w$Q{T_?o2~*7alU3ekxFCx^xl1iTUgKG) zaHF~Mp~Ev6E=YyW;@4Ppj)lpU^}j9i_No^1`MQl4ExyErm%TkQvt@IIlEGA5xw>8}F2(*^ z#KEy)LSt@f80UuP+>#vAnzh->xf_n~i@1D?`}x-7-czl?-!3k9KJ;4f;it%_PZXC{v0rK7e%({aDZ#wnz2&y; zp&$CQ6Vn9O%?Y>COXCc`S$etn!e^I?4`%`b^WsmoNj*(#zjS9s%I4R?C!$-lwJ(To zw%vcG*+nesyyoJA!*ZEQER*c1Qx*29n%w}kg{st^9^ zu3fdZb#JxE;~%ysRyRC%j1H0Pz0H5Fv)Su(=F+n3`|ou*oX$-B(f#Sw;tLz1GrP6s zxyNyH=^Z+`BtZP+{m-rnru_HoxvyHAE#$bKr?cr7`bP0l+XkKd3&Xy literal 0 HcmV?d00001 diff --git a/desktop/src-tauri/icons/icon.png b/desktop/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7c35940432590709db006b4228cbe0dff464ae7e GIT binary patch literal 21597 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 hSf2Yp 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