Skip to content

Commit e42dc97

Browse files
fix(ios): reset retained state before control chat handoff
Co-authored-by: Colin <[email protected]>
1 parent 9aa5184 commit e42dc97

5 files changed

Lines changed: 85 additions & 44 deletions

File tree

apps/.i18n/native-source.json

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7475,127 +7475,127 @@
74757475
},
74767476
{
74777477
"kind": "ui-named-argument",
7478-
"line": 924,
7478+
"line": 927,
74797479
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
74807480
"source": "No \\(IPadWorkboardDefaults.label(for: self.status).lowercased()) cards",
74817481
"surface": "apple",
74827482
"id": "native.apple.32c4f348c9f4e313"
74837483
},
74847484
{
74857485
"kind": "ui-named-argument",
7486-
"line": 925,
7486+
"line": 928,
74877487
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
74887488
"source": "Cards moved into this lane appear here.",
74897489
"surface": "apple",
74907490
"id": "native.apple.30c47306610cb517"
74917491
},
74927492
{
74937493
"kind": "ui-modifier",
7494-
"line": 1104,
7494+
"line": 1107,
74957495
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
74967496
"source": "Card Actions",
74977497
"surface": "apple",
74987498
"id": "native.apple.7c47d0fcdeb2d0d3"
74997499
},
75007500
{
75017501
"kind": "ui-call",
7502-
"line": 1115,
7502+
"line": 1118,
75037503
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75047504
"source": "Open",
75057505
"surface": "apple",
75067506
"id": "native.apple.651ec246396255cd"
75077507
},
75087508
{
75097509
"kind": "ui-call",
7510-
"line": 1136,
7510+
"line": 1139,
75117511
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75127512
"source": "Inspect",
75137513
"surface": "apple",
75147514
"id": "native.apple.c1f2821d719e37f8"
75157515
},
75167516
{
75177517
"kind": "ui-call",
7518-
"line": 1138,
7518+
"line": 1141,
75197519
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75207520
"source": "Move to \\(IPadWorkboardDefaults.label(for: status))",
75217521
"surface": "apple",
75227522
"id": "native.apple.774f595a01eca278"
75237523
},
75247524
{
75257525
"kind": "conditional-branch",
7526-
"line": 1182,
7526+
"line": 1185,
75277527
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75287528
"source": "Default agent",
75297529
"surface": "apple",
75307530
"id": "native.apple.1345612333480144"
75317531
},
75327532
{
75337533
"kind": "ui-call",
7534-
"line": 1200,
7534+
"line": 1203,
75357535
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75367536
"source": "Card",
75377537
"surface": "apple",
75387538
"id": "native.apple.0c99715b98ca22a2"
75397539
},
75407540
{
75417541
"kind": "ui-call",
7542-
"line": 1201,
7542+
"line": 1204,
75437543
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75447544
"source": "Title",
75457545
"surface": "apple",
75467546
"id": "native.apple.77a417fa0f2aba1d"
75477547
},
75487548
{
75497549
"kind": "ui-call",
7550-
"line": 1202,
7550+
"line": 1205,
75517551
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75527552
"source": "Status",
75537553
"surface": "apple",
75547554
"id": "native.apple.6662824115f6982a"
75557555
},
75567556
{
75577557
"kind": "ui-call",
7558-
"line": 1208,
7558+
"line": 1211,
75597559
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75607560
"source": "Actions",
75617561
"surface": "apple",
75627562
"id": "native.apple.68a43a9e8939f395"
75637563
},
75647564
{
75657565
"kind": "ui-call",
7566-
"line": 1210,
7566+
"line": 1213,
75677567
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75687568
"source": "Open Session",
75697569
"surface": "apple",
75707570
"id": "native.apple.93eeaedb2ff61043"
75717571
},
75727572
{
75737573
"kind": "ui-call",
7574-
"line": 1212,
7574+
"line": 1215,
75757575
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75767576
"source": "Move",
75777577
"surface": "apple",
75787578
"id": "native.apple.a2732e4ff77a201b"
75797579
},
75807580
{
75817581
"kind": "conditional-branch",
7582-
"line": 1220,
7582+
"line": 1223,
75837583
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75847584
"source": "Archive",
75857585
"surface": "apple",
75867586
"id": "native.apple.f0d98558ee17ffe2"
75877587
},
75887588
{
75897589
"kind": "conditional-branch",
7590-
"line": 1220,
7590+
"line": 1223,
75917591
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
75927592
"source": "Unarchive",
75937593
"surface": "apple",
75947594
"id": "native.apple.dab3609e8a71ed48"
75957595
},
75967596
{
75977597
"kind": "ui-call",
7598-
"line": 1228,
7598+
"line": 1231,
75997599
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
76007600
"source": "Done",
76017601
"surface": "apple",
@@ -10755,183 +10755,183 @@
1075510755
},
1075610756
{
1075710757
"kind": "ui-call",
10758-
"line": 180,
10758+
"line": 181,
1075910759
"path": "apps/ios/Sources/RootTabs.swift",
1076010760
"source": "Talk",
1076110761
"surface": "apple",
1076210762
"id": "native.apple.f2ea327bfea8b8e3"
1076310763
},
1076410764
{
1076510765
"kind": "ui-call",
10766-
"line": 192,
10766+
"line": 193,
1076710767
"path": "apps/ios/Sources/RootTabs.swift",
1076810768
"source": "Control",
1076910769
"surface": "apple",
1077010770
"id": "native.apple.bda6cfa988e49a75"
1077110771
},
1077210772
{
1077310773
"kind": "ui-call",
10774-
"line": 201,
10774+
"line": 202,
1077510775
"path": "apps/ios/Sources/RootTabs.swift",
1077610776
"source": "Agent",
1077710777
"surface": "apple",
1077810778
"id": "native.apple.3c80f5351055a5f3"
1077910779
},
1078010780
{
1078110781
"kind": "ui-call",
10782-
"line": 208,
10782+
"line": 209,
1078310783
"path": "apps/ios/Sources/RootTabs.swift",
1078410784
"source": "Settings",
1078510785
"surface": "apple",
1078610786
"id": "native.apple.22d107db5b905ef4"
1078710787
},
1078810788
{
1078910789
"kind": "ui-call",
10790-
"line": 307,
10790+
"line": 308,
1079110791
"path": "apps/ios/Sources/RootTabs.swift",
1079210792
"source": "OpenClaw",
1079310793
"surface": "apple",
1079410794
"id": "native.apple.c23d35de8d70863f"
1079510795
},
1079610796
{
1079710797
"kind": "ui-modifier",
10798-
"line": 336,
10798+
"line": 337,
1079910799
"path": "apps/ios/Sources/RootTabs.swift",
1080010800
"source": "OpenClaw \\(self.sidebarGatewayStatusTitle)",
1080110801
"surface": "apple",
1080210802
"id": "native.apple.39042da9fc187030"
1080310803
},
1080410804
{
1080510805
"kind": "conditional-branch",
10806-
"line": 341,
10806+
"line": 342,
1080710807
"path": "apps/ios/Sources/RootTabs.swift",
1080810808
"source": "Online",
1080910809
"surface": "apple",
1081010810
"id": "native.apple.f4eea6473f43388d"
1081110811
},
1081210812
{
1081310813
"kind": "conditional-branch",
10814-
"line": 343,
10814+
"line": 344,
1081510815
"path": "apps/ios/Sources/RootTabs.swift",
1081610816
"source": "Connecting",
1081710817
"surface": "apple",
1081810818
"id": "native.apple.9e2aea6088887f1f"
1081910819
},
1082010820
{
1082110821
"kind": "conditional-branch",
10822-
"line": 345,
10822+
"line": 346,
1082310823
"path": "apps/ios/Sources/RootTabs.swift",
1082410824
"source": "Needs attention",
1082510825
"surface": "apple",
1082610826
"id": "native.apple.3624978c7d43335a"
1082710827
},
1082810828
{
1082910829
"kind": "conditional-branch",
10830-
"line": 347,
10830+
"line": 348,
1083110831
"path": "apps/ios/Sources/RootTabs.swift",
1083210832
"source": "Offline",
1083310833
"surface": "apple",
1083410834
"id": "native.apple.7da053dd774cb201"
1083510835
},
1083610836
{
1083710837
"kind": "ui-named-argument",
10838-
"line": 425,
10838+
"line": 426,
1083910839
"path": "apps/ios/Sources/RootTabs.swift",
1084010840
"source": "Chat",
1084110841
"surface": "apple",
1084210842
"id": "native.apple.a4256b2ab523ee60"
1084310843
},
1084410844
{
1084510845
"kind": "ui-named-argument",
10846-
"line": 438,
10846+
"line": 439,
1084710847
"path": "apps/ios/Sources/RootTabs.swift",
1084810848
"source": "Overview",
1084910849
"surface": "apple",
1085010850
"id": "native.apple.64d7dc062ef4cc81"
1085110851
},
1085210852
{
1085310853
"kind": "ui-named-argument",
10854-
"line": 462,
10854+
"line": 463,
1085510855
"path": "apps/ios/Sources/RootTabs.swift",
1085610856
"source": "Agents",
1085710857
"surface": "apple",
1085810858
"id": "native.apple.11f98fe0650d52f5"
1085910859
},
1086010860
{
1086110861
"kind": "ui-named-argument",
10862-
"line": 469,
10862+
"line": 470,
1086310863
"path": "apps/ios/Sources/RootTabs.swift",
1086410864
"source": "Instances",
1086510865
"surface": "apple",
1086610866
"id": "native.apple.47426e84372bc0a5"
1086710867
},
1086810868
{
1086910869
"kind": "ui-named-argument",
10870-
"line": 480,
10870+
"line": 481,
1087110871
"path": "apps/ios/Sources/RootTabs.swift",
1087210872
"source": "Dreaming",
1087310873
"surface": "apple",
1087410874
"id": "native.apple.ad3c65353227b63e"
1087510875
},
1087610876
{
1087710877
"kind": "ui-named-argument",
10878-
"line": 487,
10878+
"line": 488,
1087910879
"path": "apps/ios/Sources/RootTabs.swift",
1088010880
"source": "Usage",
1088110881
"surface": "apple",
1088210882
"id": "native.apple.a3ba593df67a8673"
1088310883
},
1088410884
{
1088510885
"kind": "ui-named-argument",
10886-
"line": 494,
10886+
"line": 495,
1088710887
"path": "apps/ios/Sources/RootTabs.swift",
1088810888
"source": "Cron Jobs",
1088910889
"surface": "apple",
1089010890
"id": "native.apple.db0d9af6d0855d18"
1089110891
},
1089210892
{
1089310893
"kind": "ui-modifier",
10894-
"line": 616,
10894+
"line": 617,
1089510895
"path": "apps/ios/Sources/RootTabs.swift",
1089610896
"source": "Hide Sidebar",
1089710897
"surface": "apple",
1089810898
"id": "native.apple.72fab75688479b3e"
1089910899
},
1090010900
{
1090110901
"kind": "ui-modifier",
10902-
"line": 743,
10902+
"line": 744,
1090310903
"path": "apps/ios/Sources/RootTabs.swift",
1090410904
"source": "Close canvas",
1090510905
"surface": "apple",
1090610906
"id": "native.apple.8af43f59602ec0d8"
1090710907
},
1090810908
{
1090910909
"kind": "conditional-branch",
10910-
"line": 997,
10910+
"line": 998,
1091110911
"path": "apps/ios/Sources/RootTabs.swift",
1091210912
"source": "Gateway needs attention",
1091310913
"surface": "apple",
1091410914
"id": "native.apple.8a4751c86aa6fe77"
1091510915
},
1091610916
{
1091710917
"kind": "conditional-branch",
10918-
"line": 997,
10918+
"line": 998,
1091910919
"path": "apps/ios/Sources/RootTabs.swift",
1092010920
"source": "OpenClaw iOS",
1092110921
"surface": "apple",
1092210922
"id": "native.apple.a55a43940452b04b"
1092310923
},
1092410924
{
1092510925
"kind": "conditional-branch",
10926-
"line": 1033,
10926+
"line": 1034,
1092710927
"path": "apps/ios/Sources/RootTabs.swift",
1092810928
"source": "Available",
1092910929
"surface": "apple",
1093010930
"id": "native.apple.35b6f99d627028f6"
1093110931
},
1093210932
{
1093310933
"kind": "conditional-branch",
10934-
"line": 1033,
10934+
"line": 1034,
1093510935
"path": "apps/ios/Sources/RootTabs.swift",
1093610936
"source": "Gateway default",
1093710937
"surface": "apple",

apps/ios/Sources/Design/IPadWorkboardScreen.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,6 +788,9 @@ struct IPadWorkboardScreen: View {
788788

789789
private func open(_ card: IPadWorkboardCard) {
790790
guard let sessionKey = normalized(card.sessionKey) else { return }
791+
// Card details are a sheet. Dismiss it before changing tabs or the requested
792+
// Chat session and contextual return action remain obscured by the old card.
793+
self.presentedSheet = nil
791794
self.appModel.openChat(sessionKey: sessionKey)
792795
self.openChat()
793796
}

0 commit comments

Comments
 (0)