aws / amazon-chime-sdk-js

A JavaScript client library for integrating multi-party communications powered by the Amazon Chime service.
Apache License 2.0
699 stars 472 forks source link

Node v20 support #2825

Closed j0d0nn closed 5 months ago

j0d0nn commented 6 months ago

Issue #2654

Description of changes:

Adds v20 to the list of supported node versions and v10 to the supported npm versions. The only non-test code that was changed was the way to get at the webcrypto API, which now requires going through the node:crypto package.

Testing:

Tested using npm run test against a local node 20.10.0. I also installed the built package into my personal app that's using Node 20 and verified the functionality (audio only and data messages, but it works!).

Checklist:

  1. Have you successfully run npm run build:release locally? yes - the docs end up modified because the URLs point to my fork; not committing those.

  2. Do you add, modify, or delete public API definitions? If yes, has that been reviewed and approved? no

  3. Do you change the wire protocol, e.g. the request method? If yes, has that been reviewed and approved? no

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

j0d0nn commented 5 months ago

@hensmi-amazon @ltrung apologies for the direct ping (looking at recent active committers), but I was hoping I could get permission to run CI on this PR?

xuesichao commented 5 months ago

Hi @j0d0nn Thanks for your contribution. Unfortunately our repo does not support us to give access to external contributor. Let me check out your commit and verify your PR.

j0d0nn commented 5 months ago

Thank you @xuesichao ! Looks like a ton of failures, but most of them seem to be environmental if I'm reading it right?

xuesichao commented 5 months ago

@j0d0nn, the failures were anticipated. The CI can obtain credentials only when a PR is initiated by members of the Amazon Chime SDK JS Dev. I've cherry-picked your commit and raised PR #2827. Therefore, we will be co-authors of this change. Thank you for your contribution, and for resolving the build error by implementing the getCrypot method and unit tests. That helps a lot.