Commit Graph

1361 Commits

Author SHA1 Message Date
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
JC Brand
9a449e3615 comment indentation 2016-03-18 08:49:32 +00:00
JC Brand
a2b8d04d84 Move config settings to the relevant plugins 2016-03-18 08:12:23 +00:00
JC Brand
37001a9bc6 Also send out presence stanza when setting it via API 2016-03-17 05:38:52 +00:00
JC Brand
d3767426f6 Allow stanza listener to be registered without options obj 2016-03-16 18:31:55 +00:00
JC Brand
36a875a402 Add stanza-specific event listener.
Therefore removing the `presence` event again.
2016-03-16 18:12:11 +00:00
JC Brand
1c961ab4d1 Emit an event presence when a presence stanza is received. 2016-03-16 15:59:07 +00:00
JC Brand
302c8d42d8 Move VCard stuff from converse-rosterview to converse-vcard 2016-03-16 13:50:52 +00:00
JC Brand
6506d4745a Call initialized event once everything in core has been set up 2016-03-16 13:50:35 +00:00
JC Brand
2173359718 Set dataType JSON of ajax request of prebind_url 2016-03-16 12:56:11 +00:00
JC Brand
e461b22ff9 disconnect and reset before attempting to reconnect. 2016-03-16 12:44:59 +00:00
JC Brand
08222182c5 Move VCard functionality into separate plugin 2016-03-16 11:21:27 +00:00
JC Brand
5651f76373 Bugfix. onConnected overrides need to return promise. 2016-03-16 10:10:50 +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
df99fa8c0d Use rel=noopener with links that contain target=_blank...
to prevent potential phishing attacks.

More info here: https://mathiasbynens.github.io/rel-noopener
2016-03-16 08:52:45 +00:00
JC Brand
3fd2225fae Don't try to restore if rid, jid and sid are passed in.
Fixes an issue whereby those tokens are passed in but not used and instead
converse attempts to restore the session (and then totally ignores the tokens
when it fails).

Makes sense to me that you'd want your passed in tokens to be used always, even
when there are restorable tokens.
2016-03-15 18:09:50 +00:00
JC Brand
49d58d321c Fix timing bug with minimized_chats not being available in time 2016-03-14 17:20:21 +00:00
JC Brand
eff2335624 Bugfix. Wrong function signature 2016-03-14 17:07:01 +00:00
JC Brand
80c26e708c Add new option strict_plugin_dependencies 2016-03-14 17:03:48 +00:00
JC Brand
45bc7f1180 Remove the need to depend on converse-controlbox and converse-chatview 2016-03-14 17:03:14 +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
82107c0d96 Don't ever remove the _super obj 2016-03-14 15:59:33 +00:00
JC Brand
e87731f6b3 Remove unused var declarations 2016-03-14 14:31:03 +00:00
JC Brand
1676258c38 Move the MAM features to a separate plugin. 2016-03-14 14:04:36 +00:00
JC Brand
df3bcad0b3 Move roster view code into a separate plugin 2016-03-14 14:04:36 +00:00
JC Brand
f55b593791 Use the new plugin helper method updateSettings 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
a1b31cd1ed Initial work on adding support for headline messages. 2016-03-14 14:04:31 +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
d192b34919 onChatBoxFetched renamed to onChatBoxesFetched 2016-03-09 10:54:50 +00:00
JC Brand
6eb08bd42f Bugfix. show method must be debounced per instance
Otherwise it gets debounced for multiple instances and certain chat boxes will
then not get shown.
2016-03-09 10:53:39 +00:00
JC Brand
d893d9782a Improvement in when trimChats gets called
Don't call trimChats when the box is minimized or maximized, instead call it
only when the minimized chats toggle appears or disappears, since that's the
element that adds/removes space.

Also, a fix. 'onShow' has been renamed to 'onMaximized'
2016-03-09 10:26:14 +00:00
JC Brand
7484259024 Bugfix, need to return the chatbox 2016-03-09 10:01:20 +00:00
JC Brand
8b30c60592 Call minimize() not hide() when minimizing 2016-03-09 10:00:28 +00:00
JC Brand
ce9008a56a Rename onShow to onMaximized and add onMinimized 2016-03-09 09:59:25 +00:00
JC Brand
7b2f75ec72 Updated trimChats slightly. 2016-03-09 09:58:22 +00:00
JC Brand
2dbe2fc5a3 Bugfix. Need to set the context when calling a _super method 2016-03-09 08:39:04 +00:00
JC Brand
c793b846fb Only ask for permission once the user is already logged in
updates #443
2016-03-08 22:36:13 +00:00
JC Brand
02faa555bb Recreate dist files. fixes #443 2016-03-08 12:16:26 +00:00
JC Brand
550f7827bf Bugfix. Contact wasn't being sent. updates #443 2016-03-08 12:11:35 +00:00
JC Brand
d92645c8d3 Show a desktop notification when a contact request is received
updates #443
2016-03-08 11:04:10 +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
9aed64d4bf updates #603.
prevous fix wasn't correct. Rename handlers to make it clear which methods are
the event handlers, put them together and make sure docstrings are relevant.
2016-03-08 08:44:45 +00:00
JC Brand
d4c127e196 Fixes #608
The no-jquery build was broken
2016-03-07 17:52:36 +00:00
JC Brand
fd0c9cecb7 Log the err and call with null, then return. 2016-03-07 17:26:31 +00:00
JC Brand
efa4a9ff23 Fixes #577 Add a timeout config var for MAM 2016-03-07 17:16:57 +00:00
JC Brand
4a9146460d Fix random fails in FF due to different module loading times
According to the require.js documentation, if you are using "require" in HTML,
then the data-main attribute should not be used.

