ether / etherpad-lite

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

CLIENT SIDE JAVASCRIPT ERROR with IE 9 #1441

Closed mwuttke closed 10 years ago

mwuttke commented 11 years ago

Hello,

I am using etherpad-lite v1.2.7 and get the following error by using IE 9 on Windows, when I open a tab in the browser with a new or named pad:

[ERROR] console - CLIENT SIDE JAVASCRIPT ERROR: {"errorId":"NSjIPJqJAsfor6BmB9X1","msg":"The operation could not be continued due to the following error: c00ce56e.","url":"http://localhost/etherpad/socket.io/socket.io.js","linenumber":2,"userAgent":"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; BRI/2; InfoPath.3)"}

With locate I find these two files: /var/lib/nodejs/node-apps/etherpad-lite/src/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js /var/lib/nodejs/node-apps/etherpad-lite/src/node_modules/socket.io/lib/socket.io.js

The installation of etherpad is baesd on the github-code from git://github.com/ether/etherpad-lite.git. I am using node.js v0.8.18, npm v1.2.2, Apache2 & MySQL5. etherpad-lite is running as a service.

When I try my site with other browsers under Win/Lin/MAC everything is fine. When I try your site demo.etherpad.org, everything is fine with IE 9 under Windows.

Please can you help me? What did I wrong in the configuration of etherpad-lite?

Thank you for your help! Michael

JohnMcLear commented 11 years ago

Strange..

Try

rm -rf src/node_modules
bin/build.sh

That we re-install Socket.IO

Just FYI in some browsers it's dangerous to test stuff on /localhost/ because of the way that cookies and sessions work

mwuttke commented 11 years ago

Sorry, but I don't have a file bin/build.sh only bin/installDeps.sh

I have replaced my hostname by localhost. ;-)

Thank you, Michael

[update] I made a reinstall, but same same! ;-(

JohnMcLear commented 11 years ago

Sorry, I meant bin/run.sh !! My mistake..

mwuttke commented 11 years ago

Hello John, I did it like you proposed.

/etc/init.d/etherpad-lite stop rm -rf src/node_modules bin/run.sh

But with the same result. I've got the same error message in the IE browser.

Here you can find the log: http://pastebin.com/s4R4HaaW

Thank you for your help! Michael

JohnMcLear commented 11 years ago
[2013-02-01 21:02:16.739] [WARN] message - Authentication try failed:{"component":"pad","type":"CLIENT_READY","padId":"test","sessionID":null,"password":null,"token":"t.5XBRvD9TPbMX7vjndTPh","protocolVersion":2}

Why are you trying to authenticate?

Did you modify your settings.json away from the template?

mwuttke commented 11 years ago

Hello John,

I am using etherpad-lite together with moodle. I installed moodle on one server and etherpad-lite on an other server. For the connection between both installations I use the moodle plugin from goldquest/moodlehu [1] and try to allow the access of etherpad-lite pads only thru moodle.

My modifications of the settings.json are:

Thank You for your help! Michael

[update]: Both sites run with https.

[1] https://github.com/moodlehu/moodle-mod_etherpadlite

JohnMcLear commented 11 years ago

Etherpad is behaving properly by the looks of things. If you change requireSession to false I assume everything is fine?

Also RE commenting out basic user auth part, doesn't that break functionality when requireSession is set to true? Try comment that back too.

From the logs it looks like https://github.com/moodlehu/moodle-mod_etherpadlite doesn't create a session, I'd create an issue there..

mwuttke commented 11 years ago

Hello John,

sorry but I've got still the same error message in the IE 9. I re commenting out the basic user auth part and changed requireSession to false. And restarted etherpad-lite.

Here ist the log-output: snipp [2013-02-12 14:53:37.310] [INFO] http - 304, GET /p/g.UVp625VFzlJvren2$moodlelms [2013-02-12 14:53:37.323] [DEBUG] socket.io - served static content /socket.io.js [2013-02-12 14:53:37.383] [INFO] http - 307, GET /javascripts/lib/ep_etherpad-lite/static/js/colorutils?callback=require.define [2013-02-12 14:53:37.390] [INFO] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define [2013-02-12 14:53:37.474] [DEBUG] socket.io - authorized [2013-02-12 14:53:37.474] [INFO] socket.io - handshake authorized 'KOLaSPdr4lxMQBzcp6NX' [2013-02-12 14:49:21.539] [ERROR] console - CLIENT SIDE JAVASCRIPT ERROR: {"errorId":"Z9CxCmwLHvvknTFkbvAs","msg":"Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: c00ce56e.","url":"http://myhosturl/etherpad/socket.io/socket.io.js","linenumber":2,"userAgent":"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; BRI/2; InfoPath.3)"} snapp

Is there somthing wrong with my server-configuration or with env. settings of node,js/npm or ehterpad-lite?

Thanks a lot, Michael

JohnMcLear commented 11 years ago

try a clean install and if that doesn't work try git checkout develop

Are you clearing your browser cache each time? IE9 is a pig at holding browser caches.

mwuttke commented 11 years ago

Ok, I will try the complete reinstall tomorrow.

My path is now /var/lib/nodejs and /var/lib/nodejs/node-apps/etherpad-lite.

yes cleared th browser cache each time! ;-)

