Opera 12.18 history bug

Tags: #<Tag:0x00007fcb50d28db8>


It’s a Discourse bug I should try and do something about it in their bug forum but I dont know the Discourse universe well yet and so I write it here to remember it until then and to also to point out a bug that I only notice in MB’s Discourse at the moment.

This problem occurs with my out‐dated Windows Opera 12.18 (I know I am not the very last user though, we are at least 10 throughout the world).

Global history bug

When browsing Discourse, the browser history (manipulated with history.pushState, history.popState and history.replaceState) only shows null labelled history items (with the correct URL though).
I could reproduce it in their sandbox.

May be because of L7 or L138-L142 in /app/assets/javascripts/discourse/lib/discourse-location.js.es6

MB Discourse only bug

There is another glitch though, that I could not reproduce in their sandbox and that is only here in MB’s Discourse, at least for the little tests I made.

If I follow an external link, no history state is saved of the MB Discourse page I’m leaving.
So I can’t use my browser’s Back feature to go back to the conversation I was reading.

Other thought

Other than that I’m very surprised how well Discourse works in Opera 12.x.
For such a modern site in such an old browser, it’s flawless. :joy:


Have you tried the new Vivaldi browser ? It aims to be like the old Opera you are using I think.


Thanks Lotheric, I think I will give it time to become good.
I tried it when they released their first version and it was still quite young.

It will be good enough to be used instead of and once Opera 12 completely stops running on the future web. :crying_cat_face:

BTW history state manipulation is supported in Opera 12, I already used it in some user scripts, it’s just that it seems they test the feature support wrongly (L7)… or too ECMA Script 6 style (that in looks strange, where I would have expected a hasOwnProperty instead) ?
They should not use null as a state label.

And the history skip for external links I should compare their version with what version is used in MB… don’t know yet…


Opera is not listed as one of their supported browsers, so they may not fix it. :confused:


I think there is some dodgy thing that is done somewhere as history manipulation usually works well in Opera 12. So if it’s a principle mistake or something like that, I could make a pull request saying it’s a general fix. :stuck_out_tongue_winking_eye:


For the record, after two topics silently deleted over there, I managed to report two problems:

  1. This history popup problem + user profile same problem REPORTED :ng:
  2. Protocol‐less links problem, actually spotted by cpradio FIXED by ZogStriP :ok:


The FIX for protocol‐less links not managed consisted of two rows:

This regression seems limited to Opera 12… but it’s what I use.
The regressions makes it so that internal links (links to same discourse forum) are considered as external links (and therefore open in a new tab if you have such a preference set).

@outsidecontext, do you have the means to test a live running Discourse?
If you do, would it be possible that you would help me a lot and just revert that row 176 to what it used to be? That is:

in app/assets/javascripts/discourse/lib/ url.js.es6:

isInternal(url) {
isInternal: function(url) {

Which does look more correct to me BTW, unless I am not aware of some fashionable JavaScript trends.

I click this internal link (any will do, including sidebar’s associated topic links, etc.) to reproduce.


Sorry for the late response, but I am currently unable to test this and I can only test a local development version anyway. And there I don’t have Opera 12 available. Regardless of this I am not sure whether it would be feasible to patch the MB Discourse installation, so any patch should be pushed upstream anyway. But @zas or @freso can probably say more about it.

But seriously, stop using a 4 year old unmaintained browser, there are so many alternatives. Have a look at Vivaldi, not my thing but might be for Opera 12 lovers :smiley:


Thanks anyway, I won’t bug you for this regression…
Maybe one day I’ll be able to have a test environment but it’s impossible now.

  • My office PC’s BIOS can’t run the 64 bit image built
  • My home PC (Windows XP SP3) can’t run the image builder

Maybe I should try and build the image on my office PC and then find where it is written copy run it at home, but it’s quite complex for me. :wink:

About leaving Opera 12, I will do when it stops running. My feature check list is so far from being fulfilled (and it’s not even listing all the things I would miss).