Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.9.2 #259

Merged
merged 11 commits into from
Oct 19, 2023
4 changes: 4 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
1.9.2 (October 19, 2023)
- Updated client module to support the Split Suite.
- Updated some transitive dependencies for vulnerability fixes.

1.9.1 (September 21, 2023)
- Updated browser listener to avoid registering a handler for 'unload' DOM events, that can prevent browsers from being able to put pages in the back/forward cache for faster back and forward loads (Related to issue https://github.com/splitio/javascript-client/issues/759).

Expand Down
218 changes: 110 additions & 108 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@splitsoftware/splitio-commons",
"version": "1.9.1",
"version": "1.9.2",
"description": "Split Javascript SDK common components",
"main": "cjs/index.js",
"module": "esm/index.js",
Expand Down
2 changes: 1 addition & 1 deletion src/logger/messages/info.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as c from '../constants';
import { codesWarn } from './warn';

const READY_MSG = 'Split SDK is ready';
const READY_MSG = 'Split SDK client is ready';

export const codesInfo: [number, string][] = codesWarn.concat([
// client status
Expand Down
5 changes: 4 additions & 1 deletion src/sdkClient/clientCS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ export function clientCSDecorator(log: ILogger, client: SplitIO.IClient, key: Sp
// Key is bound to the `track` method. Same thing happens with trafficType but only if provided
track: trafficType ? clientCS.track.bind(clientCS, key, trafficType) : clientCS.track.bind(clientCS, key),

isClientSide: true
// Not part of the public API. These properties are used to support other modules (e.g., Split Suite)
isClientSide: true,
key,
trafficType
}) as SplitIO.ICsClient;
}
4 changes: 2 additions & 2 deletions src/sdkClient/sdkClientMethodCS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ function buildInstanceId(key: SplitIO.SplitKey) {
const method = 'Client instantiation';

/**
* Factory of client method for the client-side API variant where TT is ignored and thus
* clients don't have a binded TT for the track method.
* Factory of client method for the client-side API variant where TT is ignored.
* Therefore, clients don't have a bound TT for the track method.
*/
export function sdkClientMethodCSFactory(params: ISdkFactoryContext): (key?: SplitIO.SplitKey) => SplitIO.ICsClient {
const { storage, syncManager, sdkReadinessManager, settings: { core: { key }, startup: { readyTimeout }, log } } = params;
Expand Down
2 changes: 1 addition & 1 deletion src/sdkClient/sdkClientMethodCSWithTT.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const method = 'Client instantiation';

/**
* Factory of client method for the client-side (browser) variant of the Isomorphic JS SDK,
* where clients can have a binded TT for the track method, which is provided via the settings
* where clients can have a bound TT for the track method, which is provided via the settings
* (default client) or the client method (shared clients).
*/
export function sdkClientMethodCSFactory(params: ISdkFactoryContext): (key?: SplitIO.SplitKey, trafficType?: string) => SplitIO.ICsClient {
Expand Down
1 change: 1 addition & 0 deletions src/storages/AbstractSegmentsCacheSync.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ export abstract class AbstractSegmentsCacheSync implements ISegmentsCacheSync {

/**
* Only used for the `skC`(segment keys count) telemetry stat: 1 for client-side, and total count of keys in server-side.
* @TODO for client-side it should be the number of clients, but it requires a refactor of MySegments caches to simplify the code.
*/
abstract getKeysCount(): number

Expand Down
2 changes: 1 addition & 1 deletion src/utils/settingsValidation/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ export function settingsValidation(config: unknown, validationParams: ISettingsV
withDefaults.core.key = 'localhost_key';
} else {
// Keeping same behaviour than JS SDK: if settings key or TT are invalid,
// `false` value is used as binded key/TT of the default client, which leads to some issues.
// `false` value is used as bound key/TT of the default client, which leads to some issues.
// @ts-ignore, @TODO handle invalid keys as a non-recoverable error?
withDefaults.core.key = validateKey(log, maybeKey, 'Client instantiation');
}
Expand Down
Loading