-
Notifications
You must be signed in to change notification settings - Fork 31
fix(node-server-sdk): No FDv1 fallback when using custom datasystem #1088
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
Conversation
|
@launchdarkly/js-sdk-common size report |
|
@launchdarkly/browser size report |
|
@launchdarkly/js-client-sdk-common size report |
|
@launchdarkly/js-client-sdk size report |
| cf.stream = false; | ||
| cf.baseUri = dataSourcePollingOptions.baseUri; | ||
| cf.pollInterval = maybeTime(dataSourcePollingOptions.pollIntervalMs); | ||
| const dataSourceOptions: DataSourceOptions = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
converting the datasystem to only use custom which allows us to ingest a more free form array of initializers/synchronizers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we not have a fallback synchronizer to configure somewhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, later.
| ); | ||
| } | ||
|
|
||
| // This is short term handling and will be removed once FDv2 adoption is sufficient. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is moving it out of the top conditional:
if (isCustomOptions(dataSystem.dataSource)) {...} else {...}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, do we not allow you to configure it? I guess we may want to see if we standardize. We allow configuration of the fallback in java/dotnet. In case it needs different endpoints, or need to be streaming or something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Created a task to track this. In general we don't have a way to customize uris for different synchronizer/initializer/fallback
| cp ./contract-tests/testharness-suppressions-fdv2.txt /tmp/sdk-test-harness/testharness-suppressions-fdv2.txt | ||
| cd /tmp/sdk-test-harness | ||
| git checkout de833af990da23a89b66c5366809b5be8c27e3f8 | ||
| git checkout feat/fdv2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we could use the downloader script to download the v3 version instead. But I am fine with this as well.
| polling/requests/URL path is computed correctly/environment_filter_key="encoding_not_necessary"/base URI has a trailing slash/GET | ||
|
|
||
| streaming/fdv2/reconnection state management/initializes from polling initializer | ||
| streaming/fdv2/reconnection state management/initializes from 2 polling initializers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove any of these other suppressions with the updated config?
🤖 I have created a release *beep* *boop* --- <details><summary>akamai-edgeworker-sdk-common: 2.0.13</summary> ## [2.0.13](akamai-edgeworker-sdk-common-v2.0.12...akamai-edgeworker-sdk-common-v2.0.13) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/js-server-sdk-common bumped from ^2.17.1 to ^2.17.2 </details> <details><summary>akamai-server-base-sdk: 3.0.14</summary> ## [3.0.14](akamai-server-base-sdk-v3.0.13...akamai-server-base-sdk-v3.0.14) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/akamai-edgeworker-sdk-common bumped from ^2.0.12 to ^2.0.13 * @launchdarkly/js-server-sdk-common bumped from ^2.17.1 to ^2.17.2 </details> <details><summary>akamai-server-edgekv-sdk: 1.4.16</summary> ## [1.4.16](akamai-server-edgekv-sdk-v1.4.15...akamai-server-edgekv-sdk-v1.4.16) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/akamai-edgeworker-sdk-common bumped from ^2.0.12 to ^2.0.13 * @launchdarkly/js-server-sdk-common bumped from ^2.17.1 to ^2.17.2 </details> <details><summary>cloudflare-server-sdk: 2.7.13</summary> ## [2.7.13](cloudflare-server-sdk-v2.7.12...cloudflare-server-sdk-v2.7.13) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/js-server-sdk-common-edge bumped from 2.6.11 to 2.6.12 </details> <details><summary>fastly-server-sdk: 0.2.5</summary> ## [0.2.5](fastly-server-sdk-v0.2.4...fastly-server-sdk-v0.2.5) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/js-server-sdk-common bumped from 2.17.1 to 2.17.2 </details> <details><summary>jest: 1.0.0</summary> ## [1.0.0](jest-v0.2.2...jest-v1.0.0) (2026-02-03) ### ⚠ BREAKING CHANGES * updating to major version 1 ([#1089](#1089)) ### Bug Fixes * updating to major version 1 ([#1089](#1089)) ([4c194d8](4c194d8)) </details> <details><summary>js-server-sdk-common: 2.17.2</summary> ## [2.17.2](js-server-sdk-common-v2.17.1...js-server-sdk-common-v2.17.2) (2026-02-03) ### Bug Fixes * **node-server-sdk:** No FDv1 fallback when using custom datasystem ([#1088](#1088)) ([5111112](5111112)) </details> <details><summary>js-server-sdk-common-edge: 2.6.12</summary> ## [2.6.12](js-server-sdk-common-edge-v2.6.11...js-server-sdk-common-edge-v2.6.12) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/js-server-sdk-common bumped from 2.17.1 to 2.17.2 </details> <details><summary>node-server-sdk: 9.10.6</summary> ## [9.10.6](node-server-sdk-v9.10.5...node-server-sdk-v9.10.6) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/js-server-sdk-common bumped from 2.17.1 to 2.17.2 </details> <details><summary>node-server-sdk-dynamodb: 6.2.18</summary> ## [6.2.18](node-server-sdk-dynamodb-v6.2.17...node-server-sdk-dynamodb-v6.2.18) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * devDependencies * @launchdarkly/node-server-sdk bumped from 9.10.5 to 9.10.6 * peerDependencies * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.10.6 </details> <details><summary>node-server-sdk-otel: 1.3.6</summary> ## [1.3.6](node-server-sdk-otel-v1.3.5...node-server-sdk-otel-v1.3.6) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * devDependencies * @launchdarkly/node-server-sdk bumped from 9.10.5 to 9.10.6 * peerDependencies * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.10.6 </details> <details><summary>node-server-sdk-redis: 4.2.18</summary> ## [4.2.18](node-server-sdk-redis-v4.2.17...node-server-sdk-redis-v4.2.18) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * devDependencies * @launchdarkly/node-server-sdk bumped from 9.10.5 to 9.10.6 * peerDependencies * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.10.6 </details> <details><summary>server-sdk-ai: 0.16.1</summary> ## [0.16.1](server-sdk-ai-v0.16.0...server-sdk-ai-v0.16.1) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * devDependencies * @launchdarkly/js-server-sdk-common bumped from 2.17.1 to 2.17.2 * peerDependencies * @launchdarkly/js-server-sdk-common bumped from 2.x to 2.17.2 </details> <details><summary>server-sdk-ai-langchain: 0.4.4</summary> ## [0.4.4](server-sdk-ai-langchain-v0.4.3...server-sdk-ai-langchain-v0.4.4) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * devDependencies * @launchdarkly/server-sdk-ai bumped from ^0.16.0 to ^0.16.1 * peerDependencies * @launchdarkly/server-sdk-ai bumped from ^0.15.0 to ^0.16.1 </details> <details><summary>server-sdk-ai-openai: 0.4.4</summary> ## [0.4.4](server-sdk-ai-openai-v0.4.3...server-sdk-ai-openai-v0.4.4) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * devDependencies * @launchdarkly/js-server-sdk-common bumped from 2.17.1 to 2.17.2 * @launchdarkly/server-sdk-ai bumped from ^0.16.0 to ^0.16.1 * peerDependencies * @launchdarkly/server-sdk-ai bumped from ^0.15.0 to ^0.16.1 </details> <details><summary>server-sdk-ai-vercel: 0.4.4</summary> ## [0.4.4](server-sdk-ai-vercel-v0.4.3...server-sdk-ai-vercel-v0.4.4) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * devDependencies * @launchdarkly/server-sdk-ai bumped from ^0.16.0 to ^0.16.1 * peerDependencies * @launchdarkly/server-sdk-ai bumped from ^0.15.0 to ^0.16.1 </details> <details><summary>shopify-oxygen-sdk: 0.1.3</summary> ## [0.1.3](shopify-oxygen-sdk-v0.1.2...shopify-oxygen-sdk-v0.1.3) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/js-server-sdk-common bumped from 2.17.1 to 2.17.2 </details> <details><summary>vercel-server-sdk: 1.3.38</summary> ## [1.3.38](vercel-server-sdk-v1.3.37...vercel-server-sdk-v1.3.38) (2026-02-03) ### Dependencies * The following workspace dependencies were updated * dependencies * @launchdarkly/js-server-sdk-common-edge bumped from 2.6.11 to 2.6.12 </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Mostly automated version/changelog updates, but it ships a bug-fix update to shared server SDK common code and includes a major-version bump of `@launchdarkly/jest`, which could affect downstream consumers. > > **Overview** > This PR is a release-please publish/update across the monorepo, updating `.release-please-manifest.json`, package versions, and changelogs for AI providers, edge/server SDKs, feature-store integrations, and tooling. > > Most changes are dependency/version propagation (including updating embedded `sdkVersion` constants in platform info) to pick up `@launchdarkly/js-server-sdk-common` `2.17.2` (noted bug fix: no FDv1 fallback with a custom datasystem) and `js-server-sdk-common-edge` `2.6.12`, plus bumps to `@launchdarkly/server-sdk-ai` `0.16.1` and downstream AI provider packages. > > Notable: `@launchdarkly/jest` is released as **v1.0.0** (*breaking change via major version bump*), with no code changes shown here beyond the version/changelog updates. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a09fa84. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Requirements
Related issues
SDK-1802
Describe the solution you've provided
Note
Medium Risk
Touches data-source initialization/fallback logic and contract-test configuration, which can affect how SDKs fetch flags in FDv2 and during fallback. Changes are localized but impact runtime connectivity behavior and test coverage expectations.
Overview
Fixes an FDv2 configuration gap so the FDv1 fallback polling synchronizer is always added to the composite data source, even when using a custom
dataSystemconfiguration.Updates the Node contract-test service config builder to accept the newer FDv2 shape (lists of
initializers/synchronizerswith per-itemstreaming/pollingconfigs) and emits the correspondingDataSourceOptions(PollingDataSourceConfiguration/StreamingDataSourceConfiguration). CI now runs the test harness directly fromfeat/fdv2, and one previously-suppressed initializer test is re-enabled by removing it fromtestharness-suppressions-fdv2.txt.Written by Cursor Bugbot for commit e7a2241. This will update automatically on new commits. Configure here.