Commit graph

131 commits

Author SHA1 Message Date
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
Brendan Allan 3aac6254bb
standardise vite configs (#662)
* standardise vite configs

* remove storybook from @sd/ui

* update pnpm lock
2023-03-31 04:08:22 -07:00
Vítor Vasconcellos a6a57bbd50
Fix pnpm format command failing with some files (#622)
* Fix `pnpm format` command failure
 - Update prettier and plugins dependencies
 - Add auto-install-peers to .npmrc
 - Fix formating of previously failing files
 - Some basic security mitigations (`pnpm audit --fix`)

* setup-system.sh: Don't do a full system update on ArchLinux

* Revert "Some basic security mitigations (`pnpm audit --fix`)"
2023-03-19 16:47:10 +00:00
Brendan Allan 145f87cdab
Data Router (#609)
* data router time

* update pnpm.lock
2023-03-15 16:11:47 +00:00
Utku 5b6c8c9165
Assets Export Script (#608)
* asset script

* Add commonjs vite plugin

* Use the index file and rename some images

* Delete unsued files and imports

* Change require to import

* Remove @ts-nocheck bcs why not
2023-03-15 11:15:59 +00:00
Oscar Beaumont 7c5f760fbd
Basic Spacedrop working with rspc! (#601) 2023-03-09 06:23:17 -08:00
Brendan Allan c65d92ee4c
[ENG-380] Interface code structure improvement (#581)
* beginnings of app directory

* settings mostly good

* colocate way more components

* flatten components folder

* reexport QueryClientProvider from client

* move CodeBlock back to interface

* colocate Explorer, KeyManager + more

* goddamn captialisation

* get toasts out of components

* please eslint

* no more src directory

* $ instead of :

* added back RowHeader component

* fix settings modal padding

* more spacing, less margin

* fix sidebar locations button

* fix tags sidebar link

* clean up back button

* added margin to explorer context menu to prevent contact with edge of viewport

* don't export QueryClientProvider from @sd/client

* basic guidelines

* import interface correctly

* remove old demo data

* fix onboarding layout

* fix onboarding navigation

* fix key manager settings button

---------

Co-authored-by: Jamie Pine <ijamespine@me.com>
2023-02-27 21:29:48 -08:00
Oscar Beaumont faeb0473cf
UI testing (#565)
* store demo data in React Query

* Playwright for UI screenshots

* use path based routing on web

* Fix Typescript error
2023-02-27 13:15:47 +08:00
Oscar Beaumont 7192ead2c2
core startup error handling (#579)
* core startup error handling

* lazy load `PasswordMeter` so that the huge `@zxcvbn-ts` isn't in the core bundle

* please clippy

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-02-25 13:50:22 +00:00
Oscar Beaumont a9fceae819
improvements to spacedrive:// custom URI protocol (#550)
* fix `spacedrive://` custom protocol on Windows
(hopefully)

* custom protocol using `http::Response` + fix broken web

* import patches before App on web

* use `http::Request` for input to `handle_custom_uri`

* break  into dedicated file + error handling

* serving files via custom protocol

* cargo fmt because vscode did cringe

* lru cache to reduce video chunk request time

* add  helper to JS

* clippy be like

* remove duplicate Open buttons in context menu

* fix Linux 🙏

* no shot

* fix Windows custom URI passing (hopefully)

* better fix for custom uri on Linux

* upgrade Tauri for  feature

* switch url replacement order

* prevent React dev tools script being added in prod to desktop

* remove React devtools from html

* upgrade Tauri; required upgrading rspc, Axum, PCR

* pass typecheck + less cringe bigint

* clippy is love, clippy is life

* Typecheck plz

* fix bigint to number conversion

* use httpz + localhost server for Linux

* clippy be right

* Remove console.log

* [wip] proper auth

* fix Linux sidebar padding

* Secure Axum server with random

* Extracting app setup specific to linux to a different file

* remove outdated comment

* Some tweaks on cursom_uri.rs

* file_path_with_location doesn't need to be a named include

* fix typo

* factually wrong comment

* Change `unwrap` to `expect`

* bruh

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2023-02-14 13:27:11 +08:00
maxichrome ec4352a30a cleanup(don't hate me): prettier format everything 2023-01-19 19:32:35 -08:00
Brendan Allan 9966d8eb65 use origin instead of url for web 2023-01-12 18:56:26 +08:00
Brendan Allan c61c773147
relative imports in @sd/interface (#504) 2023-01-06 19:07:24 -08:00
Brendan Allan 05a6ea0319
Fix Vercel Deployments (#503) 2023-01-04 20:32:46 -08:00
Ericson "Fogo" Soares bcbcd260d4
ENG 223 Location Awareness (#468)
* Introducing location online/offline checks and location relink

* Some initial drafts for location watchers

* Location metadata relink and add library

* Many improvements at job system
Now using prisma batching at identifier job
Removing blocking I/O from extension subcrate
Implementing lazy generation of thumbnails
New current directory identifier job to be used on light rescans

* Some optimizations on identifier and object validator jobs

* merge jamie's identifier PR

* fully repaired identifier job

* properly hooked up object kind

* inspector fix

* fix video badge

* small improvements to libraries settings

* identifier and inspector improvements

* fix feature flags and hook up context menu location utilities

* BETTER CONTEXT MENU x100

* test-files

* style tweaks

* new icon designs

* manifest

* fix thumbnails on web

* media data

* New Location Watcher and some minor fixes

* disable broken media_data extractor, wip

* wip

* function name fix

* Fixing pnpm prep and some warnings

* Solving a race condition beetween indexer job and FS event handlerSome other minor warnings

* Generating thumbnails on watcher

* Remove event handler on watcher

* Some initial works on modify events and other small fixes

* File update event

* Trying to be more generic with used events and some tests to validate our assumptions

* Turning on location metadata file

* Introducing core unit tests on CI pipeline

* Submiting new unit test assumptions to validate on windows CI

* Fixing unit tests

* Fixing unit tests again

* Fixing unit tests

* Fixing unit tests for macos

* Fixing unit tests for macos again

* New structure for platform dependent event handling
Implementing event handlers for Linux and MacOS

* minor fixes + rustfmt + clippy

* Windows event handling

* Introducing a feature gate to only use location watching on desktop app for now

* Putting more stuff behind feature gates to avoid warnings

* Adding feature to cargo test on CI

* Changing some debug logs to trace logs and removing Jamie specific stuff

* Make location removal from manager less async

* fix build when "location-watcher" feature disabled

* fix types + clippy

* make location manager non-static

* remove uses of `to_string_lossy`

* more invalidate_query calls

* Expose `library_ctx` directly to avoid needless clones

* New materialized_path handling for directories

* Removing cascade delete between file_path and object
- Some other minor stuff

* remove unused `CurrentDirFileIdentifierJob`

Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2022-12-31 00:53:24 +08:00
Brendan Allan c593fa3344
Utilise tsconfig paths for workspace module resolution (#454)
* use @sd/client for tsconfig extends

* move all svgs to @sd/assets

* only use vite-tsconfig-paths

* remove ui from web

* use relative extends for ui tsconfig

* remove aliases from landing?

* use wacky landing vite config

* try using tsconfig paths and root on landing

* Revert "try using tsconfig paths and root on landing"

This reverts commit 43bd2a0f84.

* remove tsconfig-paths from landing
2022-11-06 20:18:41 -08:00
maxichrome b71a19e75d
Merge pull request #458 from PyRo1121/node-version
Enforce minumum Node version
2022-11-06 02:07:10 -06:00
Brendan Allan edb0c41c49 remove 'tailwind' dependency 2022-11-06 10:08:58 +08:00
Oscar Beaumont d851880ac4
fix the getThumbnailUrlById origin 2022-11-04 18:30:09 +08:00
Oscar Beaumont 5808c27276
Fix getThumbnailUrlById for desktop and web 2022-11-04 18:27:26 +08:00
Utku 76e3d0b9a2
Mobile - File Import (#443)
* Fix File modal and Stats

* Add disabled and loading state for dialog

* Close library drowdown with drawer

* catch Rust panics on mobile to prevent UB

* Update packages

* Move create lib dialog to container

* Create library on onboarding

* Cleanup metro config & update packages

* onClose for Dialog & update library cache

* Fix pods, downgrade react-native-svg

* Fix lib switching, organization, start import modal

* Add device size info

* Revert merge + version upgrade/fix

* Create Location & Remove placeholder data

* Create default modal component

* Check if the location already exists

* Add media-library + prettier

* fix build

* Fix Xcode shellScript too

* More small fixes

* don't export bindings on mobile devices

* Explorer store + cleanup

* Explorer comp. & add flashlist

* [WIP] Files in Locations & new file thumb

* clean merge

* Fix imports

* Fix core on mobile

* Add platform context to mobile

* Refactor libraryStore

* Add thumb url path to platform context

* Try fixing app startup

* Add zip and video to filethumb

* Delete bindings.ts from mobile

* Remove heroicons from mobile too

* useForwardedRef hook

* Media Library permission stuff

* Clean import modal

* remove valtio-persist from @sd/client

* prevent Sentry capturing all events

* refactor `@sd/client` to make it better for mobile

* fix mobile splashscreen
Just trust me bro

* fix mobile draw active style

* use custom valtioPersist for current library state

* remove mobile lockfile
It's now in the pnpm workspace so it shared the main one.

* finally remove valtio-persist

* remove 'mobile' from Platform as it's in interface

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2022-11-01 21:32:56 +08:00
Oscar Beaumont 2b81acc30e debug mode + minor fixes 2022-10-24 17:48:52 +10:00
Jamie Pine df8564b024 further tweaking 2022-10-22 07:01:59 -07:00
Jamie Pine a36a30e317 merge 2022-10-20 21:55:39 -07:00
Oscar Beaumont 1a8581d44f upgrade rspc + fix reactivity + add in disabled Normi code 2022-10-18 04:45:37 +08:00
Oscar Beaumont aacdf33216 merge duplicate prettier config and format repo with it 2022-10-07 07:45:15 +08:00
Oscar Beaumont 20523a94c9 upgrade workspace dependencies 2022-10-06 14:03:58 +08:00
Brendan Allan a634727e1b merge meain into update-rspc-and-more 2022-10-05 10:11:52 +08:00
Brendan Allan cd7dddde4b format web 2022-10-05 10:05:25 +08:00
Oscar Beaumont 9f15540a91 bundle splitting and performance optimisations 2022-10-02 01:37:35 +08:00
Oscar Beaumont 60e228ec94 upgrade rspc 2022-10-02 01:16:11 +08:00
Jamie Pine 3e8c33d1c0
Added crates folder (#389)
* restructure core for crates folder

- improve naming consistency
- added placeholder files for near future code
- added docs

* - removed all typescript from core
- moved rspc bindings to client

* remove useless git ignore & rustfmt
2022-09-29 21:02:29 -07:00
Oscar Beaumont 43d0524cfd send report button working on error boundary 2022-09-13 00:14:47 +08:00
Oscar Beaumont 29862313e6 Merge remote-tracking branch 'origin/main' into eng-237-explorer-performance-2 2022-09-09 15:30:17 +08:00
Oscar Beaumont aaf68e1aac goodbye import React. I won't miss you 2022-09-09 07:32:13 +08:00
Oscar Beaumont 3caf844a9e fix the production build issue + cleanup frontend 2022-09-09 06:29:47 +08:00
Utku Bakir 230ea4fd84 Update rspc to 0.0.6 2022-09-07 11:55:37 +03:00
Oscar Beaumont ea92af57f8
Move Rust backend to rspc (#345)
* move Rust backend to rspc

* move server to Axum + remove parts of old bridge

* move frontend over to @rspc/client

* move core to rspc + update deps

* fix Typescript errors + upgrade deps

* document invalidate_query! macro

* general cleanup + upgrade to PCR 0.6.0

* prisma error handling

* upgrade to rspc 0.0.4

* update vite-plugin-ssr

* fix typescript

* fix builds

* put landing page app name back

* hardcode ffmpeg version on Windows

* rename 'command' to 'mutation' to line up with react-query terminology

* upgrade rspc to v0.0.5 + fix types

* use shared ffmpeg binaries

* general Typescript cleanup

* fix clippy workflow failing due to tauri proc-macro

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-08-03 08:36:03 -07:00
Oscar Beaumont 7e9d036aee allow events to work from web 2022-07-11 16:38:02 +08:00
Oscar Beaumont 982bc40b66
Merge pull request #323 from he1d1/main
Client tries to reconnect when sockets close
2022-07-11 13:03:55 +08:00
Oscar Beaumont c685ce5fe9
Library manager (#258) 2022-07-10 19:05:24 -07:00
Oscar Beaumont 2e0767bcf2 reconnect websocket on web - with jitter & exponential backoff 2022-07-09 16:12:51 +08:00
he1d1 f238d130d9
Client tries to reconnect when sockets close 2022-07-03 13:52:29 +01:00
Jamie Pine 6978928db9
Eng 142 fix interface hot reload (#252)
* fix interface hot reloading

* AppPropsContext exsiting in App.tsx was the issue :D

* type export fix
2022-06-18 01:35:51 -07:00
Oscar Beaumont 562efe3c6b build(deps): update dependencies across workspace 2022-05-30 20:45:37 +08:00
maxichrome f5e0666d11
Format existing code with new conventions 2022-05-22 23:24:43 -05:00
Jamie Pine 0a52b22f93 add device dialog, fixed traffic light svgs, added icon prop to button 2022-05-04 02:12:20 -07:00
Brendan Allan 2820a94079 update deps 2022-05-01 12:48:56 +08:00
Brendan Allan c9e76e9a7a tsconfig refactor 2022-05-01 12:17:55 +08:00
Brendan Allan a8c136897d Merge remote-tracking branch 'upstream/main' into new-ci 2022-05-01 09:38:07 +08:00
Brendan Allan b03f3ddf5a Merge remote-tracking branch 'upstream/main' into new-ci 2022-05-01 09:36:12 +08:00
Koding a4637ca48b
fix: icon colors in file explorer (#56)
* Fix icon colors

* readme update

* Fix builds on M1 (#54)

* fix: minor code cleanup

Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Syntax <2079305+TheUltDev@users.noreply.github.com>
2022-04-28 20:40:18 -07:00
Jamie Pine fb2c7f1d4a fix memory router 2022-04-27 17:06:17 -07:00
Jamie Pine b7b0ec3e16 interfont 2022-04-26 18:14:39 -07:00
Jamie Pine 8d1a0079e8 better app embed loading 2022-04-26 16:44:08 -07:00
Jamie Pine 7f06af395e fix scroll 2022-04-26 00:40:57 -07:00
Jamie Pine 3133172fe0 add vercel rewrite for sub paths 2022-04-25 23:22:08 -07:00
Jamie Pine 5bf08e0199 test deploy, commit core ts bindings 2022-04-25 22:45:48 -07:00
Jamie Pine 5330767860 fix build command 2022-04-25 22:40:51 -07:00
Jamie Pine 649914ec41 potential fix for web deploy 2022-04-25 21:27:48 -07:00
Jamie Pine df08e56b6b web build + overview tweaks 2022-04-25 20:30:40 -07:00
Jamie Pine 703cec81a2 vite pages on landing 2022-04-25 03:38:01 -07:00
Harry Hopkinson d7cbba7a12 Linted Files according to the .prettierrc. 2022-04-24 21:16:55 +01:00
Oscar Beaumont beb02bfc70
change default @sd/server url to localhost 2022-04-24 16:10:36 +08:00
Oscar Beaumont 4263fca88b
Merge branch 'main' into main 2022-04-24 16:06:40 +08:00
Oscar Beaumont a8696d8faa
@sd/server in Docker and deploy to Kubernetes 2022-04-24 14:55:20 +08:00
Jamie Pine b38a20df6b better landing 2022-04-23 12:36:09 -07:00
Jamie Pine 93d80233d7 server transport via websocket
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-04-23 06:50:17 -07:00
Brendan Allan 3f8867fc14 new ci 2022-04-22 18:21:18 +08:00
Jamie Pine 06aa06c31c icon importing, landing page updates, vite config 2022-04-20 18:57:41 -07:00
Jamie Pine b00961165e holy mother of hot reload
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-04-20 01:15:28 -07:00
Jamie Pine af9371ca96 pre brendan commit 2022-04-19 22:55:44 -07:00
Jamie Pine 3f29ff2374 better compile setup for hotreload
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-04-19 14:17:04 -07:00
Jamie Pine 3540471bf6 build commands + web app renames 2022-04-18 17:34:39 -07:00
Jamie Pine bc3a35fa8f interface has solo dev mode + made a lot of stuff work 2022-04-18 16:06:33 -07:00
Jamie Pine 5ac55531da mess 2022-04-17 11:44:34 -07:00
Jamie Pine c27c59da53 fix a bunch of dependency issues & remove web 2022-03-31 20:18:25 -07:00
Jamie Pine eac6d2ee13 react query working with Rust
- other stuff
2022-03-12 10:00:58 -08:00
Jamie a85efa13a3 just a bunch 'o stuff 2022-02-20 21:40:57 -08:00
Jamie 34960302e8 improvement 2021-12-24 05:23:00 -08:00
Jamie 5adb888926 init monorepo 2021-12-24 01:13:21 -08:00