Commit Graph

167 Commits

Author SHA1 Message Date
Jamie Pine
df5cd0a449 [ENG-708] Thumbnail sharding (#925)
* first phase, basic sharding

* improved API for sharding using a "thumbnailKey"

* clean up param handling for custom_uri

* added version manager with migrations for the thumbnail directory

* remove redundant hash of a hash, silly

* fix mobile

* fix clippy

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2023-06-08 07:13:45 +00:00
nikec
0d171f58aa [ENG-706] Add deselect explorer view items (#923)
Add deselect
2023-06-07 08:33:56 +00:00
nikec
1a8cd131da [ENG-707] Fix list item bg color (#924)
Fix list item bg color
2023-06-07 08:32:14 +00:00
nikec
a950cfb52f [ENG-700] Add empty notice to tags (#922)
Add empty notice to tags
2023-06-06 16:50:34 +00:00
mooy
19d90962a0 fix(interface): quick preview not closing with SPACE (#921)
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-06-06 15:52:14 +00:00
Brendan Allan
6a04e13d3f [ENG-679] Reserve ids for built in indexer rules (#909)
* indexer rules pub ids

* should work?

* better migrator

* errors

* debugging

* maybe?

* double migrate

* please

* maybe fix?

* update lockfile

* SD_ACCEPT_DATA_LOSS message

* put tracing back

* dumb

* fix system indexer rule ui
2023-06-06 14:42:52 +00:00
nikec
0b06dd115b [ENG-701] Add explorer top bar options to tags (#918)
Add top bar options
2023-06-06 14:26:54 +00:00
Oscar Beaumont
682389f063 [ENG-697] Fix rename library (#916)
* random stuff

* How have we had a deadlock for 2 months lol
2023-06-06 11:41:39 +00:00
Oscar Beaumont
5d48816a00 [ENG-694] Remove Spacedrop (#914)
* goodbye Spacedrop

* fix startup error escaping

* fix error fallback being cringe with long error

* backwards compatibility for early adopters
2023-06-06 10:56:31 +00:00
Jamie Pine
1fd6f37bcf [HOTFIX] Remove placeholder nodes (#913)
Update LibrarySection.tsx
2023-06-06 09:51:46 +00:00
nikec
e3eeab5513 [ENG 655] Explorer restructure (#858)
* wip

* wip 2

* Grid list single selection

* core & pnpm-lock

* Merge branch 'main'

Conflicts:
	interface/app/$libraryId/Explorer/index.tsx

* missing import from merge

* fix total_orphan_paths bug

* add top bar context

* missing pieces of merge

* missing pieces of merge

* missing divs

* Fill fallback value - was causing null error of page

* spelling fixes

* notice light theme, list view update, other explorer updates

* Update pnpm-lock

* Remove procedure

* fix light menu ink color

* fix list view scrolled state

* Change layout default

* Remove unused imports

* remove keys

* empty notice & context menu overview

* Fix prevent selection while context menu is up

* Fix scroll with keys

* Empty notice icon

* Add light icons

* Context menu and fixed list view scroll

* Fix name column sizing

* top/bottom scroll position

* Tag assign only when objectData

* Fix list view locked state

* fix ci

* shamefully ignore eslint

---------

Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2023-06-06 06:55:56 +00:00
ameer2468
8d0f6ece97 [ENG-534] Themes UI & appearance (#896)
* Themes UI & appearance

* Theme switching + theme hooks + de-select emoji on feedback ui

* un-necessary for now

* hue slider

* tweaks

* ui tweaks

* ui tweaks

* ui tweak

* tweak

* opacity

* change to themeStore instead of get

* cleanup

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-06-06 04:41:32 +00:00
Vítor Vasconcellos
95fe718ffc [ENG-683] Fix tauri allow list (#897)
* Fix Tauri drag not working
 - Fix Mpeg videos compleatly breaking QuickPreview
 - Fix Dev build open data folder button not working
 - Fix MP4 videos freezing in QuickPreview on MacOS

* Fix React inter-component state error
2023-06-02 00:09:19 +00:00
Jamie Pine
92500a8948 [ENG-682] Update ink styles (#898)
correct ink
2023-06-01 04:52:16 +00:00
Oscar Beaumont
ea7bfff0a2 remove log (#894)
* Update ErrorFallback.tsx

* remove log

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-05-31 09:41:09 +00:00
ameer2468
eddfa6135a [ENG-677] Error button tweak for reset lib (#893)
Update ErrorFallback.tsx
2023-05-31 09:35:38 +00:00
Oscar Beaumont
ba9ca3dd16 [ENG-674] fix invalidation (#891)
* reenable the invalidate requests system

* a tester for the invalidate system

* watch locations in Library::load

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-05-31 08:55:46 +00:00
Brendan Allan
1de37c29b3 [ENG-662] Don't use job system for shallow operations (#886)
* make it work

* use functions instead of jobs for shallow stuff

* use generalised AbortOnDrop

* simplify naming

* error stuff + alphabetical rspc types

* log errors

* don't run CI on push

* remove ephemeral

* private Worker::new

* remove comments
2023-05-30 17:07:41 +00:00
ameer2468
2d243a1465 [ENG-666] Index rules UI tweak (#885)
* props & ui tweak

* margin tweak
2023-05-30 12:47:32 +00:00
Oscar Beaumont
a8b64eba45 Easily reset db if old config detected (#884)
* easily reset db if old config detected

* fix typo

* plz fix typecheck
2023-05-30 12:45:28 +00:00
Oscar Beaumont
e9a22fbba0 [ENG-546] Improve error handling (#802)
* log to disk

* remove some unwraps

* panicless

* some p2p error handling

* clippy moment

* Fix `<ErrorBoundary />`

* open logs button

* 39 to 0

* fix types

* update deps and comment out broken tests

* clippy

* more clippy

* upgrade rimraf - https://github.com/isaacs/rimraf/issues/259

* regen broken lockfile

* update `notify` and update `commands.ts`

* more clippy (pls work)

* allow deprecated for p2p (hopefully temporary)

* a

* upgrade deps for p2p

* do betterer

* do it correctly

* remove unused import

* improve core startup error + bc keypair

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
2023-05-30 09:24:05 +00:00
Brendan Allan
5d2fe028bd [ENG-588] Fix total capacity on macOS (#882)
* correct macos root volume handling

* DiskType enum
2023-05-30 06:25:35 +00:00
ameer2468
39f71361a4 [ENG-661] Tooltip Topbar Bug fix (#881)
Bug fix
2023-05-29 16:34:25 +00:00
ameer2468
f473277920 CSS-tweak (#880)
Update Link.tsx
2023-05-29 12:31:52 +00:00
ameer2468
77a6271e34 [ENG-642] Minor UI Tweaks (#879)
* UI Tweaks

* Update Link.tsx
2023-05-29 11:54:22 +00:00
ameer2468
7f7b2acdcd [ENG-650] - Blacklist/whitelist each rule (#872)
* Blacklist/whitelist each rule

* update tooltip wording

* tweaks

* get rid of 'magic string' value
2023-05-26 21:13:04 +00:00
Utku
73256b35c7 [ENG-660] Remove react-simple-icons & use png instead of svg for icons (#870)
* use image instead of svg (mobile)

* use image instead of svg (desktop)

* remove unused svgs

* add brand svgs

* use brand svgs on landing

* use on desktop
2023-05-26 15:57:56 +00:00
Brendan Allan
d5f4183d33 cors is cringe (#868) 2023-05-26 09:21:16 +00:00
Brendan Allan
2d7206b476 feedback fixes (#867) 2023-05-26 09:01:33 +00:00
Ericson "Fogo" Soares
8906cc631f [ENG-613] Indexer rule whitelist/blacklist per rule (#847)
* Introducing many rules on a single indexer rule

* Rust fmt

* Some doc fixes and small stuff

* Small warnings

* Making front typecheks

* Migration fix

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-05-25 19:27:31 +00:00
ameer2468
db470e71d2 [ENG-626] - Feedback (#864)
* Feedback dialog

* tweaks
2023-05-25 18:10:33 +00:00
Utku
f8dd07a320 fix icon & run pnpm format and lint fix (#859)
* fix icon & run pnpm format and lint fix

* format
2023-05-25 14:49:54 +00:00
Brendan Allan
b654a20031 [ENG-576] Debounce location.create dry-runs (#862)
* debounce location create dialog + handleSubmit everywhere

* run ci on merge groups
2023-05-25 09:09:36 +00:00
Vítor Vasconcellos
dea7785857 [ENG-651] Fix PDF rendering breaking app on macOS (#854)
* Fix macOS PDF rendering
 - Fix app crashing due to PDF rendering receiving empty URLs
 - Attempt fix PDF rendering empty PDFs due to it not supporting range requests

* Fix dumb change from `data` to `src` in `<object>`
 - Fix QuickPreview not closing with space bar
 - Fix double-click simultaneously renaming and opening file
 - Minor improvements to QuickPreview header
 - Fix Button inside Button react error in QuickPreview
 - Don't render thumb without a valid source

* ExternalObject events must not influence the link state
 - More macOS PDF range changes

* Use `<iframe>` instead of `<embed>` or `<object>` to load pdf in macOS
 - Revert removing range support for macOS pdf type
 - Rename `ExternalObject` to `PDFViewer`
 - Fix `AddLocationDialog` sometimes requiring multiple confimations on first load

* `Accept-Ranges: none` Header response as it breaks linux video playback
 - Extract location id from from `ExplorerItemData`, to allow rendering original versions on `Overview`

* Format

* cargo fmt
2023-05-25 06:34:18 +00:00
Jamie Pine
3254768f5e [ENG-635] Job time estimation (#842)
* fix extension case sensitivity

* job time estimation wip

* update schema

* use `DateTime` to handle estimated completion time

* use a date with `dayjs`

* remove old migrations

* update migrations

* remove dead code

* Quick tweaks

* unused import

---------

Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-05-23 22:21:52 +00:00
Brendan Allan
9995db2a32 Use search.objects for recents query (#850)
* separate search + filter + ordering

* typesafe categories

* make ordering great again

* fix ts

* eslint
2023-05-23 12:58:45 +00:00
ameer2468
c7abf9267d [ENG-643] - Job indentation style fix (#846)
Job identation style fix
2023-05-22 17:26:50 +00:00
ameer2468
28a75d3158 [ENG-623] - List view obstruction fix (#839)
* Obstruction fix

* add location_id as type

* PR tweaks

* Update core.ts
2023-05-22 04:25:53 +00:00
Utku
262c31d39a [ENG-362, ENG-476, ENG-503] Next.js (#817)
* update landing packages & tailwind

* move images

* refactor to nextjs

* doc stuff

* rename markdown to mdx

* working docs

* Add math

* fix pnpm-lock

* Code highlighting

* fix types

* fix more stuff

* Notice component and removed slot

* delete editorconfig eslint rule

* pnpm-lock

* some fixes

* fixed types (pls)

* bump ui's typescript too

* commit next-env.d.ts

* fix doc links

* Use next/head instead of react-helmet & rehype-external-links

* fixes

* fix unsub from list

* add trim() to docs.excerpt

* trim doc title too

* fix titles

* replace <a> to Link

* hide .contentlayer & .next from vscode search
2023-05-21 13:11:03 +00:00
Jamie Pine
158366b69e [ENG-631] TopBar improvements & misc fixes (#837)
* fix things

* added back/forward buttons to settings

* split top bar context into left and right

* hook up path

* fix background jobs hidden from job manager

* core

* fix type + quick preview transition

* fix selected item color contrast

* fix close button on quick preview

* clean up job ui for light theme

* Improve media view overscan

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-05-21 00:17:27 +00:00
Brendan Allan
ce1cf7f495 Replace getRecent with search.paths (#832)
replace getRecent with search.paths

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2023-05-20 22:11:43 +00:00
Vítor Vasconcellos
a42bc63f5d Some misc fixes (#836)
* Fix setup-system breaking in macOS due to unavailable envvar
 - Remove unused docker build-arg from ffmpeg workflow
 - Fix Overview Explorer extending below inspector
 - Fix some left behind formatting problems

* Some more formatting
2023-05-20 04:36:35 +00:00
Vítor Vasconcellos
0d3805339e [ENG-591] - Fix some funky behaviors (#827)
* WIP

* Some minor fixes for light theme
 - Fix `useIsDark` not reading the initial theme value (only reacting to theme changes)
 - Fix `Inspector` always showing a dark image when no item was selected
 - Fix `Thumb` video extension using black text on light theme

* Improve form error messages
 - Fix `addLocationDialog` not registering the path input
 - Remove `@hookform/error-message`

* Fix Dialog not respecting max-width
 - Fix ErrorMessage animation jumping

* A lot of misc fixes
 - Implement an `useExplorerItemData` (cleaner fix for thumbnail flicker)
 - Fix broken image showing for `Thumb` due a rece condition when props are updated
 - Implement an `ExternalObject` component that hacks an alternative for `onLoad` and `onError` events for <object>
 - Fix `Overview` broken layout when `Inspector` is open and window is small
 - Improve `IndexerRuleEditor` UX in `AddLocationDialog`
 - Improve the way `IndexerRuleEditor` handles rules deletion
 - Fix `IndexerRuleEditor` closing the the new rule form even when the rule creation fails
 - Add an editable prop to `IndexerRuleEditor` to disable all editable functions
 - Fix `getIcon` fallbacking to Document instead of the dark version of an icon if it exists
 - Add some missing colors to white theme

* Format

* Fix Backup restore key dialog not resetting after error

* Feedback

* Format

* Normalize imports

* Fix ColorPicker export

* Fix Thumb video ext not showing in MediaView with show square thumbnails
 - Fix AddLocationDialog Error resetting when changing IndexRules
2023-05-20 03:11:10 +00:00
Jamie Pine
6d6e9c2dd7 [ENG-624] Explorer order by (#831)
added order by + fixed explorer padding situation
2023-05-19 15:51:17 +00:00
Jamie Pine
ac87a439ae [FIX] Thumbnail flicker (#830)
* [FIX] Thumbnail flicker
+ tiny fixes

* redundant
2023-05-19 02:00:41 +00:00
ameer2468
f96b89b998 [ENG-619] - Alpha release onboarding screen (#829)
Alpha release onboarding screen
2023-05-18 14:47:50 +00:00
ameer2468
9e15b25085 [ENG-577 + ENG 608] - Index Rules UI Editor + Job Manager small tweaks (#822)
* Index rule updater upgrade

wip

Index Rules editor UI update

prettier/ts

'tasks' to 'items'

better error message

fix type

Update Select.tsx

previous type causes various other errors - band aid solution for now.

* PR feedback

* Fix RuleInput validation regex
 - Fix inverted Whitelist/Blacklist
 - Some minor async fix
 - Lint/Format

* UI tweaks

* Index rules UI adjustments

* format

* tweaks

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-05-18 04:48:23 +00:00
Vítor Vasconcellos
d542a8f196 [ENG-528] QuickPreview isn't correctly handling errors for video/audio playback (#815)
* Centralize the file preview logic in `Thumb.tsx`

* Fix useEffect

* Fix Inspector thumb keeping internal state from previous selected files
 - Change video border to follow video aspect-ratio, just like Finder

* Restore memo to Thumb
 - Only add borders to video thumb, not the video itself

* Simplify and improve Thumb logic
 - Add A internal Thumbnail component
 - Rename main component to FileThumb to match mobile naming
 - Move getIcon utility function to assets/icons

* Add new `useCallbackToWatchResize` hook
 - Replace `ResizeObserver` with new resize hook in `Thumb`
 - Simplify and improve `useIsDark` hook by replacing `react-responsive` with direct usage of WebAPI `matchMedia`
 - Fix `Thumb` src not updating correctly
 - Fix video extension incorrectly showing when size <= 80 in `Thumb`

* Fix `Inspector` not updating thumb type
 - Remove superfluous `newThumb` from `getExplorerItemData`

* Remove superfluous `ThumSize`

* Forgot a `?`

* Fix incorrect className check in `Thumb`
 - Updated changed files to use the hooks root import

* Format

* Fix PDF preview compleatly breaking the application
 - Allow Linux to access both the spacedrive:// custom protocol and the workaround webserver
 - On Linux only use the webserver for audio and video, which don't work when requested through a custom protocol
 - Configure tauri IPC to allow API access to the spacedrive://localhost domain, to avoid PDF previews from breaking the security scope and rendering the application unusable
 - Configure CSP to allow the pdf plugin custom protocol used by webkit
 - Fix race condition between Thumb error handler and thumbType useEffect, by using replacing it with a useLayoutEffect
 - Improve Thumb's error handling
2023-05-18 03:31:15 +00:00
Jamie Pine
8569d77277 [ENG-662] Overview infinite scroll (#826)
* overview infinite scroll, quick preview position fix, movie icon

* fix name

* gen assets
2023-05-17 23:11:33 +00:00
Jamie Pine
4a879594fb [ENG-581, ENG-597, ENG-600] Overview categories (#779)
* added base UI for categories on overview

* update core

* cleanup ui

* Inspector default view if nothing is selected, explorer takes child components, hidden menu tweak if no items are sm:flex

* wip

* somewhat functional

* scroll

* category fixes

* clean category bar

* added config store + made toolbar available on all explorer screens

* clean up overview.tsx

* added counts

* fix inspector bug

* add support for favorites
+ add book extension support

* refactor into smaller components

* Some small rust nitpicks

* fix camel case location_type

* Rust fmt

* fix typescript CI

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: nikec <nikec.job@gmail.com>
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2023-05-17 20:34:05 +00:00