spacedrive/Cargo.toml

151 lines
4.6 KiB
TOML
Raw Normal View History

2022-03-30 08:14:50 +00:00
[workspace]
resolver = "2"
2022-03-30 08:14:50 +00:00
members = [
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 13:48:12 +00:00
"core",
"core/crates/*",
"crates/*",
"apps/deps-generator",
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 13:48:12 +00:00
"apps/desktop/src-tauri",
"apps/desktop/crates/*",
"apps/mobile/modules/sd-core/core",
"apps/mobile/modules/sd-core/android/crate",
"apps/mobile/modules/sd-core/ios/crate",
"apps/server",
2022-03-30 08:14:50 +00:00
]
exclude = ["crates/crypto"]
[workspace.package]
license = "AGPL-3.0-only"
edition = "2021"
repository = "https://github.com/spacedriveapp/spacedrive"
[workspace.dependencies]
[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
# 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
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
chrono = "0.4.38"
directories = "5.0"
ed25519-dalek = "2.1.1"
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>
2024-02-21 08:13:40 +00:00
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.25.1"
itertools = "0.13.0"
lending-stream = "1.0"
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
libc = "0.2"
normpath = "1.2"
once_cell = "1.19"
pin-project-lite = "0.2.14"
[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
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"
[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
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"
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
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.3.0"
[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
[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
[workspace.dependencies.prisma-client-rust-sdk]
git = "https://github.com/brendonovich/prisma-client-rust"
rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab"
features = ["sqlite"]
default-features = false
[patch.crates-io]
# Proper IOS Support
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 13:48:12 +00:00
if-watch = { git = "https://github.com/spacedriveapp/if-watch.git", rev = "a92c17d3f85c1c6fb0afeeaf6c2b24d0b147e8c3" }
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>
2024-02-21 08:13:40 +00:00
# We hack it to the high heavens
rspc = { git = "https://github.com/spacedriveapp/rspc.git", rev = "ab12964b140991e0730c3423693533fba71efb03" }
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>
2024-02-21 08:13:40 +00:00
# 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" }
# Due to image crate version bump
pdfium-render = { git = "https://github.com/fogodev/pdfium-render.git", rev = "e7aa1111f441c49e857cebda15b4e51b24356aaa" }
[profile.dev]
# Make compilation faster on macOS
split-debuginfo = "unpacked"
opt-level = 0
debug = 0
strip = "none"
lto = false
codegen-units = 256
incremental = true
[profile.dev-debug]
inherits = "dev"
# Enables debugger
split-debuginfo = "none"
opt-level = 0
debug = "full"
strip = "none"
lto = "off"
codegen-units = 256
incremental = true
# Set the settings for build scripts and proc-macros.
[profile.dev.build-override]
opt-level = 3
# Set the default for dependencies, except workspace members.
[profile.dev.package."*"]
opt-level = 3
incremental = false
# Set the default for dependencies, except workspace members.
[profile.dev-debug.package."*"]
inherits = "dev"
opt-level = 3
debug = "full"
incremental = false
# Optimize release builds
[profile.release]
panic = "abort" # Strip expensive panic clean-up logic
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