cloudscape-design / components

React components for Cloudscape Design System
https://cloudscape.design/
Apache License 2.0
2.3k stars 140 forks source link

fix: CopyToClipboard is stuck in insecure contexts #2368

Closed connorlanigan closed 2 weeks ago

connorlanigan commented 2 weeks ago

Description

When a page runs in an insecure context (e.g. plain HTTP), the browser's clipboard API is not available. In this case, the CopyToClipboard component used to get stuck in the pending state. With this change, the component shows the error state instead.

Related links, issue #, if available: n/a

How has this been tested?

Review checklist _The following items are to be evaluated by the author(s) and the reviewer(s)._ #### Correctness - _Changes include appropriate documentation updates._ - _Changes are backward-compatible if not indicated, see [`CONTRIBUTING.md`](https://github.com/cloudscape-design/components/blob/main/CONTRIBUTING.md#public-apis)._ - _Changes do not include unsupported browser features, see [`CONTRIBUTING.md`](https://github.com/cloudscape-design/components/blob/main/CONTRIBUTING.md#browsers-support)._ - _Changes were manually tested for accessibility, see [accessibility guidelines](https://cloudscape.design/foundation/core-principles/accessibility/)._ #### Security - _If the code handles URLs: all URLs are validated through [the `checkSafeUrl` function](https://github.com/cloudscape-design/components/blob/main/src/internal/utils/check-safe-url.ts)._ #### Testing - _Changes are covered with new/existing unit tests?_ - _Changes are covered with new/existing integration tests?_

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

codecov[bot] commented 2 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.50%. Comparing base (cead966) to head (649ed0d).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2368 +/- ## ======================================= Coverage 95.50% 95.50% ======================================= Files 708 708 Lines 18883 18886 +3 Branches 6326 6326 ======================================= + Hits 18034 18037 +3 - Misses 795 841 +46 + Partials 54 8 -46 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.