* 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
* 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
* 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>
* - 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>
* 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
* 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>
* 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>