Commit graph

6154 commits

Author SHA1 Message Date
Evan Almloff
d649b0c54d
Fix mount use after removal/Simplify mounts a bit (#2834)
* remove clone mounted; mounted nodes should never leak into components?

* Remove the mount from vnodes after unmounting them

* Fix use after removal in iterator diffing

* remove logs

* Re-fix keyed list diffing

* Use new.len for diffing keyed lens and remove redundant check

* simplify core list diffing logic a bit

* remove println

* add proper asserts for new tests

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-08-13 22:47:12 -07:00
Evan Almloff
959ab67624
Fix templates merging in debug mode in macros (#2828)
* Fix templates merging in debug mode in macros

* Fix clippy

* Fix web-sys scroll to deprecated warning
2024-08-13 20:18:54 +00:00
Evan Almloff
cab573eefd
Synchronous prevent default (#2792)
* add prevent default methods to the event

* sync prevent default almost working

* sync prevent default working

* Move event handling into the runtime

* update core tests

* restore desktop file dialog

* implement prevent default on web

* add a hint about the new prevent default method

* fix web prevent default

* Fix CTRL+click on links

* fix values memorize in place test

* Fix a few more tests

* Add a playwright test for sync prevent default

* Fix core doc tests

* create a deprecated VirtualDom::handle_event

* fix macos imports in desktop

* Fix onmounted event

* Fix liveview support

* switch to RefCell for metadata

* Remove println

* remove prevent default attribute

* remove web specific link behavior

* Fix liveview links

* more liveview fixes for link

* Fix merge conflicts

* Fix clippy

* use the new prevent default in the file upload example
2024-08-13 11:57:54 -07:00
Miles Murgaw
8b62b71e2d
update: wasm-bindgen (#2824) 2024-08-13 11:41:21 -05:00
Jonathan Kelley
0de3bf7aeb
Fix nested rsx expansion by not using template titles (#2799)
* Fix nested rsx expansion by not using template titles

* fix writers with nameless templates

* fix clippy

* dont commit vscode fix

* fix release mode, pull out __template_name

* fix axum_desktop

* Fix core tests

* Make most fields of HotReloadedTemplate public for testing

* wip: formatting, compare all diff cases

* slightly smarter diffing for dynamic nodes

* add a comment about generic node diffing

* clean up mutations a bit

* fix load template

* simplify maybe_rebuild

* Restore write mutations flag in web

* write_mutations -> skip_mutations

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-08-13 01:59:04 +00:00
Sylvain Tertois
a2180b92e9
adding the Access-Control-Allow-Origin header to files served from filesystem in dioxus-desktop (#2818) 2024-08-12 12:52:51 -07:00
Evan Almloff
f10ba975ba
Fix assets folder workspace (#2821)
* Fix the asset folder location in workspaces

* Fix where the asset folder is copied to in fullstack builds
2024-08-12 12:52:33 -07:00
Evan Almloff
0bb81aba6e
fix Option<T> with non path T types (#2808) 2024-08-09 13:46:37 -07:00
Leonard
b97e607aca
Simplify and fix some issues with #[component] macro (#2289) 2024-08-08 18:00:37 +00:00
Jonathan Kelley
a84c2ec6d2
Fix mac CLI publish by using mac13 for runner (#2803) 2024-08-07 19:42:41 -07:00
Jonathan Kelley
8c992bb4cb
Fix github CLI publish CI msrv (#2802) 2024-08-07 16:50:43 -07:00
Jonathan Kelley
506d47f7d2
bump dioxus released to alpha-0.2 (#2800)
dioxus@0.6.0-alpha.2
dioxus-autofmt@0.6.0-alpha.2
dioxus-check@0.6.0-alpha.2
dioxus-cli@0.6.0-alpha.2
dioxus-cli-config@0.6.0-alpha.2
dioxus-config-macro@0.6.0-alpha.2
dioxus-core@0.6.0-alpha.2
dioxus-core-macro@0.6.0-alpha.2
dioxus-desktop@0.6.0-alpha.2
dioxus-fullstack@0.6.0-alpha.2
dioxus-hooks@0.6.0-alpha.2
dioxus-hot-reload@0.6.0-alpha.2
dioxus-html@0.6.0-alpha.2
dioxus-interpreter-js@0.6.0-alpha.2
dioxus-liveview@0.6.0-alpha.2
dioxus-mobile@0.6.0-alpha.2
dioxus-router@0.6.0-alpha.2
dioxus-rsx@0.6.0-alpha.2
dioxus-signals@0.6.0-alpha.2
dioxus-ssr@0.6.0-alpha.2
dioxus-static-site-generation@0.6.0-alpha.2
dioxus-web@0.6.0-alpha.2
generational-box@0.6.0-alpha.2
rsx-rosetta@0.6.0-alpha.2

Generated by cargo-workspaces
2024-08-07 16:38:58 -07:00
Evan Almloff
4c0fefbcb9
Fix autocomplete in rsx (#2794) 2024-08-06 16:51:55 -07:00
Evan Almloff
eeccb741d3
Re-export the axum feature flag under "server" (#2786)
* re-export the axum feature flag under "server"
* remove the axum prefix from all the fullstack examples
2024-08-06 21:35:04 +00:00
Evan Almloff
37ea8ab906
Fix suspense diffing (#2789)
* Fix suspense placeholders after creating a node
* add nested suspense client side core test
* fix resolve suspense
2024-08-06 13:54:58 -07:00
Matt Hunzinger
0042430a36
Add new crate to workspace members (#2775)
* Add new crate to workspace members

* Replace DioxusCrate with cargo metadata

* Skip initializing git repo in already existing workspace

* Fix init in workspace

* Fix naming issues with new packages

Changes how we parse names so `dx new packages/blah`creates a subdirectory instead

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-08-06 20:52:33 +00:00
Evan Almloff
e4abe79276
Fix fullstack cli progress (#2787)
* Fix progress for fullstack builds
* Fix internal logs
2024-08-06 13:51:15 -07:00
dependabot[bot]
469ab66341
Bump actions/cache from 3 to 4 (#2785)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-05 11:51:26 -05:00
Evan Almloff
b0a2e2418c
Bubble errors from the server to the client on suspense boundaries (#2772)
* Bubble errors from the server to the client on suspense boundaries

* make resolving suspense boundaries O(n)
2024-08-02 19:01:55 -07:00
Miles Murgaw
3003362b52
remove: changelog.md (#2776) 2024-08-02 23:29:28 +00:00
Matt Hunzinger
205d8e9070
Add argument to use_callback (#2774) 2024-08-02 16:15:59 -07:00
Evan Almloff
14081e7e45
Add a warning when a copy value is used in a higher scope than it was created in (#2771) 2024-08-02 10:48:13 -07:00
Miles Murgaw
0acfe37398
revision: make EvalError impl Error (#2768) 2024-08-02 10:46:43 -07:00
Miles Murgaw
f42ca65931
Fix Links & Add Link Checker (#2769)
* feat: link checker
2024-08-02 10:46:18 -07:00
Jonathan Kelley
ae4a2464b3
fix: use prettier-please just in tests - no custom wrapper (#2767)
* fix: use prettier-please just in tests - no custom wrapper
2024-08-01 17:46:51 -07:00
Evan Almloff
e5e578d27b
Add liveview support to the CLI and make fullstack runnable from dist (#2759)
* add liveview cli support
* Fix TUI fullstack deadlock
* look for fullstack assets in the public directory
* Fix fullstack with the CLI
* Fix static generation server
2024-08-01 17:46:35 -07:00
Evan Almloff
9dbdf74a1e
Move the manganis into attribute value implementation into dioxus core (#2765) 2024-08-01 17:38:01 -05:00
Miles Murgaw
e0bb67b476
Support Optional Read Signals (#2761)
* progress: add test

* feat: optional read signals

* revision: doc

* fix: fmt

* revision: imports

* fix: return type only if option

* add a few more compile tests for optional props

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-08-01 19:22:35 +00:00
Jonathan Kelley
c5fb69f9f1
release: 0.6.0-alpha.1 (improve docs.rs for fullstack, dioxus) (#2760) 2024-07-31 21:43:13 -07:00
Jonathan Kelley
0cbcef735f
Pre-release 0.6.0-alpha.0 (#2755)
* CI: add docsrs to ci

* add env vars

* no need for tokio things

* whoops, wrong rust nightly

* add swc

* bump crate versions to 0.6.0-alpha.0

* hoist up warnings and shuffle cargo.toml

* update cargos and disable warnings from ci

* attempt fix of aws

* attempt disabling aws_lc_sys globally

* pull in lc-sys

* add fips feature to fix docs

* turn on features for aws-lc-sys on cargo-doc-all

* pass along more args

* fix cfg docs

* fix: flakey gen box test

* fix: doc_cfg in static gen

* dont include readme

* fix error on static gen

* remove random line

* temporarily disable warnings

* simplify axum desktop so it doesnt count as a lib

* fix binstall link

* bump locks

* lock fixes

* revert axum desktop

* dont publish some crates
2024-07-31 22:37:39 -05:00
Miles Murgaw
4ffcef16af
Feat: Auto Default Into (#2757)
* feat: auto default into

* fix: fmt

* fix: type infer

* feat: text auto into
2024-07-31 20:14:43 -04:00
Evan Almloff
b8565e6de0
Fix the base path in the CLI (#2756) 2024-07-31 15:54:39 -07:00
Matt Hunzinger
4bf71111c8
Refactor WebEventExt (#2707)
* Create WebEventExt::try_as_web_event and refactor
* Inline and adjust error message
* Inline downcast methods
2024-07-31 13:01:25 -07:00
Jonathan Kelley
63e7aab4e8
Fix 2265: close tui on success, custom tui subscriber (#2734) 2024-07-31 10:49:51 -07:00
Jonathan Kelley
189772a17b
Use the correct to-static impl for sending escaped strings via hotreload (#2753) 2024-07-30 23:06:44 -05:00
Jonathan Kelley
828cc502f1
Fix: #2604, Fix: #2240, Fix: #2341, Fix #1355 - Better error handling and and spaces handling in autofmt (#2736)
* add new autofmt sample
* Feat: implement rustfmt::skip support for rsx
* generally improve error handling with better expect messages
* wip: nested rsx formatting and expression formatting
* nested rsx formatting works
* collapse autofmt crate
* cast indent through macros
* use proper whitespace
* no more eating comments!
* Use proper error handling
2024-07-30 18:36:13 -07:00
Matt Hunzinger
ef0202f999
Workspace support for dx fmt (#2745) 2024-07-30 16:57:43 -07:00
Evan Almloff
74e51b7e0d
Fix hot reloading spreads (#2750) 2024-07-30 15:34:27 -07:00
Evan Almloff
1b0d089d19
Fix list diffing with root dynamic nodes (#2749) 2024-07-30 15:16:42 -07:00
Evan Almloff
df8c7e1872
don't print the asset path on desktop (#2748) 2024-07-30 20:31:03 +00:00
Evan Almloff
33f3d40a49
Fix diffing Option<String> (#2746) 2024-07-30 13:05:56 -07:00
Evan Almloff
115cc0ad42
Fix component names when they are re-exported (#2744)
* Fix component names when they are re-exported
* Fix read only signal props expansion
2024-07-30 12:28:19 -07:00
Evan Almloff
34bdcd15cf
Switch to a pool of dynamic values for hot reloading (#2705)
* create the dynamic value pool

* assign ids to dynamic formatted segments

* separate the rendering and literal pools

* rsx output compiles again

* more examples compiling with new rsx expansion

* update template body explanation

* all workspace examples compile

* fix formatted segments in keys

* start hot reload diffing

* fix component literal hot reloading

* start integrate new hot reloading with the CLI

* simple hot reloads working

* Fix hot reloading blocks with components

* implement hot reloading for if chains

* Fix hot reloading after a template requires a full rebuild

* Fix hot reloading any attribute values

* remove unsafe from hot reload utils

* Fix hot reloading empty rsx

* add more hot reloading tests

* reorganize hot reload module

* fix web hydration

* fix empty rsx nodes in autoformatting

* fix tests

* remove path sorting logic from core

* make template names more consistent in debug mode

* fix quote_as_hot_reload_literal for explicitly typed literals

* fix can_be_shorthand for string literals

* fix formatted single dynamic expression

* Fix usize component properties and playwright tests

* remove default implementation for TemplateBody

* add a bunch more comments for diffing, scoring and why this scoring system is optimal
2024-07-30 17:16:27 +00:00
Matt Hunzinger
f3ca1484a1
Pass --package to Cargo #1547 (#2740)
* Fix tests

* Pass package argument to Cargo

* Fix git rev
2024-07-29 23:11:24 -04:00
Matt Hunzinger
e12acb417e
Add short p option for package to match cargo (#2738)
* Add short package CLI option
2024-07-29 18:37:12 -07:00
Miles Murgaw
67c0f1c5f0
fix: enable/disable hot reload (#2737) 2024-07-29 14:52:04 -07:00
Jonathan Kelley
0e84d00d9c
Fix #2309: rfd doesn't need async-std (#2712)
* Fix #2309: rfd doesn't need to be async
* just use tokio instead of async std
2024-07-29 15:24:31 -05:00
Jonathan Kelley
8aa07b0a75
speed up incremental cli builds by making wasm-opt optional (#2720)
* speed up incremental builds by making wasm-opt optional
2024-07-29 13:20:46 -07:00
Matt Hunzinger
6558fd95a2
Follow-up for error messages in core (#2719)
* Fix tests

* Replace unwraps on RuntimeError with panics and add track_caller for better error output

* Convert more unwraps

* Fix git
2024-07-29 13:15:06 -07:00
Adam Kundrát
a1dfc4b4f0
fix issue 1586 followup (#2733) 2024-07-29 13:00:59 -07:00