spacedrive/core/Cargo.toml

79 lines
2.3 KiB
TOML
Raw Normal View History

2021-12-24 09:13:21 +00:00
[package]
name = "sd-core"
2021-12-24 09:13:21 +00:00
version = "0.1.0"
description = "Virtual distributed filesystem engine that powers Spacedrive."
authors = ["Spacedrive Technology Inc."]
license = "GNU GENERAL PUBLIC LICENSE"
2022-05-01 04:45:13 +00:00
repository = "https://github.com/spacedriveapp/spacedrive"
2022-04-20 09:25:50 +00:00
edition = "2021"
rust-version = "1.64.0"
2021-12-24 09:13:21 +00:00
[features]
default = ["p2p"]
2022-09-23 05:46:23 +00:00
p2p = [
] # This feature controls whether the Spacedrive Core contains the Peer to Peer syncing engine (It isn't required for the hosted core so we can disable it).
mobile = [
] # This feature allows features to be disabled when the Core is running on mobile.
2022-10-18 12:56:16 +00:00
android = ["dep:tracing-android"]
2022-09-23 05:46:23 +00:00
ffmpeg = [
"dep:ffmpeg-next",
"dep:sd-ffmpeg",
2022-09-23 05:46:23 +00:00
] # This feature controls whether the Spacedrive Core contains functionality which requires FFmpeg.
ENG 223 Location Awareness (#468) * Introducing location online/offline checks and location relink * Some initial drafts for location watchers * Location metadata relink and add library * Many improvements at job system Now using prisma batching at identifier job Removing blocking I/O from extension subcrate Implementing lazy generation of thumbnails New current directory identifier job to be used on light rescans * Some optimizations on identifier and object validator jobs * merge jamie's identifier PR * fully repaired identifier job * properly hooked up object kind * inspector fix * fix video badge * small improvements to libraries settings * identifier and inspector improvements * fix feature flags and hook up context menu location utilities * BETTER CONTEXT MENU x100 * test-files * style tweaks * new icon designs * manifest * fix thumbnails on web * media data * New Location Watcher and some minor fixes * disable broken media_data extractor, wip * wip * function name fix * Fixing pnpm prep and some warnings * Solving a race condition beetween indexer job and FS event handlerSome other minor warnings * Generating thumbnails on watcher * Remove event handler on watcher * Some initial works on modify events and other small fixes * File update event * Trying to be more generic with used events and some tests to validate our assumptions * Turning on location metadata file * Introducing core unit tests on CI pipeline * Submiting new unit test assumptions to validate on windows CI * Fixing unit tests * Fixing unit tests again * Fixing unit tests * Fixing unit tests for macos * Fixing unit tests for macos again * New structure for platform dependent event handling Implementing event handlers for Linux and MacOS * minor fixes + rustfmt + clippy * Windows event handling * Introducing a feature gate to only use location watching on desktop app for now * Putting more stuff behind feature gates to avoid warnings * Adding feature to cargo test on CI * Changing some debug logs to trace logs and removing Jamie specific stuff * Make location removal from manager less async * fix build when "location-watcher" feature disabled * fix types + clippy * make location manager non-static * remove uses of `to_string_lossy` * more invalidate_query calls * Expose `library_ctx` directly to avoid needless clones * New materialized_path handling for directories * Removing cascade delete between file_path and object - Some other minor stuff * remove unused `CurrentDirFileIdentifierJob` Co-authored-by: Jamie Pine <ijamespine@me.com> Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2022-12-30 16:53:24 +00:00
location-watcher = [
"dep:notify"
]
2021-12-24 09:13:21 +00:00
[dependencies]
2021-12-30 13:35:25 +00:00
hostname = "0.3.1"
2021-12-24 12:24:12 +00:00
# Universal Dependencies
base64 = "0.13.0"
serde = { version = "1.0", features = ["derive"] }
2022-10-01 17:16:11 +00:00
chrono = { version = "0.4.22", features = ["serde"] }
2021-12-24 12:24:12 +00:00
serde_json = "1.0"
futures = "0.3"
int-enum = "0.5.0"
rmp = "^0.8.11"
2022-10-01 17:16:11 +00:00
rmp-serde = "^1.1.1"
blake3 = "1.3.1"
2021-12-24 12:24:12 +00:00
# Project dependencies
2022-10-05 00:58:03 +00:00
rspc = { workspace = true, features = ["uuid", "chrono", "tracing"] }
prisma-client-rust = { workspace = true }
normi = { workspace = true }
specta = { workspace = true }
uuid = { version = "1.1.2", features = ["v4", "serde"] }
2022-10-01 17:16:11 +00:00
sysinfo = "0.26.4"
thiserror = "1.0.37"
2021-12-24 12:24:12 +00:00
2022-10-01 17:16:11 +00:00
tokio = { version = "1.21.2", features = [
"sync",
"rt-multi-thread",
"io-util",
] }
2022-06-22 05:53:07 +00:00
include_dir = { version = "0.7.2", features = ["glob"] }
2022-10-01 17:16:11 +00:00
async-trait = "^0.1.57"
image = "0.24.4"
webp = "0.2.2"
2022-10-01 17:16:11 +00:00
ffmpeg-next = { version = "5.1.1", optional = true, features = [] }
sd-ffmpeg = { path = "../crates/ffmpeg", optional = true }
[ENG-307] Key manager features (#467) * working key management in settings page * sync with library button * fix `rspc` feature and add passphrase generation * untested key manager rework * trying to return values from mutations * update library manager and remove settiong master PW * update bindings * set static secret key/master password * prompt user for master password if correct one hasn't been provided yet * add `hasMasterPassword` route * add `clearMasterPassword` route + remove dead code * tweak `set_master_password()` and add dedicated error * tweak UI, fix `few hooks than expected`, add unmount+lock button * remove old comment * fmt * clippy * move static key/password setting so it doesn't fail sometimes * add dedicated `get_key()` and remove keys from memory * add `getKey` route * update bindings * use `const` instead of `let` * comment updates * update schema to remove salt * add string parse error * generate passphrase within key manager * generate new migrations * feature gate serde support in `crypto` crate * fmt * more specific error types * foramatting * add locking mechanism to keysettings page (not working?) * fix react hook issues Co-authored-by: maxichrome <maxichrome@users.noreply.github.com> * remove empty onclick * add keymanager dropdown menu * working key backup functionality * add experimental master password changing support * update bindings * semi-working change master password dialog * use gear/lock icons to clean up key manager UI * make settings button functional * make buttons uniform and format code * fix double base64 encode * add change master password dialog and secret key dialog * code cleanup * restore backup dialog * change UI wording * make a start on restoring from a backup * potentially working keystore restore * don't overwrite verification key if one is set * working backup restore + fix master password changing * fix typo in static password/verification key check logic * change wording to make UI clearer * disable mount button if key is empty * handle errors+remove type annotations * show total imported keys on backup restoration * add zxcvbn package * change input border colour based on zxcvbn score * clippy and formatting * password strength meter * remove nbsp * add button type to stop early form submission * use `react-hook-form` for backup restoration dialog * more `react-hook-form` stuff * attempt to fix password meter * small cleanup * Fix password meter * update colours Co-authored-by: maxichrome <maxichrome@users.noreply.github.com> Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2022-12-02 10:18:21 +00:00
sd-crypto = { path = "../crates/crypto", features = ["rspc", "serde"] }
sd-file-ext = { path = "../crates/file-ext"}
2023-01-05 07:11:55 +00:00
sd-sync = { path = "../crates/sync" }
fs_extra = "1.2.0"
2022-10-01 17:16:11 +00:00
tracing = "0.1.36"
tracing-subscriber = { version = "0.3.15", features = ["env-filter"] }
2022-10-18 12:56:16 +00:00
tracing-android = { version = "0.2.0", optional = true }
async-stream = "0.3.3"
2022-10-01 17:16:11 +00:00
once_cell = "1.15.0"
ctor = "0.1.23"
globset = { version = "^0.4.9", features = ["serde1"] }
2022-10-01 17:16:11 +00:00
itertools = "^0.10.5"
enumflags2 = "0.7.5"
notify = { version = "5.0.0", default-features = false, features = ["macos_fsevent"], optional = true }
2023-01-05 07:11:55 +00:00
uhlc = "0.5.1"
[dev-dependencies]
tempfile = "^3.3.0"
tracing-test = "^0.2.3"