forked from cory/tildefriends
Make the ssb app use the global identity picker.
This commit is contained in:
26
core/core.js
26
core/core.js
@ -244,6 +244,7 @@ function broadcastEvent(eventName, argv) {
|
||||
}
|
||||
return Promise.all(promises);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODOC
|
||||
* @param {*} message
|
||||
@ -265,6 +266,28 @@ function broadcast(message) {
|
||||
return Promise.all(promises);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODOC
|
||||
* @param {String} eventName
|
||||
* @param {*} argv
|
||||
* @returns
|
||||
*/
|
||||
function broadcastAppEventToUser(user, packageOwner, packageName, eventName, argv) {
|
||||
let promises = [];
|
||||
for (let process of Object.values(gProcesses)) {
|
||||
if (
|
||||
process.credentials?.session?.name === user &&
|
||||
process.packageOwner == packageOwner &&
|
||||
process.packageName == packageName
|
||||
) {
|
||||
if (process.eventHandlers[eventName]) {
|
||||
promises.push(invoke(process.eventHandlers[eventName], argv));
|
||||
}
|
||||
}
|
||||
}
|
||||
return Promise.all(promises);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODOC
|
||||
* @param {*} caller
|
||||
@ -360,6 +383,8 @@ async function getProcessBlob(blobId, key, options) {
|
||||
process.key = key;
|
||||
process.credentials = options.credentials || {};
|
||||
process.task = new Task();
|
||||
process.packageOwner = options.packageOwner;
|
||||
process.packageName = options.packageName;
|
||||
process.eventHandlers = {};
|
||||
if (!options?.script || options?.script === 'app.js') {
|
||||
process.app = new app.App();
|
||||
@ -520,6 +545,7 @@ async function getProcessBlob(blobId, key, options) {
|
||||
await new Database(process?.credentials?.session?.name).set(`id:${options.packageOwner}:${options.packageName}`, identity);
|
||||
}
|
||||
process.sendIdentities();
|
||||
broadcastAppEventToUser(process?.credentials?.session?.name, options.packageOwner, options.packageName, 'setActiveIdentity', [identity]);
|
||||
};
|
||||
process.createIdentity = async function() {
|
||||
if (
|
||||
|
Reference in New Issue
Block a user