Commit Graph

2820 Commits

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