Commit Graph

422 Commits

Author SHA1 Message Date
JC Brand
d7ce231c51 Various emoji improvements:
* Add emoji tooltip
* Make categories configurable and add smileys category
* Rearrange emoji categories and style
& Show all emojis together
2019-08-22 13:56:47 +02:00
JC Brand
4cb9fd88a8 Refactor emojis so that JSON is fetch asynchronously 2019-08-22 13:56:47 +02:00
Dele Olajide
4e440b0325 Update converse-chatboxes.js 2019-08-19 09:16:19 +02:00
Dele Olajide
f6c5f167f8 Fix Issue #1679
This fix forces Converse.js to respect auto_join_rooms and allow auto join room to occur with server-side generated random room names as required for XEP 0142 - workgroup queues
2019-08-19 09:16:19 +02:00
JC Brand
c9c689aec7 Docstring fixes 2019-08-16 15:44:58 +02:00
JC Brand
4291a45631 Postrelease 2019-08-14 13:15:16 +02:00
JC Brand
8f571ff148 Release 5.0.1 2019-08-14 12:56:44 +02:00
JC Brand
bcc73fe727 converse-muc: occupantAdded promise has been removed
Also:

* converted two docstrings into JSDoc format
* Don't use `_.isNull`
2019-08-14 12:14:02 +02:00
JC Brand
3faaf6a62b converse-muc: Fetch messages in the initialize method
Lately we've been fetching messages only after entering the MUC, so that
we already have occupants to attach to them (due to `fetchMembers` being
called before) and thereby avoid rerenders.

I've now moved message fetching into the `initialize` method and added
missing event handlers for attaching/removing the occupant from a
message as it comes online or goes offline.

We still avoid (some) rerenders because we fetch and wait for cached
occupants before fetching cached messages and we wait for `fetchMembers`
before triggering `enteredNewRoom` which causes MAM messages to be
fetched.
2019-08-14 11:08:05 +02:00
JC Brand
fa59b22f93 converse-message-view: Move methods from view to model 2019-08-13 15:34:59 +02:00
JC Brand
21a9ea7365 converse-message-view: Add hooks before/after message text transformations 2019-08-13 15:31:05 +02:00
JC Brand
89ac4a6969 Show error message with option to retry when MAM query times out 2019-08-13 11:08:03 +02:00
JC Brand
c490ba212d converse-muc: Avoid refetching messages from cache
We want to fetch messages from cache only once. For one-on-one chats
this is the case because messages are fetched only in the `initialize`
method.

This used to be the case for MUCs as well, until we added the option
`clear_messages_on_reconnection`.

Now we only fetch messages after the user has entered the MUC.
2019-08-10 18:47:49 +02:00
JC Brand
02e50ca3a3 converse-mam: Don't fetch MUC MAM messages on chatReconnected event
By this time the cached messages are not yet fetched, causing the entire
MAM archive to be queried.
2019-08-10 14:12:20 +02:00
JC Brand
ea123e9713 Handle IQ timeouts
* converse-muc: Handle timeout while fetching affiliation list
* converse-omemo: Handle IQ timeout
2019-08-10 14:12:02 +02:00
JC Brand
a407aff33c converse-ping: Refactor and update to reconnect upon ping timeout 2019-08-10 12:26:07 +02:00
JC Brand
aa9aad918f Handle case where bookmark doesn't exist for some reason 2019-08-10 12:06:01 +02:00
JC Brand
aee6a192d1 Add a new command /modtools
in which you can set user affiliations and roles.

Also, let getAffiliationList return an Error instead of `null` if you're
not allowed to fetch a particular affiliation list.
2019-08-09 23:30:14 +02:00
JC Brand
a03e722a24 Add new dev version 2019-08-09 00:58:43 +02:00
JC Brand
bc27b3a36a Release 5.0.0 2019-08-08 18:13:12 +02:00
JC Brand
bea073a5a2 Fix erroneous "is no longer an admin/owner" messages in MUCs
Don't remove affiliation for occupants if we weren't allowed to
fetch that particular affiliation list.

Previously, if fetching the list failed, we would return an empty array,
which would imply that the affiliation list is empty and that all
users with the given affiliation should have their affiliations removed.

Instead we now return `null` and properly account for that when setting
affiliations on existing contacts based on the returned member lists.
2019-08-08 16:19:04 +02:00
JC Brand
ade6266de8 Update backbone.overview and strophe.js 2019-08-08 12:45:17 +02:00
JC Brand
720096726d converse-chatboxes: Don't refetch chatboxes upon reconnection
We don't remove the existing chatboxes and upon refetching they
become stale and get removed (by Backbone) and then the UI for
them becomes unresponsive.
2019-08-07 16:12:51 +02:00
JC Brand
c0ef008c4a converse-bookmarks: Call _converse.Collection.prototype.clearSession 2019-08-07 16:12:21 +02:00
JC Brand
b176161ecf converse-roster: Reconnection bugfixes.
Don't remove cached presences in `afterTearDown` event.
We might reconnect again and resume the session, in which case we need
that data still.

