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

feat: Add support for conditional event source capabilities. #577

Merged
merged 9 commits into from
Sep 11, 2024

Conversation

kinyoklion
Copy link
Member

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.

@@ -21,6 +22,14 @@ export default class PlatformRequests implements Requests {
});
}

getEventSourceCapabilities(): EventSourceCapabilities {
return {
readTimeout: false,
Copy link
Member Author

Choose a reason for hiding this comment

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

It has a timeout, but that is a timeout for the XmlHttpRequest.

Which I think is the duration of the entire request.

@kinyoklion kinyoklion marked this pull request as ready for review September 10, 2024 19:58
@kinyoklion kinyoklion requested a review from a team as a code owner September 10, 2024 19:58
@kinyoklion kinyoklion marked this pull request as draft September 10, 2024 20:01
@kinyoklion kinyoklion marked this pull request as ready for review September 10, 2024 20:43
@kinyoklion kinyoklion merged commit fe82500 into main Sep 11, 2024
22 checks passed
@kinyoklion kinyoklion deleted the rlamb/sc-254415/support-event-source-capabilities branch September 11, 2024 16:07
@github-actions github-actions bot mentioned this pull request Sep 11, 2024
kinyoklion pushed a commit that referenced this pull request Sep 26, 2024
🤖 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>
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.

2 participants