Commit Graph

6396 Commits

Author SHA1 Message Date
JC Brand
ef5ecb2f3a Decouple converse-controlbox and converse-profile 2019-08-05 11:07:38 +02:00
Réda Housni Alaoui
edcb8e28c2 Fix #1664 Blacklisting converse-profile makes the control box totally blank 2019-08-05 11:01:39 +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
7861ed7b54 Fixes #1403: Rename show_chatstate_notifications
to `show_chat_state_notifications`
2019-08-03 21:52:14 +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
Réda Housni Alaoui
c2db667321 Shadow dom: TypeError: Cannot read property 'parentElement' of null caused by MinimizedChatsToggleView 2019-08-02 16:30:25 +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
550d0ae31b Bugfix. Chat state should be set to active on chat maximized 2019-08-02 11:15:17 +02:00
JC Brand
918b314f70 make clean shouldn't break if some dirs aren't there 2019-08-02 10:47:05 +02:00
JC Brand
6dbc0a0637 converse-dragresize: Remove the resize event listener 2019-08-02 10:47:05 +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
d5ed1bfafe Remove the coupling between converse-controlbox and converse-rosterview 2019-08-02 09:12:04 +02:00
JC Brand
0b43082383 Add check and update changelog 2019-08-01 16:26:29 +02:00
JC Brand
a5cc9ef9ca Remove unused tests utility method 2019-08-01 11:51:16 +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
JC Brand
bdbcec65c6 Update JSDoc strings. Combine two methods 2019-07-29 11:36:37 +02:00
JC Brand
aa30e4d9e8 Bugfix. Don't unnecessarily fetch roster again when it's empty 2019-07-29 11:20:33 +02:00
JC Brand
e20b654876 Stop using _.isUndefined 2019-07-29 10:32:29 +02:00
JC Brand
caad85f45b Manually remove BOSH session tokens from cache
even if the `_converse.bosh_session` instance does not exist.

We do this to avoid trying to reconnect with stale tokens upon
reconnection. Especially relevant for anonymous connections, but could
also be applicable when switching between websocket and BOSH connections
when reconnecting.

Also renamed `startNewBOSHSession` to `startNewPreboundBOSHSession`
2019-07-29 10:08:38 +02:00
JC Brand
f9cc51b28a Bugfix. Make sure that restoreBOSHSession is always called
I.e. also when we're reconnecting.

Otherwise the `_converse.bosh_session` object doesn't get recreated and
we don't cache the BOSH tokens.
2019-07-29 10:05:31 +02:00
JC Brand
179c0810c7 Prioritise logging in with credentials_url...
above logging in with passed in JID and password, since the password
might be an expired token.
2019-07-26 20:03:32 +02:00
JC Brand
778b4ff131 Bugfix. Fix check for debounced reconnection 2019-07-26 20:02:56 +02:00
JC Brand
5a48f3da23 Clone auto_join_rooms values before passing in
otherwise values get tacked on, causing problems when reconnecting.
2019-07-26 19:30:01 +02:00
JC Brand
6dd4fc5234 Tear down previous session when reconnecting anonymously
Because when we reconnect anonymously, we get a new JID, so it's as if
it's a completely new user.
2019-07-26 19:29:01 +02:00
JC Brand
a1d7076e93 Let initConnection wait for for _converse.api.login
So that the BOSH connection will be restored before we trigger `connectionInitialized`
2019-07-26 18:57:28 +02:00
JC Brand
fd4ba89182 Reconnect when an anonymous connection drops or fails. 2019-07-26 18:50:19 +02:00
JC Brand
ea36d53f78 Re-add the keepalive options.
It's unlikely that `keepalive` needs to be set to `false`, but there are
some edge cases where it might be useful.

Here's a breakdown of the different configurations of `keepalive` and `auto_join`:

---

* auto_login: false, keepalive: true

This is the default config. Users need to log in manually, but then
Converse will try to reconnect them when the page reloads.

* auto_login: true, keepalive: true

Also very popular configuration. Used with `credentials_url` or `prebind_url`.

* auto_login = `true`, keepalive = `false`

Not sure what this could be useful for. No currently known application.

* auto_login = `false`, keepalive = `false`

Useful when you want some kind of specific action to trigger login, but
you don't want to maintain that state across page reloads.

Also relevant when using a websocket connection with anonymous login.
With websocket it's impossible to maintain anonymous sessions across page
reload because the the session gets removed server-side as soon as the
websocket connection drops and the server won't accept a full JID with
password for an anonymous connection anyway (which could happen upon
page reload when Converse tries to login in again if `keepalive` was `true`).
2019-07-26 18:08:38 +02:00
JC Brand
b6b085189b Attempt to restore BOSH session or auto_login before...
triggering connectionInitialized.

That way, when listening for `connectionInitialized`, we'll know when it
fires whether we've attached to a BOSH connection or not.
2019-07-26 16:43:35 +02:00
Weblate (bot)
1ba320ef46 Update from Weblate (#1655)
* Translated using Weblate (Norwegian Bokmål)

Currently translated at 70.9% (268 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/

* Translated using Weblate (German)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/

* Translated using Weblate (Japanese)

Currently translated at 98.1% (371 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Galician)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/

* Translated using Weblate (Lithuanian)

Currently translated at 80.4% (304 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/

* Added translation using Weblate (Portuguese)

* Translated using Weblate (Arabic)

Currently translated at 81.7% (309 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Czech)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 38.4% (145 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Turkish)

Currently translated at 4.8% (18 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/

* Translated using Weblate (Portuguese)

Currently translated at 83.1% (314 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Portuguese)

Currently translated at 82.5% (312 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Romanian)

Currently translated at 34.4% (130 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Romanian)

Currently translated at 38.4% (145 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Romanian)

Currently translated at 54.0% (204 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Arabic)

Currently translated at 86.5% (327 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Romanian)

Currently translated at 54.8% (207 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 63.2% (239 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Portuguese)

Currently translated at 82.8% (313 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Basque)

Currently translated at 94.2% (356 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Galician)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/

* Translated using Weblate (Turkish)

Currently translated at 16.9% (64 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 40.5% (153 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Polish)

Currently translated at 80.7% (305 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 40.2% (152 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 77.5% (293 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Portuguese)

Currently translated at 88.9% (336 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Russian)

Currently translated at 96.8% (366 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2019-07-26 15:03:11 +02:00
JC Brand
c4ad02d4e3 New config setting: muc_fetch_members 2019-07-26 13:32:21 +02:00
JC Brand
c5193be44b Add postrelease make recipe to show dev version number in app 2019-07-25 13:45:51 +02:00
JC Brand
9a7dd99889 Ensure python 3.7 is used for sphinx and bump lerna version 2019-07-25 13:24:16 +02:00
JC Brand
fa2d6cca10 Update developer documentation and buildout dependencies 2019-07-25 12:33:46 +02:00
JC Brand
2546622da3 Trigger events when resizing starts 2019-07-25 06:46:05 +02:00
JC Brand
45e19acfb1 Use cursor: pointer instead of href="#" 2019-07-24 14:09:53 +02:00
Stanislav
d9e0b63683 Fix: use JID from credentials when credentials_url is set (#1638)
* Fix: async SetUserJID
2019-07-23 15:26:46 +02:00
JC Brand
643c40f260 Respect auto_login after finishInitialization.
If `auto_login` is false, we shouldn't log in, so we only try to log in when
it is true. Otherwise we still try to restore the BOSH session (if applicable).
2019-07-23 11:51:51 +02:00