Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F2900687
D8394.id28619.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
D8394.id28619.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Sun, Oct 6, 11:21 AM (20 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2248840
Default Alt Text
D8394.id28619.diff (4 KB)
Attached To
Mode
D8394: [web] add database module to worker
Attached
Detach File
Event Timeline
Log In to Comment