mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-10-30 01:04:05 +09:00
Escape the OpenGraph image URL in link previews
Pasting a link builds the preview by interpolating the unfurled metadata into an HTML string. The image URL went into src="..." unescaped, so a page whose og:image carries a double quote closes the attribute early and everything after it becomes attributes on the preview's img element. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0186eyzivcTn6wqjEE4Wnxdt
This commit is contained in:
1 parent
ef147d17db
commit
c1ad057db8
4 files changed
+134
-4
No files matched your search
@@ -1,3 +1,5 @@
|
||||
const HTML_ESCAPES = { "&": "&", "<": "<", ">": ">", "\"": """, "'": "'" }
|
||||
|
||||
export function truncateString(string, length, omission = "…") {
|
||||
if (string.length <= length) {
|
||||
return string
|
||||
@@ -5,3 +7,7 @@ export function truncateString(string, length, omission = "…") {
|
||||
return string.slice(0, length - omission.length) + omission
|
||||
}
|
||||
}
|
||||
|
||||
export function escapeHTML(string) {
|
||||
return String(string).replace(/[&<>"']/g, character => HTML_ESCAPES[character])
|
||||
}
|
||||
Reference in new issue
Block a user