gologin 2.1.33 → 2.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.json CHANGED
@@ -4,6 +4,7 @@
4
4
  "es2021": true,
5
5
  "node": true
6
6
  },
7
+ "parser": "@babel/eslint-parser",
7
8
  "extends": "eslint:recommended",
8
9
  "overrides": [
9
10
  {
@@ -20,8 +21,19 @@
20
21
  }
21
22
  ],
22
23
  "parserOptions": {
23
- "ecmaVersion": 2020,
24
- "sourceType": "module"
24
+ "ecmaVersion": "latest",
25
+ "sourceType": "module",
26
+ "requireConfigFile": false,
27
+ "babelOptions": {
28
+ "plugins": [
29
+ [
30
+ "@babel/plugin-syntax-import-assertions",
31
+ {
32
+ "deprecatedAssertSyntax": true
33
+ }
34
+ ]
35
+ ]
36
+ }
25
37
  },
26
38
  "plugins": [
27
39
  "simple-import-sort"
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  Combined changelog for GoLogin node.js SDK
4
4
 
5
+ ## [2.1.34] 2025-09-11
6
+
7
+
8
+ ### Fixes
9
+
10
+ * Errors grouping for internal uses
11
+
5
12
  ## [2.1.33] 2025-09-11
6
13
 
7
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gologin",
3
- "version": "2.1.33",
3
+ "version": "2.1.34",
4
4
  "description": "A high-level API to control Orbita browser over GoLogin API",
5
5
  "types": "./index.d.ts",
6
6
  "main": "./src/gologin.js",
@@ -9,7 +9,7 @@
9
9
  "url": "git+https://github.com/gologinapp/gologin.git"
10
10
  },
11
11
  "engines": {
12
- "node": ">=16.0.0"
12
+ "node": ">=20.0.0"
13
13
  },
14
14
  "type": "module",
15
15
  "author": "The GoLogin Authors",
@@ -39,6 +39,9 @@
39
39
  "example": "examples"
40
40
  },
41
41
  "devDependencies": {
42
+ "@babel/core": "^7.28.5",
43
+ "@babel/eslint-parser": "^7.28.5",
44
+ "@babel/plugin-syntax-import-assertions": "^7.27.1",
42
45
  "eslint": "^8.21.0",
43
46
  "eslint-plugin-simple-import-sort": "^8.0.0"
44
47
  },
@@ -9,6 +9,7 @@ import ProgressBar from 'progress';
9
9
  import util from 'util';
10
10
 
11
11
  import { API_URL, getOS } from '../utils/common.js';
12
+ import { makeRequest } from '../utils/http.js';
12
13
  import BrowserDownloadLockManager from './browser-download-manager.js';
13
14
 
14
15
  const exec = util.promisify(execNonPromise);
@@ -121,6 +122,8 @@ export class BrowserChecker {
121
122
  return `https://orbita-browser-windows.gologin.com/orbita-browser-latest-${majorVersion}.zip`;
122
123
  case 'macM1':
123
124
  return `https://orbita-browser-mac-arm.gologin.com/orbita-browser-latest-${majorVersion}.tar.gz`;
125
+ case 'linArm':
126
+ return `https://orbita-browser-linux-arm.gologin.com/orbita-browser-latest-${majorVersion}.tar.gz`;
124
127
  default:
125
128
  return `https://orbita-browser-linux.gologin.com/orbita-browser-latest-${majorVersion}.tar.gz`;
126
129
  }
@@ -359,23 +362,7 @@ export class BrowserChecker {
359
362
  getLatestBrowserVersion() {
360
363
  const userOs = getOS();
361
364
 
362
- return new Promise(resolve => get(`${API_URL}/gologin-global-settings/latest-browser-info?os=${userOs}`,
363
- {
364
- timeout: 15 * 1000,
365
- headers: {
366
- 'Content-Type': 'application/json',
367
- 'User-Agent': 'gologin-api',
368
- },
369
- }, (res) => {
370
- res.setEncoding('utf8');
371
-
372
- let resultResponse = '';
373
- res.on('data', (data) => resultResponse += data);
374
-
375
- res.on('end', () => {
376
- resolve(JSON.parse(resultResponse.trim()));
377
- });
378
- }).on('error', (err) => resolve('')));
365
+ return makeRequest(`${API_URL}/gologin-global-settings/latest-browser-info?os=${userOs}`);
379
366
  }
380
367
 
381
368
  get getOrbitaPath() {
package/src/gologin.js CHANGED
@@ -90,7 +90,7 @@ export class GoLogin {
90
90
  dsn: 'https://a13d5939a60ae4f6583e228597f1f2a0@sentry-new.amzn.pro/24',
91
91
  tracesSampleRate: 1.0,
92
92
  defaultIntegrations: false,
93
- release: process.env.npm_package_version || '2.1.33',
93
+ release: process.env.npm_package_version || '2.1.34',
94
94
  });
95
95
  }
