Commit Graph

1005 Commits

Author SHA1 Message Date
JC Brand
268c4b9389 Add support for receiving messages in random order.
Needed for ejabberd support.

updates #306
2015-07-20 20:07:29 +02:00
JC Brand
8d84d5ed03 Bugfix. Duplicate messages slipped through if they were forwarded. 2015-07-20 19:42:36 +02:00
JC Brand
388012f2cd Workaround for ejabberd...
which doesn't support getting the item count of archived messages.
See here: https://xmpp.org/extensions/xep-0059.html#count

So we don't first fetch a count of archived messages instead try to fetch the
messages themselves immediately.

updates #306
2015-07-20 09:57:28 +02:00
JC Brand
79fba8a6c6 Bugfix. Didn't call debounced method.
Causing the chat box to not appear when a new message is received.
2015-07-20 09:54:56 +02:00
JC Brand
1675109e71 Two changes, see below.
- Don't play a sound notification for forwarded messages.
- Bugfix. Return when no chat box returned.
2015-07-19 23:54:45 +02:00
JC Brand
7ff38896e9 Refactored the code showing messages and day indicators.
Fixes the issue where a topmost day indicator wasn't shown when doing infinite
scrolling upwards.
2015-07-19 23:23:02 +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
06a6d6c4d0 Refactor out code for showing a new day in the chat box. 2015-07-19 12:22:10 +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
6bd0037cbb Save the chat content area on the view.
To reduce $.find queries.
2015-07-19 12:08:43 +02:00
JC Brand
1a7a5e8054 Add a spinner when loading during infinite scrolling.
updates #306
2015-07-18 21:39:49 +02:00
JC Brand
ec02d34af9 Improvement. Don't lose your place with infinite upscroll.
updates #306
2015-07-18 09:20:13 +02:00
JC Brand
796582d96f Refactoring: got rid of the maybeFetchArchivedMessages method.
updates #306
2015-07-18 00:08:21 +02:00
JC Brand
3b2b4ed6c7 Some improvements to scrolling. 2015-07-17 23:46:02 +02:00
JC Brand
36306c7418 Improve support for infinite scrolling of arhived messages.
updates #306
2015-07-17 23:13:43 +02:00
JC Brand
99c7b9cb95 Add a new emitted event: serviceDiscovered.
Gets thrown every time converse learns of a supported server service.
Useful when 3rd party code wants to use API methods that depend on the service
being discovered first.
2015-07-17 20:34:48 +02:00
JC Brand
10e53468fb Initial work on adding infinite scrolling for archived messages.
updates #306
2015-07-17 20:11:13 +02:00
JC Brand
080d86e7fe Show most recent archived messages first.
- Also ensure that the archive.query API always return messages chronologically.
- Fix docs which wrongly state that null can be passed in.

