mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-06-17 03:34:49 -04:00
Merge branch 'develop' of github.com:ether/etherpad-lite into editbar-accessibility
This commit is contained in:
commit
0b90da19d2
8 changed files with 187 additions and 106 deletions
|
@ -656,12 +656,17 @@ function handleUserChanges(data, cb)
|
|||
, op
|
||||
while(iterator.hasNext()) {
|
||||
op = iterator.next()
|
||||
if(op.opcode != '+') continue;
|
||||
|
||||
//+ can add text with attribs
|
||||
//= can change or add attribs
|
||||
//- can have attribs, but they are discarded and don't show up in the attribs - but do show up in the pool
|
||||
|
||||
op.attribs.split('*').forEach(function(attr) {
|
||||
if(!attr) return
|
||||
attr = wireApool.getAttrib(attr)
|
||||
if(!attr) return
|
||||
if('author' == attr[0] && attr[1] != thisSession.author) throw new Error("Trying to submit changes as another author in changeset "+changeset);
|
||||
//the empty author is used in the clearAuthorship functionality so this should be the only exception
|
||||
if('author' == attr[0] && (attr[1] != thisSession.author && attr[1] != '')) throw new Error("Trying to submit changes as another author in changeset "+changeset);
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -1629,10 +1634,15 @@ function composePadChangesets(padId, startNum, endNum, callback)
|
|||
changeset = changesets[startNum];
|
||||
var pool = pad.apool();
|
||||
|
||||
for(var r=startNum+1;r<endNum;r++)
|
||||
{
|
||||
var cs = changesets[r];
|
||||
changeset = Changeset.compose(changeset, cs, pool);
|
||||
try {
|
||||
for(var r=startNum+1;r<endNum;r++) {
|
||||
var cs = changesets[r];
|
||||
changeset = Changeset.compose(changeset, cs, pool);
|
||||
}
|
||||
} catch(e){
|
||||
// r-1 indicates the rev that was build starting with startNum, applying startNum+1, +2, +3
|
||||
console.warn("failed to compose cs in pad:",padId," startrev:",startNum," current rev:",r);
|
||||
return callback(e);
|
||||
}
|
||||
|
||||
callback(null);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue