@pageloop/client 0.5.0 → 0.6.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/dist/PageLoop.js CHANGED
@@ -7,89 +7,9 @@ import { EventBus } from './EventBus.js';
7
7
  import { IdbCache } from './IdbCache.js';
8
8
  import { resolveInitialToken, SESSION_TOKEN_KEY } from './auth/resolveInitialToken.js';
9
9
  import { BrowserNotifications } from './notifications/BrowserNotifications.js';
10
- import { safeStorage } from './safeStorage.js';
11
- /**
12
- * localStorage key for the cached `ProjectSettings` blob. Keyed per
13
- * project so multiple PageLoop widgets on the same origin don't
14
- * stomp each other. The cache is read synchronously on init — that's
15
- * the whole point: we paint the toolbar + sidebar in their final
16
- * position before bootstrap returns.
17
- */
18
- const SETTINGS_CACHE_PREFIX = 'pl_config:';
19
- const PROJECT_CACHE_PREFIX = 'pl_project:';
20
- const USER_SESSION_CACHE_PREFIX = 'pl_widget_user:';
10
+ import { readCachedSettings, writeCachedSettings, readCachedProject, writeCachedProject, writeCachedOrgName, readCachedUserSession, writeCachedUserSession, clearCachedUserSession, } from './paintCache.js';
21
11
  /** Min gap between focus-driven session re-resolves (see `onVisible`). */
22
12
  const SESSION_REFRESH_THROTTLE_MS = 60_000;
