-
Notifications
You must be signed in to change notification settings - Fork 26
Description
What if we significantly simplify our UI layer as minimal wrappers around w3up-client? We may sacrifice some modularity, but would reduce the surface area of what we support (and repeat) here in w3ui.
For context, the original decisions for what code lives in the headless components were made at a time when the w3up-client didn't have any of the functionality we needed. It now manages spaces and and "current space" state internally, which we duplicate here in keyring-core.
As an example... for #293 to export ucan delegations for a space I tried to save time and just copy the implementation from w3cli which use the createDelegation method on w3up-client. But our ui base doesn't provide an instances of w3up-client. So i could go grab the lower level delegate method from the access-client agent, but we don't expose the agent from keyring core. I will expose a method in keyring-core to do delegations, and chase it through react-keyring, so i can use it in w3console, but it also exposes that we might have more layers to w3ui than we can afford to maintain right now, and a review of our layering would be prudent.
aside: The name keyring-core should also be reviewed... it's a wrapper for an agent and spaces rather than a general key management thing.