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
a09db2746c
Only set muc domain once connected
2016-10-27 10:08:05 +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
623c56c89f
Minor refactoring.
...
Split showRoomInfo into two new methods.
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
f60ee4d640
Refactor rooms to have separate handlers for presence and message stanzas
2016-10-13 18:22:37 +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
052dd19252
Initial work on adding chatroom bookmarks.
2016-10-05 23:15:42 +02:00
JC Brand
90d1071df0
Load templates in the respective plugins
2016-09-23 12:35:01 +02:00
JC Brand
89e5bd7c54
Update to pluggable.js 0.0.2
2016-08-31 10:39:11 +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
fdb0425722
Make sure to scroll down after revealing the chat room messages.
2016-08-18 09:08:12 +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
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
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
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
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
01f576e505
Return all rooms or private chat when caling get
without arguments
2016-06-24 10:54:39 +02: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
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
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
JC Brand
854633089d
Add config setting to disable MUC direct invites.
2016-06-10 14:17:10 +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
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
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
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
d9a2c1623f
Make new msgs indicator clickable in chat rooms
2016-05-30 09:45:39 +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
619d970f25
Scroll down on <subject> messages.
...
Also, don't call scrollDown unnecessarily in showStatusMessages
2016-05-27 12:53:07 +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
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
d0c13ea91c
Small translation tweaks and then compiled i18n files
2016-04-07 10:42:27 +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
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
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
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
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
2d846961c2
Use 'type' = 'chatroom' instead of 'chatroom' boolean.
2016-03-21 10:00:15 +00:00
JC Brand
82aa9fec2c
Support for showing headline messages.
2016-03-21 10:00:10 +00:00
JC Brand
8e18d736b4
fixed indentation of comments
2016-03-19 22:16:00 +00:00
JC Brand
a2b8d04d84
Move config settings to the relevant plugins
2016-03-18 08:12:23 +00:00
JC Brand
6618d694b1
No need to override ChatBoxView with MUC-specific method
2016-03-16 09:03:00 +00:00
JC Brand
2fa39f2150
Move dependencies to the plugins that actually use them
2016-03-16 09:02:12 +00:00
JC Brand
9d9f64b2c3
declare namespace in relevant plugin
2016-03-14 16:46:04 +00:00
JC Brand
7039dbe01b
Move chat minimization to a separate plugin
2016-03-14 16:38:43 +00:00
JC Brand
fc251db59e
Let MUC plugin override the chatbox wrapper.
2016-03-14 16:02:43 +00:00
JC Brand
1676258c38
Move the MAM features to a separate plugin.
2016-03-14 14:04:36 +00:00
JC Brand
fe47773c7f
Move ChatView into separate plugin.
2016-03-14 14:04:36 +00:00
JC Brand
8b459c68b1
Call trimChats in the show method of the box view
...
Not in the onAdded handler.
2016-03-09 11:03:06 +00:00
JC Brand
0aa0c02124
Add tests for src/converse-notification.js. updates #443
...
In the process refactored the code being tested.
- Move notifications code in MUC to src/converse-notification.js
- Trigger the 'contactStatusChanged' event in RosterContact and not in
ChatBoxView (which might not exist).
2016-03-08 10:44:27 +00:00
JC Brand
23a1dc4f2b
Some fixes concerning event emitting.
...
Don't make the event "this" context the protected converse object.
Can't trigger multiple data parameters, need to pass an object if there are
multiple values to be sent.
2016-03-01 22:39:45 +00:00
JC Brand
9cce0ff6ae
Add plugin settings to default settings.
...
So that they are retrievable via the API.
2016-03-01 08:57:57 +00:00
JC Brand
cd731ed699
Some refactoring to make plugins easier.
...
- Refactored sound notification to make it a bit more generic
- Split up onMessage
2016-02-29 20:54:34 +00:00
JC Brand
dcd090ff31
Rip out the controlbox code and put it in src/converse-controlbox.js
...
Also fixed an issue w.r.t the plugin architecture. Previously infinite
recursion would happen when more than one plugin was overriding a method.
Resolved now by using a wrapper function that lazily sets the correct super
method.
2016-02-29 16:40:51 +00:00
JC Brand
9ae2f71747
Found more chatroom specific code in converse-core.js
2016-02-29 16:40:51 +00:00
JC Brand
9f9b38f852
Some i18n fixes
...
The __ translate method should only be run *after* converse.js has been
initialized and we know what the actual desired language is
Also fix bug in src/locales.js where wrong langs were assigned to wrong keys.
2016-02-28 08:45:36 +00:00
JC Brand
e79c204241
Refactor the API out into a separate module, src/convers-api.js
...
Plugins are now also updated so that they can get the closured converse object
directly and don't need to rely on _super.
2016-02-20 15:06:12 +00:00
JC Brand
cb241dd594
Moved all the registration code into a plugin
2016-02-19 10:43:46 +00:00
JC Brand
147a3c9e3e
Found more MUC stuff in core.
...
Move the Occupants views and models to converse-muc.js as well as some
MUC-specific config variables.
2016-02-19 09:45:24 +00:00
rlanvin
00caccd1a3
Fix non_amd.html
...
- converse-muc.js was overriding the global "converse" variable
with undefind (the factory function didn't return anything)
- locales was not defined in utils.js in non AMD (not passed in
the factory function)
2016-02-17 10:04:46 +02:00
JC Brand
9eba9989dc
OTR stuff has been moved to a component/plugin in src/converse-otr.js
...
Also fixed errors with converse obj not being defined in the MUC plugin.
2016-02-16 07:47:16 +00:00
JC Brand
576efc4815
Initial work on breaking converse.js up into components
...
First component to remove is MUC which was moved to src/converse-muc.js
The components are written as plugins and use converse.js's plugin machinery.
Update the plugin docs somewhat with new insites found while working on the muc
plugin.
2016-02-16 07:47:08 +00:00