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: https://docs.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge However, Microsoft has now decided to treat IE as a legacy-only tool and drop support for it in its own services: https://techcommunity.microsoft.com/t5/microsoft-365-blog/microsoft-365-apps-say-farewell-to-internet-explorer-11-and/ba-p/1591666 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.
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.
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.
As of dropping support for IE, we no longer use nodejs et al. when building ThinLinc. Thus, we've removed these packages from cenbuild.
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: https://edge.microsoft.com/neededge/v1 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.
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.
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
Also checked Bugzilla and could not find anything that was only relevant for Internet Explorer or the old Edge.
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.
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.