Commit Graph

204 Commits

Author SHA1 Message Date
Ericson Soares
e071008fd0 Merge branch 'main' of github.com:spacedriveapp/spacedrive into eng-1828-migration-to-new-cloud-api-system 2024-09-26 00:06:21 -03:00
Consoli
ab8832b243 Use mimalloc as the global memory allocator (#2723)
* Experimenting with mimalloc as the global allocator for desktop

* Format toml file
2024-09-25 19:18:37 +00:00
Arnab Chakraborty
117c1a1860 Remove unused commented code 2024-09-17 13:36:19 -04:00
Arnab Chakraborty
5ae87e37ce Working Tauri fetch in prod
It finally works!
2024-09-06 09:53:37 -04:00
Arnab Chakraborty
e8183f15d6 Merge branch 'main' into eng-1828-migration-to-new-cloud-api-system 2024-09-06 08:50:46 -04:00
Arnab Chakraborty
33a75c3b34 Update Tauri Version & Try fixing CORS issues 2024-08-30 07:36:11 -04:00
Madion Konig
7f05ade433 Add "Duplicate current tab" keybind (#2679)
* Implemented duplicating current tab

* prettier fixes

* Disable non-functional "New window" menu shortcut
This was preventing "Duplicate current tab" from firing

* use proper casing in RedirectPath type name

* Revert locale changes from "Implemented duplicating current tab"

This partially reverts commit a822f54569.

There were unrelated changes to locale files that should be scoped to their own PR.

* SImplify new location definition

* Remove accidentally committed change lol

* Use cmd-shift-t for duplicate same tab

* Remove navToSettings shortcut

* remove references to now-missing navToSettings keybind

---------

Co-authored-by: lynx <141365347+iLynxcat@users.noreply.github.com>
2024-08-28 18:11:46 +00:00
Arnab Chakraborty
f0b2f9c4ec Working Social Login buttons in prod
For google at least.
2024-08-20 20:47:10 +03:00
Arnab Chakraborty
8532bfbf12 Merge branch 'main' into eng-1828-migration-to-new-cloud-api-system 2024-08-18 02:05:17 +03:00
Vítor Vasconcellos
0af8dbf63d Fix 0.4.2 release (#2670)
* Fix 0.4.2 release

* Fix server release

* Put npm bin dir in PATH before running pnpm prep during server build
2024-08-17 21:47:30 +00:00
Vítor Vasconcellos
abef1e9340 Merge remote-tracking branch 'origin/eng-1828-migration-to-new-cloud-api-system' into eng-1828-migration-to-new-cloud-api-system 2024-08-15 18:20:08 -03:00
Vítor Vasconcellos
01d61631d7 Merge remote-tracking branch 'origin/main' into eng-1828-migration-to-new-cloud-api-system 2024-08-15 18:16:13 -03:00
Arnab Chakraborty
19f404abce Revert "Better logging on deeplink events"
This reverts commit d1c9c04e0b.
2024-08-15 23:28:25 +03:00
Ericson Soares
d1c9c04e0b Better logging on deeplink events 2024-08-15 17:24:41 -03:00
Arnab Chakraborty
47a582864b Event listener actually listens 2024-08-15 23:22:15 +03:00
Ericson Soares
e24c7df847 Fixing app deep link events 2024-08-15 16:49:52 -03:00
Arnab Chakraborty
ef418d43bd Working backend deeplink event
The backend registers deeplink events. However, emit breaks it, meaning the data can't be sent to the frontend.
2024-08-15 22:26:31 +03:00
Vítor Vasconcellos
6672c6cffc Remove unused code and update rust deps (#2662)
* Remove deps-generator app
 - It is broken for quite a while and not being used

* Remove unused code and unused deps

* auto format

* Restore incorrectly removed files
 - Remove aws deps and test code using it

* Replace winapi-util with windows-rs
 - Adjust some deps versions

* Autoformat

* Update rand, remove unused dep

* Fix image crate due to changes in pdf-renderer
 - Dont use default features in reqwest
 - Use native-tls tauri

* Remove incorrect notice about blake3
2024-08-15 17:09:03 +00:00
Arnab Chakraborty
b14e4fce3a Deep linking wip
Pop up shows but doesn't pull focus on the app and actually doesn't receive events
2024-08-15 00:46:27 +03:00
Ericson Soares
1aa459ad23 Revamping crypto subcrate 2024-08-14 16:51:16 -03:00
Arnab Chakraborty
139ba6e1a4 [ENG-1854] Migrate to Tauri v2 Release Candidate (#2654)
* 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 <vasconcellos.dev@gmail.com>
2024-08-14 18:22:46 +00:00
Vítor Vasconcellos
a9fc60095d 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
2024-08-10 00:11:52 -03:00
Arnab Chakraborty
135a663e52 Fix specific keybinds (#2616)
* Fix actual event emits

* Hide file menu

* Add duplicate

* comment out menu shortcuts until emission of events are handled

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2024-07-19 15:08:07 +00:00
Ericson "Fogo" Soares
bdc242a852 [ENG-1775] Scan location using new jobs (#2476)
* First draft on task system usage, still missing job system

* Scan location roughly working, a ton of stuff to fix yet

* Updating some deps due to crashes and bugs

* Exposing non critical errors to frontend

* Getting active job reports from job system

* Using boxed opaque type to avoid a downcast issue with generics

* Task system issues discovered on race conditions

* Enable debug

* Fix job report in the job manager

* Fix race condition on steal tasks

* Fixed race condition on task suspend

* Some fixes on job progress reporting and save

* Fixed many race conditions and a hard deadlock
Also some progress report polishing

* Ignore .ts and .mts video files for now

* Some better logs

* bruh

* Internal deadlocks and excess of communication in the task system
- Also better logs

* Bunch of fixes and optimizations

* WIP at fixing file identifier

* Fixed file identifier job
- still need to work on its progress report frontend

* A bunch of polishing

* Fixed some bugs and did more polishing

* Cleanup

* Bridging old and new job systems

* A ton of fixes

* A bunch of bugs related to shutdown and resume

* Indexer and watcher bugs

* Log normalizing

* Fixing CI

* Change error! to warn! on non critical errors log

* Fix redirect to new location

* Type annotation

* Bogus merge resolution on cargo lock
2024-06-17 21:30:57 +00:00
Gedeon
a88a9db5f0 Fix xdg-open for Trash (#2547)
* fix Trash not opening

* remove unnecessary unwrap

* fix formatting errors
2024-06-11 16:23:06 +00:00
Consoli
76bb317201 Display captured backtrace when available (#2504)
* Display captured backtrace when available

* Helpful log message
2024-06-04 14:22:30 +00:00
Vítor Vasconcellos
4a62d268ef Disable AppNap for macOS and fix app version in deb (#2517)
* Remove version field from tauri conf
 - Let tauri default to the version from Cargo.toml

* Allow app to toggle app nap
2024-05-29 04:26:33 +00:00
Consoli
26b6baffb6 Extend indexer rules with .gitignore when available (#2459)
* Extend indexer rules with `.gitignore` when available

* Make indexer accounts for valid git  repos when reading ignore files

* Ignore poorly formatted gitignore rules

* Reduce allocation in gitignore indexer rules

* Fix tests for gitignore indexer rules

* Remove code duplication

* Remove double call to git rules

* Improve doc for todo

* rustfmt

* Skip star rules that matches a negated pattern when parsing gitignore

* Skip conflicting glob rules

* Rename and remove print

* Make git ignore indexer consider multiple paths

* Use gix_ignore to handle gitignore rules

* Fix gitignore patterns relative to git repo

* Git indexer also consider nested repos

* Create a dedicated type for rules coming from git

* Consider every gitignore file inside a git repo

* Add IgnoredByGit to interface

* Add Gitignore system IndexerRule to allow front-end to toggle GitIgnoreRules
 - Make IndexerRules names unique
 - CLippy fmt

* Fix migration concat

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-05-17 06:28:12 +00:00
Vítor Vasconcellos
dcbe888d03 Fix macOS bugs (#2472)
* Fix macOS resize bug
 - Replace custom macOS blur effect with Tauri's V2 native impl

* Fix webview reloading on dev breaking the app

* Fix OpenWith
2024-05-12 06:55:26 +00:00
Ericson "Fogo" Soares
69412accae [ENG-1634 / ENG-1636] Integrate Media Data Extractor and Thumbnail Actor with New Task System (#2423)
* Moving stuff around

* Media data extraction task

* New thumbnailer task

* Taking more metrics on thumbnailer

* First drafts on media processor job

* Better interruption latency on thumbnailer task

* Also solve the latency on interrupt at media data extraction

* Media processor job

* Shallow media processor

* Better prioritize files identification

* Integrate ffmpeg media data extraction
- Thumbnail quality improvements parameters
2024-05-10 12:51:22 +00:00
Artsiom Voitas
46f518ccdc Custom Title Bar for Windows (#2455)
* added custom title bar for windows

* Hid tooltips

* fixed commentary

* removed unused export

* removed not needed classes

* removed class for testing

* Updated configuration for Tauri v2

* updated german locale

* refactor, added an native icon swap if window maximized/minimized

* cleaning up

* missed condition on overview page

* fixed formatting

* removed unused keys

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2024-05-09 16:13:40 +00:00
Oscar Beaumont
a238760c88 [ENG-1690] Upgrade to Tauri 2.0 (#2433)
* Most of it

* Cleanup menu

* fixes

* Fixed linux compilation, still not working though, as the app panic on start

* Add dialog permissions

* fix search keybind

* Fix linux
∙  - Disable linux-ipc-protocol feature, as that is causing panics due to trying to access some WebKit internal structures outside the main thread

* Update to Ubuntu 22.04, new tauri doesn't support ubuntu 20.04
>  - Add note to download page about deb's distro support

* Remove gen/schemas

* Update linux dependencies in setup.sh

* Fix linux deps again
 - Enable rt-tokio-crypto-rust feature in secret-service so clippy stops complaining

* Clippy + auto fmt

* Fix cache-factory
 - Create a devtools feature for desktop app, which is enabled by default on dev builds

* Fix minor error in patchTauri.mjs

* Fix some envvars that have been renamed on tauri v2

* Dont change the secrets

* Add missing linux dependency

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-05-07 08:36:50 +00:00
Vítor Vasconcellos
44478207e7 Remove AppImage logic and build system (#2446) 2024-05-04 22:27:14 +00:00
Vítor Vasconcellos
310eb28e63 Fix cargo test & improve pnpm prep native deps download (#2393)
Couple of fixes
 - Increase `pnpm prep` connection timeout to 5min, to better handle downloading native deps under flaky network conditions
 - Fix `cargo test` and cache-factory CI
 - Clippy and fmt
2024-04-25 17:58:50 +00:00
Oscar Beaumont
643bd3a142 Block size (#2377)
Block size + some Clippy
2024-04-24 08:27:31 +00:00
Arnab Chakraborty
b4037d6537 Open Trash from the application (#2338)
* Open Trash from the application

* Working Trash Sidebar Button

* Small UI fixes

* Update common.json

* Move openTrash to Tauri Command instead of RSPC

* format and remove type assertion

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2024-04-22 19:46:10 +00:00
Oscar Beaumont
232cbb33c2 Drop Tauri Plugin Window State (#2271)
do the thing
2024-04-03 17:58:43 +00:00
jake
6e61849536 [ENG-1321] Webview reload keybind change and make MacOS reload explorer menu item functional (#2093)
* feat: cmd+r to quick rescan the current location, and change reload webview keybind

* chore: lockfile update

* fix: provide a location id to quick rescan in keybind event handler

* fix: add cooldown to quick rescan to prevent double-rescans

* refactor: use `explorerStore` instead
2024-03-09 06:11:14 +00:00
jake
28328034f0 Clean-up MacOS window closing behaviour code (#2124)
* fix: delete dead/unused file

* refactor: add the window event handler with the rest of them

* refactor: formatting
2024-02-26 15:17:28 +00:00
Oscar Beaumont
aa0b4abf85 rspc over P2P (#2112)
* wip: rspc over p2p

* wip

* rspc over P2P

* Cleanup + error handling

* slight cleanup

* Using Hyper for HTTP streaming + websockets
2024-02-26 07:23:48 +00:00
Vítor Vasconcellos
52b9de1daf Fix non macOS builds after #2082 (#2089)
* Fix non macOS builds after #2082

* fmt
2024-02-13 22:26:16 +00:00
nikec
91125408c9 [ENG-1600] Fix cmd+w not closing window on macOS (#2082)
hide window
2024-02-13 12:45:07 +00:00
Vítor Vasconcellos
72efcc9f62 [ENG-1595] Fix some problems with the AI system (#2063)
* Fix some problems with the AI system
 - Fix downloading model using an internal rust string representation as path for the model file
 - Fix Linux loading onnx shared lib from a hardcoded path
 - Fix App should not crash when the AI system fails to start
 - Fix sd-server failing to start due to onnxruntime incorrect linking
 - Some extra clippy auto fixes

* Use latest ort

* Fix dangling sd_ai reference
 - Use entrypoint.sh to initilize container

* Fix server Dockerfile
 - Fix cargo warning

* Workaround intro video breaking onboarding for the web version

* Fix rebase
2024-02-12 17:45:17 +00:00
jake
4032677024 Fix localStorage wiping on every launch (#2021)
* fix: wait until libraries have loaded before checking the count

* fix: include new core version in lockfile

* fix: moved value

* fix: check the `libraries/` data dir manually

* Clear localstorage via localStoarge.clear() (#2040)

only clear localstorage in desktop using js

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-02-02 15:55:20 +00:00
jake
f9e827512f [ENG-1540] Remove localStorage if no libraries are created (#1945)
* feat: clear localstorage on start if no libraries are found

* chore: add a check to see if the node is for desktop or server use

this will prevent desktop/app localstorage from being cleared if it's a server being hosted

* fix: add secondary localstorage directory for macos

for some reason the app/onboarding progress is kept in `Library/WebKit/Spacedrive` (at least in dev?) so it also needs clearing

* feat: delete cache directories also

* chore: iterate over paths

* feat: add support for windows `localStorage` by using `data_local_dir`

* docs/style: better comments and logs

* feat: remove both `AppData` local and roaming on Windows

* fix: mobile builds

* chore: tweak error message for windows
2024-01-29 12:32:48 +00:00
jake
6f531f8d5e [ENG-1535] Fix MacOS window title showing (#1936)
set the title bar to the non-fullscreen style on first launch
2024-01-12 23:33:11 +00:00
Brendan Allan
4962b1160b [ENG-1488] Cloud sync message compression (#1922)
* CRDTOperationWithoutInstance

* almost there

* fully compress messages

* implement more of sd-cloud-api

* sd-cloud-api-ify

* landing -_-

* openssl

* clippy

* idk

* bruh

* wut

* ahhh right
2024-01-09 10:21:23 +00:00
Oscar Beaumont
bef1ebcade [ENG-1508] Launch Spacedrop (#1893)
* Shit UI

* refactor a bit

* wip

* yeet

* farming the wry but it's stale

* Real-time hover event

* Hook with `Platform` + fix broken window-state plugin

* `DragAndDropDebug`

* Clippy

* revert Tauri v2 stuff

* minor

* probs not gonna work

* undo last commit

* a

* b

* c

* d

* e

* f

* g

* long shot

* 1

* no 7

* da hell

* large bruh moment

* lol

* zzzz

* SSH into CI

* yeet

* Tauri mouse position without new Wry

* go for gold

* Correctly lock `ort` version

* minor fixes

* debounce hover events

* WTF Tauri

* Replace DND hooks with goated versions

* wip frontend stuff

* fix ts

* disable library p2p stuff

* remove Spacedrop dialog + hook up backend

* `useOnDndLeave` working

* Close popover when drag outside

* Allow `openFilePickerDialog` for Spacedrop

* couple of fixes

* empty state

* smh

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-01-08 06:42:17 +00:00
Oscar Beaumont
57d1e0609f Multiple HTTP servers (#1905)
* there is literally no shot in the world

* cleanup
2024-01-02 06:05:45 +00:00
Ericson "Fogo" Soares
7c90bcb95b [ENG-1479] AI Prototype (#1845)
* First draft on image labeling

* Fixing execution providers for other OSs

* Better error handling and shutdown

* Working with shallow media processor

* bruh

* Fix warnings

* Now hooked to media processor job

* Link desktop app with libonnxruntime to avoid TLS error during startup

* Be able to change models on runtime
Revert to use labels table instead of tags

* A bug on a model-less inference

* Show AI labels on Inspector
 - Change yolo inference to use half precision
 - Add labels api to core

* Remove LD_PRELOAD

* Fix race condition on model executor shutdown

* Don't load all images in memory moron

* Embeed yolo model in prod build
 - Change yolo model path to new one relative to executable

* Disable volume watcher on linux, it was crashing the app
 - Invalidate labels when they are updated

* Rust fmt

* Minor changes

* Gate onnxruntime linking to the ai-models feature

* Add build script to sd-server to handle onnxruntime linking workaround

* Move AI stuff to its own crate and normalize deps

* Rust fmt

* Don't regenerate labels unless asked to

* Now blazingly fast

* Bad merge

* Fix

* Fix

* Add backend logic to download extra yolo models

* Add models api route
 - Add api call to get available model version
 - Add api call to change the model version

* Improve new model download logic
 - Add frontend to change image labeler model

* Fix new model downloader

* Fix model select width

* invalidate labels count after media_processor generates a new output

* Rename AI crate and first draft on download notifications

* fix types

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-12-19 09:28:57 +00:00