Instead, we remove cached presences when `clearSession` fires, because
then we know we're not reconnecting.

When reconnecting, we don't fetch presences from cache, we still have
them (since we no longer remove them in `afterTearDown`).

When reconnecting and not resuming, we clear the presences from cache,
since we're starting a new session.
2019-08-07 16:11:36 +02:00
JC Brand
dfe8194072 Show spinner when fetching messages by scrolling upwards 2019-08-07 10:47:11 +02:00
JC Brand
271a871a51 Updated i18n po, pot and json files 2019-08-07 10:28:49 +02:00
JC Brand
5cb5ec4640 Fixes #1668. MUC MAM blocked by "info" messages 2019-08-06 23:30:02 +02:00
JC Brand
7bfb172f6e Updates #1548. MAM paging improvements.
* Explicit forwards and backwards paging
* Include upper or lower bound when calling `RSM.prototype.next` or `RSM.prototype.previous`
* Bugfix: Don't override new RSM parameters (caused infinite recursion)
2019-08-06 22:54:51 +02:00
JC Brand
0d2c36dca6 converse-muc: use minimized attr instead 2019-08-06 13:32:52 +02:00
JC Brand
8864925407 Bugfix. Make sure new attrs are applied. 2019-08-06 13:07:41 +02:00
JC Brand
d90bcd5274 Combine two versions of isOnlyChatStateNotification into one
Also fix a bug in the code dermining whether an XMLElement stanza is only a chat state notification
2019-08-05 10:58:38 +02:00
JC Brand
7a590f7c22 Stop using certain lodash methods.
* _.isNil
* _.noop
* _.isNull
2019-08-05 10:56:22 +02:00
JC Brand
78c7ded2e5 converse-disco: Catch and report errors that happen during tests 2019-08-05 10:33:00 +02:00
JC Brand
021143d6ac Bugfix. Don't clear roster when tearing down
We do that in `clearSession` and otherwise when we auto-reconnect we end
up without a roster.
2019-08-04 01:38:41 +02:00
JC Brand
8a9a0a4b19 Add support for paging through MAM results when catching up
Fixes #1548
2019-08-03 21:44:02 +02:00
JC Brand
c7b6bb4773 Only clear messages when clear_messages_on_reconnection is true 2019-08-03 21:43:06 +02:00
JC Brand
c038794fb5 converse-mam: Light refactoring and cleanup 2019-08-03 21:43:06 +02:00
JC Brand
5f0a0138a0 Finegrained config of XEP-0095 CSNs for MUCs as well 2019-08-02 12:05:19 +02:00
JC Brand
ec85490f1c Allow configuration of which XEP-0095 CSN's may be sent out 2019-08-02 11:34:24 +02:00
JC Brand
3b29e5754d Don't unnecessarily fetch the roster
If we've fetched the roster before within this session, then we don't
have to do so again, regardless of whether versioning is supported or
not, otherwise, even if we have a cached roster, we still need to get
the latest one again.
2019-08-02 10:46:30 +02:00
JC Brand
0b43082383 Add check and update changelog 2019-08-01 16:26:29 +02:00
JC Brand
cd392bb197 Fixes #1561 Don't clear localStorage and sessionStorage 2019-08-01 11:34:14 +02:00
JC Brand
1bc9a7f809 Ensure JID is set when userSessionInitialized triggers.
Otherwise `converse.features` cache id contains `null` instead of the
user JID and it doesn't clear correctly.
2019-08-01 08:57:34 +02:00
JC Brand
f0f7cfab42 Make the chatbox messages cache key overridable 2019-07-31 17:19:50 +02:00
JC Brand
5b64b5a0e3 The locales URL should be absolute 2019-07-31 16:13:33 +02:00
JC Brand
1eb2364336 Let sendMessage return the message model, not just the text 2019-07-30 16:15:47 +02:00
JC Brand
afa2543492 Honour the auto_login flag
by not logging in automatically when `auto_login` is `false` and we're
using anonymous, external or prebind authentication.

For `authentication` set to `login` the situation is much more
ambiguous, since we don't have a clear distinction between wether we're
restoring a previous session (`keepalive`) or whether we're
automatically setting up a new session (`auto_login`).

So currently if *either* `keepalive` or `auto_login` is `true` and
`authentication` is set to `login`, then Converse will try to log the
user in.
2019-07-29 16:35:17 +02:00
JC Brand
f12c024b99 Don't query MAM upon every page load.
Instead we should only query for newly created chats.
2019-07-29 15:41:03 +02:00
JC Brand
8bd72eed72 Don't keep on refetching roster if the service is unavailable
`sendIQ` now takes a flag to turn of rejection of the promise and to
resolve on error IQs instead.
2019-07-29 14:33:37 +02:00