Thanx, Michael

mwuttke commented 11 years ago

Hello John,

sorry but same same. I made a complete reinstall of nodejs/nmp & installed the etherpad-lite develop branch.

Here is the error-message again: snipp [2013-02-13 16:59:10.788] [ERROR] console - CLIENT SIDE JAVASCRIPT ERROR: {"errorId":"StSKnMTlOJUQ6WMfw5bD","msg":"Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: c00ce56e.","url":"http://localhost/etherpad/socket.io/socket.io.js","linenumber":2,"userAgent":"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)"} snapp

And with a FF under Linux it works fin but in the log-file I found the following message: snipp [2013-02-13 17:02:56.375] [ERROR] console - CLIENT SIDE JAVASCRIPT ERROR: {"errorId":"l3CncYUQjVaxDumKBHBM","msg":"Script error.","url":"http://localhost/etherpad/javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define","linenumber":0,"userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0"} [2013-02-13 17:02:56.376] [INFO] http - 200, POST /jserror snall

Do I have to check the start-script and the sites-eneabled-config for etherpad for errors?

Thank you! Michael

JohnMcLear commented 11 years ago

It shows MSIE7 in your crash report..

You reported IE9...

mwuttke commented 11 years ago

Hello John,

sorry, but I used the compatibility mode of the IE 9 to test the pad. I also tested the pad with different Windows machines and with different browser versions of IE. But I've got always the same error as above.

Thank you! Michael

JohnMcLear commented 11 years ago

Can you paste the new error without IE9 in IE compatibility mode please?

mwuttke commented 11 years ago

Hello John,

here is the error output of the IE 9 without any compatibility mode:

snipp [2013-02-18 16:52:32.745] [DEBUG] socket.io - authorized [2013-02-18 16:52:32.746] [INFO] socket.io - handshake authorized '3G9TWRzlJ4fopTTp9gkW' [2013-02-18 16:52:32.825] [ERROR] console - CLIENT SIDE JAVASCRIPT ERROR: {"errorId":"8WUOvdTISUmtqpSSvLeo","msg":"Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: c00ce56e.","url":"http://localhost/etherpad/socket.io/socket.io.js","linenumber":2,"userAgent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"} snapp

Thank you! Michael

JohnMcLear commented 11 years ago

Try turn minify to false and set maxAge to 0 in settings.json

Restart and see what error you get.

Also play with the available transports in settings.json

mwuttke commented 11 years ago

hi John,

I set minify to false & maxAge to 0 in the seetings.json, but nothing really changed, only the linenumber:

snipp: [2013-02-19 09:47:44.116] [DEBUG] socket.io - authorized [2013-02-19 09:47:44.116] [INFO] socket.io - handshake authorized 'bs6qnLF2X07tEHKUnkHg' [2013-02-19 09:47:44.154] [ERROR] console - CLIENT SIDE JAVASCRIPT ERROR: {"errorId":"SuqVr7aESygwYpHvhoEw","msg":"Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: c00ce56e.","url":"http://localhost/etherpad/socket.io/socket.io.js","linenumber":1650,"userAgent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"} [2013-02-19 09:47:44.155] [INFO] http - 200, POST /jserror snapp

Thank you! Michael

JohnMcLear commented 11 years ago

I notice you aren't running Etherpad on root, does it help if you don't try to rewrite?

Please stop testing through apache btw.

Did changing your transports in settings.json help at all?

mwuttke commented 11 years ago

Hello John,

Sorry, but not to rewrite did not help and I can't use nginx in my server environment.

What do you mean exactly with changing the transport-config?

Thanx, Michael

JohnMcLear commented 11 years ago

Please paste the error you get when you don't rewrite through apache

See https://github.com/ether/etherpad-lite/blob/develop/settings.json.template#L104 -- You could try to play with removing values from this array.

marcelklehr commented 11 years ago

Best start by removing "xhr-polling"..

mwuttke commented 11 years ago

Hello John, Hello Marcel,

At first I played with the transport methods xhr-polling, jsonp-polling & htmlfile by removing one value after the other.

But but unfortunately without any success.

Then I turned of the rewrite rule of the apache config. And this was the result:

From time to time the service hung: [2013-02-22 15:19:53.090] [DEBUG] socket.io - setting request 'GET' '/socket.io/1/xhr-polling/DQ9fV3yw1jNQQI80Q6KY?t=1361542792975' [2013-02-22 15:19:53.090] [DEBUG] socket.io - setting poll timeout [2013-02-22 15:19:53.090] [DEBUG] socket.io - discarding transport [2013-02-22 15:19:53.090] [DEBUG] socket.io - cleared close timeout for client 'DQ9fV3yw1jNQQI80Q6KY' [2013-02-22 15:19:56.720] [DEBUG] socket.io - clearing poll timeout [2013-02-22 15:19:56.724] [ERROR] console - Error: socket hang up at createHangUpError (http.js:1360:15) at ServerResponse.OutgoingMessage._writeRaw (http.js:507:26) at ServerResponse.OutgoingMessage._send (http.js:476:15) at ServerResponse.OutgoingMessage.write (http.js:749:16) at XHRPolling.doWrite (/var/lib/nodejs/node-apps/etherpad-lite/src/node_modules/socket.io/lib/transports/xhr-polling.js:67:17) at XHRPolling.HTTPPolling.write (/var/lib/nodejs/node-apps/etherpad-lite/src/node_modules/socket.io/lib/transports/http-polling.js:132:8) at XHRPolling.Transport.packet (/var/lib/nodejs/node-apps/etherpad-lite/src/node_modules/socket.io/lib/transport.js:515:15) at Object. (/var/lib/nodejs/node-apps/etherpad-lite/src/node_modules/socket.io/lib/transports/http-polling.js:79:12) at Timer.list.ontimeout (timers.js:101:19)

