diff --git a/src/main-process/atom-application.coffee b/src/main-process/atom-application.coffee index 8e889ecca..f6802705e 100644 --- a/src/main-process/atom-application.coffee +++ b/src/main-process/atom-application.coffee @@ -8,7 +8,6 @@ FileRecoveryService = require './file-recovery-service' ipcHelpers = require '../ipc-helpers' {BrowserWindow, Menu, app, dialog, ipcMain, shell, screen} = require 'electron' {CompositeDisposable, Disposable} = require 'event-kit' -crypto = require 'crypto' fs = require 'fs-plus' path = require 'path' os = require 'os' @@ -34,16 +33,11 @@ class AtomApplication # Public: The entry point into the Atom application. @open: (options) -> unless options.socketPath? - username = if process.platform is 'win32' then process.env.USERNAME else process.env.USER - # Lowercasing the ATOM_HOME to make sure that we don't get multiple sockets - # on case-insensitive filesystems due to arbitrary case differences in paths. - atomHomeUnique = path.resolve(process.env.ATOM_HOME).toLowerCase() - hash = crypto.createHash('sha1').update(username).update('|').update(atomHomeUnique) - atomInstanceDigest = hash.digest('hex').substring(0, 32) if process.platform is 'win32' - options.socketPath = "\\\\.\\pipe\\atom-#{options.version}-#{process.arch}-#{atomInstanceDigest}-sock" + userNameSafe = new Buffer(process.env.USERNAME).toString('base64') + options.socketPath = "\\\\.\\pipe\\atom-#{options.version}-#{userNameSafe}-#{process.arch}-sock" else - options.socketPath = path.join(os.tmpdir(), "atom-#{options.version}-#{process.arch}-#{atomInstanceDigest}.sock") + options.socketPath = path.join(os.tmpdir(), "atom-#{options.version}-#{process.env.USER}.sock") # FIXME: Sometimes when socketPath doesn't exist, net.connect would strangely # take a few seconds to trigger 'error' event, it could be a bug of node