mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-02-11 17:55:51 +00:00
fix double websocket
This commit is contained in:
parent
60251f9f72
commit
5a9b92744a
@ -2347,6 +2347,7 @@ class ChatPage extends LitElement {
|
||||
this.webSocket.close(1000, 'switch chat')
|
||||
this.webSocket = ''
|
||||
}
|
||||
console.log('this.webSocket', this.webSocket)
|
||||
this.pageNumber = 1
|
||||
const getAddressPublicKey = () => {
|
||||
|
||||
@ -2489,6 +2490,7 @@ class ChatPage extends LitElement {
|
||||
}
|
||||
|
||||
async updated(changedProperties) {
|
||||
console.log({changedProperties})
|
||||
if (changedProperties && changedProperties.has('userLanguage')) {
|
||||
const userLang = changedProperties.get('userLanguage')
|
||||
if (userLang) {
|
||||
@ -2505,7 +2507,7 @@ class ChatPage extends LitElement {
|
||||
this.editor.setEditable(true)
|
||||
}
|
||||
}
|
||||
if(changedProperties && changedProperties.has('chatId')){
|
||||
if(changedProperties && changedProperties.has('chatId') && this.webSocket){
|
||||
this.isLoadingMessages = true
|
||||
this.initUpdate()
|
||||
|
||||
@ -3146,7 +3148,7 @@ class ChatPage extends LitElement {
|
||||
|
||||
setTimeout(() => this.downElementObserver(), 500)
|
||||
} else {
|
||||
|
||||
console.log('decodedmsg', decodedMessages)
|
||||
|
||||
queue.push(() => replaceMessagesEdited({
|
||||
decodedMessages: decodedMessages,
|
||||
@ -3212,6 +3214,7 @@ class ChatPage extends LitElement {
|
||||
*/
|
||||
|
||||
async renderNewMessage(newMessage) {
|
||||
console.log('newMessage', newMessage)
|
||||
if (newMessage.chatReference) {
|
||||
// const findOriginalMessageIndex = this.messagesRendered.findIndex(msg => msg.signature === newMessage.chatReference || (msg.chatReference && msg.chatReference === newMessage.chatReference))
|
||||
// if (findOriginalMessageIndex !== -1 && this.messagesRendered[findOriginalMessageIndex].sender === newMessage.sender) {
|
||||
@ -3230,7 +3233,12 @@ class ChatPage extends LitElement {
|
||||
return
|
||||
}
|
||||
|
||||
const viewElement = this.shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById('viewElement')
|
||||
let viewElement = this.shadowRoot.querySelector('chat-scroller')
|
||||
if(viewElement){
|
||||
viewElement = viewElement.shadowRoot.getElementById('viewElement')
|
||||
} else {
|
||||
viewElement = null
|
||||
}
|
||||
|
||||
if (newMessage.sender === this.selectedAddress.address) {
|
||||
|
||||
@ -3251,8 +3259,10 @@ class ChatPage extends LitElement {
|
||||
// Append the message and scroll to the bottom if user is down the page
|
||||
// this.messagesRendered = [...this.messagesRendered, newMessage]
|
||||
await this.getUpdateComplete()
|
||||
|
||||
viewElement.scrollTop = viewElement.scrollHeight
|
||||
if(viewElement){
|
||||
viewElement.scrollTop = viewElement.scrollHeight
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
this.messagesRendered = {
|
||||
@ -3320,7 +3330,9 @@ class ChatPage extends LitElement {
|
||||
} else {
|
||||
// Fallback to http
|
||||
directSocketLink = `ws://${nodeUrl}/websockets/chat/messages?involving=${window.parent.reduxStore.getState().app.selectedAddress.address}&involving=${cid}&encoding=BASE64&limit=1`
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
this.webSocket = new WebSocket(directSocketLink)
|
||||
// Open Connection
|
||||
@ -3389,7 +3401,9 @@ class ChatPage extends LitElement {
|
||||
// Closed Event
|
||||
this.webSocket.onclose = (e) => {
|
||||
clearTimeout(directSocketTimeout)
|
||||
console.log('e', e)
|
||||
if (e.reason === 'switch chat') return
|
||||
console.log('not coming in')
|
||||
restartDirectWebSocket()
|
||||
}
|
||||
|
||||
@ -3437,7 +3451,7 @@ class ChatPage extends LitElement {
|
||||
// Fallback to http
|
||||
groupSocketLink = `ws://${nodeUrl}/websockets/chat/messages?txGroupId=${groupId}&encoding=BASE64&limit=1`
|
||||
}
|
||||
|
||||
|
||||
this.webSocket = new WebSocket(groupSocketLink)
|
||||
|
||||
// Open Connection
|
||||
|
@ -559,6 +559,7 @@ class ChatScroller extends LitElement {
|
||||
|
||||
|
||||
async replaceMessagesWithUpdateByArray(updatedMessagesArray) {
|
||||
console.log({updatedMessagesArray, messages: this.messagesToRender})
|
||||
let previousScrollTop;
|
||||
let previousScrollHeight;
|
||||
|
||||
@ -567,7 +568,7 @@ class ChatScroller extends LitElement {
|
||||
previousScrollHeight = viewElement.scrollHeight;
|
||||
for (let group of this.messagesToRender) {
|
||||
for (let i = 0; i < group.messages.length; i++) {
|
||||
const update = updatedMessagesArray.find(updatedMessage => ((updatedMessage.chatReference === group.messages[i].signature) || (updatedMessage.chatReference === group.messages[i].originalSignature)));
|
||||
const update = updatedMessagesArray.find(updatedMessage => ((updatedMessage.chatReference === group.messages[i].signature) || (updatedMessage.chatReference === group.messages[i].originalSignature) || (updatedMessage.chatReference === group.messages[i].chatReference)));
|
||||
if (update) {
|
||||
Object.assign(group.messages[i], update);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user