@jungjaehoon/mama-os 0.12.1 → 0.12.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.
@@ -1 +1 @@
1
- {"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/gateways/message-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/gateways/message-router.ts"],"names":[],"mappings":"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"}
@@ -247,6 +247,12 @@ This protects your credentials from being exposed in chat logs.`;
247
247
  isNewCliSession = reacquired.isNew;
248
248
  acquiredLock = true; // Successfully acquired lock after wait
249
249
  }
250
+ // Save user message immediately for crash/refresh resilience
251
+ this.sessionStore.appendMessage(session.id, {
252
+ role: 'user',
253
+ content: message.text,
254
+ timestamp: Date.now(),
255
+ });
250
256
  // 3. Create AgentContext for role-aware execution
251
257
  const agentContext = this.createAgentContext(message, session.id);
252
258
  logger.debug(`Created context: ${agentContext.roleName}@${agentContext.platform}`);
@@ -298,6 +304,27 @@ This protects your credentials from being exposed in chat logs.`;
298
304
  const effectivePrompt = shouldResume
299
305
  ? this.buildMinimalResumePrompt(context.prompt, agentContext)
300
306
  : systemPrompt;
307
+ // Wrap stream callbacks to accumulate deltas and periodically flush to DB
308
+ let streamAccumulator = '';
309
+ let streamFlushTimer = null;
310
+ const streamFlushIntervalMs = 5000;
311
+ const originalOnStream = processOptions?.onStream;
312
+ const wrappedOnStream = originalOnStream
313
+ ? {
314
+ ...originalOnStream,
315
+ onDelta: (text) => {
316
+ streamAccumulator += text;
317
+ originalOnStream.onDelta?.(text);
318
+ },
319
+ }
320
+ : undefined;
321
+ if (wrappedOnStream) {
322
+ streamFlushTimer = setInterval(() => {
323
+ if (streamAccumulator) {
324
+ this.sessionStore.flushStreamingResponse(session.id, streamAccumulator);
325
+ }
326
+ }, streamFlushIntervalMs);
327
+ }
301
328
  const options = {
302
329
  systemPrompt: effectivePrompt,
303
330
  userId: message.userId,
@@ -308,7 +335,7 @@ This protects your credentials from being exposed in chat logs.`;
308
335
  agentContext,
309
336
  resumeSession: shouldResume, // Use --resume flag for continuing sessions
310
337
  cliSessionId, // Pass CLI session ID to avoid double-locking
311
- streamCallbacks: processOptions?.onStream,
338
+ streamCallbacks: wrappedOnStream || processOptions?.onStream,
312
339
  };
313
340
  if (shouldResume) {
314
341
  logger.info(`Resuming CLI session (minimal: ${effectivePrompt.length} chars)`);
@@ -396,6 +423,10 @@ This protects your credentials from being exposed in chat logs.`;
396
423
  logger.warn(`CLI error detected, invalidating session: ${errorMsg}`);
397
424
  sessionPool.resetSession(channelKey);
398
425
  }
426
+ // Release session lock before re-throwing
427
+ if (acquiredLock) {
428
+ sessionPool.releaseSession(channelKey);
429
+ }
399
430
  // Normalize error to ensure proper Error object is thrown
400
431
  if (error instanceof Error) {
401
432
  throw error;
@@ -404,9 +435,10 @@ This protects your credentials from being exposed in chat logs.`;
404
435
  throw normalizedError;
405
436
  }
406
437
  finally {
407
- // Only release the session lock if we actually acquired it
408
- if (acquiredLock) {
409
- sessionPool.releaseSession(channelKey);
438
+ // Clean up stream flush timer
439
+ if (streamFlushTimer) {
440
+ clearInterval(streamFlushTimer);
441
+ streamFlushTimer = null;
410
442
  }
411
443
  }
412
444
  // Post-process: auto-copy image paths to outbound for webchat rendering
@@ -436,8 +468,21 @@ This protects your credentials from being exposed in chat logs.`;
436
468
  isBot: true,
437
469
  });
438
470
  }
