Compare commits

...

13 Commits

Author SHA1 Message Date
Kevin Jahns
fafda2726f Deploy 9.0.3 2016-02-23 15:50:16 +01:00
Kevin Jahns
116770fbce fix gitignore, fix Examples/bower.json 2016-02-23 15:47:53 +01:00
Kevin Jahns
5286f507c8 Deploy 9.0.2 2016-02-23 15:42:09 +01:00
Kevin Jahns
2f7349b712 fixed bower & added dependencies & cleanup 2016-02-23 15:41:22 +01:00
Kevin Jahns
54529ab1e7 Deploy 9.0.1 2016-02-23 11:58:10 +01:00
Kevin Jahns
e165c5ee2a added peer dependencies, upgraded version to major (new versioning scheme) 2016-02-23 11:57:27 +01:00
Kevin Jahns
7b3693aff3 Deploy 0.8.28 2016-02-23 11:27:26 +01:00
Kevin Jahns
f75f47646b Deploy 0.8.27 2016-02-22 13:08:01 +01:00
Kevin Jahns
64044123e3 Deploy 0.8.26 2016-02-22 13:06:11 +01:00
Kevin Jahns
a286162ace Deploy 0.8.25 2016-02-22 13:04:32 +01:00
Kevin Jahns
f739f3b5d7 Deploy 0.8.23 2016-02-22 12:40:21 +01:00
Kevin Jahns
f2052f95f8 Deploy 0.8.22 2016-02-22 12:38:21 +01:00
Kevin Jahns
81324dc7d4 Deploy 0.8.21 2016-02-18 16:57:27 +01:00
8 changed files with 43 additions and 35 deletions

7
.gitignore vendored
View File

@@ -1,8 +1 @@
node_modules
bower_components bower_components
.directory
.codio
.settings
.jshintignore
.jshintrc
.validate.json

View File

@@ -9,15 +9,15 @@
"license": "MIT", "license": "MIT",
"ignore": [], "ignore": [],
"dependencies": { "dependencies": {
"yjs": "~0.7.6", "yjs": "latest",
"y-array": "~0.7.5", "y-array": "latest",
"y-map": "~0.7.2", "y-map": "latest",
"y-memory": "~0.7.0", "y-memory": "latest",
"y-richtext": "~0.7.5", "y-richtext": "latest",
"y-webrtc": "~0.7.1", "y-webrtc": "latest",
"y-websockets-client": "~0.7.10", "y-websockets-client": "latest",
"y-text": "~0.7.1", "y-text": "latest",
"y-indexeddb": "~0.7.1", "y-indexeddb": "latest",
"quill": "~0.20.1", "quill": "~0.20.1",
"ace": "~1.2.3", "ace": "~1.2.3",
"ace-builds": "~1.2.3" "ace-builds": "~1.2.3"

View File

@@ -49,7 +49,7 @@ Install yjs and its modules with [bower](http://bower.io/), or with [npm](https:
### Bower ### Bower
``` ```
bower install yjs bower install yjs --save
``` ```
Then you include the libraries directly from the installation folder. Then you include the libraries directly from the installation folder.
``` ```

View File

@@ -1,19 +1,21 @@
{ {
"name": "yjs", "name": "yjs",
"version": "0.8.21", "version": "9.0.3",
"homepage": "y-js.org", "homepage": "y-js.org",
"authors": [ "authors": [
"Kevin Jahns <kevin.jahns@rwth-aachen.de>" "Kevin Jahns <kevin.jahns@rwth-aachen.de>"
], ],
"description": "A Framework that enables Real-Time collaboration on arbitrary data structures.", "description": "A Framework for shared editing on any data",
"main": "y.js", "main": "./y.js",
"keywords": [ "keywords": [
"Yjs",
"OT", "OT",
"collaboration", "Collaboration",
"synchronization", "Synchronization",
"sharejs", "ShareJS",
"coweb", "Coweb",
"concurrency" "Concurrency"
], ],
"license": "MIT" "license": "MIT",
"ignore": []
} }

21
y.es6
View File

@@ -52,6 +52,7 @@ module.exports = function (Y/* :any */) {
this.broadcastedHB = false this.broadcastedHB = false
this.syncStep2 = Promise.resolve() this.syncStep2 = Promise.resolve()
this.broadcastOpBuffer = [] this.broadcastOpBuffer = []
this.protocolVersion = 8
} }
reconnect () { reconnect () {
} }
@@ -208,6 +209,18 @@ module.exports = function (Y/* :any */) {
if (this.debug) { if (this.debug) {
console.log(`receive ${sender} -> ${this.userId}: ${message.type}`, JSON.parse(JSON.stringify(message))) // eslint-disable-line console.log(`receive ${sender} -> ${this.userId}: ${message.type}`, JSON.parse(JSON.stringify(message))) // eslint-disable-line
} }
if (message.protocolVersion != null && message.protocolVersion !== this.protocolVersion) {
console.error(
`You tried to sync with a yjs instance that has a different protocol version
(You: ${this.protocolVersion}, Client: ${message.protocolVersion}).
The sync was stopped. You need to upgrade your dependencies (especially Yjs & the Connector)!
`)
this.send(sender, {
type: 'sync stop',
protocolVersion: this.protocolVersion
})
return
}
if (message.type === 'sync step 1') { if (message.type === 'sync step 1') {
// TODO: make transaction, stream the ops // TODO: make transaction, stream the ops
let conn = this let conn = this
@@ -783,8 +796,8 @@ module.exports = function (Y /* :any */) {
missing: ids.length missing: ids.length
} }
for (let key in ids) { for (let i = 0; i < ids.length; i++) {
let id = ids[key] let id = ids[i]
let sid = JSON.stringify(id) let sid = JSON.stringify(id)
let l = this.listenersById[sid] let l = this.listenersById[sid]
if (l == null) { if (l == null) {
@@ -827,8 +840,8 @@ module.exports = function (Y /* :any */) {
if (op == null) { if (op == null) {
store.listenersById[sid] = l store.listenersById[sid] = l
} else { } else {
for (let key in l) { for (let i = 0; i < l.length; i++) {
let listener = l[key] let listener = l[i]
let o = listener.op let o = listener.op
if (--listener.missing === 0) { if (--listener.missing === 0) {
yield* store.tryExecute.call(this, o) yield* store.tryExecute.call(this, o)

File diff suppressed because one or more lines are too long

6
y.js

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long