Sitepatching updates

tweaking the broken code until it works, one site at a time

Ready to Wave?

With the latest snapshot we have killed some more bugs in the new Carakan JS engine, including a couple required to get Google Wave to work.

As you know Wave is still under development and they too have bugs and issues. But as mentioned by hallvors here we have been playing a bit internally and developed a little user.js snippet that makes Wave work in Opera as well.

By work I mean there are still some issues, including layout issues and rich text editing issues, but you can load the page, create waves and reply to them with reasonable success.

So get yourself the latest snapshot and download this little script into your user javascript folder and play. Note that you need to enable opera:config#UserPrefs|UserJavaScriptonHTTPS for it to work. At your own risk of course up

The short version of why you need this script is that Wave stores some state info in the location.hash value. But the browsers do different things for special characters in location.hash, Firefox seems to magically decode when getting, while WebKit browsers and Opera get it as is. And since Opera gets Firefox code path for this particular functionality it causes a number of issues.

browser.js for 10.5: the giant cleanupNew Java plug-in support and object parsing

Comments

d4rkn1ght Friday, February 5, 2010 9:25:10 PM

yes

z@h3kZAHEK Friday, February 5, 2010 9:45:15 PM

Thanks

Daniel HendrycksDanielHendrycks Friday, February 5, 2010 10:16:30 PM

up Seeing if it works now...

Update: It works happy

MyOpera team, please fix this!fearphage Saturday, February 6, 2010 6:27:31 PM

Nice work folks. Any chance we can get more details about the core bugs Google Wave hit?

[I'm also interested in the last XHR error(s) that prevented bespin from working for a bit.]

Daniel HendrycksDanielHendrycks Saturday, February 6, 2010 6:33:01 PM

Originally posted by MyOpera team, please fix this!:

Any chance we can get more details about the core bugs Google Wave hit?


+1

Ola P. Kleivenolak Saturday, February 6, 2010 7:21:42 PM

Mostly JIT implementation bugs in 10.50. But Wave also depends on Error.stack support, while Futhark has Error.stacktrace in a different format (when enabled). Carakan introduces some support for Error.stack.

Plus the improved performance of Carakan helps with all the scripting there yes

Rafald.i.z. Saturday, February 6, 2010 7:48:53 PM

Originally posted by fearphage:

[I'm also interested in the last XHR error(s) that prevented bespin from working for a bit.]


I don't remember the details but one of the XHR's redirect response codes was converted to some other one.

As for bespin, problem with mispositioned images and elements is already fixed internally.

ouzowtfouzoWTF Monday, February 8, 2010 12:10:55 AM

So will support for wave will only be available with this script or is it planned to get it working with final 10.5 without this script?

Ola P. Kleivenolak Monday, February 8, 2010 8:54:03 AM

That is somewhat up to Google. We have no plans to change the handling when reading location.hash with special characters as Opera, WebKit-browsers and IE currently agree on behavior, with Gecko as the odd one out.

If we have to, this can be included in the regular browser.js though, but given the preview nature of Wave we try to not be magical just yet wizard

Charles SchlossChas4 Monday, February 8, 2010 9:04:48 PM

up

experttease Monday, February 8, 2010 9:28:04 PM

Whenever I click on a wave I get:

"you are not a participant of this wave"

BS-Harou Monday, February 8, 2010 10:46:59 PM

Originally posted by experttease:

Whenever I click on a wave I get:

"you are not a participant of this wave"



Set "Mask as Firefox" in site preferences - I had same problem and this fixed it =)

lucideer Monday, February 8, 2010 11:10:27 PM

Originally posted by olak:

Wave also depends on Error.stack support


Webkit doesn't support Error.stack... or Error.stacktrace - do we know what Wave does to get this working in Webkit?

Edit: Ok correction - Chrome added Error.stack a week ago, but afaik Safari still hasn't.

experttease Monday, February 8, 2010 11:42:18 PM

Originally posted by BS-Harou:

Set "Mask as Firefox" in site preferences - I had same problem and this fixed it =)



