diff --git a/.env b/.env
index fd3eeb19..14bc552c 100644
--- a/.env
+++ b/.env
@@ -1,2 +1,3 @@
-VITE_API_URL=https://api.revolt.chat
+# VITE_API_URL=https://api.revolt.chat
+VITE_API_URL=https://revolt.chat/api
VITE_THEMES_URL=https://themes.revolt.chat
diff --git a/external/lang b/external/lang
index e0244eb1..1c99677d 160000
--- a/external/lang
+++ b/external/lang
@@ -1 +1 @@
-Subproject commit e0244eb1c416a01f3c652ab0a2e99832df9b53c4
+Subproject commit 1c99677d4f9319d7b380d525a4ca25e57a3d8730
diff --git a/external/revolt.js b/external/revolt.js
index 29df60f7..1e450431 160000
--- a/external/revolt.js
+++ b/external/revolt.js
@@ -1 +1 @@
-Subproject commit 29df60f782652111d1dfd5480a8e84e73643fdc8
+Subproject commit 1e45043151550187f0b2cb46cab4e8c5f4b087e0
diff --git a/src/components/common/messaging/Message.tsx b/src/components/common/messaging/Message.tsx
index e4fec697..65bae756 100644
--- a/src/components/common/messaging/Message.tsx
+++ b/src/components/common/messaging/Message.tsx
@@ -33,7 +33,7 @@ import InviteList from "./embed/EmbedInvite";
interface Props {
attachContext?: boolean;
queued?: QueuedMessage;
- message: MessageObject;
+ message: MessageObject & { webhook: { name: string; avatar?: string } };
highlight?: boolean;
contrast?: boolean;
content?: Children;
@@ -138,6 +138,11 @@ const Message = observer(
{
status?: boolean;
+ override?: string;
voice?: VoiceStatus;
masquerade?: API.Masquerade;
showServerIdentity?: boolean;
@@ -70,12 +71,15 @@ export default observer(
showServerIdentity,
masquerade,
innerRef,
+ override,
...svgProps
} = props;
let { url } = props;
if (masquerade?.avatar) {
url = client.proxyFile(masquerade.avatar);
+ } else if (override) {
+ url = override;
} else if (!url) {
let override;
if (target && showServerIdentity) {
diff --git a/src/components/common/user/UserShort.tsx b/src/components/common/user/UserShort.tsx
index bb2e7a41..bae06c44 100644
--- a/src/components/common/user/UserShort.tsx
+++ b/src/components/common/user/UserShort.tsx
@@ -39,6 +39,7 @@ type UsernameProps = Omit<
masquerade?: API.Masquerade;
showServerIdentity?: boolean | "both";
+ override?: string;
innerRef?: Ref;
};
@@ -64,13 +65,16 @@ export const Username = observer(
masquerade,
showServerIdentity,
innerRef,
+ override,
...otherProps
}: UsernameProps) => {
let username = user?.username;
let color = masquerade?.colour;
let timed_out: Date | undefined;
- if (user && showServerIdentity) {
+ if (override) {
+ username = override;
+ } else if (user && showServerIdentity) {
const { server } = useParams<{ server?: string }>();
if (server) {
const client = useClient();
@@ -146,6 +150,17 @@ export const Username = observer(
);
}
+ if (override) {
+ return (
+ <>
+ {el}
+
+
+
+ >
+ );
+ }
+
return el;
},
);