SHA256
fix(android): retain HTTPS sessions with upstream default cookie flags
Reproduce browser-success/native-401 with unmodified upstream SESSION_SECURE=false behind HTTPS. Keep cookies in the existing HTTPS-only origin-bound encrypted jar regardless of the server Secure attribute; preserve TLS, redirect, expiry and origin protections. Distinguish credential/2FA rejection from missing/rejected session handoff and clear stale login errors on retry. Verify 13 JVM tests plus the 7-test real-server suite in both Secure/default-cookie modes, including bad-password then successful native login. Bump Android preview to 0.2.1/code 3; extend CI and document the defect without claiming access to the user's production server.
This commit is contained in:
1 parent
129eac675c
commit
4b483c20e3
16 files changed
+220
-22
No files matched your search
+27
-1
@@ -8,7 +8,33 @@ tests are in `androidTestNative` / `androidTestNativeIntegration`, JVM native po
|
||||
tests, and Swift production contracts/transport tests. Archived WebView tests are
|
||||
not included in the native suites or counted toward native completion.
|
||||
|
||||
## Executed locally — 2026-10-21
|
||||
## Android 0.2.1 / code 3: reproduced login regression
|
||||
|
||||
The user reported immediate login failure despite a working direct browser login.
|
||||
The root cause was reproduced using upstream's `SESSION_SECURE=false` default over
|
||||
HTTPS: browser/protocol login succeeded, but the old Android jar discarded the
|
||||
session cookie and its next authenticated API request failed. The fixed jar binds
|
||||
all cookies to HTTPS itself instead of requiring this optional server attribute.
|
||||
HTTP, cross-origin requests/redirects, invalid certificates, plaintext persistence
|
||||
and session-only cookie persistence remain disallowed.
|
||||
|
||||
- Before-fix failure retained in `/home/neste/yuvomi-login-cookie-before.log` and
|
||||
`/home/neste/yuvomi-login-cookie-before.xml` (synthetic fixture only).
|
||||
- After-fix upstream-default cookie mode: 7 instrumentation tests passed,
|
||||
zero failures/skips; complete harness exited successfully.
|
||||
- Secure-cookie mode: the same 7 tests passed, zero failures/skips.
|
||||
- Both modes test a rejected password followed by successful retry with no stale
|
||||
error, native dashboard/recreation, task/note/shopping calls and logout.
|
||||
- 13 JVM tests passed, including default-cookie persistence/deletion, expired/empty
|
||||
session detection and separate credential/2FA/session-handoff error messages.
|
||||
- Logs: `/home/neste/yuvomi-login-cookie-after.log`,
|
||||
`/home/neste/yuvomi-login-secure-after.log`, `/home/neste/yuvomi-login-unit.log`.
|
||||
|
||||
See [login troubleshooting](login-troubleshooting.md). This reproduces a matching
|
||||
compatibility defect without accessing the user's server or credentials; it does
|
||||
not claim inspection of that particular server's configuration.
|
||||
|
||||
## Initial 0.2.0 preview evidence — 2026-10-21
|
||||
|
||||
| Check | Observed result |
|
||||
| --- | --- |
|
||||
|
||||
Reference in new issue
Block a user