mirror of
https://github.com/notion-enhancer/notion-enhancer.git
synced 2025-04-07 05:59:02 +00:00
attempt 3 at #66
This commit is contained in:
parent
7a6411ad23
commit
9ef6317529
@ -55,15 +55,14 @@ module.exports = (store, __exports) => {
|
|||||||
electron.session
|
electron.session
|
||||||
.fromPartition('persist:notion')
|
.fromPartition('persist:notion')
|
||||||
.webRequest.onHeadersReceived((details, callback) => {
|
.webRequest.onHeadersReceived((details, callback) => {
|
||||||
|
alert(1);
|
||||||
callback({
|
callback({
|
||||||
responseHeaders: Object.assign(
|
responseHeaders: {
|
||||||
{
|
...details.responseHeaders,
|
||||||
'Content-Security-Policy': [
|
'Content-Security-Policy': [
|
||||||
"script-src 'self' 'unsafe-inline' 'unsafe-eval' enhancement: https://gist.github.com https://apis.google.com https://api.amplitude.com https://widget.intercom.io https://js.intercomcdn.com https://logs-01.loggly.com https://cdn.segment.com https://analytics.pgncs.notion.so https://checkout.stripe.com https://embed.typeform.com https://admin.typeform.com https://platform.twitter.com https://cdn.syndication.twimg.com; connect-src 'self' https://msgstore.www.notion.so wss://msgstore.www.notion.so https://notion-emojis.s3-us-west-2.amazonaws.com https://s3-us-west-2.amazonaws.com https://s3.us-west-2.amazonaws.com https://notion-production-snapshots-2.s3.us-west-2.amazonaws.com https: http: https://api.amplitude.com https://api.embed.ly https://js.intercomcdn.com https://api-iam.intercom.io wss://nexus-websocket-a.intercom.io https://logs-01.loggly.com https://api.segment.io https://api.pgncs.notion.so https://checkout.stripe.com https://cdn.contentful.com https://preview.contentful.com https://images.ctfassets.net https://api.unsplash.com https://boards-api.greenhouse.io; font-src 'self' data: https://cdnjs.cloudflare.com https://js.intercomcdn.com; img-src 'self' data: blob: https: https://platform.twitter.com https://syndication.twitter.com https://pbs.twimg.com https://ton.twimg.com; style-src 'self' 'unsafe-inline' enhancement: https://cdnjs.cloudflare.com https://github.githubassets.com https://platform.twitter.com https://ton.twimg.com; frame-src https: http:; media-src https: http:",
|
"script-src 'self' 'unsafe-inline' 'unsafe-eval' enhancement: https://gist.github.com https://apis.google.com https://api.amplitude.com https://widget.intercom.io https://js.intercomcdn.com https://logs-01.loggly.com https://cdn.segment.com https://analytics.pgncs.notion.so https://checkout.stripe.com https://embed.typeform.com https://admin.typeform.com https://platform.twitter.com https://cdn.syndication.twimg.com; connect-src 'self' https://msgstore.www.notion.so wss://msgstore.www.notion.so https://notion-emojis.s3-us-west-2.amazonaws.com https://s3-us-west-2.amazonaws.com https://s3.us-west-2.amazonaws.com https://notion-production-snapshots-2.s3.us-west-2.amazonaws.com https: http: https://api.amplitude.com https://api.embed.ly https://js.intercomcdn.com https://api-iam.intercom.io wss://nexus-websocket-a.intercom.io https://logs-01.loggly.com https://api.segment.io https://api.pgncs.notion.so https://checkout.stripe.com https://cdn.contentful.com https://preview.contentful.com https://images.ctfassets.net https://api.unsplash.com https://boards-api.greenhouse.io; font-src 'self' data: https://cdnjs.cloudflare.com https://js.intercomcdn.com; img-src 'self' data: blob: https: https://platform.twitter.com https://syndication.twitter.com https://pbs.twimg.com https://ton.twimg.com; style-src 'self' 'unsafe-inline' enhancement: https://cdnjs.cloudflare.com https://github.githubassets.com https://platform.twitter.com https://ton.twimg.com; frame-src https: http:; media-src https: http:",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
details.responseHeaders
|
|
||||||
),
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
window.once('ready-to-show', function () {
|
window.once('ready-to-show', function () {
|
||||||
|
@ -19,6 +19,13 @@ const url = require('url'),
|
|||||||
React = require(`${__notion}/app/node_modules/react/index.js`),
|
React = require(`${__notion}/app/node_modules/react/index.js`),
|
||||||
ReactDOM = require(`${__notion}/app/node_modules/react-dom/index.js`);
|
ReactDOM = require(`${__notion}/app/node_modules/react-dom/index.js`);
|
||||||
|
|
||||||
|
const insertCSP = `
|
||||||
|
const csp = document.createElement('meta');
|
||||||
|
csp.httpEquiv = 'Content-Security-Policy';
|
||||||
|
csp.content = "script-src 'self' 'unsafe-inline' 'unsafe-eval' enhancement: https://gist.github.com https://apis.google.com https://api.amplitude.com https://widget.intercom.io https://js.intercomcdn.com https://logs-01.loggly.com https://cdn.segment.com https://analytics.pgncs.notion.so https://checkout.stripe.com https://embed.typeform.com https://admin.typeform.com https://platform.twitter.com https://cdn.syndication.twimg.com; connect-src 'self' https://msgstore.www.notion.so wss://msgstore.www.notion.so https://notion-emojis.s3-us-west-2.amazonaws.com https://s3-us-west-2.amazonaws.com https://s3.us-west-2.amazonaws.com https://notion-production-snapshots-2.s3.us-west-2.amazonaws.com https: http: https://api.amplitude.com https://api.embed.ly https://js.intercomcdn.com https://api-iam.intercom.io wss://nexus-websocket-a.intercom.io https://logs-01.loggly.com https://api.segment.io https://api.pgncs.notion.so https://checkout.stripe.com https://cdn.contentful.com https://preview.contentful.com https://images.ctfassets.net https://api.unsplash.com https://boards-api.greenhouse.io; font-src 'self' data: https://cdnjs.cloudflare.com https://js.intercomcdn.com; img-src 'self' data: blob: https: https://platform.twitter.com https://syndication.twitter.com https://pbs.twimg.com https://ton.twimg.com; style-src 'self' 'unsafe-inline' enhancement: https://cdnjs.cloudflare.com https://github.githubassets.com https://platform.twitter.com https://ton.twimg.com; frame-src https: http:; media-src https: http:";
|
||||||
|
document.head.appendChild(csp);
|
||||||
|
`;
|
||||||
|
|
||||||
module.exports = (store, __exports) => {
|
module.exports = (store, __exports) => {
|
||||||
if (store().tabs) {
|
if (store().tabs) {
|
||||||
let $currentTab;
|
let $currentTab;
|
||||||
@ -53,7 +60,7 @@ module.exports = (store, __exports) => {
|
|||||||
}, 50);
|
}, 50);
|
||||||
};
|
};
|
||||||
window['tab'] = (id) => {
|
window['tab'] = (id) => {
|
||||||
if (!id) return;
|
if (!id && id !== 0) return;
|
||||||
this.setState({ tabs: [...new Set([...this.state.tabs, id])] });
|
this.setState({ tabs: [...new Set([...this.state.tabs, id])] });
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.addListeners();
|
this.addListeners();
|
||||||
@ -175,6 +182,7 @@ module.exports = (store, __exports) => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
$notion.addEventListener('dom-ready', () => {
|
$notion.addEventListener('dom-ready', () => {
|
||||||
|
$notion.executeJavaScript(insertCSP);
|
||||||
$notion
|
$notion
|
||||||
.getWebContents()
|
.getWebContents()
|
||||||
.addListener('found-in-page', (event, result) => {
|
.addListener('found-in-page', (event, result) => {
|
||||||
@ -191,6 +199,12 @@ module.exports = (store, __exports) => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
notionIpc.proxyAllMainToNotion($notion);
|
notionIpc.proxyAllMainToNotion($notion);
|
||||||
|
if ($notion !== $currentTab) return;
|
||||||
|
if (document.activeElement instanceof HTMLElement) {
|
||||||
|
document.activeElement.blur();
|
||||||
|
}
|
||||||
|
$notion.blur();
|
||||||
|
$notion.focus();
|
||||||
});
|
});
|
||||||
notionIpc.receiveIndexFromNotion.addListener(
|
notionIpc.receiveIndexFromNotion.addListener(
|
||||||
$notion,
|
$notion,
|
||||||
@ -228,14 +242,6 @@ module.exports = (store, __exports) => {
|
|||||||
this.handleReload();
|
this.handleReload();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$notion.addEventListener('dom-ready', function () {
|
|
||||||
if ($notion !== $currentTab) return;
|
|
||||||
if (document.activeElement instanceof HTMLElement) {
|
|
||||||
document.activeElement.blur();
|
|
||||||
}
|
|
||||||
$notion.blur();
|
|
||||||
$notion.focus();
|
|
||||||
});
|
|
||||||
electronWindow.addListener('app-command', (e, cmd) => {
|
electronWindow.addListener('app-command', (e, cmd) => {
|
||||||
const webContents = $notion.getWebContents();
|
const webContents = $notion.getWebContents();
|
||||||
if (cmd === 'browser-backward' && webContents.canGoBack()) {
|
if (cmd === 'browser-backward' && webContents.canGoBack()) {
|
||||||
@ -524,6 +530,7 @@ module.exports = (store, __exports) => {
|
|||||||
React.createElement(Index, { notionUrl: notionUrl }),
|
React.createElement(Index, { notionUrl: notionUrl }),
|
||||||
rootElm
|
rootElm
|
||||||
);
|
);
|
||||||
|
tab(0);
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
const __start = window['__start'];
|
const __start = window['__start'];
|
||||||
@ -548,6 +555,10 @@ module.exports = (store, __exports) => {
|
|||||||
}px; left: ${event.args[0]};`
|
}px; left: ${event.args[0]};`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.getElementById('notion').addEventListener('dom-ready', () => {
|
||||||
|
document.getElementById('notion').executeJavaScript(insertCSP);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user