New issue
Advanced search Search tips

Issue 845955 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 2
Type: Bug-Regression



Sign in to add a comment

CRM 2011 Field Entries

Reported by nba...@gmail.com, May 23 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36

Steps to reproduce the problem:
1. Access hosted CRM 2011 website
2. Select a Queue item
3. Modify a field

What is the expected behavior?
No errors when modifying fields.

What went wrong?
Pop-up window reporting an error with CRM.

Did this work before? Yes 

Chrome version: 66.0.3359.170  Channel: n/a
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

It works fine in Internet Explorer 11 with the latest updates.  We are on the latest update for CRM 2011.
 
ErrorDetails.txt
919 bytes View Download
Cc: gsat...@chromium.org
Components: Blink>JavaScript
Labels: -Pri-2 Pri-1
There is some discussion that this is caused by Array.protoypes.value()

https://community.dynamics.com/crm/f/117/t/277800

Can you try disabling ES Array Prototypes via:

chrome://flags/#enable-array-prototype-values

See  issue 409858 

Cc: hablich@chromium.org rbyers@chromium.org foolip@chromium.org
+hablich, +foolip, +rbyers

From the link in comment#1, it sounds like Microsoft is never going to update this website. I don't know how widespread this breakage is. Although, it's definitely not nearly in the same scale as last time.

Should we consider unshipping Array.prototype.values and removing it from the spec? Or should we let individual users turn it off using the about:flags flag? 

I'd prefer the latter.
Labels: Needs-Bisect Needs-Triage-M66

Comment 4 by foolip@chromium.org, May 23 2018

This is similar to https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/J7rvFkcn8TU/OtIcXTDDAQAJ back in 2015-16, where we wanted to make border-image spec compliant but we knew it would brea mobile GMail. The GMail team said it was unmaintained, but since it was the only case we knew about we went ahead with the change anyway, not seeing any other way forwards towards interoperability between all browsers.

Since Array.prototype.values has already shipped in Edge and Safari, Chrome supporting it would be the tipping point that eventually gets it supported everywhere. So, lacking a path to get it removed from Edge and Safari, I think shipping it and having a setting to remove it sounds good. In doing this we should also make sure it's very well communicated to the Microsoft Dynamics CRM team that we're doing it, and when the change will happen.

Comment 5 by foolip@chromium.org, May 23 2018

Um, that comment was written *as if* we hadn't shipped it yet, which we have:
https://groups.google.com/d/msg/v8-users/kpvnFUIoids/CA0XaiqFAwAJ
https://bugs.chromium.org/p/v8/issues/detail?id=4247

This is a V8 launch, but from a web compat perspective, I think adding a flag controlled by enterprise policy is reasonable.

See https://docs.google.com/document/d/1RC-pBBvsazYfCNNUSkPqAVpSpNJ96U8trhNkfV0v9fk/edit?usp=sharing for a lot of discussion about how we try to make these kinds of tradeoffs in Blink.

Comment 6 by nba...@gmail.com, May 23 2018

Thank you for the information.  Disabling ES Array Prototypes did fix the issue.

Comment 7 by nba...@gmail.com, May 23 2018

If an end user makes this change, will it be changed in future updates of Google Chrome?  Or once it is set, it will remain at the disabled setting.
I think we should NOT unship the new behaviour because:

- It is spec compliant
- We are the last browser to not ship it

The end user currently can switch to the old behaviour via about:flags. It should be feasible for end users of the mentioned MS enterprise apps to switch the flag. Let's aim for Chrome 70 or 71 to remove the flag and old codepaths all together. This should give web developers ample of time to fix the issue and enterprises to deploy those fixes?

As this is a bug in some of the older Microsoft enterprise products, MS probably should release a fix on their end. 
Cc: phanindra.mandapaka@chromium.org
Labels: -Needs-Bisect Triaged-ET
Removing the Needs-Bisect label as the root cause is already identified as per Comment #1 and confirmed in Comment #6.


Thanks.!
A Gentle Ping..

Requesting CC'ed Dev's to please look into this issue provide an update.

Thanks..
Labels: TE-NeedsTriageHelp
The issue seems to be out of TE-scope as it is related to accessing hosted CRM 2011 website and ET-team doesn't have access to it. Hence, adding label TE-NeedsTriageHelp for further investigation from dev team.

Requesting the cc'ed devs to please have a look into the issue.

Thanks...!!
Components: -Blink>JavaScript Blink>JavaScript>Language
Labels: -Pri-1 -Arch-x86_64 -TE-NeedsTriageHelp -Via-Wizard-Other -Triaged-ET -Needs-Triage-M66 OS-Android OS-Chrome OS-Fuchsia OS-Linux OS-Mac Pri-2
Owner: gsat...@chromium.org
Status: Assigned (was: Unconfirmed)
Thanks foolip@ and hablich@. 

I've reached out to Microsoft to see if they can update their website. 

I highly doubt they will update their website as the last update was 4 years ago and the website is in extended life support mode now (only security fixes).

hablich@, does it still make sense to keep the flag on til 70? nothing changes at M70. Maybe we should we leave the flag on for a couple of years until the website is completely EOL'd (not just extended life support)?
Well, this means we would need to maintain this special modes for a few years. 
Couldn't a Chrome extension be easily written which deletes this API on the specific site in question before any of the sites JS runs?  Enterprise policy can already install specific extensions.  I'd much rather we rely on an extension than have to leave site-specific-hacks and flags in chromium indefinitely...
Status: Fixed (was: Assigned)
Similar to https://bugs.chromium.org/p/chromium/issues/detail?id=409858#c145, we've heard that microsoft isn't going to update this website either so there's no migration path that doesn't involve breakage. 

This 'Array.prototype.values ES6 Method' flag is removed in Chrome 68 and will stay that way.

re #comment14: Yeah, that would work. An extension could check for `typeof Array.prototype.values` and deleting it would unbreak these websites. But that's out of scope for us, I think.

Comment 16 by jayhlee@google.com, Jun 15 2018

Labels: Hotlist-Enterprise

Sign in to add a comment