improvement(client-telemetry-utils): BREAKING CHANGE: type erase ITelemetryLoggerExt#27476
improvement(client-telemetry-utils): BREAKING CHANGE: type erase ITelemetryLoggerExt#27476jason-ha wants to merge 2 commits into
ITelemetryLoggerExt#27476Conversation
…lemetryLoggerExt` - Remove deprecated methods from external `ITelemetryLoggerExt` and replace with branded type. - Retag related telemetry types as `@internal` and remove `@deprecated` tags where applicable.
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (227 lines, 16 files), I've queued these reviewers:
How this works
|
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
| export type { | ||
| ITelemetryErrorEventExt, | ||
| ITelemetryGenericEventExt, | ||
| // ITelemetryLoggerExt is temporarily set to an alias of `TelemetryLoggerExt` when imported from "/internal". |
There was a problem hiding this comment.
When can this be removed? We should probably be explicit about that in the comment here.
There was a problem hiding this comment.
Whenever. Right now or later. @MarioJGMsoft has AB#74860. Likely it will happen before this PR merges, but if not, I'll add reference in here.
| Until a breaking change can be made these two types are structurally equivalent and must remain so. | ||
| The one difference is that `ITelemetryLoggerExt` has `@deprecated` methods to discourage use. | ||
| Once breaking change can be made, `ITelemetryLoggerExt` will become a branded type without any viable methods and thus neither external nor internal code may act upon it. | ||
| Temporarily, `ITelemetryLoggerExt` imported from `@fluidframework/telemetry-utils/internal` is a type alias to `TelemetryLoggerExt` to reduce internal churn. |
There was a problem hiding this comment.
Do we have a backlog item tracking this cleanup? Would be nice if all of the relevant temporary export notes could include a TODO note referencing that item. Would make it easier to find and cleanup everything relevant when we tackle that item.
Josmithr
left a comment
There was a problem hiding this comment.
I left a couple comments, but overall looks good to me. Happy to review again when this is ready for merge :)
…LoggerExt (#27484) ## Description This change is a follow up to #26912 that introduced the new internal `TelemetryLoggerExt` interface. Said interface can be used to replace calls to the internal `ITelemetryLoggerExt` ## Breaking Change This is a necessary change to enable this PR to be merged: #27476 ## Reviewer Guidance The review process is outlined on [this wiki page](https://github.com/microsoft/FluidFramework/wiki/PR-Guidelines#guidelines). The change is just a naming one, no functionality was affected Fixes: [AB#74860](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/74860)
ITelemetryLoggerExtand replace with branded type.@internaland remove@deprecatedtags where applicable.