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>
|
</button>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
<script src="/js/tg.js?v=26"></script>
|
<script src="/js/tg.js?v=27"></script>
|
||||||
<script src="/js/api.js?v=26"></script>
|
<script src="/js/api.js?v=27"></script>
|
||||||
<script src="/js/views/map.js?v=26"></script>
|
<script src="/js/views/map.js?v=27"></script>
|
||||||
<script src="/js/views/chats.js?v=26"></script>
|
<script src="/js/views/chats.js?v=27"></script>
|
||||||
<script src="/js/views/chat.js?v=26"></script>
|
<script src="/js/views/chat.js?v=27"></script>
|
||||||
<script src="/js/views/profile.js?v=26"></script>
|
<script src="/js/views/profile.js?v=27"></script>
|
||||||
<script src="/js/views/settings.js?v=26"></script>
|
<script src="/js/views/settings.js?v=27"></script>
|
||||||
<script src="/js/views/onboarding.js?v=26"></script>
|
<script src="/js/views/onboarding.js?v=27"></script>
|
||||||
<script src="/js/views/review.js?v=26"></script>
|
<script src="/js/views/review.js?v=27"></script>
|
||||||
<script src="/js/app.js?v=26"></script>
|
<script src="/js/app.js?v=27"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -59,19 +59,32 @@ const ChatView = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async loadMessages() {
|
async loadMessages() {
|
||||||
|
console.log('[Chat] loadMessages start, chatId:', this.chatId);
|
||||||
try {
|
try {
|
||||||
const r = await API.ChatApi.listMessages(this.chatId);
|
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');
|
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 = '';
|
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;
|
box.scrollTop = box.scrollHeight;
|
||||||
} catch (e) {
|
} 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) {
|
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');
|
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 me = API.Store.user && m.sender_id === (API.Store.user.id || API.Store.user.user_id);
|
||||||
const div = document.createElement('div');
|
const div = document.createElement('div');
|
||||||
div.className = 'bubble-b ' + (me ? 'out' : 'in');
|
div.className = 'bubble-b ' + (me ? 'out' : 'in');
|
||||||
@ -95,6 +108,7 @@ const ChatView = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
box.appendChild(div);
|
box.appendChild(div);
|
||||||
|
console.log('[Chat] appended bubble, children:', box.children.length);
|
||||||
box.scrollTop = box.scrollHeight;
|
box.scrollTop = box.scrollHeight;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user