@harperfast/harper-pro 5.0.6 → 5.0.8
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/core/components/EntryHandler.ts +2 -4
- package/core/components/OptionsWatcher.ts +9 -1
- package/core/components/Scope.ts +1 -1
- package/core/components/componentLoader.ts +4 -11
- package/core/components/requestRestart.ts +2 -17
- package/core/package-lock.json +67 -975
- package/core/resources/RecordEncoder.ts +9 -1
- package/core/resources/Table.ts +30 -14
- package/core/resources/databases.ts +1 -0
- package/core/resources/graphql.ts +168 -158
- package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +3 -14
- package/core/resources/indexes/vector.ts +0 -17
- package/core/resources/loadEnv.ts +16 -20
- package/core/resources/login.ts +3 -4
- package/core/resources/roles.ts +65 -60
- package/core/security/auth.ts +14 -15
- package/core/security/keys.js +1 -1
- package/core/server/DurableSubscriptionsSession.ts +1 -0
- package/core/server/REST.ts +11 -10
- package/core/server/fastifyRoutes.ts +29 -30
- package/core/server/graphqlQuerying.ts +3 -4
- package/core/server/http.ts +1 -175
- package/core/server/mqtt.ts +2 -8
- package/core/server/threads/threadServer.js +2 -30
- package/core/server/throttle.ts +0 -18
- package/core/utility/environment/environmentManager.js +4 -10
- package/core/utility/hdbTerms.ts +0 -1
- package/dist/core/components/EntryHandler.js +2 -4
- package/dist/core/components/EntryHandler.js.map +1 -1
- package/dist/core/components/OptionsWatcher.js +8 -1
- package/dist/core/components/OptionsWatcher.js.map +1 -1
- package/dist/core/components/Scope.js +1 -1
- package/dist/core/components/Scope.js.map +1 -1
- package/dist/core/components/componentLoader.js +3 -11
- package/dist/core/components/componentLoader.js.map +1 -1
- package/dist/core/components/requestRestart.js +1 -12
- package/dist/core/components/requestRestart.js.map +1 -1
- package/dist/core/resources/RecordEncoder.js +10 -1
- package/dist/core/resources/RecordEncoder.js.map +1 -1
- package/dist/core/resources/Table.js +31 -16
- package/dist/core/resources/Table.js.map +1 -1
- package/dist/core/resources/databases.js.map +1 -1
- package/dist/core/resources/graphql.js +12 -5
- package/dist/core/resources/graphql.js.map +1 -1
- package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +2 -14
- package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/core/resources/indexes/vector.js +0 -14
- package/dist/core/resources/indexes/vector.js.map +1 -1
- package/dist/core/resources/loadEnv.js +17 -20
- package/dist/core/resources/loadEnv.js.map +1 -1
- package/dist/core/resources/login.js +4 -4
- package/dist/core/resources/login.js.map +1 -1
- package/dist/core/resources/roles.js +68 -64
- package/dist/core/resources/roles.js.map +1 -1
- package/dist/core/security/auth.js +15 -17
- package/dist/core/security/auth.js.map +1 -1
- package/dist/core/security/keys.js +1 -1
- package/dist/core/security/keys.js.map +1 -1
- package/dist/core/server/DurableSubscriptionsSession.js +2 -0
- package/dist/core/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/core/server/REST.js +11 -11
- package/dist/core/server/REST.js.map +1 -1
- package/dist/core/server/fastifyRoutes.js +29 -30
- package/dist/core/server/fastifyRoutes.js.map +1 -1
- package/dist/core/server/graphqlQuerying.js +4 -5
- package/dist/core/server/graphqlQuerying.js.map +1 -1
- package/dist/core/server/http.js +0 -179
- package/dist/core/server/http.js.map +1 -1
- package/dist/core/server/mqtt.js +3 -5
- package/dist/core/server/mqtt.js.map +1 -1
- package/dist/core/server/threads/threadServer.js +2 -26
- package/dist/core/server/threads/threadServer.js.map +1 -1
- package/dist/core/server/throttle.js +0 -17
- package/dist/core/server/throttle.js.map +1 -1
- package/dist/core/utility/environment/environmentManager.js +4 -9
- package/dist/core/utility/environment/environmentManager.js.map +1 -1
- package/dist/core/utility/hdbTerms.js +0 -1
- package/dist/core/utility/hdbTerms.js.map +1 -1
- package/dist/replication/replicationConnection.js +13 -6
- package/dist/replication/replicationConnection.js.map +1 -1
- package/dist/security/certificate.js +1 -1
- package/dist/security/certificate.js.map +1 -1
- package/npm-shrinkwrap.json +58 -978
- package/package.json +2 -3
- package/replication/replicationConnection.ts +24 -18
- package/security/certificate.ts +1 -1
- package/studio/web/assets/{index-qbLPhOzw.js → index-BftP-yQ8.js} +2 -2
- package/studio/web/assets/{index-qbLPhOzw.js.map → index-BftP-yQ8.js.map} +1 -1
- package/studio/web/index.html +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harperfast/harper-pro",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.8",
|
|
4
4
|
"description": "Harper is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"database",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"@fastify/autoload": "^6.3.1",
|
|
126
126
|
"@fastify/compress": "^8.3.1",
|
|
127
127
|
"@fastify/cors": "^11.2.0",
|
|
128
|
-
"@fastify/static": "^9.
|
|
128
|
+
"@fastify/static": "^9.1.3",
|
|
129
129
|
"@harperfast/extended-iterable": "^1.0.1",
|
|
130
130
|
"@harperfast/rocksdb-js": "^1.1.0",
|
|
131
131
|
"@turf/area": "6.5.0",
|
|
@@ -201,7 +201,6 @@
|
|
|
201
201
|
},
|
|
202
202
|
"devDependencies": {
|
|
203
203
|
"@harperdb/code-guidelines": "^0.0.6",
|
|
204
|
-
"@harperfast/integration-testing": "^0.2.0",
|
|
205
204
|
"@types/fs-extra": "^11.0.4",
|
|
206
205
|
"@types/gunzip-maybe": "^1.4.3",
|
|
207
206
|
"@types/jsonwebtoken": "^9.0.10",
|
|
@@ -1542,6 +1542,7 @@ export function replicateOverWS(ws: WebSocket, options: any, authorization: Prom
|
|
|
1542
1542
|
);
|
|
1543
1543
|
}
|
|
1544
1544
|
const id = auditRecord.recordId;
|
|
1545
|
+
event = undefined; // reset before each decode attempt
|
|
1545
1546
|
try {
|
|
1546
1547
|
decodeBlobsWithWrites(
|
|
1547
1548
|
() => {
|
|
@@ -1573,19 +1574,6 @@ export function replicateOverWS(ws: WebSocket, options: any, authorization: Prom
|
|
|
1573
1574
|
error
|
|
1574
1575
|
);
|
|
1575
1576
|
}
|
|
1576
|
-
beginTxn = false;
|
|
1577
|
-
// TODO: Once it is committed, also record the localtime in the table with symbol metadata, so we can resume from that point
|
|
1578
|
-
logger.debug?.(
|
|
1579
|
-
connectionId,
|
|
1580
|
-
'received replication message',
|
|
1581
|
-
auditRecord.type,
|
|
1582
|
-
'id',
|
|
1583
|
-
event.id,
|
|
1584
|
-
'version',
|
|
1585
|
-
new Date(auditRecord.version),
|
|
1586
|
-
'nodeId',
|
|
1587
|
-
event.nodeId
|
|
1588
|
-
);
|
|
1589
1577
|
replicationSharedStatus[RECEIVED_VERSION_POSITION] = Math.max(
|
|
1590
1578
|
// ensure monotonicity
|
|
1591
1579
|
auditRecord.version,
|
|
@@ -1594,7 +1582,22 @@ export function replicateOverWS(ws: WebSocket, options: any, authorization: Prom
|
|
|
1594
1582
|
replicationSharedStatus[RECEIVED_TIME_POSITION] = Date.now();
|
|
1595
1583
|
replicationSharedStatus[RECEIVING_STATUS_POSITION] = RECEIVING_STATUS_RECEIVING;
|
|
1596
1584
|
|
|
1597
|
-
|
|
1585
|
+
if (event) {
|
|
1586
|
+
beginTxn = false;
|
|
1587
|
+
// TODO: Once it is committed, also record the localtime in the table with symbol metadata, so we can resume from that point
|
|
1588
|
+
logger.debug?.(
|
|
1589
|
+
connectionId,
|
|
1590
|
+
'received replication message',
|
|
1591
|
+
auditRecord.type,
|
|
1592
|
+
'id',
|
|
1593
|
+
event.id,
|
|
1594
|
+
'version',
|
|
1595
|
+
new Date(auditRecord.version),
|
|
1596
|
+
'nodeId',
|
|
1597
|
+
event.nodeId
|
|
1598
|
+
);
|
|
1599
|
+
tableSubscriptionToReplicator.send(event);
|
|
1600
|
+
}
|
|
1598
1601
|
decoder.position = start + eventLength;
|
|
1599
1602
|
} while (decoder.position < body.byteLength);
|
|
1600
1603
|
outstandingCommits++;
|
|
@@ -1803,10 +1806,13 @@ export function replicateOverWS(ws: WebSocket, options: any, authorization: Prom
|
|
|
1803
1806
|
if (finished) {
|
|
1804
1807
|
finished.blobId = blobId;
|
|
1805
1808
|
outstandingBlobsToFinish.push(finished);
|
|
1806
|
-
finished
|
|
1807
|
-
logger.
|
|
1808
|
-
|
|
1809
|
-
|
|
1809
|
+
finished
|
|
1810
|
+
.catch((err) => logger.error?.(`Blob save failed for ${blobId} from ${remoteNodeName}`, err))
|
|
1811
|
+
.finally(() => {
|
|
1812
|
+
logger.debug?.(`Finished receiving blob stream ${blobId}`);
|
|
1813
|
+
const index = outstandingBlobsToFinish.indexOf(finished);
|
|
1814
|
+
if (index > -1) outstandingBlobsToFinish.splice(index, 1);
|
|
1815
|
+
});
|
|
1810
1816
|
}
|
|
1811
1817
|
return localBlob;
|
|
1812
1818
|
}
|
package/security/certificate.ts
CHANGED
|
@@ -116,7 +116,7 @@ export async function createCsr() {
|
|
|
116
116
|
const privateKeys: Map<string, string> = getPrivateKeys();
|
|
117
117
|
let opsCert, opsPrivateKey, certName, privateKeyName;
|
|
118
118
|
for await (const cert of certificateTable.search([])) {
|
|
119
|
-
if (cert.is_self_signed &&
|
|
119
|
+
if (cert.is_self_signed && (cert.details?.issuer?.includes('Harper-Certificate-Authority') || cert.details?.issuer?.includes('HarperDB-Certificate-Authority'))) {
|
|
120
120
|
const key = privateKeys.get(cert.private_key_name);
|
|
121
121
|
if (key) {
|
|
122
122
|
opsCert = pki.certificateFromPem(cert.certificate);
|