http://www.requirejs.org/docs/api.html#data-main

So merged main.js into converse.js, which appears to solve the problem.
2016-03-07 16:35:08 +00:00
JC Brand
4624cc2dc7 Fixes #603
Method has new arg signature now that it's an event handler
2016-03-07 16:10:27 +00:00
JC Brand
c2212833a1 Fixes #607, view.model is undefined. 2016-03-07 14:29:45 +00:00
JC Brand
3690d1c205 Fix. Used the wrong listenere. 2016-03-01 22:40:19 +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
f7725943f8 Emit an event 'contactRequest' when a subscription request is received 2016-03-01 21:57:49 +00:00
JC Brand
8665c0ac1c Bugfix in converse-ping. this was wrong context. 2016-03-01 21:40:49 +00:00
JC Brand
bc42d50a86 Update docs to mention desktop notifications. updates #443 2016-03-01 09:43:44 +00:00
JC Brand
26cb98d963 Move playing of sounds to the notification plugin.
Also add a config setting for the icon shown in HTML5 notificatins.

updates #443
2016-03-01 08:58:36 +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
14c66ff755 Also show HTML5 notifications for chat state changes.
updates #443
2016-02-29 21:59:56 +00:00
JC Brand
578ca540b3 Move RosterContact and RosterContacts back into core.
They're independent of the controlbox and used by other core functions.
2016-02-29 21:29:05 +00:00
JC Brand
7f5962a177 Add plugin for HTML5 notifications. updates #443 2016-02-29 20:59:11 +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
4ebed3c995 We still need the roster in core, so set it there.
Still have to move the roster code out of src/converse-controlbox.js
2016-02-29 20:05:01 +00:00
JC Brand
9fb1c2383e Bugfix. Restore code to get locale from browser. 2016-02-29 20:03:45 +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
c0c4cd9272 Rename builds directory to dist
To conform with how many other projects name their directories.
2016-02-28 09:00:22 +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
c370b3e989 Remove the config file for the no-OTR build.
Custom builds like this should rather be done by removing components in
converse.js and then running `make build`
2016-02-28 08:29:23 +00:00
JC Brand
d00f2d1c3d Figured out how to exclude the locales from the no deps build 2016-02-28 00:53:44 +00:00
JC Brand
fb2e5e27c7 Let the utils work without Jed available. 2016-02-28 00:37:38 +00:00
JC Brand
9d104f17e6 Remove unused dependency in src/locales.js 2016-02-28 00:36:51 +00:00
JC Brand
21a501ca68 Rename src/templates.js to src/converse-templates.js 2016-02-28 00:33:50 +00:00
JC Brand
7e8a11df88 Some cleanup refactoring of how stuff is built.
Strophe.ping.js was still in the no-dependencies build

Also clean up wrapper-end.js a bit as well as the grouping of dependencies in
non_amd.html

Remove locales from utils.js and include it in converse.js so that the locales
can more easily be removed from the build.
2016-02-28 00:33:24 +00:00
JC Brand
77a563955e Move build instructions from Gruntfile to Makefile
Also, remove build-no-locales-no-otr.js
2016-02-27 15:57:30 +00:00
JC Brand
16cdd4444e Fix JSHint issues. 2016-02-26 18:23:30 +00:00
JC Brand
a392f3b769 Fix build of converse.js (build with all deps) 2016-02-26 17:35:01 +00:00
JC Brand
ba05d4e779 Add a build step to create a build of only the converse.js modules
This is now used in non_amd.html and means that the individual converse.js
modules don't need to support the non-AMD case.
2016-02-26 17:28:18 +00:00
JC Brand
e68c51d2fa Explicitly list dependencies for modules
Instead of using the deps-*.js files. Builds will currently break, they still
need to be reworked.

Also moved the refreshWebkit method to utils.
2016-02-23 07:15:37 +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
8bf8c318aa Merge pull request #600 from davec82/master
change xmpp status also on icon-status click
2016-02-20 10:22:41 +01:00
JC Brand
f371b62157 Move XMPP Ping code to a plugin. 2016-02-19 13:02:31 +00:00
Davide Colombo
cde205f673 fix change xmpp status also on icon-status click 2016-02-19 12:49:02 +01: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
Davide Colombo
e934917685 add synchronize_availability option 2016-02-18 12:18:56 +01:00
JC Brand
8c06f917ae Restore @rlanvin's changes that were lost during merge
Fixes #596
2016-02-17 17:09:48 +00:00
JC Brand
767da07f49 Add converse-otr to non_amd.html 2016-02-17 16:52:02 +00:00
JC Brand
2765715f32 Merge pull request #595 from rlanvin/fix-non-amd
Fix non_amd.html
2016-02-17 15:14:00 +01: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
Davide Colombo
2e50ecb9c1 add method to generate random resource and add random resource also for auto_login 2016-02-16 15:29:13 +01:00
JC Brand
a687e87e01 Remove deprecated API and update changelog. 2016-02-16 07:50:52 +00:00
JC Brand
da0c858fe0 Used debounce ineffectually. Fixed now.
The ChatBox.show() method was being called for every invocation, 100ms after
the fact, instead of it being called only once.

