zikzak_session 0.2.0
zikzak_session: ^0.2.0 copied to clipboard
A session library for ZikZak.
Changelog #
0.2.0 - 2026-08-27 #
Features #
- Transportable session API:
SessionManagerfacade exposingsave/load/list/deleteplus whole-sessionexport/import(US transportable sessions). ExportSessionUseCase/ImportSessionUseCasemove aPortableSessionacross consumers as a self-contained artifact.PortableSessionArtifact+SessionArtifactCodecbundle cookies + DOM storage into a versioned, integrity-checked, transportable artifact (encode/decode).SessionValidatorconsistency checks applied onsaveandimport.- DI:
registerSessionDependenciesnow also wires the transport use cases behindSessionManager.
Fixes #
- Pin
zuraffato^6.0.0and add.pubignoreso the package is ready for pub.dev publish.
Tests #
- Harden transport, validator, and store session tests.
Chores #
- Add MIT LICENSE (publish requirement).
0.1.0 - 2026-08-24 #
Initial publishable release #
SessionPortgeneral contract:save,load(id),list(),delete(id)overPortableSession— technology-agnostic, no browser internals exposed (FR-1/FR-7, US4).FileSessionStore(Directory)implementsSessionPort; sessions are plain JSON files under<store>/sessions/<id>.json; atomic save via.tmpthen rename (FR-2, FR-009).- Corruption fail-safety per the test contract: corrupt session file is skipped by
list()(reported inlastReadErrors); a.tmpleftover is ignored; a file missingidis treated as corrupt;load()of a corrupt id returnsnull, never throws (FR-3, SC-005). - Entities:
PortableSession(id, name, origin, createdAt, updatedAt, cookies, storage +copyWith),CookieEntry(name, value, domain, path, expiresAt?, secure, httpOnly),StorageEntry(key, value, area, origin) — JSON-serializable via generated.g.dart(FR-4). registerSessionDependencies(getIt, storeDir:)wires the real file-backed stack behindSessionPort+ the zfa-generated repository/usecase surface (FR-5).- Publishable: hosted
zuraffa: ^6.0.1(no path dep, nodependency_overrides, nopublish_to: 'none') (FR-6).
Known consumers #
zikzak_inappwebview— wiresSessionPort/FileSessionStorebehind aWebViewSessionBridgefor portable cookie+storage state (separate PR).