@adminide-stack/yantra-mobile 12.0.64-alpha.0 → 12.0.64-alpha.2

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.
@@ -0,0 +1,145 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var _a;
21
+ const MAX_QUEUED_MESSAGES = 20;
22
+ const TTL_MS = 60 * 60 * 1e3;
23
+ const STORAGE_KEY = "yantra.queuedGatewayMessages";
24
+ let storage = null;
25
+ try {
26
+ storage = (_a = require("@react-native-async-storage/async-storage").default) != null ? _a : null;
27
+ } catch (e) {
28
+ storage = null;
29
+ }
30
+ let queue = [];
31
+ let seq = 0;
32
+ const listeners = /* @__PURE__ */ new Set();
33
+ const EMPTY = Object.freeze([]);
34
+ let snapshots = /* @__PURE__ */ new Map();
35
+ function isFresh(entry) {
36
+ return Date.now() - entry.queuedAt < TTL_MS;
37
+ }
38
+ function persist() {
39
+ if (!storage) return;
40
+ const durable = queue.filter((entry) => {
41
+ var _a2;
42
+ return !((_a2 = entry.attachments) == null ? void 0 : _a2.length);
43
+ });
44
+ void storage.setItem(STORAGE_KEY, JSON.stringify(durable)).catch(() => {
45
+ });
46
+ }
47
+ function changed() {
48
+ snapshots = /* @__PURE__ */ new Map();
49
+ listeners.forEach((fn) => fn());
50
+ }
51
+ function prune() {
52
+ const kept = queue.filter(isFresh);
53
+ if (kept.length !== queue.length) {
54
+ queue = kept;
55
+ persist();
56
+ changed();
57
+ }
58
+ }
59
+ let restoring = null;
60
+ function restoreQueuedGatewayMessages() {
61
+ if (!storage) return Promise.resolve();
62
+ if (!restoring) {
63
+ restoring = storage.getItem(STORAGE_KEY).then((raw) => {
64
+ if (!raw) return;
65
+ const rows = JSON.parse(raw);
66
+ const restored = (Array.isArray(rows) ? rows : []).filter((row) => (row == null ? void 0 : row.id) && (row == null ? void 0 : row.channelId) && (row == null ? void 0 : row.text) && isFresh(row));
67
+ if (!restored.length) return;
68
+ queue = [...restored, ...queue].sort((a, b) => a.queuedAt - b.queuedAt);
69
+ changed();
70
+ }).catch(() => {
71
+ });
72
+ }
73
+ return restoring;
74
+ }
75
+ function subscribeQueuedGatewayMessages(listener) {
76
+ listeners.add(listener);
77
+ return () => {
78
+ listeners.delete(listener);
79
+ };
80
+ }
81
+ function queuedGatewayMessages(channelId, accountId) {
82
+ if (!channelId) return EMPTY;
83
+ const key = `${channelId}::${accountId != null ? accountId : ""}`;
84
+ const cached = snapshots.get(key);
85
+ if (cached) return cached;
86
+ const rows = queue.filter((entry) => entry.channelId === channelId && (!accountId || entry.accountId === accountId) && isFresh(entry));
87
+ const snapshot = rows.length ? rows : EMPTY;
88
+ snapshots.set(key, snapshot);
89
+ return snapshot;
90
+ }
91
+ function queuedGatewayMessageCount(channelId, accountId) {
92
+ return queuedGatewayMessages(channelId, accountId).length;
93
+ }
94
+ function queueGatewayMessage(entry) {
95
+ var _a2, _b;
96
+ prune();
97
+ const depth = queuedGatewayMessageCount(entry.channelId, entry.accountId);
98
+ if (!entry.channelId || !entry.text.trim() && !((_a2 = entry.attachments) == null ? void 0 : _a2.length)) {
99
+ return {
100
+ ok: false,
101
+ reason: "empty",
102
+ depth
103
+ };
104
+ }
105
+ if (depth >= MAX_QUEUED_MESSAGES) {
106
+ return {
107
+ ok: false,
108
+ reason: "full",
109
+ depth
110
+ };
111
+ }
112
+ seq += 1;
113
+ const queued = __spreadProps(__spreadValues({
114
+ id: `q${Date.now().toString(36)}${seq.toString(36)}`,
115
+ channelId: entry.channelId,
116
+ accountId: entry.accountId,
117
+ text: entry.text
118
+ }, ((_b = entry.attachments) == null ? void 0 : _b.length) ? {
119
+ attachments: entry.attachments
120
+ } : {}), {
121
+ queuedAt: Date.now()
122
+ });
123
+ queue = [...queue, queued];
124
+ persist();
125
+ changed();
126
+ return {
127
+ ok: true,
128
+ entry: queued,
129
+ depth: depth + 1
130
+ };
131
+ }
132
+ function dropQueuedGatewayMessage(id) {
133
+ const next = queue.filter((entry) => entry.id !== id);
134
+ if (next.length === queue.length) return;
135
+ queue = next;
136
+ persist();
137
+ changed();
138
+ }
139
+ function clearQueuedGatewayMessages(channelId) {
140
+ const next = channelId ? queue.filter((entry) => entry.channelId !== channelId) : [];
141
+ if (next.length === queue.length) return;
142
+ queue = next;
143
+ persist();
144
+ changed();
145
+ }export{MAX_QUEUED_MESSAGES,clearQueuedGatewayMessages,dropQueuedGatewayMessage,queueGatewayMessage,queuedGatewayMessageCount,queuedGatewayMessages,restoreQueuedGatewayMessages,subscribeQueuedGatewayMessages};//# sourceMappingURL=queuedGatewayMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queuedGatewayMessages.js","sources":["../../src/services/queuedGatewayMessages.ts"],"sourcesContent":["/**\n * queuedGatewayMessages - the outbox for turns typed while the CDeCLI gateway is down.\n *\n * Sending with the gateway disconnected used to erase the message: the optimistic\n * bubble was popped off the thread and all the user kept was a red banner\n * (\"CDeCLI is not connected yet\"). Everything typed during a reconnect - which on\n * mobile happens on every cold start, every return from background and every\n * network switch - was lost.\n *\n * So a refused send is remembered instead of dropped. The entry stays visible in\n * the thread as a queued bubble, and the chat stream releases the queue in FIFO\n * order the moment the channel reports connected.\n *\n * Kept in sync with `packages-modules/account/browser/src/services/queuedGatewayMessages.ts`;\n * the two differ only in their storage adapter (AsyncStorage here, sessionStorage\n * on web). This file is a dependency-free leaf so it unit-tests without dragging\n * in the Apollo / React Native import chain.\n */\n\n/** Per channel. Deep enough for a long reconnect, shallow enough that a release is still a conversation. */\nexport const MAX_QUEUED_MESSAGES = 20;\n\n/** Past this the turn is stale - the user has moved on and would not expect it to fire. */\nconst TTL_MS = 60 * 60 * 1000;\n\nexport interface QueuedMessageAttachment {\n id: string;\n name: string;\n type: 'file' | 'screenshot';\n dataUrl?: string;\n mimeType?: string;\n size?: number;\n url?: string;\n}\n\nexport interface QueuedGatewayMessage {\n id: string;\n channelId: string;\n /** Whose queue this is. A flush only releases entries for the signed-in account. */\n accountId: string;\n text: string;\n attachments?: QueuedMessageAttachment[];\n queuedAt: number;\n}\n\n// `entry?: undefined` / `reason?: undefined` on the opposite arms keep both fields\n// reachable on the union: with strictNullChecks off (repo-wide) TS does not narrow a\n// discriminated union after an `if (!result.ok)` guard.\nexport type QueueMessageResult =\n | { ok: true; entry: QueuedGatewayMessage; reason?: undefined; depth: number }\n | { ok: false; entry?: undefined; reason: 'empty' | 'full'; depth: number };\n\ntype StorageLike = {\n getItem(key: string): Promise<string | null>;\n setItem(key: string, value: string): Promise<void>;\n};\n\nconst STORAGE_KEY = 'yantra.queuedGatewayMessages';\n\nlet storage: StorageLike | null = null;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires, global-require\n storage = require('@react-native-async-storage/async-storage').default ?? null;\n} catch {\n // Tests and any build without the native module keep an in-memory queue,\n // which is what the live-reconnect case needs anyway.\n storage = null;\n}\n\nlet queue: QueuedGatewayMessage[] = [];\nlet seq = 0;\n\nconst listeners = new Set<() => void>();\n/** `useSyncExternalStore` compares snapshots by identity - one frozen empty array, and per-channel arrays cached until the queue changes. */\nconst EMPTY: readonly QueuedGatewayMessage[] = Object.freeze([]);\nlet snapshots = new Map<string, readonly QueuedGatewayMessage[]>();\n\nfunction isFresh(entry: QueuedGatewayMessage): boolean {\n return Date.now() - entry.queuedAt < TTL_MS;\n}\n\nfunction persist(): void {\n if (!storage) return;\n // Attachments carry base64 data URLs (and short-lived upload URLs); they stay\n // in memory only. An entry that cannot be replayed faithfully is not written.\n const durable = queue.filter((entry) => !entry.attachments?.length);\n void storage.setItem(STORAGE_KEY, JSON.stringify(durable)).catch(() => {\n // Storage full or unavailable - the in-memory queue still covers the\n // reconnect this exists for.\n });\n}\n\nfunction changed(): void {\n snapshots = new Map();\n listeners.forEach((fn) => fn());\n}\n\nfunction prune(): void {\n const kept = queue.filter(isFresh);\n if (kept.length !== queue.length) {\n queue = kept;\n persist();\n changed();\n }\n}\n\nlet restoring: Promise<void> | null = null;\n\n/**\n * Rehydrate once per process. Mobile is killed aggressively in the background, so\n * a queue that only lived in memory would lose exactly the messages typed just\n * before the app went away.\n */\nexport function restoreQueuedGatewayMessages(): Promise<void> {\n if (!storage) return Promise.resolve();\n if (!restoring) {\n restoring = storage\n .getItem(STORAGE_KEY)\n .then((raw) => {\n if (!raw) return;\n const rows: QueuedGatewayMessage[] = JSON.parse(raw);\n const restored = (Array.isArray(rows) ? rows : []).filter(\n (row) => row?.id && row?.channelId && row?.text && isFresh(row),\n );\n if (!restored.length) return;\n // Anything queued in this process wins its slot; restored rows sort in by time.\n queue = [...restored, ...queue].sort((a, b) => a.queuedAt - b.queuedAt);\n changed();\n })\n .catch(() => {\n // Corrupt payload - start clean rather than throw on import.\n });\n }\n return restoring;\n}\n\nexport function subscribeQueuedGatewayMessages(listener: () => void): () => void {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\n/** Queued turns for one channel, oldest first. The array identity is stable until the queue changes. */\nexport function queuedGatewayMessages(\n channelId: string | null | undefined,\n accountId?: string | null,\n): readonly QueuedGatewayMessage[] {\n if (!channelId) return EMPTY;\n const key = `${channelId}::${accountId ?? ''}`;\n const cached = snapshots.get(key);\n if (cached) return cached;\n const rows = queue.filter(\n (entry) => entry.channelId === channelId && (!accountId || entry.accountId === accountId) && isFresh(entry),\n );\n const snapshot = rows.length ? rows : EMPTY;\n snapshots.set(key, snapshot);\n return snapshot;\n}\n\nexport function queuedGatewayMessageCount(channelId: string | null | undefined, accountId?: string | null): number {\n return queuedGatewayMessages(channelId, accountId).length;\n}\n\n/**\n * Remember a turn the gateway refused. Returns `full` rather than dropping the\n * oldest: silently eating the message the user just typed is the bug this file\n * exists to fix, and evicting the one they typed first is no better.\n */\nexport function queueGatewayMessage(entry: {\n channelId: string;\n accountId: string;\n text: string;\n attachments?: QueuedMessageAttachment[];\n}): QueueMessageResult {\n prune();\n const depth = queuedGatewayMessageCount(entry.channelId, entry.accountId);\n if (!entry.channelId || (!entry.text.trim() && !entry.attachments?.length)) {\n return { ok: false, reason: 'empty', depth };\n }\n if (depth >= MAX_QUEUED_MESSAGES) {\n return { ok: false, reason: 'full', depth };\n }\n seq += 1;\n const queued: QueuedGatewayMessage = {\n id: `q${Date.now().toString(36)}${seq.toString(36)}`,\n channelId: entry.channelId,\n accountId: entry.accountId,\n text: entry.text,\n ...(entry.attachments?.length ? { attachments: entry.attachments } : {}),\n queuedAt: Date.now(),\n };\n queue = [...queue, queued];\n persist();\n changed();\n return { ok: true, entry: queued, depth: depth + 1 };\n}\n\nexport function dropQueuedGatewayMessage(id: string): void {\n const next = queue.filter((entry) => entry.id !== id);\n if (next.length === queue.length) return;\n queue = next;\n persist();\n changed();\n}\n\n/** Drop a channel's queue (the user chose not to send), or everything on sign-out. */\nexport function clearQueuedGatewayMessages(channelId?: string | null): void {\n const next = channelId ? queue.filter((entry) => entry.channelId !== channelId) : [];\n if (next.length === queue.length) return;\n queue = next;\n persist();\n changed();\n}\n"],"names":["_a"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminide-stack/yantra-mobile",
3
- "version": "12.0.64-alpha.0",
3
+ "version": "12.0.64-alpha.2",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -25,7 +25,7 @@
25
25
  "uuid": "^9.0.0"
26
26
  },
27
27
  "devDependencies": {
28
- "common": "12.0.64-alpha.0"
28
+ "common": "12.0.64-alpha.2"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "@admin-layout/gluestack-ui-mobile": "*",
@@ -41,7 +41,7 @@
41
41
  "@messenger-box/platform-mobile": "*",
42
42
  "@react-native-async-storage/async-storage": "*",
43
43
  "@react-navigation/native": "*",
44
- "common": "12.0.62-alpha.2",
44
+ "common": "12.0.64-alpha.0",
45
45
  "expo-constants": "*",
46
46
  "expo-secure-store": "*",
47
47
  "lodash": "*",
@@ -57,5 +57,5 @@
57
57
  "typescript": {
58
58
  "definition": "lib/index.d.ts"
59
59
  },
60
- "gitHead": "80588f32d023e817d7e5f5117ce08c6645f59d2d"
60
+ "gitHead": "96881f24129a6087893f6611a7125e81eeb15a6e"
61
61
  }