Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Opera for Android #1712

Merged
merged 3 commits into from
Apr 8, 2019
Merged

Add Opera for Android #1712

merged 3 commits into from
Apr 8, 2019

Conversation

ExE-Boss
Copy link
Contributor

@ExE-Boss ExE-Boss commented Mar 30, 2018

Part of #591

Note: This might not actually be fully accurate, as I don’t use Opera.

review?(@Elchi3, @jpmedley)

@Elchi3 Elchi3 added the data:browsers Data about browsers (versions, release dates, etc). This data is used for validation. label Apr 4, 2018
@ExE-Boss ExE-Boss changed the title Add Opera for Android release information Add Opera for Android Jun 29, 2018
@ExE-Boss ExE-Boss force-pushed the browsers/opera-android branch from 8e616f8 to dfee534 Compare June 29, 2018 19:51
@ExE-Boss ExE-Boss force-pushed the browsers/opera-android branch 4 times, most recently from 9f170f2 to 1af6529 Compare June 29, 2018 20:54
@Elchi3
Copy link
Member

Elchi3 commented Aug 29, 2018

So, this is tricky, but I found this: https://ftp.opera.com/pub/opera/android/

I can confirm these versions:

So far I can't confirm:

  • 17
  • 23
  • 31
  • 38 - 40
  • 49-60

@Elchi3
Copy link
Member

Elchi3 commented Aug 29, 2018

Oh and I think in this case it doesn't make sense to link to Opera Desktop release notes as it is not the same.

@jpmedley
Copy link
Contributor

It looks like I missed responding to a request for review. I do not have access to any information beyond the sources the Forlian has already consulted.

@Elchi3
Copy link
Member

Elchi3 commented Sep 14, 2018

@ExE-Boss Would you like to update the Opera for Android data based on #1712 (comment)? I'm curious to see how much data will fail and how we could correct it.
This is the last browser without data/validation, and it is the next infra item I'd like to finish.

@ExE-Boss
Copy link
Contributor Author

ExE-Boss commented Sep 14, 2018

I plan to look into it during the weekend before v0.0.52 eventually.

@queengooborg
Copy link
Contributor

Moving the discussion to this PR. What was discussed in #2909 is as follows:

Comment 1

Looks like we have a little bit of an inconsistency on our hands in terms of the version numbers. Opera Android has different version numbers than Opera Desktop, that’s already been established in the discussion on #1712 up above.

https://www.apk4fun.com/history/998/
https://en.wikipedia.org/wiki/Opera_Mobile

However, ChromeStatus.com seems to be referring to Opera Android version numbers as if they were the same as the desktop version numbers, as well as referring to versions way beyond the current released version.

https://www.chromestatus.com/feature/5718547946799104

So...it must be referring to the underlying engine in Opera Android, which follows the desktop version’s numbers?

Comment 2

I think the version numbers that I [@Elchi3] mention here #1712 (comment) are correct. Whether or not that's actually doable and makes sense for our data, I don't know yet. Strictly speaking chromestatus seems to do the wrong thing, but maybe they refer to some engine versions. I haven't had the time to dig deeper into this yet.

Comment 3

As far as version numbers, a similar case is evident with Microsoft Edge, as described in #2620, where the engine and the application versions are different. As also described, the engine version is preferred, rather than the application version. Personally, I feel that maybe we should keep with that regarding Opera Android (especially since I expect people would believe chromestatus.com's accuracy, and it would also be a little less work :P). But it's all up to you guys in the end, what you think would be best!

@jpmedley
Copy link
Contributor

"Looks like we have a little bit of an inconsistency on our hands in terms of the version numbers. Opera Android has different version numbers than Opera Desktop, that’s already been established in the discussion on #1712 up above."

According to one of Chrome's Developer Advocates who worked for Opera until a few years ago:

The wikipedia article is incorrect. Opera for Android followed the OPERA_VERSION = CHROMIUM_VERSION - 13 formula, just like Opera for Desktop. However, it looks like this recently changed. The current Opera for Android version is v47~, but its Chromium version is v66~.

Opera did not tell us.

@Elchi3
Copy link
Member

Elchi3 commented Oct 19, 2018

My wild guess is that "OPERA_VERSION = CHROMIUM_VERSION - 13" worked until Opera Android 37. I think it would be great to find out if there is a new formula for the later versions.

Edit: See above #1712 (comment) for what we currently know.

@mathiasbynens
Copy link

Opera employees should know.

@Elchi3
Copy link
Member

Elchi3 commented Oct 22, 2018

@chrisdavidmills Do you know Opera employees that could help us here?

@chrisdavidmills
Copy link
Contributor

chrisdavidmills commented Oct 22, 2018

@Elchi3 I don't know anyone from Opera any more; everyone I know left.

@mathiasbynens was there much more recently than me; so was Andreas Bovens.

@poshaughnessy
Copy link
Contributor

In case a few more are helpful in the meantime...

@Elchi3
Copy link
Member

Elchi3 commented Oct 26, 2018

Thanks @poshaughnessy! 👍 Especially the forum link was super helpful! I've updated my comment above (#1712 (comment)) with what we know now.

@ddbeck ddbeck added the info needed This needs more information to review or act on. label Dec 21, 2018
Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've only reviewed files in api/ that start with "A" and I found things that look wrong or maybe I don't understand the changes. Please fix or explain.

