Debug: loadMessages/appendMessage логи
Grok рекомендовал: console.log чтобы понять: 1. r.messages это массив 2. appendMessage не падает с exception 3. #messages элемент существует
This commit is contained in:
parent
53bf382b84
commit
bfaa3af1af
@ -34,15 +34,15 @@
|
||||
</button>
|
||||
</nav>
|
||||
</div>
|
||||
<script src="/js/tg.js?v=26"></script>
|
||||
<script src="/js/api.js?v=26"></script>
|
||||
<script src="/js/views/map.js?v=26"></script>
|
||||
<script src="/js/views/chats.js?v=26"></script>
|
||||
<script src="/js/views/chat.js?v=26"></script>
|
||||
<script src="/js/views/profile.js?v=26"></script>
|
||||
<script src="/js/views/settings.js?v=26"></script>
|
||||
<script src="/js/views/onboarding.js?v=26"></script>
|
||||
<script src="/js/views/review.js?v=26"></script>
|
||||
<script src="/js/app.js?v=26"></script>
|
||||
<script src="/js/tg.js?v=27"></script>
|
||||
<script src="/js/api.js?v=27"></script>
|
||||
<script src="/js/views/map.js?v=27"></script>
|
||||
<script src="/js/views/chats.js?v=27"></script>
|
||||
<script src="/js/views/chat.js?v=27"></script>
|
||||
<script src="/js/views/profile.js?v=27"></script>
|
||||
<script src="/js/views/settings.js?v=27"></script>
|
||||
<script src="/js/views/onboarding.js?v=27"></script>
|
||||
<script src="/js/views/review.js?v=27"></script>
|
||||
<script src="/js/app.js?v=27"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -59,19 +59,32 @@ const ChatView = {
|
||||
},
|
||||
|
||||
async loadMessages() {
|
||||
console.log('[Chat] loadMessages start, chatId:', this.chatId);
|
||||
try {
|
||||
const r = await API.ChatApi.listMessages(this.chatId);
|
||||
console.log('[Chat] listMessages response:', JSON.stringify(r).slice(0, 500), 'messages isArray:', Array.isArray(r.messages));
|
||||
const box = document.getElementById('messages');
|
||||
console.log('[Chat] messages box:', box, 'tag:', box?.tagName);
|
||||
if (!box) { console.error('[Chat] no #messages element'); return; }
|
||||
box.innerHTML = '';
|
||||
r.messages.forEach((m) => this.appendMessage(m));
|
||||
const msgs = Array.isArray(r.messages) ? r.messages : (Array.isArray(r) ? r : []);
|
||||
console.log('[Chat] will append', msgs.length, 'messages');
|
||||
msgs.forEach((m) => {
|
||||
try { this.appendMessage(m); } catch (e) { console.error('[Chat] appendMessage failed for', m, e); }
|
||||
});
|
||||
box.scrollTop = box.scrollHeight;
|
||||
} catch (e) {
|
||||
console.warn(e);
|
||||
console.error('[Chat] loadMessages error:', e);
|
||||
try {
|
||||
fetch('/api/v1/debug/log', { method: 'POST', credentials: 'include', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ kind: 'ChatLoadError', msg: String(e && e.message), stack: String(e && e.stack || '').slice(0, 400) }) });
|
||||
} catch {}
|
||||
}
|
||||
},
|
||||
|
||||
appendMessage(m) {
|
||||
console.log('[Chat] appendMessage called, m:', JSON.stringify(m).slice(0, 200), 'me check:', API.Store.user && m.sender_id === (API.Store.user.id || API.Store.user.user_id));
|
||||
const box = document.getElementById('messages');
|
||||
if (!box) { console.error('[Chat] appendMessage: no box'); return; }
|
||||
const me = API.Store.user && m.sender_id === (API.Store.user.id || API.Store.user.user_id);
|
||||
const div = document.createElement('div');
|
||||
div.className = 'bubble-b ' + (me ? 'out' : 'in');
|
||||
@ -95,6 +108,7 @@ const ChatView = {
|
||||
}
|
||||
}
|
||||
box.appendChild(div);
|
||||
console.log('[Chat] appended bubble, children:', box.children.length);
|
||||
box.scrollTop = box.scrollHeight;
|
||||
},
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user