Firefox's default run_at value of document_idle means the content script is loaded only after a page has loaded all assets and processed all js resources.
This is causing the popup to fail because it requires information from the content_script which is not present most of the time especially on sites that may have longer processing. However the behaviour exibited on really simple sites too like laravel.com
Solution was to set run_at to document_end causing the content_script to be injected when only assets have been loaded for a webpage but before they are processed.
Firefox's default run_at value of document_idle means the content script is loaded only after a page has loaded all assets and processed all js resources. This is causing the popup to fail because it requires information from the content_script which is not present most of the time especially on sites that may have longer processing. However the behaviour exibited on really simple sites too like laravel.com
Solution was to set run_at to document_end causing the content_script to be injected when only assets have been loaded for a webpage but before they are processed.