Earlier quoted context omitted.
Odd! Were you trying to fetch a public, CORS-enabled API? That should just work. If you were trying to make a network request for a non-CORS endpoint (eg fetch the google homepage or something), you'll need to add the domain to your permissions section. Eg: "permission": [ "storage", " https://google.com " ]
Not OP, I built an extension for a site that sent CSP headers. Because the browser extension wasn't allowed in the list of JS sources, it all borked. Not certain that's this user's issue, but that is another thing to check.
It seems the overall handling of network errors in add-ons has a lot of room for improvement.
It should be noted that chromium allows the network request regardless of the CSP. This is the correct, User-Empowering approach. Firefox’s deference to the Origin to control the code the User is attempting to run is the antithesis of what a User Agent ought to be.