api/AudioBufferSourceNode.json Outdated Show resolved Hide resolved
api/AudioContext.json Outdated Show resolved Hide resolved
api/AudioListener.json Outdated Show resolved Hide resolved
api/AudioListener.json Outdated Show resolved Hide resolved
api/AudioParam.json Outdated Show resolved Hide resolved
api/AudioScheduledSourceNode.json Outdated Show resolved Hide resolved
@ExE-Boss
Copy link
Contributor Author

review?(@Elchi3): I’ve now addressed your review.

Let’s get this merged before more stuff breaks.

@Elchi3 Elchi3 removed info needed This needs more information to review or act on. rebase-needed 🚧 labels Feb 27, 2019
@foolip
Copy link
Contributor

foolip commented Mar 29, 2019

There are a lot of conflicts already and this will also conflict with #3658.

If there's some vetting of the API/CSS/etc. data needed, can the browsers/opera.json and browsers/opera_android.json changes be merged first? Per #591 opera_android is the only browser missing in browsers/, and I noticed this today when trying to update data for it in #3731.

@ExE-Boss
Copy link
Contributor Author

ExE-Boss commented Mar 29, 2019

@foolip You need to run a script that updates the data according to #1712 (comment) (without it, the build will fail, as right now, the data assumes that Opera Android version == Opera Desktop version, but the Opera Android version is at least 9 versions behind).

@ExE-Boss ExE-Boss force-pushed the browsers/opera-android branch from 7976180 to 21a0512 Compare March 29, 2019 22:28
@foolip
Copy link
Contributor

foolip commented Mar 30, 2019

@ExE-Boss I'm not setting any version numbers though, just changing null to true.

@ExE-Boss
Copy link
Contributor Author

ExE-Boss commented Mar 30, 2019

My script also affects the case when opera_android is null and opera is non‑null.

@ExE-Boss ExE-Boss force-pushed the browsers/opera-android branch from 21a0512 to 26f6b78 Compare March 30, 2019 07:59
@foolip
Copy link
Contributor

foolip commented Mar 30, 2019

So, do I need to do anything if I'm just changing null to true based on testing in the real browser, or is it just that there's still more work that could be done?

@ExE-Boss
Copy link
Contributor Author

ExE-Boss commented Mar 30, 2019

It means that there will be merge conflicts (I’d recommend merging this first, as this addresses some version_added: nulls).

@queengooborg
Copy link
Contributor

We'll definitely be facing merge conflicts, so the sooner we can get this merged, the better!

@ddbeck ddbeck requested a review from Elchi3 April 1, 2019 09:23
@Elchi3
Copy link
Member

Elchi3 commented Apr 3, 2019

So, I've looked into this again and the mapping seems to be applied correctly now. Thanks for your work!

The only thing that this doesn't seem to take into account is that when mobile chromiums differ from desktop chromiums. This is quite rare, but for example, look at https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport/zoom. Here, Chrome for Android is much later than Chrome desktop (I don't know if the data is correct btw) but your mapping here takes the Chrome desktop number. I would assume that Opera Android is closer to Chrome for Android and thus the Opera Android number could have been based on the Chrome Android version.

I believe that majority of the changes in this PR is correct and I think that the above scenario is relatively minor. So, I think it would make sense to go ahead and merge this if I don't hear other thoughts on this matter.

It needs another rebase though. Sorry.

@jpmedley
Copy link
Contributor

jpmedley commented Apr 3, 2019

Rule of thumb: if device hardware is involved, don't be surprised if desktop and mobile have different version numbers. In fact you can almost expect it. (The hardware interaction here comes from the fact that zooming on mobile has to be done by pinching the screen.)

The difference is usually only a few versions. There seems to be a difference of 32 versions for this feature. If the difference is excessively large, ping me and I'll look into it.

@ExE-Boss ExE-Boss force-pushed the browsers/opera-android branch from 26f6b78 to aa314c9 Compare April 3, 2019 17:44
  This data is based on information I found on the internet and might
not be entirely accurate.
@Elchi3
Copy link
Member

Elchi3 commented Apr 4, 2019

Thanks for the rebase!

I've double checked again https://github.com/mdn/browser-compat-data/blob/aa314c9bce0d3dea20a08011a0f6feeb833fc52a/browsers/opera_android.json against #1712 (comment)

In the comment I said that there weren't these releases:
17
23
31
38 - 40

But you've added them to opera_android.json. Why? Did you find evidence that these releases existed?

@ExE-Boss
Copy link
Contributor Author

ExE-Boss commented Apr 4, 2019

I think I forgot to remove them.

Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to remove the non-existing releases here.
Also, I think, linking to the desktop release notes is more confusing than helpful (this can be a follow-up, though).

@ExE-Boss
Copy link
Contributor Author

ExE-Boss commented Apr 8, 2019

review?(@Elchi3): I’ve removed the non‑existent Opera Android versions, now would probably be a good time to merge this before more merge conflicts pile up.

Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, here we go, I'm merging this. 🎉
Thanks for your continued work on this for over a year, @ExE-Boss! 🥇 Very much appreciated 👍
This wasn't an easy one.

@Elchi3 Elchi3 merged commit 20b568c into mdn:master Apr 8, 2019
@ExE-Boss ExE-Boss deleted the browsers/opera-android branch April 8, 2019 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data:browsers Data about browsers (versions, release dates, etc). This data is used for validation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants