JC Brand
586bbd0e4d
Bugfix. First configure browserStorage
for ChatBoxes
...
before populating the roster.
2016-11-22 09:35:36 +00:00
JC Brand
3b38f7237c
Bugfix. Chatboxes aren't closed when logging out.
2016-11-22 09:12:39 +00:00
JC Brand
c670893058
Bugfix. Arrays in configuration settings were ignored.
2016-11-22 08:55:52 +00:00
JC Brand
5a72466c45
Rename variables to adhere to coding style.
2016-11-22 08:54:17 +00:00
JC Brand
5e9e685219
Mention the actor (if available) when removed from room
2016-11-21 13:10:36 +00:00
JC Brand
e02c044ae4
Refactored notification code
...
responsible for showing messages based on the extended presence information.
- Use DOM API instead of jQuery
- Make info messages overridable (allows also for disabling them)
- Break up large function with inline callbacks into smaller ones
2016-11-21 12:57:22 +00:00
JC Brand
ebc7409d55
Enable new rooms to be configured automatically
...
Via `rooms.open` API method.
2016-11-20 16:42:11 +00:00
JC Brand
9bf00241de
Updates #721 Restore sessions when logging in anonymously
...
together with keepalive.
2016-11-07 18:48:49 +01:00
JC Brand
8c3ffdffbb
Release 2.0.1
2016-11-07 14:43:48 +00:00
JC Brand
d26d41a701
Use 'hidden' class instead of .hide()
. Fixes #706
2016-11-07 14:10:39 +00:00
JC Brand
27035d47dc
Remember toggle state of bookmarks list.
2016-11-03 15:33:56 +00:00
JC Brand
a2f4acdcee
All tests suites now updated and isolated.
2016-11-03 13:59:05 +00:00
JC Brand
3e4095734b
Call _tearDown
when logging out.
...
This is necessary for cleaning up after tests (now that each test has its own
initialized converse).
Should hopefully not cause any issues when logging out during normal use.
2016-11-03 13:59:05 +00: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
50275cce64
Remove shared state between tests
...
Only a small subset of tests currently working with this.
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
e5b2acde06
MUC: Don't send out unavailable presence when connection is lost.
2016-11-02 14:51:23 +00:00
JC Brand
02864fd175
Don't assume the parent is the top-level message element.
2016-11-02 13:42:20 +00:00
JC Brand
151a476084
Find more cases of children
that should be find
.
2016-11-02 13:38:42 +00:00
JC Brand
ed01081240
Use $.find instead of $.children
...
To allow for better template customization.
2016-11-02 13:33: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
0d4993ef86
Merge branch 'master' of github.com:jcbrand/converse.js
2016-11-02 13:13:34 +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
ec9ed96568
Remove {{message}}
interpolation.
...
It's not used and confuses people. Instead the message gets inserted via
`$.text`, to avoid injection attacks.
2016-11-02 11:10:07 +00:00
JC Brand
e63853ee92
Add a logout
event.
...
updates #714
2016-11-02 08:42:24 +01:00
JC Brand
b6c88b92fd
Don't listen exclusively for keypress in a textarea
...
Could be a different element as well.
2016-10-28 13:32:35 +00:00
JC Brand
7b003f1d9a
Bugfix. Handle case where controlbox plugin is not loaded.
2016-10-27 13:22:57 +00:00
JC Brand
6f1ac50893
Move leaky MUC abstractions out of converse-chatview.js
...
In the process also updated `updateSettings` to allow merging.
2016-10-27 14:56:31 +02:00
JC Brand
1b264461d7
Bugfix. Return after disconnection
2016-10-27 10:58:51 +00:00
JC Brand
bc5cd95a98
Various bookmarks fixes.
...
Including:
- Always render bookmarks list
- Hide bookmarks list if no bookmarks available
- Only send bookmarks stanza when appropriate
2016-10-27 10:49:09 +00:00
JC Brand
11c9670fc7
Render bookmarks list again after reconnection.
2016-10-27 10:38:06 +02:00
JC Brand
5b34ca9e37
Init bookmarks upon reconnection
2016-10-27 10:20:10 +02:00
JC Brand
a09db2746c
Only set muc domain once connected
2016-10-27 10:08:05 +02:00
JC Brand
9ea018a512
Trigger onBookmarksFetched
event and use to autojoin rooms
2016-10-27 10:07:45 +02:00
JC Brand
aad90cc9df
Add the ability to set the MUC domain to be used.
...
updates #203
2016-10-26 13:31:18 +00:00
JC Brand
01c3a50cc2
Add code to generically and recursively update user settings.
...
Also moved chatview specific settings.
2016-10-26 14:14:49 +02:00
JC Brand
49500a5f2c
Fix jshint error: undefined $
2016-10-21 14:36:09 +00:00
JC Brand
d12309d70e
Move converse.js to src/converse.js
...
Also remove "jquery", will be loaded implicitly
2016-10-21 13:52:00 +00:00
JC Brand
a51d503ea5
Remove invalid comment
2016-10-20 12:31:15 +00:00
JC Brand
1de2f7145c
Let bookmarks list use same markup/css as the available rooms list
2016-10-18 11:34:46 +02:00
JC Brand
623c56c89f
Minor refactoring.
...
Split showRoomInfo into two new methods.
2016-10-18 11:34:46 +02:00
JC Brand
0fe4031a1b
Close all chat boxes when disconnected (with no reconnection attempt)
2016-10-18 11:34:46 +02:00
JC Brand
2d6d4df1f1
Use requestAnimationFrame instead of setTimeout
...
For better performance.
2016-10-17 13:16:41 +02:00
JC Brand
4b28f3f803
Bookmarks fixes.
...
- Remove bookmark from list when removed from collection
- Only render list after all bookmarks have been fetched
- Properly remove bookmarks from sessionStorage
2016-10-17 11:20:20 +02:00
JC Brand
b832285d93
Markup fix to allow bigger chatview avatar
2016-10-15 00:02:22 +02:00
JC Brand
862af642ff
Move avatar markup to a template and make size configurable
2016-10-14 23:42:54 +02:00
JC Brand
2712bcb7cc
Use strophejs-plugins from NPM
2016-10-13 21:55:39 +00:00
JC Brand
f60ee4d640
Refactor rooms to have separate handlers for presence and message stanzas
2016-10-13 18:22:37 +02:00
JC Brand
43ae702c7a
Only fetch bookmarks once chatboxes can be handled.
2016-10-13 18:08:59 +02:00
JC Brand
5a3917925e
Add a new configuration setting: connection_options
...
Allows you to pass in options for the `Strophe.Connection` constructor.
2016-10-12 14:16:34 +02:00
JC Brand
8d2788c543
Handle case where there aren't bookmarks
2016-10-06 14:21:08 +02:00
JC Brand
fc48e02937
More lazily render the bookmarks list
...
Could still be improved.
2016-10-06 13:21:59 +02:00
JC Brand
0020be34d7
Show a list of current bookmarks in the "Rooms" panel
2016-10-06 12:05:25 +02:00
JC Brand
e39999f3ec
Check bookmarks for nicks when joining rooms
2016-10-05 23:15:42 +02:00
JC Brand
6972066076
Bookmarked rooms will now be automatically opened
...
If configured for it.
2016-10-05 23:15:42 +02:00
JC Brand
e80f001b35
Allow bookmarks to be removed from rooms
...
Refactored the code a bit in the process.
2016-10-05 23:15:42 +02:00
JC Brand
7ca7943706
Indicate whether a chatroom has been bookmarked.
2016-10-05 23:15:42 +02:00
JC Brand
3363041625
_super
has been renamed to __super__
.
2016-10-05 23:15:42 +02:00
JC Brand
3e77deee26
Bugfix in format of IQ stanza to save bookmarks.
2016-10-05 23:15:42 +02:00
JC Brand
052dd19252
Initial work on adding chatroom bookmarks.
2016-10-05 23:15:42 +02:00
Mathias Ertl
1ba68dc8b2
Csp compat ( #695 )
...
* Remove some inline CSS style to improve CSP compatibility
* update changelog
2016-10-03 19:45:06 +02:00
JC Brand
fa4e51f3ba
Handle undefined settings being passed in.
2016-09-30 10:42:15 +02: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
ac2c5f3e4e
Allow the context to be passed in when registering event listeners
...
Similar to how backbone.js does it.
2016-09-21 13:15:45 +02:00
JC Brand
05a577059b
Use converse
instead of this
, to be more explicit.
2016-09-21 11:48:53 +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
600f98afcb
Attempt to mitigate against performance degrading attacks.
2016-09-12 13:13:57 +02:00
JC Brand
89e5bd7c54
Update to pluggable.js 0.0.2
2016-08-31 10:39:11 +00:00
JC Brand
66c7c41888
Emit 'roster' event after updating contacts
2016-08-31 09:59:54 +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
ba67f37473
Only show desktop notifications for error/warn feedback messages
2016-08-23 11:35:16 +00:00
JC Brand
7a428f4dc8
Configure path for almond.js
2016-08-23 09:35:34 +00:00
JC Brand
c65eee9ed3
Use almond.js via npm (instead of bower)
2016-08-23 09:16:12 +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
a2ba3ccd4c
Fixed chat state value, should be chat
not chatty
.
2016-08-23 08:43:20 +00:00
JC Brand
c6d37b57e7
Ability to specify both subject and message for feedback messages
...
This allows for better desktop notification messages.
Also improved the wording for some of the feedback messages.
2016-08-23 08:00:41 +00:00
JC Brand
814845e879
Provide a nicer notification when reconnecting
...
after a dropped connection.
2016-08-21 11:17:06 +00:00
JC Brand
b8aaf751d2
Changes concerning caching of data in the browser.
...
- Add new configuration setting messages_storage
- Hardcode the storage for roster contacts and chatroom occupants to `sessionStorage`.
2016-08-21 10:55:45 +00:00
JC Brand
95a0b91afa
Update 'rooms' api to allow user to pass in room attributes.
2016-08-19 17:16:36 +02:00
JC Brand
1ee7d06a08
Further document the auto_reconnect
option
...
and drop the reconnection timeout to 3 seconds (from 5).
2016-08-19 14:11: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
31f0e069ab
Decided to use 30secs instead of 20.
2016-08-18 10:19:43 +00:00
JC Brand
4d28ae3c11
Tweak timeouts regarding status notifications.
...
Send a <paused/> notification after 10 seconds, instead of 20.
Auto-remove a typing notification in the chat box after 20 secs instead of 10.
This is to avoid situations where the status notification gets
auto-removed while the typer keeps on typing without long enough breaks in
between for <pause/> states, thereby causing the recipient to not be aware that
they're still typing.
2016-08-18 09:28:48 +00:00
JC Brand
fdb0425722
Make sure to scroll down after revealing the chat room messages.
2016-08-18 09:08:12 +00:00
JC Brand
6ac4f2601d
Fixes #677 Chatbox does not open after close
...
Problem was a race condition between hide and show methods.
Solution was to not hide the chat box during the initialize method.
2016-08-12 20:38:39 +00:00
JC Brand
4402798dcd
Don't add resources from message stanzas. Fixes #632
...
For each user we keep a list of currently online resources. These resources
were taken from both presence and message stanzas.
Receiving a message doesn't however indicate that the user is online,
especially in the case of archived messages.
This also abused the semantics of messages, which are meant to indicate
user presence.
2016-08-12 19:45:47 +00:00
JC Brand
1f805fa1e2
Fixes surrounding chat state notifications in MUC.
...
- Send chat state notifications with type groupchat for MUC.
- Don't show own chat state notifications if received from the server.
2016-08-12 17:00:15 +02:00
JC Brand
fe46f2ee77
Chat state notifications are now also sent out from chat rooms.
2016-08-12 12:52:33 +00:00
JC Brand
9d28145724
Bugfix. For reserved rooms, only render config form when they're new.
2016-08-12 10:39:57 +00:00
JC Brand
66d80cc4db
New configuration setting muc_instant_rooms
.
...
This option is by default set to `true` which entails no changes in behavior
compared to previous versions of converse.js.
If set to `false`, then rooms first need to be configured before they can be
joined by other users (so-called "reserved" rooms).
More info on "instant" and "reserved" rooms here:
http://xmpp.org/extensions/xep-0045.html#createroom
2016-08-11 16:05:07 +00:00
JC Brand
cd46e96783
Converse.js's plugin architecture has been moved to a separate repo
...
See https://github.com/jcbrand/pluggable.js
2016-08-11 14:05:25 +00:00
JC Brand
34eb8cdfc4
Add getDefaultNickname
method
...
so that plugins can have a different mechanism for determining the default
nick.
2016-08-11 12:19:43 +00:00
JC Brand
462a43b891
Add new config option muc_nickname_from_jid
...
which if set to `true` will let converse.js automatically take the node part of
a user's JID as their nickname when entering a room.
If there is a nickname clash, then the nickname will be disambiguated by adding
integers to it.
For example, john will become john-1, then john-2 and so forth.
2016-08-11 12:02:35 +00:00
JC Brand
561c138edd
Bugfix. Allow multiple MAM queries to be made simultaneously.
2016-07-28 18:01:37 +02: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
a1e24c95c9
Add nickname to chat message when clicking on room occupant.
...
Allows you to easily mention someone in your message.
2016-07-26 09:31:23 +00:00
JC Brand
0f3526c570
Bugfix. Still render server input field, just make it hidden.
2016-07-26 08:30:26 +00:00
JC Brand
e109c54cf4
Avoid having a separate configuration in demo folder
2016-07-26 08:22:31 +00:00
JC Brand
8a42e241b7
We no longer need to force the user to provide a JID
...
when calling `converse.rooms.open`.
2016-07-26 07:27:28 +00:00
JC Brand
172ce7e0ce
Remove the members-list work and keep the nickname form stuff
...
It's not stable yet and XMPP server support is very patchy.
However, the nickname form work can be merged into master.
2016-07-26 07:14:22 +00:00
JC Brand
0d105b8a6e
make sure room nick is remembered across page loads.
2016-07-26 07:12:56 +00:00
JC Brand
be47ceaab5
In case of a nickname conflict, enable the user to choose a new one
2016-07-26 07:12:56 +00:00
JC Brand
f56b85cff7
Check whether the user has a reserved nickname
...
when they enter a chat room. If they have, we'll use that, otherwise we render
a form where they can specify their nick.
Some chat room tests now fail and still need to be fixed.
2016-07-26 07:12:56 +00:00
JC Brand
cd75b2efab
Let the user choose their nick after opening a chat room
...
This change is with an eye on supporting reserved nicknames, in which case the
user who has a reserved nickname won't have to choose a nick upon joining a
room.
2016-07-26 07:12:56 +00:00
JC Brand
5ffebda8c2
Fix failing tests
2016-07-26 07:12:56 +00:00
JC Brand
c1be16aaab
Bugfix. Store and find occupant views by id, not jid
...
because we don't always have a jid...
2016-07-26 07:12:56 +00:00
JC Brand
93a8dfc024
Indicate whether a room occupant is online or not.
2016-07-26 07:12:56 +00:00
JC Brand
09802cfbde
Add invitees to the member-list of the room.
2016-07-26 07:12:56 +00:00
JC Brand
60f433d12e
Initial work on managing a room's member's list.
2016-07-26 07:12:56 +00:00
JC Brand
88d2142501
Minor improvements around anonymous login.
...
You can now provide the JID of the server either via `converse.initialize` or
via `converse.user.login`.
2016-07-24 10:54:57 +02:00
JC Brand
0c393cf286
Move some utility methods to utils.js
2016-07-18 11:41:31 +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
JC Brand
7de76924b4
Create the minimized_chats obj during _initialization
...
and don't remove during `_tearDown`.
Fixes bug in `trimChats` when logging in again and `converse.minimized_chats`
is undefined.
2016-07-05 06:21:25 +00:00
JC Brand
5ed8dfbe0a
Get chat box views by id
...
Fixes bug when fetching controlbox, which doesn't have a jid
2016-07-05 07:43:34 +02:00
JC Brand
95d7c306d4
Add more logo sizes, resize and pad.
...
Use the 128x128 icon for Desktop notifications
2016-07-02 13:40:51 +02:00
JC Brand
d6ef4fc5ca
Add method hook for adding more attrs to send to the message template
2016-07-01 14:27:26 +02:00
JC Brand
1666a45c6b
Handle case where this
of overridden method is not the pluggable
...
due for example to it being called by an event handler.
2016-06-30 14:15:05 +02:00
JC Brand
01f576e505
Return all rooms or private chat when caling get
without arguments
2016-06-24 10:54:39 +02:00
JC Brand
be122af3ed
Add tests for rendering of error messages.
2016-06-23 08:56:15 +02:00
JC Brand
e06a34a905
Some initial work on show messages with type "error"
2016-06-22 18:47:07 +02: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
9cfec0ba8c
Show requesting contacts at the top of the roster view.
2016-06-21 17:48:18 +00:00
JC Brand
7f753040de
Move roster-related models/collections to core
2016-06-21 17:36:40 +00:00
JC Brand
b90ad3aa6e
Don't check visibility before hiding.
...
In some cases the element is not visible,but we want to set 'display: None'
regardless, for example in cases where you only want one single chat of
multiple to be visible at any one time, while hiding it behind a sidebar.
2016-06-17 17:43:09 +02:00
JC Brand
d2933b896e
Ignore messages without a body
2016-06-17 09:33:09 +00:00
JC Brand
705c043852
Fixes concerning tab visibility
2016-06-17 09:30:47 +00:00
JC Brand
10ca2900d4
Add a "create" parameter to rooms.get
...
to indicate whether the room should be created if not found.
2016-06-17 09:30:31 +00:00
JC Brand
95c5f9d420
Better support for checking whether the page is visible or not.
2016-06-16 16:14:22 +00:00
JC Brand
ee6d7ebd7a
Bugfix. Need to strip the resource to get the room jid
2016-06-16 17:24:58 +02:00
JC Brand
e12c165454
Add new event pluginsInitialized
and use it in converse-notifications
...
By listening for this event before registering event handlers, other plugins
can first get their overrides of those handlers applied.
2016-06-16 17:21:49 +02:00
JC Brand
73bf2f88ea
Bugfix. The rooms.get method didn't work properly
...
because the method it was delegating to was applicable to private chats only.
2016-06-16 17:20:11 +02:00
JC Brand
70f1570984
Bugfix. If controlbox is not there, undefined is returned.:wq
2016-06-16 17:15:27 +02:00
JC Brand
70135ba070
Add new config option notify_all_room_messages
2016-06-16 13:29:49 +02:00
JC Brand
249fb0fec5
Don't increment messages counter for MAM messages.
2016-06-16 10:39:08 +02:00
JC Brand
2c6f6bfef2
Merge branch 'soft-dependencie'
2016-06-13 07:45:15 +00:00
JC Brand
e2f1c68cff
Always show the chat when calling 'open'
2016-06-13 07:36:59 +00:00
JC Brand
380a60aebd
Two fixes related to occupants toggling
...
* Empty chat area doesn't resize when hiding occupants.
* Properly change icon when toggling occupants
2016-06-13 07:36:59 +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
854633089d
Add config setting to disable MUC direct invites.
2016-06-10 14:17:10 +00:00
JC Brand
6258cfa089
Check the "closed" state of the controlbox
...
when trimming chats.
2016-06-10 08:26:38 +00:00
JC Brand
1bf8b80cec
Refactored converse-pluggable to remove all deferreds
...
by not attempting to load `optional_dependencies` via require.js.
Instead, we just expect them to be plugins and to have been loaded already.
2016-06-10 08:26:38 +00:00
JC Brand
454f8ef034
Let converse.initialize return a deferred
...
and use that in the tests, instead of a callback.
2016-06-10 08:26:38 +00: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
3ca6108083
Add controlbox back as dependency of MUC.
...
Will have to come up with some other way to disable it in cases where it's not
needed.
2016-06-06 20:52:05 +00:00
JC Brand
eb3252542e
Split showChat into two methods to allow easier overriding.
2016-06-06 07:50:10 +00:00
JC Brand
600650a4c7
Let the headline plugin work without dragresize
2016-06-06 07:50:10 +00:00
JC Brand
5b80d67a98
Return before trying to extend the object
...
when strict_plugin_dependencies is set to `false`.
2016-06-03 19:25:09 +02:00
JC Brand
66242fc2f2
Remove the controlbox as a dependency of converse-muc.
2016-06-03 18:47:23 +02:00
JC Brand
1b8ab4c4ec
Refactor code into insertIntoDOM method
...
To make overridding it easier.
2016-06-03 13:56:00 +02:00
JC Brand
6c99c51c74
New API method converse.rooms.close()
.
2016-06-03 08:41:13 +00:00
JC Brand
f60a0512d9
Emit an event when the roster is fetched from the cache
...
We already emit an event when the roster is fetched from the XMPP server,
similarly, it would be useful to know when the roster was instead fetched from
the cache.
2016-06-01 16:04:06 +00:00
JC Brand
f9528e7144
Pass the jid to restore
...
if it's defined, then we want the extra check that the jids match, otherwise
we might be attaching to someone else's session.
2016-05-31 12:25:09 +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
7398d41405
Some improvements to constructPresence
...
Don't <show> 'offline'.
Only include status_message when explicitly passed in as a string.
2016-05-31 09:40:18 +00:00
JC Brand
f70a3c3ed2
Add new configuration variable: default_state
2016-05-31 09:37:42 +00:00
JC Brand
2805bf8020
Add log
method to API.
2016-05-31 07:20:36 +00:00
JC Brand
b4aeb94279
Don't use sound/desktop notification for OTR messages.
2016-05-30 18:19:10 +00:00
JC Brand
6bfcce5fcb
Don't ignore incoming messages from current JID
...
they might be MAM archived messages.
Fixes #650
2016-05-30 17:30:14 +00:00
JC Brand
2b88db812d
Don't show "new messages" indicator for archived messages
2016-05-30 17:18:07 +00:00
JC Brand
a050015e61
Add processing hints to chat state notifications
...
So that they're not stored in MAM.
2016-05-30 16:53:31 +00:00
JC Brand
bd23a7751a
Add processing hints to OTR messages
...
so that they're not stored in MAM and not forwarded.
updates #553
2016-05-30 16:52:26 +00:00
JC Brand
5993fba1d4
Fix MAM issue. Messages weren't being queried for properly
...
because the archive ids of messages weren't being stored.
2016-05-30 16:19:05 +00:00
JC Brand
128317692d
Wasn't explicitly scrolling down if the chat was already visible.
2016-05-30 14:32:05 +00:00
JC Brand
d9a2c1623f
Make new msgs indicator clickable in chat rooms
2016-05-30 09:45:39 +00:00
JC Brand
848126638e
Make the new msg indicator clickable
2016-05-28 12:25:44 +00:00
JC Brand
b6fcc9b79d
Don't render unescaped urls.
2016-05-28 11:28:32 +00:00
JC Brand
5a1b308edd
Render images from URLs
2016-05-28 11:13:49 +00:00
JC Brand
c738d085c4
Indicate to the user when there are unread messages
...
further down in the chat box.
2016-05-28 10:07:11 +00:00
JC Brand
82ee7f694e
Don't ignore messages sent to different resource
...
But make this behavior configurable. Updates #647
2016-05-28 06:36:24 +00:00
Kamran
b82e0f3136
Fix for issue #648 ( #649 )
...
* Updated onDisconnected method to fire disconnected event. Issue #648
* Updated docs/CHANGES.md
2016-05-28 00:31:58 +02:00
JC Brand
619d970f25
Scroll down on <subject> messages.
...
Also, don't call scrollDown unnecessarily in showStatusMessages
2016-05-27 12:53:07 +00:00
JC Brand
032fe0d417
always scroll down when user sends a message
2016-05-27 12:42:31 +00:00
JC Brand
bbc23764e7
Initial work on keeping track whether the user scrolled
...
so that we don't scroll down while the user is reading messages further up.
2016-05-27 10:07:43 +00:00
JC Brand
e923fbf2d1
Set i18n to empty obj in cases where there's no locales
...
This lets variable interpolation still work (if Jed is loaded)
2016-05-26 13:02:53 +02:00
JC Brand
22041b3d7f
Bugfix, room subject wasn't being shown. Also added a test for it.
2016-05-25 09:22:27 +00:00
JC Brand
7b006f31d4
Fix failing test.
...
When sending a MUC message, fullname should be the user's nick in the chat room.
2016-05-25 09:00:25 +00:00
JC Brand
2473fb133a
On 2nd thought, don't query the msg text
...
I'm afraid it might get very expensive.
2016-05-25 08:31:35 +00:00
JC Brand
29c2a96481
Bot message doesn't appear when it has the same id as its command
2016-05-25 07:54:58 +00:00
JC Brand
aaaacf2513
Also show the day for the first received messages.
...
Until now, new days were only indicated for messages received on different days
*after* the day's messages.
2016-05-25 06:24:42 +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
6550544b41
Bugfix. Bind to right context.
2016-05-24 08:41:59 +00:00
JC Brand
c8e4ae13ea
No need to explicitly send unavailable presence, Strophe does it for us.
2016-05-24 08:06:38 +00:00
JC Brand
0d2e49a976
Bugfix. Don't hide the roster filter when it's actually being used
...
The filter was being hidden if the roster was not big enough to require a
scrollbar, but the roster might not be big enough because the roster is
actually being applied.
2016-05-24 07:58:54 +00:00
JC Brand
a2e465f49f
Send presence of type 'unavailable' when logging out.
2016-05-23 09:48:51 +00:00
JC Brand
e0c6626c6f
Add deprecation warnings for events that will be removed.
2016-05-23 09:48:26 +00:00
JC Brand
277527e9b7
Fix a typo.
2016-05-19 13:35:51 +00:00
JC Brand
af89109670
Bugfix. Flush connection just after connection.
...
Solves a weird problem I've encountered with PubSub and Prosody, whereby a
returned HTTP response is not received by the browser. Underlying cause is
still unknown, but is BOSH related and it appears to be that the HTTP request
being responded to by Prosody is no longer open/valid.
2016-05-11 09:10:27 +00:00
JC Brand
c243aba98f
Add jid
method to converse API, to retrieve the user's JID.
2016-05-10 08:08:42 +00:00
JC Brand
218000551d
Add the ability to replay transcripts of chat logs.
2016-04-28 14:58:09 +00:00
JC Brand
09457d8461
Properly handle notifications for groupchat messages
2016-04-28 14:58:09 +00:00
José María Rubio Moral
902cf0720e
Feature/add catalan language ( #634 )
...
* feature add catalan language
* feature add catalan language
2016-04-14 11:05:22 +02:00
JC Brand
d2ee62da71
Make sure that there is a valid connection when login API is called
...
In the process I had to refactor some methods which required the mock
connection of tests to be changed as well.
2016-04-13 15:11:50 +00:00
JC Brand
a969d010cb
Don't try to reconnect on auth fail.
2016-04-13 12:09:16 +00:00
JC Brand
e09328df6a
Add login
API method.
2016-04-13 11:52:28 +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
6d766f684f
Scroll down when maximizing a chat
...
Otherwise maximized chats are scrolled to the top, showing the oldest messages.
Ideally we'd probably like to remember the scroll position, and show that, but
this would require some significant refactoring.
2016-04-05 11:54:50 +00:00
JC Brand
38322c7795
Hide the minimized chats toggle immediately
...
Otherwise the hide event can prevent a consecutive show event.
This bug becomes apparent when maximizing a minimized chat in a screen with not
enough space.
Another box will have to be minimized, which causes first a hide and then a
show event on the minimized chats toggle.
2016-04-05 11:49:34 +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
64eb5d2f4a
Fix grammar
2016-04-04 10:34:23 +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
JC Brand
885c553e2e
Bugfix. Login panel wasn't being rendered after logging out
2016-04-02 03:43:04 +00:00
JC Brand
3787a34435
Create a mobile-specific build of converse.js
...
This build doesn't include the converse-minimize and converse-dragresize
components.
Also regenerated the other builds.
2016-04-01 13:37:53 +00:00
JC Brand
a6c3b46237
Move the drag-resize code into a separate component.
2016-04-01 12:46:19 +00:00
JC Brand
a9a9368439
Bugifx. rooms weren't shown if converse-minimize was disabled.
2016-03-31 15:01:27 +00:00
JC Brand
1fbc7e0f3b
Use attemptNonPreboundSession for reconnections.
...
Fixes reconnects for certain usecases not yet covered.
2016-03-31 13:11:31 +00:00
JC Brand
e0d1a32fdb
Attempt to reconnect when authfail happens
...
and auto_login is true and credentials_url is set.
Trying to handle the case where tokens are used for credentials_url (and the
token is expired).
Not yet 100% happy with this implementation.
2016-03-31 12:32:11 +00:00
JC Brand
6b3fbc9998
Give feedback of error messages via Desktop notifications
2016-03-31 12:25:38 +00:00
JC Brand
1c375d5821
Cleaner separation between converse-mam and converse-chatview
...
Also add the ability to disable MAM for certain chats (such as the headlines chat).
2016-03-31 09:17:39 +00:00
JC Brand
ea9665df4b
Add the option sticky_controlbox, to disable closing it.
...
updates #622
2016-03-31 09:17:32 +00:00
JC Brand
a477970428
Ignore type error messages as headline messages.
2016-03-31 08:54:09 +00:00
JC Brand
4c6bd1f49c
Cleaner separation between minimize/trimming feature and core
...
One visible effect is that when this component is now removed,
minimize buttons are not visible on the chat boxes.
updates #622
2016-03-31 08:40:25 +00:00
JC Brand
2cbf20c6db
Add the ability to fetch credentials for auto_login
...
via the new config option credentials_url
2016-03-31 08:38:43 +00:00
JC Brand
8e3c97ae61
Some fixes to minimization of chats. Updates #622
...
Don't call trimChats in onChatBoxAdded event. Reduntant because it will be
called after maximization and after being shown.
Add new method getShownChats and don't trim if only one or zero chats are being
shown.
Don't trim chats when in responsive mode.
Don't call trimChats unnecessarily in the render method of the trimmed chats
thingy.
2016-03-30 12:18:45 +00:00
JC Brand
868aacb2fc
Controlbox fix. Make sure to initialize the view again.
2016-03-29 15:41:27 +00:00
JC Brand
bd576c74d2
Fix. Looks like it's better to have it a function.
2016-03-29 15:41:06 +00:00
JC Brand
3815d77cc1
Make 'connected' an attribute.
2016-03-29 13:57:33 +00:00
JC Brand
a6b6ad5e9e
Add 'connection' API grouping and 'connected' API method.
2016-03-29 13:41:10 +00:00
JC Brand
556d264747
Remove "optimization" code no longer used or relevant.
2016-03-29 11:50:50 +00:00
JC Brand
2eb727f9f1
Bugfix. stanza name is passed in separately.
2016-03-29 09:48:49 +00:00
JC Brand
2869485c1e
Fixes to trimming of chats.
...
- Don't trim if not connected.
- Move trimChats call to converse-minimized
- Immediately hide view to avoid race conditions.
2016-03-28 14:59:23 +00:00
JC Brand
8f601e8c94
Found more stuff in core that should go to converse-minimize
2016-03-28 14:08:50 +00:00
JC Brand
ed4b9a85cc
Remove ChatBox views when they get closed.
...
Previously views were only hidden, but not removed. This was an unnecessary
"optimization" which introduced unnecessary complexity.
Problem solved was that closing minimized chats didn't dereference the model
for hidden "normal" chat views, causing an exception to be raised when trying
to log out.
2016-03-28 12:23:36 +00:00
JC Brand
f353fe8611
Bugfix for headline messages.
...
Couldn't handle messages with no "from" attribute.
Some refactoring to add code that checks if a messages is a headline to the
utils module.
Updated tests. Add sinon so that we can test returned value of spy.
2016-03-28 10:51:32 +00:00
JC Brand
b3e9a177e2
Merge pull request #617 from lixmal/master
...
Remove split of fullname. Fixes #609
2016-03-28 10:28:38 +02:00
JC Brand
95b81f13c1
Add support for showing headline messages in notifications
2016-03-22 08:45:54 +00:00
JC Brand
946e9fed5d
Add new MUC option auto_join_rooms
.
...
Fixes #156
2016-03-22 08:15:52 +00:00
JC Brand
fc7f50887a
Refactored MUC plugin to not have to override ChatBoxes collection.
...
Instead we use event handlers.
2016-03-22 07:49:25 +00:00
JC Brand
1f2840035b
Bugfix. contact is a map, not a Backbone.Model
2016-03-22 07:15:48 +00:00
JC Brand
b18059fc04
Bugfix. We no longer use the 'chatroom' bool
2016-03-21 11:33:34 +00:00
JC Brand
d3c97486dd
Work around Prosody not properly setting type for headline messages
2016-03-21 10:40:52 +00:00
JC Brand
a4c4d6d2d3
Don't break when roster is not defined
2016-03-21 10:40:47 +00:00
JC Brand
2d846961c2
Use 'type' = 'chatroom' instead of 'chatroom' boolean.
2016-03-21 10:00:15 +00:00
JC Brand
3aefba3200
Change ping plugin to not have to use overrides.
...
Had to add a `reconnect` event to core.
2016-03-21 10:00:15 +00:00
JC Brand
82aa9fec2c
Support for showing headline messages.
2016-03-21 10:00:10 +00:00
Viktor Liu
ad036ea75f
Remove split of fullname. Fixes #609
2016-03-20 01:47:51 +01:00
JC Brand
8e18d736b4
fixed indentation of comments
2016-03-19 22:16:00 +00:00
JC Brand
fa69bb1b0a
trimChats called in converse-minimize. Return the view.
2016-03-19 21:56:55 +00:00
JC Brand
55593245f3
converse-otr should depend on converse-minimize
...
Also generated new dist files.
updates #616
2016-03-19 13:34:03 +00:00
JC Brand
ae6a7f4b02
Option to ignore certain JIDs' chat state notifications
2016-03-18 09:11:43 +00:00