mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
fix(mobile): only clear terminal output after the computer accepts Clear (#31703)
* fix(mobile): clear terminal output only after the computer accepts Clear
The phone erased its terminal before sending terminal.clearBuffer and
reported success on any reply, refusal included. Wait for the host's
{ clear: { cleared: true } } reply, fail immediately when disconnected so
the request cannot replay after reconnect, ignore late replies after the
client or terminal changed, and resubscribe a subscribed terminal so its
snapshot (including output that arrived during the request) replaces the
old screen. An unsubscribed tab draws its snapshot when it next subscribes.
Co-authored-by: Kelvin Amoaba <97001695+AmoabaKelvin@users.noreply.github.com>
* test(mobile): return the subscribe result from the gesture recording adapter
* fix(mobile): keep accepted clears when the terminal view re-renders
The WebView handle is rebuilt on every render and a relay/direct cutover
bumps the connection generation without changing the host, so both
checks treated accepted clears as stale: the phone neither reloaded the
output nor showed a toast. Only a replaced client is stale now.
---------
Co-authored-by: Kelvin Amoaba <97001695+AmoabaKelvin@users.noreply.github.com>
This commit is contained in:
+96
-79
@@ -61,6 +61,13 @@
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"2744881d0748": {
|
||||
"name": "terminal-subscribe",
|
||||
"ordinal": 8,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"31a1ebf3ac68": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 3,
|
||||
@@ -98,16 +105,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"3dc7f55dee2a": {
|
||||
"name": "toast",
|
||||
"ordinal": 7,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
}
|
||||
},
|
||||
"41eb762c53f0": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 3,
|
||||
@@ -145,6 +142,43 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"42b4a7d170de": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"clear": {
|
||||
"cleared": true,
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"47c387a75ffc": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 1,
|
||||
@@ -249,6 +283,16 @@
|
||||
"startedAt": 16
|
||||
}
|
||||
},
|
||||
"7e0ebd472c7b": {
|
||||
"name": "toast",
|
||||
"ordinal": 9,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
}
|
||||
},
|
||||
"8224ccdb2cd8": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 2,
|
||||
@@ -307,6 +351,13 @@
|
||||
"ordinal": 6,
|
||||
"json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"terminal.clearBuffer\",\"params\":{\"terminal\":\"terminal-1\"}}"
|
||||
},
|
||||
"94a34b9a1800": {
|
||||
"name": "terminal-unsubscribe",
|
||||
"ordinal": 7,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"94ce15ec36dc": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 3,
|
||||
@@ -482,7 +533,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"afb61324f54a": {
|
||||
"bfd73b81d7a1": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -499,7 +550,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -598,40 +649,6 @@
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"ebaa6b64425b": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"recording": {
|
||||
@@ -692,7 +709,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.normal:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -706,7 +723,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.normal:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -714,7 +731,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -733,7 +750,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-absent:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "e24bc71ad7f1", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "e24bc71ad7f1", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -747,7 +764,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-absent:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "e24bc71ad7f1", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "e24bc71ad7f1", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -755,7 +772,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -774,7 +791,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-null:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "9c7f27a40956", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "9c7f27a40956", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -788,7 +805,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-null:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "9c7f27a40956", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "9c7f27a40956", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -796,7 +813,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -815,7 +832,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-ok-missing:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "0bbc8e9d2e60", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "0bbc8e9d2e60", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -829,7 +846,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-ok-missing:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "0bbc8e9d2e60", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "0bbc8e9d2e60", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -837,7 +854,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -856,7 +873,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-string-error:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "41eb762c53f0", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "41eb762c53f0", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -870,7 +887,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-string-error:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "41eb762c53f0", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "41eb762c53f0", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -878,7 +895,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -897,7 +914,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-object-error:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "8412fcb9c620", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "8412fcb9c620", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -911,7 +928,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-object-error:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "8412fcb9c620", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "8412fcb9c620", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -919,7 +936,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -938,7 +955,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "dfe8d1bab9c5", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "dfe8d1bab9c5", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -952,7 +969,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "dfe8d1bab9c5", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "dfe8d1bab9c5", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -960,7 +977,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -979,7 +996,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused-no-message:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "9850afd5b555", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "9850afd5b555", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -993,7 +1010,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused-no-message:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "9850afd5b555", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "9850afd5b555", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1001,7 +1018,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1020,7 +1037,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.method-not-found:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "31a1ebf3ac68", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "31a1ebf3ac68", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1034,7 +1051,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.method-not-found:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "31a1ebf3ac68", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "31a1ebf3ac68", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1042,7 +1059,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1061,7 +1078,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "aa1058fa6654", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "aa1058fa6654", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1075,7 +1092,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "aa1058fa6654", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "aa1058fa6654", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1083,7 +1100,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1102,7 +1119,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection-no-message:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "60ae3b4c26a5", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "60ae3b4c26a5", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1116,7 +1133,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection-no-message:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "60ae3b4c26a5", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "60ae3b4c26a5", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1124,7 +1141,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
+271
-254
@@ -17,7 +17,7 @@
|
||||
"$rpc": "null"
|
||||
}
|
||||
},
|
||||
"0db561233383": {
|
||||
"15e2e6598861": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -34,44 +34,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"error": {
|
||||
"message": "inner refused"
|
||||
},
|
||||
"ok": false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"13e21e9d5a19": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -89,7 +52,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"14826318e3f0": {
|
||||
"204da356c8b7": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"2744881d0748": {
|
||||
"name": "terminal-subscribe",
|
||||
"ordinal": 8,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"4176bcebcf7b": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -106,7 +84,78 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"error": "refused"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"42b4a7d170de": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"clear": {
|
||||
"cleared": true,
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"4696dadf3552": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -121,55 +170,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"18f37862e26f": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"204da356c8b7": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"3dc7f55dee2a": {
|
||||
"name": "toast",
|
||||
"ordinal": 7,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
}
|
||||
},
|
||||
"47c387a75ffc": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 1,
|
||||
@@ -212,7 +212,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"4dd92d5c81be": {
|
||||
"5f9d4dda97d0": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -229,41 +229,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"$rpc": "null"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"52f4b33bfffe": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -273,8 +239,8 @@
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"error": {
|
||||
"code": "refused",
|
||||
"message": ""
|
||||
"code": "method_not_found",
|
||||
"message": "Unknown method"
|
||||
},
|
||||
"id": "frame-3",
|
||||
"ok": false
|
||||
@@ -309,6 +275,16 @@
|
||||
"startedAt": 16
|
||||
}
|
||||
},
|
||||
"7e0ebd472c7b": {
|
||||
"name": "toast",
|
||||
"ordinal": 9,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
}
|
||||
},
|
||||
"8224ccdb2cd8": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 2,
|
||||
@@ -318,7 +294,17 @@
|
||||
"status": "pending",
|
||||
"startedAt": 16
|
||||
},
|
||||
"85797d45b4ec": {
|
||||
"85a38010bc83": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 4,
|
||||
"json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"orchestration.workerTerminalUserInput\",\"params\":{\"terminal\":\"terminal-1\"}}"
|
||||
},
|
||||
"8716af94ca80": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 6,
|
||||
"json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"terminal.clearBuffer\",\"params\":{\"terminal\":\"terminal-1\"}}"
|
||||
},
|
||||
"8f3a96ddce74": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -335,7 +321,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -345,17 +331,12 @@
|
||||
"settledAt": 16,
|
||||
"error": {
|
||||
"category": "Error",
|
||||
"message": "transport failure",
|
||||
"message": "Connection closed",
|
||||
"isRpcDeliveryUnknown": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"85a38010bc83": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 4,
|
||||
"json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"orchestration.workerTerminalUserInput\",\"params\":{\"terminal\":\"terminal-1\"}}"
|
||||
},
|
||||
"86e68519e4fc": {
|
||||
"8fb1e35238ae": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -372,7 +353,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -382,17 +363,51 @@
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"error": "refused"
|
||||
}
|
||||
"ok": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"8716af94ca80": {
|
||||
"949a86468951": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 6,
|
||||
"json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"terminal.clearBuffer\",\"params\":{\"terminal\":\"terminal-1\"}}"
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"error": {
|
||||
"code": "refused",
|
||||
"message": "outer refused"
|
||||
},
|
||||
"id": "frame-3",
|
||||
"ok": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"94a34b9a1800": {
|
||||
"name": "terminal-unsubscribe",
|
||||
"ordinal": 7,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"94ce15ec36dc": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
@@ -430,6 +445,41 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"985c83a876c6": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"error": {
|
||||
"code": "refused",
|
||||
"message": ""
|
||||
},
|
||||
"id": "frame-3",
|
||||
"ok": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"9fa6cd0b7fa0": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 1,
|
||||
@@ -462,7 +512,7 @@
|
||||
"startedAt": 0
|
||||
}
|
||||
},
|
||||
"a2ee798dd5e4": {
|
||||
"a99e20d3b060": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -479,39 +529,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "rejected",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"error": {
|
||||
"category": "Error",
|
||||
"message": "Connection closed",
|
||||
"isRpcDeliveryUnknown": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"af47e4950d3c": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -520,16 +538,15 @@
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"error": {
|
||||
"code": "refused",
|
||||
"message": "outer refused"
|
||||
},
|
||||
"id": "frame-3",
|
||||
"ok": false
|
||||
"ok": true,
|
||||
"result": {
|
||||
"$rpc": "null"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"afb61324f54a": {
|
||||
"bfd73b81d7a1": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -546,7 +563,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -568,7 +585,7 @@
|
||||
"$rpc": "null"
|
||||
}
|
||||
},
|
||||
"e9ab8b56056e": {
|
||||
"e14358e73867": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -585,50 +602,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"error": {
|
||||
"code": "method_not_found",
|
||||
"message": "Unknown method"
|
||||
},
|
||||
"id": "frame-3",
|
||||
"ok": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"eb79a9b3682a": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 0,
|
||||
"settledAt": 0,
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"ebaa6b64425b": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -640,11 +614,54 @@
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"cleared": true
|
||||
"error": {
|
||||
"message": "inner refused"
|
||||
},
|
||||
"ok": false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"eb79a9b3682a": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 0,
|
||||
"settledAt": 0,
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"f0e97f295e31": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "rejected",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"error": {
|
||||
"category": "Error",
|
||||
"message": "transport failure",
|
||||
"isRpcDeliveryUnknown": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"f9995c5eb101": {
|
||||
"name": "toast",
|
||||
"ordinal": 7,
|
||||
@@ -712,7 +729,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.prelude:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -726,7 +743,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.prelude:cleanup",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "a2ee798dd5e4"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "8f3a96ddce74"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -740,7 +757,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.normal:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -748,13 +765,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-absent:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "18f37862e26f"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "8fb1e35238ae"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -762,13 +779,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-null:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "4dd92d5c81be"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "a99e20d3b060"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -776,13 +793,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-ok-missing:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "86e68519e4fc"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "4176bcebcf7b"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -790,13 +807,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-string-error:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "13e21e9d5a19"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "15e2e6598861"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -804,13 +821,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-object-error:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "0db561233383"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "e14358e73867"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -818,13 +835,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "af47e4950d3c"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "949a86468951"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -832,13 +849,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused-no-message:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "52f4b33bfffe"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "985c83a876c6"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -846,13 +863,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.method-not-found:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "e9ab8b56056e"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "5f9d4dda97d0"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -860,13 +877,13 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["f9995c5eb101"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "85797d45b4ec"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "f0e97f295e31"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -880,7 +897,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection-no-message:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "14826318e3f0"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "4696dadf3552"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
|
||||
+145
-111
@@ -54,40 +54,6 @@
|
||||
"$rpc": "null"
|
||||
}
|
||||
},
|
||||
"165d659fda65": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 3,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-2",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"18ae72c963d5": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 1,
|
||||
@@ -177,6 +143,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"2744881d0748": {
|
||||
"name": "terminal-subscribe",
|
||||
"ordinal": 8,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"3a2f96d25da8": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 1,
|
||||
@@ -268,6 +241,43 @@
|
||||
"message": "Terminal cleared"
|
||||
}
|
||||
},
|
||||
"42b4a7d170de": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"clear": {
|
||||
"cleared": true,
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"47c387a75ffc": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 1,
|
||||
@@ -310,7 +320,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"5ec72f058605": {
|
||||
"4b5c402c0aac": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 3,
|
||||
"args": [
|
||||
@@ -327,7 +337,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -336,6 +346,50 @@
|
||||
"startedAt": 16
|
||||
}
|
||||
},
|
||||
"4d7959cb9208": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 3,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-2",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"clear": {
|
||||
"cleared": true,
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"70f80fc43078": {
|
||||
"name": "terminal-subscribe",
|
||||
"ordinal": 6,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"77d8a44e0dcc": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 3,
|
||||
@@ -364,6 +418,16 @@
|
||||
"startedAt": 16
|
||||
}
|
||||
},
|
||||
"7e0ebd472c7b": {
|
||||
"name": "toast",
|
||||
"ordinal": 9,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
}
|
||||
},
|
||||
"8224ccdb2cd8": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 2,
|
||||
@@ -464,6 +528,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"94a34b9a1800": {
|
||||
"name": "terminal-unsubscribe",
|
||||
"ordinal": 7,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"94ce15ec36dc": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 3,
|
||||
@@ -573,17 +644,14 @@
|
||||
"startedAt": 0
|
||||
}
|
||||
},
|
||||
"a1ae5051ed70": {
|
||||
"name": "toast",
|
||||
"a8bcca91a365": {
|
||||
"name": "terminal-unsubscribe",
|
||||
"ordinal": 5,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"afb61324f54a": {
|
||||
"bfd73b81d7a1": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -600,7 +668,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -676,40 +744,6 @@
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"ebaa6b64425b": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"eecb4c1a0308": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 1,
|
||||
@@ -807,7 +841,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.normal:clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -821,7 +855,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.normal:cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -829,7 +863,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -861,7 +895,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-absent:clearing",
|
||||
"observation": {
|
||||
"sender": ["038694606b99", "5ec72f058605"],
|
||||
"sender": ["038694606b99", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -875,7 +909,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-absent:cleared",
|
||||
"observation": {
|
||||
"sender": ["038694606b99", "165d659fda65"],
|
||||
"sender": ["038694606b99", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -883,7 +917,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -915,7 +949,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-null:clearing",
|
||||
"observation": {
|
||||
"sender": ["3a2f96d25da8", "5ec72f058605"],
|
||||
"sender": ["3a2f96d25da8", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -929,7 +963,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.result-null:cleared",
|
||||
"observation": {
|
||||
"sender": ["3a2f96d25da8", "165d659fda65"],
|
||||
"sender": ["3a2f96d25da8", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -937,7 +971,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -969,7 +1003,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-ok-missing:clearing",
|
||||
"observation": {
|
||||
"sender": ["8cc2f30cc0d2", "5ec72f058605"],
|
||||
"sender": ["8cc2f30cc0d2", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -983,7 +1017,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-ok-missing:cleared",
|
||||
"observation": {
|
||||
"sender": ["8cc2f30cc0d2", "165d659fda65"],
|
||||
"sender": ["8cc2f30cc0d2", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -991,7 +1025,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1023,7 +1057,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-string-error:clearing",
|
||||
"observation": {
|
||||
"sender": ["3ac9be406587", "5ec72f058605"],
|
||||
"sender": ["3ac9be406587", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1037,7 +1071,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-string-error:cleared",
|
||||
"observation": {
|
||||
"sender": ["3ac9be406587", "165d659fda65"],
|
||||
"sender": ["3ac9be406587", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1045,7 +1079,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1077,7 +1111,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-object-error:clearing",
|
||||
"observation": {
|
||||
"sender": ["2198adee8c06", "5ec72f058605"],
|
||||
"sender": ["2198adee8c06", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1091,7 +1125,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.inner-false-object-error:cleared",
|
||||
"observation": {
|
||||
"sender": ["2198adee8c06", "165d659fda65"],
|
||||
"sender": ["2198adee8c06", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1099,7 +1133,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1131,7 +1165,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused:clearing",
|
||||
"observation": {
|
||||
"sender": ["8d84d72cf6d5", "5ec72f058605"],
|
||||
"sender": ["8d84d72cf6d5", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1145,7 +1179,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused:cleared",
|
||||
"observation": {
|
||||
"sender": ["8d84d72cf6d5", "165d659fda65"],
|
||||
"sender": ["8d84d72cf6d5", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1153,7 +1187,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1185,7 +1219,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused-no-message:clearing",
|
||||
"observation": {
|
||||
"sender": ["94fa272beafb", "5ec72f058605"],
|
||||
"sender": ["94fa272beafb", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1199,7 +1233,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.outer-refused-no-message:cleared",
|
||||
"observation": {
|
||||
"sender": ["94fa272beafb", "165d659fda65"],
|
||||
"sender": ["94fa272beafb", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1207,7 +1241,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1239,7 +1273,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.method-not-found:clearing",
|
||||
"observation": {
|
||||
"sender": ["e1076775e5c2", "5ec72f058605"],
|
||||
"sender": ["e1076775e5c2", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1253,7 +1287,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.method-not-found:cleared",
|
||||
"observation": {
|
||||
"sender": ["e1076775e5c2", "165d659fda65"],
|
||||
"sender": ["e1076775e5c2", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1261,7 +1295,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1293,7 +1327,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection:clearing",
|
||||
"observation": {
|
||||
"sender": ["18ae72c963d5", "5ec72f058605"],
|
||||
"sender": ["18ae72c963d5", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1307,7 +1341,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection:cleared",
|
||||
"observation": {
|
||||
"sender": ["18ae72c963d5", "165d659fda65"],
|
||||
"sender": ["18ae72c963d5", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1315,7 +1349,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1347,7 +1381,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection-no-message:clearing",
|
||||
"observation": {
|
||||
"sender": ["eecb4c1a0308", "5ec72f058605"],
|
||||
"sender": ["eecb4c1a0308", "4b5c402c0aac"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1361,7 +1395,7 @@
|
||||
{
|
||||
"id": "terminal-gesture-flush-and-clear.transport-rejection-no-message:cleared",
|
||||
"observation": {
|
||||
"sender": ["eecb4c1a0308", "165d659fda65"],
|
||||
"sender": ["eecb4c1a0308", "4d7959cb9208"],
|
||||
"payloads": ["8224ccdb2cd8", "d9c52be2f839"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -1369,7 +1403,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["a1ae5051ed70"]
|
||||
"effects": ["a8bcca91a365", "70f80fc43078", "3dc7f55dee2a"]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -25,14 +25,48 @@
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"3dc7f55dee2a": {
|
||||
"name": "toast",
|
||||
"ordinal": 7,
|
||||
"2744881d0748": {
|
||||
"name": "terminal-subscribe",
|
||||
"ordinal": 8,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"42b4a7d170de": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"clear": {
|
||||
"cleared": true,
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"47c387a75ffc": {
|
||||
@@ -105,6 +139,16 @@
|
||||
"startedAt": 16
|
||||
}
|
||||
},
|
||||
"7e0ebd472c7b": {
|
||||
"name": "toast",
|
||||
"ordinal": 9,
|
||||
"value": {
|
||||
"durationMs": {
|
||||
"$rpc": "null"
|
||||
},
|
||||
"message": "Terminal cleared"
|
||||
}
|
||||
},
|
||||
"8224ccdb2cd8": {
|
||||
"name": "terminal.send#1",
|
||||
"ordinal": 2,
|
||||
@@ -124,6 +168,13 @@
|
||||
"ordinal": 6,
|
||||
"json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"terminal.clearBuffer\",\"params\":{\"terminal\":\"terminal-1\"}}"
|
||||
},
|
||||
"94a34b9a1800": {
|
||||
"name": "terminal-unsubscribe",
|
||||
"ordinal": 7,
|
||||
"value": {
|
||||
"handle": "terminal-1"
|
||||
}
|
||||
},
|
||||
"94ce15ec36dc": {
|
||||
"name": "orchestration.workerTerminalUserInput#1",
|
||||
"ordinal": 3,
|
||||
@@ -192,7 +243,7 @@
|
||||
"startedAt": 0
|
||||
}
|
||||
},
|
||||
"afb61324f54a": {
|
||||
"bfd73b81d7a1": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
@@ -209,7 +260,7 @@
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
"failWhenDisconnected": true
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -238,40 +289,6 @@
|
||||
"value": {
|
||||
"$rpc": "undefined"
|
||||
}
|
||||
},
|
||||
"ebaa6b64425b": {
|
||||
"name": "terminal.clearBuffer#1",
|
||||
"ordinal": 5,
|
||||
"args": [
|
||||
{
|
||||
"name": "method",
|
||||
"value": "terminal.clearBuffer"
|
||||
},
|
||||
{
|
||||
"name": "params",
|
||||
"value": {
|
||||
"terminal": "terminal-1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "options",
|
||||
"value": {
|
||||
"$rpc": "absent"
|
||||
}
|
||||
}
|
||||
],
|
||||
"settlement": {
|
||||
"status": "fulfilled",
|
||||
"startedAt": 16,
|
||||
"settledAt": 16,
|
||||
"value": {
|
||||
"id": "frame-3",
|
||||
"ok": true,
|
||||
"result": {
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"recording": {
|
||||
@@ -332,7 +349,7 @@
|
||||
{
|
||||
"id": "clearing",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "afb61324f54a"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "bfd73b81d7a1"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -346,7 +363,7 @@
|
||||
{
|
||||
"id": "cleared",
|
||||
"observation": {
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "ebaa6b64425b"],
|
||||
"sender": ["47c387a75ffc", "94ce15ec36dc", "42b4a7d170de"],
|
||||
"payloads": ["8224ccdb2cd8", "85a38010bc83", "8716af94ca80"],
|
||||
"settlements": {
|
||||
"mount": "eb79a9b3682a",
|
||||
@@ -354,7 +371,7 @@
|
||||
"clear": "204da356c8b7"
|
||||
},
|
||||
"state": "0cc3e25ebff5",
|
||||
"effects": ["3dc7f55dee2a"]
|
||||
"effects": ["94a34b9a1800", "2744881d0748", "7e0ebd472c7b"]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -21487,7 +21487,7 @@
|
||||
"reply": {
|
||||
"ok": true,
|
||||
"result": {
|
||||
"cleared": true
|
||||
"clear": { "handle": "terminal-1", "cleared": true }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
import { createElement } from 'react'
|
||||
import { act, create } from 'react-test-renderer'
|
||||
import { describe, expect, it, vi } from 'vitest'
|
||||
import type { RpcResponse } from '../transport/types'
|
||||
import { useMobileSessionTerminalInput } from './use-mobile-session-terminal-input'
|
||||
|
||||
function mountClear(sendRequest: () => Promise<RpcResponse>, opts: { subscribed?: boolean } = {}) {
|
||||
let generation = 1
|
||||
const client = { sendRequest, getGeneration: () => generation }
|
||||
const clear = vi.fn()
|
||||
const terminal = { clear }
|
||||
let currentTerminal = terminal
|
||||
const clientRef = { current: client }
|
||||
const showToast = vi.fn()
|
||||
const unsubscribeTerminal = vi.fn()
|
||||
const subscribeToTerminal = vi.fn()
|
||||
const terminalUnsubsRef = {
|
||||
current: new Map<string, () => void>(opts.subscribed === false ? [] : [['term', () => {}]])
|
||||
}
|
||||
let actions: ReturnType<typeof useMobileSessionTerminalInput> | undefined
|
||||
function Harness() {
|
||||
actions = useMobileSessionTerminalInput(
|
||||
// oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: This fixture supplies every field reached by handleClearTerminal.
|
||||
{
|
||||
client,
|
||||
clientRef,
|
||||
showToast,
|
||||
getTerminalRef: () => currentTerminal,
|
||||
unsubscribeTerminal,
|
||||
subscribeToTerminal,
|
||||
terminalUnsubsRef
|
||||
} as unknown as Parameters<typeof useMobileSessionTerminalInput>[0]
|
||||
)
|
||||
return null
|
||||
}
|
||||
let renderer: ReturnType<typeof create> | undefined
|
||||
act(() => {
|
||||
renderer = create(createElement(Harness))
|
||||
})
|
||||
return {
|
||||
clear,
|
||||
showToast,
|
||||
unsubscribeTerminal,
|
||||
subscribeToTerminal,
|
||||
clearHost: () =>
|
||||
actions?.handleClearTerminal({
|
||||
handle: 'term',
|
||||
title: 'Shell',
|
||||
isActive: true
|
||||
}),
|
||||
replaceTerminal: () => {
|
||||
currentTerminal = { clear: vi.fn() }
|
||||
},
|
||||
migrateAuthority: () => {
|
||||
generation += 1
|
||||
},
|
||||
replaceClient: () => {
|
||||
clientRef.current = { ...client }
|
||||
},
|
||||
dispose: () => act(() => renderer?.unmount())
|
||||
}
|
||||
}
|
||||
|
||||
function deferredReply() {
|
||||
let resolve: (reply: RpcResponse) => void = () => {}
|
||||
const promise = new Promise<RpcResponse>((done) => {
|
||||
resolve = done
|
||||
})
|
||||
return { promise, resolve }
|
||||
}
|
||||
const cleared: RpcResponse = {
|
||||
id: 'clear',
|
||||
ok: true,
|
||||
result: { clear: { handle: 'term', cleared: true } }
|
||||
}
|
||||
|
||||
describe('mobile terminal buffer clear acknowledgement', () => {
|
||||
it.each([
|
||||
{
|
||||
id: 'refused',
|
||||
ok: false,
|
||||
error: { code: 'not_found', message: 'Terminal missing' }
|
||||
},
|
||||
{
|
||||
id: 'not-cleared',
|
||||
ok: true,
|
||||
result: { clear: { handle: 'term', cleared: false } }
|
||||
},
|
||||
{ id: 'incompatible', ok: true, result: {} }
|
||||
] satisfies RpcResponse[])(
|
||||
'preserves local output when the host does not clear it: $id',
|
||||
async (reply) => {
|
||||
const view = mountClear(async () => reply)
|
||||
try {
|
||||
await view.clearHost()
|
||||
expect(view.clear).not.toHaveBeenCalled()
|
||||
expect(view.subscribeToTerminal).not.toHaveBeenCalled()
|
||||
expect(view.showToast.mock.calls).toEqual([["Couldn't clear terminal", 1500]])
|
||||
} finally {
|
||||
view.dispose()
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
it('refreshes the ordered host snapshot after acknowledgement instead of erasing current output', async () => {
|
||||
const reply = deferredReply()
|
||||
const view = mountClear(() => reply.promise)
|
||||
try {
|
||||
const pending = view.clearHost()
|
||||
expect(view.subscribeToTerminal).not.toHaveBeenCalled()
|
||||
expect(view.showToast).not.toHaveBeenCalled()
|
||||
reply.resolve(cleared)
|
||||
await pending
|
||||
expect(view.clear).not.toHaveBeenCalled()
|
||||
expect(view.unsubscribeTerminal).toHaveBeenCalledWith('term')
|
||||
expect(view.subscribeToTerminal).toHaveBeenCalledWith('term')
|
||||
expect(view.showToast.mock.calls).toEqual([['Terminal cleared']])
|
||||
} finally {
|
||||
view.dispose()
|
||||
}
|
||||
})
|
||||
|
||||
it('leaves an unsubscribed tab to draw its snapshot when it next subscribes', async () => {
|
||||
const view = mountClear(async () => cleared, { subscribed: false })
|
||||
try {
|
||||
await view.clearHost()
|
||||
expect(view.subscribeToTerminal).not.toHaveBeenCalled()
|
||||
expect(view.showToast.mock.calls).toEqual([['Terminal cleared']])
|
||||
} finally {
|
||||
view.dispose()
|
||||
}
|
||||
})
|
||||
|
||||
it.each(['replaceTerminal', 'migrateAuthority'] as const)(
|
||||
'still refreshes when the clear is accepted after %s',
|
||||
async (change) => {
|
||||
const reply = deferredReply()
|
||||
const view = mountClear(() => reply.promise)
|
||||
try {
|
||||
const pending = view.clearHost()
|
||||
view[change]()
|
||||
reply.resolve(cleared)
|
||||
await pending
|
||||
expect(view.subscribeToTerminal).toHaveBeenCalledWith('term')
|
||||
expect(view.showToast.mock.calls).toEqual([['Terminal cleared']])
|
||||
} finally {
|
||||
view.dispose()
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
it('ignores a clear acknowledgement after the client is replaced', async () => {
|
||||
const reply = deferredReply()
|
||||
const view = mountClear(() => reply.promise)
|
||||
try {
|
||||
const pending = view.clearHost()
|
||||
view.replaceClient()
|
||||
reply.resolve(cleared)
|
||||
await pending
|
||||
expect(view.clear).not.toHaveBeenCalled()
|
||||
expect(view.subscribeToTerminal).not.toHaveBeenCalled()
|
||||
expect(view.showToast).not.toHaveBeenCalled()
|
||||
} finally {
|
||||
view.dispose()
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -45,9 +45,10 @@ export function useMobileSessionTerminalInput(scope: MobileSessionFileActionsMod
|
||||
sendLiveInputClick,
|
||||
sendLiveTerminalInputRef,
|
||||
showToast,
|
||||
getTerminalRef,
|
||||
hostQueryReplyInputSupportedRef,
|
||||
hostProgramStatusSupportedRef
|
||||
hostProgramStatusSupportedRef,
|
||||
unsubscribeTerminal,
|
||||
subscribeToTerminal
|
||||
} = scope
|
||||
const toggleLiveInput = useCallback(() => {
|
||||
if (!activeHandle) {
|
||||
@@ -242,13 +243,31 @@ export function useMobileSessionTerminalInput(scope: MobileSessionFileActionsMod
|
||||
if (!client) {
|
||||
return
|
||||
}
|
||||
getTerminalRef(target.handle)?.clear()
|
||||
// Why: only a different client is stale; the WebView handle is rebuilt on re-render and a path cutover keeps the same host.
|
||||
const isCurrent = () => clientRef.current === client
|
||||
try {
|
||||
// Reply is intentionally unread; historical success feedback follows any fulfilled envelope, including refusal.
|
||||
await terminalBufferClear.request(client, { terminal: target.handle })
|
||||
const response = await terminalBufferClear.request(
|
||||
client,
|
||||
{ terminal: target.handle },
|
||||
{ failWhenDisconnected: true }
|
||||
)
|
||||
if (!isCurrent()) {
|
||||
return
|
||||
}
|
||||
if (terminalBufferClear.interpret(response) !== true) {
|
||||
showToast("Couldn't clear terminal", 1500)
|
||||
return
|
||||
}
|
||||
// Why: an unsubscribed tab draws a fresh snapshot when it next subscribes; subscribing it here would leak a background stream.
|
||||
if (terminalUnsubsRef.current.has(target.handle)) {
|
||||
unsubscribeTerminal(target.handle)
|
||||
subscribeToTerminal(target.handle)
|
||||
}
|
||||
showToast('Terminal cleared')
|
||||
} catch {
|
||||
showToast("Couldn't clear terminal", 1500)
|
||||
if (isCurrent()) {
|
||||
showToast("Couldn't clear terminal", 1500)
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
|
||||
@@ -2,6 +2,7 @@ import { bindDeferredRpcOperation, defineRpcOperation } from '../transport/rpc-o
|
||||
import { rpcResultVariant } from '../transport/rpc-operation-result-reader'
|
||||
import {
|
||||
terminalAutoRestoreFitSchema,
|
||||
terminalBufferClearedSchema,
|
||||
terminalSendAcceptedSchema,
|
||||
terminalViewportUpdatedSchema,
|
||||
terminalWriteUnreadReplySchema
|
||||
@@ -60,13 +61,13 @@ export const workerTerminalTakeoverReport = bindDeferredRpcOperation(
|
||||
})
|
||||
)
|
||||
|
||||
// Preserve legacy clear semantics: fulfilled replies report success; only transport rejection reaches failure copy.
|
||||
/** A clear is successful only when the host confirms its buffer was cleared. */
|
||||
export const terminalBufferClear = bindDeferredRpcOperation(
|
||||
defineRpcOperation({
|
||||
name: 'terminal.clear-buffer-or-skip',
|
||||
name: 'terminal.clear-buffer',
|
||||
method: 'terminal.clearBuffer',
|
||||
acceptance: 'success-result-or-skip',
|
||||
acceptance: 'object-result-or-null',
|
||||
barrier: 'after-caller-barrier',
|
||||
read: rpcResultVariant('terminal-buffer-cleared', terminalWriteUnreadReplySchema)
|
||||
read: rpcResultVariant('terminal-buffer-cleared', terminalBufferClearedSchema)
|
||||
})
|
||||
)
|
||||
|
||||
@@ -21,5 +21,9 @@ export const terminalViewportUpdatedSchema = z
|
||||
|
||||
export const terminalAutoRestoreFitSchema = z.looseObject({ ms: z.number().nullable() })
|
||||
|
||||
// Payloads are unread; requiring changed/clear fields would reject hosts without affecting any consumer.
|
||||
export const terminalBufferClearedSchema = z
|
||||
.looseObject({ clear: z.looseObject({ cleared: z.boolean() }) })
|
||||
.transform((reply) => reply.clear.cleared)
|
||||
|
||||
// The worker-takeover report's `{ changed }` payload is unread; requiring it would reject hosts without affecting any consumer.
|
||||
export const terminalWriteUnreadReplySchema = z.unknown()
|
||||
|
||||
+6
-1
@@ -59,12 +59,17 @@ export function sessionTerminalGestureMountAdapters(
|
||||
terminalGestureInputInFlightRef: inFlight,
|
||||
liveInputRef: { current: null },
|
||||
liveInputFocusTimerRef: { current: null },
|
||||
terminalUnsubsRef: { current: new Map() },
|
||||
terminalUnsubsRef: { current: new Map([[HANDLE, () => {}]]) },
|
||||
hostQueryReplyInputSupportedRef: { current: false },
|
||||
hostProgramStatusSupportedRef: { current: false },
|
||||
clearPendingLiveInputCommit: () => {},
|
||||
toggleTerminalLiveInput: () => false,
|
||||
getTerminalRef: () => undefined,
|
||||
unsubscribeTerminal: (handle) => effect('terminal-unsubscribe', { handle }),
|
||||
subscribeToTerminal: (handle) => {
|
||||
effect('terminal-subscribe', { handle })
|
||||
return true
|
||||
},
|
||||
showToast: (message: string, durationMs?: number) =>
|
||||
effect('toast', { message, durationMs: durationMs ?? null })
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user