* 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'
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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
* 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
* 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>
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>
* 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