kayu-s / supergirl

Chrome extension for GitHub
https://chrome.google.com/webstore/detail/supergirl/mohfimjhnlecfeabdhmpgllankeobmmm
MIT License
1 stars 0 forks source link

"RangeError: Maximum call stack size exceeded at getImageBase64."を修正する #24

Closed michiharu closed 1 year ago

michiharu commented 1 year ago

getImageBase64 は、2つの問題があります。

"RangeError: Maximum call stack size exceeded"について

実際にgithubのアバターURLを処理して上記エラーが発生することを確認しました。

image

この対処法を紹介しているリンクがこちらです。 Maximum call stack size exceeded エラーの解決策【applyの限界】

applayを使用せずにString.fromCharCode(...new Uint8Array(arrayBuffer))としても改善しなかったので、関数、メソッドいずれにしても引数の制限に抵触するようです。

TypeScriptでのbtoaの扱い

btoaはnodejs環境でdeprecated扱いであるため、browser側で実行することを明示的に伝えるようwindow.btoa(...)と修正する必要があります。

image

Bufferを使うように修正する方針もありますが、以下のリンクによるとwebpackの構成を修正し、3つのパッケージを追加する必要があります。 Uncaught ReferenceError: Buffer is not defined

browserにおいてbtoaがdeprecated扱いである訳ではないため、シンプルにwindow.btoa(...)を使用するだけでよいと思います。