feat: consume uip telemetry package#432
Conversation
| * Coded Action Apps telemetry constants | ||
|
|
||
| * | ||
| * `SDK_VERSION` is patched by the CAA publish workflow before build. Other |
There was a problem hiding this comment.
The comment says "patched by the CAA publish workflow before build" but there is no CAA publish workflow — .github/workflows/ contains only one publish.yml and it exclusively patches src/core/telemetry/client.ts and src/core/telemetry/constants.ts. Neither $CODED_ACTION_APP_SDK_VERSION here nor $CONNECTION_STRING in packages/coded-action-apps/src/telemetry/client.ts are ever substituted, so CAA telemetry will silently never initialize in production (the isValidConnectionString guard returns false for any string starting with $). You need to either add the substitution sed steps to publish.yml, or create a separate CAA publish workflow that patches these two placeholders before the build.
| }); | ||
| this.service = new TelemetryService( | ||
| provider, | ||
| new BrowserContextStorage<TelemetryContext>() |
There was a problem hiding this comment.
BrowserContextStorage is a browser-specific API. The core SDK is also consumed by Node.js backends (secret-based auth mode in src/core/index.ts). If BrowserContextStorage depends on browser globals (localStorage, sessionStorage, window, etc.), telemetry initialization will throw and be silently swallowed by the surrounding try/catch, leaving this.service unset and all @track calls as no-ops in server environments. Verify BrowserContextStorage is safe in Node.js 20+, or use a context-agnostic storage class when running outside a browser.
| export const SDK_VERSION = "$SDK_VERSION"; | ||
| export const CLOUD_ROLE_NAME = 'uipath-ts-sdk'; | ||
| export const SDK_SERVICE_NAME = 'UiPath.TypeScript.Sdk'; | ||
| export const SDK_LOGGER_NAME = 'uipath-ts-sdk-telemetry'; |
There was a problem hiding this comment.
SDK_LOGGER_NAME is no longer used anywhere in the new client.ts (the TelemetryService from @uipath/telemetry manages its logger internally). It is still re-exported via src/core/telemetry/index.ts's export * from './constants', making it part of the public API. If it was only ever used internally by the old OpenTelemetry logger provider, remove it. If kept for backwards compatibility, add a /** @deprecated */ tag so it appears that way in the generated docs.
Review findings7 issues found across the new telemetry implementation. New findings this run
|
Review updateNo new findings this run. Reopened 3 previously-resolved threads whose requested fixes were not applied:
|
|


No description provided.