Or epl told me from the moodle-site that the authentication failed: [2013-02-22 15:20:58.484] [DEBUG] socket.io - discarding transport [2013-02-22 15:20:58.484] [DEBUG] socket.io - cleared close timeout for client 'giK4pHiH-FlGWfeyRod0' [2013-02-22 15:20:58.485] [DEBUG] ueberDB - GET - token2author:t.5w8NKFLiISgUvSBiqKW8 - "a.4WT6QZbBTqJocRFb" - from database [2013-02-22 15:20:58.485] [DEBUG] ueberDB - SETSUB - globalAuthor:a.4WT6QZbBTqJocRFb["timestamp"] - 1361542858485 [2013-02-22 15:20:58.485] [DEBUG] ueberDB - GET - pad:g.viEwy9OqzsC51YbL$moodlelms - {"atext":{"text":"Welcome to Etherpad Lite!!\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\","attribs":"|6+cu"},"pool":{"numToAttrib":{},"nextNum":0},"head":0,"chatHead":-1,"publicStatus":false,"passwordHash":null,"savedRevisions":[]} - from cache [2013-02-22 15:20:58.486] [WARN] message - Authentication try failed:{"component":"pad","type":"CLIENT_READY","padId":"g.viEwy9OqzsC51YbL$moodlelms","sessionID":null,"password":null,"token":"t.5w8NKFLiISgUvSBiqKW8","protocolVersion":2} [2013-02-22 15:20:58.486] [DEBUG] message - to giK4pHiH-FlGWfeyRod0: {"accessStatus":"deny"} [2013-02-22 15:20:58.486] [DEBUG] socket.io - clearing poll timeout

Do I hvae to write in the seetings.json the ip number or the dns name?

Thanks for your help, Michael

[update]: I am still on the develop branch of epl.

disy-mk commented 11 years ago

Are you using node.js v0.8.20?

mwuttke commented 11 years ago

Yes.

disy-mk commented 11 years ago

This seems to be the same as #1541 I guess...

Don't want to state that this is a duplicate of the mentioned issue, but the reason for the behavior might be the same...
disy-mk commented 11 years ago

when you reported the error first it you must have been using node.js v.0.8.19, because v0.8.20 was released like one week ago... did anything change regarding the log? Maybe try to go back to 0.9.19 with you actual settings (without rewrite rule) and check again.

marcelklehr commented 11 years ago

switch back to 0.8.19 ;)

mwuttke commented 11 years ago

Ok I switched back to node version 0.8.19 and turned of the rewrite rule again. Now the server dont crash anymore but the rest is still same same. See below:

[2013-02-22 16:38:59.794] [DEBUG] socket.io - authorized [2013-02-22 16:38:59.795] [INFO] socket.io - handshake authorized 'V-HiP2zssbF6sRFWhiX7' [2013-02-22 16:38:59.841] [INFO] http - 200, GET /locales/de.json [2013-02-22 16:38:59.841] [DEBUG] socket.io - setting request 'GET' '/socket.io/1/jsonp-polling/V-HiP2zssbF6sRFWhiX7?t=1361547539730&i=0' [2013-02-22 16:38:59.842] [DEBUG] socket.io - setting poll timeout [2013-02-22 16:38:59.842] [DEBUG] socket.io - client authorized for [2013-02-22 16:38:59.842] [DEBUG] socket.io - clearing poll timeout [2013-02-22 16:38:59.842] [DEBUG] socket.io - jsonppolling writing 'io.j0;' [2013-02-22 16:38:59.842] [DEBUG] socket.io - set close timeout for client 'V-HiP2zssbF6sRFWhiX7' [2013-02-22 16:39:00.156] [DEBUG] socket.io - jsonppolling received data packet '4:::{"component":"pad","type":"CLIENT_READY","padId":"g.9GokfnMeze24safb$moodlelms","sessionID":null,"password":null,"token":"t.FoIzrqM5wlFYnTUXvXBH","protocolVersion":2}' [2013-02-22 16:39:00.156] [DEBUG] ueberDB - GET - pad:g.9GokfnMeze24safb$moodlelms - {"atext":{"text":"Welcome to Etherpad Lite!!\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\n","attribs":"|6+cu"},"pool":{"numToAttrib":{},"nextNum":0},"head":0,"chatHead":-1,"publicStatus":false,"passwordHash":null,"savedRevisions":[]} - from cache [2013-02-22 16:39:00.157] [DEBUG] ueberDB - GET - token2author:t.FoIzrqM5wlFYnTUXvXBH - null - from database [2013-02-22 16:39:00.158] [DEBUG] ueberDB - SET - globalAuthor:a.nM5omSPOFITRILyU - {"colorId":29,"name":null,"timestamp":1361547540158} - to buffer [2013-02-22 16:39:00.158] [WARN] message - Authentication try failed:{"component":"pad","type":"CLIENT_READY","padId":"g.9GokfnMeze24safb$moodlelms","sessionID":null,"password":null,"token":"t.FoIzrqM5wlFYnTUXvXBH","protocolVersion":2} [2013-02-22 16:39:00.158] [DEBUG] message - to V-HiP2zssbF6sRFWhiX7: {"accessStatus":"deny"} [2013-02-22 16:39:00.158] [DEBUG] ueberDB - SET - token2author:t.FoIzrqM5wlFYnTUXvXBH - "a.nM5omSPOFITRILyU" - to buffer [2013-02-22 16:39:00.163] [DEBUG] socket.io - setting request 'GET' '/socket.io/1/jsonp-polling/V-HiP2zssbF6sRFWhiX7?t=1361547539884&i=0' [2013-02-22 16:39:00.163] [DEBUG] socket.io - setting poll timeout [2013-02-22 16:39:00.163] [DEBUG] socket.io - clearing poll timeout [2013-02-22 16:39:00.163] [DEBUG] socket.io - jsonppolling writing 'io.j0;' [2013-02-22 16:39:00.164] [DEBUG] socket.io - set close timeout for client 'V-HiP2zssbF6sRFWhiX7' [2013-02-22 16:39:00.164] [DEBUG] socket.io - discarding transport [2013-02-22 16:39:00.164] [DEBUG] socket.io - cleared close timeout for client 'V-HiP2zssbF6sRFWhiX7' [2013-02-22 16:39:00.232] [INFO] ueberDB - Flushed 2 values

Thanks! Michael

marcelklehr commented 11 years ago

"sessionID":null suggests that the session cookie isn't set/transmitted

mwuttke commented 11 years ago

What should I do?

marcelklehr commented 11 years ago

Set the cookie? Or check where the cookie is set and whether it's set correctly (eg for the correct domain and path)

mwuttke commented 11 years ago

Hi,

How can I set the cookie or check if the cookie is set?

These are the settings: node v0.8.19 epl develop branch rewrite on apache2 is of "requireSession" : true, "editOnly" : true, "minify" : false, "maxAge" : 0, "abiword" : "/usr/bin/abiword", "requireAuthentication": false, "requireAuthorization": false, "socketTransportProtocols" : ["jsonp-polling", "htmlfile"]

But I still get the same error message only with the IE 9: [2013-02-22 17:18:24.918] [INFO] http - 200, GET /p/g.pERNuwvOtegAgXCa$moodlelms [2013-02-22 17:18:24.976] [INFO] http - 200, GET /static/custom/pad.css [2013-02-22 17:18:24.977] [INFO] http - 200, GET /static/css/pad.css [2013-02-22 17:18:24.983] [INFO] http - 200, GET /static/img/connectingbar.gif [2013-02-22 17:18:24.984] [INFO] http - 200, GET /static/img/loading.gif [2013-02-22 17:18:24.984] [INFO] http - 200, GET /static/js/l10n.js [2013-02-22 17:18:24.984] [INFO] http - 200, GET /static/js/html10n.js [2013-02-22 17:18:24.985] [INFO] http - 200, GET /static/img/leftarrow.png [2013-02-22 17:18:25.008] [DEBUG] socket.io - served static content /socket.io.js [2013-02-22 17:18:25.011] [INFO] http - 200, GET /static/js/require-kernel.js [2013-02-22 17:18:25.051] [INFO] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define [2013-02-22 17:18:25.051] [INFO] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/ace2_common.js?callback=require.define [2013-02-22 17:18:25.054] [INFO] http - 200, GET /static/custom/pad.js [2013-02-22 17:18:25.056] [INFO] http - 200, GET /static/img/etherpad_lite_icons.png [2013-02-22 17:18:25.058] [DEBUG] ueberDB - GET - pad:g.pERNuwvOtegAgXCa$moodlelms - {"atext":{"text":"Welcome to Etherpad Lite!!\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\n","attribs":"|3+5x"},"pool":{"numToAttrib":{"0":["author","a.eo3wE5XI4HBu3NG1"]},"nextNum":1},"head":3,"chatHead":-1,"publicStatus":false,"passwordHash":null,"savedRevisions":[]} - from cache [2013-02-22 17:18:25.078] [INFO] http - 200, GET /p/g.pERNuwvOtegAgXCa$moodlelms [2013-02-22 17:18:25.170] [INFO] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/jquery_browser?callback=require.define [2013-02-22 17:18:25.175] [INFO] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/jquery_browser.js?callback=require.define [2013-02-22 17:18:25.183] [INFO] http - 200, GET /pluginfw/plugin-definitions.json [2013-02-22 17:18:25.190] [INFO] http - 307, GET /javascripts/lib/ep_etherpad-lite/static/js/colorutils?callback=require.define [2013-02-22 17:18:25.255] [INFO] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define [2013-02-22 17:18:25.323] [INFO] http - 200, GET /locales.json [2013-02-22 17:18:25.812] [INFO] http - 200, GET /javascripts/lib/ep_headings/static/js/index?callback=require.define [2013-02-22 17:18:25.819] [INFO] http - 200, GET /javascripts/lib/ep_headings/static/js/index.js?callback=require.define [2013-02-22 17:18:25.824] [INFO] http - 200, GET /javascripts/lib/ep_headings/static/js/shared?callback=require.define [2013-02-22 17:18:25.829] [INFO] http - 200, GET /javascripts/lib/ep_headings/static/js/shared.js?callback=require.define [2013-02-22 17:18:25.872] [INFO] http - 200, GET /locales/de.json [2013-02-22 17:18:25.881] [DEBUG] socket.io - authorized [2013-02-22 17:18:25.882] [INFO] socket.io - handshake authorized 'i9O4M9HZPEfWhLwmq5Q0' [2013-02-22 17:18:25.941] [ERROR] console - CLIENT SIDE JAVASCRIPT ERROR: {"errorId":"6utO4wgXU42HIdcMabUP","msg":"Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: c00ce56e.","url":"http://localhost/etherpad/socket.io/socket.io.js","linenumber":1650,"userAgent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"} [2013-02-22 17:18:25.942] [INFO] http - 200, POST /jserror

Thanks! Michael

JohnMcLear commented 10 years ago

I'm 99% sure this was admin error as he silently solved it..

mwuttke commented 9 years ago

Hello John,

you are right! ;-)

Now I've installed the latest version of etherpad-lite (git version is 14f9c91) based on debian wheezy, node.js version 0.10.30/np version 1.4.21 and postgresql version 9.3 together with moodle (+ etherpad-lite plugin for moodle and remove_embed).

And: Everything seems to work as expected. Also using etherpad-lite via moodle with IE 11, FF 31 or Opera 12 under Windows 7. ;-)

IE 9 we don't have any more

Thanks a lot for the great work! Michael

Am 15.03.2014 um 21:10 schrieb John McLear:

I'm 99% sure this was admin error as he silently solved it..

— Reply to this email directly or view it on GitHub https://github.com/ether/etherpad-lite/issues/1441#issuecomment-37736592.