|
@@ -80,7 +80,7 @@ converse.plugins.add('converse-mam-views', {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
|
|
- fetchArchivedMessages (options) {
|
|
|
|
|
|
+ async fetchArchivedMessages (options) {
|
|
const { _converse } = this.__super__;
|
|
const { _converse } = this.__super__;
|
|
if (this.disable_mam) { return; }
|
|
if (this.disable_mam) { return; }
|
|
|
|
|
|
@@ -95,42 +95,31 @@ converse.plugins.add('converse-mam-views', {
|
|
message_handler = _converse.chatboxes.onMessage.bind(_converse.chatboxes)
|
|
message_handler = _converse.chatboxes.onMessage.bind(_converse.chatboxes)
|
|
}
|
|
}
|
|
|
|
|
|
- _converse.api.disco.supports(Strophe.NS.MAM, mam_jid).then(
|
|
|
|
- (results) => { // Success
|
|
|
|
- if (!results.length) { return; }
|
|
|
|
- this.addSpinner();
|
|
|
|
- _converse.api.archive.query(
|
|
|
|
- // TODO: only query from the last message we have
|
|
|
|
- // in our history
|
|
|
|
- _.extend({
|
|
|
|
- 'groupchat': is_groupchat,
|
|
|
|
- 'before': '', // Page backwards from the most recent message
|
|
|
|
- 'max': _converse.archived_messages_page_size,
|
|
|
|
- 'with': this.model.get('jid'),
|
|
|
|
- }, options),
|
|
|
|
- (messages) => { // Success
|
|
|
|
- this.clearSpinner();
|
|
|
|
- _.each(messages, message_handler);
|
|
|
|
- },
|
|
|
|
- e => { // Error
|
|
|
|
- this.clearSpinner();
|
|
|
|
- _converse.log(
|
|
|
|
- "Error or timeout while trying to fetch "+
|
|
|
|
- "archived messages", Strophe.LogLevel.ERROR);
|
|
|
|
- _converse.log(e, Strophe.LogLevel.ERROR);
|
|
|
|
- }
|
|
|
|
- );
|
|
|
|
|
|
+ const supported = await _converse.api.disco.supports(Strophe.NS.MAM, mam_jid);
|
|
|
|
+ if (!supported.length) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.addSpinner();
|
|
|
|
+ _converse.api.archive.query(
|
|
|
|
+ _.extend({
|
|
|
|
+ 'groupchat': is_groupchat,
|
|
|
|
+ 'before': '', // Page backwards from the most recent message
|
|
|
|
+ 'max': _converse.archived_messages_page_size,
|
|
|
|
+ 'with': this.model.get('jid'),
|
|
|
|
+ }, options),
|
|
|
|
+
|
|
|
|
+ messages => { // Success
|
|
|
|
+ this.clearSpinner();
|
|
|
|
+ _.each(messages, message_handler);
|
|
},
|
|
},
|
|
- () => { // Error
|
|
|
|
|
|
+ e => { // Error
|
|
|
|
+ this.clearSpinner();
|
|
_converse.log(
|
|
_converse.log(
|
|
- "Error or timeout while checking for MAM support",
|
|
|
|
- Strophe.LogLevel.ERROR
|
|
|
|
- );
|
|
|
|
|
|
+ "Error or timeout while trying to fetch "+
|
|
|
|
+ "archived messages", Strophe.LogLevel.ERROR);
|
|
|
|
+ _converse.log(e, Strophe.LogLevel.ERROR);
|
|
}
|
|
}
|
|
- ).catch((msg) => {
|
|
|
|
- this.clearSpinner();
|
|
|
|
- _converse.log(msg, Strophe.LogLevel.FATAL);
|
|
|
|
- });
|
|
|
|
|
|
+ );
|
|
},
|
|
},
|
|
|
|
|
|
onScroll (ev) {
|
|
onScroll (ev) {
|