* 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>
* Don't push default features in `--no-default-features` builds
Signed-off-by: Nico Burns <nico@nicoburns.com>
* add tests for default features and no default features outside of renderers
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* implement const cbor encoding + decoding for basic types
* implement map encoding and decoding
* fix map test
* all tests passing
* dynamically sized arrays
* smaller str encoding
* swap array and list and add more documentation
* move serialization and deserialization for each struct together
* support both legacy and new assets
* bump const serialize version
* fix asset conversion code
* pull out manganis symbol struct from tuble
* test reading old asset versions
* more list/array cleanup and bump rust version
* fix clippy
* switch cli opt port
* install playwright deps
* split cli-optimization package to avoid two dioxus' in the same crate
* fix clippy
* force the toast.png asset to be included in the linker stage #[used] has platform depedant behavior
* bundle both formats in the link section and only use the asset the cli changed
* remove sudo which doesn't exist on windows
* add binstall to the playwright workflow
* separate bin target for the old cli
* lockfile
* cargo update to get versions shaken out
* notes on binstalls, add back `.read()` for compat
* use 0.8.0-alpha.0 for const-serialize instead of 0.8
this ensures we can still publish breaking changes on 0.8 without taking over the full version
* fix clippy in example
* small debug nits
* update rust-overlay in nix
* fix flake?
* migrate to new structure
* just comment out binstalls
* just remove old test harness
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
we added some logs around unmatched ifuncs, but we actually didn't need them.
this is because ifuncs can be *new* even if there isn't and old corresponding ifunc.
* enable musl target builds with vendored libgit2
* move git2 to bottom of list
* also fix dioxus fullstack docs builds
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* issue-5045 Trim slashes to prevent base path resolution issues in web
* Revert "issue-5045 Trim slashes to prevent base path resolution issues in web"
This reverts commit 480cd48d8537a56f57538c21e7cc98b75e8dc8ad.
* This is a more comprehensive approach. No matter how "/" gets set into
DIOXUS_ASSET_ROOT (cli arg, dioxus toml, or env var) it will be
normalized when used.
* Move the trim fix to the locations we set the variable DIOXUS_ASSET_ROOT as
this environment variable is not meant for public consumption.
* pull out trimming into a method
---------
Co-authored-by: Evan Almloff <evanalmloff@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.
* disable strip setting in profile and manually strip with llvm the build
* remove rustc_llvm
* disable debug if wasm opt will run
* fix clippy
* don't strip if we are splitting with wasm-split
* keep names when running wasm-split
This flag allows users to get the raw JSON output from cargo instead
of having it processed by Dioxus. This is useful for integration with
other tools that expect cargo's native JSON diagnostic format.
When enabled, cargo's JSON messages are relayed directly to stdout
while still allowing DX to track essential build information internally.
Usage: dx build --raw-json-diagnostics
* 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>