Skip to content

Commit d1e962a

Browse files
committed
fixing issues discovered during bench testing
1 parent 46c972e commit d1e962a

File tree

6 files changed

+18
-11
lines changed

6 files changed

+18
-11
lines changed

packages/sdk/browser/src/BrowserClient.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ export class BrowserClient extends LDClientImpl implements LDClient {
141141
return `/sdk/evalx/${clientSideId}/context`;
142142
},
143143
pathPing(_encoding: Encoding, _plainContextString: string): string {
144-
return `/ping/${clientSideId}`;
144+
throw new Error('Ping for polling unsupported.');
145145
},
146146
}),
147147
() => ({
@@ -152,7 +152,7 @@ export class BrowserClient extends LDClientImpl implements LDClient {
152152
return `/eval/${clientSideId}`;
153153
},
154154
pathPing(_encoding: Encoding, _plainContextString: string): string {
155-
throw new Error('Ping for polling unsupported.'); // TODO: come back to think on this case more
155+
return `/ping/${clientSideId}`;
156156
},
157157
}),
158158
baseHeaders,

packages/sdk/browser/src/BrowserDataManager.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ export default class BrowserDataManager extends BaseDataManager {
106106
this.dataSourceStatusManager.requestStateUpdate(DataSourceState.Initializing);
107107

108108
const plainContextString = JSON.stringify(Context.toLDContext(context));
109-
const requestor = makeRequestor(
109+
const pollingRequestor = makeRequestor(
110110
plainContextString,
111111
this.config.serviceEndpoints,
112112
this.getPollingPaths(),
@@ -119,7 +119,7 @@ export default class BrowserDataManager extends BaseDataManager {
119119
this._secureModeHash,
120120
);
121121

122-
const payload = await requestor.requestPayload();
122+
const payload = await pollingRequestor.requestPayload();
123123
try {
124124
const listeners = this.createStreamListeners(context, identifyResolve);
125125
const putListener = listeners.get('put');
@@ -209,7 +209,7 @@ export default class BrowserDataManager extends BaseDataManager {
209209
this.updateProcessor?.close();
210210

211211
const plainContextString = JSON.stringify(Context.toLDContext(context));
212-
const requestor = makeRequestor(
212+
const pollingRequestor = makeRequestor(
213213
plainContextString,
214214
this.config.serviceEndpoints,
215215
this.getPollingPaths(), // note: this is the polling path because the requestor is only used to make polling requests.
@@ -222,7 +222,13 @@ export default class BrowserDataManager extends BaseDataManager {
222222
this._secureModeHash,
223223
);
224224

225-
this.createStreamingProcessor(rawContext, context, requestor, identifyResolve, identifyReject);
225+
this.createStreamingProcessor(
226+
rawContext,
227+
context,
228+
pollingRequestor,
229+
identifyResolve,
230+
identifyReject,
231+
);
226232

227233
this.updateProcessor!.start();
228234
}

packages/sdk/react-native/__tests__/MobileDataManager.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ describe('given a MobileDataManager with mocked dependencies', () => {
133133
return `/msdk/evalx/context`;
134134
},
135135
pathPing(_encoding: Encoding, _plainContextString: string): string {
136-
return `/mping`; // TODO: test this out
136+
throw new Error('Ping for polling unsupported.');
137137
},
138138
}),
139139
() => ({
@@ -144,7 +144,7 @@ describe('given a MobileDataManager with mocked dependencies', () => {
144144
return `/meval`;
145145
},
146146
pathPing(_encoding: Encoding, _plainContextString: string): string {
147-
throw new Error('Ping for polling unsupported.'); // TODO: come back to think on this case more
147+
return `/mping`;
148148
},
149149
}),
150150
baseHeaders,

packages/sdk/react-native/src/ReactNativeLDClient.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export default class ReactNativeLDClient extends LDClientImpl {
9090
return `/msdk/evalx/context`;
9191
},
9292
pathPing(_encoding: Encoding, _plainContextString: string): string {
93-
return `/mping`; // TODO: test this out
93+
throw new Error('Ping for polling unsupported.');
9494
},
9595
}),
9696
() => ({
@@ -101,7 +101,7 @@ export default class ReactNativeLDClient extends LDClientImpl {
101101
return `/meval`;
102102
},
103103
pathPing(_encoding: Encoding, _plainContextString: string): string {
104-
throw new Error('Ping for polling unsupported.'); // TODO: come back to think on this case more
104+
return `/mping`;
105105
},
106106
}),
107107
baseHeaders,

packages/shared/sdk-client/src/DataManager.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ export abstract class BaseDataManager implements DataManager {
124124
this._dataSourceEventHandler.handlePollingError(err);
125125
identifyReject?.(err);
126126
},
127+
this.logger,
127128
);
128129

129130
this.updateProcessor = this._decorateProcessorWithStatusReporting(
@@ -161,6 +162,7 @@ export abstract class BaseDataManager implements DataManager {
161162
this._dataSourceEventHandler.handleStreamingError(e);
162163
identifyReject?.(e);
163164
},
165+
this.logger,
164166
);
165167

166168
this.updateProcessor = this._decorateProcessorWithStatusReporting(

packages/shared/sdk-client/src/streaming/StreamingProcessor.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ class StreamingProcessor implements subsystem.LDStreamProcessor {
181181

182182
// here we set up a listener that will poll when ping is received
183183
eventSource.addEventListener('ping', async () => {
184-
this._pollingRequestor.requestPayload();
185184
this._logger?.debug('Got PING, going to poll LaunchDarkly for feature flag updates');
186185
try {
187186
const res = await this._pollingRequestor.requestPayload();

0 commit comments

Comments
 (0)