* clippy -_-
* migrations
* alter the migration so it just renames the `dimensions` field (no db re-creation required)
* remove confusing semver addition for `libheif-sys`
* remove warning on the migration as it's just a rename
* add sort opts for resolution and date image was truly taken
* major serde ckeanup & add epoch_time and pixel_count
* rename, cleanup et optimise
* clippy
* ignore this mess
* bindings
* add explanation to schema
* comment out dt test
* better comment and WIP time
* cleanup rust
* failed timezone attempt
* remove image resolution as a sort by option
* update schema (and rename the dimensions table instead of dropping it)
* just show raw date
* add comments and update bindings
* fix migration hopefully
* fix broken migration
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* Add onLoad and onError listeners to FileThumb
- Show toast when Original file fails loading in QuickPreview
- Formatting
* Fix close toast not working when QuickPreview was open
* Fix panic when serving unsupported files
* Formatting & lint
* folder
* wrote function
* Abstracting duplicate on file name
* Spliting between ephemeral and indexed
* Now with more type safety
* Forgot to prep
* location + path based
* bruh
* link frontend + error toast
* strip main separator
* dumb
* bruh
* create directory
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* make some reactivity happen
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* custom updater with toasts
* new state management + updated router route
* tauri-specific update route
* ref
* update in prod only
* change 'Install' to 'Update'
* fix tsconfig
* desktop tauri
* remove tauri patch
* tauri 1.5
* tauri 1.5
* use tauri script
* native-deps
* Rework preprep and tauri script to better support tauri 1.5
* Update to tauri 1.5.1
- Update workspace and apps/desktop dependencies
- Fix mustache import, @types/mustache is not compatible with ES imports
- Replace arm64 with aarch64 in machineID, they should be treated the same and this simplyfies the code
* Fix tauri updater not building due to missing key
- Fix dmg background not being found
- Generate an adhoc key for tauri updater with it is enabled and the user is doing a prod build
* Fix ctrl+c/ctrl+v typo
* Normalie @tanstack/react-query version through workspace
- Use undici in scripts instead of global fetch
- Fix typecheck
* Fix linux prod and dev builds
- Improve error handling in tauri.mjs
* Normalize dev deps in workspace
- Improve linux shared libs setup
* Fix CI and server docker
* Fix windows
- Remove superfluous envvar
* Attempt to fix server, mobile, deb and release updater
* Attempt to fix deb and mobile again
- Fix type on deb dependency
- Enable release deb for aarch64-unknown-linux-gnu
* Github doesn't have arm runners
- Fix typo in server Dockerfile
* Publish deb and updater artifacts
* remove version from asset name
* update commands
* log release
* Some logs on updater errors
* show updater errors on frontend
* fix desktop ui caching
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* Update GridView.tsx
* Update grid and list view for hiding sizes in ephemeral locations
* Clearer function instead of variable
* Update GridView.tsx
* Update GridView.tsx
* - added local section to sidebar
- added spacedrop screen, showing local peers
- added placeholder network screen
-removed unused swift package
- created a watcher for system volumes to invalidate ui when drives are added/removed
* clouds
* fix more imports
* see more
* open location if volume is location
* gen assets
* remove log
* [ENG-939, ENG-1173] PDF Thumbnails (#1242)
* sd-pdf
* Process PDF blocking render inside a spawn_blocking
- Load a single global Pdfium instance
* Migrate pdf thumb logic to sd-images
- Replace block_in_place with spawn_blocking
- Only load LibHeif once
- Allow thumbnailer (both indexed and non-indexed locations) to process documents
- Disable loading pdf viewer in Inspection in favour of loading it's thumbnail
* Try to load pdfium lib from absolute path
* Revert removed import due to rebase
* Small nitpick and some warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* [ENG-888] Media view should show current folder downward (#1437)
* Done but ugly
* layout
* Now with a select
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* add cool folder thing to inspector + stuff
* fix text color
* fix lock
* fix typescript
* fix ts
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* append ` (x)` to files when duplicating, renaming or pasting instead of overwriting
* cleanup commented code
* fix renames
* rustfmt
* remove unused item
* Small tech debts and some nitpicks
* Bug with appending number on duplicates
* A bug on my new impl
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* sd-pdf
* Process PDF blocking render inside a spawn_blocking
- Load a single global Pdfium instance
* Migrate pdf thumb logic to sd-images
- Replace block_in_place with spawn_blocking
- Only load LibHeif once
- Allow thumbnailer (both indexed and non-indexed locations) to process documents
- Disable loading pdf viewer in Inspection in favour of loading it's thumbnail
* Try to load pdfium lib from absolute path
* Revert removed import due to rebase
* Small nitpick and some warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* New functions to open ephemeral files
* Review items for ephemeral files
* Open and OpenWith context menu for ephemeral paths
* Some warnings
* Fixing inspector
* Fixing windows
* Format
* Messy rebase
* Fix macos
* Cargo fmt
* Removing devtools as it can be opened with keybind
* Fix macos
* Separating ext for ephemeral files on inspector
* Fixing bad rebase
* Removing rename button from quickpreview for ephemeral files
* Quick Preview for ephemeral files
* Requested changes
* Enter key opens on windows, cmd and o on mac. Open in context menu now opens in SD and not Finder.
* Remove access time func as doubleClick already does it
* fix line number background thing
* Prism dark mode + move to one dark/one light
* subtle
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* Multiple minor fixes and tweaks
* close context menu if no items are selected
* fix
* type
* Update keybindings.tsx
* useMatch and rspc to invalidate
* fix selectable
---------
Co-authored-by: nikec <nikec.job@gmail.com>
* Handle large text files
* wip
* nit
* Fix syntax highlighting
* Requiring an API call for my dev builds, no shot
* backend for line counting + wip frontend
* 600 lines is too much for this file, ngl
* wip: `LimitedByLinesBody` & some more restructuring
* Virtualised list for QuickPreview
* yeet bad ideas
* general cleanup + hack to fix broken toml
* fix
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Keep more info open if it is
* toggle off when closing inspector
* Update TopBarOptions.tsx
* tweak code
* Update Accordion.tsx
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* offer DD and DMS coordinate displays
* clean up & optimise the conversion functions
* add support for changing between dd/dms (and some other example changeable formats)
* even further cleanup
* auto format
* dedicated clickable component to clean things up
* slim it down by passing platform directly
* make dist/temp settable, use dedicated format store
* use freedom units if locale is `en-US` 🦅
* rename the store and attempt to make it more typesafe
* cleanup mainly
* DD -> "Decimal" in the UI and swap the options as DMS will be the default
* remove useless schema
* only show S decimal on hover for DMS
* show `x` after zoom if it's a valid number
* tooltip visual upgrade and shortcuts
This gives tooltips an upgrade, visually + supporting keybinds
* B to V
* Cannot make tooltip do conversion due to dependency cycle
* semantics
* Update style.scss
* useKeyBind to consider upper and lowercase
* Change from strings to array + small visual tweaks
* oops
* handle selection
* update timeout
* one more
* prevent explorer reset when open
* remove timeout
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* bring in rand deps
* SUPER crude pluscode attempt
* working pluscodes!
* some cleanup
* `encodeURIComponent` for URL escaping
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* impl `Display` and a custom serde serializer
* remove the + as rust already shortens coords to 8SF
* remove manual serde impl and string conversion
* add `formatOrientation` to the `MediaData` part of the inspector
* make requested changes
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
* Drop Tauri custom URI handler
Me no likely but it has to be done.
* fix app startup with location
* fix "Add Location" button on web
* Serve correct content range
* Backport changes from 08ba4f91
* none of my homies like panics
* minor fixes
* fmt with new Rust version
* Spacedrop progress on `useP2PEvents`
* Spacedrop Tauri file picker for saving
* Prompt for save location when closing dialog
* quick maths
* Spacedrop progress
* Spacedrop cancellation
* Move accept/cancel dialog to toast
* Toast when rejecting transfer
* yeet
* `useEffect` more like `useBug`
* Big bruh moment
* whoops
* Less stackoverflowy debug
* stuff
* Fix flawed P2P mDNS instance advertisements
* do sync when connecting with peer
* Sync after pairing
* resync_part2 all the time
* Invalidate all the things
* Invalidate whole React Query on sync event
* emit_messages_flag
* emit_messages_flag
* Backend feature flags + "emitSyncEvents" feature
* Patch `confirm` type cause Tauri cringe
* clippy
* idk but plz work
* bruh
* Fix ComLink bug
* remove log
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* basic layout
* lock
* add codec to image
* very messy wip
* rm that
* lock and toml
* working perfect exif extraction
* formatting
* migration and formatting
* mostly working
* fix
* set date created properly
* fix tsc
* working media data creation
* fix bad main merge? sorry brendan
* schema, migrations, bindings
* working exif data extraction
* why won't it work
* update migrations
* fix bad merge
* final cleanup
* cleanup migrations
* remove test (that was purely used for testing my code)
* working media data pulling, correct thumbnail orientation
* slightly optimise thumbnail rotation
* rename location to prevent specta clashes
* further improvements (location parsing is still broken)
* fix coordinate parsing i think
* rspc add some todos regarding final cleanup
* further thoughts
* major upgrades
* Some improved handling of errors and async calls
* accordion component
* heavily wip flash refactor
* fix builds all because of a (terrible) merge/move
* annoying missing newline
* i really hate exif
* remove dead code
* further flash progress :D
* docs(media-data): clarification
* minor cleanup
* cleanup and some async removal
* fix location parsing
* remove async (will do proper impl for async eventually) and major cleanup
* big W
* clippy and `FlashMode::Unknown` instead of `Invalid`
* add `NIKON` gps ref support
* comments about gps refs
* commit the submodule -_-
* major cleanup & composite image support
* remove old test image
* major cleanup and easier to use API
* remove old consts
* move `ExifReader` to dedicated module
* Media Data Extractor job and shallow job
* Extracting media data on watcher
* report no exif data on file gracefully
* cleanup errors and doctests
* Merging thumbnailer and media data extractor
* Job name and some strings in UI
* remove reliance on `sd-prisma` within the media data crate
* rename query to be more specific
* custom serializer for `MediaTime`
* tweak to format utc -> naive correctly
* generate migrations
* comment out duration in mobile
* delete test-assets folder
* all optional fields
* fix migrations again
* make requested name changes
* make further requested changes
* remove erroneous files from another wip branch
* updates procedures
* use strings where appropriate
* regen pnpm-lock
* add base layouts for video and audio media data
* use appropriate data types in schema and add audio media data framework
* make requested changes
* general cleanup and renaming of enum
* cleanup media data api
* rename media metadata type
* finishing touches
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* added some files `standard` mime type
* Used `TEXTViewer` Component to show Code Preview
* Update Thumb.tsx
* added `prismjs`
* removed unnecessary comment
* `CODEViewer` Component for Syntax Highlighting
* formatting
* using **Atom** Theme for `Prism`
* merge text/code viewers & bg-app-focus for prism
currently calling onError and onLoad without an Event argument
that should change but i'm not really sure what to do there
* removed unused imports
* Update index.ts
* `TEXTViewer` to `TextViewer_`
* `TextViewer_` to `TextViewer`
* Don't highlight normal TextFiles
* clean code
* `TEXTViewer` to `TextViewer`
* using tailwind classes more
* doing things correctly.
* installed `prismjs` in interface
* using own scroller
* Update Thumb.tsx
* Add an AbortController to the fetch request
- Fix onError and onLoad calls
- Format code
* Fix onError being called when request was aborted due to re-render
- Fix Compoenent re-rendering loop due to circular reference in useEffect
- Remove unused imports
* Improve text file serving and code syntax highlight
- Implement way to identify text files in file-ext crate
- Do not depend only on the file extension to identify text files in custom_uri
- Import more prismjs language rules files
- Add line numbers to TextViewer when rendering code
* Clippy and prettier
* Fix reading zero byte data to Vec
- Improve empty file handling
* Expand code highlight to more file types
- Fix 10MB when it should be 10KB
- Add supported for more code and config files extensions to sd-file-ext
- Add comlink and vite-plugin-comlink for easy js worker integration
- Move Prismjs logic to a Worker, because larger files (1000+ lines) where causing the UI to hang
- Replace line-number prismjs plugin with our own implementation
* Fix uppercase extension name
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: pr <pineapplerind.info@gmail.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* search.objectsCount
* provide count to useExplorer and react-table
* use row count if custom count not provided
* remove placeholder items from list view
* add job manager modal and button
* cleanup directories and add card to debug screen
* expo sdk 49
* update pods
* updated native android files
* updated native ios files
* pods being cringe
* update hermes
* podfile
* big update packages
* fix and upgrade animations to reanimated 3
* nice types moti
* clean imports
* upgrade react-hook-form (fix type)
* move stuff to sd/client and some organization
* camel case
* i liek switch
* Merge iconImg & circleIcon props
* wip
* copy changes to mobile
* move job context and job progress to client and also use it on mobile
* pnpm-lock
* (wip) - make job swipeable + styling
* job progress bar and more style tweaks
* no spring animation on progress bar pls
* new loading animation
* padding and pnpm lock
* indeterminate progress bar
* cleanup & update packages etc
* leave some todos for future
* fix types
* monorepo types :)
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* Some initial drafts
* Finising the first draft on non-indexed locations
* Minor tweaks
* Fix warnings
* Adding date_created and date_modified to non indexed path entries
* Add id and path properties to NonIndexedPathItem
* Working ephemeral location (hardcoded home for now)
* Fix UI for ephemeral locations
* Fix windows
* Passing ephemeral thumbnails to thumbnails remover
* Indexing rules for ephemeral paths walking
* Animate Location button when path text overflow it's size
* Fix Linux not showing all volumes
* Fix Linux
- Add some missing no_os_protected rules for macOS
- Improve ephemeral location names
* Remove unecessary import
* Fix Mobile
* Improve resizing behaviour for ephemeral location topbar path button
- Improve Search View (Replace custom empty component with Explorer's emptyNotice )
- Improve how TopBar children positioning
* Hide EphemeralSection if there is no volume or home
- Disable Ephemeral topbar path button animation when text is not overflowing
* minor fixes
* Introducing ordering for ephemeral paths
* TS Format
* Ephemeral locations UI fixes
- Fix indexed Locations having no metadata
- Remove date indexed/accessed options for sorting Ephemeral locations
- Remove empty three dots from SideBar element when no settings is linked
* Add tooltip to add location button in ephemeral locations
* Fix indexed Locations selecting other folder/files in Ephemeral location
* Minor fixes
* Fix app breaking due to wrong logic to get item full path in Explorer
* Revert some recent changes to Thumb.tsx
* Fix original not loading for overview items
- Fix QuickPreview name broken for overview items
* Improve imports
* Revert replace useEffect with useLayoutEffect for locked logic in ListView
It was causing the component to full reload when clicking a header to sort per column
* Changes from feedback
* Hide some unused Inspector metadata fields on NonIndexedPaths
- Merge formatDate functions while retaining original behaviour
* Use tauri api for getting user home
* Change ThumbType to a string enum to allow for string comparisons
* Improve ObjectKind typing
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* added bearded icons
* implemented bearded icons
* Made separate `LayeredFileIcon` component
* Delete index.tsx
* Update LayeredFileIcon.tsx
* Update LayeredFileIcon.tsx
* Update Thumb.tsx
* modified `generate.mjs` file
modified `generate.mjs` file to automatically generate index file for our icons
* Automatically generated by `generate.mjs` script
auto generate files are also included in code, so i also included it
* `bearded-icons` in `ext` folder
* Update LayeredFileIcon.tsx
* Update LayeredFileIcon.tsx
* formatted LayeredFileIcon.tsx
* Update Thumb.tsx
* added more icons to utilize
* made seperate file for `IconMapping`
* fixed typescript error by `Record<string, React.ReactElement>`
* More fixes in typescript
BTW, I am still learning TypeScript, but I know at least how much is required to get my work complete.
* moved icons to `assets/svgs/ext`
* added `kind !== 'Code'`
* Update Thumb.tsx
* Enable LayeredFileIcon for any file icon
- Change IconMapping to define layered icons by kind/extension, instead of just extensions
- Always render LayeredFileIcon component and determine whether the layered icon should or not be rendered internally
- Format code
* Using our own name conventions
* `getLayeredIcon` implementation
* using our own directory structure
* directory structure
* fix 1
* fixed relative import
* `getLayeredIcon` utility implementation
* for our `kind`/`extention`.svg folder structure
* improvements in `getLayeredIcon`
* added icons in `Code`
* Delete IconMapping.tsx
* fixed imports
* fix typescript, mobile svg handling etc
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Structs for views
* hook up new preferences types to preferences system
* wip - draft
* laters useEffect, hi explorer context :D
* fix types
* wip
* hm
* preferences wip
* tweaks
* use search::SortOrder
* Refactor explorer settings to use useExplorer and useExplorerSettings (#1226)
refactor to use useExplorer and useExplorerSettings
* preferences
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
* cache job report events in context
* hoist report state to JobManager
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
* Quick Preview for text file
Implemented a Quick Preview feature using an iframe to display the content of text files in the browser, enhancing the user experience with easy access to file information.
* made corners rounded
* desabled scroller in inspector
* Text Viewer's Implementation
Implemented a TEXT Viewer like PDF Viewer, which shows content of text files
* Dark Scrollbar & Padding Enhancements
Implemented dark scrollbar to match theme and added horizontal padding for improved text preview.
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* pause inspector thumbnail while quick preview is open
* rename prop paused to pauseVideo
* move video thumb into its own component (#1177)
---------
Co-authored-by: Tim Havlicek <t.havlicek@s-v.de>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* #1119 Issue: Implemented "Copy as Path" functionality
I addressed issue #1119 by successfully implementing the "Copy as Path" functionality within the "More Actions" section of the Context Menu. This feature enhances user experience and offers a convenient way to copy file paths. While considering the valuable suggestion of potentially associating this option with the "Alt" key in the future, I opted to make it accessible through the "More Actions" section for now. All tests have passed smoothly
* Extend "Copy as Path" functionality to Overview, Search, and tags explorer
This commit extends the "Copy as Path" functionality to three additional screens in the SpaceDrive application: Overview (under categories), Search, and tags explorer. Users can now conveniently copy file paths from these screens, enhancing their overall experience with the application. The implementation has undergone thorough testing and is ready for review and integration into the project.
* Enhanced File Path Retrieval with RSPC Integration
The code now uses rspc to obtain the filePath, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.
* Merge branch 'eng-848-feature-copy-as-path' of https://github.com/Raghav-45/spacedrive into eng-848-feature-copy-as-path
* Enhanced File Path Retrieval with RSPC Integration
The code now uses RSPC to obtain the file path, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.
In the previous file path retrieval method, we relied on different file access techniques, which often led to slower & non-optimal responses
* 🎉 [ENG-847] Add Full Path to inspector 🔎📁✨
Implemented full path display in the inspector window.
This commit adds the necessary code to show the full path of files in the inspector.
* Fixed Some Problems
now no need to use `import { useLibraryQuery } from '../../../../../../packages/client/src'` because this was functionality for Copy As Path not for Inspector Full Path display
* #1119 Issue: Implemented "Copy as Path" functionality
I addressed issue #1119 by successfully implementing the "Copy as Path" functionality within the "More Actions" section of the Context Menu. This feature enhances user experience and offers a convenient way to copy file paths. While considering the valuable suggestion of potentially associating this option with the "Alt" key in the future, I opted to make it accessible through the "More Actions" section for now. All tests have passed smoothly
* Extend "Copy as Path" functionality to Overview, Search, and tags explorer
This commit extends the "Copy as Path" functionality to three additional screens in the SpaceDrive application: Overview (under categories), Search, and tags explorer. Users can now conveniently copy file paths from these screens, enhancing their overall experience with the application. The implementation has undergone thorough testing and is ready for review and integration into the project.
* Enhanced File Path Retrieval with RSPC Integration
The code now uses rspc to obtain the filePath, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.
* Enhanced File Path Retrieval with RSPC Integration
The code now uses RSPC to obtain the file path, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.
In the previous file path retrieval method, we relied on different file access techniques, which often led to slower & non-optimal responses
* 🎉 [ENG-847] Add Full Path to inspector 🔎📁✨
Implemented full path display in the inspector window.
This commit adds the necessary code to show the full path of files in the inspector.
* Fixed Some Problems
now no need to use `import { useLibraryQuery } from '../../../../../../packages/client/src'` because this was functionality for Copy As Path not for Inspector Full Path display
* Update Items.tsx
* Different and little bit optimized appraoch
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* #1119 Issue: Implemented "Copy as Path" functionality
I addressed issue #1119 by successfully implementing the "Copy as Path" functionality within the "More Actions" section of the Context Menu. This feature enhances user experience and offers a convenient way to copy file paths. While considering the valuable suggestion of potentially associating this option with the "Alt" key in the future, I opted to make it accessible through the "More Actions" section for now. All tests have passed smoothly
* Extend "Copy as Path" functionality to Overview, Search, and tags explorer
This commit extends the "Copy as Path" functionality to three additional screens in the SpaceDrive application: Overview (under categories), Search, and tags explorer. Users can now conveniently copy file paths from these screens, enhancing their overall experience with the application. The implementation has undergone thorough testing and is ready for review and integration into the project.
* Enhanced File Path Retrieval with RSPC Integration
The code now uses rspc to obtain the filePath, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.
* Merge branch 'eng-848-feature-copy-as-path' of https://github.com/Raghav-45/spacedrive into eng-848-feature-copy-as-path
* Enhanced File Path Retrieval with RSPC Integration
The code now uses RSPC to obtain the file path, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.
In the previous file path retrieval method, we relied on different file access techniques, which often led to slower & non-optimal responses
* Formatted coder with Prettier
* Refactor: Update file paths to '@sd/client'
* doing things with useLibraryMutation instead of useLibraryQuery
doing things with useLibraryMutation instead of useLibraryQuery, so that we only fetch file path only when needed
* Replace locationIdToPath api route with getPath
- Resolve full file object path on the backend instead of the front-end
- Use a query instead of a mutation
- Export rspc queryClients to allow non-reactive usage
- Error handling
- Formatting
* Update Object's context menu to use query
* Move onClick logic inside the CopyAsPath Element
* Improved a Little
- removed unused imports
- formatted document with prettier config which is present in code files `.prettierrc.js`
-
* Update Items.tsx
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: nikec <nikec.job@gmail.com>
* ffs
* typo
* yeet library data over p2p
* fix a bunch of edge cases
* report complete status on responder
* better log
* fix types
* mobile debug screen
* mobile + P2P is a mess
* feature flag mobile p2p pairing
* wrong one
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* less stupid name
* yeet
* awaiting futures is kinda important lol
* no-async
* more proto stuff
* cleanup
* move it round
* None of my homies like broadcast
* minor
* do the shuffle
* restore after force push
* reusing `sysinfo::System` as intended
* fix lol
* remove `node_id` from `Volume`
* Remove `node_local_id` from `Library`
* Remove `Job` to `Node` relation
* feature flags be like
* press save 4head
* remove `Location` -> `Node` relation
* `volume.rs` to `volume/mod.rs`
* yes
* add `Instance` model and deprecate `Node` model
* pairing is better now
* Pretty code
* thinking in code
* wip
* What if Observables but in Rust?!
* Observables aren't it + `useP2PEvents` hook
* more around some jsx
* Trade offer: bad code for working pairing?
* Unit test pairing protocol
* fix everything up
* corrections
* Have you got a moment for our lord and saviour Clippy
* tsc --fixMyCode
* Prisma being wacky
* Config files being f'ed up
* broken config after migrating
* Zed being Zed
* Argh
* cliipzy
* rewind
* Fix truncate logic
* wip: instances in peer metadata
* Rethink instance ids
* fix
* whoops
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Attempt at fixing stats
* Fix macOS disk stats retrieve logic
- Ignore mounted dmgs when calculation disk total/free size
- Only take into account disk mounted by macOS
* macos only import
* Fix Linux
* Replace byte-size with a custom implementation that supports BigInt
* Fix NaN in Statistics
* clippy
* fmt
* Move linux get_volumes to a specilized function
- Fix ZFS handling
- Improve handling of disk symlinks and multiple mounts
* Fix macOS
* Fixing conflits of mts code files showing as video
* Introducing a reidentify_objects param on fullRescan
* Fix job output metadata in case of completed with errors
* Trying to make watcher more resilient between creates and updates
* More checks on create vs update
* Rust fmt
* PCR rev
* Windows CI fix
* Some indexer improvements
* Builder pattern for jobs and reports
* fix list view invalid date
* fix progress bar
* Normalizing job metadata output
* fixed job metadata
* Removing inner report struct from identifier job
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>