From a7844b86e3f8d5304b20bffbe1b0ba83c6cac2f4 Mon Sep 17 00:00:00 2001
From: OTKUSteyler <90369564+OTKUSteyler@users.noreply.github.com>
Date: Fri, 2 Jan 2026 09:41:02 +0000
Subject: [PATCH] Fix background patching for chat messages component
---
.../themes/colors/patches/background.tsx | 51 ++++++++++---------
1 file changed, 28 insertions(+), 23 deletions(-)
diff --git a/src/lib/addons/themes/colors/patches/background.tsx b/src/lib/addons/themes/colors/patches/background.tsx
index ad5ada7..b678ee5 100644
--- a/src/lib/addons/themes/colors/patches/background.tsx
+++ b/src/lib/addons/themes/colors/patches/background.tsx
@@ -8,16 +8,16 @@ import chroma from "chroma-js";
import { ImageBackground, StyleSheet } from "react-native";
import { logger } from "@lib/utils/logger";
-const Messages = findByFilePathLazy("components_native/chat/Messages.tsx", true);
+const Messages = findByFilePathLazy("modules/messages/native/Messages.tsx", true);
-function ThemeBackground({ children }: { children: React.ReactNode }) {
+function ThemeBackground({ children }: { children: React.ReactNode; }) {
useObservable([colorsPref]);
if (!_colorRef.current
|| colorsPref.customBackground === "hidden"
|| !_colorRef.current.background?.url
|| _colorRef.current.background?.blur && (typeof _colorRef.current.background?.blur !== "number")
- ){
+ ) {
return children;
}
@@ -31,30 +31,35 @@ function ThemeBackground({ children }: { children: React.ReactNode }) {
}
export default function patchChatBackground() {
+ try {
const patches = [
- after("render", Messages, (_, ret) => {
- if (!_colorRef.current || !_colorRef.current.background?.url) return;
- const messagesComponent = findInReactTree(
- ret,
- x => x && "HACK_fixModalInteraction" in x.props && x?.props?.style
- );
+ after("render", Messages, (_, ret) => {
+ if (!_colorRef.current || !_colorRef.current.background?.url) return;
- if (messagesComponent) {
- const flattened = StyleSheet.flatten(messagesComponent.props.style);
- const backgroundColor = chroma(
- flattened.backgroundColor || "black"
- ).alpha(
- 1 - (_colorRef.current.background?.opacity ?? 1)
- ).hex();
+ const messagesComponent = findInReactTree(
+ ret,
+ x => x && "HACK_fixModalInteraction" in x.props && x?.props?.style
+ );
- messagesComponent.props.style = StyleSheet.flatten([
- messagesComponent.props.style,
- { backgroundColor }
- ]);
- }
+ if (messagesComponent) {
+ const flattened = StyleSheet.flatten(messagesComponent.props.style);
+ const backgroundColor = chroma(
+ flattened.backgroundColor || "black"
+ ).alpha(
+ 1 - (_colorRef.current.background?.opacity ?? 1)
+ ).hex();
- return {ret};
- })
+ messagesComponent.props.style = StyleSheet.flatten([
+ messagesComponent.props.style,
+ { backgroundColor }
+ ]);
+ }
+
+ return {ret};
+ })
];
+
return () => patches.forEach(x => x());
+ } catch (e) {
+ }
}