Fixed that and also changed to call it at the start.
2016-02-16 07:47:16 +00:00
JC Brand
e94904e4a1 Don't play sound notifications for...
OTR messages which are setting up an encrypted session.
2016-02-16 07:47:16 +00:00
JC Brand
e27dfa060a Add a new template for OTR-related toolbar buttons
The OTR functionality is now fully decoupled and can be removed entirely
without breakage.
2016-02-16 07:47:16 +00: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
JC Brand
dcf09ee924 Add new option include_offline_state which is by default false
We remove the offline state as a choice in the dropdown because
'offline' is not a valid XMPP state and it doesn't propagate across tabs.

Updates: #547
2016-01-18 10:40:59 +00:00
Jose M Rubio
73c24e9b71 no-otr compilation issue: Utils is not defined 2015-12-04 10:54:55 +01:00
JC Brand
d36775fe91 Fixes around resizing of chats.
- The .box-flyout container also needs it's width set upon page load.
- Remove custom height/width upon viewport change (if viewport is small enough).
2015-11-05 10:02:23 +00:00
JC Brand
341d5e746d Update styling for the status change form. 2015-11-03 17:14:13 +00:00
JC Brand
66c029ed3e More CSS and markup fixes after looking in FF.
Changed the icon-* selector to apply only to :before (fixes ugly font rendering in FF).
2015-11-02 00:11:00 +00:00
JC Brand
80d8b89797 Remove the VCard rendering code.
Probably won't make it in next release.
2015-11-01 23:26:24 +00:00
JC Brand
43b9fa0fc8 Initial work on rendering VCard info in chat box 2015-11-01 02:31:59 +00:00
JC Brand
9436f6ed2f Initial updates to the chat head look.
- Round buttons
- Make the head taller
- Wrap name
- Add "view" button for viewing vcard data (needs JS code still).
2015-10-31 18:29:43 +00:00
JC Brand
89c7276d6d Add more sass variables for color variations. 2015-10-31 17:04:54 +00:00
JC Brand
dfcebeb621 Rename participants to occupants. 2015-10-31 16:48:50 +00:00
JC Brand
35a4f9bd7e Update the JS to better render the chatroom config form.
Other small tweaks as well.
2015-10-31 16:18:31 +00:00
JC Brand
4a8b5da197 Some work on nicer rendering of chat room form.
Still needs more work. Needs <fieldset> tags.
2015-10-31 13:02:47 +00:00
JC Brand
bf3891569e Various small CSS fixes and improvements. 2015-10-30 18:47:13 +00:00
JC Brand
6d356817cb Found another form that's not a pure-form yet.
The add contact form.
2015-10-30 17:40:11 +00:00
JC Brand
4619d886ad Add .pure-form to more forms. 2015-10-29 17:17:03 +00:00
JC Brand
e1f41777a4 Updated button styles and update buttons all over the place. 2015-10-29 09:57:52 +00:00
JC Brand
f37fadc318 Added a new color scheme. 2015-10-29 09:29:01 +00:00
JC Brand
aaa8ea36ee Fix CSS for minimized chats (broken after recent refactoring) 2015-10-29 08:12:40 +00:00
JC Brand
8fd20f3ac9 More CSS/styling updates
- Remove currently unused pure modules (forms and menus)
- Update forms (not all yet) markup and css
- Move all controlbox mockups to mockup/controlbox.html