439
- // 6. Update session context
440
- this.sessionStore.updateSession(session.id, message.text, response);
471
+ // 6. Update session context — finalize assistant response
472
+ // Use flushStreamingResponse first (updates existing turn from periodic flush),
473
+ // fall back to appendMessage if no turn exists yet (non-streaming path)
474
+ const flushed = this.sessionStore.flushStreamingResponse(session.id, response);
475
+ if (!flushed) {
476
+ this.sessionStore.appendMessage(session.id, {
477
+ role: 'assistant',
478
+ content: response,
479
+ timestamp: Date.now(),
480
+ });
481
+ }
482
+ // Release session lock AFTER final persistence to prevent out-of-order turns
483
+ if (acquiredLock) {
484
+ sessionPool.releaseSession(channelKey);
485
+ }
441
486
  // 6. Return result
442
487
  return {
443
488
  response,
@@ -1 +1 @@
1
- {"version":3,"file":"message-router.js","sourceRoot":"","sources":["../../src/gateways/message-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-router.js","sourceRoot":"","sources":["../../src/gateways/message-router.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,21 @@ export declare class SessionStore {
31
31
  * Update session with new conversation turn
32
32
  */
33
33
  updateSession(sessionId: string, userMessage: string, botResponse: string): boolean;
34
+ /**
35
+ * Append a single message (user or assistant) to session history.
36
+ * - role='user': creates a new turn with empty bot
37
+ * - role='assistant': fills bot field of last incomplete turn, or creates new turn
38
+ */
39
+ appendMessage(sessionId: string, msg: {
40
+ role: 'user' | 'assistant';
41
+ content: string;
42
+ timestamp: number;
43
+ }): boolean;
44
+ /**
45
+ * Flush streaming response to the last incomplete turn.
46
+ * Called periodically during streaming to persist partial assistant responses.
47
+ */
48
+ flushStreamingResponse(sessionId: string, accumulatedText: string): boolean;
34
49
  /**
35
50
  * Get conversation history for a session by ID
36
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqB3E;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,QAAQ,CAAS;gBAEb,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAMtE;;OAEG;IACH,OAAO,CAAC,YAAY;IAwCpB;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO;IA8CV;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ1C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAoCnF;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAWjD;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAcjF;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAcxC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAMzC;;OAEG;IACH,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,EAAE;IAa/C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAUzF;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IASjD;;OAEG;IACH,oBAAoB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAiB5D;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAU,GAAG,MAAM;IA6B/E;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgC3E;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,QAAQ,CAAS;gBAEb,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAMtE;;OAEG;IACH,OAAO,CAAC,YAAY;IAwCpB;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO;IA8CV;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ1C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAoCnF;;;;OAIG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACtE,OAAO;IAmCV;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;IA6B3E;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAWjD;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAcjF;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAcxC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAMzC;;OAEG;IACH,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,EAAE;IAa/C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAUzF;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IASjD;;OAEG;IACH,oBAAoB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAiB5D;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAU,GAAG,MAAM;IA6B/E;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -5,9 +5,45 @@
5
5
  * Manages conversation sessions with rolling context (history)
6
6
  * for cross-platform messenger integration.
7
7
  */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
8
41
  Object.defineProperty(exports, "__esModule", { value: true });
9
42
  exports.SessionStore = void 0;
10
43
  const crypto_1 = require("crypto");
44
+ const debugLogger = __importStar(require("@jungjaehoon/mama-core/debug-logger"));
45
+ const { DebugLogger } = debugLogger;
46
+ const logger = new DebugLogger('SessionStore');
11
47
  // ============================================================================
12
48
  // SessionStore Class
13
49
  // ============================================================================
@@ -141,6 +177,71 @@ class SessionStore {
141
177
  .run(JSON.stringify(recentHistory), Date.now(), sessionId);
142
178
  return result.changes > 0;
143
179
  }
180
+ /**
181
+ * Append a single message (user or assistant) to session history.
182
+ * - role='user': creates a new turn with empty bot
183
+ * - role='assistant': fills bot field of last incomplete turn, or creates new turn
184
+ */
185
+ appendMessage(sessionId, msg) {
186
+ const session = this.getById(sessionId);
187
+ if (!session) {
188
+ return false;
189
+ }
190
+ let history;
191
+ try {
192
+ history = JSON.parse(session.context || '[]');
193
+ }
194
+ catch {
195
+ history = [];
196
+ }
197
+ if (msg.role === 'user') {
198
+ history.push({ user: msg.content, bot: '', timestamp: msg.timestamp });
199
+ }
200
+ else {
201
+ const lastTurn = history[history.length - 1];
202
+ if (lastTurn && lastTurn.bot === '') {
203
+ lastTurn.bot = msg.content;
204
+ lastTurn.timestamp = msg.timestamp;
205
+ }
206
+ else {
207
+ logger.warn(`Creating orphan assistant message for session ${sessionId}`);
208
+ history.push({ user: '', bot: msg.content, timestamp: msg.timestamp });
209
+ }
210
+ }
211
+ const recentHistory = history.slice(-this.maxTurns);
212
+ const result = this.db
213
+ .prepare('UPDATE messenger_sessions SET context = ?, last_active = ? WHERE id = ?')
214
+ .run(JSON.stringify(recentHistory), Date.now(), sessionId);
215
+ return result.changes > 0;
216
+ }
217
+ /**
218
+ * Flush streaming response to the last incomplete turn.
219
+ * Called periodically during streaming to persist partial assistant responses.
220
+ */
221
+ flushStreamingResponse(sessionId, accumulatedText) {
222
+ const session = this.getById(sessionId);
223
+ if (!session) {
224
+ return false;
225
+ }
226
+ let history;
227
+ try {
228
+ history = JSON.parse(session.context || '[]');
229
+ }
230
+ catch {
231
+ history = [];
232
+ }
233
+ const lastTurn = history[history.length - 1];
234
+ if (!lastTurn) {
235
+ return false;
236
+ }
237
+ // Update the bot field with accumulated streaming text
238
+ lastTurn.bot = accumulatedText;
239
+ lastTurn.timestamp = Date.now();
240
+ const result = this.db
241
+ .prepare('UPDATE messenger_sessions SET context = ?, last_active = ? WHERE id = ?')
242
+ .run(JSON.stringify(history), Date.now(), sessionId);
243
+ return result.changes > 0;
244
+ }
144
245
  /**
145
246
  * Get conversation history for a session by ID
146
247
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/gateways/session-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jungjaehoon/mama-os",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "description": "MAMA OS - Your AI Operating System. Control + Visibility for AI-Powered Automation",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -42,7 +42,10 @@ export class ChatModule {
42
42
  rafPending = false;
43
43
  history = [];
44
44
  historyPrefix = 'mama_chat_history_';
45
- maxHistoryMessages = 50;
45
+ get historyStorageKey() {
46
+ return this.historyPrefix + 'viewer_mama_os_main';
47
+ }
48
+ maxHistoryMessages = 200;
46
49
  maxDomMessages = 100; // Limit DOM elements for performance
47
50
  historyExpiryMs = 24 * 60 * 60 * 1000;
48
51
  checkpointCooldown = false;
@@ -105,11 +108,11 @@ export class ChatModule {
105
108
  async initSession() {
106
109
  // Check for resumable session first
107
110
  await this.checkForResumableSession();
108
- // Try to get last active server session first
111
+ // Always try to get the last active viewer session from server
112
+ // Use it regardless of isAlive — server history is the source of truth
109
113
  const lastActiveSession = await API.getLastActiveSession().catch(() => null);
110
- if (lastActiveSession && lastActiveSession.id && lastActiveSession.isAlive) {
111
- logger.info('Resuming last active session:', lastActiveSession.id);
112
- this.addSystemMessage('Resuming previous session...');
114
+ if (lastActiveSession && lastActiveSession.id) {
115
+ logger.info('Using server session:', lastActiveSession.id);
113
116
  localStorage.setItem('mama_chat_session_id', lastActiveSession.id);
114
117
  this.initWebSocket(lastActiveSession.id);
115
118
  return;
@@ -1397,7 +1400,7 @@ export class ChatModule {
1397
1400
  this.history = this.history.slice(-this.maxHistoryMessages);
1398
1401
  }
1399
1402
  try {
1400
- const storageKey = this.historyPrefix + this.sessionId;
1403
+ const storageKey = this.historyStorageKey;
1401
1404
  const storageData = {
1402
1405
  history: this.history,
1403
1406
  savedAt: Date.now(),
@@ -1411,9 +1414,9 @@ export class ChatModule {
1411
1414
  /**
1412
1415
  * Load history from localStorage
1413
1416
  */
1414
- loadHistory(sessionId) {
1417
+ loadHistory(_sessionId) {
1415
1418
  try {
1416
- const storageKey = this.historyPrefix + sessionId;
1419
+ const storageKey = this.historyStorageKey;
1417
1420
  const stored = localStorage.getItem(storageKey);
1418
1421
  if (!stored) {
1419
1422
  return null;
@@ -1501,12 +1504,20 @@ export class ChatModule {
1501
1504
  logger.info(`Server sent empty history, keeping local (${this.history.length})`);
1502
1505
  return;
1503
1506
  }
1507
+ // Merge: use server messages as base, append any local-only messages
1508
+ // that are newer than the last server message
1509
+ const serverTimestamp = messages.length > 0 ? new Date(messages[messages.length - 1].timestamp || 0).getTime() : 0;
1510
+ const localOnlyMessages = this.history.filter((msg) => {
1511
+ const msgTime = new Date(msg.timestamp).getTime();
1512
+ return msgTime > serverTimestamp && msg.role !== 'system';
1513
+ });
1514
+ const merged = [...messages, ...localOnlyMessages];
1515
+ const boundedHistory = merged.slice(-this.maxHistoryMessages);
1504
1516
  container.innerHTML = '';
1505
- this.history = messages;
1517
+ this.history = boundedHistory;
1506
1518
  // Use DocumentFragment for batch DOM insertion
1507
1519
  const fragment = document.createDocumentFragment();
1508
- // Limit to last N messages for DOM performance
1509
- const messagesToRender = messages.slice(-this.maxDomMessages);
1520
+ const messagesToRender = boundedHistory.slice(-this.maxDomMessages);
1510
1521
  messagesToRender.forEach((msg) => {
1511
1522
  const msgEl = document.createElement('div');
1512
1523
  msgEl.className = `chat-message ${msg.role}`;
@@ -1532,14 +1543,32 @@ export class ChatModule {
1532
1543
  });
1533
1544
  container.appendChild(fragment);
1534
1545
  scrollToBottom(container);
1535
- logger.info('Displayed', messagesToRender.length, 'history messages');
1546
+ // Save merged history to localStorage
1547
+ this.saveCurrentHistory();
1548
+ logger.info('Displayed', messagesToRender.length, 'messages (server:', messages.length, '+ local:', localOnlyMessages.length, ')');
1549
+ }
1550
+ saveCurrentHistory() {
1551
+ if (!this.sessionId) {
1552
+ return;
1553
+ }
1554
+ try {
1555
+ const storageKey = this.historyStorageKey;
1556
+ const storageData = {
1557
+ history: this.history,
1558
+ savedAt: Date.now(),
1559
+ };
1560
+ localStorage.setItem(storageKey, JSON.stringify(storageData));
1561
+ }
1562
+ catch (e) {
1563
+ logger.warn('Failed to save history:', e);
1564
+ }
1536
1565
  }
1537
1566
  /**
1538
1567
  * Clear chat history
1539
1568
  */
1540
- clearHistory(sessionId = null) {
1569
+ clearHistory(_sessionId = null) {
1541
1570
  try {
1542
- const storageKey = this.historyPrefix + (sessionId || this.sessionId);
1571
+ const storageKey = this.historyStorageKey;
1543
1572
  localStorage.removeItem(storageKey);
1544
1573
  this.history = [];
1545
1574
  }
@@ -151,7 +151,10 @@ export class ChatModule {
151
151
  rafPending = false;
152
152
  history: ChatHistoryMessage[] = [];
153
153
  historyPrefix = 'mama_chat_history_';
154
- maxHistoryMessages = 50;
154
+ get historyStorageKey(): string {
155
+ return this.historyPrefix + 'viewer_mama_os_main';
156
+ }
157
+ maxHistoryMessages = 200;
155
158
  maxDomMessages = 100; // Limit DOM elements for performance
156
159
  historyExpiryMs = 24 * 60 * 60 * 1000;
157
160
  checkpointCooldown = false;
@@ -230,11 +233,11 @@ export class ChatModule {
230
233
  // Check for resumable session first
231
234
  await this.checkForResumableSession();
232
235
 
233
- // Try to get last active server session first
236
+ // Always try to get the last active viewer session from server
237
+ // Use it regardless of isAlive — server history is the source of truth
234
238
  const lastActiveSession = await API.getLastActiveSession().catch(() => null);
235
- if (lastActiveSession && lastActiveSession.id && lastActiveSession.isAlive) {
236
- logger.info('Resuming last active session:', lastActiveSession.id);
237
- this.addSystemMessage('Resuming previous session...');
239
+ if (lastActiveSession && lastActiveSession.id) {
240
+ logger.info('Using server session:', lastActiveSession.id);
238
241
  localStorage.setItem('mama_chat_session_id', lastActiveSession.id);
239
242
  this.initWebSocket(lastActiveSession.id);
240
243
  return;
@@ -1763,7 +1766,7 @@ export class ChatModule {
1763
1766
  }
1764
1767
 
1765
1768
  try {
1766
- const storageKey = this.historyPrefix + this.sessionId;
1769
+ const storageKey = this.historyStorageKey;
1767
1770
  const storageData = {
1768
1771
  history: this.history,
1769
1772
  savedAt: Date.now(),
@@ -1777,9 +1780,9 @@ export class ChatModule {
1777
1780
  /**
1778
1781
  * Load history from localStorage
1779
1782
  */
1780
- loadHistory(sessionId: string): ChatHistoryMessage[] | null {
1783
+ loadHistory(_sessionId: string): ChatHistoryMessage[] | null {
1781
1784
  try {
1782
- const storageKey = this.historyPrefix + sessionId;
1785
+ const storageKey = this.historyStorageKey;
1783
1786
  const stored = localStorage.getItem(storageKey);
1784
1787
 
1785
1788
  if (!stored) {
@@ -1880,13 +1883,25 @@ export class ChatModule {
1880
1883
  return;
1881
1884
  }
1882
1885
 
1886
+ // Merge: use server messages as base, append any local-only messages
1887
+ // that are newer than the last server message
1888
+ const serverTimestamp =
1889
+ messages.length > 0 ? new Date(messages[messages.length - 1].timestamp || 0).getTime() : 0;
1890
+
1891
+ const localOnlyMessages = this.history.filter((msg) => {
1892
+ const msgTime = new Date(msg.timestamp).getTime();
1893
+ return msgTime > serverTimestamp && msg.role !== 'system';
1894
+ });
1895
+
1896
+ const merged = [...messages, ...localOnlyMessages];
1897
+ const boundedHistory = merged.slice(-this.maxHistoryMessages);
1898
+
1883
1899
  container.innerHTML = '';
1884
- this.history = messages;
1900
+ this.history = boundedHistory;
1885
1901
 
1886
1902
  // Use DocumentFragment for batch DOM insertion
1887
1903
  const fragment = document.createDocumentFragment();
1888
- // Limit to last N messages for DOM performance
1889
- const messagesToRender = messages.slice(-this.maxDomMessages);
1904
+ const messagesToRender = boundedHistory.slice(-this.maxDomMessages);
1890
1905
 
1891
1906
  messagesToRender.forEach((msg) => {
1892
1907
  const msgEl = document.createElement('div');
@@ -1915,15 +1930,43 @@ export class ChatModule {
1915
1930
 
1916
1931
  container.appendChild(fragment);
1917
1932
  scrollToBottom(container);
1918
- logger.info('Displayed', messagesToRender.length, 'history messages');
1933
+
1934
+ // Save merged history to localStorage
1935
+ this.saveCurrentHistory();
1936
+
1937
+ logger.info(
1938
+ 'Displayed',
1939
+ messagesToRender.length,
1940
+ 'messages (server:',
1941
+ messages.length,
1942
+ '+ local:',
1943
+ localOnlyMessages.length,
1944
+ ')'
1945
+ );
1946
+ }
1947
+
1948
+ private saveCurrentHistory(): void {
1949
+ if (!this.sessionId) {
1950
+ return;
1951
+ }
1952
+ try {
1953
+ const storageKey = this.historyStorageKey;
1954
+ const storageData = {
1955
+ history: this.history,
1956
+ savedAt: Date.now(),
1957
+ };
1958
+ localStorage.setItem(storageKey, JSON.stringify(storageData));
1959
+ } catch (e) {
1960
+ logger.warn('Failed to save history:', e);
1961
+ }
1919
1962
  }
1920
1963
 
1921
1964
  /**
1922
1965
  * Clear chat history
1923
1966
  */
1924
- clearHistory(sessionId: string | null = null): void {
1967
+ clearHistory(_sessionId: string | null = null): void {
1925
1968
  try {
1926
- const storageKey = this.historyPrefix + (sessionId || this.sessionId);
1969
+ const storageKey = this.historyStorageKey;
1927
1970
  localStorage.removeItem(storageKey);
1928
1971
  this.history = [];
1929
1972
  } catch (e) {