Commit Graph

79 Commits

Author SHA1 Message Date
Vítor Vasconcellos
81c2b8bf51 Improve prod bundle size (#2447)
Greatly improve production build size, now prod builds are 1/3 of the size
 - Main spacedrive binary went from ~120M to ~40M
 - Add more optimize options for rust prod build
 - Improve vite settings for front-end prod build
 - Improve lossless compression of PNGs
 - Don't include videos in bundles when they are not used
 - Don't generate/bundle sourcemap for prod builds
2024-05-07 19:32:34 +00:00
Oscar Beaumont
ce5e285c2f Remove normalised cache (#2390)
* yeetus

* fix

* a

* fix

* todo

* fix library stuff

---------

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2024-04-30 00:36:39 +00:00
Utku
d19ff363e1 Minor changes (#2308)
* move things around

* enable sort by/direction for list view

* more machine generated translations yey + minor stuff
2024-04-11 01:44:04 +00:00
Utku
9a1cdf1dca Fix all the weird eslint warnings (#2245)
* actually fix the weird lint errors

* Prettier auto-format

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-03-26 20:46:44 +00:00
ameer2468
5c3f15932b Remove: video intro (#2240)
Update Layout.tsx
2024-03-24 12:57:08 +00:00
Vítor Vasconcellos
08c42a36fe [ENG-1624] E2E Tests (#2192)
* 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
2024-03-19 20:22:17 +00:00
ameer2468
52d7c572be [MOB-66] Black theme & more (#2213)
* wip, black theme and updates

* wip

* More tweaks and adjustments

* eslint

* Move some components into their own file

* lint interface onboarding

* remove mobile obj and move into app

* remove navback prop since native stack does it
2024-03-16 00:56:34 +00:00
ameer2468
1fd217c9af [ENG-1679] Video intro fix & darker color (#2204)
* Fix bg

test vid update

fix vid fragments

fix intro

black mobile intro

lint

* update vid

* pascal case

* file glitch

* files

* Update GetStarted.tsx
2024-03-13 21:50:21 +00:00
Utku
d60789e588 Make eslint happy (#2198)
* eslint maxing

* @sd/ui too
2024-03-12 20:41:41 +00:00
ameer2468
71272d5976 [ENG-1669] Fade out intro (#2178)
* Fade out intro

* Update Layout.tsx
2024-03-07 16:34:17 +00:00
ameer2468
a1c5639b03 MacOS: Fix video intro (#2165)
* macos use mp4 - others use webm

* macos use mp4 - others use webm
2024-03-05 16:01:57 +00:00
ameer2468
b038b3cf5d [ENG-1640] Correct locations folder icon (#2130)
* Show correct icon for locations list

* run lint fix
2024-02-27 16:44:49 +00:00
ameer2468
19b224370e [ENG-1615] bg intro video fixed (#2104)
* video intro bg

* test hsl

* test video bg

* run tests

* comment

* mob intro

* git glitch

* git

* webm type
2024-02-19 20:45:29 +00:00
ameer2468
bd1f11b0d9 remove intro video (#2097)
* all tags screen, visual improvements, and bug fix

* More sync support for file paths + saved searches (#2067)

more sync support for file paths + saved searches

* windows video intro fix

* remove video intro

* back for mob

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-02-14 21:04:34 +00:00
Vítor Vasconcellos
7aae22e83f Fix Linux release (#2081)
* Fix Linux release
 - Pin appimage-builder to latest master
 - Add required cmp option to AppImageBuilder.yml
 - Disable intro video on Linux (it breaks onboarding for some reason)

* Auto format

* Fix typecheck
2024-02-13 18:26:19 +00:00
Vítor Vasconcellos
72efcc9f62 [ENG-1595] Fix some problems with the AI system (#2063)
* Fix some problems with the AI system
 - Fix downloading model using an internal rust string representation as path for the model file
 - Fix Linux loading onnx shared lib from a hardcoded path
 - Fix App should not crash when the AI system fails to start
 - Fix sd-server failing to start due to onnxruntime incorrect linking
 - Some extra clippy auto fixes

* Use latest ort

* Fix dangling sd_ai reference
 - Use entrypoint.sh to initilize container

* Fix server Dockerfile
 - Fix cargo warning

* Workaround intro video breaking onboarding for the web version

* Fix rebase
2024-02-12 17:45:17 +00:00
ameer2468
bda9a1b6ee [MOB-55] Video animation for onboarding on mobile and desktop (#2065)
* video animation for onboarding on mobile and desktop

run assets gen

cleanup

declare mp4 type

* update metro config to transform video files from sd assets

* test ci without native video exclude

* casing?

* remove to add back again due to github

* add videos back

* versions

* no need to transform

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2024-02-07 17:25:04 +00:00
Utku
e2175aaf19 [ENG-1578] Missing localization & language detect and settings (#2037)
* i18n privacy screen

* more missing translations

* language detector

* Language Settings

* sort german

* bump version to 0.2.3
2024-02-02 22:16:01 +00:00
Oscar Beaumont
f7cd96732f @sd/client SolidJS support - Part 1 (#1920)
* `createSolid` + `createPersistedMutable`

* Move all Valtio stores to SolidJS

* Remove Valtio from `@sd/client`

* Missed auth store

* wip

* `useSolidStore` allow mutable setting

* Restructure `@sd/client` a bit

* Add `WithSolid` + custom `useObserver`

* Parse props both ways

* Universal Context

* Solid to React context working

* Working universal context

* context inheritance

* whoops

* Make it clearer how the demo works

* wip: `useUniversalQuery`
2024-01-09 08:05:01 +00:00
Utku
a94832c1ee [ENG-1502] I18n (#1897)
* 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>
2024-01-08 20:26:46 +00:00
Oscar Beaumont
949707c7f9 Vite upgrades (#1911)
* Upgrade Vite + use SWC React plugin

* Upgrade to type module

* lazy load Sentry

* Lazy load prism

* fix

* Lazy load some of the icons

* fix types

* Fix eslint config

* run lint --fix

* Upgrade Turbo

* Turborepo not happy

* Upgrade Typescript

* Stop complaining Turborepo
2024-01-02 06:26:28 +00:00
Brendan Allan
3cabc9c3a9 Basic actor manager (#1888)
* basic declared actor manager

* put actors in separate file

* clippy

* hopefully clean up some clippy warnings

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-12-13 17:49:22 +00:00
Brendan Allan
a9da6a0093 [ENG-1495] Pull new instance data when receiving cloud sync operations (#1882)
* add sd-cloud-api

* consume sd-cloud-api & leave instance writing to receiving

* module-ise api crate

* put back logging

* remove 'join cloud library'
2023-12-12 07:47:21 +00:00
Brendan Allan
1db2a4eccc [ENG-1493] Fix navigation buttons with @remix-run/router patch (#1871)
* patch @remix-run/router

* add replace to a bunch of redirects

* updates + lockfile
2023-12-07 08:10:38 +00:00
Brendan Allan
4fb9028452 Cloud Sync Basics (#1856)
* cloud operation models

* please clippy

* cloud sync table

* cloud ingest works very simply

* move stuff around + stop invalidation from triggering every 10ms

* cleanup

* fix ts

* remove localhost

* re-enable vendored openssl
2023-12-06 16:47:51 +00:00
Oscar Beaumont
89a7f735e5 [ENG-1400] Normalised caching (#1734)
* prototype

* `.normalise` helper + only `String` keys

* implement it for 'search.paths'

* redux devtools

* fix

* refactor backend

* wip: upgrade to rspc fork

* mega cursed

* Upgrade Specta-related stuff

* Upgrade Typescript

* Cache debug page

* bruh

* Fix optimistic library setting

* Cache clearing

* better timeout

* Fix tags page

* bit of cleanup

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-12-05 13:16:03 +00:00
Brendan Allan
f1b61dbc3d Cloud connection (#1842)
* actual cloud connection wow

* Preliminary cloud library joining

* remove dev overrides

* add back library caching

* re-enable vendored openssl
2023-11-30 07:39:39 +00:00
ameer2468
4cff4763ed [ENG-1461] Fda layout update (#1832)
fda layout update
2023-11-25 22:38:09 +00:00
Brendan Allan
908a13130c [ENG-1435] Saved Searches (#1810)
* saved search CRUD (not perfect)

* saved search settings page

* minor improvements

* fix search filter text apply

* serach in setting

* reduce new tab flicker

* fix tab delete index

* temporarily remove hover effect from applied filters

* fix types

* fix progress

* fix double-add for inOrNotIn

* no more saved searches settings page

* redirect on saved search delete

* cleaner

* fix filter checkbox double fire

* types

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2023-11-25 00:16:26 +00:00
jake
98c0004c10 fix: app going blank when the last library is deleted (#1814)
fix app going blank when the last library is deleted
2023-11-24 04:30:48 +00:00
ameer2468
a7fed83556 [ENG-1413] Full disk access perms (#1791)
* fda wip

* clippy

* add tauri invoke fns for FDA

* fda wip

* clippy

* add tauri invoke fns for FDA

* wip

* fda wip

* clippy

* add tauri invoke fns for FDA

* wip

* wip

* wip fda

* remove imports

* hopefully improve FDA

* execute only on macos

* ts

* ts

* Update Platform.tsx

* Update AddLocationButton.tsx

* remove console log

* fix: fda and add unit tests

* temp commit for Jake

* add fda state and keybind handling (so the frontend is kept up to date)

* update FDA

* update imports

* testing purposes

* Jakes work

* fix fda checks

* work in progress (but not working)

* remove dead files

* attempt #2

* !!!temporarily enable devtools in prod

* remove alert

* show FDA screen but don't require it

* add an FDA button to general client settings

* Update AddLocationButton.tsx

* remove dead code

* unused dep

* old errors

* remove import

* dead code

* dead code + typesafety

* eslint

* remove fda dialog references

* remove mp4 vid

* hopefully fix onboarding for non-macos OSes

* shorter nav

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-11-23 20:54:45 +00:00
Brendan Allan
ae31e10e0b [ENG-1436] Store search state in search params (#1795)
* source search query from search params

* store filters in search params with round trip

* the rest bc apparently i forgot some?

* remove all references to overview

* add /:libraryId redirect
2023-11-17 21:07:33 +00:00
jake
52d5064701 [ENG-1355] Telemetry docs (#1746)
* add privacy info to docs

* add "More info" button to onboarding privacy page

* add `infoUrl` option to `Setting` component to add relevant info

* Update privacy.tsx

* Update privacy.tsx

* urls

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-11-06 11:00:07 +00:00
nikec
809cf636d4 [ENG-1246] Fix icons on light theme (#1502)
* Fix icons on light theme

* more icons

* more icons

* update icons

* assets gen
2023-11-01 15:24:09 +00:00
Oscar Beaumont
ff23eb369c [ENG-1379] Library showing up twice in switcher after onboarding (#1700)
optimistic UI bug
2023-10-30 00:42:21 +00:00
Vítor Vasconcellos
f7277d602f Frontend misc fixes and deps update (#1650)
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
2023-10-24 07:51:58 +00:00
jake
e51a58fe28 [ENG-1283, ENG-1284, partially ENG-1303] Fix MacOS window bar showing when full-screen (#1582)
* fix(UI): remove the swift code that was causing the top bar to show when the window is maximized

* fix(UI): limit the keybind handler to the `$libraryId` layout

The keybind handler is how we get MacOS menu bar events to the front-end, and to navigate to the settings page correctly we need the current library UUID. We should hide/disable the settings button (and any future buttons that require a library/certain state - e.g. during onboarding) from the menu bar.

* chore(swift): remove unused function

* fix(UI): git didn't detect hook rename

* fix(deps): revert tauri version downgrade

Was probably caused by a bad merge

* fix(UI): remove rounding of window borders on macos

This was allowing the borders to still show on MacOS, despite the app being fully maximized. This doesn't impact non-maximized styling of the app, as we have native window decorations enabled within the Tauri config (well, that's my best guess as to why this fixes the issue).

* fix(UI): conditionally enable/disable menu items on macos

This is dependent on whether a library is present or not. If there's no library, we disable things such as copy/paste/select all.

* fix(UI): try and conditionally show the border radius

I think some cached files aren't being rebuilt correctly as this *should* work fine, it uses the same conditions as the traffic lights do to determine if we're fullscreen or not.

* remove copy/select all/paste as they have uses outside of the explorer

* feat(UI): overhaul native macos menu

* fix: add toast for quick rescan and free up the ctrl+r keybind

* more menu rearrangements

* update menu further

* add comment about rounded edges

* some polish

* add working overview redirect

* fix(UI): correct border edges when non-maximized, and full corners when maximized

* cleanup event handling

* add media view and disable non-working buttons

* fix(UI): raise sidebar on fullscreen to prevent empty corner

* adjust settings padding when maximized on macos

* failed sidebar animation

* rm old stuff

* fix(UI): better transitions (i'm learning!)

* add comment about why new library is disabled during onboarding

* make the settings page static and `pt-6`

* add mock-up library selector in menu

* `maximized` -> `fullScreen`

* fix animation when fullscreening

* clippy

* change animation to 300ms

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-10-21 11:57:04 +00:00
nikec
ace3527bfc [ENG-1305] "Add Locations" onboarding flow (#1611)
* locations onboarding flow

* optional

* Backend for default location on library creation

* Rust fmt

* Enhancing error handling and introducing more resilience

* Removing .spacedrive metadata on library deletion

* Rust fmt again

* default to videos

---------

Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
2023-10-19 03:18:36 +00:00
Jamie Pine
e12ef1a917 Remove login from onboarding (#1524)
remove login from onboarding
2023-10-12 04:25:50 +00:00
Oscar Beaumont
69ade6b3f5 Fix copyright text (#1476)
i'm a commit monkey
2023-10-11 05:57:13 +00:00
Brendan Allan
161e660cdc Centralise auth state into context (#1434)
* centralise auth state into context

* remove accounts from feature flags

* move from context to store in @sd/client
2023-10-08 17:04:23 +00:00
nikec
ddf3995032 [ENG-1178] Add optional auth step to onboarding & update profile section (#1426)
* Add login step to onboarding

* only show auth loader on first fetch

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-10-04 09:05:50 +00:00
Ericson "Fogo" Soares
5005c50e23 [ENG-1116] Distinct job manager for library (#1363)
Done
2023-09-21 11:10:56 +00:00
jake
0382a4e48f [ENG-1097] DMS coordinate display support (#1335)
* offer DD and DMS coordinate displays

* clean up & optimise the conversion functions

* add support for changing between dd/dms (and some other example changeable formats)

* even further cleanup

* auto format

* dedicated clickable component to clean things up

* slim it down by passing platform directly

* make dist/temp settable, use dedicated format store

* use freedom units if locale is `en-US` 🦅

* rename the store and attempt to make it more typesafe

* cleanup mainly

* DD -> "Decimal" in the UI and swap the options as DMS will be the default

* remove useless schema

* only show S decimal on hover for DMS

* show `x` after zoom if it's a valid number
2023-09-19 08:46:14 +00:00
Utku
fd8c0f87b3 [ENG-1067] Update phosphor to new package & update sort imports (#1330)
* ianvs > trivago

* @phosphor-icons/react > phosphor-react
2023-09-11 15:26:44 +00:00
Brendan Allan
3c7df3f16c Allow more than one character to be typed at a time in new library page (#1267)
bruh
2023-08-29 14:00:03 +00:00
Brendan Allan
795bb18d18 [ENG-1007] Per-page onboarding forms (#1256)
* useMultiZodForm

* fix imports

* handle obStore.data undefined

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-08-29 10:58:39 +00:00
jake
6acc47ef09 [ENG-980] Barebones, essential telemetry (#1237)
* rename everything to "full" telemetry and re-word onboarding

* impl the `ping` event every 4.5 mins, or on path change

* fix debug popover

* update mobile

* remove callback (and cargo lock update?)

* add to mobile, remove eslint ignore, remove console log

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-08-23 06:28:25 +00:00
Brendan Allan
c3a4cdaeca Move onboarding form handling logic to Layout (#1206)
* move onboarding form handling logic to Layout

* better default handling + progress tracker

* relative routes >>>

* wait for libraries to load

* move screen unlocks to Progress
2023-08-12 09:14:02 +00:00
Brendan Allan
043b607ad4 CRDTOperation receiving (#1122)
* operation receive + compare

* cleanup + deduplication

* operation receive + compare

* cleanup + deduplication

* sync route + operation grouping

* tag assign sync

* proper relation support in sync debug page

* migration

* separate core-sync + utils crates

* separate p2p event loop from manager

* cleanup library handling

* clippy

* feature gate sync messages properly

* make migration not add required field
2023-07-24 15:26:00 +00:00