* Refactor cross-tls-crate-dylib configuration and update test output
- Commented out the crate-type configuration in Cargo.toml for cross-tls-crate-dylib.
- Modified the initial value of the thread-local variable FOO from 2.0 to 1.0 in the main.rs test file.
- Updated the output message in main.rs to be more descriptive.
- Added a new field `tls_fixups` to the JumpTable struct in subsecond-types, which will facilitate future runtime TLS sharing.
* ws hotpatch!
* remove old file
* undo core change
* svh
* Enhance rlib path resolution by incorporating -C extra-filename handling
* remove obj diffing
* small cleanups
* obj cache as files
* simplify
* simplify a bit
* dont bother round tripping cache
* extract to helper
* cleanup `build` function
* dont round-trip modified_crates
* make sure to wipe between full
* bit of a cleanup
* use explicit naming
* compact extra method
* fix temp cleanup
* fix warnign
* cleanup
* fmt, clippy
* docs: fix grammar and typos in comments and documentation
* docs: use British English style for e.g. and i.e. (no trailing comma)
Changed from American English style (e.g.,) to British English style (e.g.)
for consistency with the rest of the codebase."
* Use humantime for build duration formatting in CLI
Replaces manual millisecond formatting with humantime::format_duration for improved readability of build duration logs. Adds humantime as a dependency in Cargo.toml.
* Format build duration with millisecond precision
Changed build duration logging to use millisecond precision instead of default formatting to avoid microsecond/nanosecond noise.
* Refactor duration formatting to use helper function to reduce code duplication.
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Previously, when a file change event arrived while a build was in progress
(i.e., client stage was not Success/Failed/Aborted), the event was logged
and silently discarded. This caused issues with tools like stylance,
tailwind watch, or sass --watch that generate output files in response
to source file changes.
The typical failure case:
1. User saves a .module.scss file
2. dx starts rebuilding
3. stylance CLI (watching the same file) regenerates stylance.css
4. dx receives the stylance.css change event but discards it
5. Build completes with stale CSS
Now, file changes that arrive during a build are queued in a
pending_file_changes vector and processed after the build completes.
* Add optional static_dir support
- add optional application.static_dir field defaulting to none
- copy configured static directory into web output during build/serve
- document config knob and add unit tests
- force full rebuild when static_dir contents change
- sync removes stale outputs and logs copy activity
- track static manifest next to platform dir
Tests: cargo fmt
* default to public dir to match vite
* static_dir -> public_dir
* wip
* deser as none...
* wip... use .manifest.json
* implement dumb form of asset manifest generation
* implement manifest using asset system directly
* cleanup
* dont create extra asset dir for server
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* allow `--server` only builds!
* rollback example
* capture `/:route` routes
* fix: properly implement file uploads in forms
* implement desktop form uploads
* Performant serialization of form bytes
* finish up file stuff
* cleanups
* add request headers to streaming context
* remove some unwraps
* fix: hotpatching fullstack
* add hot-patching fullstack test
* add caching to playwright apt-get
* only run playwright on beta
* install binutils?
* dont commit lockfile
* ignore lockfiles
* make sure ld is in path
Using .split(' ') for cli arguments causes extra whitespace to become extra
arguments, and "".split(' ') returns the empty string instead of nothing.
Using split_whitespace() fixes both of these problems.
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* feat: add dx print command
* small tweak to how client_target is handled
* hotpatching engine wired up!
* small cleanups
* lighter diff
* little bit more light cleanups
* remove changes to manganis
* fix wrong dir error
* move session_cache fixing to prebuild step
* wip
* wip: basic telemetry
* fix merge
* keep errors for telemetry
* fix upload when queued events are empty
* add per session id and keep track of build timing
* keep track of what commands are run
* capture panics
* keep track of panics
* better path stripping
* better tracing error telemetry
* only sync every week and check settings before sending any telemetry
* keep track of the args passed to commands
* anonymize commands
* more error tolerant
* wip
* wip
* wip
* merge cnflict
* other merg conflict
* migrate everything from telemetry to logging
* update docs
* wip... about to merge trace controller
* lil bit more refactor to clean up tracer
* more performant log writer
* cleanup ci detecting
* wire up to posthog
* re-uploads work
* yoink out the anon from each file
* cleanup sig
* lil bit cleaner
* dont write empty files
* wip log handler
* fmt
* cleanup logging of backtraces
* add proper backtrace support
* use stable reporter
* adhere to posthog format
* fix stacktraces
* use anyhow for capturing backtraces
* I think we're done?
* cleanup logging
* properly collect!
* move out keycode handling
* she works
* typo
* add extra fields
* fix cargo doc
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* Add --renderer argument to the CLI
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Make `--platform native` work
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Emit `krates` error when cargo metadata fails
* Reinstate default "desktop" feature for examples
* Remove commented 'no platform specified' error
Signed-off-by: Nico Burns <nico@nicoburns.com>
* use the target tripple and bundle format as the source of truth for the build
* resolve renderer and bundle format
* add shorthand flags
* add headings to the help for shorthands
* resolve the renderer from the target triple if it isn't passed
* make value after --fullstack optional
* convert desktop -> mobile when targeting mobile webview
* use the new shorthand flags in the playwright tests
* fix clippy
* merge fix
* cleanup merge conflicts
* fix clippy
* remove nit
* restore platform as a legacy argument
* improve help message
* vendor openssl on native, pin server_fn
* print build errors as warnings
* add --desktop arg compat
* adjust cli headings
* prefer self.is_wasm_or_wasi()
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Skip Tailwind watcher in fullstack mode to prevent race conditions between
the watcher and prebuild() both trying to install/run Tailwind simultaneously.
In fullstack mode, the client build's prebuild() properly handles Tailwind
generation, making the watcher redundant and problematic.
Fixes "Text file busy" error when running:
dx serve --fullstack true --platform web
Fixes#4431
* wip: openssl autodetection
* add voltaile read inside of asset fn
* support xcode 15 for --device
* vendor openssl on android
* Smaller width TUI
* switch to anyhow for the entire CLI
* add backtrace and print double printing of cargo_metadata errors
* add some padding to multi-line anyhow error
* check semvers
* don't open if not interactive
* set the tailwind current_dir so it doesn't twitch
* get the oboe demo working
* copy the c++ library on android
* cleanup env vars
* add depinfo watcher
* fix stale hotpatches and crate count
* add musl support
* remove outdated autofmt test
* update scanner app
* add hotdog app and bundle to ci
* upload dx on every branch
* collapse mobile into desktop
* `dx doctor` command
* windows command files
* no pipe on doctor
* fix ci?
* fix links
* fix ci
* use main instead of nightly
* bump node
* build cli for host
* cargo doc
* prep dog_app for bundle
* package hotdog
* no bundle or nightly cli
* comment out nightly cli
* add quotes to linker files
* Build ssg routes when both the client and server builds are finished
* Fix default server fn encoding
* fix tokio console
* fix ssg
* add prerendering message
* render under the same environment variables as normal
* fix check
* use should_bundle_to_asset
* enable ssg playwright test
* fix clippy
* Pass args after -- to the executable during run and serve
* fix clippy
* switch to accepting a string argument for subcommand compatibility
* Handle merging with `@server` and `@client`
* fix clippy
* fix formatting
* always build into the client package
* fix clippy
* more clippy fixes
* Fix deduping assets
* hash assets in the linker
* fix extracting assets
* Fix the hashed asset name
* deserialize the asset back from the link section
* prevent the read from being inlined
* remove some extra logs
* Fix liveview routing
* Only look for direct dependencies on dioxus features
* fix wasm split test
* On wasm, create a new object file with the asset information
* Fix multiple assets
* add a regression test for 3467
* fix image link
* fix linker out file
* fix linux linker args
* add windows linker command
* fix linux link args
* fix windows target triple
* Expose an option to build assets in the linker intercept
* Fix the standalone optimizer and document it in the dx help command
* include the cli opt version in the hash
* fix clippy
* fix ssg port
* add a safety note to the read_volatile call
* move found assets log
* fix some merge conflicts
* fix build
* make most env var for the linker optional
* guess the target triple when dx acts as the linker intercept
* automatically find the linker for normal builds
* use the right linker in wasm mode
* fix mac linker
* look inside archive files (rlibs)
* remove out.txt
* fix clippy
* fix typo
* fix clippy
* fix build
* fix dx link name in docs
* ignore libcompiler_builtins warnings
* fix playwright
* pass typocheck
* fix printing sysroot
* Modify final binary
* fix wasm assets
* remove old link section logic
* fix tests
* forward manganis export args
* fail to evaluate relocatable address
* retain all exports in the same pattern as other platforms
* Fix adding assets during a wasm hot patch
* less nesting and remove logs
* fix clippy
* log pdb files
* read from pdb
* print data section contents
* print with object
* normal windows builds working
* fix hot patch windows
* clean up logs
* fix clippy
* clean up assets
* use the most recent pdb
* fix doc test
* fix typo
* tiny nits
* make bundled a reference instead of a pointer
* add helpful comment to impl
* match on file format
* Fix asset hashing comment
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* add vscode debugger for apps
* todo: need to disconnect when rebuilding
* update debugger
* add uri handler to remote launch the debugger
* attach
* dont panic
* fixed it - hung processes are not errors
* wip: android debugger
* clean it up a bit
* revert ios stdout/stderr
* wire up pid from ios
* use target family instead of target_arch
* fix android
* bring back softkill
* typo
* feat: copy frameworks to Frameworks folder
* add dylib linking to patching
* remove logging
* rename __aslr_offset
* fix android/linux
* support linker flavor
* support custom target dirs
* custom cargo target dir support
* whoops ios
* dlsym doesn't exist on windows
* look for the right main symbol per platform
* distinction between mains
* export main on windows
* enbable rlib caching
* add dx hash
* adjust linking warnings
* update tui with hotreload state
* implement symbol flags
* add flags
* only run ranlib on darwin
* enable lld
* paths
* add harness test for tls
* wip: revert launch mobile
* wip
* fix fullstack mobile
* fix a few bugs
- long paths?
- reverting back to original
* pass-thru fuse-ld args
* fix nan in render, fix empty archives
* consider existing dep files if archive exists
* fmt
* drop msrv
* wip.... bun installer
* - warn on incompatible versions
- clean up some logs
- add coloring to log levels
* add toasts to desktop/mobile
* Auto open simulators
* auto boot android
* preserve url
* pull out some of the warnings
* add self-updater
* wip: mcp
* add install.sh and adjust binstall path
* add some cuter styling to logs!
* update "input.css"
* update other input.css
* style a bit more
* change getting started
* add windows installer
* move dioxus-mobile into dioxus-desktop
add sentry wip to cli
* shorten timeout of toast
* fix cli display
* wire up customization of android manifest
* udid is a real word
* add 429 to lychee cache
* accept all 200-204 and 429
Enable runtime rust hot patching.
* roll back wry to 0.45
* cleanup rustc
* wip
* wip: fix client/server
* get the subsecond cli thing working again
* back to list of builds but with accessors
* migrate some methods to workspace, clean up impl a bit
* pass mode through build context
* use a build context, similar to cargo/rustc
* merge BuildUpdate and HandleUpdate into BuilderUpdate
* Move more resolution of args into runner
* migrate some methods to runner
* hoist out fullstack
* fix build request resolver
* yay request is cleaned up
* fixup resolution a bit
* spawn off the build!
* re-wire android autodetection
* re-wire android autodetection
* wire back up a few more things
* re-wire tooling verification
* I think it's mostly in the right condition for regular app
* add depinfo parser
* yay okay works with regular apps again
* full rebuilds are back
* rewire file wtcher
* wire patch!
* yayyyyyy patching works and is really fast
* yay android works
* clean up stdout piping
* yayyy memap on android so we don't need root
* create a static wasm jump table
* wip: global offset table for wasm
* wip... thinking about making the patches relocatable
* wip: customized relocation
* YESSSSSS RELOCATABLE WASM
* clean up impl a bit
* lil bit more cleanup
* lil bit more
* lil bit more cleanup
* lil bit more cleanup, support 32 bit platforms
* sick, wasm is completely pic
* hmmmm not quite working yet
* woooo, patches loading from rust+wasm
* integrated into the cli 😎
* condense a bit
* cleaned up request a bit
* bust fingerprints
* Make the file diffing logic a bit more sensible
* still working through a few issues, server launches but is acting weird
* fix merge conflict
* more merge issues
* remove stuff we don't want anymore
* revert name change
* wip: server not working anymore :(
* split apart "dioxus fullstack" into "dioxus server" and "dioxus web"
* fixup a few more compile errors
* grrr opening server
* simultaneous frontend and backend patching
* use rustc wrapper
* wip: passing assets to jumptable
* migrate project-like examples
* patchy patchy server fns!
* rollback some random changes
* unwind the js files
* rollback hash
* no need for patch
* more cleanups
* lil bit more cleanup, remove some old cruft
* allow patching when wasm webpage is closed
* tiny bit more robust
* lil bit of clean up
* clean up ws code
* bit more clean ups
* condense
* undo file moves
* move back other project
* move other project
* migrate out harness and janky CLI
* fix compile
* anonymize some files, heavily document others
* lots more documentation, for posterity!
* ton more docs
* clean up the cli a bit more
* more ws cleanup
* more cleanup
* migrate build id to cli-config
* add command file handling
* random small cleanups
* wip....
* wip....
* fix: use workspace for krate discovery
* fix panic logging on serve by placing it *after* the logs
* reorder logging to be sensible on success
* bring back swc
* ws cruft
* small patches to relocs in loader
* bump krates
* hoist main funcs into the ifunc table, fixing wasm
* fix tui output for long lines
* add more linker logging
* wow, incredible, we build fat binaries, holy heckkkkk
* fix args for frontend/backend
* small cleanups
* properly send along build IDs to clients
* fix workspace compiles
* clean up jump table work a bit
* clean up logging a bit
* open existing
* fixup some commands
* open existing browser integration
* wire up the new dx serve client/server syntax
* fixup `dx run` command
* bring back some old functionality
* fix serverfn feature sets
* remove toast animation and simplify its code a bit
* less intrusive toast
* dont change build status when patching on web
* add proper cache busting to vcomponent
* clean up the patch file a bit
* more lints/checks cleaned up
* go back to TargetArgs but a BuildTargets resolved struct
* clean up more nits
* use an atomicptr for jumptable
* fix interaction with initial web load + suspense
* don't run asset system on wasm/bindgen js in dev
* reduce blast radius of PR
* use profile to determine if we're in release
* cleanup prod html template
* cleanup profiles
* fix feature resolution of fullstack
* if fullstack is explicitly false, don't use it
* light cleanups
* drop carg config2
* pass along linker args properly
* make workspace examples compile with dx again
* fewer unwraps and better error loggign
* bit more error handlign
* small cleanup
* drive-by cleanups
* use queries instead of initialize for aslr stuff
* fix hotpatch with higher opt level
* fix aslr bug from multiple clients
* fix merge conflict
* fix typos
* clippy
* fix miscompile
* fix doctest
* properly rollback wry to 0.45
* fix markdown path issues, other test issues
* fix test in router
* fix release mode test
* fix some more tests, clean up a few more items
* use fnptr instead of typeid
* clean up memozation via subsecond in core
* use "main" as sentinel
* fix imports and re-exports
* get off __rust_alloc for aslr offset detection
* wip
* wip... fixing unoptimized web
* hmmmm mmmm
* close,ish, still missing the wasmbindgen dynaimc imports
* aha! full wasm works now
- disable externref when compilng patch modules
- manually link wasm instrinsics
- displace the __wbindgen_placeholder__ table with the synthesized wbg imports
what an awful pain.
There might be a few items missing, so will test against the docsite shortly
* remove failing test
* hmmmm things aren't perfect
* from what I can tell, relocatable wasm just doesn't work with wasm-bindgen
sad
https://github.com/rustwasm/wasm-bindgen/issues/1420
* AI IS LITERALLY THE WORST
* preserve wasm snippets across compiles
* IT HOTPATCHES THE DOCSITE, WE ARE LIVING IN THE FUTURE
* remove the macos cfg-out
* fix: need to allocate 1 more page
* fix url issue
* properly span props
* properly fill in extra symbols
* light cleanups and good docs
* delete cruft, better docs
* More cleanups and simplifications
* clippy, typos
* remove harnesses
* wasm-bindgen error logging
* clean up deps
* remove cruft
* proper priv/pub
* use ifuncs for all env imports
* cruft
* use par_iter, better output
* implement a cache for the base module
* delete custom sections
* cache the main native module too
* add par iter in a few more places
* clippy, map ident
* better logging and status bars
* wip: some small windows support
* wip more windowss
* fix weird regression
* implement windows jump table
* small fixes for windows
* better windows support
* windows support pt2
* rust lld is not msvc
* whole archive the rlibs
* ignore windows and sys crates
* logging
* ohhhhhh, pop out dlls
* dedupe
* thANK GOD FAT LINKING WORKS ON WINDOWS
* hoist caching
* implement patch based on cache
* fix location for pdb
* pass data symbols, correct object
* add all symbol for windows
* add log
* treat none rva as undefined
* whoops
* handle windows calling convention
* dont use relocated arm64 stub windows
* not all are text?
* WINDOWS FUNCTION PATCHING WORKS
but issue with statics?
* use our own entry
* handle windows imp symbols
* add log
* jump to the real symbol not the layout
* whoops
* hotpatching windows works completely holy heck yay
* drop linker args crate
* disable ssg playwright for now
* light cleanups
* some cleanups / preps:
- bump to serverfn 0.8.2
- fix playwright test
- fix clippy
* use fix from #4042
* bring in other fix for liveview
* hoist some configuration
* use __aslr_reference instead of aslr_reference
* add better errors to patcherror
* fix android
* panic if patching fails
* clean up tomls
* wip: fixing wasm compile for server
* fullstack wasm again
* fix cfg
* fixup feature detection
* fix issue with features
* fix playwright!
* add barebones template test harness
* fix compatibility between the two hotreload engines
* fix preldue of server
* fix check for wasm-opt
* small fixes
* wip: bind to 0.0.0.0 instead of 127.0.0.1
* dont hang in background - ignore suspend commands when tty is disabled
* use system adb
* pass configs through to android mobile launch
* fix: line sizes + clear pushes frame
* dont resume window state on mobile
* fix screen sizing for ipad
* attempt and fail to implement codesigning
* Clippy and note about safety in android bindings
* Fix server crash logging and opening fullstack apps
* Fix race condition during SSG
* move route prerendering into a separate stage
* Fix static site generation with dx serve
* only proxy the fullstack server if ssg is disabled
* test nested-suspense with ssg in playwright
* Create a crate for constant serialization of config structs for manganis
* use SerializeConst for the image asset builder
* switch to a declarative macro for assets
* clean up asset macro a bit
* add serializable options for each asset type
* serialize const vec
* Add unique path formatting
* implement the new manganis macro
* optimize assets in the CLI
* Fix clippy
* Fix assets with dioxus formattable
* reduce fuzzing test limits
* use the new syntax in examples
* fix formatting
* Final doc and test pass on const-serialize
* fix avif support
* Fix manganis doc tests
* cache asset optimization
* Split out asset and bundled asset
* make hash pointer width independent
* remove const serialize cargo lock
* Fix manganis macro docs
* all tests passing
* add constvec::is_empty method to fix clippy lint
* remove nasm feature
* simplify test_rsplit_once test so typos passes
* fix range syntax for stable
* revert example change from clippy fix
* remove dioxus-static-site-generation workspace dependency
* always accept unix paths
* fix windows path seperator
* fix folder asset hash
* Optimize assets in a blocking task
* Fix asset options docs
* Document Asset and BundledAsset
* move manganis back into it's own folder
* simplify the linker macro a bit
* add more docs to AssetParser expansion
* fix manganis core doc test
* add image format helpers
* Fill in new cargo.tomls
* fix folders with explicit options
* Split by both unix and windows path separators and take the smallest one
* fix string length
* Fix base path on web and fullstack
* Fix assets with base path
* fix fullstack base route with trailing slash
* fix clippy
* use llvm objcopy to rename syms
* use handlebars
* it works!
* remove linker code
* better docs internally about dev.dioxus.main
* use bundle identifier
* double check bundle identifier is proper
* clean up logging to avoid random extra trace
* fix race condition with updates
* properly wire up verbose
* fix bundling (macos) and logging
* Add structured output
* clean up clap names
* extract out wire format
* switch structured key to json
* fix random println, fallback to `dioxus/platform`
* clean up logging for run/build
* clean up logging around project
* remove manual exits
* fix tokio runtime for mobile
* rework dog app
* rip out ssg
* Switch dioxus/axum to dioxus/server
* add android template inline
* pre restructure for bundle prep
* add the whole res directory
* Better theme for the app
* remove mobile demo now that most apps work natively
* self-referential android
* only use deep linking for assets
* fix imports for android
* clippy, fixup ios and android
* I'm not boxing compiler message you can't make me
* fix clippy on unix
* wip: fix manganis import path
* upgrade tauri bundler, convert todo!() to unimplemented!()
* feat: mobile hotreloading + ios asset configuration
* remove oid demo and its associated env vars
* nuke all the things that cause cache thrashing
* swap to Asset type
* add some more logs
* display impl for attrvalue
* dont panic on collect failure
* cut down web deps to 150
* clean up deps in a lot of places, simplify build scripts
* clean up asset resolution and cli-dev profile
* wire up absolute paths for manganis asset in a particular mode
* move document related things around to shorten compile times
* move most things to `document::Item` and then decompose the cli-config
* switch link to stylesheet for clarity in examples
* move manganis workspace example to examples folder
* decompose manganis-cli-support
* dont need mobile demo anymore
* remove gloo dialogs
* html doesnt need document
* rename hotreload to devtools
* really clean up the html crate
* fix weird rsx spacing
* clean up desktop to use callback
* clean up document a bit
* re-wire up devsocket
* fix utf css
* yeeeet that js out of here
* synthetic web system works
* web crate almost done being cleaned up
* desktop mostly cleaned up too
* clean up cli a bit
* more cli cleanup
* cli builds again
* clean up cli, inline structs, cut down number of unique types where possible
* hotreload works again for desktop and this time, mobile too
* cfg out tungstenite
* devserver err
* more refactor to cli builder
* switch to unbounded_send
* new structure is much cleaner
* add http serve subcommand
* bundled hotreload
* kick stylsheets
* clean up a bit more, split up eventloop
* amazingly serve seems done
* change from pub to pub(crate) in cli
* remove tools
* bit more polish to cli
* fix issue with join
* gracefully handle fullstack without a server
* fullstack mobile demo
* fix launch function, move projects into example-projects folder
* hoist examples
* add "run" command
* clean up launch
* remove old manual websocket receiver
* doctor command
* allow desktop to scroll
* cut apart router crate
* dont put launch in prelude
* use dioxus::launch where possible
* rename rsx, cut out hotreload tests
* remove liveview project
* bump native
* fix compile for renderers
* move sync event response out of interpreter
* move render in serve
* rollback settings change
* cli compiles, huzzah!
* change uris for asset
* fix asset
* new tui screen
* new cargo-like tui works
* very very verty close
* it works! very small bug with incorrect grapheme calc
* Clean up devserver a bit
* status sytem
* tidy up debug filters
* clean up logging situation
* Fix a number of bugs with log printing
* new printing system is more reliable
* wire up more stuff
* things working but fullstack is having issues
* fullstack works again!
* hotreloading bundled assets works again
* bundled hotreload and beginnings of macos bundling
* Hotreload desktop
* combined server builds
* add build handle
* fix fullstack assets
* make open async, add some hooks for ios
* migrate filemap to runner
* wip global crate system
* fixup bundles + organize asset
* fix asset location bug
* all the bundled reloading!
* open ios simulator!
* full hotreload support for mobile + serverfn
* basic cleanups
* clean up dx
* Move filemap
* fix cutting of newlines
* assets workibg, some android
* hoist wry/tao
* use sync locks and headers to fix issues with android
* desktop -> mac/win/linux with alias
* better logging
* feat: workspace (entire computer!) hotreload
* should rebuild toggle, ios simulator bootup
* proper mobile support in launch
* more robust handling of assets
* fix cargo
* bring back some of tauri bundle
* make warnings go away, clippy happy on cli
* some final clippy cleanups
* fmt
* move manganis to its own folder
* upgrade bundle to stable
* drastically slim down manganis, prepping for merge
* typos, failing test, docsrs config
* remove static gen test
* nix static gen test
* we use --platform web instead of --platform fullstack now
* only bind dev urls in desktop/mobile
* install gtk
* nix static gen
* split build dir by app name