ether / etherpad-lite

Etherpad: A modern really-real-time collaborative document editor.
http://docs.etherpad.org/
Apache License 2.0
16.73k stars 2.86k forks source link

This .etherpad contents breaks timeslider playback #5214

Open JohnMcLear opened 3 years ago

JohnMcLear commented 3 years ago
{"pad:zsx23zLru1V9ZGAG1t7u":{"atext":{"text":".kj lij lkj lkj kl jlkj \n","attribs":"*0+o|1+1"},"pool":{"numToAttrib":{"0":["author","a.DeyjwfIUFrfSDNzv"]},"nextNum":1},"head":13,"chatHead":-1,"publicStatus":false,"savedRevisions":[]},"globalAuthor:a.DeyjwfIUFrfSDNzv":{"colorId":7,"name":null,"timestamp":1633170305516,"padIDs":"zsx23zLru1V9ZGAG1t7u"},"pad:zsx23zLru1V9ZGAG1t7u:revs:0":{"changeset":"Z:1>ay|7+ay$Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at https://etherpad.org\n\nWarning: DirtyDB is used. This is not recommended for production. -- To suppress these warning messages change suppressErrorsInPadText to true in your settings.json\n","meta":{"author":"","timestamp":1633170121014,"pool":{"numToAttrib":{},"attribToNum":{},"nextNum":0},"atext":{"text":"Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at https://etherpad.org\n\nWarning: DirtyDB is used. This is not recommended for production. -- To suppress these warning messages change suppressErrorsInPadText to true in your settings.json\n\n","attribs":"|8+az"}}},"pad:zsx23zLru1V9ZGAG1t7u:revs:1":{"changeset":"Z:az<aw|7-ay*0+2$GH","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170122631}},"pad:zsx23zLru1V9ZGAG1t7u:revs:2":{"changeset":"Z:3>4=2*0+4$EWEW","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170123131}},"pad:zsx23zLru1V9ZGAG1t7u:revs:3":{"changeset":"Z:7>c=6*0+c$PORIOPWIKESR","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170123634}},"pad:zsx23zLru1V9ZGAG1t7u:revs:4":{"changeset":"Z:j>4=i*0|2+2*0+2$\n\nSD","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170124134}},"pad:zsx23zLru1V9ZGAG1t7u:revs:5":{"changeset":"Z:n>a|2=k=2*0|4+a$F\nS\nDF\nSD\n","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170124634}},"pad:zsx23zLru1V9ZGAG1t7u:revs:6":{"changeset":"Z:x>7|6=w*0|3+7$F\n\nSDF\n","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170125134}},"pad:zsx23zLru1V9ZGAG1t7u:revs:7":{"changeset":"Z:14>6|9=13*0|3+6$\nSDF\n\n","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170125634}},"pad:zsx23zLru1V9ZGAG1t7u:revs:8":{"changeset":"Z:1a>2|c=19*0|2+2$\n\n","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170126134}},"pad:zsx23zLru1V9ZGAG1t7u:revs:9":{"changeset":"Z:1c<1b|f-1c|1+1$\n","meta":{"author":"","timestamp":1633170137010}},"pad:zsx23zLru1V9ZGAG1t7u:revs:10":{"changeset":"Z:1>0$","meta":{"author":"","timestamp":1633170137011}},"pad:zsx23zLru1V9ZGAG1t7u:revs:11":{"changeset":"Z:1>1*0+1$.","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170227678}},"pad:zsx23zLru1V9ZGAG1t7u:revs:12":{"changeset":"Z:2>b=1*0+b$kj lij lkj ","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170228177}},"pad:zsx23zLru1V9ZGAG1t7u:revs:13":{"changeset":"Z:d>c=c*0+c$lkj kl jlkj ","meta":{"author":"a.DeyjwfIUFrfSDNzv","timestamp":1633170228677}}}

STR is import this .etherpad contents and then click play in timeslider.

Details from https://github.com/ether/etherpad-lite/issues/5213

JohnMcLear commented 3 years ago

My theory on this: I think the html file is importing blank contents therefore when the timeslider tries to playback this contents it fails as Etherpad always expect at least a single line break.

JohnMcLear commented 3 years ago

@webzwo0i I think I need your help on this one as it's pretty in depth with the line splicing etc. stuff

webzwo0i commented 3 years ago

I have two other pads that I can't share but that seem to be the same bug, although they trigger a similar stack trace on the server (before sending changesets?). I'll look into it. My first impression is, that this is also related to https://github.com/ether/etherpad-lite/pull/2911