Bug 7550 - Drop support for Internet Explorer and old Edge
Summary: Drop support for Internet Explorer and old Edge
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Web Access (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.14.0
Assignee: Samuel Mannehed
Keywords: linma_tester, ossman_tester, relnotes
Depends on:
Blocks: 5997 7393 7398 7404 7420 7428 7470 7792
  Show dependency treegraph
Reported: 2020-09-07 09:39 CEST by Pierre Ossman
Modified: 2022-12-30 11:03 CET (History)
3 users (show)

See Also:
Acceptance Criteria:


Description Pierre Ossman cendio 2020-09-07 09:39:14 CEST
Internet Explorer is a bit of a pain to support since it is ancient compared to everything else. We have lots and lots of complex compatibility code to support this browser. As such, we'd really like to drop support and remove this burden.

Microsoft has promised to continue supporting IE until EOL of the operating systems that included, including Windows 2016 and Windows 10:


However, Microsoft has now decided to treat IE as a legacy-only tool and drop support for it in its own services:


Since the new Edge is available even for server versions of Windows (old Edge wasn't), they consider this their standard browser going forward.

So if Microsoft no longer supports using IE for their web based software, I don't see a need for us either.
Comment 1 Samuel Mannehed cendio 2021-11-17 13:06:13 CET
Support for Internet Explorer and old non-chrome Edge was dropped from upstream noVNC: https://github.com/novnc/noVNC/pull/1477

Since noVNC/utils/use_require.js in the new noVNC code doesn't have support for the flags we use to enable IE polyfills we should remove our IE support before doing a vendordrop.
Comment 7 Samuel Mannehed cendio 2021-11-17 17:09:38 CET
Dropping support for the old, non-chrome Edge is also done as part of this bug. New Edge is available on server versions of Windows, and Microsoft themselves does not support old Edge anymore.
Comment 8 William Sjöblom cendio 2021-11-18 08:51:20 CET
As of dropping support for IE, we no longer use nodejs et al. when building ThinLinc. Thus, we've removed these packages from cenbuild.
Comment 10 Samuel Mannehed cendio 2021-11-19 17:05:54 CET
With regards to comment #6, we have decided to not implement any sort of error or warning for IE users right now.

Microsoft has a mechanism that will open in Edge when a user tries to use IE. IE will in these cases show a page explaining that the browser is too old for the page. This mechanism uses a list of public websites for which this redirect will happen:


Unfortunately, we can't use this method since we can't know the URL of ThinLinc Web Access, and even if we did, it won't be running on a public URL in most cases.

That leaves some sort of feature detection in order to determine when to show an error or a warning. We don't think it's worth the effort considering the sub 1% market share that Internet Explorer now has.

What happens when a user now tries to use IE is that they get an infinitely loading spinner. There are no errors in the browser console.
Comment 12 Samuel Mannehed cendio 2021-11-22 12:35:52 CET
As part of removing IE support we could also remove a number of dependencies from noVNC. No traces of these dependencies could be found in open_source_licenses.txt or in noVNC/LICENSE.txt.

Release note for IE support has been added. All done.
Comment 13 Pierre Ossman cendio 2021-11-29 10:32:39 CET
There are still some remnants left of the conversion stuff:

 * RequireJS
 * rollup

These are just in the source though, so the shipped webaccess package seems to have the correct contents.

cenbuild looks fine. I cannot find any remnants of nodejs there.

The commits look good.

The release notes look good.

Web Access still loads correctly without errors in:

 * Firefox 94
 * Chrome 96
 * Safari 15
 * Edge 96
Comment 14 Pierre Ossman cendio 2021-11-29 10:34:45 CET
Also checked Bugzilla and could not find anything that was only relevant for Internet Explorer or the old Edge.
Comment 17 Samuel Mannehed cendio 2021-12-06 15:44:40 CET
Web Access' legacy folder will no longer be installed and RequireJS is now removed from open_source_licenses.txt that's in the bundle.

The dependency 'rollup' is now removed from upstream noVNC and we will get that fix with the next vendordrop. For now however, it's not something that affects ThinLinc.
Comment 18 Linn cendio 2021-12-09 16:50:28 CET
Grep:ed after RequireJS and rollup in the source code, and the only references left are in package.json, which should be cleaned by upstream and not us. 

Also checked that the legacy folder was removed and that the code changes looked good.

This was the last part left to be tested, closing.

Note You need to log in before you can comment on or make changes to this bug.