Commit graph

1016 commits

Author SHA1 Message Date
nikec 91125408c9
[ENG-1600] Fix cmd+w not closing window on macOS (#2082)
hide window
2024-02-13 12:45:07 +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
Utku 970c157da6
[ENG-1563] Add dynamic changelog link & remove old components (#2075)
Add dynamic changelog link & remove old components
2024-02-09 20:59:47 +00:00
ameer2468 7d12a890aa
[MOB-53] All tags screen - visual improvements - and more (#2074)
all tags screen, visual improvements, and bug fix
2024-02-09 17:13:37 +00:00
ameer2468 3d44dfd859
fix mobile ci (#2068)
remove tests for now
2024-02-08 12:58:09 +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
ameer2468 48634c22aa
[MOB-54] UI Fixes (#2059)
* UI fixes - rive animation - SD version in settings - and more

* twStyle
2024-02-06 14:49:16 +00:00
ameer2468 2d0c340e58
[MOB-47] Location screen and header updates (#2056)
* Location screen and header updates

* use tw sizing

* remove un-necessary prop

* Nit: change name
2024-02-06 03:03:33 +00:00
Arnab Chakraborty 58f9305965
Update to Expo 50 and Fix to Rive Crashing (#2049)
* Update Mobile App to Expo SDK 50
+ Fix to Rive Crashing

* Added `metro-react-native-babel-transformer` to fix CI
2024-02-05 12:06:47 +00:00
ameer2468 d475153544
fix mobile ci (#2045)
* Update TabNavigator.tsx

* test ids hmm

* Update add-tag.yml
2024-02-03 21:26:33 +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
jake 4032677024
Fix localStorage wiping on every launch (#2021)
* fix: wait until libraries have loaded before checking the count

* fix: include new core version in lockfile

* fix: moved value

* fix: check the `libraries/` data dir manually

* Clear localstorage via localStoarge.clear() (#2040)

only clear localstorage in desktop using js

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-02-02 15:55:20 +00:00
Oscar Beaumont a30deaa144
Cloud + P2P (#1970)
* P2P Debug route

* Remove legacy peer to peer pairing process

* Fix error typo

* Sync instances with cloud

* Upgrade deps + extended instance data

* Create instance with extended metadata

* Auto sync instances

* Actually `.await`

* bruh

* sync library info

* this isn't gonna work

* only sleep cloud receiver when no more messages (#1985)

* [ENG-1567] Fix renaming (#1986)

fix rename

* only sleep cloud receiver when no more messages

* use in memory instances during cloud receive (#1995)

* use in memory instances during cloud receive

* is_empty

---------

Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>

* fix type error

* wip

* make mdns mdns better

* response

* remove renames

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
2024-02-02 09:31:11 +00:00
ameer2468 33d5f9f52d
mobile ci fix (#2036)
Update onboarding.yml
2024-02-01 15:54:02 +00:00
Brendan Allan 74d97d4957
[ENG-1592] Correctly assign tab titles on desktop (#2030)
* correctly set tab titles

* use selectedTabIndex

* empty tabId

* prettier
2024-02-01 15:40:38 +00:00
ameer2468 0503156407
[MOB-48] Settings screen redesigned (#2034)
* Settings screen designed

* ts

* fix test id

* remove test for now
2024-02-01 15:39:43 +00:00
ameer2468 c2aa4cc292
[MOB-52] Tabs animation (#2020)
* tabs animation

Update mobile-ci.yml

rive app requires macos 13.1

Update mobile-ci.yml

Update mobile-ci.yml

rive requires 14.0 ios deployment target

attempt to set deployment target to ios 14.0 for rive app

update target to 14.0

* downgrade packages for expo compatibility, fix test, touchable change to avoid ripple effect

* notes
2024-01-31 12:25:18 +00:00
Utku b8c4282eda
0.2.2 (#2017)
bump
2024-01-29 17:39:10 +00:00
jake f9e827512f
[ENG-1540] Remove localStorage if no libraries are created (#1945)
* feat: clear localstorage on start if no libraries are found

* chore: add a check to see if the node is for desktop or server use

this will prevent desktop/app localstorage from being cleared if it's a server being hosted

* fix: add secondary localstorage directory for macos

for some reason the app/onboarding progress is kept in `Library/WebKit/Spacedrive` (at least in dev?) so it also needs clearing

* feat: delete cache directories also

* chore: iterate over paths

* feat: add support for windows `localStorage` by using `data_local_dir`

* docs/style: better comments and logs

* feat: remove both `AppData` local and roaming on Windows

* fix: mobile builds

* chore: tweak error message for windows
2024-01-29 12:32:48 +00:00
Vítor Vasconcellos 137fa65baf
Remove enableElevatedUpdateTask from Wix installer config (#2004)
Remove enableElevatedUpdateTask from Wix config

This config option seems to be crashing the installer for a lot of Windows users, and I am not 100% why I enabled anyway, so revert it
2024-01-28 23:36:33 +00:00
ameer2468 d96141e4e0
[ENG-1570] Add location button function overview (#1996)
* Make add location button work

* Update settings.json

* Update settings.json
2024-01-25 10:23:40 +00:00
Brendan Allan 058cadb674
[ENG-1529] Round thumbnails for labels (#1981)
* rounded corner for labels

* can't forget list view
2024-01-24 05:15:27 +00:00
jake 69221cc033
Fix app from not starting due to missing solid-refresh and bump version to 0.2.0 (#1972)
* deps: add `solid-refresh` to `interface`

* bump `core` and `desktop` to `0.2.0`
2024-01-23 09:35:54 +00:00
Vítor Vasconcellos 556ddbd4f8
Port AppImage build to use appimage-builder (#1785)
* Initial port to appimage-builder

* Almost

* Fix appimage build on arm64

* Custom patch for external binaries run under appimage
 - Disable bubblewrap sandbox when running under appimage
 - Change cwd to APPDIR when running under appimage

* AppImage Works (for the first lunch, then it crashes with Stack Smash 😭)

* Fix stack smashing, now AppImage almos fully works \o/ (gstreamer is still broken)
 - Temporarily disable the volume watcher when running under appimage (Workaround for the stack smash error)
 - Wrap gnu lic version check for appimage under conditional compile for glibc targets
 - Add error handling for the justUpdatedCheck
 - Fix VITE_LANDING_ORIGIN being undefined

* On non glibc systems default to runtime/compat

* Use glibc version 2.8 instead of 0 for non-gnu systems

* Fix video playback not working due to broken GstRegistry

* Build and publish new AppImage release artifact
 - Fix model location when building deb
 - Improve model path resolution logic
 - Remove patchelf dependency from setup script
 - Fix incorrectly ignore gstreamer dependency in AppImage recipe

* Fix clippy complaining about `get_path_relative_to_exe`
 - Read GLIBC_FAKE_VERSION or use 2.8 for musl in appimage (while the code is there, this is not really supported for now)

* Remove appimage tauri target from release CI

* Remove setup-buildx-action, not relly needed

* typo fix

* Fix git describe command running on cwd instead of the repo root dir

* Attempt fix weird git permissions errors in CI+docker

* Pass CI env to docker appimage

* Only use git after installing it

* Pass target to appimage build script

* Fix permission after creating appimage

* -_-

* Swap envvar with github ci var

* Format

* Add instruction on how to manually build an AppImage

* Fix typos

* docs: add note about running podman with `--privileged` if there's a permission denied error

* docs: fix typo and link directly to appimage-building `README.md`

* refactor: streamline code and make it a bit cleaner

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2024-01-22 10:52:26 +00:00
ameer2468 d4f6175631
update tailwindcss to 3.4 (#1949)
* update tailwindcss to 3.4

* Update pnpm-lock.yaml

* update others
2024-01-17 20:46:14 +00:00
Jamie Pine fdf31fc3a8
[ENG-1511] Library Screens (#1903)
* init

* changes

* Now updating statistics once a minute

* More robust statistics updater

* Concurrency is hard

* improvements to stats

* refactor

* adjust setting back/forward padding so it matches top bar

* refactor sidebar

* rename

* setting up screens

* some changes

* Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>

* yes

* yes2

* refactored explorerItem.ts

* important explorer code shouldn't be thrown away in a util moment

* support for multiple thumbnails in ExplorerItem

* clippy

* move debug

* yes

* label filters

* ts

* comment out unconnected stuff

* added .mid for midi files

---------

Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-01-16 12:15:03 +00:00
ameer2468 df887cd057
[ENG-1537] Search UI improvements (#1940)
* wip

* Improve search ui

* Update index.tsx

* Update Filters.tsx
2024-01-16 09:54:15 +00:00
jake 6f531f8d5e
[ENG-1535] Fix MacOS window title showing (#1936)
set the title bar to the non-fullscreen style on first launch
2024-01-12 23:33:11 +00:00
Oscar Beaumont 9c44dd44e2
Fix QuickPreview video playback (#1932)
* consistent hash for server URL's

* a
2024-01-12 01:48:16 +00:00
ameer2468 7078bc0559
[MOB-50] Locations screen (#1928)
locations screen
2024-01-10 22:28:35 +00:00
ameer2468 09a08a6404
[ENG-1532] Hide window title on macos (#1927)
hide window title on macos
2024-01-10 13:49:22 +00:00
Oscar Beaumont 9fc3b8e635
Solid Iterop v2 (#1925)
* portals all the way

* CI for mobile JS

* whoops

* do install plz

* Solid JSX on mobile

* Cleanup portals + file structure

* wip

* reset explorer changes

* fail

* make it work betterer

* cleanup

* It's not a `useEffect` bug, no way

* Fix `useSubscribeToThemeStore`
2024-01-10 09:40:18 +00:00
Brendan Allan 4962b1160b
[ENG-1488] Cloud sync message compression (#1922)
* CRDTOperationWithoutInstance

* almost there

* fully compress messages

* implement more of sd-cloud-api

* sd-cloud-api-ify

* landing -_-

* openssl

* clippy

* idk

* bruh

* wut

* ahhh right
2024-01-09 10:21:23 +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
Oscar Beaumont bef1ebcade
[ENG-1508] Launch Spacedrop (#1893)
* Shit UI

* refactor a bit

* wip

* yeet

* farming the wry but it's stale

* Real-time hover event

* Hook with `Platform` + fix broken window-state plugin

* `DragAndDropDebug`

* Clippy

* revert Tauri v2 stuff

* minor

* probs not gonna work

* undo last commit

* a

* b

* c

* d

* e

* f

* g

* long shot

* 1

* no 7

* da hell

* large bruh moment

* lol

* zzzz

* SSH into CI

* yeet

* Tauri mouse position without new Wry

* go for gold

* Correctly lock `ort` version

* minor fixes

* debounce hover events

* WTF Tauri

* Replace DND hooks with goated versions

* wip frontend stuff

* fix ts

* disable library p2p stuff

* remove Spacedrop dialog + hook up backend

* `useOnDndLeave` working

* Close popover when drag outside

* Allow `openFilePickerDialog` for Spacedrop

* couple of fixes

* empty state

* smh

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-01-08 06:42:17 +00:00
Oscar Beaumont 49bdbc4b60
SolidJS Build Infrastructure (#1919)
* backport changes from #1913

* Make ESLint play nice

* eslint fix

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-01-08 06:20:20 +00:00
ameer2468 7dfc6b5216
[MOB-46] New mobile browse screen design (#1918)
* new mobile browse screen design

* ts

* ts + minor dropdown close on click fix

* Nitpick: make sure to use tw defined font sizing

* use Flatlist instead of scrollview

* fix test
2024-01-07 22:15:13 +00:00
Oscar Beaumont 8d9e6dbf39
Fix mobile app (#1914)
`import.meta.hot` no worky in React Native
2024-01-02 11:36:49 +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
Oscar Beaumont 26f610014a
Improve ephemeral walker (#1877)
* `non_indexed::walk` as `impl Stream`

* wip

* this is gooooood

* savepoint

* remove

* Batched stream

* `unsafe_streamed_query`

* nightmare nightmare nightmare nightmare nightmare nightmare

* JS Mutex

* cleanup

* proper error handling

* myCode satisfies Typescript

* Move to npm fork of rspc

* fixes

* rspc more crashy crashy

* Typescript is very disappointed
2024-01-02 06:09:44 +00:00
Oscar Beaumont 57d1e0609f
Multiple HTTP servers (#1905)
* there is literally no shot in the world

* cleanup
2024-01-02 06:05:45 +00:00
Brendan Allan 5371e9f961
[ENG-1512] Replace sync operation types with single type (#1900)
* replace multiple op types with crdt_operation

* cleanup
2023-12-21 05:58:03 +00:00
Ericson "Fogo" Soares 7c90bcb95b
[ENG-1479] AI Prototype (#1845)
* First draft on image labeling

* Fixing execution providers for other OSs

* Better error handling and shutdown

* Working with shallow media processor

* bruh

* Fix warnings

* Now hooked to media processor job

* Link desktop app with libonnxruntime to avoid TLS error during startup

* Be able to change models on runtime
Revert to use labels table instead of tags

* A bug on a model-less inference

* Show AI labels on Inspector
 - Change yolo inference to use half precision
 - Add labels api to core

* Remove LD_PRELOAD

* Fix race condition on model executor shutdown

* Don't load all images in memory moron

* Embeed yolo model in prod build
 - Change yolo model path to new one relative to executable

* Disable volume watcher on linux, it was crashing the app
 - Invalidate labels when they are updated

* Rust fmt

* Minor changes

* Gate onnxruntime linking to the ai-models feature

* Add build script to sd-server to handle onnxruntime linking workaround

* Move AI stuff to its own crate and normalize deps

* Rust fmt

* Don't regenerate labels unless asked to

* Now blazingly fast

* Bad merge

* Fix

* Fix

* Add backend logic to download extra yolo models

* Add models api route
 - Add api call to get available model version
 - Add api call to change the model version

* Improve new model download logic
 - Add frontend to change image labeler model

* Fix new model downloader

* Fix model select width

* invalidate labels count after media_processor generates a new output

* Rename AI crate and first draft on download notifications

* fix types

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-12-19 09:28:57 +00:00
Utku 97c6c7d8ea
Mobile design changes (#1886)
* bump sdk version

* move drawer

* black & blur is the way

* bottom tab height

* fix tests and cache
2023-12-12 22:14:59 +00:00
Oscar Beaumont 801f819cdf
Upgrade tracing (#1870)
* Upgrade tracing
Thank the lord it's finally here

* Fix excessive logs from mdns_sd & prisma

* fix excessive logs again
2023-12-07 10:22:26 +00:00
Brendan Allan 569a54eab3
Unify sidebar styling (#1874)
* consisten top of sidebar padding

* only show navigation buttons in tauri

* ignore non-idle router events on web
2023-12-07 09:58:25 +00:00
Brendan Allan cd32f530d6
Only handle idle history events (#1872)
only handle idle history events
2023-12-07 09:10: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
Lemming e4d21b001c
fix(landing):Fixed the style of the mobile navigation bar menu bar (#1869) 2023-12-07 04:38:03 +00:00
Julian Braha edbff8b398
Resolve warnings instead of suppressing them (#1848)
* Eliminate 'unused mut' warning and suppression

* Eliminate 'unreachable code' warning and suppression

* Fix formatting
2023-12-06 06:16:14 +00:00
Brendan Allan 3d3e211ffe
move cache provider (#1857) 2023-12-05 21:25:23 +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
Utku c0a5f789e8
Fix landing icon sizes (#1854)
fix icon sizes
2023-12-04 15:58:20 +00:00
jake c79c190c78
[ENG-1426] Apply clippy --fix with moderate lints (#1779)
* chore(clippy): fix

* chore: formatting

* fix: add cfg back to macos crate

* remove cfg to see if clippy works

* Restore macOS crate level conditional compilation

* More warns fixing

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
2023-11-28 17:50:11 +00:00
Vítor Vasconcellos 2e17b6fe84
Small improvements to sd-server (#1822)
* Fix web spacedrive
 - Replace useOperatingSystem from App.tsx to directly using the 'browser' value, as we can't access usePlatform yet and the frontend crashes due to it.
 - Remove libav* deps from server docker, they are not needed anymore
 - Replace debian with distroless for the runtime base image in server docker

* Fix wrong distroless base image

* Copy missing shared lib

* Add comment explaining why use the debug tag for distroless

* Add missing SpacedriveInterfaceRoot in web/App.tsx
2023-11-25 01:23:10 +00:00
Utku a0b203afff
Bump versions (#1823)
release
2023-11-25 01:12:00 +00:00
Brendan Allan 41072baf32
Send release message in channel (#1824)
send release message in channel
2023-11-25 00:59:18 +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
Utku 3b12e4ea19
[ENG-1414] Docker Server Installation Dialog (#1774)
* docker dialog

* move tooltip inner

* types

* rename "production" tag to latest

* fix dialog with and url

* pnpm-lock
2023-11-24 19:30:19 +00:00
jake e3c2c9022b
Release: Alpha 0.1.3 (#1813)
release: 0.1.3
2023-11-23 21:24:14 +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
Ericson "Fogo" Soares f662bf7594
[ENG-1398] Make thumbnailer parallelism configurable (#1780)
* Removing migrator

* Adding serde_repr dep

* Generalizing version manager

* Updating library config to use version manager

* Updating node config to use version manager

* Updating stuff to use new configs

* More async

* Library manager errors

* Node and thumbnailer preferences

* Small warning on prep

* Upgrading batch construction for thumbnailer

* Updating thumb version file to new version manager

* Configurable parallelism for thumbnailer

* Integration with frontend and refresh batch

Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>

---------

Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
2023-11-23 11:23:32 +00:00
Utku 43b6453706
Mobile changes (#1784)
* privacy link

* remove spacedrop screens, add browse

* icon

* changes and network screen

* bump react native
2023-11-22 00:49:52 +00:00
ameer2468 3de321e23e
[ENG-1448] Better meta image (#1803)
Update opengraph-image.png
2023-11-21 11:28:24 +00:00
Utku bbc01294f6
[ENG-1447] Add meta image (#1799)
* meta image

* woops
2023-11-19 18:49:59 +00:00
Vítor Vasconcellos 2e6e00bc6d
[ENG-1184, ENG-1286, ENG-1330] Rework native dependencies (+ deb fixes) (#1685)
* Almost working

* Downgrade libplacebo
 - FFMpeg 6.0 uses some now removed deprecated functions

* Use -Oz for zimg

* Fix CI script to run the new ffmpeg build script

* Fix heif step name + Ignore docker cache while building in CI

* Fix Opencl build on linux

* Fix adding incorrect -target argument to linker
 - Update zig for windows target

* Disable opengl for ffmpeg, it only uses it as an outdev, not for processing
 - Disable opengl and directx for libplacebo, ffmpeg only supports vulkan when using it
 - Add WIN32_LEAN_AND_MEAN to global cflags to optimize windows api usage
 - Fix 99-heif.sh incorrect bsdtar flag

* Remove WIN32_LEAN_AND_MEAN from global CFLAGS as that was breaking OpenCL build
 - Fix Dockerfile step for cleaning up the out dir
 - Improve licensing handling

* x86_64 windows and linux builds are working

* Fix aarch64 build for windows and linux

* Fix symbol visibility in linux builds
 - Fix soxr failing to download due to sourcefourge
 - Only patch zimg on windows targets
 - Tell cmake to hide libheif symbols

* Fix Linux .so rpath
 - Add lzo dependency
 - Publish source for the built libs
 - Add warning for missing nasm in tauri.mjs
 - Remove ffmpeg install from setup.sh
 - Add download logic for our linux ffmpeg bundle in preprep.mjs

* Remove jobs, docker doesn't support this

* Fix typing

* Change ffmpeg references to native deps
 - Rename FFMpeg.framework to Spacedrive.framework
 - Centralize the macOS native deps build with the windows and linux one
 - Change the preprep script to only download our native deps
 - Remove old macOS ffmpeg build scripts

* Compress native deps before creating github artifact
 - The zip implementation for github artifact does not mantain symlinks and permissions
 - Remove conditional protoc, it is now always included

* Don't strip dylibs, it was breaking them
 - Only download macOS Framework for darwin targets
 - Fix preprep script
 - Improve README.md for native-deps
 - Fix not finding native-deps src

* Attempt to fix macOS dylib

* Fix macOS dylibs
 - Replace lld.ld64 with apple's own linker
 - Add stages for building apple's compiler tools to use instead of LLVM ones

* Ensure sourced file exists

* All targets should build now
 - Fix environment sourcing in build.sh
 - Some minor improvements to cc.sh
 - Fix incorrect flag in zlib.sh
 - Improve how -f[...] flags are passed to compiler and linker
 - Add more stack hardening flags

* We now can support macOS 11.0 on arm64

* Improve macOS Framework generation
 - Remove installed unused deps
 - Improve cleanup and organization logic in Dockerfile last step
 - Move libav* .dll.a to .lib to fix missing files in windows target
 - Remove apple tools from /srv folder after installation to prevent their files from being copied by other stage steps
 - Create all the necessary symlinks for the macOS targets while building
 - Remove symlink logic for macOS target from preprep.mjs

* Remove native-deps from spacedrive repo
 - It now resides in https://github.com/spacedriveapp/native-deps
 - Modify preprep script to dowload native-deps from new location
 - Remove Github API code from scripts (not needed anymore)
 - Add flock.mjs to allow running tauri.mjs cleanup as soon as cargo finishes building in linux

* Handle flock not present in system
 - Allow macOS to try using flock

* Fix preprep on macOS

* Add script that patch deb to fix errors and warnings raised by lintian

* Fix ctrl+c/ctrl+v typo

* Remove gstreamer1.0-gtk3 from deb dependencies

* eval is evil

* Handle tauri build release with an explicit target in fix-deb.sh

* Preserve environment variables when re-executing fix-deb with sudo

* Only execute fix-deb.sh when building a deb bundle

* Improvements fix-deb.sh

* Improve setup.sh (Add experiemental alpine support)
2023-11-17 19:20:14 +00:00
Jamie Pine 27f077ea0b
[ENG-1269] Search options (#1561)
* search options start

* small progress

* more

* bunch of stuff

* semi functioning filters

* cleanup setup api

* progress

* remove filters

* hooked up to query epic moment

* fix

* move db stuff to specific modules

* in/notIn for some fields

* generate ts

* big gains

* working filter options for locations, tags and kind

* working search query

* perfect fixed filters

* saved searches lol

* merge error

* saved searches via api

* better routing

* [ENG-1338] Fix fresh Spacedrive install failing to start due to attempting to query a nonexistent Library (#1649)

Fix Spacedrive failing to start due to attempting to query a nonexistent Library
 - Rename useShoudRedirect to useRedirectToNewLocations
 - Improve behaviour for the immedite redirection after adding a new location

* Show hidden files false by default (#1652)

bool

* fix remove filter in list

* tweaks

* fix nav buttons

* unify MediaData search handling

* cleanup saved search writing

* Add left top bar portals for tags and search + fixed media view on tags

* added search to filter dropdown

* render cycle improvements

* hotfix

* wip

* Refactor with Brendan, but this is a WIP and the search query no longer works

Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>

* progress

* fix location/$id page

* fix tags too

Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>

* 3rd refactor lol

epic style

* half-done with enum-ification of SearchFilterArgs

* broken fixed filters but working inNotIn filters

* search name + extension kinda working

* hidden filter

* fixed filters working??

* deferred search value

* extensions works

* filtered search items mostly working

* tweaks

* stacked approach working for non-search filters

* move to Explorer/Search

* actually use filterArgs in queries

things actually work properly now

* added new icons from Mint

* goof

* cleanup types, filters and mutation logic

* actually use search value

* remove overview from sidebar

* don't shrink LibrariesDropdown ga

* remove overview from sidebar and default to /network

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
2023-11-17 06:58:44 +00:00
Brendan Allan 0ef65fce2d
[ENG-1423] Multiple tabs (#1777)
* tabs w/ multiple router instances

* fix router switching

* keybinds

* manual history tracking

* eslint

* remove scroll restoration

* fix tab removal

* route title + tab create delay

* typescript

* put tab list up top

* Remove import + show close button only if tabs length more than 1

* lint

* unify blur across whole top bar

* add to keybindings page, tauri drag region, and tooltip

* fix blur

* more drag regions

* merge moment

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-11-16 15:14:47 +00:00
jake 8e8e355b76
[ENG-1026] Full Disk Access (#1778)
* basic FDA start

* FDA checks and prompt

* lockfile

* misc clippy

* Some small warnings

---------

Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
2023-11-15 19:59:50 +00:00
Carter 36cd5bf365
Fix Clippy Warnings (#1776)
Fix Warnings
2023-11-14 20:48:17 +00:00
Vítor Vasconcellos c673882ea2
Work-around broken webgl (#1645)
* Check if we can instantiate WebGLRenderer in `hasWebGLContext`
 - Work-around broken webgl support

* Instantiate WebGLRenderer manually, in Space background, so we can check if it fails
 - Try WebGL1Renderer if WebGLRenderer fails
 - Fallback to Bubbles background if no WebGL Renderer works
 - Update threejs, @react-three/drei, @react-three/fiber

* Remove superfluous WebGLRenderer intantiation check
2023-11-13 17:51:44 +00:00
Ericson "Fogo" Soares 88859026b1
[ENG-1360] Not always unlink objects from file_paths on update (#1751)
* Small warnings

* Introducing file and line number into tracing logs

* Update walker to account for existing object_ids

* Only unlinking at indexer for file_path with
object referencing more than one file_path

* Better filtering orphans file_paths

* Foreground thumbs generation for shallow media
processor

* Watcher tweaks to preserve existing object
Also fixing a media_data extraction/update bug
2023-11-09 13:47:38 +00:00
Utku cda07b5f63
[ENG-1412] Fix blog/docs image sizes (#1758)
* fix

* Add image placeholder to NextImage component
2023-11-09 07:33:47 +00:00
Utku 4d139e3229
[ENG-1406] Fix search bar take 2 (#1750)
oh man
2023-11-06 20:07:56 +00:00
Utku 8a4281edd2
Fix search bar (#1749)
layout messing scss order somehow
2023-11-06 16:30:35 +00:00
ameer2468 f4e89da4d7
[ENG-1190] New shortcuts system (#1718)
* wip new shortcuts system

* Shortcuts system and cleanup

add duplicate short, fix delete object windows context menu symbol, shortcuts system

Add cut to Edit menu

if quickPreview is open do not open the folder/doubleClick()

Update index.tsx

Update RenameTextBox.tsx

* add listObjectsNav for list view

* refactored

* Update useShortcut.ts

* Update useShortcut.ts

* remove imports

* fix copy pasting and conflicts
2023-11-06 10:37:24 +00:00
Utku 02545589ae
No placeholder buttons (#1744)
Add Android permission, organize imports, add toast for tag assign button
2023-11-05 21:59:52 +00:00
Utku b9707db139
[ENG-303] Search on Docs (#1735)
* implement search

* fix pnpm lock

* indexer action and added some alerts

* test action

* oops

* styles pls

* disable input ring
2023-11-05 20:15:24 +00:00
Oscar Beaumont 6941912891
[ENG-1399] Upgrade Rust workspace + IPv6 mDNS (#1729)
Upgrade Rust workspace + IPv6 mDNS
2023-11-04 10:20:22 +00:00
Julian Braha bf543f45d0
Remove unused dependencies in src-tauri and p2p (#1726)
* Remove unused dependency: window-shadows

* Remove unused dependencies: rmp-serde and arc-swap

* Update Cargo.lock

* remove all unused dependencies

---------

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-11-04 04:56:53 +00:00
Ericson "Fogo" Soares 614ca0d811
Remove < 21 node restriction (#1728) 2023-11-04 03:44:07 +00:00
Ericson "Fogo" Soares f23e0b13c6
[ENG-1181] File System actions for Ephemeral Files (#1677)
* Backend side

* Rust fmt

* Removing uneeded duplicate files rspc route

* Create folder for ephemeral files

* Ephemeral delete files

* First draft on copy, cut and delete, still buggy

* Fixing copy function and updating async-channel dep

* Rename and some fixes
2023-11-03 17:06:34 +00:00
Brendan Allan b7354a4580
Urgent landing page fixes (#1724)
* don't trigger rebuild if release is draft

* be more strict about drafts

* fix
2023-11-03 10:15:29 +00:00
jake 23e9cf0553
fix: traffic light placement when non-fullscreen (#1680)
* fix macos traffic lights (round 2)

* fix typo
2023-11-03 08:43:38 +00:00
Utku 7dd164f68d
cleanup (#1723) 2023-11-03 02:08:11 +00:00
Arnab Chakraborty 576464573a
Fix adding locations to mobile application (#1681)
* Fix for android location adding fails

Added a fix for the file path error when creating locations on Android.

* Check for read-only folders

Well, it's a hacky way, and I'm sure rust may have a better solution, but for now, this checks if the app can make a file called "text.txt". If it works, it's deleted and marked as readable.

* UI Fixes for Navigation

On Android, the back button would not render for some reason. Had to go around and add to the navigation options for each screen the left arrow to go back.

Also, built the about page from the desktop builds of Spacedrive in `about.tsx`.

* Tailwind + Navigation refactor

Navigation has been fixed to not use useEffect, but now exists in the `<Stack.Screen />` code.

Also, refactored `about.tsx` to now use Tailwind instead of pure styles.

* Update AppearanceSettings.tsx

* Update AppearanceSettings.tsx

* Clean up of unused import calls

* Quick Fixes

About now has build info showing up.

Had to remove the read-only check because it was breaking adding new folders.

* Update ImportModal.tsx

Delete unused code.

* Update Settings.tsx

Remove unused imports.
2023-11-01 14:28:23 +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
Oscar Beaumont 3c0f418579
[ENG-1341] Landing download links shouldn't open new page (#1699)
do the thing betterer
2023-10-29 22:31:02 +00:00
Julian Braha 49ab0afcba
Remove unused dependencies from server (#1694)
* Remove unused dependencies from Cargo.lock

* Remove unused dependencies from Cargo.toml
2023-10-29 05:59:16 +00:00
jake c1de3c3cf9
Landing page metadata update (#1690)
* move any transparent images away from crawlers, update `robots` and add a `sitemap`

* dynamically-updated app manifest

* requested changes
2023-10-28 19:09:49 +00:00
ameer2468 a75093405c
[ENG-1361] MacOS fix copy, paste, undo, redo, select all functionality (#1684)
* Update menu.rs

* ts gaurd and correct plural for Locations title
2023-10-27 15:22:26 +00:00
Utku bf93d97874
Fix mobile onboarding (#1670)
* attempts

* expo stop using spaces pls

* attempt

* you used to work without this sir

* fixed

* use serde instead of specta

* remove `serde(default`) and update bindings

* fix mobile

* fix types

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-10-26 17:38:15 +00:00
Utku ed6c76fe90
add space between os and arch (#1676) 2023-10-25 21:31:23 +00:00
Utku 91dc29d944
Fix landing analytics (#1675)
fixerino
2023-10-25 19:52:18 +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
Brendan Allan 46397010e4
Individually quote each line of release modal commit message (#1666)
individually quote each line of commit message
2023-10-23 14:47:35 +00:00
Brendan Allan d12ee7e678
[ENG-1342] Prompt for tagline and category when creating release (#1664)
* modal + prompt for tagline and category + refactor

* move createSlashCommand to utils
2023-10-23 14:19:34 +00:00
Brendan Allan dc33cac7f3
[ENG-1339] Don't allow releasing if branch with same name already exists (#1662)
* zod babyyy

* add api docs references
2023-10-23 09:54:52 +00:00
Brendan Allan 4c785eaca0
Use www.spacedrive.com instead of spacedrive.com (#1658)
use www.spacedrive
2023-10-22 05:34:17 +00:00
jake 83538f22a1
bump core and tauri to 0.1.2 (#1651)
core and tauri to 0.1.2
2023-10-21 15:19:38 +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
Brendan Allan 53883edd3f
Set shortDescription to Spacedrive (#1642)
set shortDescription to Spacedrive
2023-10-20 09:41:05 +00:00
Vítor Vasconcellos baf4fc3b59
[ENG-1325] Vendor openssl in tauri (#1636)
* Vendor openssl dependency

* Remove bindgen, seems like windows don't like it
 - Add OPENSSL_RUST_USE_NASM to force windows to use nasm

* Add native-tls-vendored to reqwest
 - Shouldn't change much as the openssl crates override was already dealing with the vendoring anyway
2023-10-20 08:22:36 +00:00
Brendan Allan d898b16cb9
[ENG-1328] Persist window position (#1637)
add tauri-plugin-window-state
2023-10-20 08:09:41 +00:00
Alex 5e272f796b
Landing page GitHub releases pulling (#1633)
* new route for latest version

* client side fetching from own API

* Server side fetching

* implement changes

* remove LatestVersion

* typescript

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-10-20 05:32:30 +00:00
Brendan Allan 7373031ea2
/release slack command (#1613)
* /release slack command

* use signing secret from env

* restrict /releases to specific channel

* add note about version number increment

* stupid

* remember command

* generate_release_notes

* pnpm lock

* remove slack-edge

* man idk

* bruh

* why

* skip category if no slug

* we good
2023-10-18 05:27:31 +00:00
Brendan Allan f05f6563b6
[ENG-1290] In-app changelog + GitHub releases as CMS (#1602)
* improve docs

* in-app changelog

* derive site changelogs from github releases

* cleanup + static changelog generation

* metadata

* fix metadata fns

* update tauri handler
2023-10-18 04:26:20 +00:00
Arnab Chakraborty 1783da9ac2
Get mobile app to build on Android (#1617)
Add sourceSets to module build.gradle
2023-10-18 03:33:27 +00:00
ameer2468 de0267fa98
fix bg (#1615)
Update Space.tsx
2023-10-17 21:05:38 +00:00
jake a32ba7470b
[ENG-1289] Reload webview support for Windows and Linux (#1590)
* full webview reload for linux/windows

* cleanup platform-specific code

* code cleanup & bindings

* add reload to the debug popover

* try to fix windows builds

* even better fix
2023-10-17 07:17:56 +00:00
Oscar Beaumont a7ad24c641
[ENG-625] Spacedrop improvements (#1447)
* Fist fight with the abstraction

* Prevent opening multiple Spacedrop dialogues

* Infinite renders = infinite power

* Comment be gone

* Spacedrop multiple files

* correlate connection id's

* fixes

* thanks Typescript

* Clippy errors + fix cfg's from main
2023-10-17 04:31:42 +00:00
Harry Yep 0e49256063
fix: update release version (#1599) 2023-10-16 14:18:49 +00:00
Brendan Allan d4ad5c97f3
Migrate landing page to app dir (#1587)
* app dir yay

* better docs route

* fix icon sizing

* mobile sidebars

* detect webgl in useEffect

* separate zxcvbn
2023-10-16 04:28:16 +00:00
Vítor Vasconcellos 3b686946e6
Tauri 1.5.2 + normalize and update frontend dev deps (#1579)
* Normalize & update front-end dev-deps + Tauri 1.5.2

* format code
2023-10-14 04:27:09 +00:00
Utku Bakir 57ca557f17 detailed download tracking 2023-10-13 15:03:35 +03:00
Utku Bakir 8737dd3237 im dumb 2023-10-13 14:32:03 +03:00
Utku Bakir 79aefab9be track downloads 2023-10-13 14:30:44 +03:00
Brendan Allan bc38cf42af 0.1.1 2023-10-13 17:00:31 +08:00
Jamie Pine e8a30da85e
Blog tweak (#1518)
* post tweaks

* stars
2023-10-11 23:58:39 +00:00
Utku 42812efca1
Fix star button (#1515)
add the button back and remove eslint disable rules
2023-10-11 19:32:18 +00:00
jake e0b249066f
[Landing] Dynamic OS/version detection and clickable platform icons (#1498)
* dynamic version + OS display, toggleable icons for multi-download platforms

* cleanup + fix requested changes
2023-10-11 16:01:27 +00:00
ameer2468 c5115de6a6
[ENG-1242] Landing page lag (#1496)
* fix lag by possibly changing space from fixed to absolute

* fix lag

* move dynamic imports up

* Update index.tsx
2023-10-11 14:33:51 +00:00
Brendan Allan b758d3865c
AppImage only + clickable OSes (#1495)
* AppImage only + clickable OSes

* disbaled
2023-10-11 11:04:44 +00:00
Kyle Dickey 7aacd44e84
Fix small grammatical errors on the alpha release blog post (#1480) 2023-10-11 00:39:05 -07:00
Vítor Vasconcellos e26f2615d0
Minor landing changes (Fix linux download text) (#1479)
* Fix linux download text
 - Add deb download button

* Fix windows download link
2023-10-11 00:05:56 -07:00
excludes 6f90a41602
enabled footerlinks (#1477) 2023-10-10 23:28:09 -07:00
Oscar Beaumont 69ade6b3f5
Fix copyright text (#1476)
i'm a commit monkey
2023-10-11 05:57:13 +00:00
excludes 6a10c8287a
Footerlinks and error in blog post missing link. (#1470) 2023-10-11 05:44:21 +00:00
Vítor Vasconcellos ba1d75e8ff
Fix landing page not working without WebGL (#1469)
Fix landing page not working with WebGL
2023-10-11 05:20:54 +00:00
Jamie Pine 38a764e43e
Landing page links (#1467)
links
2023-10-11 04:40:52 +00:00
Oscar Beaumont 2e0e4a0362
Fix version on landing (#1466)
Update index.tsx
2023-10-11 04:20:44 +00:00
Jamie Pine 77a6ab1d73
Release landing page (#1464)
* start

* not for this branch lol

* fix dates

* fix spacing

* revert mistake

* progress

* blog

* improve wording

* more blog

* more blog moment

* moreee blog

* cant spell can i

* bloggggg

* change name

* some rambling

* sentence meowment

* merge

* prep

* perfect app ui template for landing

* updated landing image

* fix border

* section

* fix query param handling

* remove apps/snapshot

* remove `WindowControls`

* Playwright in setup script

* `showControls` in a store

* better screenshot + fixed stars with fadeout

* fix show controls store mistake

* begin bento boxes

* bento box stuff

* taggrid

* release blog post: clarifying punctuation & rearrange some sentences (#1097)

* landing page wip

* Update index.tsx

* tweak

* Update pnpm-lock.yaml

* Update app.webp

* better app image + line animation wip

* wip

* tweak + image

* tweaks + 60 fps ball

* 60 fps platforms anim

* landing updates

* static globe

* tweaks

* device detect and dynamic imports

* Accessibility and minor performance improvements from Lh report.

* Update globe.webp

* Improve randomness of line animation, better cloud image

* isMobile vid support

* Update index.tsx

* new art

* docs

* docs

* Improvements and feedback

* Update index.tsx

* improvements

* quick art tweak

* updated art

* increase size

* SVG animation

* animations

* convert platforms to arr and framer motion

* new section - wip preview

* remove border app animation - more animation work

* mobile tweaks

* tweak

* duration adjustment

* animation improvements

* different floating times for other circles

* Pricing page

* tweak

* optimize images, accessibility values, svg attribute cleanup

* launch prep

* fix blog link

* adding location docs

* hover effect

* fixes to layout

* Update index.tsx

* another show controls method

* use PageLayoutContext in other file

* merge

* desktop release download api

* update publishing api

* hook up desktop releases api to landing page

* screenshot stuff

* Delete .github/scripts/setup-system.sh

* Update october-alpha-release.mdx

* rotating screenshots, fixed blog and apple download chooser

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: pr <pineapplerind.info@gmail.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-10-11 04:05:40 +00:00
Brendan Allan 610b509691
sd-desktop@0.1.0 (#1461) 2023-10-11 09:06:21 +08:00
Vítor Vasconcellos 9ca22733ad
[ENG-1086, ENG-1087] Add error and loading indicator to thumbnail (#1448)
* Add onLoad and onError listeners to FileThumb
 - Show toast when Original file fails loading in QuickPreview
 - Formatting

* Fix close toast not working when QuickPreview was open

* Fix panic when serving unsupported files

* Formatting & lint
2023-10-11 00:52:21 +00:00
Brendan Allan 811faa22a0
useObjectsInfiniteQuery in tag route (#1457) 2023-10-10 19:53:00 +00:00
jake 1adfe85a01
[ENG-428] Embed app version and commit hash for telemetry (#1456)
* embed build info into telemetry

* fix mobile too

* use actual data and not the bridge query 💀
2023-10-10 19:49:46 +00:00
Brendan Allan 703649348e
[ENG-1214] Disable updater for .deb distrubutions (#1455)
* inject __SD_UPDATER__ + don't always create updater store

* clippy

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-10-10 18:50:44 +00:00
Brendan Allan 880a1fa6df
Add version to updater endpoint (#1451)
* add version to updater endpoint

* correct updater endpoint
2023-10-10 11:26:34 +00:00
Anthony Morris 793feaf1e6
chore: conditionally encourage applications based on open positions (#1449) 2023-10-10 08:52:05 +00:00
Brendan Allan 49cc098f32
[ENG-927, ENG-735, ENG-766] Fix Updater & Tauri 1.5 (#1361)
* custom updater with toasts

* new state management + updated router route

* tauri-specific update route

* ref

* update in prod only

* change 'Install' to 'Update'

* fix tsconfig

* desktop tauri

* remove tauri patch

* tauri 1.5

* tauri 1.5

* use tauri script

* native-deps

* Rework preprep and tauri script to better support tauri 1.5

* Update to tauri 1.5.1
 - Update workspace and apps/desktop dependencies
 - Fix mustache import, @types/mustache is not compatible with ES imports
 - Replace arm64 with aarch64 in machineID, they should be treated the same and this simplyfies the code

* Fix tauri updater not building due to missing key
 - Fix dmg background not being found
 - Generate an adhoc key for tauri updater with it is enabled and the user is doing a prod build

* Fix ctrl+c/ctrl+v typo

* Normalie @tanstack/react-query version through workspace
 - Use undici in scripts instead of global fetch
 - Fix typecheck

* Fix linux prod and dev builds
 - Improve error handling in tauri.mjs

* Normalize dev deps in workspace
 - Improve linux shared libs setup

* Fix CI and server docker

* Fix windows
 - Remove superfluous envvar

* Attempt to fix server, mobile, deb and release updater

* Attempt to fix deb and mobile again
 - Fix type on deb dependency
 - Enable release deb for aarch64-unknown-linux-gnu

* Github doesn't have arm runners
 - Fix typo in server Dockerfile

* Publish deb and updater artifacts

* remove version from asset name

* update commands

* log release

* Some logs on updater errors

* show updater errors on frontend

* fix desktop ui caching

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
2023-10-10 07:30:56 +00:00
Jamie Pine ed751a46d0
[ENG-944] Sidebar UX Improvements (#1270)
* - added local section to sidebar
- added spacedrop screen, showing local peers
- added placeholder network screen
-removed unused swift package
- created a watcher for system volumes to invalidate ui when drives are added/removed

* clouds

* fix more imports

* see more

* open location if volume is location

* gen assets

* remove log

* [ENG-939, ENG-1173] PDF Thumbnails (#1242)

* sd-pdf

* Process PDF blocking render inside a spawn_blocking
 - Load a single global Pdfium instance

* Migrate pdf thumb logic to sd-images
 - Replace block_in_place with spawn_blocking
 - Only load LibHeif once
 - Allow thumbnailer (both indexed and non-indexed locations) to process documents
 - Disable loading pdf viewer in Inspection in favour of loading it's thumbnail

* Try to load pdfium lib from absolute path

* Revert removed import due to rebase

* Small nitpick and some warnings

---------

Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>

* [ENG-888] Media view should show current folder downward (#1437)

* Done but ugly

* layout

* Now with a select

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>

* add cool folder thing to inspector + stuff

* fix text color

* fix lock

* fix typescript

* fix ts

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-10-09 10:11:23 +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
Ericson "Fogo" Soares 774e5b7839
[ENG-1124 | ENG-1154] Ephemeral location bug: Opening files | Path should always be in present in Inspector (#1401)
* New functions to open ephemeral files

* Review items for ephemeral files

* Open and OpenWith context menu for ephemeral paths

* Some warnings

* Fixing inspector

* Fixing windows

* Format

* Messy rebase

* Fix macos

* Cargo fmt

* Removing devtools as it can be opened with keybind

* Fix macos

* Separating ext for ephemeral files on inspector

* Fixing bad rebase

* Removing rename button from quickpreview for ephemeral files

* Quick Preview for ephemeral files

* Requested changes
2023-10-05 07:21:37 +00:00
Vítor Vasconcellos d75a6e9b12
[ENG-1054] libheif for Linux (plus fixes) + Webp update (#1405)
* Move postinstall script to a preprep script
 - Fix libheif crate failing to build with our libheif
 - Rework CI due to postinstall to preprep changes

* Linux heif build script + Update webp

* Fix ctrl+c/ctrl+v bug

* Improve libheif linux script
 - Add support for linux aarch64
 - Add CI workflow to build libheif for linux
 - Some other misc fixes

* Fix libheif CI requires sudo

* Fix wrong path for libheif build.rs override in Windows

* Fix wrong path manipulations in libheif build script

* 🤦

* Use ubuntu-latest in libheif action
 - Specify glib version in target triple to support old distros
 - Fix libheif artifact publishing

* Fix artifact upload path again

* Add musl support for libheif
 - Remove unused files from libheif artifact
 - Add setup logic for libheif in postinstall script

* Build libheif for linux as a shared lib

* Fix meson not building the correct arch
 - Add logic to get git branch from githubs CI env vars

* libheif finnaly works on linux
 - Make spacedrive binary rpath point to where appimage and deb expects our libs to be
 - Add some logic to tauri.js to convince tauri to bundle our shared libs
 - Work-around appimage bundling step breaking sometimes
 - Add logic to handle sigint in tauri.js to ensure we clean up after ourselves
 - Rename postinstall.mjs to setup.mjs
 - Add logic to setup.mjs to point our dev build to our shared libs in linux

* Fix windows dekstop dev
 - Rename setup.mjs to preprep.mjs

* test cache-factory

* Fix preprep script not parsing the cross compilation target triple and always using the host info to download dependencies
 - Fix action env vars not being correctly passed
 - Remove possibility to pass multiple targests to rust action

* Don't compile mobile crates on desktop targets

* Remove cache-factory pull_request trigger

* remove patched tauri cli

* Use git plumbing command to get remote branch name
 - Fallback to reading .git/HEAD if remote name was not retrieved

* fix type

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-10-03 17:31:33 +00:00
Brendan Allan 3786e93a78
Remove client secret from apps (#1423)
* remove client secret from apps

* dumb
2023-10-03 14:45:19 +00:00
Ericson "Fogo" Soares 4e0dd5fe0b
Enabling frontend dev tools (#1420) 2023-10-03 03:54:46 +00:00
Brendan Allan 87e9942bd1
Add pnpm tauri root command (#1411)
add pnpm tauri root command
2023-10-02 14:03:45 +00:00
Brendan Allan 861cfb8b40
Use actual oauth clients + ship ids and secrets (#1415)
* use actual oauth clients + ship ids and secrets

* re-enable features

* use prod as default api url
2023-10-02 09:36:43 +00:00
Oscar Beaumont 02f03f5351
Improve QuickPreview (#1350)
* Handle large text files

* wip

* nit

* Fix syntax highlighting

* Requiring an API call for my dev builds, no shot

* backend for line counting + wip frontend

* 600 lines is too much for this file, ngl

* wip: `LimitedByLinesBody` & some more restructuring

* Virtualised list for QuickPreview

* yeet bad ideas

* general cleanup + hack to fix broken toml

* fix

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-09-29 04:58:29 +00:00
Brendan Allan 3109601fda
Desktop + Web auth flow (#1378)
* initial login session route

* auth works!

* auth on web is dummy easy

* load api url from envs

* SpacedriveAccount + oauth

* use verification url

* heif

* better env handling

* error handling

* handle config write error

* add logout config write error
2023-09-28 16:55:46 +00:00
Vítor Vasconcellos bd0a7ff434
[ENG-265] Improve setup scripts (#1368)
* Setup script revamp

* Move toml to dev dep + CI runs the postinstall in debug mode

* Fix windows CI

* chmod +x scripts/setup.sh

* Fix eslint and ts CI

* Remove binstall + Fix trying to read input in CI

* Doesn't need to check pnpm and rust in CI

* Run postinstall script for Clippy CI

* Attempt to fix windows CI not running postinstall
 - Ignore cache when running postinstall on CI

* commited generated config.toml by mistake

* Pass GITHUB_TOKEN to `pnpm i`

* Update archive-wasm + Increase minimum node version to 18.17

* CI: Move rust setup after post-install script

* Revert: CI: Move rust setup after post-install script

* Fix CI, generate dummy cargo config.toml to fix prisma generation

* Fix windows CI

* CI: Fix wrong command

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-09-28 10:03:46 +00:00
Utku fe1350d70d
use new api (#1396)
* use new api

* remove waitlist from landing

* fix url
2023-09-28 09:38:32 +00:00
Gedeon 12196f0892
Fix mobile core not building on non-darwin machines (#1388)
* find `llvm-ranlib` for linux and windows systems

* simplify the exec block

* fix path not recognizing `darwin`
2023-09-27 14:34:47 +00:00
Ericson "Fogo" Soares 5005c50e23
[ENG-1116] Distinct job manager for library (#1363)
Done
2023-09-21 11:10:56 +00:00
Utku 02dc4424ae
Add logo to landing page (#1356)
static logo
2023-09-18 13:36:27 +00:00
Brendan Allan b8e81ad7b6
Increase ram for server release (#1354)
* js has 4gib of ram now

* define env var properly

---------

Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
2023-09-18 09:36:31 +00:00
Oscar Beaumont 1cae4fab53
[ENG-1060] Fix the PlatformProvider bug (#1353)
* Life is a lie and nothing makes sense

* consistent version

* Web uses the relative alias resolver it would seem

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-09-15 12:02:50 +00:00
Tom Heaton 742dc2bb5a
Reorder navbar (#1347)
Reorder mobile navbar links to match web navbar.

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-09-14 14:08:35 +00:00
Oscar Beaumont ae4c3d0e6b
Fix Android bridge + drop IOS and Android projects (#1336)
* Goodbye Android Project, you won't be missed

* fix ignore ignoring Kotlin code

* Backport IOS `Podfile` + move Rust crates into `modules/sd-core`

* Workaround for issue in OpenSSL build script

* Fix IOS

* Migrate IOS bridge into Expo Native Module

* Optimistic update for library creation

* useFrameworks static

* add key to infoplist

* more keys

* fix `Podfile`

* Remove IOS project from repo

* fix mobile ci

* woops wrong place

* clean package.json

* Make Android's Rust code build again

* Add back in `if_watch` patch for IOS

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2023-09-13 10:07:26 +00:00
Oscar Beaumont 94d8f61de9
Update Rust dependencies (#1314)
* Update most of Rust dependencies

* downgrade notify

* a

* fix Linux?

* Android is painful

* update build.gradle

* The lord Clippy has spoken

* Bruh

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2023-09-12 14:03:25 +00:00
Tom Heaton 6fdcbeb4fa
fix(landing) - fix opengraph image (#1332)
fix opengraph image
2023-09-11 18:07:46 +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
Tom Heaton a53a61ea79
Twitter -> X (#1321) 2023-09-11 11:36:00 +00:00
Brendan Allan 4b60ff2e08
[ENG-1023] Change location path from settings page (#1301)
* update location path in db

* remove + add location watcher if path is changed

---------

Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2023-09-08 11:46:16 +00:00
Utku 02ce1a0337
Fix mobile by using memo (#1308)
* fix

* fix double library display
2023-09-07 10:03:25 +00:00
Ericson "Fogo" Soares f8033d1842
[ENG-941] Jobs running in another library do not appear in the job manager (#1306)
* Fetching job reports from all libraries
Some clippy warnings
pnpm format

* Reverting expects to unwraps
2023-09-07 04:15:31 +00:00
Oscar Beaumont 65ea570d0b
[ENG-1055] Fix previewing large files (#1304)
* Proper streaming from disk

* Handle `If-Range`

* fix bad merge

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-09-06 08:06:29 +00:00
Oscar Beaumont 251703104c
[ENG-1036] Fix library rename (#1300)
* Fix Library Rename + `RwLock` on `LibraryConfig`

* Input width fix

* cleanup

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-09-06 01:01:18 +00:00
Ericson "Fogo" Soares e8191e4a22
[ENG-198] Cleaning up after removing a location (#1296)
Done
2023-09-05 05:20:46 +00:00
ameer2468 ad8814351f
[ENG-1044] Focus buttons styling + storybook (#1295)
* focus buttons styling improved + storybook

* Update Button.stories.tsx

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-09-04 16:59:43 +00:00
Brendan Allan e7fbdb479c
[ENG-999] Order aware pagination (#1283)
* correct types

* remove optional override

* handle group_directories properly

* throw errors if is_dir is null

* disable size ordering

* usePathsInfiniteQuery

* implement for objects too

* cleanup
2023-09-04 12:38:09 +00:00
Brendan Allan ae0f5c744e
[ENG-1072] Connect sentry with sourcemaps (#1293)
add sourcemaps
2023-09-04 11:20:29 +00:00
Utku 18245a05f2
Fix job image (#1291)
fix job image
2023-09-04 10:17:40 +00:00
Ericson "Fogo" Soares 3b8541ef54
[ENG-1028] Media data for ephemeral locations (#1287)
Introducing new getEphemeralMediaData
Fixing some minor stuff
Running pnpm format

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-09-04 08:28:45 +00:00
Utku 881608e9a8
Remove auth (#1286)
remove auth

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-09-04 07:28:49 +00:00
Oscar Beaumont f821bb9a0f
Stop App Freezing (#1257)
* Drop Tauri custom URI handler
Me no likely but it has to be done.

* fix app startup with location

* fix "Add Location" button on web

* Serve correct content range

* Backport changes from 08ba4f91

* none of my homies like panics

* minor fixes

* fmt with new Rust version
2023-08-31 06:54:40 +00:00
Oscar Beaumont e591516aff
[ENG-401] Spacedrop betterer (#1273)
* Spacedrop progress on `useP2PEvents`

* Spacedrop Tauri file picker for saving

* Prompt for save location when closing dialog

* quick maths

* Spacedrop progress

* Spacedrop cancellation

* Move accept/cancel dialog to toast

* Toast when rejecting transfer

* yeet

* `useEffect` more like `useBug`
2023-08-30 08:07:23 +00:00
Vítor Vasconcellos b2299ecee5
[ENG-1029] Fix pnpm assets gen not working with Prettier 3.0 (#1272)
Fix assets generation breaking due to prettier update to 3.0
 - Make assets generation async
 - Update prettier and babel deps
2023-08-30 03:44:02 +00:00
Brendan Allan 66a25a3335
Disable updater + add feature gate (#1268)
* disable updater + feature gate

* remove updater enabling from custom tauri cli

* formatting
2023-08-30 03:26:19 +00:00
Vítor Vasconcellos cb6a356287
[ENG-1027] Fix build on Windows (#1271)
* Fix Vite relativeAliasResolver on Windows
 - Add Strawberry Perl installation to setup-system.ps1 (stop rust-analyzer from crashing on Windows)
 - Remove unused imports from desktop windows crate
 - Add todo for missing sync test match cases

* Use path.join instead of doing string concatenation with path.sep by hand
2023-08-30 03:26:13 +00:00
Oscar Beaumont d758977d82
Improve Sync + P2P Integration (#1265)
* Big bruh moment

* whoops

* Less stackoverflowy debug

* stuff

* Fix flawed P2P mDNS instance advertisements

* do sync when connecting with peer

* Sync after pairing

* resync_part2 all the time

* Invalidate all the things

* Invalidate whole React Query on sync event

* emit_messages_flag

* emit_messages_flag

* Backend feature flags + "emitSyncEvents" feature

* Patch `confirm` type cause Tauri cringe

* clippy

* idk but plz work

* bruh

* Fix ComLink bug

* remove log

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-08-29 17:54:58 +00:00
jake c674b7107a
[ENG-288, ENG-601] Media data (image) extraction, thumbnail orientation fix (#1099)
* basic layout

* lock

* add codec to image

* very messy wip

* rm that

* lock and toml

* working perfect exif extraction

* formatting

* migration and formatting

* mostly working

* fix

* set date created properly

* fix tsc

* working media data creation

* fix bad main merge? sorry brendan

* schema, migrations, bindings

* working exif data extraction

* why won't it work

* update migrations

* fix bad merge

* final cleanup

* cleanup migrations

* remove test (that was purely used for testing my code)

* working media data pulling, correct thumbnail orientation

* slightly optimise thumbnail rotation

* rename location to prevent specta clashes

* further improvements (location parsing is still broken)

* fix coordinate parsing i think

* rspc add some todos regarding final cleanup

* further thoughts

* major upgrades

* Some improved handling of errors and async calls

* accordion component

* heavily wip flash refactor

* fix builds all because of a (terrible) merge/move

* annoying missing newline

* i really hate exif

* remove dead code

* further flash progress :D

* docs(media-data): clarification

* minor cleanup

* cleanup and some async removal

* fix location parsing

* remove async (will do proper impl for async eventually) and major cleanup

* big W

* clippy and `FlashMode::Unknown` instead of `Invalid`

* add `NIKON` gps ref support

* comments about gps refs

* commit the submodule -_-

* major cleanup & composite image support

* remove old test image

* major cleanup and easier to use API

* remove old consts

* move `ExifReader` to dedicated module

* Media Data Extractor job and shallow job

* Extracting media data on watcher

* report no exif data on file gracefully

* cleanup errors and doctests

* Merging thumbnailer and media data extractor

* Job name and some strings in UI

* remove reliance on `sd-prisma` within the media data crate

* rename query to be more specific

* custom serializer for `MediaTime`

* tweak to format utc -> naive correctly

* generate migrations

* comment out duration in mobile

* delete test-assets folder

* all optional fields

* fix migrations again

* make requested name changes

* make further requested changes

* remove erroneous files from another wip branch

* updates procedures

* use strings where appropriate

* regen pnpm-lock

* add base layouts for video and audio media data

* use appropriate data types in schema and add audio media data framework

* make requested changes

* general cleanup and renaming of enum

* cleanup media data api

* rename media metadata type

* finishing touches

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.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: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-08-29 17:02:55 +00:00
Brendan Allan b04d5bcc91
Remove react devtools dependency (#1266)
remove react devtools dependency

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-08-29 14:15:52 +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
Aditya 08ba4f917a
Extending QuickPreview functionality with additional filetype support (#1231)
* added some files `standard` mime type

* Used `TEXTViewer` Component to show Code Preview

* Update Thumb.tsx

* added `prismjs`

* removed unnecessary comment

* `CODEViewer` Component for Syntax Highlighting

* formatting

* using **Atom** Theme for `Prism`

* merge text/code viewers & bg-app-focus for prism

currently calling onError and onLoad without an Event argument
that should change but i'm not really sure what to do there

* removed unused imports

* Update index.ts

* `TEXTViewer` to `TextViewer_`

* `TextViewer_` to `TextViewer`

* Don't highlight normal TextFiles

* clean code

* `TEXTViewer` to `TextViewer`

* using tailwind classes more

* doing things correctly.

* installed `prismjs` in interface

* using own scroller

* Update Thumb.tsx

* Add an AbortController to the fetch request
 - Fix onError and onLoad calls
 - Format code

* Fix onError being called when request was aborted due to re-render
 - Fix Compoenent re-rendering loop due to circular reference in useEffect
 - Remove unused imports

* Improve text file serving and code syntax highlight
 - Implement way to identify text files in file-ext crate
 - Do not depend only on the file extension to identify text files in custom_uri
 - Import more prismjs language rules files
 - Add line numbers to TextViewer when rendering code

* Clippy and prettier

* Fix reading zero byte data to Vec
 - Improve empty file handling

* Expand code highlight to more file types
 - Fix 10MB when it should be 10KB
 - Add supported for more code and config files extensions to sd-file-ext
 - Add comlink and vite-plugin-comlink for easy js worker integration
 - Move Prismjs logic to a Worker, because larger files (1000+ lines) where causing the UI to hang
 - Replace line-number prismjs plugin with our own implementation

* Fix uppercase extension name

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: pr <pineapplerind.info@gmail.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-08-29 10:47:04 +00:00
Brendan Allan 5a8c5af964
[ENG-1009] Fetch item count to increase scrollbar size in explorer (#1258)
* search.objectsCount

* provide count to useExplorer and react-table

* use row count if custom count not provided

* remove placeholder items from list view
2023-08-28 08:28:52 +00:00
Oscar Beaumont 7bf0c0ae4a
[ENG-994] Minor P2P fixes (#1238)
* mdns advertisement on detection

* fix bug in P2P discovery

* Add `P2PEvent::ExpirePeer`

* React properly

* Consistent tracing versions

* better logger config

* Reduce excessive logging from P2P

* Fix panic log hook

* Remove `dbg`

* Fix bug in thumbnailer remover

* wip: Connected peers in UI

* `Sync` is large pain

* init services after library load

* improve error handling of logger

* Sync protocol shutdown

* Add "updater" feature

* fix commands bindings

* nlm state debug query

* nlm debug status

* Make TS happy

* Add `RemoteIdentity` to libraries debug info

* Improve debug data presentation

* Among us level sus

* minor fix panic hook

* Fix EOF issue

* fix instance not being added on pairing

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2023-08-27 06:41:26 +00:00
Vítor Vasconcellos b199c03c1e
Always enable tauri update + Misc Clippy warns fix (#1250)
Always enable tauri update
 - Fix some misc clippy warnings
2023-08-25 22:08:34 +00:00
Utku e2f30715e3
[MOB-2] Job Manager (#1114)
* add job manager modal and button

* cleanup directories and add card to debug screen

* expo sdk 49

* update pods

* updated native android files

* updated native ios files

* pods being cringe

* update hermes

* podfile

* big update packages

* fix and upgrade animations to reanimated 3

* nice types moti

* clean imports

* upgrade react-hook-form (fix type)

* move stuff to sd/client and some organization

* camel case

* i liek switch

* Merge iconImg & circleIcon props

* wip

* copy changes to mobile

* move job context and job progress to client and also use it on mobile

* pnpm-lock

* (wip) - make job swipeable + styling

* job progress bar and more style tweaks

* no spring animation on progress bar pls

* new loading animation

* padding and pnpm lock

* indeterminate progress bar

* cleanup & update packages etc

* leave some todos for future

* fix types

* monorepo types :)

---------

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-08-25 21:40:07 +00:00
Brendan Allan c966c0ed06
Updater channels (#991)
* types

* channel-aware update server

* fix build

* man idk

* use main repo + add redirect for old updater

* tabs

* remove octokit
2023-08-25 05:58:33 +00:00
Vítor Vasconcellos 7a7d01307e
Formatting (Prettier + Rustfmt 1.72) (#1246)
Formatting
2023-08-24 20:34:52 +00:00
Ericson "Fogo" Soares 28d106a2d5
[ENG-862, ENG-921] Ephemeral locations (#1092)
* Some initial drafts

* Finising the first draft on non-indexed locations

* Minor tweaks

* Fix warnings

* Adding date_created and date_modified to non indexed path entries

* Add id and path properties to NonIndexedPathItem

* Working ephemeral location (hardcoded home for now)

* Fix UI for ephemeral locations

* Fix windows

* Passing ephemeral thumbnails to thumbnails remover

* Indexing rules for ephemeral paths walking

* Animate Location button when path text overflow it's size

* Fix Linux not showing all volumes

* Fix Linux
 - Add some missing no_os_protected rules for macOS
 - Improve ephemeral location names

* Remove unecessary import

* Fix Mobile

* Improve resizing behaviour for ephemeral location topbar path button
 - Improve Search View (Replace custom empty component with Explorer's emptyNotice )
 - Improve how TopBar children positioning

* Hide EphemeralSection if there is no volume or home
 - Disable Ephemeral topbar path button animation when text is not overflowing

* minor fixes

* Introducing ordering for ephemeral paths

* TS Format

* Ephemeral locations UI fixes
 - Fix indexed Locations having no metadata
 - Remove date indexed/accessed options for sorting Ephemeral locations
 - Remove empty three dots from SideBar element when no settings is linked

* Add tooltip to add location button in ephemeral locations

* Fix indexed Locations selecting other folder/files in Ephemeral location

* Minor fixes

* Fix app breaking due to wrong logic to get item full path in Explorer

* Revert some recent changes to Thumb.tsx

* Fix original not loading for overview items
 - Fix QuickPreview name broken for overview items

* Improve imports

* Revert replace useEffect with useLayoutEffect for locked logic in ListView
It was causing the component to full reload when clicking a header to sort per column

* Changes from feedback

* Hide some unused Inspector metadata fields on NonIndexedPaths
 - Merge formatDate functions while retaining original behaviour

* Use tauri api for getting user home

* Change ThumbType to a string enum to allow for string comparisons

* Improve ObjectKind typing

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-08-23 17:26:07 +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
Aditya e4b03619d2
[ENG-971] More File Icons (code extensions) (#1217)
* added bearded icons

* implemented bearded icons

* Made separate `LayeredFileIcon` component

* Delete index.tsx

* Update LayeredFileIcon.tsx

* Update LayeredFileIcon.tsx

* Update Thumb.tsx

* modified `generate.mjs` file

modified `generate.mjs` file to automatically generate index file for our icons

* Automatically generated by `generate.mjs` script

auto generate files are also included in code, so i also included it

* `bearded-icons` in `ext` folder

* Update LayeredFileIcon.tsx

* Update LayeredFileIcon.tsx

* formatted LayeredFileIcon.tsx

* Update Thumb.tsx

* added more icons to utilize

* made seperate file for `IconMapping`

* fixed typescript error by `Record<string, React.ReactElement>`

* More fixes in typescript

BTW, I am still learning TypeScript, but I know at least how much is required to get my work complete.

* moved icons to `assets/svgs/ext`

* added `kind !== 'Code'`

* Update Thumb.tsx

* Enable LayeredFileIcon for any file icon
 - Change IconMapping to define layered icons by kind/extension, instead of just extensions
 - Always render LayeredFileIcon component and determine whether the layered icon should or not be rendered internally
 - Format code

* Using our own name conventions

* `getLayeredIcon` implementation

* using our own directory structure

* directory structure

* fix 1

* fixed relative import

* `getLayeredIcon` utility implementation

* for our `kind`/`extention`.svg folder structure

* improvements in `getLayeredIcon`

* added icons in `Code`

* Delete IconMapping.tsx

* fixed imports

* fix typescript, mobile svg handling etc

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-08-22 14:45:31 +00:00
ameer2468 fe51d54075
[ENG-607] Explorer persist options (#1189)
* Structs for views

* hook up new preferences types to preferences system

* wip - draft

* laters useEffect, hi explorer context :D

* fix types

* wip

* hm

* preferences wip

* tweaks

* use search::SortOrder

* Refactor explorer settings to use useExplorer and useExplorerSettings (#1226)

refactor to use useExplorer and useExplorerSettings

* preferences

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2023-08-18 08:19:54 +00:00
ameer2468 a0a1c67664
missplaced dialogs (#1227)
* remove

* remove
2023-08-17 13:06:59 +00:00
Oscar Beaumont bcbbe58141
[ENG-974] DB Backup prototype (#1216)
* DB Backup prototype

* Put backups behind feature flag

* Warning for data folder

* nit

* Clippy

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-08-17 05:37:10 +00:00
Vítor Vasconcellos 1b28343304
Fix Server CI running out of disk space (#1222) 2023-08-16 21:01:39 +00:00
ameer2468 5b6394ee54
[ENG-967] Reset confirmation for db sd reset (#1221)
Reset confirmation for db sd reset
2023-08-16 07:16:18 +00:00
Vítor Vasconcellos c86a728a1a
Update server Dockerfile due to crate name change (#1211)
* Update server Dockerfile due to crate name change

* Forgot that the bin name changed too
2023-08-12 21:00:16 +00:00