### Packages impacted by this PR
### Issues associated with this PR
### Describe the problem that is addressed by this PR
### What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
### Are there test cases added in this PR? _(If not, why?)_
### Provide a list of related PRs _(if any)_
### Command used to generate this PR:**_(Applicable only to SDK release request PRs)_
### Checklists
- [ ] Added impacted package name to the issue description
- [ ] Does this PR needs any fixes in the SDK Generator?** _(If so, create an Issue in the [Autorest/typescript](https://github.com/Azure/autorest.typescript) repository and link it here)_
- [ ] Added a changelog (if necessary)
It is a workaround for packages that uses older version of core-tracing
libraries. Now it only applies to two packages. This PR removes the export from
`dev-tool` and have copies of the function in the two communication packages'
test rollup config instead.
Part of #17707
This resolves#17812.
- Use shared rollup config from dev-tool
- Adjust NPM scripts
`chat` still needs a customized test config because 1) it still pulls in older
version of opentelemetry package, 2) it needs cjs namedExports for signaling
client.
`network-traversal` still needs a customized test config because it still pulls
in older version of opentelemetry package.
* Format communication-chat
* Format communcation-common
* Format communication-identity
* Format communication-network-traversal
* Format communication-phone-numbers
* Format communication-short-codes
* Format communication-sms
* Rush update
* rush update and format on communication-sms
* expose API to subscribe to realTimeNotificationConnected and realTimeNotificationDisconnected event
* generate apiview
* update signaling package version
* update changelog
* redeclare chatEventId locally
As discussed in #17076, we no longer have the need for the `docs` script in each of our packages. This PR removes this script and the related dev dependency on typedoc
This PR makes the following updates regarding the `nyc` dependency
- Update to v15 from v14 across all packages
- Updates to `@azure/monitor-opentelemetry-exporter` as it failed to run the tests with the updated nyc.
- Update the test scripts to use the js files in the dist-esm folder like all other packages instead of using the ts-node plugin.
- Update one of the tests for `@azure/monitor-opentelemetry-exporter` to use the right path for package.json file now that the tests are being run from the dist-esm folder.
Random set of live tests were triggered from this PR to ensure that nyc works as expected.
The failure for data-tables is an unrelated service side issue
Resolves#19232
## What
- Fix incorrect logic when suppressing chai's circular dependency warnings
- Move to the common dev-tool configuration where possible
## Why
This is a longstanding issue that we have, where an incorrect logic was copy-pasted to other places. I figured while cleaning this up that any package I touch can just convert over to the shared dev-tool configuration. Where I was unable
to do that, I just fixed this bug to avoid too many changes in one PR.
Fixes#14292Resolves#17818Resolves#17816Resolves#17815Resolves#17814Resolves#17813Resolves#17810
* update signaling client
* format code
* fix
* update api view
* keep the api same
* format the code
* add signaling client options
* update signaling client
* format code
* fix
* update api view
* keep the api same
* format the code
* add signaling client options
* fix package
## What
- Update API Extractor to the latest version (currently 7.18.11)
- Regenerate all API reviews by building all the packages
## Why
This is something we keep bumping into. First, we needed to upgrade API Extractor to allow us to re-export directly from
`@opentelemetry/api`. Then, it looks like we needed this to upgrade TypeScript to 4.4.
We are way behind on this version, and it's time to upgrade.
## Callouts
How noisy is this?! Here's what's happening - somewhere around 7.9 I think API Extractor improved the way it detects name
collisions with predefined globals. Things like KeyType, Response, etc.
If there's a clash, the generated API markdown file will rename <Item> to <Item_2> to make the name collision explicit.
Talking to folks on the team, and the poor souls that will be doing API Review approvals, we agreed that doing the upgrade
in one fell swoop is the way to go.
Resolves#9410
* Adding a note in the readme to release publicly
* rename `@azure/test-utils-recorder` to `@azure-tools/test-recorder`
* lock file
* delete recorder new file
This PR adds missing changelog entries for the times we
- updated tracing dependencies to use the GA version of OpenTelemetry
- updated to target ES2017
## What
- Remove `setTracer`
- Remove `NoOpTracer` and `NoOpSpan`
- Use Otel's APIs where possible (like when creating a no-op)
- Respect AZURE_TRACING_DISABLED environment variable
- Include test support for tracing utilizing OTel's trace API
- Avoid injecting invalid `tracerparent` header fields
## Why
- `setTracer` was added before OTel had their own implementation of a global tracer provider. For consistency with other libraries we should use the global tracer that was registered. It also leaves us out of the business of maintaining caches, global tracers, and other annoying things.
- These are no longer needed, since OTel has a recommended way to wrap a span in a NoOp. And, if no tracer provider was registered, a non-recording tracer (NoOp) will be created. All managed by OTel
- Finally, AZURE_TRACING_DISABLED is one of the env vars our guidelines say we should support
Resolves#16088Resolves#15730Resolves#10205
## What
- Update core-http to 2.0.0
- Update core-lro to 2.0.0
- Update packages to use latest version
## Why
This will support our last breaking change for core-tracing, and allow everyone to be on the same minimum version. This will also allow us to target ES2017 across the board.
## What
- Bump @opentelemetry/api to 0.20.0 in @azure/core-tracing
- Move all packages that are on core-http to the next core-tracing version
- Remove version collision check from the tracer cache
## Why
This is part of our effort to move everyone to OTel 0.20.0 - but we have to stage it due to a transitive dependency and a
breaking change in OTel. This PR updates core-tracing to use the latest OTel, fixes any breaking changes, and moves
packages that we can move to the latest version of core-tracing.
Once core-rest-pipeline 1.1.0 is GA'd we'll be able to move the rest of the packages over to the latest core-tracing as well.
Removing the version collision came out of an offline discussion after these changes were reviewed - since it's a common
source of pain and hasn't added much benefit (tracer conflicts incompatibility was never a problem) we decided to remove
that logic and always grab a unique symbol per OT compatibility.
## Callouts
The packages that are already on core-v2 will _not_ be upgraded at this time - we'll coordinate that with the GA of core-rest-pipeline 1.1.0
As we are ending the support for IE 11, this PR remove doc and test logic that
handle IE.
- Remove commented polyfill from karma configs
- Remove IE compatibility section from Stroage README files
- Remove IE specific logic from storage tests.
- Remove Storage TODO comments for IE.
* format
* run format on core-client-rest
* Setup INT live tests
* Setup INT live tests
* Setup INT live tests
* Revert "Setup INT live tests"
This reverts commit 2be66b360269c28c4a43bf9243ca44d2474dd8a6.
* Revert "Setup INT live tests"
This reverts commit 78d3849ab6c96204baa17d95c74fd54d68f4bd4b.
* Revert "Setup INT live tests"
This reverts commit a39aa0b58c6f92431113f522723471200bc706b1.
* Setup INT live tests
* Setup INT live tests in test-resources.json
* Setup INT live tests in tests.yml
* Fix intenation for test-resources.json
* Fix intenation for test-resources.json
* Setup chat and phone number tests in INT
* Change per new KV values
* Skip Update capabilities test in INT
* Setup INT live test
* Revert unnecessary change
* Revert unnecessary change
* Fix merge conflict
* Fix build error
* Skip samples
* Skip samples
* Skip phone nubmer test in INT
* Fix build error
* Add EV in recorded client
* [Samples] updating to read from COMMUNICATION_SAMPLES_CONNECTION_STRING and removing endpoint
* [Samples] fixing formating
* [Samples] revert to use COMMUNICATION_CONNECTION_STRING
* [test.yml] introduce the cloud config
* [TestResource] updating new test resources
* [testyml] remove the int setting
* Update sdk/communication/test-resources.json as per Bert suggestion
Co-authored-by: Bert Ong <823691+beltr0n@users.noreply.github.com>
* [test-resource] fixing the case sensitive and adding azure subscription id
* [test.yml] fixing the config as per PR feedback
* [test..yml] update the format to add new line
* [testresource] remove communication_endpoint
Co-authored-by: Bert Ong <823691+beltr0n@users.noreply.github.com>
* update to preview 6
* update swagger file & tests
* change properties format
* remove RestUpdateMessageOptions from exposed api
* update package version to 1.1.0-beta.1
* check env in runtime to support react native
* update signaling client dependency version
* update changelog
* use shim for navigator
* update signaling to beta 5
* Increment package version after release of azure-communication-sms
* Increment package version after release of azure-communication-identity
* Increment package version after release of azure-communication-chat
* bump common version
* increment package version for autorest
* fix sms changelog
* additional fix for changelog
* formatting
* bump version that was missed by automation
* bump version for phone numbers
Co-authored-by: Bert Ong <823691+beltr0n@users.noreply.github.com>
* Moving tests under public folder
* enabling minmax jobs
* disabling minmax test for now
* moving files referencing generated under /internal
* nit fix command
`@azure/core-auth` added the `NamedKeyCredential` and `AzureNamedKeyCredential` symbols in version 1.3.0. Currently only `@azure/core-amqp` and `@azure/event-hubs` references these directly and need to be using 1.3.0, but updating in all packages that depend on it to satisfy rush.
* Upgrading to opentelemetry 1.0.0 (rc.0)
Did a few things that made this MUCH easier.
Now that everyone is using the createSpan from @azure/core-tracing we
no longer need _every_ project to reference opentelemetry/api! That has
been removed as part of this PR.
Unfortunately, the leaky nature of JS means that packages still need to
worry about opentelemetry when they build their browser bundle for
testing. To make that simpler I've added a common function to dev-tool
that everyone can call in their rollup that will give them the correct
named exports. This is hooked up for everyone at this point, so the next
time something like this happens I should be able to control it
centrally.
Now for the API breaking changes that I had to fix:
- CanonicalCode is gone and is replaced with SpanStatusCode.
SpanStatusCode has a much smaller set of codes (literally: ERROR, OK
or UNSET) so that simplified most of the way we were handling setting
a span status on error.
- There is a new field (`tracingContext`) that contains `Context`. You
now pass a context, not a span, to indicate what your "parent" is.
You'll see this where I've removed `SpanOptions.parentSpan`. Mostly
it's a simple replacement.
* add samples
* fix typo
* change readme
* samples fixes in JS, and links in READMEs
* fix after rebase
* Fix samples to use endpoint, updateMessage, and fix a bug in response deserialization
* address comment
Co-authored-by: Dominik Messinger <domessin@microsoft.com>
Related to #13723
This PR removes the tsconfig.json file from the lint script for the communication packages. As described in #10361, we no longer need to lint this file as long as it is extending from the common one.
This resolves about 12 linter errors in each of the communication packages.
Turns out these were the only errors for communication-common package, so removed the `|| exit 0` part so that future linter errors in this package are caught when they break the build
I confirmed with the TypeScript team that patch releases should not introduce breaking changes. This PR uses tilde in TypeScript version we use so get the latest patch releases for v4.1.
* [package] update the version number
* [autorest] generate new autorest
* [autorest] phone number generated
* [autorest] phone number generated from autorest
* [autorest] Update package version manually
* Increment package version after release of azure-communication-common
* Increment package version after release of azure-communication-phone-numbers
* Increment package version after release of azure-communication-identity
* Increment package version after release of azure-communication-sms
* Increment package version after release of azure-communication-chat
* Increment package version number
Co-authored-by: Josh Lai <joshlai@microsoft.com>
* update changelogs for release
* address PR comments
* bump chat version to beta.6
* Revert "bump chat version to beta.6"
This reverts commit 438c3d3659.
* Luc/Rename updateThread to updateTopic (#13820)
* rename update options
* rename update options
* update tests
* use communication user identifier model instead of communication user
* use communication user identifier model instead of communication user
* update recordings
* use communication identifier instead of using the generated model
* use common methods to map the models
* use common methods to map the models
* generate repeatability-Request-Id if not populated
* remove useless test method
* use CommunicationIdentifierKind
- Making some changes to simplify the "duplicate" models that we're exporting to mirror the opentelemetry models (addresses feedback from @xirzec and @bterlson)
- Switch core-tracing back to the `-preview` version naming style. Changing it mid-stream like we did breaks internal tooling.
* [communication-common] Add options bag for getToken function, mark @hidden where applicable
* rename url to endpoint in CommunicationIdentityClient constructor
* Update live test templates to use matrix generation
* Update sdk live tests to use matrix generation, cloud config stages
* Fix live test matrix filter parity errors
* Remove matrix filters. Opt-in most tests to samples and min/max testing
* Fix post step template parameter in monitor live tests
* Filter dependency version for live tests that don't support it
* Only publish test results for browser and node tests
As part of prepping for the next release of OpenTelemetry we found some code patterns that were going to become a large maintenance burden for us, primarily around the parenting of spans. To make this easier I've removed as many duplicate implementation of createSpan and tried to centralize everything into core-tracing instead.
This won't completely remove changes needed for a newer version of OpenTelemetry but it'll eliminate one of the bigger bottlenecks.
* [EventGrid] Update core-auth reference
In b6040c5451 we took a dependency on
some new surface area in @azure/core-auth. That has now been released as
version 1.2.0, so we bump our minimum dependency to that version.
The other packages have been updated as well, to keep versions consistent.
* [EventGrid] Prepare for 3.0.0-beta.3 release
* migrate changes from feature/communication-chat-2020-11-01-preview3
* migrate changes from feature/communication-chat-2020-11-01-preview3: format code
* Add live tests for realtime notifications (#13273)
* Add live tests for notifications
* Update recordings
* update signaling package version (#13430)
* Revert "Add live tests for realtime notifications (#13273)" (#13487)
This reverts commit 11b8e52cd5.
* Add back tests (#13597)
Co-authored-by: knvsl <10719831+knvsl@users.noreply.github.com>
This PR removes our dependency on the unmaintained package "karma-remap-istanbul" and replaces it with a smaller karma plugin ("karma-sourcemap-loader") that allows karma-coverage to load source maps from the disk correctly.
I tested and confirmed that the generated coverage data has the correct source TS files.
* [Docs] Upgrade typedoc to v0.15.2 to match that used by docs team
* standardize the docs script for cosmos, kv-admin, comm-common, and storage-internal-avro
## What
Audit Track 2 libraries and address any linting errors in package.json
Fixed anything that seemed safe, and anything that seemed like a
potential breaking change was confirmed with the owners or reduced
to a warning.
## Why
Another step towards being able to run the linter in our builds.
fixes#10597
This newly added command `docs` can help increase the quality of our documentation comments. It enables us to have a tight feedback loop on what is being generated as a documentation of our packages. I am pinning `typedoc` to v0.15.0 for now because this is the version being used for generating docs at `docs.microsoft.com`. This version should be updated when that team updates theirs.
Fixes https://github.com/Azure/azure-sdk-for-js/issues/12928
* upgrade TS version and fix compilation issues
* upgrade the linting parser version and fix new linting issues
* fix cosmos sample
* address feedback
* fix linting issues in formrecognizer tests
* use unknown instead of any across our code
* address more issues
* cleanup package.json in core-http
* revert noisy linting changes caused by vanilla eslint rules not TS aware
* allow the poller to have results of type void
* fixing samples
* fix keyvault-certificates' sample