Commit graph

1195 commits

Author SHA1 Message Date
Jonathan Kelley
8a77d2560e
fix tests around children elements 2024-01-10 23:42:36 -08:00
Jonathan Kelley
b8061d6d14
Make clippy happy 2024-01-10 23:26:26 -08:00
Jonathan Kelley
f1e8faffb5
fix tests 2024-01-10 23:17:01 -08:00
Jonathan Kelley
d9b84f9f8f
Disambiguate expressions in rsx by requiring curlies 2024-01-10 19:33:34 -08:00
Evan Almloff
55f76fede6 work on fixing some core tests 2024-01-10 19:21:15 -06:00
Evan Almloff
4a1a00b0f0 fix dioxus ssr 2024-01-10 17:57:15 -06:00
Evan Almloff
dc58212508 fix props diffing 2024-01-10 17:13:56 -06:00
Evan Almloff
d8e79b656b remove an extra clone 2024-01-09 14:27:25 -06:00
Evan Almloff
f1b2f964c0 fix removing root nodes 2024-01-09 12:05:27 -06:00
Evan Almloff
b2860a3d73 fix diffing components 2024-01-09 11:50:41 -06:00
Evan Almloff
3545c14a38 fix formatting 2024-01-09 11:36:45 -06:00
Evan Almloff
b43dfb1f67 fix mounted information 2024-01-09 11:35:55 -06:00
Evan Almloff
967c082085 clippy fix 2024-01-09 11:02:07 -06:00
Evan Almloff
41abffb267 remove the mount information when a node is dismounted 2024-01-09 11:01:42 -06:00
Evan Almloff
8eb2b74832 move mounted info to the VDOM 2024-01-09 11:01:11 -06:00
Evan Almloff
0175ae0599 refactor diffing a bit 2024-01-09 10:26:32 -06:00
Evan Almloff
d1b9703ee7 fix release mode 2024-01-09 10:24:02 -06:00
Evan Almloff
8af39e0f1e fix some more clippy lints 2024-01-09 10:11:31 -06:00
Evan Almloff
eb602fc29f clippy fix 2024-01-09 10:09:58 -06:00
Evan Almloff
aed29b1dec separate mount information from VNodes 2024-01-09 10:09:08 -06:00
Jonathan Kelley
b8fac44537
Clean up merge comments 2024-01-08 19:33:39 -08:00
Jonathan Kelley
23f7a37b06
Clean up merge conflicts 2024-01-08 19:31:57 -08:00
Jonathan Kelley
44a27bf8a3
Fix leak in render macro 2024-01-08 19:20:31 -08:00
Evan Almloff
0a35b5a670
fix render macro 2024-01-08 19:04:56 -08:00
Jonathan Kelley
6f15e0e924
Fix ci failure on unused cfg deps 2024-01-08 14:37:05 -08:00
Evan Almloff
194c9d43e3 fix merge 2024-01-08 14:51:35 -06:00
Jonathan Kelley
211dd64d92
Merge branch 'master' into issue-1179 2024-01-08 09:39:41 -08:00
Evan Almloff
aefa8a2431 use boxed slices instead of vecs where possible 2024-01-07 13:41:39 -06:00
Evan Almloff
ebacc7b709 make EventHandler partialeq 2024-01-07 09:17:54 -06:00
Evan Almloff
58c01253e5 make EventHandler clone 2024-01-07 09:17:26 -06:00
Evan Almloff
6630a81b0b fix VComponent::new 2024-01-07 09:14:44 -06:00
Evan Almloff
88e2da6c11 update the web renderer to the new dioxus core 2024-01-06 16:44:07 -06:00
Evan Almloff
f4af297777 merge upstream 2024-01-06 16:14:22 -06:00
Evan Almloff
502c80b0ad remove an unused import 2024-01-06 09:00:44 -06:00
Evan Almloff
5b6f9d6b80 fix merge 2024-01-06 08:58:49 -06:00
Evan Almloff
e5df83ceec Merge branch 'master' into pr/atty303/1349 2024-01-06 08:52:37 -06:00
Jonathan Kelley
a95f4dfe0d
fmt 2024-01-05 23:15:30 -08:00
Jonathan Kelley
8323e45970
Call handlers from context of a runtime and scope 2024-01-05 17:35:37 -08:00
Evan Almloff
4013341b6c hello world example working 2024-01-05 18:01:05 -06:00
Evan Almloff
3865f44081 make desktop compile 2024-01-05 14:39:45 -06:00
Jonathan Kelley
47306bf89b
Merge branch 'master' into jk/rework-desktop-crate 2024-01-05 12:22:59 -08:00
Jonathan Kelley
785b61a05e
Merge branch 'master' into intigrate-collect-assets 2024-01-05 12:13:31 -08:00
Evan Almloff
d90c71c508 move creation functions into the structs they are creating and unify user and system events 2024-01-05 13:18:48 -06:00
Evan Almloff
a4a9aa5224 create a global once function 2024-01-05 12:31:20 -06:00
Evan Almloff
a1676537ad restore drop scope 2024-01-05 12:28:45 -06:00
Evan Almloff
efd301a878 clippy fix 2024-01-05 12:26:12 -06:00
Evan Almloff
32b15fc851 make core compile 2024-01-05 12:25:18 -06:00
Evan Almloff
113b2c1529 port over more diffing + creation logic 2024-01-05 12:07:29 -06:00
Evan Almloff
717f38a5ec remove some unused unsafe blocks 2024-01-05 11:45:01 -06:00
Evan Almloff
35b461cd09 switch to a mutations trait to fix some lifetime issues 2024-01-05 11:44:07 -06:00
Evan Almloff
0c76770da0 remove a lot of unsafe 2024-01-05 10:57:05 -06:00
Evan Almloff
c70e2bfcb6 move diffing into the global runtime 2024-01-05 09:32:50 -06:00
Evan Almloff
f42ef3ef9d remove more lifetimes 2024-01-05 08:39:22 -06:00
Evan Almloff
7ffb204eac fix event tests in core 2024-01-04 19:36:10 -06:00
Evan Almloff
0388a5c1f4 fix formatting 2024-01-04 19:21:06 -06:00
Evan Almloff
0b40878fce fix cargo check 2024-01-04 19:11:32 -06:00
Evan Almloff
4f654d61b7 fix cargo check 2024-01-04 19:05:36 -06:00
Evan Almloff
dccfba12d8 Merge branch 'master' into events-2 2024-01-04 19:02:00 -06:00
Evan Almloff
b1de7d850c Merge branch 'master' into intigrate-collect-assets 2024-01-04 18:44:29 -06:00
Evan Almloff
3ad16ddd37 rip out more lifetimes 2024-01-04 18:33:01 -06:00
Jonathan Kelley
9a6d745339
Refactor desktop into App type 2024-01-04 16:12:37 -08:00
Evan Almloff
c9ff449e45 remove the bump allocator 2024-01-04 17:33:22 -06:00
Evan Almloff
f6acaba061 fix compilation 2024-01-04 17:04:56 -06:00
Jonathan Kelley
1a8bf13ff5
Merge branch 'master' into resilient-hydration 2024-01-04 10:28:41 -08:00
Jonathan Kelley
ea1325f6e8
Merge branch 'master' into polish-throw 2024-01-04 10:27:51 -08:00
Jonathan Kelley
c1d9553e49
Merge pull request #1624 from Erithax/rename_into_node_traits
rename IntoDynNode and IntoTemplate traits
2024-01-04 10:25:49 -08:00
Jonathan Kelley
8df7a7685e
Merge branch 'master' into many_optional_attributes 2024-01-04 10:18:57 -08:00
Jonathan Kelley
a2f44be2a2
Merge branch 'master' into binary-protocal 2024-01-04 10:17:10 -08:00
Jonathan Kelley
1d289ff282
Merge pull request #1710 from Exotik850/cx-spawn-poll
Make cx.spawn poll the task before returning `TaskId`
2024-01-04 10:07:22 -08:00
Jonathan Kelley
922d9c8c05
Merge branch 'master' into fix-event-bubbling 2024-01-04 10:06:27 -08:00
ealmloff
2e424436b3
don't remove futures spawned by spawn_forever when the component is removed (#1708) 2024-01-03 14:02:36 -06:00
abhi
fd7c9e0359
fix empty render causing panic (#1769) (#1774)
* fix empty render causing panic (#1769)

* use an default root column instead of an empty root column

* fix formatting

* restore create.rs in core

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-01-02 10:02:58 -06:00
Evan Almloff
0a7873fcd0 merge upstream 2023-12-30 14:12:21 -06:00
tigerros
451d935aa2
fix typo (#1759) 2023-12-29 18:18:50 -06:00
Evan Almloff
9e9b7a2459 fix clippy 2023-12-27 10:23:56 -06:00
Evan Almloff
c48788270e fix lints in miri 2023-12-17 16:46:32 -06:00
Evan Almloff
7b45a3a98b run fuzzing more when miri is deactivated 2023-12-16 21:27:31 -06:00
Evan Almloff
22f2c0ad9b reduce how many times the create and diff fuzzing runs 2023-12-16 21:24:47 -06:00
Evan Almloff
b91e97ca43 document events are only triggerable on elements 2023-12-16 19:54:26 -06:00
ealmloff
56478d1856
Merge branch 'DioxusLabs:master' into fix-event-bubbling 2023-12-16 06:34:00 -06:00
kidkool850@gmail.com
ed2ce6e039 Don't notify task if ready 2023-12-15 22:23:59 -06:00
Exotik850
fdce7bbe5a Return to just TaskId, still polling 2023-12-12 13:02:35 -06:00
kidkool850@gmail.com
69ca1fd8a7 Make cx.spawn() return an Option<TaskId>, returns None if finished immediately 2023-12-11 16:01:40 -06:00
Evan Almloff
0e3fd225a8 Merge branch 'master' into binary-protocal 2023-12-08 08:44:04 -06:00
Exotik850
fc31876a57
Wasm target check before build (#1689)
* Add `rustup show` check for wasm32 target

* better place for check

* fmt

* clippy fmt
2023-12-07 12:35:16 -06:00
Jonathan Kelley
07d84fedb7
Merge pull request #1580 from ealmloff/miri-leak
Remove the ignore leaks in flag MIRI
2023-12-06 21:29:32 -08:00
Jonathan Kelley
f52233c095
Merge pull request #1634 from ealmloff/fix-string-memory-leak
Fix string memory leak
2023-12-06 21:16:43 -08:00
Jonathan Kelley
850f2da0c6
Merge pull request #1651 from ealmloff/string-into-attribute
Add into attribute value impl for String
2023-12-06 21:14:31 -08:00
JMS55
8530f53692
Fix typo (#1695)
* Fix typo

* Fix typo again
2023-12-06 06:55:07 -06:00
Evan Almloff
b3c7ebfdba fix merged changes 2023-11-27 16:12:48 -06:00
Exotik850
8e4debb226
remove #[doc(hidden)] from EventHandler (#1665)
* remove #[doc(hidden)] from EventHandler

* Make UseFuture Clone, factor out dependencies field

* Revert "Make UseFuture Clone, factor out dependencies field"

This reverts commit 9ca09e595d.

* fix formatting

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-11-27 15:45:29 -06:00
Evan Almloff
355cd9b19e Merge branch 'master' into pr/atty303/1349 2023-11-20 18:37:33 -06:00
Exotik850
f8ce72c605
Fix outdated lazynode documentation (#1648)
* Fix outdated lazynode documentation

* Use expanded rsx! instead of just rsx macro
2023-11-20 09:49:18 -06:00
Evan Almloff
3c115bbef7 add into attribute value impl for String 2023-11-19 10:03:18 -06:00
Evan Almloff
7f4e2af0c4 fix string memory leak 2023-11-13 08:17:08 -06:00
Evan Almloff
a120af33ad Merge branch 'master' into fix-event-bubbling 2023-11-11 17:53:47 -06:00
Evan Almloff
4b4dcbed6a fix error boundary test 2023-11-09 08:43:38 -06:00
Erithax
c2749b3371 rename IntoDynNode and IntoTemplate traits 2023-11-09 02:00:36 +01:00
Evan Almloff
6141aeb037 polish the throw trait 2023-11-07 18:24:07 -06:00
Evan Almloff
46fec1ae48 fix clippy 2023-11-02 13:46:57 -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
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
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
Evan Almloff
9abc390d04 bench 2023-10-20 13:21:27 -05:00
Evan Almloff
33f0f0c172 fix clippy 2023-10-20 09:38:10 -05: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
Evan Almloff
1a4741ce04 fix liveview events 2023-10-12 10:21:29 -05:00
Leonard
2d1234c3d1
Include README and Dioxus logo in package docs (#1536)
* Include README in docs.rs and add Dioxus logo

* Update README.md
2023-10-10 10:52:48 -05:00
Leonard
95d8843d9d
Fix clippy (#1532) 2023-10-08 18:24:38 -05:00
Evan Almloff
248d78fbfe fix clippy 2023-10-05 15:45:34 -05:00
Evan Almloff
ed95ac932d fix double triggering events 2023-10-04 08:58:28 -05:00
ealmloff
072ca3529b
Merge branch 'DioxusLabs:master' into events-2 2023-10-02 19:48:52 -05:00
Evan Almloff
c137357094 fix hydration 2023-09-27 10:22:49 -05:00
Evan Almloff
ee25c03e74 fix some clippy lints 2023-09-27 10:13:45 -05:00
Evan Almloff
b60671e0fe fix non extending attributes 2023-09-27 10:02:49 -05:00
Evan Almloff
7b51bb8060 WIP: add extends to the props macro 2023-09-26 19:23:00 -05:00
Evan Almloff
9e167dfdb7 Merge branch 'many_optional_attributes' into pr/atty303/1349 2023-09-22 09:32:05 -05:00
Evan Almloff
e113562c7c Merge branch 'master' into fix-event-bubbling 2023-09-22 08:26:05 -05:00
Evan Almloff
7033276c34 Merge branch 'master' into pr/atty303/1349 2023-09-20 16:19:23 -05:00
Evan Almloff
fa494349fe add a lifetime to the properties trait and make the manual spread example work 2023-09-20 16:15:11 -05:00
Evan Almloff
fc8c25280a allow many attributes to be attached to one element 2023-09-20 16:02:04 -05:00
Evan Almloff
dc446b5e5b fix extending an element 2023-09-19 16:38:27 -05:00
Evan Almloff
c0f345e775 add if statements to test and rsx usage example 2023-09-19 09:48:56 -05:00
Evan Almloff
ab2b9fb34e fix autoformatting 2023-09-19 09:39:53 -05:00
Evan Almloff
d297e2baa2 Add optional attributes 2023-09-18 19:50:02 -05:00
Evan Almloff
b9a92a1bd8 fix core exports 2023-09-17 20:03:58 -05:00
Evan Almloff
219c068283 Merge branch 'master' into events-2 2023-09-17 20:01:21 -05:00
Evan Almloff
98335bd9a6 Merge branch 'master' into fix-event-bubbling 2023-09-17 20:00:22 -05:00
Evan Almloff
23c215da02 make RuntimeGuard public 2023-09-17 14:11:13 -05:00
Jonathan Kelley
13f10fea1b
Merge pull request #1441 from ealmloff/fix-uplink
Expose public methods for manipulating the global runtime
2023-09-16 11:59:59 -07:00
Jonathan Kelley
e59a05141e
Merge pull request #1446 from ealmloff/deduplicate-hot-reload-cli
Deduplicate serve code with hot reloading in the CLI crate
2023-09-16 11:55:16 -07:00
Leonard
c866ae602b
Add system for creating component attributes + new #[component] attribute (#1448)
* Add `#[component]` attribute + system for creating component attributes + other stuff

* Delete inlineprops.rs

* Update inline_props.rs

* Cargo fmt

* Fix clippy warnings and paths in props/mods.rs

* Include where clause in `#[inline_props]` output

* Allow Clippy type complexity in `LinkProps`

* Allow the type complexity lint for the entire link.rs file

* Remove snake_case -> PascalCase converter, but rather enforce PascalCase

Also:
- Put the second function inside the main one instead of besides it.
- Simplify

* Simplify type check lints so they don't return false positives

They will not always work, but they won't return any false positives, like for aliases. This is likely going to be replaced by a more polished Clippy-backed linting system.

* Fix #583

* Cargo fmt

* Add docs for `deserialize()` and remove useless comment

* Add `#[component]` to prelude

* Merge branch 'master' of https://github.com/tigerros/dioxus

* #[inline_props] is no more. Except in the docs folder, but that's going to be removed

* Remove docs folder

* Remove docs from workspace

* Resolve `DeserializerOutput` conversation
2023-09-15 09:13:36 -05:00
ealmloff
f449823d10
Merge branch 'master' into events-2 2023-09-12 09:33:54 -05:00
Evan Almloff
c8fca7b321 fix clippy 2023-09-12 09:28:08 -05:00
Evan Almloff
3eee13c7eb Merge branch 'master' into fix-event-bubbling 2023-09-11 16:40:23 -05:00
Evan Almloff
9d044ee589 make clippy happy 2023-09-11 16:30:16 -05:00
Evan Almloff
73e0be9e65 recycle vnode ids 2023-09-11 16:25:32 -05:00
Evan Almloff
589483d892 remove logs 2023-09-11 16:18:55 -05:00
Evan Almloff
d81d3ebaef assign parents through fragments 2023-09-11 16:16:16 -05:00
Evan Almloff
35b643e23f switch to bubble ids on vnodes to fix nodes under fragments pointing to an invalid parent 2023-09-11 15:55:58 -05:00
Evan Almloff
ed9573094c fix ComponentProps partialeq 2023-09-11 15:13:29 -05:00
Evan Almloff
bc3b781136 fix runtime import 2023-09-10 13:25:19 -05:00
Evan Almloff
083ccd765c fix formatting 2023-09-10 13:23:29 -05:00
Evan Almloff
49a127b31e deduplicate serve code with hot reloading in the CLI crate 2023-09-09 16:18:52 -05:00
ealmloff
28d71624ef
Restore context changes 2023-09-09 16:00:29 -05:00
Evan Almloff
9496853fbc expose public methods for manipulating the global runtime 2023-09-08 10:05:58 -05:00
Evan Almloff
66333e9767 improve context tracing 2023-09-08 10:00:05 -05:00
Evan Almloff
c55c17cb81 switch to tracing for logging 2023-09-06 17:47:33 -05:00
Evan Almloff
992ac4a3fb clear borrowed props after ensure_drop_safety 2023-09-06 16:12:01 -05:00
Evan Almloff
d06e64e5ad fix dioxus-tui events 2023-09-06 12:51:02 -05:00
Evan Almloff
0ab7a02777 fix clippy 2023-09-05 21:30:20 -05:00
Evan Almloff
02456c1068 fix double drop of bubble id 2023-09-05 21:21:54 -05:00
ealmloff
6662892c10
find attributes and components to drop in lazy nodes (#1376) 2023-09-05 13:43:42 -05:00
Evan Almloff
bd38cddc9f fix dioxus core event tests 2023-09-04 19:17:43 -05:00
Evan Almloff
9552ab6c1c pass event propagation test 2023-09-04 19:10:11 -05:00
Evan Almloff
d26aa95bcd update vnode ptr when parent of component reruns 2023-09-04 09:57:26 -05:00
Evan Almloff
cfc6887e34 use raw pointers instead of transmute to make miri happy 2023-09-04 09:28:16 -05:00
Evan Almloff
baf36ab9ec Merge branch 'master' into events-2 2023-09-02 18:14:36 -05:00
Evan Almloff
df222c121a port examples to new events 2023-09-01 15:38:55 -05:00
Evan Almloff
cf04256395 try to keep template indexes valid 2023-08-31 16:14:14 -05:00
Evan Almloff
036e1ff0f5 remove node refs before dropping nodes 2023-08-31 15:38:31 -05:00
Evan Almloff
c5ebdc9635 fix parents in placeholder diffing 2023-08-31 14:17:26 -05:00
Evan Almloff
b0733958f2 Merge branch 'master' into fix-event-bubbling 2023-08-29 13:00:01 -05:00
Evan Almloff
ca1a502714 use an event converter for bundle splitting 2023-08-25 21:03:03 -05:00
Jani Mustonen
31f8bab20d
Add ScopeId::ROOT (#1398)
* add ScopeId::ROOT

* replace ScopeId(0) with ScopeId::ROOT

---------

Co-authored-by: Jani Mustonen <jani.mustonen@taitounited.fi>
2023-08-25 08:31:23 -05:00
Evan Almloff
dc4707ee2a WIP fix event bubbling 2023-08-23 13:01:37 -05:00
Evan Almloff
e337aff0a4 WIP split element from element ref 2023-08-23 10:48:10 -05:00
ealmloff
b2f9430689
Merge branch 'DioxusLabs:master' into fix-borrowed-props 2023-08-19 13:35:24 -05:00
Jonathan Kelley
a2df9c2e89
Merge pull request #1364 from Demonthos/fix-core-leak
Fix leak in core because of bump allocated Vec
2023-08-15 13:54:00 -07:00
Evan Almloff
b8600d5144 fix tests 2023-08-15 13:11:03 -05:00
Evan Almloff
943c76b1da Fix memory leak in core 2023-08-15 12:19:05 -05:00
Evan Almloff
2d5a4f82bf Fix the context API in lists 2023-08-13 08:47:27 -05:00
Koji AGAWA
d573f5dfd5 feat: props spread 2023-08-13 16:45:17 +09:00
Evan Almloff
d559fdaeab fix borrowed props with temp values 2023-08-12 19:19:46 -05:00
ealmloff
39ab39ac56
Merge branch 'DioxusLabs:master' into signals 2023-08-10 16:31:00 -05:00
Evan Almloff
80ac1a99af fix miri 2023-08-09 14:20:46 -07:00
Evan Almloff
f91eeccca7 add compile test for unsound case 2023-08-09 10:49:47 -07:00
Evan Almloff
b4983706ac fix variance on components 2023-08-09 10:26:59 -07:00
Evan Almloff
24c626b306 fix clippy 2023-08-08 13:43:57 -07:00
Evan Almloff
4ee4cf23d3 restore a few unneeded breaking changes 2023-08-08 13:37:29 -07:00
Evan Almloff
69dab86873 add selector example to readme 2023-08-08 13:27:45 -07:00
Evan Almloff
ba7a663eb6 fix some ownership issues 2023-08-08 13:18:15 -07:00
Evan Almloff
292b3367dd create some more compelling examples 2023-08-07 18:20:03 -07:00
Evan Almloff
0c17bdb737 don't subscribe in tasks or event handlers 2023-08-07 17:55:29 -07:00
Evan Almloff
6ca170453b handle virtual dom switching 2023-08-07 14:59:58 -07:00
Evan Almloff
ddbe913e79 make signals non-breaking 2023-08-07 14:50:36 -07:00
Evan Almloff
b0d499036a make future handling functions global 2023-08-07 11:16:22 -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
0032f7e2af fix miri 2023-08-04 15:23:09 -07:00
Evan Almloff
0be5dbe715 fix the context API 2023-08-04 14:42:19 -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