Commit Graph

63 Commits

Author SHA1 Message Date
JC Brand
f0debc61ab Refactor i18n so that only relevant translations are fetched
instead of bundling all translations in the dist file.
2017-09-25 12:49:10 +02:00
JC Brand
32d574039d Translateable strings must not be template literals
xgettext doesn't support them yet, which causes errors in the pot/po files.

https://savannah.gnu.org/bugs/?50920

updates #909
2017-08-23 12:00:49 +02:00
JC Brand
694eabfc0e Use promises to determine when to create the controlbox 2017-08-16 13:22:18 +02:00
JC Brand
273da9e876 Move chatboxes collection and overview into separate plugin 2017-08-16 12:32:15 +02:00
JC Brand
b1e5cb26a1 rosterview: When filtering, contacts in closed groups appear. 2017-07-21 18:48:55 +02:00
JC Brand
e59168a360 rosterview: show filter when there are 10 or more contacts
Instead of checking if there's a scrollbar. Otherwise the filter disappears
when all groups are collapsed.
2017-07-21 18:47:43 +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
5ab1693136 logging: Add deprecation warning for updateSettings
and also use the Strophe.LogLevel levels for logging in general.
2017-07-05 11:33:55 +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
cc0f613118 rosterview: Include fullname (or JID) in tooltip for better UX 2017-06-15 11:27:05 +02:00
JC Brand
c9ecd3cd4d Only initiate OTR for new messages. 2017-06-14 19:43:02 +02:00
JC Brand
d1bafdb38a Re-render only the tab when num_unread changes. 2017-06-09 23:45:54 +02:00
JC Brand
4f94a1f193 Refactor code that increments unread messages counter
Removed the "fetching_messages" hack.
2017-05-16 11:18:58 +02:00
JC Brand
023a68458c Initial work on showing unread messages indicator for chat rooms 2017-05-15 19:08:08 +02:00
Novokreshchenov Konstantin
7c057910a8 Inconsistent unread messages count updating #873 (#874)
* Consistent unread messages count updating on ChatBoxView, Minimized ChatBoxView, RosterView and page's title

* Add tests for checking unread messages count updates in different GUI parts

* Update docs/CHANGES.md

* document windowStateChanged event in events.rst
2017-05-03 09:06:28 +02:00
JC Brand
b07e6291ea Ensure that chats are opened when contacts are clicked. 2017-04-24 15:57:23 +02:00
JC Brand
d825a15baa Clear when maximizing a chat box 2017-04-24 15:57:22 +02:00
JC Brand
f3d29e016e Show unread messages counter next to roster contacts 2017-04-24 15:57:22 +02:00
JC Brand
9faf9c3d6f Don't rerender the text input when filtering contacts 2017-04-21 19:37:11 +02:00
JC Brand
f3373c44fd Fixes #850. .where method doesn't match numbers. 2017-04-21 18:06:28 +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
7ededd2379 Bugfix. class wasn't being toggled 2017-04-13 14:10:52 +00:00
JC Brand
d2eadbdce4 Use classList API 2017-04-06 23:21:52 +02:00
JC Brand
550cc51724 Some work on removing jQuery from converse-rosterview 2017-03-30 16:50:52 +02: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
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
fddcd1c6cf Improved roster filter UX.
Keep the focus in the input after filtering.
Prevent form submission from reloading the page.
2017-02-13 15:07:46 +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
ebbde138db Add the ability to whitelist/blacklist plugins. 2017-02-03 18:26:27 +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
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
ca5a00d36b Some cleanup and remove unused file. 2017-02-02 18:30:08 +00:00
JC Brand
82665d17fb By default allow chatting with pending/requesting users 2017-02-02 14:57:17 +01:00
JC Brand
081f075aa9 Add eslint with lodash checking and apply its suggestions 2017-02-01 14:02:18 +01:00
JC Brand
bd81a98ffa converse-rosterview: Remove the rosterview when tearing down.
It gets created anew when reconnecting or logging in.
2016-12-06 11:06:21 +00:00
JC Brand
c3b2a913bb Don't open the controlbox on requesting contacts.
Can get annoying very quickly
2016-11-22 17:41:57 +01: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
ab76f1da44 Let core populated the roster, and send the initial presence
This allows for cleaner separation between core and rosterview, making it
easier to remove that plugin for more stripped down deployments.
2016-09-21 15:06:48 +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
89e5bd7c54 Update to pluggable.js 0.0.2 2016-08-31 10:39:11 +00:00
JC Brand
a2ba3ccd4c Fixed chat state value, should be chat not chatty. 2016-08-23 08:43:20 +00:00
JC Brand
e28aba5a59 Fixes #645. When accepting a contact request...
the contact didn't appear under the pending contacts list.
2016-07-28 10:35:43 +00:00
JC Brand
01e10a9b24 Bugfix. Don't call Jed's translate method
before converse.initialize has been called. Otherwise we won't get
translations.

Updates #669
2016-07-18 11:34:31 +00:00
JC Brand
71381e2f22 Show requesting contacts when filtering by chat state.
Also add an initial test case for filtering by chat state.
2016-07-18 08:42:07 +00:00