Commit Graph

364 Commits

Author SHA1 Message Date
Emmanuel Gil Peyrot
f2ecf3c010 Remove executable bit from files which don’t need it 2017-12-24 17:05:01 +00:00
JC Brand
ac643ae63f Refactor views to use Backbone.OrderedListView 2017-12-22 12:02:18 +00:00
JC Brand
32621b8327 Clear chat_state timer when closing chat 2017-12-19 19:17:38 +00:00
JC Brand
6c6ef1f1f9 Refactoring of the roster view.
* Removed the dependency on jQuery
* Contacts are now shown inside a group element, simplifying the code
2017-12-19 18:44:31 +00:00
JC Brand
8dae284e6f Log reason when catching errors 2017-12-18 12:20:39 +00:00
JC Brand
5eabf4008e Render "create account" link via a VDOMView and hide when connecting 2017-12-14 12:30:50 +00:00
JC Brand
8cd75aa09c Move ChatBox, Message and Messages to converse-chatboxes 2017-12-06 22:09:46 +01:00
JC Brand
c26ccf5e01 Remove jQuery as dependency for converse-mam.
Also, if a message has no `archive_id` attribute, then do a time-based MAM query.
2017-12-02 14:26:28 +01:00
JC Brand
9d1c6236ac Move the xmpp status (e.g. profile) view into separate plugin 2017-11-17 13:32:03 +01:00
JC Brand
87213bf90a Rename getPromiseWrapper to getResolveablePromise
Let a promise be returned instead of a wrapper, but glue the `resolve`
and `reject` methods onto it
2017-11-10 21:37:35 +01:00
JC Brand
007e608f32 More work on combining the inverse/converse builds
- Use `enabled` method for plugins
- Rename `converse-inverse.js` to `converse-fullscreen.js` and make it a
  core plugin.
- We're no longer making separate mobile and inverse builds

No longer a need to whitelist/blacklist plugins for inverse to work.
2017-11-02 16:41:06 +01:00
JC Brand
754ad7a027 Initial work on combining the converse and inverse modes
- Adds new config setting: `view_mode`
- `converse-singleton` is now a core plugin and its behavior depends on `view_mode`.
2017-11-02 14:21:29 +01:00
JC Brand
46ca6c7de2 Make the router global and clear login/register fragments
upon login or after registering.
2017-10-31 21:47:27 +01:00
JC Brand
e8e20fbf93 Make sure to emit upon reconnection 2017-10-31 20:38:52 +01:00
JC Brand
2d747bb287 Various changes. See below.
* Update localisation/translation documentation due to recent changes.
* Remove `moment_locales.js` and instead load the moment locales in `src/i18n.js`
* Mention how to load the fullscreen version. Refs #939
2017-10-31 20:38:51 +01:00
JC Brand
9862d747a9 Refetch the roster from the server after reconnection.
From the perspective of the XMPP server, this is an entirely new login,
and therefore as per RFC-6121 the roster SHOULD be queried, making the
client an "interested resource".

https://tools.ietf.org/html/rfc6121#section-2
2017-10-31 20:38:51 +01:00
JC Brand
0a7c20a1e2 Log incoming and outgoing XML stanzas in different colors 2017-10-31 20:38:51 +01:00
JC Brand
4dad60c8d6 Include timestamps in debug logs 2017-10-31 20:38:51 +01:00
JC Brand
05c3a5cad6 Move translation machinery into a separate module 2017-10-31 20:38:51 +01:00
JC Brand
79080b3569 Routing fixes
* Check if `Backbone.history.start()` has been called before.
* Only call it after routes have been registered.
* Use route for switching between login and register forms
2017-09-28 23:29:37 +02:00
JC Brand
50064ec1fd Translation bugfix. Wait until after locales attribute is there 2017-09-27 00:33:58 +02:00
JC Brand
80b3692131 More work in removing locales from builds 2017-09-26 18:27:41 +02:00
JC Brand
f0debc61ab Refactor i18n so that only relevant translations are fetched
instead of bundling all translations in the dist file.
2017-09-25 12:49:10 +02:00
JC Brand
92af05d510 Some more refactoring now that we use a vdom for the login panel
We can now simply call `render` whenever we want to show an error or
notification message.

