* fda wip
* clippy
* add tauri invoke fns for FDA
* fda wip
* clippy
* add tauri invoke fns for FDA
* wip
* fda wip
* clippy
* add tauri invoke fns for FDA
* wip
* wip
* wip fda
* remove imports
* hopefully improve FDA
* execute only on macos
* ts
* ts
* Update Platform.tsx
* Update AddLocationButton.tsx
* remove console log
* fix: fda and add unit tests
* temp commit for Jake
* add fda state and keybind handling (so the frontend is kept up to date)
* update FDA
* update imports
* testing purposes
* Jakes work
* fix fda checks
* work in progress (but not working)
* remove dead files
* attempt #2
* !!!temporarily enable devtools in prod
* remove alert
* show FDA screen but don't require it
* add an FDA button to general client settings
* Update AddLocationButton.tsx
* remove dead code
* unused dep
* old errors
* remove import
* dead code
* dead code + typesafety
* eslint
* remove fda dialog references
* remove mp4 vid
* hopefully fix onboarding for non-macos OSes
* shorter nav
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* Removing migrator
* Adding serde_repr dep
* Generalizing version manager
* Updating library config to use version manager
* Updating node config to use version manager
* Updating stuff to use new configs
* More async
* Library manager errors
* Node and thumbnailer preferences
* Small warning on prep
* Upgrading batch construction for thumbnailer
* Updating thumb version file to new version manager
* Configurable parallelism for thumbnailer
* Integration with frontend and refresh batch
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
---------
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* source search query from search params
* store filters in search params with round trip
* the rest bc apparently i forgot some?
* remove all references to overview
* add /:libraryId redirect
* search options start
* small progress
* more
* bunch of stuff
* semi functioning filters
* cleanup setup api
* progress
* remove filters
* hooked up to query epic moment
* fix
* move db stuff to specific modules
* in/notIn for some fields
* generate ts
* big gains
* working filter options for locations, tags and kind
* working search query
* perfect fixed filters
* saved searches lol
* merge error
* saved searches via api
* better routing
* [ENG-1338] Fix fresh Spacedrive install failing to start due to attempting to query a nonexistent Library (#1649)
Fix Spacedrive failing to start due to attempting to query a nonexistent Library
- Rename useShoudRedirect to useRedirectToNewLocations
- Improve behaviour for the immedite redirection after adding a new location
* Show hidden files false by default (#1652)
bool
* fix remove filter in list
* tweaks
* fix nav buttons
* unify MediaData search handling
* cleanup saved search writing
* Add left top bar portals for tags and search + fixed media view on tags
* added search to filter dropdown
* render cycle improvements
* hotfix
* wip
* Refactor with Brendan, but this is a WIP and the search query no longer works
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* progress
* fix location/$id page
* fix tags too
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* 3rd refactor lol
epic style
* half-done with enum-ification of SearchFilterArgs
* broken fixed filters but working inNotIn filters
* search name + extension kinda working
* hidden filter
* fixed filters working??
* deferred search value
* extensions works
* filtered search items mostly working
* tweaks
* stacked approach working for non-search filters
* move to Explorer/Search
* actually use filterArgs in queries
things actually work properly now
* added new icons from Mint
* goof
* cleanup types, filters and mutation logic
* actually use search value
* remove overview from sidebar
* don't shrink LibrariesDropdown ga
* remove overview from sidebar and default to /network
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* tabs w/ multiple router instances
* fix router switching
* keybinds
* manual history tracking
* eslint
* remove scroll restoration
* fix tab removal
* route title + tab create delay
* typescript
* put tab list up top
* Remove import + show close button only if tabs length more than 1
* lint
* unify blur across whole top bar
* add to keybindings page, tauri drag region, and tooltip
* fix blur
* more drag regions
* merge moment
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* wip new shortcuts system
* Shortcuts system and cleanup
add duplicate short, fix delete object windows context menu symbol, shortcuts system
Add cut to Edit menu
if quickPreview is open do not open the folder/doubleClick()
Update index.tsx
Update RenameTextBox.tsx
* add listObjectsNav for list view
* refactored
* Update useShortcut.ts
* Update useShortcut.ts
* remove imports
* fix copy pasting and conflicts
* Backend side
* Rust fmt
* Removing uneeded duplicate files rspc route
* Create folder for ephemeral files
* Ephemeral delete files
* First draft on copy, cut and delete, still buggy
* Fixing copy function and updating async-channel dep
* Rename and some fixes
* let me create pr
* a whole lotta changes
* split `p2p_manager.rs` into smaller files
* the arcpocalypse is over
* minor generic cleanup
* wip removing 'MetadataManager'
* more wip
* wip: i am changing branch
* discovery2 -> discovery
* make it somewhat compile
* more wip
* wip: reassembling manager stream
* state more goodly
* wip
* more wip
* removing generic from sd_p2p::Manager
* reassemble networked libraries
* wip: hooking back up mDNS
* multi-flume wip
* contain bad code to a single file
* p2p_manager_actor + split handlers into file per operation
* cleanup after restructure
* cleaning up more
* wip: reenable resync
* wip: remote identity in connection payload
* track connected clients (required for `service.rs`)
* a big ass iterator
* working towards finishing `service.rs`
* service shutdown
* hook up listen channel in service
* fix address resolution
* merge nlm stuff into LibrariesService
* finish library to service mapping
* less footguns in p2p - seal `PeerId`
* fix previous pr
* p2p state rspc query
* send node events to the frontend
* minor
* wip
* more worky, less crashy
* make spacedrop work + debug state
* fix mdns expiry
* clippy
* other clippy
* remove feature flag
* let me create pr
* a whole lotta changes
* split `p2p_manager.rs` into smaller files
* the arcpocalypse is over
* minor generic cleanup
* wip removing 'MetadataManager'
* more wip
* wip: i am changing branch
* discovery2 -> discovery
* make it somewhat compile
* more wip
* wip: reassembling manager stream
* state more goodly
* wip
* more wip
* removing generic from sd_p2p::Manager
* reassemble networked libraries
* wip: hooking back up mDNS
* multi-flume wip
* contain bad code to a single file
* p2p_manager_actor + split handlers into file per operation
* cleanup after restructure
* cleaning up more
* wip: reenable resync
* wip: remote identity in connection payload
* track connected clients (required for `service.rs`)
* a big ass iterator
* working towards finishing `service.rs`
* service shutdown
* hook up listen channel in service
* fix address resolution
* merge nlm stuff into LibrariesService
* finish library to service mapping
* less footguns in p2p - seal `PeerId`
* fix previous pr
* p2p state rspc query
* send node events to the frontend
* minor
* wip
* more worky, less crashy
* make spacedrop work + debug state
* fix mdns expiry
* clippy
* other clippy
* remove old tests
* add tests back
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* attempts
* expo stop using spaces pls
* attempt
* you used to work without this sir
* fixed
* use serde instead of specta
* remove `serde(default`) and update bindings
* fix mobile
* fix types
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
Dependencies overhaul
- Update dependencies for all projects (except Mobile-only deps)
- Remove unused dependencies from all projects (except Mobile-only deps)
- Fix Storybook failing to import sd/ui style
- Add Node 21 as not supported due to sass-loader not working on it yet
- Add work-around for new rook version requiring webpack specific global property
- Fix landing dev not working due to missing default env value on dev
- Fix some incorrect uses of phosphor-icons non server side icons on server components on landing
- Fix some incorrect uses of phosphor-icons server side icon on client components on landing
- Fix landing fail to build on dev due to always required a Github Token to get the latest release
- Fix new Next.js version not suporting Response.redirect due to immutable Headers
- Add Gitlab as social link for teams page
- Update Vítor's team photo
- Add Vítor's twitter link
- Fix some warning due to missing useEffect dependencies
- Remove test-files dir
- Fix QuickPreview unblurred buttons in Linux
- Formatting
* The Delete-Dialog now accepts two props, which specify the type of files to be deleted.
Based on this information the wording is adjusted.
* Added variant with item count
* [ENG-860] Added default props
* [ENG-860] implemented suggested method
* [ENG-860] Added file counts to deletemenu via shortcut
Fix Spacedrive failing to start due to attempting to query a nonexistent Library
- Rename useShoudRedirect to useRedirectToNewLocations
- Improve behaviour for the immedite redirection after adding a new location
* fix(UI): remove the swift code that was causing the top bar to show when the window is maximized
* fix(UI): limit the keybind handler to the `$libraryId` layout
The keybind handler is how we get MacOS menu bar events to the front-end, and to navigate to the settings page correctly we need the current library UUID. We should hide/disable the settings button (and any future buttons that require a library/certain state - e.g. during onboarding) from the menu bar.
* chore(swift): remove unused function
* fix(UI): git didn't detect hook rename
* fix(deps): revert tauri version downgrade
Was probably caused by a bad merge
* fix(UI): remove rounding of window borders on macos
This was allowing the borders to still show on MacOS, despite the app being fully maximized. This doesn't impact non-maximized styling of the app, as we have native window decorations enabled within the Tauri config (well, that's my best guess as to why this fixes the issue).
* fix(UI): conditionally enable/disable menu items on macos
This is dependent on whether a library is present or not. If there's no library, we disable things such as copy/paste/select all.
* fix(UI): try and conditionally show the border radius
I think some cached files aren't being rebuilt correctly as this *should* work fine, it uses the same conditions as the traffic lights do to determine if we're fullscreen or not.
* remove copy/select all/paste as they have uses outside of the explorer
* feat(UI): overhaul native macos menu
* fix: add toast for quick rescan and free up the ctrl+r keybind
* more menu rearrangements
* update menu further
* add comment about rounded edges
* some polish
* add working overview redirect
* fix(UI): correct border edges when non-maximized, and full corners when maximized
* cleanup event handling
* add media view and disable non-working buttons
* fix(UI): raise sidebar on fullscreen to prevent empty corner
* adjust settings padding when maximized on macos
* failed sidebar animation
* rm old stuff
* fix(UI): better transitions (i'm learning!)
* add comment about why new library is disabled during onboarding
* make the settings page static and `pt-6`
* add mock-up library selector in menu
* `maximized` -> `fullScreen`
* fix animation when fullscreening
* clippy
* change animation to 300ms
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* remove annoying log
* return location id on creation
* add checkbox to open new location once it's been added
* redirect if checkbox was true and a location id was provided, and update bindings
* add `new()` for `MissingFieldError`
* return location id on location relink
* working, clean redirecting
* accordion closing tag
* navigate to location after adding
* chore: remove erroneous `{' '}`
* multiple location redirect support
* oops missed check
* cleanup
* fix bad merge
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* full webview reload for linux/windows
* cleanup platform-specific code
* code cleanup & bindings
* add reload to the debug popover
* try to fix windows builds
* even better fix
* feedback popover with new api
* allow unauthed feedback
* add login information
* allow no auth
* fix hooks
* remove emoji on reset
* show cancel on left of login button
* 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>