JC Brand
16faf62d3f
Fixes #1129 Hide "Contacts" section when logged in anonymously
2018-07-16 00:09:54 +02:00
JC Brand
efa5e30596
updates #1069 Highlight currently open private chat in the sidebar
2018-07-04 09:08:22 +02:00
JC Brand
6cd9d2e813
Rename _tearDown
to tearDown
and rebuild
2018-06-07 14:30:10 +02:00
JC Brand
37b622251e
Improve and simplify unread message notifications in the roster
...
Use one event instead of two, by listening to `num_unread` on chatboxes.
2018-06-07 13:40:20 +02:00
JC Brand
57b4dec5a0
Bugfix. Validation messages wasn't being shown
...
due to Awesomplete doing things to the DOM and then confusing Snabbdom.
2018-06-06 18:31:04 +02:00
JC Brand
f7c3351e2b
Merge branch 'master' into webpack
2018-06-04 13:46:27 +02:00
JC Brand
9c6c90a4fc
Move config settings into the relevant plugins
2018-05-31 06:38:40 +02:00
JC Brand
6dc9e8edf1
Use webpack for module bundling
2018-05-25 14:23:32 +02:00
JC Brand
36fd859a88
Store presence info in a separate collection
...
So that we can cache roster data for longer and presence data for
shorter.
2018-05-22 21:09:43 +02:00
JC Brand
e82112715d
Update padding of controlbox elements
...
Instead of padding the container, pad individual elements that need it.
This enables us to have highlighting (e.g. on hover) that spans the full
width of the controlbox.
updates #1069
2018-05-18 15:44:42 +02:00
ChaosKid42
7a36acade5
remove "?" from user-search-query ( #1103 )
2018-05-17 18:26:06 +02:00
JC Brand
b8679063c5
Use the VCards collection for roster contacts
...
Instead of saving the vcard data on the contact model itself
2018-05-05 20:51:14 +02:00
JC Brand
e5cfdca30d
Move roster models into their own module
2018-05-05 20:16:23 +02:00
JC Brand
911ede2886
Small bugfixes.
...
- Filter did the opposite of what it was supposed to do
- Wrong bind context
- Should actually be mam:2, issue was server misconfiguration
2018-05-02 14:30:14 +02:00
JC Brand
dd505ad9da
More fixes now that we don't store the JID under 'fullname'
...
if the fullname is not available.
2018-05-01 20:07:56 +02:00
JC Brand
3d42425083
Some UI improvements
...
- Render images as thumbnails
- Use the image.html template when rendering images from pasted URLs
- Update message and spoiler markup to render avatars
- Use the default avatar as fallback when user doesn't have one
- Instead of 'me' render own name or JID
2018-04-30 15:37:36 +02:00
JC Brand
ce849aaffc
Fix failing tests
2018-03-30 14:23:39 +02:00
JC Brand
faaaa8139a
Properly remove ContactView from the overview
2018-03-30 14:22:53 +02:00
JC Brand
3354083934
Bugfix. Remove view for contact moved to different group
...
Otherwise the contact stays visible under "Pending Contacts" although
the subscription request has been accepted.
2018-03-30 14:22:53 +02:00
JC Brand
e8718ec3d3
Bugfix. Make sure group gets inserted
...
when it's created due to a new contact being added.
Was previously in the wrong place.
2018-03-30 14:22:52 +02:00
JC Brand
c8f72b350b
Disable vcard plugin is use_vcard
is false
2018-03-30 14:22:52 +02:00
JC Brand
0173d28f48
Clear "add contact" form after submission.
2018-03-30 14:22:52 +02:00
JC Brand
b9cdf6b71f
Make sure relevant roster group gets inserted when a new contact gets added
...
by calling `sortAndPositionAllItems`.
Particularly relevant to the "Pending Contacts" group.
2018-03-30 14:22:52 +02:00
JC Brand
e1995c6d4e
Focus input when showing the add contact modal
2018-03-30 14:22:51 +02:00
JC Brand
4f2b040f22
Allow setting a nickname when adding a roster contact
2018-03-30 14:22:51 +02:00
JC Brand
5e8843e8bd
xhr_user_search_url
fixes after some real world testing
2018-03-30 14:22:51 +02:00
JC Brand
95406a149d
Re-add xhr_user_search_url
and autocomplete when adding contacts
2018-03-30 14:22:51 +02:00
JC Brand
f90ca8f7f4
Remove unused class
2018-03-30 14:16:04 +02:00
JC Brand
f0ae8c44ff
Show caret for room, bookmark and group toggles
2018-03-17 11:42:17 +00:00
JC Brand
850c6aa2bd
Fix more failing tests
2018-03-16 23:37:52 +00:00
JC Brand
03d7f07a4c
Bugfix. Chat wasn't being opened when receiving a message.
2018-03-13 19:11:49 +01:00
JC Brand
e344bf769a
New modal for adding contacts.
...
Remove the xhr_user_search and xhr_user_search_url options
Lazily create modals
2018-02-23 16:33:09 +01:00
JC Brand
249ee2b5ca
Bugfix. Method wasn't called
2018-02-22 17:47:08 +01:00
JC Brand
47aad31899
Tricky refactoring.
...
Removed `_converse.chatboxviews.showChat` and trying to simplify how
chats are created and when they're shown.
Prompted by the work to split the MUC views into a separate plugin
2018-02-21 23:47:02 +01:00
JC Brand
b5812e257d
Work on the status modal
2018-02-21 16:17:57 +01:00
JC Brand
6cdaa47493
Fix roster filter functionality
2018-02-19 17:37:47 +01:00
JC Brand
493ecb2e4f
Update markup for the roster filter
2018-02-19 16:08:54 +01:00
JC Brand
2fa8304945
Improve and update roster markup
2018-02-19 15:01:02 +01:00
JC Brand
650ed22da7
Update requesting contacts and tweak bookmark icons
2018-02-16 15:24:17 +01:00
JC Brand
ede21e7c32
Remove controlbox tabs and show rooms and contacts panels together
2018-02-16 14:16:55 +01:00
linkmauve
af6867e638
improve @title on roster item ( #1013 )
2018-02-14 00:43:33 +01:00
JC Brand
a91e9216e6
No need to manually remove. Gets done in the OrderedListView
2018-01-06 20:42:46 +00:00
JC Brand
671691353a
Use Backbone.NativeView instead of Backbone.View
2018-01-03 20:41:03 +00:00
JC Brand
cacba4e6b0
Add test for contacts changing their groups
...
and fix the resulting fallout
2017-12-22 16:58:48 +00:00
JC Brand
c6d2108024
Let RosterView
also be an OrderedListView
2017-12-22 15:53:03 +00:00
JC Brand
a3b80eeb6e
Move RosterView after RosterGroupView
2017-12-22 14:40:58 +00:00
JC Brand
f59048061f
Simplify by removing need to override createItemView
2017-12-22 13:38:20 +00:00
JC Brand
ac643ae63f
Refactor views to use Backbone.OrderedListView
2017-12-22 12:02:18 +00:00
JC Brand
ce1954a9f7
Improved roster performance.
...
Don't sort the roster group for each `chat_status` change. Instead batch
every 500ms.
2017-12-20 16:59:17 +00:00
JC Brand
6c6ef1f1f9
Refactoring of the roster view.
...
* Removed the dependency on jQuery
* Contacts are now shown inside a group element, simplifying the code
2017-12-19 18:44:31 +00:00
JC Brand
9fca25b6a9
Use snabbdom via backbone.vdomview
2017-12-13 22:04:58 +00:00
JC Brand
250b06475e
Bugfix. Disappearing contacts filter when changing the type
2017-11-17 11:30:50 +01:00
JC Brand
adb92a2eda
Two small UX fixes
...
- Don't close the emojis panel after inserting an emoji.
- Focus the message textarea when the emojis panel is opened or closed.
2017-11-12 20:08:37 +01:00
JC Brand
691c48468f
Hide the roster filter by default. Updates #949
...
- Also, use a virtual-dom view for rendering the roster filter.
2017-11-11 09:16:45 +01:00
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