urbit / shrub

An operating function (Prototype)
https://urbit.org
MIT License
29 stars 2 forks source link

Remove / from kids.bowl #49

Closed hanfel-dovned closed 3 months ago

hanfel-dovned commented 4 months ago

We need all of our descendants in the kids.bowl that hawk-eyre-handler populates. This is implied by kids.bowl being an (axal idea) rather than a (map iota idea), and is necessary for both Tasks and Messenger, who need to conditionally render kids on the basis of those kids' kids' state.

The only thing this breaks is how home renders its children, which this PR fixes.

I already merged the above changes into develop in #41, but they're not in this wh/revert-role-conversions branch yet.

This PR is to make those changes, as well as additionally remove / from kids.bowl. The state of this node probably shouldn't be available in kids either way, and in this specific case, it gets passed in as a massive vase containing HTMX (because it was converted through the HTMX role in hawk-eyre-handler), which is inaccurate to the user's expectations and locks the ship when ~&ing kids.bowl due to the vase size (and maybe makes Sky slower in general too).

@will-hanlen

hanfel-dovned commented 4 months ago

Tasks and Messenger, who need to conditionally render kids on the basis of those kids' kids' state.

It's actually bad that Tasks does this and we'll be fixing the logic. But Messenger is designed for its high-level interfaces to be less agnostic and make lots of assumptions, and they do need to be able to dive down the tree.