Merge pull request #7644 from birarda/sandbox-ds-settings

replace Sandbox default content set with Home
This commit is contained in:
Ryan Huffman 2016-04-13 16:08:00 -07:00
commit b0084926c0
5 changed files with 54 additions and 27 deletions

View file

@ -195,6 +195,7 @@ void Agent::requestScript() {
// then wait for the nodeConnected signal to fire off the request // then wait for the nodeConnected signal to fire off the request
auto assetServer = nodeList->soloNodeOfType(NodeType::AssetServer); auto assetServer = nodeList->soloNodeOfType(NodeType::AssetServer);
if (!assetServer || !assetServer->getActiveSocket()) { if (!assetServer || !assetServer->getActiveSocket()) {
qDebug() << "Waiting to connect to Asset Server for ATP script download."; qDebug() << "Waiting to connect to Asset Server for ATP script download.";
_pendingScriptRequest = request; _pendingScriptRequest = request;
@ -209,7 +210,7 @@ void Agent::requestScript() {
} }
void Agent::nodeActivated(SharedNodePointer activatedNode) { void Agent::nodeActivated(SharedNodePointer activatedNode) {
if (_pendingScriptRequest) { if (_pendingScriptRequest && activatedNode->getType() == NodeType::AssetServer) {
qInfo() << "Requesting script at URL" << qPrintable(_pendingScriptRequest->getUrl().toString()); qInfo() << "Requesting script at URL" << qPrintable(_pendingScriptRequest->getUrl().toString());
_pendingScriptRequest->send(); _pendingScriptRequest->send();

View file

@ -9,8 +9,8 @@
], ],
"devDependencies": { "devDependencies": {
"electron-compilers": "^1.0.1", "electron-compilers": "^1.0.1",
"electron-packager": "^5.2.1", "electron-packager": "^6.0.2",
"electron-prebuilt": "0.35.4" "electron-prebuilt": "0.37.5"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -30,9 +30,9 @@
"fs-extra": "^0.26.4", "fs-extra": "^0.26.4",
"node-notifier": "^4.4.0", "node-notifier": "^4.4.0",
"os-homedir": "^1.0.1", "os-homedir": "^1.0.1",
"request": "2.67.0", "request": "^2.67.0",
"request-progress": "1.0.2", "request-progress": "1.0.2",
"unzip": "0.1.11", "tar-fs": "^1.12.0",
"yargs": "^3.30.0" "yargs": "^3.30.0"
} }
} }

View file

@ -17,7 +17,7 @@ var iconName = argv.production ? "console" : "console-beta";
var options = { var options = {
dir: __dirname, dir: __dirname,
name: "server-console", name: "server-console",
version: "0.35.4", version: "0.37.5",
overwrite: true, overwrite: true,
prune: true, prune: true,
arch: "x64", arch: "x64",

View file

@ -16,7 +16,7 @@
</div> </div>
<div id="state-installing" class="state"> <div id="state-installing" class="state">
<h1>Installing<span class="one">.</span><span class="two">.</span><span class="three">.</span></h1> <h1>Extracting<span class="one">.</span><span class="two">.</span><span class="three">.</span></h1>
<em>Just a moment</em> <em>Just a moment</em>
</div> </div>

View file

@ -17,7 +17,8 @@ const path = require('path');
const fs = require('fs-extra'); const fs = require('fs-extra');
const Tail = require('always-tail'); const Tail = require('always-tail');
const http = require('http'); const http = require('http');
const unzip = require('unzip'); const zlib = require('zlib');
const tar = require('tar-fs');
const request = require('request'); const request = require('request');
const progress = require('request-progress'); const progress = require('request-progress');
@ -90,6 +91,10 @@ function getRootHifiDataDirectory() {
} }
} }
function getDomainServerClientResourcesDirectory() {
return path.join(getRootHifiDataDirectory(), '/domain-server');
}
function getAssignmentClientResourcesDirectory() { function getAssignmentClientResourcesDirectory() {
return path.join(getRootHifiDataDirectory(), '/assignment-client'); return path.join(getRootHifiDataDirectory(), '/assignment-client');
} }
@ -477,18 +482,34 @@ function updateTrayMenu(serverState) {
const httpStatusPort = 60332; const httpStatusPort = 60332;
function maybeInstallDefaultContentSet(onComplete) { function maybeInstallDefaultContentSet(onComplete) {
// Check for existing AC data // Check for existing data
const acResourceDirectory = getAssignmentClientResourcesDirectory(); const acResourceDirectory = getAssignmentClientResourcesDirectory();
console.log("Checking for existence of " + acResourceDirectory); console.log("Checking for existence of " + acResourceDirectory);
var userHasExistingServerData = true;
var userHasExistingACData = true;
try { try {
fs.accessSync(acResourceDirectory); fs.accessSync(acResourceDirectory);
console.log("Found directory " + acResourceDirectory);
} catch (e) { } catch (e) {
console.log(e); console.log(e);
userHasExistingServerData = false; userHasExistingACData = false;
} }
if (userHasExistingServerData) { const dsResourceDirectory = getDomainServerClientResourcesDirectory();
console.log("checking for existence of " + dsResourceDirectory);
var userHasExistingDSData = true;
try {
fs.accessSync(dsResourceDirectory);
console.log("Found directory " + dsResourceDirectory);
} catch (e) {
console.log(e);
userHasExistingDSData = false;
}
if (userHasExistingACData || userHasExistingDSData) {
console.log("User has existing data, suppressing downloader"); console.log("User has existing data, suppressing downloader");
onComplete(); onComplete();
return; return;
@ -514,16 +535,19 @@ function maybeInstallDefaultContentSet(onComplete) {
electron.ipcMain.on('ready', function() { electron.ipcMain.on('ready', function() {
console.log("got ready"); console.log("got ready");
var currentState = '';
function sendStateUpdate(state, args) { function sendStateUpdate(state, args) {
// console.log(state, window, args); // console.log(state, window, args);
window.webContents.send('update', { state: state, args: args }); window.webContents.send('update', { state: state, args: args });
currentState = state;
} }
var aborted = false; var aborted = false;
// Start downloading content set // Start downloading content set
var req = progress(request.get({ var req = progress(request.get({
url: "https://s3.amazonaws.com/hifi-public/homeset/ContentSet-Lounge.zip" url: "http://cachefly.highfidelity.com/home.tgz"
}, function(error, responseMessage, responseData) { }, function(error, responseMessage, responseData) {
if (aborted) { if (aborted) {
return; return;
@ -537,33 +561,35 @@ function maybeInstallDefaultContentSet(onComplete) {
sendStateUpdate('error', { sendStateUpdate('error', {
message: message message: message
}); });
} else {
sendStateUpdate('installing');
} }
}), { throttle: 250 }).on('progress', function(state) { }), { throttle: 250 }).on('progress', function(state) {
if (!aborted) { if (!aborted) {
// Update progress popup // Update progress popup
sendStateUpdate('downloading', state); sendStateUpdate('downloading', state);
} }
}).on('end', function(){
sendStateUpdate('installing');
}); });
var unzipper = unzip.Extract({
path: acResourceDirectory, function extractError(err) {
verbose: true console.log("Aborting request because gunzip/untar failed");
});
unzipper.on('close', function() {
console.log("Done", arguments);
sendStateUpdate('complete');
});
unzipper.on('error', function (err) {
console.log("aborting");
aborted = true; aborted = true;
req.abort(); req.abort();
console.log("ERROR"); console.log("ERROR" + err);
sendStateUpdate('error', { sendStateUpdate('error', {
message: "Error installing resources." message: "Error installing resources."
}); });
}
var gunzip = zlib.createGunzip();
gunzip.on('error', extractError);
req.pipe(gunzip).pipe(tar.extract(getRootHifiDataDirectory())).on('error', extractError).on('finish', function(){
// response and decompression complete, return
console.log("Finished unarchiving home content set");
sendStateUpdate('complete');
}); });
req.pipe(unzipper);
window.on('closed', function() { window.on('closed', function() {
if (currentState == 'downloading') { if (currentState == 'downloading') {