Commit graph

953 commits

Author SHA1 Message Date
ameer2468 d689e7e58a
[ENG-1750] Update context menu colors (#2369)
update context menu colors
2024-04-21 14:28:27 +00:00
Oscar Beaumont 947354f6c0
Remove files over p2p feature (#2364)
* goodbye

* types

* a
2024-04-20 03:21:20 +00:00
Brendan Allan 663d1e9f1e
Group create and initial update operations into Create (#2329)
* ignore update after delete in sync

* Group create and initial update operations into Create

* fix ts

* fix sync generator

* fix sync debug route

* oops
2024-04-18 03:53:16 +00:00
Utku 544f275e49
[ENG-1695] Global setting for explorer views (#2333)
* why do i translate everytime i open the app

* default explorer settings
2024-04-17 02:02:06 +00:00
Oscar Beaumont e77a475e61
Date header is not working (#2321)
* wip

* more

* bindings

* show date taken

* improve date lookup and include placeholder

* date taken

---------

Co-authored-by: nikec <nikec.job@gmail.com>
2024-04-15 12:53:11 +00:00
Oscar Beaumont 8be59659d8
DB Vacuum Button (#2312)
* Do the thing

* Retry

* fix types

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-04-12 18:15:56 +00:00
Brendan Allan effee2140d
Tag preferences (#2313)
* tag preferences

* types
2024-04-12 10:17:46 +00:00
Oscar Beaumont 2848782e8e
OpenDAL - Ephemeral Locations (#2283)
* `sd-indexer` crate

* more wip

* wip

* fix

* IndexerRules + error handling

* wip

* Fix it

* Thumbnailer

* Link locations

* Workaround rspc's requiring `Sync` for streams.

* I hate this

* Sorting

* fix

* fix

* fix paths

* Fix double file extension

* Fix thumbnailer

* Clippy

* Fix indexer rules

* fix

* lockfile
2024-04-12 06:51:51 +00:00
Arnab Chakraborty 66063d22c2
[ENG-1365] Move to Trash (#2318)
* Working System Trash Connection

* small changes and prettier

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2024-04-12 05:01:37 +00:00
Brendan Allan 785dd74297
fix types (#2316) 2024-04-12 03:02:42 +00:00
Ericson "Fogo" Soares 67554c89b3
[ENG-1724] Introduce scan state for location (#2302)
Done
2024-04-10 16:19:59 +00:00
Brendan Allan 504242f97e
[ENG-1723] better sync status (#2299)
* better sync status

* cleanup
2024-04-09 03:14:51 +00:00
Ericson "Fogo" Soares 6b760b0b2a
[ENG-1628] Write new indexer with the task system (#2161)
* Moving file-path-helper to a sub-crate on core

* Parallel walker tested and working

* Change inner core crate names to sd-core-* naming scheme

* Moving stuff around

* Save and Update tasks for the new indexer job

* Some initial drafts on the new job system

* More drafts on job system

* Changing walker task to a more explicit state machine
Also drafting more of job system

* More drafting on job resume

* Completed the draft on job system inner workings

* New job context abstraction to decouple library stuff from job system

* Properly use composition on task dispatcher

* First draft on indexer job

* Job serialization

* Handling ancestors in the distributed walker for indexer

* Saving computed directories sizes on a location to db

* Enable a way to check if jobs are running in a location

* Progress reporting on indexer job

* Reorganizing modules

* Shallow indexer

* Rust fmt

* Attempting windows CI fix

* Attempting windows CI fix again

* Attempting windows CI fix again
2024-04-08 14:32:44 +00:00
Arnab Chakraborty 20d9878968
Disable Labeler (#2288)
* Disable Labeler

* Auto format and lint

* Comment out regen labels context menu entry

* Comment out some more labels references

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-04-05 19:41:11 +00:00
Brendan Allan f168b5e45d
Better search (#2262)
* Revert "Revert "remove fixed filters" (#2261)"

This reverts commit 5b40cefe37.

* search sources

* only set default filters if no filters

* key saved search page on id and use raw search as searchbar default

* fix crate versions

* put media view filters in a dedicated hook

* remove ts-reset

* add comment about <Inner>

* generics!

* cleanup

* search paths/objects switch (#2278)

* feature flag target switcher

* use useZodParams in saved search route
2024-04-05 15:40:46 +00:00
Arnab Chakraborty 888ab5639b
[ENG-1483] Right Click -> New File (#2276)
* feat: Right Click -> New File

Creates an empty file called `Untitled` and adds `(1) -> (n)` for n number of files with the same `Untitled` name.

* feat: Seperate into Text File and Empty File

* chore: `cargo fmt`

* fix: Forgot to type convert to String

* feat: Working creation

* fix: i18n changes

* More i18n

* All added tags now translated

* With proper types checking now!

* Fix types

* chore: formatting
2024-04-04 04:20:31 +00:00
ameer2468 21a0ec0869
[ENG-1699] Pin Job manager (#2264)
* wip

* minor cleanup

* Update Popover.tsx

* remove prop
2024-03-29 16:48:05 +00:00
nikec 2f5271e453
[ENG-1215] List view size customisation (#2254)
* base

* calculate line height on demand

* fix max update

* fix max update on resize

* read types directly

* sizing

* better size handling

* also handle text box padding on demand
2024-03-27 15:15:07 +00:00
nikec b776e4c55c
[ENG-1696] Fix Asian characters text wrapping (#2253)
no wrap
2024-03-27 10:27:23 +00:00
Utku 9a1cdf1dca
Fix all the weird eslint warnings (#2245)
* actually fix the weird lint errors

* Prettier auto-format

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-03-26 20:46:44 +00:00
Brendan Allan 94ca18925d
[ENG-1691] Sync status subscription (#2246)
* sync status subscription

* clippy
2024-03-26 07:26:37 +00:00
Vítor Vasconcellos e5b57aa0ea
New test: Add location (#2222)
* New test: Add location
 - Add script to download some test files to allows tests to have a stable path for creating locations
 - Improve onboarding test
 - Add custom Cypress commands for fastOnboarding and deleteLibrary
 - Add some documentation related to tests to CONTRIBUTING.md
 - Update some deps

* Download small test-data for Cypress CI

* Replace globstar with find to make it compatible with bash 3.x

* Fix react too many re-renders
 - add-location test should now pass successfully

* Make job model task text match less flaky

* Check if we were redirected to onboarding after Library was deleted
 - Check if sidebar entry was created after adding a location
 - Put route regex's into a separate file
 - Make onboarding test ensure that no Library exists before running

* Enable test retries
 - Log cypress default config during test run

* Run tests under webkit
 - Pass CI envvar to tests to ensure correct cypress config

* Attempt fix CI config again

* Remove single use checkUrlIsLibrary function
2024-03-23 21:24:16 +00:00
ameer2468 e148028e2f
[MOB-75] New screens, design fixes, and more (#2229)
* WIP: categories screen, design updates, and more

* redesigned import modal, android ui fixes, and more

* more ui fixes and improvements

* more ui tweaks and updates

* change color

* pnpm-lock

* Update LocationSettings.tsx

* Update BrowseTags.tsx

* eslint

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml

* Update BrowseTags.tsx
2024-03-22 14:12:30 +00:00
Oscar Beaumont f2477d47d9
Remove IdentityOrRemoteIdentity (#2220)
* wip

* wip

* fix migrations

* fix

* Fix Prisma migrations + fire new app migration

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2024-03-22 01:18:50 +00:00
Vítor Vasconcellos 08c42a36fe
[ENG-1624] E2E Tests (#2192)
* Basic cypress test

* Add e2e test command

* Add full e2e test for creating and deleting a library

* Add cypress to CI

* Fix cypress CI
 - Use arm macos for running cypress
 - Setup rust on cypress job
 - Increase cypress CI timeout

* Remove unused APPLE_SIGNING_IDENTITY envvar

* Update deps again + Try to fix Cypress CI setup

* Update deps again

* Only test default location if it exists

* Use latest v18 NodeJS in CI

* Increase minimum node version due to updated dependency
 - @typescript-eslint/eslint-plugin now requires node >=18.18

* Fix testing failing for optional default locations

* Enable video recording
 - Fix screenshot and video artifact uploading

* Fix location test
 - Use correct location name, instead of trying to derive it from the internal id
2024-03-19 20:22:17 +00:00
Brendan Allan 3afc3bd34f
fix cloud sync and operations (#2218)
* fix cloud sync and operations

* remove some logs

* cleanup
2024-03-18 08:51:16 +00:00
Oscar Beaumont 7dc0880f8b
P2P Metadata Cache + Sidebar (#2208)
* wip

* wip

* Render peers in sidebar

* clippy

* stringify on server

* don't stringify

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-03-14 09:12:29 +00:00
Jamie Pine aa789199ef
Landing updates (#2205)
* team page mods

* remove bloom, always hated it on this screen

* fix matthew url

* add arnab
2024-03-14 00:39:46 +00:00
ameer2468 1fd217c9af
[ENG-1679] Video intro fix & darker color (#2204)
* Fix bg

test vid update

fix vid fragments

fix intro

black mobile intro

lint

* update vid

* pascal case

* file glitch

* files

* Update GetStarted.tsx
2024-03-13 21:50:21 +00:00
Utku 4fc8dcfb48
[MOB-69] Infinite scroll & explorer query hooks (#2197)
* run sim before everything

* move passwordmeter

* annoying maestro

* remove bad extension from recom

* move explorer query logic to @sd/client

* update mobile packages

* working explorer

* search with the new query

* tag explorer

* revert maestro version bump
2024-03-13 20:53:00 +00:00
Oscar Beaumont 2ca88a5d6b
Refactor P2P Hooks (#2193)
* Basic AF server

* wip

* Add autonat to relay server

* Add autonat client + fixes

* Deploy script

* wip

* Debug view

* wip

* wip

* relay all events

* wip

* fix

* wip

* libp2p man spoke

* dctur

* Relay config file

* Advertise relay server

* Dynamic relay configuration

* wip

* p2p relay config

* cleanup

* push instances into p2p state

* fix

* Fix up TS

* refactor p2p hooks

* fix backend state

* Skip self

* a

* b

* Relay config in debug query

* Fix method name

* tsc is broken on my machine

* a

* Incorrect typecasts. Can we just ban them

* fix types
2024-03-13 06:43:22 +00:00
Brendan Allan 79530f1e4e
Fix sync tests (#2194)
* Fix sync tests

* fix build
2024-03-13 05:34:14 +00:00
Utku d60789e588
Make eslint happy (#2198)
* eslint maxing

* @sd/ui too
2024-03-12 20:41:41 +00:00
Arnab Chakraborty 3bd1622e93
[MOB-23] Mobile Hardware Information for Overview Page (#2106)
* wip for iDevices

* Working HardwareModel Info for iOS

* wip

* Merge 'main' into 'mob-hw-info-overview'

* Half-Working `get_volume()`

* Objective c bridge to talk to FS

* Working objc bridge

The bridge works now, and we can now access the iOS file system using the native objective-c APIs instead for proper values, including on the simulator.

* Isolate `icrate` for `ios` deployments only

* Working Stats for Android

* Clean Up + `pnpm format`

* Fix to FSInfoResult Type

Due to the RNFS fork change, I had to change the types to make it so it doesn't fail building and CI.

* iOS Device Name Fix
2024-03-06 06:46:22 +00:00
ameer2468 a1c5639b03
MacOS: Fix video intro (#2165)
* macos use mp4 - others use webm

* macos use mp4 - others use webm
2024-03-05 16:01:57 +00:00
Brendan Allan 267cc9c97a
fetch library list alongside retrieving cache (#2162) 2024-03-05 12:27:36 +00:00
Ericson "Fogo" Soares 68ca2382fd
[ENG-1627] Move all jobs and actors to an "Old" namespace (#2157)
* Bunch of new warns due to a stronger clippy config

* Moving old processing stuff to a new namespace
Also fixing a bunch of typos through the entire codebase.

* Rustfmt
2024-03-04 18:57:35 +00:00
Vítor Vasconcellos 8e271c007f
Lock version of patched dependencies (#2151)
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
2024-03-01 01:57:27 +00:00
Oscar Beaumont 2cc828c4af
Everything over P2P (#2135)
* 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
2024-02-29 07:46:30 +00:00
Vítor Vasconcellos 5a103fb21b
[ENG-1472] Frontend bug fixes and dependencies update (#2137)
* 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

* ¯\_(ツ)_/¯
2024-02-28 23:52:24 +00:00
nikec 1b834dd4be
[ENG-1460] Fix dropdown spacing (#2142)
fix dropdown spacing
2024-02-28 15:37:39 +00:00
Utku b6c7ead854
[MOB-4] Toast messages (#2132)
* cleanup and add toast package

* fix screen container & use scrollview by default

* more cleanup and toast api

* now it works hmm

* toasts
2024-02-28 09:33:24 +00:00
Brendan Allan e8f329de49
[ENG-1614] Remove @default from synced models (#2134)
Remove @default from synced models
2024-02-28 04:56:29 +00:00
Brendan Allan c8dc7e3d4d
[ENG-1613] Enable sync operation generation with backfill (#2128)
Enable sync operation generation with backfill
2024-02-27 09:37:34 +00:00
Vítor Vasconcellos 6a32752243
Fix core test and CI breaking (#2116)
Fix core test passing inverted arguments to sync_db_entry macro
2024-02-22 06:15:36 +00:00
Utku b638fc2177
[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>
2024-02-21 13:26:05 +00:00
Brendan Allan c533d12df0
media data sync (#2102)
* basic sync operation backfill

* media data sync

* sync entry helpers

* fix sync generator

* nicer

* re-add key_id
2024-02-21 11:42:10 +00:00
Oscar Beaumont 519b1b6c46
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>
2024-02-21 08:13:40 +00:00
Brendan Allan 9bc1a472a8
Basic sync operation backfill (#2101)
* basic sync operation backfill

* no changes
2024-02-20 09:22:34 +00:00
ameer2468 19b224370e
[ENG-1615] bg intro video fixed (#2104)
* video intro bg

* test hsl

* test video bg

* run tests

* comment

* mob intro

* git glitch

* git

* webm type
2024-02-19 20:45:29 +00:00