Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Value is not a sequence Safari exception

enter image description here

I'm getting this error on any console.log statement in my codebase. This affects only Safari 11.0 (12604.1.38.1.7) on Mac 10.16.6

How can i resolve this and how this happened?

like image 538
bohdaq Avatar asked Oct 24 '17 14:10

bohdaq


2 Answers

You need to disable the "WebDriver" extension.

I had this same problem, and my stack trace included a resource called "Script element" which was making this call:

b.initMessageEvent("safaridriver.message", !1, !1, a, window.location.origin, "0", window, null);

Maybe there's a SafariDriver update out there that also fixes this?

like image 168
Jonathan Cole Avatar answered Oct 20 '22 11:10

Jonathan Cole


The main answer here, led me down the wrong path.

Some notes:

  • My console.log works just fine in Safari 12.0.3 with no issues what so ever
  • The original error of "Value is not a sequence" can be encountered for several different reasons
  • I found I was getting the error because my self.postMessage() had two arguments instead of one
    • TypeScript thinks self.postMessage() is supposed to have two arguments
    • Safari threw error because my second postMessage argument was null

My code was:

self.postMessage(data,null)

Now my working code is:

const selfie: Worker = self as any;

selfie.postMessage(data)

I find my answer to be relevant because others will use TypeScript and think self.postMessage() needs to have two arguments... And then Safari will break if the second argument is null like several online articles recommend to use.

like image 26
Acker Apple Avatar answered Oct 20 '22 11:10

Acker Apple