Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create capsules system and rewrite just about everything #224

Merged
merged 102 commits into from
Dec 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
5f592b3
feat: created `Capsule` and capsules dummy example
arctic-hen7 Nov 9, 2022
0a694cd
revert: "feat: created `Capsule` and capsules dummy example"
arctic-hen7 Nov 29, 2022
cd0a277
chore: merged branch 'main' into feat-capsules
arctic-hen7 Nov 29, 2022
92121c7
feat: completely redesigned engine-side perseus
arctic-hen7 Dec 3, 2022
d27bf67
chore: merged branch 'main' into feat-capsules
arctic-hen7 Dec 3, 2022
d10d37d
refactor: removed template addition plugin actions
arctic-hen7 Dec 3, 2022
9387367
feat: made axum integration work with turbines
arctic-hen7 Dec 4, 2022
f6a5e0d
feat: made `perseus-actix-web` compile
arctic-hen7 Dec 4, 2022
2ec0fe5
feat: made all server integrations compile
arctic-hen7 Dec 4, 2022
2ae0246
feat(wip): progress on browser-side systems
arctic-hen7 Dec 5, 2022
aa4eb4f
feat(wip): further progress on browser-side systems
arctic-hen7 Dec 6, 2022
31eb8d0
feat: created `Reactor` system
arctic-hen7 Dec 7, 2022
7b43a1a
refactor: cleaned up some things and improved type bounds
arctic-hen7 Dec 7, 2022
c054566
feat: made view functions fallible
arctic-hen7 Dec 7, 2022
caa809d
feat: created new error views mechanism
arctic-hen7 Dec 10, 2022
ed6c672
feat: created crash handling mechanism
arctic-hen7 Dec 10, 2022
d202cf0
feat: integrated error views with engine-side
arctic-hen7 Dec 10, 2022
c4122ae
fix: cleaned up browser-side and fixed hsr/live reloading
arctic-hen7 Dec 11, 2022
a0743f3
fix: re-enabled hsr
arctic-hen7 Dec 11, 2022
6be512b
feat: added disposers for error views and fixed browser-side
arctic-hen7 Dec 11, 2022
7f65035
style: ran `cargo fmt`
arctic-hen7 Dec 11, 2022
d52af4a
fix: fixed up `basic` example
arctic-hen7 Dec 11, 2022
c073dc7
fix: fixed entrypoint return types
arctic-hen7 Dec 11, 2022
f81e5e7
feat: re-created subsequent load system in reactor
arctic-hen7 Dec 11, 2022
bbcaa02
feat: created system to register initial wdiget states
arctic-hen7 Dec 11, 2022
25316b3
feat: created system to register widget dependencies
arctic-hen7 Dec 11, 2022
bb896cb
fix: prevented exporting of widgets as initial load pages
arctic-hen7 Dec 12, 2022
ef78cc1
feat: created new panic handling system
arctic-hen7 Dec 12, 2022
8e04215
feat: overhauled state generator error handling
arctic-hen7 Dec 12, 2022
4cec7b6
feat: improved ergonomics of state generation error handling
arctic-hen7 Dec 13, 2022
f62da99
feat: set up proper widget error handling
arctic-hen7 Dec 13, 2022
2aa2f4c
fix: target-gated ergonomic error handling system
arctic-hen7 Dec 13, 2022
3f5b40f
feat: created full fetching logic for widgets
arctic-hen7 Dec 14, 2022
a9c8c5e
feat: created delayed widgets
arctic-hen7 Dec 14, 2022
8db31c2
feat: made templates with state work without macros!
arctic-hen7 Dec 14, 2022
5bd308f
fix: made basic example compile again
arctic-hen7 Dec 14, 2022
75c6fa7
fix: fixed simple server issues
arctic-hen7 Dec 15, 2022
a0e3c03
fix: fixed hydration errors
arctic-hen7 Dec 15, 2022
7e2c53b
fix: added `Content-Type` header handling
arctic-hen7 Dec 15, 2022
9600133
refactor: cleaned up
arctic-hen7 Dec 16, 2022
cf787ee
refactor: appeased `clippy` in `packages/perseus`
arctic-hen7 Dec 16, 2022
699a31c
refactor: deleted old code
arctic-hen7 Dec 16, 2022
eff7383
fix: fixed examples (mostly)
arctic-hen7 Dec 17, 2022
2806740
fix: fixed exporting
arctic-hen7 Dec 17, 2022
3cfb16b
style: ran `cargo fmt`
arctic-hen7 Dec 17, 2022
eab46fb
fix: fixed some hydration/minifcation issues
arctic-hen7 Dec 17, 2022
99b8fc9
feat: made `Template`/`Capsule` wrappers over smart pointers
arctic-hen7 Dec 17, 2022
d8c7ac6
feat: added convenience preloading methods on `Reactor`
arctic-hen7 Dec 18, 2022
d366dc5
feat: made global state support full reference passing around
arctic-hen7 Dec 18, 2022
9c399f8
feat: restructed reference reactive state
arctic-hen7 Dec 18, 2022
3c23bc3
fix: fixed suspended state with new reference state systems
arctic-hen7 Dec 18, 2022
b0c1273
feat: improved error handling ergonomics and added example
arctic-hen7 Dec 18, 2022
600c0f3
feat: gave header setting functions access to scope/reactor
arctic-hen7 Dec 18, 2022
c0cc5f8
test: added proper tests for `js_interop` example
arctic-hen7 Dec 18, 2022
e95dbbb
feat: created widget properties system
arctic-hen7 Dec 19, 2022
b3ff822
style: ran `cargo fmt`
arctic-hen7 Dec 19, 2022
925982b
feat: created proper system for calling widgets
arctic-hen7 Dec 20, 2022
79de3b1
fix: fixed some very minor capsules bugs
arctic-hen7 Dec 20, 2022
92f8fbb
fix: fixed stupidest UB error in human history
arctic-hen7 Dec 20, 2022
bbbb507
fix: fixed widget states typing error
arctic-hen7 Dec 20, 2022
9da5a26
fix: fixed several browser-side widget issues
arctic-hen7 Dec 20, 2022
a8c5547
style: ran `cargo fmt`
arctic-hen7 Dec 20, 2022
efcb5b2
feat: added `Debug` implementations back to everything
arctic-hen7 Dec 20, 2022
4f7c96f
fix: fixed up all examples
arctic-hen7 Dec 20, 2022
fc35cb1
style: satisifed `clippy` and ran `cargo fmt`
arctic-hen7 Dec 20, 2022
b113cc0
feat: made `PerseusApp` work with static references
arctic-hen7 Dec 20, 2022
8298e57
docs: added missing safety declaration
arctic-hen7 Dec 20, 2022
0321a81
feat: added neat panics for capsules that set head/headers
arctic-hen7 Dec 21, 2022
c47b6cd
feat: added `#[auto_scope]` macro for convenience
arctic-hen7 Dec 21, 2022
97f5c10
refactor: cleaned up public interfaces
arctic-hen7 Dec 21, 2022
d6de8f6
feat: added `RxVecNested` and docs for reactive collections
arctic-hen7 Dec 21, 2022
1dd4036
docs: wrote faw for render backend mismatch error
arctic-hen7 Dec 21, 2022
30b0301
test: added tests for `error_views` example
arctic-hen7 Dec 21, 2022
7fad9c5
style: ran `cargo fmt`
arctic-hen7 Dec 21, 2022
c49afc7
fix: fixed i18n and locale detection
arctic-hen7 Dec 21, 2022
d0b3349
fix: assorted fixes
arctic-hen7 Dec 21, 2022
c8a32a0
fix: fixed several bugs with incremental generation and index paths
arctic-hen7 Dec 21, 2022
8100558
fix: fixed build paths index pages
arctic-hen7 Dec 21, 2022
d9d45bf
fix: fixed `not_found` checkpoint
arctic-hen7 Dec 22, 2022
1fbef6f
ci: made build failures print more detailed error messages
arctic-hen7 Dec 22, 2022
ff1839b
test: removed outdated test checkpoints
arctic-hen7 Dec 22, 2022
80f6c95
fix: fixed `BorrowMut` errors with global state
arctic-hen7 Dec 22, 2022
c82fa8e
fix: fixed `idb_freezing` example
arctic-hen7 Dec 22, 2022
8fb9f53
fix: fixes up tests and one last `/` bug
arctic-hen7 Dec 22, 2022
c68b143
fix: fixed failing doctests
arctic-hen7 Dec 23, 2022
e022375
chore: fixed `bonnie.toml` syntax error
arctic-hen7 Dec 23, 2022
45e885f
fix: fixed support for simple widgets
arctic-hen7 Dec 23, 2022
e352ed1
fix: fixed subsequent loads of widgets
arctic-hen7 Dec 23, 2022
fed627e
feat: added examples for request state widgets and build rescheduling
arctic-hen7 Dec 23, 2022
564424c
fix: fixed initial loads of capsules
arctic-hen7 Dec 23, 2022
8c04484
test: added examples for capsule revalidation
arctic-hen7 Dec 23, 2022
5a25727
docs: removed completely outdated docs from `next`
arctic-hen7 Dec 23, 2022
e4b10a9
feat(website): made index page examples come from `stable` branch
arctic-hen7 Dec 23, 2022
454529e
fix: fixed critical perseus router bug
arctic-hen7 Dec 23, 2022
b7864c7
fix: made path provided to build state be pure
arctic-hen7 Dec 23, 2022
dfae50c
fix: fixed basic widgets in combination with request state
arctic-hen7 Dec 23, 2022
431b44e
feat: added incremental generation with capsules examples
arctic-hen7 Dec 23, 2022
7579ec8
wip
arctic-hen7 Dec 25, 2022
b776df2
feat: made incremental widgets be rendered at build time
arctic-hen7 Dec 29, 2022
c8a342c
fix: fixed actix-web integration
arctic-hen7 Dec 30, 2022
ad5ebb3
fix: fixed incremental generation tests
arctic-hen7 Dec 30, 2022
ea9a43c
docs: added tiny extra faq
arctic-hen7 Dec 30, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ members = [
"examples/core/*",
"examples/demos/*",
"examples/comprehensive/*",
"examples/website/*",
# "examples/website/*",
"website",
]
resolver = "2"
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,13 @@ pub fn main<G: Html>() -> PerseusApp<G> {
PerseusApp::new()
.template(
Template::new("index")
.template(|cx| {
.view(|cx| {
view! { cx,
p { "Hello World!" }
}
})
)
.build()
)
}
```

Expand Down
17 changes: 11 additions & 6 deletions bonnie.toml
Original file line number Diff line number Diff line change
Expand Up @@ -160,19 +160,24 @@ test.cmd = [
"cargo test", # This will ignore Wasm tests
# Run tests for each example
"bonnie test example-all-integrations core basic --headless",
"bonnie test example-all-integrations core unreactive --headless",
"bonnie test example-all-integrations core i18n --headless",
"bonnie test example-all-integrations core plugins --headless",
"bonnie test example-all-integrations core state_generation --headless",
"bonnie test example-all-integrations core custom_server --headless",
"bonnie test example-all-integrations core error_views --headless",
"bonnie test example-all-integrations core freezing_and_thawing --headless",
"bonnie test example-all-integrations core global_state --headless",
"bonnie test example-all-integrations core helper_build_state --headless",
"bonnie test example-all-integrations core i18n --headless",
"bonnie test example-all-integrations core idb_freezing --headless",
"bonnie test example-all-integrations core index_view --headless",
"bonnie test example-all-integrations core js_interop --headless",
"bonnie test example-all-integrations core plugins --headless",
# TODO core/preload
"bonnie test example-all-integrations core router_state --headless",
"bonnie test example-all-integrations core rx_state --headless",
"bonnie test example-all-integrations core index_view --headless",
"bonnie test example-all-integrations core set_headers --headless",
"bonnie test example-all-integrations core state_generation --headless",
"bonnie test example-all-integrations core static_content --headless",
"bonnie test example-all-integrations core custom_server --headless"
"bonnie test example-all-integrations core suspense --headless",
"bonnie test example-all-integrations core unreactive --headless",
]
test.desc = "runs all tests headlessly (assumes geckodriver running in background)"
test.subcommands.core.cmd = "cargo test"
Expand Down
4 changes: 0 additions & 4 deletions docs/next/en-US/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@

- [Introduction](/docs/intro)
- [What is Perseus?](/docs/what-is-perseus)
- [Getting Started](/docs/getting-started/intro)
- [Installation](/docs/getting-started/installation)
- [Your First App](/docs/getting-started/first-app)
- [Core Principles](/docs/core-principles)
- [Your Second App](/docs/tutorials/second-app)

# Reference

Expand Down
75 changes: 0 additions & 75 deletions docs/next/en-US/getting-started/first-app.md

This file was deleted.

32 changes: 0 additions & 32 deletions docs/next/en-US/getting-started/installation.md

This file was deleted.

3 changes: 0 additions & 3 deletions docs/next/en-US/getting-started/intro.md

This file was deleted.

2 changes: 2 additions & 0 deletions docs/next/en-US/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

[Home][repo] • [Crate Page][crate] • [API Documentation][docs] • [Contributing][contrib]

**WARNING:** These docs are under heavy construction right now, in preparation for the release of Perseus v0.4.0, which will be, by far, the most powerful version of Perseus yet! A lot has changed though, so we *highly* recommend sticking to the v0.3.4+ docs if you're using v0.3.x, or the v0.4.x docs if you're still on one of the beta versions up to beta 11. The `next` docs (these ones) are highly incomplete, probably full of errors and typos, and have not yet been thoroughly checked. You have been warned!

Welcome to the Perseus documentation! Here, you'll find guides on how to use Perseus, as well as documentation for specific features and plenty of examples! Note that every code snippet in these docs comes from something in the [examples](https://github.com/arctic-hen7/perseus/tree/main/examples), where you can get context from real-world code.

If you like Perseus, please consider giving us a star [on GitHub](https://github.com/arctic-hen7/perseus)!
Expand Down
Loading