-
Notifications
You must be signed in to change notification settings - Fork 5
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
Vault Sharing With GestaltIDs #626
Comments
We already had an issue: MatrixAI/Polykey-CLI#30 Why create a new one? |
This should be able to be fixed by periodic background triggering of Discovery, or some sort of mechanism to trigger discovery based on a node entering or leaving a Gestalt, similar to a broadcast. I initially I had tried to trigger discovery whenever a Vault is being pulled, and the permissions for the node corresponding to the pulled vault aren't found, but this is quite slow. The ideal is that the triggering of discovery should be push based, rather than pull based. This is too complicated to be implemented in a day. let permissions = await acl.getNodePerm(requestingNodeId, tran);
if (permissions == null || permissions.vaults[vaultId] == null) {
const task = await discovery.queueDiscoveryByNode(requestingNodeId);
const prom = task.promise();
console.log(prom);
await prom;
permissions = await acl.getNodePerm(requestingNodeId, tran);
}
if (permissions == null) {
throw new vaultsErrors.ErrorVaultsPermissionDenied(
`No permissions found for ${nodeIdEncoded}`,
);
} Furthermore, the Discovery mechanism is meant to be a continuous background task that updates the GestaltGraph periodically. This is currently not implemented, as users are only able to manually trigger the discovery of a gestalt. |
Closed in favour of MatrixAI/Polykey-CLI#30. |
Specification
Originally, vault sharing was understood that it was only to a singular node.
The desired behaviour should be that sharing a vault with a nodeId shares the vault with the entire gestalt. This is because Gestalts are addressable by both nodeIds and identityProviderIds. Furthermore, the VaultShare handlers should also be able to accept identityProviderIds as well, and take the first discovered node of the identity to trust.
There are some implications regarding discovery. For example, in the case where node B trusts node A, and hence gestalt A, but node C joins gestalt A after this, so that node B does not know that node C is in gestalt A yet.
Additional context
Tasks
The text was updated successfully, but these errors were encountered: