mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
perf(mobile): open a session with its last tab strip (#39158)
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,11 @@
|
||||
"family": "session.startup",
|
||||
"namedDeltas": [],
|
||||
"values": {
|
||||
"04cec5da2df1": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 22,
|
||||
"value": {}
|
||||
},
|
||||
"04f9f79493f1": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 13,
|
||||
@@ -11,19 +16,17 @@
|
||||
"allowEmptyLoaded": true
|
||||
}
|
||||
},
|
||||
"14cc324e5867": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 21,
|
||||
"value": {}
|
||||
},
|
||||
"1e39202de11e": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"1c425a4c02bb": {
|
||||
"name": "toast",
|
||||
"ordinal": 18,
|
||||
"value": {}
|
||||
"value": {
|
||||
"durationMs": 3000,
|
||||
"message": "Open Orca on the host to wake sleeping agents."
|
||||
}
|
||||
},
|
||||
"2532b032374f": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 28,
|
||||
"30f5e556f9c1": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 15,
|
||||
"value": {}
|
||||
},
|
||||
"343bb26c2588": {
|
||||
@@ -39,6 +42,13 @@
|
||||
"ordinal": 5,
|
||||
"value": {}
|
||||
},
|
||||
"39ed117c65f2": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 17,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"4669e4d646e8": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 6,
|
||||
@@ -46,44 +56,9 @@
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"51ae204eb34b": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 2550,
|
||||
"settledAt": 2550,
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"5543ee241dbb": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 27,
|
||||
"value": {}
|
||||
},
|
||||
"6419a011f13b": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 1,
|
||||
"value": {}
|
||||
},
|
||||
"70715317cc92": {
|
||||
"name": "diagnostics-reset-route",
|
||||
"ordinal": 17,
|
||||
"value": {}
|
||||
},
|
||||
"791c598994de": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 19,
|
||||
"value": {}
|
||||
},
|
||||
"7953dfb08a13": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 8,
|
||||
"value": {
|
||||
"allowEmptyLoaded": true
|
||||
}
|
||||
},
|
||||
"92e7422b7481": {
|
||||
"4e82c0d6a331": {
|
||||
"name": "worktree.activate#2",
|
||||
"ordinal": 20,
|
||||
"ordinal": 14,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
@@ -117,6 +92,82 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"51ae204eb34b": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 2550,
|
||||
"settledAt": 2550,
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"629aee3fec6c": {
|
||||
"name": "worktree.activate#2",
|
||||
"ordinal": 16,
|
||||
"json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.activate\",\"params\":{\"worktree\":\"id:wt-1\",\"notifyClients\":false,\"navigation\":\"caller\"}}"
|
||||
},
|
||||
"6419a011f13b": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 1,
|
||||
"value": {}
|
||||
},
|
||||
"7953dfb08a13": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 8,
|
||||
"value": {
|
||||
"allowEmptyLoaded": true
|
||||
}
|
||||
},
|
||||
"84c0839eccca": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 20,
|
||||
"value": {
|
||||
"allowEmptyLoaded": true
|
||||
}
|
||||
},
|
||||
"854cb236952a": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"8ac1a3109c04": {
|
||||
"name": "worktree.activate#2",
|
||||
"ordinal": 14,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "worktree.activate"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"navigation": "caller",
|
||||
"notifyClients": false,
|
||||
"worktree": "id:wt-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "pending",
|
||||
"startedAt": 2550
|
||||
}
|
||||
},
|
||||
"9440e16e975c": {
|
||||
"name": "worktree.activate#1",
|
||||
"ordinal": 9,
|
||||
@@ -157,103 +208,16 @@
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"a64fb4d065f5": {
|
||||
"name": "worktree.activate#2",
|
||||
"ordinal": 20,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "worktree.activate"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"navigation": "caller",
|
||||
"notifyClients": false,
|
||||
"worktree": "id:wt-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "pending",
|
||||
"startedAt": 2550
|
||||
}
|
||||
},
|
||||
"a7a4537b3b5c": {
|
||||
"name": "worktree.activate#2",
|
||||
"ordinal": 22,
|
||||
"json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.activate\",\"params\":{\"worktree\":\"id:wt-1\",\"notifyClients\":false,\"navigation\":\"caller\"}}"
|
||||
},
|
||||
"aab012c297bd": {
|
||||
"name": "diagnostics-reset-route",
|
||||
"ordinal": 2,
|
||||
"value": {}
|
||||
},
|
||||
"acf0370bfacc": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"ad31ee4e38f7": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 23,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"c03aaed85eb1": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 25,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"c59295cf1c69": {
|
||||
"name": "worktree.activate#1",
|
||||
"ordinal": 10,
|
||||
"json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.activate\",\"params\":{\"worktree\":\"id:wt-1\",\"notifyClients\":false,\"navigation\":\"caller\"}}"
|
||||
},
|
||||
"d002ac5f4bf4": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 16,
|
||||
"value": {}
|
||||
},
|
||||
"d2a0170e903b": {
|
||||
"name": "toast",
|
||||
"ordinal": 24,
|
||||
"value": {
|
||||
"durationMs": 3000,
|
||||
"message": "Open Orca on the host to wake sleeping agents."
|
||||
}
|
||||
},
|
||||
"d4bedafff7b3": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 14,
|
||||
"value": {}
|
||||
},
|
||||
"d5099139e4c2": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 26,
|
||||
"value": {
|
||||
"allowEmptyLoaded": true
|
||||
}
|
||||
},
|
||||
"da6deb44ce71": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 12,
|
||||
@@ -297,21 +261,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"e2a7de11a524": {
|
||||
"actionSheetRequestSeq": 3,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"e927128e41fc": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 3,
|
||||
@@ -325,9 +274,16 @@
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"f3cfad7c767c": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 15,
|
||||
"f7e803082fc4": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 19,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"f97fb55d23d2": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 21,
|
||||
"value": {}
|
||||
}
|
||||
},
|
||||
@@ -342,7 +298,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -361,7 +317,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -382,7 +338,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -405,7 +361,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -424,13 +380,13 @@
|
||||
{
|
||||
"id": "activating",
|
||||
"observation": {
|
||||
"sender": ["defd9bef9981", "a64fb4d065f5"],
|
||||
"payloads": ["c59295cf1c69", "a7a4537b3b5c"],
|
||||
"sender": ["defd9bef9981", "8ac1a3109c04"],
|
||||
"payloads": ["c59295cf1c69", "629aee3fec6c"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"consume-route": "51ae204eb34b"
|
||||
},
|
||||
"state": "e2a7de11a524",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -443,27 +399,21 @@
|
||||
"343bb26c2588",
|
||||
"da6deb44ce71",
|
||||
"04f9f79493f1",
|
||||
"d4bedafff7b3",
|
||||
"f3cfad7c767c",
|
||||
"d002ac5f4bf4",
|
||||
"70715317cc92",
|
||||
"1e39202de11e",
|
||||
"791c598994de",
|
||||
"14cc324e5867",
|
||||
"ad31ee4e38f7"
|
||||
"30f5e556f9c1",
|
||||
"39ed117c65f2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "activated",
|
||||
"observation": {
|
||||
"sender": ["defd9bef9981", "92e7422b7481"],
|
||||
"payloads": ["c59295cf1c69", "a7a4537b3b5c"],
|
||||
"sender": ["defd9bef9981", "4e82c0d6a331"],
|
||||
"payloads": ["c59295cf1c69", "629aee3fec6c"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"consume-route": "51ae204eb34b"
|
||||
},
|
||||
"state": "e2a7de11a524",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -476,28 +426,22 @@
|
||||
"343bb26c2588",
|
||||
"da6deb44ce71",
|
||||
"04f9f79493f1",
|
||||
"d4bedafff7b3",
|
||||
"f3cfad7c767c",
|
||||
"d002ac5f4bf4",
|
||||
"70715317cc92",
|
||||
"1e39202de11e",
|
||||
"791c598994de",
|
||||
"14cc324e5867",
|
||||
"ad31ee4e38f7",
|
||||
"d2a0170e903b"
|
||||
"30f5e556f9c1",
|
||||
"39ed117c65f2",
|
||||
"1c425a4c02bb"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "reloaded",
|
||||
"observation": {
|
||||
"sender": ["defd9bef9981", "92e7422b7481"],
|
||||
"payloads": ["c59295cf1c69", "a7a4537b3b5c"],
|
||||
"sender": ["defd9bef9981", "4e82c0d6a331"],
|
||||
"payloads": ["c59295cf1c69", "629aee3fec6c"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"consume-route": "51ae204eb34b"
|
||||
},
|
||||
"state": "e2a7de11a524",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -510,30 +454,24 @@
|
||||
"343bb26c2588",
|
||||
"da6deb44ce71",
|
||||
"04f9f79493f1",
|
||||
"d4bedafff7b3",
|
||||
"f3cfad7c767c",
|
||||
"d002ac5f4bf4",
|
||||
"70715317cc92",
|
||||
"1e39202de11e",
|
||||
"791c598994de",
|
||||
"14cc324e5867",
|
||||
"ad31ee4e38f7",
|
||||
"d2a0170e903b",
|
||||
"c03aaed85eb1",
|
||||
"d5099139e4c2"
|
||||
"30f5e556f9c1",
|
||||
"39ed117c65f2",
|
||||
"1c425a4c02bb",
|
||||
"f7e803082fc4",
|
||||
"84c0839eccca"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "cleanup",
|
||||
"observation": {
|
||||
"sender": ["defd9bef9981", "92e7422b7481"],
|
||||
"payloads": ["c59295cf1c69", "a7a4537b3b5c"],
|
||||
"sender": ["defd9bef9981", "4e82c0d6a331"],
|
||||
"payloads": ["c59295cf1c69", "629aee3fec6c"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"consume-route": "51ae204eb34b"
|
||||
},
|
||||
"state": "e2a7de11a524",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -546,19 +484,13 @@
|
||||
"343bb26c2588",
|
||||
"da6deb44ce71",
|
||||
"04f9f79493f1",
|
||||
"d4bedafff7b3",
|
||||
"f3cfad7c767c",
|
||||
"d002ac5f4bf4",
|
||||
"70715317cc92",
|
||||
"1e39202de11e",
|
||||
"791c598994de",
|
||||
"14cc324e5867",
|
||||
"ad31ee4e38f7",
|
||||
"d2a0170e903b",
|
||||
"c03aaed85eb1",
|
||||
"d5099139e4c2",
|
||||
"5543ee241dbb",
|
||||
"2532b032374f"
|
||||
"30f5e556f9c1",
|
||||
"39ed117c65f2",
|
||||
"1c425a4c02bb",
|
||||
"f7e803082fc4",
|
||||
"84c0839eccca",
|
||||
"f97fb55d23d2",
|
||||
"04cec5da2df1"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
+19
-18
@@ -28,6 +28,22 @@
|
||||
"allowEmptyLoaded": true
|
||||
}
|
||||
},
|
||||
"854cb236952a": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"95c8385db422": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 4,
|
||||
@@ -50,21 +66,6 @@
|
||||
"ordinal": 2,
|
||||
"value": {}
|
||||
},
|
||||
"acf0370bfacc": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"bc94d6f00eeb": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 9,
|
||||
@@ -95,7 +96,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -114,7 +115,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -135,7 +136,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
|
||||
+22
-20
@@ -49,21 +49,6 @@
|
||||
"ordinal": 12,
|
||||
"value": {}
|
||||
},
|
||||
"83ed906e3d41": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"terminalsLoaded": true
|
||||
},
|
||||
"8c990409ac55": {
|
||||
"name": "worktree.activate#1",
|
||||
"ordinal": 5,
|
||||
@@ -115,6 +100,22 @@
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"a98356c9153c": {
|
||||
"actionSheetRequestSeq": 2,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": [],
|
||||
"terminalsLoaded": true
|
||||
},
|
||||
"aa6511b23729": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 1500,
|
||||
@@ -135,8 +136,8 @@
|
||||
"allowEmptyLoaded": true
|
||||
}
|
||||
},
|
||||
"c7e9a0eef4ce": {
|
||||
"actionSheetRequestSeq": 2,
|
||||
"e022e11065b3": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
@@ -148,6 +149,7 @@
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": [],
|
||||
"terminalsLoaded": true
|
||||
},
|
||||
"e927128e41fc": {
|
||||
@@ -185,7 +187,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "83ed906e3d41",
|
||||
"state": "e022e11065b3",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -204,7 +206,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "83ed906e3d41",
|
||||
"state": "e022e11065b3",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -226,7 +228,7 @@
|
||||
"mount": "eb79a9b3682a",
|
||||
"unmount": "aa6511b23729"
|
||||
},
|
||||
"state": "c7e9a0eef4ce",
|
||||
"state": "a98356c9153c",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
|
||||
+19
-18
@@ -49,6 +49,22 @@
|
||||
"ordinal": 12,
|
||||
"value": {}
|
||||
},
|
||||
"854cb236952a": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"8c990409ac55": {
|
||||
"name": "worktree.activate#1",
|
||||
"ordinal": 5,
|
||||
@@ -105,21 +121,6 @@
|
||||
"ordinal": 2,
|
||||
"value": {}
|
||||
},
|
||||
"acf0370bfacc": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"ba45b883b259": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 10,
|
||||
@@ -162,7 +163,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -181,7 +182,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
@@ -202,7 +203,7 @@
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a"
|
||||
},
|
||||
"state": "acf0370bfacc",
|
||||
"state": "854cb236952a",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
|
||||
@@ -0,0 +1,593 @@
|
||||
{
|
||||
"goldenFormatVersion": 6,
|
||||
"operation": "session.startup",
|
||||
"family": "session.startup",
|
||||
"namedDeltas": [],
|
||||
"values": {
|
||||
"0808af971d7f": {
|
||||
"name": "diagnostics-reset-route",
|
||||
"ordinal": 22,
|
||||
"value": {}
|
||||
},
|
||||
"0c745b7b3cbc": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 35,
|
||||
"value": {}
|
||||
},
|
||||
"169deb3ae6af": {
|
||||
"actionSheetRequestSeq": 1,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": ["tab-a", "tab-b", "tab-x"],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"1e3a1c95aa65": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 31,
|
||||
"value": {}
|
||||
},
|
||||
"1eb7c62d5c7f": {
|
||||
"actionSheetRequestSeq": 3,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": ["tab-a", "tab-b"],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"2071fa4023ba": {
|
||||
"actionSheetRequestSeq": 9,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"2196d8ddca7b": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 24,
|
||||
"value": {}
|
||||
},
|
||||
"234a43e6bd65": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 41,
|
||||
"value": {}
|
||||
},
|
||||
"2532b032374f": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 28,
|
||||
"value": {}
|
||||
},
|
||||
"30f5e556f9c1": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 15,
|
||||
"value": {}
|
||||
},
|
||||
"38b377793c34": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 5,
|
||||
"value": {}
|
||||
},
|
||||
"40d47c7b9e56": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 25,
|
||||
"value": {}
|
||||
},
|
||||
"414746be507d": {
|
||||
"name": "diagnostics-reset-route",
|
||||
"ordinal": 12,
|
||||
"value": {}
|
||||
},
|
||||
"42f2550e7540": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 40,
|
||||
"value": {}
|
||||
},
|
||||
"4669e4d646e8": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 6,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"48aab64376df": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 32,
|
||||
"value": {}
|
||||
},
|
||||
"4ab868ee910c": {
|
||||
"name": "diagnostics-reset-route",
|
||||
"ordinal": 30,
|
||||
"value": {}
|
||||
},
|
||||
"4e668f2777e4": {
|
||||
"name": "diagnostics-reset-route",
|
||||
"ordinal": 38,
|
||||
"value": {}
|
||||
},
|
||||
"4fb364aab7f9": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 29,
|
||||
"value": {}
|
||||
},
|
||||
"51245db218dd": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 37,
|
||||
"value": {}
|
||||
},
|
||||
"5543ee241dbb": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 27,
|
||||
"value": {}
|
||||
},
|
||||
"5bd54a356841": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 8,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"5c6699f9b431": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 7,
|
||||
"value": {}
|
||||
},
|
||||
"5d381bbc8fd2": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 19,
|
||||
"value": {}
|
||||
},
|
||||
"5dbd71a7b565": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 26,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"6419a011f13b": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 1,
|
||||
"value": {}
|
||||
},
|
||||
"7cf846aa3529": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 21,
|
||||
"value": {}
|
||||
},
|
||||
"95c8385db422": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 4,
|
||||
"value": {}
|
||||
},
|
||||
"968d084a5a35": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 10,
|
||||
"value": {}
|
||||
},
|
||||
"98136c40e776": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 18,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"9c976031a154": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 33,
|
||||
"value": {}
|
||||
},
|
||||
"a80c93135833": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 20,
|
||||
"value": {}
|
||||
},
|
||||
"aab012c297bd": {
|
||||
"name": "diagnostics-reset-route",
|
||||
"ordinal": 2,
|
||||
"value": {}
|
||||
},
|
||||
"b2e323ccc369": {
|
||||
"actionSheetRequestSeq": 7,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": [],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"b6770e9b4df2": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 34,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"bc94d6f00eeb": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 9,
|
||||
"value": {}
|
||||
},
|
||||
"c5b498aff2c9": {
|
||||
"name": "clear-terminal-cache",
|
||||
"ordinal": 11,
|
||||
"value": {}
|
||||
},
|
||||
"c63b05cb8b5c": {
|
||||
"actionSheetRequestSeq": 5,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": ["tab-a", "tab-b"],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"cc01cec0da32": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 42,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"cc93e616e745": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 36,
|
||||
"value": {}
|
||||
},
|
||||
"d000b4c837b7": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 13,
|
||||
"value": {}
|
||||
},
|
||||
"d0f2ffb3342b": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 39,
|
||||
"value": {}
|
||||
},
|
||||
"d42d15a1b559": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 23,
|
||||
"value": {}
|
||||
},
|
||||
"dc4910b3e253": {
|
||||
"name": "fetch-terminals",
|
||||
"ordinal": 16,
|
||||
"value": {
|
||||
"allowEmptyLoaded": false
|
||||
}
|
||||
},
|
||||
"e6ba1c0e09a4": {
|
||||
"actionSheetRequestSeq": 3,
|
||||
"activeHandle": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"appliedSnapshotMarker": {
|
||||
"epoch": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"version": -1
|
||||
},
|
||||
"closedTabTombstones": 0,
|
||||
"initializedHandles": [],
|
||||
"sessionTabs": ["tab-a", "tab-b", "tab-x"],
|
||||
"terminalsLoaded": false
|
||||
},
|
||||
"e927128e41fc": {
|
||||
"name": "clear-pending-live-input-commit",
|
||||
"ordinal": 3,
|
||||
"value": {}
|
||||
},
|
||||
"eb79a9b3682a": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 0,
|
||||
"settledAt": 0,
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"f0f3f352c679": {
|
||||
"name": "ensure-session-tabs",
|
||||
"ordinal": 17,
|
||||
"value": {}
|
||||
},
|
||||
"fde92e0a066b": {
|
||||
"name": "clear-delayed-action-timers",
|
||||
"ordinal": 14,
|
||||
"value": {}
|
||||
}
|
||||
},
|
||||
"recording": {
|
||||
"scenario": "session-startup-reopens-with-last-strip",
|
||||
"checkpoints": [
|
||||
{
|
||||
"id": "live",
|
||||
"observation": {
|
||||
"sender": [],
|
||||
"payloads": [],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"host-lists-three": "eb79a9b3682a"
|
||||
},
|
||||
"state": "169deb3ae6af",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
"e927128e41fc",
|
||||
"95c8385db422",
|
||||
"38b377793c34",
|
||||
"4669e4d646e8",
|
||||
"5c6699f9b431",
|
||||
"5bd54a356841"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "reopened-with-last-strip",
|
||||
"observation": {
|
||||
"sender": [],
|
||||
"payloads": [],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"host-lists-three": "eb79a9b3682a",
|
||||
"leave": "eb79a9b3682a",
|
||||
"reopen": "eb79a9b3682a"
|
||||
},
|
||||
"state": "e6ba1c0e09a4",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
"e927128e41fc",
|
||||
"95c8385db422",
|
||||
"38b377793c34",
|
||||
"4669e4d646e8",
|
||||
"5c6699f9b431",
|
||||
"5bd54a356841",
|
||||
"bc94d6f00eeb",
|
||||
"968d084a5a35",
|
||||
"c5b498aff2c9",
|
||||
"414746be507d",
|
||||
"d000b4c837b7",
|
||||
"fde92e0a066b",
|
||||
"30f5e556f9c1",
|
||||
"dc4910b3e253"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "snapshot-replaced-strip",
|
||||
"observation": {
|
||||
"sender": [],
|
||||
"payloads": [],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"host-lists-three": "eb79a9b3682a",
|
||||
"leave": "eb79a9b3682a",
|
||||
"reopen": "eb79a9b3682a",
|
||||
"host-closed-x": "eb79a9b3682a"
|
||||
},
|
||||
"state": "1eb7c62d5c7f",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
"e927128e41fc",
|
||||
"95c8385db422",
|
||||
"38b377793c34",
|
||||
"4669e4d646e8",
|
||||
"5c6699f9b431",
|
||||
"5bd54a356841",
|
||||
"bc94d6f00eeb",
|
||||
"968d084a5a35",
|
||||
"c5b498aff2c9",
|
||||
"414746be507d",
|
||||
"d000b4c837b7",
|
||||
"fde92e0a066b",
|
||||
"30f5e556f9c1",
|
||||
"dc4910b3e253",
|
||||
"f0f3f352c679",
|
||||
"98136c40e776"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "closed-tab-stays-gone",
|
||||
"observation": {
|
||||
"sender": [],
|
||||
"payloads": [],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"host-lists-three": "eb79a9b3682a",
|
||||
"leave": "eb79a9b3682a",
|
||||
"reopen": "eb79a9b3682a",
|
||||
"host-closed-x": "eb79a9b3682a",
|
||||
"leave-again": "eb79a9b3682a",
|
||||
"reopen-again": "eb79a9b3682a"
|
||||
},
|
||||
"state": "c63b05cb8b5c",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
"e927128e41fc",
|
||||
"95c8385db422",
|
||||
"38b377793c34",
|
||||
"4669e4d646e8",
|
||||
"5c6699f9b431",
|
||||
"5bd54a356841",
|
||||
"bc94d6f00eeb",
|
||||
"968d084a5a35",
|
||||
"c5b498aff2c9",
|
||||
"414746be507d",
|
||||
"d000b4c837b7",
|
||||
"fde92e0a066b",
|
||||
"30f5e556f9c1",
|
||||
"dc4910b3e253",
|
||||
"f0f3f352c679",
|
||||
"98136c40e776",
|
||||
"5d381bbc8fd2",
|
||||
"a80c93135833",
|
||||
"7cf846aa3529",
|
||||
"0808af971d7f",
|
||||
"d42d15a1b559",
|
||||
"2196d8ddca7b",
|
||||
"40d47c7b9e56",
|
||||
"5dbd71a7b565"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "next-worktree-starts-empty",
|
||||
"observation": {
|
||||
"sender": [],
|
||||
"payloads": [],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"host-lists-three": "eb79a9b3682a",
|
||||
"leave": "eb79a9b3682a",
|
||||
"reopen": "eb79a9b3682a",
|
||||
"host-closed-x": "eb79a9b3682a",
|
||||
"leave-again": "eb79a9b3682a",
|
||||
"reopen-again": "eb79a9b3682a",
|
||||
"switch-to-wt-2": "eb79a9b3682a"
|
||||
},
|
||||
"state": "b2e323ccc369",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
"e927128e41fc",
|
||||
"95c8385db422",
|
||||
"38b377793c34",
|
||||
"4669e4d646e8",
|
||||
"5c6699f9b431",
|
||||
"5bd54a356841",
|
||||
"bc94d6f00eeb",
|
||||
"968d084a5a35",
|
||||
"c5b498aff2c9",
|
||||
"414746be507d",
|
||||
"d000b4c837b7",
|
||||
"fde92e0a066b",
|
||||
"30f5e556f9c1",
|
||||
"dc4910b3e253",
|
||||
"f0f3f352c679",
|
||||
"98136c40e776",
|
||||
"5d381bbc8fd2",
|
||||
"a80c93135833",
|
||||
"7cf846aa3529",
|
||||
"0808af971d7f",
|
||||
"d42d15a1b559",
|
||||
"2196d8ddca7b",
|
||||
"40d47c7b9e56",
|
||||
"5dbd71a7b565",
|
||||
"5543ee241dbb",
|
||||
"2532b032374f",
|
||||
"4fb364aab7f9",
|
||||
"4ab868ee910c",
|
||||
"1e3a1c95aa65",
|
||||
"48aab64376df",
|
||||
"9c976031a154",
|
||||
"b6770e9b4df2"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "next-worktree-never-took-the-last-strip",
|
||||
"observation": {
|
||||
"sender": [],
|
||||
"payloads": [],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
"host-lists-three": "eb79a9b3682a",
|
||||
"leave": "eb79a9b3682a",
|
||||
"reopen": "eb79a9b3682a",
|
||||
"host-closed-x": "eb79a9b3682a",
|
||||
"leave-again": "eb79a9b3682a",
|
||||
"reopen-again": "eb79a9b3682a",
|
||||
"switch-to-wt-2": "eb79a9b3682a",
|
||||
"leave-wt-2": "eb79a9b3682a",
|
||||
"reopen-wt-2": "eb79a9b3682a"
|
||||
},
|
||||
"state": "2071fa4023ba",
|
||||
"effects": [
|
||||
"6419a011f13b",
|
||||
"aab012c297bd",
|
||||
"e927128e41fc",
|
||||
"95c8385db422",
|
||||
"38b377793c34",
|
||||
"4669e4d646e8",
|
||||
"5c6699f9b431",
|
||||
"5bd54a356841",
|
||||
"bc94d6f00eeb",
|
||||
"968d084a5a35",
|
||||
"c5b498aff2c9",
|
||||
"414746be507d",
|
||||
"d000b4c837b7",
|
||||
"fde92e0a066b",
|
||||
"30f5e556f9c1",
|
||||
"dc4910b3e253",
|
||||
"f0f3f352c679",
|
||||
"98136c40e776",
|
||||
"5d381bbc8fd2",
|
||||
"a80c93135833",
|
||||
"7cf846aa3529",
|
||||
"0808af971d7f",
|
||||
"d42d15a1b559",
|
||||
"2196d8ddca7b",
|
||||
"40d47c7b9e56",
|
||||
"5dbd71a7b565",
|
||||
"5543ee241dbb",
|
||||
"2532b032374f",
|
||||
"4fb364aab7f9",
|
||||
"4ab868ee910c",
|
||||
"1e3a1c95aa65",
|
||||
"48aab64376df",
|
||||
"9c976031a154",
|
||||
"b6770e9b4df2",
|
||||
"0c745b7b3cbc",
|
||||
"cc93e616e745",
|
||||
"51245db218dd",
|
||||
"4e668f2777e4",
|
||||
"d0f2ffb3342b",
|
||||
"42f2550e7540",
|
||||
"234a43e6bd65",
|
||||
"cc01cec0da32"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -21887,6 +21887,98 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "session-startup-reopens-with-last-strip",
|
||||
"operation": "session.startup",
|
||||
"family": "session.startup",
|
||||
"sites": ["mobile/src/session/use-mobile-session-startup.ts"],
|
||||
"schedules": [],
|
||||
"steps": [
|
||||
{
|
||||
"action": "mount",
|
||||
"id": "mount",
|
||||
"args": {
|
||||
"floating": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"action": "host-tabs",
|
||||
"id": "host-lists-three",
|
||||
"args": {
|
||||
"tabs": ["tab-a", "tab-b", "tab-x"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"checkpoint": "live"
|
||||
},
|
||||
{
|
||||
"action": "leave",
|
||||
"id": "leave"
|
||||
},
|
||||
{
|
||||
"action": "mount",
|
||||
"id": "reopen",
|
||||
"args": {
|
||||
"floating": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"checkpoint": "reopened-with-last-strip"
|
||||
},
|
||||
{
|
||||
"action": "host-tabs",
|
||||
"id": "host-closed-x",
|
||||
"args": {
|
||||
"tabs": ["tab-a", "tab-b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"checkpoint": "snapshot-replaced-strip"
|
||||
},
|
||||
{
|
||||
"action": "leave",
|
||||
"id": "leave-again"
|
||||
},
|
||||
{
|
||||
"action": "mount",
|
||||
"id": "reopen-again",
|
||||
"args": {
|
||||
"floating": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"checkpoint": "closed-tab-stays-gone"
|
||||
},
|
||||
{
|
||||
"action": "switch-worktree",
|
||||
"id": "switch-to-wt-2",
|
||||
"args": {
|
||||
"worktree": "wt-2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"checkpoint": "next-worktree-starts-empty"
|
||||
},
|
||||
{
|
||||
"action": "leave",
|
||||
"id": "leave-wt-2"
|
||||
},
|
||||
{
|
||||
"action": "mount",
|
||||
"id": "reopen-wt-2",
|
||||
"args": {
|
||||
"floating": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"checkpoint": "next-worktree-never-took-the-last-strip"
|
||||
},
|
||||
{
|
||||
"action": "unmount",
|
||||
"id": "unmount"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "session-startup-keeps-terminals-visible-on-reconnect",
|
||||
"operation": "session.startup",
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
import { useEffect } from 'react'
|
||||
import { useEffect, useMemo, useRef } from 'react'
|
||||
import { skipToken, useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import { translate } from '../i18n/mobile-i18n'
|
||||
import { useWorkspaceExecutionHost } from '../navigation/workspace-execution-host'
|
||||
import { hostQueryKey } from '../query/host-query-key'
|
||||
import { worktreeActivate } from '../host-screen/host-screen-operations'
|
||||
import { headlessActivationNeedsHostRenderer } from '../worktree/worktree-activation-result'
|
||||
import { createInitialSessionAutoCreateState } from './use-initial-session-terminal-autocreate'
|
||||
import type { MobileSessionKeyboardStateModel } from './use-mobile-session-keyboard-state'
|
||||
import type { MobileSessionTab } from './mobile-session-route-types'
|
||||
import { withoutSessionTabHostOwnership } from './mobile-session-tab-status-clock'
|
||||
import type { RpcResponse } from '../transport/types'
|
||||
|
||||
const LAST_TABS_META = { streamBacked: true }
|
||||
|
||||
export function useMobileSessionStartup(scope: MobileSessionKeyboardStateModel) {
|
||||
const {
|
||||
hostId,
|
||||
@@ -16,8 +23,10 @@ export function useMobileSessionStartup(scope: MobileSessionKeyboardStateModel)
|
||||
client,
|
||||
setTerminals,
|
||||
terminalsRef,
|
||||
sessionTabs,
|
||||
setSessionTabs,
|
||||
appliedSnapshotMarkerRef,
|
||||
appliedSessionTabsRevisionRef,
|
||||
closedTabTombstonesRef,
|
||||
setTerminalsLoaded,
|
||||
setActiveHandle,
|
||||
@@ -46,6 +55,20 @@ export function useMobileSessionStartup(scope: MobileSessionKeyboardStateModel)
|
||||
fetchTerminals,
|
||||
ensureSessionTabs
|
||||
} = scope
|
||||
const queryClient = useQueryClient()
|
||||
const exec = useWorkspaceExecutionHost() ?? 'local'
|
||||
const lastTabsKey = useMemo(
|
||||
() => hostQueryKey(hostId, 'session.tabs', { exec, worktree: worktreeId }, {}),
|
||||
[hostId, exec, worktreeId]
|
||||
)
|
||||
// Never fetched: this hook writes the entry, and observing it holds it until 10 min after leaving.
|
||||
useQuery({
|
||||
queryKey: lastTabsKey,
|
||||
queryFn: skipToken,
|
||||
meta: LAST_TABS_META,
|
||||
notifyOnChangeProps: []
|
||||
})
|
||||
const seedRevisionRef = useRef(0)
|
||||
useEffect(() => {
|
||||
// Reset reused-route state so the next workspace cannot inherit stale UI or snapshot gates.
|
||||
sessionTabActionSheetRequestSeqRef.current += 1
|
||||
@@ -74,7 +97,13 @@ export function useMobileSessionStartup(scope: MobileSessionKeyboardStateModel)
|
||||
setActiveHandle(null)
|
||||
setTerminals([])
|
||||
terminalsRef.current = []
|
||||
setSessionTabs([])
|
||||
// Paint the last strip until the host's snapshot replaces it (which treats it as the previous strip); offline keeps the empty-state body.
|
||||
const lastTabs =
|
||||
connState === 'connected'
|
||||
? queryClient.getQueryData<MobileSessionTab[]>(lastTabsKey)
|
||||
: undefined
|
||||
seedRevisionRef.current = appliedSessionTabsRevisionRef.current
|
||||
setSessionTabs(lastTabs ? withoutSessionTabHostOwnership(lastTabs) : [])
|
||||
setActiveSessionTabId(null)
|
||||
clearPendingLiveInputCommit()
|
||||
setMarkdownDocs(new Map())
|
||||
@@ -92,10 +121,16 @@ export function useMobileSessionStartup(scope: MobileSessionKeyboardStateModel)
|
||||
clearTerminalCache,
|
||||
setSplitTerminalHandles,
|
||||
terminalPaneViewportsRef,
|
||||
hostId,
|
||||
worktreeId
|
||||
lastTabsKey
|
||||
])
|
||||
|
||||
useEffect(() => {
|
||||
// Only strips this visit took from the host; writing back the seed would pass it off as fresh.
|
||||
if (appliedSessionTabsRevisionRef.current > seedRevisionRef.current) {
|
||||
queryClient.setQueryData(lastTabsKey, sessionTabs)
|
||||
}
|
||||
}, [queryClient, lastTabsKey, sessionTabs])
|
||||
|
||||
// Every setTimeout goes through addTimer into `timers`, which the returned cleanup clears.
|
||||
// react-doctor-disable-next-line react-doctor/effect-needs-cleanup
|
||||
useEffect(() => {
|
||||
|
||||
@@ -116,7 +116,7 @@ export const BRIDGED_PARITY_EXCLUSIONS: Readonly<Partial<Record<BridgedParityCla
|
||||
|
||||
// Pin strict History verdicts and unchanged legacy counts in both directions.
|
||||
export const BRIDGED_PARITY_BASELINE: Readonly<Record<BridgedParityClass | 'identical', number>> = {
|
||||
identical: 384,
|
||||
identical: 385,
|
||||
'reply-meta-required': 0,
|
||||
'result-absent-settlement': 330,
|
||||
'result-absent-observation': 3,
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
import { hookMount } from '../hook-mount'
|
||||
import { mountFixture } from '../recorder-fixture-shape'
|
||||
import type { MobileSessionTab } from '../../../session/mobile-session-route-types'
|
||||
import type { operationModuleLoader } from '../operation-module-loader'
|
||||
import type { MountAdapter } from '../recording-scenario'
|
||||
|
||||
const WORKTREE_ID = 'wt-1'
|
||||
const HOST_ID = 'host-1'
|
||||
|
||||
// Record callback effects and flags; scenario-declared tab-load rejection tests whether later terminal loads survive.
|
||||
// Consume created on the same mount to reach both mutually exclusive activation sites through the real effect rerun.
|
||||
// `host-tabs` stands in for an accepted host snapshot (revision bump, then the strip); `leave` keeps the document's cache for a reopen.
|
||||
export function sessionStartupMountAdapters(
|
||||
modules: ReturnType<typeof operationModuleLoader>
|
||||
): Record<string, MountAdapter> {
|
||||
@@ -18,6 +19,7 @@ export function sessionStartupMountAdapters(
|
||||
).useMobileSessionStartup
|
||||
|
||||
let created: string | undefined
|
||||
let worktreeId = 'wt-1'
|
||||
let isFloatingWorkspaceRoute = false
|
||||
let tabLoadRejects = false
|
||||
let terminalsLoaded = true
|
||||
@@ -29,19 +31,34 @@ export function sessionStartupMountAdapters(
|
||||
const terminalGestureInputQueuesRef = { current: new Map<string, never>() }
|
||||
const terminalGestureInputInFlightRef = { current: new Set<string>() }
|
||||
const sessionTabActionSheetRequestSeqRef = { current: 0 }
|
||||
let sessionTabs: MobileSessionTab[] = []
|
||||
const appliedSessionTabsRevisionRef = { current: 0 }
|
||||
// Stable like the screen's own callbacks, so an update reruns the route reset only when the route changes.
|
||||
const routeResetDeps = {
|
||||
setSplitTerminalHandles: () => {},
|
||||
terminalPaneViewportsRef: { current: new Map() },
|
||||
clearPendingLiveInputCommit: () => effect('clear-pending-live-input-commit', {}),
|
||||
clearDelayedActionTimers: () => effect('clear-delayed-action-timers', {}),
|
||||
clearTerminalCache: () => effect('clear-terminal-cache', {})
|
||||
}
|
||||
|
||||
const hook = hookMount(() => {
|
||||
useStartup(
|
||||
mountFixture<Parameters<typeof useStartup>[0]>({
|
||||
...routeResetDeps,
|
||||
hostId: HOST_ID,
|
||||
worktreeId: WORKTREE_ID,
|
||||
worktreeId,
|
||||
created,
|
||||
isFloatingWorkspaceRoute,
|
||||
connState: 'connected',
|
||||
client,
|
||||
setTerminals: () => {},
|
||||
terminalsRef: { current: [] },
|
||||
setSessionTabs: () => {},
|
||||
sessionTabs,
|
||||
setSessionTabs: (update) => {
|
||||
sessionTabs = typeof update === 'function' ? update(sessionTabs) : update
|
||||
},
|
||||
appliedSessionTabsRevisionRef,
|
||||
appliedSnapshotMarkerRef,
|
||||
closedTabTombstonesRef,
|
||||
setTerminalsLoaded: (value: boolean) => {
|
||||
@@ -51,8 +68,6 @@ export function sessionStartupMountAdapters(
|
||||
activeHandle = typeof update === 'function' ? update(activeHandle) : update
|
||||
},
|
||||
setActiveSessionTabId: () => {},
|
||||
setSplitTerminalHandles: () => {},
|
||||
terminalPaneViewportsRef: { current: new Map() },
|
||||
setMarkdownDocs: () => {},
|
||||
setFileDocs: () => {},
|
||||
terminalGestureInputQueuesRef,
|
||||
@@ -70,11 +85,8 @@ export function sessionStartupMountAdapters(
|
||||
pendingBrowserFocusPageIdRef: { current: null },
|
||||
pendingTerminalActivationAttemptRef: { current: null },
|
||||
initialSessionAutoCreateRef: { current: null },
|
||||
clearPendingLiveInputCommit: () => effect('clear-pending-live-input-commit', {}),
|
||||
clearDelayedActionTimers: () => effect('clear-delayed-action-timers', {}),
|
||||
showToast: (message: string, durationMs?: number) =>
|
||||
effect('toast', { message, durationMs: durationMs ?? null }),
|
||||
clearTerminalCache: () => effect('clear-terminal-cache', {}),
|
||||
fetchTerminals: async (options) => {
|
||||
effect('fetch-terminals', { allowEmptyLoaded: options?.allowEmptyLoaded ?? null })
|
||||
return true
|
||||
@@ -105,12 +117,34 @@ export function sessionStartupMountAdapters(
|
||||
created = undefined
|
||||
return hook.update()
|
||||
}
|
||||
if (name === 'host-tabs') {
|
||||
const ids = Array.isArray(args.tabs) ? args.tabs.map(String) : []
|
||||
appliedSessionTabsRevisionRef.current += 1
|
||||
sessionTabs = ids.map((id) =>
|
||||
mountFixture<Extract<MobileSessionTab, { type: 'terminal' }>>({
|
||||
id,
|
||||
type: 'terminal',
|
||||
title: id,
|
||||
terminal: id
|
||||
})
|
||||
)
|
||||
return hook.update()
|
||||
}
|
||||
if (name === 'switch-worktree') {
|
||||
// A reused route: same screen, next workspace.
|
||||
worktreeId = String(args.worktree)
|
||||
return hook.update()
|
||||
}
|
||||
if (name === 'leave') {
|
||||
return hook.leave()
|
||||
}
|
||||
if (name === 'unmount') {
|
||||
return hook.unmount()
|
||||
}
|
||||
throw new Error(`Unknown session startup action: ${name}`)
|
||||
},
|
||||
state: () => ({
|
||||
sessionTabs: sessionTabs.map((tab) => tab.id),
|
||||
terminalsLoaded,
|
||||
activeHandle,
|
||||
initializedHandles: [...initializedHandlesRef.current].sort(),
|
||||
|
||||
Reference in New Issue
Block a user