Commit graph

2856 commits

Author SHA1 Message Date
Evan Almloff
b0d499036a make future handling functions global 2023-08-07 11:16:22 -07:00
Brian Donovan
a025617db3
refactor(cli): use more semantic Instant::elapsed (#1307)
Plus, one of these was incorrectly subtracting the end time from the start time.
2023-08-07 11:08:51 -05:00
Jonathan Kelley
56c3dcc437
Merge pull request #1301 from eventualbuddha/chore/cli/remove-unused-fn
chore(cli): remove unused function
2023-08-06 23:09:28 -07:00
Dylan Blokhuis
24df4e15d9
spelling (#1308) 2023-08-06 11:42:36 -05:00
Brian Donovan
03e02591ec
fix(cli): allows extracting files without separate directory entries
Some zip files do not list directories separately from files. For example, a zip might contain `dir/file.txt` without a corresponding entry for just `dir/`. This should be okay, so we just create the leading paths for the files we extract as necessary.

Also adds tests for the expected and dangerous path cases of `extract_zip`.
2023-08-04 21:28:09 -07:00
Brian Donovan
14e7c50478
fix(cli): prevent "zip slip" vulnerability in tool extract
Using the name directly from a zip archive's entry and writing to it is a potential security vulnerability. More information about the vulnerability can be found here: https://security.snyk.io/research/zip-slip-vulnerability and here https://docs.rs/zip/latest/zip/read/struct.ZipFile.html#warnings.

It looks like the previous version maybe tried to remove `\` characters to prevent this, but only in directory paths?
2023-08-04 20:02:07 -07:00
Evan Almloff
dce418140a create a way to hoist ownership to a different scope 2023-08-04 17:50:05 -07:00
Evan Almloff
b3fbbba711 fix signals in futures 2023-08-04 17:25:40 -07:00
Evan Almloff
a6f611eccf fix subscriptions in events 2023-08-04 17:23:57 -07:00
Evan Almloff
07ed3e67dd add check_generation feature flag 2023-08-04 15:46:04 -07:00
Evan Almloff
0032f7e2af fix miri 2023-08-04 15:23:09 -07:00
Brian Donovan
7a7397bbb4
chore(cli): remove unused module (#1302)
It seems this was replaced by the `plugin.rs` module in 6cce4b9f4d.
2023-08-04 17:01:04 -05:00
Brian Donovan
a77ff1c820
docs(cli): update subcommand comments (#1303)
A bunch of these were copy-pasted from `build`. This commit updates them to be the same as what their `dx help` string is.
2023-08-04 17:00:41 -05:00
Brian Donovan
5c62947835
refactor(cli): move check module alongside others (#1304)
There was no reason for `check` to be defined as `check/mod.rs` when all the others were at the top level e.g. `serve.rs`.
2023-08-04 17:00:19 -05:00
Evan Almloff
48b1e9e54c fix copy dependencies 2023-08-04 14:53:34 -07:00
Evan Almloff
3242fc9e88 add debug impl 2023-08-04 14:49:52 -07:00
Evan Almloff
0be5dbe715 fix the context API 2023-08-04 14:42:19 -07:00
Evan Almloff
2b6b3b67b1 move dioxus copy into a separate package 2023-08-04 14:28:55 -07:00
Evan Almloff
998f9e0d00 remove static bound from props 2023-08-04 14:24:49 -07:00
Evan Almloff
a2c7b69a1d set the scope stack correctly 2023-08-04 14:19:59 -07:00
Evan Almloff
b09e528aaa fix recursive runtime drop impl 2023-08-04 14:14:56 -07:00
Evan Almloff
cb4c46154d fix scope context 2023-08-04 14:12:59 -07:00
Evan Almloff
04cdb14e5b improve signal copy runtime 2023-08-04 13:53:05 -07:00
Brian Donovan
63bb5cc758
chore(cli): remove unused function
I believe that technically this function is part of the public API via `dioxus_cli::cli::cfg::parse_public_url`. However, I don't see any evidence that this function is actually used inside or outside this crate. The last use within the crate was removed in January 2022 (9bb10c65a3).
2023-08-04 13:52:49 -07:00
Brian Donovan
8f93ff3747
docs(hooks): fix typos (#1299)
I'm not totally sure how the sentence was supposed to read, but removing "state" from "It state" seemed to work. Also, "it's" is "it is" and not possessive, so I fixed that.
2023-08-04 15:13:02 -05:00
Brian Donovan
6d154b5072
Minor Proxy Improvements (#1289)
* fix(serve): provide a clear error with pathless proxy URLs

Without this, `dx serve` panics with this message:

```
Paths must start with a `/`. Use "/" for
 root routes
 ```

 That's not very clear. Instead, we can detect this situation and provide a better error message:

```
Error: 🚫 Serving project failed: Failed to establish proxy: Proxy backend URL must have a non-empty path, e.g. http://localhost:8080/api instead of http://localhost:8080
```

* docs(config): correct format for `web.proxy`
2023-08-04 13:44:56 -05:00
Brian Donovan
50230b6f71
build(web): fix default-features warning (#1296)
`cargo build` would print this warning:

```
warning: dioxus/packages/web/Cargo.toml: `default-features` is ignored for dioxus-html, since `default-features` was not specified for `workspace.dependencies.dioxus-html`, this could become a hard error in the future
```

Since it's being ignored anyway and that doesn't seem to be causing problems, I figured I'd remove it and get rid of the warning.
2023-08-04 12:51:17 -05:00
Brian Donovan
ab1d64bc4a
docs(cli): fix typo (#1294)
"tripple" should be "triple".
2023-08-04 12:49:31 -05:00
Brian Donovan
e98e773186
doc: fix typo (#1287) 2023-08-03 16:32:14 -05:00
Jonathan Kelley
88cca9c949
Merge pull request #1285 from Demonthos/flexable-server-function-features
Make server function features flexible
2023-08-03 12:16:32 -07:00
Evan Almloff
d33ea087d0 make server function features flexible 2023-08-03 11:13:43 -07:00
Evan Almloff
97eedd22c5 fix fullstack docs building 2023-08-03 10:45:50 -07:00
Christian Albrecht
c9790860a5
fixed "http_equiv" in meta to generate "http-equiv" instead of "http_equiv" (#1277) 2023-08-02 11:25:41 -05:00
Evan Almloff
f7eba62a5d Merge branch 'master' into update-scroll-history-lazy 2023-08-01 10:47:04 -07:00
Evan Almloff
549db35de3 update scroll history lazily when you leave a page 2023-08-01 10:45:54 -07:00
Jonathan Kelley
fe1ce3bbe7
Merge pull request #1273 from Demonthos/dedup-history
Deduplicate route history
2023-08-01 10:35:20 -07:00
Jonathan Kelley
25a2abfa08
Merge pull request #1274 from Demonthos/fix-navigator
Fix navigator push/replace route
2023-08-01 10:35:01 -07:00
ealmloff
0c093964bc
Merge branch 'DioxusLabs:master' into dedup-history 2023-08-01 12:32:46 -05:00
ealmloff
61ce3dd6b7
Reject all external routes when parsing a route (#1272)
* reject all external routes when parsing a route

* fix children routers
2023-08-01 12:29:35 -05:00
Evan Almloff
4062e232d9 fix navigator 2023-08-01 10:21:16 -07:00
Evan Almloff
98de423d99 deduplicate route history 2023-08-01 10:16:19 -07:00
Jonathan Kelley
39e89c1fac
Bump crate versions, fix any publish errors 2023-07-31 18:49:54 -07:00
Jonathan Kelley
f80c3c9ffb
Bump core and interpreter 2023-07-31 18:02:23 -07:00
Jonathan Kelley
8a875acdd2
Adjust versions, add authors, move server macro to top level 2023-07-31 17:59:36 -07:00
Jonathan Kelley
09cce6bdfb
Merge pull request #1270 from Demonthos/add-authors
Add authors to all crates
2023-07-31 17:38:44 -07:00
Jonathan Kelley
456b553c93
Merge pull request #1230 from Demonthos/add-computed
Add computed hook
2023-07-31 17:37:47 -07:00
Jonathan Kelley
59016007f2
Merge pull request #1251 from DioxusLabs/make-ssr-state-public
Make SsrState public
2023-07-31 17:37:35 -07:00
Evan Almloff
3eab363e51 Add authors to all crates 2023-07-31 17:30:18 -07:00
Jonathan Kelley
f704d81519
Merge pull request #1253 from Demonthos/fix-map-route
Fix finding files with a custom map_path
2023-07-31 17:28:03 -07:00
Jonathan Kelley
8cf59fe52e
Merge pull request #1265 from Demonthos/dioxus-web-features
Create default enabled features for large web events
2023-07-31 17:14:07 -07:00
Jonathan Kelley
e1dcc335c0
Merge pull request #1263 from Demonthos/builder-launch-fullstack
Switch to launch builder instead of macro for fullstack
2023-07-31 11:44:36 -07:00
Evan Almloff
45d386810b create features for large web-sys events/types 2023-07-28 15:38:07 -07:00
Evan Almloff
d7f7116ce3 clean up the API a bit 2023-07-28 14:17:52 -07:00
Evan Almloff
fcb993a2cb don't spawn a new runtime every request 2023-07-28 13:14:26 -07:00
Evan Almloff
cabeacfcee fix formatting 2023-07-28 13:04:56 -07:00
Evan Almloff
9f891f9478 switch to launch builder instead of macro for fullstack 2023-07-28 12:58:34 -07:00
ealmloff
cfd62e274e
Make deprecated use router (#1260)
* make router props expansion better

* fix router data fields

* make a deprecated use_router hook
2023-07-27 10:32:23 -07:00
Jonathan Kelley
5e3451a6f2
Quiet cargo warnings 2023-07-26 21:02:39 -07:00
Jonathan Kelley
694fc22acb
Merge pull request #1255 from Demonthos/core-private
Make more of core private
2023-07-26 18:31:29 -07:00
Jonathan Kelley
418c03e2cd
Merge pull request #1252 from Demonthos/non-generic-link
Remove autogenerated functions/components from the routable macro
2023-07-26 18:11:32 -07:00
Jonathan Kelley
4b96b00591
Merge pull request #1254 from Demonthos/add-bundle-command
Create cli bundle command
2023-07-26 16:54:59 -07:00
Evan Almloff
20296b5038 fix some examples that used the private API 2023-07-26 16:50:04 -07:00
Evan Almloff
2d51a1c4f2 make more of core private 2023-07-26 16:17:48 -07:00
Evan Almloff
7bf0926938 use tauri bundle 1.2 2023-07-26 12:53:00 -07:00
Evan Almloff
489338d642 create cli bundle command 2023-07-26 12:40:50 -07:00
Evan Almloff
d2ec27e761 fix clippy 2023-07-26 11:29:34 -07:00
Evan Almloff
715289c3de fix finding files with a custom map_path 2023-07-26 11:16:31 -07:00
Evan Almloff
cc94711d62 rename generic navigator to navigator 2023-07-26 11:09:40 -07:00
Evan Almloff
947a153347 make navigator non-generic 2023-07-26 11:08:45 -07:00
Evan Almloff
0ebcb5f1be remove some logging 2023-07-26 10:28:49 -07:00
Evan Almloff
e7a9161066 fix link component 2023-07-26 10:18:39 -07:00
Evan Almloff
5f0dd3af3e it almost lives? 2023-07-25 18:14:48 -07:00
Evan Almloff
a4ed9bc0ef make ssrstate public 2023-07-25 15:29:40 -07:00
Evan Almloff
c19420cb29 fix root component suspense 2023-07-25 12:51:12 -07:00
ealmloff
d637ef187c
fix all broken examples (#1248) 2023-07-25 14:30:08 -05:00
Jonathan Kelley
6751d5941b
Merge pull request #1215 from eventualbuddha/feat/check/rules-of-hooks
feat(check): adds `dx check`
2023-07-25 11:57:02 -07:00
Brian Donovan
0e841f8411
fix(check): allow hook calls inside closure hooks 2023-07-24 18:58:19 -07:00
Jonathan Kelley
7d4361a701
Merge pull request #1244 from Demonthos/is-decendant
Add is_child_of function to Routable
2023-07-24 17:36:30 -07:00
Evan Almloff
61dc549ba1 Make new enum router less breaking 2023-07-24 11:57:56 -07:00
Evan Almloff
1ddda0cc17 fix clippy 2023-07-24 11:30:52 -07:00
Evan Almloff
6760c2f961 add doc example 2023-07-24 11:22:59 -07:00
Evan Almloff
440d2922be add is_child_of function to Routable 2023-07-24 10:33:55 -07:00
Marc Espín
fad3272afb
fix: Update use_coroutine example (#1237) 2023-07-24 11:32:32 -05:00
Brian Donovan
dc7e1a5f13
docs(clean): fix copy-paste docs from build (#1240) 2023-07-24 11:32:13 -05:00
Brian Donovan
420bc39ecc
docs(cli): re-sync dx --help output 2023-07-23 18:57:23 -07:00
Brian Donovan
8f8627af18
attempt to hoist prettier-please dependencies 2023-07-23 16:06:55 -07:00
Brian Donovan
1531893a45
improve test coverage and display output 2023-07-23 16:06:55 -07:00
Brian Donovan
899d9562b3
fix(check): colorize line numbers a la rustc 2023-07-23 16:06:55 -07:00
Brian Donovan
eb4438ef74
docs(check): update README
It was just copy-pasted from `dioxus-autofmt`.
2023-07-23 16:06:55 -07:00
Brian Donovan
2c2534d1cc
feat(check): adds dx check
At the moment this only checks the Rules of Hooks, ensuring that hook functions (i.e. `use_*`) are being called as expected.

https://dioxuslabs.com/docs/0.3/guide/en/interactivity/hooks.html

Closes #1202
2023-07-23 16:06:55 -07:00
Marc Espín
915e79e3be
fix: Use correct cfg for file_watcher feature in dioxus-hot-reload (#1238)
* fix: Use correct cfg for file_watcher feature in dioxus-hot-reload

* Update file_watcher.rs

* Update lib.rs

* fmt
2023-07-23 09:29:59 -05:00
Jonathan Kelley
0097b82490
Merge pull request #1234 from Demonthos/fix-static-hydrated
Fix route prerendering
2023-07-21 16:57:28 -07:00
Jonathan Kelley
6d2163bfcb
Merge pull request #1233 from Demonthos/log-rebuild-errors
Log errors when a component fails to render
2023-07-21 15:56:44 -07:00
Miles Murgaw
6210c6fefe
Convert use_eval to use send/recv system (#1080)
* progress: reworked

don't run this, it'll kill your web browser

* feat: use_eval but with comms

* revision: async recv & recv_sync

* revision: use_eval

* revision: standard eval interface

* revision: use serde_json::Value instead of JsValue

* revision: docs

* revision: error message

* create: desktop eval (wip)

* fix: desktop eval

* revision: wrap use_eval in Rc<RefCell<_>>

* fix: fmt, clippy

* fix: desktop tests

* revision: change to channel system

- fixes clippy errors
- fixes playwright tests

* fix: tests

* fix: eval example

* fix: fmt

* fix: tests, desktop stuff

* fix: tests

* feat: drop handler

* fix: tests

* fix: rustfmt

* revision: web promise/callback system

* fix: recv error

* revision: IntoFuture, functionation

* fix: ci

* revision: playwright web

* remove: unescessary code

* remove dioxus-html from public examples

* prototype-patch

* fix web eval

* fix: rustfmt

* fix: CI

* make use_eval more efficient

* implement eval for liveview as well

* fix playwright tests

* fix clippy

* more clippy fixes

* fix clippy

* fix stack overflow

* fix desktop mock

* fix clippy

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-07-21 17:36:25 -05:00
ealmloff
a43f334141
use component name instead of props name 2023-07-21 16:30:14 -05:00
Evan Almloff
8af0f0a76a Fix future value never updating 2023-07-21 12:47:51 -07:00
Evan Almloff
bfc8240438 Fix use_future always spawning a new task 2023-07-21 11:52:41 -07:00
Evan Almloff
9e70aae989 fix route prerendering 2023-07-21 11:10:21 -07:00
Evan Almloff
66fc7974b0 Log errors when a component fails to render 2023-07-21 10:43:22 -07:00
Jonathan Kelley
af254102d0
Merge pull request #926 from Demonthos/prevent-default-form-web 2023-07-20 16:07:52 -07:00