Fix Uint8Array believed to be an ArrayBuffer when blacklisting based on key-id #889
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since at least the v3.21.1 release, we had an issue that appeared when blacklisting Representation based on the keyID (e.g. when a
keystatuseschange
event indicates us that we are "output-restricted and when fallbacking is enabled through the relatedkeySystems
options).This issue prevented from fallbacking, it just threw an Error message along the lines of:
TypeError: DataView: expected ArrayBuffer, got Uint8Array
The root cause was linked to typing issues (we will consequently cleverly redirect all wrong-doing to typescript, not our fault at all here :p) where an Uint8Array was considered to be a valid ArrayBuffer.
At some point, a
new DataView(whatIThoughtToBeAnArrayBufferWhichIsInRealityAUint8Array)
was done, leading to the aforementioned error.The fix here is to now consider the type to be an Uint8Array and to do Uint8Array things instead (i.e. no DataView anymore).