Forms look much better now in mockups but JS and templates still needs updating.
2015-10-29 07:28:09 +00:00
JC Brand
8708b68577 Include CSS from pure.css and update styles and markup a bit. 2015-10-28 20:31:24 +00:00
JC Brand
a89659425d Add new css chat-msg-author as base class. 2015-10-28 09:03:37 +00:00
JC Brand
7ad3c385aa Rename chat-message-* class to chat-msg-* 2015-10-28 08:52:19 +00:00
JC Brand
ca2b40f79c More css refactoring. 2015-10-28 08:49:28 +00:00
JC Brand
ee9f73ab50 Move more Sass out of core into separate files. 2015-10-28 07:33:50 +00:00
JC Brand
37c6925e9c More refactoring of css/sass.
- All chats (boxes and rooms) should now have .chatbox class (for base styles)
- Move specific stuff to new sass files (fonts, chatbox, normalize)
2015-10-27 10:22:19 +00:00
JC Brand
e835a25184 Add jshint checking and fix errors. 2015-10-25 17:55:18 +00:00
JC Brand
ff2910b9ce Fix CSS and horizontal dragresize for chat rooms.
- Rename .chat-body to .chatroom-body
- Upate SASS for chat rooms
- Hide the room occupants view by toggling the class "hidden"
- The chatroom chat area and occupants list are now shown as table cells.
2015-10-24 20:46:58 +00:00
JC Brand
07985ccf54 Fix CSS for the minimized chats toggle. 2015-10-24 20:46:58 +00:00
JC Brand
2749957d6d Add polyfill for .trim 2015-10-24 20:46:58 +00:00
JC Brand
9c16711581 Add polyfill.js with 2 polyfills. 2015-10-24 20:46:58 +00:00
JC Brand
c421c0fef3 Add .flyout class to templates. Declare more vars in Sass. 2015-10-24 20:46:58 +00:00
JC Brand
74aa6021f4 Enable diagonal and horizontal drag-resizing.
Only leftward resizing is allowed since there's no space for boxes to expand on the right.
Text area of chat boxes don't yet resize properly.
Didn't test at all on chat rooms.
2015-10-24 20:46:57 +00:00
Christoph
e20018961f Fix outgoing chat messages not having a msgid when being put into sessionStorage, fixes #467 2015-10-12 11:06:12 +02:00
JC Brand
414265299a Drop dragresize-tm class. Don't set height if not available 2015-09-24 13:55:48 +00:00
Christoph
19ef0f8c71 Fix #461: MUC working with spaces etc. in room names 2015-09-03 16:19:06 +02:00
JC Brand
6369465661 Making a new 0.9.5 release. 2015-08-24 17:56:50 +02:00
JC Brand
a37bcc3058 Don't include moment locales when building without locales. 2015-07-30 15:42:04 +02:00
JC Brand
e8fba4a7d0 Refactored showNewDay to indicate day changes between messages.
updates #306
2015-07-19 13:43:26 +02:00
JC Brand
3ba12580c4 Store the isodate on chat messages in the DOM.
This will be useful later when we want to better place messages in the right
order.
2015-07-19 12:21:49 +02:00
JC Brand
7437cf2b42 Bugfix. Closured converse is not defined in utils. 2015-07-11 13:39:52 +02:00
JC Brand
1261a2525d Use Strophe.RSM for result set management. 2015-07-11 12:03:20 +02:00
JC Brand
5a5d3757ea Move the addEmoticons jQuery plugin to utils.js 2015-07-10 15:02:48 +02:00
JC Brand
c745e1ebff Cherry-pick only those languages from Moment which we support in converse.js 2015-06-22 22:20:02 +02:00
thierrytiti
479bab2ce4 Enhancement #394 Option to allow chatting with pending contacts 2015-06-18 16:31:30 +02:00
Christoph
8f7f3e323c Hide server label in room panel when input is hidden by hide_muc_server=true config 2015-06-11 15:06:11 +02:00
thierrytiti
fb589398ad XEP-0199: XMPP Ping
Use modified StropheJS ping plugin (AMD support)
Add Ping functionality
Add Pong handler

Fix to issue #144:
2015-05-27 18:14:58 +02:00
thierrytiti
7a359562ad Add placeholder for 'Insert a smiley' 2015-05-15 12:01:29 +02:00
Guillermo Bonvehí
70191eac00 Added login-panel placeholder and roster-item Name translations
This will allow to translate 'user@server' and 'password' in the login
screen and also in the roster-item tooltip, there's 'Name:' which can
now be translated
2015-05-08 14:08:09 -03:00
JC Brand
6088eaf9dc Remove strophe.roster.js and update changelog. 2015-05-01 14:50:27 +02:00
JC Brand
34630693b7 Merge branch 'master' into roster_refactor
Conflicts:
	locale/en/LC_MESSAGES/converse.po
