Password is always "[object ArrayBuffer" #9
Merged
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.
In
options.js:27
, the password is generated asbtoa(getRandomBytes(16))
.As documented on MDN,
btoa
accepts a string argument. However, sincegetRandomBytes
returns anArrayBuffer
, it is implicitly converted to a string by calling.toString()
on it - which for anArrayBuffer
returns"[object ArrayBuffer]"
.In the next line, the last 2 characters of the Base64 encoded password are then removed, effectively setting
password
toW29iamVjdCBBcnJheUJ1ZmZlcl
(or[object ArrayBuffer
when decoded).A possible fix for this would be something like: