Skip to content

Commit d748ebc

Browse files
committed
wip
1 parent 467e6d8 commit d748ebc

24 files changed

+1044
-774
lines changed

cloud/backend/base/ws-sockets.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { sleep } from "@fireproof/core-runtime";
21
import * as ps from "@fireproof/core-types-protocols-cloud";
32
import { Msger } from "@fireproof/core-protocols-cloud";
43
import { testSuperThis } from "@fireproof/cloud-base";
5-
import { Future, URI } from "@adviser/cement";
4+
import { Future, URI, sleep } from "@adviser/cement";
65
import { describe, beforeAll, afterAll, it, expect, assert } from "vitest";
76
import { mockJWK, MockJWK } from "./test-helper.js";
87

98
const { MsgIsResChat, buildReqChat } = ps;
109

10+
1111
describe("test multiple connections", () => {
1212
const sthis = testSuperThis();
1313
const fpUrl = URI.from(sthis.env.get("FP_ENDPOINT"));

cloud/connector/base/fpcc-protocol.ts

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,37 @@ import {
2020
isFPCCReqWaitConnectorReady,
2121
validateFPCCMessage,
2222
} from "./protocol-fp-cloud-conn.js";
23-
import { Logger, OnFunc } from "@adviser/cement";
23+
import { Logger, OnFunc, Result } from "@adviser/cement";
2424
import { ensureLogger } from "@fireproof/core-runtime";
2525
import { SuperThis } from "@fireproof/core-types-base";
2626

27+
export interface JustReady {
28+
readonly type: "ready";
29+
}
30+
31+
export interface PeerReady {
32+
readonly type: "peer";
33+
readonly peer: string;
34+
}
35+
36+
export function isJustReady(obj: unknown): obj is JustReady {
37+
return typeof obj === "object" && obj !== null && (obj as JustReady).type === "ready";
38+
}
39+
40+
export function isPeerReady(obj: unknown): obj is PeerReady {
41+
return typeof obj === "object" && obj !== null && (obj as PeerReady).type === "peer" && typeof (obj as PeerReady).peer === "string";
42+
}
43+
44+
export type Ready = JustReady | PeerReady;
45+
2746
export interface FPCCProtocol {
2847
// handle must be this bound method
2948
hash: () => string;
3049

3150
sendMessage<T extends FPCCMsgBase>(event: FPCCSendMessage<T>, srcEvent: MessageEvent<unknown>): void;
3251
handleError: (error: unknown) => void;
3352
injectSend(send: (evt: FPCCMessage, srcEvent: MessageEvent<unknown> | string) => FPCCMessage): void;
34-
ready(): Promise<FPCCProtocol>;
53+
ready(): Promise<Result<Ready>>;
3554
stop(): void;
3655
}
3756

@@ -143,9 +162,10 @@ export class FPCCProtocolBase implements FPCCProtocol {
143162
throw new Error("Method not implemented.");
144163
};
145164

146-
ready(): Promise<FPCCProtocol> {
147-
148-
return Promise.resolve(this);
165+
ready(): Promise<Result<Ready>> {
166+
return Promise.resolve(Result.Ok({
167+
type: "ready" as const,
168+
}))
149169
}
150170

151171
injectSend(sendFn: (msg: FPCCMessage, srcEvent: MessageEvent<unknown> | string) => FPCCMessage): void {

cloud/connector/base/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"url": "https://github.com/fireproof-storage/fireproof/issues"
3131
},
3232
"dependencies": {
33-
"@adviser/cement": "^0.4.58",
33+
"@adviser/cement": "^0.4.62",
3434
"@fireproof/core-runtime": "workspace:*",
3535
"@fireproof/core-types-base": "workspace:*",
3636
"@fireproof/core-types-protocols-cloud": "workspace:*",

cloud/connector/iframe/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"url": "https://github.com/fireproof-storage/fireproof/issues"
3232
},
3333
"dependencies": {
34-
"@adviser/cement": "^0.4.58",
34+
"@adviser/cement": "^0.4.62",
3535
"@clerk/clerk-js": "^5.102.0",
3636
"@fireproof/cloud-connector-base": "workspace:*",
3737
"@fireproof/core-protocols-dashboard": "workspace:*",

cloud/connector/page/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"url": "https://github.com/fireproof-storage/fireproof/issues"
3232
},
3333
"dependencies": {
34-
"@adviser/cement": "^0.4.58",
34+
"@adviser/cement": "^0.4.62",
3535
"@fireproof/cloud-connector-base": "workspace:*",
3636
"@fireproof/core-runtime": "workspace:*",
3737
"@fireproof/core-types-base": "workspace:*",

0 commit comments

Comments
 (0)