Commit Graph

68 Commits

Author SHA1 Message Date
JC Brand
38499917a9 updates #194
Include entity capabilities hash in outgoing presences

Also, started some work on using jsdoc for rendering API documentation.
Ideally that would go into a separate commit but that would take ages to
untangle.
2018-05-11 13:35:27 +02:00
JC Brand
6c513ad4be Remove dependency on strophe's vcard plugin 2018-05-08 18:11:56 +02:00
JC Brand
b3619077f9 Remove dependency on the strophe disco plugin
And instead implement it ourselves.

This solves a bug with that plugin whereby the connection handlers are
added to early and are therefore never fired.

Also fixed a problem whereby entity items are queried for features
before the features have been fetched.
2018-05-07 18:06:50 +02:00
JC Brand
e5cfdca30d Move roster models into their own module 2018-05-05 20:16:23 +02:00
JC Brand
df948a8dd6 Also allow a single-user chat to be embedded into the page 2018-05-03 17:01:17 +02:00
JC Brand
56e4e8b8ee Fix rendering of headline messages.
Also, add urijs to more intelligently handle URIs
2018-04-30 15:37:36 +02:00
JC Brand
133df99aec Honor the filesize restrictions of the XMPP server
updates #161
2018-04-18 11:35:33 +02:00
JC Brand
dad8eb2f48 Remove separate file converse-http-file-upload
It contained only `overrides` and some HTTP upload code was in other
modules.

Current thinking concerning overrides:

Usage of `overrides`, while useful in certain cases, should in general
be discouraged, since it's in essence "monkey patching" which makes it
more difficult to know whats executing at runtime and more difficult to
refactor.

Splitting modules up between XEPs is not always that useful. Some XEPs,
like HTTP Upload (and MAM comes to mind) have their functionality spread
out over single and group chats (and pubsub) and might for practical
purposes be considered "core" enough to not try and keep them in
separate modules (which inevitably requires overrides or a fundamentally
rethinking the architecture).

Where splitting code between modules makes a lot of sense is in keeping
Backbone Models and Views separate (so that alternative view libraries
like Vue could be used) and probably in keeping Single chats, MUC,
PubSub and MIX separate.

updates #161
2018-04-17 15:21:30 +02:00
JC Brand
de6ecbf07a Render messages via a new MessageView view
updates #161
2018-04-17 15:21:26 +02:00
JC Brand
584f293d05 Updated and refactored the work from @worlword
* Use Promises instead of callbacks
* Update to latest (Last Call) version of XEP-0363
* Move non-view specific methods to models instead
* Add more tests

updates #161
2018-04-17 15:21:09 +02:00
JC Brand
77a51cc2a6 Initial work on XEP-0363: HTTP File Upload 2018-04-14 07:36:24 +02:00
JC Brand
ebfd0a8f77 Move various funcitons related to MUC member lists to utils
and out of the MUC views plugin.

Refs #1032
2018-03-30 14:23:39 +02:00
JC Brand
b3409fd01b Move common modal view code into a base class 2018-02-22 18:41:01 +01:00
JC Brand
5968eec783 Set backbone.nativeview as dependency for backbone.vdomview 2018-02-22 10:49:22 +01:00
JC Brand
47aad31899 Tricky refactoring.
Removed `_converse.chatboxviews.showChat` and trying to simplify how
chats are created and when they're shown.

Prompted by the work to split the MUC views into a separate plugin
2018-02-21 23:47:02 +01:00
JC Brand
d1d43edf52 Move MUC views into a new plugin 2018-02-21 22:40:30 +01:00
JC Brand
ad01ab3041 Add status modal 2018-02-21 14:03:07 +01:00
JC Brand
ee751ec58e Update jquery and sizzle and fix/improve some tests
Fixes #825
2018-01-04 13:11:50 +00:00
JC Brand
199e2e7e27 The refreshWebkit hack appears to no longer be necessary 2018-01-04 12:11:03 +00:00
JC Brand
4652385bb4 Remove jQuery from non-tests config 2018-01-04 12:11:03 +00:00
JC Brand
671691353a Use Backbone.NativeView instead of Backbone.View 2018-01-03 20:41:03 +00:00
JC Brand
49addedd1f Update babel version and use transpiled dist files 2017-12-22 20:35:58 +00:00
JC Brand
ac643ae63f Refactor views to use Backbone.OrderedListView 2017-12-22 12:02:18 +00:00
JC Brand
9fca25b6a9 Use snabbdom via backbone.vdomview 2017-12-13 22:04:58 +00: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
cfd5dad9c5 Use [backbone.vdomview](https://github.com/jcbrand/backbone.vdomview)
For the MUCJoinView and the LoginPanel
2017-11-10 22:01:36 +01:00
JC Brand
8a4aa4efdd Use a named variable for _.template
This removes the need for `switch (obj)` in the template which is not
allowed in strict mode.

Additionally using a named variable speeds up rendering.
2017-11-05 18:59:29 +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
2bce9e7272 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-30 10:44:00 +01:00
JC Brand
f73075d20a Move translation machinery into a separate module 2017-10-24 12:56:35 +02:00
JC Brand
80b3692131 More work in removing locales from builds 2017-09-26 18:27:41 +02:00
JC Brand
be7f8ab4c4 Use a virtual dom to render the login form 2017-09-24 00:30:43 +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
56c5a9c8d0 Move form utilities to form-utils.js 2017-08-16 15:19:41 +02:00
JC Brand
273da9e876 Move chatboxes collection and overview into separate plugin 2017-08-16 12:32:15 +02:00
JC Brand
3afe5eb8f3 Run the lodash converter only once. 2017-08-15 16:46:55 +02:00
JC Brand
4d2c807cf2 Fixes #220. Enable usage of both _ and fp in non-AMD case 2017-08-09 17:35:48 +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
284e884766 Add js-xss and use it to sanitize message HTML 2017-07-15 19:15:48 +02:00
JC Brand
67578c9747 Merge branch 'master' into emoji 2017-07-15 07:16:37 +02:00
JC Brand
bd38f0d634 Update the website to not use jquery.easing
It will now also no longer be included in the full bundle.
2017-07-14 23:01:09 +02:00
JC Brand
019008c5af Merge branch '3.1.x' 2017-07-12 23:33:35 +02:00
JC Brand
647395a504 Use a patched version of awesomplete...
which doesn't render suggestions as HTML.

See https://github.com/LeaVerou/awesomplete/pull/17082
2017-07-12 22:46:24 +02:00
JC Brand
6ef0536e31 Some work on using es6 promises 2017-07-10 21:14:48 +02:00
JC Brand
9333415640 Builds are now created from babel transpiled code
Except for the esnext builds, which use the original code.

Fixes #866
2017-07-10 16:25:21 +02:00
JC Brand
e1b745b71f Initial steps to adding babel. 2017-07-10 12:44:29 +02:00
JC Brand
ca53a8d8ef Add support for Emojis 2017-06-17 01:01:52 +02:00
JC Brand
b0c20d5473 We're now able to make inverse.js builds 2017-06-14 19:47:06 +02:00
JC Brand
ebc6d1cc62 Use lodashLoader's root setting 2017-06-14 17:40:10 +02:00
JC Brand
b66ff721cd Merge inVerse into this repo 2017-06-13 21:10:32 +02:00