Fix eslint warning
- Fix some subdependencies requiring an older @typescript-eslint/parser version that is incompatible with the current version of typescript
- Add react-router and react-router-dom version lock to ensure pnpm doesn't download a version incompatible with our patched @remix/router
- Add version lock to @remix-run/router to avoid incompatibilities with our patched version
* start
* docs
* mhm
* docs
* roadmap beep beep
* x
* mobile image
* added stuff
* updates
* updates
* well yes
* integrity and longevity
* correction
* Update apps/landing/posts/drag-and-drop.mdx
Co-authored-by: pr <pineapplerind.info@gmail.com>
* just 10k more downloads in the time its taking me to finish this pr
* op
* docs: fix general wording
* docs: add URL to docs and set date to when 0.2.4 was released
* docs: add url to roadmap
* Remove languages for which we don't have a translation yet
* auto format
* Checkout pnpm-lock.yaml from main
---------
Co-authored-by: pr <pineapplerind.info@gmail.com>
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* Working External Storage Locked Locations
We can now add Downloads (A location locked by MANGE_EXTERNAL_STORAGE) on Android.
* Navigate to added page
Adding location now navigates to the added location explorer.
* Way simpler solution
Found a way simpler solution, that doesn't require query calls.
* Clean up
Remove unused import calls.
* Attempt to get Location Watcher working
Well, Location watcher doesn't want to run. But I wanted to push the `xcrun` command to the README.
Also, locations now actually show files, but break on displaying recursive folders (folder content in a folder).
* Quick clean up + Working full rescan
locations.fullRescan works now on mobile with 0 issues. It can recognize orphan paths and when new files are added.
But, Location-Watcher for some reason doesn't want to run automatically when the file system change occurs.
* Working iOS Watcher
Location Watcher now works for iOS when files are created. However, it can't understand the file delete event yet.
* Functional watcher for iOS
The watcher system is now fully functional on iOS, with a few bugs to patch regarding the delete function freezing the system up.
* Update ios.rs
* See Logs on Android
Finally figured out how to see the logs from Android.
* Update CONTRIBUTING.md
* Updated to Stable & Working
* Working Android Build + Explorer working again
* wip
* wip
* Squashed commit of the following:
commit a7bc3b908d
Merge: 201913a12899aa3f
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date: Tue Feb 6 16:18:42 2024 -0500
Merge branch 'main' of https://github.com/Rocky43007/spacedrive
commit 2899aa3fa5
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 6 19:30:53 2024 +0300
[ENG-1594] Change online to connected (#2060)
: This is a combination of 3 commits.
Change online to connected
remove offline
json
commit 48634c22aa
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 6 17:49:16 2024 +0300
[MOB-54] UI Fixes (#2059)
* UI fixes - rive animation - SD version in settings - and more
* twStyle
commit 4e70246467
Author: Jesse Rodrigo <39565615+JSSRDRG@users.noreply.github.com>
Date: Tue Feb 6 11:41:05 2024 +0100
Dutch locale (#2054)
* nl locale
* add nl entry
* improve some wording
commit bb0d0af6a0
Author: Brendan Allan <brendonovich@outlook.com>
Date: Tue Feb 6 17:13:47 2024 +0800
[ENG-1548] use in-memory instances when sending messages to cloud (#2057)
* use in-memory instances when sending messages to cloud
* comments
commit 2d0c340e58
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 6 06:03:33 2024 +0300
[MOB-47] Location screen and header updates (#2056)
* Location screen and header updates
* use tw sizing
* remove un-necessary prop
* Nit: change name
commit 58f9305965
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date: Mon Feb 5 07:06:47 2024 -0500
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
commit 2ff1ffcb9c
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Sun Feb 4 23:52:26 2024 +0300
Fix Chinese language (#2050)
* fix chinese
* remove console.log
* Squashed commit of the following:
commit bda9a1b6ee
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Wed Feb 7 20:25:04 2024 +0300
[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>
commit da2841b37a
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Wed Feb 7 16:47:55 2024 +0300
More translations (#2051)
* translations
* more translation keys
* all the translations
* Added Cleaning Script
* Prep for PR
* Clean up + `cargo fmt`
* Update mod.rs
* Squashed commit of the following:
commit 2dc233f1b4
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Fri Feb 9 18:42:42 2024 +0300
Update readme & contributing guide & language stuff (#2071)
* updates
* keep common errors
* fix selector being empty for english
* sort by label
* update contributing
* update ndk and docs
* Update CONTRIBUTING.md
commit 177b2a23d6
Author: Brendan Allan <brendonovich@outlook.com>
Date: Fri Feb 9 21:20:51 2024 +0800
sync support for labels (#2070)
* more sync support for file paths + saved searches
* sync support for labels
* update sync prisma generator to support more than tags
* workey
* don't do illegal db migration
* use name as label id in explorer
commit 6f28d8ec28
Author: Brendan Allan <brendonovich@outlook.com>
Date: Fri Feb 9 16:17:04 2024 +0800
More sync support for file paths + saved searches (#2067)
more sync support for file paths + saved searches
* Update build-rust.sh
Fix script so it doesn't build debug apps always now.
* Add Tests for iOS
* Update android.rs
PR 1812 was closed, therefore changing the message to mention the branch instead.
* Change `--debug` to `--release`
Oops
* Remove debug cargo crate for `notify-rs`
* Spelling Fix on `android.rs`
* Squashed commit of the following:
commit dba85ebac3
Author: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
Date: Mon Feb 26 16:45:58 2024 -0300
[ENG-1513] Better integration between Jobs and processing Actors (#1974)
* First draft on new task system
* Removing save to disk from task system
* Bunch of concurrency issues
* Solving Future impl issue when pausing tasks
* Fix cancel and abort
* Bunch of fixes on pause, suspend, resume, cancel and abort
Also better error handling on task completion for the user
* New capabilities to return an output on a task
* Introducing a simple way to linear backoff on failed steal
* Sample actor where tasks can dispatch more tasks
* Rustfmt
* Steal test to make sure
* Stale deps cleanup
* Removing unused utils
* Initial lib docs
* Docs ok
* Memory cleanup on idle
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
commit 53713a9f59
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 26 18:53:37 2024 +0300
[ENG-1625] Spacedrop UI correct hover condition & spacing (#2127)
* improve spacedrop ui with correct hover & spacing
* remove
commit 6f27504e5f
Author: Matteo Galiazzo <50683509+gekoxyz@users.noreply.github.com>
Date: Mon Feb 26 16:20:41 2024 +0100
added it locale, added it entry (#2066)
* added it locale, added it entry
* Apply suggestions from code review
Co-authored-by: Matteo Martellini <matteo@mercxry.me>
* add missing keys and a readme about the script
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Matteo Martellini <matteo@mercxry.me>
commit 28328034f0
Author: jake <77554505+brxken128@users.noreply.github.com>
Date: Mon Feb 26 15:17:28 2024 +0000
Clean-up MacOS window closing behaviour code (#2124)
* fix: delete dead/unused file
* refactor: add the window event handler with the rest of them
* refactor: formatting
commit aa0b4abf85
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date: Mon Feb 26 15:23:48 2024 +0800
rspc over P2P (#2112)
* wip: rspc over p2p
* wip
* rspc over P2P
* Cleanup + error handling
* slight cleanup
* Using Hyper for HTTP streaming + websockets
commit f7a7b00e37
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Fri Feb 23 11:26:58 2024 -0500
Fix android thumbs (#2121)
* replace react-native-fs with an active fork
* time sink
* fix
commit 6358c574c9
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Fri Feb 23 00:28:35 2024 +0300
Mob: cleanup warning (#2122)
Update Categories.tsx
commit a4b7296b45
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Thu Feb 22 16:08:41 2024 +0300
MOB: Settings paddings (#2120)
padding tweaks
commit d007b55763
Author: nikec <43032218+niikeec@users.noreply.github.com>
Date: Thu Feb 22 13:53:02 2024 +0100
[ENG-1619] Add spacedrop to the context menu (#2119)
add spacedrop to context menu
commit dd0acad2e7
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Thu Feb 22 15:47:08 2024 +0300
[ENG-1618] Spacedrop UI (#2118)
* spacedrop ui update
* i18n and description
* glitch: remove !
* already in progress i18n
* more i18n
commit a17fb910ed
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Thu Feb 22 15:20:31 2024 +0300
[MOB-62] Spacing & padding tweaks (#2117)
Spacing & padding tweaks
commit 6a32752243
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date: Thu Feb 22 03:15:36 2024 -0300
Fix core test and CI breaking (#2116)
Fix core test passing inverted arguments to sync_db_entry macro
commit da4f038669
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Wed Feb 21 17:19:40 2024 +0300
Mob: better visually width fitting for categories (#2114)
* Visually width fitting for categories
* remove padding
commit 3bdcc05c2d
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date: Wed Feb 21 11:18:15 2024 -0300
Fix mobile CI + Some small CI improvements (#2113)
Fix mobile CI
- Use rust envvars in all workflows
- Use rust envvars and mold when build sd-server docker
commit b638fc2177
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Wed Feb 21 08:26:05 2024 -0500
[MOB-37, MOB-38, MOB-39] Preview for PDF, Text and Media files (#2098)
* version & microphonePermission text & eslint
* remove polyfill as hermes supports intl now
* why do we have solid on mobile?
* cleanup
* add solid back =_=
* pnpm lock
* we hate relative paths here
* android config
* open file logic
* visual tweaks
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
commit c533d12df0
Author: Brendan Allan <brendonovich@outlook.com>
Date: Wed Feb 21 22:42:10 2024 +1100
media data sync (#2102)
* basic sync operation backfill
* media data sync
* sync entry helpers
* fix sync generator
* nicer
* re-add key_id
commit 393a907b57
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date: Wed Feb 21 06:27:40 2024 -0300
Update github actions due to nodejs 16 deprecation (#2107)
* Update github actions due to nodejs 16 deprecation
- Replace archived actions-rs/clippy-check with maintained fork actions-rs-plus/clippy-check
- Replace redhat-actions/push-to-registry with updated fork Eusebiotrigo/push-to-registry
- Point redhat-actions/buildah-build and softprops/action-gh-release to current master to fix nodejs deprecation
* Build the correct ios core rust arch for CI runs
* Build ios app for the same arch as the host in Mobile CI
* Some changes to try and make cache-factory faster and avoid failing so much
* Add trigger to run cache-factory on pull requests when there are changes to itself
* Attempt to fix sed usage on macOS
* Don't treat warning as errors
* Fix windows
* Fix windows 2
* Use target ad cache key for rust to differentiate between macOS x86_64 and arm64
* Use faster/better linkers to compile for macOS, Linux and Windows
* Fix missing shell in action
* Fix typo
* Fix missing shell in action 2
* Fix mold download
- Replace bsdtar with plain tar
* Fix permission denied when extracting mold
* Remove zld
* Don't restore cache for rustfmt
- Remove target symlink to C:/ in an attempt to speed-up windows CI
* Fix typo
* Restore target symlink on windows
- Removing it didn't make CI faster
* Run Mobile on macos-14
commit 519b1b6c46
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date: Wed Feb 21 16:13:40 2024 +0800
Fix P2P not working for libraries (#2031)
* 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
* rebuild state
* Add hooks + listeners + discovered state
* Split into crates
* wip fixing core + wip merging Spacetime into `sd-p2p2`
* `SmartLockGuard` + `Listener`
* Make `sd-core` compile
* Reenable all operation receivers
* Fix all broken code within `sd-core`
* minor fixes found in review
* Bring in `libp2p` + restructure `sd-p2p` for the gazillion-th time
* whoops
* Compile no matter the (runtime) cost
* fixing merge issues
* wip
* a
* b
* C
* Handle port betterer
* c
* Migrate node config
* a
* no crash on startup
* wip
* a
* jdfhskjfsg
* a
* fix discovery
* a bunch of fixes
* getting Spacedrop working
* I don't get why it no worky
* debug example
* a
* wip
* wip
* removing logging from stream impl
* wip: shit is fucked
* Redo quic integration + Spacedrop working
* Fix shutdown - deadlocks + shutdown peers
* Add Prisma migrations
* Fix shutdown
* a
* fix
* cleanup
* The lord clippy hath spoken
* disable P2P settings for now
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
commit af8dbf7789
Author: Julian Braha <julianbraha@gmail.com>
Date: Tue Feb 20 20:06:05 2024 +0000
Improve error handling by using decode::Error instead of io::Result (#2078)
Use decode::Error instead of io::Result
commit 84dadffa81
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 20 22:59:11 2024 +0300
[MOB-59] Empty UI for locations and tags screen (#2110)
Empty UI for locations and tags screen
commit 9fc38d866a
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 20 22:47:14 2024 +0300
[MOB-60] locations & tags query invalidation on updates (#2111)
Trigger UI updates on location adding/delete and tags
lint
name
commit abd5ecbe8d
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 20 13:05:53 2024 +0300
mousedown fix (#2108)
quick mistake fix
commit 9bc1a472a8
Author: Brendan Allan <brendonovich@outlook.com>
Date: Tue Feb 20 20:22:34 2024 +1100
Basic sync operation backfill (#2101)
* basic sync operation backfill
* no changes
commit 2a283479e6
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date: Tue Feb 20 01:33:52 2024 -0500
New Android Build Script (#2096)
* New Android Build Script
* Clean up + Works for CI now
* Simplify android build.sh
- Fix /var/home/vitor fallback for Linux systems
- Run a single cargo ndk for all targets (not parallel build, but a bit faster)
- Fix android target s/x86/x86_64/
- Format setup.sh
- Minor improvements to rust mobile targets installation step in setup.sh
* Add notice to CONTRIBUTING that only Java <= 17 is supported for building android
- Make prettier ignore some mobile build artifacts
* When in CI, Fix build android core for host architecture
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
commit 19b224370e
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 19 23:45:29 2024 +0300
[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
commit 43360601da
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 19 19:12:11 2024 +0300
[MOB-58] Settings routes new design & more (#2103)
* wip: redesigning settings pages
* Edit location redesign & more
* right actions
* cleanup
commit e8450821df
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 19 18:23:20 2024 +0300
[ENG-1612] Fix mouse nav forwards and backwards (#2105)
Fix mouse nav forwards and backwards
* Clean up commented code
* Clean up + Remove `LocationOnboarding.tsx`
* Fix websockets over P2P + multi-node cache
* cleanup features
* Explorer over P2P demo
* wip
* wip
* working for ephemeral stuff
* Button to get out of remote viewer
* remove
* Cleanup
* more cleanup
* Fix cross-node library queries
* Files over P2P
* Drop `Header::File`
* Fix Clippy
* Don't let noobs get hacked
* Fix onboarding sometimes not redirecting to Explorer on prod builds
- Fix failure trying to compile landing prod builds outside Vercel
- Fix Server docker failing to restart due to some incorrecting logic for creating the unprivileged users erroring out
- Fix Storybook failing to build due to updates to Vite
- Update Storybook dependencies
- Remove unused Inter font dependency
- Fix some incorrect references to NodeJS types inside web code
- Fix $libraryId index using the incorrect redirect function
- Improve error handling for the $libraryId index route
- Fix Prism not being correctly loaded, and failing to register its plugins
- Improve Prism loading error handling
- Small improvement to the text highlight logic
- Fix SCSS deprecation for untyped hsl values
- Fix library query cache incorrectly saving empty values, which lead to the onboarding redirect bug
- Patch contentLayer to fix an error during the final part of it's build process
- Update most dev dependencies
- Update publish-artifact to be compatible with new @actions/artifact
- Fix issue with new vite-plugin-solid failing to build our .ts files due to the removal of the typescript plugin
- Fix pnpm overrides not applying due to incorrect placement in package.json
- Replace deprecated react-tsparticles and updated three used by the Bubbles background in the landing page
- Rework Bubbles background to be compatible with new @tsparticles/react
- Update @sd/config dependencies
- Update @sd/scripts dependencies
* Implement suggestions
- Replace mobile JS node setup with custom setup-pnpm action
- Handle GITHUB_SECRET default value in code and throw a warning when it is not set
- Fix pnpm now resolving the correct node version when building Spacedrive server docker
- Add missing getent command to spacedrive server docker
- Fix typo in entrypoint.sh
- Implement a more robust check if the user is already in a group
- Fix adduser failing due to missing default group
- Disconnect IntersectionObserver on component unmount
- Improve prism import comment
* Implement more suggestions
- Pin genent version to latest stable release of UClibc
- Add checksum checks for all ADD clauses in Spacedrive server Dockerfile
* Increase Maestro timeout to reduce CI failures due to slow simulator startup
* Dowgrade maestro to workaround CI timeout
* Improvements to the script that run maestro mobile tests
- Increase the amount of retries for a maestro test run to 6
- Increase Maestro driver startup timeout to 2 minutes
* Let run-maestro-tests.sh decide how to run itself
* ¯\_(ツ)_/¯
* updater i18n
* more translations
* interpolate version number in translations
* [ENG-1598] Don't show update toast if no previous version (#2125)
don't show update toast if no previous version
* version & microphonePermission text & eslint
* remove polyfill as hermes supports intl now
* why do we have solid on mobile?
* cleanup
* add solid back =_=
* pnpm lock
* we hate relative paths here
* android config
* open file logic
* visual tweaks
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* Update github actions due to nodejs 16 deprecation
- Replace archived actions-rs/clippy-check with maintained fork actions-rs-plus/clippy-check
- Replace redhat-actions/push-to-registry with updated fork Eusebiotrigo/push-to-registry
- Point redhat-actions/buildah-build and softprops/action-gh-release to current master to fix nodejs deprecation
* Build the correct ios core rust arch for CI runs
* Build ios app for the same arch as the host in Mobile CI
* Some changes to try and make cache-factory faster and avoid failing so much
* Add trigger to run cache-factory on pull requests when there are changes to itself
* Attempt to fix sed usage on macOS
* Don't treat warning as errors
* Fix windows
* Fix windows 2
* Use target ad cache key for rust to differentiate between macOS x86_64 and arm64
* Use faster/better linkers to compile for macOS, Linux and Windows
* Fix missing shell in action
* Fix typo
* Fix missing shell in action 2
* Fix mold download
- Replace bsdtar with plain tar
* Fix permission denied when extracting mold
* Remove zld
* Don't restore cache for rustfmt
- Remove target symlink to C:/ in an attempt to speed-up windows CI
* Fix typo
* Restore target symlink on windows
- Removing it didn't make CI faster
* Run Mobile on macos-14
* 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
* rebuild state
* Add hooks + listeners + discovered state
* Split into crates
* wip fixing core + wip merging Spacetime into `sd-p2p2`
* `SmartLockGuard` + `Listener`
* Make `sd-core` compile
* Reenable all operation receivers
* Fix all broken code within `sd-core`
* minor fixes found in review
* Bring in `libp2p` + restructure `sd-p2p` for the gazillion-th time
* whoops
* Compile no matter the (runtime) cost
* fixing merge issues
* wip
* a
* b
* C
* Handle port betterer
* c
* Migrate node config
* a
* no crash on startup
* wip
* a
* jdfhskjfsg
* a
* fix discovery
* a bunch of fixes
* getting Spacedrop working
* I don't get why it no worky
* debug example
* a
* wip
* wip
* removing logging from stream impl
* wip: shit is fucked
* Redo quic integration + Spacedrop working
* Fix shutdown - deadlocks + shutdown peers
* Add Prisma migrations
* Fix shutdown
* a
* fix
* cleanup
* The lord clippy hath spoken
* disable P2P settings for now
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
* New Android Build Script
* Clean up + Works for CI now
* Simplify android build.sh
- Fix /var/home/vitor fallback for Linux systems
- Run a single cargo ndk for all targets (not parallel build, but a bit faster)
- Fix android target s/x86/x86_64/
- Format setup.sh
- Minor improvements to rust mobile targets installation step in setup.sh
* Add notice to CONTRIBUTING that only Java <= 17 is supported for building android
- Make prettier ignore some mobile build artifacts
* When in CI, Fix build android core for host architecture
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* 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
* mobile overview screen
* cleanup
* Update BrowseLocations.tsx
* Update StatCard.tsx
* only show new card when locations empty
* disable pods cache for now
* eslint
* fix cocoapods version
* cleanup
* Update Categories.tsx
* ScreenContainer component instead of repeating code
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* 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
* 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
* 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>
* 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>
* 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>
* 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
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
* 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>
* 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>
* 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`
* `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`
* 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>
* 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
* 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>
* 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
* 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>
* 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>
* 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)
* 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>
* 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>
* basic FDA start
* FDA checks and prompt
* lockfile
* misc clippy
* Some small warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* 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
* 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
* 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
* 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
* 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.
* 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>
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
* 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>
* 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
* 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>
* /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
* 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