diff --git a/build/tasks/generate-asar-task.coffee b/build/tasks/generate-asar-task.coffee index 382acfc66..7509b1e79 100644 --- a/build/tasks/generate-asar-task.coffee +++ b/build/tasks/generate-asar-task.coffee @@ -13,7 +13,6 @@ module.exports = (grunt) -> '**/vendor/**' '**/examples/**' '**/src/tasks/**' - '**/node_modules/aws-sdk/**' '**/node_modules/spellchecker/**' ] unpack = "{#{unpack.join(',')}}" diff --git a/package.json b/package.json index bebeebd1c..eed99a063 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "asar": "^0.5.0", "async": "^0.9", "atom-keymap": "^5.1", - "aws-sdk": "2.1.28", "bluebird": "^2.9", "classnames": "1.2.1", "clear-cut": "0.4.0", diff --git a/src/error-reporter.js b/src/error-reporter.js index 457590127..5c8236249 100644 --- a/src/error-reporter.js +++ b/src/error-reporter.js @@ -20,7 +20,7 @@ var logpid = process.pid; if (process.type === 'renderer') { logpid = remote.process.pid + "." + process.pid; } -var logpath = path.join(tmpPath, 'edgehill-' + logpid + '.log'); +var logpath = path.join(tmpPath, 'Nylas-N1-' + logpid + '.log'); // globally define Error.toJSON. This allows us to pass errors via IPC // and through the Action Bridge. Note:they are not re-inflated into @@ -78,7 +78,7 @@ module.exports = ErrorReporter = (function() { return; } - var logFilter = new RegExp("edgehill-[.0-9]*.log$"); + var logFilter = new RegExp("Nylas-N1-[.0-9]*.log$"); files.forEach(function(file) { if (logFilter.test(file) === true) { var filepath = path.join(tmpPath, file); @@ -239,9 +239,9 @@ module.exports = ErrorReporter = (function() { } var logPattern = null; if (process.type === 'renderer') { - logPattern = "edgehill-"+remote.process.pid+"[.0-9]*.log$"; + logPattern = "Nylas-N1-"+remote.process.pid+"[.0-9]*.log$"; } else { - logPattern = "edgehill-"+process.pid+"[.0-9]*.log$"; + logPattern = "Nylas-N1-"+process.pid+"[.0-9]*.log$"; } console.log("ErrorReporter: Shipping Logs. " + reason); diff --git a/src/tasks/ship-logs-task.coffee b/src/tasks/ship-logs-task.coffee index 2898c774d..91944337c 100644 --- a/src/tasks/ship-logs-task.coffee +++ b/src/tasks/ship-logs-task.coffee @@ -2,7 +2,7 @@ fs = require 'fs' path = require 'path' request = require 'request' -detailedLogging = false +detailedLogging = true detailedLog = (msg) -> console.log(msg) if detailedLogging @@ -32,34 +32,23 @@ module.exports = (dir, regexPattern) -> callback() return - # The AWS Module does some really interesting stuff - it loads it's configuration - # from JSON files. Unfortunately, when the app is built into an ASAR bundle, child - # processes forked from the main process can't seem to access files inside the archive, - # so AWS can't find it's JSON config. (5/20) - if __dirname.indexOf('app.asar') != -1 - AWSModulePath = path.join(__dirname, '..','..','..', 'app.asar.unpacked', 'node_modules', 'aws-sdk') - else - AWSModulePath = 'aws-sdk' - - # Note: These credentials are only good for uploading to this - # specific bucket and can't be used for anything else. - AWS = require(AWSModulePath) - AWS.config.update - accessKeyId: 'AKIAIEGVDSVLK3Z7UVFA', - secretAccessKey: '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' - - bucket = new AWS.S3({params: {Bucket: 'edgehill-client-logs'}}) - uploadTime = Date.now() - logs.forEach (log) -> - stream = fs.createReadStream(log, {flags: 'r'}) - key = "#{uploadTime}-#{path.basename(log)}" - params = {Key: key, Body: stream} remaining += 1 - bucket.upload params, (err, data) -> + url = 'https://edgehill.nylas.com/ingest-log' + formData = + file: + value: fs.createReadStream(log, {flags: 'r'}) + options: + filename: 'log.txt', + contentType: 'text/plain' + + request.post {url, formData}, (err, response, body) -> if err - detailedLog("Error uploading #{key}: #{err.toString()}") + detailedLog("Error uploading #{log}: #{err.toString()}") + else if response.statusCode isnt 200 + detailedLog("Error uploading #{log}: status code #{response.statusCode}") else - detailedLog("Successfully uploaded #{key}") - fs.truncate(log) + detailedLog("Successfully uploaded #{log}") + fs.truncate log, => + fs.unlink(log) finished()