JC Brand
5939f11192
Some work on removing jquery from the controlbox code
2017-11-17 14:42:09 +01:00
JC Brand
9d1c6236ac
Move the xmpp status (e.g. profile) view into separate plugin
2017-11-17 13:32:03 +01:00
JC Brand
cfd5dad9c5
Use [backbone.vdomview]( https://github.com/jcbrand/backbone.vdomview )
...
For the MUCJoinView and the LoginPanel
2017-11-10 22:01:36 +01:00
JC Brand
a6f2877ed9
Disco API refactoring
...
This came out of the desire to let `converse-muc` use the API to
determine whether MUC is supported. However, we don't know the entity
JID before hand and I couldn't think of a good way to query all current
and future entities for a feature.
So `converse-muc` still does it's own thing without the API, but some
refactoring came as a result of attempting.
2017-11-10 21:37:35 +01:00
JC Brand
46ca6c7de2
Make the router global and clear login/register fragments
...
upon login or after registering.
2017-10-31 21:47:27 +01:00
JC Brand
724e66d0e5
Initial code for opening a room via URL
2017-09-29 00:07:16 +02:00
JC Brand
5ac1e00cdb
Don't add fade-in to controlbox. Causes flashes
2017-09-27 00:36:19 +02:00
JC Brand
74b91faf9a
Use browser-based "constraint validation"
...
to validate required fields, instead of doing it manually.
All supported browsers have this feature.
2017-09-25 13:55:17 +02:00
JC Brand
85078b403b
Use change
event instead of blur
.
...
This solves a bug whereby switching to the register form doesn't happen because
validation gets triggered which somehow prevents it.
2017-09-24 10:21:14 +02:00
JC Brand
3d53943f49
Generate pot file from the converse-no-dependencies
build
...
This is a workaround for the fact that getttext doesn't support ES2015 template
literals and it also allows us to scan for translateable strings in our HTML
templates.
2017-09-24 00:30:43 +02:00
JC Brand
92af05d510
Some more refactoring now that we use a vdom for the login panel
...
We can now simply call `render` whenever we want to show an error or
notification message.
The flip side is that the template is now larger and contains more login.
2017-09-24 00:30:43 +02:00
JC Brand
be7f8ab4c4
Use a virtual dom to render the login form
2017-09-24 00:30:43 +02:00
JC Brand
937b310733
Refactor login form to make it more reactive.
2017-09-24 00:30:43 +02:00
JC Brand
9cdb0dde8c
Various changes
...
* In certain places, use native methods instead of jQuery
* Nicer rendering of registration forms
* Use CSS3 fade-in animations.
2017-09-24 00:30:43 +02:00
JC Brand
57d2f9bce8
Add validation message for an invalid JID in the login form
2017-09-24 00:30:43 +02:00
JC Brand
158acbf1d7
Fixes #828 Add routing for login and register URL fragments
2017-09-24 00:30:43 +02:00
JC Brand
7e4fb52f8d
Render register and login forms via links
2017-09-24 00:30:43 +02:00
JC Brand
37fcc6b70e
Hide connection feedback parent element
2017-09-24 00:30:43 +02:00
JC Brand
1613c0d7de
Styling changes now that we don't have tabs.
2017-09-24 00:30:43 +02:00
JC Brand
196a42dc50
Make sure strings get translated and that interpolation is safe
2017-09-24 00:30:43 +02:00
JC Brand
681245584e
Remove Login
and Registration
tabs and consolidate into one panel
2017-09-24 00:30:42 +02:00
JC Brand
bd913734e4
Don't hang indefinitely + nicer error messages
...
when a connection can't be established.
2017-09-08 14:24:38 +02:00
JC Brand
b9b9689668
Fixes #912 maximize
method in converse-minimize
fails...
...
if the `controlbox` is not there.
Also, make `converse-controlbox` and `converse-muc` optional dependencies of
`converse-minimize`.
2017-08-29 12:21:53 +02:00
JC Brand
734991f1ce
Fixes #907 : unnecessary validation error
2017-08-29 10:32:44 +02:00
JC Brand
3b8c2d1b00
Various bug and timing fixes due to the previous refactoring
2017-08-16 14:16:24 +02:00
JC Brand
694eabfc0e
Use promises to determine when to create the controlbox
2017-08-16 13:22:18 +02:00
JC Brand
956340aa8c
Make initialized
a promise and use it in the controlbox
2017-08-16 12:32:15 +02:00
JC Brand
bc6b5ca930
controlbox: Set connected
immediately
2017-08-16 12:32:15 +02:00
JC Brand
3afe5eb8f3
Run the lodash converter only once.
2017-08-15 16:46:55 +02:00
JC Brand
e4d95eb794
Don't load lodash.fp
in converse-core. It's not being used there.
2017-08-15 16:36:43 +02:00
JC Brand
bfeb297ffc
Clarify usage of locked_domain
.
...
Also, declare it in the controlbox plugin, not in core, where it's not used.
2017-08-15 10:23:57 +02:00
JC Brand
27931d3e37
controlbox: Add JID validation to the login form
2017-07-21 20:14:38 +02:00
JC Brand
631ac6108f
controlbox: have only one dropdown menu open at one time.
2017-07-21 20:10:32 +02:00
JC Brand
6fea88fcc3
Add JID validation and error messages to the add contact
form
2017-07-17 22:08:15 +02:00
JC Brand
6ef0536e31
Some work on using es6 promises
2017-07-10 21:14:48 +02:00
JC Brand
9a9eae3fcf
Use esnext to auto-generate es2015 syntax
2017-07-10 17:46:22 +02:00
JC Brand
40e7ee1ae6
Initial stab at using ES2015
...
Mostly replaced ``var`` with ``let`` and ``const``.
Also added a few arrow functions.
2017-07-10 12:49:20 +02:00
JC Brand
f81a94baf1
Move updateSettings
to the private API.
...
Also add an API method for exposing new promises.
Update the plugin and API documentation, specifically concerning the above
changes.
2017-07-05 11:03:13 +02:00
JC Brand
f09d01c930
roster: Move roster push and rosterX handlers to core.
...
There's nothing about them that's view specific.
2017-06-16 11:42:46 +02:00
JC Brand
be28e04c57
roster: render unread messages in tab upon reload
...
Also including css fixes around the unread messages indicator.
2017-06-15 18:38:38 +02:00
JC Brand
e48015df66
Fixes #575
2017-06-15 17:51:56 +02:00
JC Brand
d527f693c2
Updates #890 Destroy and recreate session upon reconnection
...
This ensures that carbons will be activated again.
2017-06-15 17:30:26 +02:00
JC Brand
3181956b61
controlbox: use `sticky_controlbox
` setting to reduce inverse code
2017-06-15 15:01:34 +02:00
JC Brand
d1bafdb38a
Re-render only the tab when num_unread
changes.
2017-06-09 23:45:54 +02:00
JC Brand
b5ecc1fc6a
Expose the fp version of lodash via the API
2017-06-07 09:15:22 +02:00
JC Brand
a128a70d41
Discriminate between which unread messages to indicate per tab
2017-06-07 00:55:57 +02:00
JC Brand
f897fbb7c0
Show number of unread mesages on the "Contacts" tab
2017-06-05 21:42:25 +02:00
JC Brand
bab80a3234
No need to set num_unread, it has a default value.
2017-05-23 18:15:28 +02:00
JC Brand
7c9475e9fc
controlbox: Only render the contacts panel when connected
...
Otherwise it gets rendered multiple times (at least during testing).
2017-05-16 11:54:20 +02:00
JC Brand
b32a8c5391
Update and simplify HTML/CSS for choosing status
...
Should also fix some of the issues mentioned in #847
2017-05-08 21:25:22 +02:00
JC Brand
3ea43c6a0f
Use noConflict
to avoid polluting globale namespace
...
with lodash and Backbone.
2017-04-21 18:06:27 +02:00
JC Brand
9fc61d9302
Bugfix. Endless spinner when trying to log in
...
after rendering the registration form.
2017-03-31 01:54:42 +00:00
JC Brand
27a0560ad3
Consistently use . Fixes failing test
2017-03-03 15:25:05 +01:00
JC Brand
eb82d64426
converse-controlbox: Retain open state after logging in.
2017-03-03 14:43:13 +01:00
JC Brand
9817aedea7
No need to set templates on the _converse object.
...
If it's needed in another plugin, it can simply be `require`'d.
2017-02-19 11:12:26 +01:00
JC Brand
073a95b7e6
Avoid visibility transience and fix failing test
2017-02-15 07:46:24 +00:00
JC Brand
fbdbea223d
Ensure consistent behavior from show_controlbox_by_default
2017-02-14 17:23:22 +00:00
JC Brand
fe6a9ca748
Merge converse-api and converse-core
...
Otherwise `require('converse-core')` can be called, exposing the inner converse
object.
2017-02-14 14:35:52 +00:00
JC Brand
f73a1d3fc0
Don't name the modules.
...
According to the require.js docs this shouldn't be done.
http://requirejs.org/docs/whyamd.html#namedmodules
2017-02-13 14:37:17 +00:00
JC Brand
bfd3e7f0b6
Bugfix. Show custom status, not chat status.
2017-02-13 12:00:46 +00:00
JC Brand
63888dd454
Fix failing tests
2017-02-02 21:55:05 +00:00
JC Brand
0424df9edc
Rename the closured converse object to _converse
...
to indicate that it's private and to differentiate it from the outer "global"
converse object.
2017-02-02 20:43:48 +00:00
JC Brand
9b48b2d6bd
Update plugins to not depend on converse-core
...
To illustrate that this is not necessary (and also not possible with
non-bundled plugins).
2017-02-02 18:34:13 +00:00
JC Brand
b701c4830f
Also use _converse
as pluggable object reference.
2017-02-02 18:34:13 +00:00
JC Brand
b7b9711296
Rename the closured converse object to _converse
...
to indicate that it's private and to differentiate it from the outer "global"
converse object.
2017-02-02 18:34:13 +00:00
JC Brand
081f075aa9
Add eslint with lodash checking and apply its suggestions
2017-02-01 14:02:18 +01:00
JC Brand
0cf9903726
Fix failing tests.
2017-02-01 10:49:13 +00:00
JC Brand
af42bc0696
Only close controlbox when logging out
...
Not when the connection failed due to other reasons (like wrong credentials).
2017-02-01 10:49:12 +00:00
JC Brand
e179811181
converse-controlbox: Fix empty controlbox toggle after disconnect
...
- Remove apparently unused `giveFeedback` method on ControlBoxView
- Don't show old connection feedback when rendering a new login form.
Now also no need to explicitly remove feedback after disconnection.
2016-12-04 16:37:07 +00:00
JC Brand
be25c688ff
converse-controlbox: Use event listeners instead of (removed) overrides
...
Due to changes in `converse-core` the controlbox wasn't aware anymore of
disconnection or reconnection events.
2016-12-04 15:07:46 +00:00
JC Brand
a5f76abcf1
Updates #729 . Minimized chat boxes don't stay hidden
...
Bug got introduced during fix for #677
Eventually had to do a significant refactoring, to more consistently use the
`hidden` class instead of `display: None`. (relevant for #695 )
2016-11-22 17:42:58 +01:00
JC Brand
0c2c7be467
Close the controlbox when logging out...
...
and don't show the online count in the toggle.
2016-11-03 13:59:05 +00:00
JC Brand
5610d759c8
Call removeAll
on rosterview when tearing down.
...
Otherwise RosterContactView objects stay around and keep on listening.
2016-11-03 13:59:05 +00:00
JC Brand
d3090f80bc
Remember which panel was open when reloading the page.
2016-11-02 22:08:20 +00:00
JC Brand
38db959e11
Reconnection fixes. Fixes #712
...
- Remove groupviews, so that they'll get recreated upon reconnection
- Don't call `clearSession` when reconnecting. We want to reuse the
Backbone collections.
- Emit `rosterInitialized` event and use that in converse-rosterview.js
(instead of overriding).
- Refactor `onReconnected` to emit `rosterReadyAfterReconnection`, call
`converse.populateRoster()` and `converse.chatboxes.onConnected()`.
- Recreate the roster view on the `rosterReadyAfterReconnection` event.
2016-11-02 13:13:49 +00:00
JC Brand
e3d59afd80
Use converse
instead of this
, or that
instead of bind
2016-11-02 12:46:29 +00:00
JC Brand
90d1071df0
Load templates in the respective plugins
2016-09-23 12:35:01 +02:00
JC Brand
d8d1c283a7
Let the RosterView render and populate itself
...
instead of having the ControlBoxView do it. This provides for cleaner
separation between the two plugins.
2016-09-21 11:48:43 +02:00
JC Brand
7030495275
Refactor the rosterview.fetch method
...
So that we can also fetch the roster also without the controlbox and rosterview.
2016-09-20 17:38:01 +02:00
JC Brand
713922a9e1
Update to Strophe 1.2.8 and add support for SASL-EXTERNAL auth
2016-09-16 13:06:52 +02:00
JC Brand
89e5bd7c54
Update to pluggable.js 0.0.2
2016-08-31 10:39:11 +00:00
JC Brand
3c9b5bd7a0
More work on session management.
...
When it's not possible to reconnect due to password no longer being cached,
render the login form.
Fixed a bug whereby after one failed reconnection event, reconnection becomes
impossible (due to 'connection' state of the controlbox).
2016-08-23 18:14:09 +00:00
JC Brand
f5b182c365
Set connected
back to true
after reconnect.
2016-08-23 13:25:34 +00:00
JC Brand
4a2048baae
Found a better way to ensure roster is fetched after reconnecting.
2016-08-23 08:53:37 +00:00
JC Brand
59143c1c72
More work on auto-reconnecting and on maintaining sessions.
...
- Added the ability to reconnect to more disconnection causes.
- Make sure the roster is fetched again when reconnecting.
2016-08-19 12:16:55 +00:00
JC Brand
9e8674ef55
Rename ChatBoxView.insertIntoPage
to ChatBoxView.insertIntoDOM
...
to ensure naming consistency, we have the same method on `ChatRoomView`.
2016-06-22 15:54:22 +02:00
JC Brand
081d377881
Move code from plugins to core.
...
Move init of RosterGroups collection and presenceHandler registration out of
the controlbox and rosterview plugins and into core, since this code is
generally useful (indeed necessary) even without those plugins.
2016-06-22 10:25:01 +00:00
JC Brand
7f753040de
Move roster-related models/collections to core
2016-06-21 17:36:40 +00:00
JC Brand
2c6f6bfef2
Merge branch 'soft-dependencie'
2016-06-13 07:45:15 +00:00
amanzur
45a3e643a8
online users count issue-656 ( #657 )
...
* online users count issue-656
* change log entry added for issue 656
2016-06-10 16:27:28 +02:00
JC Brand
62c170273e
Allow plugins to have optional dependencies.
...
This change refactors out the plugin code from converse-core into
src/converse-puggable.js
Additionally, plugins now have an optional attribute `optional_dependencies`
which is an array of dependencies which are "nice-to-have" but not essential.
Work has also been done to ensure that a plugins' dependencies are first loaded
before the plugin itself.
2016-06-10 08:26:29 +00:00
JC Brand
0002c0bd53
converse._tearDown
shouldn't be called from converse-controlbox.js
2016-05-31 10:24:22 +00:00
JC Brand
cb288341fb
Bugfix. Login form doesn't render after logging out
...
when auto_reconnect = false
2016-05-24 09:03:41 +00:00
JC Brand
0564f0f592
Handle case were connection is not defined.
2016-04-13 10:09:47 +00:00
JC Brand
aee232421c
Properly tear down when logging out or disconnecting.
...
Remove interval handler and the user activity handler.
Make sure the connection is reset when logging out.
Also removed the reconnectTimeout, instead debounce the reconnect method by 1 second.
2016-04-08 09:02:06 +00:00
JC Brand
f4c1e0916e
Debounce so that it doesn't get called for each fetched contact
2016-04-07 10:42:35 +00:00
JC Brand
d0c13ea91c
Small translation tweaks and then compiled i18n files
2016-04-07 10:42:27 +00:00
JC Brand
cd3cc412d9
Move updateOnlineCount to controlbox, where it belongs.
2016-04-06 13:14:38 +00:00
JC Brand
94693f2d02
Some refactoring to fix issues with how/when chat rooms are shown
...
- Don't call show in a room's initialize method (instead let the code be more
similar to normal chats, in that it should listen to the "show" trigger).
- Rename chatBoxShouldBeShown to chatBoxMayBeShown
- Implement auto_join for rooms only once boxes have been fetched already.
2016-04-05 11:23:16 +00:00
JC Brand
8e0f8f0a6d
Add the ability to filter contacts by chat state.
...
The roster filter is now also remembered across page loads.
2016-04-02 11:30:54 +00:00