* Update rspc, prisma-client-rust, axum and tanstack-query
- Deleted some unused examples and fully commented out frontend code
- Implement many changes required due to the updates
- Update most rust dependencies
* Re-enable p2p
* Fix server
* Auto format
* Fix injected script format
- Update some github actions
- Update pnpm lock file
* Fix devtools showing up when app opens
- Fix million complaining about Sparkles component
* Fix sd-server
* Fix and improve thumbnails rendering
- Fix core always saying a new thumbnail was generated even for files that it skiped thumbnail generation
- Rewrite FileThumb and improve related components
* Ignore tmp files when running prettier
* Improve FileThumb component performance
- Rework useExplorerDraggable and useExplorerItemData hooks due to reduce unecessary re-renders
* More fixes for thumb component
- A couple of minor performance improvements to frontend code
* auto format
* Fix Thumbnail and QuickPreview
* Fix logic for when to show 'fail to load original' error message in QuickPreview
- Updated prisma-client-rust, libp2p, tauri, tauri-specta, rspc and hyper
* Fix type checking
- Format scripts
* Add script prettier config
* Fix serde missing feature
- Use rust-libp2p spacedrive fork again
- Update rspc
* Autoformat + fix pnpm lock
* Fix thumbnail first load again
* Autoformat
* autoformat
* Fix rust-libp2p fork url again?
* Remove usePathsInfiniteQuery hook
* Update tauri 2.0.6
* Update to tauri 2.0.0 stable
- Update a some othe dependencies
- Autoformat rust and toml files
* Fix clippy complain
* Update tauri 2.0.1
- Update rspc
- Update some frontend files due changes in rspc
- Update some frontend build dependencies
* Revert babel update
* Fix code typing typing and style + a couple of bugs
* More type fixes
* bring it back
* move into folder
* fix shortcuts colliding
* tags
* fix key capture problems
* add 2 more actions + locations to cmd
* fix search navigation issue W @nikec
* fix saerch input
* improve scrollbar look and text on lightheme + fix edge view search showing
* useShortcut
* add cmdp to keybinds page
* killer i18n extension for vscode
* some missing keys and localized cmdk
* in lists that can change - it's better to use the id rather than index to avoid extra re-renders
* Update CMDKLocations.tsx
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* New test: Add location
- Add script to download some test files to allows tests to have a stable path for creating locations
- Improve onboarding test
- Add custom Cypress commands for fastOnboarding and deleteLibrary
- Add some documentation related to tests to CONTRIBUTING.md
- Update some deps
* Download small test-data for Cypress CI
* Replace globstar with find to make it compatible with bash 3.x
* Fix react too many re-renders
- add-location test should now pass successfully
* Make job model task text match less flaky
* Check if we were redirected to onboarding after Library was deleted
- Check if sidebar entry was created after adding a location
- Put route regex's into a separate file
- Make onboarding test ensure that no Library exists before running
* Enable test retries
- Log cypress default config during test run
* Run tests under webkit
- Pass CI envvar to tests to ensure correct cypress config
* Attempt fix CI config again
* Remove single use checkUrlIsLibrary function
* Basic cypress test
* Add e2e test command
* Add full e2e test for creating and deleting a library
* Add cypress to CI
* Fix cypress CI
- Use arm macos for running cypress
- Setup rust on cypress job
- Increase cypress CI timeout
* Remove unused APPLE_SIGNING_IDENTITY envvar
* Update deps again + Try to fix Cypress CI setup
* Update deps again
* Only test default location if it exists
* Use latest v18 NodeJS in CI
* Increase minimum node version due to updated dependency
- @typescript-eslint/eslint-plugin now requires node >=18.18
* Fix testing failing for optional default locations
* Enable video recording
- Fix screenshot and video artifact uploading
* Fix location test
- Use correct location name, instead of trying to derive it from the internal id
Fix eslint warning
- Fix some subdependencies requiring an older @typescript-eslint/parser version that is incompatible with the current version of typescript
- Add react-router and react-router-dom version lock to ensure pnpm doesn't download a version incompatible with our patched @remix/router
- Add version lock to @remix-run/router to avoid incompatibilities with our patched version
* Fix onboarding sometimes not redirecting to Explorer on prod builds
- Fix failure trying to compile landing prod builds outside Vercel
- Fix Server docker failing to restart due to some incorrecting logic for creating the unprivileged users erroring out
- Fix Storybook failing to build due to updates to Vite
- Update Storybook dependencies
- Remove unused Inter font dependency
- Fix some incorrect references to NodeJS types inside web code
- Fix $libraryId index using the incorrect redirect function
- Improve error handling for the $libraryId index route
- Fix Prism not being correctly loaded, and failing to register its plugins
- Improve Prism loading error handling
- Small improvement to the text highlight logic
- Fix SCSS deprecation for untyped hsl values
- Fix library query cache incorrectly saving empty values, which lead to the onboarding redirect bug
- Patch contentLayer to fix an error during the final part of it's build process
- Update most dev dependencies
- Update publish-artifact to be compatible with new @actions/artifact
- Fix issue with new vite-plugin-solid failing to build our .ts files due to the removal of the typescript plugin
- Fix pnpm overrides not applying due to incorrect placement in package.json
- Replace deprecated react-tsparticles and updated three used by the Bubbles background in the landing page
- Rework Bubbles background to be compatible with new @tsparticles/react
- Update @sd/config dependencies
- Update @sd/scripts dependencies
* Implement suggestions
- Replace mobile JS node setup with custom setup-pnpm action
- Handle GITHUB_SECRET default value in code and throw a warning when it is not set
- Fix pnpm now resolving the correct node version when building Spacedrive server docker
- Add missing getent command to spacedrive server docker
- Fix typo in entrypoint.sh
- Implement a more robust check if the user is already in a group
- Fix adduser failing due to missing default group
- Disconnect IntersectionObserver on component unmount
- Improve prism import comment
* Implement more suggestions
- Pin genent version to latest stable release of UClibc
- Add checksum checks for all ADD clauses in Spacedrive server Dockerfile
* Increase Maestro timeout to reduce CI failures due to slow simulator startup
* Dowgrade maestro to workaround CI timeout
* Improvements to the script that run maestro mobile tests
- Increase the amount of retries for a maestro test run to 6
- Increase Maestro driver startup timeout to 2 minutes
* Let run-maestro-tests.sh decide how to run itself
* ¯\_(ツ)_/¯
* Split up grid into grid and media view, drag select, key selection, date header
* fix types
* header shadow
* set selecto drag container
* make shadow more visible and make text smaller
* fix date by key and sort direction
* fix truncated text jumping
* bump virtual-grid and replace totalCount
* cleanup a bit
* remove allowMultiselect option
* you know, you could just work on first try
* fix extension
* configure plugin and fix few translation issues
* more
* more keys
* and more
* more keys and sort
* commit msg
* we like keys here
* end my suffering
* jk i just love keys
* key fix
* add turkish
* add german
* Entendido
* Demnächst
* Mettre une étoile sur GitHub
* 成功
* pnpm-lock
* vite plugin
* remove i18next backends
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* 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>
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
* 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>
* 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>
* 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>
* 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>