Commit graph

4805 commits

Author SHA1 Message Date
Emil Boman
f5bc1a9856
Implement LiveView Router Integration (#1505)
* Fix GoForwardButton calling can_go_back instead of can_go_forward

* Add first draft of LiveviewHistory

* Add external URL redirect

* Lock evaluator channel outside loop

* Add liveview to router examples

* fixup! Add liveview to router examples

* Communicate with liveview server on page load

* Add PopState event to Liveview routing

* Call updater callback from liveview history

* Add rudimentary PopState functionality to liveview router.

* Fix linter errors

* Refactor

* Fix navigator external redirection not working.

* Add go back and go forward buttons to router examples

* Finish functionality for timeline stack in liveview router

* Add docs to LiveviewHistory

* Replace Liveview history context attachment with constructor that takes context

* Fix go forward/backward history/future shuffle

* Support history across entire liveview session, if contiguous page jumps.

* Remove unnecessary bounds

* Add query and hash to location string

* Run rustfmt

* fix: Update server function docs link (#1489)

* liveview: Add `interpreter_glue_relative_uri (#1481)

* liveview: Add `interpreter_glue_relative_uri`

By utilizing `window.location.host` in the client-side JavaScript, we can easily derive the WebSocket URI from a relative path URI. This approach obviates the need for host address retrieval on the server side, unlike the method of serving glue code in liveview using `interpreter_glue`.

* liveview: Merge `.._relative_url` functionality

- Merged `.._relative_url` to current API `interpreter_glue`.
- Edit axum example to work with new feature.

* liveview: Fix clippy warning

* Rename modules to use snake_case (#1498)

* Change Scope into &ScopeState

* Move synchronization of state into router and make it opt-in

---------

Co-authored-by: Marc Espín <mespinsanz@gmail.com>
Co-authored-by: Seungwoo Kang <ki6080@gmail.com>
Co-authored-by: Leonard <tigerros.gh@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-10-26 14:19:51 -05:00
Evan Almloff
eea4a02ef5 add comments about the cause of the leak 2023-10-26 13:23:12 -05:00
Evan Almloff
fca9d95519 fix props memory leak 2023-10-26 13:06:42 -05:00
Evan Almloff
1126c1d329 make signal sync 2023-10-26 12:47:53 -05:00
Evan Almloff
370c6cb9d2 fix clippy 2023-10-25 16:47:04 -05:00
Evan Almloff
b99f081c08 drop any attribute after rendering 2023-10-25 16:37:04 -05:00
Jonathan Kelley
035f26d4bf
Merge pull request #1573 from tigerros/fix-props-docs-line-breaks
Fix prop docs line breaks
2023-10-25 17:03:46 -04:00
Stephen Andary
b25fada776
Add Newtype so that Rust-url can be IntoRoutable (#1579)
* add newtype so that rust-url can IntoRoutable

* add doc line

* implement From<Url> directly

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-10-25 15:36:38 -05:00
Evan Almloff
b9dae3e1e0 don't ignore leaks in miri 2023-10-25 15:06:08 -05:00
Evan Almloff
6e85ecea12 fix use shared state lint in release mode 2023-10-25 10:23:23 -05:00
Evan Almloff
3bb6042e42 fix web renderer imports 2023-10-25 10:22:05 -05:00
Evan Almloff
dc306a51ba fix desktop inner html 2023-10-24 13:17:34 -05:00
Evan Almloff
9de56c00f3 fix multiple types of desktop/liveview listeners in the same app 2023-10-24 13:09:10 -05:00
Leonard
613f2f9aca Revert "Fix random clippy warning"
This reverts commit 85839abe56.
2023-10-24 01:41:46 +02:00
Leonard
85839abe56 Fix random clippy warning 2023-10-24 01:35:59 +02:00
Leonard
33d4721fbe Fix 2023-10-24 00:10:56 +02:00
Jonathan Kelley
647815fa6f
Merge pull request #1558 from ealmloff/link-key-props
Add an readable error when you name a prop key
2023-10-23 16:58:53 -04:00
Jonathan Kelley
716130d025
Merge pull request #1570 from ealmloff/clarify-web-gaurd-fullstack
Add error message when overlapping fullstack features are enabled
2023-10-23 16:32:34 -04:00
Jonathan Kelley
1fe8e94063
Deprecate use_window 2023-10-23 16:30:39 -04:00
Jonathan Kelley
dd4547d753
Feat: add global context functions
Add functions like window() and router() to
allow dynamically grabbing global contexts
without have to use the hook variants.

Deprecates the existing hook variants to
discourage folks from adding more noise
to their codebases.
2023-10-23 16:26:10 -04:00
Jonathan Kelley
ea8c5e290d
Merge pull request #1551 from ealmloff/fix-signals-outside-of-runtime
Fix using signals outside of a scope
2023-10-23 15:32:12 -04:00
Evan Almloff
d9b32afd64 add error message when overlapping fullstack features are enabled 2023-10-23 12:45:10 -05:00
Leonard
cea9563e25
Improve prop docs (#1565)
* Do the stuff

* More sanitizing + fix warnings and format
2023-10-23 08:41:26 -05:00
Leonard
74952179db
Append prop documentation to function when using #[inline_props] or #[component] (#1563)
* Do the stuff

* Add deprecated warning and attribute list

Also move out methods that didn't take self as a parameter from `InlinePropsDeserializer`
2023-10-22 09:28:17 -05:00
Leonard
e41278af45
Add link to website section on contributing to root README (#1559) 2023-10-20 16:10:06 -05:00
Evan Almloff
9abc390d04 bench 2023-10-20 13:21:27 -05:00
Evan Almloff
b14aaca7b2 fix desktop renderer on windows 2023-10-20 13:05:13 -05:00
Marc Espín
129d0a68ff
feat: Optional web support for hot-reload crate (#1527)
* feat: Optional web support for hot-reload crate

* rename feature

* tweak

* tweak
2023-10-20 12:59:49 -05:00
Stygmates
b836851d02
Add openidconnect authentication demo (#1500)
* Add openidconnect authentication demo

* use_atom_ref usage to have a read/write handle on the atom

* Use default

* Code rewrite to better reflect the authentication flow

* Use the env macro instead of the build.rs to load env variables

* Add env variables

* Remove unnecessary dependency

* Add env variables to the root workspace

* Update readme

* Bump openidconnect version

* Use props to pass the client to the child components

* Code clean up

---------

Co-authored-by: Truong Tan Dat <truongt@igbmc.fr>
2023-10-20 12:43:24 -05:00
Evan Almloff
33f0f0c172 fix clippy 2023-10-20 09:38:10 -05:00
Evan Almloff
1d664c616e restore desktop/liveview minification 2023-10-20 09:18:16 -05:00
Evan Almloff
2404bfeeb3 fix liveview element 2023-10-20 09:06:19 -05:00
Evan Almloff
378cbfabd9 fix desktop mounted event 2023-10-20 08:45:04 -05:00
Evan Almloff
007aacc247 remove liveview logging 2023-10-19 16:41:47 -05:00
Evan Almloff
c9612a085e fix liveview mounted event 2023-10-19 16:40:08 -05:00
Evan Almloff
42eb4b5098 fix clippy 2023-10-19 15:48:06 -05:00
Evan Almloff
ad9c59c2b4 add an readable error when you name a prop key 2023-10-19 13:23:58 -05:00
ealmloff
1cf8f71368
Fix typo in generational box readme 2023-10-19 13:03:26 -05:00
ealmloff
000edc0552
document generational box 2023-10-19 13:01:38 -05:00
Alexander
37c6c67a17
refactor todo mvc example (#1556) 2023-10-19 09:26:17 -05:00
Jonathan Kelley
c7963a0344
Merge pull request #1546 from DioxusLabs/jk/loop-allocation-strategy
Change the semantics of exprs/for loops allocations strategy
2023-10-17 16:30:20 -07:00
Jonathan Kelley
9cdbf81a4b
fix clippy lint 2023-10-17 16:06:43 -07:00
Jonathan Kelley
65e21d7874
Change signals example a bit 2023-10-17 15:52:13 -07:00
Jonathan Kelley
e819702fc5
Add into_vnode temporary logic for more things
This commit adjusts how rsx! works, making it more forgiving with signals.

Notably, we add the temporaries to if chains too.
2023-10-17 15:42:21 -07:00
Jonathan Kelley
55ad41b392
Merge branch 'master' into jk/loop-allocation-strategy 2023-10-17 15:27:20 -07:00
Evan Almloff
06ca8c53d8 gitignore minified.js 2023-10-17 14:47:11 -05:00
Evan Almloff
a4fbeeb932 add stress test for desktop 2023-10-17 14:45:37 -05:00
Evan Almloff
c807808231 remove logging 2023-10-17 14:32:31 -05:00
Evan Almloff
db56962eea basic example working with binary protocol on desktop 2023-10-17 14:31:58 -05:00
Evan Almloff
bfacf94db4 finish removing generic from SignalMap 2023-10-17 13:50:21 -05:00