updates #306
2015-07-17 17:56:47 +02:00
JC Brand
8625d1daba Add initial support for fetching and showing archived messages.
In the proces I added converse.chatboxes.getChatBox which allowed me to
remove the getWrappedChatBox method.
2015-07-17 16:49:58 +02:00
JC Brand
d992efc34b Optimization: only query for MAM prefs when necessary
updates #306
2015-07-17 16:43:20 +02:00
JC Brand
393dd6150d Use the Strophe.NS.XFORM constant 2015-07-17 16:42:00 +02:00
JC Brand
6cd9fb5500 Merge branch 'master' into mam 2015-07-14 10:43:35 +02:00
JC Brand
7fd475e2a3 Avoid adding a falsey value as resource. fixes #440 2015-07-14 10:27:40 +02:00
JC Brand
1a9771c717 Test code which receives archived messages and calls callback
updates #306
2015-07-12 23:58:07 +02:00
JC Brand
dca0472e80 For archive.query, call callback once after receiving all messages.
updates #306
2015-07-12 16:29:04 +02:00
JC Brand
9abbd1e8f0 Allow a Strophe.RSM object to be passed in to archive.query.
updates #306
2015-07-11 14:55:02 +02:00
JC Brand
ae58e3d1be Merge branch 'master' into mam 2015-07-11 13:53:28 +02:00
JC Brand
1766aa75f2 Bugfix: keepalive and autologin aren't mutually exclusive.
fixes #439
2015-07-11 13:51:44 +02:00
JC Brand
a0d344c7c4 Add better support for the results from a MAM query.
updates #306
2015-07-11 13:40:02 +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
b77d76b364 Started adding the API for querying archived messages. 2015-07-11 06:36:44 +02:00
JC Brand
eeeaddbe04 Add the ability to read and set MAM preferences. 2015-07-10 15:24:13 +02:00
JC Brand
2442eb74f4 Use Strophe.NS and only advertise enabled features. 2015-07-10 15:07:32 +02:00
JC Brand
5a5d3757ea Move the addEmoticons jQuery plugin to utils.js 2015-07-10 15:02:48 +02:00
JC Brand
3d7f5eda8e Some explanatory comments 2015-07-10 10:35:33 +02:00
JC Brand
eae706690f Renamed some methods and added docstrings, for clarity. 2015-07-04 10:24:00 +02:00
JC Brand
6736a5bce4 Test carbons of user's own sent messages.
Found and fixed a bug in the process.
2015-07-03 11:55:13 +02:00
JC Brand
0afa7ec188 Don't carbon copy OTR messages. 2015-07-03 11:41:14 +02:00
JC Brand
c2ccb2c693 New test and fixes to the message handler. updates #431 2015-07-02 11:23:52 +02:00
JC Brand
7703b9b33c Bugfix. Check if CSI is enabeld before sending. 2015-07-02 11:23:19 +02:00
JC Brand
b310d8a143 Add more logging to try and debug 431 2015-07-02 10:41:11 +02:00
JC Brand
722c172fbe Ensure that node and domain parts of the user's JID are lower case.
updates #234
updates #431
2015-07-01 19:44:14 +02:00
JC Brand
734d5b65ba Bugfix. Didn't add "bind". 2015-07-01 19:44:14 +02:00
JC Brand
d8c29c7e3f Make sure text is logged instead of XML.
Otherwise the log output is truncated when people copy paste from the console
(for bug reports).

updates #431
2015-06-29 11:57:37 +02:00
JC Brand
b47069b4f6 Add, test and document an API method for setting the user's status.
fixes #367
2015-06-27 21:21:27 +02:00
JC Brand
f73f61e622 Expose is_chatroom attribute on chat boxes returned by the API 2015-06-27 08:44:14 +02:00
JC Brand
0426f47941 Send out less active/inactive chat state messages.
Don't send out 'active' and 'inactive' chat state messages on blur and focus of chat box.
These events happen too often, causing lots of unnecessary messages.
2015-06-27 07:35:11 +02:00
JC Brand
14c868f134 With keepalive, don't send out a presence stanza on each page load. 2015-06-27 07:33:16 +02:00
JC Brand
9f7174dedc Replace $.proxy calls with bind (which is polyfilled in strophe.js) 2015-06-27 06:36:25 +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
JC Brand
98f6ea8a3f Merge pull request #428 from thierrytiti/chat-with-pending
Enhancement #394 Option to allow chatting with pending contacts
2015-06-22 21:30:24 +02:00
JC Brand
0c67d2117b Bugfix. Just return locale string id. 2015-06-22 20:31:51 +02:00
JC Brand
e999f2c6df Merge branch 'i18n-momentjs' of https://github.com/thierrytiti/converse.js into thierrytiti-i18n-momentjs
Conflicts:
	converse.js

Also refactored the code to adhere to the style guide.
2015-06-22 19:54:51 +02:00
JC Brand
56cd540f5d Update changelog after merge. 2015-06-22 18:55:02 +02:00
JC Brand
ed3be3730c Merge branch 'master' of github.com:emmanuel-florent/converse.js into emmflorent 2015-06-22 18:51:12 +02:00
JC Brand
21a3b44050 Don't send CSI or auto_away/xa stanzas when not auth'd
This is to deal with reconnects. Originally @thierrytiti checked for
`connection.connected` but I think that might still pose a problem when
reconnecting is in process and the user is not yet authenticated again.

This makes pull request #426 unnecessary.
2015-06-22 18:39:12 +02:00
JC Brand
868435173f Decouple automatic away and XEP-0352 support.
- Add new config option csi_waiting_time for CSI support.
- The auto_away and auto_xa options won't send out CSI stanzas if csi_waiting_time is 0
- Update docs and add tests for both features.
2015-06-22 00:01:31 +02:00
JC Brand
7551c629bd Rely on Strophe's keepalive function instead of our own.
I recently added keepalive functionality to Strophe, similar to what was
already in converse.js. It's stable enough now that we can rely on it
instead.
2015-06-19 18:01:42 +02:00
JC Brand
66386d5b25 Rely on "pagehide" first if it's available.
This is because "pagehide" is fired in more situations and because unload
is not supported on mobile Safari.
2015-06-19 18:00:22 +02:00
JC Brand
c47c8bd7eb Use "strict" mode again and fix styling.
We "use strict" outside of the function that gives issues on Safari.
2015-06-19 17:58:28 +02:00
thierrytiti
479bab2ce4 Enhancement #394 Option to allow chatting with pending contacts 2015-06-18 16:31:30 +02:00
eflorent
fdfd98ac82 Fix simple type on variable name closes #427
At some point an improbable condition reached a typographic error.
2015-06-16 21:03:57 +00:00
JC Brand
9a2ed106c7 Bugfix. Don't reconnect when disconnect was due to auth err. 2015-06-07 18:29:36 +02:00
JC Brand
94514dfe1e Attempt to reconnect only after 5 seconds. 2015-06-07 18:26:32 +02:00
JC Brand
d6bb3f8502 Small changes to connection status handler.
* Rename onConnStatusChanged to onConnectStatusChanged
* Provide human readable debug feedback on onConnectStatusChanged
2015-06-07 18:23:29 +02:00
JC Brand
f86ef934e8 Refactor the session resumption code and fix a bug after recent merge.
Split the code into two new methods for the prebind and non-prebind
usecase.
2015-06-05 14:48:16 +02:00
JC Brand
085d91b546 Provide support for browsers which don't have beforeunload event. 2015-06-05 14:48:16 +02:00
JC Brand
334f095774 Merge branch 'master' into plugins-refactor 2015-06-04 12:11:56 +02:00
JC Brand
a77744d867 Two trimChats bugfixes. See below.
- TrimChats was called before a newly maximized chat had its final width which
  prevented it from working as intended.
- We cannot check for available space by using the width of the #conversejs
  element anymore, since it now has variable (auto) width. So we check against
  the body width instead.
2015-05-31 14:50:41 +02:00
JC Brand
f4edf75c72 Bugfix. Fetched chat boxes weren't being shown automatically. 2015-05-31 14:46:12 +02:00
JC Brand
bf61122805 Avoid trying to retrieve non-existing models. fixes #415 2015-05-31 14:39:28 +02:00
JC Brand
a412bd92c4 Merge branch 'MUC-toggle-Call' of https://github.com/thierrytiti/converse.js into thierrytiti-MUC-toggle-Call 2015-05-29 10:12:40 +02:00
JC Brand
66420962f7 Make sure the pong handler is always registered.
47e00ae005
2015-05-28 10:59:10 +02:00
thierrytiti
0745cdeaca toggleCall already inherits from ChatBoxView 2015-05-28 10:31:04 +02:00
JC Brand
47e00ae005 Various bugfixes.
- HAS_CSI might be called before features have been received. Instead, set a
  flag whenever a feature is received and check for that flag.
- Converse.ping was sending stanzas to the bare jid instead of to the domain.
- The handler that updates the date the last stanza was received must return
  true so that it gets called again.
- Only register the Pong handler if Ping is enabled.
- Rename lastMessage to lastStanzaDate to make it more clear.
2015-05-27 21:53:15 +02:00
JC Brand
e0a58efcfa Linting and code formatting.
Also use and add a Strophe namespace for CSI.
2015-05-27 21:49:12 +02:00
JC Brand
8e5d481e1c Merge branch 'auto-away' of https://github.com/thierrytiti/converse.js into thierrytiti-auto-away
Conflicts:
	converse.js
2015-05-27 20:01:22 +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
f75b3a075a I18N: detect language for MomentJS
user language detection in order to format date and time in correct
locale
2015-05-27 14:29:22 +02:00
thierrytiti
24b204e8a4 Offline Pretty Status
add offline as possible case to enable translation
2015-05-26 18:36:17 +02:00
thierrytiti
7366bb709d MUC: missing toggle Call handler and function
the Call button is visible but no action is done
2015-05-26 16:39:06 +02:00
JC Brand
fc1768d12d Fixes #406.
Call to registerRosterXHandler and registerPresenceHandler on onReconnected give exception.
2015-05-21 17:04:56 +02:00
JC Brand
6afcc0fbe1 Bring lang detect code in line with coding style.
Change html files so that we auto-detect the lang now.
2015-05-20 19:31:59 +02:00
JC Brand
1d0ffe34ab Merge branch 'detect_lang' of https://github.com/thierrytiti/converse.js into thierrytiti-detect_lang 2015-05-20 19:20:17 +02:00
thierrytiti
a660f853c1 XEP-0352: Client State Indication
XEP-0352 support added to Auto Away Mode
2015-05-20 12:12:08 +02:00
JC Brand
6dcda4ad42 Ensure that roster contact's jids are bare 2015-05-18 11:42:29 +02:00
JC Brand
9db289df86 Bugfix. Automatic anonymous login didn't work if keepalive=false. 2015-05-16 16:28:23 +02:00
JC Brand
6260ba2864 Bugfix. Don't overwrite _super every time an override is made. 2015-05-16 16:27:51 +02:00
JC Brand
ea687d67f9 Merge branch 'master' into plugins-refactor 2015-05-15 14:48:12 +02:00
JC Brand
68bcc9d0eb Merge pull request #399 from thierrytiti/bugfixes
Bugfix. fullname is null
2015-05-15 14:41:18 +02:00
JC Brand
96df8dea97 Merge branch 'Placeholder-for-translation' of https://github.com/thierrytiti/converse.js into thierrytiti-Placeholder-for-translation
Conflicts:
	src/templates/toolbar.html
2015-05-15 14:39:02 +02:00
thierrytiti
7a359562ad Add placeholder for 'Insert a smiley' 2015-05-15 12:01:29 +02:00
JC Brand
3ea3ac52a3 Merge branch 'master' into plugins-refactor 2015-05-15 11:32:33 +02:00
thierrytiti
e64c19fc18 Bugfix. fullname is null
wrong callback argument mapping in XmppStatus initialize: fullname is
null
2015-05-15 11:05:26 +02:00
JC Brand
cd759a7174 Fixes around using bare jid for roster and chats.
- Make sure the bare jid is used as roster contact id.
- Save the resource when creating a new roster contact
- In getWrappedChatBox, get roster item by bare jid
- In getWrappedChatBox, make sure the chat box is created from bare jid
2015-05-15 00:33:23 +02:00
JC Brand
3fc0ef1e70 Remove snippet of code that's not being used. 2015-05-15 00:33:23 +02:00
thierrytiti
e35c5a4fa3 Indentation 2015-05-14 13:55:39 +02:00
thierrytiti
be102de031 Bugfix if auto_away=0 and auto_xa>0
In this case, it will force changing presence even if the user
specificly set another status.
2015-05-13 16:25:26 +02:00
thierrytiti
6034932523 Update converse.js 2015-05-13 13:57:22 +02:00