@auth-craft/client 0.2.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -0
- package/dist/core/core.d.ts +13 -0
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/core.js +4 -0
- package/dist/core/core.js.map +1 -1
- package/dist/transport/client.d.ts +22 -1
- package/dist/transport/client.d.ts.map +1 -1
- package/dist/transport/client.js +130 -99
- package/dist/transport/client.js.map +1 -1
- package/dist/transport/index.d.ts +5 -1
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +3 -0
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/inline-worker.d.ts +6 -0
- package/dist/transport/inline-worker.d.ts.map +1 -1
- package/dist/transport/inline-worker.js +8 -1
- package/dist/transport/inline-worker.js.map +1 -1
- package/dist/transport/provider/storage/session-hint-channel.d.ts +34 -0
- package/dist/transport/provider/storage/session-hint-channel.d.ts.map +1 -0
- package/dist/transport/provider/storage/session-hint-channel.js +81 -0
- package/dist/transport/provider/storage/session-hint-channel.js.map +1 -0
- package/dist/transport/provider/storage/session-hint.d.ts +65 -0
- package/dist/transport/provider/storage/session-hint.d.ts.map +1 -0
- package/dist/transport/provider/storage/session-hint.js +117 -0
- package/dist/transport/provider/storage/session-hint.js.map +1 -0
- package/dist/transport/types.d.ts +52 -4
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/transport/worker.d.ts +7 -1
- package/dist/transport/worker.d.ts.map +1 -1
- package/dist/transport/worker.js +123 -0
- package/dist/transport/worker.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/transport/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/transport/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,14 @@ export { cookieParser } from './provider/parser/cookie.js';
|
|
|
12
12
|
export { createBodyProvider, createCookieProvider, } from './provider/presets.js';
|
|
13
13
|
export type { IndexedDBStorageOptions } from './provider/storage/indexeddb.js';
|
|
14
14
|
export { createIndexedDBStorage } from './provider/storage/indexeddb.js';
|
|
15
|
+
export type { SessionHintOptions, SessionHintStore } from './provider/storage/session-hint.js';
|
|
16
|
+
export { createSessionHint } from './provider/storage/session-hint.js';
|
|
17
|
+
export type { SessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
18
|
+
export { createSessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
15
19
|
export { bodyStrategy, createBodyStrategy } from './provider/strategy/body.js';
|
|
16
20
|
export { cookieStrategy, createCookieStrategy } from './provider/strategy/cookie.js';
|
|
17
21
|
export { deserializeResult, toResult } from './result.js';
|
|
18
|
-
export type { AuthResult, AuthStrategy, DebugHooks, DedupeConfig, ExchangeTokenOptions, FetchEnvelope, FetchGuardOptions, FetchGuardRequestInit, NetworkErrorDetail, ProviderPresetConfig, RefreshReason, RefreshTokenStorage, RequestMetrics, RetryConfig, SerializedFile, SerializedFormData, SerializedFormDataEntry, StorageErrorCallback, StorageErrorContext, TokenInfo, TokenParser, TokenProvider, TransportResult, WorkerConfig, } from './types.js';
|
|
22
|
+
export type { AuthResult, AuthStrategy, DebugHooks, DedupeConfig, ExchangeTokenOptions, FetchEnvelope, FetchGuardOptions, FetchGuardRequestInit, NetworkErrorDetail, ProviderPresetConfig, RefreshReason, RefreshTokenStorage, RequestMetrics, RetryConfig, SerializedFile, SerializedFormData, SerializedFormDataEntry, SessionHintConfig, StorageErrorCallback, StorageErrorContext, TokenInfo, TokenParser, TokenProvider, TransportResult, WorkerConfig, } from './types.js';
|
|
19
23
|
export { base64ToArrayBuffer, isBinaryContentType, } from './utils/binary.js';
|
|
20
24
|
export { deserializeFormData, isFormData, isSerializedFormData, serializeFormData, } from './utils/formdata.js';
|
|
21
25
|
export { clearProviders, getProvider, hasProvider, listProviders, registerProvider, unregisterProvider, } from './utils/registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
package/dist/transport/index.js
CHANGED
|
@@ -17,6 +17,9 @@ export { cookieParser } from './provider/parser/cookie.js';
|
|
|
17
17
|
export { createBodyProvider, createCookieProvider, } from './provider/presets.js';
|
|
18
18
|
// Storage modules
|
|
19
19
|
export { createIndexedDBStorage } from './provider/storage/indexeddb.js';
|
|
20
|
+
export { createSessionHint } from './provider/storage/session-hint.js';
|
|
21
|
+
// Session hint — skip the boot refresh when nobody ever logged in here
|
|
22
|
+
export { createSessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
20
23
|
export { bodyStrategy, createBodyStrategy } from './provider/strategy/body.js';
|
|
21
24
|
// Strategy modules
|
|
22
25
|
export { cookieStrategy, createCookieStrategy } from './provider/strategy/cookie.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,8BAA8B;AAC9B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,8CAA8C;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AAMtB,8CAA8C;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,8BAA8B;AAC9B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,8CAA8C;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AAMtB,8CAA8C;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,uEAAuE;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrF,iFAAiF;AACjF,8DAA8D;AAC9D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA6B1D,mDAAmD;AACnD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,0CAA0C;AAC1C,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,qBAAqB;AACrB,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
@@ -34,6 +34,12 @@ export declare class InlineWorker implements WorkerLike {
|
|
|
34
34
|
}) => void) | null;
|
|
35
35
|
/** The loop's host scope: it reads `onmessage` and posts back via `postMessage`. */
|
|
36
36
|
private readonly scope;
|
|
37
|
+
/**
|
|
38
|
+
* Releases loop resources that outlive the message channel (the session-hint
|
|
39
|
+
* BroadcastChannel). A real Worker gets this for free when its realm is torn
|
|
40
|
+
* down; running inline there is no realm to discard, so `terminate()` must.
|
|
41
|
+
*/
|
|
42
|
+
private readonly disposeLoop;
|
|
37
43
|
private terminated;
|
|
38
44
|
constructor();
|
|
39
45
|
/** main → loop */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-worker.d.ts","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG9E,kFAAkF;AAClF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3E,SAAS,IAAI,IAAI,CAAC;CACnB;AAED,qBAAa,YAAa,YAAW,UAAU;IAC7C,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9E,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAE9D,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAS;IAE3B,cAaC;IAED,kBAAkB;IAClB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAO9C;IAED,SAAS,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"inline-worker.d.ts","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG9E,kFAAkF;AAClF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3E,SAAS,IAAI,IAAI,CAAC;CACnB;AAED,qBAAa,YAAa,YAAW,UAAU;IAC7C,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9E,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAE9D,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,UAAU,CAAS;IAE3B,cAaC;IAED,kBAAkB;IAClB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAO9C;IAED,SAAS,IAAI,IAAI,CAMhB;IAED,+EAA+E;IAC/E,OAAO,CAAC,OAAO;CAUhB"}
|
|
@@ -23,6 +23,12 @@ export class InlineWorker {
|
|
|
23
23
|
onerror = null;
|
|
24
24
|
/** The loop's host scope: it reads `onmessage` and posts back via `postMessage`. */
|
|
25
25
|
scope;
|
|
26
|
+
/**
|
|
27
|
+
* Releases loop resources that outlive the message channel (the session-hint
|
|
28
|
+
* BroadcastChannel). A real Worker gets this for free when its realm is torn
|
|
29
|
+
* down; running inline there is no realm to discard, so `terminate()` must.
|
|
30
|
+
*/
|
|
31
|
+
disposeLoop;
|
|
26
32
|
terminated = false;
|
|
27
33
|
constructor() {
|
|
28
34
|
// The loop posts results to the host by calling `scope.postMessage`; route
|
|
@@ -37,7 +43,7 @@ export class InlineWorker {
|
|
|
37
43
|
});
|
|
38
44
|
},
|
|
39
45
|
};
|
|
40
|
-
runWorkerLoop(this.scope);
|
|
46
|
+
this.disposeLoop = runWorkerLoop(this.scope);
|
|
41
47
|
}
|
|
42
48
|
/** main → loop */
|
|
43
49
|
postMessage(message) {
|
|
@@ -51,6 +57,7 @@ export class InlineWorker {
|
|
|
51
57
|
}
|
|
52
58
|
terminate() {
|
|
53
59
|
this.terminated = true;
|
|
60
|
+
this.disposeLoop();
|
|
54
61
|
this.scope.onmessage = null;
|
|
55
62
|
this.onmessage = null;
|
|
56
63
|
this.onerror = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-worker.js","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAUlE,MAAM,OAAO,YAAY;IACvB,SAAS,GAAgE,IAAI,CAAC;IAC9E,OAAO,GAAkD,IAAI,CAAC;IAE9D,oFAAoF;IACnE,KAAK,CAAkB;
|
|
1
|
+
{"version":3,"file":"inline-worker.js","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAUlE,MAAM,OAAO,YAAY;IACvB,SAAS,GAAgE,IAAI,CAAC;IAC9E,OAAO,GAAkD,IAAI,CAAC;IAE9D,oFAAoF;IACnE,KAAK,CAAkB;IACxC;;;;OAIG;IACc,WAAW,CAAa;IACjC,UAAU,GAAG,KAAK,CAAC;IAE3B;QACE,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,CAAC,OAA4B,EAAQ,EAAE;gBAClD,IAAI,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;oBAChB,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAuC,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB;IAClB,WAAW,CAAC,OAA4B;QACtC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,uEAAuE;YACvE,6DAA6D;YAC7D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAuC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,+EAA+E;IACvE,OAAO,CAAC,EAAc;QAC5B,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO;YAC5B,IAAI,CAAC;gBACH,EAAE,EAAE,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-tab session-hint sync.
|
|
3
|
+
*
|
|
4
|
+
* The hint in `session-hint.ts` is per-origin durable state, but each tab's
|
|
5
|
+
* worker keeps its own in-memory copy of "did a session plausibly exist". Two
|
|
6
|
+
* tabs therefore drift: log in on tab A and tab B still believes nobody ever
|
|
7
|
+
* logged in here, so it keeps failing fast until it is reloaded.
|
|
8
|
+
*
|
|
9
|
+
* `storage` events would solve this for `localStorage`, but a Worker has no
|
|
10
|
+
* `window` and never receives them. `BroadcastChannel` is the equivalent the
|
|
11
|
+
* Worker *does* have: every worker on the origin — one per tab — can post and
|
|
12
|
+
* receive on a named channel. So a login/logout publishes the new hint and every
|
|
13
|
+
* other tab's worker updates immediately, no reload required.
|
|
14
|
+
*
|
|
15
|
+
* Only the one non-secret bit travels over the channel. Any script on the origin
|
|
16
|
+
* can listen (and, under XSS, publish a forged bit) — which changes nothing,
|
|
17
|
+
* because the hint can only ever cause a request to be *skipped* or *attempted*,
|
|
18
|
+
* never authorize anything. A forged "logged in" costs one rejected refresh.
|
|
19
|
+
*/
|
|
20
|
+
export interface SessionHintChannel {
|
|
21
|
+
/** Tell other tabs the hint changed. */
|
|
22
|
+
publish(hint: boolean): void;
|
|
23
|
+
/** Stop listening and release the channel. */
|
|
24
|
+
close(): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Open the sync channel. `onRemoteChange` fires when *another* tab publishes
|
|
28
|
+
* (BroadcastChannel never echoes to the sender, so no self-notification).
|
|
29
|
+
*
|
|
30
|
+
* Returns a no-op channel where BroadcastChannel is unavailable (older runtimes,
|
|
31
|
+
* test environments) — tabs then simply stay independent, as they are today.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createSessionHintChannel(hintKey: string, onRemoteChange: (hint: boolean) => void): SessionHintChannel;
|
|
34
|
+
//# sourceMappingURL=session-hint-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint-channel.d.ts","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB,CAoDrH"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-tab session-hint sync.
|
|
3
|
+
*
|
|
4
|
+
* The hint in `session-hint.ts` is per-origin durable state, but each tab's
|
|
5
|
+
* worker keeps its own in-memory copy of "did a session plausibly exist". Two
|
|
6
|
+
* tabs therefore drift: log in on tab A and tab B still believes nobody ever
|
|
7
|
+
* logged in here, so it keeps failing fast until it is reloaded.
|
|
8
|
+
*
|
|
9
|
+
* `storage` events would solve this for `localStorage`, but a Worker has no
|
|
10
|
+
* `window` and never receives them. `BroadcastChannel` is the equivalent the
|
|
11
|
+
* Worker *does* have: every worker on the origin — one per tab — can post and
|
|
12
|
+
* receive on a named channel. So a login/logout publishes the new hint and every
|
|
13
|
+
* other tab's worker updates immediately, no reload required.
|
|
14
|
+
*
|
|
15
|
+
* Only the one non-secret bit travels over the channel. Any script on the origin
|
|
16
|
+
* can listen (and, under XSS, publish a forged bit) — which changes nothing,
|
|
17
|
+
* because the hint can only ever cause a request to be *skipped* or *attempted*,
|
|
18
|
+
* never authorize anything. A forged "logged in" costs one rejected refresh.
|
|
19
|
+
*/
|
|
20
|
+
/** Channel name; per-origin, so include the hint key to keep scopes apart. */
|
|
21
|
+
const CHANNEL_PREFIX = 'authcraft:session-hint';
|
|
22
|
+
/**
|
|
23
|
+
* Open the sync channel. `onRemoteChange` fires when *another* tab publishes
|
|
24
|
+
* (BroadcastChannel never echoes to the sender, so no self-notification).
|
|
25
|
+
*
|
|
26
|
+
* Returns a no-op channel where BroadcastChannel is unavailable (older runtimes,
|
|
27
|
+
* test environments) — tabs then simply stay independent, as they are today.
|
|
28
|
+
*/
|
|
29
|
+
export function createSessionHintChannel(hintKey, onRemoteChange) {
|
|
30
|
+
if (typeof BroadcastChannel === 'undefined') {
|
|
31
|
+
return {
|
|
32
|
+
publish() {
|
|
33
|
+
// no-op
|
|
34
|
+
},
|
|
35
|
+
close() {
|
|
36
|
+
// no-op
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
let channel = null;
|
|
41
|
+
try {
|
|
42
|
+
channel = new BroadcastChannel(`${CHANNEL_PREFIX}:${hintKey}`);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Some embedders expose the constructor but refuse to open it.
|
|
46
|
+
return {
|
|
47
|
+
publish() {
|
|
48
|
+
// no-op
|
|
49
|
+
},
|
|
50
|
+
close() {
|
|
51
|
+
// no-op
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
channel.onmessage = (event) => {
|
|
56
|
+
const hint = event.data?.hint;
|
|
57
|
+
if (typeof hint === 'boolean') {
|
|
58
|
+
onRemoteChange(hint);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
publish(hint) {
|
|
63
|
+
try {
|
|
64
|
+
channel?.postMessage({ hint });
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// A closed/failed channel must never break an auth operation.
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
close() {
|
|
71
|
+
try {
|
|
72
|
+
channel?.close();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// ignore
|
|
76
|
+
}
|
|
77
|
+
channel = null;
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=session-hint-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint-channel.js","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,8EAA8E;AAC9E,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAYhD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,cAAuC;IAC/F,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE,CAAC;QAC5C,OAAO;YACL,OAAO;gBACL,QAAQ;YACV,CAAC;YACD,KAAK;gBACH,QAAQ;YACV,CAAC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAA4B,IAAI,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,gBAAgB,CAAC,GAAG,cAAc,IAAI,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;QAC/D,OAAO;YACL,OAAO;gBACL,QAAQ;YACV,CAAC;YACD,KAAK;gBACH,QAAQ;YACV,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,CAAC,KAAgC,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;QAC9B,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,CAAC,IAAa;YACnB,IAAI,CAAC;gBACH,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,EAAwB,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;YAChE,CAAC;QACH,CAAC;QAED,KAAK;YACH,IAAI,CAAC;gBACH,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session hint — a durable "is there plausibly a session to restore?" flag.
|
|
3
|
+
*
|
|
4
|
+
* THE PROBLEM. The refresh token is an httpOnly cookie (or IndexedDB blob) the
|
|
5
|
+
* worker cannot read. So after every page reload the worker starts with an empty
|
|
6
|
+
* token state and has no way to know whether the user is logged in — the only
|
|
7
|
+
* way to find out is to *try* `POST /auth/refresh`. For an anonymous visitor
|
|
8
|
+
* that attempt can never succeed, yet it is paid on every single reload: one
|
|
9
|
+
* pointless round-trip that also has to fail before the app can render "logged
|
|
10
|
+
* out".
|
|
11
|
+
*
|
|
12
|
+
* THE FIX. Remember the answer. Login writes the hint, logout clears it, and a
|
|
13
|
+
* refresh that comes back "no session" clears it too. On the next boot the
|
|
14
|
+
* worker reads the hint first: absent means "nobody has logged in here", so
|
|
15
|
+
* skip the request entirely and fail fast with NOT_AUTHENTICATED.
|
|
16
|
+
*
|
|
17
|
+
* WHAT IT IS NOT. The hint carries no token, no user id, nothing secret — only
|
|
18
|
+
* one bit, and a *non-authoritative* one. It can be stale in both directions
|
|
19
|
+
* (cookie expired server-side while the hint says "yes"; a sibling tab logged in
|
|
20
|
+
* while this one says "no"), so it may only ever be used to skip a request that
|
|
21
|
+
* was *going to fail anyway*. Every real authorization decision stays with the
|
|
22
|
+
* backend. The hint self-heals: see `clear()` callers in the worker loop, and
|
|
23
|
+
* the BroadcastChannel sync in `session-hint-channel.ts` for cross-tab updates.
|
|
24
|
+
*
|
|
25
|
+
* WHERE IT LIVES. IndexedDB, in the same database the refresh-token storage
|
|
26
|
+
* already uses, because the worker has no `localStorage`. Reads are therefore
|
|
27
|
+
* async — which is fine: the worker awaits the hint only on the first
|
|
28
|
+
* auth-requiring request, exactly where it would otherwise have awaited a fetch.
|
|
29
|
+
* Every operation fails *open* (treated as "maybe logged in") so a broken or
|
|
30
|
+
* blocked IndexedDB degrades to today's behaviour rather than locking the user
|
|
31
|
+
* out of their own session.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* A stored session hint. `scope` lets one origin host several auth contexts
|
|
35
|
+
* (customer / tenant / system) without one clobbering another's hint.
|
|
36
|
+
*/
|
|
37
|
+
export interface SessionHintStore {
|
|
38
|
+
/**
|
|
39
|
+
* Has a session plausibly existed here? `true` = worth trying refresh.
|
|
40
|
+
* Returns `true` when storage is unreadable (fail open).
|
|
41
|
+
*/
|
|
42
|
+
get(): Promise<boolean>;
|
|
43
|
+
/** Mark that a session was established (login / successful refresh). */
|
|
44
|
+
set(): Promise<void>;
|
|
45
|
+
/** Mark that there is no session (logout, or refresh said "not authenticated"). */
|
|
46
|
+
clear(): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
export interface SessionHintOptions {
|
|
49
|
+
/** IndexedDB database name. Defaults to the refresh-token DB. */
|
|
50
|
+
dbName?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Key the hint is stored under. Pass a per-scope key when one origin runs
|
|
53
|
+
* several auth contexts, so a customer login does not imply a system session.
|
|
54
|
+
*/
|
|
55
|
+
hintKey?: string;
|
|
56
|
+
/** Observe storage failures (quota, private mode, blocked IndexedDB). */
|
|
57
|
+
onError?: (error: Error, op: 'get' | 'set' | 'clear') => void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build the session-hint store. No IndexedDB (worker in a test runner, a
|
|
61
|
+
* browser with site data blocked) yields a store that always reports "maybe
|
|
62
|
+
* logged in" and drops writes — i.e. today's always-try-refresh behaviour.
|
|
63
|
+
*/
|
|
64
|
+
export declare function createSessionHint(options?: SessionHintOptions): SessionHintStore;
|
|
65
|
+
//# sourceMappingURL=session-hint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint.d.ts","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAOH;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,wEAAwE;IACxE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,mFAAmF;IACnF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;CAC/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,gBAAgB,CAgFpF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session hint — a durable "is there plausibly a session to restore?" flag.
|
|
3
|
+
*
|
|
4
|
+
* THE PROBLEM. The refresh token is an httpOnly cookie (or IndexedDB blob) the
|
|
5
|
+
* worker cannot read. So after every page reload the worker starts with an empty
|
|
6
|
+
* token state and has no way to know whether the user is logged in — the only
|
|
7
|
+
* way to find out is to *try* `POST /auth/refresh`. For an anonymous visitor
|
|
8
|
+
* that attempt can never succeed, yet it is paid on every single reload: one
|
|
9
|
+
* pointless round-trip that also has to fail before the app can render "logged
|
|
10
|
+
* out".
|
|
11
|
+
*
|
|
12
|
+
* THE FIX. Remember the answer. Login writes the hint, logout clears it, and a
|
|
13
|
+
* refresh that comes back "no session" clears it too. On the next boot the
|
|
14
|
+
* worker reads the hint first: absent means "nobody has logged in here", so
|
|
15
|
+
* skip the request entirely and fail fast with NOT_AUTHENTICATED.
|
|
16
|
+
*
|
|
17
|
+
* WHAT IT IS NOT. The hint carries no token, no user id, nothing secret — only
|
|
18
|
+
* one bit, and a *non-authoritative* one. It can be stale in both directions
|
|
19
|
+
* (cookie expired server-side while the hint says "yes"; a sibling tab logged in
|
|
20
|
+
* while this one says "no"), so it may only ever be used to skip a request that
|
|
21
|
+
* was *going to fail anyway*. Every real authorization decision stays with the
|
|
22
|
+
* backend. The hint self-heals: see `clear()` callers in the worker loop, and
|
|
23
|
+
* the BroadcastChannel sync in `session-hint-channel.ts` for cross-tab updates.
|
|
24
|
+
*
|
|
25
|
+
* WHERE IT LIVES. IndexedDB, in the same database the refresh-token storage
|
|
26
|
+
* already uses, because the worker has no `localStorage`. Reads are therefore
|
|
27
|
+
* async — which is fine: the worker awaits the hint only on the first
|
|
28
|
+
* auth-requiring request, exactly where it would otherwise have awaited a fetch.
|
|
29
|
+
* Every operation fails *open* (treated as "maybe logged in") so a broken or
|
|
30
|
+
* blocked IndexedDB degrades to today's behaviour rather than locking the user
|
|
31
|
+
* out of their own session.
|
|
32
|
+
*/
|
|
33
|
+
/** Scope-aware DB defaults; shared with `createIndexedDBStorage`. */
|
|
34
|
+
const DEFAULT_DB_NAME = 'FetchGuardDB';
|
|
35
|
+
const STORE_NAME = 'tokens';
|
|
36
|
+
const DEFAULT_HINT_KEY = 'sessionHint';
|
|
37
|
+
/**
|
|
38
|
+
* Build the session-hint store. No IndexedDB (worker in a test runner, a
|
|
39
|
+
* browser with site data blocked) yields a store that always reports "maybe
|
|
40
|
+
* logged in" and drops writes — i.e. today's always-try-refresh behaviour.
|
|
41
|
+
*/
|
|
42
|
+
export function createSessionHint(options = {}) {
|
|
43
|
+
const dbName = options.dbName ?? DEFAULT_DB_NAME;
|
|
44
|
+
const hintKey = options.hintKey ?? DEFAULT_HINT_KEY;
|
|
45
|
+
const onError = options.onError;
|
|
46
|
+
if (typeof indexedDB === 'undefined') {
|
|
47
|
+
return {
|
|
48
|
+
// Fail open: without storage we cannot know, so keep trying refresh.
|
|
49
|
+
async get() {
|
|
50
|
+
return true;
|
|
51
|
+
},
|
|
52
|
+
async set() {
|
|
53
|
+
// no-op
|
|
54
|
+
},
|
|
55
|
+
async clear() {
|
|
56
|
+
// no-op
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const openDB = () => new Promise((resolve, reject) => {
|
|
61
|
+
const request = indexedDB.open(dbName, 1);
|
|
62
|
+
request.onerror = () => reject(request.error);
|
|
63
|
+
request.onsuccess = () => resolve(request.result);
|
|
64
|
+
// Mirror createIndexedDBStorage's schema: same DB, same store, so the two
|
|
65
|
+
// can share one database without fighting over the version.
|
|
66
|
+
request.onupgradeneeded = (event) => {
|
|
67
|
+
const db = event.target.result;
|
|
68
|
+
if (!db.objectStoreNames.contains(STORE_NAME)) {
|
|
69
|
+
const store = db.createObjectStore(STORE_NAME, { keyPath: 'key' });
|
|
70
|
+
store.createIndex('timestamp', 'timestamp', { unique: false });
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
const promisify = (request) => new Promise((resolve, reject) => {
|
|
75
|
+
request.onsuccess = () => resolve(request.result);
|
|
76
|
+
request.onerror = () => reject(request.error);
|
|
77
|
+
});
|
|
78
|
+
const write = async (value, op) => {
|
|
79
|
+
try {
|
|
80
|
+
const db = await openDB();
|
|
81
|
+
const tx = db.transaction([STORE_NAME], 'readwrite');
|
|
82
|
+
const store = tx.objectStore(STORE_NAME);
|
|
83
|
+
if (value) {
|
|
84
|
+
await promisify(store.put({ key: hintKey, value: true, timestamp: Date.now() }));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
await promisify(store.delete(hintKey));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
onError?.(error, op);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
return {
|
|
95
|
+
async get() {
|
|
96
|
+
try {
|
|
97
|
+
const db = await openDB();
|
|
98
|
+
const tx = db.transaction([STORE_NAME], 'readonly');
|
|
99
|
+
const store = tx.objectStore(STORE_NAME);
|
|
100
|
+
const row = await promisify(store.get(hintKey));
|
|
101
|
+
return row?.value === true;
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
onError?.(error, 'get');
|
|
105
|
+
// Fail open — a storage fault must never strand a logged-in user.
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
async set() {
|
|
110
|
+
return write(true, 'set');
|
|
111
|
+
},
|
|
112
|
+
async clear() {
|
|
113
|
+
return write(false, 'clear');
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=session-hint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint.js","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint.ts"],"names":[],"mappings":"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"}
|