diff --git a/src/client/app/common/views/components/url-preview.vue b/src/client/app/common/views/components/url-preview.vue index c2dc07b411..3bae6e5078 100644 --- a/src/client/app/common/views/components/url-preview.vue +++ b/src/client/app/common/views/components/url-preview.vue @@ -45,7 +45,7 @@ export default Vue.extend({ } else if (url.hostname == 'youtu.be') { this.youtubeId = url.pathname; } else { - fetch('/url?url=' + this.url).then(res => { + fetch('/url?url=' + encodeURIComponent(this.url)).then(res => { res.json().then(info => { this.title = info.title; this.description = info.description; diff --git a/src/server/web/url-preview.ts b/src/server/web/url-preview.ts index 8a5e934b1d..041c475a45 100644 --- a/src/server/web/url-preview.ts +++ b/src/server/web/url-preview.ts @@ -16,6 +16,6 @@ function wrap(url: string): string { return url != null ? url.startsWith('https://') ? url - : `https://images.weserv.nl/?url=${url.replace(/^http:\/\//, '')}` + : `https://images.weserv.nl/?url=${encodeURIComponent(url.replace(/^http:\/\//, ''))}` : null; }