96
96
 
@@ -1177,13 +1177,6 @@ export class GoLogin {
1177
1177
  const fingerprint = await this.getRandomFingerprint(options);
1178
1178
  debug('fingerprint=', fingerprint);
1179
1179
 
1180
- if (fingerprint.statusCode === 500) {
1181
- throw new Error('no valid random fingerprint check os param');
1182
- }
1183
-
1184
- if (fingerprint.statusCode === 401) {
1185
- throw new Error('invalid token');
1186
- }
1187
1180
 
1188
1181
  const { navigator, fonts, webGLMetadata, webRTC } = fingerprint;
1189
1182
  let deviceMemory = navigator.deviceMemory || 2;
@@ -1506,10 +1499,6 @@ export class GoLogin {
1506
1499
  method: 'GET',
1507
1500
  }, { token: this.access_token, fallbackUrl: `${FALLBACK_API_URL}/browser/v2` });
1508
1501
 
1509
- if (profilesResponse.statusCode !== 200) {
1510
- throw new Error('Gologin /browser response error');
1511
- }
1512
-
1513
1502
  return JSON.parse(profilesResponse);
1514
1503
  }
1515
1504
 
@@ -14,6 +14,8 @@ const CHROME_EXT_DIR_NAME = 'chrome-extensions';
14
14
  const EXTENSIONS_PATH = join(HOMEDIR, '.gologin', 'extensions');
15
15
  const CHROME_EXTENSIONS_PATH = join(EXTENSIONS_PATH, CHROME_EXT_DIR_NAME);
16
16
  const USER_EXTENSIONS_PATH = join(HOMEDIR, '.gologin', 'extensions', 'user-extensions');
17
+ const PLATFORM = process.platform;
18
+ const ARCH = process.arch;
17
19
 
18
20
  const composeExtractionPromises = (filteredArchives, destPath = CHROME_EXTENSIONS_PATH) => (
19
21
  filteredArchives.map((extArchivePath) => {
@@ -64,15 +66,15 @@ const getOsAdvanced = async () => {
64
66
  };
65
67
 
66
68
  const getOS = () => {
67
- if (process.platform === 'win32') {
69
+ if (PLATFORM === 'win32') {
68
70
  return 'win';
69
71
  }
70
72
 
71
- if (process.platform === 'darwin') {
72
- return process.arch === 'arm64' ? 'macM1' : 'mac';
73
+ if (PLATFORM === 'darwin') {
74
+ return ARCH === 'arm64' ? 'macM1' : 'mac';
73
75
  }
74
76
 
75
- return 'lin';
77
+ return ARCH === 'arm64' ? 'linArm' : 'lin';
76
78
  };
77
79
 
78
80
  const _composeExtractionPromises = composeExtractionPromises;
package/src/utils/http.js CHANGED
@@ -1,6 +1,10 @@
1
1
  import { get as _get } from 'https';
2
2
  import requests from 'requestretry';
3
3
 
4
+ import packageJson from '../../package.json' assert { type: 'json' };
5
+
6
+ const { version } = packageJson;
7
+
4
8
  const TIMEZONE_URL = 'https://geo.myip.link';
5
9
 
6
10
  const createTimeoutPromise = (timeoutMs) => new Promise((_, reject) => {
@@ -32,7 +36,7 @@ const attemptRequest = async (requestUrl, options) => {
32
36
  export const makeRequest = async (url, options, internalOptions) => {
33
37
  options.headers = {
34
38
  ...options.headers,
35
- 'User-Agent': 'gologin-nodejs-sdk',
39
+ 'User-Agent': `gologin-nodejs-sdk/${version}`,
36
40
  };
37
41
 
38
42
  if (internalOptions?.token) {
@@ -61,13 +61,13 @@ export const captureGroupedSentryError = (error, context = {}) => {
61
61
  break;
62
62
  }
63
63
 
64
- Sentry.withScope((scope) => {
64
+ Sentry.captureException(error, scope => {
65
65
  scope.setFingerprint(fingerprint);
66
+ scope.setTransactionName(fingerprint);
66
67
  scope.setTags(tags);
67
68
  scope.setContext('errorDetails', {
68
69
  originalMessage: errorMessage,
69
70
  ...context,
70
71
  });
71
- Sentry.captureException(error);
72
72
  });
73
73
  };