diff --git a/docs/docs/CHANGELOG.md b/docs/docs/CHANGELOG.md index d3eba2f..2f028b1 100644 --- a/docs/docs/CHANGELOG.md +++ b/docs/docs/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - When parsing [Open Graph tags](./admin/configuration/open-graph.mdx), add any URLs found in the responses to a temporary "allow cache" so that social preview images work. - Proof of work solving has had a complete overhaul and rethink based on feedback from browser engine developers, frontend experts, and overall performance profiling. - One of the biggest sources of lag in Firefox has been eliminated: the use of WebCrypto. Now whenever Anubis detects the client is using Firefox (or Pale Moon), it will swap over to a pure-JS implementation of SHA-256 for speed. +- Optimize the performance of the pure-JS Anubis solver. - Web Workers are stored as dedicated JavaScript files in `static/js/workers/*.mjs`. - Pave the way for non-SHA256 solver methods and eventually one that uses WebAssembly (or WebAssembly code compiled to JS for those that disable WebAssembly). - Legacy JavaScript code has been eliminated. diff --git a/web/js/worker/sha256-purejs.mjs b/web/js/worker/sha256-purejs.mjs index 60d9971..96a6014 100644 --- a/web/js/worker/sha256-purejs.mjs +++ b/web/js/worker/sha256-purejs.mjs @@ -6,7 +6,7 @@ const calculateSHA256 = (text) => { return hash.digest(); }; -function uint8ArrayToHexString(arr) { +function toHexString(arr) { return Array.from(arr) .map((c) => c.toString(16).padStart(2, "0")) .join("");