Skip to content

Commit 443c582

Browse files
authored
fix(ios): restore in-flight runs after reconnect (#100277)
* fix(ios): restore in-flight chat runs from gateway history Restore active Apple chat ownership across reconnect, foreground, and sequence-gap recovery using the existing chat.history snapshot. Preserve agent/session scoping and Gateway user-turn identity across Codex and Copilot mirrors, including current offline-cache integration. * fix(ios): restore in-flight chat runs from gateway history
1 parent 19f5a4a commit 443c582

22 files changed

Lines changed: 2473 additions & 806 deletions

apps/.i18n/native-source.json

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7259,143 +7259,143 @@
72597259
},
72607260
{
72617261
"kind": "ui-localized-call",
7262-
"line": 100,
7262+
"line": 110,
72637263
"path": "apps/ios/Sources/Design/ChatProTab.swift",
72647264
"source": "Unable to Export Transcript",
72657265
"surface": "apple",
72667266
"id": "native.apple.e5524d5756a62744"
72677267
},
72687268
{
72697269
"kind": "ui-call",
7270-
"line": 104,
7270+
"line": 114,
72717271
"path": "apps/ios/Sources/Design/ChatProTab.swift",
72727272
"source": "OK",
72737273
"surface": "apple",
72747274
"id": "native.apple.942d6a10fd90d6e3"
72757275
},
72767276
{
72777277
"kind": "ui-call",
7278-
"line": 108,
7278+
"line": 118,
72797279
"path": "apps/ios/Sources/Design/ChatProTab.swift",
72807280
"source": "OpenClaw could not prepare the Markdown file.",
72817281
"surface": "apple",
72827282
"id": "native.apple.3548c8d1ab43e85e"
72837283
},
72847284
{
72857285
"kind": "ui-localized-call",
7286-
"line": 128,
7286+
"line": 138,
72877287
"path": "apps/ios/Sources/Design/ChatProTab.swift",
72887288
"source": "What would you like to work on?",
72897289
"surface": "apple",
72907290
"id": "native.apple.202b97e93b938049"
72917291
},
72927292
{
72937293
"kind": "ui-call",
7294-
"line": 139,
7294+
"line": 149,
72957295
"path": "apps/ios/Sources/Design/ChatProTab.swift",
72967296
"source": "The session attaches once the gateway is ready.",
72977297
"surface": "apple",
72987298
"id": "native.apple.32179ce0b6d4543f"
72997299
},
73007300
{
73017301
"kind": "ui-modifier",
7302-
"line": 219,
7302+
"line": 240,
73037303
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73047304
"source": "Opens Settings / Gateway",
73057305
"surface": "apple",
73067306
"id": "native.apple.d19c9577e0fdfea7"
73077307
},
73087308
{
73097309
"kind": "ui-call",
7310-
"line": 244,
7310+
"line": 265,
73117311
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73127312
"source": "Export Transcript",
73137313
"surface": "apple",
73147314
"id": "native.apple.ced228bb4d20a726"
73157315
},
73167316
{
73177317
"kind": "ui-modifier",
7318-
"line": 254,
7318+
"line": 275,
73197319
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73207320
"source": "Chat actions",
73217321
"surface": "apple",
73227322
"id": "native.apple.940e1f943750c94b"
73237323
},
73247324
{
73257325
"kind": "conditional-branch",
7326-
"line": 307,
7326+
"line": 328,
73277327
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73287328
"source": "Connected",
73297329
"surface": "apple",
73307330
"id": "native.apple.b635acd93246d67b"
73317331
},
73327332
{
73337333
"kind": "conditional-branch",
7334-
"line": 307,
7334+
"line": 328,
73357335
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73367336
"source": "Unavailable",
73377337
"surface": "apple",
73387338
"id": "native.apple.04934af85e3b9d6e"
73397339
},
73407340
{
73417341
"kind": "conditional-branch",
7342-
"line": 318,
7342+
"line": 339,
73437343
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73447344
"source": "Connect to a gateway",
73457345
"surface": "apple",
73467346
"id": "native.apple.889fe76e02b8ad5d"
73477347
},
73487348
{
73497349
"kind": "conditional-branch",
7350-
"line": 318,
7350+
"line": 339,
73517351
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73527352
"source": "Message \\(self.agentDisplayName)...",
73537353
"surface": "apple",
73547354
"id": "native.apple.e8173c7d24457256"
73557355
},
73567356
{
73577357
"kind": "ui-localized-call",
7358-
"line": 368,
7358+
"line": 393,
73597359
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73607360
"source": "Check OpenClaw status",
73617361
"surface": "apple",
73627362
"id": "native.apple.14492e334b87e4f2"
73637363
},
73647364
{
73657365
"kind": "ui-localized-call",
7366-
"line": 369,
7366+
"line": 394,
73677367
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73687368
"source": "Summarize the current OpenClaw status and tell me what needs attention.",
73697369
"surface": "apple",
73707370
"id": "native.apple.bbf7bd23da1e7865"
73717371
},
73727372
{
73737373
"kind": "ui-localized-call",
7374-
"line": 372,
7374+
"line": 397,
73757375
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73767376
"source": "What can I control here?",
73777377
"surface": "apple",
73787378
"id": "native.apple.ea8cbb1b4230c652"
73797379
},
73807380
{
73817381
"kind": "ui-localized-call",
7382-
"line": 373,
7382+
"line": 398,
73837383
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73847384
"source": "Show me which phone controls and device capabilities are available right now.",
73857385
"surface": "apple",
73867386
"id": "native.apple.451d25bdb3130ed0"
73877387
},
73887388
{
73897389
"kind": "ui-localized-call",
7390-
"line": 376,
7390+
"line": 401,
73917391
"path": "apps/ios/Sources/Design/ChatProTab.swift",
73927392
"source": "Help me start voice chat",
73937393
"surface": "apple",
73947394
"id": "native.apple.503ec402d08bd43a"
73957395
},
73967396
{
73977397
"kind": "ui-localized-call",
7398-
"line": 377,
7398+
"line": 402,
73997399
"path": "apps/ios/Sources/Design/ChatProTab.swift",
74007400
"source": "Help me start a realtime voice session from this phone.",
74017401
"surface": "apple",
@@ -11131,63 +11131,63 @@
1113111131
},
1113211132
{
1113311133
"kind": "conditional-branch",
11134-
"line": 2697,
11134+
"line": 2699,
1113511135
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1113611136
"source": "Action required",
1113711137
"surface": "apple",
1113811138
"id": "native.apple.0d030e96f7738497"
1113911139
},
1114011140
{
1114111141
"kind": "conditional-branch",
11142-
"line": 2697,
11142+
"line": 2699,
1114311143
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1114411144
"source": "Approval needed",
1114511145
"surface": "apple",
1114611146
"id": "native.apple.ce6a022159f2fb41"
1114711147
},
1114811148
{
1114911149
"kind": "conditional-branch",
11150-
"line": 3252,
11150+
"line": 3254,
1115111151
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1115211152
"source": "Connecting…",
1115311153
"surface": "apple",
1115411154
"id": "native.apple.b0d9c1ba8ef7ec19"
1115511155
},
1115611156
{
1115711157
"kind": "conditional-branch",
11158-
"line": 3252,
11158+
"line": 3254,
1115911159
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1116011160
"source": "Reconnecting…",
1116111161
"surface": "apple",
1116211162
"id": "native.apple.bd98e19b49309284"
1116311163
},
1116411164
{
1116511165
"kind": "conditional-branch",
11166-
"line": 3256,
11166+
"line": 3258,
1116711167
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1116811168
"source": "Connecting...",
1116911169
"surface": "apple",
1117011170
"id": "native.apple.6504753f3621269e"
1117111171
},
1117211172
{
1117311173
"kind": "conditional-branch",
11174-
"line": 3256,
11174+
"line": 3258,
1117511175
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1117611176
"source": "Reconnecting...",
1117711177
"surface": "apple",
1117811178
"id": "native.apple.c7fbe2a713d78714"
1117911179
},
1118011180
{
1118111181
"kind": "conditional-branch",
11182-
"line": 3544,
11182+
"line": 3546,
1118311183
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1118411184
"source": "Connected",
1118511185
"surface": "apple",
1118611186
"id": "native.apple.c0a005f81d588867"
1118711187
},
1118811188
{
1118911189
"kind": "conditional-branch",
11190-
"line": 3544,
11190+
"line": 3546,
1119111191
"path": "apps/ios/Sources/Model/NodeAppModel.swift",
1119211192
"source": "Offline",
1119311193
"surface": "apple",

0 commit comments

Comments
 (0)