diff --git a/mobile/rpc-foundation/goldens/host-worktree-actions-pin-open-delete.json b/mobile/rpc-foundation/goldens/host-worktree-actions-pin-open-delete.json new file mode 100644 index 00000000000..af4b5e6c5cb --- /dev/null +++ b/mobile/rpc-foundation/goldens/host-worktree-actions-pin-open-delete.json @@ -0,0 +1,328 @@ +{ + "operation": "host.worktree-actions", + "family": "host.worktree-actions", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2", + "adapterSha256": "2bc320d05d944b5c47176d4462350c4825e414511af52f7743ec9b6d6ebf93c2", + "scenarioSha256": "720add498c79425ca8efc9764fd5d8307fe33bc891842604cfc899f770b79811", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 5, + "values": { + "04938673cbf5": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "0ebfc1859f18": { + "name": "pinnedIds", + "value": ["wt-1"] + }, + "2b635c2a4fbb": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "32f21eaae959": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ], + "optimisticActiveWorktreeIdentity": { + "$rpc": "null" + }, + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "4caf7515e224": { + "name": "worktree.set#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.set\",\"params\":{\"worktree\":\"id:wt-1\",\"isPinned\":true}}" + }, + "56b6d4fb8c56": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "5c186d67b84c": { + "name": "lastKnownWorktrees", + "value": [] + }, + "69d698d4f352": { + "name": "worktree.rm#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.rm\",\"params\":{\"worktree\":\"id:wt-1\",\"force\":true}}" + }, + "6e959a9dd70e": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [], + "optimisticActiveWorktreeIdentity": "|wt-1", + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [] + }, + "7b87f237a7b6": { + "name": "worktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "9270aeb7d9c6": { + "status": "pending", + "startedAt": 0 + }, + "b1509905fc66": { + "name": "optimisticActiveWorktreeIdentity", + "value": "|wt-1" + }, + "ba357321dd85": { + "name": "lastKnownWorktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "bf2b36bda2d2": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "c3eecb0c6e96": { + "name": "worktree.activate#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.activate\",\"params\":{\"worktree\":\"id:wt-1\",\"notifyClients\":false,\"navigation\":\"caller\"}}" + }, + "d440bd87d1ce": { + "name": "worktrees", + "value": [] + }, + "e3e3c397a66a": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "eb79a9b3682a": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "recording": { + "scenario": "host-worktree-actions-pin-open-delete", + "checkpoints": [ + { + "id": "pin-optimistic", + "observation": { + "sender": ["bf2b36bda2d2"], + "payloads": ["4caf7515e224"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a" + }, + "state": "32f21eaae959", + "effects": ["7b87f237a7b6", "ba357321dd85", "0ebfc1859f18"] + } + }, + { + "id": "delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/host-worktree-delete-refused.json b/mobile/rpc-foundation/goldens/host-worktree-delete-refused.json new file mode 100644 index 00000000000..a25a5b6896e --- /dev/null +++ b/mobile/rpc-foundation/goldens/host-worktree-delete-refused.json @@ -0,0 +1,189 @@ +{ + "operation": "host.worktree-actions", + "family": "host.worktree-actions", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2", + "adapterSha256": "2bc320d05d944b5c47176d4462350c4825e414511af52f7743ec9b6d6ebf93c2", + "scenarioSha256": "5dd5e7eabaabba1e471b13958f59891c3b28f553087c96315598c83a14ded7e7", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 5, + "values": { + "3fd02e693647": { + "name": "worktree.rm#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.rm\",\"params\":{\"worktree\":\"id:wt-1\",\"force\":true}}" + }, + "5c186d67b84c": { + "name": "lastKnownWorktrees", + "value": [] + }, + "8056533b940f": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [], + "optimisticActiveWorktreeIdentity": { + "$rpc": "null" + }, + "pinnedIds": [], + "routeActionState": {}, + "worktrees": [] + }, + "9270aeb7d9c6": { + "status": "pending", + "startedAt": 0 + }, + "b569ed5b8bd2": { + "name": "worktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "b92861217ed8": { + "name": "lastKnownWorktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "d440bd87d1ce": { + "name": "worktrees", + "value": [] + }, + "e3e3c397a66a": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "e97d1f006b72": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "worktree_busy", + "message": "Worktree is busy" + }, + "id": "frame-1", + "ok": false + } + } + }, + "eb79a9b3682a": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "f48071bb2e8c": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ], + "optimisticActiveWorktreeIdentity": { + "$rpc": "null" + }, + "pinnedIds": [], + "routeActionState": {}, + "worktrees": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + } + }, + "recording": { + "scenario": "host-worktree-delete-refused", + "checkpoints": [ + { + "id": "delete-optimistic", + "observation": { + "sender": ["e3e3c397a66a"], + "payloads": ["3fd02e693647"], + "settlements": { + "mount": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "8056533b940f", + "effects": ["d440bd87d1ce", "5c186d67b84c"] + } + }, + { + "id": "restored", + "observation": { + "sender": ["e97d1f006b72"], + "payloads": ["3fd02e693647"], + "settlements": { + "mount": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "f48071bb2e8c", + "effects": ["d440bd87d1ce", "5c186d67b84c", "b569ed5b8bd2", "b92861217ed8"] + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.activate-1.json b/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.activate-1.json new file mode 100644 index 00000000000..644b333b216 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.activate-1.json @@ -0,0 +1,1118 @@ +{ + "operation": "host.worktree-actions", + "family": "host.worktree-actions", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2", + "adapterSha256": "2bc320d05d944b5c47176d4462350c4825e414511af52f7743ec9b6d6ebf93c2", + "scenarioSha256": "7e842584620018d5ec5560711d63a472302e8da80cfe65dfcd2952aebb509af2", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 5, + "values": { + "04938673cbf5": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "0ebfc1859f18": { + "name": "pinnedIds", + "value": ["wt-1"] + }, + "2b635c2a4fbb": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "2d7fff77e4e1": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + "2d8ad3ab13bb": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true + } + } + }, + "2eb4a9090f6f": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + "32f21eaae959": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ], + "optimisticActiveWorktreeIdentity": { + "$rpc": "null" + }, + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "403256b7ebef": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + }, + "4caf7515e224": { + "name": "worktree.set#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.set\",\"params\":{\"worktree\":\"id:wt-1\",\"isPinned\":true}}" + }, + "56b6d4fb8c56": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "5c186d67b84c": { + "name": "lastKnownWorktrees", + "value": [] + }, + "69d698d4f352": { + "name": "worktree.rm#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.rm\",\"params\":{\"worktree\":\"id:wt-1\",\"force\":true}}" + }, + "6e959a9dd70e": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [], + "optimisticActiveWorktreeIdentity": "|wt-1", + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [] + }, + "7b87f237a7b6": { + "name": "worktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "9270aeb7d9c6": { + "status": "pending", + "startedAt": 0 + }, + "a0393e57105c": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "", + "isRpcDeliveryUnknown": true + } + } + }, + "b1509905fc66": { + "name": "optimisticActiveWorktreeIdentity", + "value": "|wt-1" + }, + "ba357321dd85": { + "name": "lastKnownWorktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "bea1b89d2581": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "" + }, + "id": "frame-2", + "ok": false + } + } + }, + "bf2b36bda2d2": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "c3eecb0c6e96": { + "name": "worktree.activate#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.activate\",\"params\":{\"worktree\":\"id:wt-1\",\"notifyClients\":false,\"navigation\":\"caller\"}}" + }, + "d440bd87d1ce": { + "name": "worktrees", + "value": [] + }, + "d4d67a091d31": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-2", + "ok": false + } + } + }, + "db04b3f07cf4": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + "e3e3c397a66a": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "eb79a9b3682a": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "ef3b6a5ee1f2": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + "f7f6b21128d9": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-2", + "ok": false + } + } + } + }, + "recording": { + "scenario": "matrix-host.worktree-actions-worktree.activate-1", + "checkpoints": [ + { + "id": "host-worktree-actions-pin-open-delete.prelude:pin-optimistic", + "observation": { + "sender": ["bf2b36bda2d2"], + "payloads": ["4caf7515e224"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a" + }, + "state": "32f21eaae959", + "effects": ["7b87f237a7b6", "ba357321dd85", "0ebfc1859f18"] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.normal:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.normal:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-absent:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "2d8ad3ab13bb", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-absent:settled", + "observation": { + "sender": ["56b6d4fb8c56", "2d8ad3ab13bb", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-null:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "ef3b6a5ee1f2", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-null:settled", + "observation": { + "sender": ["56b6d4fb8c56", "ef3b6a5ee1f2", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-ok-missing:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "2eb4a9090f6f", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-ok-missing:settled", + "observation": { + "sender": ["56b6d4fb8c56", "2eb4a9090f6f", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-string-error:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "db04b3f07cf4", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-string-error:settled", + "observation": { + "sender": ["56b6d4fb8c56", "db04b3f07cf4", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-object-error:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "403256b7ebef", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-object-error:settled", + "observation": { + "sender": ["56b6d4fb8c56", "403256b7ebef", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "d4d67a091d31", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused:settled", + "observation": { + "sender": ["56b6d4fb8c56", "d4d67a091d31", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused-no-message:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "bea1b89d2581", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused-no-message:settled", + "observation": { + "sender": ["56b6d4fb8c56", "bea1b89d2581", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.method-not-found:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "f7f6b21128d9", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.method-not-found:settled", + "observation": { + "sender": ["56b6d4fb8c56", "f7f6b21128d9", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "2d7fff77e4e1", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection:settled", + "observation": { + "sender": ["56b6d4fb8c56", "2d7fff77e4e1", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection-no-message:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "a0393e57105c", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection-no-message:settled", + "observation": { + "sender": ["56b6d4fb8c56", "a0393e57105c", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.rm-1.json b/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.rm-1.json new file mode 100644 index 00000000000..9c5bd2e94cd --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.rm-1.json @@ -0,0 +1,998 @@ +{ + "operation": "host.worktree-actions", + "family": "host.worktree-actions", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2", + "adapterSha256": "2bc320d05d944b5c47176d4462350c4825e414511af52f7743ec9b6d6ebf93c2", + "scenarioSha256": "c47656a4ca21762e4b5a247ddf9a96efb746bec81e942ffa308a774bab1449e2", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 5, + "values": { + "04938673cbf5": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "0ebfc1859f18": { + "name": "pinnedIds", + "value": ["wt-1"] + }, + "11e971c034ae": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + }, + "2b635c2a4fbb": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "2c0740d2cefb": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "" + }, + "id": "frame-3", + "ok": false + } + } + }, + "32f21eaae959": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ], + "optimisticActiveWorktreeIdentity": { + "$rpc": "null" + }, + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "4caf7515e224": { + "name": "worktree.set#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.set\",\"params\":{\"worktree\":\"id:wt-1\",\"isPinned\":true}}" + }, + "4f1b109adcc0": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + "56b6d4fb8c56": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "5c186d67b84c": { + "name": "lastKnownWorktrees", + "value": [] + }, + "60cb8c68db7d": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + }, + "69d698d4f352": { + "name": "worktree.rm#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.rm\",\"params\":{\"worktree\":\"id:wt-1\",\"force\":true}}" + }, + "6e959a9dd70e": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [], + "optimisticActiveWorktreeIdentity": "|wt-1", + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [] + }, + "7b87f237a7b6": { + "name": "worktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "7ce7ff16ad9e": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-3", + "ok": false + } + } + }, + "86754b292acd": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + "909c8bc23636": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + "9270aeb7d9c6": { + "status": "pending", + "startedAt": 0 + }, + "972099c06c75": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true + } + } + }, + "b1509905fc66": { + "name": "optimisticActiveWorktreeIdentity", + "value": "|wt-1" + }, + "b569ed5b8bd2": { + "name": "worktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "b92861217ed8": { + "name": "lastKnownWorktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "ba357321dd85": { + "name": "lastKnownWorktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "bf2b36bda2d2": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "c3eecb0c6e96": { + "name": "worktree.activate#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.activate\",\"params\":{\"worktree\":\"id:wt-1\",\"notifyClients\":false,\"navigation\":\"caller\"}}" + }, + "ce97d2eedacb": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + "cf69e8a7e125": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "", + "isRpcDeliveryUnknown": true + } + } + }, + "d440bd87d1ce": { + "name": "worktrees", + "value": [] + }, + "e3e3c397a66a": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "eb79a9b3682a": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "faaf50dee85b": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ], + "optimisticActiveWorktreeIdentity": "|wt-1", + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [ + { + "displayName": "marlin", + "isPinned": false, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "ff4c661d50a3": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "error": "refused" + } + } + } + } + }, + "recording": { + "scenario": "matrix-host.worktree-actions-worktree.rm-1", + "checkpoints": [ + { + "id": "host-worktree-actions-pin-open-delete.prelude:pin-optimistic", + "observation": { + "sender": ["bf2b36bda2d2"], + "payloads": ["4caf7515e224"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a" + }, + "state": "32f21eaae959", + "effects": ["7b87f237a7b6", "ba357321dd85", "0ebfc1859f18"] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.prelude:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.prelude:cleanup", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "60cb8c68db7d"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c", + "b569ed5b8bd2", + "b92861217ed8" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.normal:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-absent:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "972099c06c75"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-null:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "909c8bc23636"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-ok-missing:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "ff4c661d50a3"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-string-error:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "4f1b109adcc0"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-object-error:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "11e971c034ae"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "7ce7ff16ad9e"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "faaf50dee85b", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c", + "b569ed5b8bd2", + "b92861217ed8" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused-no-message:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "2c0740d2cefb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "faaf50dee85b", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c", + "b569ed5b8bd2", + "b92861217ed8" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.method-not-found:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "86754b292acd"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "faaf50dee85b", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c", + "b569ed5b8bd2", + "b92861217ed8" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "ce97d2eedacb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "faaf50dee85b", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c", + "b569ed5b8bd2", + "b92861217ed8" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection-no-message:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "cf69e8a7e125"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "faaf50dee85b", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c", + "b569ed5b8bd2", + "b92861217ed8" + ] + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.set-1.json b/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.set-1.json new file mode 100644 index 00000000000..421721000d5 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-host.worktree-actions-worktree.set-1.json @@ -0,0 +1,1108 @@ +{ + "operation": "host.worktree-actions", + "family": "host.worktree-actions", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2", + "adapterSha256": "2bc320d05d944b5c47176d4462350c4825e414511af52f7743ec9b6d6ebf93c2", + "scenarioSha256": "054f1b1380fc6cfd4b0f4a85d6f143822a12a0a732d550dd85eef64a6556b3ba", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 5, + "values": { + "04938673cbf5": { + "name": "worktree.activate#1", + "args": [ + { + "name": "method", + "value": "worktree.activate" + }, + { + "name": "params", + "value": { + "navigation": "caller", + "notifyClients": false, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "0ebfc1859f18": { + "name": "pinnedIds", + "value": ["wt-1"] + }, + "1266cec86f6a": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + "275536711343": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + "2b635c2a4fbb": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "32f21eaae959": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ], + "optimisticActiveWorktreeIdentity": { + "$rpc": "null" + }, + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "44ff929f3c43": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + "4caf7515e224": { + "name": "worktree.set#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.set\",\"params\":{\"worktree\":\"id:wt-1\",\"isPinned\":true}}" + }, + "55d53d27027d": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + }, + "56b6d4fb8c56": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "ok": true + } + } + } + }, + "5c186d67b84c": { + "name": "lastKnownWorktrees", + "value": [] + }, + "6307d17334bd": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "" + }, + "id": "frame-1", + "ok": false + } + } + }, + "651653c526f2": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + "66469585a5b3": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + "69d698d4f352": { + "name": "worktree.rm#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.rm\",\"params\":{\"worktree\":\"id:wt-1\",\"force\":true}}" + }, + "6b3c3497e633": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + }, + "6e959a9dd70e": { + "confirmRemoveHost": false, + "lastKnownWorktrees": [], + "optimisticActiveWorktreeIdentity": "|wt-1", + "pinnedIds": ["wt-1"], + "routeActionState": {}, + "worktrees": [] + }, + "7b87f237a7b6": { + "name": "worktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "9270aeb7d9c6": { + "status": "pending", + "startedAt": 0 + }, + "b1509905fc66": { + "name": "optimisticActiveWorktreeIdentity", + "value": "|wt-1" + }, + "ba357321dd85": { + "name": "lastKnownWorktrees", + "value": [ + { + "displayName": "marlin", + "isPinned": true, + "repo": "repo-1", + "worktreeId": "wt-1" + } + ] + }, + "ba44a37bda16": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + "bf2b36bda2d2": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "c3eecb0c6e96": { + "name": "worktree.activate#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.activate\",\"params\":{\"worktree\":\"id:wt-1\",\"notifyClients\":false,\"navigation\":\"caller\"}}" + }, + "d440bd87d1ce": { + "name": "worktrees", + "value": [] + }, + "e3e3c397a66a": { + "name": "worktree.rm#1", + "args": [ + { + "name": "method", + "value": "worktree.rm" + }, + { + "name": "params", + "value": { + "force": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + "eb79a9b3682a": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "f1b199e21211": { + "name": "worktree.set#1", + "args": [ + { + "name": "method", + "value": "worktree.set" + }, + { + "name": "params", + "value": { + "isPinned": true, + "worktree": "id:wt-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "", + "isRpcDeliveryUnknown": true + } + } + } + }, + "recording": { + "scenario": "matrix-host.worktree-actions-worktree.set-1", + "checkpoints": [ + { + "id": "host-worktree-actions-pin-open-delete.prelude:pin-optimistic", + "observation": { + "sender": ["bf2b36bda2d2"], + "payloads": ["4caf7515e224"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a" + }, + "state": "32f21eaae959", + "effects": ["7b87f237a7b6", "ba357321dd85", "0ebfc1859f18"] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.normal:delete-optimistic", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.normal:settled", + "observation": { + "sender": ["56b6d4fb8c56", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-absent:delete-optimistic", + "observation": { + "sender": ["6b3c3497e633", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-absent:settled", + "observation": { + "sender": ["6b3c3497e633", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-null:delete-optimistic", + "observation": { + "sender": ["66469585a5b3", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.result-null:settled", + "observation": { + "sender": ["66469585a5b3", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-ok-missing:delete-optimistic", + "observation": { + "sender": ["275536711343", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-ok-missing:settled", + "observation": { + "sender": ["275536711343", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-string-error:delete-optimistic", + "observation": { + "sender": ["651653c526f2", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-string-error:settled", + "observation": { + "sender": ["651653c526f2", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-object-error:delete-optimistic", + "observation": { + "sender": ["55d53d27027d", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.inner-false-object-error:settled", + "observation": { + "sender": ["55d53d27027d", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused:delete-optimistic", + "observation": { + "sender": ["44ff929f3c43", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused:settled", + "observation": { + "sender": ["44ff929f3c43", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused-no-message:delete-optimistic", + "observation": { + "sender": ["6307d17334bd", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.outer-refused-no-message:settled", + "observation": { + "sender": ["6307d17334bd", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.method-not-found:delete-optimistic", + "observation": { + "sender": ["ba44a37bda16", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.method-not-found:settled", + "observation": { + "sender": ["ba44a37bda16", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection:delete-optimistic", + "observation": { + "sender": ["1266cec86f6a", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection:settled", + "observation": { + "sender": ["1266cec86f6a", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection-no-message:delete-optimistic", + "observation": { + "sender": ["f1b199e21211", "04938673cbf5", "e3e3c397a66a"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "9270aeb7d9c6" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + }, + { + "id": "host-worktree-actions-pin-open-delete.transport-rejection-no-message:settled", + "observation": { + "sender": ["f1b199e21211", "04938673cbf5", "2b635c2a4fbb"], + "payloads": ["4caf7515e224", "c3eecb0c6e96", "69d698d4f352"], + "settlements": { + "mount": "eb79a9b3682a", + "toggle-pin": "eb79a9b3682a", + "open-session": "eb79a9b3682a", + "delete": "eb79a9b3682a" + }, + "state": "6e959a9dd70e", + "effects": [ + "7b87f237a7b6", + "ba357321dd85", + "0ebfc1859f18", + "b1509905fc66", + "d440bd87d1ce", + "5c186d67b84c" + ] + } + } + ] + } +} diff --git a/mobile/rpc-foundation/pilot-scenarios.json b/mobile/rpc-foundation/pilot-scenarios.json index d1125bc6a9d..ab58e1425ff 100644 --- a/mobile/rpc-foundation/pilot-scenarios.json +++ b/mobile/rpc-foundation/pilot-scenarios.json @@ -7615,6 +7615,119 @@ "checkpoint": "settled" } ] + }, + { + "id": "host-worktree-actions-pin-open-delete", + "operation": "host.worktree-actions", + "version": 1, + "family": "host.worktree-actions", + "sites": ["mobile/src/host-screen/use-host-worktree-actions.ts"], + "schedules": [], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "toggle-pin", + "id": "toggle-pin" + }, + { + "checkpoint": "pin-optimistic" + }, + { + "complete": "worktree.set#1", + "params": { + "worktree": "id:wt-1", + "isPinned": true + }, + "reply": { + "ok": true, + "result": { + "ok": true + } + } + }, + { + "action": "open-session", + "id": "open-session" + }, + { + "complete": "worktree.activate#1", + "params": { + "worktree": "id:wt-1", + "notifyClients": false, + "navigation": "caller" + }, + "reply": { + "ok": true, + "result": { + "ok": true + } + } + }, + { + "action": "delete", + "id": "delete" + }, + { + "checkpoint": "delete-optimistic" + }, + { + "complete": "worktree.rm#1", + "params": { + "worktree": "id:wt-1", + "force": true + }, + "reply": { + "ok": true, + "result": { + "ok": true + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "host-worktree-delete-refused", + "operation": "host.worktree-actions", + "version": 1, + "family": "host.worktree-actions", + "sites": ["mobile/src/host-screen/use-host-worktree-actions.ts"], + "schedules": [], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "delete", + "id": "delete" + }, + { + "checkpoint": "delete-optimistic" + }, + { + "complete": "worktree.rm#1", + "params": { + "worktree": "id:wt-1", + "force": true + }, + "reply": { + "ok": false, + "error": { + "code": "worktree_busy", + "message": "Worktree is busy" + } + } + }, + { + "checkpoint": "restored" + } + ] } ] } diff --git a/mobile/src/test-support/rpc-recording/adapters/host-worktree-action-mount-adapters.ts b/mobile/src/test-support/rpc-recording/adapters/host-worktree-action-mount-adapters.ts new file mode 100644 index 00000000000..1c6e1167af6 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/adapters/host-worktree-action-mount-adapters.ts @@ -0,0 +1,77 @@ +import type { MountAdapter } from '../recording-scenario' +import { hookMount, performHookAction } from '../hook-mount' +import { observableModel, projectObservable } from '../observable-model' +import type { operationModuleLoader } from '../operation-module-loader' + +const ROW = { worktreeId: 'wt-1', displayName: 'marlin', repo: 'repo-1', isPinned: false } + +/** + * The host screen's three worktree mutations: pin, delete and open. + * + * Mounted with no hostId, which is the only thing that keeps the hook off native storage: the + * pinned-id write is the sole native call and it sits behind `if (hostId)`. + */ +export function hostWorktreeActionMountAdapters( + modules: ReturnType +): Record { + return { + 'host.worktree-actions': (context) => { + const useActions = modules.load< + typeof import('../../../host-screen/use-host-worktree-actions') + >('mobile/src/host-screen/use-host-worktree-actions.ts').useHostWorktreeActions + const state = observableModel(context, { + newWorktreeModalRef: { current: null }, + newWorktreeModalVisibleRef: { current: false }, + pinnedIds: new Set(), + worktrees: [ROW], + lastKnownWorktrees: [ROW], + confirmRemoveHost: false, + optimisticActiveWorktreeIdentity: null, + routeActionState: {} + }) + let actions: ReturnType + const hook = hookMount(() => { + actions = useActions({ + client: context.client, + connState: 'connected', + embedded: false, + fetchWorktrees: async () => {}, + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the hook only forwards this to host removal, which no scenario drives. + forgetHostClient: (() => {}) as unknown as Parameters< + typeof useActions + >[0]['forgetHostClient'], + hostId: undefined, + pathname: '/h/host-1', + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: navigation is observed through the recorded sends, not the router. + router: { push: () => {}, replace: () => {} } as unknown as Parameters< + typeof useActions + >[0]['router'], + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + state: state as unknown as Parameters[0]['state'] + }) + }) + return { + action(name) { + if (name === 'mount') { + return hook.mount() + } + if (name === 'toggle-pin') { + return performHookAction(() => actions.togglePin(ROW.worktreeId)) + } + if (name === 'delete') { + return performHookAction(() => actions.handleDeleteWorktree(ROW)) + } + if (name === 'open-session') { + return performHookAction(() => actions.openWorktreeSession(ROW)) + } + throw new Error(`Unknown worktree action: ${name}`) + }, + state: () => + projectObservable( + Object.fromEntries(Object.entries(state).filter(([key]) => !key.endsWith('Ref'))) + ), + dispose: hook.unmount + } + } + } +} diff --git a/mobile/src/test-support/rpc-recording/adapters/mounted-operation-modules.ts b/mobile/src/test-support/rpc-recording/adapters/mounted-operation-modules.ts index 511f6c45ba3..516e941eaef 100644 --- a/mobile/src/test-support/rpc-recording/adapters/mounted-operation-modules.ts +++ b/mobile/src/test-support/rpc-recording/adapters/mounted-operation-modules.ts @@ -1,6 +1,7 @@ import { fileInventoryMountAdapters } from './file-inventory-mount-adapters' import { fileRequestMountAdapters } from './file-request-mount-adapters' import { hostScreenMountAdapters } from './host-screen-mount-adapters' +import { hostWorktreeActionMountAdapters } from './host-worktree-action-mount-adapters' import { hostedReviewMountAdapters } from './hosted-review-mount-adapters' import { newTabAgentMountAdapters } from './new-tab-agent-mount-adapters' import { newWorkspaceMountAdapters } from './new-workspace-mount-adapters' @@ -22,6 +23,10 @@ export const MOUNTED_OPERATION_MODULES: readonly MountedOperationModule[] = [ { source: 'file-inventory-mount-adapters.ts', mounts: fileInventoryMountAdapters }, { source: 'file-request-mount-adapters.ts', mounts: fileRequestMountAdapters }, { source: 'host-screen-mount-adapters.ts', mounts: hostScreenMountAdapters }, + { + source: 'host-worktree-action-mount-adapters.ts', + mounts: hostWorktreeActionMountAdapters + }, { source: 'hosted-review-mount-adapters.ts', mounts: hostedReviewMountAdapters }, { source: 'new-tab-agent-mount-adapters.ts', mounts: newTabAgentMountAdapters }, { source: 'new-workspace-mount-adapters.ts', mounts: newWorkspaceMountAdapters },