fix: GIF CSP + edit history HTML rendering + unhandled rejection cleanup
CI / Build & Quality Checks (push) Successful in 10m24s

- nginx (LXC 106, live): added https://*.giphy.com to connect-src CSP —
  browser was blocking fetch() to media2.giphy.com CDN with CSP violation
- EditHistoryModal: render formatted_body as sanitized HTML (via
  html-react-parser + sanitizeCustomHtml) with linkification for plain
  text, matching how messages render in the timeline
- useAsyncCallback + ThumbnailContent + ImageContent + VideoContent +
  ClientConfigLoader: use .catch(() => undefined) instead of void to
  silence unhandled promise rejections from fire-and-forget useEffect
  calls — errors already captured in AsyncState.Error for UI display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 10:34:46 -04:00
parent aa55ba1332
commit 56f89ec939
6 changed files with 25 additions and 18 deletions
+1 -1
View File
@@ -114,7 +114,7 @@ export const useAsyncCallbackValue = <TData, TError>(
const [state, load] = useAsyncCallback<TData, TError, []>(asyncCallback);
useEffect(() => {
void load().catch(() => undefined);
load().catch(() => undefined);
}, [load]);
return [state, load];