You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@datadog/browser-core

Package Overview
Dependencies
Maintainers
1
Versions
293
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@datadog/browser-core - npm Package Compare versions

Comparing version

to
6.12.1

cjs/domain/contexts/userContext.d.ts

2

cjs/boot/init.js

@@ -10,3 +10,3 @@ "use strict";

const publicApi = {
version: "6.12.0",
version: "6.12.1",
// This API method is intentionally not monitored, since the only thing executed is the

@@ -13,0 +13,0 @@ // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and

@@ -59,3 +59,3 @@ "use strict";

function buildEndpointParameters({ clientToken, internalAnalyticsSubdomain }, trackType, configurationTags, api, { retry, encoding }) {
const tags = [`sdk_version:${"6.12.0"}`, `api:${api}`].concat(configurationTags);
const tags = [`sdk_version:${"6.12.1"}`, `api:${api}`].concat(configurationTags);
if (retry) {

@@ -68,3 +68,3 @@ tags.push(`retry_count:${retry.count}`, `retry_after:${retry.lastFailureStatus}`);

`dd-api-key=${clientToken}`,
`dd-evp-origin-version=${encodeURIComponent("6.12.0")}`,
`dd-evp-origin-version=${encodeURIComponent("6.12.1")}`,
'dd-evp-origin=browser',

@@ -71,0 +71,0 @@ `dd-request-id=${(0, stringUtils_1.generateUUID)()}`,

import type { Configuration } from '../configuration';
import type { AbstractHooks } from '../../tools/abstractHooks';
export interface Account {
id: string;
name?: string | undefined;
[key: string]: unknown;
}
export declare function startAccountContext(hooks: AbstractHooks, configuration: Configuration, productKey: string): {

@@ -4,0 +9,0 @@ getContext: () => import("../..").Context;

@@ -9,3 +9,5 @@ import type { SessionStoreStrategy } from './storeStrategies/sessionStoreStrategy';

export declare const LOCK_MAX_TRIES = 100;
export declare const LOCK_EXPIRATION_DELAY = 1000;
export declare function processSessionStoreOperations(operations: Operations, sessionStoreStrategy: SessionStoreStrategy, numberOfRetries?: number): void;
export declare function createLock(): string;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LOCK_MAX_TRIES = exports.LOCK_RETRY_DELAY = void 0;
exports.LOCK_EXPIRATION_DELAY = exports.LOCK_MAX_TRIES = exports.LOCK_RETRY_DELAY = void 0;
exports.processSessionStoreOperations = processSessionStoreOperations;
exports.createLock = createLock;
const timer_1 = require("../../tools/timer");
const stringUtils_1 = require("../../tools/utils/stringUtils");
const timeUtils_1 = require("../../tools/utils/timeUtils");
const telemetry_1 = require("../telemetry");

@@ -11,2 +13,6 @@ const sessionState_1 = require("./sessionState");

exports.LOCK_MAX_TRIES = 100;
// Locks should be hold for a few milliseconds top, just the time it takes to read and write a
// cookie. Using one second should be enough in most situations.
exports.LOCK_EXPIRATION_DELAY = timeUtils_1.ONE_SECOND;
const LOCK_SEPARATOR = '--';
const bufferedOperations = [];

@@ -19,10 +25,6 @@ let ongoingOperations;

const retrieveStore = () => {
const session = sessionStoreStrategy.retrieveSession();
const lock = session.lock;
if (session.lock) {
delete session.lock;
}
const { lock, ...session } = sessionStoreStrategy.retrieveSession();
return {
session,
lock,
lock: lock && !isLockExpired(lock) ? lock : undefined,
};

@@ -53,3 +55,3 @@ };

// acquire lock
currentLock = (0, stringUtils_1.generateUUID)();
currentLock = createLock();
persistWithLock(currentStore.session);

@@ -117,2 +119,9 @@ // if lock is not acquired, retry later

}
function createLock() {
return (0, stringUtils_1.generateUUID)() + LOCK_SEPARATOR + (0, timeUtils_1.timeStampNow)();
}
function isLockExpired(lock) {
const [, timeStamp] = lock.split(LOCK_SEPARATOR);
return !timeStamp || (0, timeUtils_1.elapsed)(Number(timeStamp), (0, timeUtils_1.timeStampNow)()) > exports.LOCK_EXPIRATION_DELAY;
}
//# sourceMappingURL=sessionStoreOperations.js.map

@@ -88,3 +88,3 @@ "use strict";

service: telemetryService,
version: "6.12.0",
version: "6.12.1",
source: 'browser',

@@ -91,0 +91,0 @@ _dd: {

@@ -67,2 +67,5 @@ export type { Configuration, InitConfiguration, EndpointBuilder } from './domain/configuration';

export { startGlobalContext, buildGlobalContextManager } from './domain/contexts/globalContext';
export { startUserContext, buildUserContextManager } from './domain/contexts/userContext';
export type { User } from './domain/contexts/userContext';
export type { Account } from './domain/contexts/accountContext';
export { CustomerDataType, CustomerContextKey, ContextManagerMethod } from './domain/context/contextConstants';

@@ -76,4 +79,2 @@ export type { ValueHistory, ValueHistoryEntry } from './tools/valueHistory';

export { willSyntheticsInjectRum, getSyntheticsTestId, getSyntheticsResultId, isSyntheticsTest, } from './domain/synthetics/syntheticsWorkerValues';
export type { User } from './domain/user.types';
export type { Account } from './domain/account.types';
export { checkContext } from './domain/context/contextUtils';

@@ -80,0 +81,0 @@ export * from './domain/resourceUtils';

@@ -18,3 +18,3 @@ "use strict";

exports.sendToExtension = exports.AbstractLifeCycle = exports.createIdentityEncoder = exports.createFlushController = exports.startBatchWithReplica = exports.bridgeSupports = exports.getEventBridge = exports.canUseEventBridge = exports.createHttpRequest = exports.SessionPersistence = exports.SESSION_NOT_TRACKED = exports.SESSION_TIME_OUT_DELAY = exports.stopSessionManager = exports.startSessionManager = exports.Observable = exports.monitorError = exports.setDebugMode = exports.callMonitored = exports.monitor = exports.monitored = exports.addTelemetryUsage = exports.addTelemetryConfiguration = exports.isTelemetryReplicationAllowed = exports.resetTelemetry = exports.startFakeTelemetry = exports.addTelemetryError = exports.addTelemetryDebug = exports.startTelemetry = exports.RawReportType = exports.initReportObservable = exports.displayAlreadyInitializedError = exports.makePublicApi = exports.defineGlobal = exports.computeStackTrace = exports.trackRuntimeError = exports.ExperimentalFeature = exports.initFeatureFlags = exports.getExperimentalFeatures = exports.resetExperimentalFeatures = exports.addExperimentalFeatures = exports.isExperimentalFeatureEnabled = exports.createTrackingConsentState = exports.TrackingConsent = exports.isIntakeUrl = exports.buildEndpointHost = exports.isSampleRate = exports.serializeConfiguration = exports.TraceContextInjection = exports.DefaultPrivacyLevel = exports.validateAndBuildConfiguration = void 0;
exports.ErrorSource = exports.checkContext = exports.isSyntheticsTest = exports.getSyntheticsResultId = exports.getSyntheticsTestId = exports.willSyntheticsInjectRum = exports.SESSION_STORE_KEY = exports.STORAGE_POLL_DELAY = exports.readBytesFromStream = exports.CLEAR_OLD_VALUES_INTERVAL = exports.createValueHistory = exports.ContextManagerMethod = exports.CustomerContextKey = exports.buildGlobalContextManager = exports.startGlobalContext = exports.buildAccountContextManager = exports.startAccountContext = exports.removeStorageListeners = exports.storeContextManager = exports.bufferContextCalls = exports.defineContextMethod = exports.createContextManager = exports.catchUserErrors = exports.createBoundedBuffer = exports.resetConsoleObservable = exports.initConsoleObservable = exports.isPageExitReason = exports.PageExitReason = exports.createPageMayExitObservable = exports.resetFetchObservable = exports.initFetchObservable = exports.initXhrObservable = exports.resetInitCookies = exports.deleteCookie = exports.setCookie = exports.getInitCookie = exports.getCookie = exports.areCookiesAuthorized = exports.NO_ERROR_STACK_PRESENT_MESSAGE = exports.isError = exports.getFileFromStackTraceString = exports.computeRawError = exports.instrumentSetter = exports.instrumentMethod = exports.getZoneJsOriginalValue = exports.asyncRunOnReadyState = exports.runOnReadyState = void 0;
exports.ErrorSource = exports.checkContext = exports.isSyntheticsTest = exports.getSyntheticsResultId = exports.getSyntheticsTestId = exports.willSyntheticsInjectRum = exports.SESSION_STORE_KEY = exports.STORAGE_POLL_DELAY = exports.readBytesFromStream = exports.CLEAR_OLD_VALUES_INTERVAL = exports.createValueHistory = exports.ContextManagerMethod = exports.CustomerContextKey = exports.buildUserContextManager = exports.startUserContext = exports.buildGlobalContextManager = exports.startGlobalContext = exports.buildAccountContextManager = exports.startAccountContext = exports.removeStorageListeners = exports.storeContextManager = exports.bufferContextCalls = exports.defineContextMethod = exports.createContextManager = exports.catchUserErrors = exports.createBoundedBuffer = exports.resetConsoleObservable = exports.initConsoleObservable = exports.isPageExitReason = exports.PageExitReason = exports.createPageMayExitObservable = exports.resetFetchObservable = exports.initFetchObservable = exports.initXhrObservable = exports.resetInitCookies = exports.deleteCookie = exports.setCookie = exports.getInitCookie = exports.getCookie = exports.areCookiesAuthorized = exports.NO_ERROR_STACK_PRESENT_MESSAGE = exports.isError = exports.getFileFromStackTraceString = exports.computeRawError = exports.instrumentSetter = exports.instrumentMethod = exports.getZoneJsOriginalValue = exports.asyncRunOnReadyState = exports.runOnReadyState = void 0;
var configuration_1 = require("./domain/configuration");

@@ -151,2 +151,5 @@ Object.defineProperty(exports, "validateAndBuildConfiguration", { enumerable: true, get: function () { return configuration_1.validateAndBuildConfiguration; } });

Object.defineProperty(exports, "buildGlobalContextManager", { enumerable: true, get: function () { return globalContext_1.buildGlobalContextManager; } });
var userContext_1 = require("./domain/contexts/userContext");
Object.defineProperty(exports, "startUserContext", { enumerable: true, get: function () { return userContext_1.startUserContext; } });
Object.defineProperty(exports, "buildUserContextManager", { enumerable: true, get: function () { return userContext_1.buildUserContextManager; } });
var contextConstants_1 = require("./domain/context/contextConstants");

@@ -153,0 +156,0 @@ Object.defineProperty(exports, "CustomerContextKey", { enumerable: true, get: function () { return contextConstants_1.CustomerContextKey; } });

@@ -6,3 +6,3 @@ import { catchUserErrors } from '../tools/catchUserErrors';

const publicApi = {
version: "6.12.0",
version: "6.12.1",
// This API method is intentionally not monitored, since the only thing executed is the

@@ -9,0 +9,0 @@ // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and

@@ -55,3 +55,3 @@ import { timeStampNow } from '../../tools/utils/timeUtils';

function buildEndpointParameters({ clientToken, internalAnalyticsSubdomain }, trackType, configurationTags, api, { retry, encoding }) {
const tags = [`sdk_version:${"6.12.0"}`, `api:${api}`].concat(configurationTags);
const tags = [`sdk_version:${"6.12.1"}`, `api:${api}`].concat(configurationTags);
if (retry) {

@@ -64,3 +64,3 @@ tags.push(`retry_count:${retry.count}`, `retry_after:${retry.lastFailureStatus}`);

`dd-api-key=${clientToken}`,
`dd-evp-origin-version=${encodeURIComponent("6.12.0")}`,
`dd-evp-origin-version=${encodeURIComponent("6.12.1")}`,
'dd-evp-origin=browser',

@@ -67,0 +67,0 @@ `dd-request-id=${generateUUID()}`,

import type { Configuration } from '../configuration';
import type { AbstractHooks } from '../../tools/abstractHooks';
export interface Account {
id: string;
name?: string | undefined;
[key: string]: unknown;
}
export declare function startAccountContext(hooks: AbstractHooks, configuration: Configuration, productKey: string): {

@@ -4,0 +9,0 @@ getContext: () => import("../..").Context;

@@ -9,3 +9,5 @@ import type { SessionStoreStrategy } from './storeStrategies/sessionStoreStrategy';

export declare const LOCK_MAX_TRIES = 100;
export declare const LOCK_EXPIRATION_DELAY = 1000;
export declare function processSessionStoreOperations(operations: Operations, sessionStoreStrategy: SessionStoreStrategy, numberOfRetries?: number): void;
export declare function createLock(): string;
export {};
import { setTimeout } from '../../tools/timer';
import { generateUUID } from '../../tools/utils/stringUtils';
import { elapsed, ONE_SECOND, timeStampNow } from '../../tools/utils/timeUtils';
import { addTelemetryDebug } from '../telemetry';

@@ -7,2 +8,6 @@ import { expandSessionState, isSessionInExpiredState } from './sessionState';

export const LOCK_MAX_TRIES = 100;
// Locks should be hold for a few milliseconds top, just the time it takes to read and write a
// cookie. Using one second should be enough in most situations.
export const LOCK_EXPIRATION_DELAY = ONE_SECOND;
const LOCK_SEPARATOR = '--';
const bufferedOperations = [];

@@ -15,10 +20,6 @@ let ongoingOperations;

const retrieveStore = () => {
const session = sessionStoreStrategy.retrieveSession();
const lock = session.lock;
if (session.lock) {
delete session.lock;
}
const { lock, ...session } = sessionStoreStrategy.retrieveSession();
return {
session,
lock,
lock: lock && !isLockExpired(lock) ? lock : undefined,
};

@@ -49,3 +50,3 @@ };

// acquire lock
currentLock = generateUUID();
currentLock = createLock();
persistWithLock(currentStore.session);

@@ -113,2 +114,9 @@ // if lock is not acquired, retry later

}
export function createLock() {
return generateUUID() + LOCK_SEPARATOR + timeStampNow();
}
function isLockExpired(lock) {
const [, timeStamp] = lock.split(LOCK_SEPARATOR);
return !timeStamp || elapsed(Number(timeStamp), timeStampNow()) > LOCK_EXPIRATION_DELAY;
}
//# sourceMappingURL=sessionStoreOperations.js.map

@@ -75,3 +75,3 @@ import { ConsoleApiName } from '../../tools/display';

service: telemetryService,
version: "6.12.0",
version: "6.12.1",
source: 'browser',

@@ -78,0 +78,0 @@ _dd: {

@@ -67,2 +67,5 @@ export type { Configuration, InitConfiguration, EndpointBuilder } from './domain/configuration';

export { startGlobalContext, buildGlobalContextManager } from './domain/contexts/globalContext';
export { startUserContext, buildUserContextManager } from './domain/contexts/userContext';
export type { User } from './domain/contexts/userContext';
export type { Account } from './domain/contexts/accountContext';
export { CustomerDataType, CustomerContextKey, ContextManagerMethod } from './domain/context/contextConstants';

@@ -76,4 +79,2 @@ export type { ValueHistory, ValueHistoryEntry } from './tools/valueHistory';

export { willSyntheticsInjectRum, getSyntheticsTestId, getSyntheticsResultId, isSyntheticsTest, } from './domain/synthetics/syntheticsWorkerValues';
export type { User } from './domain/user.types';
export type { Account } from './domain/account.types';
export { checkContext } from './domain/context/contextUtils';

@@ -80,0 +81,0 @@ export * from './domain/resourceUtils';

@@ -48,2 +48,3 @@ export { validateAndBuildConfiguration, DefaultPrivacyLevel, TraceContextInjection, serializeConfiguration, isSampleRate, buildEndpointHost, isIntakeUrl, } from './domain/configuration';

export { startGlobalContext, buildGlobalContextManager } from './domain/contexts/globalContext';
export { startUserContext, buildUserContextManager } from './domain/contexts/userContext';
export { CustomerContextKey, ContextManagerMethod } from './domain/context/contextConstants';

@@ -50,0 +51,0 @@ export { createValueHistory, CLEAR_OLD_VALUES_INTERVAL } from './tools/valueHistory';

{
"name": "@datadog/browser-core",
"version": "6.12.0",
"version": "6.12.1",
"license": "Apache-2.0",

@@ -27,3 +27,3 @@ "main": "cjs/index.js",

},
"gitHead": "21b947edfd67e153dd7652105f7392092aaffb64"
"gitHead": "71e779ed195d69df2fa38f404ad2b9d78fe79a32"
}

@@ -6,6 +6,11 @@ import type { Configuration } from '../configuration'

import type { AbstractHooks } from '../../tools/abstractHooks'
import type { Account } from '../account.types'
import { isEmptyObject } from '../../tools/utils/objectUtils'
import { createContextManager } from '../context/contextManager'
export interface Account {
id: string
name?: string | undefined
[key: string]: unknown
}
export function startAccountContext(hooks: AbstractHooks, configuration: Configuration, productKey: string) {

@@ -12,0 +17,0 @@ const accountContextManager = buildAccountContextManager()

import { setTimeout } from '../../tools/timer'
import { generateUUID } from '../../tools/utils/stringUtils'
import type { TimeStamp } from '../../tools/utils/timeUtils'
import { elapsed, ONE_SECOND, timeStampNow } from '../../tools/utils/timeUtils'
import { addTelemetryDebug } from '../telemetry'

@@ -15,2 +17,8 @@ import type { SessionStoreStrategy } from './storeStrategies/sessionStoreStrategy'

export const LOCK_MAX_TRIES = 100
// Locks should be hold for a few milliseconds top, just the time it takes to read and write a
// cookie. Using one second should be enough in most situations.
export const LOCK_EXPIRATION_DELAY = ONE_SECOND
const LOCK_SEPARATOR = '--'
const bufferedOperations: Operations[] = []

@@ -27,12 +35,6 @@ let ongoingOperations: Operations | undefined

const retrieveStore = () => {
const session = sessionStoreStrategy.retrieveSession()
const lock = session.lock
if (session.lock) {
delete session.lock
}
const { lock, ...session } = sessionStoreStrategy.retrieveSession()
return {
session,
lock,
lock: lock && !isLockExpired(lock) ? lock : undefined,
}

@@ -64,3 +66,3 @@ }

// acquire lock
currentLock = generateUUID()
currentLock = createLock()
persistWithLock(currentStore.session)

@@ -128,1 +130,10 @@ // if lock is not acquired, retry later

}
export function createLock(): string {
return generateUUID() + LOCK_SEPARATOR + timeStampNow()
}
function isLockExpired(lock: string) {
const [, timeStamp] = lock.split(LOCK_SEPARATOR)
return !timeStamp || elapsed(Number(timeStamp) as TimeStamp, timeStampNow()) > LOCK_EXPIRATION_DELAY
}

@@ -126,2 +126,5 @@ export type { Configuration, InitConfiguration, EndpointBuilder } from './domain/configuration'

export { startGlobalContext, buildGlobalContextManager } from './domain/contexts/globalContext'
export { startUserContext, buildUserContextManager } from './domain/contexts/userContext'
export type { User } from './domain/contexts/userContext'
export type { Account } from './domain/contexts/accountContext'
export { CustomerDataType, CustomerContextKey, ContextManagerMethod } from './domain/context/contextConstants'

@@ -140,4 +143,2 @@ export type { ValueHistory, ValueHistoryEntry } from './tools/valueHistory'

} from './domain/synthetics/syntheticsWorkerValues'
export type { User } from './domain/user.types'
export type { Account } from './domain/account.types'
export { checkContext } from './domain/context/contextUtils'

@@ -144,0 +145,0 @@ export * from './domain/resourceUtils'

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet