Fix back button in teams with messenger and drive

pull/1/head
yflory 5 years ago
parent 5e58f7db4c
commit fc2938a27e

@ -524,6 +524,7 @@ define([
var edPublic = priv.edPublic;
APP.origin = priv.origin;
APP.hideDuplicateOwned = Util.find(priv, ['settings', 'drive', 'hideDuplicate']);
APP.closed = false;
var updateObject = driveConfig.updateObject;
var updateSharedFolders = driveConfig.updateSharedFolders;

@ -122,7 +122,7 @@ define([
});
};
var onReady = function (ctx, id, lm, keys, cId, cb) {
var onReady = function (ctx, id, lm, roster, keys, cId, cb) {
var proxy = lm.proxy;
var team = {
id: id,
@ -292,7 +292,7 @@ define([
};
var rosterData = keys.roster || {};
var rosterKeys = rosterData.edit ? Crypto.Team.deriveMemberKeys(rosterData.edit, myKeys)
: Crypto.Team.deriveGuestKeys(rosterData.view);
: Crypto.Team.deriveGuestKeys(rosterData.view || '');
Roster.create({
network: ctx.store.network,
channel: rosterKeys.channel,
@ -385,7 +385,7 @@ define([
noChainPad: true,
crypto: crypto,
metadata: {
validateKey: secret.keys.validateKey,
validateKey: chatSecret.keys.validateKey,
owners: [ctx.store.proxy.edPublic],
}
};
@ -469,6 +469,10 @@ define([
ctx.onReadyHandlers[teamId].splice(idx, 1);
}
});
// And leave the channel channel
try {
ctx.store.messenger.removeClient(cId);
} catch (e) {}
if (!id) { return void cb(); }
// If the team is loading, as ourselves in the list
@ -549,8 +553,8 @@ define([
var t = {};
Object.keys(teams).forEach(function (id) {
t[id] = {
name: teams[id].name,
edPublic: Util.find(teams[id], ['keys', 'edPublic'])
name: teams[id].metadata.name,
edPublic: Util.find(teams[id], ['keys', 'drive', 'edPublic'])
};
});
return t;

@ -167,11 +167,10 @@ define([
// Universal direct channel
var modules = {};
funcs.makeUniversal = function (type, cfg) {
if (modules[type]) { return; }
var sframeChan = funcs.getSframeChannel();
modules[type] = {
onEvent: cfg.onEvent || function () {}
};
var sframeChan = funcs.getSframeChannel();
return {
execCommand: function (cmd, data, cb) {
sframeChan.query("Q_UNIVERSAL_COMMAND", {

@ -191,13 +191,10 @@ define([
// Team APP
var loadTeam = function (common, id, firstLoad) {
var loadTeam = function (common, id) {
var sframeChan = common.getSframeChannel();
var proxy = {};
var folders = {};
if (firstLoad) {
buildUI(common, true);
}
nThen(function (waitFor) {
updateObject(sframeChan, proxy, waitFor(function () {
updateSharedFolders(sframeChan, null, proxy.drive, folders, waitFor());
@ -256,7 +253,7 @@ define([
var team = obj[id];
var a = h('a', 'Open');
lis.push(h('li', h('ul', [
h('li', 'Name: ' + team.name), // XXX
h('li', 'Name: ' + team.metadata.name), // XXX
h('li', 'ID: ' + id), // XXX
h('li', a) // XXX
])));
@ -341,7 +338,6 @@ define([
APP.module.execCommand('OPEN_TEAM_CHAT', {
teamId: APP.team
}, function (obj) {
console.warn(obj);
if (obj && obj.error) {
return void UI.alert(Messages.error); // XXX
}
@ -431,11 +427,7 @@ define([
});
$('body').css('display', '');
if (privateData.teamId) {
loadTeam(common, privateData.teamId, true);
} else {
loadMain(common);
}
loadMain(common);
var onDisconnect = function (noAlert) {

Loading…
Cancel
Save