Skip to content

Karma 6.x fails to load in IE9 #3665

Closed
@Krinkle

Description

@Krinkle
Contributor

Updating from karma 5.2.3 to 6.2.0 I find that the tests no longer load in IE9, for example via SauceLabs on the https://github.com/js-reporters/js-reporters repository:

IE 10.0 (Windows 7): Executed 23 of 23 SUCCESS (0.232 secs / 0.029 secs)
IE 10.0 (Windows 7): Executed 23 of 23 SUCCESS (0.232 secs / 0.029 secs)
Firefox 45.0 (Windows 7): Executed 23 of 23 SUCCESS (0.199 secs / 0.061 secs)
Edge 15.15063 (Windows 10): Executed 23 of 23 SUCCESS (0.312 secs / 0.075 secs)
IE 11.0 (Windows 7): Executed 23 of 23 SUCCESS (0.21 secs / 0.034 secs)
Chrome 58.0.3029.81 (Windows 7): Executed 23 of 23 SUCCESS (0.216 secs / 0.045 secs)
Edge 88.0.705.50 (Windows 10): Executed 23 of 23 SUCCESS (0.186 secs / 0.024 secs)
14 03 2021 02:04:20.287:WARN [launcher]: internet explorer 9  on SauceLabs have not captured in 60000 ms, killing.
14 03 2021 02:05:23.193:WARN [launcher]: internet explorer 9  on SauceLabs have not captured in 60000 ms, killing.
14 03 2021 02:05:26.784:ERROR [launcher]: internet explorer 9  on SauceLabs failed 2 times (timeout). Giving up.

In the video recording, I see that the "Karma is Idle" page appears but nothing after that. No further error what I could find, so probably something very early on. Perhaps something with socket.io, or unsupported ES6+ syntax or method in client changes?

Activity

added a commit that references this issue on Mar 14, 2021
johnjbarton

johnjbarton commented on Mar 15, 2021

@johnjbarton
Contributor

Yes we saw this also. The issue turned out to be a use of a ES feature in socket.io client that IE9 did not support. Since it is not practical to change socket.io or stay on v2, we gave up on IE9 (not a big loss, very little use now=)

Karma 6 does not test on IE9, but we did choose to continue to support IE11.

Krinkle

Krinkle commented on Mar 15, 2021

@Krinkle
ContributorAuthor

Ack, I saw the removal of IE9 from CI, and I saw a proposal for Karma 7 at #3503. But I saw no note of IE9 support removal in the Karma 6 release notes.

I don't mind dropping support for IE9 in end-user applications, but for Karma it would have a pretty big cascading effect as it would mean projects like js-reporters and QUnit cannot test themselves in IE9 and by extension that would mean everyone using QUnit also has to drop support for IE9 for any kind of library or application before upgrading. For now we can version-pin, and ideally browsers and CI environments are stable and thus that can continue to work. However given how much Node versions change, browser launchers etc, it's not unlikely we'll need to update to Karma 6 at some point in order for other things to work. Having Karma 6 as last major release for old IE would be nice, it could be retained in a branch for a while after the main branch moves to Karma 7 for any essential backports needed.

johnjbarton

johnjbarton commented on Mar 15, 2021

@johnjbarton
Contributor

I think we could delay or otherwise work around issues in the karma client (eg transpiling if we really want to use modern syntax).

However, freezing the socket-io level to support IE9 seems unwise. At some point IE9 support needs to end I don't know of a compelling reasons that point is not now. I don't know how to move the ecosystem other than to take a tiny step forward.

devoto13

devoto13 commented on Mar 15, 2021

@devoto13
Collaborator

I agree with @johnjbarton that we want to drop IE9 and IE10 as usage is tiny, supporting these browsers becomes a burden for Karma and blocks Karma from moving forward (e.g. use WebSockets directly instead of socket.io). But I also see how this change might be disruptive for some Karma users and it was not clearly announced as a breaking change in v6.

According to https://socket.io/docs/v3/client-installation/index.html, socket.io supports IE9, so it is probably some tiny change needed somewhere in our code to get it working. I'll see how hard it is to fix.

devoto13

devoto13 commented on Mar 15, 2021

@devoto13
Collaborator

I've just tried to run tests on IE9 and apparently they pass: https://automate.browserstack.com/dashboard/v2/builds/353284844776d04545344febcc9ac02d87a7b113/sessions/754cc7a656eadfaf9abc8d7462d2724bbb793a07?buildStatuses=running&buildUserIds=3623869 (requires auth). The problem is that on initial page load the page does not connect back to the Karma server, but after reload it successfully connects and tests pass. I have no idea why this happens. I'll try to poke around more in the coming days.

added a commit that references this issue on Mar 28, 2021
4e0e507
added a commit that references this issue on Mar 28, 2021
4f5325c
added a commit that references this issue on Mar 29, 2021
0055bc5
added a commit that references this issue on Mar 29, 2021
karmarunnerbot

karmarunnerbot commented on Mar 29, 2021

@karmarunnerbot
Member

🎉 This issue has been resolved in version 6.3.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

6 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @Krinkle@johnjbarton@devoto13@karmarunnerbot

      Issue actions

        Karma 6.x fails to load in IE9 · Issue #3665 · karma-runner/karma