kentonv / etherpad-lite

Really real-time collaborative document editing for the rest of us
http://etherpad.org
Apache License 2.0
30 stars 11 forks source link

Revisioning not working #13

Closed tiagoefreitas closed 9 years ago

tiagoefreitas commented 9 years ago

The Timeslider button doesn't do anything, so I can't access revisions. This is a must have functionality for collaboration...

edit: This works in alpha, not in demo / oasis. Doesn't work on my local and I have 0.101, same as alpha, and Etherpad is the same version (v2015.06.18 (1.5.6+)).

kentonv commented 9 years ago

Huh, I'm observing that the timeslider broke in the most recent update (June 18). It now spews CSP violations:

Refused to frame 'https://timeslider/' because it violates the following Content Security Policy directive: "frame-src 'self' https://*.oasis.sandstorm.io".

Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Sandbox access violation: Blocked a frame at "https://vumspffw91rxh4sw9pbp.oasis.sandstorm.io" from accessing a frame at "https://vumspffw91rxh4sw9pbp.oasis.sandstorm.io".  The frame requesting access is sandboxed and lacks the "allow-same-origin" flag.

Weirdly, the update didn't touch anything timeslider-related. One thing it did do, though, is change the internal URL at which the pad displays (from /p/main to /). Perhaps this had side effects in the timeslider code. It looks like the URL it is trying to access (https://timeslider) is highly bogus, suggesting that it got confused while trying to construct a URL perhaps based on the current URL, which is what changed.

I suspect that you are not actually running exactly the same version of Etherpad in the two instances. It maybe that you have the same version "installed", but the version being used by the particular grain is different, either because you didn't choose to upgrade existing grains the last time you updated Etherpad, or because the grain belongs to someone else.

tiagoefreitas commented 9 years ago

I don't have access to alpha, I just found a shared url online that works: https://alpha.sandstorm.io/grain/Mz4t33pLFbcvwBGo9DzvW3

So that grain is probably older...is there some place I can get the previous spk or will this be fixed soon? In general it would be good to have older versions of apps somewhere and not update grains until we are sure there are no regressions.

kentonv commented 9 years ago

Previous version: http://sandstorm.io/apps/etherpad8.spk (and 7, 6, 5, 4...)

We do want to add more support for reverting to older versions, eventually. One problem is that if the update involved any kind of a migration, there almost certainly isn't a backwards migration available. But we could perhaps save a snapshot of your grains on update so that you can quickly revert if things are obviously broken.

tiagoefreitas commented 9 years ago

I tried to update, got the warning that a grain was using a newer version and would keep it, while new grains would use the newly installed version. However I created a new grain and it kept using the same buggy version (verified in the logs).

I had to uninstall Etherpad and install again, after that it worked the first time, but now it gives this error: Import failed for anything other than txt...it's possible the failed import created the error.

[2015-08-01 12:06:53.669] [WARN] client - Uncaught TypeError: Cannot read property 'find' of undefined -- { errorId: 'esgn61pcpLxDd25PvhpI', msg: 'Uncaught TypeError: Cannot read property \'find\' of undefined', url: 'https://otujw8bs7r9z1wdfxilg.oasis.sandstorm.io/p/main', linenumber: 100, userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36' } [2015-08-01 12:06:53.758] [INFO] ueberDB - Flushed 1 values \ SANDSTORM SUPERVISOR: Grain still in use; staying up for now.

kentonv commented 9 years ago

I've pushed a new Etherpad version to the app list with this problem fixed. Sorry for the trouble.

tiagoefreitas commented 9 years ago

Stopped working again, now gives this error:

Error: EIO, i/o error at Object.fs.readSync (fs.js:492:19) at Object.fs.readFileSync (fs.js:326:28) at Object.exports.require (/src/node/eejs/index.js:117:50) at /src/node/hooks/express/specialpages.js:60:19 at Layer.handle as handle_request at next (/src/node_modules/express/lib/router/route.js:110:13) at Route.dispatch (/src/node_modules/express/lib/router/route.js:91:3) at Layer.handle as handle_request at /src/node_modules/express/lib/router/index.js:267:22 at param (/src/node_modules/express/lib/router/index.js:340:14)

kentonv commented 9 years ago

@tiagoefreitas Sorry, that was a bug in Oasis. I pushed a fix for it on Wednesday evening, so it shouldn't happen anymore. Let me know if you see it again.