capacitor-community / capacitor-community/electron

[CSP issues] refuses to load inline styles, I have no ideia what to add anymore.

Open
#271 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
398
Forks
63
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**

I have two issues with a newly created application.

- I have created a new `react-vite` ionic project using their CLI
- Following getting started guide, I installed `@capacitor-community/electron` with `npm`
- Created a dist folder using `vite build` via `pnpm build`
- Executed `npx cap add @capacitor-community/electron`
- Electron folder was created
- Executed `npm run dev` and `npm run serve`
- Web application launches with blank project (ionic default blank template)
- Executed `npx cap open @capacitor-community/electron`
- Electron app launches correctly and renders correctly (until I click anything on the screen)

### The main issue

- If I click anywhere on the screen the application goes blank or alt-tab and come back the application goes completly blank (stops rendering the header and a hello world paragraph) and devtools disconnects. This happens even if I do not invoke `setupContentSecurityPolicy` in `index.ts`

### The Content Security Policy Issue

With respect to the CSP errors on the console I changed the `setup.ts` file to the below but the error remains

```ts
// Set a CSP up for our application based on the custom scheme
export function setupContentSecurityPolicy(customScheme: string): void {
session.defaultSession.webRequest.onHeadersReceived((details, callback) => {
callback({
responseHeaders: {
...details.responseHeaders,
'Content-Security-Policy': [
electronIsDev
? `default-src ${customScheme}://\* 'unsafe-inline' devtools://\* https://\* 'unsafe-eval' http://\* data: ; style-src 'self' 'unsafe-inline' ${customScheme}://\* https://\* http://\* ws://\*`
// : `default-src ${customScheme}://\* 'unsafe-inline' https://\* data: `,
: `default-src ${customScheme}://\* 'unsafe-inline' data: https://\* ; style-src 'self' 'unsafe-inline' ${customScheme}://\* https://\* ws://\*`

],
},
});
});
}
```

#### Screenshot of CSP errors. I do not even know what is violating the rule at this point.

![image](https://github.com/capacitor-community/electron/assets/25959244/aa022ecd-ea24-43c9-9dbc-cb0b25dd59fa)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.