Commit Graph
12 Commits
Author SHA1 Message Date
ldm0 382c34c749 refactor(cookies): drop unreleased timestamp compatibility 2026-11-02 11:09:13 +08:00
ldm0 2e4fa728e8 refactor(cookies): store creation times as Unix microseconds 2026-11-02 11:09:13 +08:00
ldm0 8b0701deeb fix(cookies): apply age-aware Lax-by-default request policy
Record and preserve cookie creation time across updates, browser imports and cache persistence. Apply modern Lax-by-default request inclusion, including the age-bounded unsafe top-level navigation allowance; keep explicit Lax and Strict semantics, raw cookie visibility and diagnostic exclusion reasons. Cover age boundaries, updates, imports, persistence and navigation contexts.
2026-11-02 11:09:13 +08:00
ldm0 3b76d63b3a refactor(sqlite): unify writeback failure handling 2026-11-01 04:03:38 +08:00
ldm0 208c670738 refactor(cookies): keep access touches in memory 2026-11-01 04:03:38 +08:00
ldm0 f1ab617cf2 refactor(storage): remove automatic SQLite writeback retries
Discard failed Cookie batches without requeueing, following Chromium's commit
behavior. Preserve the live canonical jar and the normal 30-second/512-operation
schedule for new mutations, and report persistence errors without replaying the
old batch on flush/close.

Remove backoff state, error classification, and per-call failure admission.
Retain explicit-flush recovery only for localStorage, whose absolute area
metadata must stay paired with its failed entry deltas.

Cover idle failures, subsequent batch deadlines and operation thresholds,
non-replaying flush/close, Cookie jar versus SQL state, and actual SQLITE_FULL
recovery by explicit localStorage flush.
2026-11-01 04:03:38 +08:00
ldm0 42680d286e refactor(storage): apply idempotent deltas without existence tracking
Keep the latest Put or Delete for each key rather than eliding transient-row
deletes. Remove existed from Cookie and localStorage deltas and Cookie mutation
observers, then remove the shared uncertain-commit correction hook. Preserve
Cookie Touch composition and atomic, idempotent retry behavior.

Replace optimization-specific assertions with actual SQL replay tests covering
a published put followed by deletion and clear followed by a newer put.
2026-11-01 04:03:38 +08:00
ldm0 6584ff274f refactor(storage): keep SQLite databases directly in partition directory 2026-11-01 04:03:38 +08:00
ldm0 5e6482996e feat(storage): open Cookie and localStorage databases on first use 2026-11-01 04:03:38 +08:00
ldm0 b5cf04a307 refactor(storage): switch SQLite namespaces without JSON migration 2026-11-01 04:03:38 +08:00
ldm0 6708ecf8ac feat(profile): stage and recover atomic SQLite cookie and localStorage migration 2026-11-01 04:03:38 +08:00
ldm0 2defc40820 feat(cookies): persist canonical cookie deltas in SQLite 2026-11-01 04:03:38 +08:00