diff --git a/mobile/rpc-foundation/goldens/aivault-history-scan-fulfilled.json b/mobile/rpc-foundation/goldens/aivault-history-scan-fulfilled.json index 46d68f359b2..f491c0f99ee 100644 --- a/mobile/rpc-foundation/goldens/aivault-history-scan-fulfilled.json +++ b/mobile/rpc-foundation/goldens/aivault-history-scan-fulfilled.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "00864bce221e5c5e72f10c30939a40b26bdb342913a59770ff8c92fc02309f27", + "adapterSha256": "0326d26df79bf4930e2af844b07a09047f0be9bae90ab7dc2a39c330b827473b", "scenarioSha256": "0431ac82cbb8c60b16f4432fd0da7cff665485d668e512b20fc1168ec63db3fe", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/aivault-history-scan-unsupported.json b/mobile/rpc-foundation/goldens/aivault-history-scan-unsupported.json index 32cfc1192f4..7c06d017955 100644 --- a/mobile/rpc-foundation/goldens/aivault-history-scan-unsupported.json +++ b/mobile/rpc-foundation/goldens/aivault-history-scan-unsupported.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "00864bce221e5c5e72f10c30939a40b26bdb342913a59770ff8c92fc02309f27", + "adapterSha256": "0326d26df79bf4930e2af844b07a09047f0be9bae90ab7dc2a39c330b827473b", "scenarioSha256": "e97c6db772a70ee1912419ac67835b6074aaf9a341d4360389a11465f08092c5", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/browser-dialog-accepted.json b/mobile/rpc-foundation/goldens/browser-dialog-accepted.json index ba4414f634e..10d8ef0136c 100644 --- a/mobile/rpc-foundation/goldens/browser-dialog-accepted.json +++ b/mobile/rpc-foundation/goldens/browser-dialog-accepted.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "95f377bc4d8bf1248cafed26b2e9f425ad37e8d3c99e354bd6a8c67eb9bd9b1b", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/browser-dialog-dismissed.json b/mobile/rpc-foundation/goldens/browser-dialog-dismissed.json new file mode 100644 index 00000000000..8ae685c5609 --- /dev/null +++ b/mobile/rpc-foundation/goldens/browser-dialog-dismissed.json @@ -0,0 +1,92 @@ +{ + "operation": "browser.page-commands", + "family": "browser.dialog", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", + "scenarioSha256": "5071188ee492a4ced5be793b2dab32baa9750ee6535128635f274fd79198e2f1", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 5, + "values": { + "9855d4ec3415": { + "busy": false, + "dialog": { + "$rpc": "null" + }, + "error": { + "$rpc": "null" + }, + "keyboardValue": "hello", + "pointerModifiers": [] + }, + "be3e7ad116a5": { + "name": "browser.dialogDismiss#1", + "args": [ + { + "name": "method", + "value": "browser.dialogDismiss" + }, + { + "name": "params", + "value": { + "page": "page-1", + "worktree": "id:worktree-1" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 5000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "dismissed": true + } + } + } + }, + "e14582853169": { + "name": "browser.dialogDismiss#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"browser.dialogDismiss\",\"params\":{\"worktree\":\"id:worktree-1\",\"page\":\"page-1\"}}" + }, + "eb79a9b3682a": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "recording": { + "scenario": "browser-dialog-dismissed", + "checkpoints": [ + { + "id": "dismissed", + "observation": { + "sender": ["be3e7ad116a5"], + "payloads": ["e14582853169"], + "settlements": { + "mount": "eb79a9b3682a", + "dialog": "eb79a9b3682a" + }, + "state": "9855d4ec3415", + "effects": [] + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/browser-keyboard-input.json b/mobile/rpc-foundation/goldens/browser-keyboard-input.json index 081445ca368..91daeb137c0 100644 --- a/mobile/rpc-foundation/goldens/browser-keyboard-input.json +++ b/mobile/rpc-foundation/goldens/browser-keyboard-input.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "eb2294c30af70ebc2bac092dc5105249ae8cf1941f750406622f7ff6dd70cc1b", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/browser-pointer-click-accepted.json b/mobile/rpc-foundation/goldens/browser-pointer-click-accepted.json index 306efd0be6e..591076afc89 100644 --- a/mobile/rpc-foundation/goldens/browser-pointer-click-accepted.json +++ b/mobile/rpc-foundation/goldens/browser-pointer-click-accepted.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "73faa87b359a11959543542016295bb6b36a10934dd99ad5c1a77a4290a608cd", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/browser-pointer-click-fallback.json b/mobile/rpc-foundation/goldens/browser-pointer-click-fallback.json index f1ebd6e07f7..a5efe2209fa 100644 --- a/mobile/rpc-foundation/goldens/browser-pointer-click-fallback.json +++ b/mobile/rpc-foundation/goldens/browser-pointer-click-fallback.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "20779e28880cf62340bc34cef8f40a49311e11262ac069df909743da9b5500ff", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/browser-wheel-scrolled.json b/mobile/rpc-foundation/goldens/browser-wheel-scrolled.json index 97eb4d429e9..8eb7df84388 100644 --- a/mobile/rpc-foundation/goldens/browser-wheel-scrolled.json +++ b/mobile/rpc-foundation/goldens/browser-wheel-scrolled.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "e1bc21248ccff45ff217e385a51618b6f5724c037bfbefa03bb76a48dd4d793b", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-aivault.history-aivault.listsessions-1.json b/mobile/rpc-foundation/goldens/matrix-aivault.history-aivault.listsessions-1.json index 47ada1c431a..5b5b46c0910 100644 --- a/mobile/rpc-foundation/goldens/matrix-aivault.history-aivault.listsessions-1.json +++ b/mobile/rpc-foundation/goldens/matrix-aivault.history-aivault.listsessions-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "00864bce221e5c5e72f10c30939a40b26bdb342913a59770ff8c92fc02309f27", + "adapterSha256": "0326d26df79bf4930e2af844b07a09047f0be9bae90ab7dc2a39c330b827473b", "scenarioSha256": "efb8d1cd2a2ff0ade4cdc48a1aacec565e33b405bbe95c100b86534cdde49740", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-aivault.history-status.get-1.json b/mobile/rpc-foundation/goldens/matrix-aivault.history-status.get-1.json index f5b6c27ccae..364e911eeeb 100644 --- a/mobile/rpc-foundation/goldens/matrix-aivault.history-status.get-1.json +++ b/mobile/rpc-foundation/goldens/matrix-aivault.history-status.get-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "00864bce221e5c5e72f10c30939a40b26bdb342913a59770ff8c92fc02309f27", + "adapterSha256": "0326d26df79bf4930e2af844b07a09047f0be9bae90ab7dc2a39c330b827473b", "scenarioSha256": "a5698ca720dad08561a509c9c18f7586611fc68c58bd86791f4fcefc7915ab1f", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.dialog-browser.dialogaccept-1.json b/mobile/rpc-foundation/goldens/matrix-browser.dialog-browser.dialogaccept-1.json index e2afbd88556..ceebb64f2d8 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.dialog-browser.dialogaccept-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.dialog-browser.dialogaccept-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "9cae732e4227d4c2fe874a5fb2e104552c16cbc91b59523de8fd46454660cde8", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keyboardinserttext-1.json b/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keyboardinserttext-1.json index f1a1ed10426..434a493c5ec 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keyboardinserttext-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keyboardinserttext-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "fc3411f3f4cb58b6a1338ea943f59446fda7819931814e9ab002e35e2de42462", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keypress-1.json b/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keypress-1.json index 647d4c4ec8f..9b11aa9c253 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keypress-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.keyboard-browser.keypress-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "c1df871e84d4399e9a447caaff244241933c0dfc7c3d5e114d022e54b0ed7ed4", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseclick-1.json b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseclick-1.json index b259fc47958..6465f446721 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseclick-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseclick-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "74adcaa668164bc7430e9984f100988bf72975dc8ebbe6b52fac34367cf31a4d", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousedown-1.json b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousedown-1.json index e8178848dea..c3a37ffe4fa 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousedown-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousedown-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "db84000f262c6812db55b5f735ab7fe32c914e9ab52b9a7ccc0c21386b782298", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousemove-1.json b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousemove-1.json index 5b18a03dad4..39cc5563065 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousemove-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mousemove-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "35ef15037791fa2e87456ee4585ddaaa00fbf5cde578d7c0b5df143cd40dd9a1", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseup-1.json b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseup-1.json index 6670fdf2d47..00076f93de2 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseup-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.pointer-click-browser.mouseup-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "47868afdd6d593526ea6f0a0a1e19377ee8306ab70636f2dace0da9ef2454397", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousemove-1.json b/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousemove-1.json index 45eefb3ee55..5de28af5490 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousemove-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousemove-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "c1283bbfb340e968bbd4c86ac63489995d6191290751316228d27779dc6a2c55", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousewheel-1.json b/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousewheel-1.json index bf3d5f180de..6e67c6803c6 100644 --- a/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousewheel-1.json +++ b/mobile/rpc-foundation/goldens/matrix-browser.wheel-browser.mousewheel-1.json @@ -6,7 +6,7 @@ "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", "recorderSha256": "6145e3e91fe5b17a9262db21965a2a23535ff01bba1ec2c662e68ab8e13c24da", - "adapterSha256": "2fc41099434386a9b110ad53b2ead737afad0d57a8eb48f944cf5bd77007e402", + "adapterSha256": "6bc6da818394e2e35b873fa44bc4f2cf6ce3bcbbc3bb0a738765aaa25b884a0f", "scenarioSha256": "092777c9ce457dcae95eafbe083c70510580569ac74e31c0d4224ac94b9fad76", "platform": "darwin", "scenarioVersion": 1, diff --git a/mobile/rpc-foundation/pilot-scenarios.json b/mobile/rpc-foundation/pilot-scenarios.json index a27d874eb58..38c43b52518 100644 --- a/mobile/rpc-foundation/pilot-scenarios.json +++ b/mobile/rpc-foundation/pilot-scenarios.json @@ -7902,6 +7902,46 @@ "checkpoint": "dismissed" } ] + }, + { + "id": "browser-dialog-dismissed", + "operation": "browser.page-commands", + "version": 1, + "family": "browser.dialog", + "sites": [ + "mobile/src/browser/use-mobile-browser-request.ts", + "mobile/src/browser/use-mobile-browser-commands.ts" + ], + "schedules": [], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "dialog", + "id": "dialog", + "args": { + "accept": false + } + }, + { + "complete": "browser.dialogDismiss#1", + "params": { + "page": "page-1", + "worktree": "id:worktree-1" + }, + "reply": { + "ok": true, + "result": { + "dismissed": true + } + } + }, + { + "checkpoint": "dismissed" + } + ] } ] } diff --git a/mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx b/mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx index 6324b647877..33dcec051fb 100644 --- a/mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx +++ b/mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx @@ -1,8 +1,8 @@ import { optionalSettingsRead } from '../transport/settings-read-operations' import { refusedRpcMessageOrFallback } from '../transport/rpc-refusal-message' import { rpcPayloadMember } from '../transport/rpc-reader-payload' +import { readAcceptedResumeList } from './resume-metadata-lists' import { - readAcceptedResumeList, resumeFolderWorkspaceListRead, resumeProjectGroupListRead, resumeRepoListRead, diff --git a/mobile/src/agent-history/mobile-agent-history-operations.ts b/mobile/src/agent-history/mobile-agent-history-operations.ts index 109a13c0753..7e10f050278 100644 --- a/mobile/src/agent-history/mobile-agent-history-operations.ts +++ b/mobile/src/agent-history/mobile-agent-history-operations.ts @@ -79,18 +79,3 @@ export const resumeWorktreeListRead = bindDeferredRpcOperation( read: rpcUncheckedPayloadReader('resume-worktrees') }) ) - -/** - * One list off an enrichment read. Optional-chained on purpose: main tolerated both a refusal and - * a null result here, and folding the member read into the reader would have thrown on the latter. - */ -export function readAcceptedResumeList( - accepted: { accepted: false } | { accepted: true; value: unknown } | null, - key: string -): T[] | undefined { - if (!accepted?.accepted) { - return undefined - } - // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: Preserve the established response shape at this boundary. - return (accepted.value as Record | null | undefined)?.[key] -} diff --git a/mobile/src/agent-history/resume-metadata-lists.ts b/mobile/src/agent-history/resume-metadata-lists.ts new file mode 100644 index 00000000000..bb0507f37fb --- /dev/null +++ b/mobile/src/agent-history/resume-metadata-lists.ts @@ -0,0 +1,16 @@ +/** + * One list off an enrichment read in the resume sheet's metadata load. + * + * Optional-chained on purpose: main tolerated both a refusal and a null result here, so folding + * the member read into the operation's own reader would have started throwing on the latter. + */ +export function readAcceptedResumeList( + accepted: { accepted: false } | { accepted: true; value: unknown } | null, + key: string +): T[] | undefined { + if (!accepted?.accepted) { + return undefined + } + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: Preserve the established response shape at this boundary. + return (accepted.value as Record | null | undefined)?.[key] +} diff --git a/mobile/src/browser/MobileBrowserPane.tsx b/mobile/src/browser/MobileBrowserPane.tsx index fc19eb1f5dd..bfdf2c3c6db 100644 --- a/mobile/src/browser/MobileBrowserPane.tsx +++ b/mobile/src/browser/MobileBrowserPane.tsx @@ -243,12 +243,13 @@ export function MobileBrowserPane({ setError('Enter a valid URL.') return } - const result = (await sendBrowserRequest( + const settled = await sendBrowserRequest( async (rpc, page, options) => browserNavigate.interpret(await browserNavigate.request(rpc, { ...page, url }, options)), { showBusy: true, timeoutMs: 30_000 } - // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: Preserve the established response shape at this boundary. - )) as { url?: string } | null + ) + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: Preserve the established response shape at this boundary. + const result = settled as { url?: string } | null if (typeof result?.url === 'string') { setAddressValue(displayBrowserUrl(result.url)) lastZoomResetUrlRef.current = result.url diff --git a/mobile/src/test-support/rpc-recording/adapters/agent-history-mount-adapters.ts b/mobile/src/test-support/rpc-recording/adapters/agent-history-mount-adapters.ts index f72a9ea02df..ba63dbaca38 100644 --- a/mobile/src/test-support/rpc-recording/adapters/agent-history-mount-adapters.ts +++ b/mobile/src/test-support/rpc-recording/adapters/agent-history-mount-adapters.ts @@ -72,13 +72,14 @@ export function agentHistoryMountAdapters( let worktreesLoaded = true let renderer: ReactTestRenderer | undefined function Harness() { - observed.history = useHistory({ + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the hook and its scope derivation read only these three worktree fields. + const params = { hostId: HOST_ID, worktreeId: WORKTREE_ID, worktrees: WORKTREES, worktreesLoaded - // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the hook and its scope derivation read only these three worktree fields. - } as unknown as Parameters[0]) + } as unknown as Parameters[0] + observed.history = useHistory(params) return null } const element = () => diff --git a/mobile/src/test-support/rpc-recording/adapters/browser-mount-adapters.ts b/mobile/src/test-support/rpc-recording/adapters/browser-mount-adapters.ts index 5243809a190..1fb174eb189 100644 --- a/mobile/src/test-support/rpc-recording/adapters/browser-mount-adapters.ts +++ b/mobile/src/test-support/rpc-recording/adapters/browser-mount-adapters.ts @@ -1,3 +1,4 @@ +import type { Dispatch, SetStateAction } from 'react' import type { MountAdapter } from '../recording-scenario' import { hookMount, performHookAction } from '../hook-mount' import type { operationModuleLoader } from '../operation-module-loader' @@ -29,6 +30,12 @@ export function browserMountAdapters( let dialog: { dialogType: string; message: string } | null = null let keyboardValue = 'hello' let pointerModifiers: string[] = [] + // React's own setter shape, so the recorder reads an updater the way the hook writes one. + const setter = + (read: () => T, write: (value: T) => void): Dispatch> => + (next) => + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: SetStateAction's function arm is exactly this updater; the typeof check is what narrows it. + write(typeof next === 'function' ? (next as (prev: T) => T)(read()) : next) let commands: ReturnType const hook = hookMount(() => { // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies plain setters where the hook declares React dispatchers. @@ -36,12 +43,18 @@ export function browserMountAdapters( busyRef, client, pageId: PAGE_ID, - setBusy: (next: unknown) => { - busy = typeof next === 'function' ? next(busy) : next === true - }, - setError: (next: unknown) => { - error = typeof next === 'function' ? next(error) : (next as string | null) - }, + setBusy: setter( + () => busy, + (value) => { + busy = value + } + ), + setError: setter( + () => error, + (value) => { + error = value + } + ), worktreeId: WORKTREE_ID } as unknown as Parameters[0]) // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the refs, setters and geometry the commands hook reads. @@ -54,18 +67,30 @@ export function browserMountAdapters( pageParams, pointerModifiers, sendBrowserRequest, - setDialog: (next: unknown) => { - dialog = typeof next === 'function' ? next(dialog) : next - }, - setError: (next: unknown) => { - error = typeof next === 'function' ? next(error) : (next as string | null) - }, - setKeyboardValue: (next: string) => { - keyboardValue = next - }, - setPointerModifiers: (next: unknown) => { - pointerModifiers = typeof next === 'function' ? next(pointerModifiers) : next - }, + setDialog: setter( + () => dialog, + (value) => { + dialog = value + } + ), + setError: setter( + () => error, + (value) => { + error = value + } + ), + setKeyboardValue: setter( + () => keyboardValue, + (value) => { + keyboardValue = value + } + ), + setPointerModifiers: setter( + () => pointerModifiers, + (value) => { + pointerModifiers = value + } + ), zoomRef: { current: { scale: 1, offsetX: 0, offsetY: 0 } } } as unknown as Parameters[0]) }) diff --git a/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts b/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts index 35d60d58a89..9cc58dc7de4 100644 --- a/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts +++ b/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts @@ -53,10 +53,10 @@ export const UNVALIDATED_RPC_REQUEST_PORT_PENDING: readonly UnvalidatedRpcReques { file: 'app/terminal-settings.tsx', references: 3 }, // src/agent-history/ — agent history loads + // Holdout: the last reach is a worktree.ps inside the screen component's own effect, which no + // recording can mount without a fabricated react-native view tree. { file: 'src/agent-history/MobileAgentSessionHistoryPanel.tsx', references: 1 }, - // src/browser/ — hosted browser control - // src/components/ — shared widgets that fetch their own data { file: 'src/components/codex-reset-credit-capability.ts', references: 2 }, { file: 'src/components/codex-reset-credit.ts', references: 3 }, @@ -65,8 +65,6 @@ export const UNVALIDATED_RPC_REQUEST_PORT_PENDING: readonly UnvalidatedRpcReques { file: 'src/components/use-new-workspace-runtime-context.ts', references: 3 }, { file: 'src/components/use-new-workspace-setup-script.ts', references: 1 }, - // src/dictation/ — dictation session control - // src/files/ — file read, write and preview { file: 'src/files/mobile-file-mutation-ownership.ts', references: 3 }, { file: 'src/files/mobile-file-preview-request.ts', references: 6 }, @@ -77,8 +75,6 @@ export const UNVALIDATED_RPC_REQUEST_PORT_PENDING: readonly UnvalidatedRpcReques // src/home/ — home screen host reads { file: 'src/home/mobile-home-host-requests.ts', references: 5 }, - // src/hooks/ — cross-screen data hooks - // src/host-screen/ — host screen catalog and actions { file: 'src/host-screen/host-screen-overlays.tsx', references: 1 }, { file: 'src/host-screen/use-host-repo-metadata.ts', references: 1 }, @@ -86,7 +82,11 @@ export const UNVALIDATED_RPC_REQUEST_PORT_PENDING: readonly UnvalidatedRpcReques { file: 'src/host-screen/use-host-worktree-actions.ts', references: 3 }, // src/notifications/ — push registration and delivery + // Holdout: the unsubscribe is a closure inside a `subscribe` callback, and subscriptions are a + // later step; the request-only recording runner refuses to open one. { file: 'src/notifications/mobile-notifications.ts', references: 1 }, + // Holdout: the send is gated behind the OS notification tray and the keychain host catalog, and + // faking either would record a fiction of device state rather than of the wire. { file: 'src/notifications/push-dismissal-reconciliation.ts', references: 2 }, // src/session/ — session screen: chat, diff review, PR actions, tabs @@ -138,8 +138,6 @@ export const UNVALIDATED_RPC_REQUEST_PORT_PENDING: readonly UnvalidatedRpcReques { file: 'src/session/use-mobile-terminal-paste.ts', references: 1 }, { file: 'src/session/use-quick-commands.ts', references: 2 }, - // src/settings/ — settings screen actions - // src/settings/ — notification display probe { file: 'src/settings/notification-display-test.tsx', references: 1 }, @@ -186,8 +184,6 @@ export const UNVALIDATED_RPC_REQUEST_PORT_PENDING: readonly UnvalidatedRpcReques { file: 'src/tasks/use-mobile-tasks-task-list-loading.tsx', references: 4 }, { file: 'src/tasks/use-mobile-tasks-task-pagination-actions.tsx', references: 1 }, - // src/terminal/ — terminal input, viewport and queries - // src/transport/ — pairing, endpoint probing and capability reads { file: 'src/transport/host-status-gates.ts', references: 1 }, { file: 'src/transport/mobile-relay-credential-rotation.ts', references: 2 },