diff --git a/mobile/rpc-foundation/goldens/b1.json b/mobile/rpc-foundation/goldens/b1.json new file mode 100644 index 00000000000..0344c71b950 --- /dev/null +++ b/mobile/rpc-foundation/goldens/b1.json @@ -0,0 +1,555 @@ +{ + "operation": "workspace.file-inventory", + "family": "legacy-inventory", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "305c86832cd8": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3390ae6d62f2": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 240 + } + } + ], + "35af95861be6": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "select-b": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "reset-a": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "fresh": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "4f53cda18c2b": [], + "5386959d4549": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "select-b": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "reset-a": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "fresh": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "third": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "$rpc": "undefined" + } + } + }, + "602e35a92eec": { + "files": [] + }, + "6713de8f80d3": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + }, + { + "name": "files.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + } + ], + "97ccce4248eb": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 120 + } + } + ], + "a129552fdc6e": { + "files": ["third.ts"] + }, + "ad0f58f0684c": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + }, + { + "name": "files.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + }, + { + "name": "files.searchPaths#2", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"fresh\",\"limit\":16}}" + }, + { + "name": "files.list#2", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + } + ], + "e72410768c32": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "files": [ + { + "relativePath": "fresh.ts" + }, + { + "relativePath": "third.ts" + } + ] + } + } + } + } + ] + }, + "recording": { + "scenario": "b1", + "checkpoints": [ + { + "id": "old-pending", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "305c86832cd8", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "stale-arrived-fresh-pending", + "observation": { + "sender": "3390ae6d62f2", + "payloads": "ad0f58f0684c", + "settlements": "35af95861be6", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "third-query", + "observation": { + "sender": "3390ae6d62f2", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "fresh-arrived", + "observation": { + "sender": "e72410768c32", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "a129552fdc6e", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/b2.json b/mobile/rpc-foundation/goldens/b2.json new file mode 100644 index 00000000000..8412ef48472 --- /dev/null +++ b/mobile/rpc-foundation/goldens/b2.json @@ -0,0 +1,200 @@ +{ + "operation": "project.update-metadata", + "family": "project-explicit-false", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0318f81a142b": [ + { + "name": "github.project.updateIssueBySlug#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"github.project.updateIssueBySlug\",\"params\":{\"owner\":\"owner\",\"repo\":\"repo\",\"host\":\"github.enterprise.test\",\"number\":1,\"updates\":{\"addLabels\":[\"recorded\"]}}}" + } + ], + "0c4dced3e005": { + "error": "", + "mutating": true, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "15516afe97e7": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "204a5c5728c2": { + "error": "Cannot read properties of null (reading 'ok')", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "3b9a7724526d": [ + { + "name": "projectMutating", + "value": true + } + ], + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7e11552b02fa": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + } + ], + "dd1ba4033a27": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "Cannot read properties of null (reading 'ok')" + }, + { + "name": "projectMutating", + "value": false + } + ], + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "b2", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "15516afe97e7", + "payloads": "0318f81a142b", + "settlements": "f117d93cf44a", + "state": "0c4dced3e005", + "effects": "3b9a7724526d" + } + }, + { + "id": "settled", + "observation": { + "sender": "7e11552b02fa", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "204a5c5728c2", + "effects": "dd1ba4033a27" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/b3.json b/mobile/rpc-foundation/goldens/b3.json new file mode 100644 index 00000000000..d1af48b1abb --- /dev/null +++ b/mobile/rpc-foundation/goldens/b3.json @@ -0,0 +1,310 @@ +{ + "operation": "linear.issue-detail", + "family": "linear-detail-barrier", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0b631657711f": [ + { + "name": "linear.getIssue#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + }, + { + "name": "linear.issueComments#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + } + ], + "26c78123b573": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + } + ], + "42903545f0f8": { + "error": "comments transport error", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "68d958edb978": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "6d65777cf6fe": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "comments transport error" + }, + { + "name": "detailLoading", + "value": false + } + ], + "780aaf1d97be": { + "error": "", + "loading": true, + "payload": { + "$rpc": "null" + } + }, + "db6e863f7087": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "fc7910387ac9": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "b3", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "fc7910387ac9", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "issue-refused-comments-pending", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/interruptions-inventory-lifecycle.json b/mobile/rpc-foundation/goldens/interruptions-inventory-lifecycle.json new file mode 100644 index 00000000000..60ac45fad6f --- /dev/null +++ b/mobile/rpc-foundation/goldens/interruptions-inventory-lifecycle.json @@ -0,0 +1,376 @@ +{ + "operation": "workspace.file-inventory", + "family": "legacy-inventory", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "09d53cd763b1": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 120, + "settledAt": 120, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "305c86832cd8": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "44517661da0d": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "4f53cda18c2b": [], + "602e35a92eec": { + "files": [] + }, + "6713de8f80d3": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + }, + { + "name": "files.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + } + ], + "8c70b1eb7a30": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "8d7ff0ac3500": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 120, + "settledAt": 30120, + "error": { + "category": "Error", + "message": "Request timed out: files.list", + "isRpcDeliveryUnknown": true + } + } + } + ], + "e01595c0caa4": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 120, + "settledAt": 120, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ] + }, + "recording": { + "scenario": "interruptions-inventory-lifecycle", + "checkpoints": [ + { + "id": "inventory-lifecycle.timeout:interrupted", + "observation": { + "sender": "8d7ff0ac3500", + "payloads": "6713de8f80d3", + "settlements": "305c86832cd8", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.timeout:settled", + "observation": { + "sender": "8d7ff0ac3500", + "payloads": "6713de8f80d3", + "settlements": "305c86832cd8", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.disconnect:interrupted", + "observation": { + "sender": "e01595c0caa4", + "payloads": "6713de8f80d3", + "settlements": "8c70b1eb7a30", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.disconnect:settled", + "observation": { + "sender": "e01595c0caa4", + "payloads": "6713de8f80d3", + "settlements": "8c70b1eb7a30", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.cutover:interrupted", + "observation": { + "sender": "09d53cd763b1", + "payloads": "6713de8f80d3", + "settlements": "44517661da0d", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.cutover:settled", + "observation": { + "sender": "09d53cd763b1", + "payloads": "6713de8f80d3", + "settlements": "44517661da0d", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/interruptions-settings-bot-overrides-fulfilled.json b/mobile/rpc-foundation/goldens/interruptions-settings-bot-overrides-fulfilled.json new file mode 100644 index 00000000000..cc1beeba9c5 --- /dev/null +++ b/mobile/rpc-foundation/goldens/interruptions-settings-bot-overrides-fulfilled.json @@ -0,0 +1,274 @@ +{ + "operation": "settings.bot-overrides", + "family": "settings.bot-overrides", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4f53cda18c2b": [], + "582aad0720e3": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "77571e1166d2": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "79828a30028a": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + } + ], + "7a5a1b086254": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ], + "8df6a469391c": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ] + }, + "recording": { + "scenario": "interruptions-settings-bot-overrides-fulfilled", + "checkpoints": [ + { + "id": "settings-bot-overrides-fulfilled.prelude:settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.timeout:interrupted", + "observation": { + "sender": "79828a30028a", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.timeout:settled", + "observation": { + "sender": "79828a30028a", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.disconnect:interrupted", + "observation": { + "sender": "7a5a1b086254", + "payloads": "9e493785145e", + "settlements": "77571e1166d2", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.disconnect:settled", + "observation": { + "sender": "7a5a1b086254", + "payloads": "9e493785145e", + "settlements": "77571e1166d2", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.cutover:interrupted", + "observation": { + "sender": "582aad0720e3", + "payloads": "9e493785145e", + "settlements": "8df6a469391c", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.cutover:settled", + "observation": { + "sender": "582aad0720e3", + "payloads": "9e493785145e", + "settlements": "8df6a469391c", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/inventory-lifecycle.json b/mobile/rpc-foundation/goldens/inventory-lifecycle.json new file mode 100644 index 00000000000..210eb26de72 --- /dev/null +++ b/mobile/rpc-foundation/goldens/inventory-lifecycle.json @@ -0,0 +1,137 @@ +{ + "operation": "workspace.file-inventory", + "family": "legacy-inventory", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "305c86832cd8": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "4f53cda18c2b": [], + "6713de8f80d3": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + }, + { + "name": "files.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + } + ], + "ab2510585ba0": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + } + ], + "fe1aebea954c": { + "files": ["old.ts"] + } + }, + "recording": { + "scenario": "inventory-lifecycle", + "checkpoints": [ + { + "id": "settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "305c86832cd8", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/inventory-repeat-query.json b/mobile/rpc-foundation/goldens/inventory-repeat-query.json new file mode 100644 index 00000000000..37da87d52b6 --- /dev/null +++ b/mobile/rpc-foundation/goldens/inventory-repeat-query.json @@ -0,0 +1,397 @@ +{ + "operation": "workspace.file-inventory", + "family": "legacy-inventory", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "003a57e2bf31": { + "files": ["alpha.ts"] + }, + "07920a7dd2ac": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"alpha\",\"limit\":16}}" + }, + { + "name": "files.searchPaths#2", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"beta\",\"limit\":16}}" + }, + { + "name": "files.searchPaths#3", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"gamma\",\"limit\":16}}" + } + ], + "16c03a5dc6c8": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "alpha", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "files": [ + { + "relativePath": "alpha.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "beta", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "beta.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#3", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "gamma", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 360 + } + } + ], + "22ab9118541c": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "alpha", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "files": [ + { + "relativePath": "alpha.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "beta", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "beta.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#3", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "gamma", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 360, + "settledAt": 360, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "files": [ + { + "relativePath": "gamma.ts" + } + ] + } + } + } + } + ], + "3642acfe438f": { + "files": ["beta.ts"] + }, + "4f53cda18c2b": [], + "d89c93bd8899": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "alpha": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "beta": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "gamma": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "$rpc": "undefined" + } + }, + "repeat-alpha": { + "status": "fulfilled", + "startedAt": 360, + "settledAt": 360, + "value": { + "$rpc": "undefined" + } + } + }, + "eeba4d799744": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "alpha": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "beta": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "gamma": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "$rpc": "undefined" + } + }, + "repeat-alpha": { + "status": "fulfilled", + "startedAt": 360, + "settledAt": 360, + "value": { + "$rpc": "undefined" + } + }, + "delta": { + "status": "fulfilled", + "startedAt": 360, + "settledAt": 360, + "value": { + "$rpc": "undefined" + } + }, + "repeat-beta": { + "status": "fulfilled", + "startedAt": 360, + "settledAt": 360, + "value": { + "$rpc": "undefined" + } + } + } + }, + "recording": { + "scenario": "inventory-repeat-query", + "checkpoints": [ + { + "id": "cached-alpha", + "observation": { + "sender": "16c03a5dc6c8", + "payloads": "07920a7dd2ac", + "settlements": "d89c93bd8899", + "state": "003a57e2bf31", + "effects": "4f53cda18c2b" + } + }, + { + "id": "stale-search-ignored", + "observation": { + "sender": "22ab9118541c", + "payloads": "07920a7dd2ac", + "settlements": "d89c93bd8899", + "state": "003a57e2bf31", + "effects": "4f53cda18c2b" + } + }, + { + "id": "cached-beta-cancels-debounce", + "observation": { + "sender": "22ab9118541c", + "payloads": "07920a7dd2ac", + "settlements": "eeba4d799744", + "state": "3642acfe438f", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/lifecycle-b3.json b/mobile/rpc-foundation/goldens/lifecycle-b3.json new file mode 100644 index 00000000000..c52b3647409 --- /dev/null +++ b/mobile/rpc-foundation/goldens/lifecycle-b3.json @@ -0,0 +1,1148 @@ +{ + "operation": "linear.issue-detail", + "family": "linear-detail-barrier", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0493f3387b35": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.getIssue#2", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#2", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "0622544ec536": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "remount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0b631657711f": [ + { + "name": "linear.getIssue#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + }, + { + "name": "linear.issueComments#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + } + ], + "20d650b20730": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-blur": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "26c78123b573": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + } + ], + "42903545f0f8": { + "error": "comments transport error", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "65dee1e4669e": [ + { + "name": "linear.getIssue#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + }, + { + "name": "linear.issueComments#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + }, + { + "name": "linear.getIssue#2", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + }, + { + "name": "linear.issueComments#2", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + } + ], + "68d958edb978": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "6d65777cf6fe": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "comments transport error" + }, + { + "name": "detailLoading", + "value": false + } + ], + "780aaf1d97be": { + "error": "", + "loading": true, + "payload": { + "$rpc": "null" + } + }, + "af0499e7a20b": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + } + ], + "badbba34d659": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.getIssue#2", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#2", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "d6672f158011": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.getIssue#2", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#2", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "db6e863f7087": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "eb595117f4da": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-reset": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "f1a1b18f7d0e": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "comments transport error" + }, + { + "name": "detailLoading", + "value": false + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + } + ], + "f7efecfbed85": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "fc7910387ac9": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "lifecycle-b3", + "checkpoints": [ + { + "id": "b3.prelude:pending", + "observation": { + "sender": "fc7910387ac9", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.prelude:issue-refused-comments-pending", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.reset-before-1:lifecycle-boundary", + "observation": { + "sender": "d6672f158011", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-before-1:issue-refused-comments-pending", + "observation": { + "sender": "badbba34d659", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-before-1:settled", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-after-1:lifecycle-boundary", + "observation": { + "sender": "badbba34d659", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-after-1:issue-refused-comments-pending", + "observation": { + "sender": "badbba34d659", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-after-1:settled", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-before-2:lifecycle-boundary", + "observation": { + "sender": "badbba34d659", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-before-2:settled", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.reset-after-2:lifecycle-boundary", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "f1a1b18f7d0e" + } + }, + { + "id": "b3.reset-after-2:settled", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "eb595117f4da", + "state": "780aaf1d97be", + "effects": "f1a1b18f7d0e" + } + }, + { + "id": "b3.unmount-before-1:lifecycle-boundary", + "observation": { + "sender": "fc7910387ac9", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-before-1:issue-refused-comments-pending", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-before-1:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-before-1:remounted", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "0622544ec536", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.unmount-after-1:lifecycle-boundary", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-after-1:issue-refused-comments-pending", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-after-1:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-after-1:remounted", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "0622544ec536", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.unmount-before-2:lifecycle-boundary", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-before-2:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.unmount-before-2:remounted", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "0622544ec536", + "state": "780aaf1d97be", + "effects": "af0499e7a20b" + } + }, + { + "id": "b3.unmount-after-2:lifecycle-boundary", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.unmount-after-2:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "f7efecfbed85", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.unmount-after-2:remounted", + "observation": { + "sender": "0493f3387b35", + "payloads": "65dee1e4669e", + "settlements": "0622544ec536", + "state": "780aaf1d97be", + "effects": "f1a1b18f7d0e" + } + }, + { + "id": "b3.blur-before-1:lifecycle-boundary", + "observation": { + "sender": "fc7910387ac9", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.blur-before-1:issue-refused-comments-pending", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.blur-before-1:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.blur-after-1:lifecycle-boundary", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.blur-after-1:issue-refused-comments-pending", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.blur-after-1:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.blur-before-2:lifecycle-boundary", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.blur-before-2:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.blur-after-2:lifecycle-boundary", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.blur-after-2:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "20d650b20730", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/lifecycle-inventory-lifecycle.json b/mobile/rpc-foundation/goldens/lifecycle-inventory-lifecycle.json new file mode 100644 index 00000000000..b4b7fd222f2 --- /dev/null +++ b/mobile/rpc-foundation/goldens/lifecycle-inventory-lifecycle.json @@ -0,0 +1,602 @@ +{ + "operation": "workspace.file-inventory", + "family": "legacy-inventory", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "1a957d27c347": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 120 + } + } + ], + "4f53cda18c2b": [], + "602e35a92eec": { + "files": [] + }, + "6713de8f80d3": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + }, + { + "name": "files.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + } + ], + "8baaca44e19f": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-blur": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "97ccce4248eb": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 120 + } + } + ], + "a5b853493ed4": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + } + ], + "ab2510585ba0": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + } + ], + "c8fe68914ed2": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "ca50cabf84eb": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "remount": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "e55f989316a7": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-reset": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "fe1aebea954c": { + "files": ["old.ts"] + } + }, + "recording": { + "scenario": "lifecycle-inventory-lifecycle", + "checkpoints": [ + { + "id": "inventory-lifecycle.reset-before-1:lifecycle-boundary", + "observation": { + "sender": "1a957d27c347", + "payloads": "a5b853493ed4", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.reset-before-1:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.reset-after-1:lifecycle-boundary", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.reset-after-1:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.reset-before-2:lifecycle-boundary", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.reset-before-2:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.reset-after-2:lifecycle-boundary", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.reset-after-2:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "e55f989316a7", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-before-1:lifecycle-boundary", + "observation": { + "sender": "1a957d27c347", + "payloads": "a5b853493ed4", + "settlements": "c8fe68914ed2", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-before-1:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "c8fe68914ed2", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-before-1:remounted", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "ca50cabf84eb", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-after-1:lifecycle-boundary", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "c8fe68914ed2", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-after-1:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "c8fe68914ed2", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-after-1:remounted", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "ca50cabf84eb", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-before-2:lifecycle-boundary", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "c8fe68914ed2", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-before-2:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "c8fe68914ed2", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-before-2:remounted", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "ca50cabf84eb", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-after-2:lifecycle-boundary", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "c8fe68914ed2", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-after-2:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "c8fe68914ed2", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.unmount-after-2:remounted", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "ca50cabf84eb", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-before-1:lifecycle-boundary", + "observation": { + "sender": "1a957d27c347", + "payloads": "a5b853493ed4", + "settlements": "8baaca44e19f", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-before-1:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "8baaca44e19f", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-after-1:lifecycle-boundary", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "8baaca44e19f", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-after-1:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "8baaca44e19f", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-before-2:lifecycle-boundary", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "8baaca44e19f", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-before-2:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "8baaca44e19f", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-after-2:lifecycle-boundary", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "8baaca44e19f", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "inventory-lifecycle.blur-after-2:settled", + "observation": { + "sender": "ab2510585ba0", + "payloads": "6713de8f80d3", + "settlements": "8baaca44e19f", + "state": "fe1aebea954c", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/lifecycle-settings-bot-overrides-fulfilled.json b/mobile/rpc-foundation/goldens/lifecycle-settings-bot-overrides-fulfilled.json new file mode 100644 index 00000000000..48f149fc2b1 --- /dev/null +++ b/mobile/rpc-foundation/goldens/lifecycle-settings-bot-overrides-fulfilled.json @@ -0,0 +1,464 @@ +{ + "operation": "settings.bot-overrides", + "family": "settings.bot-overrides", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0622544ec536": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "remount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "1d4a2fa741de": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "20d650b20730": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-blur": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "4f53cda18c2b": [], + "84155dde485f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "a7af6ac4ce05": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + } + ], + "d52c8e96e222": ["bot-user"], + "d7482cfe1d66": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "eb595117f4da": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-reset": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "f7efecfbed85": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + } + }, + "recording": { + "scenario": "lifecycle-settings-bot-overrides-fulfilled", + "checkpoints": [ + { + "id": "settings-bot-overrides-fulfilled.prelude:settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.reset-before-1:lifecycle-boundary", + "observation": { + "sender": "d7482cfe1d66", + "payloads": "1d4a2fa741de", + "settlements": "eb595117f4da", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.reset-before-1:settled", + "observation": { + "sender": "84155dde485f", + "payloads": "1d4a2fa741de", + "settlements": "eb595117f4da", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.reset-after-1:lifecycle-boundary", + "observation": { + "sender": "84155dde485f", + "payloads": "1d4a2fa741de", + "settlements": "eb595117f4da", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.reset-after-1:settled", + "observation": { + "sender": "84155dde485f", + "payloads": "1d4a2fa741de", + "settlements": "eb595117f4da", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.unmount-before-1:lifecycle-boundary", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f7efecfbed85", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.unmount-before-1:settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "f7efecfbed85", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.unmount-before-1:remounted", + "observation": { + "sender": "84155dde485f", + "payloads": "1d4a2fa741de", + "settlements": "0622544ec536", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.unmount-after-1:lifecycle-boundary", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "f7efecfbed85", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.unmount-after-1:settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "f7efecfbed85", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.unmount-after-1:remounted", + "observation": { + "sender": "84155dde485f", + "payloads": "1d4a2fa741de", + "settlements": "0622544ec536", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.blur-before-1:lifecycle-boundary", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "20d650b20730", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.blur-before-1:settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "20d650b20730", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.blur-after-1:lifecycle-boundary", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "20d650b20730", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.blur-after-1:settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "20d650b20730", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/lifecycle-settings-task-hydration-fulfilled.json b/mobile/rpc-foundation/goldens/lifecycle-settings-task-hydration-fulfilled.json new file mode 100644 index 00000000000..bdced1aee1a --- /dev/null +++ b/mobile/rpc-foundation/goldens/lifecycle-settings-task-hydration-fulfilled.json @@ -0,0 +1,2699 @@ +{ + "operation": "settings.task-hydration", + "family": "settings.task-hydration", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0622544ec536": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "remount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "1825a87a7ca8": { + "hydrated": false, + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "25ff3ce217de": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + }, + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + } + ], + "3fd4c6d2c2d9": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + } + ], + "4345d70c756e": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "58c52d8b7c76": { + "hydrated": true, + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "5a9cc1957824": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "693961f25be2": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "8574a5791dce": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "9f7245427281": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "status.get#2", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "c3f33d88e338": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + } + ], + "c607f2ac3543": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "status.get#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + } + ], + "c6178e6a0f4e": { + "hydrated": false, + "settings": {} + }, + "e71a3d7fabe9": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "ece0e400ef82": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "ef23c7cad0d6": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "f7efecfbed85": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + } + }, + "recording": { + "scenario": "lifecycle-settings-task-hydration-fulfilled", + "checkpoints": [ + { + "id": "settings-task-hydration-fulfilled.prelude:settings-pending", + "observation": { + "sender": "e71a3d7fabe9", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-2:lifecycle-boundary", + "observation": { + "sender": "e71a3d7fabe9", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-2:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-2:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "c6178e6a0f4e", + "effects": "3fd4c6d2c2d9" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-2:lifecycle-boundary", + "observation": { + "sender": "ece0e400ef82", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-2:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-2:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "c6178e6a0f4e", + "effects": "3fd4c6d2c2d9" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-3:lifecycle-boundary", + "observation": { + "sender": "ece0e400ef82", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-3:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-3:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "c6178e6a0f4e", + "effects": "3fd4c6d2c2d9" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-3:lifecycle-boundary", + "observation": { + "sender": "693961f25be2", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-3:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-3:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "c6178e6a0f4e", + "effects": "3fd4c6d2c2d9" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-4:lifecycle-boundary", + "observation": { + "sender": "693961f25be2", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-4:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-4:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "c6178e6a0f4e", + "effects": "3fd4c6d2c2d9" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-4:lifecycle-boundary", + "observation": { + "sender": "ef23c7cad0d6", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-4:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-4:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "c6178e6a0f4e", + "effects": "3fd4c6d2c2d9" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-5:lifecycle-boundary", + "observation": { + "sender": "ef23c7cad0d6", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-5:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-before-5:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "c6178e6a0f4e", + "effects": "3fd4c6d2c2d9" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-5:lifecycle-boundary", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "58c52d8b7c76", + "effects": "8574a5791dce" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-5:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "f7efecfbed85", + "state": "58c52d8b7c76", + "effects": "8574a5791dce" + } + }, + { + "id": "settings-task-hydration-fulfilled.unmount-after-5:remounted", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "0622544ec536", + "state": "1825a87a7ca8", + "effects": "25ff3ce217de" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/lifecycle-settings-workspace-context-fulfilled.json b/mobile/rpc-foundation/goldens/lifecycle-settings-workspace-context-fulfilled.json new file mode 100644 index 00000000000..fbe3dc01917 --- /dev/null +++ b/mobile/rpc-foundation/goldens/lifecycle-settings-workspace-context-fulfilled.json @@ -0,0 +1,1444 @@ +{ + "operation": "settings.workspace-context", + "family": "settings.workspace-context", + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0622544ec536": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "remount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "093a51a3d76e": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "20d650b20730": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-blur": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "2a7485a88169": { + "providers": ["github"], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "trust": {} + }, + "2d2b2b78a6fc": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4f53cda18c2b": [], + "60fdc69b3ee5": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#2", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "7076fb41232c": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7d7f0d2cb674": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#2", + "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7e236d701bd4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "8a63b85fee0c": { + "providers": [], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "trust": {} + }, + "b6262011bf13": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "edae57429e34": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f6a09f8c5b85": { + "providers": [], + "settings": { + "$rpc": "null" + }, + "trust": {} + }, + "f7efecfbed85": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "lifecycle-unmount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + } + }, + "recording": { + "scenario": "lifecycle-settings-workspace-context-fulfilled", + "checkpoints": [ + { + "id": "settings-workspace-context-fulfilled.prelude:settings-pending", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-1:lifecycle-boundary", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-1:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-1:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-1:lifecycle-boundary", + "observation": { + "sender": "2d2b2b78a6fc", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-1:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-1:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-2:lifecycle-boundary", + "observation": { + "sender": "2d2b2b78a6fc", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-2:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-2:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-2:lifecycle-boundary", + "observation": { + "sender": "b6262011bf13", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-2:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-2:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-3:lifecycle-boundary", + "observation": { + "sender": "b6262011bf13", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-3:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-3:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-3:lifecycle-boundary", + "observation": { + "sender": "093a51a3d76e", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-3:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-3:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-4:lifecycle-boundary", + "observation": { + "sender": "093a51a3d76e", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-4:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-before-4:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-4:lifecycle-boundary", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-4:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "f7efecfbed85", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.unmount-after-4:remounted", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "0622544ec536", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-1:lifecycle-boundary", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-1:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-1:lifecycle-boundary", + "observation": { + "sender": "2d2b2b78a6fc", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-1:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-2:lifecycle-boundary", + "observation": { + "sender": "2d2b2b78a6fc", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-2:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-2:lifecycle-boundary", + "observation": { + "sender": "b6262011bf13", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-2:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-3:lifecycle-boundary", + "observation": { + "sender": "b6262011bf13", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-3:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-3:lifecycle-boundary", + "observation": { + "sender": "093a51a3d76e", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-3:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-4:lifecycle-boundary", + "observation": { + "sender": "093a51a3d76e", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-before-4:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "8a63b85fee0c", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-4:lifecycle-boundary", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.blur-after-4:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "20d650b20730", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-legacy-inventory.json b/mobile/rpc-foundation/goldens/matrix-legacy-inventory.json new file mode 100644 index 00000000000..2eef55c749e --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-legacy-inventory.json @@ -0,0 +1,1785 @@ +{ + "operation": "workspace.file-inventory", + "family": "legacy-inventory", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0a3be69f9399": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "files": [ + { + "relativePath": "third.ts" + } + ] + } + } + } + } + ], + "305c86832cd8": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3390ae6d62f2": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 240 + } + } + ], + "35af95861be6": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "select-b": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "reset-a": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "fresh": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + } + }, + "4f53cda18c2b": [], + "503748c2080e": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 240, + "settledAt": 360, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + } + ], + "5386959d4549": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "old": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "select-b": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "reset-a": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "fresh": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "$rpc": "undefined" + } + }, + "third": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "$rpc": "undefined" + } + } + }, + "602e35a92eec": { + "files": [] + }, + "669922ce9786": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-4", + "ok": false + } + } + } + ], + "6713de8f80d3": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + }, + { + "name": "files.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + } + ], + "704590c6cdbf": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + } + ], + "872323868410": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "id": "frame-4", + "ok": true + } + } + } + ], + "9263e4ff521c": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + } + ], + "97ccce4248eb": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 120 + } + } + ], + "a129552fdc6e": { + "files": ["third.ts"] + }, + "a2895aaf51be": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + } + ], + "ad0f58f0684c": [ + { + "name": "files.searchPaths#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}" + }, + { + "name": "files.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + }, + { + "name": "files.searchPaths#2", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"fresh\",\"limit\":16}}" + }, + { + "name": "files.list#2", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}" + } + ], + "b3b91a2d6c56": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "error": "refused" + } + } + } + } + ], + "d99de913c78a": [ + { + "name": "files.searchPaths#1", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "old", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 120, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "files.list#1", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 120, + "settledAt": 240, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + } + }, + { + "name": "files.searchPaths#2", + "args": [ + { + "name": "method", + "value": "files.searchPaths" + }, + { + "name": "params", + "value": { + "limit": 16, + "query": "fresh", + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 240, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "files.list#2", + "args": [ + { + "name": "method", + "value": "files.list" + }, + { + "name": "params", + "value": { + "worktree": "id:A" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 240, + "settledAt": 360, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-4", + "ok": false + } + } + } + ] + }, + "recording": { + "scenario": "matrix-legacy-inventory", + "checkpoints": [ + { + "id": "b1.prelude:old-pending", + "observation": { + "sender": "97ccce4248eb", + "payloads": "6713de8f80d3", + "settlements": "305c86832cd8", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.prelude:stale-arrived-fresh-pending", + "observation": { + "sender": "3390ae6d62f2", + "payloads": "ad0f58f0684c", + "settlements": "35af95861be6", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.prelude:third-query", + "observation": { + "sender": "3390ae6d62f2", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.normal:fresh-arrived", + "observation": { + "sender": "0a3be69f9399", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "a129552fdc6e", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.result-absent:fresh-arrived", + "observation": { + "sender": "872323868410", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.result-null:fresh-arrived", + "observation": { + "sender": "a2895aaf51be", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.inner-ok-missing:fresh-arrived", + "observation": { + "sender": "b3b91a2d6c56", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.inner-false-string-error:fresh-arrived", + "observation": { + "sender": "704590c6cdbf", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.inner-false-object-error:fresh-arrived", + "observation": { + "sender": "9263e4ff521c", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.outer-refused:fresh-arrived", + "observation": { + "sender": "d99de913c78a", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.method-not-found:fresh-arrived", + "observation": { + "sender": "669922ce9786", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + }, + { + "id": "b1.transport-rejection:fresh-arrived", + "observation": { + "sender": "503748c2080e", + "payloads": "ad0f58f0684c", + "settlements": "5386959d4549", + "state": "602e35a92eec", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-linear-detail-barrier.json b/mobile/rpc-foundation/goldens/matrix-linear-detail-barrier.json new file mode 100644 index 00000000000..80aaac19917 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-linear-detail-barrier.json @@ -0,0 +1,1547 @@ +{ + "operation": "linear.issue-detail", + "family": "linear-detail-barrier", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "06ac7de606b0": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "0b631657711f": [ + { + "name": "linear.getIssue#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + }, + { + "name": "linear.issueComments#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + } + ], + "0bacee1fd734": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "22fee85e951d": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "26c78123b573": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + } + ], + "41d671e5ddb5": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4209c465bb82": { + "error": "transport failure", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "42903545f0f8": { + "error": "comments transport error", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "4459d3293464": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "description": "recorded", + "id": "issue-1", + "labels": [], + "subIssues": [] + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "56347116b50e": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "6b339c91cb7a": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "description": "recorded", + "id": "issue-1", + "labels": [], + "subIssues": [] + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "6d65777cf6fe": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "comments transport error" + }, + { + "name": "detailLoading", + "value": false + } + ], + "780aaf1d97be": { + "error": "", + "loading": true, + "payload": { + "$rpc": "null" + } + }, + "79c413f4eb2f": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "8e4ec646fe68": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "91ecf3840376": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "a1fe2909ee2d": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "be20443fa8ea": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "c54f044b3646": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "c87738a469b5": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "d32256097c5b": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "transport failure" + }, + { + "name": "detailLoading", + "value": false + } + ], + "d506d2297694": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "e1b67946d177": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "ea6e0a4be08b": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "fc7910387ac9": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "ff6ab6813ba1": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ] + }, + "recording": { + "scenario": "matrix-linear-detail-barrier", + "checkpoints": [ + { + "id": "b3.prelude:pending", + "observation": { + "sender": "fc7910387ac9", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.normal:issue-refused-comments-pending", + "observation": { + "sender": "4459d3293464", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.normal:settled", + "observation": { + "sender": "6b339c91cb7a", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.result-absent:issue-refused-comments-pending", + "observation": { + "sender": "22fee85e951d", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.result-absent:settled", + "observation": { + "sender": "ff6ab6813ba1", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.result-null:issue-refused-comments-pending", + "observation": { + "sender": "d506d2297694", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.result-null:settled", + "observation": { + "sender": "8e4ec646fe68", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.inner-ok-missing:issue-refused-comments-pending", + "observation": { + "sender": "79c413f4eb2f", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.inner-ok-missing:settled", + "observation": { + "sender": "a1fe2909ee2d", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.inner-false-string-error:issue-refused-comments-pending", + "observation": { + "sender": "ea6e0a4be08b", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.inner-false-string-error:settled", + "observation": { + "sender": "06ac7de606b0", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.inner-false-object-error:issue-refused-comments-pending", + "observation": { + "sender": "91ecf3840376", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.inner-false-object-error:settled", + "observation": { + "sender": "0bacee1fd734", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.outer-refused:issue-refused-comments-pending", + "observation": { + "sender": "41d671e5ddb5", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.outer-refused:settled", + "observation": { + "sender": "c87738a469b5", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.method-not-found:issue-refused-comments-pending", + "observation": { + "sender": "e1b67946d177", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.method-not-found:settled", + "observation": { + "sender": "be20443fa8ea", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.transport-rejection:issue-refused-comments-pending", + "observation": { + "sender": "56347116b50e", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "4209c465bb82", + "effects": "d32256097c5b" + } + }, + { + "id": "b3.transport-rejection:settled", + "observation": { + "sender": "c54f044b3646", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "4209c465bb82", + "effects": "d32256097c5b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-project-explicit-false.json b/mobile/rpc-foundation/goldens/matrix-project-explicit-false.json new file mode 100644 index 00000000000..d8c8b900b3d --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-project-explicit-false.json @@ -0,0 +1,915 @@ +{ + "operation": "project.update-metadata", + "family": "project-explicit-false", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0318f81a142b": [ + { + "name": "github.project.updateIssueBySlug#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"github.project.updateIssueBySlug\",\"params\":{\"owner\":\"owner\",\"repo\":\"repo\",\"host\":\"github.enterprise.test\",\"number\":1,\"updates\":{\"addLabels\":[\"recorded\"]}}}" + } + ], + "0af9e441da2d": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "Failed to update GitHub item" + }, + { + "name": "projectMutating", + "value": false + } + ], + "0c4dced3e005": { + "error": "", + "mutating": true, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "15516afe97e7": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "204a5c5728c2": { + "error": "Cannot read properties of null (reading 'ok')", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "22021a77bba3": { + "error": "Unknown method", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "26facd6684ea": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + } + ], + "29f9b15bed7a": { + "error": "Cannot read properties of undefined (reading 'ok')", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "2b3c1b95331e": { + "error": "outer refused", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "2d4bb5e23b2b": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "Cannot read properties of undefined (reading 'ok')" + }, + { + "name": "projectMutating", + "value": false + } + ], + "32cc1f3ceec8": { + "error": "inner refused", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "341bf4999ec7": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + } + ], + "3b9a7724526d": [ + { + "name": "projectMutating", + "value": true + } + ], + "572294a588f2": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "outer refused" + }, + { + "name": "projectMutating", + "value": false + } + ], + "5ea692508d69": { + "error": "transport failure", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "602c739007cd": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "Connection closed" + }, + { + "name": "projectMutating", + "value": false + } + ], + "699c2c3a725a": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7000538c4980": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + } + ], + "7df10429e862": { + "error": "", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [ + { + "color": "808080", + "name": "recorded" + } + ], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "7e11552b02fa": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + } + ], + "8bb949ebd8c5": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "8f4cdf6e9ea3": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + } + ], + "9033c0d7d9eb": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "Unknown method" + }, + { + "name": "projectMutating", + "value": false + } + ], + "9c6bc085b45b": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowItem", + "value": { + "content": { + "assignees": [], + "labels": [ + { + "color": "808080", + "name": "recorded" + } + ], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + { + "name": "githubProjectTable", + "value": { + "rows": [ + { + "content": { + "assignees": [], + "labels": [ + { + "color": "808080", + "name": "recorded" + } + ], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + ] + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectMutating", + "value": false + } + ], + "9cf0630c4079": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "ok": true + } + } + } + } + ], + "c679565dc881": { + "error": "Failed to update GitHub item", + "mutating": false, + "row": { + "content": { + "assignees": [], + "labels": [], + "number": 1, + "repository": "owner/repo" + }, + "id": "item-1", + "itemType": "ISSUE" + } + }, + "c7c7fd6677d0": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "c7e42c33f7cc": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "inner refused" + }, + { + "name": "projectMutating", + "value": false + } + ], + "c7ff11bf23e1": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "transport failure" + }, + { + "name": "projectMutating", + "value": false + } + ], + "dd1ba4033a27": [ + { + "name": "projectMutating", + "value": true + }, + { + "name": "projectRowDetailError", + "value": "Cannot read properties of null (reading 'ok')" + }, + { + "name": "projectMutating", + "value": false + } + ], + "ed0dd90e4fa1": [ + { + "name": "github.project.updateIssueBySlug#1", + "args": [ + { + "name": "method", + "value": "github.project.updateIssueBySlug" + }, + { + "name": "params", + "value": { + "host": "github.enterprise.test", + "number": 1, + "owner": "owner", + "repo": "repo", + "updates": { + "addLabels": ["recorded"] + } + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + } + ], + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "matrix-project-explicit-false", + "checkpoints": [ + { + "id": "b2.prelude:pending", + "observation": { + "sender": "15516afe97e7", + "payloads": "0318f81a142b", + "settlements": "f117d93cf44a", + "state": "0c4dced3e005", + "effects": "3b9a7724526d" + } + }, + { + "id": "b2.prelude:cleanup", + "observation": { + "sender": "699c2c3a725a", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "0c4dced3e005", + "effects": "602c739007cd" + } + }, + { + "id": "b2.normal:settled", + "observation": { + "sender": "9cf0630c4079", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "7df10429e862", + "effects": "9c6bc085b45b" + } + }, + { + "id": "b2.result-absent:settled", + "observation": { + "sender": "8f4cdf6e9ea3", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "29f9b15bed7a", + "effects": "2d4bb5e23b2b" + } + }, + { + "id": "b2.result-null:settled", + "observation": { + "sender": "7e11552b02fa", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "204a5c5728c2", + "effects": "dd1ba4033a27" + } + }, + { + "id": "b2.inner-ok-missing:settled", + "observation": { + "sender": "7000538c4980", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "7df10429e862", + "effects": "9c6bc085b45b" + } + }, + { + "id": "b2.inner-false-string-error:settled", + "observation": { + "sender": "341bf4999ec7", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "c679565dc881", + "effects": "0af9e441da2d" + } + }, + { + "id": "b2.inner-false-object-error:settled", + "observation": { + "sender": "26facd6684ea", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "32cc1f3ceec8", + "effects": "c7e42c33f7cc" + } + }, + { + "id": "b2.outer-refused:settled", + "observation": { + "sender": "c7c7fd6677d0", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "2b3c1b95331e", + "effects": "572294a588f2" + } + }, + { + "id": "b2.method-not-found:settled", + "observation": { + "sender": "8bb949ebd8c5", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "22021a77bba3", + "effects": "9033c0d7d9eb" + } + }, + { + "id": "b2.transport-rejection:settled", + "observation": { + "sender": "ed0dd90e4fa1", + "payloads": "0318f81a142b", + "settlements": "6dfef4ef572b", + "state": "5ea692508d69", + "effects": "c7ff11bf23e1" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings-agent-read.json b/mobile/rpc-foundation/goldens/matrix-settings-agent-read.json new file mode 100644 index 00000000000..7d25a4a4ae9 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings-agent-read.json @@ -0,0 +1,1246 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "01f870ebca30": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "14dfe9dcf7ac": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "2e619bc93ff5": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "53c0d711b3b1": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + "53d4af0ebef0": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "5dd334d8e3a2": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "62f9b0245c5d": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "745cabcc39bc": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "outer refused", + "isRpcDeliveryUnknown": false + } + } + }, + "87e67d23b91d": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "TypeError", + "message": "Cannot read properties of undefined (reading 'settings')", + "isRpcDeliveryUnknown": false + } + } + }, + "a589d29c3d86": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": [ + { + "agent": "claude", + "label": "Claude" + }, + { + "agent": "codex", + "label": "Codex" + } + ] + } + }, + "af415469fd8d": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "b32c25e899be": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": [ + { + "agent": "codex", + "label": "Codex" + } + ] + } + }, + "ca9a08d11780": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "d7d54028020d": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "TypeError", + "message": "Cannot read properties of null (reading 'settings')", + "isRpcDeliveryUnknown": false + } + } + }, + "f044f1381dbf": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Unknown method", + "isRpcDeliveryUnknown": false + } + } + }, + "f897165ab180": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-2", + "ok": false + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ] + }, + "recording": { + "scenario": "matrix-settings-agent-read", + "checkpoints": [ + { + "id": "settings-new-tab-ssh.prelude:pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.normal:settled", + "observation": { + "sender": "5dd334d8e3a2", + "payloads": "503a535a0cd0", + "settlements": "b32c25e899be", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.result-absent:settled", + "observation": { + "sender": "01f870ebca30", + "payloads": "503a535a0cd0", + "settlements": "87e67d23b91d", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.result-null:settled", + "observation": { + "sender": "ca9a08d11780", + "payloads": "503a535a0cd0", + "settlements": "d7d54028020d", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.inner-ok-missing:settled", + "observation": { + "sender": "14dfe9dcf7ac", + "payloads": "503a535a0cd0", + "settlements": "a589d29c3d86", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.inner-false-string-error:settled", + "observation": { + "sender": "62f9b0245c5d", + "payloads": "503a535a0cd0", + "settlements": "a589d29c3d86", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.inner-false-object-error:settled", + "observation": { + "sender": "53d4af0ebef0", + "payloads": "503a535a0cd0", + "settlements": "a589d29c3d86", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.outer-refused:settled", + "observation": { + "sender": "f897165ab180", + "payloads": "503a535a0cd0", + "settlements": "745cabcc39bc", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.method-not-found:settled", + "observation": { + "sender": "af415469fd8d", + "payloads": "503a535a0cd0", + "settlements": "f044f1381dbf", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.transport-rejection:settled", + "observation": { + "sender": "2e619bc93ff5", + "payloads": "503a535a0cd0", + "settlements": "53c0d711b3b1", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings-best-effort.json b/mobile/rpc-foundation/goldens/matrix-settings-best-effort.json new file mode 100644 index 00000000000..c12a0601155 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings-best-effort.json @@ -0,0 +1,496 @@ +{ + "operation": "settings.task-preferences", + "family": "settings-best-effort", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "30dcc6c2791e": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + } + ], + "5db909d58c6f": { + "preset": "assigned" + }, + "86cae7d2eb05": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + } + ], + "9c7e0ecdf09b": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + } + ], + "a11ef678ac34": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "ok": true + } + } + } + } + ], + "a4cc6c82ee53": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "write": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "b26f6d594d62": [ + { + "name": "defaultGitHubPreset", + "value": "assigned" + } + ], + "c48c361670b0": [ + { + "name": "settings.update#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.update\",\"params\":{\"defaultTaskViewPreset\":\"assigned\"}}" + } + ], + "c8c488b25f28": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + } + ], + "de2d142b9c07": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "dfbe228314eb": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "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 + } + } + } + ], + "e02c44633084": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "e4c31c436812": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + } + ], + "fe2d291961f4": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "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 + } + } + } + } + ] + }, + "recording": { + "scenario": "matrix-settings-best-effort", + "checkpoints": [ + { + "id": "settings-task-write.prelude:optimistic", + "observation": { + "sender": "e02c44633084", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.normal:settled", + "observation": { + "sender": "a11ef678ac34", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.result-absent:settled", + "observation": { + "sender": "30dcc6c2791e", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.result-null:settled", + "observation": { + "sender": "c8c488b25f28", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.inner-ok-missing:settled", + "observation": { + "sender": "e4c31c436812", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.inner-false-string-error:settled", + "observation": { + "sender": "9c7e0ecdf09b", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.inner-false-object-error:settled", + "observation": { + "sender": "fe2d291961f4", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.outer-refused:settled", + "observation": { + "sender": "de2d142b9c07", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.method-not-found:settled", + "observation": { + "sender": "dfbe228314eb", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settings-task-write.transport-rejection:settled", + "observation": { + "sender": "86cae7d2eb05", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.bot-overrides.json b/mobile/rpc-foundation/goldens/matrix-settings.bot-overrides.json new file mode 100644 index 00000000000..5a6b7446347 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.bot-overrides.json @@ -0,0 +1,496 @@ +{ + "operation": "settings.bot-overrides", + "family": "settings.bot-overrides", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0c7c10d0f1d4": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "35364e9332cb": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + ], + "3c782ee7b9a5": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + } + ], + "41b24c27cb2d": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + } + ], + "4f53cda18c2b": [], + "5a6be9b97ba7": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + } + ], + "624fba4da33b": ["recorded-bot"], + "6435848e9b34": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + } + ], + "9c753d3a11f2": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + } + ], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "cd41018879b7": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "f60b502aa33d": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + } + ] + }, + "recording": { + "scenario": "matrix-settings.bot-overrides", + "checkpoints": [ + { + "id": "settings-bot-overrides-fulfilled.prelude:settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.normal:settled", + "observation": { + "sender": "9c753d3a11f2", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "624fba4da33b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.result-absent:settled", + "observation": { + "sender": "5a6be9b97ba7", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.result-null:settled", + "observation": { + "sender": "41b24c27cb2d", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "0c7c10d0f1d4", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "3c782ee7b9a5", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "6435848e9b34", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.outer-refused:settled", + "observation": { + "sender": "cd41018879b7", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.method-not-found:settled", + "observation": { + "sender": "35364e9332cb", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-bot-overrides-fulfilled.transport-rejection:settled", + "observation": { + "sender": "f60b502aa33d", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.home-providers.json b/mobile/rpc-foundation/goldens/matrix-settings.home-providers.json new file mode 100644 index 00000000000..f30f4879ba6 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.home-providers.json @@ -0,0 +1,1177 @@ +{ + "operation": "settings.home-providers", + "family": "settings.home-providers", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "12acf4c4a5fe": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "13d58e42ea1c": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "1f8a6cbcd93e": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "3c732ff4c1cc": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "40b162c1b21a": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "44136fa355b3": {}, + "48a7b8f82a20": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "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 + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "4900d1ca16fc": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "4af4478c9ff7": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "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 + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "4f53cda18c2b": [], + "50274b2889df": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "780ac4cd0c2f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "79b8c1b0d1d1": { + "host-1": ["github"] + }, + "7ce2f25d1362": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "f92025565519": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "fffe79429077": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ] + }, + "recording": { + "scenario": "matrix-settings.home-providers", + "checkpoints": [ + { + "id": "settings-home-providers-fulfilled.prelude:settings-pending", + "observation": { + "sender": "780ac4cd0c2f", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-home-providers-fulfilled.normal:settled", + "observation": { + "sender": "7ce2f25d1362", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.result-absent:settled", + "observation": { + "sender": "f92025565519", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.result-null:settled", + "observation": { + "sender": "fffe79429077", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "1f8a6cbcd93e", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "12acf4c4a5fe", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "48a7b8f82a20", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.outer-refused:settled", + "observation": { + "sender": "3c732ff4c1cc", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.method-not-found:settled", + "observation": { + "sender": "4af4478c9ff7", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.transport-rejection:settled", + "observation": { + "sender": "4900d1ca16fc", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.repo-metadata.json b/mobile/rpc-foundation/goldens/matrix-settings.repo-metadata.json new file mode 100644 index 00000000000..123969a2307 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.repo-metadata.json @@ -0,0 +1,1979 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "071880b671a1": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": "linux", + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "0837485f8127": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3d1e2998e81c": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "5253115f3df7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "564017ad6e41": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": { + "$rpc": "null" + } + } + ], + "6134b73f18d0": { + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "761c46565fca": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "7f26ac212cfb": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "83ef5f7039bf": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "99ae3bb2bccc": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "a41bafbceb66": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "b3120b1bb291": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "c16d6d4f8169": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "d86984df7ae5": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "dda2a4a55813": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "e91286279b33": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ec7bb9cef277": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ], + "ee11b2883633": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ] + }, + "recording": { + "scenario": "matrix-settings.repo-metadata", + "checkpoints": [ + { + "id": "settings-repo-metadata-fulfilled.prelude:settings-pending", + "observation": { + "sender": "0837485f8127", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settings-repo-metadata-fulfilled.prelude:cleanup", + "observation": { + "sender": "d86984df7ae5", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "6134b73f18d0", + "effects": "564017ad6e41" + } + }, + { + "id": "settings-repo-metadata-fulfilled.normal:settled", + "observation": { + "sender": "7f26ac212cfb", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.result-absent:settled", + "observation": { + "sender": "761c46565fca", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.result-null:settled", + "observation": { + "sender": "a41bafbceb66", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "5253115f3df7", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "c16d6d4f8169", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "b3120b1bb291", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.outer-refused:settled", + "observation": { + "sender": "99ae3bb2bccc", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.method-not-found:settled", + "observation": { + "sender": "dda2a4a55813", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.transport-rejection:settled", + "observation": { + "sender": "ee11b2883633", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.resume-metadata.json b/mobile/rpc-foundation/goldens/matrix-settings.resume-metadata.json new file mode 100644 index 00000000000..1ef12d48a13 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.resume-metadata.json @@ -0,0 +1,1865 @@ +{ + "operation": "settings.resume-metadata", + "family": "settings.resume-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "054256a485b9": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "1d038db50833": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "method_not_found", + "message": "Unknown method" + }, + "id": "frame-4", + "ok": false + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "1f0e36a0a4b5": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "240ff20b8a08": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "315be0bdeb87": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "error": { + "message": "inner refused" + }, + "ok": false + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "3b459ec36be9": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + }, + "worktrees": [] + } + } + }, + "44136fa355b3": {}, + "4ef7f873c93e": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": [] + } + } + }, + "4f53cda18c2b": [], + "808c2c00a156": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "836ae6d52a30": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "8497b4c38684": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "979c190bfe01": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + } + ], + "a0c6c67dc5dc": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "e20abf8f82dd": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-4", + "ok": false + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ] + }, + "recording": { + "scenario": "matrix-settings.resume-metadata", + "checkpoints": [ + { + "id": "settings-resume-metadata-fulfilled.prelude:settings-pending", + "observation": { + "sender": "1f0e36a0a4b5", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.normal:settled", + "observation": { + "sender": "836ae6d52a30", + "payloads": "979c190bfe01", + "settlements": "3b459ec36be9", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.result-absent:settled", + "observation": { + "sender": "054256a485b9", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.result-null:settled", + "observation": { + "sender": "808c2c00a156", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "240ff20b8a08", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "a0c6c67dc5dc", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "315be0bdeb87", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.outer-refused:settled", + "observation": { + "sender": "e20abf8f82dd", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.method-not-found:settled", + "observation": { + "sender": "1d038db50833", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.transport-rejection:settled", + "observation": { + "sender": "8497b4c38684", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.task-hydration.json b/mobile/rpc-foundation/goldens/matrix-settings.task-hydration.json new file mode 100644 index 00000000000..fef1db3a4de --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.task-hydration.json @@ -0,0 +1,3217 @@ +{ + "operation": "settings.task-hydration", + "family": "settings.task-hydration", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0fdc1eff756c": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "42a9fcde7c06": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "Cannot read properties of undefined (reading 'settings')" + }, + { + "name": "taskStateHydrated", + "value": false + } + ], + "4345d70c756e": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "43ec58eac575": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "Cannot read properties of null (reading 'settings')" + }, + { + "name": "taskStateHydrated", + "value": false + } + ], + "4938f7af0ad2": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "4f3bef981c44": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "71fb483bdd18": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "86956ff3c10b": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "8c9d20f37c09": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "91788ef43e61": { + "hydrated": true, + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + }, + "9188f452e9d7": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": {} + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "963a91c532c8": { + "hydrated": true, + "settings": {} + }, + "9af7a66f6898": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "b878001053f1": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "c3f33d88e338": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + } + ], + "c479baa4b17d": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": {} + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "c6178e6a0f4e": { + "hydrated": false, + "settings": {} + }, + "cd0427494b39": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-2", + "ok": false + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "e71a3d7fabe9": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "ef0a7060adef": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "transport failure" + }, + { + "name": "taskStateHydrated", + "value": false + } + ] + }, + "recording": { + "scenario": "matrix-settings.task-hydration", + "checkpoints": [ + { + "id": "settings-task-hydration-fulfilled.prelude:settings-pending", + "observation": { + "sender": "e71a3d7fabe9", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.normal:settled", + "observation": { + "sender": "8c9d20f37c09", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "91788ef43e61", + "effects": "9188f452e9d7" + } + }, + { + "id": "settings-task-hydration-fulfilled.result-absent:settled", + "observation": { + "sender": "71fb483bdd18", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "42a9fcde7c06" + } + }, + { + "id": "settings-task-hydration-fulfilled.result-null:settled", + "observation": { + "sender": "86956ff3c10b", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "43ec58eac575" + } + }, + { + "id": "settings-task-hydration-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "9af7a66f6898", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "963a91c532c8", + "effects": "c479baa4b17d" + } + }, + { + "id": "settings-task-hydration-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "4f3bef981c44", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "963a91c532c8", + "effects": "c479baa4b17d" + } + }, + { + "id": "settings-task-hydration-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "4938f7af0ad2", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "963a91c532c8", + "effects": "c479baa4b17d" + } + }, + { + "id": "settings-task-hydration-fulfilled.outer-refused:settled", + "observation": { + "sender": "cd0427494b39", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "963a91c532c8", + "effects": "c479baa4b17d" + } + }, + { + "id": "settings-task-hydration-fulfilled.method-not-found:settled", + "observation": { + "sender": "0fdc1eff756c", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "963a91c532c8", + "effects": "c479baa4b17d" + } + }, + { + "id": "settings-task-hydration-fulfilled.transport-rejection:settled", + "observation": { + "sender": "b878001053f1", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "ef0a7060adef" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.task-workspace.json b/mobile/rpc-foundation/goldens/matrix-settings.task-workspace.json new file mode 100644 index 00000000000..0f99d420035 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.task-workspace.json @@ -0,0 +1,725 @@ +{ + "operation": "settings.task-workspace", + "family": "settings.task-workspace", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0c7c10d0f1d4": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "235e65047685": { + "creating": { + "$rpc": "null" + }, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + }, + "236832733364": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + }, + { + "name": "workspaceAgent", + "value": "codex" + }, + { + "name": "workspaceAgentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + }, + { + "name": "creatingKey", + "value": { + "$rpc": "null" + } + } + ], + "290a60cb44eb": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + }, + { + "name": "workspaceAgent", + "value": "codex" + }, + { + "name": "workspaceAgentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + }, + { + "name": "creatingKey", + "value": { + "$rpc": "null" + } + } + ], + "35364e9332cb": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + ], + "3c782ee7b9a5": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + } + ], + "41b24c27cb2d": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + } + ], + "5a6be9b97ba7": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + } + ], + "6435848e9b34": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + } + ], + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7abdfe20af50": { + "creating": "linear:1", + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "9c753d3a11f2": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + } + ], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "adec34c2065c": { + "creating": { + "$rpc": "null" + }, + "error": "", + "settings": {} + }, + "b05ebf557542": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + } + ], + "b4ddfb3cab99": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": {} + }, + { + "name": "setupPrompt", + "value": { + "agentOverride": "claude", + "command": "setup", + "item": { + "key": "linear:1", + "provider": "linear", + "source": { + "id": "issue-1" + } + }, + "repoName": "Repo", + "source": "repo" + } + }, + { + "name": "creatingKey", + "value": { + "$rpc": "null" + } + } + ], + "cd41018879b7": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "d0feb81f9400": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "d5df3f6b123a": { + "creating": { + "$rpc": "null" + }, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + }, + "f60b502aa33d": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + } + ] + }, + "recording": { + "scenario": "matrix-settings.task-workspace", + "checkpoints": [ + { + "id": "settings-task-workspace-fulfilled.prelude:settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "7abdfe20af50", + "effects": "b05ebf557542" + } + }, + { + "id": "settings-task-workspace-fulfilled.prelude:cleanup", + "observation": { + "sender": "d0feb81f9400", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "7abdfe20af50", + "effects": "236832733364" + } + }, + { + "id": "settings-task-workspace-fulfilled.normal:settled", + "observation": { + "sender": "9c753d3a11f2", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "235e65047685", + "effects": "290a60cb44eb" + } + }, + { + "id": "settings-task-workspace-fulfilled.result-absent:settled", + "observation": { + "sender": "5a6be9b97ba7", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "d5df3f6b123a", + "effects": "236832733364" + } + }, + { + "id": "settings-task-workspace-fulfilled.result-null:settled", + "observation": { + "sender": "41b24c27cb2d", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "d5df3f6b123a", + "effects": "236832733364" + } + }, + { + "id": "settings-task-workspace-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "0c7c10d0f1d4", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "adec34c2065c", + "effects": "b4ddfb3cab99" + } + }, + { + "id": "settings-task-workspace-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "3c782ee7b9a5", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "adec34c2065c", + "effects": "b4ddfb3cab99" + } + }, + { + "id": "settings-task-workspace-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "6435848e9b34", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "adec34c2065c", + "effects": "b4ddfb3cab99" + } + }, + { + "id": "settings-task-workspace-fulfilled.outer-refused:settled", + "observation": { + "sender": "cd41018879b7", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "d5df3f6b123a", + "effects": "236832733364" + } + }, + { + "id": "settings-task-workspace-fulfilled.method-not-found:settled", + "observation": { + "sender": "35364e9332cb", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "d5df3f6b123a", + "effects": "236832733364" + } + }, + { + "id": "settings-task-workspace-fulfilled.transport-rejection:settled", + "observation": { + "sender": "f60b502aa33d", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "d5df3f6b123a", + "effects": "236832733364" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.workspace-context.json b/mobile/rpc-foundation/goldens/matrix-settings.workspace-context.json new file mode 100644 index 00000000000..1168087cdc0 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.workspace-context.json @@ -0,0 +1,1545 @@ +{ + "operation": "settings.workspace-context", + "family": "settings.workspace-context", + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "05a3907fc57c": [ + { + "name": "unhandled-rejection", + "value": { + "category": "TypeError", + "isRpcDeliveryUnknown": false, + "message": "Cannot read properties of undefined (reading 'settings')" + } + } + ], + "07dbd26a6b6d": { + "providers": ["github"], + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + }, + "trust": {} + }, + "15f4a9e72fac": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "1897d766b8c3": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "325b2edaa7ef": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "3576d57d5781": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "3a834cb85dd8": { + "providers": ["github"], + "settings": { + "$rpc": "null" + }, + "trust": {} + }, + "4f53cda18c2b": [], + "7076fb41232c": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7e236d701bd4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "86d603e18680": [ + { + "name": "unhandled-rejection", + "value": { + "category": "TypeError", + "isRpcDeliveryUnknown": false, + "message": "Cannot read properties of null (reading 'settings')" + } + } + ], + "a83fbca4ceba": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "aaedee00559f": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "c86883087001": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "ce2e3297d3b7": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f0339fb06e98": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f6a09f8c5b85": { + "providers": [], + "settings": { + "$rpc": "null" + }, + "trust": {} + } + }, + "recording": { + "scenario": "matrix-settings.workspace-context", + "checkpoints": [ + { + "id": "settings-workspace-context-fulfilled.prelude:settings-pending", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.normal:settled", + "observation": { + "sender": "3576d57d5781", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "07dbd26a6b6d", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.result-absent:settled", + "observation": { + "sender": "c86883087001", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "05a3907fc57c" + } + }, + { + "id": "settings-workspace-context-fulfilled.result-null:settled", + "observation": { + "sender": "1897d766b8c3", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "86d603e18680" + } + }, + { + "id": "settings-workspace-context-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "a83fbca4ceba", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "aaedee00559f", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "ce2e3297d3b7", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.outer-refused:settled", + "observation": { + "sender": "15f4a9e72fac", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.method-not-found:settled", + "observation": { + "sender": "325b2edaa7ef", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.transport-rejection:settled", + "observation": { + "sender": "f0339fb06e98", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/matrix-settings.workspace-submit.json b/mobile/rpc-foundation/goldens/matrix-settings.workspace-submit.json new file mode 100644 index 00000000000..58c3ecf4ff3 --- /dev/null +++ b/mobile/rpc-foundation/goldens/matrix-settings.workspace-submit.json @@ -0,0 +1,1048 @@ +{ + "operation": "settings.workspace-submit", + "family": "settings.workspace-submit", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0e315dbfe7a8": [ + { + "name": "error", + "value": "" + }, + { + "name": "selectedAgent", + "value": { + "id": "codex", + "label": "Codex" + } + }, + { + "name": "agentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + } + ], + "13c996e4ec2b": { + "creating": true, + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "19c5a22f57c5": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "worktree.create#1", + "args": [ + { + "name": "method", + "value": "worktree.create" + }, + { + "name": "params", + "value": { + "createdWithAgent": "claude", + "displayName": "recorded", + "displayNameKind": "user", + "name": "recorded", + "repo": "id:repo-1", + "setupDecision": "inherit", + "startupAgent": "claude" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 600000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "20a67073e822": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.create#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.create\",\"params\":{\"repo\":\"id:repo-1\",\"setupDecision\":\"inherit\",\"name\":\"recorded\",\"displayName\":\"recorded\",\"displayNameKind\":\"user\",\"startupAgent\":\"claude\",\"createdWithAgent\":\"claude\"}}" + } + ], + "2e8e352c8dd1": { + "creating": false, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "35364e9332cb": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + ], + "41b24c27cb2d": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + } + ], + "450706871c5d": [ + { + "name": "error", + "value": "" + }, + { + "name": "runtimeSettings", + "value": { + "$rpc": "undefined" + } + } + ], + "4d460234095c": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + }, + { + "name": "worktree.create#1", + "args": [ + { + "name": "method", + "value": "worktree.create" + }, + { + "name": "params", + "value": { + "createdWithAgent": "claude", + "displayName": "recorded", + "displayNameKind": "user", + "name": "recorded", + "repo": "id:repo-1", + "setupDecision": "inherit", + "startupAgent": "claude" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 600000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "5a6be9b97ba7": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true + } + } + } + ], + "6a24a7e95a3d": [ + { + "name": "error", + "value": "" + }, + { + "name": "runtimeSettings", + "value": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + }, + { + "name": "selectedAgent", + "value": { + "id": "codex", + "label": "Codex" + } + }, + { + "name": "agentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + } + ], + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7b1c9637063f": { + "creating": true, + "error": "", + "settings": { + "$rpc": "undefined" + } + }, + "7d3f625823b0": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "refused" + } + } + } + }, + { + "name": "worktree.create#1", + "args": [ + { + "name": "method", + "value": "worktree.create" + }, + { + "name": "params", + "value": { + "createdWithAgent": "claude", + "displayName": "recorded", + "displayNameKind": "user", + "name": "recorded", + "repo": "id:repo-1", + "setupDecision": "inherit", + "startupAgent": "claude" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 600000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "804e01fabd3a": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "worktree.create#1", + "args": [ + { + "name": "method", + "value": "worktree.create" + }, + { + "name": "params", + "value": { + "createdWithAgent": "claude", + "displayName": "recorded", + "displayNameKind": "user", + "name": "recorded", + "repo": "id:repo-1", + "setupDecision": "inherit", + "startupAgent": "claude" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 600000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "979a2540cb0d": [ + { + "name": "error", + "value": "" + }, + { + "name": "runtimeSettings", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "error", + "value": "Connection closed" + } + ], + "9c753d3a11f2": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + } + } + } + } + ], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "b5bca9fe006b": { + "creating": false, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "defaultLinearTeamSelection": { + "$rpc": "null" + }, + "defaultRepoSelection": { + "$rpc": "null" + }, + "defaultTaskSource": "github", + "defaultTaskViewPreset": "all", + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "githubProjects": {}, + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["recorded-bot"], + "visibleTaskProviders": ["github"] + } + }, + "c0cb3df4feef": [ + { + "name": "error", + "value": "" + } + ], + "cd41018879b7": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "outer refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "d0feb81f9400": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "e0e544213c3c": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "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 + } + } + } + }, + { + "name": "worktree.create#1", + "args": [ + { + "name": "method", + "value": "worktree.create" + }, + { + "name": "params", + "value": { + "createdWithAgent": "claude", + "displayName": "recorded", + "displayNameKind": "user", + "name": "recorded", + "repo": "id:repo-1", + "setupDecision": "inherit", + "startupAgent": "claude" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 600000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + }, + "f60b502aa33d": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "transport failure", + "isRpcDeliveryUnknown": true + } + } + } + ], + "fa75111ee066": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "error": "inner refused", + "ok": false + } + } + } + }, + { + "name": "worktree.create#1", + "args": [ + { + "name": "method", + "value": "worktree.create" + }, + { + "name": "params", + "value": { + "createdWithAgent": "claude", + "displayName": "recorded", + "displayNameKind": "user", + "name": "recorded", + "repo": "id:repo-1", + "setupDecision": "inherit", + "startupAgent": "claude" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 600000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "matrix-settings.workspace-submit", + "checkpoints": [ + { + "id": "settings-workspace-submit-fulfilled.prelude:settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "13c996e4ec2b", + "effects": "c0cb3df4feef" + } + }, + { + "id": "settings-workspace-submit-fulfilled.prelude:cleanup", + "observation": { + "sender": "d0feb81f9400", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "13c996e4ec2b", + "effects": "0e315dbfe7a8" + } + }, + { + "id": "settings-workspace-submit-fulfilled.normal:settled", + "observation": { + "sender": "9c753d3a11f2", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "b5bca9fe006b", + "effects": "6a24a7e95a3d" + } + }, + { + "id": "settings-workspace-submit-fulfilled.result-absent:settled", + "observation": { + "sender": "5a6be9b97ba7", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "2e8e352c8dd1", + "effects": "0e315dbfe7a8" + } + }, + { + "id": "settings-workspace-submit-fulfilled.result-null:settled", + "observation": { + "sender": "41b24c27cb2d", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "2e8e352c8dd1", + "effects": "0e315dbfe7a8" + } + }, + { + "id": "settings-workspace-submit-fulfilled.inner-ok-missing:settled", + "observation": { + "sender": "19c5a22f57c5", + "payloads": "20a67073e822", + "settlements": "f117d93cf44a", + "state": "7b1c9637063f", + "effects": "450706871c5d" + } + }, + { + "id": "settings-workspace-submit-fulfilled.inner-ok-missing:cleanup", + "observation": { + "sender": "7d3f625823b0", + "payloads": "20a67073e822", + "settlements": "6dfef4ef572b", + "state": "7b1c9637063f", + "effects": "979a2540cb0d" + } + }, + { + "id": "settings-workspace-submit-fulfilled.inner-false-string-error:settled", + "observation": { + "sender": "fa75111ee066", + "payloads": "20a67073e822", + "settlements": "f117d93cf44a", + "state": "7b1c9637063f", + "effects": "450706871c5d" + } + }, + { + "id": "settings-workspace-submit-fulfilled.inner-false-string-error:cleanup", + "observation": { + "sender": "804e01fabd3a", + "payloads": "20a67073e822", + "settlements": "6dfef4ef572b", + "state": "7b1c9637063f", + "effects": "979a2540cb0d" + } + }, + { + "id": "settings-workspace-submit-fulfilled.inner-false-object-error:settled", + "observation": { + "sender": "4d460234095c", + "payloads": "20a67073e822", + "settlements": "f117d93cf44a", + "state": "7b1c9637063f", + "effects": "450706871c5d" + } + }, + { + "id": "settings-workspace-submit-fulfilled.inner-false-object-error:cleanup", + "observation": { + "sender": "e0e544213c3c", + "payloads": "20a67073e822", + "settlements": "6dfef4ef572b", + "state": "7b1c9637063f", + "effects": "979a2540cb0d" + } + }, + { + "id": "settings-workspace-submit-fulfilled.outer-refused:settled", + "observation": { + "sender": "cd41018879b7", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "2e8e352c8dd1", + "effects": "0e315dbfe7a8" + } + }, + { + "id": "settings-workspace-submit-fulfilled.method-not-found:settled", + "observation": { + "sender": "35364e9332cb", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "2e8e352c8dd1", + "effects": "0e315dbfe7a8" + } + }, + { + "id": "settings-workspace-submit-fulfilled.transport-rejection:settled", + "observation": { + "sender": "f60b502aa33d", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "2e8e352c8dd1", + "effects": "0e315dbfe7a8" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/probe-new-tab-both-refused.json b/mobile/rpc-foundation/goldens/probe-new-tab-both-refused.json new file mode 100644 index 00000000000..5fbdf03a794 --- /dev/null +++ b/mobile/rpc-foundation/goldens/probe-new-tab-both-refused.json @@ -0,0 +1,244 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "227b6af1aa2d": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-2", + "ok": false + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "agents refused" + }, + "id": "frame-3", + "ok": false + } + } + } + ], + "274355646d54": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings refused", + "isRpcDeliveryUnknown": false + } + } + }, + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "probe-new-tab-both-refused", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "227b6af1aa2d", + "payloads": "503a535a0cd0", + "settlements": "274355646d54", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/probe-new-tab-null-sibling-refused.json b/mobile/rpc-foundation/goldens/probe-new-tab-null-sibling-refused.json new file mode 100644 index 00000000000..f429e95c568 --- /dev/null +++ b/mobile/rpc-foundation/goldens/probe-new-tab-null-sibling-refused.json @@ -0,0 +1,243 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0b6f5724327e": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "$rpc": "null" + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "agents refused" + }, + "id": "frame-3", + "ok": false + } + } + } + ], + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "b2ed82397ed2": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "agents refused", + "isRpcDeliveryUnknown": false + } + } + } + }, + "recording": { + "scenario": "probe-new-tab-null-sibling-refused", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "0b6f5724327e", + "payloads": "503a535a0cd0", + "settlements": "b2ed82397ed2", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/probe-new-tab-refused-sibling-rejects.json b/mobile/rpc-foundation/goldens/probe-new-tab-refused-sibling-rejects.json new file mode 100644 index 00000000000..a0fd3b26d17 --- /dev/null +++ b/mobile/rpc-foundation/goldens/probe-new-tab-refused-sibling-rejects.json @@ -0,0 +1,241 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "6eae545ef4a0": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "agents disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + "98f2d44e2e10": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-2", + "ok": false + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "agents disconnected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "probe-new-tab-refused-sibling-rejects", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "98f2d44e2e10", + "payloads": "503a535a0cd0", + "settlements": "6eae545ef4a0", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/probe-new-tab-rejects-sibling-refused.json b/mobile/rpc-foundation/goldens/probe-new-tab-rejects-sibling-refused.json new file mode 100644 index 00000000000..53bb06cae5b --- /dev/null +++ b/mobile/rpc-foundation/goldens/probe-new-tab-rejects-sibling-refused.json @@ -0,0 +1,241 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ddae1d634b3e": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + "fc4b6e5f9239": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "agents refused" + }, + "id": "frame-3", + "ok": false + } + } + } + ] + }, + "recording": { + "scenario": "probe-new-tab-rejects-sibling-refused", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "fc4b6e5f9239", + "payloads": "503a535a0cd0", + "settlements": "ddae1d634b3e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/schedules-b3.json b/mobile/rpc-foundation/goldens/schedules-b3.json new file mode 100644 index 00000000000..d99eadb3bd7 --- /dev/null +++ b/mobile/rpc-foundation/goldens/schedules-b3.json @@ -0,0 +1,1001 @@ +{ + "operation": "linear.issue-detail", + "family": "linear-detail-barrier", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "0b631657711f": [ + { + "name": "linear.getIssue#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + }, + { + "name": "linear.issueComments#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}" + } + ], + "24f3de063dfd": { + "error": "linear.issueComments#1 rejected", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "26c78123b573": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + } + ], + "2852f47712e0": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "Request timed out: linear.getIssue" + }, + { + "name": "detailLoading", + "value": false + } + ], + "3ab28be1560f": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "linear.getIssue#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "linear.issueComments#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "3edc657e906b": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "linear.issueComments#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "42903545f0f8": { + "error": "comments transport error", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "4be41ba84e00": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "606c2767b466": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ], + "68d958edb978": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "6c671f71ee89": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "Connection lost" + }, + { + "name": "detailLoading", + "value": false + } + ], + "6d65777cf6fe": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "comments transport error" + }, + { + "name": "detailLoading", + "value": false + } + ], + "77571e1166d2": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "780aaf1d97be": { + "error": "", + "loading": true, + "payload": { + "$rpc": "null" + } + }, + "88573133f7d5": { + "error": "RPC interrupted by connection migration", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "8ba072374c63": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: linear.getIssue", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: linear.issueComments", + "isRpcDeliveryUnknown": true + } + } + } + ], + "8df6a469391c": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "a778223fed77": { + "error": "linear.getIssue#1 rejected", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "b4cf0b80bf2a": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "linear.issueComments#1 rejected" + }, + { + "name": "detailLoading", + "value": false + } + ], + "b9b67d6bf2bb": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "cbf28b66143a": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "RPC interrupted by connection migration" + }, + { + "name": "detailLoading", + "value": false + } + ], + "ce1aa70ed814": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "linear.getIssue#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "d004d139c7df": [ + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailError", + "value": "" + }, + { + "name": "detailLoading", + "value": true + }, + { + "name": "detailError", + "value": "linear.getIssue#1 rejected" + }, + { + "name": "detailLoading", + "value": false + } + ], + "d40dd5c93d21": { + "error": "Connection lost", + "loading": false, + "payload": { + "$rpc": "null" + } + }, + "db6e863f7087": [ + { + "name": "linear.getIssue#1", + "args": [ + { + "name": "method", + "value": "linear.getIssue" + }, + { + "name": "params", + "value": { + "id": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "issue refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "linear.issueComments#1", + "args": [ + { + "name": "method", + "value": "linear.issueComments" + }, + { + "name": "params", + "value": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "comments transport error", + "isRpcDeliveryUnknown": true + } + } + } + ], + "fc6d55bc97ed": { + "error": "Request timed out: linear.getIssue", + "loading": false, + "payload": { + "$rpc": "null" + } + } + }, + "recording": { + "scenario": "schedules-b3", + "checkpoints": [ + { + "id": "b3.forward:sibling-pending", + "observation": { + "sender": "68d958edb978", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "780aaf1d97be", + "effects": "26c78123b573" + } + }, + { + "id": "b3.forward:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.reverse:sibling-pending", + "observation": { + "sender": "b9b67d6bf2bb", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.reverse:settled", + "observation": { + "sender": "db6e863f7087", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "42903545f0f8", + "effects": "6d65777cf6fe" + } + }, + { + "id": "b3.both-reject-forward:sibling-pending", + "observation": { + "sender": "ce1aa70ed814", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "a778223fed77", + "effects": "d004d139c7df" + } + }, + { + "id": "b3.both-reject-forward:settled", + "observation": { + "sender": "3ab28be1560f", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "a778223fed77", + "effects": "d004d139c7df" + } + }, + { + "id": "b3.both-reject-reverse:sibling-pending", + "observation": { + "sender": "3edc657e906b", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "24f3de063dfd", + "effects": "b4cf0b80bf2a" + } + }, + { + "id": "b3.both-reject-reverse:settled", + "observation": { + "sender": "3ab28be1560f", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "24f3de063dfd", + "effects": "b4cf0b80bf2a" + } + }, + { + "id": "b3.reject-peer-pending:sibling-pending", + "observation": { + "sender": "ce1aa70ed814", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "a778223fed77", + "effects": "d004d139c7df" + } + }, + { + "id": "b3.reject-peer-pending:settled", + "observation": { + "sender": "ce1aa70ed814", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "a778223fed77", + "effects": "d004d139c7df" + } + }, + { + "id": "b3.timeout:settled", + "observation": { + "sender": "8ba072374c63", + "payloads": "0b631657711f", + "settlements": "0131611322e3", + "state": "fc6d55bc97ed", + "effects": "2852f47712e0" + } + }, + { + "id": "b3.disconnect:settled", + "observation": { + "sender": "606c2767b466", + "payloads": "0b631657711f", + "settlements": "77571e1166d2", + "state": "d40dd5c93d21", + "effects": "6c671f71ee89" + } + }, + { + "id": "b3.client-cutover:settled", + "observation": { + "sender": "4be41ba84e00", + "payloads": "0b631657711f", + "settlements": "8df6a469391c", + "state": "88573133f7d5", + "effects": "cbf28b66143a" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/schedules-settings-home-providers-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-home-providers-fulfilled.json new file mode 100644 index 00000000000..46abc7f6e8b --- /dev/null +++ b/mobile/rpc-foundation/goldens/schedules-settings-home-providers-fulfilled.json @@ -0,0 +1,1164 @@ +{ + "operation": "settings.home-providers", + "family": "settings.home-providers", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "13d58e42ea1c": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "2cfe071e77cd": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "3b52deb98f39": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "40b162c1b21a": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "50274b2889df": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "57fc05304f41": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "625b11c4e186": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "7481db6c50f8": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "79b8c1b0d1d1": { + "host-1": ["github"] + }, + "8871f1ea875e": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "8b1b9b7a2c5b": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "950ea1b3a4be": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "preflight.check#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "98072a0a081c": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: preflight.check", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: linear.status", + "isRpcDeliveryUnknown": true + } + } + } + ], + "b822f26514d9": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "preflight.check#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "d4eeda0e5df4": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ], + "fa1c6c5bbada": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + } + }, + "recording": { + "scenario": "schedules-settings-home-providers-fulfilled", + "checkpoints": [ + { + "id": "settings-home-providers-fulfilled.forward:sibling-pending", + "observation": { + "sender": "8b1b9b7a2c5b", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-home-providers-fulfilled.forward:settled", + "observation": { + "sender": "3b52deb98f39", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.reverse:sibling-pending", + "observation": { + "sender": "57fc05304f41", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-home-providers-fulfilled.reverse:settled", + "observation": { + "sender": "3b52deb98f39", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.both-reject-forward:sibling-pending", + "observation": { + "sender": "2cfe071e77cd", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.both-reject-forward:settled", + "observation": { + "sender": "950ea1b3a4be", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.both-reject-reverse:sibling-pending", + "observation": { + "sender": "b822f26514d9", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.both-reject-reverse:settled", + "observation": { + "sender": "950ea1b3a4be", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.reject-peer-pending:sibling-pending", + "observation": { + "sender": "2cfe071e77cd", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.reject-peer-pending:settled", + "observation": { + "sender": "7481db6c50f8", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.timeout:settled", + "observation": { + "sender": "98072a0a081c", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.disconnect:settled", + "observation": { + "sender": "d4eeda0e5df4", + "payloads": "13d58e42ea1c", + "settlements": "8871f1ea875e", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "settings-home-providers-fulfilled.client-cutover:settled", + "observation": { + "sender": "625b11c4e186", + "payloads": "13d58e42ea1c", + "settlements": "fa1c6c5bbada", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/schedules-settings-new-tab-ssh.json b/mobile/rpc-foundation/goldens/schedules-settings-new-tab-ssh.json new file mode 100644 index 00000000000..8428c1ebf89 --- /dev/null +++ b/mobile/rpc-foundation/goldens/schedules-settings-new-tab-ssh.json @@ -0,0 +1,1184 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "08dec2e70517": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": [] + } + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "11ede0a6f64b": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "preflight.detectRemoteAgents#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "16d4a6c93cc9": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "2726579a3989": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "preflight.detectRemoteAgents#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + "321b03c89225": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "preflight.detectRemoteAgents#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "44136fa355b3": {}, + "454927834d30": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4643a45e7ec6": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "4990c034cddd": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": [ + { + "agent": "codex", + "label": "Codex" + }, + { + "agent": "claude", + "label": "Claude" + } + ] + } + }, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "7145ee805a54": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "8e8786e18ff2": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: preflight.detectRemoteAgents", + "isRpcDeliveryUnknown": true + } + } + } + ], + "9872eba313bf": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": [] + } + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "d7ce0a2846ab": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + }, + "e39e86a064ab": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + "ea238a170c2b": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "f9f7e6bd5583": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ] + }, + "recording": { + "scenario": "schedules-settings-new-tab-ssh", + "checkpoints": [ + { + "id": "settings-new-tab-ssh.forward:sibling-pending", + "observation": { + "sender": "9872eba313bf", + "payloads": "503a535a0cd0", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.forward:settled", + "observation": { + "sender": "08dec2e70517", + "payloads": "503a535a0cd0", + "settlements": "4990c034cddd", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.reverse:sibling-pending", + "observation": { + "sender": "4643a45e7ec6", + "payloads": "503a535a0cd0", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.reverse:settled", + "observation": { + "sender": "08dec2e70517", + "payloads": "503a535a0cd0", + "settlements": "4990c034cddd", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.both-reject-forward:sibling-pending", + "observation": { + "sender": "454927834d30", + "payloads": "503a535a0cd0", + "settlements": "e39e86a064ab", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.both-reject-forward:settled", + "observation": { + "sender": "321b03c89225", + "payloads": "503a535a0cd0", + "settlements": "e39e86a064ab", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.both-reject-reverse:sibling-pending", + "observation": { + "sender": "11ede0a6f64b", + "payloads": "503a535a0cd0", + "settlements": "2726579a3989", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.both-reject-reverse:settled", + "observation": { + "sender": "321b03c89225", + "payloads": "503a535a0cd0", + "settlements": "2726579a3989", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.reject-peer-pending:sibling-pending", + "observation": { + "sender": "454927834d30", + "payloads": "503a535a0cd0", + "settlements": "e39e86a064ab", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.reject-peer-pending:settled", + "observation": { + "sender": "454927834d30", + "payloads": "503a535a0cd0", + "settlements": "e39e86a064ab", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.timeout:settled", + "observation": { + "sender": "8e8786e18ff2", + "payloads": "503a535a0cd0", + "settlements": "d7ce0a2846ab", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.disconnect:settled", + "observation": { + "sender": "f9f7e6bd5583", + "payloads": "503a535a0cd0", + "settlements": "ea238a170c2b", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-new-tab-ssh.client-cutover:settled", + "observation": { + "sender": "16d4a6c93cc9", + "payloads": "503a535a0cd0", + "settlements": "7145ee805a54", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/schedules-settings-repo-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-repo-metadata-fulfilled.json new file mode 100644 index 00000000000..48534091d84 --- /dev/null +++ b/mobile/rpc-foundation/goldens/schedules-settings-repo-metadata-fulfilled.json @@ -0,0 +1,1916 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "071880b671a1": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": "linux", + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "0accf38c1070": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "0f1d92eb06c4": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + ], + "17f4e5897116": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "1de50f3b4aac": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": { + "$rpc": "null" + }, + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "26692074e876": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "2c55a9809422": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: host.platform", + "isRpcDeliveryUnknown": true + } + } + } + ], + "3d1e2998e81c": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "564017ad6e41": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": { + "$rpc": "null" + } + } + ], + "6134b73f18d0": { + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "652e9534e16e": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "host.platform#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "816876f4042f": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ], + "83b3ffbc60ed": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "host.platform#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "83ef5f7039bf": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "b0cdb6dbc9a3": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "cb923c11ddca": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "cfebaa1d407b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "d1abf04c97e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 30000, + "value": { + "$rpc": "undefined" + } + } + }, + "d90e99979f09": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "e91286279b33": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ec7bb9cef277": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ] + }, + "recording": { + "scenario": "schedules-settings-repo-metadata-fulfilled", + "checkpoints": [ + { + "id": "settings-repo-metadata-fulfilled.forward:sibling-pending", + "observation": { + "sender": "17f4e5897116", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settings-repo-metadata-fulfilled.forward:settled", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.reverse:sibling-pending", + "observation": { + "sender": "26692074e876", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settings-repo-metadata-fulfilled.reverse:settled", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "settings-repo-metadata-fulfilled.both-reject-forward:sibling-pending", + "observation": { + "sender": "0accf38c1070", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settings-repo-metadata-fulfilled.both-reject-forward:settled", + "observation": { + "sender": "83b3ffbc60ed", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "1de50f3b4aac", + "effects": "564017ad6e41" + } + }, + { + "id": "settings-repo-metadata-fulfilled.both-reject-reverse:sibling-pending", + "observation": { + "sender": "652e9534e16e", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settings-repo-metadata-fulfilled.both-reject-reverse:settled", + "observation": { + "sender": "83b3ffbc60ed", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "1de50f3b4aac", + "effects": "564017ad6e41" + } + }, + { + "id": "settings-repo-metadata-fulfilled.reject-peer-pending:sibling-pending", + "observation": { + "sender": "0accf38c1070", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settings-repo-metadata-fulfilled.reject-peer-pending:settled", + "observation": { + "sender": "0accf38c1070", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settings-repo-metadata-fulfilled.reject-peer-pending:cleanup", + "observation": { + "sender": "0f1d92eb06c4", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "6134b73f18d0", + "effects": "564017ad6e41" + } + }, + { + "id": "settings-repo-metadata-fulfilled.timeout:settled", + "observation": { + "sender": "2c55a9809422", + "payloads": "83ef5f7039bf", + "settlements": "d1abf04c97e3", + "state": "1de50f3b4aac", + "effects": "564017ad6e41" + } + }, + { + "id": "settings-repo-metadata-fulfilled.disconnect:settled", + "observation": { + "sender": "816876f4042f", + "payloads": "83ef5f7039bf", + "settlements": "cfebaa1d407b", + "state": "1de50f3b4aac", + "effects": "564017ad6e41" + } + }, + { + "id": "settings-repo-metadata-fulfilled.client-cutover:settled", + "observation": { + "sender": "b0cdb6dbc9a3", + "payloads": "83ef5f7039bf", + "settlements": "cb923c11ddca", + "state": "1de50f3b4aac", + "effects": "564017ad6e41" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/schedules-settings-resume-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-resume-metadata-fulfilled.json new file mode 100644 index 00000000000..bd4cce845c8 --- /dev/null +++ b/mobile/rpc-foundation/goldens/schedules-settings-resume-metadata-fulfilled.json @@ -0,0 +1,1761 @@ +{ + "operation": "settings.resume-metadata", + "family": "settings.resume-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "09fea004b891": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 30000, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": { + "$rpc": "null" + } + } + } + }, + "44136fa355b3": {}, + "4683bd69c2f9": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": { + "$rpc": "null" + } + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "4f53239c1410": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "worktree.ps#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "4f53cda18c2b": [], + "5a83d3e4c539": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": { + "$rpc": "null" + } + } + } + }, + "65c557da4079": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "worktrees": [] + } + } + }, + "7c1aad2b38f8": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "8d58bed8d904": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "96c81b544556": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "979c190bfe01": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + } + ], + "b04cfa013a4b": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "b22374c40ccd": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "worktree.ps#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "b5c5e188c7f0": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ], + "c248d4a4159a": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "e0fbdb9e1ad2": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": { + "$rpc": "null" + } + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "f48c5a8191d8": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: worktree.ps", + "isRpcDeliveryUnknown": true + } + } + } + ] + }, + "recording": { + "scenario": "schedules-settings-resume-metadata-fulfilled", + "checkpoints": [ + { + "id": "settings-resume-metadata-fulfilled.forward:sibling-pending", + "observation": { + "sender": "b04cfa013a4b", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.forward:settled", + "observation": { + "sender": "7c1aad2b38f8", + "payloads": "979c190bfe01", + "settlements": "65c557da4079", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.reverse:sibling-pending", + "observation": { + "sender": "8d58bed8d904", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.reverse:settled", + "observation": { + "sender": "7c1aad2b38f8", + "payloads": "979c190bfe01", + "settlements": "65c557da4079", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.both-reject-forward:sibling-pending", + "observation": { + "sender": "96c81b544556", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.both-reject-forward:settled", + "observation": { + "sender": "b22374c40ccd", + "payloads": "979c190bfe01", + "settlements": "5a83d3e4c539", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.both-reject-reverse:sibling-pending", + "observation": { + "sender": "4f53239c1410", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.both-reject-reverse:settled", + "observation": { + "sender": "b22374c40ccd", + "payloads": "979c190bfe01", + "settlements": "5a83d3e4c539", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.reject-peer-pending:sibling-pending", + "observation": { + "sender": "96c81b544556", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.reject-peer-pending:settled", + "observation": { + "sender": "96c81b544556", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.timeout:settled", + "observation": { + "sender": "f48c5a8191d8", + "payloads": "979c190bfe01", + "settlements": "09fea004b891", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.disconnect:settled", + "observation": { + "sender": "b5c5e188c7f0", + "payloads": "979c190bfe01", + "settlements": "4683bd69c2f9", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-resume-metadata-fulfilled.client-cutover:settled", + "observation": { + "sender": "c248d4a4159a", + "payloads": "979c190bfe01", + "settlements": "e0fbdb9e1ad2", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/schedules-settings-task-hydration-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-task-hydration-fulfilled.json new file mode 100644 index 00000000000..0dfa7f0b9b7 --- /dev/null +++ b/mobile/rpc-foundation/goldens/schedules-settings-task-hydration-fulfilled.json @@ -0,0 +1,3291 @@ +{ + "operation": "settings.task-hydration", + "family": "settings.task-hydration", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "029687777f22": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "21a036777905": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "ui.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "3a9fc3afc213": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: ui.get", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: preflight.check", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: linear.status", + "isRpcDeliveryUnknown": true + } + } + } + ], + "4345d70c756e": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "4403aed122f0": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "settings.get#1 rejected" + }, + { + "name": "taskStateHydrated", + "value": false + } + ], + "58c52d8b7c76": { + "hydrated": true, + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "5a9cc1957824": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "6bb5a0040cbb": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ], + "77571e1166d2": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7fd922790267": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "Connection lost" + }, + { + "name": "taskStateHydrated", + "value": false + } + ], + "8574a5791dce": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "8df6a469391c": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "ad1a6c26758a": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "b3e738cd15c7": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "ui.get#1 rejected" + }, + { + "name": "taskStateHydrated", + "value": false + } + ], + "c3f33d88e338": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + } + ], + "c6178e6a0f4e": { + "hydrated": false, + "settings": {} + }, + "ca2e38e02916": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "ui.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "e8fb43dbd296": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "ece0e400ef82": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "f0b7ab6c41c5": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "Request timed out: settings.get" + }, + { + "name": "taskStateHydrated", + "value": false + } + ], + "f7ab8f398a84": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "f8958c854fa5": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "RPC interrupted by connection migration" + }, + { + "name": "taskStateHydrated", + "value": false + } + ] + }, + "recording": { + "scenario": "schedules-settings-task-hydration-fulfilled", + "checkpoints": [ + { + "id": "settings-task-hydration-fulfilled.forward:sibling-pending", + "observation": { + "sender": "ece0e400ef82", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.forward:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "58c52d8b7c76", + "effects": "8574a5791dce" + } + }, + { + "id": "settings-task-hydration-fulfilled.reverse:sibling-pending", + "observation": { + "sender": "f7ab8f398a84", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settings-task-hydration-fulfilled.reverse:settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "58c52d8b7c76", + "effects": "8574a5791dce" + } + }, + { + "id": "settings-task-hydration-fulfilled.both-reject-forward:sibling-pending", + "observation": { + "sender": "ad1a6c26758a", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "4403aed122f0" + } + }, + { + "id": "settings-task-hydration-fulfilled.both-reject-forward:settled", + "observation": { + "sender": "21a036777905", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "4403aed122f0" + } + }, + { + "id": "settings-task-hydration-fulfilled.both-reject-reverse:sibling-pending", + "observation": { + "sender": "ca2e38e02916", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "b3e738cd15c7" + } + }, + { + "id": "settings-task-hydration-fulfilled.both-reject-reverse:settled", + "observation": { + "sender": "21a036777905", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "b3e738cd15c7" + } + }, + { + "id": "settings-task-hydration-fulfilled.reject-peer-pending:sibling-pending", + "observation": { + "sender": "ad1a6c26758a", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "4403aed122f0" + } + }, + { + "id": "settings-task-hydration-fulfilled.reject-peer-pending:settled", + "observation": { + "sender": "029687777f22", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "4403aed122f0" + } + }, + { + "id": "settings-task-hydration-fulfilled.timeout:settled", + "observation": { + "sender": "3a9fc3afc213", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "f0b7ab6c41c5" + } + }, + { + "id": "settings-task-hydration-fulfilled.disconnect:settled", + "observation": { + "sender": "6bb5a0040cbb", + "payloads": "4345d70c756e", + "settlements": "77571e1166d2", + "state": "c6178e6a0f4e", + "effects": "7fd922790267" + } + }, + { + "id": "settings-task-hydration-fulfilled.client-cutover:settled", + "observation": { + "sender": "e8fb43dbd296", + "payloads": "4345d70c756e", + "settlements": "8df6a469391c", + "state": "c6178e6a0f4e", + "effects": "f8958c854fa5" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/schedules-settings-workspace-context-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-workspace-context-fulfilled.json new file mode 100644 index 00000000000..ad378d8f431 --- /dev/null +++ b/mobile/rpc-foundation/goldens/schedules-settings-workspace-context-fulfilled.json @@ -0,0 +1,1480 @@ +{ + "operation": "settings.workspace-context", + "family": "settings.workspace-context", + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "151393ed2773": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "29d92c5a9f4a": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "2a7485a88169": { + "providers": ["github"], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "trust": {} + }, + "2d2b2b78a6fc": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "3a834cb85dd8": { + "providers": ["github"], + "settings": { + "$rpc": "null" + }, + "trust": {} + }, + "4f53cda18c2b": [], + "4faa4c60d187": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "50cf78d5eb2d": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "ui.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "629c1141d84a": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "ui.get#1 rejected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "65c9212479d4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "Connection lost", + "isRpcDeliveryUnknown": true + } + } + } + ], + "6626d90d16a3": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: preflight.check", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: linear.status", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: settings.get", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 30000, + "error": { + "category": "Error", + "message": "Request timed out: ui.get", + "isRpcDeliveryUnknown": true + } + } + } + ], + "7076fb41232c": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "77571e1166d2": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "disconnect": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "8df6a469391c": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cutover": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "9b318e254fd4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "LogicalClientCutoverError", + "message": "RPC interrupted by connection migration", + "isRpcDeliveryUnknown": true, + "cause": { + "category": "Error", + "message": "Connection closed", + "isRpcDeliveryUnknown": true + } + } + } + } + ], + "edae57429e34": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f6a09f8c5b85": { + "providers": [], + "settings": { + "$rpc": "null" + }, + "trust": {} + } + }, + "recording": { + "scenario": "schedules-settings-workspace-context-fulfilled", + "checkpoints": [ + { + "id": "settings-workspace-context-fulfilled.forward:sibling-pending", + "observation": { + "sender": "2d2b2b78a6fc", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.forward:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.reverse:sibling-pending", + "observation": { + "sender": "151393ed2773", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.reverse:settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.both-reject-forward:sibling-pending", + "observation": { + "sender": "29d92c5a9f4a", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.both-reject-forward:settled", + "observation": { + "sender": "50cf78d5eb2d", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.both-reject-reverse:sibling-pending", + "observation": { + "sender": "629c1141d84a", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.both-reject-reverse:settled", + "observation": { + "sender": "50cf78d5eb2d", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.reject-peer-pending:sibling-pending", + "observation": { + "sender": "29d92c5a9f4a", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.reject-peer-pending:settled", + "observation": { + "sender": "4faa4c60d187", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.timeout:settled", + "observation": { + "sender": "6626d90d16a3", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.disconnect:settled", + "observation": { + "sender": "65c9212479d4", + "payloads": "7076fb41232c", + "settlements": "77571e1166d2", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settings-workspace-context-fulfilled.client-cutover:settled", + "observation": { + "sender": "9b318e254fd4", + "payloads": "7076fb41232c", + "settlements": "8df6a469391c", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-fulfilled.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-fulfilled.json new file mode 100644 index 00000000000..0afca96ea2b --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-fulfilled.json @@ -0,0 +1,126 @@ +{ + "operation": "settings.bot-overrides", + "family": "settings.bot-overrides", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4f53cda18c2b": [], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "a7af6ac4ce05": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + } + ], + "d52c8e96e222": ["bot-user"] + }, + "recording": { + "scenario": "settings-bot-overrides-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-refresh-refused.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-refresh-refused.json new file mode 100644 index 00000000000..5b26acf9b1d --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-refresh-refused.json @@ -0,0 +1,315 @@ +{ + "operation": "settings.bot-overrides", + "family": "settings.bot-overrides", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "1d4a2fa741de": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4f53cda18c2b": [], + "83bb868a6681": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "Settings refused" + }, + "id": "frame-2", + "ok": false + } + } + } + ], + "84155dde485f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "a7af6ac4ce05": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + } + ], + "a7c491dcb172": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "refresh": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "d52c8e96e222": ["bot-user"] + }, + "recording": { + "scenario": "settings-bot-overrides-refresh-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "refresh-pending", + "observation": { + "sender": "84155dde485f", + "payloads": "1d4a2fa741de", + "settlements": "a7c491dcb172", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + }, + { + "id": "refused-retains-overrides", + "observation": { + "sender": "83bb868a6681", + "payloads": "1d4a2fa741de", + "settlements": "a7c491dcb172", + "state": "d52c8e96e222", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-refused.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-refused.json new file mode 100644 index 00000000000..f827872fefe --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-refused.json @@ -0,0 +1,120 @@ +{ + "operation": "settings.bot-overrides", + "family": "settings.bot-overrides", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "16043f76be6c": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4f53cda18c2b": [], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ] + }, + "recording": { + "scenario": "settings-bot-overrides-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "16043f76be6c", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-transport-error.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-transport-error.json new file mode 100644 index 00000000000..1c0ab39dff0 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-transport-error.json @@ -0,0 +1,117 @@ +{ + "operation": "settings.bot-overrides", + "family": "settings.bot-overrides", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "4f53cda18c2b": [], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "d069f81df435": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + } + ] + }, + "recording": { + "scenario": "settings-bot-overrides-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "d069f81df435", + "payloads": "9e493785145e", + "settlements": "0131611322e3", + "state": "4f53cda18c2b", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-home-coalesced.json b/mobile/rpc-foundation/goldens/settings-home-coalesced.json new file mode 100644 index 00000000000..063367ed3e9 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-home-coalesced.json @@ -0,0 +1,977 @@ +{ + "operation": "settings.home-providers", + "family": "settings.home-providers", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "13d58e42ea1c": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "1476fcb5bc03": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + }, + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "31e52986b3e4": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#3", + "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#3", + "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#3", + "json": "{\"id\":\"frame-9\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "40b162c1b21a": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "780ac4cd0c2f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "79b8c1b0d1d1": { + "host-1": ["github"] + }, + "8792ba235e35": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "overlapping-load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "third-load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "9c0b1bcf8ef1": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "overlapping-load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "aa599367ba4b": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-6", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "d1e42a0a312d": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "d6e8453528de": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "e7049095b2b6": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-6", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#3", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#3", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#3", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "settings-home-coalesced", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "780ac4cd0c2f", + "payloads": "13d58e42ea1c", + "settlements": "9c0b1bcf8ef1", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "d6e8453528de", + "payloads": "d1e42a0a312d", + "settlements": "9c0b1bcf8ef1", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "follow-up-settled", + "observation": { + "sender": "aa599367ba4b", + "payloads": "d1e42a0a312d", + "settlements": "9c0b1bcf8ef1", + "state": "79b8c1b0d1d1", + "effects": "1476fcb5bc03" + } + }, + { + "id": "third-query", + "observation": { + "sender": "e7049095b2b6", + "payloads": "31e52986b3e4", + "settlements": "8792ba235e35", + "state": "79b8c1b0d1d1", + "effects": "1476fcb5bc03" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-home-providers-fulfilled.json b/mobile/rpc-foundation/goldens/settings-home-providers-fulfilled.json new file mode 100644 index 00000000000..4d5ac77a9a6 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-home-providers-fulfilled.json @@ -0,0 +1,263 @@ +{ + "operation": "settings.home-providers", + "family": "settings.home-providers", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "13d58e42ea1c": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "3b52deb98f39": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "40b162c1b21a": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "50274b2889df": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "780ac4cd0c2f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "79b8c1b0d1d1": { + "host-1": ["github"] + } + }, + "recording": { + "scenario": "settings-home-providers-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "780ac4cd0c2f", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "3b52deb98f39", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-home-providers-refuse-after-data.json b/mobile/rpc-foundation/goldens/settings-home-providers-refuse-after-data.json new file mode 100644 index 00000000000..c3c771b5a17 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-home-providers-refuse-after-data.json @@ -0,0 +1,746 @@ +{ + "operation": "settings.home-providers", + "family": "settings.home-providers", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "01a7596f538f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-4", + "ok": false + } + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-6", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "13d58e42ea1c": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "1476fcb5bc03": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + }, + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "161b05d3a099": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "reload": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3b52deb98f39": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "40b162c1b21a": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "50274b2889df": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "780ac4cd0c2f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "79b8c1b0d1d1": { + "host-1": ["github"] + }, + "d1e42a0a312d": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "d6e8453528de": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "settings-home-providers-refuse-after-data", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "780ac4cd0c2f", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "3b52deb98f39", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "data-present", + "observation": { + "sender": "3b52deb98f39", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "refresh-pending", + "observation": { + "sender": "d6e8453528de", + "payloads": "d1e42a0a312d", + "settlements": "161b05d3a099", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + }, + { + "id": "refused-after-data", + "observation": { + "sender": "01a7596f538f", + "payloads": "d1e42a0a312d", + "settlements": "161b05d3a099", + "state": "79b8c1b0d1d1", + "effects": "1476fcb5bc03" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-home-providers-refused.json b/mobile/rpc-foundation/goldens/settings-home-providers-refused.json new file mode 100644 index 00000000000..6872911769e --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-home-providers-refused.json @@ -0,0 +1,258 @@ +{ + "operation": "settings.home-providers", + "family": "settings.home-providers", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "13d58e42ea1c": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "40b162c1b21a": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "50274b2889df": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "780ac4cd0c2f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "79b8c1b0d1d1": { + "host-1": ["github"] + }, + "b6fb70e7de43": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-1", + "ok": false + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ] + }, + "recording": { + "scenario": "settings-home-providers-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "780ac4cd0c2f", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "b6fb70e7de43", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-home-providers-transport-error.json b/mobile/rpc-foundation/goldens/settings-home-providers-transport-error.json new file mode 100644 index 00000000000..afc62fa9701 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-home-providers-transport-error.json @@ -0,0 +1,255 @@ +{ + "operation": "settings.home-providers", + "family": "settings.home-providers", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "13326bd872a6": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "13d58e42ea1c": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "40b162c1b21a": [ + { + "name": "providers", + "value": { + "host-1": ["github"] + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "50274b2889df": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "780ac4cd0c2f": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "79b8c1b0d1d1": { + "host-1": ["github"] + } + }, + "recording": { + "scenario": "settings-home-providers-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "780ac4cd0c2f", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "13326bd872a6", + "payloads": "13d58e42ea1c", + "settlements": "50274b2889df", + "state": "79b8c1b0d1d1", + "effects": "40b162c1b21a" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-new-tab-refused.json b/mobile/rpc-foundation/goldens/settings-new-tab-refused.json new file mode 100644 index 00000000000..171947ca870 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-new-tab-refused.json @@ -0,0 +1,241 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "16de1d62c270": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-2", + "ok": false + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "274355646d54": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings refused", + "isRpcDeliveryUnknown": false + } + } + }, + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-new-tab-refused", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "16de1d62c270", + "payloads": "503a535a0cd0", + "settlements": "274355646d54", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-new-tab-ssh.json b/mobile/rpc-foundation/goldens/settings-new-tab-ssh.json new file mode 100644 index 00000000000..862075a82f3 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-new-tab-ssh.json @@ -0,0 +1,248 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "08dec2e70517": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": [] + } + } + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4990c034cddd": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": [ + { + "agent": "codex", + "label": "Codex" + }, + { + "agent": "claude", + "label": "Claude" + } + ] + } + }, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-new-tab-ssh", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "08dec2e70517", + "payloads": "503a535a0cd0", + "settlements": "4990c034cddd", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-new-tab-transport-error.json b/mobile/rpc-foundation/goldens/settings-new-tab-transport-error.json new file mode 100644 index 00000000000..e5ce7fd6632 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-new-tab-transport-error.json @@ -0,0 +1,238 @@ +{ + "operation": "settings.new-tab-agents", + "family": "settings-agent-read", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "155ff7f445b7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "3076d0a13ab4": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "503a535a0cd0": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "preflight.detectRemoteAgents#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "d309fe89b198": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "id": "repo-1" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "preflight.detectRemoteAgents#1", + "args": [ + { + "name": "method", + "value": "preflight.detectRemoteAgents" + }, + { + "name": "params", + "value": { + "connectionId": "ssh-1" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": ["codex", "claude"] + } + } + } + ], + "ddae1d634b3e": { + "load": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + } + }, + "recording": { + "scenario": "settings-new-tab-transport-error", + "checkpoints": [ + { + "id": "pending", + "observation": { + "sender": "155ff7f445b7", + "payloads": "3076d0a13ab4", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "d309fe89b198", + "payloads": "503a535a0cd0", + "settlements": "ddae1d634b3e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-repo-cache-expiry.json b/mobile/rpc-foundation/goldens/settings-repo-cache-expiry.json new file mode 100644 index 00000000000..1128badc426 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-repo-cache-expiry.json @@ -0,0 +1,811 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "071880b671a1": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": "linux", + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "0837485f8127": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "0f10f753b645": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cached-query": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "26ce47c562c3": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + }, + { + "name": "repo.list#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + } + ], + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3d1e2998e81c": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "6134b73f18d0": { + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "6c2fa8796498": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cached-query": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "warm-query": { + "status": "fulfilled", + "startedAt": 59000, + "settledAt": 59000, + "value": { + "$rpc": "undefined" + } + } + }, + "83ef5f7039bf": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "8dff1fd17ddc": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + }, + { + "name": "repo.list#2", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 60000 + } + } + ], + "cff69ce01bb1": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "cached-query": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "warm-query": { + "status": "fulfilled", + "startedAt": 59000, + "settledAt": 59000, + "value": { + "$rpc": "undefined" + } + }, + "expired-query": { + "status": "pending", + "startedAt": 60000 + } + }, + "d90e99979f09": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "e91286279b33": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ec7bb9cef277": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ] + }, + "recording": { + "scenario": "settings-repo-cache-expiry", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "0837485f8127", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settled", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "cache-hit", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "0f10f753b645", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "cache-warm", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "6c2fa8796498", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "cache-expired", + "observation": { + "sender": "8dff1fd17ddc", + "payloads": "26ce47c562c3", + "settlements": "cff69ce01bb1", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-fulfilled.json new file mode 100644 index 00000000000..33cca15185d --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-fulfilled.json @@ -0,0 +1,478 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "071880b671a1": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": "linux", + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "0837485f8127": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3d1e2998e81c": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "6134b73f18d0": { + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "83ef5f7039bf": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "d90e99979f09": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "e91286279b33": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ec7bb9cef277": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ] + }, + "recording": { + "scenario": "settings-repo-metadata-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "0837485f8127", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settled", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-refuse-after-data.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-refuse-after-data.json new file mode 100644 index 00000000000..2601c91fed6 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-refuse-after-data.json @@ -0,0 +1,1172 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "071880b671a1": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": "linux", + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "0837485f8127": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "150dbdb0fb56": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "reload": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "26ce47c562c3": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + }, + { + "name": "repo.list#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + } + ], + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3d1e2998e81c": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "4049d6051850": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + }, + { + "name": "repo.list#2", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#2", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-6", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-7", + "ok": false + } + } + }, + { + "name": "host.platform#2", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-8", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "445d24da5d36": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + }, + { + "name": "repo.list#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#2", + "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "6134b73f18d0": { + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "8051a72eb456": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + }, + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ], + "83ef5f7039bf": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "d90e99979f09": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "dffaa7495fa7": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + }, + { + "name": "repo.list#2", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "e91286279b33": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ec7bb9cef277": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ], + "ef44341dd102": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "reload": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-repo-metadata-refuse-after-data", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "0837485f8127", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settled", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "data-present", + "observation": { + "sender": "d90e99979f09", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "refresh-pending", + "observation": { + "sender": "dffaa7495fa7", + "payloads": "26ce47c562c3", + "settlements": "ef44341dd102", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + }, + { + "id": "refused-after-data", + "observation": { + "sender": "4049d6051850", + "payloads": "445d24da5d36", + "settlements": "150dbdb0fb56", + "state": "071880b671a1", + "effects": "8051a72eb456" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-refused.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-refused.json new file mode 100644 index 00000000000..1a8d427af83 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-refused.json @@ -0,0 +1,473 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "071880b671a1": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": "linux", + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "0837485f8127": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3d1e2998e81c": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "6134b73f18d0": { + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "83ef5f7039bf": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "e91286279b33": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ec7bb9cef277": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ], + "fc6ef6e9b0c0": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ] + }, + "recording": { + "scenario": "settings-repo-metadata-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "0837485f8127", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settled", + "observation": { + "sender": "fc6ef6e9b0c0", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-single-host.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-single-host.json new file mode 100644 index 00000000000..23178bf2e99 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-single-host.json @@ -0,0 +1,142 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "2bd489a9fa29": { + "repoColorsByName": [ + ["Remote", "#f97316"], + ["Remote folder", "#ec4899"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "ssh:ssh-1"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Remote", "repo-1"], + ["Remote folder", "repo-2"] + ] + }, + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3af5a7c8dbf8": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote folder", + "id": "repo-2" + } + ] + } + } + } + } + ], + "5e0c4a6ec80d": [ + { + "name": "repoColorsByName", + "value": [ + ["Remote", "#f97316"], + ["Remote folder", "#ec4899"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Remote", "repo-1"], + ["Remote folder", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "ssh:ssh-1"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "8442ee22b3fc": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + } + ] + }, + "recording": { + "scenario": "settings-repo-metadata-single-host", + "checkpoints": [ + { + "id": "single-host-without-label-lookups", + "observation": { + "sender": "3af5a7c8dbf8", + "payloads": "8442ee22b3fc", + "settlements": "2bf0f26c9185", + "state": "2bd489a9fa29", + "effects": "5e0c4a6ec80d" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-transport-error.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-transport-error.json new file mode 100644 index 00000000000..d2268971b66 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-transport-error.json @@ -0,0 +1,470 @@ +{ + "operation": "settings.repo-metadata", + "family": "settings.repo-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "071880b671a1": { + "hostLabelById": [["ssh:ssh-1", "SSH"]], + "hostPlatform": "linux", + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "0837485f8127": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "148d92080e35": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [ + { + "connectionId": { + "$rpc": "null" + }, + "displayName": "Local", + "id": "repo-1" + }, + { + "connectionId": "ssh-1", + "displayName": "Remote", + "id": "repo-2" + } + ] + } + } + } + }, + { + "name": "ssh.listTargetSummaries#1", + "args": [ + { + "name": "method", + "value": "ssh.listTargetSummaries" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "host.platform#1", + "args": [ + { + "name": "method", + "value": "host.platform" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "platform": "linux" + } + } + } + } + ], + "2bf0f26c9185": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3d1e2998e81c": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + } + ], + "6134b73f18d0": { + "repoColorsByName": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ], + "repoHostIdByRepoId": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ], + "repoIconsByName": [], + "repoIdsByName": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + "83ef5f7039bf": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "ssh.listTargetSummaries#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "host.platform#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}" + } + ], + "e91286279b33": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "ec7bb9cef277": [ + { + "name": "repoColorsByName", + "value": [ + ["Local", "#6366f1"], + ["Remote", "#f97316"] + ] + }, + { + "name": "repoIconsByName", + "value": [] + }, + { + "name": "repoIdsByName", + "value": [ + ["Local", "repo-1"], + ["Remote", "repo-2"] + ] + }, + { + "name": "repoHostIdByRepoId", + "value": [ + ["repo-1", "local"], + ["repo-2", "ssh:ssh-1"] + ] + }, + { + "name": "hostLabelById", + "value": [["ssh:ssh-1", "SSH"]] + }, + { + "name": "hostPlatform", + "value": "linux" + } + ] + }, + "recording": { + "scenario": "settings-repo-metadata-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "0837485f8127", + "payloads": "83ef5f7039bf", + "settlements": "e91286279b33", + "state": "6134b73f18d0", + "effects": "3d1e2998e81c" + } + }, + { + "id": "settled", + "observation": { + "sender": "148d92080e35", + "payloads": "83ef5f7039bf", + "settlements": "2bf0f26c9185", + "state": "071880b671a1", + "effects": "ec7bb9cef277" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-resume-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/settings-resume-metadata-fulfilled.json new file mode 100644 index 00000000000..acf263e29ba --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-resume-metadata-fulfilled.json @@ -0,0 +1,414 @@ +{ + "operation": "settings.resume-metadata", + "family": "settings.resume-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "1f0e36a0a4b5": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "65c557da4079": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "worktrees": [] + } + } + }, + "7c1aad2b38f8": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "979c190bfe01": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-resume-metadata-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f0e36a0a4b5", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "7c1aad2b38f8", + "payloads": "979c190bfe01", + "settlements": "65c557da4079", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-resume-metadata-refuse-after-data.json b/mobile/rpc-foundation/goldens/settings-resume-metadata-refuse-after-data.json new file mode 100644 index 00000000000..3a632dea86c --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-resume-metadata-refuse-after-data.json @@ -0,0 +1,1181 @@ +{ + "operation": "settings.resume-metadata", + "family": "settings.resume-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0f99f5870a51": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "worktrees": [] + } + }, + "reload": { + "status": "pending", + "startedAt": 0 + } + }, + "1f0e36a0a4b5": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "44136fa355b3": {}, + "4f53cda18c2b": [], + "65c557da4079": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "worktrees": [] + } + } + }, + "6d55c01f3760": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + }, + { + "name": "repo.list#2", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "folderWorkspace.list#2", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "projectGroup.list#2", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#2", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "7bf142cf7356": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + }, + { + "name": "repo.list#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#2", + "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#2", + "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-9\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#2", + "json": "{\"id\":\"frame-10\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + } + ], + "7c1aad2b38f8": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "979c190bfe01": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + } + ], + "996e6dd95b64": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + }, + { + "name": "repo.list#2", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-6", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#2", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-7", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#2", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-8", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-9", + "ok": false + } + } + }, + { + "name": "worktree.ps#2", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-10", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + }, + "bcd29366d801": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "worktrees": [] + } + }, + "reload": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": [] + } + } + } + }, + "recording": { + "scenario": "settings-resume-metadata-refuse-after-data", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f0e36a0a4b5", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "7c1aad2b38f8", + "payloads": "979c190bfe01", + "settlements": "65c557da4079", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "data-present", + "observation": { + "sender": "7c1aad2b38f8", + "payloads": "979c190bfe01", + "settlements": "65c557da4079", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "refresh-pending", + "observation": { + "sender": "6d55c01f3760", + "payloads": "7bf142cf7356", + "settlements": "0f99f5870a51", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "refused-after-data", + "observation": { + "sender": "996e6dd95b64", + "payloads": "7bf142cf7356", + "settlements": "bcd29366d801", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-resume-metadata-refused.json b/mobile/rpc-foundation/goldens/settings-resume-metadata-refused.json new file mode 100644 index 00000000000..fe0dfc2c00d --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-resume-metadata-refused.json @@ -0,0 +1,405 @@ +{ + "operation": "settings.resume-metadata", + "family": "settings.resume-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "111461dd9433": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-4", + "ok": false + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "1f0e36a0a4b5": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "44136fa355b3": {}, + "4ef7f873c93e": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": [] + } + } + }, + "4f53cda18c2b": [], + "979c190bfe01": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-resume-metadata-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f0e36a0a4b5", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "111461dd9433", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-resume-metadata-transport-error.json b/mobile/rpc-foundation/goldens/settings-resume-metadata-transport-error.json new file mode 100644 index 00000000000..7d59788a4fb --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-resume-metadata-transport-error.json @@ -0,0 +1,402 @@ +{ + "operation": "settings.resume-metadata", + "family": "settings.resume-metadata", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "059fe1eb42cb": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "worktrees": [] + } + } + } + } + ], + "1f0e36a0a4b5": [ + { + "name": "repo.list#1", + "args": [ + { + "name": "method", + "value": "repo.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "repos": [] + } + } + } + }, + { + "name": "folderWorkspace.list#1", + "args": [ + { + "name": "method", + "value": "folderWorkspace.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + } + }, + { + "name": "projectGroup.list#1", + "args": [ + { + "name": "method", + "value": "projectGroup.list" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "groups": [] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "undefined" + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "worktree.ps#1", + "args": [ + { + "name": "method", + "value": "worktree.ps" + }, + { + "name": "params", + "value": { + "limit": 10000 + } + }, + { + "name": "options", + "value": { + "timeoutMs": 30000 + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "44136fa355b3": {}, + "4ef7f873c93e": { + "load": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "folderWorkspaces": [], + "projectGroups": [], + "repos": [], + "settings": { + "$rpc": "null" + }, + "worktrees": [] + } + } + }, + "4f53cda18c2b": [], + "979c190bfe01": [ + { + "name": "repo.list#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}" + }, + { + "name": "folderWorkspace.list#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}" + }, + { + "name": "projectGroup.list#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "worktree.ps#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}" + } + ], + "b11c8efab170": { + "load": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-resume-metadata-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f0e36a0a4b5", + "payloads": "979c190bfe01", + "settlements": "b11c8efab170", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "059fe1eb42cb", + "payloads": "979c190bfe01", + "settlements": "4ef7f873c93e", + "state": "44136fa355b3", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-hydration-fulfilled.json b/mobile/rpc-foundation/goldens/settings-task-hydration-fulfilled.json new file mode 100644 index 00000000000..cf88d853e5d --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-hydration-fulfilled.json @@ -0,0 +1,875 @@ +{ + "operation": "settings.task-hydration", + "family": "settings.task-hydration", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "4345d70c756e": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "58c52d8b7c76": { + "hydrated": true, + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "5a9cc1957824": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "8574a5791dce": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "c3f33d88e338": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + } + ], + "c6178e6a0f4e": { + "hydrated": false, + "settings": {} + }, + "e71a3d7fabe9": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "settings-task-hydration-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "e71a3d7fabe9", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "58c52d8b7c76", + "effects": "8574a5791dce" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-hydration-refuse-after-data.json b/mobile/rpc-foundation/goldens/settings-task-hydration-refuse-after-data.json new file mode 100644 index 00000000000..fe2d40f01d4 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-hydration-refuse-after-data.json @@ -0,0 +1,2576 @@ +{ + "operation": "settings.task-hydration", + "family": "settings.task-hydration", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "121859934330": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "revisit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "1825a87a7ca8": { + "hydrated": false, + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "23c47dcee6fa": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "status.get#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#2", + "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#2", + "json": "{\"id\":\"frame-9\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#2", + "json": "{\"id\":\"frame-10\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "25ff3ce217de": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + }, + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + } + ], + "40aa278f87b5": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "status.get#2", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-6", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-7", + "ok": false + } + } + }, + { + "name": "ui.get#2", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-8", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-9", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-10", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "4345d70c756e": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "58c52d8b7c76": { + "hydrated": true, + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "5a9cc1957824": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "8574a5791dce": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "963a91c532c8": { + "hydrated": true, + "settings": {} + }, + "9f7245427281": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "status.get#2", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "c3f33d88e338": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + } + ], + "c607f2ac3543": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "status.get#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + } + ], + "c6178e6a0f4e": { + "hydrated": false, + "settings": {} + }, + "d452938f3427": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + }, + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": {} + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "e71a3d7fabe9": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "settings-task-hydration-refuse-after-data", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "e71a3d7fabe9", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settled", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "58c52d8b7c76", + "effects": "8574a5791dce" + } + }, + { + "id": "data-present", + "observation": { + "sender": "5a9cc1957824", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "58c52d8b7c76", + "effects": "8574a5791dce" + } + }, + { + "id": "refresh-pending", + "observation": { + "sender": "9f7245427281", + "payloads": "c607f2ac3543", + "settlements": "121859934330", + "state": "1825a87a7ca8", + "effects": "25ff3ce217de" + } + }, + { + "id": "refused-after-data", + "observation": { + "sender": "40aa278f87b5", + "payloads": "23c47dcee6fa", + "settlements": "121859934330", + "state": "963a91c532c8", + "effects": "d452938f3427" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-hydration-refused.json b/mobile/rpc-foundation/goldens/settings-task-hydration-refused.json new file mode 100644 index 00000000000..89aa4a1b63f --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-hydration-refused.json @@ -0,0 +1,858 @@ +{ + "operation": "settings.task-hydration", + "family": "settings.task-hydration", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "4345d70c756e": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "69474d6e5c50": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-2", + "ok": false + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "963a91c532c8": { + "hydrated": true, + "settings": {} + }, + "c3f33d88e338": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + } + ], + "c479baa4b17d": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": {} + }, + { + "name": "trustedOrcaHooks", + "value": {} + }, + { + "name": "githubProjectHiddenFieldIdsByView", + "value": {} + }, + { + "name": "linearConnected", + "value": false + }, + { + "name": "linearWorkspaces", + "value": [] + }, + { + "name": "linearTeams", + "value": [] + }, + { + "name": "selectedLinearTeamIds", + "value": [] + }, + { + "name": "selectedLinearWorkspaceId", + "value": { + "$rpc": "null" + } + }, + { + "name": "visibleProviders", + "value": ["github", "linear"] + }, + { + "name": "provider", + "value": "github" + }, + { + "name": "githubMode", + "value": "items" + }, + { + "name": "defaultGitHubPreset", + "value": "issues" + }, + { + "name": "githubPreset", + "value": "issues" + }, + { + "name": "githubKind", + "value": "issues" + }, + { + "name": "linearFilter", + "value": "all" + }, + { + "name": "githubProjectSettings", + "value": { + "activeProject": { + "$rpc": "null" + }, + "lastViewByProject": {}, + "pinned": [], + "recent": [] + } + }, + { + "name": "query", + "value": "is:issue is:open" + }, + { + "name": "appliedQuery", + "value": "is:issue is:open" + }, + { + "name": "taskStateHydrated", + "value": true + } + ], + "c6178e6a0f4e": { + "hydrated": false, + "settings": {} + }, + "e71a3d7fabe9": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "settings-task-hydration-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "e71a3d7fabe9", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settled", + "observation": { + "sender": "69474d6e5c50", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "963a91c532c8", + "effects": "c479baa4b17d" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-hydration-transport-error.json b/mobile/rpc-foundation/goldens/settings-task-hydration-transport-error.json new file mode 100644 index 00000000000..65583586322 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-hydration-transport-error.json @@ -0,0 +1,774 @@ +{ + "operation": "settings.task-hydration", + "family": "settings.task-hydration", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "4345d70c756e": [ + { + "name": "status.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + } + ], + "4908672a6114": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + }, + { + "name": "error", + "value": "settings disconnected" + }, + { + "name": "taskStateHydrated", + "value": false + } + ], + "b6ff724ea992": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "connected": false + } + } + } + } + ], + "c3f33d88e338": [ + { + "name": "taskStateHydrated", + "value": false + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "unknown" + } + }, + { + "name": "showLinearWorkspacePicker", + "value": false + }, + { + "name": "showLinearTeamPicker", + "value": false + }, + { + "name": "showLinearViewPicker", + "value": false + }, + { + "name": "showLinearGroupPicker", + "value": false + }, + { + "name": "showLinearOrderPicker", + "value": false + }, + { + "name": "showLinearDisplayPicker", + "value": false + }, + { + "name": "showLinearConnect", + "value": false + }, + { + "name": "showProviderPicker", + "value": false + }, + { + "name": "showGitHubKindPicker", + "value": false + }, + { + "name": "showGitHubPresetPicker", + "value": false + }, + { + "name": "showGitLabViewPicker", + "value": false + }, + { + "name": "showGitLabFilterPicker", + "value": false + }, + { + "name": "showLinearFilterPicker", + "value": false + }, + { + "name": "showSortPicker", + "value": false + }, + { + "name": "showRepoPicker", + "value": false + }, + { + "name": "showGitHubIssueSourcePicker", + "value": false + }, + { + "name": "showGitHubPagePicker", + "value": false + }, + { + "name": "showGitHubProjectPicker", + "value": false + }, + { + "name": "showGitHubProjectViewPicker", + "value": false + }, + { + "name": "showGitHubProjectSortPicker", + "value": false + }, + { + "name": "showGitHubProjectFieldsPicker", + "value": false + }, + { + "name": "pendingGitHubProjectViewSelection", + "value": { + "$rpc": "null" + } + }, + { + "name": "actionItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRepoNotInOrca", + "value": { + "$rpc": "null" + } + }, + { + "name": "detailPayload", + "value": { + "$rpc": "null" + } + }, + { + "name": "projectRowDetail", + "value": { + "$rpc": "null" + } + }, + { + "name": "showCreateTask", + "value": false + }, + { + "name": "showCreateTargetPicker", + "value": false + }, + { + "name": "linearStatusPickerItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingProjectGitHubMerge", + "value": { + "$rpc": "null" + } + }, + { + "name": "pendingHostedStateChange", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodTaskItem", + "value": { + "$rpc": "null" + } + }, + { + "name": "mergeMethodProjectRow", + "value": { + "$rpc": "null" + } + }, + { + "name": "reset-workspace", + "value": { + "$rpc": "null" + } + }, + { + "name": "tasksSupportState", + "value": { + "client": "logical-client", + "kind": "supported" + } + }, + { + "name": "error", + "value": "" + } + ], + "c6178e6a0f4e": { + "hydrated": false, + "settings": {} + }, + "e71a3d7fabe9": [ + { + "name": "status.get#1", + "args": [ + { + "name": "method", + "value": "status.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "settings-task-hydration-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "e71a3d7fabe9", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "c3f33d88e338" + } + }, + { + "id": "settled", + "observation": { + "sender": "b6ff724ea992", + "payloads": "4345d70c756e", + "settlements": "0131611322e3", + "state": "c6178e6a0f4e", + "effects": "4908672a6114" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-workspace-fulfilled.json b/mobile/rpc-foundation/goldens/settings-task-workspace-fulfilled.json new file mode 100644 index 00000000000..005f93cd174 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-workspace-fulfilled.json @@ -0,0 +1,214 @@ +{ + "operation": "settings.task-workspace", + "family": "settings.task-workspace", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0ffb818cf79c": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + }, + { + "name": "runtimeTaskSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "workspaceAgent", + "value": "codex" + }, + { + "name": "workspaceAgentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + }, + { + "name": "creatingKey", + "value": { + "$rpc": "null" + } + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7abdfe20af50": { + "creating": "linear:1", + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "8b8197eed660": { + "creating": { + "$rpc": "null" + }, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "a7af6ac4ce05": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + } + ], + "b05ebf557542": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + } + ], + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-task-workspace-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "7abdfe20af50", + "effects": "b05ebf557542" + } + }, + { + "id": "settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "8b8197eed660", + "effects": "0ffb818cf79c" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-workspace-refused.json b/mobile/rpc-foundation/goldens/settings-task-workspace-refused.json new file mode 100644 index 00000000000..79597eeeab3 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-workspace-refused.json @@ -0,0 +1,195 @@ +{ + "operation": "settings.task-workspace", + "family": "settings.task-workspace", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "16043f76be6c": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "236832733364": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + }, + { + "name": "workspaceAgent", + "value": "codex" + }, + { + "name": "workspaceAgentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + }, + { + "name": "creatingKey", + "value": { + "$rpc": "null" + } + } + ], + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7abdfe20af50": { + "creating": "linear:1", + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "b05ebf557542": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + } + ], + "d5df3f6b123a": { + "creating": { + "$rpc": "null" + }, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-task-workspace-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "7abdfe20af50", + "effects": "b05ebf557542" + } + }, + { + "id": "settled", + "observation": { + "sender": "16043f76be6c", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "d5df3f6b123a", + "effects": "236832733364" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-workspace-transport-error.json b/mobile/rpc-foundation/goldens/settings-task-workspace-transport-error.json new file mode 100644 index 00000000000..c0f129916b9 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-workspace-transport-error.json @@ -0,0 +1,192 @@ +{ + "operation": "settings.task-workspace", + "family": "settings.task-workspace", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "236832733364": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + }, + { + "name": "workspaceAgent", + "value": "codex" + }, + { + "name": "workspaceAgentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + }, + { + "name": "creatingKey", + "value": { + "$rpc": "null" + } + } + ], + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "7abdfe20af50": { + "creating": "linear:1", + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "b05ebf557542": [ + { + "name": "creatingKey", + "value": "linear:1" + }, + { + "name": "error", + "value": "" + } + ], + "d069f81df435": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "d5df3f6b123a": { + "creating": { + "$rpc": "null" + }, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-task-workspace-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "7abdfe20af50", + "effects": "b05ebf557542" + } + }, + { + "id": "settled", + "observation": { + "sender": "d069f81df435", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "d5df3f6b123a", + "effects": "236832733364" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-task-write.json b/mobile/rpc-foundation/goldens/settings-task-write.json new file mode 100644 index 00000000000..65f0ae895c1 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-task-write.json @@ -0,0 +1,133 @@ +{ + "operation": "settings.task-preferences", + "family": "settings-best-effort", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "1e0992e3ef1e": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "write disconnected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "5db909d58c6f": { + "preset": "assigned" + }, + "a4cc6c82ee53": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "write": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "b26f6d594d62": [ + { + "name": "defaultGitHubPreset", + "value": "assigned" + } + ], + "c48c361670b0": [ + { + "name": "settings.update#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.update\",\"params\":{\"defaultTaskViewPreset\":\"assigned\"}}" + } + ], + "e02c44633084": [ + { + "name": "settings.update#1", + "args": [ + { + "name": "method", + "value": "settings.update" + }, + { + "name": "params", + "value": { + "defaultTaskViewPreset": "assigned" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ] + }, + "recording": { + "scenario": "settings-task-write", + "checkpoints": [ + { + "id": "optimistic", + "observation": { + "sender": "e02c44633084", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + }, + { + "id": "settled", + "observation": { + "sender": "1e0992e3ef1e", + "payloads": "c48c361670b0", + "settlements": "a4cc6c82ee53", + "state": "5db909d58c6f", + "effects": "b26f6d594d62" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-workspace-context-fulfilled.json b/mobile/rpc-foundation/goldens/settings-workspace-context-fulfilled.json new file mode 100644 index 00000000000..63cd32714d7 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-workspace-context-fulfilled.json @@ -0,0 +1,331 @@ +{ + "operation": "settings.workspace-context", + "family": "settings.workspace-context", + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "2a7485a88169": { + "providers": ["github"], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "trust": {} + }, + "4f53cda18c2b": [], + "7076fb41232c": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7e236d701bd4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "edae57429e34": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f6a09f8c5b85": { + "providers": [], + "settings": { + "$rpc": "null" + }, + "trust": {} + } + }, + "recording": { + "scenario": "settings-workspace-context-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-workspace-context-refuse-after-data.json b/mobile/rpc-foundation/goldens/settings-workspace-context-refuse-after-data.json new file mode 100644 index 00000000000..c9229582970 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-workspace-context-refuse-after-data.json @@ -0,0 +1,940 @@ +{ + "operation": "settings.workspace-context", + "family": "settings.workspace-context", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "2a7485a88169": { + "providers": ["github"], + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + }, + "trust": {} + }, + "3ee7bea0470d": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "blur": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "revisit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "4f53cda18c2b": [], + "60fdc69b3ee5": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#2", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "7076fb41232c": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7d7f0d2cb674": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + }, + { + "name": "preflight.check#2", + "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#2", + "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#2", + "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#2", + "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7e236d701bd4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "d5bfc5b033a8": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + }, + { + "name": "preflight.check#2", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-5", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#2", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-6", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#2", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-7", + "ok": false + } + } + }, + { + "name": "ui.get#2", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-8", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "edae57429e34": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-3", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f6a09f8c5b85": { + "providers": [], + "settings": { + "$rpc": "null" + }, + "trust": {} + } + }, + "recording": { + "scenario": "settings-workspace-context-refuse-after-data", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "data-present", + "observation": { + "sender": "edae57429e34", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "refresh-pending", + "observation": { + "sender": "60fdc69b3ee5", + "payloads": "7d7f0d2cb674", + "settlements": "3ee7bea0470d", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + }, + { + "id": "refused-after-data", + "observation": { + "sender": "d5bfc5b033a8", + "payloads": "7d7f0d2cb674", + "settlements": "3ee7bea0470d", + "state": "2a7485a88169", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-workspace-context-refused.json b/mobile/rpc-foundation/goldens/settings-workspace-context-refused.json new file mode 100644 index 00000000000..e29f1d4cfed --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-workspace-context-refused.json @@ -0,0 +1,322 @@ +{ + "operation": "settings.workspace-context", + "family": "settings.workspace-context", + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3a834cb85dd8": { + "providers": ["github"], + "settings": { + "$rpc": "null" + }, + "trust": {} + }, + "4f53cda18c2b": [], + "7076fb41232c": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7e236d701bd4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "96691837821b": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-3", + "ok": false + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f6a09f8c5b85": { + "providers": [], + "settings": { + "$rpc": "null" + }, + "trust": {} + } + }, + "recording": { + "scenario": "settings-workspace-context-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "96691837821b", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-workspace-context-transport-error.json b/mobile/rpc-foundation/goldens/settings-workspace-context-transport-error.json new file mode 100644 index 00000000000..8d0cf1556d1 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-workspace-context-transport-error.json @@ -0,0 +1,319 @@ +{ + "operation": "settings.workspace-context", + "family": "settings.workspace-context", + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0131611322e3": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "3a834cb85dd8": { + "providers": ["github"], + "settings": { + "$rpc": "null" + }, + "trust": {} + }, + "4f53cda18c2b": [], + "7076fb41232c": [ + { + "name": "preflight.check#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}" + }, + { + "name": "linear.status#1", + "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}" + }, + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + }, + { + "name": "ui.get#1", + "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}" + } + ], + "7e236d701bd4": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "86f1b091bb72": [ + { + "name": "preflight.check#1", + "args": [ + { + "name": "method", + "value": "preflight.check" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + } + }, + { + "name": "linear.status#1", + "args": [ + { + "name": "method", + "value": "linear.status" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-2", + "ok": true, + "result": { + "connected": false + } + } + } + }, + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + }, + { + "name": "ui.get#1", + "args": [ + { + "name": "method", + "value": "ui.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-4", + "ok": true, + "result": { + "ui": {} + } + } + } + } + ], + "f6a09f8c5b85": { + "providers": [], + "settings": { + "$rpc": "null" + }, + "trust": {} + } + }, + "recording": { + "scenario": "settings-workspace-context-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "7e236d701bd4", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "f6a09f8c5b85", + "effects": "4f53cda18c2b" + } + }, + { + "id": "settled", + "observation": { + "sender": "86f1b091bb72", + "payloads": "7076fb41232c", + "settlements": "0131611322e3", + "state": "3a834cb85dd8", + "effects": "4f53cda18c2b" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-workspace-submit-fulfilled.json b/mobile/rpc-foundation/goldens/settings-workspace-submit-fulfilled.json new file mode 100644 index 00000000000..058b7b70ae3 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-workspace-submit-fulfilled.json @@ -0,0 +1,201 @@ +{ + "operation": "settings.workspace-submit", + "family": "settings.workspace-submit", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "13c996e4ec2b": { + "creating": true, + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "5efbd884ea5a": { + "creating": false, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "9db655095867": [ + { + "name": "error", + "value": "" + }, + { + "name": "runtimeSettings", + "value": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + }, + { + "name": "selectedAgent", + "value": { + "id": "codex", + "label": "Codex" + } + }, + { + "name": "agentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + } + ], + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "a7af6ac4ce05": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "id": "frame-1", + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": ["claude"], + "hostSettingOverrides": {}, + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"] + } + } + } + } + } + ], + "c0cb3df4feef": [ + { + "name": "error", + "value": "" + } + ], + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-workspace-submit-fulfilled", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "13c996e4ec2b", + "effects": "c0cb3df4feef" + } + }, + { + "id": "settled", + "observation": { + "sender": "a7af6ac4ce05", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "5efbd884ea5a", + "effects": "9db655095867" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-workspace-submit-refused.json b/mobile/rpc-foundation/goldens/settings-workspace-submit-refused.json new file mode 100644 index 00000000000..be51bb8fa8c --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-workspace-submit-refused.json @@ -0,0 +1,182 @@ +{ + "operation": "settings.workspace-submit", + "family": "settings.workspace-submit", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0e315dbfe7a8": [ + { + "name": "error", + "value": "" + }, + { + "name": "selectedAgent", + "value": { + "id": "codex", + "label": "Codex" + } + }, + { + "name": "agentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + } + ], + "13c996e4ec2b": { + "creating": true, + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "16043f76be6c": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "error": { + "code": "refused", + "message": "settings refused" + }, + "id": "frame-1", + "ok": false + } + } + } + ], + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "2e8e352c8dd1": { + "creating": false, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "c0cb3df4feef": [ + { + "name": "error", + "value": "" + } + ], + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-workspace-submit-refused", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "13c996e4ec2b", + "effects": "c0cb3df4feef" + } + }, + { + "id": "settled", + "observation": { + "sender": "16043f76be6c", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "2e8e352c8dd1", + "effects": "0e315dbfe7a8" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/goldens/settings-workspace-submit-transport-error.json b/mobile/rpc-foundation/goldens/settings-workspace-submit-transport-error.json new file mode 100644 index 00000000000..04f6755ffe7 --- /dev/null +++ b/mobile/rpc-foundation/goldens/settings-workspace-submit-transport-error.json @@ -0,0 +1,179 @@ +{ + "operation": "settings.workspace-submit", + "family": "settings.workspace-submit", + "namedDeltas": [], + "runnerVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571", + "recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718", + "platform": "darwin", + "scenarioVersion": 1, + "projectionVersion": 2, + "goldenFormatVersion": 2, + "values": { + "0e315dbfe7a8": [ + { + "name": "error", + "value": "" + }, + { + "name": "selectedAgent", + "value": { + "id": "codex", + "label": "Codex" + } + }, + { + "name": "agentOverridden", + "value": false + }, + { + "name": "error", + "value": "Selected agent is disabled. Choose an enabled agent before creating." + } + ], + "13c996e4ec2b": { + "creating": true, + "error": "", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "1f2f2a0a5737": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "pending", + "startedAt": 0 + } + } + ], + "2e8e352c8dd1": { + "creating": false, + "error": "Selected agent is disabled. Choose an enabled agent before creating.", + "settings": { + "disabledTuiAgents": ["claude"] + } + }, + "6dfef4ef572b": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + } + }, + "9e493785145e": [ + { + "name": "settings.get#1", + "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}" + } + ], + "c0cb3df4feef": [ + { + "name": "error", + "value": "" + } + ], + "d069f81df435": [ + { + "name": "settings.get#1", + "args": [ + { + "name": "method", + "value": "settings.get" + }, + { + "name": "params", + "value": { + "$rpc": "absent" + } + }, + { + "name": "options", + "value": { + "$rpc": "absent" + } + } + ], + "settlement": { + "status": "rejected", + "startedAt": 0, + "settledAt": 0, + "error": { + "category": "Error", + "message": "settings disconnected", + "isRpcDeliveryUnknown": true + } + } + } + ], + "f117d93cf44a": { + "mount": { + "status": "fulfilled", + "startedAt": 0, + "settledAt": 0, + "value": { + "$rpc": "undefined" + } + }, + "submit": { + "status": "pending", + "startedAt": 0 + } + } + }, + "recording": { + "scenario": "settings-workspace-submit-transport-error", + "checkpoints": [ + { + "id": "settings-pending", + "observation": { + "sender": "1f2f2a0a5737", + "payloads": "9e493785145e", + "settlements": "f117d93cf44a", + "state": "13c996e4ec2b", + "effects": "c0cb3df4feef" + } + }, + { + "id": "settled", + "observation": { + "sender": "d069f81df435", + "payloads": "9e493785145e", + "settlements": "6dfef4ef572b", + "state": "2e8e352c8dd1", + "effects": "0e315dbfe7a8" + } + } + ] + } +} diff --git a/mobile/rpc-foundation/live-probe/mock-desktop-settings-reply-modes.patch b/mobile/rpc-foundation/live-probe/mock-desktop-settings-reply-modes.patch new file mode 100644 index 00000000000..1964b4bc9f1 --- /dev/null +++ b/mobile/rpc-foundation/live-probe/mock-desktop-settings-reply-modes.patch @@ -0,0 +1,52 @@ +diff --git a/mobile/scripts/mock-server-rpc-handlers.ts b/mobile/scripts/mock-server-rpc-handlers.ts +index f67db5bc2f2..5049bd9d143 100644 +--- a/mobile/scripts/mock-server-rpc-handlers.ts ++++ b/mobile/scripts/mock-server-rpc-handlers.ts +@@ -165,17 +165,37 @@ export function handleRequest( + respond(success(request.id, { repos: FAKE_REPOS })) + break + +- case 'settings.get': +- respond( +- success(request.id, { +- settings: { +- defaultTuiAgent: 'codex', +- disabledTuiAgents: [], +- agentCmdOverrides: {} +- } +- }) +- ) ++ case 'settings.get': { ++ // MOCK_SETTINGS_GET_MODE drives runtime validation of the refusal/null/absent branches. ++ const mode = process.env.MOCK_SETTINGS_GET_MODE ?? 'ok' ++ if (mode === 'refused') { ++ respond(error(request.id, 'refused', 'settings refused')) ++ } else if (mode === 'method-not-found') { ++ respond(error(request.id, 'method_not_found', 'Unknown method')) ++ } else if (mode === 'null-result') { ++ respond(success(request.id, null)) ++ } else if (mode === 'absent-result') { ++ const resp = success(request.id, undefined) ++ delete (resp as { result?: unknown }).result ++ respond(resp) ++ } else if (mode === 'absent-settings') { ++ respond(success(request.id, {})) ++ } else if (mode === 'drop') { ++ // Mid-request disconnect: never answer, then close the socket. ++ setTimeout(() => ws.close(), 50) ++ } else { ++ respond( ++ success(request.id, { ++ settings: { ++ defaultTuiAgent: 'codex', ++ disabledTuiAgents: [], ++ agentCmdOverrides: {} ++ } ++ }) ++ ) ++ } + break ++ } + + case 'settings.getTerminalQuickCommands': + respond(success(request.id, { terminalQuickCommands: fakeQuickCommands })) diff --git a/mobile/rpc-foundation/live-probe/settings-get-reply-probe.mts b/mobile/rpc-foundation/live-probe/settings-get-reply-probe.mts new file mode 100644 index 00000000000..081ec7d07cf --- /dev/null +++ b/mobile/rpc-foundation/live-probe/settings-get-reply-probe.mts @@ -0,0 +1,130 @@ +// Runtime probe: real mock-desktop settings.get replies through the migrated acceptance layer. +import WebSocket from 'ws' +import nacl from 'tweetnacl' +import { readFileSync } from 'node:fs' +import { deriveSharedKey, e2eeDecrypt, e2eeEncrypt } from '../../scripts/mock-server-encryption.ts' +import { + botOverridesRead, + newTabSettingsRead, + optionalSettingsRead, + settingsRead +} from '../../src/transport/settings-read-operations.ts' + +const PORT = Number(process.env.PORT) || 6768 +const KEY_FILE = process.env.MOCK_SERVER_KEY_FILE! +const serverPublic = nacl.box.keyPair.fromSecretKey( + Uint8Array.from(Buffer.from(readFileSync(KEY_FILE, 'utf-8').trim(), 'base64')) +).publicKey + +function rawReply(): Promise { + const kp = nacl.box.keyPair() + const key = deriveSharedKey(kp.secretKey, serverPublic) + const ws = new WebSocket(`ws://127.0.0.1:${PORT}`) + return new Promise((resolve, reject) => { + let settled = false + const finish = (value: unknown) => { + if (!settled) { + settled = true + try { + ws.close() + } catch {} + resolve(value) + } + } + const timer = setTimeout(() => finish({ __outcome: 'no-reply-timeout' }), 5000) + ws.on('open', () => + ws.send( + JSON.stringify({ + type: 'e2ee_hello', + publicKeyB64: Buffer.from(kp.publicKey).toString('base64') + }) + ) + ) + ws.on('close', () => { + clearTimeout(timer) + finish({ __outcome: 'socket-closed-before-reply' }) + }) + ws.on('error', (e) => { + clearTimeout(timer) + if (!settled) { + settled = true + reject(e) + } + }) + ws.on('message', (data) => { + const text = data.toString('utf-8') + if (text.startsWith('{"type":"e2ee_ready"')) { + ws.send( + e2eeEncrypt(JSON.stringify({ type: 'e2ee_auth', deviceToken: 'mock-device-token' }), key) + ) + return + } + const plain = e2eeDecrypt(text, key) + if (plain === null) { + return + } + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the probe prints whatever the host sent, so the frame is read as a bag of fields. + const frame = JSON.parse(plain) as { type?: string; id?: string } + if (frame.type === 'e2ee_authenticated') { + ws.send( + e2eeEncrypt( + JSON.stringify({ id: 'probe-1', method: 'settings.get', token: 'mock-device-token' }), + key + ) + ) + return + } + if (frame.id === 'probe-1') { + clearTimeout(timer) + finish(frame) + } + }) + }) +} + +function describe(label: string, run: () => unknown): string { + try { + const value = run() + return `${label}=${JSON.stringify(value)}` + } catch (error) { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a thrown value is not an Error by type; only its constructor name and message are printed. + return `${label}=THREW ${(error as Error).constructor.name}: ${(error as Error).message}` + } +} + +// oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the probe substitutes one recorded reply for the whole client surface. +const reply = (await rawReply()) as Record +// oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the probe substitutes one recorded reply for the whole client surface. +const client = { + sendRequest: async () => reply +} as unknown as Parameters[0] + +const lines: string[] = [`mode=${process.env.MOCK_SETTINGS_GET_MODE ?? 'ok'}`] +lines.push(`wireReply=${JSON.stringify(reply)}`) +if (reply.__outcome) { + lines.push('interpret=skipped (no reply frame)') +} else { + for (const [name, op] of [ + ['settingsRead', settingsRead], + ['optionalSettingsRead', optionalSettingsRead], + ['botOverridesRead', botOverridesRead], + ['newTabSettingsRead', newTabSettingsRead] + ] as const) { + const response = await op.request(client) + lines.push( + describe(name, () => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: each operation is driven through its own declared reply type in turn. + const outcome = op.interpret(response as never) as + | (() => unknown) + | { accepted?: boolean; value?: unknown } + // new-tab acceptance returns a deferred reader, not an accept envelope. + if (typeof outcome === 'function') { + return { deferred: outcome() } + } + const value = typeof outcome?.value === 'function' ? outcome.value() : outcome?.value + return outcome?.accepted === undefined ? value : { accepted: outcome.accepted, value } + }) + ) + } +} +process.stdout.write(lines.join('\n') + '\n') diff --git a/mobile/rpc-foundation/pilot-scenarios.json b/mobile/rpc-foundation/pilot-scenarios.json new file mode 100644 index 00000000000..e8ac6a3e3fd --- /dev/null +++ b/mobile/rpc-foundation/pilot-scenarios.json @@ -0,0 +1,3505 @@ +{ + "schemaVersion": 1, + "baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80", + "scenarios": [ + { + "id": "b1", + "operation": "workspace.file-inventory", + "version": 1, + "family": "legacy-inventory", + "sites": ["mobile/src/session/use-mobile-native-chat-file-search.ts"], + "schedules": ["a-b-a", "stale-inflight-cleanup"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "query", + "id": "old", + "args": { + "query": "old" + } + }, + { + "advance": 120 + }, + { + "complete": "files.searchPaths#1", + "params": { + "worktree": "id:A", + "query": "old", + "limit": 16 + }, + "reply": { + "ok": false, + "error": { + "code": "method_not_found", + "message": "Unknown method" + } + } + }, + { + "bind": "old-inventory", + "request": "files.list#1", + "params": { + "worktree": "id:A" + } + }, + { + "checkpoint": "old-pending" + }, + { + "action": "select", + "id": "select-b", + "args": { + "workspace": "B" + } + }, + { + "action": "select", + "id": "reset-a", + "args": { + "workspace": "A" + } + }, + { + "action": "query", + "id": "fresh", + "args": { + "query": "fresh" + } + }, + { + "advance": 120 + }, + { + "complete": "files.searchPaths#2", + "params": { + "worktree": "id:A", + "query": "fresh", + "limit": 16 + }, + "reply": { + "ok": false, + "error": { + "code": "method_not_found", + "message": "Unknown method" + } + } + }, + { + "bind": "fresh-inventory", + "request": "files.list#2", + "params": { + "worktree": "id:A" + } + }, + { + "complete": "old-inventory", + "params": { + "worktree": "id:A" + }, + "reply": { + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + }, + { + "checkpoint": "stale-arrived-fresh-pending" + }, + { + "action": "query", + "id": "third", + "args": { + "query": "third" + } + }, + { + "advance": 120 + }, + { + "checkpoint": "third-query" + }, + { + "complete": "fresh-inventory", + "params": { + "worktree": "id:A" + }, + "reply": { + "ok": true, + "result": { + "files": [ + { + "relativePath": "fresh.ts" + }, + { + "relativePath": "third.ts" + } + ] + } + } + }, + { + "checkpoint": "fresh-arrived" + } + ] + }, + { + "id": "b2", + "operation": "project.update-metadata", + "version": 1, + "family": "project-explicit-false", + "sites": ["mobile/src/tasks/use-mobile-tasks-project-metadata-actions.tsx"], + "schedules": [], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "submit", + "id": "submit" + }, + { + "checkpoint": "pending" + }, + { + "complete": "github.project.updateIssueBySlug#1", + "params": { + "owner": "owner", + "repo": "repo", + "host": "github.enterprise.test", + "number": 1, + "updates": { + "addLabels": ["recorded"] + } + }, + "reply": { + "ok": true, + "result": null + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "b3", + "operation": "linear.issue-detail", + "version": 1, + "family": "linear-detail-barrier", + "sites": ["mobile/src/tasks/use-mobile-tasks-item-detail-loading.tsx"], + "schedules": ["issue-first", "peer-pending"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "pending" + }, + { + "complete": "linear.getIssue#1", + "params": { + "id": "issue-1", + "workspaceId": "linear-workspace" + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "issue refused" + } + } + }, + { + "checkpoint": "issue-refused-comments-pending" + }, + { + "complete": "linear.issueComments#1", + "params": { + "issueId": "issue-1", + "workspaceId": "linear-workspace" + }, + "reject": { + "message": "comments transport error", + "deliveryUnknown": true + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-new-tab-ssh", + "operation": "settings.new-tab-agents", + "version": 1, + "family": "settings-agent-read", + "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "pending" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "defaultTuiAgent": "codex", + "disabledTuiAgents": [] + } + } + } + }, + { + "complete": "preflight.detectRemoteAgents#1", + "params": { + "connectionId": "ssh-1" + }, + "reply": { + "ok": true, + "result": ["codex", "claude"] + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-task-write", + "operation": "settings.task-preferences", + "version": 1, + "family": "settings-best-effort", + "sites": ["mobile/src/tasks/use-mobile-tasks-client-settings-actions.tsx"], + "schedules": [], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "write", + "id": "write", + "args": { + "preset": "assigned" + } + }, + { + "checkpoint": "optimistic" + }, + { + "complete": "settings.update#1", + "params": { + "defaultTaskViewPreset": "assigned" + }, + "reject": { + "message": "write disconnected", + "deliveryUnknown": true + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-bot-overrides-fulfilled", + "operation": "settings.bot-overrides", + "version": 1, + "family": "settings.bot-overrides", + "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-bot-overrides-refused", + "operation": "settings.bot-overrides", + "version": 1, + "family": "settings.bot-overrides", + "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-bot-overrides-transport-error", + "operation": "settings.bot-overrides", + "version": 1, + "family": "settings.bot-overrides", + "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-workspace-context-fulfilled", + "operation": "settings.workspace-context", + "version": 1, + "family": "settings.workspace-context", + "sites": ["mobile/src/components/use-new-workspace-runtime-context.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ], + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"] + }, + { + "id": "settings-workspace-context-refused", + "operation": "settings.workspace-context", + "version": 1, + "family": "settings.workspace-context", + "sites": ["mobile/src/components/use-new-workspace-runtime-context.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ], + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"] + }, + { + "id": "settings-workspace-context-transport-error", + "operation": "settings.workspace-context", + "version": 1, + "family": "settings.workspace-context", + "sites": ["mobile/src/components/use-new-workspace-runtime-context.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ], + "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"] + }, + { + "id": "settings-home-providers-fulfilled", + "operation": "settings.home-providers", + "version": 1, + "family": "settings.home-providers", + "sites": ["mobile/src/home/mobile-home-host-requests.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-home-providers-refused", + "operation": "settings.home-providers", + "version": 1, + "family": "settings.home-providers", + "sites": ["mobile/src/home/mobile-home-host-requests.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-home-providers-transport-error", + "operation": "settings.home-providers", + "version": 1, + "family": "settings.home-providers", + "sites": ["mobile/src/home/mobile-home-host-requests.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-resume-metadata-fulfilled", + "operation": "settings.resume-metadata", + "version": 1, + "family": "settings.resume-metadata", + "sites": ["mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [] + } + } + }, + { + "complete": "folderWorkspace.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + }, + { + "complete": "projectGroup.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "groups": [] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "worktree.ps#1", + "params": { + "limit": 10000, + "supportsWorktreeVisibilitySourceDefaults": true + }, + "reply": { + "ok": true, + "result": { + "worktrees": [] + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-resume-metadata-refused", + "operation": "settings.resume-metadata", + "version": 1, + "family": "settings.resume-metadata", + "sites": ["mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [] + } + } + }, + { + "complete": "folderWorkspace.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + }, + { + "complete": "projectGroup.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "groups": [] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "worktree.ps#1", + "params": { + "limit": 10000, + "supportsWorktreeVisibilitySourceDefaults": true + }, + "reply": { + "ok": true, + "result": { + "worktrees": [] + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-resume-metadata-transport-error", + "operation": "settings.resume-metadata", + "version": 1, + "family": "settings.resume-metadata", + "sites": ["mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [] + } + } + }, + { + "complete": "folderWorkspace.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + }, + { + "complete": "projectGroup.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "groups": [] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "complete": "worktree.ps#1", + "params": { + "limit": 10000, + "supportsWorktreeVisibilitySourceDefaults": true + }, + "reply": { + "ok": true, + "result": { + "worktrees": [] + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-repo-metadata-fulfilled", + "operation": "settings.repo-metadata", + "version": 1, + "family": "settings.repo-metadata", + "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "displayName": "Local", + "connectionId": null + }, + { + "id": "repo-2", + "displayName": "Remote", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "ssh.listTargetSummaries#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "host.platform#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "platform": "linux" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-repo-metadata-refused", + "operation": "settings.repo-metadata", + "version": 1, + "family": "settings.repo-metadata", + "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "displayName": "Local", + "connectionId": null + }, + { + "id": "repo-2", + "displayName": "Remote", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "ssh.listTargetSummaries#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "host.platform#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "platform": "linux" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-repo-metadata-transport-error", + "operation": "settings.repo-metadata", + "version": 1, + "family": "settings.repo-metadata", + "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "displayName": "Local", + "connectionId": null + }, + { + "id": "repo-2", + "displayName": "Remote", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "ssh.listTargetSummaries#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "complete": "host.platform#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "platform": "linux" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-task-hydration-fulfilled", + "operation": "settings.task-hydration", + "version": 1, + "family": "settings.task-hydration", + "sites": ["mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "complete": "status.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-task-hydration-refused", + "operation": "settings.task-hydration", + "version": 1, + "family": "settings.task-hydration", + "sites": ["mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "complete": "status.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-task-hydration-transport-error", + "operation": "settings.task-hydration", + "version": 1, + "family": "settings.task-hydration", + "sites": ["mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "complete": "status.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-workspace-submit-fulfilled", + "operation": "settings.workspace-submit", + "version": 1, + "family": "settings.workspace-submit", + "sites": ["mobile/src/components/use-new-workspace-create-submit.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "submit", + "id": "submit" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-workspace-submit-refused", + "operation": "settings.workspace-submit", + "version": 1, + "family": "settings.workspace-submit", + "sites": ["mobile/src/components/use-new-workspace-create-submit.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "submit", + "id": "submit" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-workspace-submit-transport-error", + "operation": "settings.workspace-submit", + "version": 1, + "family": "settings.workspace-submit", + "sites": ["mobile/src/components/use-new-workspace-create-submit.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "submit", + "id": "submit" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-task-workspace-fulfilled", + "operation": "settings.task-workspace", + "version": 1, + "family": "settings.task-workspace", + "sites": ["mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "submit", + "id": "submit" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-task-workspace-refused", + "operation": "settings.task-workspace", + "version": 1, + "family": "settings.task-workspace", + "sites": ["mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "submit", + "id": "submit" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-task-workspace-transport-error", + "operation": "settings.task-workspace", + "version": 1, + "family": "settings.task-workspace", + "sites": ["mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "submit", + "id": "submit" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-new-tab-refused", + "operation": "settings.new-tab-agents", + "version": 1, + "family": "settings-agent-read", + "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "pending" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "preflight.detectRemoteAgents#1", + "params": { + "connectionId": "ssh-1" + }, + "reply": { + "ok": true, + "result": ["codex", "claude"] + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-new-tab-transport-error", + "operation": "settings.new-tab-agents", + "version": 1, + "family": "settings-agent-read", + "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"], + "schedules": ["settings-first"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "pending" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "complete": "preflight.detectRemoteAgents#1", + "params": { + "connectionId": "ssh-1" + }, + "reply": { + "ok": true, + "result": ["codex", "claude"] + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "settings-home-coalesced", + "operation": "settings.home-providers", + "version": 1, + "family": "settings.home-providers", + "sites": ["mobile/src/home/mobile-home-host-requests.ts"], + "schedules": ["stale-inflight-cleanup", "follow-up-cache-observation"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "action": "load", + "id": "overlapping-load" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + }, + { + "complete": "settings.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "preflight.check#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "follow-up-settled" + }, + { + "action": "load", + "id": "third-load" + }, + { + "checkpoint": "third-query" + } + ] + }, + { + "id": "settings-repo-cache-expiry", + "operation": "settings.repo-metadata", + "version": 1, + "family": "settings.repo-metadata", + "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"], + "schedules": ["follow-up-cache-observation", "timer-expiry"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "displayName": "Local", + "connectionId": null + }, + { + "id": "repo-2", + "displayName": "Remote", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "ssh.listTargetSummaries#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "host.platform#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "platform": "linux" + } + } + }, + { + "checkpoint": "settled" + }, + { + "action": "load-cached", + "id": "cached-query" + }, + { + "checkpoint": "cache-hit" + }, + { + "advance": 59000 + }, + { + "action": "load-cached", + "id": "warm-query" + }, + { + "checkpoint": "cache-warm" + }, + { + "advance": 1000 + }, + { + "action": "load-cached", + "id": "expired-query" + }, + { + "checkpoint": "cache-expired" + } + ] + }, + { + "id": "inventory-lifecycle", + "operation": "workspace.file-inventory", + "version": 1, + "family": "legacy-inventory", + "sites": ["mobile/src/session/use-mobile-native-chat-file-search.ts"], + "schedules": ["reset", "unmount-remount", "blur-retained-route"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "query", + "id": "old", + "args": { + "query": "old" + } + }, + { + "advance": 120 + }, + { + "complete": "files.searchPaths#1", + "params": { + "worktree": "id:A", + "query": "old", + "limit": 16 + }, + "reply": { + "ok": false, + "error": { + "code": "method_not_found", + "message": "Unknown method" + } + } + }, + { + "bind": "old-inventory", + "request": "files.list#1", + "params": { + "worktree": "id:A" + } + }, + { + "complete": "old-inventory", + "params": { + "worktree": "id:A" + }, + "reply": { + "ok": true, + "result": { + "files": [ + { + "relativePath": "old.ts" + } + ] + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "inventory-repeat-query", + "operation": "workspace.file-inventory", + "version": 1, + "family": "legacy-inventory", + "sites": ["mobile/src/session/use-mobile-native-chat-file-search.ts"], + "schedules": ["normalized-repeat", "cache-cancels-debounce", "cache-stales-inflight"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "query", + "id": "alpha", + "args": { + "query": " ALPHA " + } + }, + { + "advance": 120 + }, + { + "complete": "files.searchPaths#1", + "params": { + "worktree": "id:A", + "query": "alpha", + "limit": 16 + }, + "reply": { + "ok": true, + "result": { + "files": [ + { + "relativePath": "alpha.ts" + } + ] + } + } + }, + { + "action": "query", + "id": "beta", + "args": { + "query": "beta" + } + }, + { + "advance": 120 + }, + { + "complete": "files.searchPaths#2", + "params": { + "worktree": "id:A", + "query": "beta", + "limit": 16 + }, + "reply": { + "ok": true, + "result": { + "files": [ + { + "relativePath": "beta.ts" + } + ] + } + } + }, + { + "action": "query", + "id": "gamma", + "args": { + "query": "gamma" + } + }, + { + "advance": 120 + }, + { + "bind": "stale-search", + "request": "files.searchPaths#3", + "params": { + "worktree": "id:A", + "query": "gamma", + "limit": 16 + } + }, + { + "action": "query", + "id": "repeat-alpha", + "args": { + "query": "alpha" + } + }, + { + "checkpoint": "cached-alpha" + }, + { + "complete": "stale-search", + "params": { + "worktree": "id:A", + "query": "gamma", + "limit": 16 + }, + "reply": { + "ok": true, + "result": { + "files": [ + { + "relativePath": "gamma.ts" + } + ] + } + } + }, + { + "checkpoint": "stale-search-ignored" + }, + { + "action": "query", + "id": "delta", + "args": { + "query": "delta" + } + }, + { + "action": "query", + "id": "repeat-beta", + "args": { + "query": " BETA " + } + }, + { + "advance": 120 + }, + { + "checkpoint": "cached-beta-cancels-debounce" + } + ] + }, + { + "id": "settings-repo-metadata-single-host", + "operation": "settings.repo-metadata", + "version": 1, + "family": "settings.repo-metadata", + "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"], + "schedules": ["single-ssh-host"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "displayName": "Remote", + "connectionId": "ssh-1" + }, + { + "id": "repo-2", + "displayName": "Remote folder", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "checkpoint": "single-host-without-label-lookups" + } + ] + }, + { + "id": "settings-bot-overrides-refresh-refused", + "operation": "settings.bot-overrides", + "version": 1, + "family": "settings.bot-overrides", + "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"], + "schedules": ["success-then-refused"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "checkpoint": "settled" + }, + { + "action": "reset", + "id": "refresh" + }, + { + "checkpoint": "refresh-pending" + }, + { + "complete": "settings.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "Settings refused" + } + } + }, + { + "checkpoint": "refused-retains-overrides" + } + ] + }, + { + "id": "settings-workspace-context-refuse-after-data", + "operation": "settings.workspace-context", + "version": 1, + "family": "settings.workspace-context", + "sites": ["mobile/src/components/use-new-workspace-runtime-context.ts"], + "schedules": ["success-then-refused"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + }, + { + "checkpoint": "data-present" + }, + { + "action": "blur", + "id": "blur" + }, + { + "action": "reset", + "id": "revisit" + }, + { + "checkpoint": "refresh-pending" + }, + { + "complete": "settings.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "ui.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "refused-after-data" + } + ] + }, + { + "id": "settings-home-providers-refuse-after-data", + "operation": "settings.home-providers", + "version": 1, + "family": "settings.home-providers", + "sites": ["mobile/src/home/mobile-home-host-requests.ts"], + "schedules": ["success-then-refused"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + }, + { + "checkpoint": "data-present" + }, + { + "action": "load", + "id": "reload" + }, + { + "checkpoint": "refresh-pending" + }, + { + "complete": "settings.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "preflight.check#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "refused-after-data" + } + ] + }, + { + "id": "settings-resume-metadata-refuse-after-data", + "operation": "settings.resume-metadata", + "version": 1, + "family": "settings.resume-metadata", + "sites": ["mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx"], + "schedules": ["success-then-refused"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [] + } + } + }, + { + "complete": "folderWorkspace.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + }, + { + "complete": "projectGroup.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "groups": [] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "worktree.ps#1", + "params": { + "limit": 10000, + "supportsWorktreeVisibilitySourceDefaults": true + }, + "reply": { + "ok": true, + "result": { + "worktrees": [] + } + } + }, + { + "checkpoint": "settled" + }, + { + "checkpoint": "data-present" + }, + { + "action": "load", + "id": "reload" + }, + { + "checkpoint": "refresh-pending" + }, + { + "complete": "repo.list#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [] + } + } + }, + { + "complete": "folderWorkspace.list#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "folderWorkspaces": [] + } + } + }, + { + "complete": "projectGroup.list#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "groups": [] + } + } + }, + { + "complete": "settings.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "worktree.ps#2", + "params": { + "limit": 10000, + "supportsWorktreeVisibilitySourceDefaults": true + }, + "reply": { + "ok": true, + "result": { + "worktrees": [] + } + } + }, + { + "checkpoint": "refused-after-data" + } + ] + }, + { + "id": "settings-repo-metadata-refuse-after-data", + "operation": "settings.repo-metadata", + "version": 1, + "family": "settings.repo-metadata", + "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"], + "schedules": ["success-then-refused"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "action": "load", + "id": "load" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "displayName": "Local", + "connectionId": null + }, + { + "id": "repo-2", + "displayName": "Remote", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "ssh.listTargetSummaries#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "host.platform#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "platform": "linux" + } + } + }, + { + "checkpoint": "settled" + }, + { + "checkpoint": "data-present" + }, + { + "action": "load", + "id": "reload" + }, + { + "checkpoint": "refresh-pending" + }, + { + "complete": "repo.list#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "displayName": "Local", + "connectionId": null + }, + { + "id": "repo-2", + "displayName": "Remote", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "ssh.listTargetSummaries#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "targets": [ + { + "id": "ssh-1", + "label": "SSH" + } + ] + } + } + }, + { + "complete": "settings.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "host.platform#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "platform": "linux" + } + } + }, + { + "checkpoint": "refused-after-data" + } + ] + }, + { + "id": "settings-task-hydration-refuse-after-data", + "operation": "settings.task-hydration", + "version": 1, + "family": "settings.task-hydration", + "sites": ["mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx"], + "schedules": ["success-then-refused"], + "steps": [ + { + "action": "mount", + "id": "mount" + }, + { + "complete": "status.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + }, + { + "checkpoint": "settings-pending" + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "settings": { + "disabledTuiAgents": ["claude"], + "defaultTuiAgent": "codex", + "prBotAuthorOverrides": ["bot-user"], + "visibleTaskProviders": ["github", "linear"], + "hostSettingOverrides": {} + } + } + } + }, + { + "complete": "ui.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "settled" + }, + { + "checkpoint": "data-present" + }, + { + "action": "remount", + "id": "revisit" + }, + { + "checkpoint": "refresh-pending" + }, + { + "complete": "status.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "capabilities": ["mobile.tasks.v1"] + } + } + }, + { + "complete": "settings.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "ui.get#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "ui": {} + } + } + }, + { + "complete": "preflight.check#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "glab": { + "installed": false + } + } + } + }, + { + "complete": "linear.status#2", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "connected": false + } + } + }, + { + "checkpoint": "refused-after-data" + } + ] + }, + { + "id": "probe-new-tab-both-refused", + "operation": "settings.new-tab-agents", + "version": 1, + "family": "settings-agent-read", + "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"], + "schedules": ["both-refused"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "pending" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "preflight.detectRemoteAgents#1", + "params": { + "connectionId": "ssh-1" + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "agents refused" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "probe-new-tab-refused-sibling-rejects", + "operation": "settings.new-tab-agents", + "version": 1, + "family": "settings-agent-read", + "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"], + "schedules": ["refused-sibling-rejects"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "pending" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "settings refused" + } + } + }, + { + "complete": "preflight.detectRemoteAgents#1", + "params": { + "connectionId": "ssh-1" + }, + "reject": { + "message": "agents disconnected", + "deliveryUnknown": true + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "probe-new-tab-rejects-sibling-refused", + "operation": "settings.new-tab-agents", + "version": 1, + "family": "settings-agent-read", + "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"], + "schedules": ["rejects-sibling-refused"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "pending" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reject": { + "message": "settings disconnected", + "deliveryUnknown": true + } + }, + { + "complete": "preflight.detectRemoteAgents#1", + "params": { + "connectionId": "ssh-1" + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "agents refused" + } + } + }, + { + "checkpoint": "settled" + } + ] + }, + { + "id": "probe-new-tab-null-sibling-refused", + "operation": "settings.new-tab-agents", + "version": 1, + "family": "settings-agent-read", + "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"], + "schedules": ["null-sibling-refused"], + "steps": [ + { + "action": "load", + "id": "load" + }, + { + "checkpoint": "pending" + }, + { + "complete": "repo.list#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": { + "repos": [ + { + "id": "repo-1", + "connectionId": "ssh-1" + } + ] + } + } + }, + { + "complete": "settings.get#1", + "params": { + "$undefined": true + }, + "reply": { + "ok": true, + "result": null + } + }, + { + "complete": "preflight.detectRemoteAgents#1", + "params": { + "connectionId": "ssh-1" + }, + "reply": { + "ok": false, + "error": { + "code": "refused", + "message": "agents refused" + } + } + }, + { + "checkpoint": "settled" + } + ] + } + ] +} diff --git a/mobile/rpc-foundation/settings-recording-coverage.json b/mobile/rpc-foundation/settings-recording-coverage.json new file mode 100644 index 00000000000..8dca7ab2f61 --- /dev/null +++ b/mobile/rpc-foundation/settings-recording-coverage.json @@ -0,0 +1,124 @@ +{ + "manifestCommit": "1d950ab0e0", + "recordingBaseline": "aac38d698ff75ac4c8658addab48ef5a83617619", + "excludedKinds": ["device-preference"], + "operations": [ + { + "manifestOperation": "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387", + "manifestScenarioIds": [ + "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387:fulfilled", + "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387:refused", + "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387:transport-error" + ], + "scenarios": [ + "settings-resume-metadata-fulfilled", + "settings-resume-metadata-refused", + "settings-resume-metadata-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91", + "manifestScenarioIds": [ + "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91:fulfilled", + "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91:refused", + "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91:transport-error" + ], + "scenarios": [ + "settings-workspace-submit-fulfilled", + "settings-workspace-submit-refused", + "settings-workspace-submit-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42", + "manifestScenarioIds": [ + "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42:fulfilled", + "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42:refused", + "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42:transport-error" + ], + "scenarios": [ + "settings-workspace-context-fulfilled", + "settings-workspace-context-refused", + "settings-workspace-context-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76", + "manifestScenarioIds": [ + "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76:fulfilled", + "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76:refused", + "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76:transport-error" + ], + "scenarios": [ + "settings-home-providers-fulfilled", + "settings-home-providers-refused", + "settings-home-providers-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124", + "manifestScenarioIds": [ + "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124:fulfilled", + "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124:refused", + "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124:transport-error" + ], + "scenarios": [ + "settings-repo-metadata-fulfilled", + "settings-repo-metadata-refused", + "settings-repo-metadata-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26", + "manifestScenarioIds": [ + "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26:fulfilled", + "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26:refused", + "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26:transport-error" + ], + "scenarios": [ + "settings-new-tab-ssh", + "settings-new-tab-refused", + "settings-new-tab-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35", + "manifestScenarioIds": [ + "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35:fulfilled", + "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35:refused", + "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35:transport-error" + ], + "scenarios": [ + "settings-bot-overrides-fulfilled", + "settings-bot-overrides-refused", + "settings-bot-overrides-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253", + "manifestScenarioIds": [ + "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253:fulfilled", + "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253:refused", + "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253:transport-error" + ], + "scenarios": [ + "settings-task-hydration-fulfilled", + "settings-task-hydration-refused", + "settings-task-hydration-transport-error" + ] + }, + { + "manifestOperation": "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75", + "manifestScenarioIds": [ + "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75:fulfilled", + "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75:refused", + "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75:transport-error" + ], + "scenarios": [ + "settings-task-workspace-fulfilled", + "settings-task-workspace-refused", + "settings-task-workspace-transport-error" + ] + } + ] +} diff --git a/mobile/scripts/rpc-recording.mts b/mobile/scripts/rpc-recording.mts new file mode 100644 index 00000000000..392a086e621 --- /dev/null +++ b/mobile/scripts/rpc-recording.mts @@ -0,0 +1,70 @@ +import { createRequire } from 'node:module' +import { resolve } from 'node:path' +import { runProcess } from '../../src/shared/child-process/run-process.ts' +import { readScenarios } from '../src/test-support/rpc-recording/scenario-input.ts' + +if (process.argv[2] !== '--record' || process.env.RPC_FOUNDATION_RECORD !== '1') { + throw new Error('Recording requires --record and RPC_FOUNDATION_RECORD=1') +} +const root = resolve(import.meta.dirname, '../..') +const input = readScenarios(resolve(root, 'mobile/rpc-foundation/pilot-scenarios.json')) +const baseline = await runProcess({ + program: 'git', + args: [ + 'diff', + '--quiet', + input.baseline, + '--', + 'mobile/src', + 'src/shared', + 'mobile/pnpm-lock.yaml', + // Only the recorder is exempt, and every golden pins `recorderSha256` over it instead. + ':!mobile/src/test-support/rpc-recording' + ], + cwd: root +}) +if (baseline.code !== 0) { + throw new Error('Product sources or lockfile differ from the pinned main baseline') +} +// Why a second check: `git diff` only sees tracked paths, so an untracked module under the +// guarded trees can change resolution while the baseline check still passes — the golden would +// then carry a pinned baseline header it did not actually record against. +const untracked = await runProcess({ + program: 'git', + args: [ + 'ls-files', + '--others', + '--exclude-standard', + '--', + 'mobile/src', + 'src/shared', + ':!mobile/src/test-support/rpc-recording' + ], + cwd: root +}) +if (untracked.code !== 0) { + throw new Error(`Could not enumerate untracked product sources: ${untracked.stderr}`) +} +if (untracked.stdout.trim() !== '') { + throw new Error( + `Untracked product sources would not be pinned by the baseline:\n${untracked.stdout.trim()}` + ) +} +const require = createRequire(resolve(root, 'mobile/package.json')) +const result = await runProcess({ + program: process.execPath, + args: [ + resolve(require.resolve('vitest/package.json'), '../vitest.mjs'), + 'run', + 'src/test-support/rpc-recording/pilot-recordings.test.ts', + 'src/test-support/rpc-recording/family-recordings.test.ts' + ], + cwd: resolve(root, 'mobile'), + timeoutMs: 120_000, + env: { ...process.env, ORCA_BACKGROUND_LAUNCH: '1', RPC_FOUNDATION_MODE: '--record' } +}) +process.stdout.write(result.stdout) +process.stderr.write(result.stderr) +if (result.code !== 0) { + process.exitCode = 1 +} diff --git a/mobile/src/test-support/rpc-recording/README.md b/mobile/src/test-support/rpc-recording/README.md new file mode 100644 index 00000000000..93e193998ff --- /dev/null +++ b/mobile/src/test-support/rpc-recording/README.md @@ -0,0 +1,247 @@ +# Main RPC recordings + +Test infrastructure only. `pilot-scenarios.json` binds logical operations/actions to small +mount adapters. The adapters execute the actual product modules from the selected source +root, using React's test renderer; they do not reconstruct acceptance or lifecycle logic. +The module loader transpiles the real source with TypeScript and resolves task barrels +lazily so unused native views do not need a device. Accessing an unspecified native import +fails. The history metadata function is exposed to its adapter without rewriting its body. + +The transport reuses `createStableLogicalRpcClient`, `projectMobileRpcRequestParams` +(through that client), `RpcClientRequestTracker`, and the delivery-unknown marker. Hook +mounting follows `use-mobile-native-chat-file-search.test.ts`; physical session mounting +follows `stable-logical-rpc-client.test.ts`. Neither test exported a reusable mount utility. + +## Scenario actions + +```json +{"action":"mount","id":"mount"} +{"action":"query","id":"old-query","args":{"query":"old"}} +{"advance":120} +{"complete":"files.searchPaths#1","params":{"worktree":"id:A","query":"old","limit":16},"reply":{"ok":false,"error":{"code":"method_not_found","message":"Unknown method"}}} +{"bind":"old-inventory","request":"files.list#1","params":{"worktree":"id:A"}} +{"checkpoint":"pending"} +{"action":"select","id":"select-b","args":{"workspace":"B"}} +{"action":"select","id":"reset-a","args":{"workspace":"A"}} +{"complete":"old-inventory","params":{"worktree":"id:A"},"reply":{"ok":true,"result":{"files":[]}}} +{"checkpoint":"stale-completed"} +``` + +`{"$undefined":true}` in the input means explicit undefined, including an own property; +absence remains absence. Completion params are asserted against projected sender params. +Concurrent requests of one method require a logical binding and asserted params; random +wire ids never identify completions. Timers only advance explicitly, and zero-time drains +flush due timers, promise continuations, and React work after every step. Date, performance, +Math.random, Web Crypto random bytes/UUIDs, and transport ids are deterministic. + +### Recorded time + +Every settlement carries `startedAt` and `settledAt` in virtual milliseconds since the pinned epoch, +so the projection has a temporal dimension instead of relying on where a checkpoint happens to sit. +Any transition the product schedules for itself is recorded at the time it actually fires: change a +request deadline or the search debounce by any amount, in either direction, and a recorded number +moves. Granularity is exact milliseconds, because the fake timers fire at their scheduled time and +never coalesce; `recording-runner.test.ts` pins a 5 ms deadline settling at exactly `settledAt: 5`. + +A checkpoint's own clock is not recorded. It is always the sum of the scripted `advance` steps, so +it is a function of the scenario rather than of the code under test; `run-recording.ts` asserts that +equality at every checkpoint instead, which costs no bytes and fails loudly if it ever drifts. + +Recorded time covers thresholds the product schedules for itself. It cannot cover a threshold the +product only consults when something else makes it act, because no observation exists unless a +scenario acts inside the window. The `Date.now()` cache TTL in `use-host-repo-metadata.ts` is the +one such case here, so `settings-repo-cache-expiry` probes the cache at 59 s as well as at 60 s; +without the earlier probe a 20 s TTL and a 60 s TTL are both expired at 60 s and record identically. +That probe is coverage, not a substitute for recorded time: it bounds how small a TTL reduction is +visible, it does not make the reduction itself observable. + +## Golden schema + +Each file records `runnerVersion`, `baseline`, `lockfileSha256` (mobile's lockfile), +`recorderSha256`, `platform`, `scenarioVersion`, `projectionVersion`, `goldenFormatVersion`, +`operation`, `family`, and `namedDeltas`. `platform` and `lockfileSha256` are provenance and are +not compared: a dependency or OS that changes behaviour changes the trace itself, so comparing +them would only fail candidates on unrelated bumps. The rest are pinned. `recorderSha256` covers every non-markdown file under +this directory plus `pilot-scenarios.json`, so the runner that produced a golden is as pinned as +the product baseline: editing an adapter projection, a fixture or a scenario fails candidate mode +on the header and forces a deliberate re-record. Checkpoints +contain ordered sender calls and serialized physical application payloads, action and request +settlements, projected state, and ordered external effects. Sender args have three positional +slots; absent, undefined and null are distinct `$rpc` tags. Literal objects containing `$rpc` +are escaped. Only object keys are sorted; array/effect order, options, budgets, settlement times +and errors stay observable. Errors contain category, message and `isRpcDeliveryUnknown`, never +stack paths, plus `code` and a recursively captured `cause` when the thrown error carries them. +Platform is provenance; candidate comparison does not require the same operating system. + +### Value pool + +Format version 2 stores each distinct observation field value once under `values`, keyed by the +first 12 hex of sha256 over the value's sorted-key, whitespace-free JSON. A checkpoint holds five +hashes (`sender`, `payloads`, `settlements`, `state`, `effects`). Files stay pretty-printed so a +diff is reviewable; compact printing, element-level interning of list fields and delta encoding +against the previous checkpoint were measured and rejected. `readGolden` refuses any other +`goldenFormatVersion`, resolves hashes back to values, and `compareGolden` reports the scenario, +the checkpoint id, the field, the JSON path inside it, and both resolved values. + +### Prelude checkpoints + +A generated variant declares the index where its distinguishing input lands. Checkpoints before +that index observe steps identical to the base, so `hoistPreludeCheckpoints` records them once in +a `.prelude` scenario and starts each variant at its own divergence; it asserts each +variant's pre-divergence prefix matches the base. Reply matrices, interruption schedules and +lifecycle schedules use it. Checkpoints that merely happen to be equal are never merged: reaching +the same state through different inputs is evidence. Sibling schedules already drop their shared +prefix, so they are unchanged. + +Family matrices and schedule recordings retain both boundaries. Matrices execute +raw reply partitions at the scripted sender port; they do not claim malformed-frame coverage +through direct/relay frame validation. Caches +are tested by follow-up requests; no private cache maps are inspected. + +Each family runs the nine partitions in `reply-matrix.ts` once, and nothing is crossed against +consumed fields. The partitions are the reply shapes a host can send: a normal result, an absent +result, `null`, an inner `{ok: false}` envelope with a string or object error, an inner envelope +missing `ok`, an outer refusal, `method_not_found`, and a transport rejection. Shapes that were +recorded before and are gone were unreachable: `successResponse` always sets `result`, so JSON +carries no explicit-undefined slot, and no mounted method's handler returns a number, a string, an +array, a bare `{}`, or a boolean. `null` stays because `linear.getIssue` returns it for a missing +issue and the b2 seed is a shipped null-result bug. + +Detached unhandled rejections are captured as effects in a sequential process-scoped window, +with prior process listeners restored afterward. This preserves the known main bug recorded +as `new-workspace-runtime-context-null-settings-typeerror`; it does not repair the effect. +Task-model projections record setter invocations and resulting model values, not native UI. + +## Commands and checker contract + +Record only from unchanged pinned product sources and lockfile. The fence exempts only +`mobile/src/test-support/rpc-recording`, which `recorderSha256` pins instead; every other +test-support path is compared against the baseline like product code: + +```sh +ORCA_BACKGROUND_LAUNCH=1 RPC_FOUNDATION_RECORD=1 pnpm --dir mobile exec tsx scripts/rpc-recording.mts --record +ORCA_BACKGROUND_LAUNCH=1 pnpm --dir mobile test src/test-support/rpc-recording +``` + +Mutants are the defect evidence. `operation-mutations.ts` holds one anchored source edit per +adapter family, and every family's recording must change visible state when its mutant is applied, +which is what shows that family's `state()` projection observes the operation's real output. +Anchors are asserted to match exactly one site, because a repeated anchor would half-apply while +still counting as applied. Mutants replace the expression in memory, then run the same real hook. +`runRecordingMutant` accepts a mutated mounting adapter, scheduler, baseline and optional +observation projection, and returns `{verdict: "killed" | "survived", recording}`. Every mutant +test requires the mutation to apply exactly once and change visible state to count as killed. + +Set `RPC_FOUNDATION_REFERENCE_ROOT` to an archived `bcba08b3e4` source tree to corroborate the +three B-seed mutants against the real defect; the reference checkout is never edited. Each seed +pins the archived tree's visible state, so a later refactor of those files cannot pass by merely +differing from main. Archived-tree corroboration for b1/b2/b3 is **unproven in CI**: +CI does not set `RPC_FOUNDATION_REFERENCE_ROOT`. These three checks remain opt-in; the +in-memory mutant checks run in CI. No archived-tree checks are registered for other +families because no reference states are defined for them. + +## What this oracle does and does not see + +It replays 46 scenarios against frozen goldens and fails on any divergence: 73 goldens over 118 +tests, all inside `pnpm --dir mobile test`. For a migration it answers one question — does the +rewritten call site produce the same sender calls, settlements, state and effects as main did? + +It is not a substitute for reading the diff. Two facts bound it, both learned the hard way: + +- **It was blind to refusal ordering.** Reordering the settings and sibling refusal checks in + `mobile-new-tab-agent-loader.ts` survives every golden except `probe-new-tab-both-refused` — + measured by applying the reorder to the real source: 1 failure in 84 tests, and the one failure + is a probe. Every pre-probe "refused" scenario refuses on the _first_ request, and every + correlated-failure schedule rejects at the transport, where neither check is reached. A human + reviewer caught that class by reading #20499. +- **It did not observe data loss on refresh.** No pre-probe golden records state after a refused + _refresh_, so "does this screen keep its data or blank it?" was undocumented. This one is an + observational gap, not a proven detection gap: publishing an unaccepted read in + `use-new-workspace-runtime-context.ts` is caught by the refuse-after-data probe _and_ by + `matrix-settings.workspace-context`, because a refusal from cold publishes `null` over a non-null + initial value. Claim the recorded behaviour, not blindness. + +`probe-hole-witness.test.ts` closes both and keeps them closed. It asserts the hole and the closure +together: each probe must kill its mutation _and_ every pre-probe scenario of the same operation +must still survive it. A probe that stops being load-bearing fails instead of lingering. + +What is still not covered: what the count-based raw-port inventory covers instead (which files +reach `sendRequest`, and how often), native storage, transport skew, the `subscribe`/ +`sendUnsubscribe` ports, and the two mutations under _Known-open holes_ below. Four of the nine +probes pin behaviour with no demonstrated mutation — the two mixed reject/refusal new-tab orders +and the home-providers and resume-metadata refresh refusals; they are frozen observations, not +proven defect detectors. `settings.resume-metadata` projects `{}` as its state, so its probe +observes only sender calls and settlements. + +### Recorded finding: a refused refresh is not handled the same way twice + +The five refuse-after-data probes record `settingsRead` refusing a _refresh_ after a success. +Four call sites retain what they had. `use-mobile-tasks-runtime-hydration.tsx` does not: it +publishes `{}`, so a refused refresh wipes the runtime task settings. That divergence is recorded, +not repaired — `settings-task-hydration-refuse-after-data.json` is the observation, and changing +the behaviour is a product change with its own re-record. + +## Running it for a step-4 migration + +```sh +# 1. Before touching the call site, confirm the oracle is green on your branch. +ORCA_BACKGROUND_LAUNCH=1 pnpm --dir mobile test src/test-support/rpc-recording + +# 2. Migrate the call site. Re-run. Any divergence is your diff, reported down to the JSON path. + +# 3. If a divergence is intended, say so deliberately. Recording refuses to run unless the +# product tree matches the pinned baseline, so bump `baseline` in pilot-scenarios.json to the +# commit you are recording from first. +ORCA_BACKGROUND_LAUNCH=1 RPC_FOUNDATION_RECORD=1 \ + pnpm --dir mobile exec tsx scripts/rpc-recording.mts --record +``` + +A re-record is a claim about behaviour. State the cause in the commit; every golden the refresh +moves should have one. + +If your call site carries a mutation anchor in `operation-mutations.ts`, rewriting it will make the +anchor match zero sites. Re-anchor the same defect at its new home rather than deleting the mutant: +#20499 broke five anchors that way, and each one had a new home. + +`live-probe/` holds the runtime companion: `mock-desktop-settings-reply-modes.patch` teaches the +mock desktop server to answer `settings.get` with a refusal, `method_not_found`, a null or absent +result, absent settings, or silence, and `settings-get-reply-probe.mts` drives a real socket +through the migrated acceptance layer. Opt-in, never applied by the suite, because the patch is a +product-tree edit. + +## Known-open holes + +Two behavioural mutations are not caught by any golden. Both were confirmed by mutating product +source and re-deriving the whole suite; neither is reachable through the adapters as they stand, +so closing them needs new adapter capability rather than another scenario. Anyone migrating these +call sites should not assume the recordings will notice a change here: + +- **`use-host-repo-metadata.ts` cross-module cache write.** Deleting `setCachedRepos(...)` survives. + No adapter mounts `useNewWorkspaceRepositories`, which is the consumer that reads that cache to + open workspace creation without waiting, so the write has no observer. Closing it needs a + cache-consumer mount after the metadata fetch. +- **`use-pr-bot-author-overrides.ts` client-identity guard.** Forcing + `sourceClientRef.current !== client` to `false` survives. The adapter closes over one client + object: `reset` changes only the refresh key, `cutover` migrates the same stable logical client, + and remounting discards the old hook state. Closing it needs a same-mount client replacement. + +The original settings slice coverage maps nine host-RPC callers in +`settings-recording-coverage.json`; device-preference entries are excluded by coordinator +instruction. Later manifest additions require new scenarios and remain uncovered until +those recordings land. This runner does not certify native storage or transport skew. + +## The cleanup checkpoint + +Teardown runs on the recorded path, not only in `finally`. Each checkpoint clones the effects +array, so a rejection or state write produced by `dispose()`, the transport teardown or the final +`scheduler.flush()` used to land after the recording was built and never reached a golden — and an +unmount leak is exactly what this oracle exists to catch. + +When teardown observes anything, it becomes a checkpoint with id `cleanup`. `state` is captured +before dispose, because the operation is gone afterwards. + +Five goldens carry one today, covering six scenarios whose dropped observations were not noise: +`projectRowDetailError`, `projectMutating`, `hostLabelById`, `hostPlatform`, `workspaceAgent`, +`workspaceAgentOverridden`, `creatingKey`, `selectedAgent`, `agentOverridden` and `error`. A +scenario that stops leaking loses its checkpoint, which is a visible golden diff rather than a +silent improvement. diff --git a/mobile/src/test-support/rpc-recording/determinism-runs.ts b/mobile/src/test-support/rpc-recording/determinism-runs.ts new file mode 100644 index 00000000000..4e46d212113 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/determinism-runs.ts @@ -0,0 +1,20 @@ +/** + * How many times each scenario is recorded and compared against itself. + * + * Why it validates instead of coercing: the loop bound came straight from `Number(env ?? 2)`, so + * `0`, `-1` or a typo skipped the body entirely and every scenario reported green having recorded + * and compared nothing. A verification suite must not have a silent no-op mode. + */ +export function determinismRuns(): number { + const raw = process.env.RPC_FOUNDATION_DETERMINISM_RUNS + if (raw === undefined) { + return 2 + } + const runs = Number(raw) + if (!Number.isInteger(runs) || runs < 2) { + throw new Error( + `RPC_FOUNDATION_DETERMINISM_RUNS must be an integer >= 2 to compare a run against another; got ${JSON.stringify(raw)}` + ) + } + return runs +} diff --git a/mobile/src/test-support/rpc-recording/family-recordings.test.ts b/mobile/src/test-support/rpc-recording/family-recordings.test.ts new file mode 100644 index 00000000000..91dfecfbe76 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/family-recordings.test.ts @@ -0,0 +1,163 @@ +import { resolve } from 'node:path' +import { describe, expect, it } from 'vitest' +import { readScenarios } from './scenario-input' +import { driveReplyMatrix } from './reply-matrix' +import { + bindCompletions, + interruptionSchedules, + lifecycleSchedules, + siblingSchedules +} from './schedule-driver' +import { hoistPreludeCheckpoints } from './prelude-checkpoints' +import { runRecording } from './run-recording' +import { pilotMountAdapters } from './pilot-mount-adapters' +import { vitestRecordingScheduler } from './vitest-recording-scheduler' +import { + compareGolden, + goldenBytes, + goldenRecording, + readGolden, + writeGolden +} from './golden-recording' +import type { Recording, RecordingScenario } from './recording-scenario' +import { determinismRuns } from './determinism-runs' + +const root = resolve(import.meta.dirname, '../../../..') +const input = readScenarios( + process.env.RPC_FOUNDATION_SCENARIOS ?? + resolve(root, 'mobile/rpc-foundation/pilot-scenarios.json') +) +const directory = + process.env.RPC_FOUNDATION_GOLDENS ?? resolve(root, 'mobile/rpc-foundation/goldens') +const settingsNormal = { + settings: { + disabledTuiAgents: ['claude'], + defaultTuiAgent: 'codex', + prBotAuthorOverrides: ['recorded-bot'], + visibleTaskProviders: ['github'], + hostSettingOverrides: {}, + defaultTaskSource: 'github', + defaultTaskViewPreset: 'all', + defaultRepoSelection: null, + defaultLinearTeamSelection: null, + githubProjects: {} + } +} + +async function certify(id: string, scenarios: RecordingScenario[]) { + let first = '' + for (let run = 0; run < determinismRuns(); run++) { + const checkpoints: Recording['checkpoints'] = [] + for (const scenario of scenarios) { + const { adapters } = pilotMountAdapters(root) + const recording = await runRecording( + scenario, + adapters[scenario.operation], + vitestRecordingScheduler() + ) + for (const checkpoint of recording.checkpoints) { + checkpoints.push({ ...checkpoint, id: `${scenario.id}:${checkpoint.id}` }) + } + } + const golden = goldenRecording(root, input.baseline, scenarios[0], { + scenario: id, + checkpoints + }) + const bytes = goldenBytes(golden) + if (run) { + expect(bytes).toBe(first) + } + first = bytes + if (process.env.RPC_FOUNDATION_MODE === '--record') { + await writeGolden(directory, golden, '--record') + } else { + compareGolden(readGolden(directory, id), golden) + } + } +} + +describe('family reply partitions and owned schedules', () => { + const families = new Map() + for (const scenario of input.scenarios) { + if (!families.has(scenario.family)) { + families.set(scenario.family, scenario) + } + } + for (const [family, base] of families) { + const completion = base.steps.find( + (step) => + 'complete' in step && + (step.complete.startsWith('settings.') || + (base.id === 'b1' && step.complete === 'fresh-inventory') || + (base.id === 'b2' && step.complete.startsWith('github.project.')) || + (base.id === 'b3' && step.complete.startsWith('linear.getIssue'))) + ) + if (!completion || !('complete' in completion)) { + continue + } + const normal = + base.id === 'b1' + ? { files: [{ relativePath: 'third.ts' }] } + : base.id === 'b3' + ? { id: 'issue-1', description: 'recorded', labels: [], subIssues: [] } + : completion.complete.startsWith('settings.get') + ? settingsNormal + : { ok: true } + it(`${family}: reply partitions once per family`, async () => { + await certify(`matrix-${family}`, driveReplyMatrix(base, completion.complete, normal)) + }, 30_000) + } + for (const id of [ + 'b3', + 'settings-new-tab-ssh', + 'settings-home-providers-fulfilled', + 'settings-workspace-context-fulfilled', + 'settings-resume-metadata-fulfilled', + 'settings-task-hydration-fulfilled', + 'settings-repo-metadata-fulfilled' + ]) { + const base = input.scenarios.find((scenario) => scenario.id === id)! + const replies = base.steps.filter((step) => 'complete' in step) + // Complete prerequisites before permuting the sibling barrier. + const first = replies.find((step) => + step.complete.startsWith(id === 'b3' ? 'linear.getIssue' : 'settings.get') + )! + const second = replies[replies.indexOf(first) + 1] + if (second) { + it(`${id}: completion orders and correlated faults`, async () => { + await certify(`schedules-${id}`, siblingSchedules(base, first, second)) + }) + } + } + for (const id of ['inventory-lifecycle', 'settings-bot-overrides-fulfilled']) { + const base = input.scenarios.find((scenario) => scenario.id === id)! + it(`${id}: timeout, disconnect and stable-client cutover`, async () => { + await certify(`interruptions-${id}`, interruptionSchedules(base)) + }) + } + for (const id of [ + 'inventory-lifecycle', + 'b3', + 'settings-bot-overrides-fulfilled', + 'settings-workspace-context-fulfilled', + 'settings-task-hydration-fulfilled' + ]) { + const base = input.scenarios.find((scenario) => scenario.id === id)! + const actions = id.includes('hydration') + ? (['unmount'] as const) + : id.includes('context') + ? (['unmount', 'blur'] as const) + : (['reset', 'unmount', 'blur'] as const) + it(`${id}: lifecycle boundaries`, async () => { + await certify( + `lifecycle-${id}`, + hoistPreludeCheckpoints( + { ...base, steps: bindCompletions(base.steps) }, + actions + .flatMap((action) => lifecycleSchedules(base, action)) + .filter(({ scenario }) => !id.includes('hydration') || !scenario.id.endsWith('-1')) + ) + ) + }) + } +}) diff --git a/mobile/src/test-support/rpc-recording/golden-recording.ts b/mobile/src/test-support/rpc-recording/golden-recording.ts new file mode 100644 index 00000000000..88069c4f846 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/golden-recording.ts @@ -0,0 +1,194 @@ +import { format } from 'oxfmt' +import { createHash } from 'node:crypto' +import { mkdirSync, readFileSync, writeFileSync } from 'node:fs' +import { join } from 'node:path' +import { + canonicalJson, + internRecording, + OBSERVATION_FIELDS, + resolveRecording, + type InternedRecording, + type ValuePool +} from './golden-value-pool' +import { recorderSha256 } from './recorder-digest' +import type { Recording, RecordingScenario } from './recording-scenario' +import type { RecordedValue } from './recording-values' + +export const RUNNER_VERSION = 1 +// 2 stamps every settlement with startedAt/settledAt on the pinned virtual clock. +export const PROJECTION_VERSION = 2 +// 2 interns observation field values into a pooled map; a version 1 file is not comparable here. +export const GOLDEN_FORMAT_VERSION = 2 +export type GoldenRecording = { + operation: string + family: string + namedDeltas: string[] + runnerVersion: number + baseline: string + lockfileSha256: string + recorderSha256: string + platform: string + scenarioVersion: number + projectionVersion: number + goldenFormatVersion: number + recording: Recording +} +type GoldenFile = Omit & { + values: ValuePool + recording: InternedRecording +} +export function goldenRecording( + root: string, + baseline: string, + scenario: RecordingScenario, + recording: Recording +): GoldenRecording { + return { + operation: scenario.operation, + family: scenario.family, + namedDeltas: scenario.namedDeltas ?? [], + runnerVersion: RUNNER_VERSION, + baseline, + lockfileSha256: createHash('sha256') + .update(readFileSync(join(root, 'mobile/pnpm-lock.yaml'))) + .digest('hex'), + recorderSha256: recorderSha256(root), + platform: process.platform, + scenarioVersion: scenario.version, + projectionVersion: PROJECTION_VERSION, + goldenFormatVersion: GOLDEN_FORMAT_VERSION, + recording + } +} +export function goldenBytes(golden: GoldenRecording): string { + const { recording: _value, ...header } = golden + const interned = internRecording(golden.recording) + return `${JSON.stringify({ ...header, values: interned.values, recording: interned.recording }, null, 2)}\n` +} +export function readGolden(directory: string, id: string): GoldenRecording { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the file is validated against GoldenFile on the next lines. + const file = JSON.parse(readFileSync(goldenPath(directory, id), 'utf8')) as Partial + if (file.goldenFormatVersion !== GOLDEN_FORMAT_VERSION) { + throw new Error( + `Golden ${id} has format version ${JSON.stringify(file.goldenFormatVersion)}; this reader requires ${GOLDEN_FORMAT_VERSION}. Re-record with --record.` + ) + } + if (!file.values || !file.recording) { + throw new Error(`Golden ${id} is missing its value pool or recording`) + } + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: goldenFormatVersion was just checked, so the pool is present. + const { values: _pool, ...header } = file as GoldenFile + return { ...header, recording: resolveRecording(file.values, file.recording) } +} +export async function writeGolden( + directory: string, + golden: GoldenRecording, + mode: string +): Promise { + if (mode !== '--record' || process.env.RPC_FOUNDATION_RECORD !== '1') { + throw new Error('Golden writes require --record and RPC_FOUNDATION_RECORD=1') + } + mkdirSync(directory, { recursive: true }) + const path = goldenPath(directory, golden.recording.scenario) + const result = await format(path, goldenBytes(golden), { printWidth: 100, trailingComma: 'none' }) + if (result.errors.length) { + throw new Error('Cannot format golden') + } + writeFileSync(path, result.code) +} +function goldenPath(directory: string, id: string): string { + if (!/^[a-z0-9][a-z0-9._-]*$/.test(id)) { + throw new Error(`Unsafe scenario id: ${id}`) + } + return join(directory, `${id}.json`) +} +export function compareGolden(expected: GoldenRecording, actual: GoldenRecording): void { + const scenario = actual.recording.scenario + // Platform and lockfile are provenance: a dependency that changes behaviour changes the trace + // below, and one that does not must not fail the compare on every unrelated bump. + const pinned = { ...expected, platform: actual.platform, lockfileSha256: actual.lockfileSha256 } + const { recording: _expectedRecording, ...expectedHeader } = pinned + const { recording: _actualRecording, ...actualHeader } = actual + for (const [key, value] of Object.entries(expectedHeader)) { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: header keys are compared as data, not consumed as fields. + const found = (actualHeader as Record)[key] + if (JSON.stringify(found) !== JSON.stringify(value)) { + throw new Error( + `Recording differs: ${scenario} header ${key}\n expected ${JSON.stringify(value)}\n actual ${JSON.stringify(found)}` + ) + } + } + const expectedIds = pinned.recording.checkpoints.map((checkpoint) => checkpoint.id) + const actualIds = actual.recording.checkpoints.map((checkpoint) => checkpoint.id) + if (JSON.stringify(expectedIds) !== JSON.stringify(actualIds)) { + const index = expectedIds.findIndex((id, at) => id !== actualIds[at]) + throw new Error( + `Recording differs: ${scenario} checkpoint list (${expectedIds.length} expected, ${actualIds.length} actual)\n first divergence at index ${index}: expected ${JSON.stringify(expectedIds[index])}, actual ${JSON.stringify(actualIds[index])}` + ) + } + for (const [index, checkpoint] of pinned.recording.checkpoints.entries()) { + const found = actual.recording.checkpoints[index]! + for (const field of OBSERVATION_FIELDS) { + if ( + canonicalJson(checkpoint.observation[field]) === canonicalJson(found.observation[field]) + ) { + continue + } + const path = firstDifference(checkpoint.observation[field], found.observation[field]) + throw new Error( + `Recording differs: ${scenario} checkpoint ${checkpoint.id} field ${field}${path.path}\n expected ${excerpt(path.expected)}\n actual ${excerpt(path.actual)}` + ) + } + } + if (goldenBytes(pinned) !== goldenBytes(actual)) { + throw new Error(`Recording differs: ${scenario} (encoding)`) + } +} +function firstDifference( + expected: RecordedValue, + actual: RecordedValue, + path = '' +): { path: string; expected: RecordedValue; actual: RecordedValue } { + const here = { path, expected, actual } + if ( + expected === null || + actual === null || + typeof expected !== 'object' || + typeof actual !== 'object' || + Array.isArray(expected) !== Array.isArray(actual) + ) { + return here + } + if (Array.isArray(expected) && Array.isArray(actual)) { + const index = expected.findIndex( + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: both sides are recorded observations, so every member is a RecordedValue. + (entry, at) => canonicalJson(entry) !== canonicalJson(actual[at] as RecordedValue) + ) + return index === -1 || index >= actual.length + ? here + : firstDifference( + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: both sides are recorded observations, so every member is a RecordedValue. + expected[index] as RecordedValue, + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: both sides are recorded observations, so every member is a RecordedValue. + actual[index] as RecordedValue, + `${path}[${index}]` + ) + } + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the array branch above already rejected a non-object pair. + const left = expected as Record + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the array branch above already rejected a non-object pair. + const right = actual as Record + const key = [...new Set([...Object.keys(left), ...Object.keys(right)])].sort().find( + (name) => + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: both sides are recorded observations, so every member is a RecordedValue. + canonicalJson(left[name] as RecordedValue) !== canonicalJson(right[name] as RecordedValue) + ) + return key === undefined || !(key in left) || !(key in right) + ? here + : // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: both sides are recorded observations, so every member is a RecordedValue. + firstDifference(left[key] as RecordedValue, right[key] as RecordedValue, `${path}.${key}`) +} +function excerpt(value: RecordedValue): string { + const json = JSON.stringify(value) + return json === undefined ? 'absent' : json.length > 600 ? `${json.slice(0, 600)}…` : json +} diff --git a/mobile/src/test-support/rpc-recording/golden-value-pool.ts b/mobile/src/test-support/rpc-recording/golden-value-pool.ts new file mode 100644 index 00000000000..a2aaaf18ef8 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/golden-value-pool.ts @@ -0,0 +1,92 @@ +import { createHash } from 'node:crypto' +import type { Observation, Recording } from './recording-scenario' +import type { RecordedValue } from './recording-values' + +export const OBSERVATION_FIELDS = [ + 'sender', + 'payloads', + 'settlements', + 'state', + 'effects' +] as const satisfies readonly (keyof Observation)[] + +export type ValuePool = Record +export type InternedObservation = Record +export type InternedRecording = { + scenario: string + checkpoints: { id: string; observation: InternedObservation }[] +} + +export function canonicalJson(value: RecordedValue): string { + if (value === null || typeof value !== 'object') { + return JSON.stringify(value) + } + if (Array.isArray(value)) { + return `[${value.map(canonicalJson).join(',')}]` + } + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: canonicalJson only reaches here for a plain object observation. + const record = value as Record + return `{${Object.keys(record) + .sort() + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a recorded object holds recorded values. + .map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key] as RecordedValue)}`) + .join(',')}}` +} + +export function valueHash(value: RecordedValue): string { + return createHash('sha256').update(canonicalJson(value)).digest('hex').slice(0, 12) +} + +export function internRecording(recording: Recording): { + values: ValuePool + recording: InternedRecording +} { + const pool: ValuePool = {} + const canonical = new Map() + const checkpoints = recording.checkpoints.map((checkpoint) => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: every observation field is assigned below before the value is read. + const observation = {} as InternedObservation + for (const field of OBSERVATION_FIELDS) { + const value = checkpoint.observation[field] + const json = canonicalJson(value) + const hash = valueHash(value) + const seen = canonical.get(hash) + if (seen !== undefined && seen !== json) { + throw new Error(`Golden value hash collision at ${hash} (${checkpoint.id}.${field})`) + } + canonical.set(hash, json) + pool[hash] = value + observation[field] = hash + } + return { id: checkpoint.id, observation } + }) + // Hash-ordered so a value's position in the pool does not move when checkpoints are reordered. + const values = Object.fromEntries( + Object.keys(pool) + .sort() + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: pool entries are the recorded values that were interned into it. + .map((hash) => [hash, pool[hash] as RecordedValue]) + ) + return { values, recording: { scenario: recording.scenario, checkpoints } } +} + +export function resolveRecording(values: ValuePool, recording: InternedRecording): Recording { + return { + scenario: recording.scenario, + checkpoints: recording.checkpoints.map((checkpoint) => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: every observation field is assigned below before the value is read. + const observation = {} as Observation + for (const field of OBSERVATION_FIELDS) { + const hash = checkpoint.observation[field] + if (!(hash in values)) { + throw new Error( + `Golden value ${hash} is missing from the pool (${checkpoint.id}.${field})` + ) + } + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the hash was resolved against the same pool that interned it. + observation[field] = values[hash] as RecordedValue + } + return { id: checkpoint.id, observation } + }) + } +} diff --git a/mobile/src/test-support/rpc-recording/hook-mount.ts b/mobile/src/test-support/rpc-recording/hook-mount.ts new file mode 100644 index 00000000000..97e646b81d0 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/hook-mount.ts @@ -0,0 +1,36 @@ +import { createElement } from 'react' +import { act, create, type ReactTestRenderer } from 'react-test-renderer' + +export function hookMount(render: () => void) { + let renderer: ReactTestRenderer | undefined + function Harness() { + render() + return null + } + return { + mount() { + act(() => { + renderer = create(createElement(Harness)) + }) + }, + update() { + act(() => { + renderer?.update(createElement(Harness)) + }) + }, + unmount() { + act(() => { + renderer?.unmount() + renderer = undefined + }) + } + } +} + +export function performHookAction(action: () => T): T { + let result!: T + act(() => { + result = action() + }) + return result +} diff --git a/mobile/src/test-support/rpc-recording/observable-model.ts b/mobile/src/test-support/rpc-recording/observable-model.ts new file mode 100644 index 00000000000..c3e0941b3fe --- /dev/null +++ b/mobile/src/test-support/rpc-recording/observable-model.ts @@ -0,0 +1,45 @@ +import type { MountContext } from './recording-scenario' + +export function projectObservable(value: unknown): unknown { + if (value instanceof Set) { + return [...value].map(projectObservable) + } + if (value instanceof Map) { + return [...value].map(([key, entry]) => [key, projectObservable(entry)]) + } + if (Array.isArray(value)) { + return value.map(projectObservable) + } + if (value && typeof value === 'object') { + return Object.fromEntries( + Object.entries(value).map(([key, entry]) => [ + key, + key === 'client' ? 'logical-client' : projectObservable(entry) + ]) + ) + } + return value +} + +export function observableModel(context: MountContext, initial: Record) { + const values = { ...initial } + const callbacks = new Map void>() + return new Proxy(values, { + get(target, key: string) { + if (key in target) { + return target[key] + } + if (!key.startsWith('set') || key.length < 4) { + throw new Error(`Missing model fixture: ${key}`) + } + if (!callbacks.has(key)) { + const field = key[3].toLowerCase() + key.slice(4) + callbacks.set(key, (value) => { + target[field] = typeof value === 'function' ? value(target[field]) : value + context.effect(field, projectObservable(target[field])) + }) + } + return callbacks.get(key) + } + }) +} diff --git a/mobile/src/test-support/rpc-recording/operation-module-loader.ts b/mobile/src/test-support/rpc-recording/operation-module-loader.ts new file mode 100644 index 00000000000..03c31a4f707 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/operation-module-loader.ts @@ -0,0 +1,131 @@ +import { compileFunction } from 'node:vm' +import { existsSync, readFileSync } from 'node:fs' +import { dirname, resolve } from 'node:path' +import * as React from 'react' +import ts from 'typescript' +import { OPERATION_EXPOSURES, OPERATION_MUTATIONS, type Mutation } from './operation-mutations' + +export type { Mutation } +export type OperationModule = Record unknown> + +// Only mounting boundaries are substituted; every operation and projection is loaded from source. +export function operationModuleLoader(root: string, mutation?: Mutation) { + const cache = new Map() + let mutationCount = 0 + function pathFor(base: string): string { + const file = ['', '.ts', '.tsx', '/index.ts'] + .map((suffix) => base + suffix) + .find((path) => existsSync(path) && /\.tsx?$/.test(path)) + if (!file) { + throw new Error(`Module not found: ${base}`) + } + return file + } + function imported(base: string, name: string): unknown { + if (name === 'react') { + return React + } + if (!name.startsWith('.')) { + return new Proxy( + {}, + { + get: () => { + throw new Error(`Unspecified native mounting dependency: ${name}`) + } + } + ) + } + return new Proxy( + {}, + { get: (_target, key) => load(pathFor(resolve(dirname(base), name)))[String(key)] } + ) + } + function barrel(file: string, source: string): OperationModule { + const parsed = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true) + return new Proxy( + {}, + { + get: (_target, key) => { + for (const statement of parsed.statements) { + if ( + !ts.isExportDeclaration(statement) || + !statement.moduleSpecifier || + !ts.isStringLiteral(statement.moduleSpecifier) || + statement.isTypeOnly + ) { + continue + } + const name = statement.moduleSpecifier.text + if (statement.exportClause && ts.isNamedExports(statement.exportClause)) { + const binding = statement.exportClause.elements.find( + (item) => item.name.text === key && !item.isTypeOnly + ) + if (binding) { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the barrel target is a module this loader evaluated. + return (imported(file, name) as OperationModule)[ + binding.propertyName?.text ?? String(key) + ] + } + } else if (!statement.exportClause) { + const target = pathFor(resolve(dirname(file), name)) + const text = readFileSync(target, 'utf8') + if ( + new RegExp(`export (?:async )?(?:function|const|class) ${String(key)}\\b`).test( + text + ) + ) { + return load(target)[String(key)] + } + } + } + throw new Error(`Unmapped barrel export: ${String(key)} in ${file}`) + } + } + ) + } + function load(file: string): OperationModule { + const cached = cache.get(file) + if (cached) { + return cached + } + let source = readFileSync(file, 'utf8') + if (/mobile-tasks-(dependencies|legacy-foundation)\.tsx?$/.test(file)) { + const result = barrel(file, source) + cache.set(file, result) + return result + } + const spec = mutation ? OPERATION_MUTATIONS[mutation] : undefined + if (spec && file.endsWith(spec.file)) { + // Counting occurrences, not replace calls: `replace` would silently take only the first. + const occurrences = source.split(spec.before).length - 1 + if (occurrences !== 1) { + throw new Error(`Mutant anchor matched ${occurrences} sites, expected 1: ${mutation}`) + } + source = source.replace(spec.before, spec.after) + mutationCount++ + } + const exports: OperationModule = {} + cache.set(file, exports) + const output = ts.transpileModule(source, { + compilerOptions: { + module: ts.ModuleKind.CommonJS, + target: ts.ScriptTarget.ES2022, + jsx: ts.JsxEmit.React + } + }).outputText + const exposure = OPERATION_EXPOSURES.find(([suffix]) => file.endsWith(suffix))?.[1] ?? '' + const evaluate = compileFunction(output + exposure, ['require', 'exports'], { filename: file }) + evaluate((name: string) => imported(file, name), exports) + return exports + } + return { + load: (path: string): T => + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a VM-evaluated module has no static type; the caller names the shape it mounts. + load(pathFor(resolve(root, path))) as unknown as T, + assertMutationApplied: () => { + if (mutation && mutationCount !== 1) { + throw new Error(`Expected one mutation, applied ${mutationCount}`) + } + } + } +} diff --git a/mobile/src/test-support/rpc-recording/operation-mutations.ts b/mobile/src/test-support/rpc-recording/operation-mutations.ts new file mode 100644 index 00000000000..cd760f0004f --- /dev/null +++ b/mobile/src/test-support/rpc-recording/operation-mutations.ts @@ -0,0 +1,143 @@ +/** + * One in-memory source edit per adapter family. Each anchor names a real expression in a mounted + * operation; the recording that owns the family must change visible state when it is applied, which + * is what proves that family's `state()` projection observes the operation's actual output. + */ +export type OperationMutation = { + /** Suffix of the mounted source file the anchor belongs to. */ + file: string + before: string + after: string +} + +export const OPERATION_MUTATIONS = { + // Loses the generation comparison, so a stale workspace response poisons the search cache. + race: { + file: 'use-mobile-native-chat-file-search.ts', + before: '!response.ok || generationRef.current !== generation', + after: '!response.ok' + }, + // Accepts a null result envelope instead of rejecting it. The guard is repeated for three + // mutations in this file; the anchor carries the message so only the recorded one is edited. + acceptance: { + file: 'use-mobile-tasks-project-metadata-actions.tsx', + before: `if (result.ok === false) { + throw new Error(result.error?.message ?? 'Failed to update GitHub item')`, + after: `if (result?.ok === false) { + throw new Error(result.error?.message ?? 'Failed to update GitHub item')` + }, + // Rejects the barrier early, so the sibling comment request is abandoned out of order. + order: { + file: 'use-mobile-tasks-item-detail-loading.tsx', + before: `{ timeoutMs: 30_000 } + ), + client.sendRequest( + 'linear.issueComments'`, + after: `{ timeoutMs: 30_000 } + ).then((response) => { if (!isSuccess(response)) throw new Error(response.error.message); return response }), + client.sendRequest( + 'linear.issueComments'` + }, + // Reads the overrides one level above the settings envelope. + 'bot-overrides-envelope': { + file: 'settings-read-operations.ts', + before: "settings == null ? undefined : Reflect.get(Object(settings), 'prBotAuthorOverrides')", + after: "raw == null ? undefined : Reflect.get(Object(raw), 'prBotAuthorOverrides')" + }, + // Publishes the settings envelope instead of the accepted operation value. + 'workspace-context-envelope': { + file: 'use-new-workspace-runtime-context.ts', + before: + '(settingsResult.value as NewWorktreeRuntimeSettings & { visibleTaskProviders?: unknown })', + after: + '(settingsRes.value.result as NewWorktreeRuntimeSettings & { visibleTaskProviders?: unknown })' + }, + // Treats any successful linear.status reply as a connected Linear account. + 'home-providers-linear': { + file: 'mobile-home-host-requests.ts', + before: 'linearConnected: linear?.connected === true', + after: 'linearConnected: linear !== null' + }, + // Reads the host platform from the wrong field of the host.platform result. + 'repo-metadata-platform': { + file: 'use-host-repo-metadata.ts', + before: 'const platform = (result as { platform?: unknown } | null)?.platform', + after: 'const platform = (result as { hostPlatform?: unknown } | null)?.hostPlatform' + }, + // Hydrates the runtime task settings from the envelope rather than the accepted value. + 'task-hydration-envelope': { + file: 'use-mobile-tasks-runtime-hydration.tsx', + before: '((settingsResult.value ?? {}) as RuntimeTaskSettings)', + after: '((settingsResponse.result ?? {}) as RuntimeTaskSettings)' + }, + // Applies the preset only after the write settles, dropping the optimistic update. + 'task-preferences-optimistic': { + file: 'use-mobile-tasks-client-settings-actions.tsx', + before: ` setDefaultGitHubPreset(preset) + if (!client || !taskUiReady) { + return + } + void client.sendRequest('settings.update', { defaultTaskViewPreset: preset }).catch(() => {`, + after: ` if (!client || !taskUiReady) { + setDefaultGitHubPreset(preset) + return + } + void client + .sendRequest('settings.update', { defaultTaskViewPreset: preset }) + .then(() => setDefaultGitHubPreset(preset)) + .catch(() => {` + }, + // Publishes the settings envelope as the refreshed workspace runtime settings. + 'workspace-submit-envelope': { + file: 'use-new-workspace-create-submit.ts', + before: 'latestRuntimeSettings = settings.value as NewWorktreeRuntimeSettings', + after: 'latestRuntimeSettings = settingsReply.result as NewWorktreeRuntimeSettings' + }, + // Reads settings eagerly, so a null result throws before the sibling's refusal is checked. + 'new-tab-deferred-settings-read': { + file: 'settings-read-operations.ts', + before: ' value: () => settingsMember(raw),', + after: ' value: ((settings) => () => settings)(settingsMember(raw)),' + }, + // Checks the sibling's refusal before the operation's own, so a correlated refusal reports the + // sibling. Invisible to every scenario whose sibling succeeds or rejects at the transport. + 'new-tab-refusal-order': { + file: 'mobile-new-tab-agent-loader.ts', + before: ` const readSettings = newTabSettingsRead.interpret(settingsResponse) + if (!detectedResponse.ok) { + throw new Error((detectedResponse as RpcFailure).error.message) + }`, + after: ` if (!detectedResponse.ok) { + throw new Error((detectedResponse as RpcFailure).error.message) + } + const readSettings = newTabSettingsRead.interpret(settingsResponse)` + }, + // Publishes an unaccepted read, blanking settings a refusal should have left alone. Invisible + // to any scenario that refuses before the screen ever held data. + 'workspace-context-refusal-blanks': { + file: 'use-new-workspace-runtime-context.ts', + before: ` if (settingsValue) { + setRuntimeSettings(settingsValue) + }`, + after: ' setRuntimeSettings(settingsValue)' + }, + // Publishes the settings envelope as the refreshed task runtime settings. + 'task-workspace-envelope': { + file: 'use-mobile-tasks-workspace-create-actions.tsx', + before: 'latestRuntimeTaskSettings = (settingsResult.value ?? {}) as RuntimeTaskSettings', + after: 'latestRuntimeTaskSettings = (settingsReply.result ?? {}) as RuntimeTaskSettings' + } +} as const satisfies Record + +export type Mutation = keyof typeof OPERATION_MUTATIONS + +/** + * Appended to a mounted module after transpile, keyed by file suffix. An adapter drives a real + * operation the product keeps module-private; exposing it here beats editing the pinned source. + */ +export const OPERATION_EXPOSURES: readonly (readonly [string, string])[] = [ + [ + 'MobileAgentSessionHistoryPanel.tsx', + '\nexports.loadMobileResumeMetadata = loadMobileResumeMetadata;' + ] +] diff --git a/mobile/src/test-support/rpc-recording/pilot-mount-adapters.ts b/mobile/src/test-support/rpc-recording/pilot-mount-adapters.ts new file mode 100644 index 00000000000..894fefc305b --- /dev/null +++ b/mobile/src/test-support/rpc-recording/pilot-mount-adapters.ts @@ -0,0 +1,227 @@ +import { observableModel } from './observable-model' +import { settingsMountAdapters } from './settings-mount-adapters' +import { workspaceSettingsMounts } from './workspace-settings-mounts' +import type { MountAdapter } from './recording-scenario' +import { hookMount, performHookAction } from './hook-mount' +import { operationModuleLoader, type Mutation } from './operation-module-loader' + +export function pilotMountAdapters( + root: string, + options: { reference?: boolean; mutation?: Mutation } = {} +) { + const modules = operationModuleLoader(root, options.mutation) + const adapters: Record = { + ...settingsMountAdapters(modules), + ...workspaceSettingsMounts(modules), + 'workspace.file-inventory': ({ client }) => { + const useSearch = modules.load< + typeof import('../../session/use-mobile-native-chat-file-search') + >('mobile/src/session/use-mobile-native-chat-file-search.ts').useMobileNativeChatFileSearch + const operations = options.reference + ? modules + .load('mobile/src/session/native-host-session-native-chat-operations.ts') + .nativeHostSessionNativeChatOperations(client) + : undefined + let workspace = 'A' + let state: ReturnType + const hook = hookMount(() => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + state = useSearch({ client, operations, worktreeId: workspace } as Parameters< + typeof useSearch + >[0]) + }) + return { + action(name, args) { + if (name === 'mount' || name === 'remount') { + return hook.mount() + } + if (name === 'unmount') { + return hook.unmount() + } + if (name === 'select') { + workspace = String(args.workspace) + return hook.update() + } + if (name === 'reset') { + const previous = workspace + workspace = `${workspace}-reset` + hook.update() + workspace = previous + return hook.update() + } + if (name === 'query') { + return performHookAction(() => state.loadNativeChatFiles(String(args.query))) + } + if (name === 'blur') { + return + } + throw new Error(`Unknown inventory action: ${name}`) + }, + state: () => ({ files: state?.nativeChatFilePaths ?? [] }), + dispose: hook.unmount + } + }, + 'project.update-metadata': (context) => { + const useMetadata = modules.load< + typeof import('../../tasks/use-mobile-tasks-project-metadata-actions') + >( + 'mobile/src/tasks/use-mobile-tasks-project-metadata-actions.tsx' + ).useMobileTasksProjectMetadataActions + const row = { + id: 'item-1', + itemType: 'ISSUE', + content: { repository: 'owner/repo', number: 1, labels: [], assignees: [] } + } + const model = observableModel(context, { + projectMutating: false, + projectRowDetailError: '', + projectRowItem: row, + githubProjectTable: { rows: [row] }, + projectRowDetail: null, + projectFieldDrafts: {} + }) + Object.assign(model, { + client: context.client, + activeGitHubProjectHost: 'github.enterprise.test' + }) + if (options.reference) { + model.taskOperations = { + projectMutation: modules + .load('mobile/src/tasks/native-host-task-project-mutation-operations.ts') + .nativeHostTaskProjectMutationOperations(context.client) + } + } + let actions: ReturnType + const hook = hookMount(() => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + actions = useMetadata(model as unknown as Parameters[0]) + }) + return { + action(name) { + if (name === 'mount') { + return hook.mount() + } + if (name === 'submit') { + return actions.mutateProjectRowMetadata( + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the scenario supplies the row as JSON, not as a typed model. + row as unknown as Parameters[0], + { addLabels: ['recorded'] } + ) + } + throw new Error(`Unknown project action: ${name}`) + }, + state: () => ({ + mutating: model.projectMutating, + error: model.projectRowDetailError, + row: model.projectRowItem + }), + dispose: hook.unmount + } + }, + 'linear.issue-detail': (context) => { + const useDetail = modules.load< + typeof import('../../tasks/use-mobile-tasks-item-detail-loading') + >('mobile/src/tasks/use-mobile-tasks-item-detail-loading.tsx').useMobileTasksItemDetailLoading + const model = observableModel(context, { + actionItem: { + provider: 'linear', + source: { id: 'issue-1', workspaceId: 'linear-workspace' } + }, + detailLoading: false, + detailError: '', + detailPayload: null, + items: [] + }) + Object.assign(model, { client: context.client, tasksSupported: true, detailRefreshSeq: 0 }) + if (options.reference) { + model.taskOperations = { + detail: modules + .load('mobile/src/tasks/native-host-task-detail-operations.ts') + .nativeHostTaskDetailOperations(context.client) + } + } + const hook = hookMount(() => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + useDetail(model as unknown as Parameters[0]) + }) + return { + action(name) { + if (name === 'mount' || name === 'remount') { + return hook.mount() + } + if (name === 'unmount') { + return hook.unmount() + } + if (name === 'reset') { + model.detailRefreshSeq = Number(model.detailRefreshSeq) + 1 + return hook.update() + } + if (name === 'blur') { + return + } + throw new Error(`Unknown detail action: ${name}`) + }, + state: () => ({ + loading: model.detailLoading, + error: model.detailError, + payload: model.detailPayload + }), + dispose: hook.unmount + } + }, + 'settings.new-tab-agents': ({ client }) => { + const load = modules.load( + 'mobile/src/session/mobile-new-tab-agent-loader.ts' + ).loadMobileNewTabAgentOptions + return { + action: (_name, args) => + load({ client, worktreeId: String(args.workspace ?? 'repo-1::/folder') }), + state: () => ({}), + dispose: () => {} + } + }, + 'settings.task-preferences': (context) => { + const usePreferences = modules.load< + typeof import('../../tasks/use-mobile-tasks-client-settings-actions') + >( + 'mobile/src/tasks/use-mobile-tasks-client-settings-actions.tsx' + ).useMobileTasksClientSettingsActions + const model = observableModel(context, { + defaultGitHubPreset: 'all', + githubProjectSettings: {} + }) + Object.assign(model, { + client: context.client, + clientRef: { current: context.client }, + repoSelectionHydratedRef: { current: false }, + defaultRepoSelectionRef: { current: null }, + taskUiReady: true, + githubProjectFieldVisibilityScope: null, + taskResumeRef: { current: {} }, + trustedOrcaHooks: {} + }) + let actions: ReturnType + const hook = hookMount(() => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + actions = usePreferences(model as unknown as Parameters[0]) + }) + return { + action(name, args) { + if (name === 'mount') { + return hook.mount() + } + if (name === 'write') { + return actions.persistDefaultGitHubPreset( + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the preset arrives from the scenario JSON as a string. + args.preset as Parameters[0] + ) + } + throw new Error(`Unknown preferences action: ${name}`) + }, + state: () => ({ preset: model.defaultGitHubPreset }), + dispose: hook.unmount + } + } + } + return { adapters, assertMutationApplied: modules.assertMutationApplied } +} diff --git a/mobile/src/test-support/rpc-recording/pilot-recordings.test.ts b/mobile/src/test-support/rpc-recording/pilot-recordings.test.ts new file mode 100644 index 00000000000..9a831df4728 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/pilot-recordings.test.ts @@ -0,0 +1,140 @@ +import { readScenarios } from './scenario-input' +import { resolve } from 'node:path' +import { describe, expect, it } from 'vitest' +import { runRecording, runRecordingMutant } from './run-recording' +import { pilotMountAdapters } from './pilot-mount-adapters' +import { vitestRecordingScheduler } from './vitest-recording-scheduler' +import { + compareGolden, + goldenBytes, + goldenRecording, + readGolden, + writeGolden +} from './golden-recording' +import type { Recording } from './recording-scenario' +import type { RecordedValue } from './recording-values' +import type { Mutation } from './operation-mutations' +import { determinismRuns } from './determinism-runs' + +const root = resolve(import.meta.dirname, '../../../..') +const input = readScenarios( + process.env.RPC_FOUNDATION_SCENARIOS ?? + resolve(root, 'mobile/rpc-foundation/pilot-scenarios.json') +) +const goldens = process.env.RPC_FOUNDATION_GOLDENS ?? resolve(root, 'mobile/rpc-foundation/goldens') +// One mutant per adapter family, so every family's state projection is shown to be load-bearing. +const mutants: Record = { + b1: 'race', + b2: 'acceptance', + b3: 'order', + 'settings-bot-overrides-fulfilled': 'bot-overrides-envelope', + 'settings-workspace-context-fulfilled': 'workspace-context-envelope', + 'settings-home-providers-fulfilled': 'home-providers-linear', + 'settings-repo-metadata-fulfilled': 'repo-metadata-platform', + 'settings-task-hydration-fulfilled': 'task-hydration-envelope', + 'settings-task-write': 'task-preferences-optimistic', + 'settings-workspace-submit-fulfilled': 'workspace-submit-envelope', + 'settings-task-workspace-fulfilled': 'task-workspace-envelope' +} +/** + * The archived tree's visible state, pinned per seed: b1 serves the poisoned empty inventory, b2 + * accepts the null envelope and applies the label anyway, and b3 reports the issue error instead of + * the comments error. An unrelated refactor of those files can no longer keep this green by merely + * differing; the mutants remain the defect evidence and this run corroborates them. + */ +const referenceStates: Record = { + b1: { files: [] }, + b2: { + error: '', + mutating: false, + row: { + content: { + assignees: [], + labels: [{ color: '808080', name: 'recorded' }], + number: 1, + repository: 'owner/repo' + }, + id: 'item-1', + itemType: 'ISSUE' + } + }, + b3: { error: 'issue refused', loading: false, payload: { $rpc: 'null' } } +} + +function visibleState(recording: Recording): RecordedValue { + return recording.checkpoints.at(-1)!.observation.state +} + +describe('RPC main recordings', () => { + for (const scenario of input.scenarios) { + it(`${scenario.id}: frozen main parity and determinism`, async () => { + let first = '' + for (let run = 0; run < determinismRuns(); run++) { + const { adapters } = pilotMountAdapters(root) + const recording = await runRecording( + scenario, + adapters[scenario.operation], + vitestRecordingScheduler() + ) + if (scenario.id === 'b1') { + expect(visibleState(recording)).toEqual({ files: ['third.ts'] }) + } + if (scenario.id === 'b2') { + expect(visibleState(recording)).toMatchObject({ + error: "Cannot read properties of null (reading 'ok')" + }) + } + if (scenario.id === 'b3') { + expect(visibleState(recording)).toMatchObject({ + error: 'comments transport error', + loading: false + }) + } + const golden = goldenRecording(root, input.baseline, scenario, recording) + const bytes = goldenBytes(golden) + if (run) { + expect(bytes).toBe(first) + } + first = bytes + if (process.env.RPC_FOUNDATION_MODE === '--record') { + await writeGolden(goldens, golden, '--record') + } else { + compareGolden(readGolden(goldens, scenario.id), golden) + } + } + }) + const mutation = mutants[scenario.id] + if (mutation) { + it(`${scenario.id}: kills ${mutation}`, async () => { + const { adapters, assertMutationApplied } = pilotMountAdapters(root, { mutation }) + const result = await runRecordingMutant( + scenario, + adapters[scenario.operation], + vitestRecordingScheduler(), + readGolden(goldens, scenario.id).recording, + visibleState + ) + assertMutationApplied() + expect(result.verdict).toBe('killed') + }) + const reference = referenceStates[scenario.id] + if (reference) { + it.skipIf(!process.env.RPC_FOUNDATION_REFERENCE_ROOT)( + `${scenario.id}: rejects bcba08b3e4`, + async () => { + const { adapters } = pilotMountAdapters(process.env.RPC_FOUNDATION_REFERENCE_ROOT!, { + reference: true + }) + const result = await runRecording( + scenario, + adapters[scenario.operation], + vitestRecordingScheduler() + ) + expect(visibleState(result)).toEqual(reference) + expect(reference).not.toEqual(visibleState(readGolden(goldens, scenario.id).recording)) + } + ) + } + } + } +}) diff --git a/mobile/src/test-support/rpc-recording/prelude-checkpoints.ts b/mobile/src/test-support/rpc-recording/prelude-checkpoints.ts new file mode 100644 index 00000000000..2f3595b84f6 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/prelude-checkpoints.ts @@ -0,0 +1,53 @@ +import type { RecordingScenario, ScenarioStep } from './recording-scenario' + +/** A generated variant plus the index in its own step list where its distinguishing input lands. */ +export type DivergingScenario = { scenario: RecordingScenario; divergence: number } + +function stepsKey(steps: readonly ScenarioStep[]): string { + // The replacer keeps an explicit-undefined param distinct from an absent one. + return JSON.stringify(steps, (_key, value: unknown) => + value === undefined ? '$undefined' : value + ) +} + +/** + * A checkpoint before a variant's divergence observes steps identical to the base, so every variant + * would record the same value. Record those once in a prelude and let each variant start at its own + * divergence; checkpoints that merely happen to be equal are left alone. + */ +export function hoistPreludeCheckpoints( + base: RecordingScenario, + variants: readonly DivergingScenario[] +): RecordingScenario[] { + if (!variants.length) { + throw new Error(`No variants to hoist: ${base.id}`) + } + for (const { scenario, divergence } of variants) { + if ( + stepsKey(scenario.steps.slice(0, divergence)) !== stepsKey(base.steps.slice(0, divergence)) + ) { + throw new Error(`Variant diverges from the base before its divergence index: ${scenario.id}`) + } + } + const shared = Math.max(...variants.map((variant) => variant.divergence)) + const preludeSteps = base.steps.slice(0, shared) + const scenarios: RecordingScenario[] = [] + if (preludeSteps.some((step) => 'checkpoint' in step)) { + scenarios.push({ + ...base, + id: `${base.id}.prelude`, + schedules: ['prelude'], + steps: preludeSteps + }) + } + for (const { scenario, divergence } of variants) { + const steps = scenario.steps.filter( + (step, index) => !('checkpoint' in step) || index >= divergence + ) + if (!steps.some((step) => 'checkpoint' in step)) { + throw new Error(`Variant has no checkpoint at or after its divergence: ${scenario.id}`) + } + scenarios.push({ ...scenario, steps }) + } + return scenarios +} diff --git a/mobile/src/test-support/rpc-recording/probe-hole-witness.test.ts b/mobile/src/test-support/rpc-recording/probe-hole-witness.test.ts new file mode 100644 index 00000000000..126b713e811 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/probe-hole-witness.test.ts @@ -0,0 +1,67 @@ +import { resolve } from 'node:path' +import { describe, expect, it } from 'vitest' +import { readScenarios } from './scenario-input' +import { readGolden } from './golden-recording' +import { runRecordingMutant } from './run-recording' +import { pilotMountAdapters } from './pilot-mount-adapters' +import { vitestRecordingScheduler } from './vitest-recording-scheduler' +import type { Mutation } from './operation-mutations' + +const root = resolve(import.meta.dirname, '../../../..') +const input = readScenarios( + process.env.RPC_FOUNDATION_SCENARIOS ?? + resolve(root, 'mobile/rpc-foundation/pilot-scenarios.json') +) +const goldens = process.env.RPC_FOUNDATION_GOLDENS ?? resolve(root, 'mobile/rpc-foundation/goldens') + +/** + * Each probe exists because a real mutation survived the whole pre-probe suite. Hole and closure + * are asserted together: if a pre-probe scenario of the same operation also caught the mutation, + * the probe is redundant and this test says so instead of letting it accumulate. + */ +const HOLES: readonly { mutation: Mutation; operation: string; closedBy: readonly string[] }[] = [ + { + mutation: 'new-tab-refusal-order', + operation: 'settings.new-tab-agents', + closedBy: ['probe-new-tab-both-refused'] + }, + { + mutation: 'new-tab-deferred-settings-read', + operation: 'settings.new-tab-agents', + closedBy: ['probe-new-tab-null-sibling-refused'] + }, + { + mutation: 'workspace-context-refusal-blanks', + operation: 'settings.workspace-context', + closedBy: ['settings-workspace-context-refuse-after-data'] + } +] + +async function verdict(id: string, mutation: Mutation): Promise { + const scenario = input.scenarios.find((candidate) => candidate.id === id)! + const { adapters, assertMutationApplied } = pilotMountAdapters(root, { mutation }) + const result = await runRecordingMutant( + scenario, + adapters[scenario.operation], + vitestRecordingScheduler(), + readGolden(goldens, id).recording + ) + assertMutationApplied() + return result.verdict +} + +describe('probe scenarios close holes the pre-probe recordings left open', () => { + for (const hole of HOLES) { + const family = input.scenarios.filter((scenario) => scenario.operation === hole.operation) + for (const id of hole.closedBy) { + it(`${id} kills ${hole.mutation}`, async () => { + expect(await verdict(id, hole.mutation)).toBe('killed') + }) + } + for (const scenario of family.filter(({ id }) => !hole.closedBy.includes(id))) { + it(`${scenario.id} cannot see ${hole.mutation}`, async () => { + expect(await verdict(scenario.id, hole.mutation)).toBe('survived') + }) + } + } +}) diff --git a/mobile/src/test-support/rpc-recording/recorder-digest.ts b/mobile/src/test-support/rpc-recording/recorder-digest.ts new file mode 100644 index 00000000000..af25eb1f5fd --- /dev/null +++ b/mobile/src/test-support/rpc-recording/recorder-digest.ts @@ -0,0 +1,44 @@ +import { createHash } from 'node:crypto' +import { readFileSync, readdirSync } from 'node:fs' +import { join, posix } from 'node:path' + +export const RECORDER_DIRECTORY = 'mobile/src/test-support/rpc-recording' +export const RECORDER_SCENARIO_INPUT = 'mobile/rpc-foundation/pilot-scenarios.json' +const digests = new Map() + +function collect(root: string, relative: string, files: string[]): void { + for (const entry of readdirSync(join(root, relative), { withFileTypes: true }).sort((a, b) => + a.name < b.name ? -1 : 1 + )) { + const child = `${relative}/${entry.name}` + if (entry.isDirectory()) { + collect(root, child, files) + } else if (!entry.name.endsWith('.md')) { + files.push(child) + } + } +} + +/** + * Every executable recorder input, so a golden is attributable to one runner and one scenario file. + * Prose is excluded because it cannot change a recording; a candidate run recomputes this and + * `compareGolden` fails the header, which forces a recorder edit to re-record deliberately. + */ +export function recorderSha256(root: string): string { + const cached = digests.get(root) + if (cached !== undefined) { + return cached + } + const files: string[] = [] + collect(root, RECORDER_DIRECTORY, files) + files.push(RECORDER_SCENARIO_INPUT) + const digest = createHash('sha256') + .update( + files + .map((file) => `${file}:${readFileSync(join(root, ...file.split(posix.sep)))}`) + .join('\n') + ) + .digest('hex') + digests.set(root, digest) + return digest +} diff --git a/mobile/src/test-support/rpc-recording/recording-runner.test.ts b/mobile/src/test-support/rpc-recording/recording-runner.test.ts new file mode 100644 index 00000000000..3c96ba2b93c --- /dev/null +++ b/mobile/src/test-support/rpc-recording/recording-runner.test.ts @@ -0,0 +1,327 @@ +import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { operationModuleLoader } from './operation-module-loader' +import { describe, expect, it } from 'vitest' +import { captureArguments, captureError, captureValue } from './recording-values' +import { RECORDER_DIRECTORY, recorderSha256 } from './recorder-digest' +import { ScriptedRpcTransport } from './scripted-rpc-transport' +import { vitestRecordingScheduler } from './vitest-recording-scheduler' +import { + compareGolden, + GOLDEN_FORMAT_VERSION, + goldenBytes, + PROJECTION_VERSION, + readGolden, + writeGolden, + type GoldenRecording +} from './golden-recording' +import { hoistPreludeCheckpoints } from './prelude-checkpoints' +import { runRecording } from './run-recording' +import type { Observation, RecordingScenario } from './recording-scenario' + +describe('recording boundaries', () => { + it('preserves omitted arguments, explicit undefined, null, order, and tagged-looking objects', () => { + expect(captureArguments(['m'])).not.toEqual(captureArguments(['m', undefined])) + expect(captureArguments(['m', undefined])).not.toEqual(captureArguments(['m', null])) + expect(captureValue({ b: undefined, a: null })).toEqual(captureValue({ a: null, b: undefined })) + expect(captureValue({ $rpc: 'undefined' })).not.toEqual(captureValue(undefined)) + expect(captureValue([1, 2])).not.toEqual(captureValue([2, 1])) + }) + + it('runs the actual stable-client projection and physical serialization', async () => { + const clock = vitestRecordingScheduler() + clock.start() + const transport = new ScriptedRpcTransport(clock.elapsed) + try { + const result = transport.client.sendRequest( + 'worktree.ps', + { omitted: undefined, nullable: null }, + { timeoutMs: 7 } + ) + await clock.flush() + expect(transport.requests[0].args).toEqual( + captureArguments(['worktree.ps', { omitted: undefined, nullable: null }, { timeoutMs: 7 }]) + ) + expect(JSON.parse(transport.payloads[0].json)).toEqual({ + id: 'frame-1', + deviceToken: 'recording-device', + method: 'worktree.ps', + params: { nullable: null, supportsWorktreeVisibilitySourceDefaults: true } + }) + transport.complete( + 'worktree.ps#1', + { omitted: undefined, nullable: null, supportsWorktreeVisibilitySourceDefaults: true }, + { ok: true, result: null } + ) + await result + } finally { + transport.dispose() + await clock.flush() + clock.stop() + } + }) + + it('requires logical bindings plus matching params for concurrent same-method calls', async () => { + const clock = vitestRecordingScheduler() + clock.start() + const transport = new ScriptedRpcTransport(clock.elapsed) + try { + const left = transport.client.sendRequest('files.list', { worktree: 'A' }) + const right = transport.client.sendRequest('files.list', { worktree: 'B' }) + await clock.flush() + expect(() => transport.complete('files.list#1', { worktree: 'A' }, {})).toThrow( + 'logical binding' + ) + expect(() => transport.bind('left', 'files.list#1', { worktree: 'B' })).toThrow( + 'params mismatch' + ) + transport.bind('left', 'files.list#1', { worktree: 'A' }) + transport.bind('right', 'files.list#2', { worktree: 'B' }) + transport.complete('right', { worktree: 'B' }, { ok: true, result: [] }) + transport.complete('left', { worktree: 'A' }, { ok: true, result: [] }) + await Promise.all([left, right]) + } finally { + transport.dispose() + await clock.flush() + clock.stop() + } + }) + + it('records actual deadline ambiguity and leaves peers pending before their deadlines', async () => { + const clock = vitestRecordingScheduler() + clock.start() + const transport = new ScriptedRpcTransport(clock.elapsed) + try { + void transport.client.sendRequest('short', {}, { timeoutMs: 5 }).catch(() => {}) + void transport.client.sendRequest('long', {}, { timeoutMs: 50 }).catch(() => {}) + await clock.advance(5) + // Exact virtual milliseconds: the deadline is recorded at the value the product asked for. + expect(transport.requests[0].settlement).toEqual({ + status: 'rejected', + startedAt: 0, + settledAt: 5, + error: { + category: 'Error', + message: 'Request timed out: short', + isRpcDeliveryUnknown: true + } + }) + expect(transport.requests[1].settlement).toEqual({ status: 'pending', startedAt: 0 }) + } finally { + transport.dispose() + await clock.flush() + clock.stop() + } + }) + + it('never writes from candidate mode and requires both recording authorizations', async () => { + const directory = mkdtempSync(join(tmpdir(), 'rpc-recording-')) + const golden = sampleGolden('test') + const previous = process.env.RPC_FOUNDATION_RECORD + try { + process.env.RPC_FOUNDATION_RECORD = '0' + await expect(writeGolden(directory, golden, '--record')).rejects.toThrow('require') + process.env.RPC_FOUNDATION_RECORD = '1' + await expect(writeGolden(directory, golden, 'candidate')).rejects.toThrow('require') + await writeGolden(directory, golden, '--record') + expect(readGolden(directory, 'test')).toEqual(golden) + expect(() => readGolden(directory, '../escape')).toThrow('Unsafe') + writeFileSync( + join(directory, 'stale.json'), + JSON.stringify({ + ...JSON.parse(readFileSync(join(directory, 'test.json'), 'utf8')), + goldenFormatVersion: 1 + }) + ) + expect(() => readGolden(directory, 'stale')).toThrow( + `format version 1; this reader requires ${GOLDEN_FORMAT_VERSION}` + ) + } finally { + if (previous === undefined) { + delete process.env.RPC_FOUNDATION_RECORD + } else { + process.env.RPC_FOUNDATION_RECORD = previous + } + rmSync(directory, { recursive: true }) + } + }) + + it('pools repeated observation values and still resolves them for comparison', () => { + const golden = sampleGolden('pooled') + golden.recording.checkpoints.push({ id: 'again', observation: observation('idle') }) + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the bytes were just produced by goldenBytes, so the pool is present. + const file = JSON.parse(goldenBytes(golden)) as { + values: Record + recording: { checkpoints: { observation: Observation }[] } + } + const [first, second] = file.recording.checkpoints + expect(second!.observation).toEqual(first!.observation) + // [] is shared by three fields; {} and the state object are the other two pool entries. + expect(Object.keys(file.values)).toHaveLength(3) + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: an interned observation field is a pool hash at rest. + expect(file.values[first!.observation.state as unknown as string]).toEqual({ phase: 'idle' }) + }) + + it('names the scenario, checkpoint and field, and prints values rather than hashes', () => { + const expected = sampleGolden('diffable') + const actual = sampleGolden('diffable') + actual.recording.checkpoints[0]!.observation.state = { phase: 'busy' } + expect(() => compareGolden(expected, actual)).toThrow( + /Recording differs: diffable checkpoint settled field state\.phase[\s\S]*"idle"[\s\S]*"busy"/ + ) + }) + + it('accepts a dependency bump but still refuses a different baseline', () => { + const expected = sampleGolden('provenance') + const bumped = sampleGolden('provenance') + bumped.lockfileSha256 = 'd'.repeat(64) + expect(() => compareGolden(expected, bumped)).not.toThrow() + const rebased = sampleGolden('provenance') + rebased.baseline = 'e'.repeat(40) + expect(() => compareGolden(expected, rebased)).toThrow( + /Recording differs: provenance header baseline/ + ) + }) + + it('records a shared prefix once and refuses a variant that already diverged', () => { + const base: RecordingScenario = { + id: 'family', + operation: 'op', + version: 1, + family: 'op', + sites: [], + schedules: [], + steps: [ + { action: 'mount', id: 'mount' }, + { checkpoint: 'pending' }, + { complete: 'a#1', params: {}, reply: { ok: true } }, + { checkpoint: 'settled' } + ] + } + const variant = (id: string, reply: unknown): RecordingScenario => ({ + ...base, + id, + steps: base.steps.map((step) => ('complete' in step ? { ...step, reply } : step)) + }) + const hoisted = hoistPreludeCheckpoints(base, [ + { divergence: 2, scenario: variant('family.ok', { ok: true }) }, + { divergence: 2, scenario: variant('family.refused', { ok: false }) } + ]) + expect(hoisted.map((scenario) => scenario.id)).toEqual([ + 'family.prelude', + 'family.ok', + 'family.refused' + ]) + expect(hoisted[0]!.steps.filter((step) => 'checkpoint' in step)).toEqual([ + { checkpoint: 'pending' } + ]) + expect(hoisted[1]!.steps.filter((step) => 'checkpoint' in step)).toEqual([ + { checkpoint: 'settled' } + ]) + expect(() => + hoistPreludeCheckpoints(base, [ + { divergence: 3, scenario: variant('family.late', { ok: false }) } + ]) + ).toThrow('diverges from the base') + }) + + it('refuses a checkpoint whose clock drifted from the scripted advances', async () => { + const scheduler = vitestRecordingScheduler() + await expect( + runRecording( + { + id: 'drift', + operation: 'op', + version: 1, + family: 'op', + sites: [], + schedules: [], + steps: [{ advance: 10 }, { checkpoint: 'settled' }] + }, + () => ({ action: () => {}, state: () => ({}), dispose: () => {} }), + { ...scheduler, elapsed: () => scheduler.elapsed() + 1 } + ) + ).rejects.toThrow('Checkpoint clock drifted: drift settled at 11, scripted 10') + }) + + it('records an error code and cause, and omits both when the error carries neither', () => { + expect(captureError(new Error('plain'))).toEqual({ + category: 'Error', + message: 'plain', + isRpcDeliveryUnknown: false + }) + const detailed = Object.assign(new TypeError('outer'), { + code: 'refused', + cause: new Error('inner') + }) + expect(captureError(detailed)).toMatchObject({ + code: 'refused', + cause: { category: 'Error', message: 'inner' } + }) + }) + + it('digests every executable recorder input and ignores prose', () => { + const root = mkdtempSync(join(tmpdir(), 'rpc-recorder-')) + try { + const directory = join(root, RECORDER_DIRECTORY) + mkdirSync(directory, { recursive: true }) + mkdirSync(join(root, 'mobile/rpc-foundation'), { recursive: true }) + writeFileSync(join(root, 'mobile/rpc-foundation/pilot-scenarios.json'), '{}') + writeFileSync(join(directory, 'runner.ts'), 'export const runner = 1') + const original = recorderSha256(root) + writeFileSync(join(directory, 'README.md'), 'prose') + expect(recorderSha256(join(root, '.'))).toBe(original) + writeFileSync(join(directory, 'runner.ts'), 'export const runner = 2') + expect(recorderSha256(join(root, './'))).not.toBe(original) + } finally { + rmSync(root, { recursive: true }) + } + }) + + it('refuses a mutation anchor that matches more than once', () => { + const root = mkdtempSync(join(tmpdir(), 'rpc-mutant-')) + try { + const anchor = + "const overrides = settings == null ? undefined : Reflect.get(Object(settings), 'prBotAuthorOverrides')" + mkdirSync(join(root, 'mod'), { recursive: true }) + writeFileSync( + join(root, 'mod/settings-read-operations.ts'), + `const raw = {} as { settings?: unknown }\nconst settings = raw.settings\nexport function first() {\n ${anchor}\n return overrides\n}\nexport function second() {\n ${anchor}\n return overrides\n}\n` + ) + const loader = operationModuleLoader(root, 'bot-overrides-envelope') + expect(() => loader.load('mod/settings-read-operations.ts')).toThrow( + 'matched 2 sites, expected 1' + ) + } finally { + rmSync(root, { recursive: true }) + } + }) +}) + +function observation(phase: string): Observation { + return { + sender: [], + payloads: [], + settlements: {}, + state: { phase }, + effects: [] + } +} + +function sampleGolden(id: string): GoldenRecording { + return { + operation: 'op', + family: 'op', + namedDeltas: [], + runnerVersion: 1, + baseline: 'a'.repeat(40), + lockfileSha256: 'b'.repeat(64), + recorderSha256: 'c'.repeat(64), + platform: process.platform, + scenarioVersion: 1, + projectionVersion: PROJECTION_VERSION, + goldenFormatVersion: GOLDEN_FORMAT_VERSION, + recording: { scenario: id, checkpoints: [{ id: 'settled', observation: observation('idle') }] } + } +} diff --git a/mobile/src/test-support/rpc-recording/recording-scenario.ts b/mobile/src/test-support/rpc-recording/recording-scenario.ts new file mode 100644 index 00000000000..b896efb681c --- /dev/null +++ b/mobile/src/test-support/rpc-recording/recording-scenario.ts @@ -0,0 +1,54 @@ +import type { RpcClient } from '../../transport/rpc-client' +import type { RecordedValue } from './recording-values' + +export type RpcRequestSender = Pick +export type Rejection = { + message: string + category?: 'Error' | 'TypeError' + deliveryUnknown?: boolean +} +export type ScenarioStep = + | { action: string; id: string; args?: Record } + | { complete: string; params: unknown; reply?: unknown; reject?: Rejection } + | { bind: string; request: string; params: unknown } + | { advance: number } + | { checkpoint: string } +export type RecordingScenario = { + id: string + operation: string + version: number + family: string + sites: string[] + schedules: string[] + namedDeltas?: string[] + steps: ScenarioStep[] +} +export type MountedOperation = { + action: (name: string, args: Record) => unknown + state: () => unknown + dispose: () => void | Promise +} +export type MountContext = { + client: RpcClient + effect: (name: string, value: unknown) => void +} +export type MountAdapter = (context: MountContext) => MountedOperation +export type RecordingScheduler = { + start: () => void + flush: () => Promise + advance: (ms: number) => Promise + /** Virtual milliseconds since the pinned recording epoch. */ + elapsed: () => number + stop: () => void +} +export type Observation = { + sender: RecordedValue + payloads: RecordedValue + settlements: RecordedValue + state: RecordedValue + effects: RecordedValue +} +export type Recording = { + scenario: string + checkpoints: { id: string; observation: Observation }[] +} diff --git a/mobile/src/test-support/rpc-recording/recording-values.ts b/mobile/src/test-support/rpc-recording/recording-values.ts new file mode 100644 index 00000000000..dff938bab69 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/recording-values.ts @@ -0,0 +1,94 @@ +import { isRpcDeliveryUnknown } from '../../transport/rpc-delivery-ambiguity' + +export type RecordedValue = + | null + | boolean + | number + | string + | RecordedValue[] + | { + [key: string]: RecordedValue + } + +export function captureValue(value: unknown): RecordedValue { + if (value === undefined) { + return { $rpc: 'undefined' } + } + if (value === null) { + return { $rpc: 'null' } + } + if (Array.isArray(value)) { + return value.map(captureValue) + } + if (typeof value === 'object') { + if (![Object.prototype, null].includes(Object.getPrototypeOf(value))) { + throw new Error('Observation requires an explicit projection for non-plain objects') + } + const entries = Object.keys(value) + .sort() + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the plain-object branch above already narrowed the container. + .map((key) => [key, captureValue((value as Record)[key])] as const) + return '$rpc' in value + ? { $rpc: 'object', entries: entries.map(([key, entry]) => [key, entry]) } + : Object.fromEntries(entries) + } + if (typeof value === 'number' && !Number.isFinite(value)) { + return { $rpc: 'number', value: String(value) } + } + if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') { + return value + } + throw new Error(`Unsupported observation: ${typeof value}`) +} + +export function captureArguments(args: readonly unknown[]): RecordedValue { + return ['method', 'params', 'options'].map((name, index) => ({ + name, + value: index < args.length ? captureValue(args[index]) : { $rpc: 'absent' } + })) +} + +/** `code` and `cause` are recorded only when present, so an error without them keeps three fields. */ +export function captureError(error: unknown, depth = 0): RecordedValue { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: code and cause are read defensively; a thrown value carries neither by type. + const detail = error as { code?: unknown; cause?: unknown } + const code = error instanceof Error ? detail.code : undefined + const cause = error instanceof Error && depth < 4 ? detail.cause : undefined + return { + category: error instanceof Error ? error.constructor.name : typeof error, + message: error instanceof Error ? error.message : String(error), + isRpcDeliveryUnknown: isRpcDeliveryUnknown(error), + ...(code === undefined ? {} : { code: captureValue(code) }), + ...(cause === undefined ? {} : { cause: captureError(cause, depth + 1) }) + } +} + +/** + * `startedAt` and `settledAt` are virtual milliseconds on the pinned fake clock. They give the + * observation a temporal dimension: a transition the product schedules for itself, such as a + * request deadline or a debounce, is recorded at the time it actually happens, so any change to + * that duration moves a recorded number rather than needing a scenario placed across it. + */ +export type Settlement = + | { status: 'pending'; startedAt: number } + | { status: 'fulfilled'; startedAt: number; settledAt: number; value: RecordedValue } + | { status: 'rejected'; startedAt: number; settledAt: number; error: RecordedValue } + +export function rejectedSettlement(error: unknown, at: number): Settlement { + return { status: 'rejected', startedAt: at, settledAt: at, error: captureError(error) } +} + +export function observeSettlement( + value: unknown, + now: () => number, + update: (state: Settlement) => void +): void { + const startedAt = now() + update({ status: 'pending', startedAt }) + Promise.resolve(value).then( + (result) => + update({ status: 'fulfilled', startedAt, settledAt: now(), value: captureValue(result) }), + (error: unknown) => + update({ status: 'rejected', startedAt, settledAt: now(), error: captureError(error) }) + ) +} diff --git a/mobile/src/test-support/rpc-recording/reply-matrix.ts b/mobile/src/test-support/rpc-recording/reply-matrix.ts new file mode 100644 index 00000000000..66004a1dfd6 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/reply-matrix.ts @@ -0,0 +1,72 @@ +import { hoistPreludeCheckpoints } from './prelude-checkpoints' +import type { RecordingScenario, Rejection, ScenarioStep } from './recording-scenario' + +export type ReplyPartition = { id: string; reply?: unknown; reject?: Rejection } + +/** + * Only shapes a host can send. `successResponse` always sets `result`, so an absent key means the + * handler returned undefined and there is no explicit-undefined shape on a JSON wire; `null` is a + * real result (`linear.getIssue` on a missing issue, and the b2 seed). The GitHub project + * mutations carry an inner `{ok, error}` envelope whose error is a string or an object. Everything + * else a client sees is the dispatcher refusing, not knowing the method, or the transport failing. + */ +export function replyPartitions(normal: unknown): ReplyPartition[] { + return [ + { id: 'normal', reply: { ok: true, result: normal } }, + { id: 'result-absent', reply: { ok: true } }, + { id: 'result-null', reply: { ok: true, result: null } }, + { id: 'inner-ok-missing', reply: { ok: true, result: { error: 'refused' } } }, + { + id: 'inner-false-string-error', + reply: { ok: true, result: { ok: false, error: 'inner refused' } } + }, + { + id: 'inner-false-object-error', + reply: { ok: true, result: { ok: false, error: { message: 'inner refused' } } } + }, + { + id: 'outer-refused', + reply: { ok: false, error: { code: 'refused', message: 'outer refused' } } + }, + { + id: 'method-not-found', + reply: { ok: false, error: { code: 'method_not_found', message: 'Unknown method' } } + }, + { id: 'transport-rejection', reject: { message: 'transport failure', deliveryUnknown: true } } + ] +} + +export function driveReplyMatrix( + base: RecordingScenario, + request: string, + normal: unknown +): RecordingScenario[] { + const sites = base.steps.flatMap((step, index) => + 'complete' in step && step.complete === request ? [index] : [] + ) + if (sites.length !== 1) { + throw new Error(`Matrix requires exactly one completion: ${request}`) + } + const divergence = sites[0]! + return hoistPreludeCheckpoints( + base, + replyPartitions(normal).map((partition) => ({ + divergence, + scenario: { + ...base, + id: `${base.id}.${partition.id}`, + steps: base.steps.map((step, index): ScenarioStep => + index === divergence && 'complete' in step + ? { + complete: request, + params: step.params, + ...('reject' in partition + ? { reject: partition.reject } + : { reply: partition.reply }) + } + : step + ) + } + })) + ) +} diff --git a/mobile/src/test-support/rpc-recording/run-recording.ts b/mobile/src/test-support/rpc-recording/run-recording.ts new file mode 100644 index 00000000000..2aa0b80f1da --- /dev/null +++ b/mobile/src/test-support/rpc-recording/run-recording.ts @@ -0,0 +1,148 @@ +import { recordUnhandledRejections } from './unhandled-recording' +import { + captureValue, + observeSettlement, + rejectedSettlement, + type Settlement, + type RecordedValue +} from './recording-values' +import type { + MountAdapter, + Recording, + RecordingScenario, + RecordingScheduler, + MountedOperation +} from './recording-scenario' +import { ScriptedRpcTransport } from './scripted-rpc-transport' + +export async function runRecording( + scenario: RecordingScenario, + mount: MountAdapter, + scheduler: RecordingScheduler +): Promise { + scheduler.start() + const transport = new ScriptedRpcTransport(scheduler.elapsed) + const effects: { name: string; value: RecordedValue }[] = [] + const settlements: Record = {} + const recording: Recording = { scenario: scenario.id, checkpoints: [] } + const effect = (name: string, value: unknown) => { + effects.push({ name, value: captureValue(value) }) + } + const stopUnhandled = recordUnhandledRejections(effect) + let mounted: MountedOperation | undefined + const ids = new Set() + let advanced = 0 + let cleaned = false + const teardown = async (): Promise => { + cleaned = true + await mounted?.dispose() + transport.dispose() + await scheduler.flush() + } + try { + mounted = mount({ client: transport.client, effect }) + for (const step of scenario.steps) { + if ('action' in step) { + if (ids.has(step.id)) { + throw new Error(`Duplicate action: ${step.id}`) + } + ids.add(step.id) + try { + const value = + step.action === 'disconnect' + ? transport.disconnect() + : step.action === 'cutover' + ? transport.cutover() + : mounted.action(step.action, step.args ?? {}) + observeSettlement(value, scheduler.elapsed, (state) => { + settlements[step.id] = state + }) + } catch (error) { + settlements[step.id] = rejectedSettlement(error, scheduler.elapsed()) + } + } else if ('complete' in step) { + transport.complete(step.complete, step.params, step.reply, step.reject) + } else if ('bind' in step) { + transport.bind(step.bind, step.request, step.params) + } else if ('advance' in step) { + advanced += step.advance + await scheduler.advance(step.advance) + } + await scheduler.flush() + if ('checkpoint' in step) { + // A checkpoint's own clock is the sum of the scripted advances, so recording it would add + // bytes and no signal. Asserted rather than recorded, so a future drift fails loudly. + if (scheduler.elapsed() !== advanced) { + throw new Error( + `Checkpoint clock drifted: ${scenario.id} ${step.checkpoint} at ${scheduler.elapsed()}, scripted ${advanced}` + ) + } + recording.checkpoints.push({ + id: step.checkpoint, + observation: { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a structured clone of recorded requests is recorded data. + sender: structuredClone(transport.requests) as unknown as RecordedValue, + payloads: structuredClone(transport.payloads), + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a structured clone of recorded settlements is recorded data. + settlements: structuredClone(settlements) as unknown as RecordedValue, + state: captureValue(mounted.state()), + effects: structuredClone(effects) + } + }) + } + } + if (!recording.checkpoints.length) { + throw new Error(`No checkpoints: ${scenario.id}`) + } + // Why cleanup runs here and not only in `finally`: each checkpoint clones `effects`, so a + // rejection or state write produced by dispose, transport teardown or the final flush landed + // after the recording was built and never reached a golden. Unmount leaks are exactly what + // this oracle exists to catch, so teardown happens on the recorded path and anything it + // observes becomes its own checkpoint. `state` is captured before dispose because the + // operation is gone afterwards. + const beforeCleanup = effects.length + const stateAtCleanup = captureValue(mounted.state()) + await teardown() + if (effects.length !== beforeCleanup) { + recording.checkpoints.push({ + id: 'cleanup', + observation: { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a structured clone of recorded requests is recorded data. + sender: structuredClone(transport.requests) as unknown as RecordedValue, + payloads: structuredClone(transport.payloads), + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a structured clone of recorded settlements is recorded data. + settlements: structuredClone(settlements) as unknown as RecordedValue, + state: stateAtCleanup, + effects: structuredClone(effects) + } + }) + } + return recording + } finally { + try { + if (!cleaned) { + await teardown() + } + } finally { + stopUnhandled() + scheduler.stop() + } + } +} + +export async function runRecordingMutant( + scenario: RecordingScenario, + mutatedMount: MountAdapter, + scheduler: RecordingScheduler, + baseline: Recording, + project: (recording: Recording) => unknown = (recording) => recording +): Promise<{ verdict: 'killed' | 'survived'; recording: Recording }> { + const recording = await runRecording(scenario, mutatedMount, scheduler) + return { + verdict: + JSON.stringify(project(recording)) === JSON.stringify(project(baseline)) + ? 'survived' + : 'killed', + recording + } +} diff --git a/mobile/src/test-support/rpc-recording/scenario-input.ts b/mobile/src/test-support/rpc-recording/scenario-input.ts new file mode 100644 index 00000000000..22dfeb9a5b9 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/scenario-input.ts @@ -0,0 +1,34 @@ +import { readFileSync } from 'node:fs' +import type { RecordingScenario } from './recording-scenario' + +function decode(value: unknown): unknown { + if (Array.isArray(value)) { + return value.map(decode) + } + if (value && typeof value === 'object') { + if (Object.keys(value).length === 1 && '$undefined' in value && value.$undefined === true) { + return undefined + } + return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, decode(entry)])) + } + return value +} +export function readScenarios(path: string): { baseline: string; scenarios: RecordingScenario[] } { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the manifest shape is validated on the next lines. + const input = decode(JSON.parse(readFileSync(path, 'utf8'))) as { + baseline: string + scenarios: RecordingScenario[] + } + if ( + !/^[a-f0-9]{40}$/.test(input.baseline) || + !Array.isArray(input.scenarios) || + !input.scenarios.length + ) { + throw new Error('Invalid recording manifest') + } + const ids = input.scenarios.map((scenario) => scenario.id) + if (new Set(ids).size !== ids.length) { + throw new Error('Duplicate scenario ids') + } + return input +} diff --git a/mobile/src/test-support/rpc-recording/schedule-driver.ts b/mobile/src/test-support/rpc-recording/schedule-driver.ts new file mode 100644 index 00000000000..3aeb11a1513 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/schedule-driver.ts @@ -0,0 +1,127 @@ +import { hoistPreludeCheckpoints, type DivergingScenario } from './prelude-checkpoints' +import type { RecordingScenario, ScenarioStep } from './recording-scenario' + +type Completion = Extract +export const REQUIRED_SCHEDULES = [ + 'forward', + 'reverse', + 'reset-before-first', + 'reset-after-first', + 'reset-before-second', + 'reset-after-second', + 'a-b-a', + 'stale-inflight-cleanup', + 'unmount-remount', + 'blur-retained-route', + 'client-cutover', + 'timeout', + 'disconnect', + 'both-reject-forward', + 'both-reject-reverse', + 'reject-peer-pending' +] as const + +export function siblingSchedules( + base: RecordingScenario, + first: Completion, + second: Completion +): RecordingScenario[] { + const firstIndex = base.steps.indexOf(first) + const secondIndex = base.steps.indexOf(second) + if (firstIndex === -1 || secondIndex < firstIndex) { + throw new Error('Sibling completions must be ordered members of the base scenario') + } + const prefix = base.steps.slice(0, firstIndex).filter((step) => !('checkpoint' in step)) + const suffix = base.steps.slice(secondIndex + 1).filter((step) => !('checkpoint' in step)) + const checkpoint = { checkpoint: 'sibling-pending' } + const rejected = (step: Completion): Completion => ({ + complete: step.complete, + params: step.params, + reject: { message: `${step.complete} rejected`, deliveryUnknown: true } + }) + const variants: Record = { + forward: [first, checkpoint, second], + reverse: [second, checkpoint, first], + 'both-reject-forward': [rejected(first), checkpoint, rejected(second)], + 'both-reject-reverse': [rejected(second), checkpoint, rejected(first)], + 'reject-peer-pending': [rejected(first), checkpoint], + timeout: [{ advance: 30_000 }], + disconnect: [{ action: 'disconnect', id: 'disconnect' }], + 'client-cutover': [{ action: 'cutover', id: 'cutover' }] + } + return Object.entries(variants).map(([schedule, steps]) => ({ + ...base, + id: `${base.id}.${schedule}`, + schedules: [schedule], + steps: [...prefix, ...steps, ...suffix, { checkpoint: 'settled' }] + })) +} + +/** Completions are rebound so a lifecycle boundary can land between a request and its reply. */ +export function bindCompletions(steps: readonly ScenarioStep[]): ScenarioStep[] { + return steps.flatMap((step): ScenarioStep[] => + 'complete' in step + ? [ + { bind: `lifecycle-${step.complete}`, request: step.complete, params: step.params }, + { ...step, complete: `lifecycle-${step.complete}` } + ] + : [step] + ) +} + +export function lifecycleSchedules( + base: RecordingScenario, + action: 'reset' | 'unmount' | 'blur' +): DivergingScenario[] { + const completions = base.steps.flatMap((step, index) => ('complete' in step ? [index] : [])) + return completions.flatMap((index, occurrence) => + ['before', 'after'].map((side) => { + const insertion = index + (side === 'after' ? 1 : 0) + const steps = [...base.steps] + steps.splice( + insertion, + 0, + { action, id: `lifecycle-${action}` }, + { checkpoint: 'lifecycle-boundary' } + ) + if (action === 'unmount') { + steps.push({ action: 'remount', id: 'remount' }, { checkpoint: 'remounted' }) + } + return { + divergence: bindCompletions(base.steps.slice(0, insertion)).length, + scenario: { + ...base, + id: `${base.id}.${action}-${side}-${occurrence + 1}`, + schedules: [`${action}-${side}-${occurrence + 1}`], + steps: bindCompletions(steps) + } + } + }) + ) +} + +export function interruptionSchedules(base: RecordingScenario): RecordingScenario[] { + const completion = base.steps.findLastIndex((step) => 'complete' in step) + if (completion === -1) { + throw new Error('Interruption schedule needs an in-flight request') + } + return hoistPreludeCheckpoints( + base, + ['timeout', 'disconnect', 'cutover'].map((interruption) => ({ + divergence: completion, + scenario: { + ...base, + id: `${base.id}.${interruption}`, + schedules: [interruption], + steps: [ + ...base.steps.slice(0, completion), + interruption === 'timeout' + ? { advance: 30_000 } + : { action: interruption, id: interruption }, + { checkpoint: 'interrupted' }, + ...base.steps.slice(completion) + ] + } + })) + ) +} diff --git a/mobile/src/test-support/rpc-recording/scripted-rpc-transport.ts b/mobile/src/test-support/rpc-recording/scripted-rpc-transport.ts new file mode 100644 index 00000000000..ca6307d7df7 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/scripted-rpc-transport.ts @@ -0,0 +1,176 @@ +import type { ConnectionState, RpcResponse } from '../../transport/types' +import type { RpcClient } from '../../transport/rpc-client' +import { RpcClientRequestTracker } from '../../transport/rpc-client-request-tracker' +import { createStableLogicalRpcClient } from '../../transport/stable-logical-rpc-client' +import { markRpcDeliveryUnknown } from '../../transport/rpc-delivery-ambiguity' +import { + captureArguments, + captureValue, + observeSettlement, + type Settlement +} from './recording-values' +import type { Rejection } from './recording-scenario' + +export class ScriptedRpcTransport { + readonly requests: { + name: string + args: ReturnType + settlement: Settlement + }[] = [] + readonly payloads: { name: string; json: string }[] = [] + readonly client: RpcClient + readonly logical + private counts = new Map() + private bindings = new Map() + private aliases = new Map() + private activeName = '' + private frameCount = 0 + private state: ConnectionState = 'connected' + private listeners = new Set<(state: ConnectionState) => void>() + private rejects = new Map void>() + private tracker = new RpcClientRequestTracker({ + nextId: () => `frame-${++this.frameCount}`, + getState: () => this.state, + waitForConnected: async () => { + if (this.state !== 'connected') { + throw new Error('Scripted transport disconnected') + } + }, + deviceToken: 'recording-device', + sendEncrypted: (value) => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the physical client publishes the frame this transport just serialized. + const payload = value as { id: string; method: string; params: unknown } + const name = this.wireNames.shift() + if (!name) { + throw new Error('Unbound physical request') + } + this.bindings.set(name, { id: payload.id, params: payload.params, completed: false }) + this.payloads.push({ name, json: JSON.stringify(value) }) + return true + } + }) + private wireNames: string[] = [] + + /** `now` is the recording scheduler's virtual clock; every settlement is stamped from it. */ + constructor(private readonly now: () => number = () => 0) { + const session = this.session() + this.logical = createStableLogicalRpcClient(session, 'lan') + this.client = { + ...this.logical, + sendRequest: (...args: Parameters) => { + const occurrence = (this.counts.get(args[0]) ?? 0) + 1 + this.counts.set(args[0], occurrence) + const name = `${args[0]}#${occurrence}` + this.activeName = name + const request = { + name, + args: captureArguments(args), + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a pending settlement has no settledAt yet. + settlement: { status: 'pending', startedAt: this.now() } as Settlement + } + this.requests.push(request) + const promise = this.logical.sendRequest(...args) + observeSettlement(promise, this.now, (state) => { + request.settlement = state + }) + return promise + } + } + } + + private session(): RpcClient { + return { + sendRequest: (...args) => { + const name = this.activeName + this.wireNames.push(name) + return new Promise((resolve, reject) => { + this.rejects.set(name, reject) + this.tracker.sendRequest(...args).then(resolve, reject) + }) + }, + subscribe: () => { + throw new Error('Subscriptions are outside this request-only runner') + }, + updateTerminalSubscriptionViewport: () => {}, + getState: () => this.state, + getReconnectAttempt: () => 0, + getLastConnectedAt: () => 0, + onStateChange: (listener) => { + this.listeners.add(listener) + return () => { + this.listeners.delete(listener) + } + }, + notifyForeground: () => {}, + close: () => { + this.tracker.rejectAll('Connection closed', { deliveryUnknown: true }) + } + } + } + + bind(alias: string, name: string, params: unknown): void { + name = this.aliases.get(name) ?? name + const binding = this.bindings.get(name) + if (!binding || this.aliases.has(alias)) { + throw new Error(`Invalid request binding: ${alias}`) + } + if (JSON.stringify(captureValue(binding.params)) !== JSON.stringify(captureValue(params))) { + throw new Error(`Binding params mismatch: ${alias}`) + } + this.aliases.set(alias, name) + } + + complete(name: string, params: unknown, reply: unknown, rejection?: Rejection): void { + const alias = this.aliases.get(name) + const requestedName = alias ?? name + const method = requestedName.split('#')[0] + if ( + !alias && + [...this.bindings].filter(([key, value]) => key.split('#')[0] === method && !value.completed) + .length > 1 + ) { + throw new Error(`Concurrent requests require a logical binding: ${name}`) + } + name = requestedName + const binding = this.bindings.get(name) + if (!binding || binding.completed) { + throw new Error(`Missing or completed request: ${name}`) + } + if (JSON.stringify(captureValue(binding.params)) !== JSON.stringify(captureValue(params))) { + throw new Error(`Request params mismatch: ${name}`) + } + binding.completed = true + if (rejection) { + const error = + rejection.category === 'TypeError' + ? new TypeError(rejection.message) + : new Error(rejection.message) + if (rejection.deliveryUnknown) { + markRpcDeliveryUnknown(error) + } + // Resolve the physical tracker to cancel its deadline before injecting the scripted rejection. + this.rejects.get(name)?.(error) + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the scenario asked for a null result, which is a reply shape a host can send. + this.tracker.resolve({ id: binding.id, ok: true, result: null } as RpcResponse) + } else { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the scenario supplies the reply as JSON; the wire id is the transport’s. + this.tracker.resolve({ ...(reply as object), id: binding.id } as RpcResponse) + } + } + + disconnect(): void { + this.state = 'disconnected' + this.tracker.rejectAll('Connection lost', { deliveryUnknown: true }) + for (const listener of this.listeners) { + listener(this.state) + } + } + + async cutover(): Promise { + await this.logical.migrateTo(this.session(), 'relay') + } + + dispose(): void { + this.logical.close() + } +} diff --git a/mobile/src/test-support/rpc-recording/settings-mount-adapters.ts b/mobile/src/test-support/rpc-recording/settings-mount-adapters.ts new file mode 100644 index 00000000000..f453c16ef13 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/settings-mount-adapters.ts @@ -0,0 +1,187 @@ +import type { MountAdapter } from './recording-scenario' +import { hookMount } from './hook-mount' +import { observableModel, projectObservable } from './observable-model' +import { operationModuleLoader } from './operation-module-loader' + +export function settingsMountAdapters( + modules: ReturnType +): Record { + return { + 'settings.bot-overrides': ({ client }) => { + const useOverrides = modules.load( + 'mobile/src/session/use-pr-bot-author-overrides.ts' + ).usePRBotAuthorOverrides + let state: ReadonlySet = new Set() + let revision = 1 + const hook = hookMount(() => { + state = useOverrides(client, 'connected', revision) + }) + return { + action(name) { + if (name === 'mount' || name === 'remount') { + return hook.mount() + } + if (name === 'unmount') { + return hook.unmount() + } + if (name === 'reset') { + revision++ + return hook.update() + } + if (name === 'blur') { + return + } + throw new Error(`Unknown overrides action: ${name}`) + }, + state: () => [...state], + dispose: hook.unmount + } + }, + 'settings.workspace-context': ({ client }) => { + const useContext = modules.load< + typeof import('../../components/use-new-workspace-runtime-context') + >('mobile/src/components/use-new-workspace-runtime-context.ts').useNewWorkspaceRuntimeContext + let state: ReturnType + let visible = true + const hook = hookMount(() => { + state = useContext(client, visible, 'host-1') + }) + return { + action(name) { + if (name === 'mount' || name === 'remount') { + return hook.mount() + } + if (name === 'unmount') { + return hook.unmount() + } + if (name === 'blur') { + visible = false + return hook.update() + } + if (name === 'reset') { + visible = true + return hook.update() + } + throw new Error(`Unknown context action: ${name}`) + }, + state: () => ({ + settings: state?.runtimeSettings, + trust: state?.trustedOrcaHooks, + providers: state?.availableProviders + }), + dispose: hook.unmount + } + }, + 'settings.home-providers': (context) => { + const load = modules.load( + 'mobile/src/home/mobile-home-host-requests.ts' + ).fetchMobileHomeTaskProviders + let providers: unknown = {} + let disposed = false + return { + action(name) { + if (name === 'unmount') { + disposed = true + return + } + load( + context.client, + 'host-1', + (update: (value: unknown) => unknown) => { + providers = update(providers) + context.effect('providers', providers) + }, + () => disposed + ) + }, + state: () => providers, + dispose: () => { + disposed = true + } + } + }, + 'settings.resume-metadata': ({ client }) => { + const load = modules.load( + 'mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx' + ).loadMobileResumeMetadata + return { action: () => load(client), state: () => ({}), dispose: () => {} } + }, + 'settings.repo-metadata': (context) => { + const useMetadata = modules.load( + 'mobile/src/host-screen/use-host-repo-metadata.ts' + ).useHostRepoMetadata + const state = observableModel(context, { + clientRef: { current: context.client }, + fetchRepoMetadataInFlightRef: { current: new Set() }, + fetchRepoMetadataPendingRef: { current: new Set() }, + repoMetadataFetchedAtRef: { current: 0 } + }) + let load: ReturnType + const hook = hookMount(() => { + load = useMetadata({ + client: context.client, + connState: 'connected', + hostId: 'host-1', + // 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() + } + return load({ force: name !== 'load-cached' }) + }, + state: () => + projectObservable( + Object.fromEntries(Object.entries(state).filter(([key]) => !key.endsWith('Ref'))) + ), + dispose: hook.unmount + } + }, + 'settings.task-hydration': (context) => { + const useHydration = modules.load< + typeof import('../../tasks/use-mobile-tasks-runtime-hydration') + >('mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx').useMobileTasksRuntimeHydration + const model = observableModel(context, { + client: context.client, + connState: 'connected', + defaultLinearTeamSelectionRef: { current: null }, + defaultRepoSelectionRef: { current: null }, + repoSelectionHydratedRef: { current: false }, + taskResumeRef: { current: {} }, + runtimeTaskSettings: {}, + taskStateHydrated: false, + provider: 'github', + repoList: { state: { status: 'loading' } }, + repos: [], + requestedTaskSource: undefined, + resetGitHubItemsState: () => context.effect('reset-items', null), + resetWorkspaceCreateState: () => context.effect('reset-workspace', null), + visibleProviders: ['github'] + }) + const hook = hookMount(() => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + useHydration(model as unknown as Parameters[0]) + }) + return { + action(name) { + if (name === 'mount' || name === 'remount') { + return hook.mount() + } + if (name === 'unmount') { + return hook.unmount() + } + throw new Error(`Unknown hydration action: ${name}`) + }, + state: () => + projectObservable({ + settings: model.runtimeTaskSettings, + hydrated: model.taskStateHydrated + }), + dispose: hook.unmount + } + } + } +} diff --git a/mobile/src/test-support/rpc-recording/unhandled-recording.ts b/mobile/src/test-support/rpc-recording/unhandled-recording.ts new file mode 100644 index 00000000000..a4bd0e033d4 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/unhandled-recording.ts @@ -0,0 +1,23 @@ +import { captureError } from './recording-values' + +let active = false + +// Main's detached effects can reject without a caller promise; record that observable failure too. +export function recordUnhandledRejections( + effect: (name: string, value: unknown) => void +): () => void { + if (active) { + throw new Error('Recordings must run sequentially in each process') + } + active = true + const previous = process.rawListeners('unhandledRejection') + process.removeAllListeners('unhandledRejection') + process.on('unhandledRejection', (error) => effect('unhandled-rejection', captureError(error))) + return () => { + active = false + process.removeAllListeners('unhandledRejection') + for (const listener of previous) { + process.on('unhandledRejection', listener) + } + } +} diff --git a/mobile/src/test-support/rpc-recording/vitest-recording-scheduler.ts b/mobile/src/test-support/rpc-recording/vitest-recording-scheduler.ts new file mode 100644 index 00000000000..d7bab0334d2 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/vitest-recording-scheduler.ts @@ -0,0 +1,64 @@ +import { act } from 'react-test-renderer' +import { vi } from 'vitest' +import type { RecordingScheduler } from './recording-scenario' + +const RECORDING_EPOCH = new Date('2026-01-01T00:00:00Z') + +export function vitestRecordingScheduler(): RecordingScheduler { + async function flush() { + await act(async () => { + // Drain promise continuations and due timers without advancing request deadlines. + await vi.advanceTimersByTimeAsync(0) + }) + } + return { + start() { + vi.useFakeTimers({ + toFake: [ + 'Date', + 'setTimeout', + 'clearTimeout', + 'setInterval', + 'clearInterval', + 'performance' + ] + }) + vi.setSystemTime(RECORDING_EPOCH) + let seed = 1 + const random = () => { + seed = (Math.imul(seed, 1664525) + 1013904223) >>> 0 + return seed / 4294967296 + } + vi.spyOn(Math, 'random').mockImplementation(random) + if (globalThis.crypto !== undefined) { + let id = 0 + vi.spyOn(globalThis.crypto, 'randomUUID').mockImplementation( + () => `00000000-0000-4000-8000-${(++id).toString(16).padStart(12, '0')}` + ) + } + if (globalThis.crypto !== undefined) { + vi.spyOn(globalThis.crypto, 'getRandomValues').mockImplementation((array) => { + if (array) { + const bytes = new Uint8Array(array.buffer, array.byteOffset, array.byteLength) + for (let i = 0; i < bytes.length; i++) { + bytes[i] = Math.floor(random() * 256) + } + } + return array + }) + } + }, + flush, + elapsed: () => Date.now() - RECORDING_EPOCH.getTime(), + advance: async (ms) => { + await act(async () => { + await vi.advanceTimersByTimeAsync(ms) + }) + }, + stop() { + vi.clearAllTimers() + vi.useRealTimers() + vi.restoreAllMocks() + } + } +} diff --git a/mobile/src/test-support/rpc-recording/workspace-settings-mounts.ts b/mobile/src/test-support/rpc-recording/workspace-settings-mounts.ts new file mode 100644 index 00000000000..d37c3d40935 --- /dev/null +++ b/mobile/src/test-support/rpc-recording/workspace-settings-mounts.ts @@ -0,0 +1,120 @@ +import type { MountAdapter } from './recording-scenario' +import { hookMount, performHookAction } from './hook-mount' +import { observableModel, projectObservable } from './observable-model' +import { operationModuleLoader } from './operation-module-loader' + +export function workspaceSettingsMounts( + modules: ReturnType +): Record { + return { + 'settings.workspace-submit': (context) => { + const useSubmit = modules.load< + typeof import('../../components/use-new-workspace-create-submit') + >('mobile/src/components/use-new-workspace-create-submit.ts').useNewWorkspaceCreateSubmit + const model = observableModel(context, { + client: context.client, + selectedRepo: { id: 'repo-1', displayName: 'Repo' }, + selectedAgent: { id: 'claude', label: 'Claude' }, + runtimeSettings: { disabledTuiAgents: ['claude'] }, + detectedAgentIds: new Set(['codex']), + sshGate: { requiresConnection: false }, + composer: { name: 'recorded', createSelection: null, isNameAutoManaged: false }, + note: '', + retiredWorktreeNames: {}, + setupCommand: null, + setupTrust: null, + setupRunPolicy: 'never', + setupDecisionChoice: null, + runSetup: false, + trustedOrcaHooks: {}, + getWorktreeCreateCutoverSupport: async () => false, + transitionDrawer: (view: unknown) => context.effect('drawer', view), + onCreated: (id: unknown, name: unknown) => context.effect('created', { id, name }), + onClose: () => context.effect('close', null) + }) + let state: ReturnType + const hook = hookMount(() => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + state = useSubmit(model as unknown as Parameters[0]) + }) + return { + action(name) { + if (name === 'mount') { + return hook.mount() + } + if (name === 'submit') { + return performHookAction(() => state.create()) + } + throw new Error(`Unknown submit action: ${name}`) + }, + state: () => + projectObservable({ + creating: state?.creating, + settings: model.runtimeSettings, + error: model.error + }), + dispose: hook.unmount + } + }, + 'settings.task-workspace': (context) => { + const useCreate = modules.load< + typeof import('../../tasks/use-mobile-tasks-workspace-create-actions') + >( + 'mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx' + ).useMobileTasksWorkspaceCreateActions + const model = observableModel(context, { + client: context.client, + hostId: 'host-1', + tasksSupported: true, + taskStateHydrated: true, + runtimeTaskSettings: { disabledTuiAgents: ['claude'] }, + trustedOrcaHooks: {}, + workspaceDetectedAgentIds: new Set(['codex']), + workspaceLastAutoName: '', + ensureWorkspaceSshReady: async () => {}, + getWorkspaceTargetRepo: () => ({ + id: 'repo-1', + displayName: 'Repo', + connectionId: 'ssh-1' + }), + resolveCreateSetupDecision: async () => ({ + kind: 'prompt', + command: 'setup', + source: 'repo' + }), + router: { push: (value: unknown) => context.effect('navigation', value) } + }) + let actions: ReturnType + const hook = hookMount(() => { + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the recorder supplies only the members the hook reads. + actions = useCreate(model as unknown as Parameters[0]) + }) + return { + action(name) { + if (name === 'mount') { + return hook.mount() + } + if (name === 'submit') { + return actions.createWorkspace( + // oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: the scenario supplies the action item as JSON, not as a typed model. + { key: 'linear:1', provider: 'linear', source: { id: 'issue-1' } } as Parameters< + typeof actions.createWorkspace + >[0], + undefined, + undefined, + 'claude' + ) + } + throw new Error(`Unknown task workspace action: ${name}`) + }, + state: () => + projectObservable({ + settings: model.runtimeTaskSettings, + error: model.error, + creating: model.creatingKey + }), + dispose: hook.unmount + } + } + } +} diff --git a/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts b/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts index dba48bbf3c8..ca77397652f 100644 --- a/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts +++ b/mobile/src/transport/unvalidated-rpc-request-port-inventory.ts @@ -37,7 +37,11 @@ export const UNVALIDATED_RPC_REQUEST_PORT_OWNERS: readonly UnvalidatedRpcRequest // The typed boundary itself — the one module that turns a reply into a declared type. { file: 'src/transport/rpc-operation.ts', references: 5 }, // Forwards the port across a physical-client cutover. - { file: 'src/transport/stable-logical-rpc-client.ts', references: 2 } + { file: 'src/transport/stable-logical-rpc-client.ts', references: 2 }, + // Names the port as the recording oracle's sender contract; a non-test file for the same reason. + { file: 'src/test-support/rpc-recording/recording-scenario.ts', references: 1 }, + // Scripts the port for the recording oracle, over the real tracker and logical client. + { file: 'src/test-support/rpc-recording/scripted-rpc-transport.ts', references: 5 } ] /** Call sites awaiting migration to a typed operation. Grouped by the feature area that owns them. */