Sitefinity Bug in Chrome v55

By January 5, 2017Google, Sitefinity

Page Editing Drag and Drop Busted

On December 1st, 2016, Google pushed out a new version of its internet browser Chrome. Chrome v55 installed and automatically updated on a huge number of machines (as is the standard for silent auto-updating software) and it went off without a hitch. While Chrome was dandy, however, it turns out that it broke something in Sitefinity! A major component to Sitefinity, in fact: Dragging and dropping widgets when editing pages or page templates. Unless you are in an environment where automatic updates for Chrome are disabled, you are now susceptible to this issue if you are running Chrome v55 or later. Every version of Sitefinity, stretching all the way from 5 up to the latest (9.2.6212.0), break.

Immediate, I-Need-to-Get-My-Work-Done Remedy

Before I go on I’ll state the fastest fix now: Use a different Internet browser. Internet Explorer, Mozilla Firefox, Safari, and others will still operate normally. Only Google Chrome v55 or later are affected by this.

What’s Breaking in Sitefinity?

To see if you’re being affected by this bug, open up Google Chrome v55 and login to the Sitefinity backend portion of your web application. Navigate to Pages and open up a new page for editing (or create a new page). Once there, drag any widget from the right toolbar onto the page itself. Let’s watch what happens:

chrome v55 Error

As you can see, I have Chrome v55 installed with a Sitefinity page instance open. I also opened DevTools so we can see exactly what’s happening. The console reveals that a JavaScript error is being thrown when I try to drag a widget onto the page: “Uncaught DOMException: Failed to execute ‘createEvent’ on ‘Document’: The provided event type (‘PointerEvent’) is invalid.” In Chrome v55 or later, this JavaScript error will always occur when attempting to drag a widget onto a page. It doesn’t matter if the widget is a built-in one or a custom one: All are affected.

Hotfix Released by Progress

After Progress’ web site had the issue reported (with many people pointing the bug out), Progress got to work straightaway. On December 20th, they released a hotfix. As per procedure, only the previous four iterations of Sitefinity received a hotfix: 8.2, 9.0, 9.1, and 9.2. All later editions of Sitefinity will naturally have the fix in place, but if your Sitefinity application is running a version that is older than 8.2, you either have to upgrade your Sitefinity site, or switch away from using Chrome v55 (either by remaining on an older version, or using a different browser).

Installing the Hotfix

If you are not upgrading and are just applying the hotfix, all you have to do is replace the Sitefinity DLLs in your aplication with the hotfix version of Sitefinity. The version you upgrade to for each of the four hotfix’d versions are as follows:

  • Sitefinity 8.2 Hotfix1 (8.2.5920.0)
  • Sitefinity 9.0 Hotfix2 (9.0.6020.0)
  • Sitefinity 9.1 Hotfix2 (9.1.6130.0)
  • Sitefinity 9.2 Hotfix2 (9.2.6220.0)

If you are on an internal build, then you can install the following versions:

  • v.8.2.5921.0
  • v.9.0.6021.0
  • v.9.1.6131.0
  • v.9.2.6221.0

The installation method should be the same as when applying a hotfix.

Going Forward: Monitoring Progress for Future Changes and Issues

As mentioned earlier, all versions of Sitefinity yet to be released will have this fix in place automatically. This also shows the general process for when a critical bug is discovered in a Sitefinity application: From the response time, to what versions get patched, to potential workarounds. If you are maintaining a Sitefinity application, all of these are good to know! If you find yourself running into these issues, head over to Progress’ site, particularly their knowledgebase where tons of common issues are presented, along with their fixes or workarounds. In this instance Sitefinity published one for the Chrome v55 hotfix in question here. You can find version notes for newly-released versions and hotfixes for Sitefinity over on Sitefinity’s web site.

The following two tabs change content below.
Scott has been working with .NET and web technologies for several years, having developed many applications and web sites. He's an experienced developer, well-versed in many flavors of ASP.NET and C#, SQL, JavaScript, and even some CSS. He loves to solve problems, and is a major proponent of Test Driven Development. In recent years, he's become experienced in Telerik's Kendo UI and Sitefinity products.