Teknium
f98cb00a8b
fix(vault): 2FA review follow-ups — per-digit fill only for an unmistakable maxlength=1 widget; honour otpauth digits/period/algorithm
...
Reviewer findings on #107585 :
- build_otp_fills split any >=4 code-like controls into digits. A page with
promo/zip/referral 'code' inputs next to the real OTP box would have had a
digit sprayed across unrelated fields. Split now requires exactly len(code)
controls that are all maxlength=1, same form, adjacent in DOM order
(inspection JS exports maxLength); anything else fills ONE field, the
best-scoring one. Verified on the real Browser Use stack: 6-box widget gets
one digit each; scattered page fills only the one-time-code input.
- normalize_otp_secret dropped digits/period/algorithm from otpauth:// URIs,
so an 8-digit or SHA-256 authenticator would get wrong codes. Non-default
parameters are now stored as seed|digits|period|algo and honoured (RFC 6238
SHA-256 8-digit vector added); hotp:// is rejected explicitly.
- rebase on main (prompts.ts conflict) + prettier.
2026-09-10 11:48:01 -07:00
..
2026-09-07 07:10:28 -07:00
2026-09-07 16:48:29 -07:00
2026-09-09 13:01:48 -07:00
2026-09-10 11:48:01 -07:00
2026-09-06 20:50:02 +05:30
2026-09-10 13:23:00 +02:00
2026-09-09 11:29:56 -07:00
2026-09-09 12:21:28 +05:30
2026-09-07 08:07:26 -07:00
2026-09-06 05:37:03 -07:00
2026-09-06 05:37:03 -07:00
2026-09-10 09:11:00 -07:00
2026-09-07 07:06:58 -07:00
2026-09-07 06:02:22 -07:00
2026-09-07 07:06:58 -07:00
2026-09-09 12:19:13 +05:30
2026-09-09 11:29:56 -07:00
2026-09-07 05:24:15 -07:00
2026-09-07 05:24:15 -07:00
2026-09-07 06:07:16 -07:00
2026-09-07 21:43:54 +05:30
2026-09-07 08:09:57 -07:00
2026-09-06 22:45:31 +05:30
2026-09-07 21:22:49 -07:00
2026-09-07 08:13:01 -07:00
2026-09-07 05:59:08 -07:00
2026-09-09 09:21:55 -07:00
2026-09-05 16:44:23 +05:30
2026-09-10 03:04:51 -07:00
2026-09-10 10:27:07 -07:00
2026-09-07 08:06:48 -07:00
2026-09-07 08:06:48 -07:00
2026-09-07 06:15:43 -07:00
2026-09-07 08:19:32 -07:00
2026-09-07 07:10:28 -07:00
2026-09-09 13:01:48 -07:00
2026-09-09 16:30:24 -07:00
2026-09-09 11:29:56 -07:00
2026-09-10 10:35:07 -07:00
2026-09-07 21:10:50 -07:00
2026-09-07 08:08:04 -07:00
2026-09-06 14:19:42 -07:00
2026-09-07 06:05:13 -07:00
2026-09-09 13:08:25 +05:30
2026-09-09 10:58:16 -07:00
2026-09-07 08:28:43 -07:00
2026-09-10 10:27:07 -07:00
2026-09-10 10:27:07 -07:00
2026-09-07 06:15:43 -07:00
2026-09-10 09:22:31 -07:00
2026-09-07 21:43:54 +05:30
2026-09-06 09:09:00 -07:00
2026-09-06 09:11:04 -07:00
2026-09-09 12:17:57 +05:30
2026-09-09 12:21:28 +05:30
2026-09-07 21:43:54 +05:30
2026-09-07 08:24:54 -07:00
2026-09-10 09:22:31 -07:00
2026-09-10 10:35:07 -07:00
2026-09-08 04:38:47 -07:00
2026-09-07 06:15:43 -07:00
2026-09-06 05:35:12 -07:00
2026-09-09 10:32:01 +05:30
2026-09-07 07:10:28 -07:00
2026-09-07 07:10:28 -07:00
2026-09-09 10:31:26 +05:30
2026-09-09 10:31:26 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-06 22:56:51 +05:30
2026-09-09 11:29:56 -07:00
2026-09-10 10:45:57 -07:00
2026-09-06 13:21:17 -07:00
2026-09-10 10:27:07 -07:00
2026-09-09 09:51:31 -07:00
2026-09-09 12:17:57 +05:30
2026-09-10 10:27:07 -07:00
2026-09-10 13:23:00 +02:00
2026-09-09 09:51:31 -07:00
2026-09-09 12:17:57 +05:30
2026-09-06 13:21:17 -07:00
2026-09-06 13:21:17 -07:00
2026-09-09 16:30:24 -07:00
2026-09-07 06:15:43 -07:00
2026-09-09 11:42:43 -07:00
2026-09-06 14:19:42 -07:00
2026-09-06 13:21:17 -07:00
2026-09-10 02:44:26 -07:00
2026-09-10 11:48:01 -07:00
2026-09-10 11:48:01 -07:00
2026-09-09 02:35:41 -07:00