* 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
* revert rspc changes and some theme stuff
* Run onboarding test first
* test adding a tag
* handle keyboard on Create Tag Modal
* listen system theme changes
* fix delete tag button
* wait add tag mutation
* remove duplicate assert
* fix edit location setting screen
* select theme & fix add tag test
* add how to run web app to contributing
* add note about how to use stores correctly
* use theme colors
* system theme
* remove metro-minify-terser
* final tweaks
* cleanup
* cleanup
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* 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
* Add dry_run for `location.create` and `location.addLibrary`
* Add dry_run to IndexerRuleCreateArgs
- Add invalidate_query to create and edit api method of the location route
- Adjust some code to use the new dry_run property
* `AddLocationDialog` and `IndexerRuleEditor` now validate with backend without user interaction
- Create `useCallbackToWatchForm` to make it easier to watch form changes with an async function that also executes during component mount
- `method` is now part of the `addLocationDialog` form schema, and a hidden input
- Add an `index.ts` for hooks and components
* Fix mobile
* Remove redundant type definition
* Add `useCallbackToWatchForm` as an additional hook to `react-hooks/exhaustive-deps`
- Improve `useCallbackToWatchForm` argument handling, to avoid duplicated references to form
* Fix unnecessary form value updates in `addLocationDialog`
- Move reset `method` on `path` change logic from the superfluous `useEffect` to `useCallbackToWatchForm` in `addLocationDialog`
- Improve core API debug logs for `dry_run`
- Fix incorrect file name for `useCallbackToWatchForm` hook
- Improve the documentation for `useCallbackToWatchForm`
- Fix `useCallbackToWatchForm` not ignoring callback errors
- Fix `useCallbackToWatchForm` ignoring returned Promise from `onWatch`
- Add basic validation for the `form` argument in `useCallbackToWatchForm`
* Remove superflous if checks
- generate new core.ts
* Remove DryRunError
* Remove unused import
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Attempt to fix Windows CI:
- Ensure version 15 of LLVM is installed in Windows CI (due to` ffmpeg-sys-next`)
- Use `GITHUB_TOKEN` in setup-system.ps1 to avoid rate-limiting by github api in Windows CI
- Add `yaml` settings to `.editorconfig`
- Create a symbolic link from `.prettierignore` to `.eslintignore`
- Move `eslint` root to package root config
- Enable `fileNesting` to reduce dotfile clutter in vscode
- Pass `--strict` to apps/releases `lint` command to avoid making interactive queries and hanging `pnpm lint`
- Format with `prettier` and `eslint`
- Remove empty interface/hooks/useMediaQuery.ts
* Replace unmaintained `actions-rs/toolchain` with `dtolnay/rust-toolchain`
- Change setup-system.ps1 to avoid installing pnpm in CI
- Change `pnpm/action-setup` to lock only o major versions of the action
* A hint of file drop
* backport from #671
* accept/reject Spacedrop working
* final cleanup
* Rename spacedrop.tsx to Spacedrop.tsx
* Update index.tsx
* give file paths pub_id and use it primarily
* fix object indexing
* file path location + sync
* remove future plan
* use id instead of pub_id for more indexer queries
* use chain_optional_iter
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* Add bg color to layout
* Add tool options, search state
* support double click nav from search
* useTopBarOptions
* search store
* disable nav button
* search
* Update View.tsx
* rename hook
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* support for late key manager setup and remove password from onboarding
* mobile
* delete master-password.tsx
* remove secure temp keystore
* remove more km_config artifacts
* fix builds
* Fix most of the UI, there still some minor bugs
* Workaround portalled closing Popovers
* Restore search in core/src/api/mod.rs
* Fix Password eye icon closing Popover on click
* Fix keymanager setup submit button spinner not centered
- Fix keymanager setup missing logic for disabling form
- Adjust keymanager tab roundness to match app style
* Restore .gitignore
* Restore .prettierignore
* fixerino tests
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* package releases with signatures
* only include necessary stuff in generated artifacts
* Publish updater binaries
* proper glob for updater binaries
* use separate paths for unix and windows updaters
* make .app executable
* brendan dumb
* WIP Fix thumb incorrect size
* Fix sidebar thumb incorrect size
- Fix ext pill incorrect positioning on first load
* Improve `Thumb` overall style behavior
- Fix incorrect position of the video extension pill
- Simplify `MediaView`'s `Thumb` usage by internalizing the `mediaAspectSquare` style
- Change `QuickPreview` to use `cover` and size 0 for `Thumb`
* Remove unused import
* Allow modifing the internal img className
* lint
* Apply PR feedback
- Remove superfluous true value in component property
- Rename ObjectKinds to ObjectKindKey
* Fix video ext pill not being properly positioned in MediaView(non square thumbnail) in prod build
* Fix video ext pill incorrect position (now for sure)
- Replace img size logic with ResizeObserver
- Add error handling when thumbnails fails to load
* Shorten variable names
* Fix IndexerRuleEditor isKeyOf
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
* WIP Create Indexer Rule UI + Backend api fix
* Complete IndexerEditor UI for creating new rules
- WIP testing to ensure all rules are parsed correctly
- Add utilities to satisfy the TypeScript typechecker
- Introduce a utility function to facilitate extracting information from an RSPCError
- Modify AddLocationDialog to utilize the aforementioned utility function
* Validation and submit logic is now functional
- Reorganize UI for improved user flow
- Implement validation and error messaging, replace some bare inputs with form inputs, and fix styling issues
- Resolve issues with post-processing of rules during submission
- Wrap editable portion of component in a `FormProvider` due to the `Form` being in a `Portal`
- Add specialized `ErrorMessage` component to `@sd/ui` library
- Update `AddLocationDialog` and `FormField` to utilize the new `ErrorMessage` component
* Fix submit not waiting for confirmation from backend
- Reset form after submit
- Disable form while submiting
- Update form related dependencies
* Implement deleting an indexer rule
- Modify indexer rule api route to disallow deleting default rules
* Fix form reset on error
- Minor style adjustments
* add basic UI protection to stop cut/copies to the same path
* add rust src/dest protections
* fix pasting logic
* fix path canonicalization
* skip paths instead of overwriting them
* Using non-blocking ops and fixing some warnings
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* add support for deleting a specific job
* wip
* Update JobManager.tsx
* Job manager design tweaks + popover open state ignore prop
* tweaks
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>