Skip to content

Conversation

@InTheCloudDan
Copy link
Contributor

Requirements

  • I have added test coverage for new or changed functionality
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions

Related issues

Provide links to any issues in this repository or elsewhere relating to this pull request.

Describe the solution you've provided

Provide a clear and concise description of what you expect to happen.

Describe alternatives you've considered

Provide a clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context about the pull request here.

kinyoklion and others added 30 commits September 3, 2024 14:12
This contains several conditions that appear to be illogical, but are
required by github actions. For some background this issue can be read:
actions/runner#491

`always()`:

Imagine two packages. Package "a" and package "b".

"b" depends on "a" and we want to automatically release "a" and "b"
using release please. We make "b" `needs` "a", so that "b" will build
after "a". But if we do that, then "b" will not build unless "a" also
builds. We often need to release "b" even though there are no changes to
"a".

By using `if: always()` we can cause "b" to run after "a" even when "a"
doesn't run.

`failure()` and `canceled()`.

With `always()` package "b" will be built and released even if package
"a" failed to build. You would expect that to only require `failure()`,
but it seems that it only works if you have `canceled()` as well. (It
may be we don't actually need failure.)

We want the build order to be like this.
![dep-order-2
drawio](https://github.com/user-attachments/assets/7d499cdb-1163-442b-aefa-7bac01ad560b)
🤖 I have created a release *beep* *boop*
---


<details><summary>akamai-edgeworker-sdk-common: 1.1.14</summary>

##
[1.1.14](akamai-edgeworker-sdk-common-v1.1.13...akamai-edgeworker-sdk-common-v1.1.14)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from ^2.5.0 to ^2.6.0
</details>

<details><summary>akamai-server-base-sdk: 2.1.14</summary>

##
[2.1.14](akamai-server-base-sdk-v2.1.13...akamai-server-base-sdk-v2.1.14)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.1.13 to
^1.1.14
    * @launchdarkly/js-server-sdk-common bumped from ^2.5.0 to ^2.6.0
</details>

<details><summary>akamai-server-edgekv-sdk: 1.1.14</summary>

##
[1.1.14](akamai-server-edgekv-sdk-v1.1.13...akamai-server-edgekv-sdk-v1.1.14)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.1.13 to
^1.1.14
    * @launchdarkly/js-server-sdk-common bumped from ^2.5.0 to ^2.6.0
</details>

<details><summary>cloudflare-server-sdk: 2.5.12</summary>

##
[2.5.12](cloudflare-server-sdk-v2.5.11...cloudflare-server-sdk-v2.5.12)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.3.7 to 2.3.8
</details>

<details><summary>js-client-sdk-common: 1.7.0</summary>

##
[1.7.0](js-client-sdk-common-v1.6.0...js-client-sdk-common-v1.7.0)
(2024-09-03)


### Features

* Add support for Payload Filtering
([#551](#551))
([6f44383](6f44383))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-sdk-common bumped from 2.7.0 to 2.8.0
</details>

<details><summary>js-sdk-common: 2.8.0</summary>

##
[2.8.0](js-sdk-common-v2.7.0...js-sdk-common-v2.8.0)
(2024-09-03)


### Features

* Add support for Payload Filtering
([#551](#551))
([6f44383](6f44383))
</details>

<details><summary>js-server-sdk-common: 2.6.0</summary>

##
[2.6.0](js-server-sdk-common-v2.5.0...js-server-sdk-common-v2.6.0)
(2024-09-03)


### Features

* Add support for Payload Filtering
([#551](#551))
([6f44383](6f44383))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-sdk-common bumped from 2.7.0 to 2.8.0
</details>

<details><summary>js-server-sdk-common-edge: 2.3.8</summary>

##
[2.3.8](js-server-sdk-common-edge-v2.3.7...js-server-sdk-common-edge-v2.3.8)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.5.0 to 2.6.0
</details>

<details><summary>node-server-sdk: 9.5.3</summary>

##
[9.5.3](node-server-sdk-v9.5.2...node-server-sdk-v9.5.3)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.5.0 to 2.6.0
</details>

<details><summary>node-server-sdk-dynamodb: 6.1.20</summary>

##
[6.1.20](node-server-sdk-dynamodb-v6.1.19...node-server-sdk-dynamodb-v6.1.20)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.2 to 9.5.3
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.5.3
</details>

<details><summary>node-server-sdk-otel: 1.0.12</summary>

##
[1.0.12](node-server-sdk-otel-v1.0.11...node-server-sdk-otel-v1.0.12)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.2 to 9.5.3
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.5.3
</details>

<details><summary>node-server-sdk-redis: 4.1.20</summary>

##
[4.1.20](node-server-sdk-redis-v4.1.19...node-server-sdk-redis-v4.1.20)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.2 to 9.5.3
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.5.3
</details>

<details><summary>react-native-client-sdk: 10.6.1</summary>

##
[10.6.1](react-native-client-sdk-v10.6.0...react-native-client-sdk-v10.6.1)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-client-sdk-common bumped from 1.6.0 to 1.7.0
</details>

<details><summary>vercel-server-sdk: 1.3.15</summary>

##
[1.3.15](vercel-server-sdk-v1.3.14...vercel-server-sdk-v1.3.15)
(2024-09-03)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.3.7 to 2.3.8
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Update all projects to have all tests in the `__tests__` folder.
During the typescript implementation null values were removed during
JSON de-serialization. This was over-zealous as variations can be JSON
which contains null values.

This retains null value removal for everything aside from variations.

The reason this was originally done is to simplify all code which
interacts with the data model (It only needs to check undefined versus
null/undefined.). It also simplifies the ability to produce a compact
representation that omits any null fields.

In the future we may want to consider removing this behavior.

Fixes #568
🤖 I have created a release *beep* *boop*
---


<details><summary>akamai-edgeworker-sdk-common: 1.1.15</summary>

##
[1.1.15](akamai-edgeworker-sdk-common-v1.1.14...akamai-edgeworker-sdk-common-v1.1.15)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from ^2.6.0 to ^2.6.1
</details>

<details><summary>akamai-server-base-sdk: 2.1.15</summary>

##
[2.1.15](akamai-server-base-sdk-v2.1.14...akamai-server-base-sdk-v2.1.15)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.1.14 to
^1.1.15
    * @launchdarkly/js-server-sdk-common bumped from ^2.6.0 to ^2.6.1
</details>

<details><summary>akamai-server-edgekv-sdk: 1.1.15</summary>

##
[1.1.15](akamai-server-edgekv-sdk-v1.1.14...akamai-server-edgekv-sdk-v1.1.15)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.1.14 to
^1.1.15
    * @launchdarkly/js-server-sdk-common bumped from ^2.6.0 to ^2.6.1
</details>

<details><summary>cloudflare-server-sdk: 2.5.13</summary>

##
[2.5.13](cloudflare-server-sdk-v2.5.12...cloudflare-server-sdk-v2.5.13)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.3.8 to 2.3.9
</details>

<details><summary>js-server-sdk-common: 2.6.1</summary>

##
[2.6.1](js-server-sdk-common-v2.6.0...js-server-sdk-common-v2.6.1)
(2024-09-05)


### Bug Fixes

* Correctly handle null values in JSON variations.
([#569](#569))
([907d08b](907d08b)),
closes [#568](#568)
</details>

<details><summary>js-server-sdk-common-edge: 2.3.9</summary>

##
[2.3.9](js-server-sdk-common-edge-v2.3.8...js-server-sdk-common-edge-v2.3.9)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.6.0 to 2.6.1
</details>

<details><summary>node-server-sdk: 9.5.4</summary>

##
[9.5.4](node-server-sdk-v9.5.3...node-server-sdk-v9.5.4)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.6.0 to 2.6.1
</details>

<details><summary>node-server-sdk-dynamodb: 6.1.21</summary>

##
[6.1.21](node-server-sdk-dynamodb-v6.1.20...node-server-sdk-dynamodb-v6.1.21)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.3 to 9.5.4
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.5.4
</details>

<details><summary>node-server-sdk-otel: 1.0.13</summary>

##
[1.0.13](node-server-sdk-otel-v1.0.12...node-server-sdk-otel-v1.0.13)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.3 to 9.5.4
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.5.4
</details>

<details><summary>node-server-sdk-redis: 4.1.21</summary>

##
[4.1.21](node-server-sdk-redis-v4.1.20...node-server-sdk-redis-v4.1.21)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.3 to 9.5.4
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.5.4
</details>

<details><summary>vercel-server-sdk: 1.3.16</summary>

##
[1.3.16](vercel-server-sdk-v1.3.15...vercel-server-sdk-v1.3.16)
(2024-09-05)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.3.8 to 2.3.9
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ryan Lamb <[email protected]>
This should be merged after the test organization PR.
This adds platform support for async hashing for use in client-side
SDKs.

It does not implement async hashing for any existing platform, but
provides it as an option to allow for use of standard browser APIs.
Allowing the usage of standard browser crypto APIs means that browser
SDKs will not need to include an additional dependency to replicate
built-in functionality.
This adds the ability to specify what capabilities an even source
supports.

The idea is, for something like report, the common code can check if the
event source supports it. If it is configured, and the event source
doesn't support it, then it can take appropriate action.

The browser SDK can calculate this at runtime by checking for a polyfill
and filling out the appropriate capabilities.
Allow for SDK implementations to control the name of the header their
SDK name and version are put in.

Browser SDKs need to use `x-launchdarkly-user-agent` all other platforms
can use `user-agent`.

In a browser the `user-agent` is a forbidden header and can only contain
the browser's user agent.
This adds a basic client and initialization function. The SDK does
function, but does not yet function like a JS SDK, but more like a
mobile SDK.
This adds the contract tests, but does not yet automate running them.
…/examples/complete (#584)

Bumps [next](https://github.com/vercel/next.js) from 14.1.2 to 14.2.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases">next's
releases</a>.</em></p>
<blockquote>
<h2>v14.2.10</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Remove invalid fallback revalidate value (<a
href="https://redirect.github.com/vercel/next.js/pull/69990">vercel/next.js#69990</a>)</li>
<li>Revert server action optimization (<a
href="https://redirect.github.com/vercel/next.js/pull/69925">vercel/next.js#69925</a>)</li>
<li>Add ability to customize Cache-Control (<a
href="https://redirect.github.com/vercel/next.js/issues/69802">#69802</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a> and <a
href="https://github.com/ijjk"><code>@​ijjk</code></a> for helping!</p>
<h2>v14.2.9</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Revert &quot;Fix esm property def in flight loader (<a
href="https://redirect.github.com/vercel/next.js/issues/66990">#66990</a>)&quot;
(<a
href="https://redirect.github.com/vercel/next.js/issues/69749">#69749</a>)</li>
<li>Disable experimental.optimizeServer by default to fix failed server
action (<a
href="https://redirect.github.com/vercel/next.js/issues/69788">#69788</a>)</li>
<li>Fix middleware fallback: false case (<a
href="https://redirect.github.com/vercel/next.js/issues/69799">#69799</a>)</li>
<li>Fix status code for /_not-found route (<a
href="https://redirect.github.com/vercel/next.js/issues/64058">#64058</a>)
(<a
href="https://redirect.github.com/vercel/next.js/issues/69808">#69808</a>)</li>
<li>Fix metadata prop merging (<a
href="https://redirect.github.com/vercel/next.js/issues/69807">#69807</a>)</li>
<li>create-next-app: fix font file corruption when using import alias
(<a
href="https://redirect.github.com/vercel/next.js/issues/69806">#69806</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/ztanner"><code>@​ztanner</code></a>, <a
href="https://github.com/ijjk"><code>@​ijjk</code></a>, and <a
href="https://github.com/lubieowoce"><code>@​lubieowoce</code></a> for
helping!</p>
<h2>v14.2.8</h2>
<h2>What's Changed</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes and minor improvements. It does
<strong>not</strong> include all pending features/changes on canary.</p>
</blockquote>
<h3>Support <code>esmExternals</code> in app directory</h3>
<ul>
<li>Support esm externals in app router (<a
href="https://redirect.github.com/vercel/next.js/issues/65041">#65041</a>)</li>
<li>Turbopack: Allow client components from foreign code in app routes
(<a
href="https://redirect.github.com/vercel/next.js/issues/64751">#64751</a>)</li>
<li>Turbopack: add support for esm externals in app dir (<a
href="https://redirect.github.com/vercel/next.js/issues/64918">#64918</a>)</li>
<li>other related PRs: <a
href="https://redirect.github.com/vercel/next.js/issues/66990">#66990</a>
<a
href="https://redirect.github.com/vercel/next.js/issues/66727">#66727</a>
<a
href="https://redirect.github.com/vercel/next.js/issues/66286">#66286</a>
<a
href="https://redirect.github.com/vercel/next.js/issues/65519">#65519</a></li>
</ul>
<h3>Reading cookies set in middleware in components and actions</h3>
<ul>
<li>initialize ALS with cookies in middleware (<a
href="https://redirect.github.com/vercel/next.js/issues/65008">#65008</a>)</li>
<li>fix middleware cookie initialization (<a
href="https://redirect.github.com/vercel/next.js/issues/65820">#65820</a>)</li>
<li>ensure cookies set in middleware can be read in a server action (<a
href="https://redirect.github.com/vercel/next.js/issues/67924">#67924</a>)</li>
<li>fix: merged middleware cookies should preserve options (<a
href="https://redirect.github.com/vercel/next.js/issues/67956">#67956</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vercel/next.js/commit/937651fede26a1cdd8a83aa4636719e466fa7f20"><code>937651f</code></a>
v14.2.10</li>
<li><a
href="https://github.com/vercel/next.js/commit/7ed7f125e07ef0517a331009ed7e32691ba403d3"><code>7ed7f12</code></a>
Remove invalid fallback revalidate value (<a
href="https://redirect.github.com/vercel/next.js/issues/69990">#69990</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/99de0573009208e584d10a810ed84c4b6cf9b4fe"><code>99de057</code></a>
Revert server action optimization (<a
href="https://redirect.github.com/vercel/next.js/issues/69925">#69925</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/24647b9a3a6f0b914423c95a59cd6fcc81caa778"><code>24647b9</code></a>
Add ability to customize Cache-Control (<a
href="https://redirect.github.com/vercel/next.js/issues/69802">#69802</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/6fa8982f8eb766663fd1e11e43621e53fd8e016c"><code>6fa8982</code></a>
v14.2.9</li>
<li><a
href="https://github.com/vercel/next.js/commit/7998745f37ce0ccd8c9cee28c613869a364a1737"><code>7998745</code></a>
test: lock ts type check (<a
href="https://redirect.github.com/vercel/next.js/issues/69889">#69889</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/4bd3849ccde073cc4c64e0ebfb1ec1b6d5a3ca00"><code>4bd3849</code></a>
create-next-app: fix font file corruption when using import alias (<a
href="https://redirect.github.com/vercel/next.js/issues/69806">#69806</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/375680103bbcf581a9b552e06ea2070def4a4936"><code>3756801</code></a>
test: check most possible combination of CNA flags</li>
<li><a
href="https://github.com/vercel/next.js/commit/9a72ad6e618ba81601ff15359f29f72cce45b878"><code>9a72ad6</code></a>
unpin CNA tests from 14.2.3</li>
<li><a
href="https://github.com/vercel/next.js/commit/747d365004e722b7806ba4560edd4d85b51cb67e"><code>747d365</code></a>
Fix metadata prop merging (<a
href="https://redirect.github.com/vercel/next.js/issues/69807">#69807</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/compare/v14.1.2...v14.2.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=next&package-manager=npm_and_yarn&previous-version=14.1.2&new-version=14.2.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/launchdarkly/js-core/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
**Requirements**

- [x] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests)
- [x] I have validated my changes against all supported platform
versions

**Related issues**

251674

**Describe the solution you've provided**

- Added useReport to LDOptions.
- Piped through client to `StreamingProcessor` constructor.
- Cloned `StreamingProcessor` and associated tests from common-internal
to sdk-client. Refactored it to support taking in a
`StreamingDataSourceConfig` to narrow provided dependencies instead of
ClientContext which contained many concerns. `StreamingProcessor` now
uses a paths provider to form URI and internally decides where to put
the serialized context (url vs body).
- Refactored LDClientImpl tests to not use MockStreamingProcessor to
reduce global mock usage.
- fix: polling did not include the context in the body.

**Describe alternatives you've considered**

Initially tried making changes in common-internal, but the existence of
the client context in the URL or body for client situations made that
not ideal.

---------

Co-authored-by: Ryan Lamb <[email protected]>
Implements goals. Additionally adds browser specific configuration as it
is required by goals.

Also addresses SDK-563
…/examples/route-handler (#586)

Bumps [next](https://github.com/vercel/next.js) from 14.1.2 to 14.2.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases">next's
releases</a>.</em></p>
<blockquote>
<h2>v14.2.10</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Remove invalid fallback revalidate value (<a
href="https://redirect.github.com/vercel/next.js/pull/69990">vercel/next.js#69990</a>)</li>
<li>Revert server action optimization (<a
href="https://redirect.github.com/vercel/next.js/pull/69925">vercel/next.js#69925</a>)</li>
<li>Add ability to customize Cache-Control (<a
href="https://redirect.github.com/vercel/next.js/issues/69802">#69802</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a> and <a
href="https://github.com/ijjk"><code>@​ijjk</code></a> for helping!</p>
<h2>v14.2.9</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Revert &quot;Fix esm property def in flight loader (<a
href="https://redirect.github.com/vercel/next.js/issues/66990">#66990</a>)&quot;
(<a
href="https://redirect.github.com/vercel/next.js/issues/69749">#69749</a>)</li>
<li>Disable experimental.optimizeServer by default to fix failed server
action (<a
href="https://redirect.github.com/vercel/next.js/issues/69788">#69788</a>)</li>
<li>Fix middleware fallback: false case (<a
href="https://redirect.github.com/vercel/next.js/issues/69799">#69799</a>)</li>
<li>Fix status code for /_not-found route (<a
href="https://redirect.github.com/vercel/next.js/issues/64058">#64058</a>)
(<a
href="https://redirect.github.com/vercel/next.js/issues/69808">#69808</a>)</li>
<li>Fix metadata prop merging (<a
href="https://redirect.github.com/vercel/next.js/issues/69807">#69807</a>)</li>
<li>create-next-app: fix font file corruption when using import alias
(<a
href="https://redirect.github.com/vercel/next.js/issues/69806">#69806</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/ztanner"><code>@​ztanner</code></a>, <a
href="https://github.com/ijjk"><code>@​ijjk</code></a>, and <a
href="https://github.com/lubieowoce"><code>@​lubieowoce</code></a> for
helping!</p>
<h2>v14.2.8</h2>
<h2>What's Changed</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes and minor improvements. It does
<strong>not</strong> include all pending features/changes on canary.</p>
</blockquote>
<h3>Support <code>esmExternals</code> in app directory</h3>
<ul>
<li>Support esm externals in app router (<a
href="https://redirect.github.com/vercel/next.js/issues/65041">#65041</a>)</li>
<li>Turbopack: Allow client components from foreign code in app routes
(<a
href="https://redirect.github.com/vercel/next.js/issues/64751">#64751</a>)</li>
<li>Turbopack: add support for esm externals in app dir (<a
href="https://redirect.github.com/vercel/next.js/issues/64918">#64918</a>)</li>
<li>other related PRs: <a
href="https://redirect.github.com/vercel/next.js/issues/66990">#66990</a>
<a
href="https://redirect.github.com/vercel/next.js/issues/66727">#66727</a>
<a
href="https://redirect.github.com/vercel/next.js/issues/66286">#66286</a>
<a
href="https://redirect.github.com/vercel/next.js/issues/65519">#65519</a></li>
</ul>
<h3>Reading cookies set in middleware in components and actions</h3>
<ul>
<li>initialize ALS with cookies in middleware (<a
href="https://redirect.github.com/vercel/next.js/issues/65008">#65008</a>)</li>
<li>fix middleware cookie initialization (<a
href="https://redirect.github.com/vercel/next.js/issues/65820">#65820</a>)</li>
<li>ensure cookies set in middleware can be read in a server action (<a
href="https://redirect.github.com/vercel/next.js/issues/67924">#67924</a>)</li>
<li>fix: merged middleware cookies should preserve options (<a
href="https://redirect.github.com/vercel/next.js/issues/67956">#67956</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vercel/next.js/commit/937651fede26a1cdd8a83aa4636719e466fa7f20"><code>937651f</code></a>
v14.2.10</li>
<li><a
href="https://github.com/vercel/next.js/commit/7ed7f125e07ef0517a331009ed7e32691ba403d3"><code>7ed7f12</code></a>
Remove invalid fallback revalidate value (<a
href="https://redirect.github.com/vercel/next.js/issues/69990">#69990</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/99de0573009208e584d10a810ed84c4b6cf9b4fe"><code>99de057</code></a>
Revert server action optimization (<a
href="https://redirect.github.com/vercel/next.js/issues/69925">#69925</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/24647b9a3a6f0b914423c95a59cd6fcc81caa778"><code>24647b9</code></a>
Add ability to customize Cache-Control (<a
href="https://redirect.github.com/vercel/next.js/issues/69802">#69802</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/6fa8982f8eb766663fd1e11e43621e53fd8e016c"><code>6fa8982</code></a>
v14.2.9</li>
<li><a
href="https://github.com/vercel/next.js/commit/7998745f37ce0ccd8c9cee28c613869a364a1737"><code>7998745</code></a>
test: lock ts type check (<a
href="https://redirect.github.com/vercel/next.js/issues/69889">#69889</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/4bd3849ccde073cc4c64e0ebfb1ec1b6d5a3ca00"><code>4bd3849</code></a>
create-next-app: fix font file corruption when using import alias (<a
href="https://redirect.github.com/vercel/next.js/issues/69806">#69806</a>)</li>
<li><a
href="https://github.com/vercel/next.js/commit/375680103bbcf581a9b552e06ea2070def4a4936"><code>3756801</code></a>
test: check most possible combination of CNA flags</li>
<li><a
href="https://github.com/vercel/next.js/commit/9a72ad6e618ba81601ff15359f29f72cce45b878"><code>9a72ad6</code></a>
unpin CNA tests from 14.2.3</li>
<li><a
href="https://github.com/vercel/next.js/commit/747d365004e722b7806ba4560edd4d85b51cb67e"><code>747d365</code></a>
Fix metadata prop merging (<a
href="https://redirect.github.com/vercel/next.js/issues/69807">#69807</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/compare/v14.1.2...v14.2.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=next&package-manager=npm_and_yarn&previous-version=14.1.2&new-version=14.2.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/launchdarkly/js-core/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Most of this PR is refactoring to move data source handling our of the
common code. This also moves functionality, such as `setConnectionMode`
out of the common code.

Currently the MobileDataManager is in the RN SDK, but it should be moved
to some kind of non-browser common when we implement SDKs like node or
electron.

A large amount of the code in this PR is tests for data source handling
and moving existing code.

This PR does not add automatic starting/stopping of the stream.

BEGIN_COMMIT_OVERRIDE
feat: Refactor data source connection handling. 
feat: Add support for js-client-sdk style initialization.
END_COMMIT_OVERRIDE
🤖 I have created a release *beep* *boop*
---


<details><summary>akamai-edgeworker-sdk-common: 1.2.0</summary>

##
[1.2.0](akamai-edgeworker-sdk-common-v1.1.15...akamai-edgeworker-sdk-common-v1.2.0)
(2024-09-26)


### Features

* Add support for conditional event source capabilities.
([#577](#577))
([fe82500](fe82500))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from ^2.6.1 to ^2.7.0
</details>

<details><summary>akamai-server-base-sdk: 2.1.16</summary>

##
[2.1.16](akamai-server-base-sdk-v2.1.15...akamai-server-base-sdk-v2.1.16)
(2024-09-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.1.15 to
^1.2.0
    * @launchdarkly/js-server-sdk-common bumped from ^2.6.1 to ^2.7.0
</details>

<details><summary>akamai-server-edgekv-sdk: 1.1.16</summary>

##
[1.1.16](akamai-server-edgekv-sdk-v1.1.15...akamai-server-edgekv-sdk-v1.1.16)
(2024-09-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.1.15 to
^1.2.0
    * @launchdarkly/js-server-sdk-common bumped from ^2.6.1 to ^2.7.0
</details>

<details><summary>cloudflare-server-sdk: 2.5.14</summary>

##
[2.5.14](cloudflare-server-sdk-v2.5.13...cloudflare-server-sdk-v2.5.14)
(2024-09-26)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.3.9 to 2.4.0
</details>

<details><summary>js-client-sdk-common: 1.8.0</summary>

##
[1.8.0](js-client-sdk-common-v1.7.0...js-client-sdk-common-v1.8.0)
(2024-09-26)


### Features

* Add platform support for async hashing.
([#573](#573))
([9248035](9248035))
* Add support for conditional event source capabilities.
([#577](#577))
([fe82500](fe82500))
* Add support for js-client-sdk style initialization.
([53f5bb8](53f5bb8))
* Add URLs for custom events and URL filtering.
([#587](#587))
([7131e69](7131e69))
* Adds support for REPORT.
([#575](#575))
([916b724](916b724))
* Allow using custom user-agent name.
([#580](#580))
([ed5a206](ed5a206))
* Implement goals for client-side SDKs.
([#585](#585))
([fd38a8f](fd38a8f))
* Refactor data source connection handling.
([53f5bb8](53f5bb8))


### Bug Fixes

* Flag store should not access values from prototype.
([#567](#567))
([fca4d92](fca4d92))
* Use flag value whenever provided even if variaiton is null or
undefined. ([#581](#581))
([d11224c](d11224c))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-sdk-common bumped from 2.8.0 to 2.9.0
</details>

<details><summary>js-sdk-common: 2.9.0</summary>

##
[2.9.0](js-sdk-common-v2.8.0...js-sdk-common-v2.9.0)
(2024-09-26)


### Features

* Add platform support for async hashing.
([#573](#573))
([9248035](9248035))
* Add support for conditional event source capabilities.
([#577](#577))
([fe82500](fe82500))
* Add URLs for custom events and URL filtering.
([#587](#587))
([7131e69](7131e69))
* Adds support for REPORT.
([#575](#575))
([916b724](916b724))
* Allow using custom user-agent name.
([#580](#580))
([ed5a206](ed5a206))
* Implement goals for client-side SDKs.
([#585](#585))
([fd38a8f](fd38a8f))


### Bug Fixes

* Multi-kind context containing only 1 kind conveted incorrectly.
([#594](#594))
([b6ff2a6](b6ff2a6))
</details>

<details><summary>js-server-sdk-common: 2.7.0</summary>

##
[2.7.0](js-server-sdk-common-v2.6.1...js-server-sdk-common-v2.7.0)
(2024-09-26)


### Features

* Add platform support for async hashing.
([#573](#573))
([9248035](9248035))
* Add support for conditional event source capabilities.
([#577](#577))
([fe82500](fe82500))
* Allow using custom user-agent name.
([#580](#580))
([ed5a206](ed5a206))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-sdk-common bumped from 2.8.0 to 2.9.0
</details>

<details><summary>js-server-sdk-common-edge: 2.4.0</summary>

##
[2.4.0](js-server-sdk-common-edge-v2.3.9...js-server-sdk-common-edge-v2.4.0)
(2024-09-26)


### Features

* Add support for conditional event source capabilities.
([#577](#577))
([fe82500](fe82500))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.6.1 to 2.7.0
</details>

<details><summary>node-server-sdk: 9.6.0</summary>

##
[9.6.0](node-server-sdk-v9.5.4...node-server-sdk-v9.6.0)
(2024-09-26)


### Features

* Add support for conditional event source capabilities.
([#577](#577))
([fe82500](fe82500))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.6.1 to 2.7.0
</details>

<details><summary>node-server-sdk-dynamodb: 6.1.22</summary>

##
[6.1.22](node-server-sdk-dynamodb-v6.1.21...node-server-sdk-dynamodb-v6.1.22)
(2024-09-26)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.4 to 9.6.0
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.6.0
</details>

<details><summary>node-server-sdk-otel: 1.0.14</summary>

##
[1.0.14](node-server-sdk-otel-v1.0.13...node-server-sdk-otel-v1.0.14)
(2024-09-26)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.4 to 9.6.0
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.6.0
</details>

<details><summary>node-server-sdk-redis: 4.1.22</summary>

##
[4.1.22](node-server-sdk-redis-v4.1.21...node-server-sdk-redis-v4.1.22)
(2024-09-26)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.5.4 to 9.6.0
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.6.0
</details>

<details><summary>react-native-client-sdk: 10.7.0</summary>

##
[10.7.0](react-native-client-sdk-v10.6.1...react-native-client-sdk-v10.7.0)
(2024-09-26)


### Features

* Add support for conditional event source capabilities.
([#577](#577))
([fe82500](fe82500))
* Add support for js-client-sdk style initialization.
([53f5bb8](53f5bb8))
* Adds support for REPORT.
([#575](#575))
([916b724](916b724))
* Refactor data source connection handling.
([53f5bb8](53f5bb8))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-client-sdk-common bumped from 1.7.0 to 1.8.0
</details>

<details><summary>vercel-server-sdk: 1.3.17</summary>

##
[1.3.17](vercel-server-sdk-v1.3.16...vercel-server-sdk-v1.3.17)
(2024-09-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.3.9 to 2.4.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This code was orphaned in some refactoring and should be removed.
Daniel OBrien and others added 10 commits October 25, 2024 12:46
BEGIN_COMMIT_OVERRIDE
chore: Change browser packages testing to use CJS.
feat: Vendor escapeStringRegexp to simplify builds.
END_COMMIT_OVERRIDE

SDK-816
The goals here are to:
- Make the build simpler.
- Make the build "modern".

Currently we have worked around some build issues in other packages.
Mainly with node module resolution. Despite the settings in the
package.json node wants certain file extensions for certain types
including .cts for the CJS type definitions.

So far tsup seems to be the simplest way to get all things with expected
names without a multi-step process. Or without having to make a hack
package.json that just has the modules type.

Please review #637 first.
🤖 I have created a release *beep* *boop*
---


<details><summary>js-client-sdk: 0.2.0</summary>

##
[0.2.0](js-client-sdk-v0.1.0...js-client-sdk-v0.2.0)
(2024-10-29)


### Features

* Add a module for increased backward compatibility.
([#637](#637))
([44a2237](44a2237))
* Refine CJS/ESM build configuration for browser SDK.
([#640](#640))
([ec4377c](ec4377c))
* Vendor escapeStringRegexp to simplify builds.
([48cac54](48cac54))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-client-sdk-common bumped from 1.10.0 to 1.11.0
</details>

<details><summary>js-client-sdk-common: 1.11.0</summary>

##
[1.11.0](js-client-sdk-common-v1.10.0...js-client-sdk-common-v1.11.0)
(2024-10-29)


### Features

* Add a module for increased backward compatibility.
([#637](#637))
([44a2237](44a2237))
</details>

<details><summary>react-native-client-sdk: 10.9.1</summary>

##
[10.9.1](react-native-client-sdk-v10.9.0...react-native-client-sdk-v10.9.1)
(2024-10-29)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-client-sdk-common bumped from 1.10.0 to 1.11.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This change,
DefinitelyTyped/DefinitelyTyped#69997, to the
`@types/node` package made typings for the emitter stricter and break
the builds. Functionally the code is the same.
This adds support to the common basic logger that makes it more suitable
for client SDKs.

Instead of a single destination for all logs you can now control the
destination per log level. This allow you to use all the default
formatting, log level handling, and log tagging while also getting logs
that are nice for use in a browser.
@InTheCloudDan InTheCloudDan requested a review from a team as a code owner November 1, 2024 17:20
@InTheCloudDan InTheCloudDan changed the title Feat/dob/ai tracking feat: AI Tracking to AI SDK Nov 1, 2024
Daniel OBrien and others added 10 commits November 1, 2024 13:35
…c77bfe7 (#623)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| reactivecircus/android-emulator-runner | action | digest | `f0d1ed2`
-> `c77bfe7` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/launchdarkly/js-core).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMTUuMSIsInVwZGF0ZWRJblZlciI6IjM4LjExNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This should just make this a little easier to use, only needing to
import compat.
**Requirements**

- [x] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests)
- [x] I have validated my changes against all supported platform
versions

**Related issues**

Provide links to any issues in this repository or elsewhere relating to
this pull request.

**Describe the solution you've provided**

Provide a clear and concise description of what you expect to happen.

**Describe alternatives you've considered**

Provide a clear and concise description of any alternative solutions or
features you've considered.

**Additional context**

Add any other context about the pull request here.

---------

Co-authored-by: “Menelik <“[email protected]”>
Co-authored-by: Ryan Lamb <[email protected]>
* const key = "welcome_prompt";
* const context = new LDContext(...);
* const variables = new Record<string, string>([["username", "John"]]);
* const defaultValue = {}};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this defaultValue line have a typo?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, there were a number of problems here, but they are updated now. I am going to merge this to the feature PR and work from there.

@kinyoklion kinyoklion merged commit 5ea8a83 into dob/modelConfig Nov 4, 2024
20 checks passed
@kinyoklion kinyoklion deleted the feat/dob/aiTracking branch November 4, 2024 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants