* fix: remove examples and benchmarks from dependabot search path
* chore: update/upgrade deps to prevent dependabot PR pollution at first
run
* fix: increase number of pull requests from dependabot as the workspace
is pretty big
* fix: revert rkyv version as it was unexpectedly downgraded
* fix: tower in example
* fix: ensure we check memos the first time a dependency uses them, even if the dependency always runs on its first run (closes#3181)
* Correct expected counter values down due to #3182
- As #3182 fixed the issue where superfluous resource fetches happened
when hydration happened inside a nested component, the expected values
for the counters are down to where they actually are supposed to be.
---------
Co-authored-by: Greg Johnston <greg.johnston@gmail.com>
* feat: WIP wasi integrations crate
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* feat(server_fn): add generic types
This commit adds `From` implementations for the
`Req` and `Res` types using abstraction that are deemed
"platform-agnostic".
Indeed, both the `http` and `bytes` crates contains types
that allows us to represent HTTP Request and Response,
while being capable to target unconventional platforms
(they even have `no-std` support). This allows the
server_fn functions to target new platforms,
for example, the `wasm32-wasip*` targets.
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore(server_fn): generic types cleanup
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* feat(integrations/wasi): make WASI a first-class citizen of leptos server-side
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* WIP: chore(any_spawner): make the futures::Executor runable
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* fix(server_fn): include `generic` in axum.
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore(any_spawner): some clippy suggestions
I ran clippy in really annoying mode since I am still
learning Rust and I want to write clean idiomatic code.
I took suggestions that I thought made sense, if any
maintainers think those are *too much*, I can relax
those changes:
* Use `core` instead of `std` to ease migration to `no_std`
(https://rust-lang.github.io/rust-clippy/master/index.html#/std_instead_of_core)
* Add documentation on exported types and statics
* Bring some types in, with `use`
* Add `#[non_exhaustive]` on types we are not sure we
won't extend (https://rust-lang.github.io/rust-clippy/master/index.html#exhaustive_enums)
* Add `#[inline]` to help the compiler when doing
cross-crate compilation and Link-Time optimization
is not enabled. (https://rust-lang.github.io/rust-clippy/master/index.html#/missing_inline_in_public_items)
* Use generic types instead of anonymous `impl` params
so callers can use the `::<>` turbofish syntax (https://rust-lang.github.io/rust-clippy/master/index.html#/impl_trait_in_params)
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore(leptos_wasi): fine-tune linter and clean-up
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* feat(leptos_wasi): better handling of server fn with form
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore: cargo fmt
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore: remove custom clippy
Remove clippy crate rules since it
seems to make tests fails in tests.
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore: use `wasi` crate
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore: revert changes to any_spawner
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore: simpler crate features + cleanup
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* feat(any_spawner): add local custom executor
This commit adds a single-thread "local"
custom executor, which is useful for environments
like `wasm32` targets.
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* feat(leptos_wasi): async runtime
This commit adds a single-threaded
async runtime for `wasm32-wasip*`
targets.
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* feat(leptos_wasi): error handling
This commit adds error types for the users
to implement better error handling.
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore: migrate integration off-tree
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore(ci): fix formatting
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore: remove ref to leptos_wasi in Cargo.toml
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore(ci): fix fmt
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore(ci): remove explicit into_inter()
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* chore(ci): make generic mutually exclusive with other options
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
---------
Signed-off-by: Enzo "raskyld" Nocera <enzo@nocera.eu>
* test: first cut of the instrumented suspense_tests
- Based on initial concepts developed for reproducing #2937 and others,
streamlined and instrumented for e2e testing and refined for inclusion
as a standalone module to be plugged into some other App.
* First cut of the fixtures and tests
* Actually make it work properly
- Instead of using examples, just feed it the table because examples
will rerun the whole scenario from scratch, which isn't what we are
trying to test here.
- Provide a basic example with item listing to show how this will work.
* Use ticketing system to disambiguate CSR calls
- Keep all SSR calls on ticket 0 as a means to disambiguate them from
CSR calls. For the mean time the focus of tests isn't on that
behavior but this may be modified when suitable.
* Update the baseline fixtures
- Given the new understanding, the scenerios all being the baseline
tests they are now moved into one file.
- Have the checks against all calls at once for better diff output,
and reword the new scenerios into more idomatic gherkin.
- Streamline the steps and provide additional ones that will help with
feature definitions.
* Translate the reproduction steps into Gherkin
* Comment out logging to avoid output interference.
* Be able to reset CSR counters everywhere
- Done by providing a button directly on the top level component with
the navigation footer. This will be useful for the next test.
* Test showing difference between hydrate and CSR
- Specifically, under hydrated load, resources that shouldn't need
refetching gets refetched, while CSR does not show this issue.