|
|
@ -314,7 +314,8 @@ class ChatPage extends LitElement { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
async processMessages(messages, isInitial) { |
|
|
|
async processMessages(messages, isInitial) { |
|
|
|
|
|
|
|
|
|
|
|
if (isInitial) { |
|
|
|
if (isInitial) { |
|
|
|
|
|
|
|
|
|
|
|
this.messages = messages.map((eachMessage) => { |
|
|
|
this.messages = messages.map((eachMessage) => { |
|
|
@ -330,7 +331,10 @@ class ChatPage extends LitElement { |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
this._messages = [...this.messages] |
|
|
|
this._messages = [...this.messages].sort(function (a, b) { |
|
|
|
|
|
|
|
return a.timestamp |
|
|
|
|
|
|
|
- b.timestamp |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
const adjustMessages = () => { |
|
|
|
const adjustMessages = () => { |
|
|
|
|
|
|
|
|
|
|
@ -345,41 +349,27 @@ class ChatPage extends LitElement { |
|
|
|
|
|
|
|
|
|
|
|
this.messagesRendered = this._initialMessages |
|
|
|
this.messagesRendered = this._initialMessages |
|
|
|
|
|
|
|
|
|
|
|
// try {
|
|
|
|
|
|
|
|
// const viewElement = this.shadowRoot.querySelector('chat-scroller')
|
|
|
|
|
|
|
|
// console.log({viewElement})
|
|
|
|
|
|
|
|
// // viewElement.scrollTop = this.viewElement.scrollHeight + 50
|
|
|
|
|
|
|
|
// } catch (error) {
|
|
|
|
|
|
|
|
// console.error(error)
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.isLoadingMessages = false |
|
|
|
this.isLoadingMessages = false |
|
|
|
setTimeout(() => this.downElementObserver(), 500) |
|
|
|
setTimeout(() => this.downElementObserver(), 500) |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
|
|
let _newMessages = messages.map((eachMessage) => { |
|
|
|
messages.forEach((eachMessage) => { |
|
|
|
if (eachMessage.isText === true) { |
|
|
|
|
|
|
|
let _eachMessage = this.decodeMessage(eachMessage) |
|
|
|
const _eachMessage = this.decodeMessage(eachMessage) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.renderNewMessage(_eachMessage) |
|
|
|
|
|
|
|
|
|
|
|
if (this.messageSignature !== eachMessage.signature) { |
|
|
|
|
|
|
|
this.messageSignature = eachMessage.signature |
|
|
|
|
|
|
|
// What are we waiting for, send in the message immediately...
|
|
|
|
|
|
|
|
this.renderNewMessage(_eachMessage) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return _eachMessage |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
let _eachMessage = this.decodeMessage(eachMessage) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.messageSignature !== eachMessage.signature) { |
|
|
|
|
|
|
|
this.messageSignature = eachMessage.signature |
|
|
|
|
|
|
|
this.renderNewMessage(_eachMessage) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return _eachMessage |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
this.newMessages = this.newMessages.concat(_newMessages) |
|
|
|
|
|
|
|
|
|
|
|
// this.newMessages = this.newMessages.concat(_newMessages)
|
|
|
|
|
|
|
|
this.messagesRendered = [...this.messagesRendered].sort(function (a, b) { |
|
|
|
|
|
|
|
return a.timestamp |
|
|
|
|
|
|
|
- b.timestamp |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
@ -436,10 +426,6 @@ class ChatPage extends LitElement { |
|
|
|
async renderNewMessage(newMessage) { |
|
|
|
async renderNewMessage(newMessage) { |
|
|
|
|
|
|
|
|
|
|
|
const viewElement = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById('viewElement'); |
|
|
|
const viewElement = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById('viewElement'); |
|
|
|
const downObserver = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById('downObserver'); |
|
|
|
|
|
|
|
const li = document.createElement('li'); |
|
|
|
|
|
|
|
li.innerHTML = this.chatMessageTemplate(newMessage); |
|
|
|
|
|
|
|
li.id = newMessage.signature; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (newMessage.sender === this.selectedAddress.address) { |
|
|
|
if (newMessage.sender === this.selectedAddress.address) { |
|
|
|
|
|
|
|
|
|
|
|