Fixed bug that only occurs in persistent databases (setOperation was not called).
This commit is contained in:
parent
63f8a891be
commit
74c881bb5b
@ -4,7 +4,7 @@
|
|||||||
module.exports = function (Y) {
|
module.exports = function (Y) {
|
||||||
var globalRoom = {
|
var globalRoom = {
|
||||||
users: {},
|
users: {},
|
||||||
buffers: {}, // TODO: reimplement this idea. This does not cover all cases!! Here, you have a queue which is unrealistic (i.e. think about multiple incoming connections)
|
buffers: {},
|
||||||
removeUser: function (user) {
|
removeUser: function (user) {
|
||||||
for (var i in this.users) {
|
for (var i in this.users) {
|
||||||
this.users[i].userLeft(user)
|
this.users[i].userLeft(user)
|
||||||
|
@ -11,6 +11,7 @@ require('../../y-memory/src/Memory.js')(Y)
|
|||||||
require('../../y-array/src/Array.js')(Y)
|
require('../../y-array/src/Array.js')(Y)
|
||||||
require('../../y-map/src/Map.js')(Y)
|
require('../../y-map/src/Map.js')(Y)
|
||||||
require('../../y-indexeddb/src/IndexedDB.js')(Y)
|
require('../../y-indexeddb/src/IndexedDB.js')(Y)
|
||||||
|
require('../../y-leveldb/src/LevelDB.js')(Y)
|
||||||
module.exports = Y
|
module.exports = Y
|
||||||
|
|
||||||
var g
|
var g
|
||||||
@ -28,7 +29,7 @@ Math.seedrandom = require('seedrandom')
|
|||||||
|
|
||||||
g.generateRandomSeed = function generateRandomSeed() {
|
g.generateRandomSeed = function generateRandomSeed() {
|
||||||
var seed
|
var seed
|
||||||
if (window.location.hash.length > 1) {
|
if (typeof window != 'undefined' && window.location.hash.length > 1) {
|
||||||
seed = window.location.hash.slice(1) // first character is the hash!
|
seed = window.location.hash.slice(1) // first character is the hash!
|
||||||
console.warn('Using random seed that was specified in the url!')
|
console.warn('Using random seed that was specified in the url!')
|
||||||
} else {
|
} else {
|
||||||
@ -74,6 +75,8 @@ g.wait = wait
|
|||||||
g.databases = ['memory']
|
g.databases = ['memory']
|
||||||
if (typeof window !== 'undefined') {
|
if (typeof window !== 'undefined') {
|
||||||
g.databases.push('indexeddb')
|
g.databases.push('indexeddb')
|
||||||
|
} else {
|
||||||
|
g.databases.push('leveldb')
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
returns a random element of o.
|
returns a random element of o.
|
||||||
|
@ -502,6 +502,7 @@ module.exports = function (Y/* :any */) {
|
|||||||
if (o.right != null) {
|
if (o.right != null) {
|
||||||
var right = yield* this.getOperation(o.right)
|
var right = yield* this.getOperation(o.right)
|
||||||
right.left = o.left
|
right.left = o.left
|
||||||
|
yield* this.setOperation(right)
|
||||||
|
|
||||||
if (o.originOf != null && o.originOf.length > 0) {
|
if (o.originOf != null && o.originOf.length > 0) {
|
||||||
// find new origin of right ops
|
// find new origin of right ops
|
||||||
@ -568,10 +569,6 @@ module.exports = function (Y/* :any */) {
|
|||||||
}
|
}
|
||||||
// we don't need to set right here, because
|
// we don't need to set right here, because
|
||||||
// right should be in o.originOf => it is set it the previous for loop
|
// right should be in o.originOf => it is set it the previous for loop
|
||||||
} else {
|
|
||||||
// we didn't need to reset the origin of right
|
|
||||||
// so we have to set right here
|
|
||||||
yield* this.setOperation(right)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// o may originate in another operation.
|
// o may originate in another operation.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user