Page MenuHomePhabricator

D8394.diff
No OneTemporary

D8394.diff

diff --git a/keyserver/src/responders/website-responders.js b/keyserver/src/responders/website-responders.js
--- a/keyserver/src/responders/website-responders.js
+++ b/keyserver/src/responders/website-responders.js
@@ -95,6 +95,7 @@
+cssInclude: string,
+olmFilename: string,
+sqljsFilename: string,
+ +commQueryExecutorFilename: string,
+opaqueURL: string,
};
let assetInfo: ?AssetInfo = null;
@@ -110,6 +111,7 @@
cssInclude: '',
olmFilename: '',
sqljsFilename: '',
+ commQueryExecutorFilename: '',
opaqueURL: 'http://localhost:8080/opaque-ke.wasm',
};
return assetInfo;
@@ -134,6 +136,7 @@
`,
olmFilename: manifest['olm.wasm'],
sqljsFilename: webworkersManifest['sql-wasm.wasm'],
+ commQueryExecutorFilename: webworkersManifest['comm_query_executor.wasm'],
opaqueURL: `compiled/${manifest['comm_opaque2_wasm_bg.wasm']}`,
};
return assetInfo;
@@ -494,8 +497,15 @@
};
})();
- const { jsURL, fontsURL, cssInclude, olmFilename, sqljsFilename, opaqueURL } =
- await assetInfoPromise;
+ const {
+ jsURL,
+ fontsURL,
+ cssInclude,
+ olmFilename,
+ sqljsFilename,
+ opaqueURL,
+ commQueryExecutorFilename,
+ } = await assetInfoPromise;
// prettier-ignore
res.write(html`
@@ -604,6 +614,7 @@
var baseURL = "${baseURL}";
var olmFilename = "${olmFilename}";
var sqljsFilename = "${sqljsFilename}";
+ var commQueryExecutorFilename = "${commQueryExecutorFilename}";
var opaqueURL = "${opaqueURL}";
</script>
<script src="${jsURL}"></script>
diff --git a/web/database/database-module-provider.js b/web/database/database-module-provider.js
--- a/web/database/database-module-provider.js
+++ b/web/database/database-module-provider.js
@@ -11,6 +11,7 @@
} from '../types/worker-types.js';
declare var sqljsFilename: string;
+declare var commQueryExecutorFilename: string;
declare var preloadedState: AppState;
const databaseStatuses = Object.freeze({
@@ -59,6 +60,7 @@
sqljsFilePath: `${origin}${SQLJS_FILE_PATH}`,
sqljsFilename,
encryptionKey,
+ commQueryExecutorFilename,
});
this.status = databaseStatuses.initSuccess;
console.info('Database initialization success');
diff --git a/web/database/worker/db-worker.js b/web/database/worker/db-worker.js
--- a/web/database/worker/db-worker.js
+++ b/web/database/worker/db-worker.js
@@ -19,6 +19,7 @@
type WorkerRequestProxyMessage,
workerWriteRequests,
} from '../../types/worker-types.js';
+import Module from '../_generated/comm-query-executor.js';
import { migrate, setupSQLiteDB } from '../queries/db-queries.js';
import {
getAllDrafts,
@@ -59,11 +60,30 @@
let persistNeeded: boolean = false;
let persistInProgress: boolean = false;
+const defaultCommQueryExecutorFilename = 'comm_query_executor.wasm';
+
async function initDatabase(
sqljsFilePath: string,
sqljsFilename: ?string,
+ commQueryExecutorFilename: ?string,
encryptionKeyJWK?: ?SubtleCrypto$JsonWebKey,
) {
+ const dbModule = Module({
+ locateFile: function () {
+ if (commQueryExecutorFilename) {
+ return `${sqljsFilePath}/${commQueryExecutorFilename}`;
+ }
+ return `${sqljsFilePath}/${defaultCommQueryExecutorFilename}`;
+ },
+ });
+
+ try {
+ const result = dbModule.CommQueryExecutor.testDBOperation();
+ console.log(result);
+ } catch (e) {
+ console.error(e);
+ }
+
if (encryptionKeyJWK) {
encryptionKey = await importJWKKey(encryptionKeyJWK);
} else {
@@ -210,6 +230,7 @@
await initDatabase(
message.sqljsFilePath,
message.sqljsFilename,
+ message.commQueryExecutorFilename,
message.encryptionKey,
);
return undefined;
diff --git a/web/types/worker-types.js b/web/types/worker-types.js
--- a/web/types/worker-types.js
+++ b/web/types/worker-types.js
@@ -36,6 +36,7 @@
+type: 1,
+sqljsFilePath: string,
+sqljsFilename: ?string,
+ +commQueryExecutorFilename: ?string,
+encryptionKey?: ?SubtleCrypto$JsonWebKey,
};

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 6, 9:36 AM (22 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2248840
Default Alt Text
D8394.diff (4 KB)

Event Timeline