From f5b8d2e0481b9ffe2855a2cd6840928368c77884 Mon Sep 17 00:00:00 2001 From: Adam Benhassen Date: Fri, 31 Oct 2025 14:09:24 +0100 Subject: [PATCH] fix(ui): handle escaped single-quoted strings in schema changes --- .changeset/beige-chicken-wonder.md | 5 +++++ .../src/components/target/history/errors-and-changes.tsx | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 .changeset/beige-chicken-wonder.md diff --git a/.changeset/beige-chicken-wonder.md b/.changeset/beige-chicken-wonder.md new file mode 100644 index 00000000000..31b43adee4c --- /dev/null +++ b/.changeset/beige-chicken-wonder.md @@ -0,0 +1,5 @@ +--- +'hive': patch +--- + +handle escaped single-quoted strings in schema changes diff --git a/packages/web/app/src/components/target/history/errors-and-changes.tsx b/packages/web/app/src/components/target/history/errors-and-changes.tsx index 040b012a52e..584837d12b4 100644 --- a/packages/web/app/src/components/target/history/errors-and-changes.tsx +++ b/packages/web/app/src/components/target/history/errors-and-changes.tsx @@ -31,11 +31,10 @@ import { CheckCircledIcon, InfoCircledIcon } from '@radix-ui/react-icons'; import { Link } from '@tanstack/react-router'; export function labelize(message: string) { - // Turn " into ' - // Replace '...' with - return reactStringReplace(message.replace(/"/g, "'"), /'([^']+)'/gim, (match, i) => { - return ; - }); + // Replace '...' and "..." with + return reactStringReplace(message.replace(/"/g, "'"), /'((?:[^'\\]|\\.)+?)'/g, (match, i) => ( + + )); } const severityLevelMapping = {