From bc856a09f5cee8a4ce02560472c7621a72e26e1f Mon Sep 17 00:00:00 2001
From: Kevin Jahns <kevin.jahns@rwth-aachen.de>
Date: Tue, 24 May 2016 15:25:14 +0200
Subject: [PATCH] Release 11.2.1

---
 dist         |  2 +-
 package.json |  2 +-
 src/y.js     | 35 +++++++++++++++++++----------------
 3 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/dist b/dist
index b9f9c762..428d825f 160000
--- a/dist
+++ b/dist
@@ -1 +1 @@
-Subproject commit b9f9c762ebed9b30c44b1c87b555e89a7257ae58
+Subproject commit 428d825f4141fd3198bb88aee88a014278c4c856
diff --git a/package.json b/package.json
index 6e3a4175..3ab51ee8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "yjs",
-  "version": "11.2.0",
+  "version": "11.2.1",
   "description": "A framework for real-time p2p shared editing on arbitrary complex data types",
   "main": "./src/y.js",
   "scripts": {
diff --git a/src/y.js b/src/y.js
index 815e5ac2..681004ee 100644
--- a/src/y.js
+++ b/src/y.js
@@ -50,6 +50,7 @@ function requestModules (modules) {
           })
           promises.push(requireModule.promise)
         } else {
+          console.info('YJS: Please do not depend on automatic requiring of modules anymore! Extend modules as follows `require(\'y-modulename\')(Y)`')
           require(modulename)(Y)
         }
       } else {
@@ -96,23 +97,25 @@ function Y (opts/* :YOptions */) /* :Promise<YConfig> */ {
     modules.push(opts.share[name])
   }
   Y.sourceDir = opts.sourceDir
-  return Y.requestModules(modules).then(function () {
-    return new Promise(function (resolve, reject) {
-      if (opts == null) reject('An options object is expected! ')
-      else if (opts.connector == null) reject('You must specify a connector! (missing connector property)')
-      else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)')
-      else if (opts.db == null) reject('You must specify a database! (missing db property)')
-      else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)')
-      else if (opts.share == null) reject('You must specify a set of shared types!')
-      else {
-        var yconfig = new YConfig(opts)
-        yconfig.db.whenUserIdSet(function () {
-          yconfig.init(function () {
-            resolve(yconfig)
+  return new Promise(function (resolve, reject) {
+    setTimeout(function () {
+      Y.requestModules(modules).then(function () {
+        if (opts == null) reject('An options object is expected! ')
+        else if (opts.connector == null) reject('You must specify a connector! (missing connector property)')
+        else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)')
+        else if (opts.db == null) reject('You must specify a database! (missing db property)')
+        else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)')
+        else if (opts.share == null) reject('You must specify a set of shared types!')
+        else {
+          var yconfig = new YConfig(opts)
+          yconfig.db.whenUserIdSet(function () {
+            yconfig.init(function () {
+              resolve(yconfig)
+            })
           })
-        })
-      }
-    })
+        }
+      }).catch(reject)
+    }, 0)
   })
 }
 
-- 
GitLab