@thumbmarkjs/thumbmarkjs 1.7.1 → 1.7.3
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/dist/thumbmark.cjs.js +1 -1
- package/dist/thumbmark.cjs.js.map +1 -1
- package/dist/thumbmark.esm.d.ts +8 -3
- package/dist/thumbmark.esm.js +1 -1
- package/dist/thumbmark.esm.js.map +1 -1
- package/dist/thumbmark.umd.js +1 -1
- package/dist/thumbmark.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/system/browser.test.ts +0 -5
- package/src/components/system/browser.ts +29 -5
- package/src/functions/api.ts +2 -8
- package/src/functions/functions.test.ts +85 -2
- package/src/functions/index.ts +106 -69
- package/src/index.ts +2 -2
- package/src/utils/log.ts +3 -1
- package/src/utils/raceAll.test.ts +4 -0
- package/src/utils/raceAll.ts +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.umd.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/utils/stableStringify.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/components/speech/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/utils/cache.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MAXIMUM_CACHE_LIFETIME","DEFAULT_STORAGE_PREFIX","DEFAULT_API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","cache_lifetime_in_ms","performance","experimental","property_name_factory","name","options","stabilizationExclusionRules","private","browsers","iframe","vpn","OfflineAudioContextClass","window","OfflineAudioContext","webkitOfflineAudioContext","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","utf8","charCode","charCodeAt","Uint8Array","encodeUtf8","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","async","ephemeralIFrame","callback","document","wait","createElement","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","_a","contentWindow","undefined","Error","setTimeout","removeChild","durationMs","resolveWith","Promise","resolve","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","gl","getContext","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","stableStringify","seen","stringify","node","toJSON","isFinite","JSON","out","isArray","indexOf","seenIndex","sort","splice","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","reject","audioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","all","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","audioCodecs","videoCodecs","compressedData","count","video","extensionsHash","totalTimeout","iceTimeout","floor","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","details","message","processOffer","speech","speechSynthesis","getVoices","voicesResolved","timeoutHandle","processVoices","voices","voiceSignatures","voice","escapeValue","voiceURI","lang","localService","default","voiceCount","voicesHash","onVoicesChanged","tm_experimental_component_promises","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","dimensionsArray","fontStyleHash","struct","measurement","mathElement","whiteSpace","top","computedStyle","defaultView","getComputedStyle","measurements","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","DEFAULT_STORAGE_PROPERTY_NAME","getVisitorIdPropertyName","_options","storage_property_name","DEFAULT_VISITOR_ID_NAME","setVisitorId","visitorId","localStorage","setItem","CACHE_KEY","getCache","rawCache","getItem","jsonCache","parse","getApiResponseExpiry","Date","now","currentApiPromise","apiPromiseResult","getApiPromise","components","cached","cache","apiResponse","apiResponseExpiry","getCachedApiResponse","endpoint","api_endpoint","propertyName","getVisitorId","requestBody","clientHash","metadata","resolvedMetadata","fetchPromise","fetch","method","headers","api_key","Authorization","then","response","ok","json","values","newValues","setCache","setCachedApiResponse","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","thumbmark","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","experimentalElapsed","expElapsed","apiPromise","apiResult","allElapsed","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","requestId","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbmark.umd.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/utils/stableStringify.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/components/speech/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/utils/cache.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MAXIMUM_CACHE_LIFETIME","DEFAULT_STORAGE_PREFIX","DEFAULT_API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","cache_lifetime_in_ms","performance","experimental","property_name_factory","name","options","stabilizationExclusionRules","private","browsers","iframe","vpn","OfflineAudioContextClass","window","OfflineAudioContext","webkitOfflineAudioContext","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","utf8","charCode","charCodeAt","Uint8Array","encodeUtf8","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","async","ephemeralIFrame","callback","document","wait","createElement","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","_a","contentWindow","undefined","Error","setTimeout","removeChild","durationMs","resolveWith","Promise","resolve","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","gl","getContext","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","privacyBrowserStrategies","detect","brave","strategy","parseBrowserFromUA","userAgent","ua","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","stableStringify","seen","stringify","node","toJSON","isFinite","JSON","out","isArray","indexOf","seenIndex","sort","splice","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","reject","audioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","all","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","audioCodecs","videoCodecs","compressedData","count","video","extensionsHash","totalTimeout","iceTimeout","floor","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","details","message","processOffer","speech","speechSynthesis","getVoices","voicesResolved","timeoutHandle","processVoices","voices","voiceSignatures","voice","escapeValue","voiceURI","lang","localService","default","voiceCount","voicesHash","onVoicesChanged","tm_experimental_component_promises","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","dimensionsArray","fontStyleHash","struct","measurement","mathElement","whiteSpace","top","computedStyle","defaultView","getComputedStyle","measurements","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","DEFAULT_STORAGE_PROPERTY_NAME","getVisitorIdPropertyName","_options","storage_property_name","DEFAULT_VISITOR_ID_NAME","setVisitorId","visitorId","localStorage","setItem","CACHE_KEY","getCache","rawCache","getItem","jsonCache","parse","getApiResponseExpiry","Date","now","currentApiPromise","apiPromiseResult","getApiPromise","components","cached","cache","apiResponse","apiResponseExpiry","getCachedApiResponse","endpoint","api_endpoint","propertyName","getVisitorId","requestBody","clientHash","metadata","resolvedMetadata","fetchPromise","fetch","method","headers","api_key","Authorization","then","response","ok","json","values","newValues","setCache","setCachedApiResponse","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","thumbmark","allErrors","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","errors","componentErrors","resolveClientComponents","experimentalComponents","experimentalElapsed","expElapsed","expErrors","apiPromise","apiResult","allElapsed","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","requestId","e","comps","opts","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","err","t","raceAllPerformance","resolvedComponentsRaw","index","component","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -90,11 +90,6 @@ describe('getBrowser', () => {
|
|
|
90
90
|
ua: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.110 Safari/537.36 Vivaldi/6.4.3160.49',
|
|
91
91
|
expected: { name: 'Vivaldi', version: '6.4.3160.49' },
|
|
92
92
|
},
|
|
93
|
-
// Brave (Windows)
|
|
94
|
-
{
|
|
95
|
-
ua: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.110 Safari/537.36 Brave/1.62.153',
|
|
96
|
-
expected: { name: 'Brave', version: '1.62.153' },
|
|
97
|
-
},
|
|
98
93
|
// Unknown
|
|
99
94
|
{
|
|
100
95
|
ua: 'SomeRandomUserAgent/1.0',
|
|
@@ -4,7 +4,13 @@ interface BrowserResult {
|
|
|
4
4
|
version: string;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// Browser detection strategy for privacy browsers that mask their user agent
|
|
8
|
+
interface BrowserDetectionStrategy {
|
|
9
|
+
name: string;
|
|
10
|
+
detect: () => boolean;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Define a function to parse the user agent string and return the browser name and version
|
|
8
14
|
export function getBrowser(): BrowserResult {
|
|
9
15
|
if (typeof navigator === 'undefined') {
|
|
10
16
|
return {
|
|
@@ -12,7 +18,28 @@ export function getBrowser(): BrowserResult {
|
|
|
12
18
|
version: "unknown"
|
|
13
19
|
}
|
|
14
20
|
}
|
|
15
|
-
|
|
21
|
+
|
|
22
|
+
// Check for privacy browsers first (these mask their user agent)
|
|
23
|
+
const privacyBrowserStrategies: BrowserDetectionStrategy[] = [
|
|
24
|
+
{
|
|
25
|
+
name: 'Brave',
|
|
26
|
+
detect: () => !!(navigator as any).brave
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
for (const strategy of privacyBrowserStrategies) {
|
|
31
|
+
if (strategy.detect()) {
|
|
32
|
+
const result = parseBrowserFromUA(navigator.userAgent);
|
|
33
|
+
return { name: strategy.name, version: result.version };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Fall back to user agent parsing for standard browsers
|
|
38
|
+
return parseBrowserFromUA(navigator.userAgent);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Parse browser from user agent string
|
|
42
|
+
function parseBrowserFromUA(ua: string): BrowserResult {
|
|
16
43
|
// DeviceAtlas authoritative regex order and patterns
|
|
17
44
|
const regexes = [
|
|
18
45
|
// Samsung Internet (Android)
|
|
@@ -26,8 +53,6 @@ export function getBrowser(): BrowserResult {
|
|
|
26
53
|
/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,
|
|
27
54
|
// Vivaldi
|
|
28
55
|
/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,
|
|
29
|
-
// Brave (Brave/1.62.153)
|
|
30
|
-
/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,
|
|
31
56
|
// Chrome iOS (CriOS)
|
|
32
57
|
/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,
|
|
33
58
|
// Firefox iOS (FxiOS)
|
|
@@ -55,7 +80,6 @@ export function getBrowser(): BrowserResult {
|
|
|
55
80
|
'fxios': 'Firefox',
|
|
56
81
|
'samsung': 'SamsungBrowser',
|
|
57
82
|
'vivaldi': 'Vivaldi',
|
|
58
|
-
'brave': 'Brave',
|
|
59
83
|
};
|
|
60
84
|
|
|
61
85
|
for (const regex of regexes) {
|
package/src/functions/api.ts
CHANGED
|
@@ -139,14 +139,8 @@ export const getApiPromise = (
|
|
|
139
139
|
return data;
|
|
140
140
|
})
|
|
141
141
|
.catch(error => {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
// For 403 errors, propagate the error instead of returning null
|
|
145
|
-
if (error.message === 'INVALID_API_KEY') {
|
|
146
|
-
throw error;
|
|
147
|
-
}
|
|
148
|
-
// Return null instead of a string to prevent downstream crashes
|
|
149
|
-
return null;
|
|
142
|
+
currentApiPromise = null; // Clear the in-flight promise on error
|
|
143
|
+
throw error; // Propagate all errors to caller
|
|
150
144
|
});
|
|
151
145
|
|
|
152
146
|
// Timeout logic
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { componentInterface } from '../factory'
|
|
2
2
|
import { filterThumbmarkData } from './filterComponents'
|
|
3
|
-
import { resolveClientComponents } from '.';
|
|
3
|
+
import { resolveClientComponents, getThumbmark } from '.';
|
|
4
4
|
import { defaultOptions } from '../options';
|
|
5
5
|
|
|
6
6
|
const test_components: componentInterface = {
|
|
@@ -46,7 +46,7 @@ describe('resolveClientComponents runtime stability', () => {
|
|
|
46
46
|
unstable: async () => Promise.reject(new Error('component failed')),
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
const { resolvedComponents, elapsed } = await resolveClientComponents(components, {
|
|
49
|
+
const { resolvedComponents, elapsed, errors } = await resolveClientComponents(components, {
|
|
50
50
|
...defaultOptions,
|
|
51
51
|
stabilize: [],
|
|
52
52
|
});
|
|
@@ -55,5 +55,88 @@ describe('resolveClientComponents runtime stability', () => {
|
|
|
55
55
|
expect(resolvedComponents.unstable).toEqual({ timeout: 'true' });
|
|
56
56
|
expect(elapsed.stable).toBeGreaterThanOrEqual(0);
|
|
57
57
|
expect(elapsed.unstable).toBeGreaterThanOrEqual(0);
|
|
58
|
+
expect(errors).toEqual([
|
|
59
|
+
{ type: 'component_error', message: 'component failed', component: 'unstable' }
|
|
60
|
+
]);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test('reports component timeout in errors', async () => {
|
|
64
|
+
const components = {
|
|
65
|
+
fast: async () => ({ value: 'ok' } as componentInterface),
|
|
66
|
+
slow: () => new Promise<componentInterface>(() => {}),
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const { resolvedComponents, errors } = await resolveClientComponents(components, {
|
|
70
|
+
...defaultOptions,
|
|
71
|
+
timeout: 10,
|
|
72
|
+
stabilize: [],
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
expect(resolvedComponents.fast).toEqual({ value: 'ok' });
|
|
76
|
+
expect(errors).toEqual([
|
|
77
|
+
{ type: 'component_timeout', message: "Component 'slow' timed out", component: 'slow' }
|
|
78
|
+
]);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
test('returns empty errors when all components succeed', async () => {
|
|
82
|
+
const components = {
|
|
83
|
+
a: async () => ({ value: '1' } as componentInterface),
|
|
84
|
+
b: async () => ({ value: '2' } as componentInterface),
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const { errors } = await resolveClientComponents(components, {
|
|
88
|
+
...defaultOptions,
|
|
89
|
+
stabilize: [],
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
expect(errors).toEqual([]);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
describe('getThumbmark error reporting', () => {
|
|
97
|
+
test('returns api_unauthorized error for 403 response', async () => {
|
|
98
|
+
const originalFetch = global.fetch;
|
|
99
|
+
global.fetch = jest.fn().mockResolvedValue({
|
|
100
|
+
ok: false,
|
|
101
|
+
status: 403,
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
const result = await getThumbmark({
|
|
105
|
+
...defaultOptions,
|
|
106
|
+
api_key: 'fake-invalid-key',
|
|
107
|
+
cache_api_call: false,
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
expect(result.error).toEqual([
|
|
111
|
+
{ type: 'api_unauthorized', message: 'Invalid API key or quota exceeded' }
|
|
112
|
+
]);
|
|
113
|
+
expect(result.thumbmark).toBe('');
|
|
114
|
+
|
|
115
|
+
global.fetch = originalFetch;
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
test('returns api_error for 5xx response', async () => {
|
|
119
|
+
const originalFetch = global.fetch;
|
|
120
|
+
global.fetch = jest.fn().mockResolvedValue({
|
|
121
|
+
ok: false,
|
|
122
|
+
status: 500,
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const result = await getThumbmark({
|
|
126
|
+
...defaultOptions,
|
|
127
|
+
api_key: 'some-key',
|
|
128
|
+
cache_api_call: false,
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
expect(result.error).toEqual(
|
|
132
|
+
expect.arrayContaining([
|
|
133
|
+
expect.objectContaining({ type: 'api_error', message: 'HTTP error! status: 500' })
|
|
134
|
+
])
|
|
135
|
+
);
|
|
136
|
+
// Should still return a fingerprint (graceful degradation)
|
|
137
|
+
expect(result.thumbmark).toBeDefined();
|
|
138
|
+
expect(result.thumbmark.length).toBeGreaterThan(0);
|
|
139
|
+
|
|
140
|
+
global.fetch = originalFetch;
|
|
58
141
|
});
|
|
59
142
|
});
|