Commit Graph
261 Commits
Author SHA1 Message Date
Evan Almloff 09a4b5eb4e Return a 404 when paring the route fails (#3860)
* return a 404 when paring the route fails

* add a playwright test for fullstack routing status codes

* Fix new playwright test

* document SSRError

* Make SSRError public and fix clippy

* Move the error display bound to the routable trait

* fix clippy

* return a more generic 404 message

* fix router tests
2025-03-14 00:51:44 -07:00
dependabot[bot] ae1ec6f3be build(deps): bump ring from 0.17.8 to 0.17.13 (#3841)
Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13.
- [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md)
- [Commits](https://github.com/briansmith/ring/commits)

---
updated-dependencies:
- dependency-name: ring
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-10 10:59:08 -07:00
Evan Almloff 8dbb652628 update the server function crate to 0.7 (#3560) 2025-03-04 14:29:56 -06:00
Miles Murgaw bcd34e9a98 update: tauri-bundler, tauri-utils (#3801) 2025-03-04 14:28:44 -06:00
Philipp Herzog 87d113bddd adjust muda requirements to rely on a single version (#3533) 2025-03-04 14:21:40 -06:00
David Tolnay 9361c3ecd9 Support concat! and other macros in asset path (#3809) 2025-03-03 12:55:59 -06:00
Jonathan Kelley bdeedc13eb feat: router-based wasm bundle splitting (#3683)
* feat: wasm-split base implementation

* kinda sorta works with the cli

* okay great it actually works

* fix: cache busting for chunks

* cleaned up version

* it works with the router

* wip: migrate to a faster linear solution using id remapping

* add a good harness

* it works completely on the docsite

* the super tight build works too

* make parallelizable

* works on the docsite but not the harness

* light cleanups, fix for both harness and docsite

* make codegen smaller by extract some shared functions to prevent monos

* chunking works, but tbd on tuning heuristics

* extract used module

* wip: cleaning up module

* wip: much better understanding of how imports work

* fix the call graph

* working again...

* wip: thinking about ifuncs

* ifunc approach works

* yes the ifunc approach works!!

* it all works completely even with chunks

* small cleanups

* comments

* actually locate all of the symbols

* clean up final implementation

* clean up tomls, revert some mono changs

* clean up, add some more comments / docs in places

* hoist more packages

* clean up impl a bit more

* clean cli

* move harness to playwright

* update playwright

* extract codgen

* add lazy to components

* Add docs to split loader

* clippy

* typos

* clippy, don't generate splits if not on wasm

* whoops, const

* Typos and docs

* enable optimizations in ci

* add optimizations to ci

* add wasm-split router feature

* parallel playwright?

* fix no case check

* disable pre-compress... think that might be the issue

* better logging, no default pre-compress, caching of shared symbols
* Fix: compressing assets

* fix non-interactive logging for serve

* cache playwright even on failure, use the cli with optimizations

* fix prebuild

* fix playwright webserver
2025-02-13 18:54:38 -08:00
Jonathan Kelley fc1f1c26f1 Release 0.6.3
dioxus@0.6.3
dioxus-cli@0.6.3
dioxus-cli-config@0.6.3
dioxus-core@0.6.3
dioxus-core-macro@0.6.3
dioxus-desktop@0.6.3
dioxus-document@0.6.3
dioxus-fullstack@0.6.3
dioxus-html@0.6.3
dioxus-router@0.6.3
dioxus-router-macro@0.6.3
dioxus-signals@0.6.3
dioxus-web@0.6.3

Generated by cargo-workspaces
2025-02-07 16:38:13 -08:00
Jonathan Kelley 041c570efe publish: v0.6.2 2025-01-21 19:29:30 -08:00
Jonathan Kelley 03c2d6711d fix: pass off env vars to android apps (#3621)
* fix: pass off env vars to android apps

* move to jni_onload

* fix clippy
2025-01-21 18:52:56 -08:00
Evan Almloff 13dcd80fbf Optimize wasm bindgen asset with manganis (#3531) 2025-01-21 15:14:45 -08:00
Jonathan Kelley 8334f7fbaa feat: device hot-reload, tools-relative adb, auto port bind (#3586)
* 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
2025-01-20 17:42:13 -08:00
CathalandJonathan Kelley c7951b7dd5 feat(cli): add feature to disable downloads (#3465)
* feat(cli): add feature to disable downloads

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-16 16:49:30 -08:00
19d5fae12d Fix outdir not work when run dx bundle --platform web --outdir mydir (#3572)
* Make legacy asset dir optional
* properly implement outdir

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by:  Nathy-bajo <bajon7680@gmail.com>
2025-01-16 15:17:33 -08:00
Miles Murgaw 1419d9c71b Fix: Enable keep_fn_names In SWC Mangling (#3539)
* fix: swc, keep fn name

* fix: don't update swc
2025-01-13 10:31:40 -08:00
Evan Almloff ecc419df0a Fix ssg race condition (#3521)
* 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
2025-01-08 19:52:10 -08:00
Miles Murgaw a3812d66da Fix: Asset Cache On Windows & Asset Status (#3525)
* fix: asset caching on windows
* fix: asset status
2025-01-08 15:08:18 -08:00
Tobias DomhanandJonathan Kelley 6755accbdc fix: Handle unicode in webview events. (#3386)
* Handle unicode in webview events.

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-08 14:32:57 -08:00
Evan Almloff d890cc72ac Fix mounted event after initial hydration (#3480)
* trigger queued mounted events immediately after hydrating

* add a playwright test to prevent regressions
2025-01-07 19:52:27 -08:00
Jonathan Kelley bb3fd38231 feat: document and re-export dioxus-cli-config (#3515)
* feat: document and re-export dioxus-cli-config
2025-01-07 15:39:14 -08:00
Marc EspinandJonathan Kelley d75cb59491 feat: Reexport the Warning trait in dioxus-signals (#3321)
* re-export warnings under dioxus::warnings

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-07 14:07:46 -08:00
Jonathan Kelley 773d805037 fix: bump futures-channel to prevent locked versions from conflicting (#3510)
* chore: hoist some versions, drop pretty_env_logger

* bump futures-channel
2025-01-07 12:52:01 -08:00
Evan Almloff 19ca7075d6 Fix the event handler memory leak (#3508)
* Fix the event handler memory leak

* Add a regression test for memory leaks

* add a component to the memory leak test
2025-01-07 11:44:54 -08:00
Evan Almloff 807cfd29b7 Use a better default browser list and fail gracefully when css parsing fails (#3509) 2025-01-07 10:38:05 -08:00
Youn MéloisandJonathan Kelley 0ffa91df65 remove version pin on tao (#3485)
* remove version pin on tao
instead on including 0.31.0 as a breaking change, removing the pin upgrades tao automatically to 0.30.8

* prefer 0.30.8 as minimum tao

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-02 14:59:54 -05:00
Evan Almloff 01ebccc269 Assume the virtual dom is not rendering while not diffing components (#3406)
* Invert when the rendering flag is set

* Add a playwright test to make sure effects, and web-sys integration is working

* fix playwright test
2024-12-20 12:08:57 -08:00
Jonathan Kelley c2952a79f8 Release: dioxus 0.6.1 2024-12-17 18:30:08 -08:00
Jonathan Kelley eb76d48eae Fix: unwraps while ignoring log lines (#3370) 2024-12-16 17:13:52 -08:00
Miles MurgawandJonathan Kelley ccf500c77b Feat: CLI wasm-bindgen-cli Installer (#3335)
* feat: wasm-bindgen-cli installer

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-12-11 11:27:11 -08:00
Jonathan Kelley 3326e6b2fa bump wasm-bindgen and js-sys 2024-12-07 22:40:07 -08:00
Jonathan Kelley 30f760ca15 Feat: Release Dioxus v0.6 2024-12-06 19:54:08 -08:00
Jonathan Kelley 7d490dc3bd feat: integrate dioxus-logger inline (#3302)
* feat: integrate dioxus-logger inline

* remove log/simple logger references

* fix: add dioxus-data-id-0 to root elements to not emit errors internally

* drop config.toml and use cargo.toml profiles instead

* make clippy happy with the unit value lint

* feat: better presentation for logging
2024-12-06 16:27:05 -08:00
Miles Murgaw bff5478fdf Feat: Manganis SCSS Support (#3294)
* feat: scss manganis support

* revision: make ScssLogger private
2024-12-05 10:41:44 -08:00
Jonathan Kelley 5bfdc039db Fix performance of wasm-bindgen-cli by bumping walrus 2024-12-04 13:28:08 -08:00
Jonathan Kelley 1a30a2f75f Publish 0.6.0-rc.0 2024-12-02 17:35:25 -08:00
Jonathan Kelley 1cbfcde6cd improve build times by extracting asset opt into its own crate (#3273)
* improve build types by extracing asset opt as a dylib
* dont use dylib, but let regular workspace caching do the heavy lifting
* add prebuild to cli for better lock contention
* hoist deps
* disable slow tests
* re-enable sequential, debug=0 for dev
* use vfs for windows
* dont cache on failure, fix windows vfs caceh
* free disk space re-order
* add clippy + fmt to windows channel
* yoink makefile
* proper rustfmt/clippy on toolchain
* set incremental to zero since cargo-cache disables it
2024-12-02 16:52:40 -08:00
79a2f023e7 Add the onvisible event handler to Element (#2911)
* Add the `onvisible` event using the IntersectionObserver

* Add a visible example

This example is based on https://codepen.io/ryanfinni/pen/VwZeGxN

* Remove web-sys CustomEvent feature for html package

* update js bindings and hash

* Use dioxus doc instead of lorem ipsum

* Fix clippy warning

* Add get_target method to the event data

* Make `get_time` return an Instant instead of a f64

* fix merge conflicts, compilinga

* remove target

* small nits

* serialzie as time_ms

* fix timing, works on desktop

* remove latent nits, fix hash

* box size clippy

* fix browserlist cargo.lock

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-12-02 13:51:27 -08:00
Jonathan Kelley b114ed39f3 drop reference types due to deprecation, pin browserlist (fix ci) (#3272)
* drop reference types due to deprecation

* also downgrade browserlist
2024-12-02 13:34:14 -08:00
Evan Almloff 3d62fbf021 Fix base path on web and fullstack (#3247)
* 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
2024-11-27 10:40:55 +03:00
1e8693a0e8 wgpu windows (fixed) (#3257)
* Working triangle rendering with wgpu in examples. Resize needs work in order to not reinitialize everything but only the bits needed. Naming of variables and resources are wonky and not the greatest.

* The child window wasn't being resized along with the parent. This works. the abstractions in place should be passed the bounds rect down into the desktopservice to resize as opposed to in the app impl instead of how they are rn.

---------

Co-authored-by: Vineeth Yeevani <vineethyeevani@Vineeths-MacBook-Air.local>
Co-authored-by: Vineeth Yeevani <vineeth.yeevani@gmail.com>
2024-11-26 18:44:53 +01:00
Evan Almloff f9617c8d33 Restore manganis optimizations (#3195)
* 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
* add serializable options for each asset type
* implement the new manganis macro
* optimize assets in the CLI
* Fix assets with dioxus formattable
* reduce fuzzing test limits
* use the new syntax in examples
* fix avif support
* Fix manganis doc tests
* cache asset optimization
* Split out asset and bundled asset
* make hash pointer width independent
* Fix manganis macro docs
* add constvec::is_empty method to fix clippy lint
* remove nasm feature
* simplify test_rsplit_once test so typos passes
* revert example change from clippy fix
* 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
* simplify the linker macro a bit
* add more docs to AssetParser expansion
* add image format helpers
* Split by  both unix and windows path separators and take the smallest one
2024-11-26 18:12:24 +01:00
Andrew Voynov fca5a82e2b Fix (and rewrite) dx init/dx new (#2822)
* fix(cli)!: init subcommand now works correctly
* test(cli): added tests for init subcommands
* chore: moved `init` subcommand tests to its own file
* removed unnecessary arguments from tested command
* refactor(cli)!: new subcommand now behaves like cargo
* moved the hidden cursor workaround into a function
* feat(cli): added `branch` flag for init/new subcommands
* feat(cli): added `revision` and `tag` options
2024-11-16 01:20:59 -05:00
Jonathan Kelley a0e649ad96 Release v0.6.0-alpha.5 2024-11-15 23:46:11 -05:00
Jonathan Kelley fb7c568275 fix: java_home and cli swallowing logs (#3221)
* fix: http examples with android, add more important flags
- set java_home from assumed installations
- fix tracing redirection bug
2024-11-15 23:23:45 -05:00
Evan Almloff 21465390f8 Fix write on render warning with read only signal props (#3194) 2024-11-13 11:48:43 -05:00
Jonathan Kelley ac3e33af46 cli json output, dx bundle fix, dx serve --platform android, race condition, drop ssg platform (#3186)
* 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
2024-11-12 09:01:01 -05:00
Evan AlmloffandJonathan Kelley 45a1147ffd Fix subscriptions for read only signals passed as props (#3173)
* add a fuzzing test for reference counted generational boxes

* Fix subscriptions for readonlysignal passed as props

* Don't subscribe to dropped contexts

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-11-10 21:35:33 -05:00
Jonathan Kelley 8b586352a2 Make wasm-bindgen parallel/disable log, speed up 2-10x (#3161)
* wip: pull out incr linker intercept and debug=true for wasm for faster builds

* make walrus parallel

* clean up impl
2024-11-04 18:32:23 -08:00
Jonathan Kelley e0575b3eb5 Release: dioxus v0.6.0-alpha.4 2024-11-01 16:39:02 -07:00
Jonathan Kelley a2e8e1d69e Remove latent dependencies in router 2024-11-01 16:11:24 -07:00