Commit graph

5263 commits

Author SHA1 Message Date
Evan Almloff
0f2923a385 fix extension types 2023-11-02 13:17:21 -05:00
Alex Parrill
52fb080193 Use indentation settings in dx fmt and vscode extension
Adds the ability to specify an indent string to public autofmt methods - either
a sequence of spaces or a tab character.

Get the indentation style and size from rustfmt for dx fmt, or from the editor
settings for the vscode extension.

Closes #1595
2023-11-01 17:24:18 -04:00
Evan Almloff
ff26380838 fix clippy 2023-11-01 08:21:04 -05:00
Evan Almloff
fdec47b90b fix clippy 2023-11-01 08:19:35 -05:00
tigerros
bf36fc6def
Fix #[component] expansion Clippy warning (#1599)
Adds a `#[allow(clippy::inline_always)]` attribute to the generated `__dx_inner_comp` function.
2023-11-01 08:14:07 -05:00
Evan Almloff
d815c7cc89 create a reactive selector called comparer 2023-10-31 18:30:06 -05:00
Evan Almloff
ff7aca7617 fix todomvc 2023-10-31 13:56:27 -05:00
Evan Almloff
8a62e4a987 Merge branch 'master' into debug-signals 2023-10-31 13:55:20 -05:00
Evan Almloff
5fdff4b7ed bump wry to 0.34 2023-10-31 13:49:29 -05:00
ealmloff
856fb1874e
Merge branch 'master' into binary-protocal 2023-10-31 13:40:31 -05:00
ealmloff
c84a13f164
Merge branch 'master' into bump-wry 2023-10-31 13:40:03 -05:00
Evan Almloff
77d53df532 Merge branch 'master' into pr/atty303/1349 2023-10-31 13:39:20 -05:00
Evan Almloff
57dd56c8a4 Merge branch 'miri-leak' into events-2 2023-10-30 16:18:12 -05:00
ealmloff
5bb06b9719
Merge branch 'master' into events-2 2023-10-30 15:37:29 -05:00
Evan Almloff
51f342417a add examples to the default watch path 2023-10-30 14:41:41 -05:00
Evan Almloff
90e04edcdf make the signal runtime global 2023-10-30 14:25:31 -05:00
dependabot[bot]
78120ca0e2
Bump actions/setup-node from 3 to 4 (#1592)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-30 08:44:28 -05:00
Evan Almloff
c5e647e97d add read untracked to signals 2023-10-30 08:39:37 -05:00
HKalbasi
720bfdf231
Make window invisible until the first render (#1588) 2023-10-29 13:09:07 -05:00
Falco Hirschenberger
d4e6876ff6
Silence desktop build outputs from cargo (#1584)
Silence additional disturbing output from cargo in desktop builds
2023-10-27 08:29:43 -05:00
Evan Almloff
4ac6aed482 try specialization 2023-10-26 16:36:41 -05:00
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
Sridhar Ratnakumar
0f0d90ee19 Add a simple nix dev shell 2023-10-21 14:06:07 -04: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