From 9f663c32510cac704b0b6609e66839af2fa9cdaa Mon Sep 17 00:00:00 2001 From: mightymop Date: Mon, 27 Sep 2021 11:17:42 +0200 Subject: fix(mam): show "Load Button" if messare area is empty and show button, if chat history was cleared fix scroll --- src/plugins/mam/Plugin.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/plugins/mam/Plugin.ts b/src/plugins/mam/Plugin.ts index 2f4dbfc3..ca54aa62 100644 --- a/src/plugins/mam/Plugin.ts +++ b/src/plugins/mam/Plugin.ts @@ -150,7 +150,11 @@ export default class MessageArchiveManagementPlugin extends AbstractPlugin { element.append(spanElement); messageAreaElement.on('scroll', function () { - if (messageAreaElement.height() + this.scrollTop < 42 && !archive.isExhausted()) { + let scrollTop : number = messageAreaElement[0].scrollTop; + if (scrollTop<0) + scrollTop=scrollTop*(-1); + + if (((messageAreaElement[0].clientHeight + 42 > messageAreaElement[0].scrollHeight - scrollTop) && !archive.isExhausted())||messageAreaElement.text().trim().length===0) { element.addClass(classNameShow); } else { element.removeClass(classNameShow); @@ -159,6 +163,12 @@ export default class MessageArchiveManagementPlugin extends AbstractPlugin { messageAreaElement.trigger('scroll'); + messageAreaElement.on("DOMSubtreeModified",function(e){ + if ($(this).text().trim().length===0){ + $(this).parent().find('.jsxc-mam-load-more').addClass('jsxc-show'); + } + }); + if (!archive.isExhausted()) { chatWindowElement.addClass(classNameMamEnable); } -- cgit v1.2.3 From b3c63bfaefb8a14c2a5845d3949fa13b575398d4 Mon Sep 17 00:00:00 2001 From: mightymop Date: Fri, 8 Oct 2021 15:26:56 +0200 Subject: fix(mam): add loadbutton to clear event --- src/plugins/mam/Plugin.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/plugins/mam/Plugin.ts b/src/plugins/mam/Plugin.ts index ca54aa62..f1ecf072 100644 --- a/src/plugins/mam/Plugin.ts +++ b/src/plugins/mam/Plugin.ts @@ -64,6 +64,8 @@ export default class MessageArchiveManagementPlugin extends AbstractPlugin { if (this.supportCache[archiveJid.bare]) { this.getArchive(contact.getJid()).clear(); } + + this.addLoadButtonIfEnabled(chatWindow, contact); }); this.pluginAPI.getConnection().registerHandler(this.onMamMessage, null, 'message', null); @@ -163,12 +165,6 @@ export default class MessageArchiveManagementPlugin extends AbstractPlugin { messageAreaElement.trigger('scroll'); - messageAreaElement.on("DOMSubtreeModified",function(e){ - if ($(this).text().trim().length===0){ - $(this).parent().find('.jsxc-mam-load-more').addClass('jsxc-show'); - } - }); - if (!archive.isExhausted()) { chatWindowElement.addClass(classNameMamEnable); } -- cgit v1.2.3 From 7c44ce071e0fe3e062ebe8dfc98ddeb8ccc88185 Mon Sep 17 00:00:00 2001 From: sualko Date: Tue, 28 Dec 2021 16:18:04 +0100 Subject: fix(mam): load button after history was cleared --- src/plugins/mam/Plugin.ts | 2 -- src/ui/ChatWindow.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plugins/mam/Plugin.ts b/src/plugins/mam/Plugin.ts index f1ecf072..187ad36d 100644 --- a/src/plugins/mam/Plugin.ts +++ b/src/plugins/mam/Plugin.ts @@ -64,8 +64,6 @@ export default class MessageArchiveManagementPlugin extends AbstractPlugin { if (this.supportCache[archiveJid.bare]) { this.getArchive(contact.getJid()).clear(); } - - this.addLoadButtonIfEnabled(chatWindow, contact); }); this.pluginAPI.getConnection().registerHandler(this.onMamMessage, null, 'message', null); diff --git a/src/ui/ChatWindow.ts b/src/ui/ChatWindow.ts index a86763ce..ce03e97e 100644 --- a/src/ui/ChatWindow.ts +++ b/src/ui/ChatWindow.ts @@ -162,7 +162,7 @@ export default class ChatWindow { this.getTranscript().clear(); - this.element.find('.jsxc-message-area').empty(); + this.element.find('.jsxc-message-area').empty().trigger('scroll'); this.getAccount().triggerChatWindowClearedHook(this, this.contact); } -- cgit v1.2.3 From a602a9bbb27f2d3cd2955e44c8423a36df292150 Mon Sep 17 00:00:00 2001 From: sualko Date: Tue, 28 Dec 2021 16:18:56 +0100 Subject: fix(mam): display of load mam button --- src/plugins/mam/Plugin.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/plugins/mam/Plugin.ts b/src/plugins/mam/Plugin.ts index 187ad36d..fe6c7737 100644 --- a/src/plugins/mam/Plugin.ts +++ b/src/plugins/mam/Plugin.ts @@ -150,18 +150,18 @@ export default class MessageArchiveManagementPlugin extends AbstractPlugin { element.append(spanElement); messageAreaElement.on('scroll', function () { - let scrollTop : number = messageAreaElement[0].scrollTop; - if (scrollTop<0) - scrollTop=scrollTop*(-1); + const topDelta = 10; + const scrollTop = Math.abs(this.scrollTop); + const isAtTop = this.clientHeight + scrollTop + topDelta >= this.scrollHeight; - if (((messageAreaElement[0].clientHeight + 42 > messageAreaElement[0].scrollHeight - scrollTop) && !archive.isExhausted())||messageAreaElement.text().trim().length===0) { + if (isAtTop && !archive.isExhausted()) { element.addClass(classNameShow); } else { element.removeClass(classNameShow); } }); - messageAreaElement.trigger('scroll'); + setTimeout(() => messageAreaElement.trigger('scroll'), 1000); if (!archive.isExhausted()) { chatWindowElement.addClass(classNameMamEnable); -- cgit v1.2.3 From 21dac0fa28799c0fee39b1608967dc0e10cafa77 Mon Sep 17 00:00:00 2001 From: sualko Date: Tue, 28 Dec 2021 16:26:28 +0100 Subject: fix: xml jquery type in vcard --- src/connection/services/Vcard.ts | 2 +- src/plugins/VersionPlugin.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connection/services/Vcard.ts b/src/connection/services/Vcard.ts index 041f6a44..c113cea5 100644 --- a/src/connection/services/Vcard.ts +++ b/src/connection/services/Vcard.ts @@ -81,7 +81,7 @@ export default class Vcard extends AbstractService { private parseVcardChildren = (stanza: JQuery): vCardData => { let self = this; let data: vCardData = {}; - let children = stanza.children(); + let children: JQuery = stanza.children() as any; children.each(function () { let item = $(this); diff --git a/src/plugins/VersionPlugin.ts b/src/plugins/VersionPlugin.ts index 9ecbb534..25a80914 100644 --- a/src/plugins/VersionPlugin.ts +++ b/src/plugins/VersionPlugin.ts @@ -106,7 +106,7 @@ export default class VersionPlugin extends AbstractPlugin { OSName = 'Android'; } - if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) { + if (/iPad|iPhone|iPod/.test(userAgent) && !(window).MSStream) { OSName = 'iOS'; } } -- cgit v1.2.3 From 78c0dff91d304beb8e94e7d3d55a9938faa08d82 Mon Sep 17 00:00:00 2001 From: sualko Date: Tue, 28 Dec 2021 16:31:20 +0100 Subject: chore: fix code style --- src/plugins/omemo/Plugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/omemo/Plugin.ts b/src/plugins/omemo/Plugin.ts index 4964a76d..c84a9533 100644 --- a/src/plugins/omemo/Plugin.ts +++ b/src/plugins/omemo/Plugin.ts @@ -119,7 +119,7 @@ export default class OMEMOPlugin extends EncryptionPlugin { let stanza = await pepService.retrieveItems(NS_DEVICELIST, contact.getJid().bare); this.onDeviceListUpdate(stanza); - } catch(err) { + } catch (err) { this.pluginAPI.Log.debug('Can not retrieve device list', err); return false; -- cgit v1.2.3