@makerbi/remodex 3.3.0 → 3.4.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makerbi/remodex",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "Local bridge between Codex and the Remodex mobile app. Run `remodex up` to start.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1330,6 +1330,24 @@ function createDesktopIpcActionFollower({
1330
1330
  )) {
1331
1331
  canonicalHistoryThreadIds.add(threadId);
1332
1332
  }
1333
+ // Resume acquires a writer in app-server. A metadata-only resume must stay
1334
+ // with the Desktop owner even when historical turns require canonical paging.
1335
+ // Returning no embedded turns also preserves the phone's pagination support.
1336
+ if (canonicalHistoryThreadIds.has(threadId)
1337
+ && method === "thread/resume"
1338
+ && message.params?.excludeTurns === true) {
1339
+ const thread = projectDesktopConversationStateToThread(
1340
+ threadId, boundedDesktopLiveStateForThread(threadId, rawState), { now }
1341
+ );
1342
+ sendApplicationResponse(JSON.stringify({
1343
+ id: message.id,
1344
+ result: {
1345
+ thread: { ...thread, turns: [] },
1346
+ remodexDesktopIpcMirror: true,
1347
+ },
1348
+ }));
1349
+ return true;
1350
+ }
1333
1351
  if (canonicalHistoryThreadIds.has(threadId)) {
1334
1352
  if (isThreadTurnStateProbeRequest(message)) {
1335
1353
  const liveState = boundedDesktopLiveStateForThread(threadId, rawState);
@@ -1339,9 +1357,8 @@ function createDesktopIpcActionFollower({
1339
1357
  }));
1340
1358
  return true;
1341
1359
  }
1342
- // Falling through only starts a canonical request. It may be a metadata-
1343
- // only resume or may fail before history arrives, so keep the repair
1344
- // signal armed until a live update can force a verified reload.
1360
+ // Keep the repair signal armed until canonical history actually arrives;
1361
+ // starting a request alone does not prove that recovery succeeded.
1345
1362
  return ownsDesktopCursor ? rejectDesktopTurnsCursor(message) : false;
1346
1363
  }
1347
1364
  const thread = projectDesktopConversationStateToThread(threadId, rawState, { now });