From 8cfbd374e37d44be10a3bc55decc6255b359e987 Mon Sep 17 00:00:00 2001 From: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com> Date: Wed, 14 Aug 2024 21:22:46 +0300 Subject: [PATCH] [ENG-1854] Migrate to Tauri v2 Release Candidate (#2654) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Migrate to Tauri v2 Release Canidate * Formatting * Update pnpm * Update all tauri deps (js and rust) to Release Candidate 2 - A lot of misc fixes due to changes in the new versions of tauri, rspc and specta * Recreate pnpm-lock * Fix pnpm-lock * Formatting * Use 10 chars SHA for git deps - Update a couple of rust dependencies - Add taplo for toml auto formatting - Adjust some formatting configurations - Updated prettier and its plugins * Fix formatter settings * Minor improvements to Cargo.toml format --------- Co-authored-by: Vítor Vasconcellos --- .editorconfig | 56 +++-- .npmrc | 1 + .prettierrc.js | 2 +- .rustfmt.toml | 22 +- .taplo.toml | 11 + .vscode/settings.json | 8 +- Cargo.lock | Bin 302364 -> 303890 bytes Cargo.toml | 199 ++++++++++-------- apps/deps-generator/Cargo.toml | 21 +- apps/desktop/crates/linux/Cargo.toml | 15 +- apps/desktop/crates/macos/Cargo.toml | 9 +- apps/desktop/crates/windows/Cargo.toml | 17 +- apps/desktop/package.json | 10 +- apps/desktop/src-tauri/Cargo.toml | 86 ++++---- .../src-tauri/capabilities/default.json | 33 ++- apps/desktop/src-tauri/rustfmt.toml | 22 +- apps/desktop/src-tauri/src/main.rs | 67 +++--- apps/desktop/src-tauri/src/menu.rs | 2 +- apps/desktop/src-tauri/src/updater.rs | 2 +- apps/desktop/src-tauri/tauri.conf.json | 10 +- apps/desktop/src/commands.ts | 9 +- .../modules/sd-core/android/crate/Cargo.toml | 11 +- apps/mobile/modules/sd-core/core/Cargo.toml | 27 ++- .../modules/sd-core/ios/crate/Cargo.toml | 11 +- apps/p2p-relay/Cargo.toml | 17 +- apps/server/Cargo.toml | 29 +-- core/Cargo.toml | 98 ++++----- core/crates/file-path-helper/Cargo.toml | 31 +-- core/crates/heavy-lifting/Cargo.toml | 83 ++++---- core/crates/indexer-rules/Cargo.toml | 42 ++-- core/crates/prisma-helpers/Cargo.toml | 19 +- core/crates/sync/Cargo.toml | 37 ++-- core/prisma/migrations/migration_lock.toml | 2 +- core/src/util/unsafe_streamed_query.rs | 6 +- crates/actors/Cargo.toml | 15 +- crates/ai/Cargo.toml | 75 +++---- crates/cloud-api/Cargo.toml | 25 +-- crates/crypto/Cargo.toml | 97 ++++----- crates/fda/Cargo.toml | 11 +- crates/ffmpeg/Cargo.toml | 34 ++- crates/file-ext/Cargo.toml | 26 ++- crates/images/Cargo.toml | 41 ++-- crates/media-metadata/Cargo.toml | 23 +- crates/p2p/Cargo.toml | 73 +++---- crates/p2p/crates/block/Cargo.toml | 17 +- crates/p2p/crates/proto/Cargo.toml | 15 +- crates/p2p/crates/tunnel/Cargo.toml | 15 +- crates/prisma-cli/Cargo.toml | 9 +- crates/prisma/Cargo.toml | 13 +- crates/sync-generator/Cargo.toml | 13 +- crates/sync/Cargo.toml | 25 +-- crates/sync/example/Cargo.toml | 29 +-- crates/task-system/Cargo.toml | 52 +++-- crates/utils/Cargo.toml | 9 +- .../app/$libraryId/TopBar/TopBarOptions.tsx | 4 +- package.json | 9 +- packages/client/src/core.ts | 4 +- pnpm-lock.yaml | Bin 1037025 -> 1036181 bytes scripts/autoformat.sh | 3 + turbo.json | 11 +- 60 files changed, 843 insertions(+), 820 deletions(-) create mode 100644 .taplo.toml diff --git a/.editorconfig b/.editorconfig index e80002aa8..34150bb03 100644 --- a/.editorconfig +++ b/.editorconfig @@ -14,13 +14,6 @@ indent_style = tab insert_final_newline = true trim_trailing_whitespace = true -# BATS: https://github.com/bats-core/bats-core -# https://github.com/bats-core/bats-core/master/.editorconfig -[*.bats] -insert_final_newline = true -max_line_length = 80 -trim_trailing_whitespace = true - # CSS # https://google.github.io/styleguide/htmlcssguide.xml#General_Formatting_Rules # http://cssguidelin.es/#syntax-and-formatting @@ -32,6 +25,12 @@ trim_trailing_whitespace = true [*.{htm,html}] trim_trailing_whitespace = true +# Just +# https://github.com/casey/just/master/justfile +[{justfile,Justfile}] +insert_final_newline = true +indent_style = space + # JavaScript, JSON, JSX, JavaScript Modules, TypeScript # https://github.com/feross/standard # https://prettier.io @@ -39,14 +38,20 @@ trim_trailing_whitespace = true indent_size = 4 # Kotlin -# https://android.github.io/kotlin-guides/style.html#indentation +# https://kotlinlang.org/docs/coding-conventions.html#indentation [*.{kt,kts}] indent_size = 4 -# Python -# https://www.python.org/dev/peps/pep-0008/#code-lay-out -[*.py] +# PowerShell +# https://poshcode.gitbook.io/powershell-practice-and-style/style-guide/code-layout-and-formatting +[*.{ps1,psd1,psm1}] indent_size = 4 +indent_style = space + +# Prisma +# https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-schema/data-model#formatting +[*.prisma] +indent_style = space # Rust # https://github.com/rust-lang/rust/blob/master/src/doc/style/style/whitespace.md @@ -55,31 +60,14 @@ indent_size = 4 insert_final_newline = false trim_trailing_whitespace = true -# SQL -# https://www.sqlstyle.guide/ -[*.sql] -indent_size = 4 -indent_style = space - -# Prisma -# https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-schema/data-model#formatting -[*.prisma] -indent_size = 2 -indent_style = space - -# YAML -# http://yaml.org/spec/1.2/2009-07-21/spec.html#id2576668 -[*.{yaml,yml}] -indent_style = space - # Shell # https://google.github.io/styleguide/shell.xml#Indentation [*.{bash,sh,zsh}] indent_style = space -# PowerShell -# https://poshcode.gitbook.io/powershell-practice-and-style/style-guide/code-layout-and-formatting -[*.{ps1,psd1,psm1}] +# SQL +# https://www.sqlstyle.guide/ +[*.sql] indent_size = 4 indent_style = space @@ -88,3 +76,9 @@ indent_style = space [*.swift] indent_size = 4 indent_style = space + +# YAML +# http://yaml.org/spec/1.2/2009-07-21/spec.html#id2576668 +[*.{yaml,yml}] +indent_style = space + diff --git a/.npmrc b/.npmrc index b40bf051f..ee8b1dcae 100644 --- a/.npmrc +++ b/.npmrc @@ -1,5 +1,6 @@ ; make all engine requirements (e.g. node version) strictly kept engine-strict=true +dedupe-peer-dependents=true ; necessary for metro + mobile strict-peer-dependencies=false node-linker=hoisted diff --git a/.prettierrc.js b/.prettierrc.js index dc5d108ad..209a288f7 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -22,7 +22,7 @@ module.exports = { '^[../]', '^[./]' ], - importOrderParserPlugins: ['typescript', 'jsx', 'decorators-legacy'], + importOrderParserPlugins: ['typescript', 'jsx', 'decorators'], importOrderTypeScriptVersion: '4.4.0', tailwindConfig: './packages/ui/tailwind.config.js', plugins: ['@ianvs/prettier-plugin-sort-imports', 'prettier-plugin-tailwindcss'] diff --git a/.rustfmt.toml b/.rustfmt.toml index 9c4c7300b..cd5cd84cc 100644 --- a/.rustfmt.toml +++ b/.rustfmt.toml @@ -1,12 +1,12 @@ -max_width = 100 -hard_tabs = true -newline_style = "Unix" -use_small_heuristics = "Default" -reorder_imports = true -reorder_modules = true -remove_nested_parens = true -edition = "2021" -merge_derives = true -use_try_shorthand = false +edition = "2021" +force_explicit_abi = true +hard_tabs = true +max_width = 100 +merge_derives = true +newline_style = "Unix" +remove_nested_parens = true +reorder_imports = true +reorder_modules = true use_field_init_shorthand = false -force_explicit_abi = true \ No newline at end of file +use_small_heuristics = "Default" +use_try_shorthand = false diff --git a/.taplo.toml b/.taplo.toml new file mode 100644 index 000000000..59a0f5b66 --- /dev/null +++ b/.taplo.toml @@ -0,0 +1,11 @@ +[formatting] +align_comments = true +align_entries = true +array_auto_collapse = true +array_trailing_comma = false +column_width = 100 +crlf = false +indent_string = ' ' +reorder_arrays = true +reorder_keys = true +trailing_newline = true diff --git a/.vscode/settings.json b/.vscode/settings.json index de45015ec..625b44315 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -36,6 +36,9 @@ "[rust]": { "editor.defaultFormatter": "rust-lang.rust-analyzer" }, + "[toml]": { + "editor.defaultFormatter": "tamasfe.even-better-toml" + }, "rust-analyzer.procMacro.enable": true, "rust-analyzer.diagnostics.experimental.enable": false, "tailwindCSS.experimental.classRegex": [ @@ -102,5 +105,8 @@ "i18n-ally.enabledFrameworks": ["react"], "i18n-ally.keystyle": "flat", // You need to add this to your locale settings file "i18n-ally.translate.google.apiKey": "xxx" - "i18n-ally.translate.engines": ["google"] + "i18n-ally.translate.engines": ["google"], + "prettier.configPath": ".prettierrc.js", + "prettier.prettierPath": "./node_modules/prettier", + "evenBetterToml.taplo.configFile.path": ".taplo.toml" } diff --git a/Cargo.lock b/Cargo.lock index d4088ccad36d3f7340c4b71f31e1c78425918822..89f652b3be1fc59e65ef79e7a6d8ab1b99616a26 100644 GIT binary patch delta 10571 zcmcJVdz4;PndaBIB&k#qQn^r-OF=?nlQ58Y?q?tDw*{{l0TE;R+gddfnEb=VO zJrzr@s=^{Eg(roG!dzB);OAkcgz|+h%4WubYnS1Bnf&riy<3PRs65*bxlDpg*_Wg!?N z%e=&A%tAz>s6rVf?UTOL+y31%|7B!tU;kt))&5(ox$QURk005!aL76O^(l+)v5tQI z^Tkg_ddW(Abu0GE)Mq>)gS1Hf*b9RsNz*(Gd>L0V^Yb{ak}~tcsH)0@xp|?VDL+cf z$Sah-F|c~|>UY_bN3Oc;b=ykXSIFIV8nkEUr?>m>9&A-!Bz);9o|{I2?`65~hoSVc z*cXvfSy&2Dg=LW`uMC8YOE2VAno2JXt0-z#_*$Oo8-8mKE-!;3W*UJ=i>mM>QwrJr zT!ev=eqIU{MM8$5mxn6yWbBDJQ%NL5u9TNnx86B>>bOnA1cBc8qTQJ{dWJz znveY0J$$|+=d|B7O`kWz8XVd4sfW9|HVv!GH^^;QXgSTDr_bBVEC}f!_Tr+*MG*d}@{>UNaVpEa z5@Dorsn{PsmPM}kS5`$T(}>IzB1z&j_7a&Ue*3`>_qNx*x?pthy-$uCd3^tq%$UnK#~Uj=!Q$0`jX4muN}RP2E)gHWbEK_B?3%(KpLMGyq-fv3-EU-yIQ z?Q>@ijy(TQpRh(g_`|WB8aeBkr|i*nc?VY8+V8RlT1B2@Nv5RC%YfLgOpc{-QSmDE zWkB>rVH)I-4B|5KRhXAal;&xc`GJT%X^>>(kN#y{&**w~{knVP3%`1LY%@Rk%Clo1 zz4~~!+^WhYTNQDq`&Zhs6+|isMOG%U%%e)?K}rOZVJgl2%vXMuBz{`@m0t)E$AwoG zagr5TB%>nFeW71|gV^1Bk<;yNyLPkE0|%`Bk+r{xd+oq)9})wtFwIp~6@gb~Ns_B5 z6h+CAMR5vDq+u9kQJPk{SBbb#B2k{_#WA0VG{}UkwErJ=Z@p}ab>U&C>en|+vlg`H z?;ETaO|wpzp#ASz%j8gj%v-%mN z{^)9J-soWUw+F0xTxTcd*1O(o-8NwoJFwui?)eLfO&i+B-EvZW+2z*leSzosLJ1F4 zUwGu#oKz_&X>pl*nOBuyrk4uN8rTb(v(P*CTNCQF*H|yj9vx-Q4uP$jU}fIkch$$WEQf`rI(VlS>X9GNz2{~QUJ*J+SBIs z>J^qVv2V%xp>3*J!IrCsimR5W;o(ig^8@YebWYT*JFVIJ%FnT{sw_B}G7T#5IHfeQ z%Nb9vqCf>+TybDU#!{$M6locUD$P`xRT-6`2tZElj_NLS;2fZw)L>JuLtOy zThINr^%koMHN9hz-L3C`#+s}@{xfTa-t>aiT|WV=kb>*3A<&4{|^dFvVT@+Q6aIqQ`Ai!WH?I>WTzxOIZQVWl-) zAAG>>Y43QY>u{9l>z}eF=qrC=siPiarlXn8RDI!#)_30gL05hIFRl4UEwh=t_Fl4{ zG+%s|+5SmpB0c(o`|YWE)6>?Z`|f_(q+R`2zq0P?(zjl3uU;Xk0bVY>Aj-3{@S-9} zl{5t#HYO^SM`@&r7{-w2kOB$v1eHib8Bzq&Jb+t#sIPwZKdjeh=*K2FgDvX4Nef_s zvY6y)0YX-}EU0^aq2NMgDyWha?AW800B1xt(VxIqDjDd3Z`gf${~EiSX@0oJ*1gTD zYoh8*%MJp)^A+d(<*+$vYEM$hD)0>k1&j&@DxxeCSs_SIK|NsXG)i)xY9td?svwd{ zC_9*Z!!yqPj~0)1ApxH>D{N;bKAd>J@xaa*nc{$`Ec{;c3=I0x7mN= z>g6l!cQUg-Uttf<0KZne$DXC%^C$K+eg80sGx>ZwH2cfjhQ^J3{7UEdL4Egy_IEnJ z$9l&F_NnzZFS2_l=m#fRt6NzdWL1<3HVsy$M3I1MzHd;%l+nZ&LIOQrsmvC}d^@7v zl^g^lC@bEybGPL7<)a9$_m_58J)^YuTJ1yb>Q-98xJw0w_+U{k_-Pe`M9qzuzY1wq0-kkma9u zgZ;=D#-9A&>^rAe9a^pT+-A?#=iY1&)+^ig%cE>dUvh^%slM!EwwONp#h!;ik*|K% z{ugb1!Cv0J=UdbD-r7FCCm&i@s$yt^TtDAi8ZC`$|MT|0Tg{jBsy+59{nKlldG$*V z*jDGwnm6yTY94Z?Rm%~3ar5@7`jv<5p|18VGvMwjg^G)kLLQfuS5nBU9Ci^30yB-G z)DSnnjG_nt_CyF%RtY3qD&J#Q^uE`eIeK$$xpnuW_QX-aP``Db{ceZ7c>m+}SGvbF zkgP8ZT-lOY7RJbd&_@wb8!Pw&XkX?Dbds|zWZ}amNslyv!xT}NsDxse2L%I5?Vs$< zs+T@#UvdP9I*3+-XeZ4gx(22=C)CTHw-} z%yAMH6r7Z!^$RK;l&uWQl3HCrNir7bRi@sf5Xha_i^AB40r`Gu2;%g0Lse68IEi(t zQ`DBeW}i(J{nM*AswGz%sx#i{umAEj`)|AdpKED@rGQ|UUb>80c5s~Y&a<~}R>d~C zq?FsFVN^@1;Y}NwsT}^G;ciF2VZODs7#`ZZt$BBwyn1*@58Q7r(mg+R`s(%LopI!9 zJ>2Dd!sX}jQ=DR=-m{d7N$?X6@G$~}^b4aj6AD&aM20exp^%X>$wbM{C4d^`IZ74W z2ZH9q{l>6t(I~~puid6LTwPq%%%m7q6o={_H=YgPuj+H2>!2R%e|6&Fl&J4r z;G8zIr?dJaYpVY~aZb0}XB;}AJ~4A%nA!l=zPp^+?bmLbs?Yl~sMW4Jor(3??{s!M z`rb>dfn~tBDjQG?W9obWNJG>!Vj?CgD&#?45O$?kd4}C4@DB(8O1-RdUmu!f_o3Ow z)w@>aO$4F}irTF&u@IrAdt1ig2aGp@exT<1m0EMj#l$$~Pe&@!19 zK#me0S)E2@9(qNR@J;}1AzN8#=EZ_3K&GlF_EDcv;1$QH9Q_!N*Vhd=FC5ro-8h)7T`1RM)a7ilRXmdfK0fH4k6kj0sdA*HOCjFzYa%AX3$yhudZ-nqC} zZ~u`qL%(;8(=&d9+E83EtXI9)3G}Q7?c?fCta1Kf46n^x>c4!CbIuq(PQ92w?Y_vl zf38J^oM8o&LM4$wGLAa+_ea+_r?qMM&%T-aD?v@oib(f6V!HI2%q?>QvKj@NUmcZ-~T3b_)iPE z(ivPH1c}$|s$^@Gz+MTV-iUTzBxHxDOxg(eQYBMCgi#joZm7f1Y85vpeA(NGm%l#S z>O1N1a7XfV!5?`ygVm5RPU}`uaLU9gTP$`Fi7^wYXmVK4-mQB8|}c`1_q1M#a1rPw=-(X?a#oVx!u z=YNcq!e_O!XncF~jf2Y-s)9<3*vP?7HoHtCLq3ZNX-mCBLWk%PV7BCh`Mi?+P-tL` zoLKMtSEujx9TeGMX;OcAm-8`8mjiB(UVD#2g;>RJt#`QHx_F-C(b2 zk&{?tDyD$*q*w?)#Fr_-j5I57OThNXFLUXGM+G0Dj(~I-=7O(zrryoco4#pJ)bm5z z)z5v>nfawpIg4yWq~oG8Vb9Ka$+If+T_uWk#wBDk-K6`xX1j z*pEa{LLmu+s_?D~gjOUvPM{arlk}`lgBISWohJ@I7^0?!vK>Y zjEM(X1R=~iD=M(u&(eZ1g-YWHi?Q(`?pfqa*N=S0`4HwJe9Adq-;g>}^;MsBF6@j# zc2;p2=Yim9NdPmiI2)=QhGB-1mtK@}&~XH+l%5$xVqR34?|UpKH%WlP@y+8u@j2(> z&O?#tDv(8t%Nqo-Z-i!m+eGCwtOf>3F)(mNE;D9`)d@}+c0%C^lLQB+PjCDtd~oFR z&R^fLo)b+9;s}dG;&bs|F0fkSj5Eb}gsh=Zsw5N;Dwu3l5U81XE220Fc0TS1_1Eur zzTP|y+Lz=3sa{bE;n{$yG6-6t%rj*SYRV!w3-W}dy@DB{`pHEg32xLF4$YBm+wJV` z%r9rp5l;bsm$2wEY$`z%;EqJFI|yJ<#i*zxqpYyoc!g|oM(GHE9X;)9POtv%9_QQ5 z(-8l#!~zu#0vJ(%u^LmCtCSSYnUx3&8A-w`iG1vYxC}j!$UH>#V4HRD@XRkbKklqH zk1K!@OR@~Af~69vCMDsr*n+rifnOGt5MB`ntQjGdV`NfnMXW;QH@1U`qp9W4aEG{5 z>*Y2T=tEaneY$6xbzD93A;-3wvtMq^c&a3ZHD)NtWoRcZEG&TCO$!J>B7yNdQehY- z0Xl|h;p@i6NLPB_e@Bt+`=ayVqmpgQm!N`8Vso@I;7~FTzl|6Jw&Ke3D20G^tSEaS z`Vjv&Wp!BFEXRi<_?3it2U%xhPOqIOfWnDic2?SctPfplFVri3U>$d6Lll>E(6uRZ ziI-%OI1jRgM}B1jq;p9NBEv4nXU<^D#xfU?ul1t#Wq$y|2qA-bVlwi;xhCM=ojDV=_cf=bEz2EP4pXJ! zAR+>X(wG)#72gX4!Hf|J5u?Zy$d(k3GR7OoW73)f=j;fW9BFo;I(Kq8=;1g)H+z^#MUDw)Cja)v6E2Y>;Y z=ybr2EN8~RMVMi#`P3Oq?9yOcufB2taNpkUE_TSM`l(+!^X>K}c* zi!>fLNJ47^T1{m^9Kr{R3?%}>mKgfb&LX6nBQRVd1I81_G)DW-%DMGjFFUz~^)|0? z@)gXFxwBu`*ci@$0m840$t9cyV{i%~6h{a6&?ze^2)UP*sBdI%L5*pgpWpt<`Ka9} z`W8k7E{}OeMk|5E15A|{5=zFSNYKv#$7xnUUBpwQCsN3~$_=jVge>c!6ZWcG7IrA@O`}8IQ4u@VE$D4-d_{xo5#E3 z_3giRo^BqBJ^>wg96c&w{*2I0fX~E((aX%ewOfJr1{>8cyT7%^r2&LdpRvg8t9PI3_IK;ePuYVl z21v-nBq|cqyQG0@b_VglvBI(wWT32!6-Wn!{{p&^Swf4E#lvBnPO2VGTyZQdd+&hj z=?NL+c)oC_=o=Dug1&YVKIsR3YoD(_oVwSHCL5p6@64r06Nm_#gfm|GAO%OK*q0Et zPcxD-Uf^B(@DHV66avW#do4>U3-MJLDyo5v$@;|wP`BR+r(0h+06QEdi{m>JiZk~K z<10>^X{~ATd>;lZqp$*;P`%Iy>MGV@h;{)%pt(46bQ0n1IYLCzqzNU^72uSHO;gYK ziuE^6cb7JHW%F17P(b*Ym@UoS8Ukt&Y%t=CWulhCfHTL4630gAW@{V_U!#~JQtCK^LguRVvF z|Kfl7`h6t7@q7bXM!;``lU0B)5aNW6OazUOpunVy zY0RMkOv4&F5HwChd-e1#J^viH%M$vntK9z12=5>^*PiPhuhl!vhD0L>uNm4{Zn|dcl3}&= z>h;^0Zg9*8Tel4lZCtnYm?ix4pgYGL!8b?Ka;@1F-u=n3Z_HuDGla`3C>?o(jGDeNTn?af zj<6*6v4`mLEO7dobK7%)J7w(o6P9#Nq`7F&{x@+}D=JFZa}XC1U`$Vge51<4eh?{a zD;H|;Ubt34m!_m!UboiD@ZJbI0WBl#kyPBuz{^P+ zU_5xKdxDcJI8AT4$ep1ty~Lg1#t3OQRC)BTA?ta1Q%%6S+K>tU1%IU!X&p67)UX*wh0oSNJ>S<6 zqz_)@PS?L%=dP)DU+F@tO}wq(3@}rvScV{)+e5gxNZVLs1bN9rX_(WyMwj{(V?wwg z;IyudT7~zE&K4YZ74@FTarNqr?$pj8GdH;Bj!nOW#c)w7LKQ-G2yU~RMleJf*QrP& z=D|;j8yY#J-R5!aLcz!ByLtLhzttRLmu8>|de3IUx>?Beo7{ICUI;Vh;ulsoUJu?Y z-BfJQfCe873ilFxhg{HOP$gag5J}-QE_-aW1AV$eZ#m1IQ*Yklp6}}GenBty^2e;V zFB7?kjf(*Sz@j;cJg$5}X1M{yJ)_bvHhdv&A5~o9GNFo12Qi4b-xWoA-(>fc`ugqe z$RD)NYV5Pm8O~Vu{JDG2=p7_|@MhPo_kYCwmSyN9ABFXkxA1DTAT*zUa z)3!4zDFHdS;8+>y8PM+tD?-~uIW&%|j-gi}Pw^Z$SVd6c6L4^8(%yHVw=>n%=iBr2 P(!1TR`p0*=E$9CLsPmA- delta 9598 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 E1%FJCtN;K2 diff --git a/Cargo.toml b/Cargo.toml index 1cc1388c7..a39b268bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,127 +1,140 @@ [workspace] -resolver = "2" +exclude = ["crates/crypto"] members = [ - "core", - "core/crates/*", - "crates/*", "apps/deps-generator", - "apps/desktop/src-tauri", "apps/desktop/crates/*", - "apps/mobile/modules/sd-core/core", + "apps/desktop/src-tauri", "apps/mobile/modules/sd-core/android/crate", + "apps/mobile/modules/sd-core/core", "apps/mobile/modules/sd-core/ios/crate", "apps/server", + "core", + "core/crates/*", + "crates/*" ] -exclude = ["crates/crypto"] +resolver = "2" [workspace.package] -license = "AGPL-3.0-only" -edition = "2021" +edition = "2021" +license = "AGPL-3.0-only" repository = "https://github.com/spacedriveapp/spacedrive" [workspace.dependencies] # Third party dependencies used by one or more of our crates -async-channel = "2.3" -async-trait = "0.1.80" -axum = "0.6.20" # Update blocked by hyper -base64 = "0.22.1" -base91 = "0.1.0" -blake3 = "1.5.0" # Update blocked by custom patch below -chrono = "0.4.38" -directories = "5.0" -ed25519-dalek = "2.1.1" -futures = "0.3.30" +async-channel = "2.3" +async-trait = "0.1.80" +axum = "0.6.20" # Update blocked by hyper +base64 = "0.22.1" +base91 = "0.1.0" +blake3 = "1.5.0" # Update blocked by custom patch below +chrono = "0.4.38" +directories = "5.0" +ed25519-dalek = "2.1.1" +futures = "0.3.30" futures-concurrency = "7.6" -gix-ignore = "0.11.2" -globset = "0.4.14" -http = "0.2" # Update blocked by axum -hyper = "0.14" # Update blocked due to API breaking changes -image = "0.24.9" # Update blocked due to https://github.com/image-rs/image/issues/2230 -itertools = "0.13.0" -lending-stream = "1.0" -libc = "0.2" -normpath = "1.2" -once_cell = "1.19" -pin-project-lite = "0.2.14" -rand = "0.8.5" -regex = "1.10" -reqwest = "0.11" # Update blocked by hyper -rmp = "0.8.14" -rmp-serde = "1.3.0" -rmpv = { version = "1.3", features = ["with-serde"] } -rspc = "0.1.4" -serde = "1.0" -serde_json = "1.0" -specta = "=2.0.0-rc.11" -static_assertions = "1.1" -strum = "0.26" -strum_macros = "0.26" -tempfile = "3.10" -thiserror = "1.0" -tokio = "1.38" -tokio-stream = "0.1.15" -tokio-util = "0.7.11" -tracing = "0.1.40" -tracing-subscriber = "0.3.18" -tracing-test = "0.2.5" -uhlc = "0.6.0" # Must follow version used by specta -uuid = "1.8" -webp = "0.2.6" # Update blocked by image +gix-ignore = "0.11.2" +globset = "0.4.14" +http = "0.2" # Update blocked by axum +hyper = "0.14" # Update blocked due to API breaking changes +image = "0.24.9" # Update blocked due to https://github.com/image-rs/image/issues/2230 +itertools = "0.13.0" +lending-stream = "1.0" +libc = "0.2" +normpath = "1.2" +once_cell = "1.19" +pin-project-lite = "0.2.14" +rand = "0.8.5" +regex = "1.10" +reqwest = "0.11" # Update blocked by hyper +rmp = "0.8.14" +rmp-serde = "1.3.0" +rmpv = { version = "1.3", features = ["with-serde"] } +rspc = "0.1.4" # Update blocked by custom patch below +serde = "1.0" +serde_json = "1.0" +specta = "=2.0.0-rc.20" +specta-typescript = "=0.0.7" +static_assertions = "1.1" +strum = "0.26" +strum_macros = "0.26" +tempfile = "3.10" +thiserror = "1.0" +tokio = "1.38" +tokio-stream = "0.1.15" +tokio-util = "0.7.11" +tracing = "0.1.40" +tracing-subscriber = "0.3.18" +tracing-test = "0.2.5" +uhlc = "0.8.0" # Must follow version used by specta +uuid = "1.10" # Must follow version used by specta +webp = "0.2.6" # Update blocked by image [workspace.dependencies.prisma-client-rust] -git = "https://github.com/brendonovich/prisma-client-rust" -rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" -features = ["migrations", "specta", "sqlite", "sqlite-create-many"] default-features = false +features = ["migrations", "specta", "sqlite", "sqlite-create-many"] +git = "https://github.com/brendonovich/prisma-client-rust" +rev = "4f9ef9d38c" [workspace.dependencies.prisma-client-rust-cli] -git = "https://github.com/brendonovich/prisma-client-rust" -rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" -features = ["migrations", "specta", "sqlite", "sqlite-create-many"] default-features = false +features = ["migrations", "specta", "sqlite", "sqlite-create-many"] +git = "https://github.com/brendonovich/prisma-client-rust" +rev = "4f9ef9d38c" [workspace.dependencies.prisma-client-rust-sdk] -git = "https://github.com/brendonovich/prisma-client-rust" -rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" -features = ["sqlite"] default-features = false +features = ["sqlite"] +git = "https://github.com/brendonovich/prisma-client-rust" +rev = "4f9ef9d38c" -[patch.crates-io] # Proper IOS Support -if-watch = { git = "https://github.com/spacedriveapp/if-watch.git", rev = "a92c17d3f85c1c6fb0afeeaf6c2b24d0b147e8c3" } +[patch.crates-io.if-watch] +git = "https://github.com/spacedriveapp/if-watch.git" +rev = "a92c17d3f8" # We hack it to the high heavens -rspc = { git = "https://github.com/spacedriveapp/rspc.git", rev = "ab12964b140991e0730c3423693533fba71efb03" } +[patch.crates-io.rspc] +git = "https://github.com/spacedriveapp/rspc.git" +rev = "0018e80231" # Add `Control::open_stream_with_addrs` -libp2p = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } -libp2p-core = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } -libp2p-swarm = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } -libp2p-stream = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" } - -blake3 = { git = "https://github.com/spacedriveapp/blake3.git", rev = "d3aab416c12a75c2bfabce33bcd594e428a79069" } +[patch.crates-io.libp2p] +git = "https://github.com/spacedriveapp/rust-libp2p.git" +rev = "a005656df7" +[patch.crates-io.libp2p-core] +git = "https://github.com/spacedriveapp/rust-libp2p.git" +rev = "a005656df7" +[patch.crates-io.libp2p-swarm] +git = "https://github.com/spacedriveapp/rust-libp2p.git" +rev = "a005656df7" +[patch.crates-io.libp2p-stream] +git = "https://github.com/spacedriveapp/rust-libp2p.git" +rev = "a005656df7" +[patch.crates-io.blake3] +git = "https://github.com/spacedriveapp/blake3.git" +rev = "d3aab416c1" [profile.dev] # Make compilation faster on macOS +codegen-units = 256 +debug = 0 +incremental = true +lto = false +opt-level = 0 split-debuginfo = "unpacked" -opt-level = 0 -debug = 0 -strip = "none" -lto = false -codegen-units = 256 -incremental = true +strip = "none" [profile.dev-debug] inherits = "dev" # Enables debugger +codegen-units = 256 +debug = "full" +incremental = true +lto = "off" +opt-level = 0 split-debuginfo = "none" -opt-level = 0 -debug = "full" -strip = "none" -lto = "off" -codegen-units = 256 -incremental = true +strip = "none" # Set the settings for build scripts and proc-macros. [profile.dev.build-override] @@ -129,20 +142,20 @@ opt-level = 3 # Set the default for dependencies, except workspace members. [profile.dev.package."*"] -opt-level = 3 incremental = false +opt-level = 3 # Set the default for dependencies, except workspace members. [profile.dev-debug.package."*"] -inherits = "dev" -opt-level = 3 -debug = "full" +debug = "full" incremental = false +inherits = "dev" +opt-level = 3 # Optimize release builds [profile.release] -panic = "unwind" # Sadly we need unwind to avoid unexpected crashes on third party crates -codegen-units = 1 # Compile crates one after another so the compiler can optimize better -lto = true # Enables link to optimizations -opt-level = "s" # Optimize for binary size -strip = true # Remove debug symbols +codegen-units = 1 # Compile crates one after another so the compiler can optimize better +lto = true # Enables link to optimizations +opt-level = "s" # Optimize for binary size +panic = "unwind" # Sadly we need unwind to avoid unexpected crashes on third party crates +strip = true # Remove debug symbols diff --git a/apps/deps-generator/Cargo.toml b/apps/deps-generator/Cargo.toml index 03d4b0938..e775b7913 100644 --- a/apps/deps-generator/Cargo.toml +++ b/apps/deps-generator/Cargo.toml @@ -1,19 +1,20 @@ [package] -name = "sd-deps-generator" +name = "sd-deps-generator" version = "0.0.0" -authors = ["Jake Robinson "] -description = "A tool to compile all Spacedrive dependencies and their respective licenses" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Jake Robinson "] +description = "A tool to compile all Spacedrive dependencies and their respective licenses" +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] # Workspace dependencies -reqwest = { workspace = true, features = ["blocking", "native-tls-vendored"] } -serde = { workspace = true, features = ["derive"] } +reqwest = { workspace = true, features = ["blocking", "native-tls-vendored"] } +serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } # Specific Deps Generator dependencies -anyhow = "1.0" -clap = { version = "4.5", features = ["derive"] } +anyhow = "1.0" cargo_metadata = "0.18.1" +clap = { version = "4.5", features = ["derive"] } diff --git a/apps/desktop/crates/linux/Cargo.toml b/apps/desktop/crates/linux/Cargo.toml index c7761d633..9c4755b73 100644 --- a/apps/desktop/crates/linux/Cargo.toml +++ b/apps/desktop/crates/linux/Cargo.toml @@ -1,16 +1,17 @@ [package] -name = "sd-desktop-linux" +name = "sd-desktop-linux" version = "0.1.0" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] -libc = { workspace = true } +libc = { workspace = true } tokio = { workspace = true, features = ["fs"] } [target.'cfg(target_os = "linux")'.dependencies] -wgpu = { version = "0.20.0", default-features = false } +wgpu = { version = "22.1", default-features = false } # WARNING: gtk should follow the same version used by tauri -# https://github.com/tauri-apps/tauri/blob/tauri-v2.0.0-beta.17/core/tauri/Cargo.toml#L85C1-L85C51 +# https://github.com/tauri-apps/tauri/blob/tauri-v2.0.0-rc.2/core/tauri/Cargo.toml gtk = { version = "0.18", features = ["v3_24"] } diff --git a/apps/desktop/crates/macos/Cargo.toml b/apps/desktop/crates/macos/Cargo.toml index 72faca5e4..cc5b156fe 100644 --- a/apps/desktop/crates/macos/Cargo.toml +++ b/apps/desktop/crates/macos/Cargo.toml @@ -1,9 +1,10 @@ [package] -name = "sd-desktop-macos" +name = "sd-desktop-macos" version = "0.1.0" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true [target.'cfg(target_os = "macos")'.dependencies] swift-rs = { version = "1.0.6", features = ["serde"] } diff --git a/apps/desktop/crates/windows/Cargo.toml b/apps/desktop/crates/windows/Cargo.toml index a41ca4bff..7f3fe0bdf 100644 --- a/apps/desktop/crates/windows/Cargo.toml +++ b/apps/desktop/crates/windows/Cargo.toml @@ -1,15 +1,16 @@ [package] -name = "sd-desktop-windows" +name = "sd-desktop-windows" version = "0.1.0" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] -libc = { workspace = true } -normpath = { workspace = true } +libc = { workspace = true } +normpath = { workspace = true } thiserror = { workspace = true } [target.'cfg(target_os = "windows")'.dependencies.windows] -version = "0.57" -features = ["Win32_UI_Shell", "Win32_Foundation", "Win32_System_Com"] +features = ["Win32_Foundation", "Win32_System_Com", "Win32_UI_Shell"] +version = "0.58" diff --git a/apps/desktop/package.json b/apps/desktop/package.json index d18a4b1a5..1ec124294 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -20,10 +20,10 @@ "@sd/ui": "workspace:*", "@t3-oss/env-core": "^0.7.1", "@tanstack/react-query": "^4.36.1", - "@tauri-apps/api": "next", - "@tauri-apps/plugin-dialog": "2.0.0-beta.3", - "@tauri-apps/plugin-os": "2.0.0-beta.3", - "@tauri-apps/plugin-shell": "2.0.0-beta.3", + "@tauri-apps/api": "=2.0.0-rc.0", + "@tauri-apps/plugin-dialog": "=2.0.0-rc.0", + "@tauri-apps/plugin-os": "=2.0.0-rc.0", + "@tauri-apps/plugin-shell": "=2.0.0-rc.0", "consistent-hash": "^1.2.2", "immer": "^10.0.3", "react": "^18.2.0", @@ -34,7 +34,7 @@ "devDependencies": { "@sd/config": "workspace:*", "@sentry/vite-plugin": "^2.16.0", - "@tauri-apps/cli": "2.0.0-beta.20", + "@tauri-apps/cli": "=2.0.0-rc.3", "@types/react": "^18.2.67", "@types/react-dom": "^18.2.22", "sass": "^1.72.0", diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index 1ab1056f6..993b13832 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -1,52 +1,54 @@ [package] -name = "sd-desktop" +name = "sd-desktop" version = "0.4.1" -description = "The universal file manager." -authors = ["Spacedrive Technology Inc "] -default-run = "sd-desktop" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Spacedrive Technology Inc "] +default-run = "sd-desktop" +description = "The universal file manager." +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] # Spacedrive Sub-crates -sd-core = { path = "../../../core", features = ["ffmpeg", "heif"] } -sd-fda = { path = "../../../crates/fda" } +sd-core = { path = "../../../core", features = ["ffmpeg", "heif"] } +sd-fda = { path = "../../../crates/fda" } sd-prisma = { path = "../../../crates/prisma" } # Workspace dependencies -axum = { workspace = true, features = ["headers", "query"] } -directories = { workspace = true } -futures = { workspace = true } -hyper = { workspace = true } -http = { workspace = true } +axum = { workspace = true, features = ["headers", "query"] } +directories = { workspace = true } +futures = { workspace = true } +http = { workspace = true } +hyper = { workspace = true } prisma-client-rust = { workspace = true } -rand = { workspace = true } -rspc = { workspace = true, features = ["tauri", "tracing"] } -serde = { workspace = true } -serde_json = { workspace = true } -specta = { workspace = true } -strum = { workspace = true, features = ["derive"] } -tokio = { workspace = true, features = ["sync"] } -tracing = { workspace = true } -thiserror = { workspace = true } -uuid = { workspace = true, features = ["serde"] } +rand = { workspace = true } +rspc = { workspace = true, features = ["tauri", "tracing"] } +serde = { workspace = true } +serde_json = { workspace = true } +specta = { workspace = true } +specta-typescript = { workspace = true } +strum = { workspace = true, features = ["derive"] } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["sync"] } +tracing = { workspace = true } +uuid = { workspace = true, features = ["serde"] } # Specific Desktop dependencies # WARNING: Do NOT enable default features, as that vendors dbus (see below) -opener = { version = "0.7.1", features = ["reveal"], default-features = false } -tauri = { version = "=2.0.0-beta.17", features = [ - "macos-private-api", - "unstable", - "linux-libxdo", -] } # Update blocked by rspc -tauri-plugin-updater = "2.0.0-beta" -tauri-plugin-dialog = "2.0.0-beta" -tauri-plugin-os = "2.0.0-beta" -tauri-plugin-shell = "2.0.0-beta" -tauri-runtime = { version = "=2.0.0-beta.15" } # Update blocked by tauri -tauri-specta = { version = "=2.0.0-rc.8", features = ["typescript"] } -tauri-utils = { version = "=2.0.0-beta.16" } # Update blocked by tauri +opener = { version = "0.7.1", features = ["reveal"], default-features = false } +tauri = { version = "=2.0.0-rc.2", features = ["linux-libxdo", "macos-private-api", "unstable"] } +tauri-plugin-dialog = "=2.0.0-rc.0" +tauri-plugin-os = "=2.0.0-rc.0" +tauri-plugin-shell = "=2.0.0-rc.0" +tauri-plugin-updater = "=2.0.0-rc.0" +tauri-runtime = { version = "=2.0.0-rc.2" } +tauri-utils = { version = "=2.0.0-rc.2" } + +[dependencies.tauri-specta] +features = ["derive", "typescript"] +git = "https://github.com/spacedriveapp/tauri-specta" +rev = "6069a05029" [target.'cfg(target_os = "linux")'.dependencies] # Spacedrive Sub-crates @@ -55,7 +57,7 @@ sd-desktop-linux = { path = "../crates/linux" } # Specific Desktop dependencies # WARNING: dbus must NOT be vendored, as that breaks the app on Linux,X11,Nvidia dbus = { version = "0.9.7", features = ["stdfd"] } -# https://github.com/tauri-apps/tauri/blob/tauri-v2.0.0-beta.17/core/tauri/Cargo.toml#L86 +# https://github.com/tauri-apps/tauri/blob/tauri-v2.0.0-rc.2/core/tauri/Cargo.toml webkit2gtk = { version = "=2.0.1", features = ["v2_38"] } [target.'cfg(target_os = "macos")'.dependencies] @@ -68,10 +70,10 @@ sd-desktop-windows = { path = "../crates/windows" } [build-dependencies] # Specific Desktop dependencies -tauri-build = "2.0.0-beta" +tauri-build = "=2.0.0-rc.2" [features] -default = ["custom-protocol"] -devtools = ["tauri/devtools"] -ai-models = ["sd-core/ai"] +ai-models = ["sd-core/ai"] custom-protocol = ["tauri/custom-protocol"] +default = ["custom-protocol"] +devtools = ["tauri/devtools"] diff --git a/apps/desktop/src-tauri/capabilities/default.json b/apps/desktop/src-tauri/capabilities/default.json index 90cc19ebd..cc710d277 100644 --- a/apps/desktop/src-tauri/capabilities/default.json +++ b/apps/desktop/src-tauri/capabilities/default.json @@ -4,27 +4,26 @@ "description": "Capability for the main window", "windows": ["main"], "permissions": [ - "app:default", - "event:default", - "image:default", - "menu:default", - "path:default", - "resources:default", - "window:default", - "tray:default", - "webview:default", - "window:default", + "core:app:default", + "core:event:default", + "core:image:default", + "core:menu:default", + "core:path:default", + "core:resources:default", + "core:window:default", + "core:tray:default", + "core:webview:default", "shell:allow-open", "dialog:allow-open", "dialog:allow-save", "dialog:allow-confirm", "os:allow-os-type", - "window:allow-close", - "window:allow-create", - "window:allow-maximize", - "window:allow-minimize", - "window:allow-toggle-maximize", - "window:allow-start-dragging", - "webview:allow-internal-toggle-devtools" + "core:window:allow-close", + "core:window:allow-create", + "core:window:allow-maximize", + "core:window:allow-minimize", + "core:window:allow-toggle-maximize", + "core:window:allow-start-dragging", + "core:webview:allow-internal-toggle-devtools" ] } diff --git a/apps/desktop/src-tauri/rustfmt.toml b/apps/desktop/src-tauri/rustfmt.toml index 054510e14..385c9ea02 100644 --- a/apps/desktop/src-tauri/rustfmt.toml +++ b/apps/desktop/src-tauri/rustfmt.toml @@ -1,12 +1,12 @@ -max_width = 100 -hard_tabs = true -newline_style = "Auto" -use_small_heuristics = "Default" -reorder_imports = true -reorder_modules = true -remove_nested_parens = true -edition = "2018" -merge_derives = true -use_try_shorthand = false +edition = "2018" +force_explicit_abi = true +hard_tabs = true +max_width = 100 +merge_derives = true +newline_style = "Auto" +remove_nested_parens = true +reorder_imports = true +reorder_modules = true use_field_init_shorthand = false -force_explicit_abi = true +use_small_heuristics = "Default" +use_try_shorthand = false diff --git a/apps/desktop/src-tauri/src/main.rs b/apps/desktop/src-tauri/src/main.rs index 3b8d617ae..7442bf8f6 100644 --- a/apps/desktop/src-tauri/src/main.rs +++ b/apps/desktop/src-tauri/src/main.rs @@ -10,9 +10,11 @@ use sd_core::{Node, NodeError}; use sd_fda::DiskAccess; use serde::{Deserialize, Serialize}; +use specta_typescript::Typescript; +use tauri::Emitter; use tauri::{async_runtime::block_on, webview::PlatformWebview, AppHandle, Manager, WindowEvent}; use tauri_plugins::{sd_error_plugin, sd_server_plugin}; -use tauri_specta::{collect_events, ts}; +use tauri_specta::{collect_events, Builder}; use tokio::task::block_in_place; use tokio::time::sleep; use tracing::error; @@ -181,45 +183,46 @@ async fn main() -> tauri::Result<()> { #[cfg(target_os = "linux")] sd_desktop_linux::normalize_environment(); - let (invoke_handler, register_events) = { - let builder = ts::builder() - .events(collect_events![DragAndDropEvent]) - .commands(tauri_specta::collect_commands![ - app_ready, - reset_spacedrive, - open_logs_dir, - refresh_menu_bar, - reload_webview, - set_menu_bar_item_state, - request_fda_macos, - open_trash_in_os_explorer, - file::open_file_paths, - file::open_ephemeral_files, - file::get_file_path_open_with_apps, - file::get_ephemeral_files_open_with_apps, - file::open_file_path_with, - file::open_ephemeral_file_with, - file::reveal_items, - theme::lock_app_theme, - updater::check_for_update, - updater::install_update - ]) - .config(specta::ts::ExportConfig::default().formatter(specta::ts::formatter::prettier)); + let builder = Builder::new() + .commands(tauri_specta::collect_commands![ + app_ready, + reset_spacedrive, + open_logs_dir, + refresh_menu_bar, + reload_webview, + set_menu_bar_item_state, + request_fda_macos, + open_trash_in_os_explorer, + file::open_file_paths, + file::open_ephemeral_files, + file::get_file_path_open_with_apps, + file::get_ephemeral_files_open_with_apps, + file::open_file_path_with, + file::open_ephemeral_file_with, + file::reveal_items, + theme::lock_app_theme, + updater::check_for_update, + updater::install_update + ]) + .events(collect_events![DragAndDropEvent]); - #[cfg(debug_assertions)] - let builder = builder.path("../src/commands.ts"); - - builder.build().unwrap() - }; + builder + .export( + Typescript::default() + .formatter(specta_typescript::formatter::prettier) + .header("/* eslint-disable */"), + "../src/commands.ts", + ) + .expect("Failed to export typescript bindings"); tauri::Builder::default() - .invoke_handler(invoke_handler) + .invoke_handler(builder.invoke_handler()) .setup(move |app| { // We need a the app handle to determine the data directory now. // This means all the setup code has to be within `setup`, however it doesn't support async so we `block_on`. block_in_place(|| { block_on(async move { - register_events(app); + builder.mount_events(app); let data_dir = app .path() diff --git a/apps/desktop/src-tauri/src/menu.rs b/apps/desktop/src-tauri/src/menu.rs index 4a379534d..1073031f1 100644 --- a/apps/desktop/src-tauri/src/menu.rs +++ b/apps/desktop/src-tauri/src/menu.rs @@ -4,7 +4,7 @@ use serde::Deserialize; use specta::Type; use tauri::{ menu::{Menu, MenuItemKind}, - AppHandle, Manager, Wry, + AppHandle, Emitter, Manager, Wry, }; use tracing::error; diff --git a/apps/desktop/src-tauri/src/updater.rs b/apps/desktop/src-tauri/src/updater.rs index c595b158f..327cc0d0d 100644 --- a/apps/desktop/src-tauri/src/updater.rs +++ b/apps/desktop/src-tauri/src/updater.rs @@ -1,4 +1,4 @@ -use tauri::{plugin::TauriPlugin, Manager, Runtime}; +use tauri::{plugin::TauriPlugin, Emitter, Runtime}; use tauri_plugin_updater::{Update as TauriPluginUpdate, UpdaterExt}; use tokio::sync::Mutex; diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index f6334dc17..c873befb1 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -1,5 +1,5 @@ { - "$schema": "https://github.com/tauri-apps/tauri/raw/tauri-v2.0.0-beta.17/core/tauri-config-schema/schema.json", + "$schema": "https://raw.githubusercontent.com/tauri-apps/tauri/tauri-v2.0.0-rc.2/core/tauri-config-schema/schema.json", "productName": "Spacedrive", "identifier": "com.spacedrive.desktop", "build": { @@ -41,7 +41,7 @@ }, "bundle": { "active": true, - "targets": ["deb", "msi", "dmg", "updater"], + "targets": ["deb", "msi", "dmg"], "publisher": "Spacedrive Technology Inc.", "copyright": "Spacedrive Technology Inc.", "category": "Productivity", @@ -62,7 +62,6 @@ "depends": ["libc6", "libxdo3", "dbus"] } }, - "macOS": { "minimumSystemVersion": "10.15", "exceptionDomain": null, @@ -71,7 +70,10 @@ }, "windows": { "certificateThumbprint": null, - "webviewInstallMode": { "type": "embedBootstrapper", "silent": true }, + "webviewInstallMode": { + "type": "embedBootstrapper", + "silent": true + }, "digestAlgorithm": "sha256", "timestampUrl": "", "wix": { diff --git a/apps/desktop/src/commands.ts b/apps/desktop/src/commands.ts index e091d5aa0..bde568c77 100644 --- a/apps/desktop/src/commands.ts +++ b/apps/desktop/src/commands.ts @@ -1,11 +1,14 @@ /** tauri-specta globals **/ -import { invoke as TAURI_INVOKE } from '@tauri-apps/api/core'; +import { Channel as TAURI_CHANNEL, invoke as TAURI_INVOKE } from '@tauri-apps/api/core'; import * as TAURI_API_EVENT from '@tauri-apps/api/event'; import { type WebviewWindow as __WebviewWindow__ } from '@tauri-apps/api/webviewWindow'; +/* eslint-disable */ // This file was generated by [tauri-specta](https://github.com/oscartbeaumont/tauri-specta). Do not edit this file manually. +/** user-defined commands **/ + export const commands = { async appReady(): Promise { await TAURI_INVOKE('app_ready'); @@ -146,12 +149,16 @@ export const commands = { } }; +/** user-defined events **/ + export const events = __makeEvents__<{ dragAndDropEvent: DragAndDropEvent; }>({ dragAndDropEvent: 'drag-and-drop-event' }); +/** user-defined constants **/ + /** user-defined types **/ export type AppThemeType = 'Auto' | 'Light' | 'Dark'; diff --git a/apps/mobile/modules/sd-core/android/crate/Cargo.toml b/apps/mobile/modules/sd-core/android/crate/Cargo.toml index afdf90d3f..f727988d2 100644 --- a/apps/mobile/modules/sd-core/android/crate/Cargo.toml +++ b/apps/mobile/modules/sd-core/android/crate/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "sd-mobile-android" +name = "sd-mobile-android" version = "0.1.0" -rust-version = "1.64" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version = "1.64" [lib] # Android can use dynamic linking since all FFI is done via JNI diff --git a/apps/mobile/modules/sd-core/core/Cargo.toml b/apps/mobile/modules/sd-core/core/Cargo.toml index d4f011dee..de8c14503 100644 --- a/apps/mobile/modules/sd-core/core/Cargo.toml +++ b/apps/mobile/modules/sd-core/core/Cargo.toml @@ -1,25 +1,24 @@ [package] -name = "sd-mobile-core" +name = "sd-mobile-core" version = "0.1.0" -rust-version = "1.64" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version = "1.64" [dependencies] # Spacedrive Sub-crates -sd-core = { path = "../../../../../core", features = [ - "mobile", -], default-features = false } +sd-core = { path = "../../../../../core", features = ["mobile"], default-features = false } # Workspace dependencies -futures = { workspace = true } -once_cell = { workspace = true } -rspc = { workspace = true } +futures = { workspace = true } +once_cell = { workspace = true } +rspc = { workspace = true } serde_json = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } # Specific Mobile Core dependencies futures-channel = "0.3.30" -futures-locks = "0.7.1" +futures-locks = "0.7.1" diff --git a/apps/mobile/modules/sd-core/ios/crate/Cargo.toml b/apps/mobile/modules/sd-core/ios/crate/Cargo.toml index 693263f3d..db5a25fdb 100644 --- a/apps/mobile/modules/sd-core/ios/crate/Cargo.toml +++ b/apps/mobile/modules/sd-core/ios/crate/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "sd-mobile-ios" +name = "sd-mobile-ios" version = "0.1.0" -rust-version = "1.64" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version = "1.64" [lib] # iOS requires static linking diff --git a/apps/p2p-relay/Cargo.toml b/apps/p2p-relay/Cargo.toml index 9585b7bb7..e85208e69 100644 --- a/apps/p2p-relay/Cargo.toml +++ b/apps/p2p-relay/Cargo.toml @@ -1,20 +1,21 @@ [package] -name = "sd-p2p-relay" +name = "sd-p2p-relay" version = "0.0.1" -publish = false -license.workspace = true -edition.workspace = true + +edition.workspace = true +license.workspace = true +publish = false repository.workspace = true [dependencies] # Workspace dependencies libp2p = { version = "0.53.2", features = [ - "tokio", - "quic", - "relay", "autonat", "macros", -] } + "quic", + "relay", + "tokio" +] } # Update blocked due to custom patch reqwest = { workspace = true, features = ["json", "native-tls-vendored"] } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } diff --git a/apps/server/Cargo.toml b/apps/server/Cargo.toml index 9c98729fe..841928131 100644 --- a/apps/server/Cargo.toml +++ b/apps/server/Cargo.toml @@ -1,29 +1,30 @@ [package] -name = "sd-server" +name = "sd-server" version = "0.1.0" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true [features] -default = [] -assets = [] ai-models = ["sd-core/ai"] +assets = [] +default = [] [dependencies] # Spacedrive Sub-crates sd-core = { path = "../../core", features = ["ffmpeg", "heif"] } # Workspace dependencies -axum = { workspace = true, features = ["headers"] } -base64 = { workspace = true } -http = { workspace = true } -rspc = { workspace = true, features = ["axum"] } +axum = { workspace = true, features = ["headers"] } +base64 = { workspace = true } +http = { workspace = true } +rspc = { workspace = true, features = ["axum"] } tempfile = { workspace = true } -tokio = { workspace = true, features = ["sync", "rt-multi-thread", "signal"] } -tracing = { workspace = true } +tokio = { workspace = true, features = ["rt-multi-thread", "signal", "sync"] } +tracing = { workspace = true } # Specific Desktop dependencies include_dir = "0.7.3" -mime_guess = "2.0" -secstr = "0.5.1" +mime_guess = "2.0" +secstr = "0.5.1" diff --git a/core/Cargo.toml b/core/Cargo.toml index 27cbeda9f..4f6f4d9d0 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,54 +1,47 @@ [package] -name = "sd-core" +name = "sd-core" version = "0.4.1" -description = "Virtual distributed filesystem engine that powers Spacedrive." -authors = ["Spacedrive Technology Inc "] -rust-version = "1.78" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Spacedrive Technology Inc "] +description = "Virtual distributed filesystem engine that powers Spacedrive." +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version = "1.78" [features] default = [] # This feature allows features to be disabled when the Core is running on mobile. mobile = [] # This feature controls whether the Spacedrive Core contains functionality which requires FFmpeg. -ffmpeg = [ - "dep:sd-ffmpeg", - "sd-core-heavy-lifting/ffmpeg", - "sd-media-metadata/ffmpeg", -] -heif = ["sd-images/heif"] -ai = ["dep:sd-ai"] +ai = ["dep:sd-ai"] +ffmpeg = ["dep:sd-ffmpeg", "sd-core-heavy-lifting/ffmpeg", "sd-media-metadata/ffmpeg"] +heif = ["sd-images/heif"] [dependencies] # Inner Core Sub-crates sd-core-file-path-helper = { path = "./crates/file-path-helper" } -sd-core-heavy-lifting = { path = "./crates/heavy-lifting" } -sd-core-indexer-rules = { path = "./crates/indexer-rules" } -sd-core-prisma-helpers = { path = "./crates/prisma-helpers" } -sd-core-sync = { path = "./crates/sync" } +sd-core-heavy-lifting = { path = "./crates/heavy-lifting" } +sd-core-indexer-rules = { path = "./crates/indexer-rules" } +sd-core-prisma-helpers = { path = "./crates/prisma-helpers" } +sd-core-sync = { path = "./crates/sync" } # Spacedrive Sub-crates -sd-actors = { path = "../crates/actors" } -sd-ai = { path = "../crates/ai", optional = true } -sd-cloud-api = { path = "../crates/cloud-api" } -sd-ffmpeg = { path = "../crates/ffmpeg", optional = true } -sd-file-ext = { path = "../crates/file-ext" } -sd-images = { path = "../crates/images", features = [ - "rspc", - "serde", - "specta", -] } +sd-actors = { path = "../crates/actors" } +sd-ai = { path = "../crates/ai", optional = true } +sd-cloud-api = { path = "../crates/cloud-api" } +sd-ffmpeg = { path = "../crates/ffmpeg", optional = true } +sd-file-ext = { path = "../crates/file-ext" } +sd-images = { path = "../crates/images", features = ["rspc", "serde", "specta"] } sd-media-metadata = { path = "../crates/media-metadata" } -sd-p2p = { path = "../crates/p2p", features = ["specta"] } -sd-p2p-block = { path = "../crates/p2p/crates/block" } -sd-p2p-proto = { path = "../crates/p2p/crates/proto" } -sd-p2p-tunnel = { path = "../crates/p2p/crates/tunnel" } -sd-prisma = { path = "../crates/prisma" } -sd-sync = { path = "../crates/sync" } -sd-task-system = { path = "../crates/task-system" } -sd-utils = { path = "../crates/utils" } +sd-p2p = { path = "../crates/p2p", features = ["specta"] } +sd-p2p-block = { path = "../crates/p2p/crates/block" } +sd-p2p-proto = { path = "../crates/p2p/crates/proto" } +sd-p2p-tunnel = { path = "../crates/p2p/crates/tunnel" } +sd-prisma = { path = "../crates/prisma" } +sd-sync = { path = "../crates/sync" } +sd-task-system = { path = "../crates/task-system" } +sd-utils = { path = "../crates/utils" } # Workspace dependencies async-channel = { workspace = true } @@ -62,7 +55,7 @@ directories = { workspace = true } futures = { workspace = true } futures-concurrency = { workspace = true } gix-ignore = { workspace = true } -hyper = { workspace = true, features = ["http1", "server", "client"] } +hyper = { workspace = true, features = ["client", "http1", "server"] } image = { workspace = true } itertools = { workspace = true } libc = { workspace = true } @@ -75,14 +68,7 @@ reqwest = { workspace = true, features = ["json", "native-tls-vendored"] } rmp = { workspace = true } rmp-serde = { workspace = true } rmpv = { workspace = true } -rspc = { workspace = true, features = [ - "axum", - "uuid", - "chrono", - "tracing", - "alpha", - "unstable", -] } +rspc = { workspace = true, features = ["alpha", "axum", "chrono", "tracing", "unstable", "uuid"] } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } specta = { workspace = true } @@ -92,26 +78,26 @@ strum_macros = { workspace = true } tempfile = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, features = [ - "sync", - "rt-multi-thread", "io-util", "macros", - "time", "process", + "rt-multi-thread", + "sync", + "time" ] } tokio-stream = { workspace = true, features = ["fs"] } tokio-util = { workspace = true, features = ["io"] } tracing = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter"] } -uuid = { workspace = true, features = ["v4", "serde"] } +uuid = { workspace = true, features = ["serde", "v4"] } webp = { workspace = true } # Specific Core dependencies async-recursion = "1.1" async-stream = "0.3.5" -aws-sdk-s3 = { version = "1.34", features = ["behavior-version-latest"] } aws-config = "1.5" aws-credential-types = "1.2" +aws-sdk-s3 = { version = "1.34", features = ["behavior-version-latest"] } bytes = "1.6" ctor = "0.2.8" flate2 = "1.0" @@ -120,8 +106,8 @@ http-body = "0.4.6" # Update blocked by http http-range = "0.1.5" int-enum = "0.5" # Update blocked due to API breaking changes mini-moka = "0.10.3" -notify = { git = "https://github.com/notify-rs/notify.git", rev = "c3929ed114fbb0bc7457a9a498260461596b00ca", default-features = false, features = [ - "macos_fsevent", +notify = { git = "https://github.com/notify-rs/notify.git", rev = "c3929ed114", default-features = false, features = [ + "macos_fsevent" ] } serde-hashkey = "0.4.5" serde_repr = "0.1.19" @@ -134,11 +120,11 @@ tracing-appender = "0.2.3" # Override features of transitive dependencies [dependencies.openssl] -version = "=0.10.64" features = ["vendored"] +version = "0.10.66" [dependencies.openssl-sys] -version = "=0.9.102" features = ["vendored"] +version = "0.9.103" # Platform-specific dependencies [target.'cfg(target_os = "macos")'.dependencies] @@ -155,8 +141,8 @@ trash = "4.1" icrate = { version = "0.1.2", features = [ "Foundation", "Foundation_NSFileManager", - "Foundation_NSString", "Foundation_NSNumber", + "Foundation_NSString" ] } [target.'cfg(target_os = "android")'.dependencies] @@ -164,7 +150,7 @@ tracing-android = "0.2.0" [dev-dependencies] # Workspace dependencies -globset = { workspace = true } +globset = { workspace = true } tracing-test = { workspace = true } # Specific Core dependencies diff --git a/core/crates/file-path-helper/Cargo.toml b/core/crates/file-path-helper/Cargo.toml index a769102ee..f3e408e43 100644 --- a/core/crates/file-path-helper/Cargo.toml +++ b/core/crates/file-path-helper/Cargo.toml @@ -1,30 +1,31 @@ [package] -name = "sd-core-file-path-helper" +name = "sd-core-file-path-helper" version = "0.1.0" -authors = ["Ericson Soares "] -readme = "README.md" -rust-version = "1.75" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Ericson Soares "] +edition.workspace = true +license.workspace = true +readme = "README.md" +repository.workspace = true +rust-version = "1.75" [dependencies] # Inner Core Sub-crates sd-core-prisma-helpers = { path = "../prisma-helpers" } -sd-core-sync = { path = "../sync" } +sd-core-sync = { path = "../sync" } # Spacedrive Sub-crates sd-prisma = { path = "../../../crates/prisma" } -sd-utils = { path = "../../../crates/utils" } +sd-utils = { path = "../../../crates/utils" } # Workspace dependencies -chrono = { workspace = true, features = ["serde"] } +chrono = { workspace = true, features = ["serde"] } prisma-client-rust = { workspace = true } -regex = { workspace = true } -serde = { workspace = true, features = ["derive"] } -thiserror = { workspace = true } -tokio = { workspace = true, features = ["fs"] } -tracing = { workspace = true } +regex = { workspace = true } +serde = { workspace = true, features = ["derive"] } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["fs"] } +tracing = { workspace = true } [target.'cfg(windows)'.dependencies] winapi-util = "0.1.8" diff --git a/core/crates/heavy-lifting/Cargo.toml b/core/crates/heavy-lifting/Cargo.toml index 6729096d9..1dcc11bb5 100644 --- a/core/crates/heavy-lifting/Cargo.toml +++ b/core/crates/heavy-lifting/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "sd-core-heavy-lifting" +name = "sd-core-heavy-lifting" version = "0.1.0" -authors = ["Ericson Soares "] -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Ericson Soares "] +edition.workspace = true +license.workspace = true +repository.workspace = true [features] default = [] @@ -14,48 +15,48 @@ ffmpeg = ["dep:sd-ffmpeg"] [dependencies] # Inner Core Sub-crates sd-core-file-path-helper = { path = "../file-path-helper" } -sd-core-indexer-rules = { path = "../indexer-rules" } -sd-core-prisma-helpers = { path = "../prisma-helpers" } -sd-core-sync = { path = "../sync" } +sd-core-indexer-rules = { path = "../indexer-rules" } +sd-core-prisma-helpers = { path = "../prisma-helpers" } +sd-core-sync = { path = "../sync" } # Spacedrive Sub-crates -sd-ffmpeg = { path = "../../../crates/ffmpeg", optional = true } -sd-file-ext = { path = "../../../crates/file-ext" } -sd-images = { path = "../../../crates/images" } +sd-ffmpeg = { path = "../../../crates/ffmpeg", optional = true } +sd-file-ext = { path = "../../../crates/file-ext" } +sd-images = { path = "../../../crates/images" } sd-media-metadata = { path = "../../../crates/media-metadata" } -sd-prisma = { path = "../../../crates/prisma" } -sd-sync = { path = "../../../crates/sync" } -sd-task-system = { path = "../../../crates/task-system" } -sd-utils = { path = "../../../crates/utils" } +sd-prisma = { path = "../../../crates/prisma" } +sd-sync = { path = "../../../crates/sync" } +sd-task-system = { path = "../../../crates/task-system" } +sd-utils = { path = "../../../crates/utils" } # Workspace dependencies -async-channel = { workspace = true } -async-trait = { workspace = true } -blake3 = { workspace = true } -chrono = { workspace = true, features = ["serde"] } -futures = { workspace = true } +async-channel = { workspace = true } +async-trait = { workspace = true } +blake3 = { workspace = true } +chrono = { workspace = true, features = ["serde"] } +futures = { workspace = true } futures-concurrency = { workspace = true } -globset = { workspace = true } -image = { workspace = true } -itertools = { workspace = true } -lending-stream = { workspace = true } -once_cell = { workspace = true } -prisma-client-rust = { workspace = true } -rmpv = { workspace = true } -rmp-serde = { workspace = true } -rspc = { workspace = true } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -specta = { workspace = true } -static_assertions = { workspace = true } -strum = { workspace = true, features = ["derive", "phf"] } -thiserror = { workspace = true } -tokio = { workspace = true, features = ["fs", "sync", "parking_lot"] } -tokio-stream = { workspace = true, features = ["fs"] } -tracing = { workspace = true } -uuid = { workspace = true, features = ["v4", "serde"] } -webp = { workspace = true } +globset = { workspace = true } +image = { workspace = true } +itertools = { workspace = true } +lending-stream = { workspace = true } +once_cell = { workspace = true } +prisma-client-rust = { workspace = true } +rmp-serde = { workspace = true } +rmpv = { workspace = true } +rspc = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +specta = { workspace = true } +static_assertions = { workspace = true } +strum = { workspace = true, features = ["derive", "phf"] } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["fs", "parking_lot", "sync"] } +tokio-stream = { workspace = true, features = ["fs"] } +tracing = { workspace = true } +uuid = { workspace = true, features = ["serde", "v4"] } +webp = { workspace = true } [dev-dependencies] -tempfile = { workspace = true } +tempfile = { workspace = true } tracing-test = { workspace = true } diff --git a/core/crates/indexer-rules/Cargo.toml b/core/crates/indexer-rules/Cargo.toml index 10f5f476b..db7a6dcb3 100644 --- a/core/crates/indexer-rules/Cargo.toml +++ b/core/crates/indexer-rules/Cargo.toml @@ -1,34 +1,32 @@ [package] -name = "sd-core-indexer-rules" +name = "sd-core-indexer-rules" version = "0.1.0" -authors = [ - "Ericson Soares ", - "Vítor Vasconcellos ", -] -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Ericson Soares ", "Vítor Vasconcellos "] +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] # Spacedrive Sub-crates sd-prisma = { path = "../../../crates/prisma" } -sd-utils = { path = "../../../crates/utils" } +sd-utils = { path = "../../../crates/utils" } # Workspace dependencies -chrono = { workspace = true } +chrono = { workspace = true } futures-concurrency = { workspace = true } -gix-ignore = { workspace = true, features = ["serde"] } -globset = { workspace = true, features = ["serde1"] } -once_cell = { workspace = true } -prisma-client-rust = { workspace = true } -rmp-serde = { workspace = true } -rspc = { workspace = true } -serde = { workspace = true, features = ["derive"] } -specta = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true, features = ["fs"] } -tracing = { workspace = true } -uuid = { workspace = true, features = ["v4", "serde"] } +gix-ignore = { workspace = true, features = ["serde"] } +globset = { workspace = true, features = ["serde1"] } +once_cell = { workspace = true } +prisma-client-rust = { workspace = true } +rmp-serde = { workspace = true } +rspc = { workspace = true } +serde = { workspace = true, features = ["derive"] } +specta = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["fs"] } +tracing = { workspace = true } +uuid = { workspace = true, features = ["serde", "v4"] } [dev-dependencies] tempfile = { workspace = true } diff --git a/core/crates/prisma-helpers/Cargo.toml b/core/crates/prisma-helpers/Cargo.toml index 66d1be763..6a3a47a4c 100644 --- a/core/crates/prisma-helpers/Cargo.toml +++ b/core/crates/prisma-helpers/Cargo.toml @@ -1,18 +1,19 @@ [package] -name = "sd-core-prisma-helpers" +name = "sd-core-prisma-helpers" version = "0.1.0" -authors = ["Ericson Soares "] -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Ericson Soares "] +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] # Spacedrive Sub-crates sd-prisma = { path = "../../../crates/prisma" } -sd-utils = { path = "../../../crates/utils" } +sd-utils = { path = "../../../crates/utils" } # Workspace dependencies prisma-client-rust = { workspace = true } -serde = { workspace = true, features = ["derive"] } -specta = { workspace = true } -uuid = { workspace = true, features = ["v4", "serde"] } +serde = { workspace = true, features = ["derive"] } +specta = { workspace = true } +uuid = { workspace = true, features = ["serde", "v4"] } diff --git a/core/crates/sync/Cargo.toml b/core/crates/sync/Cargo.toml index 85858de5c..84ca5c3d1 100644 --- a/core/crates/sync/Cargo.toml +++ b/core/crates/sync/Cargo.toml @@ -1,6 +1,7 @@ [package] -name = "sd-core-sync" +name = "sd-core-sync" version = "0.0.0" + edition = "2021" [features] @@ -8,27 +9,27 @@ default = [] [dependencies] # Spacedrive Sub-crates -sd-prisma = { path = "../../../crates/prisma" } -sd-sync = { path = "../../../crates/sync" } -sd-utils = { path = "../../../crates/utils" } sd-actors = { path = "../../../crates/actors" } +sd-prisma = { path = "../../../crates/prisma" } +sd-sync = { path = "../../../crates/sync" } +sd-utils = { path = "../../../crates/utils" } # Workspace dependencies -async-channel = { workspace = true } -futures = { workspace = true } +async-channel = { workspace = true } +futures = { workspace = true } futures-concurrency = { workspace = true } -prisma-client-rust = { workspace = true, features = ["rspc"] } -rmpv = { workspace = true } -rmp-serde = { workspace = true } -rspc = { workspace = true } -serde = { workspace = true } -serde_json = { workspace = true } -tokio = { workspace = true } -thiserror = { workspace = true } -tracing = { workspace = true } -uhlc = { workspace = true } -uuid = { workspace = true } +prisma-client-rust = { workspace = true, features = ["rspc"] } +rmp-serde = { workspace = true } +rmpv = { workspace = true } +rspc = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +uhlc = { workspace = true } +uuid = { workspace = true } [dev-dependencies] -tracing-test = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter"] } +tracing-test = { workspace = true } diff --git a/core/prisma/migrations/migration_lock.toml b/core/prisma/migrations/migration_lock.toml index e5e5c4705..6fcf33daf 100644 --- a/core/prisma/migrations/migration_lock.toml +++ b/core/prisma/migrations/migration_lock.toml @@ -1,3 +1,3 @@ # Please do not edit this file manually # It should be added in your version-control system (i.e. Git) -provider = "sqlite" \ No newline at end of file +provider = "sqlite" diff --git a/core/src/util/unsafe_streamed_query.rs b/core/src/util/unsafe_streamed_query.rs index 1e3954512..9a316373a 100644 --- a/core/src/util/unsafe_streamed_query.rs +++ b/core/src/util/unsafe_streamed_query.rs @@ -3,7 +3,7 @@ use std::pin::pin; use async_stream::stream; use futures::{Stream, StreamExt}; use serde::Serialize; -use specta::{reference::Reference, DataType, Generics, Type, TypeMap}; +use specta::{DataType, Generics, Type, TypeMap}; #[derive(Serialize)] #[serde(untagged)] @@ -16,10 +16,6 @@ impl Type for Output { fn inline(type_map: &mut TypeMap, generics: Generics) -> DataType { T::inline(type_map, generics) } - - fn reference(type_map: &mut TypeMap, generics: &[DataType]) -> Reference { - T::reference(type_map, generics) - } } // Marked as unsafe as the types are a lie and this should always be used with `useUnsafeStreamedQuery` diff --git a/crates/actors/Cargo.toml b/crates/actors/Cargo.toml index 29fb43a88..65d33cff7 100644 --- a/crates/actors/Cargo.toml +++ b/crates/actors/Cargo.toml @@ -1,13 +1,14 @@ [package] -name = "sd-actors" +name = "sd-actors" version = "0.1.0" -license.workspace = true -edition.workspace = true + +edition.workspace = true +license.workspace = true repository.workspace = true [dependencies] -async-channel = { workspace = true } -futures = { workspace = true } +async-channel = { workspace = true } +futures = { workspace = true } pin-project-lite = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } diff --git a/crates/ai/Cargo.toml b/crates/ai/Cargo.toml index a1cb437e6..73e188559 100644 --- a/crates/ai/Cargo.toml +++ b/crates/ai/Cargo.toml @@ -1,63 +1,64 @@ [package] -name = "sd-ai" +name = "sd-ai" version = "0.1.0" -authors = ["Ericson Soares "] -readme = "README.md" -description = "A simple library to generate video thumbnails using ffmpeg with the webp format" -rust-version = "1.75" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Ericson Soares "] +description = "A simple library to generate video thumbnails using ffmpeg with the webp format" +edition.workspace = true +license.workspace = true +readme = "README.md" +repository.workspace = true +rust-version = "1.75" [dependencies] # Inner Core Sub-crates sd-core-file-path-helper = { path = "../../core/crates/file-path-helper" } -sd-core-prisma-helpers = { path = "../../core/crates/prisma-helpers" } -sd-core-sync = { path = "../../core/crates/sync" } +sd-core-prisma-helpers = { path = "../../core/crates/prisma-helpers" } +sd-core-sync = { path = "../../core/crates/sync" } # Spacedrive Sub-crates sd-prisma = { path = "../prisma" } -sd-sync = { path = "../sync" } -sd-utils = { path = "../utils" } +sd-sync = { path = "../sync" } +sd-utils = { path = "../utils" } -async-channel = { workspace = true } -chrono = { workspace = true, features = ["serde"] } -futures = { workspace = true } +async-channel = { workspace = true } +chrono = { workspace = true, features = ["serde"] } +futures = { workspace = true } futures-concurrency = { workspace = true } -image = { workspace = true } -once_cell = { workspace = true } -prisma-client-rust = { workspace = true } -reqwest = { workspace = true, features = ["stream", "native-tls-vendored"] } -rmp-serde = { workspace = true } -rmpv = { workspace = true } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true, features = ["fs"] } -tokio-stream = { workspace = true } -tracing = { workspace = true } -uuid = { workspace = true, features = ["v4", "serde"] } +image = { workspace = true } +once_cell = { workspace = true } +prisma-client-rust = { workspace = true } +reqwest = { workspace = true, features = ["native-tls-vendored", "stream"] } +rmp-serde = { workspace = true } +rmpv = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["fs"] } +tokio-stream = { workspace = true } +tracing = { workspace = true } +uuid = { workspace = true, features = ["serde", "v4"] } # Note: half and ndarray version must be the same as used in ort -half = { version = "2.1", features = ['num-traits'] } +half = { version = "2.1", features = ['num-traits'] } ndarray = "0.15" -url = '2.5.0' +url = '2.5.0' # Microsoft does not provide a release for osx-gpu. See: https://github.com/microsoft/onnxruntime/releases # "gpu" means CUDA or TensorRT EP. Thus, the ort crate cannot download them at build time. # Ref: https://github.com/pykeio/ort/blob/d7defd1862969b4b44f7f3f4b9c72263690bd67b/build.rs#L148 [target.'cfg(target_os = "windows")'.dependencies] ort = { version = "=2.0.0-rc.0", default-features = false, features = [ - "ndarray", + "directml", "half", "load-dynamic", - "directml", + "ndarray" ] } [target.'cfg(target_os = "linux")'.dependencies] ort = { version = "=2.0.0-rc.0", default-features = false, features = [ - "ndarray", "half", - "xnnpack", + "ndarray", + "xnnpack" ] } # [target.'cfg(target_os = "android")'.dependencies] # ort = { version = "=2.0.0-rc.0", default-features = false, features = [ @@ -71,9 +72,9 @@ ort = { version = "=2.0.0-rc.0", default-features = false, features = [ # ] } [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies] ort = { version = "=2.0.0-rc.0", features = [ - "ndarray", + "coreml", "half", "load-dynamic", - "coreml", - "xnnpack", + "ndarray", + "xnnpack" ] } diff --git a/crates/cloud-api/Cargo.toml b/crates/cloud-api/Cargo.toml index 792947700..49c78576a 100644 --- a/crates/cloud-api/Cargo.toml +++ b/crates/cloud-api/Cargo.toml @@ -1,8 +1,9 @@ [package] -name = "sd-cloud-api" +name = "sd-cloud-api" version = "0.1.0" -license.workspace = true -edition.workspace = true + +edition.workspace = true +license.workspace = true repository.workspace = true [dependencies] @@ -10,13 +11,13 @@ repository.workspace = true sd-p2p = { path = "../p2p" } # Workspace dependencies -base64 = { workspace = true } -reqwest = { workspace = true, features = ["native-tls-vendored"] } -rmpv = { workspace = true } -rspc = { workspace = true } -serde = { workspace = true } +base64 = { workspace = true } +reqwest = { workspace = true, features = ["native-tls-vendored"] } +rmpv = { workspace = true } +rspc = { workspace = true } +serde = { workspace = true } serde_json = { workspace = true } -specta = { workspace = true } -thiserror = { workspace = true } -tracing = { workspace = true } -uuid = { workspace = true } +specta = { workspace = true } +thiserror = { workspace = true } +tracing = { workspace = true } +uuid = { workspace = true } diff --git a/crates/crypto/Cargo.toml b/crates/crypto/Cargo.toml index 4b570d2e2..3e8810500 100644 --- a/crates/crypto/Cargo.toml +++ b/crates/crypto/Cargo.toml @@ -1,49 +1,42 @@ [package] -name = "sd-crypto" -rust-version = "1.72" +name = "sd-crypto" version = "0.0.0" + authors = ["Jake Robinson "] description = """ A cryptographic library that provides safe and high-level encryption, hashing, and encoding interfaces. """ -readme = "README.md" +edition.workspace = true keywords = ["crypto"] -edition = { workspace = true } -license = { workspace = true } -repository = { workspace = true } +license.workspace = true +readme = "README.md" +repository.workspace = true +rust-version = "1.72" + [features] -sys = [] -serde = [ - "dep:serde", - "dep:serde_json", - "dep:serde-big-array", - "dep:serdect", - "bincode/serde", -] +experimental = [] keyring = ["dep:linux-keyutils", "dep:security-framework"] secret-service = [ - "keyring", "dep:secret-service", "dep:zbus", + "keyring" ] # explicit enabling required as the secret service api requires `zbus` and is messy -experimental = [] +serde = ["bincode/serde", "dep:serde", "dep:serde-big-array", "dep:serde_json", "dep:serdect"] +sys = [] [dependencies] # rng -rand_core = "0.9.0-alpha.0" -rand = "0.9.0-alpha.0" +rand = "0.9.0-alpha.0" rand_chacha = "0.9.0-alpha.0" +rand_core = "0.9.0-alpha.0" # hashing -argon2 = { version = "0.6.0-pre.0", default_features = false, features = [ - "alloc", - "zeroize", -] } +argon2 = { version = "0.6.0-pre.0", default_features = false, features = ["alloc", "zeroize"] } balloon-hash = { version = "0.5.0-pre.0", default_features = false, features = [ "alloc", - "zeroize", + "zeroize" ] } blake3 = { version = "1.5.0", features = ["traits-preview", "zeroize"] } @@ -51,27 +44,27 @@ blake3 = { version = "1.5.0", features = ["traits-preview", "zeroize"] } cmov = "0.3.1" # aeads -aes-gcm-siv = "0.11.1" +aead = { version = "0.5.2", default-features = false, features = ["stream"] } +aes-gcm-siv = "0.11.1" +bincode = { version = "2.0.0-rc.3", features = ["alloc", "derive"] } chacha20poly1305 = "0.10.1" -thiserror = "1.0.57" -aead = { version = "0.5.2", default-features = false, features = ["stream"] } -bincode = { version = "2.0.0-rc.3", features = ["derive", "alloc"] } +thiserror = "1.0.57" -zeroize = { version = "1.7.0", features = ["derive", "aarch64"] } +zeroize = { version = "1.7.0", features = ["aarch64", "derive"] } -serde = { version = "1.0.197", features = ["derive"], optional = true } -serde_json = { version = "1.0.114", optional = true } +serde = { version = "1.0.197", features = ["derive"], optional = true } serde-big-array = { version = "0.5.1", optional = true } -serdect = { version = "0.3.0-pre.0", optional = true } +serde_json = { version = "1.0.114", optional = true } +serdect = { version = "0.3.0-pre.0", optional = true } specta = { workspace = true, optional = true } # for asynchronous crypto tokio = { workspace = true, features = [ "io-util", - "rt-multi-thread", "macros", - "sync", + "rt-multi-thread", + "sync" ], optional = true } redb = "1.5.0" @@ -91,14 +84,14 @@ uuid = { version = "1.7.0", features = ["v4"] } linux-keyutils = { version = "0.2.4", features = ["std"], optional = true } secret-service = { version = "3.0.1", features = [ "crypto-rust", - "rt-tokio-crypto-rust", + "rt-tokio-crypto-rust" ], optional = true } # this needs to remain at versions < 4, as they made some changes and i can't get it # to compile for the time being zbus = { version = "4.0", default_features = false, features = [ - "tokio", "blocking", + "tokio" ], optional = true } [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies] @@ -106,44 +99,44 @@ security-framework = { version = "2.9.2", optional = true } [dev-dependencies] criterion = "0.5.1" -paste = "1.0.14" -tempfile = "3.10.1" +paste = "1.0.14" +tempfile = "3.10.1" [clippy] allow = ["unwrap_in_tests"] [[bench]] -path = "benches/crypto/aes-256-gcm-siv.rs" -name = "aes-256-gcm-siv" harness = false +name = "aes-256-gcm-siv" +path = "benches/crypto/aes-256-gcm-siv.rs" [[bench]] -path = "benches/crypto/xchacha20-poly1305.rs" -name = "xchacha20-poly1305" harness = false +name = "xchacha20-poly1305" +path = "benches/crypto/xchacha20-poly1305.rs" [[bench]] -path = "benches/hashing/argon2id.rs" -name = "argon2id" -bench = false +bench = false harness = false +name = "argon2id" +path = "benches/hashing/argon2id.rs" [[bench]] -path = "benches/hashing/blake3-balloon.rs" -name = "blake3-balloon" -bench = false +bench = false harness = false +name = "blake3-balloon" +path = "benches/hashing/blake3-balloon.rs" [[bench]] -path = "benches/hashing/blake3.rs" -name = "blake3" harness = false +name = "blake3" +path = "benches/hashing/blake3.rs" [[bench]] -path = "benches/hashing/blake3-kdf.rs" -name = "blake3-kdf" harness = false +name = "blake3-kdf" +path = "benches/hashing/blake3-kdf.rs" [[example]] -path = "examples/file_encryption.rs" name = "file_encryption" +path = "examples/file_encryption.rs" diff --git a/crates/fda/Cargo.toml b/crates/fda/Cargo.toml index 24f1a86e1..25c3e5507 100644 --- a/crates/fda/Cargo.toml +++ b/crates/fda/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "sd-fda" +name = "sd-fda" version = "0.1.0" -authors = ["Jake Robinson "] -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Jake Robinson "] +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] thiserror = { workspace = true } diff --git a/crates/ffmpeg/Cargo.toml b/crates/ffmpeg/Cargo.toml index 9f84182f2..ea6e3ff0c 100644 --- a/crates/ffmpeg/Cargo.toml +++ b/crates/ffmpeg/Cargo.toml @@ -1,33 +1,31 @@ [package] -name = "sd-ffmpeg" +name = "sd-ffmpeg" version = "0.1.0" -authors = [ - "Ericson Soares ", - "Vítor Vasconcellos ", -] -readme = "README.md" -description = "A simple library to generate video thumbnails using ffmpeg with the webp format" -rust-version = "1.78" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Ericson Soares ", "Vítor Vasconcellos "] +description = "A simple library to generate video thumbnails using ffmpeg with the webp format" +edition.workspace = true +license.workspace = true +readme = "README.md" +repository.workspace = true +rust-version = "1.78" [dependencies] # Spacedrive Sub-crates sd-utils = { path = "../utils" } # Workspace dependencies -chrono = { workspace = true, features = ["serde"] } -image = { workspace = true } -libc = { workspace = true } +chrono = { workspace = true, features = ["serde"] } +image = { workspace = true } +libc = { workspace = true } thiserror = { workspace = true } -tokio = { workspace = true, features = ["fs", "rt"] } -tracing = { workspace = true } -webp = { workspace = true } +tokio = { workspace = true, features = ["fs", "rt"] } +tracing = { workspace = true } +webp = { workspace = true } # Specific FFmpeg dependencies ffmpeg-sys-next = "7.0" [dev-dependencies] tempfile = { workspace = true } -tokio = { workspace = true, features = ["fs", "rt", "macros"] } +tokio = { workspace = true, features = ["fs", "macros", "rt"] } diff --git a/crates/file-ext/Cargo.toml b/crates/file-ext/Cargo.toml index 0ba69efe6..a7b357854 100644 --- a/crates/file-ext/Cargo.toml +++ b/crates/file-ext/Cargo.toml @@ -1,21 +1,19 @@ [package] -name = "sd-file-ext" +name = "sd-file-ext" version = "0.0.0" -authors = [ - "Brendan Allen ", - "Jamie Pine ", -] -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Brendan Allen ", "Jamie Pine "] +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -specta = { workspace = true } -strum = { workspace = true, features = ["derive"] } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +specta = { workspace = true } +strum = { workspace = true, features = ["derive"] } strum_macros = { workspace = true } -tokio = { workspace = true, features = ["fs", "rt", "io-util"] } +tokio = { workspace = true, features = ["fs", "io-util", "rt"] } [dev-dependencies] -tokio = { workspace = true, features = ["fs", "rt", "macros"] } +tokio = { workspace = true, features = ["fs", "macros", "rt"] } diff --git a/crates/images/Cargo.toml b/crates/images/Cargo.toml index 73fc9fd77..b602584da 100644 --- a/crates/images/Cargo.toml +++ b/crates/images/Cargo.toml @@ -1,38 +1,29 @@ [package] -name = "sd-images" +name = "sd-images" version = "0.1.0" -authors = [ - "Jake Robinson ", - "Vítor Vasconcellos ", -] -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Jake Robinson ", "Vítor Vasconcellos "] +edition.workspace = true +license.workspace = true +repository.workspace = true [features] heif = ["dep:libheif-rs", "dep:libheif-sys"] [dependencies] # Workspace dependencies -image = { workspace = true } +image = { workspace = true } once_cell = { workspace = true } -rspc = { workspace = true, optional = true } # error conversion -specta = { workspace = true, optional = true } -serde = { workspace = true, optional = true, features = ["derive"] } +rspc = { workspace = true, optional = true } # error conversion +serde = { workspace = true, optional = true, features = ["derive"] } +specta = { workspace = true, optional = true } thiserror = { workspace = true } -tracing = { workspace = true } +tracing = { workspace = true } # Specific Images dependencies -bincode = { version = "=2.0.0-rc.3", features = [ - "derive", - "alloc", -], optional = true } +bincode = { version = "=2.0.0-rc.3", features = ["alloc", "derive"], optional = true } # Disable defaults for libheif* to avoid bindgen and use pre-compiled headers -libheif-rs = { version = "1.0", default-features = false, optional = true } -libheif-sys = { version = "2.1", default-features = false, optional = true } -pdfium-render = { version = "0.8.15", features = [ - "sync", - "image", - "thread_safe", -] } -resvg = "0.42.0" +libheif-rs = { version = "1.0", default-features = false, optional = true } +libheif-sys = { version = "2.1", default-features = false, optional = true } +pdfium-render = { version = "0.8.15", features = ["image", "sync", "thread_safe"] } +resvg = "0.43.0" diff --git a/crates/media-metadata/Cargo.toml b/crates/media-metadata/Cargo.toml index a0ed6c83f..672f4c160 100644 --- a/crates/media-metadata/Cargo.toml +++ b/crates/media-metadata/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "sd-media-metadata" +name = "sd-media-metadata" version = "0.1.0" + authors = [ - "Jake Robinson ", - "Vítor Vasconcellos ", "Ericson Soares ", + "Jake Robinson ", + "Vítor Vasconcellos " ] edition = "2021" @@ -14,17 +15,17 @@ ffmpeg = ["dep:sd-ffmpeg"] [dependencies] # Spacedrive Sub-crates sd-ffmpeg = { path = "../ffmpeg", optional = true } -sd-utils = { path = "../utils" } +sd-utils = { path = "../utils" } # Workspace dependencies -chrono = { workspace = true, features = ["serde"] } -image = { workspace = true } -rand = { workspace = true } -serde = { workspace = true, features = ["derive"] } +chrono = { workspace = true, features = ["serde"] } +image = { workspace = true } +rand = { workspace = true } +serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } -specta = { workspace = true, features = ["chrono"] } -thiserror = { workspace = true } -tokio = { workspace = true } +specta = { workspace = true, features = ["chrono"] } +thiserror = { workspace = true } +tokio = { workspace = true } # Specific Media Metadata dependencies kamadak-exif = "0.5.5" diff --git a/crates/p2p/Cargo.toml b/crates/p2p/Cargo.toml index c670181f8..ead36f24f 100644 --- a/crates/p2p/Cargo.toml +++ b/crates/p2p/Cargo.toml @@ -1,61 +1,54 @@ [package] -name = "sd-p2p" +name = "sd-p2p" version = "0.2.0" -description = "Rust Peer to Peer Networking Library" -authors = ["Oscar Beaumont "] -readme = "README.md" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +authors = ["Oscar Beaumont "] +description = "Rust Peer to Peer Networking Library" +edition.workspace = true +license.workspace = true +readme = "README.md" +repository.workspace = true # TODO: Remove features??? and dependencies [features] default = [] -specta = [] +specta = [] [dependencies] # Workspace dependencies -base64 = { workspace = true } -base91 = { workspace = true } -ed25519-dalek = { workspace = true } -futures = { workspace = true } +base64 = { workspace = true } +base91 = { workspace = true } +ed25519-dalek = { workspace = true } +futures = { workspace = true } pin-project-lite = { workspace = true } -reqwest = { workspace = true } -rmp-serde = { workspace = true } -serde = { workspace = true, features = ["derive"] } -specta = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true, features = [ - "macros", - "sync", - "time", - "io-util", - "fs", -] } -tokio-stream = { workspace = true, features = ["sync"] } -tokio-util = { workspace = true, features = ["compat"] } -tracing = { workspace = true } -uuid = { workspace = true, features = ["serde"] } +reqwest = { workspace = true } +rmp-serde = { workspace = true } +serde = { workspace = true, features = ["derive"] } +specta = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["fs", "io-util", "macros", "sync", "time"] } +tokio-stream = { workspace = true, features = ["sync"] } +tokio-util = { workspace = true, features = ["compat"] } +tracing = { workspace = true } +uuid = { workspace = true, features = ["serde"] } # Specific P2P dependencies dns-lookup = "2.0" flume = "=0.11.0" # Must match version used by `mdns-sd` futures-core = "0.3.30" hash_map_diff = "0.2.0" -if-watch = { version = "=3.2.0", features = [ - "tokio", -] } # Override features used by libp2p-quic +if-watch = { version = "=3.2.0", features = ["tokio"] } # Override features used by libp2p-quic libp2p = { version = "=0.53.2", features = [ - "tokio", - "serde", - "macros", - "quic", "autonat", - "relay", - "yamux", - "noise", "dcutr", + "macros", + "noise", + "quic", + "relay", + "serde", + "tokio", + "yamux" ] } # Update blocked due to custom patch libp2p-stream = "=0.1.0-alpha" # Update blocked due to custom patch mdns-sd = "0.11.1" @@ -67,6 +60,6 @@ sync_wrapper = "1.0" zeroize = { version = "1.8", features = ["derive"] } [dev-dependencies] -tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } +tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } tracing-subscriber = { workspace = true } -uuid = { workspace = true, features = ["v4"] } +uuid = { workspace = true, features = ["v4"] } diff --git a/crates/p2p/crates/block/Cargo.toml b/crates/p2p/crates/block/Cargo.toml index 033345e04..77f115035 100644 --- a/crates/p2p/crates/block/Cargo.toml +++ b/crates/p2p/crates/block/Cargo.toml @@ -1,18 +1,19 @@ [package] -name = "sd-p2p-block" +name = "sd-p2p-block" version = "0.1.0" -authors = ["Oscar Beaumont "] -license.workspace = true -edition.workspace = true + +authors = ["Oscar Beaumont "] +edition.workspace = true +license.workspace = true repository.workspace = true [dependencies] # Spacedrive Sub-crates -sd-p2p = { path = "../../" } +sd-p2p = { path = "../../" } sd-p2p-proto = { path = "../proto" } # Workspace dependencies thiserror = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } -uuid = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +uuid = { workspace = true } diff --git a/crates/p2p/crates/proto/Cargo.toml b/crates/p2p/crates/proto/Cargo.toml index 51bd00b91..685aaf4ec 100644 --- a/crates/p2p/crates/proto/Cargo.toml +++ b/crates/p2p/crates/proto/Cargo.toml @@ -1,13 +1,14 @@ [package] -name = "sd-p2p-proto" +name = "sd-p2p-proto" version = "0.1.0" -authors = ["Oscar Beaumont "] -license.workspace = true -edition.workspace = true + +authors = ["Oscar Beaumont "] +edition.workspace = true +license.workspace = true repository.workspace = true [dependencies] ed25519-dalek = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true, features = ["io-util"] } -uuid = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["io-util"] } +uuid = { workspace = true } diff --git a/crates/p2p/crates/tunnel/Cargo.toml b/crates/p2p/crates/tunnel/Cargo.toml index 816a5cef1..bbedd8b1d 100644 --- a/crates/p2p/crates/tunnel/Cargo.toml +++ b/crates/p2p/crates/tunnel/Cargo.toml @@ -1,17 +1,18 @@ [package] -name = "sd-p2p-tunnel" +name = "sd-p2p-tunnel" version = "0.1.0" -authors = ["Oscar Beaumont "] -license.workspace = true -edition.workspace = true + +authors = ["Oscar Beaumont "] +edition.workspace = true +license.workspace = true repository.workspace = true [dependencies] # Spacedrive Sub-crates -sd-p2p = { path = "../../" } +sd-p2p = { path = "../../" } sd-p2p-proto = { path = "../proto" } # Workspace dependencies -tokio = { workspace = true, features = ["io-util"] } thiserror = { workspace = true } -uuid = { workspace = true, features = ["v4"] } +tokio = { workspace = true, features = ["io-util"] } +uuid = { workspace = true, features = ["v4"] } diff --git a/crates/prisma-cli/Cargo.toml b/crates/prisma-cli/Cargo.toml index 69522f1af..b6594a407 100644 --- a/crates/prisma-cli/Cargo.toml +++ b/crates/prisma-cli/Cargo.toml @@ -1,9 +1,10 @@ [package] -name = "prisma-cli" +name = "prisma-cli" version = "0.1.0" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] # Spacedrive Sub-crates diff --git a/crates/prisma/Cargo.toml b/crates/prisma/Cargo.toml index d42d563c8..5910d57e2 100644 --- a/crates/prisma/Cargo.toml +++ b/crates/prisma/Cargo.toml @@ -1,6 +1,7 @@ [package] -name = "sd-prisma" +name = "sd-prisma" version = "0.1.0" + edition = "2021" [dependencies] @@ -9,8 +10,8 @@ sd-sync = { path = "../sync" } # Workspace dependencies prisma-client-rust = { workspace = true } -rmpv = { workspace = true } -rmp-serde = { workspace = true } -serde = { workspace = true } -serde_json = { workspace = true } -uuid = { workspace = true } +rmp-serde = { workspace = true } +rmpv = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +uuid = { workspace = true } diff --git a/crates/sync-generator/Cargo.toml b/crates/sync-generator/Cargo.toml index 8b07f7146..7ca3a9ae3 100644 --- a/crates/sync-generator/Cargo.toml +++ b/crates/sync-generator/Cargo.toml @@ -1,14 +1,15 @@ [package] -name = "sd-sync-generator" +name = "sd-sync-generator" version = "0.1.0" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] prisma-client-rust-sdk = { workspace = true } -serde = { workspace = true, features = ["derive"] } -thiserror = { workspace = true } +serde = { workspace = true, features = ["derive"] } +thiserror = { workspace = true } # Specific Sync Generator dependencies nom = "7.1.3" diff --git a/crates/sync/Cargo.toml b/crates/sync/Cargo.toml index 003217aaf..8b15355ca 100644 --- a/crates/sync/Cargo.toml +++ b/crates/sync/Cargo.toml @@ -1,17 +1,18 @@ [package] -name = "sd-sync" +name = "sd-sync" version = "0.1.0" -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +repository.workspace = true [dependencies] prisma-client-rust = { workspace = true } -rmp = { workspace = true } -rmp-serde = { workspace = true } -rmpv = { workspace = true } -serde = { workspace = true } -serde_json = { workspace = true } -specta = { workspace = true, features = ["uuid", "uhlc", "serde_json"] } -uhlc = { workspace = true } -uuid = { workspace = true, features = ["serde", "v4"] } +rmp = { workspace = true } +rmp-serde = { workspace = true } +rmpv = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +specta = { workspace = true, features = ["serde_json", "uhlc", "uuid"] } +uhlc = { workspace = true } +uuid = { workspace = true, features = ["serde", "v4"] } diff --git a/crates/sync/example/Cargo.toml b/crates/sync/example/Cargo.toml index 8bd3f690d..49521583a 100644 --- a/crates/sync/example/Cargo.toml +++ b/crates/sync/example/Cargo.toml @@ -1,26 +1,27 @@ [package] -name = "sd-sync-example" +name = "sd-sync-example" version = "0.1.0" -rust-version = "1.64" -publish = false -license = { workspace = true } -repository = { workspace = true } -edition = { workspace = true } + +edition.workspace = true +license.workspace = true +publish = false +repository.workspace = true +rust-version = "1.64" [dependencies] # Spacedrive Sub-crates sd-sync = { path = ".." } # Workspace dependencies -axum = { workspace = true } -http = { workspace = true } +axum = { workspace = true } +http = { workspace = true } prisma-client-rust = { workspace = true } -rspc = { workspace = true, features = ["axum"] } -serde_json = { workspace = true } -serde = { workspace = true, features = ["derive"] } -tokio = { workspace = true, features = ["full"] } -uuid = { workspace = true, features = ["v4"] } +rspc = { workspace = true, features = ["axum"] } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +tokio = { workspace = true, features = ["full"] } +uuid = { workspace = true, features = ["v4"] } # Specific Core dependencies -dotenv = "0.15.0" +dotenv = "0.15.0" tower-http = { version = "0.4.4", features = ["cors"] } # Update blocked by http diff --git a/crates/task-system/Cargo.toml b/crates/task-system/Cargo.toml index fcc5b1a23..03e31ba60 100644 --- a/crates/task-system/Cargo.toml +++ b/crates/task-system/Cargo.toml @@ -1,41 +1,37 @@ [package] -name = "sd-task-system" +name = "sd-task-system" version = "0.1.0" -authors = ["Ericson Soares "] -rust-version = "1.75" -license.workspace = true -edition.workspace = true + +authors = ["Ericson Soares "] +edition.workspace = true +license.workspace = true repository.workspace = true +rust-version = "1.75" [dependencies] # Workspace deps -async-channel = { workspace = true } -async-trait = { workspace = true } -futures = { workspace = true } +async-channel = { workspace = true } +async-trait = { workspace = true } +futures = { workspace = true } futures-concurrency = { workspace = true } -pin-project-lite = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true, features = [ - "sync", - "parking_lot", - "rt-multi-thread", - "time", -] } -tokio-stream = { workspace = true } -tracing = { workspace = true } -uuid = { workspace = true, features = ["v4"] } +pin-project-lite = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["parking_lot", "rt-multi-thread", "sync", "time"] } +tokio-stream = { workspace = true } +tracing = { workspace = true } +uuid = { workspace = true, features = ["v4"] } # Specific Task System dependencies downcast-rs = "1.2" [dev-dependencies] -lending-stream = { workspace = true } -rand = { workspace = true } -rmp-serde = { workspace = true } -serde = { workspace = true, features = ["derive"] } -tempfile = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true, features = ["macros", "test-util", "fs"] } -tracing-test = { workspace = true, features = ["no-env-filter"] } -uuid = { workspace = true, features = ["serde"] } +lending-stream = { workspace = true } +rand = { workspace = true } +rmp-serde = { workspace = true } +serde = { workspace = true, features = ["derive"] } +tempfile = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["fs", "macros", "test-util"] } tracing-subscriber = { workspace = true, features = ["env-filter"] } +tracing-test = { workspace = true, features = ["no-env-filter"] } +uuid = { workspace = true, features = ["serde"] } diff --git a/crates/utils/Cargo.toml b/crates/utils/Cargo.toml index 1294af234..c535b0c0f 100644 --- a/crates/utils/Cargo.toml +++ b/crates/utils/Cargo.toml @@ -1,6 +1,7 @@ [package] -name = "sd-utils" +name = "sd-utils" version = "0.1.0" + edition = "2021" [dependencies] @@ -9,6 +10,6 @@ sd-prisma = { path = "../prisma" } # Workspace dependencies prisma-client-rust = { workspace = true } -rspc = { workspace = true, features = ["unstable"] } -thiserror = { workspace = true } -uuid = { workspace = true } +rspc = { workspace = true, features = ["unstable"] } +thiserror = { workspace = true } +uuid = { workspace = true } diff --git a/interface/app/$libraryId/TopBar/TopBarOptions.tsx b/interface/app/$libraryId/TopBar/TopBarOptions.tsx index 99750b435..85274a022 100644 --- a/interface/app/$libraryId/TopBar/TopBarOptions.tsx +++ b/interface/app/$libraryId/TopBar/TopBarOptions.tsx @@ -1,5 +1,5 @@ import { Cards, IconWeight, Minus, Square, X } from '@phosphor-icons/react'; -import { getCurrent, Window } from '@tauri-apps/api/window'; +import { Window } from '@tauri-apps/api/window'; import clsx from 'clsx'; import { useCallback, useEffect, useLayoutEffect, useState } from 'react'; import { ModifierKeys, Popover, Tooltip, usePopover } from '@sd/ui'; @@ -185,7 +185,7 @@ function ToolGroup({ export function WindowsControls({ windowSize }: { windowSize: number }) { const [maximized, setMaximized] = useState(false); const getWindowState = useCallback(async () => { - const isMaximized = await getCurrent().isMaximized(); + const isMaximized = await Window.getCurrent().isMaximized(); setMaximized(isMaximized); }, []); diff --git a/package.json b/package.json index 4b5454b2a..27431ca33 100644 --- a/package.json +++ b/package.json @@ -54,10 +54,11 @@ "@babel/plugin-syntax-import-assertions": "^7.24.1", "@cspell/dict-rust": "^4.0.2", "@cspell/dict-typescript": "^3.1.2", - "@ianvs/prettier-plugin-sort-imports": "^4.2.1", + "@ianvs/prettier-plugin-sort-imports": "^4.3.1", + "@taplo/cli": "^0.7.0", "cspell": "^8.6.0", - "prettier": "^3.2.5", - "prettier-plugin-tailwindcss": "^0.5.12", + "prettier": "^3.3.3", + "prettier-plugin-tailwindcss": "^0.6.6", "turbo": "^1.12.5", "turbo-ignore": "^1.12.5", "typescript": "^5.4.2", @@ -72,5 +73,5 @@ "eslintConfig": { "root": true }, - "packageManager": "pnpm@9.6.0" + "packageManager": "pnpm@9.7.0" } diff --git a/packages/client/src/core.ts b/packages/client/src/core.ts index 98019c02c..598cf8756 100644 --- a/packages/client/src/core.ts +++ b/packages/client/src/core.ts @@ -142,7 +142,7 @@ export type Procedures = { { key: "locations.quickRescan", input: LibraryArgs, result: null } | { key: "notifications.listen", input: never, result: Notification } | { key: "p2p.events", input: never, result: P2PEvent } | - { key: "search.ephemeralPaths", input: LibraryArgs, result: EphemeralPathsResultItem } | + { key: "search.ephemeralPaths", input: LibraryArgs, result: { entries: ExplorerItem[]; errors: Error[] } } | { key: "sync.active", input: LibraryArgs, result: SyncStatus } | { key: "sync.newMessage", input: LibraryArgs, result: null } }; @@ -246,8 +246,6 @@ export type EphemeralPathOrder = { field: "name"; value: SortOrder } | { field: export type EphemeralPathSearchArgs = { path: string; withHiddenFiles: boolean; order?: EphemeralPathOrder | null } -export type EphemeralPathsResultItem = { entries: ExplorerItem[]; errors: Error[] } - export type EphemeralRenameFileArgs = { kind: EphemeralRenameKind } export type EphemeralRenameKind = { One: EphemeralRenameOne } | { Many: EphemeralRenameMany } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c282f204c9313ee71b6802e60027a936f4d128ff..62197e9cf73ba2461747be1596074c28ff6741ca 100644 GIT binary patch delta 5552 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 RAHS}>V{NcqG4tw~{{;rqNYelS delta 5024 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 diff --git a/scripts/autoformat.sh b/scripts/autoformat.sh index d8aa0b87d..5a7b5270f 100755 --- a/scripts/autoformat.sh +++ b/scripts/autoformat.sh @@ -67,6 +67,9 @@ wait pnpm run format & wait +# Format toml files +git ls-tree -r HEAD --name-only | grep '.toml$' | xargs pnpm taplo format + if [ "${1:-}" != "only-frontend" ]; then # Run clippy and formatter for backend cargo clippy --fix --all --all-targets --all-features --allow-dirty --allow-staged diff --git a/turbo.json b/turbo.json index ea9c9edd6..6251e1a18 100644 --- a/turbo.json +++ b/turbo.json @@ -16,5 +16,14 @@ "cache": false } }, - "globalEnv": ["PORT", "NODE_ENV", "GENERATE_SOURCEMAP", "DEV"] + "globalEnv": [ + "PORT", + "NODE_ENV", + "GENERATE_SOURCEMAP", + "DEV", + "VITE_SDSERVER_ORIGIN", + "VITE_SD_DEMO_MODE", + "VITE_SDSERVER_ORIGIN", + "VITE_LANDING_ORIGIN" + ] }