MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / renderChatMessages

Function renderChatMessages

deployments/desktop/static/desktop.js:4340–4381  ·  view source on GitHub ↗
(messages = [])

Source from the content-addressed store, hash-verified

4338 }
4339
4340 function renderChatMessages(messages = []) {
4341 state.chatMessages = messages;
4342 if (!messages.length) {
4343 resetChatThread();
4344 return;
4345 }
4346 let latestCitations = [];
4347 $("chatThread").innerHTML = messages.map((message) => {
4348 const role = message.role === "user" ? "user" : "assistant";
4349 const content = String(message.content || "");
4350 if (role === "user") {
4351 return `
4352 <div class="message user" data-chat-message-id="${escapeHtml(message.id || "")}">
4353 <div class="avatar">${escapeHtml(ui().chat.me)}</div>
4354 <div class="bubble"><p>${escapeHtml(content).replace(/\n/g, "<br>")}</p></div>
4355 </div>
4356 `;
4357 }
4358 const metadata = message.metadata && typeof message.metadata === "object" ? message.metadata : {};
4359 const answerData = {
4360 mode: "direct",
4361 retrieval_required: false,
4362 ...metadata,
4363 text: content
4364 };
4365 const citations = normalizeCitations(answerData);
4366 latestCitations = citations;
4367 return `
4368 <div class="message assistant" data-chat-message-id="${escapeHtml(message.id || "")}">
4369 <div class="avatar">AI</div>
4370 <div class="bubble">
4371 ${renderAnswerMeta(answerData, citations)}
4372 <div class="answer-text">${renderAnswerWithCitations(content, citations)}</div>
4373 </div>
4374 </div>
4375 `;
4376 }).join("");
4377 renderChatSources(latestCitations);
4378 window.setTimeout(() => {
4379 $("chatThread").scrollTop = $("chatThread").scrollHeight;
4380 }, 0);
4381 }
4382
4383 function renderChatHistoryUnavailable() {
4384 state.chatHistoryLoaded = false;

Callers 2

applyLocaleFunction · 0.85
loadChatSessionFunction · 0.85

Calls 8

resetChatThreadFunction · 0.85
uiFunction · 0.85
normalizeCitationsFunction · 0.85
renderAnswerMetaFunction · 0.85
renderChatSourcesFunction · 0.85
$Function · 0.70
escapeHtmlFunction · 0.70

Tested by

no test coverage detected