Commit graph

1559 commits

Author SHA1 Message Date
nikec df8cd4b4fa
[ENG-507] Set active inspector button (#736)
Set active inspector button
2023-04-21 12:01:46 +00:00
Brendan Allan aeb2d2de1f
Cleanup TopBar (#733)
cleanup
2023-04-21 03:06:34 -07:00
ameer2468 a9c970ef81
Quick fix (#732)
put back in media onclick view - also removed a hook we dont need anymore
2023-04-21 01:32:30 -07:00
Jamie Pine e0b813e054
UI tweaks*
- Switched default Media View to squares
- Removed Media View item rounded
- Removed debug sidebar item
- Grey'd out non-functional empty
screens (I'd like to add)
- Removed junk on Overview
- Removed ring effect on buttons
2023-04-21 00:58:50 -07:00
ameer2468 732f9e4a30
[ENG]-487: Toolbar now uses Context API & Portal (#724)
* Toolbar now uses context api and tools can now be defined within their own route index instead of all in one place

* update

* Update index.tsx

* inline

* Updated to use portals

* lint & format

* format

* Update index.tsx

* fix requested changes

* cleanup

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-04-21 00:02:06 -07:00
nikec a97145348e
[ENG-295] Explorer media view (#730)
* remove unused onScroll

* Add open media file with double click

* Hide file thumb in inspector

* Enable media layout

* Add media layout options

* Add media view

* Fix vertical images

* Fix vertical square aspect

* query

* Update Location.tsx

* Some optimizations on explorer data query

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2023-04-21 02:15:22 +00:00
Oscar Beaumont ce6d2d2fda
Eng 494 adding a location does not update the UI (#728)
* `sd_init.json` support

* bruh

* Add `sd_init.json` to developer docs

* Ran cargo clippy --fix to fix warnings

* Dafuq, cargo clippy --fix messed up cargo fmt

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2023-04-20 22:05:57 +00:00
nikec efa28f3ee5
[ENG-497] Fix dialog overflow (#727)
Fix overflow
2023-04-20 14:34:36 +00:00
ameer2468 2fe523d9e9
[ENG-468]: Toggle Popover off on window resize (#713)
* Updated Popover so it toggles off on window resize

* un-necessary dependancy
2023-04-19 14:20:18 +00:00
nikec a7db52478c
[ENG 485] Improve create library dialog (#712)
* Move dialogs into router

* Prevent tab focus on show password button

* Add className props to radio group

* Add password strength meter to password input

* Add steps to dialog

* Update create library dialog

* Update select component

* Add select form field

* Add advanced options to create lib dialog

* Remove spacing

* Update checkbox styles

* Revert to single page, add checkbox & accordion, remove privacy

* Revert "Add className props to radio group"

This reverts commit e53e53cbdf.

* Move schema, switch to camel case

* Revert "Add steps to dialog"

This reverts commit e672e1c472.

* Revert "Prevent tab focus on show password button"

This reverts commit d42e4dc988.

* Add margin

* add debounce to password strength

* Update select
2023-04-19 07:54:55 +00:00
Ericson "Fogo" Soares f684660a90
Checking if new location is nested or already exists (#716)
* Checking if new location is nested or already exists

* Also checking for children locations on check nested

* Rust fmt
2023-04-19 05:03:28 +00:00
jake 288f4947e1
remove int-enum (#721) 2023-04-19 01:33:32 +00:00
Ericson "Fogo" Soares 7a792de090
[Eng 493] Job manager status showing incorrect (#722)
* Fixing path report for indexer on job manager

* Fixing warnings on migrator tests
2023-04-19 01:05:30 +00:00
Vítor Vasconcellos 9dea149eea
Fix for Windows setup script not working in non-Latin systems (#718)
Fix Windows setup script not working in non-Latin systems
 - Replace the system architecture check to use a method with a stable output
2023-04-18 18:36:04 +00:00
Utku 7612458d76
Prisma Schema Comments (#720)
* add comments to prisma schema

* fix

* Update schema.prisma
2023-04-18 15:49:34 +00:00
Oscar Beaumont daadbf592a
Eng 488 fix app migrations system (#719)
* improve app level migration system

* basic unit tests for app migrator
We kinda don't want this going wrong so extra barrier is good.

* fix migrator tests
2023-04-18 08:51:01 +00:00
Vítor Vasconcellos 80fe8f98f1
[ENG-286] Set default indexer rules for location (#690)
* Implement multiple Glob matches in the same indexer rule
 - Replace matching logic to use GlobSet instead of simple Glob
 - Add `No OS protected` indexer rule to avoid indexing OS protected files
 - Enable `No OS protected` indexer rule by default

* Rust fmt

* Reduce `No OS protected` rule Glob list by using OR matches

* Add globs for android and ios files in `No OS protected` rule

* Add some more unix special path to be ignored

* Add a new property to IndexerRule to enable it by default when adding a new location:
- Modify the Prisma schema to add the default property to the IndexerRule model.
- Adjust the IndexerRule struct's create and save logic to consider the new property.
- Adjust AddLocationDialog to properly load the default indexer rules from the backend.
- Minorly improve IndexerRuleEditor to avoid adding duplicate entries to its assigned form field.
- Add editorconfig entries for SQL and Prisma types.

* rust fmt

* Add Windows users special folders and files to `No OS protected` rule

* Construct `No OS protected` globs from string vec
 - Don't repeat windows globs that require both a root and C: version

* Apply review feedback and add error handling for `IndexerRuleEditor`
- Revert manual changes made to init migration
- Create external migration that adds a `default` prop in `IndexerRule` model
- Remove redundant `useMemo`
- Replace destructuring of `useQuery`
- Provide feedback to user when a error occurs while querying indexer rules

* useMemo only for `indexerRulesIds` and not the whole `defaultValues` object
 - Remove logic to accpet unix root path for windows indexer `No OS protected` rule
2023-04-18 06:25:57 +00:00
Oscar Beaumont 8ea6a1c329
Automatic job progress (#717)
Remove time tracker task + sender level debouncing
2023-04-18 06:24:06 +00:00
nikec 7ebc467184
[ENG-475] Fix list view scroller (#715)
Switch to absolute rows
2023-04-18 06:23:30 +00:00
Vítor Vasconcellos 3fbc2b909c
[ENG-461] Location creation fails for '/' (root) and 'C:' ([A-Z] drives) (#710)
* Fix issue with root locations failing to be added
 - Add `normpath` dependency to the core
 - Improve automatic name resolution for new locations

* Add `MetadataExt` trait to extend the `created` and `modified` methods of `Metadata`
- Prevent failure in the Indexer job caused by paths without associated created or modified times; assume current time for both when unavailable
- Rename possible location in root path from `/` to `Root`

* Improve hadling of location path on Windows
 - Normalize location's path to ensure a valid format on Windows
 - Improve error handling when adding a path
 - Avoid consuming symlinks on Linux by not normalizing location's path
 - Improve location naming logic
2023-04-18 06:12:02 +00:00
Brendan Allan 98d846827d
job parent id fix (#714) 2023-04-17 10:26:27 -07:00
ameer2468 ec900dcc9d
[ENG-467]: Topbar improvements + show_at control (#709)
* Topbar improvements

lint

lint

Prettier formatting

* pr adjustments

* prettier

* remove forwardedRef from searchbar and use a local ref instead.

* lint

* pr adjustments

prettier

remove forwardedRef from searchbar and use a local ref instead.

lint

* date_created

* replace date_created with created_at

* fix merge

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-04-17 14:01:42 +00:00
nikec 89478204f8
[ENG-466] Fix topbar tooltip collision (#704)
Fix z-index

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-04-17 06:10:43 -07:00
Brendan Allan 82dc3309d7
add updater pub key (#711) 2023-04-17 06:09:32 -07:00
Utku 64d2fc68fd
Fix Mobile CI (#708)
* fix pods

* fix tests

* clean
2023-04-15 08:56:08 +00:00
Oscar Beaumont 2dd3d6f921
Job system improvements v2 (#707)
* Add `JobInitData` trait + change `StatefulJob::name` to a constant

* `StatefulJob::new`

* Move `invalidate_query` into `StatefulJob::finalize`

* Cleanup `spawn_job` signature

* Remove `queue_job` and run jobs from the `StatefulJob::finalize` method

* `StatefulJob::queue_jobs`

* `JobManager::ingest` return `Result`

* Remove `jobs.isRunning`

* Invalidation system direct push + batching invalidate

* Look ma, only a single clippy warning!!!!

* Error handling for JobManager

* Rust fmt

* Introducing Job hierarchy to enable job enqueuing

* Rust fmt again 🙄

* core.ts

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2023-04-15 14:43:04 +08:00
Vítor Vasconcellos 03eb27e91d
[ENG-469] Make Prettier and ESLint work together (#706)
* 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>
2023-04-14 21:21:21 +00:00
ameer2468 3e0ac9372b
[ENG-458] - Top Bar Responsiveness (#705)
* Topbar responsiveness

remove duplicate code

Searchbar: remove form hook and replace with a regular state.

onblur

* Applied feedback + added back in top bar blur
2023-04-14 03:54:55 -07:00
Brendan Allan 8a525f6cc8 Revert "Give FilePath a pub_id (#691)"
This reverts commit 3c494ea96e.
2023-04-14 10:50:37 +08:00
jake 39e92cc7e7
update to ffmpeg 6.0.0 (#697) 2023-04-13 14:10:23 +00:00
ameer2468 cbcfe5adba
[ENG-450] TopBar revamp and restructure (#701)
* TopBar revamp and restructure

* file tweaks

* Update package.json

* Typecheck missed

* TopBar revamp and restructure

file tweaks

Update package.json

Typecheck missed

* Removed search icon and layout change

* move framer to interface/package.json

* Increase spacing

* fixes & tweaks

* Update TopBar.tsx

* typecheck tweak
2023-04-13 09:33:13 +00:00
Vítor Vasconcellos a7efbfd1f0
[ENG-463] QuickPreview fails to render when showing a thumbnail (#703)
Put QuickPreview inside the LibraryContextProvider
2023-04-13 07:22:18 +00:00
Brendan Allan 3c494ea96e
Give FilePath a pub_id (#691)
* checkpoint - indexer parent ids need fixing

* use pub_id for file paths

* Removing LastFilePathIdManager and fixing some loose ends

---------

Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2023-04-12 21:58:23 -07:00
Ericson "Fogo" Soares 1e05226efb
ENG-462 Object size is 0 when it shouldn't be (#702)
* Fixing file size not being collected from system

* Rust fmt
2023-04-13 01:06:27 +00:00
nikec d1b74cb4af
Explorer view refactor (#694)
* explorer view refactor

* remove VirtualizedList

* Add file renaming
2023-04-12 12:37:09 -07:00
Oscar Beaumont 72465adb21
remove open positions (#699) 2023-04-12 18:18:00 +00:00
jake 4e02ee2543
add brxken128 to codeowners (#698) 2023-04-12 16:27:45 +00:00
Vítor Vasconcellos 8224c7f146
ENG-460 Location creation fails for some writable directories (#696)
Remove read-only check when creating a location
- Revert location creation if writing the `.spacedrive` file or updating the library location manager fails
2023-04-12 12:51:32 +00:00
Jamie Pine 60c1c9ba5d
regen icons + update app ui screenshot for docs 2023-04-11 21:25:39 -07:00
Vítor Vasconcellos e03bb02c81
[ENG-291] Location settings (#689)
* Implement indexer rule editing for locations
- Partially implement IndexerRuleEditor (missing indexer rule creation)
- Update AddLocationDialog to use IndexerRuleEditor instead of checkboxes
- Enable IndexerRuleEditor on the Location settings page
- Improve error handling on the Location settings page

* Change location data retrieve logic on settings page
 - Improve error handling on settings page (don't send NaN to backend)
 - Add disabled prop to Form component
 - Wait for data before allowing edits on location settings page
 - Change some snake_case object properties to camelCase
 - Fix a small error in rspc client that transformed any falsy argument value to null

* Remove console.log

* Fix issue with errors only being handled during the first load of the location settings page
2023-04-11 20:47:51 -07:00
Vítor Vasconcellos b36b4d069a
Fix QuickPreview not displaying PDFs on macOS (#682)
- Add missing Dialog.Portal to QuickPreview
 - Fix some portrait image previews extending past the display height
2023-04-11 20:44:53 -07:00
nikec 04c8a96943
[Desktop] Renamable files (#675)
* Add rename file option

* make Ericson's changes

* Prevent arrow selecting when renaming, start renaming with Enter option

* fix rename

---------

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
2023-04-11 20:43:19 -07:00
Utku 15370a5b21
Roadmap (#692)
* update roadmap

* add android & ios to footer

* Limit CI to run only when needed

* fix paths-ignore syntax

* update key manager description
2023-04-12 02:36:16 +00:00
Oscar Beaumont 3d6afe5447
[ENG-414] P2P Shutdown (#688)
* `Event::Shutdown` in P2P system

* Mdns shutdown broadcast + await shutdown

* Fix mdns service name & prevent poll after shutdown
2023-04-11 15:05:50 +00:00
Oscar Beaumont 4c0e341e55
Add MetadataManager into sd-p2p (#686)
* Add `MetadataManager` into sd-p2p

* Add `update_metadata` helper to P2P manager

* Praise Clippy our lord and saviour

* change mdns advertisement log level

* Casually broke Linux
2023-04-11 10:20:14 +08:00
Vítor Vasconcellos fd76705dd3
Improve Windows setup script (#673)
* Improve Windows setup script
 - Change LLVM install logic to use version 15 instead of the latest, due to incompatibilities of new LLVM (16) with `ffmpeg-sys-next` build script
 - Add check to ensure script is executed as administrator, due to chocolatey requiring admin privileges to install `protoc`
 - Update ffmpeg to 5.1.1 to match used `ffmpeg-sys-next` version
 - Don't attempt to reinstall LLVM when it is already installed

* Wait for key press before closing script

* Fix typo

* Choco install auto accept

* Specify PNPM version when installing on windows

* More logs

* Fix windows setup script not copying ffmpeg dlls to the correct location

* Better installation logic for llvm, protobuf, ffmpeg
 - Remove dependency in Chocolatey
 - Download ffmpeg version based on ffmpeg-sys-next version
 - Improve version checks
 - Install protobuf directly from github
 - Update rimraf so globbing works in Windows
 - Avoid dist/.gitignore being deleted by rimraf

* Fix bugs and handle errors in Windows setup script
- Check for connectivity with GitHub before proceeding with setup.
- Implement a workaround for pnpm bootstrap problems on Windows.
- Check if Cargo packages are up to date before parsing the metadata.
- Ensure that the FFMPEG_DIR environment variable is set.
- Use double quotes for rimraf arguments on Windows.

* Auto-install VisualBuildTools (C++) and Rust in Windows setup
 - Fix protoc envvars not being set in CI
 - Improve logs

* Install LLVM automatically
 - Remove sleeps
 - Uninstall any imcompatible LLVM version present
 - Ensure path is fresh after installing rust and cargo

* Fix system path not being set correctly in windows setup script
 - Install node with winget and pnpm with npm
 - Rewrite initial script message
 - Don't wait for user interaction when running in CI

* Improve environment check to ensure we are on Windows x64
 - Warn users if they have already installed incompatible versions of LLVM and pnpm instead of silently removing them

* Ensure Path and Env are correctly set and available in the windows setup script
 - Improve error handling
 - Improve logs

* Fix FFmpeg version parsing getting multiple version sometimes
- Fix some typos
2023-04-10 13:38:20 +00:00
nikec 6e985c68b7
Fix add location button (#685) 2023-04-10 12:00:37 +00:00
ameer2468 734a4e82e4
ENG-449 - Keyboard support for Search & Component Extraction (#683)
* Extracted components within TopBar to their own files as components. Added support for for cmd/ctrl + f and Esc for keyboard searchbar.

* Fixed misplaced event prevent default
2023-04-07 23:45:16 +00:00
Jamie Pine d081dd042f
[Fix] Spacedrop demo UI 2023-04-06 21:37:29 -07:00
ameer2468 d441d3c99c
ENG-448 - Refactor Sidebar index.tsx - separate components into their own file (#680)
Refactor Sidebar index.tsx - separate components into their own file
2023-04-06 23:40:27 +00:00