zuraffa_session 1.1.0
zuraffa_session: ^1.1.0 copied to clipboard
Portable browser sessions for the Zuraffa ecosystem: self-contained units of webview state (cookies + DOM storage) that persist to a relocatable store and reload onto a specific site.
Changelog #
1.1.0 #
- Package renamed from
zikzak_session(0.2.0) tozuraffa_session— same portable-session API, new pub.dev identity aligned with the Zuraffa fleet (zuraffa_permissions,zuraffa_auth, …). Consumers migrate by swapping the dependency and the import:package:zikzak_session/zikzak_session.dart→package:zuraffa_session/zuraffa_session.dart. - Built on the published
zuraffaframework (^6.2.2) (was ^6.0.0). - Full Zuraffa package template: homepage/repository/issue_tracker/topics metadata, MIT LICENSE.
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).