2015-05-01 12:37:43 +02:00
JC Brand
e7180f20b1 Add Ukranian translations 2015-05-01 11:16:23 +02:00
JC Brand
3df0c95714 Merge branch 'master' into roster_refactor 2015-04-25 23:37:12 +02:00
JC Brand
c2be6019f7 Remove type="email" from JID input. 2015-04-25 23:34:52 +02:00
JC Brand
96e8a285b7 Merge branch 'master' into roster_refactor 2015-04-21 17:36:13 +02:00
JC Brand
6dc355a02a Show the domain when rendering a legacy registration form.
Also updated the changelog with #377
2015-04-21 17:21:26 +02:00
JC Brand
330b1434bd Completely remove strophe.roster as a dependency. 2015-04-06 20:55:38 +02:00
JC Brand
a2be2567d2 Allow auto_login also with a provided jid and password.
* Update the docs to mention the new ``authentication`` option.
* Update failing tests due to ``prebind`` being replaced with ``authentication``.
* Rename 'manual' value for authentication to 'login' since it's used in both manual and auto cases.
2015-04-02 13:07:59 +02:00
JC Brand
b2b2b2bbc0 Enable automatic anonymous login. 2015-03-22 13:20:24 +01:00
JC Brand
4d3b4380dd Add support for anonymous login. 2015-03-22 12:14:45 +01:00
pzia
a629e0cc61 Hide 'Server' Label when hiding server input 2015-03-17 11:27:43 +01:00
JC Brand
90e4d6cba6 Add new configuration setting "allow_contact_removal". 2015-03-09 19:47:24 +01:00
camaran
c6c48e297f tipe email, more mobile firendly 2015-03-09 16:09:47 +01:00
JC Brand
f73b74a8e3 CSS tweaks. 2015-03-06 12:01:56 +01:00
JC Brand
e01f1ea59a Make sure Strophe is available for other dep configs as well. 2015-03-05 21:33:48 +01:00
JC Brand
6c10d2b7b2 Remove strophe.muc.js completely. closes #307 2015-03-04 23:22:19 +01:00
JC Brand
66bfdbd4c8 strophe-full wrapper has been renamed to strophe. 2015-02-01 18:56:23 +01:00
JC Brand
5a253e32e1 Add AMD support for strophe.muc and strophe.vcard. 2015-02-01 00:50:57 +01:00
JC Brand
eb272c39e0 Formatting changes. 2015-01-30 16:01:00 +01:00
JC Brand
3b0a3b788c Indented code. 2015-01-30 15:56:41 +01:00
JC Brand
0121914cda Make strophe.roster.js an AMD module. 2015-01-30 15:55:46 +01:00
JC Brand
b7643eaba0 Initial work on letting converse.js use the AMD version of strophe.js 2015-01-27 15:10:58 +01:00
JC Brand
5ed0e75ee5 Fix some style issues on the controlbox. 2015-01-16 22:56:23 +01:00
JC Brand
8478b432c3 Lazily call parseJSON on translation data.
Also, moved locales.js to ./src folder.
Add it as dependency to utils.js and remove it from the deps scripts
2015-01-16 22:33:18 +01:00
JC Brand
31cb3d4b6e Fix the non-AMD case. 2015-01-16 22:07:27 +01:00
Guillermo Bonvehi
4843f7efc2 Add fullname and jid to contact's tooltip in roster
It seems title attributes are limited to 512 chars, we will have
to live with that unless a custom tooltip is used.
2015-01-05 03:43:53 -03:00
JC Brand
3de79ba607 Don't render input inside label 2014-12-13 03:23:49 +01:00
JC Brand
2066cdce31 Nicer display of roster filter and add labels to chatrooms form 2014-12-13 00:15:19 +01:00
JC Brand
e4307f7ab8 See below
* Fix login panel rendering bug
* Make registration form i18n aware.
* Make providers link configurable.
2014-12-06 18:58:14 +01:00
JC Brand
03ec659b50 Add another test and another template. refs #117 2014-12-01 20:31:01 +01:00
JC Brand
444734a802 Add form_username.html (should have been added in earlier commit) 2014-11-27 10:41:58 +01:00
JC Brand
67418b3036 Let href point to panel id
so that it properly gets hidden by switchTab
2014-11-27 10:40:50 +01:00
JC Brand
831faf7096 Show domain name in username field of the registration form. updates #117 2014-11-26 21:26:28 +01:00
JC Brand
7125bd1d67 Render form captcha. updates #117 2014-11-24 20:35:00 +01:00
JC Brand
923056925f Show hardcoded urls. Some css width tweaks. updates #117 2014-11-23 22:26:38 +01:00
JC Brand
3dbcdd6171 More work on XEP-0077. updates #117
* On the registration form, show the xmpp.net badge for XMPP provider.
* More CSS and form improvements.
* New template registration_form.html
2014-11-20 11:51:12 +01:00
JC Brand
bfab4fb803 Better error handling, some handling of legacy forms and css fixes.
updates #117
2014-11-19 21:20:36 +01:00
JC Brand
65d4137373 Remove reliance on strophe.register plugin. updates #117 2014-11-18 11:29:12 +01:00
JC Brand
f4096ea9fb More form handling code. updates #117 2014-11-17 13:55:52 +01:00
JC Brand
1c5b27bae7 Add utils method for turning HTTP DOM fields to XFORM fields.
Add registration method for in band registrations. updates #117
2014-11-17 09:44:42 +01:00
JC Brand
e9638e70c7 Initial work on allowing in band registrations. XEP 077 2014-11-16 22:16:42 +01:00
Guillermo Bonvehí
69ccdc9a85 Add more field types to MUC config
Added support for fixed, jid-multi and list-multi types.
2014-11-13 18:18:32 -03:00
Guillermo Bonvehí
fceccf3e96 Fix old roster.js missing route parameter on connect 2014-11-07 15:57:28 -03:00
JC Brand
7bdb7ae5aa Revert "Small change to remove need for jquery-private-external.js updates #269"
This reverts commit d33faa53d0.

Conflicts:
	src/build-no-jquery.js
2014-10-30 15:25:53 +01:00
JC Brand
57d903fd97 Remove config settings which are already in main.js file. 2014-10-30 15:24:32 +01:00
JC Brand
d33faa53d0 Small change to remove need for jquery-private-external.js updates #269 2014-10-30 11:57:25 +01:00
Guillermo Bonvehí
75c68a0dad New build that does not include jQuery
This is useful when you already have jQuery loaded in your page, for
example on a Wordpress site.
2014-10-29 15:47:28 -03:00
Guillermo Bonvehí
5620f007ea Fix locale set during initialize not being used in utils.translation 2014-10-29 13:13:54 -03:00
JC Brand
6f7fb8356a Use mainConfigFile option to avoid having to configure paths again. 2014-10-28 17:40:18 +01:00
JC Brand
55e32c735d Fix tests 2014-10-27 23:06:11 +01:00
JC Brand
7e4c1d6d8d Keep a local customized copy of strophe.roster.js
The new changes made to strophe.roster.js are incompatible with the way
converse.js works.

