diff options
-rw-r--r-- | browser/background.js | 2 | ||||
-rw-r--r-- | src/components/monacoWin.html | 104 | ||||
-rw-r--r-- | src/plugins/messageLinkEmbeds.tsx | 2 | ||||
-rw-r--r-- | src/utils/types.ts | 2 |
4 files changed, 63 insertions, 47 deletions
diff --git a/browser/background.js b/browser/background.js index 7fc4a82..1f2d5ec 100644 --- a/browser/background.js +++ b/browser/background.js @@ -16,7 +16,7 @@ chrome.webRequest.onHeadersReceived.addListener( // In main frame requests, the CSP needs to be removed to enable fetching of custom css // as desired by the user removeFirst(responseHeaders, h => h.name.toLowerCase() === "content-security-policy"); - } else if (type === "stylesheet" && url.startsWith("https://raw.githubusercontent.com")) { + } else if (type === "stylesheet" && url.startsWith("https://raw.githubusercontent.com/")) { // Most users will load css from GitHub, but GitHub doesn't set the correct content type, // so we fix it here removeFirst(responseHeaders, h => h.name.toLowerCase() === "content-type"); diff --git a/src/components/monacoWin.html b/src/components/monacoWin.html index d9d2412..57d3214 100644 --- a/src/components/monacoWin.html +++ b/src/components/monacoWin.html @@ -1,52 +1,66 @@ -<!doctype html> +<!DOCTYPE html> <html lang="en"> + <head> + <meta charset="utf-8" /> + <title>Vencord QuickCSS Editor</title> + <link + rel="stylesheet" + href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.37.1/min/vs/editor/editor.main.min.css" + integrity="sha512-wB3xfL98hWg1bpkVYSyL0js/Jx9s7FsDg9aYO6nOMSJTgPuk/PFqxXQJKKSUjteZjeYrfgo9NFBOA1r9HwDuZw==" + crossorigin="anonymous" + referrerpolicy="no-referrer" + /> + <style> + html, + body, + #container { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + margin: 0; + padding: 0; + overflow: hidden; + } + </style> + </head> -<head> - <meta charset="utf-8"> - <title>Vencord QuickCSS Editor</title> - <link rel="stylesheet" data-name="vs/editor/editor.main" - href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.0/min/vs/editor/editor.main.min.css"> - <style> - html, - body, - #container { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - overflow: hidden; - } - </style> -</head> + <body> + <div id="container"></div> + <script + src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.37.1/min/vs/loader.min.js" + integrity="sha512-A+6SvPGkIN9Rf0mUXmW4xh7rDvALXf/f0VtOUiHlDUSPknu2kcfz1KzLpOJyL2pO+nZS13hhIjLqVgiQExLJrw==" + crossorigin="anonymous" + referrerpolicy="no-referrer" + ></script> -<body> - <div id="container"></div> - <script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.0/min/vs/loader.min.js"></script> + <script> + require.config({ + paths: { + vs: "https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.37.1/min/vs", + }, + }); - <script> - require.config({ paths: { 'vs': 'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.0/min/vs' } }); - require(["vs/editor/editor.main"], () => { - getCurrentCss().then(css => { - var editor = monaco.editor.create(document.getElementById('container'), { - value: css, - language: 'css', - theme: getTheme(), - }); - editor.onDidChangeModelContent(() => - setCss(editor.getValue()) - ); - window.addEventListener("resize", () => { - // make monaco re-layout - editor.layout(); + require(["vs/editor/editor.main"], () => { + getCurrentCss().then((css) => { + var editor = monaco.editor.create( + document.getElementById("container"), + { + value: css, + language: "css", + theme: getTheme(), + } + ); + editor.onDidChangeModelContent(() => + setCss(editor.getValue()) + ); + window.addEventListener("resize", () => { + // make monaco re-layout + editor.layout(); + }); }); }); - }); - - - </script> -</body> - + </script> + </body> </html> diff --git a/src/plugins/messageLinkEmbeds.tsx b/src/plugins/messageLinkEmbeds.tsx index e3a28a7..951835a 100644 --- a/src/plugins/messageLinkEmbeds.tsx +++ b/src/plugins/messageLinkEmbeds.tsx @@ -51,7 +51,7 @@ const SearchResultClasses = findByPropsLazy("message", "searchResult"); let AutoModEmbed: React.ComponentType<any> = () => null; const messageLinkRegex = /(?<!<)https?:\/\/(?:\w+\.)?discord(?:app)?\.com\/channels\/(\d{17,20}|@me)\/(\d{17,20})\/(\d{17,20})/g; -const tenorRegex = /https:\/\/(?:www.)?tenor\.com/; +const tenorRegex = /^https:\/\/(?:www\.)?tenor\.com\//; interface Attachment { height: number; diff --git a/src/utils/types.ts b/src/utils/types.ts index 4d71027..c1e54aa 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -108,6 +108,8 @@ export interface PluginDef { flux?: { [E in FluxEvents]?: (event: any) => void; }; + + tags?: string[]; } export enum OptionType { |