The flip side is that the template is now larger and contains more login.
2017-09-24 00:30:43 +02:00
JC Brand
937b310733 Refactor login form to make it more reactive. 2017-09-24 00:30:43 +02:00
JC Brand
4063bbfc1c converse-register: Consolidate validation and error reporting 2017-09-24 00:30:43 +02:00
JC Brand
7cfe81ea1f Fix failing tests.
Somehow the tests are flaky when the router sets a URL fragment for login or
registration, so I've now added an event handler which does the work without
setting the URL fragment.

The router is still there so that one can manually link to a URL that has the
registration form open. (Issue #828)
2017-09-24 00:30:43 +02:00
JC Brand
43bbae9006 Don't require auto_login to be true when using the API to log in 2017-09-24 00:30:43 +02:00
JC Brand
158acbf1d7 Fixes #828 Add routing for login and register URL fragments 2017-09-24 00:30:43 +02:00
JC Brand
f908463ab9 Clear connection feedback after login 2017-09-08 18:18:55 +02:00
JC Brand
bd913734e4 Don't hang indefinitely + nicer error messages
when a connection can't be established.
2017-09-08 14:24:38 +02:00
JC Brand
c9913bf6ac Fix failing tests 2017-08-29 12:29:56 +02:00
JC Brand
32d574039d Translateable strings must not be template literals
xgettext doesn't support them yet, which causes errors in the pot/po files.

https://savannah.gnu.org/bugs/?50920

updates #909
2017-08-23 12:00:49 +02:00
JC Brand
75301d2875 Bugfix. info called on object that doesn't implement interface Console 2017-08-21 12:52:18 +02:00
JC Brand
016bca74b8 console.warn is not supported on FF < 52 2017-08-21 11:29:06 +02:00
JC Brand
694eabfc0e Use promises to determine when to create the controlbox 2017-08-16 13:22:18 +02:00
JC Brand
956340aa8c Make initialized a promise and use it in the controlbox 2017-08-16 12:32:15 +02:00
JC Brand
273da9e876 Move chatboxes collection and overview into separate plugin 2017-08-16 12:32:15 +02:00
JC Brand
e4d95eb794 Don't load lodash.fp in converse-core. It's not being used there. 2017-08-15 16:36:43 +02:00
JC Brand
bfeb297ffc Clarify usage of locked_domain.
Also, declare it in the controlbox plugin, not in core, where it's not used.
2017-08-15 10:23:57 +02:00
JC Brand
a9d1e5c235 Don't use forEach on nodeList objects (not supported by all browsers). 2017-08-08 15:32:53 +02:00
JC Brand
a9589cba71 Don't expose 'connected' as a promise.
'reconnected' cannot be used as a promise (because it's recurring),
so to avoid confusion let's not have a 'connected' promise either.
2017-07-21 15:09:50 +02:00
JC Brand
7850c38faa disco: Create new plugin converse-disco.
We can now support feature discovery for multiple entities (although we
currently still only query for the user's own XMPP server).
2017-07-21 15:09:50 +02:00
JC Brand
00484280c2 core: Catch and log errors that might happen during initStatus 2017-07-21 15:09:50 +02:00
JC Brand
c012c2c1af Don't show duplicate sent groupchat messages in Slack chat rooms 2017-07-19 08:28:51 +02:00
JC Brand
d9a61746a2 Bugfix. Server disco features forgotten between logouts. 2017-07-18 10:46:46 +02:00
JC Brand
6fea88fcc3 Add JID validation and error messages to the add contact form 2017-07-17 22:08:15 +02:00
JC Brand
e3d2abf0ec emoji: Make sure emojis are also rendered for ascii emoticons 2017-07-16 12:50:59 +02:00
JC Brand
284e884766 Add js-xss and use it to sanitize message HTML 2017-07-15 19:15:48 +02:00
JC Brand
e75b6ad694 Recreate promises whenever initialize is called. 2017-07-11 17:05:01 +02:00
JC Brand
6ef0536e31 Some work on using es6 promises 2017-07-10 21:14:48 +02:00
JC Brand
9a9eae3fcf Use esnext to auto-generate es2015 syntax 2017-07-10 17:46:22 +02:00
JC Brand
40e7ee1ae6 Initial stab at using ES2015
Mostly replaced ``var`` with ``let`` and ``const``.
Also added a few arrow functions.
2017-07-10 12:49:20 +02:00
JC Brand
8c1c665e2e core: Some more logging improvements. 2017-07-10 10:43:13 +02:00
JC Brand
5ab1693136 logging: Add deprecation warning for updateSettings
and also use the Strophe.LogLevel levels for logging in general.
2017-07-05 11:33:55 +02:00
JC Brand
f81a94baf1 Move updateSettings to the private API.
Also add an API method for exposing new promises.

Update the plugin and API documentation, specifically concerning the above
changes.
2017-07-05 11:03:13 +02:00
JC Brand
ea04b11724 Try to fix what appears to be a timing bug 2017-06-27 09:29:46 +02:00
JC Brand
095e7add86 mam: Upgrade MAM support to version 2 2017-06-23 22:58:47 +02:00
JC Brand
66fd9a9f28 muc: Fix: after reconnecting, already open room didn't receive new messages 2017-06-23 20:19:38 +02:00
JC Brand
53643ab541 core: Close chats when logging out, before disconnecting
Otherwise rooms cannot be exited properly.

Also, no need to call `_tearDown` in `logOut` when `connection.disconnect` gets
called since it will get called afterwards in the handler.
2017-06-23 18:21:00 +02:00
JC Brand
796edb03fe Updates #890. Make sure to clear session data
Otherwise carbons aren't re-enabled after reconnection.
2017-06-16 14:55:40 +02:00
JC Brand
f09d01c930 roster: Move roster push and rosterX handlers to core.
There's nothing about them that's view specific.
2017-06-16 11:42:46 +02:00
JC Brand
d527f693c2 Updates #890 Destroy and recreate session upon reconnection
This ensures that carbons will be activated again.
2017-06-15 17:30:26 +02:00
JC Brand
1f82b7dfe4 Create utils method isSameBareJID. Refs: #894 2017-06-14 22:31:44 +02:00
JC Brand
c9ecd3cd4d Only initiate OTR for new messages. 2017-06-14 19:43:02 +02:00
JC Brand
41bb8b5da7 Make `converse-roomslist` a core (i.e. by default whitelisted) plugin 2017-06-14 10:49:21 +02:00
JC Brand
b5ecc1fc6a Expose the fp version of lodash via the API 2017-06-07 09:15:22 +02:00
JC Brand
a128a70d41 Discriminate between which unread messages to indicate per tab 2017-06-07 00:55:57 +02:00
JC Brand
5e783e70e4 Lay the groundwork for being able to have separate ChatRoom models 2017-05-23 18:16:47 +02:00
JC Brand
4f94a1f193 Refactor code that increments unread messages counter
Removed the "fetching_messages" hack.
2017-05-16 11:18:58 +02:00
JC Brand
c5383ac22f chatview: trigger 'add' event when fetching messages
Otherwise they don't appear when reloading the page.

I'm not completely happy with the resulting workaround to avoid that messages
restored from sessionStorage increment the unread messages counter, but it'll
have to do for now.
2017-05-15 18:37:54 +02:00
JC Brand
4994615824 core: Only throw error when trying keepalive without JID for prebind 2017-05-15 16:47:10 +02:00
JC Brand
ea207ad6be Don't override credentials_url password with connection password
Causes login failure when one-time tokens are used.
2017-05-11 14:46:24 +02:00
JC Brand
7eecd6b1dd Move method closer to other relevant ones 2017-05-11 10:42:10 +02:00
JC Brand
0c61a5d791 core: Refactor common code into restoreBOSHSession 2017-05-11 10:42:10 +02:00
JC Brand
d50992b130 bookmarks: Fix remaining broken tests. 2017-05-09 09:45:12 +02:00
JC Brand
0bd0798e34 Use the Backbone defaults functionality 2017-05-08 21:28:56 +02:00
Novokreshchenov Konstantin
7c057910a8 Inconsistent unread messages count updating #873 (#874)
* Consistent unread messages count updating on ChatBoxView, Minimized ChatBoxView, RosterView and page's title

* Add tests for checking unread messages count updates in different GUI parts

* Update docs/CHANGES.md

* document windowStateChanged event in events.rst
2017-05-03 09:06:28 +02:00
JC Brand
15f962ad6d Add converse-singleton to the mobile build.
This will make the unread messages feature work.
Update so that new chats are opened in the background.
2017-04-24 15:57:23 +02:00
JC Brand
c81599931c Fix failing tests based on recent unread message changes 2017-04-24 15:57:22 +02:00
JC Brand
f3d29e016e Show unread messages counter next to roster contacts 2017-04-24 15:57:22 +02:00
JC Brand
f3373c44fd Fixes #850. .where method doesn't match numbers. 2017-04-21 18:06:28 +02:00
JC Brand
3ea43c6a0f Use noConflict to avoid polluting globale namespace
with lodash and Backbone.
2017-04-21 18:06:27 +02:00
JC Brand
f0deac9ec5 Updates #849
Refactor locales code to store the currently chosen locale as
`_converse.locale` and use that in converse-notifications.js
2017-04-19 14:37:52 +02:00
JC Brand
d781ebfd37 converse-core: More work on removing jQuery.
Only $.Deferred is still being used in converse-core.
2017-04-11 09:14:26 +00:00
JC Brand
3d2bfb5c8b converse-core: Use built-in XHR instead of $.ajax 2017-04-11 08:33:56 +00:00
JC Brand
a4be25e05c Fix time format to show seconds instead of month 2017-03-31 02:01:53 +00:00
JC Brand
9fc61d9302 Bugfix. Endless spinner when trying to log in
after rendering the registration form.
2017-03-31 01:54:42 +00:00
JC Brand
d3a8032f61 Fixes #811. jQuery wasn't being closured in builds. 2017-03-31 00:06:57 +00:00
Anshul Singhal
99647438ac Adds the send button at bottom of chatbox (#796)
Fixes #796 New config option: `show_send_button`

* Adds show_send_button setting to docs

* Change log updated

* Improves send button CSS, style fixes and documentation corrections

* Adds missing setting in rendering template for headlines
2017-03-30 12:40:17 +02:00
Soumit Bose
e6f3406977 Implemented auto fetching of registration form for default XMPP domain (#812) 2017-03-20 13:21:03 +01:00
Soumit Bose
2c5ecd7120 Make messages' time format configurable (#797)
Fixes #675 

* Made time format configurable

* Made changes to values of time_format

* Removed user restrictions on time format

* Added documentation for time-format config

* Edited changes.md

* Edited config doc

* Modified time-format explanation

* Added link to moment

* Added test to check rendered time

* Edited CHANGES and removeunncessary lines from time format checking spec

* Removed unncessary spaces
2017-03-12 11:32:38 +01:00
Anshul Singhal
40da1d688e Fixes #628. Bug in displaying chat status during private chat with carbons. (PR #801)
* Fixes the bug in displaying chat status during private chat(message carbons)

* Adds fix#628 to ChangeLog

* Changes Log added to version 3.0.1

* Makes the string alphanumeric

* Orders the logs with ticket number
2017-03-09 12:38:54 +01:00
Anshul Singhal
3dd6ff1751 Fixes the duplication bug in adding contact and adds test for the same 2017-03-08 15:33:43 +01:00
JC Brand
5efb7fbf82 Fixes #806 Event listeners not triggered.
Functions need to be bound.
2017-03-08 11:54:23 +00:00
JC Brand
5fc6ab1e4e Move plugin init code into method 2017-03-07 12:05:04 +01:00
JC Brand
c58348dd02 Emit the original message, not just the forwarded part
Otherwise we receive HTML5 notifications for MAM messages because they can't be
identified as such.
2017-03-01 10:37:07 +00:00
JC Brand
a3407bb98b Move MAM specific code to converse-mam.js 2017-02-28 22:34:04 +01:00
JC Brand
bccdedc64f Also show a hint explaining the roomchat status 2017-02-28 06:52:33 +01:00
JC Brand
cfb0cd0970 New defaults 2017-02-27 10:41:46 +00:00