MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / deleteMessage

Function deleteMessage

apps/web/ui/ChannelView/index.tsx:234–277  ·  view source on GitHub ↗
(messageId: string)

Source from the content-addressed store, hash-verified

232 }
233
234 async function deleteMessage(messageId: string) {
235 setThreads((threads) => {
236 return threads
237 .map((thread) => {
238 const message = thread.messages.find(
239 (message) => message.id === messageId
240 );
241 if (message) {
242 const messages = thread.messages.filter(
243 (message) => message.id !== messageId
244 );
245 if (messages.length === 0) {
246 return null;
247 }
248 return {
249 ...thread,
250 messages,
251 messageCount: thread.messageCount - 1,
252 };
253 }
254 return thread;
255 })
256 .filter(Boolean) as SerializedThread[];
257 });
258
259 if (currentChannel.viewType === 'TOPIC') {
260 setTopics((topics) => {
261 return topics.filter((topic) => topic.messageId !== messageId);
262 });
263 }
264
265 return api
266 .deleteMessage({ id: messageId, accountId: currentCommunity.id })
267 .then((response: any) => {
268 if (response.ok) {
269 return;
270 }
271 throw new Error('Failed to delete the message.');
272 })
273
274 .catch((_) => {
275 Toast.error('Failed to delete the message.');
276 });
277 }
278
279 function markUserThreadStatuses(
280 threadId: string,

Callers

nothing calls this directly

Calls 4

mapMethod · 0.80
deleteMessageMethod · 0.65
errorMethod · 0.65
findMethod · 0.45

Tested by

no test coverage detected