23
- function readCachedSettings(projectId) {
24
- // safeStorage swallows SecurityError / private-mode throws + falls back
25
- // to an in-memory map; the try/catch here is purely for the JSON.parse.
26
- const raw = safeStorage.getItem(SETTINGS_CACHE_PREFIX + projectId);
27
- if (!raw)
28
- return null;
29
- try {
30
- return JSON.parse(raw);
31
- }
32
- catch {
33
- return null;
34
- }
35
- }
36
- function writeCachedSettings(projectId, settings) {
37
- safeStorage.setItem(SETTINGS_CACHE_PREFIX + projectId, JSON.stringify(settings));
38
- }
39
- /**
40
- * Cache the full Project object so the renderer can mount on first
41
- * paint without waiting for the bootstrap round-trip. Validated on
42
- * read — a partial / malformed cache returns null so we fall back to
43
- * the slow-path mount-after-bootstrap.
44
- *
45
- * Separate from the settings cache because settings get reconciled
46
- * key-by-key (and emit `config:changed` for hot reload), whereas the
47
- * Project object is a static identity blob — name, slug, ids — that
48
- * the renderer reads through the `project()` getter.
49
- */
50
- function readCachedProject(projectId) {
51
- const raw = safeStorage.getItem(PROJECT_CACHE_PREFIX + projectId);
52
- if (!raw)
53
- return null;
54
- try {
55
- const parsed = JSON.parse(raw);
56
- // Defensive: a malformed cache (truncated, schema-drift) would
57
- // crash the renderer's getters on optimistic paint. Require the
58
- // minimum keys the mount path reads before trusting it.
59
- if (!parsed.id || !parsed.slug)
60
- return null;
61
- return parsed;
62
- }
63
- catch {
64
- return null;
65
- }
66
- }
67
- function writeCachedProject(projectId, project) {
68
- safeStorage.setItem(PROJECT_CACHE_PREFIX + projectId, JSON.stringify(project));
69
- }
70
- function readCachedUserSession(projectId) {
71
- const raw = safeStorage.getItem(USER_SESSION_CACHE_PREFIX + projectId);
72
- if (!raw)
73
- return null;
74
- try {
75
- const parsed = JSON.parse(raw);
76
- // Defensive: require the role to be set; a malformed blob (truncated
77
- // JSON, schema drift) returns null so the constructor falls back to
78
- // the anonymous default rather than rendering with garbage.
79
- if (!parsed || typeof parsed.role !== 'string')
80
- return null;
81
- return parsed;
82
- }
83
- catch {
84
- return null;
85
- }
86
- }
87
- function writeCachedUserSession(projectId, value) {
88
- safeStorage.setItem(USER_SESSION_CACHE_PREFIX + projectId, JSON.stringify(value));
89
- }
90
- function clearCachedUserSession(projectId) {
91
- safeStorage.removeItem(USER_SESSION_CACHE_PREFIX + projectId);
92
- }
93
13
  /**
94
14
  * Public entry point. Composes ApiClient + PageTracker + CommentEngine + the
95
15
  * provided UIRenderer, and runs the bootstrap → mount → subscribe lifecycle.
@@ -479,6 +399,8 @@ export class PageLoop {
479
399
  // optimistically. Done BEFORE reconcileSettings so a partial
480
400
  // failure mid-reconcile still leaves us with cache consistency.
481
401
  writeCachedProject(this.config.projectId, initial.project);
402
+ // Domain-global org name for the shared sign-in modal (anonymous-safe).
403
+ writeCachedOrgName(initial.organizationName ?? null);
482
404
  // Persist the user + role so the NEXT cold load can paint the
483
405
  // signed-in toolbar pill on first frame instead of flashing
484
406
  // "Sign in" until bootstrap returns. Clears the cache when the
@@ -614,6 +536,11 @@ export class PageLoop {
614
536
  this.tracker.start();
615
537
  const offChange = this.bus.on('page:change', async ({ key }) => {
616
538
  await this.resolvePage(key);
539
+ // SPAs usually set the per-route <title> only after the route
540
+ // renders (a tick or two after the URL changes), so sync the title
541
+ // once it's settled — this both auto-discovers a brand-new SPA route
542
+ // and corrects a page first registered with a generic shell title.
543
+ this.scheduleTitleSync();
617
544
  });
618
545
  // Live updates: re-render bubbles + sidebar when comments change.
619
546
  const offCreated = this.bus.on('comment:created', () => this.refreshAfterChange());
@@ -632,7 +559,52 @@ export class PageLoop {
632
559
  if (changed)
633
560
  this.refreshSidebar();
634
561
  });
635
- this.offHandlers.push(offChange, offCreated, offUpdated, offDeleted, offBulkDeleted, offDangling);
562
+ this.offHandlers.push(offChange, offCreated, offUpdated, offDeleted, offBulkDeleted, offDangling, () => {
563
+ if (this.titleSyncTimer)
564
+ clearTimeout(this.titleSyncTimer);
565
+ this.titleSyncTimer = null;
566
+ });
567
+ // Initial-load title: phase2 already registered with whatever
568
+ // `document.title` was at boot (often the shell title on an SPA).
569
+ // Re-check once the route has settled so the first page gets its real
570
+ // title too.
571
+ this.scheduleTitleSync();
572
+ }
573
+ /** Debounced trigger for {@link syncCurrentPageTitle} — coalesces rapid
574
+ * navigations / title flips into one update. */
575
+ titleSyncTimer = null;
576
+ scheduleTitleSync() {
577
+ if (this.titleSyncTimer)
578
+ clearTimeout(this.titleSyncTimer);
579
+ this.titleSyncTimer = setTimeout(() => {
580
+ this.titleSyncTimer = null;
581
+ void this.syncCurrentPageTitle();
582
+ }, 600);
583
+ }
584
+ /**
585
+ * Keep the tracked page's stored title in step with the live
586
+ * `document.title`. Only runs in autoDiscover mode. Registering with the
587
+ * current title both tracks a brand-new SPA route and lets the server
588
+ * overwrite a stale/generic title (see PagesHandler.register). No-ops when
589
+ * the title is empty or already matches, and stays quiet on the expected
590
+ * anonymous-on-private FORBIDDEN.
591
+ */
592
+ async syncCurrentPageTitle() {
593
+ if (!this.project)
594
+ return;
595
+ if (!(this.effectiveBehavior().autoDiscover ?? true))
596
+ return;
597
+ const title = (typeof document !== 'undefined' ? document.title : '').trim();
598
+ if (!title)
599
+ return;
600
+ if (this.currentPage && this.currentPage.title === title)
601
+ return;
602
+ try {
603
+ await this.registerCurrentPage(title);
604
+ }
605
+ catch (err) {
606
+ this.debug('title sync skipped', err);
607
+ }
636
608
  }
