* Enhance Android log handling in AppBuilder
- Introduced adb_logcat fields to manage Android logcat output.
- Implemented logcat spawning and parsing to differentiate log levels.
- Updated push_stdio method to filter Android logs based on trace settings.
- Added utility functions for retrieving app PID and parsing logcat levels.
* automatic retry to get pid
* pipe RustStdoutStderr as well
* strip logcat prefix
* filter in rust instead
* Refine log filtering in Rust output handling
- Improved log level detection by checking for prefixes after the colon in messages.
- Enhanced filtering to only show logs with standard tracing levels or fatal errors.
- Streamlined the process of stripping logcat metadata while preserving message content.
* cleanup output and kill proc
* capture logs from ios device
* clippy
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* fix(hotpatch): Gracefully handle missing '-flavor' flag during WASM link
* drops logs
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* add component subcommand
* add dx component add, remove and list commands
* handle rust dependencies
* handle component dependencies
* fetch remote registries
* sort components before listing them
* remove local dependency
* move te component manifest into the dioxus workspace
* add additional instalation instructions the first time the component
module is created
* fix mod name
* fix clippy
* improve docs and move to the main branch of components
* fix typos
* more typos
* undo const-serialize changes
* remove a few unwraps
* Allow adding multiple components at once and add a `--all` flag
* add options to the config for the base path, global asset path and
default registry
* component_path -> component_dir
* component_dir is always relative to the crate root
* fix clippy
* fix hot patching with a base path
* read the hot patch file from stdin instead of a CLI arg to allow for longer inputs
* fix request imports
* wip: code style changes
* rename to "components" instead of "component"
* bump lock
* move to method on request
* read until eof in the case of pretty json
* strip is now copy
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* add component subcommand
* add dx component add, remove and list commands
* handle rust dependencies
* handle component dependencies
* fetch remote registries
* sort components before listing them
* remove local dependency
* move te component manifest into the dioxus workspace
* add additional instalation instructions the first time the component
module is created
* fix mod name
* fix clippy
* improve docs and move to the main branch of components
* fix typos
* more typos
* undo const-serialize changes
* remove a few unwraps
* Allow adding multiple components at once and add a `--all` flag
* add options to the config for the base path, global asset path and
default registry
* component_path -> component_dir
* component_dir is always relative to the crate root
* fix clippy
* fix request imports
* wip: code style changes
* rename to "components" instead of "component"
* bump lock
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* 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
* Look for strip settings in inherited profiles and global configs
* fix clippy
* use cargo home env var if it exists
* fix cargo home config path
* small stylistic changes
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
overhaul dioxus fullstack using a new implementation of server_fn
This PR is a complete rewrite of dioxus fullstack designed to improve compatibility with axum and to fix a number of compilation errors based on feature flag unification plumbing through macros.
* 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
* fix the server extension on windows server bundles
* fix formatting
* retry extracting assets if windows antivirus is holding the lock
* fix exe hash with extension
* add a timeout
* wip, make async
* use async methods
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* 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>
* fix linux bundle
* fix release mode
* fix resource path
* only use asset dir if it exists
* add comment about directory structure
* don't unwrap parent
* 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>
* warn if we both find manganis in the dependencies and strip is enabled in the current profile
* bump node
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Update dependencies in Cargo.lock
* added in the missing bevy example which was included in recent merge
* undo unneccessary library installation in gh actions
* cleaned up further
* Update dependencies in Cargo.toml and Cargo.lock askana_escape to 0.13
* updated code to make tests work
* updated the wgpu texture example
* replaced all direct reference with use
* fixed wgpu and jsframework errors in benches and examples
* Fix: Import black_box from std::hint
* grand finale upgrade
* updated cargo.lock
* Bump hyper-util to 0.1.15 and plist to 1.7.4
* remove some unused swc dependencies and add a command to update them in the future
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* 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