Skip to content

Conversation

@kinyoklion
Copy link
Member

@kinyoklion kinyoklion commented Jan 15, 2025

This PR adds the ability to specify a filter that runs when adding any breadcrumb. The filter can return a modified breadcrumb, or return undefined to filter the breadcrumb entirely.

This could be used to redact any information which a customer doesn't want in a bread crumb.

@kinyoklion kinyoklion requested a review from a team as a code owner January 15, 2025 00:00
}
wrapper.prototype = originalFetch.prototype;

wrapper.prototype = originalFetch?.prototype;
Copy link
Member Author

Choose a reason for hiding this comment

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

Small robustness improvement exposed by running tests in VSCode.

@github-actions
Copy link
Contributor

@launchdarkly/js-sdk-common size report
This is the brotli compressed size of the ESM build.
Size: 19014 bytes
Size limit: 21000

@github-actions
Copy link
Contributor

@launchdarkly/js-client-sdk-common size report
This is the brotli compressed size of the ESM build.
Size: 15354 bytes
Size limit: 20000

@github-actions
Copy link
Contributor

github-actions bot commented Jan 15, 2025

@launchdarkly/js-client-sdk size report
This is the brotli compressed size of the ESM build.
Size: 19826 bytes
Size limit: 21000


function parseHttp(
options: HttpBreadCrumbOptions | false | undefined,
options: HttpBreadcrumbOptions | false | undefined,
Copy link
Member Author

Choose a reason for hiding this comment

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

Consistent capitalization change.

breadcrumbFilters: itemOrDefault(
options.breadcrumbs?.breadcrumbFilters,
defaults.breadcrumbs.breadcrumbFilters,
checkBasic('array', 'breadcrumbs.breadcrumbFilters', logger),
Copy link
Member Author

Choose a reason for hiding this comment

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

Cursory validation. Basically makes sure it is an array. If the function types are wrong, then that will be handled during the filtering.

@kinyoklion kinyoklion requested a review from stasquatch January 16, 2025 17:20
Co-authored-by: Stacy Harrison <11901347+stasquatch@users.noreply.github.com>
@kinyoklion kinyoklion merged commit 5c327a1 into main Jan 16, 2025
22 checks passed
@kinyoklion kinyoklion deleted the rlamb/emsr-10/filter-breadcrumbs branch January 16, 2025 18:44
@github-actions github-actions bot mentioned this pull request Jan 22, 2025
kinyoklion pushed a commit that referenced this pull request Jan 22, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>browser-telemetry: 0.1.0</summary>

##
[0.1.0](browser-telemetry-v0.0.9...browser-telemetry-v0.1.0)
(2025-01-22)


### ⚠ BREAKING CHANGES

* Updated AI config interface.
([#697](#697))

### Features

* Add basic logging support for browser-telemetry.
([#736](#736))
([2ef1486](2ef1486))
* Add browser telemetry options.
([#675](#675))
([c8352b2](c8352b2))
* Add browser-telemetry API types.
([#669](#669))
([89967ee](89967ee))
* Add DOM collectors.
([#672](#672))
([4473a06](4473a06))
* Add http collectors.
([#673](#673))
([6e60ddc](6e60ddc))
* Add singleton support for browser-telemetry.
([#739](#739))
([68a3b87](68a3b87))
* Add stack trace parsing.
([#676](#676))
([ca1dd49](ca1dd49))
* Add support for breadcrumb filtering.
([#733](#733))
([5c327a1](5c327a1))
* Add support for the session init event.
([320c07d](320c07d))
* Add the ability to filter errors.
([#743](#743))
([5cffb2b](5cffb2b))
* Export browser-telemetry initialization method.
([d1b364e](d1b364e))
* Implement browser telemetry client.
([#691](#691))
([db74a99](db74a99))
* Make browser-telemetry specific inspector type.
([#741](#741))
([14ecdb3](14ecdb3))
* Random uuid for telemetry package.
([#689](#689))
([4cf34f9](4cf34f9))
* Rename initializeTelemetryInstance to initTelemetryInstance for
consistency with initTelemetry.
([257734f](257734f))
* Source maps with inline sources for browser-telemetry.
([#735](#735))
([1656a85](1656a85))
* Updated AI config interface.
([#697](#697))
([cd72ea8](cd72ea8))
* Vendor TraceKit
([d1b364e](d1b364e))


### Bug Fixes

* Clear pending events buffer when registered.
([#727](#727))
([b6ad7df](b6ad7df))
* Export BrowserTelemetry, BrowserTelemetryInspector, and
ImplementsCrumb.
([257734f](257734f))
* Fix breadcrumb filter option parsing.
([#742](#742))
([833f4ce](833f4ce))
* Remove BrowserTelemetry until more types are available.
([#671](#671))
([796b8a3](796b8a3))
</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.

3 participants