637
609
  /**
638
610
  * Phase 2 teardown — symmetric inverse of `runPhase2()`. Unmounts
@@ -765,6 +737,7 @@ export class PageLoop {
765
737
  this.currentRole = initial.role;
766
738
  this.currentBubbleColor = initial.bubbleColor ?? null;
767
739
  writeCachedProject(this.config.projectId, initial.project);
740
+ writeCachedOrgName(initial.organizationName ?? null);
768
741
  if (initial.user) {
769
742
  writeCachedUserSession(this.config.projectId, {
770
743
  user: initial.user,
@@ -1 +1 @@
1
- {"version":3,"file":"PageLoop.js","sourceRoot":"","sources":["../src/PageLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageLoop.js","sourceRoot":"","sources":["../src/PageLoop.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@ export type { UIRenderer, UIRendererDeps, ToolbarHandle, SidebarHandle, SidebarS
15
15
  export { resolveInitialToken, SESSION_TOKEN_KEY, } from './auth/resolveInitialToken.js';
16
16
  export { BrowserNotifications } from './notifications/BrowserNotifications.js';
17
17
  export { safeStorage } from './safeStorage.js';
18
+ export { SETTINGS_CACHE_PREFIX, PROJECT_CACHE_PREFIX, USER_SESSION_CACHE_PREFIX, ORG_NAME_KEY, } from './storageKeys.js';
18
19
  export { resolveAnchor, serializeRange, serializeElement } from '@pageloop/anchor';
19
20
  export type { Comment, Anchor, TrackedPage, Project, Reaction, ReactionTargetKind, } from '@pageloop/shared';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACN,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,qBAAqB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnF,YAAY,EACX,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,kBAAkB,GAClB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACN,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,qBAAqB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnF,YAAY,EACX,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,kBAAkB,GAClB,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -14,5 +14,6 @@ export { EventBus, } from './EventBus.js';
14
14
  export { resolveInitialToken, SESSION_TOKEN_KEY, } from './auth/resolveInitialToken.js';
15
15
  export { BrowserNotifications } from './notifications/BrowserNotifications.js';
16
16
  export { safeStorage } from './safeStorage.js';
17
+ export { SETTINGS_CACHE_PREFIX, PROJECT_CACHE_PREFIX, USER_SESSION_CACHE_PREFIX, ORG_NAME_KEY, } from './storageKeys.js';
17
18
  export { resolveAnchor, serializeRange, serializeElement } from '@pageloop/anchor';
18
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACN,QAAQ,GAIR,MAAM,eAAe,CAAC;AASvB,OAAO,EACN,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACN,QAAQ,GAIR,MAAM,eAAe,CAAC;AASvB,OAAO,EACN,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Optimistic-paint `localStorage` cache for the widget. Lets a cold load
3
+ * render the toolbar / sidebar / signed-in pill in their final state from
4
+ * cached `ProjectSettings` / `Project` / user-session blobs *before* the
5
+ * bootstrap round-trip returns, then reconcile against the server.
6
+ *
7
+ * Extracted from `PageLoop` so that class stays focused on the bootstrap →
8
+ * mount → subscribe lifecycle; this module owns the serialize / validate /
9
+ * key-management concern. All keys come from `./storageKeys`.
10
+ *
11
+ * `safeStorage` swallows private-mode / SecurityError throws (falling back to
12
+ * an in-memory map), so the `try/catch` blocks here guard only `JSON.parse`
13
+ * of a malformed or truncated blob — a bad cache returns null and the caller
14
+ * falls back to the slow-path mount-after-bootstrap.
15
+ */
16
+ import type { Project, ProjectSettings, User } from '@pageloop/shared';
17
+ export declare function readCachedSettings(projectId: string): ProjectSettings | null;
18
+ export declare function writeCachedSettings(projectId: string, settings: ProjectSettings): void;
19
+ /**
20
+ * Cache the full Project object so the renderer can mount on first paint
21
+ * without waiting for the bootstrap round-trip. Validated on read — a partial
22
+ * / malformed cache returns null so we fall back to the slow-path
23
+ * mount-after-bootstrap.
24
+ *
25
+ * Separate from the settings cache because settings get reconciled key-by-key
26
+ * (and emit `config:changed` for hot reload), whereas the Project object is a
27
+ * static identity blob — name, slug, ids — that the renderer reads through
28
+ * the `project()` getter.
29
+ */
30
+ export declare function readCachedProject(projectId: string): Project | null;
31
+ export declare function writeCachedProject(projectId: string, project: Project): void;
32
+ /** Persist (or clear) the domain-global org name from a bootstrap result. */
33
+ export declare function writeCachedOrgName(name: string | null): void;
34
+ /**
35
+ * Cache the user identity + role so the toolbar can paint the signed-in pill
36
+ * on first frame, before bootstrap returns. Mirrors the project/settings cache
37
+ * pattern — instant render from cached state, revalidate against the server,
38
+ * reconcile if anything moved. Without this, every refresh briefly flashes
39
+ * "Sign in" on the toolbar while bootstrap is in flight.
40
+ *
41
+ * The cache is **only trusted when a session token is also in localStorage**.
42
+ * If the user signed out (token gone), the caller ignores the cache and starts
43
+ * anonymous — even a stale cache can't resurrect a deliberately-cleared
44
+ * session.
45
+ *
46
+ * Per-project because role is project-scoped (a user can be `owner` on one
47
+ * project, `commenter` on another). The user identity blob is shared across
48
+ * projects in practice, but keying both together keeps the cache shape simple.
49
+ */
50
+ export interface CachedUserSession {
51
+ user: User | null;
52
+ role: 'owner' | 'editor' | 'commenter' | 'viewer' | 'anonymous';
53
+ }
54
+ export declare function readCachedUserSession(projectId: string): CachedUserSession | null;
55
+ export declare function writeCachedUserSession(projectId: string, value: CachedUserSession): void;
56
+ export declare function clearCachedUserSession(projectId: string): void;
57
+ //# sourceMappingURL=paintCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paintCache.d.ts","sourceRoot":"","sources":["../src/paintCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AASvE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAQ5E;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAEtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAanE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5E;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAG5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;CAChE;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAajF;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAExF;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE9D"}
@@ -0,0 +1,78 @@
1
+ import { safeStorage } from './safeStorage.js';
2
+ import { SETTINGS_CACHE_PREFIX, PROJECT_CACHE_PREFIX, USER_SESSION_CACHE_PREFIX, ORG_NAME_KEY, } from './storageKeys.js';
3
+ export function readCachedSettings(projectId) {
4
+ const raw = safeStorage.getItem(SETTINGS_CACHE_PREFIX + projectId);
5
+ if (!raw)
6
+ return null;
7
+ try {
8
+ return JSON.parse(raw);
9
+ }
10
+ catch {
11
+ return null;
12
+ }
13
+ }
14
+ export function writeCachedSettings(projectId, settings) {
15
+ safeStorage.setItem(SETTINGS_CACHE_PREFIX + projectId, JSON.stringify(settings));
16
+ }
17
+ /**
18
+ * Cache the full Project object so the renderer can mount on first paint
19
+ * without waiting for the bootstrap round-trip. Validated on read — a partial
20
+ * / malformed cache returns null so we fall back to the slow-path
21
+ * mount-after-bootstrap.
22
+ *
23
+ * Separate from the settings cache because settings get reconciled key-by-key
24
+ * (and emit `config:changed` for hot reload), whereas the Project object is a
25
+ * static identity blob — name, slug, ids — that the renderer reads through
26
+ * the `project()` getter.
27
+ */
28
+ export function readCachedProject(projectId) {
29
+ const raw = safeStorage.getItem(PROJECT_CACHE_PREFIX + projectId);
30
+ if (!raw)
31
+ return null;
32
+ try {
33
+ const parsed = JSON.parse(raw);
34
+ // Defensive: a malformed cache (truncated, schema-drift) would crash the
35
+ // renderer's getters on optimistic paint. Require the minimum keys the
36
+ // mount path reads before trusting it.
37
+ if (!parsed.id || !parsed.slug)
38
+ return null;
39
+ return parsed;
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
45
+ export function writeCachedProject(projectId, project) {
46
+ safeStorage.setItem(PROJECT_CACHE_PREFIX + projectId, JSON.stringify(project));
47
+ }
48
+ /** Persist (or clear) the domain-global org name from a bootstrap result. */
49
+ export function writeCachedOrgName(name) {
50
+ if (name)
51
+ safeStorage.setItem(ORG_NAME_KEY, name);
52
+ else
53
+ safeStorage.removeItem(ORG_NAME_KEY);
54
+ }
55
+ export function readCachedUserSession(projectId) {
56
+ const raw = safeStorage.getItem(USER_SESSION_CACHE_PREFIX + projectId);
57
+ if (!raw)
58
+ return null;
59
+ try {
60
+ const parsed = JSON.parse(raw);
61
+ // Defensive: require the role to be set; a malformed blob (truncated
62
+ // JSON, schema drift) returns null so the constructor falls back to the
63
+ // anonymous default rather than rendering with garbage.
64
+ if (!parsed || typeof parsed.role !== 'string')
65
+ return null;
66
+ return parsed;
67
+ }
68
+ catch {
69
+ return null;
70
+ }
71
+ }
72
+ export function writeCachedUserSession(projectId, value) {
73
+ safeStorage.setItem(USER_SESSION_CACHE_PREFIX + projectId, JSON.stringify(value));
74
+ }
75
+ export function clearCachedUserSession(projectId) {
76
+ safeStorage.removeItem(USER_SESSION_CACHE_PREFIX + projectId);
77
+ }
78
+ //# sourceMappingURL=paintCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paintCache.js","sourceRoot":"","sources":["../src/paintCache.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IACnD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,QAAyB;IAC/E,WAAW,CAAC,OAAO,CAAC,qBAAqB,GAAG,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IAClD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,yEAAyE;QACzE,uEAAuE;QACvE,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,OAAgB;IACrE,WAAW,CAAC,OAAO,CAAC,oBAAoB,GAAG,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACrD,IAAI,IAAI;QAAE,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;;QAC7C,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC3C,CAAC;AAuBD,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACtD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;IACvE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;QACpD,qEAAqE;QACrE,wEAAwE;QACxE,wDAAwD;QACxD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC5D,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,KAAwB;IACjF,WAAW,CAAC,OAAO,CAAC,yBAAyB,GAAG,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACvD,WAAW,CAAC,UAAU,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Client-side `localStorage` key registry. Centralised here so the write side
3
+ * (`PageLoop` core) and the read/cleanup sides (the vanilla widget's
4
+ * `AuthFlow` / `AuthModal`) reference one source of truth — a key rename lands
5
+ * once instead of silently desyncing sign-out cleanup or the org-name label.
6
+ *
7
+ * These are CLIENT-ONLY keys; they live in `@pageloop/client` (not
8
+ * `@pageloop/shared`) so the isomorphic boundary stays clean. Re-exported from
9
+ * the package index so the widget bundle can import them by name.
10
+ */
11
+ /**
12
+ * Per-`projectId` cache of the server `ProjectSettings` blob — read
13
+ * synchronously on init so the toolbar + sidebar paint in their final position
14
+ * before the bootstrap round-trip returns.
15
+ */
16
+ export declare const SETTINGS_CACHE_PREFIX = "pl_config:";
17
+ /** Per-`projectId` cache of the `Project` blob (optimistic cold-load paint). */
18
+ export declare const PROJECT_CACHE_PREFIX = "pl_project:";
19
+ /**
20
+ * Per-`projectId` cache of the signed-in user + role — paints the toolbar
21
+ * pill on the first frame; the widget's sign-out flow clears every entry under
22
+ * this prefix.
23
+ */
24
+ export declare const USER_SESSION_CACHE_PREFIX = "pl_widget_user:";
25
+ /**
26
+ * Domain-global org-name cache — intentionally NOT keyed by projectId. The org
27
+ * name is shown on the shared sign-in / create-account modal and (per design)
28
+ * is the same for every PageLoop widget on a domain, so one value is read by
29
+ * all surfaces and the most recent bootstrap wins. Written by `PageLoop` on
30
+ * bootstrap, read back by the widget `AuthModal`.
31
+ */
32
+ export declare const ORG_NAME_KEY = "pl_org_name";
33
+ //# sourceMappingURL=storageKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageKeys.d.ts","sourceRoot":"","sources":["../src/storageKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,oBAAoB,CAAC;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,gBAAgB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Client-side `localStorage` key registry. Centralised here so the write side
3
+ * (`PageLoop` core) and the read/cleanup sides (the vanilla widget's
4
+ * `AuthFlow` / `AuthModal`) reference one source of truth — a key rename lands
5
+ * once instead of silently desyncing sign-out cleanup or the org-name label.
6
+ *
7
+ * These are CLIENT-ONLY keys; they live in `@pageloop/client` (not
8
+ * `@pageloop/shared`) so the isomorphic boundary stays clean. Re-exported from
9
+ * the package index so the widget bundle can import them by name.
10
+ */
11
+ /**
12
+ * Per-`projectId` cache of the server `ProjectSettings` blob — read
13
+ * synchronously on init so the toolbar + sidebar paint in their final position
14
+ * before the bootstrap round-trip returns.
15
+ */
16
+ export const SETTINGS_CACHE_PREFIX = 'pl_config:';
17
+ /** Per-`projectId` cache of the `Project` blob (optimistic cold-load paint). */
18
+ export const PROJECT_CACHE_PREFIX = 'pl_project:';
19
+ /**
20
+ * Per-`projectId` cache of the signed-in user + role — paints the toolbar
21
+ * pill on the first frame; the widget's sign-out flow clears every entry under
22
+ * this prefix.
23
+ */
24
+ export const USER_SESSION_CACHE_PREFIX = 'pl_widget_user:';
25
+ /**
26
+ * Domain-global org-name cache — intentionally NOT keyed by projectId. The org
27
+ * name is shown on the shared sign-in / create-account modal and (per design)
28
+ * is the same for every PageLoop widget on a domain, so one value is read by
29
+ * all surfaces and the most recent bootstrap wins. Written by `PageLoop` on
30
+ * bootstrap, read back by the widget `AuthModal`.
31
+ */
32
+ export const ORG_NAME_KEY = 'pl_org_name';
33
+ //# sourceMappingURL=storageKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageKeys.js","sourceRoot":"","sources":["../src/storageKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pageloop/client",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -32,8 +32,8 @@
32
32
  ],
33
33
  "dependencies": {
34
34
  "idb": "^8.0.1",
35
- "@pageloop/anchor": "0.5.0",
36
- "@pageloop/shared": "0.5.0"
35
+ "@pageloop/anchor": "0.6.1",
36
+ "@pageloop/shared": "0.6.1"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": ">=18",