Skip to content

Error on initial connection #18

@johngrimes

Description

@johngrimes

Upon initially running happy (v0.9.1), I get the following error:

How would you like to authenticate?

› 1. Mobile App
  2. Web Browser

Use arrows or 1-2 to select, Enter to confirm

[AUTH DEBUG] Sending auth request to: https://api.cluster-fluster.com/v1/auth/request
[AUTH DEBUG] Public key: 4Kit0WnG6t8jHLZI9E5P...
[AUTH DEBUG] Failed to send auth request: AxiosError: Client network socket disconnected before secure TLS connection was established
    at AxiosError.from (file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/node_modules/axios/lib/core/AxiosError.js:92:14)
    at RedirectableRequest.handleRequestError (file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/node_modules/axios/lib/adapters/http.js:620:25)
    at RedirectableRequest.emit (node:events:518:28)
    at eventHandlers.<computed> (/Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/node_modules/follow-redirects/index.js:49:24)
    at ClientRequest.emit (node:events:518:28)
    at emitErrorEvent (node:_http_client:104:11)
    at TLSSocket.socketErrorListener (node:_http_client:518:5)
    at TLSSocket.emit (node:events:518:28)
    at emitErrorNT (node:internal/streams/destroy:170:8)
    at emitErrorCloseNT (node:internal/streams/destroy:129:3)
    at Axios.request (file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/node_modules/axios/lib/core/Axios.js:45:41)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async doAuth (file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/dist/index.mjs:4075:5)
    at async authAndSetupMachineIfNeeded (file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/dist/index.mjs:4202:24)
    at async file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/dist/index.mjs:5643:9 {
  localAddress: undefined,
  port: 443,
  host: 'api.cluster-fluster.com',
  path: null,
  code: 'ECONNRESET',
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: [ 'xhr', 'http', 'fetch' ],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    env: { FormData: [Function [FormData]], Blob: [class Blob] },
    validateStatus: [Function: validateStatus],
    headers: Object [AxiosHeaders] {
      Accept: 'application/json, text/plain, */*',
      'Content-Type': 'application/json',
      'User-Agent': 'axios/1.11.0',
      'Content-Length': '60',
      'Accept-Encoding': 'gzip, compress, deflate, br'
    },
    method: 'post',
    url: 'https://api.cluster-fluster.com/v1/auth/request',
    data: '{"publicKey":"4Kit0WnG6t8jHLZI9E5PNovu3Gp4M4ZP81TBWbq5o3s="}',
    allowAbsoluteUrls: true
  },
  request: <ref *1> Writable {
    _events: {
      close: undefined,
      error: [Function: handleRequestError],
      prefinish: undefined,
      finish: undefined,
      drain: undefined,
      response: [Function: handleResponse],
      socket: [Function: handleRequestSocket]
    },
    _writableState: WritableState {
      highWaterMark: 65536,
      length: 0,
      corked: 0,
      onwrite: [Function: bound onwrite],
      writelen: 0,
      bufferedIndex: 0,
      pendingcb: 0,
      [Symbol(kState)]: 17580812,
      [Symbol(kBufferedValue)]: null
    },
    _maxListeners: undefined,
    _options: {
      maxRedirects: 21,
      maxBodyLength: Infinity,
      protocol: 'https:',
      path: '/v1/auth/request',
      method: 'POST',
      headers: [Object: null prototype],
      agents: [Object],
      auth: undefined,
      family: undefined,
      beforeRedirect: [Function: dispatchBeforeRedirect],
      beforeRedirects: [Object],
      hostname: 'api.cluster-fluster.com',
      port: '',
      agent: undefined,
      nativeProtocols: [Object],
      pathname: '/v1/auth/request'
    },
    _ended: false,
    _ending: true,
    _redirectCount: 0,
    _redirects: [],
    _requestBodyLength: 60,
    _requestBodyBuffers: [ [Object] ],
    _eventsCount: 3,
    _onNativeResponse: [Function (anonymous)],
    _currentRequest: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: false,
      chunkedEncoding: false,
      shouldKeepAlive: true,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: true,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      strictContentLength: false,
      _contentLength: 60,
      _hasBody: true,
      _trailer: '',
      finished: false,
      _headerSent: true,
      _closed: false,
      _header: 'POST /v1/auth/request HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'Content-Type: application/json\r\n' +
        'User-Agent: axios/1.11.0\r\n' +
        'Content-Length: 60\r\n' +
        'Accept-Encoding: gzip, compress, deflate, br\r\n' +
        'Host: api.cluster-fluster.com\r\n' +
        'Connection: keep-alive\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'POST',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      joinDuplicateHeaders: undefined,
      path: '/v1/auth/request',
      _ended: false,
      res: null,
      aborted: false,
      timeoutCb: [Function: emitRequestTimeout],
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'api.cluster-fluster.com',
      protocol: 'https:',
      _redirectable: [Circular *1],
      [Symbol(shapeMode)]: false,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kChunkedBuffer)]: [],
      [Symbol(kChunkedLength)]: 0,
      [Symbol(kSocket)]: [TLSSocket],
      [Symbol(kOutHeaders)]: [Object: null prototype],
      [Symbol(errored)]: null,
      [Symbol(kHighWaterMark)]: 65536,
      [Symbol(kRejectNonStandardBodyWrites)]: false,
      [Symbol(kUniqueHeaders)]: null
    },
    _currentUrl: 'https://api.cluster-fluster.com/v1/auth/request',
    [Symbol(shapeMode)]: true,
    [Symbol(kCapture)]: false
  },
  cause: Error: Client network socket disconnected before secure TLS connection was established
      at TLSSocket.onConnectEnd (node:_tls_wrap:1732:19)
      at TLSSocket.emit (node:events:530:35)
      at endReadableNT (node:internal/streams/readable:1698:12)
      at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
    code: 'ECONNRESET',
    path: null,
    host: 'api.cluster-fluster.com',
    port: 443,
    localAddress: undefined
  }
}
Failed to create authentication request, please try again later.
file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/dist/index.mjs:4204
      throw new Error("Authentication failed or was cancelled");
            ^

Error: Authentication failed or was cancelled
    at authAndSetupMachineIfNeeded (file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/dist/index.mjs:4204:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async file:///Users/gri306/.nvm/versions/node/v22.17.1/lib/node_modules/happy-coder/dist/index.mjs:5643:9

Node.js v22.17.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions