Commit Graph

362 Commits

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