Repository navigation
Conversation
…anel-in-the-library
Contributor
Coverage report
Show new covered files 🐣
Show files with reduced coverage 🔻
Test suite run success1023 tests passing in 44 suites. Report generated by 🧪jest coverage report action from 423b829 |
…anel-in-the-library
…developer-diagnostics-panel-in-the-library
…anel-in-the-library
…options, ticks only what arrived
…mits and checks, steadier tests
…sleeps where a condition exists
… startup options, from the Settings page
…s on the Settings page
…the header chips to their settings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a developer diagnostics panel to the Angular library, and a testing app to exercise it.
@absaoss-cps/ngx-ui-watchtower/event-inspector): an opt-in secondary entry that shows, live, what the library hands to its telemetry destinations: logs, BI events, scenarios and errors, with their payloads. Developer tool only; nothing is sent anywhere.projects/watchtower-lab, never published): a test application with a mock RUM/log backend. It drives every feature of the library (logging, BI, scenarios, identity, broadcast between a shell and a Web Fragments fragment, RUM settings) and is what the Playwright suite runs against.Closes #1
Enabling the inspector
Press Shift+E+I to open it.
captureBeforeOpen,maxEventsPerSection,maxPayloadCharsInViewand the shortcuts are configurable; see the package README. The entry is lazy, so apps that don't import it pay nothing.Changes
UwtTelemetryMonitor(events$), fed after each hand-off to a destination with a deep copy of the payload. Hook sites: scenarios, BI, logger, scenario telemetry service, and the broadcast host./event-inspectorentry:provideUwtEventInspector,UwtEventInspectorService, config token and defaults./rumentry: when RUM rejectsrecordErrorbecause itserrorstelemetry isn't loaded, the sink prints one console warning (in every environment) and doesn't mirror the error. It never edits the app's RUM config. Add'errors'totelemetries, or setmirrorErrorsToRum: false.npm run lab(http://localhost:4280),npm run lab:build,npm run e2e/e2e:ui,npm run smoke(an isolated consumer app that installs the packed libraries).checks.ymlruns the new checks.cps-ui-kit); new dev dependencies for the lab, SSR and Playwright.Compatibility
cps-ui-kit >=21.32.0 <23,@angular/forms,@angular/animations.cps-ui-kitcurrently requires Angular 21.2 or later to install, so inspector users need that too.How to verify
Run on this branch: all pass.
Heads-up
#34 moves the telemetry hook points into the new framework-independent core. Either PR will be reworked on top of the other.