Commit graph

310 commits

Author SHA1 Message Date
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
Vítor Vasconcellos 405fb023d8
Clean up and update rust dependencies (#2544)
* Clean up and update rust dependencies

* Attempt to fix Windows Error
2024-06-10 19:44:00 +00:00
Vítor Vasconcellos 468bc946ea
Fix nvidia on linux segfault (#2542)
* Workaround nvidia on linux segfault

* Fixes

* Don't vendor dbus

* Make dbus and opener linux exclusive dependencies

* opener is a generic dependency

* Add dbus as a dependency for deb and setup.sh

* Clippy fixes

* Replace gl and glfw with glutin for querying nvidia card

* Replace glutin with wgpu

* Update icrate to fix 'multiple applicable items in scope'
2024-06-07 19:14:50 +00:00
Utku ab97572878
Alpha 0.3.1 (#2526)
* alpha 0.3.1

* Add missing migration

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-05-31 05:44:00 +00:00
Oscar Beaumont 0392c781d7
Serve files over p2p (#2523)
* serve files over p2p

* include location instance id in sync

* Fix P2P addressing?

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-05-30 22:07:28 +08:00
Oscar Beaumont b015763a6f
More P2P docs (#2492)
* Remove relay

* restructure p2p

* wip

* cleanup webrtc

* split up P2P docs

* wip

* more wip

* the fork has moved

* finish local network discovery

* Document the relay system

* be less stupid

* a

* remote ip from deploy script

* remove debug from deploy script

* Explain relay setup and usage

* Physical pain

* fix

* error handling for relay setup

* Listeners Relay state + merge it into NLM state

* `node_remote_identity`

* redo libraries hook

* toggle relay active in settings

* Dedicated network settings page

* Stablise P2P debug page

* warning for rspc remote

* Linear links in docs

* fix p2p settings switches

* fix typescript errors on general page

* fix ipv6 listener status

* discovery method in UI

* Remove p2p debug menu on the sidebar

* wip

* lol

* wat

* fix

* another attempt at fixing library hook

* fix

* Remove sync from sidebar

* fix load library code

* I hate this

* Detect connections over the relay

* fix

* fixes

* a

* fix mDNS

* a bunch o fixes

* a bunch of state management fixes

* Metadata sync on connection

* skill issue

* fix markdown

* Clippy cleanup

* Backport #2380

* Update interface/locales/en/common.json

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/local-network-discovery.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/local-network-discovery.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/relay.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/relay.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/relay.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/relay.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/relay.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/sd_p2p.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/sd_p2p.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/sd_p2p_proto.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/overview.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/overview.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/relay.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/sd_p2p_proto.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/sd_p2p_proto.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/transport-layer.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/sd_p2p_proto.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/local-network-discovery.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* Update docs/developers/p2p/sd_p2p_proto.mdx

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>

* a

* Cleaning binario section

* cleanup Docker message

* idk

* Idempotent listeners

* Manual peers working????

* minor fixes

* crazy idea - don't panic in the event loop

* fixes

* debug

* debug

* LAN badge in network settings

* Use `dns_lookup` instead of `tokio::net::lookup_host`

* fix

* bruh sandwich

* proper dialing

* a

* remove logs

* fix

* Small cleanup

* manual peers state on connected device

* a

* Fix manual discovery state + give it a badge

* Clippy improvements

* flip discovery priority

* Add `addrs` to debug query

* connection candidates in debug

* Fix state

* Clippppppppppppy

* Manual discovery badge

* Flesh out ping example

* Usage guide

* `sd_p2p_proto` examples

* More discovery docs

* More docs work

* docs docs docs and more docs

* PONG

* rename

---------

Co-authored-by: Matthew Yung <117509016+myung03@users.noreply.github.com>
2024-05-30 21:48:12 +08:00
Utku a76aca7d3c
alpha 0.3.0 (#2515)
hello world
2024-05-28 21:35:14 +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
Utku e7ced995b9
Alpha 0.2.15 (#2491)
alpha 0.2.15
2024-05-16 14:20:32 +00:00
Julian Braha ed193a3ba5
Improve Tunnel error handling (#2479)
p2p: create and use TunnelError enum
2024-05-13 02:35:54 +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
Brendan Allan d3ce2e8917
use prisma-client-rust main branch (#2471)
* use primsa-client-rust main branch

* remove as i64
2024-05-10 15:54:34 +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
Ericson "Fogo" Soares 5a73df00a4
Update image crate (#2473)
Bump image crate version
Also had to patch pdfium-render to bump its image crate version too
2024-05-10 05:32:33 +00:00
Vítor Vasconcellos e797b02e65
Media metadata extraction & Thumbnailer rework (#2285)
* initial ffprobe commit

* Working slim down version ffprobe

* Auto format ffprobe and deps source

* Remove show_pixel_formats logic
- Fix do_bitexact incorrect check in main after last changes
- Fix some clangd warning

* Remove show_* and print_format options and their respective logic

* Rework ffprobe into simple_ffprobe
- Simplify ffprobe logic into a simple program that gather and print a media file metadata

* Reduce the amount of ffmpeg log messages while generating thumbnails

* Fix completly wrong comments

* mend

* Start modeling ffmpeg extracted metadata on schema
 - Start porting ffprobe code to rust
 - Rename some references to media_data to exif_data

* Finish modeling media info data
 - Add MediaProgram, MediaStream, MediaCodec, MediaVideoProps, MediaAudioProps, MediaSubtitleProps to Schema
 - Fix simple_ffproble to use its custom print_codec, instead of ffmpeg's impl

* Add relation between MediaInfo and FilePath
 - Remove shared properties from MediaInfo and related structs
 - Implement Iterator for FFmpegDict

* Fix and update schema

* Data models and start populating MediaInfo in rust

* Finish populating media info, chapters and program

* Improve FFmpegFormatContext data raw pointer access
 - Implement stream data gathering

* Impl FFmpegCodecContext, retrieve codec information
 - Improve some unsafe pointer uses
 - Impl from FFmpegFormatContext to MediaInfo conversion

* Fix FFmpegDict Drop

* Fix some crago warnings

* Impl retrieval of video props
 - Fix C char* to Rust String convertion

* Impl retrieval of audio and subtitle props
 - Fill props for MediaCodec

* Remove simple_ffprobe now that the Rust impl is done

* Fix schema to match actually retrieved media info
 - Fix import some FFmpeg constants instead of directly using values

* Rework movie_decoder
 - Re-implement create_scale_string and add support anamorphic video
 - Improve C pointer access for FFmpegFormatContext and FFmpegCodecContext
 - Use newer FFmpeg abstractions in movie_decoder

* Fix incorrect props when initializing MovieDecoder

* Remove unecessary lifetimes

* Added more native wrappers for some FFmpeg native objects used in movie_decoder

* Remove FFmpegPacket
 - Some more improvements to movie_decoder

* WIP

* Some small fixes

* More fixes
Rename movie_decoder to frame_decoder
Remove more references to film_strips

* fmt

* Fix duplicate migration for job error changes

* fix rebase

* Solving segfaults, fuck C lang

Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>

* Update rust to version 1.77
 - Pin rust version with rust-toolchain.toml
 - Change from dtolnay/rust-toolchain to IronCoreLabs/rust-toolchain for rust-toolchain support
 - Remove unused function and imports
 - Replace most CString uses with new c literal string

* More segfault solving and other minor fixes

Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>

* Fix ffmpeg rotation filter breaking portrait video thumbnails #2150
 - Plus some other misc fixes

* Auto format

* Retrieve video/audio metadata on frontend

* Auto format

* First draft on ffmpeg data save on db

Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>

* Fix some incorrect changes to prisma schema

* Some fixes for the FFmpegData schema
 - Expand logic to save FFmpegData to db

* A ton of things

Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>

* Integrating ffmpeg media data in jobs and API

* Rspc can't BigInt

* 🙄

* Add initial ffmpeg metadata entries to Inspector
 - Fix ephemeral metadata api to match the files metadata api call

* Fix Inspector not showing ffmpeg metadata

* Add bitrate, start time and chapters video metadata to Inspector
- Fix backend BigInt conversion incorrectly using i32 instead of u32
- Change FFmpegFormatContext/FFmpegMetaData bit_rate to i64
- Rename byteSize to humanizeSize
- Expand humanizeSize logic to allow handling bits and Binary units
- Move capitalize to @sd/client utils

* Solving some issues

* Fix ffmpeg probe getting incorrect stream id and breaking database unique constraint
 - Fix humanizeSize breaking when receiving floating numbers
 - Fix incorrect equality in StatCard
 - Fix unhandled error in Dialog when trying to remove an unknown dialog

* fmt

* small improvements
 - Remove some unecessary recursion_limit directive
 - Remove unused app_image releated functions
 - Fix metadata query enabled flag

* Add migration for ffmpeg media data

* Fix cypress test

* Requested changes

* Implement feedback
 - Update locale keys for all languages
 - Add pnpm command to update all language keys

* Fix thumb reactivity in non indexed locations

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
2024-05-09 02:20:28 +00:00
Vítor Vasconcellos 0f405caf24
Fix CI (#2461)
Use native-tls-vendored for reqwest
 - Update prisma-client-rust
 - Fix mock_instance test
 - Clippy + fmt
 - Improve error handling when uninstall i386 libs in setup-system action
2024-05-08 05:04:25 +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
Brendan Allan 408499229b
Sync settings page (#2460)
sync settings page
2024-05-07 07:39:22 +00:00
Utku 952bb2d061
Alpha 0.2.14 (#2445)
alpha
2024-05-02 18:16:01 +00:00
Vítor Vasconcellos 5fe9f02299
Fix BLAKE3 (#2441)
* Update BLAKE3

* Auto fmt

* Revert BLAKE3 to 1.5.0 fork
2024-05-02 09:15:05 +00:00
Oscar Beaumont ce5e285c2f
Remove normalised cache (#2390)
* yeetus

* fix

* a

* fix

* todo

* fix library stuff

---------

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2024-04-30 00:36:39 +00:00
Vítor Vasconcellos 9384bade61
Revert OpenDAL for ephemeral location (#2399)
* Revert "OpenDAL - Ephemeral Locations (#2283)"

This reverts commit 2848782e8e.

* Format

* Fix some diff problems
2024-04-26 00:29:55 +00:00
Arnab Chakraborty e76ff78f3c
Alpha 0.2.13 (#2394)
bump
2024-04-26 00:29:55 +00:00
Ericson "Fogo" Soares 73f521a3b8
[ENG-1629] Write new file identifier with the task system (#2334)
* Introduce deep vs shallow for indexer tasks with different priorities

* Make job wait to dispatch if it's paused

* Extract file metadata task on file identifier job

* Some initial drafts on object processor task

* Object processor task for file identifier

* File Identifier job and shallow
2024-04-25 04:06:11 +00:00
Utku 3bed56d4d9
Alpha 0.2.12 (#2382)
* pnpm

* alpha 0.2.12

* make pnpm version non strict
2024-04-24 14:25:22 +00:00
Oscar Beaumont e77a475e61
Date header is not working (#2321)
* wip

* more

* bindings

* show date taken

* improve date lookup and include placeholder

* date taken

---------

Co-authored-by: nikec <nikec.job@gmail.com>
2024-04-15 12:53:11 +00:00
Oscar Beaumont 2848782e8e
OpenDAL - Ephemeral Locations (#2283)
* `sd-indexer` crate

* more wip

* wip

* fix

* IndexerRules + error handling

* wip

* Fix it

* Thumbnailer

* Link locations

* Workaround rspc's requiring `Sync` for streams.

* I hate this

* Sorting

* fix

* fix

* fix paths

* Fix double file extension

* Fix thumbnailer

* Clippy

* Fix indexer rules

* fix

* lockfile
2024-04-12 06:51:51 +00:00
Arnab Chakraborty 66063d22c2
[ENG-1365] Move to Trash (#2318)
* Working System Trash Connection

* small changes and prettier

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2024-04-12 05:01:37 +00:00
Oscar Beaumont 9f5396133b
Basic HTTP auth for sd-server (#2314)
* basic http auth

* fix types

* Fix

* auth docs
2024-04-12 03:31:38 +00:00
Ericson "Fogo" Soares 6b760b0b2a
[ENG-1628] Write new indexer with the task system (#2161)
* Moving file-path-helper to a sub-crate on core

* Parallel walker tested and working

* Change inner core crate names to sd-core-* naming scheme

* Moving stuff around

* Save and Update tasks for the new indexer job

* Some initial drafts on the new job system

* More drafts on job system

* Changing walker task to a more explicit state machine
Also drafting more of job system

* More drafting on job resume

* Completed the draft on job system inner workings

* New job context abstraction to decouple library stuff from job system

* Properly use composition on task dispatcher

* First draft on indexer job

* Job serialization

* Handling ancestors in the distributed walker for indexer

* Saving computed directories sizes on a location to db

* Enable a way to check if jobs are running in a location

* Progress reporting on indexer job

* Reorganizing modules

* Shallow indexer

* Rust fmt

* Attempting windows CI fix

* Attempting windows CI fix again

* Attempting windows CI fix again
2024-04-08 14:32:44 +00:00
Utku 3ce4d5d171
Alpha 0.2.11 (#2291)
lul
2024-04-05 21:08:04 +00:00
Utku 6090df938e
Alpha 0.3.0 (#2287)
alpha 0.3.0
2024-04-05 17:12:51 +00:00
Oscar Beaumont 232cbb33c2
Drop Tauri Plugin Window State (#2271)
do the thing
2024-04-03 17:58:43 +00:00
Utku 5b40cefe37
Revert "remove fixed filters" (#2261)
* Revert "remove fixed filters (#2257)"

This reverts commit 1959226fb9.

* bump 0.2.10
2024-03-29 01:35:28 +00:00
Utku 44c2854205
Alpha 0.2.9 (#2260)
release 0.2.9
2024-03-28 23:05:04 +00:00
Utku 83332dc94e
Alpha 0.2.8 (#2247)
alpha 0.2.8
2024-03-26 21:55:44 +00:00
ameer2468 b34359e688
Alpha 0.2.7 (#2244)
* Alpha 0.2.7

* Update Cargo.lock
2024-03-25 19:42:01 +00:00
Utku 904f210fc1
Alpha 0.2.6 (#2232)
* bump 0.2.6

* Double Cypress timeouts when running on CI

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-03-23 01:27:11 +00:00
Jamie Pine a9f464345a
Fix window not opening (#2224)
the fix
2024-03-20 07:07:20 +00:00
Vítor Vasconcellos 08c42a36fe
[ENG-1624] E2E Tests (#2192)
* Basic cypress test

* Add e2e test command

* Add full e2e test for creating and deleting a library

* Add cypress to CI

* Fix cypress CI
 - Use arm macos for running cypress
 - Setup rust on cypress job
 - Increase cypress CI timeout

* Remove unused APPLE_SIGNING_IDENTITY envvar

* Update deps again + Try to fix Cypress CI setup

* Update deps again

* Only test default location if it exists

* Use latest v18 NodeJS in CI

* Increase minimum node version due to updated dependency
 - @typescript-eslint/eslint-plugin now requires node >=18.18

* Fix testing failing for optional default locations

* Enable video recording
 - Fix screenshot and video artifact uploading

* Fix location test
 - Use correct location name, instead of trying to derive it from the internal id
2024-03-19 20:22:17 +00:00
Brendan Allan 3afc3bd34f
fix cloud sync and operations (#2218)
* fix cloud sync and operations

* remove some logs

* cleanup
2024-03-18 08:51:16 +00:00
Oscar Beaumont 27c6570c2f
Rename P2P crate (#2207)
`sd_p2p2` to `sd_p2p`
2024-03-14 04:38:31 +00:00
Brendan Allan 79530f1e4e
Fix sync tests (#2194)
* Fix sync tests

* fix build
2024-03-13 05:34:14 +00:00
Oscar Beaumont 926ae4fc65
P2P holepunching + relay (#2147)
* Basic AF server

* wip

* Add autonat to relay server

* Add autonat client + fixes

* Deploy script

* wip

* Debug view

* wip

* wip

* relay all events

* wip

* fix

* wip

* libp2p man spoke

* dctur

* Relay config file

* Advertise relay server

* Dynamic relay configuration

* wip

* p2p relay config

* cleanup

* push instances into p2p state

* fix

* Fix up TS
2024-03-12 06:18:58 +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 355ac191b8
[ENG-440] Crypto Refactor (#2115)
* rebase: `crates/crypto` into current `main`

* refactor: remove `mnemonic` module

* feat: disable secure erase temporarily

* fix: tsc

* fix: tsc due to unused import

* fix: remove `cli` crypto info

* deps: update

* chore: remove dead comment

* refactor: remove `bincode` feature

* refactor: give `keyring` a dedicated feature so it's not reliant on `sys` as well

* fix: remove `aes-gcm` as it's no longer supported

* refactor: remove dead comment

* fix: update `keyring` imports

* refactor: change tests to `aes-256-gcm`

* feat: make `Key` a `Box<>` internally to ensure it's heap allocated (and fix tests)

* chore: clippy

* fix: hashing tests now that `const` keys aren't available

this will be cleaned up with test vectors and `include_bytes!()`

* chore: clippy

* refactor: remove dead code

* test: bring back `encrypt_with_invalid_nonce` test

* fix: secret service keyring

* fix: `zbus` build issues

* doc: update comment for clearer reasoning

* fix: cargo fmt

* fix: use bytes directly

* deps: update lockfile

* fix: secret service keyring

* fix: comment out windows keyring for now

* fix: use session keyring if no keyring backend

* fix: completely remove keyring module if no keyring is available for that OS

* fix: clippy

* fix: move iimport to correct conditional compilation

* fix: fmt
2024-03-07 08:00:37 +00:00
Brendan Allan 63b17adb10
switch sync to msgpack instead of json (#2164)
* switch sync to msgpack instead of json

* use rmpv

* more rmpv

* use msgpack in cloud

* receive operations as msgpack
2024-03-06 10:15:29 +00:00
Arnab Chakraborty 3bd1622e93
[MOB-23] Mobile Hardware Information for Overview Page (#2106)
* wip for iDevices

* Working HardwareModel Info for iOS

* wip

* Merge 'main' into 'mob-hw-info-overview'

* Half-Working `get_volume()`

* Objective c bridge to talk to FS

* Working objc bridge

The bridge works now, and we can now access the iOS file system using the native objective-c APIs instead for proper values, including on the simulator.

* Isolate `icrate` for `ios` deployments only

* Working Stats for Android

* Clean Up + `pnpm format`

* Fix to FSInfoResult Type

Due to the RNFS fork change, I had to change the types to make it so it doesn't fail building and CI.

* iOS Device Name Fix
2024-03-06 06:46:22 +00:00
Utku cd43d24ec2
Alpha 0.2.5 (#2156)
bump
2024-03-01 20:33:16 +00:00
Arnab Chakraborty 4757676d8e
Working Location-Watcher system for iOS app (#2073)
* Working External Storage Locked Locations

We can now add Downloads (A location locked by MANGE_EXTERNAL_STORAGE) on Android.

* Navigate to added page

Adding location now navigates to the added location explorer.

* Way simpler solution

Found a way simpler solution, that doesn't require query calls.

* Clean up

Remove unused import calls.

* Attempt to get Location Watcher working

Well, Location watcher doesn't want to run. But I wanted to push the `xcrun` command to the README.

Also, locations now actually show files, but break on displaying recursive folders (folder content in a folder).

* Quick clean up + Working full rescan

locations.fullRescan works now on mobile with 0 issues. It can recognize orphan paths and when new files are added.

But, Location-Watcher for some reason doesn't want to run automatically when the file system change occurs.

* Working iOS Watcher

Location Watcher now works for iOS when files are created. However, it can't understand the file delete event yet.

* Functional watcher for iOS

The watcher system is now fully functional on iOS, with a few bugs to patch regarding the delete function freezing the system up.

* Update ios.rs

* See Logs on Android

Finally figured out how to see the logs from Android.

* Update CONTRIBUTING.md

* Updated to Stable & Working

* Working Android Build + Explorer working again

* wip

* wip

* Squashed commit of the following:

commit a7bc3b908d
Merge: 201913a1 2899aa3f
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date:   Tue Feb 6 16:18:42 2024 -0500

    Merge branch 'main' of https://github.com/Rocky43007/spacedrive

commit 2899aa3fa5
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 6 19:30:53 2024 +0300

    [ENG-1594] Change online to connected (#2060)

    : This is a combination of 3 commits.

    Change online to connected

    remove offline

    json

commit 48634c22aa
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 6 17:49:16 2024 +0300

    [MOB-54] UI Fixes (#2059)

    * UI fixes - rive animation - SD version in settings - and more

    * twStyle

commit 4e70246467
Author: Jesse Rodrigo <39565615+JSSRDRG@users.noreply.github.com>
Date:   Tue Feb 6 11:41:05 2024 +0100

    Dutch locale (#2054)

    * nl locale

    * add nl entry

    * improve some wording

commit bb0d0af6a0
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Tue Feb 6 17:13:47 2024 +0800

    [ENG-1548] use in-memory instances when sending messages to cloud (#2057)

    * use in-memory instances when sending messages to cloud

    * comments

commit 2d0c340e58
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 6 06:03:33 2024 +0300

    [MOB-47] Location screen and header updates (#2056)

    * Location screen and header updates

    * use tw sizing

    * remove un-necessary prop

    * Nit: change name

commit 58f9305965
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date:   Mon Feb 5 07:06:47 2024 -0500

    Update to Expo 50 and Fix to Rive Crashing (#2049)

    * Update Mobile App to Expo SDK 50
    + Fix to Rive Crashing

    * Added `metro-react-native-babel-transformer` to fix CI

commit 2ff1ffcb9c
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Sun Feb 4 23:52:26 2024 +0300

    Fix Chinese language (#2050)

    * fix chinese

    * remove console.log

* Squashed commit of the following:

commit bda9a1b6ee
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Wed Feb 7 20:25:04 2024 +0300

    [MOB-55] Video animation for onboarding on mobile and desktop (#2065)

    * video animation for onboarding on mobile and desktop

    run assets gen

    cleanup

    declare mp4 type

    * update metro config to transform video files from sd assets

    * test ci without native video exclude

    * casing?

    * remove to add back again due to github

    * add videos back

    * versions

    * no need to transform

    ---------

    Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>

commit da2841b37a
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Wed Feb 7 16:47:55 2024 +0300

    More translations (#2051)

    * translations

    * more translation keys

    * all the translations

* Added Cleaning Script

* Prep for PR

* Clean up + `cargo fmt`

* Update mod.rs

* Squashed commit of the following:

commit 2dc233f1b4
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Fri Feb 9 18:42:42 2024 +0300

    Update readme & contributing guide & language stuff (#2071)

    * updates

    * keep common errors

    * fix selector being empty for english

    * sort by label

    * update contributing

    * update ndk and docs

    * Update CONTRIBUTING.md

commit 177b2a23d6
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Fri Feb 9 21:20:51 2024 +0800

    sync support for labels (#2070)

    * more sync support for file paths + saved searches

    * sync support for labels

    * update sync prisma generator to support more than tags

    * workey

    * don't do illegal db migration

    * use name as label id in explorer

commit 6f28d8ec28
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Fri Feb 9 16:17:04 2024 +0800

    More sync support for file paths + saved searches (#2067)

    more sync support for file paths + saved searches

* Update build-rust.sh

Fix script so it doesn't build debug apps always now.

* Add Tests for iOS

* Update android.rs

PR 1812 was closed, therefore changing the message to mention the branch instead.

* Change `--debug` to `--release`

Oops

* Remove debug cargo crate for `notify-rs`

* Spelling Fix on `android.rs`

* Squashed commit of the following:

commit dba85ebac3
Author: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
Date:   Mon Feb 26 16:45:58 2024 -0300

    [ENG-1513] Better integration between Jobs and processing Actors (#1974)

    * First draft on new task system

    * Removing save to disk from task system

    * Bunch of concurrency issues

    * Solving Future impl issue when pausing tasks

    * Fix cancel and abort

    * Bunch of fixes on pause, suspend, resume, cancel and abort
    Also better error handling on task completion for the user

    * New capabilities to return an output on a task

    * Introducing a simple way to linear backoff on failed steal

    * Sample actor where tasks can dispatch more tasks

    * Rustfmt

    * Steal test to make sure

    * Stale deps cleanup

    * Removing unused utils

    * Initial lib docs

    * Docs ok

    * Memory cleanup on idle

    ---------

    Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>

commit 53713a9f59
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 26 18:53:37 2024 +0300

    [ENG-1625] Spacedrop UI correct hover condition & spacing (#2127)

    * improve spacedrop ui with correct hover & spacing

    * remove

commit 6f27504e5f
Author: Matteo Galiazzo <50683509+gekoxyz@users.noreply.github.com>
Date:   Mon Feb 26 16:20:41 2024 +0100

    added it locale, added it entry (#2066)

    * added it locale, added it entry

    * Apply suggestions from code review

    Co-authored-by: Matteo Martellini <matteo@mercxry.me>

    * add missing keys and a readme about the script

    ---------

    Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
    Co-authored-by: Matteo Martellini <matteo@mercxry.me>

commit 28328034f0
Author: jake <77554505+brxken128@users.noreply.github.com>
Date:   Mon Feb 26 15:17:28 2024 +0000

    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

commit aa0b4abf85
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date:   Mon Feb 26 15:23:48 2024 +0800

    rspc over P2P (#2112)

    * wip: rspc over p2p

    * wip

    * rspc over P2P

    * Cleanup + error handling

    * slight cleanup

    * Using Hyper for HTTP streaming + websockets

commit f7a7b00e37
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Fri Feb 23 11:26:58 2024 -0500

    Fix android thumbs (#2121)

    * replace react-native-fs with an active fork

    * time sink

    * fix

commit 6358c574c9
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Fri Feb 23 00:28:35 2024 +0300

    Mob: cleanup warning (#2122)

    Update Categories.tsx

commit a4b7296b45
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Thu Feb 22 16:08:41 2024 +0300

    MOB: Settings paddings (#2120)

    padding tweaks

commit d007b55763
Author: nikec <43032218+niikeec@users.noreply.github.com>
Date:   Thu Feb 22 13:53:02 2024 +0100

    [ENG-1619] Add spacedrop to the context menu (#2119)

    add spacedrop to context menu

commit dd0acad2e7
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Thu Feb 22 15:47:08 2024 +0300

    [ENG-1618] Spacedrop UI (#2118)

    * spacedrop ui update

    * i18n and description

    * glitch: remove !

    * already in progress i18n

    * more i18n

commit a17fb910ed
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Thu Feb 22 15:20:31 2024 +0300

    [MOB-62] Spacing & padding tweaks (#2117)

    Spacing & padding tweaks

commit 6a32752243
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date:   Thu Feb 22 03:15:36 2024 -0300

    Fix core test and CI breaking (#2116)

    Fix core test passing inverted arguments to sync_db_entry macro

commit da4f038669
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Wed Feb 21 17:19:40 2024 +0300

    Mob: better visually width fitting for categories (#2114)

    * Visually width fitting for categories

    * remove padding

commit 3bdcc05c2d
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date:   Wed Feb 21 11:18:15 2024 -0300

    Fix mobile CI + Some small CI improvements (#2113)

    Fix mobile CI
     - Use rust envvars in all workflows
     - Use rust envvars and mold when build sd-server docker

commit b638fc2177
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Wed Feb 21 08:26:05 2024 -0500

    [MOB-37, MOB-38, MOB-39] Preview for PDF, Text and Media files (#2098)

    * version & microphonePermission text & eslint

    * remove polyfill as hermes supports intl now

    * why do we have solid on mobile?

    * cleanup

    * add solid back =_=

    * pnpm lock

    * we hate relative paths here

    * android config

    * open file logic

    * visual tweaks

    ---------

    Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>

commit c533d12df0
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Wed Feb 21 22:42:10 2024 +1100

    media data sync (#2102)

    * basic sync operation backfill

    * media data sync

    * sync entry helpers

    * fix sync generator

    * nicer

    * re-add key_id

commit 393a907b57
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date:   Wed Feb 21 06:27:40 2024 -0300

    Update github actions due to nodejs 16 deprecation (#2107)

    * Update github actions due to nodejs 16 deprecation
     - Replace archived actions-rs/clippy-check with maintained fork actions-rs-plus/clippy-check
     - Replace redhat-actions/push-to-registry with updated fork Eusebiotrigo/push-to-registry
     - Point redhat-actions/buildah-build and softprops/action-gh-release to current master to fix nodejs deprecation

    * Build the correct ios core rust arch for CI runs

    * Build ios app for the same arch as the host in Mobile CI

    * Some changes to try and make cache-factory faster and avoid failing so much

    * Add trigger to run cache-factory on pull requests when there are changes to itself

    * Attempt to fix sed usage on macOS

    * Don't treat warning as errors

    * Fix windows

    * Fix windows 2

    * Use target ad cache key for rust to differentiate between macOS x86_64 and arm64

    * Use faster/better linkers to compile for macOS, Linux and Windows

    * Fix missing shell in action

    * Fix typo

    * Fix missing shell in action 2

    * Fix mold download
     - Replace bsdtar with plain tar

    * Fix permission denied when extracting mold

    * Remove zld

    * Don't restore cache for rustfmt
     - Remove target symlink to C:/ in an attempt to speed-up windows CI

    * Fix typo

    * Restore target symlink on windows
     - Removing it didn't make CI faster

    * Run Mobile on macos-14

commit 519b1b6c46
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date:   Wed Feb 21 16:13:40 2024 +0800

    Fix P2P not working for libraries (#2031)

    * P2P Debug route

    * Remove legacy peer to peer pairing process

    * Fix error typo

    * Sync instances with cloud

    * Upgrade deps + extended instance data

    * Create instance with extended metadata

    * Auto sync instances

    * Actually `.await`

    * bruh

    * sync library info

    * this isn't gonna work

    * only sleep cloud receiver when no more messages (#1985)

    * [ENG-1567] Fix renaming (#1986)

    fix rename

    * only sleep cloud receiver when no more messages

    * use in memory instances during cloud receive (#1995)

    * use in memory instances during cloud receive

    * is_empty

    ---------

    Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>

    * fix type error

    * wip

    * make mdns mdns better

    * rebuild state

    * Add hooks + listeners + discovered state

    * Split into crates

    * wip fixing core + wip merging Spacetime into `sd-p2p2`

    * `SmartLockGuard` + `Listener`

    * Make `sd-core` compile

    * Reenable all operation receivers

    * Fix all broken code within `sd-core`

    * minor fixes found in review

    * Bring in `libp2p` + restructure `sd-p2p` for the gazillion-th time

    * whoops

    * Compile no matter the (runtime) cost

    * fixing merge issues

    * wip

    * a

    * b

    * C

    * Handle port betterer

    * c

    * Migrate node config

    * a

    * no crash on startup

    * wip

    * a

    * jdfhskjfsg

    * a

    * fix discovery

    * a bunch of fixes

    * getting Spacedrop working

    * I don't get why it no worky

    * debug example

    * a

    * wip

    * wip

    * removing logging from stream impl

    * wip: shit is fucked

    * Redo quic integration  + Spacedrop working

    * Fix shutdown - deadlocks + shutdown peers

    * Add Prisma migrations

    * Fix shutdown

    * a

    * fix

    * cleanup

    * The lord clippy hath spoken

    * disable P2P settings for now

    ---------

    Co-authored-by: Brendan Allan <brendonovich@outlook.com>
    Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>

commit af8dbf7789
Author: Julian Braha <julianbraha@gmail.com>
Date:   Tue Feb 20 20:06:05 2024 +0000

    Improve error handling by using decode::Error instead of io::Result (#2078)

    Use decode::Error instead of io::Result

commit 84dadffa81
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 20 22:59:11 2024 +0300

    [MOB-59] Empty UI for locations and tags screen (#2110)

    Empty UI for locations and tags screen

commit 9fc38d866a
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 20 22:47:14 2024 +0300

    [MOB-60] locations & tags query invalidation on updates (#2111)

    Trigger UI updates on location adding/delete and tags

    lint

    name

commit abd5ecbe8d
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 20 13:05:53 2024 +0300

    mousedown fix (#2108)

    quick mistake fix

commit 9bc1a472a8
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Tue Feb 20 20:22:34 2024 +1100

    Basic sync operation backfill (#2101)

    * basic sync operation backfill

    * no changes

commit 2a283479e6
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date:   Tue Feb 20 01:33:52 2024 -0500

    New Android Build Script (#2096)

    * New Android Build Script

    * Clean up + Works for CI now

    * Simplify android build.sh
     - Fix /var/home/vitor fallback for Linux systems
     - Run a single cargo ndk for all targets (not parallel build, but a bit faster)
     - Fix android target s/x86/x86_64/
     - Format setup.sh
     - Minor improvements to rust mobile targets installation step in setup.sh

    * Add notice to CONTRIBUTING that only Java <= 17 is supported for building android
     - Make prettier ignore some mobile build artifacts

    * When in CI, Fix build android core for host architecture

    ---------

    Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>

commit 19b224370e
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 19 23:45:29 2024 +0300

    [ENG-1615] bg intro video fixed (#2104)

    * video intro bg

    * test hsl

    * test video bg

    * run tests

    * comment

    * mob intro

    * git glitch

    * git

    * webm type

commit 43360601da
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 19 19:12:11 2024 +0300

    [MOB-58] Settings routes new design & more (#2103)

    * wip: redesigning settings pages

    * Edit location redesign & more

    * right actions

    * cleanup

commit e8450821df
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 19 18:23:20 2024 +0300

    [ENG-1612] Fix mouse nav forwards and backwards (#2105)

    Fix mouse nav forwards and backwards

* Clean up commented code

* Clean up + Remove `LocationOnboarding.tsx`
2024-02-29 16:14:50 +00:00