@atproto/pds 0.4.105 → 0.4.106
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/api/com/atproto/server/createAccount.d.ts.map +1 -1
- package/dist/api/com/atproto/server/createAccount.js +2 -0
- package/dist/api/com/atproto/server/createAccount.js.map +1 -1
- package/dist/config/config.d.ts +2 -2
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +1 -1
- package/dist/lexicon/lexicons.d.ts +6 -0
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +3 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/team/listMembers.d.ts +1 -0
- package/dist/lexicon/types/tools/ozone/team/listMembers.d.ts.map +1 -1
- package/dist/sequencer/events.d.ts +4 -3
- package/dist/sequencer/events.d.ts.map +1 -1
- package/dist/sequencer/events.js +17 -1
- package/dist/sequencer/events.js.map +1 -1
- package/package.json +5 -5
- package/src/api/com/atproto/server/createAccount.ts +5 -0
- package/src/config/config.ts +3 -3
- package/src/lexicon/lexicons.ts +3 -0
- package/src/lexicon/types/tools/ozone/team/listMembers.ts +1 -0
- package/src/sequencer/events.ts +18 -0
- package/tests/sequencer.test.ts +2 -2
- package/tests/sync/subscribe-repos.test.ts +22 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"listMembers.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/team/listMembers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,kBAAkB,MAAM,WAAW,CAAA;AAMpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAA;CACrC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
|
1
|
+
{"version":3,"file":"listMembers.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/team/listMembers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,kBAAkB,MAAM,WAAW,CAAA;AAMpD,MAAM,WAAW,WAAW;IAC1B,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAA;CACrC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
|
@@ -4,6 +4,7 @@ import { CommitDataWithOps, SyncEvtData } from '../repo';
|
|
4
4
|
import { RepoSeqInsert } from './db';
|
5
5
|
export declare const formatSeqCommit: (did: string, commitData: CommitDataWithOps) => Promise<RepoSeqInsert>;
|
6
6
|
export declare const formatSeqSyncEvt: (did: string, data: SyncEvtData) => Promise<RepoSeqInsert>;
|
7
|
+
export declare const syncEvtDataFromCommit: (commitData: CommitDataWithOps) => SyncEvtData;
|
7
8
|
export declare const formatSeqIdentityEvt: (did: string, handle?: string) => Promise<RepoSeqInsert>;
|
8
9
|
export declare const formatSeqAccountEvt: (did: string, status: AccountStatus) => Promise<RepoSeqInsert>;
|
9
10
|
export declare const commitEvtOp: z.ZodObject<{
|
@@ -19,8 +20,8 @@ export declare const commitEvtOp: z.ZodObject<{
|
|
19
20
|
}, {
|
20
21
|
path: string;
|
21
22
|
action: "create" | "delete" | "update";
|
22
|
-
prev?: any;
|
23
23
|
cid?: any;
|
24
|
+
prev?: any;
|
24
25
|
}>;
|
25
26
|
export type CommitEvtOp = z.infer<typeof commitEvtOp>;
|
26
27
|
export declare const commitEvt: z.ZodObject<{
|
@@ -44,8 +45,8 @@ export declare const commitEvt: z.ZodObject<{
|
|
44
45
|
}, {
|
45
46
|
path: string;
|
46
47
|
action: "create" | "delete" | "update";
|
47
|
-
prev?: any;
|
48
48
|
cid?: any;
|
49
|
+
prev?: any;
|
49
50
|
}>, "many">;
|
50
51
|
blobs: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodAny, any, any>, import("multiformats/cid").CID, any>, "many">;
|
51
52
|
prevData: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodAny, any, any>, import("multiformats/cid").CID, any>>;
|
@@ -76,8 +77,8 @@ export declare const commitEvt: z.ZodObject<{
|
|
76
77
|
ops: {
|
77
78
|
path: string;
|
78
79
|
action: "create" | "delete" | "update";
|
79
|
-
prev?: any;
|
80
80
|
cid?: any;
|
81
|
+
prev?: any;
|
81
82
|
}[];
|
82
83
|
commit?: any;
|
83
84
|
prevData?: any;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/sequencer/events.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/sequencer/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAEpC,eAAO,MAAM,eAAe,QACrB,MAAM,cACC,iBAAiB,KAC5B,OAAO,CAAC,aAAa,CAyBvB,CAAA;AAED,eAAO,MAAM,gBAAgB,QACtB,MAAM,QACL,WAAW,KAChB,OAAO,CAAC,aAAa,CAavB,CAAA;AAED,eAAO,MAAM,qBAAqB,eACpB,iBAAiB,KAC5B,WAaF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAC1B,MAAM,WACF,MAAM,KACd,OAAO,CAAC,aAAa,CAavB,CAAA;AAED,eAAO,MAAM,mBAAmB,QACzB,MAAM,UACH,aAAa,KACpB,OAAO,CAAC,aAAa,CAevB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;EAStB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAErD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjD,eAAO,MAAM,OAAO;;;;;;;;;;;;EAIlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAA;AAE7C,eAAO,MAAM,WAAW;;;;;;;;;EAGtB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAErD,eAAO,MAAM,UAAU;;;;;;;;;;;;EAWrB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAEnD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,SAAS,CAAA;CACf,CAAA;AACD,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,OAAO,CAAA;CACb,CAAA;AACD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,WAAW,CAAA;CACjB,CAAA;AACD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,UAAU,CAAA;CAChB,CAAA;AACD,MAAM,MAAM,MAAM,GACd,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,eAAe,CAAA"}
|
package/dist/sequencer/events.js
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.accountEvt = exports.identityEvt = exports.syncEvt = exports.commitEvt = exports.commitEvtOp = exports.formatSeqAccountEvt = exports.formatSeqIdentityEvt = exports.formatSeqSyncEvt = exports.formatSeqCommit = void 0;
|
6
|
+
exports.accountEvt = exports.identityEvt = exports.syncEvt = exports.commitEvt = exports.commitEvtOp = exports.formatSeqAccountEvt = exports.formatSeqIdentityEvt = exports.syncEvtDataFromCommit = exports.formatSeqSyncEvt = exports.formatSeqCommit = void 0;
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
4
8
|
const zod_1 = require("zod");
|
5
9
|
const common_1 = require("@atproto/common");
|
6
10
|
const repo_1 = require("@atproto/repo");
|
@@ -45,6 +49,18 @@ const formatSeqSyncEvt = async (did, data) => {
|
|
45
49
|
};
|
46
50
|
};
|
47
51
|
exports.formatSeqSyncEvt = formatSeqSyncEvt;
|
52
|
+
const syncEvtDataFromCommit = (commitData) => {
|
53
|
+
const { blocks, missing } = commitData.relevantBlocks.getMany([
|
54
|
+
commitData.cid,
|
55
|
+
]);
|
56
|
+
(0, node_assert_1.default)(!missing.length, 'commit block was not found, could not build sync event');
|
57
|
+
return {
|
58
|
+
rev: commitData.rev,
|
59
|
+
cid: commitData.cid,
|
60
|
+
blocks,
|
61
|
+
};
|
62
|
+
};
|
63
|
+
exports.syncEvtDataFromCommit = syncEvtDataFromCommit;
|
48
64
|
const formatSeqIdentityEvt = async (did, handle) => {
|
49
65
|
const evt = {
|
50
66
|
did,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sequencer/events.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sequencer/events.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@atproto/pds",
|
3
|
-
"version": "0.4.
|
3
|
+
"version": "0.4.106",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "Reference implementation of atproto Personal Data Server (PDS)",
|
6
6
|
"keywords": [
|
@@ -50,13 +50,13 @@
|
|
50
50
|
"zod": "^3.23.8",
|
51
51
|
"@atproto-labs/fetch-node": "0.1.8",
|
52
52
|
"@atproto-labs/xrpc-utils": "0.0.8",
|
53
|
-
"@atproto/api": "^0.14.
|
53
|
+
"@atproto/api": "^0.14.9",
|
54
54
|
"@atproto/aws": "^0.2.17",
|
55
55
|
"@atproto/common": "^0.4.8",
|
56
56
|
"@atproto/crypto": "^0.4.4",
|
57
57
|
"@atproto/identity": "^0.4.6",
|
58
58
|
"@atproto/lexicon": "^0.4.8",
|
59
|
-
"@atproto/oauth-provider": "^0.5.
|
59
|
+
"@atproto/oauth-provider": "^0.5.1",
|
60
60
|
"@atproto/repo": "^0.7.1",
|
61
61
|
"@atproto/syntax": "^0.3.4",
|
62
62
|
"@atproto/xrpc": "^0.6.10",
|
@@ -78,8 +78,8 @@
|
|
78
78
|
"ts-node": "^10.8.2",
|
79
79
|
"typescript": "^5.6.3",
|
80
80
|
"ws": "^8.12.0",
|
81
|
-
"@atproto/api": "^0.14.
|
82
|
-
"@atproto/bsky": "^0.0.
|
81
|
+
"@atproto/api": "^0.14.9",
|
82
|
+
"@atproto/bsky": "^0.0.126",
|
83
83
|
"@atproto/lex-cli": "^0.6.2",
|
84
84
|
"@atproto/oauth-client-browser-example": "0.0.2"
|
85
85
|
},
|
@@ -10,6 +10,7 @@ import { AppContext } from '../../../../context'
|
|
10
10
|
import { baseNormalizeAndValidate } from '../../../../handle'
|
11
11
|
import { Server } from '../../../../lexicon'
|
12
12
|
import { InputSchema as CreateAccountInput } from '../../../../lexicon/types/com/atproto/server/createAccount'
|
13
|
+
import { syncEvtDataFromCommit } from '../../../../sequencer'
|
13
14
|
import { safeResolveDidDoc } from './util'
|
14
15
|
|
15
16
|
export default function (server: Server, ctx: AppContext) {
|
@@ -75,6 +76,10 @@ export default function (server: Server, ctx: AppContext) {
|
|
75
76
|
await ctx.sequencer.sequenceIdentityEvt(did, handle)
|
76
77
|
await ctx.sequencer.sequenceAccountEvt(did, AccountStatus.Active)
|
77
78
|
await ctx.sequencer.sequenceCommit(did, commit)
|
79
|
+
await ctx.sequencer.sequenceSyncEvt(
|
80
|
+
did,
|
81
|
+
syncEvtDataFromCommit(commit),
|
82
|
+
)
|
78
83
|
}
|
79
84
|
await ctx.accountManager.updateRepoRoot(did, commit.cid, commit.rev)
|
80
85
|
await ctx.actorStore.clearReservedKeypair(signingKey.did(), did)
|
package/src/config/config.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import assert from 'node:assert'
|
2
2
|
import path from 'node:path'
|
3
3
|
import { DAY, HOUR, SECOND } from '@atproto/common'
|
4
|
-
import {
|
4
|
+
import { BrandingInput, HcaptchaConfig } from '@atproto/oauth-provider'
|
5
5
|
import { ServerEnvironment } from './env'
|
6
6
|
|
7
7
|
// off-config but still from env:
|
@@ -277,8 +277,8 @@ export const envToCfg = (env: ServerEnvironment): ServerConfig => {
|
|
277
277
|
colors: {
|
278
278
|
brand: env.brandColor,
|
279
279
|
error: env.errorColor,
|
280
|
-
warning: env.warningColor,
|
281
280
|
success: env.successColor,
|
281
|
+
warning: env.warningColor,
|
282
282
|
},
|
283
283
|
links: [
|
284
284
|
{
|
@@ -447,7 +447,7 @@ export type OAuthConfig = {
|
|
447
447
|
| false
|
448
448
|
| {
|
449
449
|
hcaptcha?: HcaptchaConfig
|
450
|
-
branding:
|
450
|
+
branding: BrandingInput
|
451
451
|
}
|
452
452
|
}
|
453
453
|
|
package/src/lexicon/lexicons.ts
CHANGED
@@ -14365,6 +14365,9 @@ export const schemaDict = {
|
|
14365
14365
|
parameters: {
|
14366
14366
|
type: 'params',
|
14367
14367
|
properties: {
|
14368
|
+
q: {
|
14369
|
+
type: 'string',
|
14370
|
+
},
|
14368
14371
|
disabled: {
|
14369
14372
|
type: 'boolean',
|
14370
14373
|
},
|
package/src/sequencer/events.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import assert from 'node:assert'
|
1
2
|
import { z } from 'zod'
|
2
3
|
import { cborEncode, noUndefinedVals, schema } from '@atproto/common'
|
3
4
|
import { BlockMap, blocksToCarFile } from '@atproto/repo'
|
@@ -53,6 +54,23 @@ export const formatSeqSyncEvt = async (
|
|
53
54
|
}
|
54
55
|
}
|
55
56
|
|
57
|
+
export const syncEvtDataFromCommit = (
|
58
|
+
commitData: CommitDataWithOps,
|
59
|
+
): SyncEvtData => {
|
60
|
+
const { blocks, missing } = commitData.relevantBlocks.getMany([
|
61
|
+
commitData.cid,
|
62
|
+
])
|
63
|
+
assert(
|
64
|
+
!missing.length,
|
65
|
+
'commit block was not found, could not build sync event',
|
66
|
+
)
|
67
|
+
return {
|
68
|
+
rev: commitData.rev,
|
69
|
+
cid: commitData.cid,
|
70
|
+
blocks,
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
56
74
|
export const formatSeqIdentityEvt = async (
|
57
75
|
did: string,
|
58
76
|
handle?: string,
|
package/tests/sequencer.test.ts
CHANGED
@@ -234,6 +234,28 @@ describe('repo subscribe repos', () => {
|
|
234
234
|
return readFromGenerator(gen, isDone, waitFor)
|
235
235
|
}
|
236
236
|
|
237
|
+
it('emits sync event on account creation, matching temporary commit event.', async () => {
|
238
|
+
const ws = new WebSocket(
|
239
|
+
`ws://${serverHost}/xrpc/com.atproto.sync.subscribeRepos?cursor=${-1}`,
|
240
|
+
)
|
241
|
+
|
242
|
+
const gen = byFrame(ws)
|
243
|
+
const evts = await readTillCaughtUp(gen)
|
244
|
+
ws.terminate()
|
245
|
+
|
246
|
+
const syncEvts = getSyncEvts(evts)
|
247
|
+
const commitEvts = getCommitEvents(evts).slice(0, 4)
|
248
|
+
expect(syncEvts.length).toBe(4)
|
249
|
+
|
250
|
+
let i = 0
|
251
|
+
for (const did of [alice, bob, carol, dan]) {
|
252
|
+
const syncEvt = syncEvts[i]
|
253
|
+
const commitEvt = commitEvts[i]
|
254
|
+
await verifySyncEvent(syncEvt, did, commitEvt.commit, commitEvt.rev)
|
255
|
+
i++
|
256
|
+
}
|
257
|
+
})
|
258
|
+
|
237
259
|
it('sync backfilled events', async () => {
|
238
260
|
const ws = new WebSocket(
|
239
261
|
`ws://${serverHost}/xrpc/com.atproto.sync.subscribeRepos?cursor=${-1}`,
|