fix: errors caused by MessageResponse interface now returning GuildMemberResponse instead of UserResponse
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful

This commit is contained in:
SauceyRed 2025-08-05 03:43:59 +02:00
parent 6d5f1f0d0a
commit b1cf9df199
Signed by: sauceyred
GPG key ID: 270B096EF6E9A462
4 changed files with 20 additions and 20 deletions

View file

@ -1,6 +1,6 @@
<template> <template>
<div v-if="props.type == 'normal' || props.replyMessage" ref="messageElement" @contextmenu="showContextMenu($event, contextMenu, menuItems)" :id="props.last ? 'last-message' : undefined" <div v-if="props.type == 'normal' || props.replyMessage" ref="messageElement" @contextmenu="showContextMenu($event, contextMenu, menuItems)" :id="props.last ? 'last-message' : undefined"
class="message normal-message" :class="{ 'mentioned': (props.replyMessage || props.isMentioned) && props.message.user.uuid != props.me.uuid && props.replyMessage?.user.uuid == props.me.uuid }" :data-message-id="props.messageId" class="message normal-message" :class="{ 'mentioned': (props.replyMessage || props.isMentioned) && props.message.member.user.uuid != props.me.uuid && props.replyMessage?.member.user.uuid == props.me.uuid }" :data-message-id="props.messageId"
:editing.sync="props.editing" :replying-to.sync="props.replyingTo"> :editing.sync="props.editing" :replying-to.sync="props.replyingTo">
<div v-if="props.replyMessage" class="message-reply-svg"> <div v-if="props.replyMessage" class="message-reply-svg">
<svg <svg
@ -25,7 +25,7 @@
</svg> </svg>
</div> </div>
<MessageReply v-if="props.replyMessage" :id="props.message.uuid" <MessageReply v-if="props.replyMessage" :id="props.message.uuid"
:author="getDisplayName(props.replyMessage.user)" :author="getDisplayName(props.replyMessage.member)"
:text="props.replyMessage?.message" :text="props.replyMessage?.message"
:reply-id="props.replyMessage.uuid" max-width="reply" /> :reply-id="props.replyMessage.uuid" max-width="reply" />
<div class="left-column"> <div class="left-column">

View file

