owpengram-server/internal/app/account
Astra ecdb14aaca account: stop rotating the SRP challenge on every getPassword read
GetPassword minted a brand-new random SRP server secret and B on every call
while only ever assigning SRPID once (when zero). Two account.getPassword
calls in a row -- e.g. a settings screen refreshing state, then the transfer-
ownership dialog's own cloudPassword().reload() moments later -- silently
invalidated each other's B with no signal the client could detect (SRPID
unchanged), so a password check built from the first response's B failed
with PASSWORD_HASH_INVALID even though the typed password was correct.

The challenge now stays stable across reads and only rotates when it's
missing entirely; UpdatePasswordSettings/RecoverPassword already mint their
own fresh challenge whenever the password actually changes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-13 22:30:02 +01:00
..
business.go feat: sync chatlist sharing support 2026-07-06 21:06:33 +08:00
business_test.go chore: refresh gramsrv public release 2026-06-30 14:37:43 +08:00
doc.go Initial open source release 2026-06-04 01:37:39 +08:00
email_signup_phone_change_test.go fix for phone generation on email signup 2026-07-14 00:30:52 +03:00
lifecycle.go feat: sync visible product branding 2026-07-20 16:49:17 +08:00
lifecycle_test.go feat: sync account deletion lifecycle 2026-07-19 20:35:58 +08:00
login_email_test.go feat: sync configurable OTP delivery providers 2026-07-17 17:04:39 +08:00
phone_change.go Merge remote-tracking branch 'upstream/main' into dev 2026-07-18 09:19:27 +03:00
phone_change_test.go feat: sync configurable OTP delivery providers 2026-07-17 17:04:39 +08:00
service.go account: stop rotating the SRP challenge on every getPassword read 2026-09-13 22:30:02 +01:00
service_test.go account: stop rotating the SRP challenge on every getPassword read 2026-09-13 22:30:02 +01:00
srp.go fix: sync harden auth, privacy, and PTS state 2026-08-02 14:12:04 +08:00