Recent Firefox breaks existing converted Chrome extension












0















I have a Chrome-based extension which works unfailingly in Chrome 26 through Chrome 70. It continues to work exactly as it does in Chrome in Firefox 47, 48, 49, but is now broken in FF/DevEdition 64.



I have no clue where to begin to look at what incompatibility FF later versions introduced/broke basic functions that worked in 47,48,49? Any pointers will be appreciated (even a link to archived versions in between so that I can grab a spare 'puter and find the exact version where it fails).



update: this is the daemon (background pg) code which opens the GUI interface
(excerpted):



    var fireflyID = 0;
/* ... */
// msgpath 'class' [creates a bridge between the SDK (the GUI)
// and the tab it monitor/analyses/debugs ...
var msgpath = function(pathid, pathname, tabID, url, opener, reply) {
/* ... */
this.pathname = pathname;
this.sdk.path = url;
this.tab.tabID = tabID;
this.tab.port = chrome.tabs.connect(tabID);
this.tab.port.onMessage.addListener(handleSCRMsg);
/* ... */
this.connect = function() { //opening handshake with contentscr
this.tab.port.postMessage( {"msgtype":"connect" /* ... */};
};
this.accept = function() { //handshake accepted, open the sdk...
var fireflyURL;
fireflyURL = chrome.runtime.getURL(this.sdk.path);

// this works in Chrome26-Chrome70 (latest version)
// and Firefox 47-55, it opens the panel in FF56+,
// applies the title, but never displays the content?
// and yes .getURL() does add the right 'protocol' to the url

this.sdk.wdw = chrome.windows.create( {
"url" : fireflyURL +
"?portname=" + this.pathname + ";opener=",
"width" : 980,
"height" : 720,
"type" : "panel"
});
};
/* ... */
};
/* ... */
// msg from content-script...
var handeSCRMsg = function(msg) {
var mpath = null;

if (msg.msgpath) {
mpath = msgpaths[msg.msgpath];
/* ... */ // content scr accepts connection
if (msg.msgtype == "accept")
mpath.accept(); // msgpath object 'class' from above
/* ... */ // go open the sdk and splice the port connections
}
};

var handleCTRLMsg = function(msg) {
/* ... */
if (msg.msgtype == "open") {
pathid = fireflyID++;
pathname = "firefly"+pathid;
mpath = new msgpath(pathid, pathname, msg.tabID,
msg.path, msg.parent, msg.reply);
mpath.connect();
};

// wake up on pageAction (extension icon click)
chrome.pageAction.onClicked.addListener( function(tab) {
/* ... */
msg.tabID = tab.id;
msg.path = "sdkfirefly.html";
handleCTRLMsg(msg);
};
// content scr posts msg to daemon to tell daemon
// that dflibg dataflow library is in application
// 'tab' and it is ok to enable pageAction/icon
chrome.runtime.onMessage.addListener ( function (msg, sender) {
/* ... */
tab = sender.tab;
if (msg.msgtype == "activate")
chrome.pageAction.show(tab.id);
}


and that shows the pertinent logic/msg flow.
It is pretty basic stuff, and since it works in so many other instances
I'm rather confused as to where to investigate next.



Further update: Console log shows some firefox-internal xml errors - anything else is at the warning level (ff not paying attention to the manifest version number, or mis-processing the manifest) or a ff error [e.g., it complains about "browser-style" missing, but its there in page_action as it is supposed to be; then it complains about background.persistent but that is not there and does not apply to FF anyway...] None of this is material as the following seems to be the crux of the issue:



Upon further testing:

Extension loads and runs in FF47-FF55 on all platforms. Appears to not finish loading in FF56+ in Windows, but loads and runs as expected in FF47-FF64 on Linux.



The extension gui does [eventually] load in Win10/FF56 (i7-7700/3.6), but takes (wait for it) over 12 minutes for FF to load it (which makes it appear broken -- it takes 1/2 sec or less in Linux [ on an amd X4 860K], or 40 secs +/- in Win7 (i7-6700/3.4). Part of this is that there is something really wrong with the FF ipc mechanism used as a foundation layer for messaging between a tab and an extension page -->> it takes 14 secs for a round trip msg between the GUI->daemon->content-script->library, library->content_script->daemon->GUI (six hops total)
in win10/FF but it only takes millisecs in linux.



It appears that something radically changed between FF55 and FF56+ on Window$64bit platforms. Does anyone have a clue as to the difference, or a work-around using something other than the port ipc mechanism?
Thanks










share|improve this question

























  • Without seeing the code, it is difficult to guess. Did it work on FF50-64? or it stopped working after FF49?

    – erosman
    Nov 15 '18 at 6:00











  • I just went thru the various versions - it broke at FF56, it worked at FF55.

    – Chrys G
    Nov 15 '18 at 6:39











  • Sorry about this, but S.O. would not let me save the code, nor indent it to properly show it (as opposed to S.O.'s 'rules') this.connect = function() { var fireflyURL; fireflyURL = chrome.runtime.getURL(this.sdk.path); this.sdk.wdw = chrome.windows.create( {"url" : fireflyURL+"?portname="+this.pathname + ";parent="+this.parent.pathname, "width" : 980, "height" : 720, "type" : "panel" } );

    – Chrys G
    Nov 15 '18 at 7:16








  • 1





    Please add the code to your original post.

    – erosman
    Nov 15 '18 at 9:49











  • As is the general recommendation, you should look into the JavaScript console looking for reported errors? See developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/… if you're unfamiliar with the process. Also, thanks for adding the code, but could you highlight what exactly isn't working functionality-wise?

    – Xan
    Nov 15 '18 at 16:17
















0















I have a Chrome-based extension which works unfailingly in Chrome 26 through Chrome 70. It continues to work exactly as it does in Chrome in Firefox 47, 48, 49, but is now broken in FF/DevEdition 64.



I have no clue where to begin to look at what incompatibility FF later versions introduced/broke basic functions that worked in 47,48,49? Any pointers will be appreciated (even a link to archived versions in between so that I can grab a spare 'puter and find the exact version where it fails).



update: this is the daemon (background pg) code which opens the GUI interface
(excerpted):



    var fireflyID = 0;
/* ... */
// msgpath 'class' [creates a bridge between the SDK (the GUI)
// and the tab it monitor/analyses/debugs ...
var msgpath = function(pathid, pathname, tabID, url, opener, reply) {
/* ... */
this.pathname = pathname;
this.sdk.path = url;
this.tab.tabID = tabID;
this.tab.port = chrome.tabs.connect(tabID);
this.tab.port.onMessage.addListener(handleSCRMsg);
/* ... */
this.connect = function() { //opening handshake with contentscr
this.tab.port.postMessage( {"msgtype":"connect" /* ... */};
};
this.accept = function() { //handshake accepted, open the sdk...
var fireflyURL;
fireflyURL = chrome.runtime.getURL(this.sdk.path);

// this works in Chrome26-Chrome70 (latest version)
// and Firefox 47-55, it opens the panel in FF56+,
// applies the title, but never displays the content?
// and yes .getURL() does add the right 'protocol' to the url

this.sdk.wdw = chrome.windows.create( {
"url" : fireflyURL +
"?portname=" + this.pathname + ";opener=",
"width" : 980,
"height" : 720,
"type" : "panel"
});
};
/* ... */
};
/* ... */
// msg from content-script...
var handeSCRMsg = function(msg) {
var mpath = null;

if (msg.msgpath) {
mpath = msgpaths[msg.msgpath];
/* ... */ // content scr accepts connection
if (msg.msgtype == "accept")
mpath.accept(); // msgpath object 'class' from above
/* ... */ // go open the sdk and splice the port connections
}
};

var handleCTRLMsg = function(msg) {
/* ... */
if (msg.msgtype == "open") {
pathid = fireflyID++;
pathname = "firefly"+pathid;
mpath = new msgpath(pathid, pathname, msg.tabID,
msg.path, msg.parent, msg.reply);
mpath.connect();
};

// wake up on pageAction (extension icon click)
chrome.pageAction.onClicked.addListener( function(tab) {
/* ... */
msg.tabID = tab.id;
msg.path = "sdkfirefly.html";
handleCTRLMsg(msg);
};
// content scr posts msg to daemon to tell daemon
// that dflibg dataflow library is in application
// 'tab' and it is ok to enable pageAction/icon
chrome.runtime.onMessage.addListener ( function (msg, sender) {
/* ... */
tab = sender.tab;
if (msg.msgtype == "activate")
chrome.pageAction.show(tab.id);
}


and that shows the pertinent logic/msg flow.
It is pretty basic stuff, and since it works in so many other instances
I'm rather confused as to where to investigate next.



Further update: Console log shows some firefox-internal xml errors - anything else is at the warning level (ff not paying attention to the manifest version number, or mis-processing the manifest) or a ff error [e.g., it complains about "browser-style" missing, but its there in page_action as it is supposed to be; then it complains about background.persistent but that is not there and does not apply to FF anyway...] None of this is material as the following seems to be the crux of the issue:



Upon further testing:

Extension loads and runs in FF47-FF55 on all platforms. Appears to not finish loading in FF56+ in Windows, but loads and runs as expected in FF47-FF64 on Linux.



The extension gui does [eventually] load in Win10/FF56 (i7-7700/3.6), but takes (wait for it) over 12 minutes for FF to load it (which makes it appear broken -- it takes 1/2 sec or less in Linux [ on an amd X4 860K], or 40 secs +/- in Win7 (i7-6700/3.4). Part of this is that there is something really wrong with the FF ipc mechanism used as a foundation layer for messaging between a tab and an extension page -->> it takes 14 secs for a round trip msg between the GUI->daemon->content-script->library, library->content_script->daemon->GUI (six hops total)
in win10/FF but it only takes millisecs in linux.



It appears that something radically changed between FF55 and FF56+ on Window$64bit platforms. Does anyone have a clue as to the difference, or a work-around using something other than the port ipc mechanism?
Thanks










share|improve this question

























  • Without seeing the code, it is difficult to guess. Did it work on FF50-64? or it stopped working after FF49?

    – erosman
    Nov 15 '18 at 6:00











  • I just went thru the various versions - it broke at FF56, it worked at FF55.

    – Chrys G
    Nov 15 '18 at 6:39











  • Sorry about this, but S.O. would not let me save the code, nor indent it to properly show it (as opposed to S.O.'s 'rules') this.connect = function() { var fireflyURL; fireflyURL = chrome.runtime.getURL(this.sdk.path); this.sdk.wdw = chrome.windows.create( {"url" : fireflyURL+"?portname="+this.pathname + ";parent="+this.parent.pathname, "width" : 980, "height" : 720, "type" : "panel" } );

    – Chrys G
    Nov 15 '18 at 7:16








  • 1





    Please add the code to your original post.

    – erosman
    Nov 15 '18 at 9:49











  • As is the general recommendation, you should look into the JavaScript console looking for reported errors? See developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/… if you're unfamiliar with the process. Also, thanks for adding the code, but could you highlight what exactly isn't working functionality-wise?

    – Xan
    Nov 15 '18 at 16:17














0












0








0








I have a Chrome-based extension which works unfailingly in Chrome 26 through Chrome 70. It continues to work exactly as it does in Chrome in Firefox 47, 48, 49, but is now broken in FF/DevEdition 64.



I have no clue where to begin to look at what incompatibility FF later versions introduced/broke basic functions that worked in 47,48,49? Any pointers will be appreciated (even a link to archived versions in between so that I can grab a spare 'puter and find the exact version where it fails).



update: this is the daemon (background pg) code which opens the GUI interface
(excerpted):



    var fireflyID = 0;
/* ... */
// msgpath 'class' [creates a bridge between the SDK (the GUI)
// and the tab it monitor/analyses/debugs ...
var msgpath = function(pathid, pathname, tabID, url, opener, reply) {
/* ... */
this.pathname = pathname;
this.sdk.path = url;
this.tab.tabID = tabID;
this.tab.port = chrome.tabs.connect(tabID);
this.tab.port.onMessage.addListener(handleSCRMsg);
/* ... */
this.connect = function() { //opening handshake with contentscr
this.tab.port.postMessage( {"msgtype":"connect" /* ... */};
};
this.accept = function() { //handshake accepted, open the sdk...
var fireflyURL;
fireflyURL = chrome.runtime.getURL(this.sdk.path);

// this works in Chrome26-Chrome70 (latest version)
// and Firefox 47-55, it opens the panel in FF56+,
// applies the title, but never displays the content?
// and yes .getURL() does add the right 'protocol' to the url

this.sdk.wdw = chrome.windows.create( {
"url" : fireflyURL +
"?portname=" + this.pathname + ";opener=",
"width" : 980,
"height" : 720,
"type" : "panel"
});
};
/* ... */
};
/* ... */
// msg from content-script...
var handeSCRMsg = function(msg) {
var mpath = null;

if (msg.msgpath) {
mpath = msgpaths[msg.msgpath];
/* ... */ // content scr accepts connection
if (msg.msgtype == "accept")
mpath.accept(); // msgpath object 'class' from above
/* ... */ // go open the sdk and splice the port connections
}
};

var handleCTRLMsg = function(msg) {
/* ... */
if (msg.msgtype == "open") {
pathid = fireflyID++;
pathname = "firefly"+pathid;
mpath = new msgpath(pathid, pathname, msg.tabID,
msg.path, msg.parent, msg.reply);
mpath.connect();
};

// wake up on pageAction (extension icon click)
chrome.pageAction.onClicked.addListener( function(tab) {
/* ... */
msg.tabID = tab.id;
msg.path = "sdkfirefly.html";
handleCTRLMsg(msg);
};
// content scr posts msg to daemon to tell daemon
// that dflibg dataflow library is in application
// 'tab' and it is ok to enable pageAction/icon
chrome.runtime.onMessage.addListener ( function (msg, sender) {
/* ... */
tab = sender.tab;
if (msg.msgtype == "activate")
chrome.pageAction.show(tab.id);
}


and that shows the pertinent logic/msg flow.
It is pretty basic stuff, and since it works in so many other instances
I'm rather confused as to where to investigate next.



Further update: Console log shows some firefox-internal xml errors - anything else is at the warning level (ff not paying attention to the manifest version number, or mis-processing the manifest) or a ff error [e.g., it complains about "browser-style" missing, but its there in page_action as it is supposed to be; then it complains about background.persistent but that is not there and does not apply to FF anyway...] None of this is material as the following seems to be the crux of the issue:



Upon further testing:

Extension loads and runs in FF47-FF55 on all platforms. Appears to not finish loading in FF56+ in Windows, but loads and runs as expected in FF47-FF64 on Linux.



The extension gui does [eventually] load in Win10/FF56 (i7-7700/3.6), but takes (wait for it) over 12 minutes for FF to load it (which makes it appear broken -- it takes 1/2 sec or less in Linux [ on an amd X4 860K], or 40 secs +/- in Win7 (i7-6700/3.4). Part of this is that there is something really wrong with the FF ipc mechanism used as a foundation layer for messaging between a tab and an extension page -->> it takes 14 secs for a round trip msg between the GUI->daemon->content-script->library, library->content_script->daemon->GUI (six hops total)
in win10/FF but it only takes millisecs in linux.



It appears that something radically changed between FF55 and FF56+ on Window$64bit platforms. Does anyone have a clue as to the difference, or a work-around using something other than the port ipc mechanism?
Thanks










share|improve this question
















I have a Chrome-based extension which works unfailingly in Chrome 26 through Chrome 70. It continues to work exactly as it does in Chrome in Firefox 47, 48, 49, but is now broken in FF/DevEdition 64.



I have no clue where to begin to look at what incompatibility FF later versions introduced/broke basic functions that worked in 47,48,49? Any pointers will be appreciated (even a link to archived versions in between so that I can grab a spare 'puter and find the exact version where it fails).



update: this is the daemon (background pg) code which opens the GUI interface
(excerpted):



    var fireflyID = 0;
/* ... */
// msgpath 'class' [creates a bridge between the SDK (the GUI)
// and the tab it monitor/analyses/debugs ...
var msgpath = function(pathid, pathname, tabID, url, opener, reply) {
/* ... */
this.pathname = pathname;
this.sdk.path = url;
this.tab.tabID = tabID;
this.tab.port = chrome.tabs.connect(tabID);
this.tab.port.onMessage.addListener(handleSCRMsg);
/* ... */
this.connect = function() { //opening handshake with contentscr
this.tab.port.postMessage( {"msgtype":"connect" /* ... */};
};
this.accept = function() { //handshake accepted, open the sdk...
var fireflyURL;
fireflyURL = chrome.runtime.getURL(this.sdk.path);

// this works in Chrome26-Chrome70 (latest version)
// and Firefox 47-55, it opens the panel in FF56+,
// applies the title, but never displays the content?
// and yes .getURL() does add the right 'protocol' to the url

this.sdk.wdw = chrome.windows.create( {
"url" : fireflyURL +
"?portname=" + this.pathname + ";opener=",
"width" : 980,
"height" : 720,
"type" : "panel"
});
};
/* ... */
};
/* ... */
// msg from content-script...
var handeSCRMsg = function(msg) {
var mpath = null;

if (msg.msgpath) {
mpath = msgpaths[msg.msgpath];
/* ... */ // content scr accepts connection
if (msg.msgtype == "accept")
mpath.accept(); // msgpath object 'class' from above
/* ... */ // go open the sdk and splice the port connections
}
};

var handleCTRLMsg = function(msg) {
/* ... */
if (msg.msgtype == "open") {
pathid = fireflyID++;
pathname = "firefly"+pathid;
mpath = new msgpath(pathid, pathname, msg.tabID,
msg.path, msg.parent, msg.reply);
mpath.connect();
};

// wake up on pageAction (extension icon click)
chrome.pageAction.onClicked.addListener( function(tab) {
/* ... */
msg.tabID = tab.id;
msg.path = "sdkfirefly.html";
handleCTRLMsg(msg);
};
// content scr posts msg to daemon to tell daemon
// that dflibg dataflow library is in application
// 'tab' and it is ok to enable pageAction/icon
chrome.runtime.onMessage.addListener ( function (msg, sender) {
/* ... */
tab = sender.tab;
if (msg.msgtype == "activate")
chrome.pageAction.show(tab.id);
}


and that shows the pertinent logic/msg flow.
It is pretty basic stuff, and since it works in so many other instances
I'm rather confused as to where to investigate next.



Further update: Console log shows some firefox-internal xml errors - anything else is at the warning level (ff not paying attention to the manifest version number, or mis-processing the manifest) or a ff error [e.g., it complains about "browser-style" missing, but its there in page_action as it is supposed to be; then it complains about background.persistent but that is not there and does not apply to FF anyway...] None of this is material as the following seems to be the crux of the issue:



Upon further testing:

Extension loads and runs in FF47-FF55 on all platforms. Appears to not finish loading in FF56+ in Windows, but loads and runs as expected in FF47-FF64 on Linux.



The extension gui does [eventually] load in Win10/FF56 (i7-7700/3.6), but takes (wait for it) over 12 minutes for FF to load it (which makes it appear broken -- it takes 1/2 sec or less in Linux [ on an amd X4 860K], or 40 secs +/- in Win7 (i7-6700/3.4). Part of this is that there is something really wrong with the FF ipc mechanism used as a foundation layer for messaging between a tab and an extension page -->> it takes 14 secs for a round trip msg between the GUI->daemon->content-script->library, library->content_script->daemon->GUI (six hops total)
in win10/FF but it only takes millisecs in linux.



It appears that something radically changed between FF55 and FF56+ on Window$64bit platforms. Does anyone have a clue as to the difference, or a work-around using something other than the port ipc mechanism?
Thanks







javascript firefox-webextensions






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 16 '18 at 6:09







Chrys G

















asked Nov 15 '18 at 5:38









Chrys GChrys G

65




65













  • Without seeing the code, it is difficult to guess. Did it work on FF50-64? or it stopped working after FF49?

    – erosman
    Nov 15 '18 at 6:00











  • I just went thru the various versions - it broke at FF56, it worked at FF55.

    – Chrys G
    Nov 15 '18 at 6:39











  • Sorry about this, but S.O. would not let me save the code, nor indent it to properly show it (as opposed to S.O.'s 'rules') this.connect = function() { var fireflyURL; fireflyURL = chrome.runtime.getURL(this.sdk.path); this.sdk.wdw = chrome.windows.create( {"url" : fireflyURL+"?portname="+this.pathname + ";parent="+this.parent.pathname, "width" : 980, "height" : 720, "type" : "panel" } );

    – Chrys G
    Nov 15 '18 at 7:16








  • 1





    Please add the code to your original post.

    – erosman
    Nov 15 '18 at 9:49











  • As is the general recommendation, you should look into the JavaScript console looking for reported errors? See developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/… if you're unfamiliar with the process. Also, thanks for adding the code, but could you highlight what exactly isn't working functionality-wise?

    – Xan
    Nov 15 '18 at 16:17



















  • Without seeing the code, it is difficult to guess. Did it work on FF50-64? or it stopped working after FF49?

    – erosman
    Nov 15 '18 at 6:00











  • I just went thru the various versions - it broke at FF56, it worked at FF55.

    – Chrys G
    Nov 15 '18 at 6:39











  • Sorry about this, but S.O. would not let me save the code, nor indent it to properly show it (as opposed to S.O.'s 'rules') this.connect = function() { var fireflyURL; fireflyURL = chrome.runtime.getURL(this.sdk.path); this.sdk.wdw = chrome.windows.create( {"url" : fireflyURL+"?portname="+this.pathname + ";parent="+this.parent.pathname, "width" : 980, "height" : 720, "type" : "panel" } );

    – Chrys G
    Nov 15 '18 at 7:16








  • 1





    Please add the code to your original post.

    – erosman
    Nov 15 '18 at 9:49











  • As is the general recommendation, you should look into the JavaScript console looking for reported errors? See developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/… if you're unfamiliar with the process. Also, thanks for adding the code, but could you highlight what exactly isn't working functionality-wise?

    – Xan
    Nov 15 '18 at 16:17

















Without seeing the code, it is difficult to guess. Did it work on FF50-64? or it stopped working after FF49?

– erosman
Nov 15 '18 at 6:00





Without seeing the code, it is difficult to guess. Did it work on FF50-64? or it stopped working after FF49?

– erosman
Nov 15 '18 at 6:00













I just went thru the various versions - it broke at FF56, it worked at FF55.

– Chrys G
Nov 15 '18 at 6:39





I just went thru the various versions - it broke at FF56, it worked at FF55.

– Chrys G
Nov 15 '18 at 6:39













Sorry about this, but S.O. would not let me save the code, nor indent it to properly show it (as opposed to S.O.'s 'rules') this.connect = function() { var fireflyURL; fireflyURL = chrome.runtime.getURL(this.sdk.path); this.sdk.wdw = chrome.windows.create( {"url" : fireflyURL+"?portname="+this.pathname + ";parent="+this.parent.pathname, "width" : 980, "height" : 720, "type" : "panel" } );

– Chrys G
Nov 15 '18 at 7:16







Sorry about this, but S.O. would not let me save the code, nor indent it to properly show it (as opposed to S.O.'s 'rules') this.connect = function() { var fireflyURL; fireflyURL = chrome.runtime.getURL(this.sdk.path); this.sdk.wdw = chrome.windows.create( {"url" : fireflyURL+"?portname="+this.pathname + ";parent="+this.parent.pathname, "width" : 980, "height" : 720, "type" : "panel" } );

– Chrys G
Nov 15 '18 at 7:16






1




1





Please add the code to your original post.

– erosman
Nov 15 '18 at 9:49





Please add the code to your original post.

– erosman
Nov 15 '18 at 9:49













As is the general recommendation, you should look into the JavaScript console looking for reported errors? See developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/… if you're unfamiliar with the process. Also, thanks for adding the code, but could you highlight what exactly isn't working functionality-wise?

– Xan
Nov 15 '18 at 16:17





As is the general recommendation, you should look into the JavaScript console looking for reported errors? See developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/… if you're unfamiliar with the process. Also, thanks for adding the code, but could you highlight what exactly isn't working functionality-wise?

– Xan
Nov 15 '18 at 16:17












1 Answer
1






active

oldest

votes


















0














After extensive testing, the problem appears to be how FF56 and newer interface with Windows7/10 to access the components of the extension - IFF the extension was loaded from a NAS/Samba or NFS mounted share. Why this has any effect on ipc as well is a complete mystery.



The solution is to copy the extension from the NAS appliance or Samba/NFS mounted share
to a physically local hard drive and temp-load the extension from there.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53313068%2frecent-firefox-breaks-existing-converted-chrome-extension%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    After extensive testing, the problem appears to be how FF56 and newer interface with Windows7/10 to access the components of the extension - IFF the extension was loaded from a NAS/Samba or NFS mounted share. Why this has any effect on ipc as well is a complete mystery.



    The solution is to copy the extension from the NAS appliance or Samba/NFS mounted share
    to a physically local hard drive and temp-load the extension from there.






    share|improve this answer




























      0














      After extensive testing, the problem appears to be how FF56 and newer interface with Windows7/10 to access the components of the extension - IFF the extension was loaded from a NAS/Samba or NFS mounted share. Why this has any effect on ipc as well is a complete mystery.



      The solution is to copy the extension from the NAS appliance or Samba/NFS mounted share
      to a physically local hard drive and temp-load the extension from there.






      share|improve this answer


























        0












        0








        0







        After extensive testing, the problem appears to be how FF56 and newer interface with Windows7/10 to access the components of the extension - IFF the extension was loaded from a NAS/Samba or NFS mounted share. Why this has any effect on ipc as well is a complete mystery.



        The solution is to copy the extension from the NAS appliance or Samba/NFS mounted share
        to a physically local hard drive and temp-load the extension from there.






        share|improve this answer













        After extensive testing, the problem appears to be how FF56 and newer interface with Windows7/10 to access the components of the extension - IFF the extension was loaded from a NAS/Samba or NFS mounted share. Why this has any effect on ipc as well is a complete mystery.



        The solution is to copy the extension from the NAS appliance or Samba/NFS mounted share
        to a physically local hard drive and temp-load the extension from there.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 2 '18 at 16:53









        Chrys GChrys G

        65




        65
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53313068%2frecent-firefox-breaks-existing-converted-chrome-extension%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Florida Star v. B. J. F.

            Error while running script in elastic search , gateway timeout

            Adding quotations to stringified JSON object values