Will likely replace strophe.roster.js completely.
2014-10-27 21:54:00 +01:00
JC Brand
2f968f7095 More optimizations.
Don't sort the global ContactRosters collection (we only need to sort the
individual groups).
Only add the roster to the DOM once the users have been added.
2014-10-25 12:33:24 +02:00
JC Brand
55c57a346d Move translation factory to utils
So that it can be used by plugins.
2014-10-13 22:02:55 +02:00
JC Brand
970da2acf0 Keep track of groupchat messages... fixes #240
by way of msgid attribute.
2014-10-13 21:15:25 +02:00
JC Brand
1955c611e1 Merge branch 'master' into private-jquery 2014-10-12 11:37:35 +02:00
JC Brand
eaa18cc4c2 Merge branch 'master' of github.com:jcbrand/converse.js 2014-10-10 10:52:41 +02:00
Sergey Fedoseev
ea641607e3 templates: close li tags 2014-10-10 14:35:14 +06:00
Sergey Fedoseev
642302ad60 login_panel.html: remove useless quote character 2014-10-08 01:04:51 +06:00
JC Brand
d6110a1e52 Patch all scripts that rely on jquery to be AMD compatible. 2014-10-07 18:17:19 +02:00
JC Brand
f7c943549b otr.js also has jquery.browser as dependency 2014-10-06 21:10:35 +02:00
JC Brand
6b2dd9b3cb Update build files and created new builds. 2014-10-06 21:10:07 +02:00
JC Brand
f2e42b4111 otr.js also has jquery.browser as dependency 2014-10-06 20:58:54 +02:00
JC Brand
0c83ac4524 Explicitly set jQuery as a dependency of converse.js
Also in utils.js and otr.js (this will help reach to goal of having a private
jquery which doesn't pollute the global $ var).
2014-10-06 20:23:59 +02:00
JC Brand
d8bf1961a7 Making a 0.8.3 release.
The 0.8.2 release didn't include new builds due to an unnoticed build error.
2014-09-22 18:17:40 +02:00
JC Brand
46400efa97 Markup fix 2014-09-22 13:16:43 +02:00
JC Brand
e860343eb2 Bugfix. The chatroom was being joined twice, causing duplication. 2014-09-21 00:19:59 +02:00
JC Brand
dbd45397a3 Move password form for chatrooms to an external template. 2014-09-20 22:59:29 +02:00
JC Brand
0babac2b17 More fixes to properly tear down session after logout.
Fixed problem with Strophe handlers zombies.
Remove zombie handlers for minimized chats (caused duplicate minimized chats).
2014-09-20 15:08:53 +02:00
JC Brand
785919a019 Make login method post.
Avoids username and pw inadvertently being added to the URL if the submit event
handler for some reason fails (which shouldn't happen of course).
2014-09-18 18:49:37 +02:00
JC Brand
90859a9811 New build which fixes the issues with room invite and typeahead. 2014-09-17 23:32:54 +02:00
JC Brand
450ce04fd9 Refactor chat rooms.
When re-attaching to an existing session, chat rooms are fetched from
sessionStorage and we join them again.

However, unless we send a presence of type unavailable before reloading the
page, from the XMPP server's perspective we never left the chat room.

It therefore doesn't send us again the room occupants or room messages.

To send a presence of type unavailable is a hack and not desireable. Rather, we
want to stay in the room and just re-attach to it upon page reload.
In order to do this, we need some new functionality.

* Refactor the chat room sidebar into a new Backbone Model/View combo. (done).
* Store/fetch room occupants in/from sessionStorage (done).
* Store/fetch room messages in/from sessionStorage (not yet done).
* Instead of re-joining a chat room which we never left, just register the event handlers again. (not yet done).
2014-09-12 15:30:28 +02:00
JC Brand
e59071aeea Add the ability to log out of a session. updates #80 2014-09-07 13:18:36 +02:00
JC Brand
31de78f020 Also declare the template paths in main.js 2014-09-06 14:30:21 +02:00
JC Brand
e64153b83f Implement the participants show/hide feature. 2014-09-03 20:04:32 +02:00
JC Brand
4087b8dea1 Made new builds containing room invite feature. fixes #215 2014-09-03 18:02:12 +02:00
JC Brand
67c00d779d Tweak invite widget style and make the placeholder text translateable.
updates #215
2014-08-31 21:29:47 +02:00
JC Brand
ad99e72279 Merge branch 'master' into user-invite 2014-08-31 02:06:02 +02:00
JC Brand
53f87b566e Include the search_contacts templates. updates #216 2014-08-29 16:09:39 +02:00
JC Brand
84c2242c91 Enable typeahead on the input and style the suggestions dropdown. updates #215 2014-08-27 11:16:29 +02:00
JC Brand
f1555774f0 Add typeahead.js as dependency and integrate. updates #215. 2014-08-26 19:59:48 +02:00
JC Brand
1299a1d4ba Add support for filtering by group. update #212 2014-08-11 21:48:48 +02:00
JC Brand
e31ded9f77 Rename jquery.fastLiveSearch.js to utils.js and regenerate 2014-08-08 20:18:42 +02:00
JC Brand
52ce812694 Much better live filter implementation. updates #212 2014-08-08 19:08:47 +02:00
JC Brand
aff91fc683 updates #212
* Make sure that the roster container has a fixed height, so that we can better
check whether the roster is overflowing.
* Call update after inserting the roster into the DOM
2014-08-08 18:00:48 +02:00
JC Brand
ecf667dc33 More tweaks. updates #212 2014-08-07 22:38:30 +02:00
JC Brand
00e05c029b Style the live filter and make sure that it...
only shows when the roster is overflowing. updates #212
2014-08-07 22:18:44 +02:00
JC Brand
1441f4ab64 Add text input to act as live filter. updates #212 2014-08-07 21:33:19 +02:00
JC Brand
26e7e82f5b Build a non-OTR version for the website on IE < 9. 2014-08-05 17:44:53 +02:00
JC Brand
5b430eef1a Don't throw an error when no CSPRNG 2014-08-05 17:29:11 +02:00
JC Brand
ce75bc4737 Override otr.js so that we can fallback gracefully on IE 2014-08-05 16:59:38 +02:00
JC Brand
3fea9a09a8 Add a new build without OTR to be used on IE. 2014-08-05 16:11:20 +02:00
JC Brand
ab934b8573 Turns out we need to patch bigint... 2014-08-04 23:00:43 +02:00
JC Brand
c5f2c88f84 Revert "Use the bigint shipped with newest otr.js"
This reverts commit a7247a7c6d.
2014-08-04 23:00:01 +02:00
JC Brand
a7247a7c6d Use the bigint shipped with newest otr.js 2014-08-04 22:37:55 +02:00
JC Brand
2ff7061ea2 jquery.tinysort is no longer used. 2014-08-04 20:18:51 +02:00
JC Brand
8c20388ba9 Merge branch 'groups-refactor'
Conflicts:
	index.html
2014-08-04 20:15:45 +02:00
JC Brand
539bd2db10 Fixed some problems with rendering roster contacts 2014-08-03 23:55:20 +02:00
JC Brand
3984aadb9f More work (with tests) on showing roster items under groups.
updates #83
2014-07-29 19:53:57 +02:00
JC Brand
482d09777c Fix width for pending and requesting contacts 2014-07-23 18:25:26 +02:00
Stefan Schoettelndreyer
86c250f325 add 'zh'-locale to fix build task 2014-07-21 15:34:28 +02:00
JC Brand
e1a19678ad Allow group headings to be toggleable. updates #83 2014-07-20 19:11:34 +02:00
JC Brand
04d2b3aefd Some initial refactoring to support roster groups. updates #83
Made sure that the non-group usecase is still covered.
2014-07-19 23:45:21 +02:00
JC Brand
a338ede0d1 Replace accept/decline buttons with font icons 2014-07-19 14:50:25 +02:00
JC Brand
6bded11304 Add connection feedback on the controlbox.
Now that the toggle is hidden when the controlbox is visible.
2014-07-14 20:41:26 +02:00
JC Brand
c5ae10d962 Make an extra build specifically for including the website deps 2014-07-06 16:10:27 +02:00
JC Brand
9d84ede2f9 Two website deps (jquery-easing & bootstrap) now managed by bower 2014-07-06 15:56:44 +02:00
JC Brand
166b3bd003 Increase the clickable area for restoring a minimized chat 2014-07-06 12:40:50 +02:00
JC Brand
8aedc3fcf7 Integrate backbone.browserStorage. Fixes #176
Data is now by default cached in sessionStorage and not localStorage.
Can be configured via the "storage" option.
2014-06-30 18:53:58 +02:00
JC Brand
d0411dfb81 Add settings for mustache-like variable interpolation 2014-06-30 14:55:43 +02:00
JC Brand
7e95d3d01d Work on getting a working build for 0.8 2014-06-29 20:49:22 +02:00
JC Brand
27cce2c229 Refactor to store number of unread messages 2014-06-29 15:59:39 +02:00
JC Brand
0d3977d3d4 Remember the state of the minimized chats toggle 2014-06-14 20:32:45 +02:00
JC Brand
7d6595435e Add the logic for toggling minimized chats 2014-06-11 22:01:18 +02:00
JC Brand
ef9fd9617d Fix rendering of minimized chatrooms 2014-06-02 04:47:23 +02:00
JC Brand
afcb49b6b6 Show the consolidation in the mockup. 2014-06-01 20:56:58 +02:00
JC Brand
6e5bf44ada This branch marks the start of a significant conceptual change.
Instead of differentiating between trimmed chats and minimized chats, the two
are now combined into the same thing.

This commit contains some initial work, but functionality is still impaired.
2014-06-01 20:09:09 +02:00
JC Brand
81f3814e32 Refactor code out into backbone.overview 2014-06-01 15:28:52 +02:00
JC Brand
ad51e1c0f7 More working on trimming chats. (still very buggy)
More flesh on the view and superview for trimmed chats.
Add event handlers.
Renamed some methods to make them shorter, more consistent.
2014-05-27 18:34:22 +02:00
JC Brand
2d237f9e6d More work on trimming chat boxes.
Added a view for trimmed chat boxes and a super-view for keeping track of them.
2014-05-27 09:57:06 +02:00
JC Brand
c05c2ee991 Add trimmed chats to templates 2014-05-13 09:26:13 +02:00
JC Brand
0b10ad00fd Some initial work on adding trimmed chat functionality 2014-05-11 20:45:28 +02:00
JC Brand
9b3601314e Add a new toolbar button to clear chat messages
Configuration options have changed a bit.

show_emoticons and show_call_button are now removed. Instead the toolbar is
configured via a new config option: "visible_toolbar_buttons".
2014-04-24 18:10:04 +02:00
Greg Tam
72f95b3ae1 fixed dependencies 2014-04-21 12:25:24 -07:00
JC Brand
bf6474ff6d Upgrade jquery to 1.11.0 and add jquery.browser 2014-04-19 01:52:44 +02:00
JC Brand
7d472eb26d Add new dependency moment.js
Use it to better compare dates when trying to determine whether a message falls
on a different day.

Also upgraded some dependencies' versions.
2014-04-19 01:30:48 +02:00
JC Brand
909f78503e Show "refresh" instead of "start" when already encrypted. 2014-03-09 13:31:43 +02:00
JC Brand
bb0f49cf4d Add a counter to show unread msgs when chat is minimized 2014-03-09 13:31:01 +02:00
JC Brand
9849daacf9 Merge branch 'master' into 0.8
Conflicts:
	bower.json
	converse.js
	docs/CHANGES.rst
	spec/chatbox.js
	tests/utils.js
	tests_main.js
2014-03-09 08:18:00 +02:00
JC Brand
9b3af57d13 Release version 0.7.4 2014-03-05 08:44:01 +02:00
JC Brand
4f2125c20e Simplified by setting height via template, not JS
Also dropped the minimum height restriction
2014-03-01 01:57:20 +02:00
JC Brand
7d58d856b8 Save chat box's toggle state between page loads. 2014-03-01 01:57:20 +02:00
JC Brand
1ce7620b88 Merge remote-tracking branch 'origin' into 0.8
Conflicts:
	converse.js
	docs/CHANGES.rst
	index.html
2014-02-23 02:54:35 +02:00
JC Brand
319a955f65 Add code that allows resize by click+drag.
Removed dragresize.js and instead wrote new much smaller and simpler code
in converse.js.
2014-02-22 23:20:36 +02:00
JC Brand
3687631d2c Refactored, simplified and removed unused code. 2014-02-20 12:40:03 +02:00
JC Brand
fb1ed29c8f Bump release to version 0.7.3 2014-02-12 14:41:56 +02:00
JC Brand
12fc286ca6 Various changes, see below:
- disable drag resizing when chatboxes are minimized.
- refactored chat box and chat room markup so that they are more similar.
- don't make the chat box title clickable if no vcard URL is available
- make only the title text clickable, not the whitespace
- fixed toggling of resized chats
2014-01-27 02:26:55 +02:00
JC Brand
62f6997a25 Chat boxes and rooms can now be resized vertically
The new size is not stored/persisted.
2014-01-23 00:55:52 +02:00
JC Brand
d2358a6a93 Controlbox and its toggle are now mutually exclusive.
When the one is visible, the other is hidden and vice versa.
2014-01-22 23:19:45 +02:00
JC Brand
0bc40eed25 Start updating the templates with the new markup 2014-01-22 20:44:47 +02:00
JC Brand
18cacdc94b More templates refactored into separate files. 2014-01-19 11:22:56 +02:00
JC Brand
feb81a02f3 Move more templates out into separate files. 2014-01-19 06:37:55 +02:00
JC Brand
55b9a4e568 Initial support for external HTMl templates. Updates #77 2013-12-31 01:07:11 +02:00
JC Brand
e729471bbf Event emitting code. Updates #48
Include the event emitting code in converse.js itself and start emitting events.

Still needs tests and to be thoroughly tested manually.
Still needs docs.
2013-12-15 16:58:46 +02:00
JC Brand
c6e57c0051 Add jquery.eventemitter 2013-12-15 15:51:12 +02:00
JC Brand
512a463750 Create 3 different builds.
* converse.min.js
* converse-no-otr.min.js (Without OTR encryption)
* converse-no-locales-no-otr.min.js (Without OTR encryption or any translations)
2013-11-17 16:55:38 +02:00
JC Brand
d1d896a3be HAS_CRYPTO was actually checking for the opposite 2013-11-16 11:52:45 +02:00
JC Brand
36c3a21036 Patch bigint.js so that it doesn't throw an error when a CSPRNG is not present
Instead, we'll check for it in converse.js and just disable OTR if it's not
there.
2013-11-15 23:33:54 +02:00