Commit Graph
100 Commits
Author SHA1 Message Date
Evan Almloff 75d9ece3af Fix stores deadlock (#4950)
* Fix stores deadlock

* fix clippy

* more clippy fixes

* move panic for reading invalid keys into userland instead of in the
hashmap iter method

* apply the same fixes to btreemap

* return a dropped error instead of panicing if the item has been removed
2025-11-19 12:58:02 -08:00
Evan Almloff 6df20ef3f7 Fix default with optional props (#4995)
* fix default with optional props

* fix core macro tests
2025-11-19 12:33:49 -08:00
Evan Almloff 6e952f27a7 Fix drag and drop serialization (#4997)
* fix drag and drop serialization

* rebuild js
2025-11-19 12:08:18 -08:00
Evan Almloff bd2d1de873 Fix marking nodes as dirty when inserting into an existing hashmap entry (#4959)
* Fix marking nodes as dirty when inserting into an existing hashmap entry

* remove logs
2025-11-12 23:13:56 -03:00
Evan Almloff b252dc0620 Fix adding nodes to nested fragments (#4929)
* Fix adding nodes to nested fragments

* add note about test
2025-11-06 15:48:11 -03:00
Evan Almloff e03d8ff215 fix windows builds (#4903) 2025-11-03 18:10:38 -08:00
Evan Almloff 06f39cd140 skip lib default members (#4895) 2025-11-03 12:59:07 -06:00
Evan Almloff ee1719af92 Expand relative assets to a placeholder if we are running in rust (#4860)
analyzer
2025-10-30 18:53:39 -07:00
Evan Almloff 566dab939f Relax asset resolver bounds and document resolving folder assets (#4859)
* relax asset bounds and document resolving folder assets

* fix docs for folder asset_path
2025-10-30 18:53:26 -07:00
Evan Almloff 43373f0be7 Fix updating components and local components (#4856)
* Fix updating components and local components

* fix typo
2025-10-28 17:02:56 -07:00
Evan Almloff e656bace5c restore the extract function for server functions (#4849)
* restore the extract function for server functions

* fix compilation

* Move most fields under one shared lock

* fix typo

* fix clippy

* restore somewhat misleading FromRequest bound

* remove unused import

* fix doc links
2025-10-27 15:54:24 -07:00
Evan AlmloffandJonathan Kelley 07a0aa852b Pin tauri-macos-sign (#4845)
* pin tauri-macos-sign

* fix nix by pining `home

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-27 12:44:24 -07:00
Evan Almloff 9b52aa6607 Skip emitting a transposed type if the original type is entirely generic (#4838)
* Skip transposed type if the type is generic

* fix clippy
2025-10-27 12:37:02 -07:00
Evan Almloff e4297d0e09 Readable and Writable helpers for String, HashMap and HashSet (#4834)
* Add more read/write methods for string signals

* add helpers for HashMap and HashSet as well

* fix typo

* fix conflicting string and str extensions

* fix counters example
2025-10-27 11:39:48 -07:00
Evan Almloff c55a29e930 fix the info message for the dx components subcommand (#4832) 2025-10-22 22:52:08 +01:00
Evan AlmloffandJonathan Kelley 987e41de16 CLI fixes for hotpatching the playground (#4715)
* 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 hot patching with a base path

* read the hot patch file from stdin instead of a CLI arg to allow for longer inputs

* fix request imports

* wip: code style changes

* rename to "components" instead of "component"

* bump lock

* move to method on request

* read until eof in the case of pretty json

* strip is now copy

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-20 17:50:27 -04:00
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
Evan Almloff fa5d7e681b Fix ReadOnlySignal alias without storage (#4735) 2025-10-07 23:08:00 -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
Evan Almloff da32278b3a Sync ReadSignal and Store (#4608)
* Add some traits read only signal works with sync storage

* seal gats

* minimize diff
2025-10-03 20:05:43 -07:00
Evan AlmloffandJonathan Kelley d0c4376790 Fix route hydration with ssg without early chunk commit (#4654)
* Fix route hydration with ssg without early chunk commit

* fix clobbered port for fullstack spread (merge conflict)

* wait for hydration

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-03 19:59:47 -07:00
Evan Almloff 03801e1312 Fix hydration with empty spread attributes (#4647)
* Fix hydration of empty spread attributes

* add a regression test

* fix doctest
2025-10-03 19:41:23 -07:00
Evan AlmloffandJonathan Kelley 12fab0f9f7 Fix fullstack serialization order for adjacent components (#4600)
* fix serialization order

* add regression test

* split out test into a seperate package

* revert logging

* change order

* opinions on structure

* small wait in hydration order test

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-03 19:23:34 -07:00
Evan AlmloffandJonathan Kelley ecec70f5e8 Fix stores with vec index method and expose opaque writer types (#4684)
* Use a different indexing method for each data structure

* add a get method for slices

* Rename trait for clarity and simplicity

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-03 18:43:54 -07:00
Evan Almloff c709c415c9 Fix chained attribute if statements with static strings (#4721) 2025-10-03 18:30:14 -07:00
Evan Almloff d65f9a53c4 Fix hydration error suspense (#4640)
* Fix hydration of error boundaries

* add a regression test

* add more comments

* fix typos

* more typos

* fix clippy
2025-10-02 22:21:41 -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
Evan Almloff 2e7e0696a3 Fix opening in new tab with internal links (#4677) 2025-09-20 21:34:06 -07:00
Evan Almloff eef4db67b1 remove usage of private modules (#4664) 2025-09-15 12:14:47 -07:00
Evan Almloff ed285c9604 Pin serde in the CLI (#4663) 2025-09-15 10:49:29 -07:00
Evan Almloff 5104644b34 Allow relative assets in rust > 1.88 (#4658)
* Allow relative assets in rust > 1.88 and assets outside of the crate in
binary crates

* undo changes to assets outside of the crate

* don't use relative assets in examples
2025-09-15 10:43:30 -07:00
Evan Almloff 707bde2986 add GlobalStore to the prelude (#4662) 2025-09-15 14:54:32 +01:00
Evan Almloff 539ede2041 implement copy for eval (#4655) 2025-09-12 08:20:03 -05:00
Evan Almloff 171f34589f improve placeholder hash error message (#4615) 2025-08-29 11:27:56 -05:00
Evan Almloff f95d8e4682 Fix empty borrow location warnings (#4593)
* Fix empty borrow location warnings

* add error tests for rc variants

* fix clippy
2025-08-20 10:56:06 -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
Evan Almloff 021565c171 Fix hydration of link element (#4561)
* Fix hydration of link element

* revert some logging changes

* clean up fullstack history provider

* fix router tests

* fix document context type
2025-08-19 12:23:45 -07:00
Evan Almloff 6cd4453662 Fix store macro with struct bounds (#4572)
* Fix store macro with struct bounds

* fix where clause
2025-08-19 12:19:56 -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
Evan Almloff 68645e7f0c Cross platform asset resolver (#4521)
* add initial web resolver

* re-export resolver and add playwright test

* add documentation

* fix clippy

* fix docs + clippy
2025-08-11 14:44:48 -07:00
Evan AlmloffandJonathan Kelley 58c41f8561 Stores: Externally tracked state and reactive collections (#4483)
* map signals mutably

* boxed signals

* remove mutable borrow type from boxed writable

* improve map mut example

* restore boxed_mut helper

* make boxed readable/writable types copy

* Move away from the ReadOnlySignal alias in examples

* automatically convert Write

* Fix some tests

* ReadSignal and WriteSignal

* move read only signal alias

* make maps copy

* store prototype

* implement derive macro

* Handle generics in the derive macro

* Make Selector boxable

* derive boxed conversion

* Get rid of store type

* Remove hardcoded type from derive macro

* selector -> store

* Refactor store implementation

* more vec methods

* todo mvc store example

* Implement Storable for HashMap

* fix write

* restore sorting logic in todomvc

* derive readable and writable

* improve todomvc store example

* Result store

* Option store

* collect dead subscribers

* fix clippy and formatting

* recognize some common foreign types automatically

* fix foreign stores in props

* slice and array selectors

* clean up store example

* writable is child owned

* box selector

* read and write to builtins

* re-use the proc macro in the derive macro

* Switch to a extension trait based approach

* switch to extension traits in the derive macro

* transposed method

* derive enums

* Expose Store::new

* remove stores from the prelude

* More consistent naming scheme for SelectorScope methods

* document hashmap methods

* document index extension

* document option ext

* document result ext

* document slice extension

* document the vec extension

* make more methods borrow the store mutably

* Move to impls to have higher priority over the builtin write extension traits

* fix deadlock

* finish stores documentation

* Document the store macro

* cleanup docs and organization

* finish derive docs

* fix typo

* fix clippy

* fix doc tests

* fix derive macro with generics

* fix clippy

* test and fix empty structs

* clean up todomvc store example

* default to a boxed store writer to make it easier to type when providing to the context api

* fix cargo doc

* fix clippy in store example

* relax generational box lifetime bounds

* relax bounds

* relax signal bounds

* fix compilation

* read store

* relax bounds on default store impls

* fix enum derive

* Convert to readsignal and writesignal automatically

* simplify type matching logic

* add write store

* unsized stores

* shrink the path vec type

* use more concrete types

* remove opaque types

* remove copy bounds

* use lens as generic name everywhere

* more consistent borrow semantics

* use a concrete type for the signal metadata and mention references in the map docs

* improve todomvc store docs

* document store derive macro internals

* refactor macro

* improve selector node documentation

* fix clippy

* add btreemap

* fix doc tests

* more option methods

* fix doc

* fix clippy

* add a bunch more result methods

* add a bunch of bounds to the iterators

* fix clippy

* remove option from subscribers

* add store macro to generate extension traits

* fix store example

* fix deadlock

* fix docs

* fix doc tests

* fix clippy

* add stores to public api

* add store macro, and then update todomvc_store example

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-08-05 11:30:21 -07:00
Evan Almloff d8d11db403 Boxed and mapped signals preparing for stores (#4413)
This PR contains just the breaking changes required for the upcoming store implementation. It adds two new primitives:

Mutable mapped signals (without a different subscriber list). This lets you scope a writable value and pass it to a child component. It requires two closures to map the immutable and mutable references to the inner signal. With stores, these closures will be derived
Boxed readable and writable values (ReadSignal, and WriteSignal). Any readable or writable types can be converted to a read signal or write signal with the boxed method or built in types are automatically converted into the boxed variants when passing into props


* map signals mutably

* boxed signals

* remove mutable borrow type from boxed writable

* improve map mut example

* restore boxed_mut helper

* make boxed readable/writable types copy

* Move away from the ReadOnlySignal alias in examples

* automatically convert Write

* Fix some tests

* ReadSignal and WriteSignal

* move read only signal alias

* make maps copy

* store prototype

* implement derive macro

* Handle generics in the derive macro

* Make Selector boxable

* derive boxed conversion

* Get rid of store type

* Remove hardcoded type from derive macro

* selector -> store

* Refactor store implementation

* more vec methods

* todo mvc store example

* Implement Storable for HashMap

* fix write

* restore sorting logic in todomvc

* derive readable and writable

* improve todomvc store example

* Result store

* Option store

* collect dead subscribers

* fix clippy and formatting

* recognize some common foreign types automatically

* fix foreign stores in props

* slice and array selectors

* clean up store example

* remove stores

* writable is child owned

* fix typo

* fix clippy

* fix doc tests
2025-07-31 13:19:55 -07:00
Evan Almloff 15d369f10f Fix asset location for linux bundles (#4460)
* fix linux bundle

* fix release mode

* fix resource path

* only use asset dir if it exists

* add comment about directory structure

* don't unwrap parent
2025-07-23 17:47:41 -07:00
Evan AlmloffandJonathan Kelley 892e154005 Fix hot patching hook types (#4381)
* fix hot patching hook types

* fix clippy

* fix doc check

* just expose the subsecond jumptable

* prefer panicking, forcing more cold branches

* make get_jump_table unsafe

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-07-23 16:23:33 -07:00
Evan Almloff 18fe6de9a0 Fix server function warning with default features (#4453)
* fix server function warning with default features

* document and hide mock client

* fix clippy

* more clippy fixes

* fix formatting
2025-07-22 11:48:47 -07:00
Evan Almloff 98f7667fb4 Remove dioxus-lib, fix doc imports (#4438)
* remove dioxus lib

* inline some doc items

* fix tests

* test docs

* Fix doc tests

* Pull out dioxus/lib feature

* disable logger and devtools in library feature

* fix cargo doc

* fix cargo doc
2025-07-18 14:51:07 -07:00
Evan Almloff 71b00ab171 Fix assets with odd extensions and fix race condition with duplicate assets with different sources (#4436) 2025-07-18 11:08:18 -07:00
Evan Almloff 0d2e1f4051 Prevent desktop reloads at the wry level (#4422)
* Prevent desktop reloads at the wry level

* add a test

* only allow one navigation
2025-07-15 14:26:52 -07:00
Evan AlmloffandJonathan Kelley b9b847c3f8 Warn about assets being stripped if strip is true and the current package depends on manganis (#4400)
* warn if we both find manganis in the dependencies and strip is enabled in the current profile

* bump node

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-07-14 17:35:29 -07:00
Evan AlmloffandJonathan Kelley 3f62cd8fc0 Reconnect the edits websocket if it disconnects (#4391)
* Reconnect the edits websocket if it disconnects

* restart the server if the OS kills it

* fix clippy

* clean up code and add more comments

* cleanups

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-07-14 13:39:21 -07:00
Evan Almloff b252528722 Fix router state after client side navigation (#4383)
* Fix router state after client side navigation

* add client side navigation to the fullstack routing spec

* fix playwright test
2025-07-07 13:43:32 -05:00
Evan AlmloffandJonathan Kelley e74c838441 Hashless assets (#4312)
* add support for external assets

* fix playwright tests

* add more documentation to with_hash_suffix

* restore external asset hashing tests

* Update gtk workflow dependencies

* fix doc test

* multiple versions of libgtk

* clear dx in playwright tests

* fix fullstack caching test

* try without apt cache

* cache everything except libxdo-dev

* revert ci changes

* fix wasm asset options

* fix merge conflict

* recommend the used attribute instead

* Move options to AssetOptionsBuilder

* Don't deprecate non-canonical new asset options functions

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-06-30 19:21:49 -07:00
Evan AlmloffandJonathan Kelley 2071be2b67 Fix hotpatched assets (#4326)
* wip: fixes to get docsite working again

* Fix asset location with PIC in hot patched builds

* Add an hidden cli flag to exit early in hot patch tests on failure

* add a test for hot patching with assets

* fix clippy

* fix looks_like_manganis_symbol

* longer timeout for hot patching in CI

* log page content

* log assets

* Log asset after write

* record a playwright trace

* Explicitly enable cargo incremental for hot patching

* fix retry for patch test

* reset asset

* disable hot patching test for new exports

* add nightly playwright

* use different toolchain names

* use beta instead of nightly for less thrashing

* add failing test

* workaround hot reloading bug

* restore swapping asset tests

* add toolchain

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-06-30 16:23:04 -07:00
Evan Almloff fdd77d79c1 Restore SSG serve logic (#4111)
* Build ssg routes when both the client and server builds are finished

* Fix default server fn encoding

* fix tokio console

* fix ssg

* add prerendering message

* render under the same environment variables as normal

* fix check

* use should_bundle_to_asset

* enable ssg playwright test

* fix clippy
2025-06-23 13:35:46 -07:00
Evan Almloff f610c6b8c1 Implement Into<CaptureError> for the default server function error type (#4205)
* implement Into<CaptureError> for the server function error type

* document the server function error type

* fix tests
2025-06-20 18:37:51 -07:00
Evan Almloff 76ffcabd0b Cache hashed assets forever in fullstack (#3928)
* Cache hashed assets forever in fullstack

* fix clippy

* fix fullstack test port

* fix fullstack clippy

* fix double insertion of meta in fullstack test

* pull out head element changes

* Fix cli-optimization test when interrupted

* remove tests for raw assets

* fix playwright tests

* look for hash in asset name instead of building a manifest

* undo changes to cli

* fix clippy

* fix test_file_name_looks_immutable
2025-06-19 22:18:55 -07:00
Evan Almloff 10a63d07e2 Fix base path (#4276)
* fix base path

* remove log

* fix clippy
2025-06-19 21:24:26 -07:00
Evan Almloff e6ca0baa46 Make new_window asynchronous (#4297)
* Make new_window asynchronous

* fix clippy
2025-06-19 14:32:00 -07:00
Evan AlmloffandJonathan Kelley 7d2a3aa751 Use different release profiles for desktop and server builds, adhoc profiles (#3693)
* Use different release profiles for desktop and server builds

* fix clippy

* change the global cargo config instead of the local one

* fix merge

* fix release profile logic

* use adhoc profile generation

* fix compilation of dioxus-lib in fullstack

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-06-18 17:58:39 -07:00
Evan Almloff 315854b449 fix can go back hydration (#4209) 2025-06-18 16:48:59 -07:00
Evan AlmloffandJonathan Kelley af6fc3a542 Switch to owned listener type (#4289)
* Switch to owned listener type

* remove html event workaround

* fix event conversion

* keep track of the origin scope

* fix clippy

* fix docs

* Use "ListenerCallback" instead of "ListenerCb"

* Add a small example

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-06-18 16:06:52 -07:00
Evan Almloff 3bf8f09c65 Fix --args and handle merging in @server and @client (#4212)
* Pass args after -- to the executable during run and serve

* fix clippy

* switch to accepting a string argument for subcommand compatibility

* Handle merging with `@server` and `@client`

* fix clippy

* fix formatting

* always build into the client package

* fix clippy

* more clippy fixes
2025-06-17 18:17:06 -07:00
Evan Almloff 693f5c61b9 Always download wasm opt from the binary (#4247)
* always download wasm opt from the binary

* clean up and pass clippy

* fix playwright commands

* don't cache dx target folder
2025-06-04 08:43:58 -05:00
Evan Almloff ae64d9534c Allow changing the base path from a cli arg (#4242)
* add a base-path argument to the CLI

* use the merged base path everywhere
2025-06-02 16:07:33 -05:00
Evan Almloff 9b16cbf254 Fix url encoding query and implement FromQueryArgument for Option<T> (#4213)
* Fix url encoding queries

* handle percent encoding hash fragments

* implement fromqueryargument for Option<T>

* fix tests

* fix typo
2025-06-02 13:14:53 -05:00
Evan AlmloffandJonathan Kelley 58669f892d Move asset hashing into the CLI (#3988)
* Fix deduping assets

* hash assets in the linker

* fix extracting assets

* Fix the hashed asset name

* deserialize the asset back from the link section

* prevent the read from being inlined

* remove some extra logs

* Fix liveview routing

* Only look for direct dependencies on dioxus features

* fix wasm split test

* On wasm, create a new object file with the asset information

* Fix multiple assets

* add a regression test for 3467

* fix image link

* fix linker out file

* fix linux linker args

* add windows linker command

* fix linux link args

* fix windows target triple

* Expose an option to build assets in the linker intercept

* Fix the standalone optimizer and document it in the dx help command

* include the cli opt version in the hash

* fix clippy

* fix ssg port

* add a safety note to the read_volatile call

* move found assets log

* fix some merge conflicts

* fix build

* make most env var for the linker optional

* guess the target triple when dx acts as the linker intercept

* automatically find the linker for normal builds

* use the right linker in wasm mode

* fix mac linker

* look inside archive files (rlibs)

* remove out.txt

* fix clippy

* fix typo

* fix clippy

* fix build

* fix dx link name in docs

* ignore libcompiler_builtins warnings

* fix playwright

* pass typocheck

* fix printing sysroot

* Modify final binary

* fix wasm assets

* remove old link section logic

* fix tests

* forward manganis export args

* fail to evaluate relocatable address

* retain all exports in the same pattern as other platforms

* Fix adding assets during a wasm hot patch

* less nesting and remove logs

* fix clippy

* log pdb files

* read from pdb

* print data section contents

* print with object

* normal windows builds working

* fix hot patch windows

* clean up logs

* fix clippy

* clean up assets

* use the most recent pdb

* fix doc test

* fix typo

* tiny nits

* make bundled a reference instead of a pointer

* add helpful comment to impl

* match on file format

* Fix asset hashing comment

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-05-31 21:45:12 +02:00
Evan Almloff 18d8e6a534 Fix dx bundle and release web builds (#4211)
* remove fullstack flag

* fix release web builds
2025-05-30 19:43:26 +02:00
Evan Almloff 77d10a40e3 Fix the toggle event (#4206) 2025-05-27 10:27:05 +02:00
Evan Almloff ee3b45af49 Restore docs CI checks and fix all doc lints (#4204) 2025-05-26 19:50:51 +01:00
Evan Almloff 40ce4c269d Fix setting option value to an empty string (#4176)
* Fix setting option value to an empty string

* fix formatting
2025-05-24 12:44:54 +01:00
Evan Almloff fb0c193aca Fix authentication example (#4145) 2025-05-19 23:44:29 +02:00
Evan Almloff 53ef78823d Fix web redirect routes (#4109) 2025-05-14 08:42:23 +02:00
Evan Almloff 6b70ba7cd2 Fix websocket server functions and add an example (#4107)
* Fix websocket server function

* Add websocket test

* add a websocket example

* fix clippy
2025-05-14 08:28:43 +02:00
Evan AlmloffandJonathan Kelley ad63d529fd Merge static and dynamic styles (#3950)
* Merge static and dynamic styles

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-05-07 14:15:15 -07:00
Evan AlmloffandJonathan Kelley be01cf1485 Fix the base path in desktop builds (#3949)
* Fix the base path in desktop builds

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-05-07 13:52:56 -07:00
Evan Almloff 04b14c5abc Fix clearing error boundaries (#4041) 2025-05-07 13:31:47 -07:00
Evan Almloff d857629115 remove signal write warnings (#4024) 2025-04-22 00:32:57 -07:00
Evan Almloff bcc1dc020c Fix javascript asset bundling errors and fallback (#3935) 2025-04-15 14:38:11 -07:00
Evan Almloff 84221f55a0 Wait for the suspense boundary above the router to resolve before sending the first streaming chunk (#3891)
* Change the suspense streaming context after suspense is resolved in the router

* Wait for the suspense context before streaming the first chunk in ssr

* forward more response parts

* warn

* extract the hydration format into a crate

* Fix hydration when no data is sent

* forward web and server features

* Fix suspense that starts on the client

* fix use_server_future on the client

* Add documentation for fullstack hooks and protocol

* downgrade rust edition

* fix clippy

* fix tests

* fix clippy

* Fix pure web compile

* undo changes to the fullstack router example

* fix formatting
2025-04-08 16:01:21 -05:00
Evan Almloff 4f74ef81d1 Fix escaped text in ssr stylesheets and scripts (#3933) 2025-04-07 18:38:46 -07:00
Evan Almloff 16cae8abaf fix key validation logic (#3936) 2025-04-07 17:29:53 -07:00
Evan Almloff 5e9a505465 Fix select multiple default value (#3953)
* Fix select multiple default value

* Add a playwright test for select multiple
2025-04-07 17:28:26 -07:00
Evan Almloff cbb91d694f Fix component macro with where clause (#3951) 2025-04-07 16:36:16 -07:00
Evan Almloff 589440b9cb Allow spread attributes to be set directly (#3881)
* allow spread attributes to be set directly

* Remove ordering requirement
2025-04-07 16:35:16 -07:00
Evan Almloff 8c866b783d Remove default features when fullstack is enabled and one platform is enabled in the default features (#3925)
* Don't enable default features when only either the server or client is enabled
2025-04-07 16:19:48 -07:00
Evan Almloff 44025340c7 Fix windows CI by removing virtual file system cache (#3912)
* try to fix windows CI

* just remove the vfs logic
2025-04-04 10:40:54 -07:00
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
Evan Almloff 8dbb652628 update the server function crate to 0.7 (#3560) 2025-03-04 14:29:56 -06:00
Evan Almloff eccd75a1fe Switch the default server function codec to json (#3602)
* Switch the default server function codec to json

* test both input and output encoding
2025-03-04 14:20:56 -06:00
Evan Almloff f4c59e1188 Fix span locations in ifmt and components (#3823)
* Fix span locations in ifmt

* Fix component spans

* Blame extra children on the first child element

* fix clippy
2025-03-04 12:25:07 -06:00
Evan Almloff 0251221c69 Fix the typo checking CI (#3824) 2025-03-03 21:32:59 -06:00
Evan Almloff 1fa172486b Add helper methods to provide a single clone server only context (#3483)
* Add helper methods to provide a single clone server only context

* fix clippy
2025-02-27 10:19:16 -08:00
Evan Almloff ceb1a0e796 Prevent default if an onclick event is triggered on a button under a form (#3804) 2025-02-27 10:08:26 -08:00
Evan Almloff 797e7492a1 Fix hot reloading component removal with formatted attribute values (#3559)
* Fix hot reloading component removal with formatted attribute values

* fix semvar
2025-02-24 13:18:21 -08:00
Evan Almloff b443309f6e Hash and compare templates by value in debug mode (#3630)
* Hash and compare templates by value in debug mode

* add a regression test for layout state persisting after navigation

* More reliable static item merged detection
2025-02-07 16:35:32 -08:00
Evan Almloff 1c902ab729 Fix serving desktop+fullstack apps that have not set a server url (#3701)
* Fix serving desktop+fullstack apps that have not set a server url

* revert fullstack desktop example changes
2025-02-07 16:07:06 -08:00
Evan AlmloffandJonathan Kelley 5bb7f51cba Remove the stylesheet component (#3176)
* Remove the stylesheet component

* add props to style component

* don't remove stylesheet

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-31 15:06:14 -08:00
Evan Almloff 2d188452ae Fix additional attributes for js renderers (#3625) 2025-01-31 14:31:31 -08:00
Evan Almloff 4c8e8567cf Fix the pwa example (#3664) 2025-01-28 09:40:44 -08:00
Evan Almloff c85018300b Ignore write while rendering warning in memo lazy recompute (#3647) 2025-01-27 14:33:15 -08:00