diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js index 46782feaa..b8a58b96e 100644 --- a/www/common/drive-ui.js +++ b/www/common/drive-ui.js @@ -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; diff --git a/www/common/outer/team.js b/www/common/outer/team.js index 955c7877d..0c00c8a01 100644 --- a/www/common/outer/team.js +++ b/www/common/outer/team.js @@ -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; diff --git a/www/common/sframe-common.js b/www/common/sframe-common.js index 8f83c4443..aee8b8306 100644 --- a/www/common/sframe-common.js +++ b/www/common/sframe-common.js @@ -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", { diff --git a/www/team/inner.js b/www/team/inner.js index 4068bbf2b..97d26fd5b 100644 --- a/www/team/inner.js +++ b/www/team/inner.js @@ -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) {