@vibes.diy/vibe-host-replica 12.0.2 → 12.0.3
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.
|
@@ -20,6 +20,7 @@ export declare class HostReplicaManager {
|
|
|
20
20
|
private readonly attached;
|
|
21
21
|
private readonly replicas;
|
|
22
22
|
private readonly interestsByApp;
|
|
23
|
+
private readonly identityConfirmedApps;
|
|
23
24
|
constructor(opts?: HostReplicaManagerOptions);
|
|
24
25
|
attach(app: AppIdentity, vibeApi: VibesDiyApiIface): void;
|
|
25
26
|
get(appKey: string, dbName: string): HostReplica;
|
package/host-replica-manager.js
CHANGED
|
@@ -22,6 +22,7 @@ export class HostReplicaManager {
|
|
|
22
22
|
attached = new Map();
|
|
23
23
|
replicas = new Map();
|
|
24
24
|
interestsByApp = new Map();
|
|
25
|
+
identityConfirmedApps = new Set();
|
|
25
26
|
constructor(opts = {}) {
|
|
26
27
|
this.locks = opts.locks;
|
|
27
28
|
this.events = opts.events;
|
|
@@ -68,6 +69,8 @@ export class HostReplicaManager {
|
|
|
68
69
|
messageSource: () => HOST_MESSAGE_SOURCE_MISMATCH,
|
|
69
70
|
});
|
|
70
71
|
applyInterestSet(engine, this.interestUnion(appKey));
|
|
72
|
+
if (this.identityConfirmedApps.has(appKey))
|
|
73
|
+
engine.markIdentityConfirmed();
|
|
71
74
|
const election = new WriterElection({ lockName: `firefly-writer:${cacheKey}`, locks: this.locks });
|
|
72
75
|
const startIfLeader = () => {
|
|
73
76
|
if (election.role === "leader")
|
|
@@ -120,9 +123,12 @@ export class HostReplicaManager {
|
|
|
120
123
|
return union;
|
|
121
124
|
}
|
|
122
125
|
notifyViewerChanged(appKey) {
|
|
126
|
+
for (const key of appKey !== undefined ? [appKey] : this.attached.keys())
|
|
127
|
+
this.identityConfirmedApps.add(key);
|
|
123
128
|
for (const rec of this.replicas.values()) {
|
|
124
129
|
if (appKey !== undefined && rec.appKey !== appKey)
|
|
125
130
|
continue;
|
|
131
|
+
rec.engine.markIdentityConfirmed();
|
|
126
132
|
if (rec.election.role !== "leader")
|
|
127
133
|
continue;
|
|
128
134
|
rec.engine.notifyViewerChanged();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-replica-manager.js","sourceRoot":"","sources":["../jsr/host-replica-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAkD,MAAM,wCAAwC,CAAC;AAEpH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAA8B,MAAM,sBAAsB,CAAC;AAmClF,MAAM,4BAA4B,GAAkB,MAAM,CAAC,sCAAsC,CAAC,CAAC;AAInG,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,SAAS,QAAQ,CAAC,GAAgB;IAChC,OAAO,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AAC7C,CAAC;AAQD,SAAS,gBAAgB,CAAC,MAAkB,EAAE,IAAyB;IACrE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK;YAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,IAAI;QAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAUD,MAAM,OAAO,kBAAkB;IACZ,KAAK,CAAkC;IACvC,MAAM,CAAqB;IAC3B,QAAQ,CAAiC;IAEzC,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC1C,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAOzC,cAAc,GAAG,IAAI,GAAG,EAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"host-replica-manager.js","sourceRoot":"","sources":["../jsr/host-replica-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/vibe-host-replica",
|
|
3
|
-
"version": "12.0.
|
|
3
|
+
"version": "12.0.3",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@adviser/cement": "~0.5.34",
|
|
18
|
-
"@vibes.diy/api-types": "12.0.
|
|
19
|
-
"@vibes.diy/vibe-runtime": "12.0.
|
|
20
|
-
"@vibes.diy/vibe-types": "12.0.
|
|
18
|
+
"@vibes.diy/api-types": "12.0.3",
|
|
19
|
+
"@vibes.diy/vibe-runtime": "12.0.3",
|
|
20
|
+
"@vibes.diy/vibe-types": "12.0.3"
|
|
21
21
|
},
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|