5fc07aed7a
Fourth slice of the app.js split. Moves TOTP (base32Decode, generateTOTP, parseOtpAuthUri) plus the TOTP-secret and custom-field AES-GCM wrappers to js/app.totp.js. Loads before app.js (pure declarations), after app.crypto.js (uses encryptPwd/decryptPwd). Also called by app.import.js and app.sync.js via shared global scope. - Byte-for-byte identical extraction; no duplicate const; syntax OK on all five app parts. - NEW: js/tests/totp.test.js — 13 tests including the 5 RFC 6238 Appendix B reference vectors (generateTOTP reads Date.now(), so each case stubs the sandbox clock to the vector's fixed time), base32 decode edge cases, and parseOtpAuthUri. Extraction AND new coverage in one slice. - Suite: 42 → 55 tests, all green. - Assets regenerated (manifest now embeds all 6 ordered JS files: argon2 → crypto → totp → import → app → sync); also fixes the previous import commit's not-yet-rebuilt manifest. - Delphi build artifacts (*.vrc, *.$manifest) gitignored. app.js: 11936 → 10138 lines (4 modules extracted, ~1800 lines). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
12 lines
565 B
Plaintext
12 lines
565 B
Plaintext
// Auto-generated by BuildAssets.ps1 - do not edit by hand.
|
|
#pragma code_page(65001)
|
|
|
|
INDEX_HTML RCDATA "Z:\\password-manager\\index.html"
|
|
JS_ARGON2_JS RCDATA "Z:\\password-manager\\js\\argon2.js"
|
|
JS_APP_CRYPTO_JS RCDATA "Z:\\password-manager\\js\\app.crypto.js"
|
|
JS_APP_TOTP_JS RCDATA "Z:\\password-manager\\js\\app.totp.js"
|
|
JS_APP_IMPORT_JS RCDATA "Z:\\password-manager\\js\\app.import.js"
|
|
JS_APP_JS RCDATA "Z:\\password-manager\\js\\app.js"
|
|
JS_APP_SYNC_JS RCDATA "Z:\\password-manager\\js\\app.sync.js"
|
|
CSS_STYLE_CSS RCDATA "Z:\\password-manager\\css\\style.css"
|