* Hide notice on overview and
- Removed prettier/recommended from eslint
- Optimized imports
* move overview check to parent
* don't show recents if there is none
* use useMatch
* finally
* should be working?
* fix types
* fix types
* Wouldn't it be nice if Metro would just work
* idk
* try harder Metro
* potentially fix bundling issues
* idk, maybe fix it?
* fix metro
* update podfile.lock
* bruh
* bruhz
* tailwind is drunk again
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* move tooltip into portal
* Update navigation
* Switch to useMatch
* browser router
* routing
* Hide nav buttons on web
* Include traffic lights and change icon
* A hint of file drop
* backport from #671
* accept/reject Spacedrop working
* final cleanup
* Rename spacedrop.tsx to Spacedrop.tsx
* Update index.tsx
* Make Prettier and ESLint work together
- Resolve conflicts between Prettier and ESLint regarding indentation and Tailwind rules order
- Add `.editorconfig` to standardize basic formatting options across tools and editors
- Add `.gitattributes` to hide `pnpm-lock.yaml` in `git diff` output
- Include EditorConfig in the recommended extensions for VSCode
- Replace some instances of `pnpm exec <command>` with `pnpm <command>`
- Remove superfluous Tauri config for Linux
* Revert Prettier changes (it was working correctly before)
- Update ESLint to read Tailwind config from absolute path
- Remove redundant Prettier dependency from subprojects
- Specify the source folder for the lint script in subprojects
* use mobile's tailwind config with eslint
* pnpm format + pnpm lint:fix
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* Add QuickPreview Component
- Improve the handling of Range requests
- Implement logic to answer HEAD and OPTIONS methods
- Handle CORS pre-flight requests
- Expand accepted file types
- Improve error handling of invalid Range requests
* Fix linter errors
- Add `use std::cmp::min` to custom_uri (Required on MacOS & Windows)
- Improve logic for retrieving file information in QuickPreview.tsx
* More linter errors
* Simplify `QuickPreview` by extracting the logic for choosing the file preview tag to a `FilePreview` component
- Fix the typo in `QuickPreview` props name
- Remove the unused `handleMedia` ref
- Move the remaining `QuickPreview` logic to the `transitions` callback
- Simplify the `cors` return type in `custom_uri.rs`
* Refactor range handling in `handle_file` function
- Move range handling logic to the initialization of the `range` variable
- Replace `if let` with `match` to reduce code duplication
- Don't export FilePreview
- Export QuickPreviewProps
* Fix typo in `RangeNotSatisfiable` error message
- Remove redundant variables
* Fixing cas_id generation on watcher
Some improvements on watcher file creation
* Rust fmt
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
* Improve the way react-devtools script is injected in dev mode
- Implement a simple vite plugin to inject the reactdevtools script tag before serving index.html
- Install reactdevtools and concurrently in desktop workspace
- Replace tauri beforeDevCommand with concurrently for managing background process
* Revert adding concurrently and executing react-devtools alongside tauri desktop app
- Add instructions on how to run desktop app alongside react-devtools to CONTRIBUTING.md
* Remove unnecessary 'react-devtools' script
- Update wording in CONTRIBUTING.md to clarify how to launch 'react-devtools'
* Fix thumbnails and file previews on Linux
- Restructure auth_middleware to use axum's primitives to handle the auth tokens
- Fix incorrect token loading in App.tsx
- Add required dependencies for video playback to the Linux setup script
- Minor improvements to the Linux setup script, make it less error prone
- Fix a minor bug in the script_failure function in the Linux setup script
* Use a more idiomatic rust syntax in auth_middleware
* asset script
* Add commonjs vite plugin
* Use the index file and rename some images
* Delete unsued files and imports
* Change require to import
* Remove @ts-nocheck bcs why not
* beginnings of app directory
* settings mostly good
* colocate way more components
* flatten components folder
* reexport QueryClientProvider from client
* move CodeBlock back to interface
* colocate Explorer, KeyManager + more
* goddamn captialisation
* get toasts out of components
* please eslint
* no more src directory
* $ instead of :
* added back RowHeader component
* fix settings modal padding
* more spacing, less margin
* fix sidebar locations button
* fix tags sidebar link
* clean up back button
* added margin to explorer context menu to prevent contact with edge of viewport
* don't export QueryClientProvider from @sd/client
* basic guidelines
* import interface correctly
* remove old demo data
* fix onboarding layout
* fix onboarding navigation
* fix key manager settings button
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>
* core startup error handling
* lazy load `PasswordMeter` so that the huge `@zxcvbn-ts` isn't in the core bundle
* please clippy
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* begin spacedrop ui + misc ui improvements
* better 404 xox
* Update extensions.rs
I think I prefer Container
* added DragRegion component, ot tested cuz im on my fone
* Update DragRegion.tsx
fix import
* added dummy drop items
* better dummy data
* added clouds & search bar
* added action buttons to spacedrop items
* customize subtle button
* added support for apng, thanks luka big pants
* use relative path in sidebar
* use BYTES const
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* fix `spacedrive://` custom protocol on Windows
(hopefully)
* custom protocol using `http::Response` + fix broken web
* import patches before App on web
* use `http::Request` for input to `handle_custom_uri`
* break into dedicated file + error handling
* serving files via custom protocol
* cargo fmt because vscode did cringe
* lru cache to reduce video chunk request time
* add helper to JS
* clippy be like
* remove duplicate Open buttons in context menu
* fix Linux 🙏
* no shot
* fix Windows custom URI passing (hopefully)
* better fix for custom uri on Linux
* upgrade Tauri for feature
* switch url replacement order
* prevent React dev tools script being added in prod to desktop
* remove React devtools from html
* upgrade Tauri; required upgrading rspc, Axum, PCR
* pass typecheck + less cringe bigint
* clippy is love, clippy is life
* Typecheck plz
* fix bigint to number conversion
* use httpz + localhost server for Linux
* clippy be right
* Remove console.log
* [wip] proper auth
* fix Linux sidebar padding
* Secure Axum server with random
* Extracting app setup specific to linux to a different file
* remove outdated comment
* Some tweaks on cursom_uri.rs
* file_path_with_location doesn't need to be a named include
* fix typo
* factually wrong comment
* Change `unwrap` to `expect`
* bruh
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* 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>
* add encryption+hashing algorithm to key viewer dialog
* abstract `save()` and `open()` with `Platform`
* add automount to `StoredKey` and offer option to enable/disable it for keys
* fix missing statement exec
* general tidy up
* add sync to library button and cleanup default setting code
* use alert dialogs for unsupported `open`/`save` operations (web)
* tweak alert message
This messes up the spacing in non-fullscreen view.
We need to properly attach event listeners to the window and update this when full-screen mode changes.
* use @sd/client for tsconfig extends
* move all svgs to @sd/assets
* only use vite-tsconfig-paths
* remove ui from web
* use relative extends for ui tsconfig
* remove aliases from landing?
* use wacky landing vite config
* try using tsconfig paths and root on landing
* Revert "try using tsconfig paths and root on landing"
This reverts commit 43bd2a0f84.
* remove tsconfig-paths from landing