Commit graph

4601 commits

Author SHA1 Message Date
Jonathan Kelley
b67122dd2a
Chore: format some cargo tomls (#2970) 2024-09-16 16:58:19 -07:00
Jonathan Kelley
143ad749ea
Split out isrg from ssr and reorient build graph to make interpreter build 2x faster (#2969)
* split out isrg and core-types to speed up interpreter build
2024-09-16 16:49:06 -07:00
Jonathan Kelley
f0d814fede
Extract some simple cleanups from 2779 (#2966)
* Chore: remove random old test fixture from CLI

* nuke oidc

* remove weird useless desktop example

* remove lua globals vscode setting for cli

* remove cli testcase

* hoist deps in core-macro

* we dont need prettyplease

* add hoisted dependencies

* hoist more despt

* rename rsx_rosetta to dioxus_rsx_rosetta

* drop cache thrashing when listening for features

* drop flag from mobile dep

* drop cli-config warning

* hoist more deps

* clippy...

* we dont use the tools module...

* bump lock
2024-09-16 16:04:20 -07:00
Jonathan Kelley
983fcfc616
Chore: hoist example projects for discoverability (#2959)
* hoist example projects, remove oidc

* move over example projects from the separate repo

* Update ecommerce site to the latest version of dioxus

* update wifi scanner to 0.5

* drop the chatbot example; might be restored in a separate PR

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-09-16 09:11:33 -05:00
Jonathan Kelley
c5f00bf7d4
Chore: remove old cruft in web crate (#2957) 2024-09-13 12:54:28 -07:00
Jonathan Kelley
c7124e41fb
Add space between rsx and exclamation point (#2956) 2024-09-13 08:31:39 -05:00
Miles Murgaw
8d68886310
CLI Fixes & Tweaks (#2846)
Fixes scrolling on vscode using simple fix
 Adds scroll modifier, scroll at 5 lines per scroll while holding shift key.
 Adds error handling for manganis failure that still lets the build run.
 Revises TUI rendering code.
 Move TUI "info bars" to the bottom of the terminal.
 Revised logging system with tracing
 Working [c] clear keybind. This has been removed.
 Removal of [h] hide keybind text (it does nothing)
 Some opinionated cleanups and renames to make tui logic easier to understand.
 Rolling log file & maybe add some more "internal" logging. Closes CLI Rolling Log File #2764
 Removes log tabs. Closes CLI: Color-code logs and get rid of tabs #2857
 Combines info bars.
 Working and good text selection.
 Print launch URL in console.
 Handle log lines properly and add formatting.
 Move MessageSource to a more reasonable location.
 Add some background styling to powerline (info bar) - Tried this and it doesn't look the greatest.
 Log Filtering
 Final Cleaning & Changes - I could do this forever
 Test Linux

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-09-13 01:34:19 -07:00
Evan Almloff
87c2f64f13
Fix dx bundle command and resources panic (#2951) 2024-09-13 01:30:47 -07:00
Chung
9bf94a1636
remove unused logic in fullstack launch (#2949) 2024-09-11 07:32:46 -05:00
Chung
b20db13e84
add disabled, form and name attributes to fieldset (#2947) 2024-09-10 15:21:58 -05:00
Evan Almloff
eecefb796e
bump wry (#2945) 2024-09-09 14:57:59 -05:00
Evan Almloff
6ff7a54706
Fix custom launch builder with unsized context types (#2920) 2024-09-07 13:35:44 -05:00
Evan Almloff
c11f2ed3cd
Allow hooks in the expression of a match statement and if statement (#2902)
* Allow hooks in the expression of a match statement and if statement

* Don't allow hooks in spawn and detect hooks in initialization closures

* Point to DX check when hooks are called conditionally
2024-09-07 13:35:15 -05:00
Evan Almloff
7bb53fe835
Parse trailing route slash (#2896)
* Parse trailing route slash

* Fix typo
2024-09-07 13:34:57 -05:00
ASR-ASU
ffb5c98449
Add aspect-ratio property (#2916) 2024-09-03 08:38:01 -05:00
dependabot[bot]
9d099a7f3f
Bump webpack from 5.88.1 to 5.94.0 in /packages/extension (#2907)
Bumps [webpack](https://github.com/webpack/webpack) from 5.88.1 to 5.94.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.88.1...v5.94.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-30 13:49:37 -04:00
Evan Almloff
aa0ea444cf
Fix ordering issues when with_menu(None) is called before setting the window builder (#2903) 2024-08-29 15:51:31 -05:00
Evan Almloff
4676171861
Fix hot reloading components with keys (#2886)
* Fix hot reloading components with keys

* include component formatted segment keys, but not dynamic component value

* Fix component_literal_dyn_idx index

* add a new test for hot reloading components with keys

* Even more tests

* make clippy happy

* fix typo
2024-08-28 18:53:11 -05:00
Evan Almloff
e5696cd72f
Fix script component src attribute (#2887) 2024-08-28 18:52:36 -05:00
Marc Espin
91112734f6
Revert "feat: Manual impl of PartialEq for Coroutine" (#2899)
* Revert "feat: Manual impl of PartialEq for `Coroutine` (#2895)"

This reverts commit e6efd973d8.

* Update use_coroutine.rs

* Update use_coroutine.rs

* Update use_coroutine.rs
2024-08-28 16:09:31 +00:00
Marc Espin
e6efd973d8
feat: Manual impl of PartialEq for Coroutine (#2895) 2024-08-27 15:03:33 -05:00
Drew Pirrone-Brusse
a575a425e3
Add placeholder doc comments to macro-generated enums (#2872)
* Add placeholder doc comments to macro-generate enums

* Add doc comments to generated router parse error enums

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-08-26 08:26:46 -05:00
Drew Pirrone-Brusse
eac7f65551
Bump dependencies to transitively bump git2 from 0.18 to 0.19 (#2873)
* Bump built to version 0.7.4

* Bump cargo-generate to 0.21.3

* Update Cargo.lock
2024-08-22 18:05:36 -07:00
Evan Almloff
be630a9d3f
Bump sledgehammer (#2879)
* bump sledgehammer

* Bump minor sledgehammer utils version
2024-08-22 18:04:45 -07:00
Jonathan Kelley
005d52468d
Fix: clippy, dont throw error on commas (#2869)
* Fix: clippy, hotreload css blocks, raw blocks

* fix test

* okay nevermind
2024-08-20 23:57:56 +00:00
Evan Almloff
effc0a3b94
Make use_callback and Callback bring the runtime with them (#2852)
* Move the runtime along with Callback
2024-08-20 14:58:53 -07:00
Evan Almloff
5a7a91323a
Make desktop fullstack work with the CLI (#2862)
* Make desktop fullstack work with the CLI
* Simplify desktop fullstack example
* move the profiles to the workspace
2024-08-20 14:57:51 -07:00
Evan Almloff
6a46a66c9a
Fix hot reload custom element (#2866)
* Fix hot reloading attributes on web components
2024-08-20 14:56:47 -07:00
ASR-ASU
3c699aad26
Enable wry linux-body feature flag for linux os target (#2856) 2024-08-20 12:06:44 -05:00
Miles Murgaw
8e613d3bcc
fix: cli progress (#2840) 2024-08-19 14:10:53 -07:00
Jonathan Kelley
4963aa3118
fix autofmt: don't panic when writing blocks out without a srcfile (#2854)
* fix: don't panic when writing blocks out
* also fix serialization for hotreload
* fix windows line endings
2024-08-16 21:55:30 -07:00
Evan Almloff
b47a6cf83e
Move to a generic GlobalLazy<T> (#2851)
* Expose a generic lazy type

* Switch to generic lazy globals

* simplify global lazy context a bit

* rename LazyGlobal to Global

* use Memo::global in more examples

* Fix soundness issue with deref_impl. It relies on the size of self, so it cannot be safe

* add a comment about safety

* Make clippy happy

* fix formatting

* Restore changes to signal impl

* Add helper methods for global signal and global memo to make getting the inner value easier
2024-08-16 17:57:41 -05:00
Miles Murgaw
668d5415c8
Fix: Make Toast Fixed & Increase Z-Index (#2850) 2024-08-16 10:54:35 -07:00
Jonathan Kelley
c21b44a4e6
fix collapsing of multiline components and rsx!{} calls (#2849) 2024-08-15 17:03:58 -07:00
Evan Almloff
40dc14389e
Don't rebuild when the code is in an invalid intermediate state (#2848)
* don't rebuild when the code is invalid

* Fix comment
2024-08-15 12:45:05 -07:00
ASR-ASU
2f49a89638
Add the onresize event handler to Element (#2479)
* Add the capability to handle resize event for web target

* Add the capability to handle resize event for desktop target

* Return all the sizes, not just the first one

* Fix conversion from platform to generic ResizedData for liveview

* Update the generated interpreter js code base

* Fix clippy warnings

* Fix inconsistent use of block_size and inline_size

* Rename `onresized` event to `onresize`

* Remove the the special-casing logic from the binding logic

* Propagating the resize events using CustomEvent

* Fix case convention in core ts

* revert changes to unified bindings

* Cleanup as suggested

* add a resize example

* Fix desktop resize events

* remove tracing from resize example

* use the raw resize entry so we can downcast on web

* remove unused ResizeEventDetail

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-08-15 01:23:49 +00:00
Evan Almloff
4d6fb74e87
Fix hot reloading component properties out of order (#2842)
* Fix hot reloading component properties out of order

* ignore signal write warnings in hot reloading

* Fix hot reloading components with only some literal properties

* Add a test for hot reloading component properties
2024-08-14 15:18:37 -07:00
Evan Almloff
1e03e3946d
queue hot reload changes for future clients (#2843) 2024-08-14 14:55:04 -07:00
Jonathan Kelley
2f30c73678
Fix side-by-side fragments by walking in reverse (#2841)
* got a repro, but no solution :(

* hmmmmm 🤔

* awyayayayayayya

* omg it's because we dont create in rev

* Make nodes rev

* fix tests compile

* Clean up PR

* revert changes to native

* Clean up PR, add test
2024-08-14 19:38:54 +00:00
Jonathan Kelley
851abe82d5
Fix non-brace delimeters in nested macro formatting (#2831) 2024-08-13 22:47:43 -07:00
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
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
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
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
Miles Murgaw
b7127ad6ae
Fix WSL Hot Reload (#2721)
* feat: poll watcher
* progress: wsl hot reload setting
* feat: wsl poll setting
2024-07-29 12:33:03 -07:00
Adam Kundrát
4e338accad
implement HasMouseData for WheelEvent (#2728) 2024-07-29 12:28:06 -07:00
Adam Kundrát
23dfe39bdf
desktop app saves window position fix (#2730)
* desktop app saves window position fix

* debug cfg

* cargo fmt
2024-07-29 12:25:34 -07:00
Adam Kundrát
3db24934d6
fix issue 1586 (#2725) 2024-07-28 23:48:49 -07:00
opensource-inemar-net
e73484795a
This fixes issue (#2724) 2024-07-28 12:06:09 -07:00
Jonathan Kelley
c4e55c7fb6
Fix #2378: CLI MSRV and add MSRV to CI (#2716)
* Fix: bump msrv up to be valid for cli
* add binstall check to ci
* adjust msrv of tomls
2024-07-26 19:24:40 -05:00
Matt Hunzinger
c48232f386
TUI tweaks (#2685)
* Clear builds logs on clear screen key event and fix keybinds rendering
* Clear the currently selected build logs
* Add placeholder for / screen
* Change tabs to be 1-indexed
* Redirect build errors to build tab
* Open the running app with 'o'
2024-07-26 17:12:54 -07:00
Jonathan Kelley
1a66987245
Fix: enable dangerous_inner_html for svgs (#2717) 2024-07-26 23:29:24 +00:00
Miles Murgaw
810f8bbfb8
Feat: always_on_top CLI Setting (#2715)
* feat: always_on_top cli setting

* revision: add user message for configuring settings
2024-07-26 16:27:56 -07:00
Jonathan Kelley
e42b71b1ba
Fix #2612: adjust readable trait to allow try_peek (#2714)
* Fix #2612: adjust readable trait to allow try_peek

Our implementation for Readable was inconsistent.
We had a try_unchecked variant for read but not for peek.
This resolves that by making a breaking change to the
Readable interface.

* fix doctests too
2024-07-26 18:20:16 -05:00
Evan Almloff
443b9a4af6
Parse redirects in the same order they appear in (#2650)
* Parse redirects in the same order they appear in
2024-07-25 17:47:38 -07:00
Evan Almloff
c6a2e5b6c8
Use head elements and new manganis syntax in examples (#2688)
* use head elements and new manganis syntax in examples
* only enable desktop workspace example scraping during a dioxus release

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-25 21:58:00 +00:00
Miles Murgaw
bd58a92441
CLI: Toasts & Tweaks (#2702)
* progress: cli toasts

* forgot the html

* progress: toasts

* revision: don't open splash on desktop

* fix: fmt, spellcheck
2024-07-25 14:38:45 -07:00
Matt Hunzinger
beeee0dda1
Update tasks.rs (#2703) 2024-07-25 12:37:49 -05:00
Evan Almloff
163586c3ff
Make the web config optional in dioxus.toml (#2700) 2024-07-24 19:23:09 -07:00
Evan Almloff
7f210633eb
fix formatting and merging if chains in attributes (#2697)
* fix formatting and merging if chains in attributes

* fix autoformat if attribute chains

* Fix IfAttributeValue ToTokens implementation

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-24 18:56:21 -07:00
Evan Almloff
a6e41e9d68
Make dioxus-cli a binary - not a library (#2698) 2024-07-24 18:09:57 -07:00
Evan Almloff
942e701f02 Fix signal warnings in release mode 2024-07-24 17:55:57 -07:00
Evan Almloff
8636ada3a4
Add a deprecation warning for the resource option in dioxus.toml (#2642)
* Add a deprecation warning for the resource option in dioxus.toml

* fix name of resource config

* fix tab spacing issue

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-24 17:52:28 -07:00
Evan Almloff
a6c025c8ef
Unify the warning system (#2649)
* unify the warning system

* fix VirtualDom::new warning with a component

* move warnings to dioxuslabs

* also allow writes in the component body when converting from T -> ReadOnlySignal<T>

* fix clippy from merge conflict

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-24 15:50:36 -07:00
Andrew Voynov
f8cb07e673
feat(cli): added git commit hash to version output (#2696) 2024-07-24 13:44:45 -07:00
Evan Almloff
bd484842bd
Fix playwright tests (#2695) 2024-07-24 12:48:30 -07:00
Evan Almloff
9479d2376d fix RuntimeError message formatting 2024-07-24 11:33:28 -07:00
Matt Hunzinger
d07e81005f
Better expect error messages (#2629)
* Replace expect error messages

* Change message

* Create RuntimeError struct

* Pass error through core methods

* Fix use of Runtime::current in signals package

* Fix tests

* Add #[track_caller] for better error output and fix maybe_with_rt

* provide a help message along with RuntimeError

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-07-24 13:31:56 -05:00
Tristan F.
9167cd9dec
fix most typos, add crate-ci/typos to CI (#2653)
* fix most typos, add crate-ci/typos to CI

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 17:49:33 -07:00
Evan Almloff
841b447d2a
improve error message when the CLI and dioxus versions don't match (#2683) 2024-07-23 17:27:52 -07:00
Evan Almloff
ea3d88c1dd
Fix spread props diffing (#2679)
* Fix spread props diffing

* Add a regression test for extends prop diffing
2024-07-23 16:57:05 -07:00
Evan Almloff
3bb9a535d8
Parse raw elements, attributes, and web components in rsx (#2655)
* parse raw elements and attributes in rsx

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 16:48:40 -07:00
Evan Almloff
fa4e5dbf62
Fix rsx autocomplete and diagnostics in the root; provide better completions after attributes are finished (#2656)
* fix rsx autocomplete and diagnostics in the root; provide better completions after attributes are finished

* clean up pr to use internal child parsing

* Fix peek_lowercase name

* fix comma diagnostics in the root

* Fix parsing components with a path

* remove simple routes trailing comma

* Fix incomplete_root_elements test

* Remove trailing commas from root body node in tests

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 16:34:50 -07:00
Miles Murgaw
71a48686dc
fix: gitignore builder (#2689) 2024-07-23 16:12:54 -07:00
Miles Murgaw
4ccd9ffe19
revision: use JSON compatible serializer (#2592) 2024-07-23 14:36:37 -07:00
Miles Murgaw
9ca5396343
fix: windows hot reload (#2687) 2024-07-23 13:18:31 -07:00
Miles Murgaw
117c9d18ae
fix: actually drain logs (#2686) 2024-07-23 12:40:09 -07:00
FragrantArmpit
28d1b305c4
Add a signal handler to reset the cursor on interrupt (#2603)
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 11:00:57 -07:00
Evan Almloff
1dcfc44c23
prevent the reload shortcut on windows (#2654) 2024-07-23 10:58:17 -07:00
Evan Almloff
52656348d5
Fix cli readme local installation instructions (#2671)
Fixes #2669
2024-07-23 10:57:51 -07:00
Evan Almloff
163d66e9d7
Expand to a partial Component if a shorthand attribute starts with a capital letter (#2652) 2024-07-23 10:57:15 -07:00
Evan Almloff
7e279e5eb9
Allow no trailing comma after attributes (#2651) 2024-07-23 10:41:22 -07:00
Oskar Manhart
aa1a928b91
Make VirtualDom constructor take an impl Fn() instead of a function pointer (#2583)
* feat: don't use function pointer to allow capturing context

* fix: make virtualdom factory take a function of type ComponentFunction with empty props

* fix: remove redundant generic arg

* fix: bruh

* fix: bruh
2024-07-23 10:40:48 -07:00
opensource-inemar-net
c6126f688e
Remove Dioxus CLI NASM dependency #2666 (#2682)
* fix issue with AWS-LC-SYS

* after mergo of manganis revert back to original

---------

Co-authored-by: Oliver Schnabl <oliver.schnabl@drei.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 10:39:21 -07:00
Evan Almloff
c7c0f4481a
Fix generation race condition with sync storage (#2638)
* Fix generation race condition with sync storage

* Document GenerationalPointer

* check generation before recycling generational box

* fix clippy

* make race_condition_regression test panic if it fails
2024-07-23 10:30:57 -07:00
Miles Murgaw
672f4dfefc
Re-Export Manganis & Update Examples (#2625)
* feat: export manganis

* revision: use manganis in examples

* fix: manganis dep

* fix: workspace root finder

* fix: manganis dep

* fix: ci
2024-07-23 10:29:37 -07:00
Miles Murgaw
856fadc9d6
Splash Screens (#2657)
* progress: loading splash screen

* feat: loading screen plash

* feat: splash screens

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-23 10:22:49 -07:00
Jonathan Kelley
8b5ad5d925
Fix some CI (windows + nasm, core-macro error) (#2676)
* Moves index.html creation until after wasm creation so the webserver doesn't prematurely serve the page
* sets up nasm for windows builds (to be superseded by Remove Dioxus CLI NASM dependency #2666 #2682)
* puts magnanis-cli-support in a blocking task to prevent threadlocking during sequential builds
* changes order of client/server builds such that the client is built before the server so the webserver doesn't prematurely serve invalid client code
* declobbers "serve" such that each project gets a different dir in the target folder
* uses nest_service instead of fallback so the router doesn't respond with fallback codes
* reincorporates doge's fix from Fix hot-reloading on Windows #2544
2024-07-23 09:58:13 -07:00
Evan Almloff
40f936d56a
Fix deriving props with a where clause and an owner (#2674) 2024-07-22 13:48:39 -07:00
Wesley McCann
5bdb147afd
Handle deserialize errors without panic (#2664)
* Handle deserialize errors rather than panic

* don't clone event data for deserialization in debug or release mode

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-07-22 12:20:15 -05:00
Evan Almloff
ba64ee04c2 fix fullstack with the server feature enabled but the axum feature disabled 2024-07-18 11:47:45 -07:00
Evan Almloff
9fb92f30a6 Fix trailing comma in head doctest 2024-07-18 11:25:23 -07:00
Evan Almloff
e794be5d78
Improve warnings when trying to update outside of pending suspense boundaries on the server (#2575)
* Improve warnings when trying to update outside of pending suspense boundaries on the server

* remove suspense resolve log
2024-07-17 19:32:33 -07:00
Jonathan Kelley
88af3e7eff
Hotreloading of for/if/body, formatted strings, literals, component props, nested rsx, light CLI rewrite, cli TUI (#2258)
Hotreload the contents of for loops, if chains, component bodies, props, attributes, and any literals discovered in rsx!
Add a TUI renderer to the CLI.
Improve the CLI build system to be async and parallel.
Refactor RSX to allow partial expansion of expressions.
Merge autofmt implementations for consistency.
Merge the representation of elements and components under the hood.
Add a diagnostics system for rsx for improved error messages.
Drop interprocess and move to websockets for communication between the CLI and the server.
Assign IDs to nodes and attributes in a stable way to be used in non compiler contexts.
Add hotreloading to any body of component/for loop/if chain/etc.

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Liam Mitchell <liamkarlmitchell@gmail.com>
2024-07-17 19:11:18 -07:00
Evan Almloff
176e67e5b7
switch to a Document trait and introduce Script/Head/Style/Meta components (#2635)
* switch to a Document trait and introduce Script/Head/Style/Meta components

* Fix desktop title

* Insert special elements into the head during the inital SSR render

* Make all head component attributes optional

* hydrate head elements

* improve the server streaming head warning

* Document fullstack head hydration approach

* deduplicate head elements by href

* move Link into head::Link

* document head components

* add meta and title examples

* Fix a few doc examples

* fix formatting

* Add title to playwright tests

* serde is optional on web, but it is enabled by hydrate

* remove leftover console log
2024-07-17 20:54:03 -05:00
Evan Almloff
a490a94ae5
make playwright timeout even longer (50min) 2024-07-18 03:26:12 +02:00
Evan Almloff
742721bfde expose static site generation in the launch builder and prelude 2024-07-10 16:59:08 -07:00
Evan Almloff
580bf666a6 fix static generation playwright test 2024-07-10 16:50:21 -07:00
Andrew Scott
69d7098d0e
feat (desktop): upgrade from wry 37 to 41 (#2618) 2024-07-10 12:50:04 -07:00
Evan Almloff
96450a110e
Fix empty prefixes (#2621) 2024-07-10 12:43:28 -07:00
Evan Almloff
b13236cd38
Add a playwright test that checks static generation (#2608)
* add a playwright test that checks static generation

* add playwright-static-generation to the workspace

* fix static-generation name in CLI
2024-07-10 12:43:02 -07:00
Evan Almloff
f07ab370b9
Fix context type in static generation crate (#2607) 2024-07-10 12:42:33 -07:00
Andrew Scott
156144e8f5
fix (desktop): hide menu when window decorations are disabled (#2613)
* fix: hide menu when window decorations are disabled

* chore: clearer doc description
2024-07-09 12:37:58 -07:00
Andrew Scott
bb52280a51
fix (regression): hide desktop window until initial render (#2614) 2024-07-09 12:32:05 -07:00
Evan Almloff
ecdc93232e
Expand component definition before errors to fix component autocomplete from other modules (#2609) 2024-07-08 11:21:20 -07:00
luveti
e1ea213d05
Fix fullstack desktop launch (#2581) 2024-07-03 12:18:56 -05:00
Jonathan Kelley
2c20d3dc5e
Remove deprecated macros: inline_props, format_args_f!, render! (#2574)
* remove deprecated macros

* Rename derive_typed_builder
2024-07-02 21:46:11 -07:00
Miles Murgaw
7f6f0de085
Partially Fix Hotreload (#2557)
* fix: template names

* fix: hot reload "resets" after reload

* revision: ensure all paths are split by `/`

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-02 21:45:12 -07:00
Miles Murgaw
9567674a63
Feat: CLI Settings (#2424)
* feat: cli settings

* revision: lower msrv

* add previous line about hotreload settings just in case

* Fix issue with open

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-07-02 21:43:58 -07:00