Commit Graph
620 Commits
Author SHA1 Message Date
Evan AlmloffandJonathan Kelley 79613f9db9 DX components command (#4669)
* 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>
2025-10-20 17:20:46 -04:00
b3966c3509 Support public dir (#4783)
* 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>
2025-10-20 17:03:34 -04:00
Jonathan Kelley 2f6be083ce fix merge conflict 2025-10-20 13:00:59 -04:00
Rick Wong 7408a33be7 Removed wasm rel-preload link from bundle index.html to save bandwidth for Safari users (#4796) 2025-10-20 12:20:46 -04:00
Jasper Bekkers 9a1cbf50a7 👩‍🏫 Add support for (#4811) 2025-10-20 12:05:27 -04:00
Jonathan Kelley 7856679641 remove --docs cfg to fix docsrs building (#4788) 2025-10-14 20:18:13 -07:00
Jonathan Kelley 056b47fcd0 fix: ios hotpatching due to missing isysroot flag 2025-10-14 19:59:25 -07:00
Amar Sood a3e40a5ea2 Prevent hot patch from leaving devserver in BuildError state (#4784)
Scenario: without this patch, if you fail a build, fix the code, let the thin build succeed, and then refresh the browser... then after reloading the browser page, it gets stuck on the "One sec" loader because the devserver status never clears the earlier BuildError.

- mark build status ready after sending hot patch messages so refreshes succeed
- reuse the same helper from reload command to avoid stale loading screens
- add set_ready() helper to avoid duplicate status broadcasts
2025-10-14 16:18:35 -07:00
Herbert MaschkeandHerbert Maschke fc069f0faf Feat: "dx new" check if given project name is available in filesystem (#4773)
Co-authored-by: Herbert Maschke <thyseus@pm.me>
2025-10-13 14:23:59 -07:00
Moritz Hedtke cf893dc94a Fix on NixOS (#4776) 2025-10-13 12:43:50 -07:00
Jonathan Kelley 01db142750 fix collect2 ld error with hotpatching (#4771)
* get repro case

* disable --with-deps for playwright

* extend hotpatch with better path
2025-10-11 20:33:10 -07:00
Moritz Hedtke 16bbabb3e3 Fix base path for wasm splitting (#4770) 2025-10-11 20:04:00 -07:00
Amar Sood 11b2ea7f39 Fix wasm hotpatching for zero-sized data symbols (#4747) 2025-10-10 21:44:15 -07:00
Amar Sood 8a81475ba8 Handle wasm-bindgen wbg_cast helper in wasm hotpatching (#4748) 2025-10-10 18:55:33 -07:00
Jonathan Kelley 92792aded9 More fullstack fixes (#4737)
* 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
2025-10-07 23:07:43 -07:00
Tom Grushka fc01a002fd fix dx serve https=true error: 'no process-level CryptoProvider available -- call CryptoProvider::install_default() before this point' (#4736) 2025-10-07 13:10:09 -07:00
Nico Burns 9359446017 Upgrade to Blitz v0.2.0 (#4731)
* Bump Rust CI version to 1.88

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Upgrade to Blitz v0.2.0

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Native: enable clipboard and file_dialog support by default

* Fix clippy errors

Signed-off-by: Nico Burns <nico@nicoburns.com>

* See if cargo update magically fixes build

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Fix compile err

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Remove unused wasm-opt dep

* Fix wgpu_child_window example

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Update blitz-shell

Signed-off-by: Nico Burns <nico@nicoburns.com>

* cargo fmt

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Allow clippy lint

Signed-off-by: Nico Burns <nico@nicoburns.com>

* CI: Bump pinned nightly version

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Allow clippy lint in whole module

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Fix more clippy lints

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Use Rust 1.90 for clippy

Signed-off-by: Nico Burns <nico@nicoburns.com>

* cargo update --ignore-rust-version

* revert cargo updates

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Revert another silly clippy lint

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-10-07 11:18:59 -07:00
Moritz HedtkeandJonathan Kelley 0b1f2fc8c2 Update gradle wrapper (#4726)
* Add error context when gradle wrapper fails

* Update gradle wrapper

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-06 16:36:31 -07:00
Moritz HedtkeandJonathan Kelley b35a52f337 Propagate linker failure (#4728)
* Propagate linker failure

* make sure we still write linker error

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-06 16:22:07 -07:00
Jonathan Kelley bee89b795d fix: hotpatching fullstack (#4730)
* 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
2025-10-06 16:12:18 -07:00
Evan AlmloffandJonathan Kelley c56bac04f4 Look for strip settings in inherited profiles and global configs (#4645)
* 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>
2025-10-03 21:11:05 -07:00
Omar Mohamed Khallaf d8a6c265ab fix: save cli config as a toml file (#4652)
Signed-off-by: Omar Mohamed <mohamed.omar67492@gmail.com>
2025-10-03 19:46:37 -07:00
Kristoffer SøholmandJonathan Kelley 8d26a5d22e Fix splitting logic for serve args (#4695)
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>
2025-10-03 18:33:45 -07:00
Jonathan Kelley f2b1c6d97f codify "platform" into resolution logic, server-fn/fullstack overhaul (#4596)
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.
2025-10-03 18:26:19 -07:00
Jonathan Kelley 6cfe64209a fix: hot-patching wasm reference types due to changes in wbg-2.104 2025-10-03 01:11:34 -07:00
Evan Almloff ad40f81607 Fix the root error boundary during suspense in ssr (#4710)
* Fix the root error boundary during suspense in ssr

* fix some typos
2025-10-01 17:10:28 -07:00
Moritz Hedtke 10912f4750 Don't rely on window (#4697) 2025-09-26 13:44:25 +01:00
Evan Almloff ed285c9604 Pin serde in the CLI (#4663) 2025-09-15 10:49:29 -07:00
Jonathan Kelley 969ad1d6bb fix windows arm tailwind 2025-08-21 20:40:02 -07:00
Jonathan Kelley 083e04bb6c feat: add dx print command, drive hotpatching engine directly. (#4602)
* 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
2025-08-21 20:29:49 -07:00
Jonathan Kelley d899afaf4a fix android minsdk in two places 2025-08-20 14:35:00 -07:00
Jonathan Kelley 9ec474962b fix lints on rust 1.89 (#4587) 2025-08-19 19:34:13 -07:00
Jonathan Kelley 27bae6fbb7 revert changes to tailwind serve 2025-08-19 19:18:04 -07:00
Jonathan Kelley 2f92619a28 bump minsdk up a bit (#4585) 2025-08-19 18:24:59 -07:00
Jonathan Kelley 893543faa9 throw warning for wasm-split (#4584) 2025-08-19 18:14:17 -07:00
Jonathan Kelley 23908b9d49 fix: automatic rebuilds, num_threads for localpools (#4583)
* fix: automatic rebuilds

* Fix concurrency for locapoolhandle
2025-08-19 17:50:16 -07:00
Evan AlmloffandJonathan Kelley 165447a647 Fix the server extension on windows server bundles (#4555)
* 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>
2025-08-19 16:42:34 -07:00
Jonathan Kelley a7805b8e2a fix: select best match from --device (#4581)
* feat: add codesigning to ios

* add search for android too

* install toolchains for every target

* install toolchains automatically
2025-08-19 16:23:19 -07:00
Alexandr Priezzhev 8a07a24704 Fix integration of SSL libs into non-ARM64 Android builds. (#4563)
* Fix integration of SSL libs into non-ARM64 Android builds.

* Fix formatting in request.rs.
2025-08-18 16:03:26 -07:00
Evan Almloff 418b747cb1 Don't output escape codes for the cursor when the tui isn't active (#4556)
* Don't output escape codes for the cursor when the tui isn't active

* reset the cursor if we are running in a terminal even if tui active is false

* don't clone tui_active
2025-08-15 11:40:49 -07:00
Rhaskia 2a0f328c42 Allow specifying min_sdk_version in dioxus config for Android. (#4549)
* allow specifying min_sdk_version inside dioxus config

* rustfmt
2025-08-14 20:05:26 -07:00
Jonathan Kelley a519fba7dc fix platform unification (#4536)
* fix platform unification

* fix doc
2025-08-12 01:31:45 -07:00
Jonathan Kelley 82f3778558 Add a few more events to the structured logger 2025-08-11 15:32:43 -07:00
Jonathan Kelley 9a98abe5ad allow customizing entitlements (#4533)
* allow customizing entitlements

* fix printing issues
2025-08-11 15:18:14 -07:00
Sebastijan Kelnerič b72b142b53 Move ctrl-c handler to non-conditional match (#4532) 2025-08-11 11:36:34 -07:00
Jonathan KelleyandEvan Almloff e43bf05b69 add basic crash analytics and very light telemetry to dioxus-cli (#4224)
* 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>
2025-08-08 19:00:00 -07:00
Jonathan Kelley 79e7739bee Vendor OpenSSL on android with google prebuilt libs (#4511)
* vendor android openssl

* add fallback

* dont panic
2025-08-05 18:13:00 -07:00
Andrew VoynovandJonathan Kelley 89834bc1b3 Use data dir instead of home dir for dioxus-related data (#4445)
* Use data dir instead of home dir for dioxus-related data

* merge dx dir

* make windows match the pshell

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-08-05 12:05:19 -07:00
Himmelschmidt 5591070e92 Fix rustc wrapper to read command files for linking detection (#4481)
* Fix rustc wrapper to read command files for linking detection

* fix formatting for cargo fmt check
2025-08-05 10:24:28 -07:00
Ryo Hirayama 7fcdee0266 Allow user to specify =false for default true flags (#4467) 2025-07-24 12:04:37 -07:00