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