I was hoping you wouldn't say that p stupid browser sniffing...

EDIT: doesn't work with masking as Ff.

Geoffrey Sneddongsnedders Tuesday, February 9, 2010 12:27:26 PM

They use browser sniffing and send different code to different browsers; the generic one used when disabling UA sniffing to allow any browser access is the Firefox one.

For the interested: this is the Gecko bug on which Wave relies (though don't now go there and post evangelistic comments…).

lucideer Tuesday, February 9, 2010 5:42:54 PM

/me goes there to post evangelistic comments... whistle

Martin RauscherHades32 Sunday, February 14, 2010 12:22:02 AM

This worked just fine, but now (using 10.50 B1) I get the typical

Originally posted by wave:

"Everything's shiny, Cap'n. Not to fret!" Unfortunately, you'll need to refresh. Wanna tell Dr. Wave what happened?


sad

Ola P. Kleivenolak Monday, February 15, 2010 2:15:13 PM

Did you do anything in particular? That message comes up when there is an error, any error - and I'm fairly sure there are more issues with Wave than we know about.

The user.js posted only takes care of a very specific error that happened to be quite common.

Martin RauscherHades32 Monday, February 15, 2010 3:37:30 PM

Originally posted by olak:

Did you do anything in particular? That message comes up when there is an error, any error - and I'm fairly sure there are more issues with Wave than we know about.


Nope. Just tried again with an empty cache. Still there.

Wave sucks anyway...

Daniel HendrycksDanielHendrycks Monday, February 15, 2010 3:44:52 PM

Originally posted by Martin Rauscher:

Wave sucks anyway...


Tu che. Funny how we all where drooling over it last summer.

MyOpera team, please fix this!fearphage Tuesday, February 16, 2010 8:24:57 AM

Originally posted by Daniel James Hendrycks:

Tu che

Your French needs work: touché.

Daniel HendrycksDanielHendrycks Tuesday, February 16, 2010 12:56:25 PM

Originally posted by MyOpera team, please fix this!:

Your French needs work:


Touché lol

Hallvord R. M. Steenhallvors Saturday, February 20, 2010 7:51:13 PM

(Apparently Wave changed something and is broken again - we're working on it..)

Artem Mygaievklogg Tuesday, February 23, 2010 7:07:30 AM

Originally posted by hallvors:

broken again


too bad for Wave...

Ola P. Kleivenolak Wednesday, February 24, 2010 1:14:00 PM

Should work again in beta 2, let's see how long it lasts...

Artem Mygaievklogg Friday, February 26, 2010 5:57:43 PM

yep, it works smile
checked with Beta 2 rev 3275

Anonymous Tuesday, March 2, 2010 3:08:46 PM

Mononofu writes: Broken again :-/ Wave loads up fine, but when I load specific wave, it loads it to completion and then the wave disappears and it says "You are not a participant in this wave." It would be terrific if you could fix that, especially since Opera is faster than Chrome now ^^

Anonymous Wednesday, March 3, 2010 8:13:36 AM

Anonymous writes: Yeah . . . It's broken. Grrrr Still getting "You are not a participant in this wave." HELP! =)

evilcokemachine Friday, March 5, 2010 6:03:51 AM

Here's hoping it can get into the browser.js, since I wish I didn't have to click away the user-javascript-on-https warning all the time. I've also suggested to Google that they support Opera 10.5 on http://productideas.appspot.com/ if you guys want to go vote it (and the other related ones) up.

MyOpera team, please fix this!fearphage Friday, March 5, 2010 6:13:49 PM

Originally posted by evilcokemachine:

I've also suggested to Google that they support Opera 10.5 on

how about some direct links?

evilcokemachine Saturday, March 6, 2010 2:12:35 AM

you'll have to sign in first and then click the link :

http://productideas.appspot.com/#8/e=224f1

evilcokemachine Friday, March 12, 2010 6:00:07 PM

Hmm one of the biggest things I've noticed aside from the layout quirks has been that uploading files doesn't work. When, for example, I try to upload a standard mp3 file,which in Chrome works fine, in Opera, the "Uploading 1 Files" animation just sits there undulating endlessly, and the upload never completes.

evilcokemachine Tuesday, March 16, 2010 5:14:42 PM

and sorry that that link doesn't work... just search for Opera 10.5

Anonymous Tuesday, March 23, 2010 10:44:08 PM

kinoman writes: still not working in opera 10.51

Charles SchlossChas4 Wednesday, March 24, 2010 4:12:18 AM

Originally posted by anonymous:

still not working in opera 10.


That does not help, you need to describe hte site in question

evilcokemachine Thursday, March 25, 2010 4:26:21 PM

@Charles Schloss :

I think he's referring to Google Wave, as that's what this post is about...

Charles SchlossChas4 Thursday, March 25, 2010 8:31:55 PM

Not sure but from what I know Google Wave is using HTML 5 (tho the spec it self is not final parts are)

Maybe add the ability to Opera to Mask or ID as Chrome

Ola P. Kleivenolak Thursday, March 25, 2010 9:54:12 PM

What doesn't work? Wave works fine in 10.52 with the linked user.js here...

10.50 had a bug with enumerable __proto__'s that broke Wave (after they upgraded), but that was fixed for 10.51.

evilcokemachine Sunday, April 18, 2010 3:11:32 AM

So is this fix to be folded into the main browser.js in the future ?

As it stands, embedded waves such as this one do not work in Opera (but do in e.g. Chrome &c.), because, I should think, this script is not run ?

lucideer Monday, April 19, 2010 5:24:18 AM

Originally posted by evilcokemachine:

embedded waves such as this one do not work in Opera (but do in e.g. Chrome &c.), because, I should think, this script is not run ?


I don't think that's the issue there - that looks more like an iframe security issue. That page is giving me an iframe pointing to
opera:clickjackingblock?https%3A%2F%2Fwave.google.com%2Fwave%2F%3Fclient.type%3Dembedded%26parent%3Dhttp%253A%2F%2Fwww.gmodules.com%2Fgadgets%2Fifr%26wave_id%3Dgooglewave.com%21w%252BAU-ZLT_uA%26bgcolor%3Dwhite%26color%3D%26font%3D%26fontsize%3D12px%26embed_header%3Dfalse%26embed_footer%3Dfalse%26embed_toolbar%3Dfalse%26width%3D1010px%26height%3D570px

I've never heard of opera:clickjackingblock before now, but if you could get that frame to point to the correct address (which I believe looking at that mess above should be this address) then it should work in Opera just as well as Wave itself does.

Ola P. Kleivenolak Monday, April 19, 2010 11:02:00 AM

You'll see the same if loading that page in IE8. It is due to Wave sending the HTTP header "X-Frame-Options: SameOrigin" , meaning that if this page is tried embedded in another page, it has to be from the same origin. Opera and IE implements this feature in the same way.

See also http://blogs.msdn.com/ieinternals/archive/2010/03/30/Combating-ClickJacking-with-X-Frame-Options.aspx

So the patch wouldn't have anything to say. As for the patch, we don't think it is a good idea to patch beta products, since it makes it less likely that the patched issues will ever be fixed.

Hallvord R. M. Steenhallvors Monday, April 19, 2010 12:55:52 PM

Heh, so Wave is breaking itself in browsers that are secure enough to do as Wave tells them to do. To me, that sort of indicates WebKit doesn't support X-Frame-Options yet :-p

Ola P. Kleivenolak Monday, April 19, 2010 4:02:49 PM

Actually no, Chrome supports it, but Wave for some reason sends

"X-Frame-Options: ALLOWALL"

to Firefox and Chrome (Firefox supports X-Frame-Options through the NoScript add-on), so Wave degrades its own security for selected browsers sherlock

It also means the page above works if masking as firefox on wave.google.com...

evilcokemachine Friday, April 23, 2010 9:46:18 PM

So has anybody been able to upload attachments in Wave ? I still can't in Opera.

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.