diff --git a/Makefile b/Makefile index 7651b66..04ec18c 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ JS_ASMJS_TARGET := javascript/olm_legacy.js WASM_TARGET := $(BUILD_DIR)/wasm/libolm.a JS_EXPORTED_FUNCTIONS := javascript/exported_functions.json -JS_EXTRA_EXPORTED_RUNTIME_METHODS := ALLOC_STACK +JS_EXTRA_EXPORTED_RUNTIME_METHODS := [ALLOC_STACK] JS_EXTERNS := javascript/externs.js PUBLIC_HEADERS := include/olm/olm.h include/olm/outbound_group_session.h include/olm/inbound_group_session.h include/olm/pk.h include/olm/sas.h diff --git a/javascript/README.md b/javascript/README.md index d2f1d72..bdf0224 100644 --- a/javascript/README.md +++ b/javascript/README.md @@ -2,7 +2,8 @@ Olm === Note: before using any of the olm functions, you must call `Olm.init()`, and -wait for the promise to resolve. +wait for the promise to resolve, otherwise you will get errors like: +`Uncaught TypeError: Olm.Account is not a constructor` Example: diff --git a/javascript/demo/group_demo.js b/javascript/demo/group_demo.js index 42a3d84..7cd9e3e 100644 --- a/javascript/demo/group_demo.js +++ b/javascript/demo/group_demo.js @@ -489,4 +489,8 @@ function startDemo() { } -document.addEventListener("DOMContentLoaded", startDemo, false); +document.addEventListener("DOMContentLoaded", function() { + Olm.init().then(function() { + startDemo(); + }); +}, false); diff --git a/javascript/demo/one_to_one_demo.html b/javascript/demo/one_to_one_demo.html index fc7e654..a225e4a 100644 --- a/javascript/demo/one_to_one_demo.html +++ b/javascript/demo/one_to_one_demo.html @@ -2,7 +2,13 @@