Commit Graph

398 Commits

Author SHA1 Message Date
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