@ -1,13 +1,13 @@
<template> <template>
<div id="message-area"> <div id="message-area">
<div id="messages" ref="messagesElement"> <div id="messages" ref="messagesElement">
<Message v-for="(message, i) of messages" :username="getDisplayName(message.user)" :key="message.uuid" <Message v-for="(message, i) of messages" :username="getDisplayName(message.member.user)" :key="message.uuid"
:text="message.message" :timestamp="messageTimestamps[message.uuid]" :img="message.user.avatar" :text="message.message" :timestamp="messageTimestamps[message.uuid]" :img="message.member.user.avatar"
:format="timeFormat" :type="messagesType[message.uuid]" :format="timeFormat" :type="messagesType[message.uuid]"
:margin-bottom="(messages[i + 1] && messagesType[messages[i + 1].uuid] == 'normal') ?? false" :margin-bottom="(messages[i + 1] && messagesType[messages[i + 1].uuid] == 'normal') ?? false"
:last="i == messages.length - 1" :message-id="message.uuid" :author="message.user" :me="me" :last="i == messages.length - 1" :message-id="message.uuid" :author="message.member" :me="me"
:message="message" :is-reply="message.reply_to" :message="message" :is-reply="message.reply_to"
:author-color="`${generateIrcColor(message.user.uuid)}`" :author-color="`${generateIrcColor(message.member.uuid)}`"
:reply-message="message.reply_to ? getReplyMessage(message.reply_to) : undefined" /> :reply-message="message.reply_to ? getReplyMessage(message.reply_to) : undefined" />
</div> </div>
<div id="message-box" class="rounded-corners"> <div id="message-box" class="rounded-corners">
@ -67,33 +67,33 @@ const previousMessage = ref<MessageResponse>();
function groupMessage(message: MessageResponse, options?: { prevMessage?: MessageResponse, reverse?: boolean }) { function groupMessage(message: MessageResponse, options?: { prevMessage?: MessageResponse, reverse?: boolean }) {
messageTimestamps.value[message.uuid] = uuidToTimestamp(message.uuid); messageTimestamps.value[message.uuid] = uuidToTimestamp(message.uuid);
console.log("message:", message.message); console.log("message:", message.message);
console.log("author:", message.user.username, `(${message.user.uuid})`); console.log("author:", message.member.user.username, `(${message.member.uuid})`);
if (!previousMessage.value || previousMessage.value && message.user.uuid != previousMessage.value.user.uuid) { if (!previousMessage.value || previousMessage.value && message.member.uuid != previousMessage.value.member.uuid) {
console.log("no previous message or author is different than last messsage's"); console.log("no previous message or author is different than last messsage's");
messagesType.value[message.uuid] = "normal"; messagesType.value[message.uuid] = "normal";
previousMessage.value = message; previousMessage.value = message;
console.log("set previous message to:", previousMessage.value.message); console.log("set previous message to:", previousMessage.value.message);
console.log(`setting first post by user ${message.user.username} to "${message.message}" with timestamp ${messageTimestamps.value[message.uuid]}`); console.log(`setting first post by user ${message.member.user.username} to "${message.message}" with timestamp ${messageTimestamps.value[message.uuid]}`);
firstMessageByUsers.value[message.user.uuid] = message; firstMessageByUsers.value[message.member.uuid] = message;
return; return;
} }
const firstByUser = firstMessageByUsers.value[message.user.uuid]; const firstByUser = firstMessageByUsers.value[message.member.uuid];
if (firstByUser) { if (firstByUser) {
console.log("first by user exists:", firstByUser); console.log("first by user exists:", firstByUser);
if (message.user.uuid != firstByUser.user.uuid) { if (message.member.uuid != firstByUser.member.uuid) {
console.log("message is by new user, setting their first message") console.log("message is by new user, setting their first message")
firstMessageByUsers.value[message.user.uuid] = message; firstMessageByUsers.value[message.member.uuid] = message;
console.log("RETURNING FALSE"); console.log("RETURNING FALSE");
messagesType.value[message.uuid] = "normal"; messagesType.value[message.uuid] = "normal";
return; return;
} }
} else { } else {
console.log("first by user doesn't exist"); console.log("first by user doesn't exist");
console.log(`setting first post by user ${message.user.username} to "${message.message}" with timestamp ${messageTimestamps.value[message.uuid]}`); console.log(`setting first post by user ${message.member.user.username} to "${message.message}" with timestamp ${messageTimestamps.value[message.uuid]}`);
firstMessageByUsers.value[message.user.uuid] = message; firstMessageByUsers.value[message.member.uuid] = message;
console.log("RETURNING FALSE"); console.log("RETURNING FALSE");
messagesType.value[message.uuid] = "normal"; messagesType.value[message.uuid] = "normal";
return; return;
@ -111,8 +111,8 @@ function groupMessage(message: MessageResponse, options?: { prevMessage?: Messag
console.log("group?", lessThanMax); console.log("group?", lessThanMax);
if (!lessThanMax) { if (!lessThanMax) {
console.log("diff exceeds max"); console.log("diff exceeds max");
console.log(`setting first post by user ${message.user.username} to "${message.message}" with timestamp ${messageTimestamps.value[message.uuid]}`) console.log(`setting first post by user ${message.member.user.username} to "${message.message}" with timestamp ${messageTimestamps.value[message.uuid]}`)
firstMessageByUsers.value[message.user.uuid] = message; firstMessageByUsers.value[message.member.uuid] = message;
messagesType.value[message.uuid] = "normal"; messagesType.value[message.uuid] = "normal";
return; return;
} }

View file

@ -45,7 +45,7 @@ export interface MessageResponse {
user_uuid: string, user_uuid: string,
message: string, message: string,
reply_to: string | null, reply_to: string | null,
user: UserResponse, member: GuildMemberResponse,
} }
export interface InviteResponse { export interface InviteResponse {

View file

@ -1,9 +1,9 @@
import type { MessageResponse, UserResponse } from "./interfaces"; import type { GuildMemberResponse, MessageResponse, UserResponse } from "./interfaces";
export interface MessageProps { export interface MessageProps {
class?: string, class?: string,
img?: string | null, img?: string | null,
author: UserResponse author: GuildMemberResponse
text: string, text: string,
timestamp: number, timestamp: number,
format: "12" | "24", format: "12" | "24",