JC Brand
042a26d05d
New API method _converse.disco.supports
...
to check whether a certain service discovery feature is supported by an entity.
2017-11-02 23:23:01 +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
3514d6d56b
fixes #316
...
- Also allow private chats to be opened via URL fragment.
- Make sure to clear the URL fragment when the relevant chat is closed.
2017-10-31 23:11:27 +01:00
JC Brand
985cf6c294
Use global router to open chat rooms
2017-10-31 22:08:06 +01:00
JC Brand
35db952e71
Make openChatRoom
a closured function
2017-10-31 22:07:40 +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
61ed55dbaa
Rename login and register urls
2017-10-31 20:39:44 +01:00
JC Brand
523c84a254
Log as warning instead of error
2017-10-31 20:38:52 +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
bb0e4d26ec
Throw more helpful error when there's no connection
2017-10-31 20:38:51 +01:00
JC Brand
20f3172f5e
Add fixme note
2017-10-24 11:07:58 +02:00
JC Brand
724e66d0e5
Initial code for opening a room via URL
2017-09-29 00:07:16 +02: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
79412215b5
Fix smooth scroll code for the website
2017-09-28 21:26:11 +02:00
JC Brand
5ac1e00cdb
Don't add fade-in to controlbox. Causes flashes
2017-09-27 00:36:19 +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
74b91faf9a
Use browser-based "constraint validation"
...
to validate required fields, instead of doing it manually.
All supported browsers have this feature.
2017-09-25 13:55:17 +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
9a8db618d3
More user-friendly phrasing
2017-09-24 11:03:27 +02:00
JC Brand
85078b403b
Use change
event instead of blur
.
...
This solves a bug whereby switching to the register form doesn't happen because
validation gets triggered which somehow prevents it.
2017-09-24 10:21:14 +02:00
JC Brand
3d53943f49
Generate pot file from the converse-no-dependencies
build
...
This is a workaround for the fact that getttext doesn't support ES2015 template
literals and it also allows us to scan for translateable strings in our HTML
templates.
2017-09-24 00:30:43 +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
be7f8ab4c4
Use a virtual dom to render the login form
2017-09-24 00:30:43 +02:00
JC Brand
2203e9505a
Set autofocus
on inputs
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
f827979000
converse-register: render the buttons as part of the template
...
instead of manually
2017-09-24 00:30:43 +02:00
JC Brand
33cc72829b
converse-register: 2 changes.
...
* Use declarative events instead of `addEventListener`.
* Remove the jquery dependency in this module
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
a9b74ca9b5
converse-register: refactor in order to simplify.
2017-09-24 00:30:43 +02:00
JC Brand
ce1e29e4f2
Bugfix. Fields weren't being marked as required.
2017-09-24 00:30:43 +02:00
JC Brand
9cdb0dde8c
Various changes
...
* In certain places, use native methods instead of jQuery
* Nicer rendering of registration forms
* Use CSS3 fade-in animations.
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
57d2f9bce8
Add validation message for an invalid JID in the login form
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
7e4fb52f8d
Render register and login forms via links
2017-09-24 00:30:43 +02:00
JC Brand
37fcc6b70e
Hide connection feedback parent element
2017-09-24 00:30:43 +02:00
JC Brand
140946a34b
Add brand headings
2017-09-24 00:30:43 +02:00
JC Brand
1613c0d7de
Styling changes now that we don't have tabs.
2017-09-24 00:30:43 +02:00
JC Brand
196a42dc50
Make sure strings get translated and that interpolation is safe
2017-09-24 00:30:43 +02:00
JC Brand
ce56e0d858
We no longer have login and register tabs
2017-09-24 00:30:42 +02:00
JC Brand
681245584e
Remove Login
and Registration
tabs and consolidate into one panel
2017-09-24 00:30:42 +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
34e214d0df
New release 3.2.1
2017-08-29 13:28:34 +02:00
JC Brand
c9913bf6ac
Fix failing tests
2017-08-29 12:29:56 +02:00
JC Brand
e6e0fc9070
minimize: Don't trim chats prematurely.
...
Also, the minimized chats view now gets rendered after chat boxes are fetched,
so we need to make it check for already added and minimized chats.
2017-08-29 12:29:56 +02:00
JC Brand
b9b9689668
Fixes #912 maximize
method in converse-minimize
fails...
...
if the `controlbox` is not there.
Also, make `converse-controlbox` and `converse-muc` optional dependencies of
`converse-minimize`.
2017-08-29 12:21:53 +02:00
JC Brand
734991f1ce
Fixes #907 : unnecessary validation error
2017-08-29 10:32:44 +02:00
JC Brand
4da4131003
Fixes #908 : narrow inVerse login form when allow_registration
is false
.
2017-08-29 10:23:03 +02:00
lduburas
eef483cb4d
Fix regarding ChatRoomView.getDefaultNickName() and muc_nickname_from_jid ( #911 )
...
* ChatRoomView.getDefaultNickName() when muc_nickname_from_jid is used
Allows to overridde nickname by plugins when muc_nickname_from_jid is used.
* CHANGES.md updated
2017-08-28 09:27:59 +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
6c6b85347a
Move functions out to make containing function smaller
2017-08-23 11:54:19 +02:00
JC Brand
ab0ec7301f
Various fixes for browser that don't support ES2015
...
Specifically for IE11.
* Add a polyfill for String.prototype.includes
* Make sure all bundled code is transpiled
* Add IE specific fix in converse-otr.js
2017-08-21 15:43:36 +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
d70746d6ef
Fix linting error
2017-08-16 16:32:25 +02:00
JC Brand
9e8c034b42
Handle cases where Jed and/or Strophe.disco aren't available
2017-08-16 16:01:31 +02:00
JC Brand
56c5a9c8d0
Move form utilities to form-utils.js
2017-08-16 15:19:41 +02:00
JC Brand
3b8c2d1b00
Various bug and timing fixes due to the previous refactoring
2017-08-16 14:16:24 +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
bc6b5ca930
controlbox: Set connected
immediately
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
4938621048
Nicer CSS and markup for room configuration forms.
2017-08-16 09:39:13 +02:00
JC Brand
add3b8efb3
utils now no longer depends on jquery.
2017-08-16 09:05:15 +02:00
JC Brand
6c3aa34c23
Some work on removing jquery from converse-bookmarks
2017-08-15 21:47:06 +02:00
JC Brand
3afe5eb8f3
Run the lodash converter only once.
2017-08-15 16:46:55 +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
4d2c807cf2
Fixes #220 . Enable usage of both _
and fp
in non-AMD case
2017-08-09 17:35:48 +02:00
JC Brand
38f8724dd9
roomslist: Add ability to add or remove bookmarks
2017-08-09 15:50:24 +02:00
JC Brand
01888b9ba4
vcard: Properly handle case where FN is empty in VCard
2017-08-09 14:37:33 +02:00
JC Brand
eed936ff64
Trying to fix timing/heisenbugs on Travis
2017-08-09 14:21:24 +02:00
JC Brand
5a67d985dc
emoji: Render shortname in textarea, not unicode.
2017-08-09 12:33:00 +02:00
JC Brand
02a055d31d
Bugfix. Query user's JID for mam:2
support, not the domain
2017-08-08 22:09:17 +02:00
JC Brand
805db75e10
Bugfix. Handle case where there's no room data
2017-08-08 16:27:07 +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
8113a14ace
Release candicate for 3.2.0
2017-07-22 22:23:44 +02:00
JC Brand
27931d3e37
controlbox: Add JID validation to the login form
2017-07-21 20:14:38 +02:00
JC Brand
631ac6108f
controlbox: have only one dropdown menu open at one time.
2017-07-21 20:10:32 +02:00
JC Brand
bfc1e99694
Fix disco test
2017-07-21 20:01:09 +02:00
JC Brand
59edcb2393
muc: Add JID validation to the occupant invite form
2017-07-21 19:53:57 +02:00
JC Brand
b1e5cb26a1
rosterview: When filtering, contacts in closed groups appear.
2017-07-21 18:48:55 +02:00
JC Brand
e59168a360
rosterview: show filter when there are 10 or more contacts
...
Instead of checking if there's a scrollbar. Otherwise the filter disappears
when all groups are collapsed.
2017-07-21 18:47:43 +02:00
JC Brand
75342b066e
css: Titles for available chat rooms were cut off too soon
2017-07-21 18:08:29 +02:00
JC Brand
de7a1f7545
Check specifically for the Slack identity when working around its quirks
2017-07-21 17:58:46 +02:00
JC Brand
9084cdaa57
disco: Don't query for #items on conference components.
...
We don't need them at that time and we'll query when a chat room gets opened.
2017-07-21 17:46:24 +02:00
JC Brand
439e37feaa
disco: Refactor service discovery and add tests.
...
* `disco#items` are now only fetched when advertised by the entity.
* `identity` information is now also stored on the `DiscoEntity` model.
2017-07-21 17:38:08 +02:00
JC Brand
084d9914b0
muc: Refactored how MAM messages are fetched.
...
Listen for the `afterMessagesFetched` event.
Wait until `discoInitialized` before fetching.
Add `fetchArchivedMessagesIfNecessary` method(s).
2017-07-21 15:09:50 +02:00
JC Brand
0a47f60f94
Emit new event `afterMessagesFetched
`
2017-07-21 15:09:50 +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
6ac01ed2ac
Bookmark icon shown in open rooms list when allow_bookmarks
set to false
2017-07-19 09:28:44 +02:00
JC Brand
0edb38e2c6
Fixes #896 Consistently use XMPP username
in user facing text
2017-07-19 09:17:46 +02:00
JC Brand
713e49b095
Fix failing tests
2017-07-19 09:14:02 +02:00
JC Brand
f84790e68c
muc: Show JID (instead of only server) in room info
...
Also made some styling changes and tweaked the room head to better
differentiate between the Name and JID of a room.
2017-07-19 08:30:04 +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
5c487d2faf
Refactored the slide methods
...
so that slider does not have fixed height after being opened and can therefore
shrink or expand appropriately when its children change.
2017-07-17 21:53:33 +02:00
JC Brand
d23046329e
Fixed a bug in slideOut
where offsetHeight
changes after sliding out
...
As a result we can again show emoji categories and skin tones on the same line
(if there is enough space).
2017-07-17 18:09:14 +02:00
JC Brand
496d2521fc
muc: Show room domain in header.
...
Also make sure room name gets saved once it's been updated.
2017-07-17 18:07:31 +02:00
JC Brand
e4ebcc8f71
emoji: various css and html changes to improve ui/ux in converse and inverse
2017-07-16 15:04:54 +02:00
JC Brand
ffdd4e25f3
emoji: remember category and skin tone selection
2017-07-16 14:12:17 +02:00
JC Brand
8c4f6ffe03
emoji: Listen for clicks on a larger surface area
2017-07-16 13:41:01 +02:00
JC Brand
1dfdba0db9
muc: Ignore non-MUC (like error) messages
...
Noticed that Slack sends error messages back in response to chat state
notifications.
We're not doing anything with them currently and they bloat the sessionStorage
2017-07-16 12:51:20 +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
49f26d8e49
emoji: Allow the assets path of Emojione to be overridden
2017-07-16 12:30:40 +02:00
JC Brand
f8c6467feb
emoji: Show only one skin-tone at a time (including the "neutral" one)
2017-07-16 12:29:09 +02:00
JC Brand
3ebe41384d
emoji: Remember scroll position when rerendering the emoji picker
2017-07-16 12:29:09 +02:00
JC Brand
9a5f2fce61
emoji: Add a skin-tone picker to the emoji toolbar
2017-07-16 12:29:09 +02:00
JC Brand
22113a8ccb
Expand test for rendering of images (and fix accordingly)
2017-07-16 12:29:08 +02:00
JC Brand
12510a9689
emoji: Fix rendering of emojione images
2017-07-16 12:29:05 +02:00
JC Brand
972c31be1d
emoji: Allow the option of using emojione (now that we sanitize)
2017-07-16 12:29:02 +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
b85b29bb20
vcard: Bugfix. 'FN' may not be defined.
2017-07-15 17:26:59 +02:00
JC Brand
e6492e286d
Don't specify method
2017-07-15 16:00:36 +02:00
JC Brand
0958915021
Refactor slightly to improve readability
2017-07-15 16:00:18 +02:00
JC Brand
f69e39dc8b
Reuse code for submitting a message
2017-07-15 15:58:11 +02:00
JC Brand
cf1e8f2921
Fix failing test for emoji picker
2017-07-15 15:16:38 +02:00
JC Brand
4ea50de927
Use emoji
instead of emoticon
2017-07-15 15:14:47 +02:00
JC Brand
a65b319d57
Improve styling for emoji-picker in the converse theme
2017-07-15 11:51:15 +02:00
JC Brand
b2a118ca9e
Refactor slide methods in utils and use them for toolbar menus
2017-07-15 11:03:22 +02:00
JC Brand
ce2548c838
Remove the visible_toolbar_buttons.emoticons
config option
...
in favor of `visible_toolbar_buttons.emoji`.
2017-07-15 08:17:41 +02:00
JC Brand
3fabe88970
Updated package-lock. Fix tests.
2017-07-15 07:58:57 +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
914f739dbc
Add slideUp
and slideDown
methods
...
And use them in the roomslist plugin instead of the jQuery methods.
ALso removed the jQuery dependency in roomslist.
2017-07-14 10:08:42 +02:00
JC Brand
76cc9642e0
roomslist: replace jQuery methods with native
2017-07-13 23:55:40 +02:00
JC Brand
2fe77b8a5c
Don't escape room name.
...
It's being rendered as a string literal.
2017-07-13 23:55:16 +02:00
JC Brand
dc7249f07d
roomslist: Room name wasn't being shown in confirm
dialog
2017-07-13 23:54:06 +02:00
JC Brand
27760a7d51
vcard: remove jQuery as dependency
2017-07-13 23:27:24 +02:00
JC Brand
1487e63988
Add build scripts for esnext version
2017-07-13 12:25:03 +02:00
JC Brand
019008c5af
Merge branch '3.1.x'
2017-07-12 23:33:35 +02:00
JC Brand
7721275962
New release v3.1.1
2017-07-12 22:51:56 +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
397927b189
Fix broken tests and update changelog
2017-07-12 09:58:14 +02:00
JC Brand
6af029048d
Replace $.Deferred with ES2015 promises
2017-07-11 17:21:13 +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
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
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
e1b745b71f
Initial steps to adding babel.
2017-07-10 12:44:29 +02:00
JC Brand
2d89589b54
bookmarks: clear the fetched_flag
upon logout
2017-07-10 10:43:37 +02:00
JC Brand
8c1c665e2e
core: Some more logging improvements.
2017-07-10 10:43:13 +02:00
JC Brand
c422237668
New release: 3.1.0
2017-07-05 10:07:28 +00:00
JC Brand
6e67bdfdb5
roomslist: Less confusing code by using promises
2017-07-05 11:40:54 +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
857c5ccdb3
Reset bookmarks when logging out
2017-07-03 09:57:11 +02:00
JC Brand
ea4c490283
bookmarks: bugfix, deferred
might be null
2017-06-27 13:02:40 +02:00
JC Brand
c11a1b40e8
muc: bugfix, presence referring to current user doesn't have a jid attr
2017-06-27 12:56:50 +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
5d99076f62
Filter out some emojis which don't have native support yet
2017-06-24 12:36:02 +02:00
JC Brand
b4ff38dba7
Pad the emoji categories
2017-06-24 12:27:59 +02:00
JC Brand
4e467044d3
Some usability fixes around the toolbar and emojis
2017-06-24 11:34:01 +02:00
JC Brand
70f56b31f4
Merge branch 'master' into emoji
2017-06-24 11:04:19 +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
36e078c9f6
utils: Rename saveWithFallback
to safeSave
2017-06-23 20:17:58 +02:00
JC Brand
86c20ce2a7
muc: When exiting, don't wait for confirmation before cleaning up
...
During logout we don't have enough time.
2017-06-23 18:22:19 +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
3e8e770517
chatview: use utils.isPersistableModel
2017-06-23 18:19:20 +02:00
JC Brand
3310df88c0
Regenerate build files. Some small fixes to inverse
2017-06-21 22:26:00 +02:00
JC Brand
9af2dc20e0
Remove xmpp.net provider info. Service has been discontinued
2017-06-19 15:42:41 +02:00
JC Brand
02e5921415
Fix problem of stuck/hanging tests on TravisCI
2017-06-19 15:05:22 +02:00
JC Brand
52e394a63e
Add inverse byline.
2017-06-18 00:23:34 +02:00
JC Brand
f988cb03c0
Various inverse-related CSS improvements.
...
Most notably, make toolbar same color as chat head and make private chats green
instead of orange.
2017-06-18 00:07:41 +02:00
JC Brand
10ae9a5ea4
Remove the ability to use emojione for rendering emoji
...
Creates an XSS opening.
2017-06-17 01:01:52 +02:00
JC Brand
ca53a8d8ef
Add support for Emojis
2017-06-17 01:01:52 +02:00
JC Brand
fb69106352
Fixes #887 Enclose embedded images in URLs
2017-06-16 15:11:19 +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
be28e04c57
roster: render unread messages in tab upon reload
...
Also including css fixes around the unread messages indicator.
2017-06-15 18:38:38 +02:00
JC Brand
336dc7408f
Remove the pulse entirely.
...
Couldn't get it to look/work satisfactorily
2017-06-15 18:29:08 +02:00
JC Brand
f07cb97db8
Show pulse around unread messages indicator
2017-06-15 18:27:48 +02:00
JC Brand
cf68ea70ac
css: fix unread messages indicator for private chats
2017-06-15 18:05:51 +02:00
JC Brand
e48015df66
Fixes #575
2017-06-15 17:51:56 +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
9ee5550cde
inverse: bugfix, when reloading, hidden auto-joined room was displayed
2017-06-15 16:22:49 +02:00
JC Brand
7e62546d6f
inverse: move brand heading into template
2017-06-15 15:16:17 +02:00
JC Brand
3181956b61
controlbox: use `sticky_controlbox
` setting to reduce inverse code
2017-06-15 15:01:34 +02:00
JC Brand
e29c2f8197
muc: render tab upon chatroom add
...
So that it shows unread messages upon page reload.
2017-06-15 12:32:33 +02:00
JC Brand
cc0f613118
rosterview: Include fullname (or JID) in tooltip for better UX
2017-06-15 11:27:05 +02:00
JC Brand
1f82b7dfe4
Create utils method isSameBareJID
. Refs: #894
2017-06-14 22:31:44 +02:00
Antonio Zoccoli
ad06c2b9cc
Converse ryzen 894 ( #895 )
...
* added change #894
* #894 - fix jid comparison in setAffiliationAndRole
2017-06-14 22:20:46 +02:00
JC Brand
6c262f7213
Various small changes to reduce (non-critical) errors during testing
2017-06-14 20:14:45 +02:00
JC Brand
b0c20d5473
We're now able to make inverse.js builds
2017-06-14 19:47:06 +02:00
JC Brand
076af0970f
Make spinner into a template
2017-06-14 19:43:02 +02:00
JC Brand
e1dace59ae
Bugfix. Don't scroll down on archived messages
...
when already scrolled up.
2017-06-14 19:43:02 +02:00
JC Brand
0d22f5c33c
Bugfix. Make sure to only append after a single message.
2017-06-14 19:43:02 +02:00
JC Brand
c9ecd3cd4d
Only initiate OTR for new messages.
2017-06-14 19:43:02 +02:00
JC Brand
eef002f2b7
Build fix
2017-06-14 17:40:11 +02:00
JC Brand
ebc6d1cc62
Use lodashLoader's root setting
2017-06-14 17:40:10 +02:00
JC Brand
7c831e1166
Various theming tweaks and improvements
2017-06-14 15:41:47 +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
651a5de315
inverse: Set more defaults in the plugin itself
2017-06-13 21:40:06 +02:00
JC Brand
b66ff721cd
Merge inVerse into this repo
2017-06-13 21:10:32 +02:00
JC Brand
78c5139486
singleton: Add soft dependency on rosterview
2017-06-13 19:17:45 +02:00
JC Brand
422aaef863
register: create renderRegistrationPanel
method
2017-06-13 19:11:32 +02:00
JC Brand
43408a6128
dragresize: render handles in the plugin
...
instead of having them already in the templates.
2017-06-13 18:53:41 +02:00
JC Brand
19d51f559d
Make the avatar's dimensions settable
2017-06-13 18:53:20 +02:00
JC Brand
2d4159802e
Bugfix. Don't override defaults for ChatBox
2017-06-13 18:22:19 +02:00
JC Brand
8191d5e83a
muc: Rename `createChatRoom
to
openChatRoom
`
...
It doesn't always create a new room.
2017-06-13 18:22:19 +02:00
JC Brand
1a95472ebe
singleton: Ensure obscured chats gets actively hidden.
...
So that when a room is closed, a previously obscured chat doesn't become
visible again. Allowing this would force us to know which chat is visible, so
that we can falsify it's `hidden` attribute.
2017-06-10 20:39:09 +02:00
JC Brand
d1bafdb38a
Re-render only the tab when num_unread
changes.
2017-06-09 23:45:54 +02:00
JC Brand
f9fb13a71d
muc: Make defaults
a function
...
otherwise also the prototype's defaults gets overwritten.
2017-06-07 17:47:50 +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
bbecee11d5
Add the functional programming version of lodash.
2017-06-07 00:43:09 +02:00
JC Brand
fcbeff4c72
Better check to know whether we can save the model
2017-06-06 22:12:54 +02:00
JC Brand
f897fbb7c0
Show number of unread mesages on the "Contacts" tab
2017-06-05 21:42:25 +02:00
JC Brand
5949ca9e36
Show number of unread messages on the "Rooms" tab
2017-06-05 14:52:24 +02:00
JC Brand
86dc3800aa
Render nickname form when entering a room via invitation
2017-05-24 17:18:54 +02:00
JC Brand
c83026e5a8
muc: Differentiate between generally unread messages and unread mentions
2017-05-24 08:40:09 +02:00
JC Brand
8fa06e7d52
Markup and CSS for showing unread messages for a room
2017-05-23 21:50:48 +02:00
JC Brand
a4284e48f7
Use proper message handler. Fix typo
2017-05-23 18:49:04 +02:00
JC Brand
7df2d36e42
We now have a separate Backbone.Model for chat rooms
...
Also... `num_unread` is now updated for groupchat messages in which the user is
mentioned.
2017-05-23 18:40:55 +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
bab80a3234
No need to set num_unread, it has a default value.
2017-05-23 18:15:28 +02:00
JC Brand
6b2ca629cc
roomslist: expand tests
2017-05-22 13:40:07 +02:00
JC Brand
501c9f5e97
muc: Extract code into separate method renderRoomsPanel
2017-05-16 11:55:59 +02:00
JC Brand
7c9475e9fc
controlbox: Only render the contacts panel when connected
...
Otherwise it gets rendered multiple times (at least during testing).
2017-05-16 11:54:20 +02:00
JC Brand
8fe7fd2ec2
minimize: Use Backbone.Model's default
attribute
2017-05-16 11:19:15 +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
023a68458c
Initial work on showing unread messages indicator for chat rooms
2017-05-15 19:08:08 +02:00
JC Brand
443b67012d
Right-float info icon
2017-05-15 18:43:12 +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
26cd567cca
bookmarks: only emit once the view has been created.
2017-05-15 18:04:28 +02:00
JC Brand
e49fbc457d
bookmarks: Don't duplicate bookmarks in list.
2017-05-15 18:04:28 +02:00
JC Brand
3343cb6991
Some small css fixes. Show correct icon for clearing messages
2017-05-15 17:38:37 +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
1ef99b3ecc
bookmarks: Handle chat box being passed into renderBookmarkListElement
2017-05-08 21:28:56 +02:00
JC Brand
3835ab7af6
bookmarks: Don't autojoin rooms prematurely
...
by first waiting until chatboxes have been fetched as well.
2017-05-08 21:28:56 +02:00
JC Brand
d81d62f98d
muc: check for browserStorage
attr instead of whether connected
2017-05-08 21:28:56 +02:00
JC Brand
70e4f28548
Initial work on showing open rooms in the "Rooms" panel
2017-05-08 21:28:56 +02:00
JC Brand
d8963a8a8c
bookmarks: New setting hide_open_bookmarks
2017-05-08 21:28:56 +02:00
JC Brand
0bd0798e34
Use the Backbone defaults
functionality
2017-05-08 21:28:56 +02:00
JC Brand
09bf04bf03
converse-bookmarks: Bugfix + make bookmark.html more generic
...
- Bugfix: Entire list was removed when last bookmark was removed.
- Make the template more generic so that it can be used for showing open chat
rooms
2017-05-08 21:28:56 +02:00
JC Brand
47ca3e64b2
Emit new event roomsPanelRendered
2017-05-08 21:28:56 +02:00
JC Brand
b32a8c5391
Update and simplify HTML/CSS for choosing status
...
Should also fix some of the issues mentioned in #847
2017-05-08 21:25:22 +02:00
JC Brand
3ec90096b9
Updates #864 : Bugfix. Both select elements were being shown
2017-05-07 11:24:46 +02:00
JC Brand
738d227297
Solve the intermittent issue of _ not being defined in templates
2017-05-05 11:48:10 +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
Novokreshchenov Konstantin
4b46ec3f8c
#591 Unread message counter is reset when the chatbox is closed ( #867 )
...
* chatview: disable handling onMessageAdded when fetching messages during initialization
* update CHANGES.md
2017-05-01 13:05:58 +02:00
Mathias Ertl
913eeec351
Csp compat 2 ( #864 )
...
* remove inline style in roster template
* remove inline style from contacts panel
* remove inline-css from roster_filters
* remove inline style in trimmed chats
* remove last inline style from minimized chats
* update converse.css
* update changelog
2017-04-30 10:22:54 +02:00
JC Brand
227eb9b81c
Fix _ is undefined
error
2017-04-28 19:57:36 +02:00
JC Brand
30febd17d4
Throw error if more than one chatroom is given
2017-04-28 19:52:42 +02:00
JC Brand
4c23925684
Fixes #861 : Properly insert chatroom into DOM
2017-04-28 19:52:13 +02:00
Novokreshchenov Konstantin
dfd86d6c35
#567 Unreaded message count reset on page load ( #856 )
...
* save unread message count (num_unread) to server
* update CHANGES.md
2017-04-24 22:34:08 +02:00
JC Brand
b07e6291ea
Ensure that chats are opened when contacts are clicked.
2017-04-24 15:57:23 +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
d825a15baa
Clear when maximizing a chat box
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
ce16e1bcef
New plugin: converse-singleton.js
...
Ensures that max one chat box is visible at any given time.
For use in mobile or fullscreen applications.
2017-04-24 15:56:54 +02:00
JC Brand
a5ea86e29a
Initial CSS work on showing an unread messages indicator
2017-04-24 15:56:54 +02:00
JC Brand
e338afadc2
New release 3.0.2
2017-04-23 17:25:19 +00:00
JC Brand
41edd0567d
Don't try to parse non-strings
2017-04-23 17:19:01 +00:00
JC Brand
c7d66377d0
Use lodash.noConflict for underscore
2017-04-23 17:19:01 +00:00
JC Brand
865789d49e
"en" is always accepted, because default strings are English
2017-04-23 18:45:53 +02:00
Novokreshchenov Konstantin
bf1e612768
support opening chat in minimized mode initially ( #855 )
2017-04-23 15:38:48 +02:00
JC Brand
9f975c790b
preferred_locale
might be a JSON string, not an object
2017-04-22 19:29:02 +02:00
JC Brand
9faf9c3d6f
Don't rerender the text input when filtering contacts
2017-04-21 19:37:11 +02:00
JC Brand
bc1fa24315
Show the MUC server in a bookmarked room's info view
2017-04-21 19:05:10 +02:00
JC Brand
0bab19fafd
Render help messages via templates.
2017-04-21 18:35:34 +02:00
JC Brand
6af4480c14
Render disconnect message via template and add padding.
2017-04-21 18:26:59 +02:00
JC Brand
f3373c44fd
Fixes #850 . .where
method doesn't match numbers.
2017-04-21 18:06:28 +02:00
JC Brand
1936e28275
Enable creation of dist/converse-muc-embedded.js
build file
2017-04-21 18:06:27 +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
39b3aa34d8
Fixes #848 OTR doesn't start when cache_otr_key
is set to true
2017-04-20 10:04:33 +02:00
JC Brand
15f6649ace
Bugfix. OTR meta-messages were being shown in HTML5 notifications
2017-04-20 10:02:59 +02:00
JC Brand
1a40b7aefb
TypeError: converse.log is not a function
2017-04-20 08:55:51 +02:00
JC Brand
f9898f32f1
converse-notification: MUC nickname wasn't being shown
2017-04-19 16:06:22 +02:00
JC Brand
1e100a67e3
Catch error when destroying
2017-04-19 15:40:27 +02:00
JC Brand
9f28728e61
Updates #849 . Don't call when no connection present
2017-04-19 14:47:18 +02:00
JC Brand
59ca7bae16
Make sure variables are interpolated when no translations exist.
2017-04-19 14:37:59 +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
7ededd2379
Bugfix. class wasn't being toggled
2017-04-13 14:10:52 +00:00
JC Brand
1b38967d19
Updates #842 Persistent muc room creation not working
2017-04-13 11:19:24 +00: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
de2f33f333
Send button must be translateable and should type "submit"
2017-04-11 07:32:17 +00:00
JC Brand
d2eadbdce4
Use classList API
2017-04-06 23:21:52 +02:00
JC Brand
47a9566bb2
Update moment.js to 2.18.1
2017-04-06 22:11:39 +02:00
JC Brand
0c43e4b87c
Upgrade to Jasmine 2.5.3
2017-04-06 11:31:05 +02:00
JC Brand
21bc95a9f3
New release 3.0.1
2017-04-04 15:26:06 +00:00
JC Brand
d0f9f15d60
Bugfix. Prevent bypassing of password form via bookmark form
...
Not a security hole, but a UX issue.
Also... don't render artifacts before rendering the nickname form.
2017-04-04 14:45:50 +00:00
Novokreshchenov Konstantin
0b50c0c8c8
Fix #814 : Images from URLs with query strings aren't being rendered. ( #832 )
...
* unescape html characters in URL before checking whether it targets to image
* update docs/CHANGES.md
* test image's URL with query string which contains html-escaped characters
* utils.js: following code conventions
* split test url with query string to separate test
2017-04-04 16:05:50 +02:00
JC Brand
9ecb3e227f
Bugfix. Better check to see if spinner is already active
2017-04-04 11:21:25 +00:00
Marc Laporte
d83f64bcc9
Improve spelling ( #836 )
2017-04-04 09:11:55 +02:00
JC Brand
6045b3d1e1
Fix failing tests
2017-03-31 20:45:41 +00:00
JC Brand
09251f32c8
Remove the english translation files. No need for them.
2017-03-31 02:26:35 +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
JC Brand
898ad3107f
Get 3rd party dependencies from the converse obj
2017-03-30 17:00:24 +02:00
JC Brand
550cc51724
Some work on removing jQuery from converse-rosterview
2017-03-30 16:50:52 +02:00
JC Brand
0d256dbaf8
Query relative to the view element.
2017-03-30 14:39:44 +02:00
JC Brand
9a2c7257d7
Use the builtin JSON library
2017-03-30 14:16:00 +02:00
JC Brand
4dd8fa655e
Refactor to not use pseudo jQuery selector ':emptyVal'
2017-03-30 14:16:00 +02:00
JC Brand
cb94fd1940
Update isImage to not use jQuery
...
Updates #814
2017-03-30 14:09:18 +02: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
JC Brand
6e94e11dcc
Fixes #820 . Inconsistency in displaying room features
2017-03-19 18:23:02 +00:00
Soumit Bose
c976f3f079
Fixed typing status for typing from different devices ( #802 )
2017-03-16 16:28:59 +01:00
JC Brand
9214c81bbc
Updated po files.
2017-03-15 11:02:25 +00: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
f1bf5a9654
Fixes #807
...
- Document `optional_plugin_dependencies`
- Also make `converse-headlines` an optional dependency of `converse-dragresize`
2017-03-08 11:36:46 +00:00
JC Brand
5fc6ab1e4e
Move plugin init code into method
2017-03-07 12:05:04 +01:00
JC Brand
741f2a6b9a
Make sure the occupants height is set after transition
2017-03-05 10:33:20 +00:00
JC Brand
27a0560ad3
Consistently use . Fixes failing test
2017-03-03 15:25:05 +01:00
JC Brand
f24e7c0905
Remove scrollDownMessageHeight. Fix failing test
2017-03-03 15:12:48 +01:00
JC Brand
0bc0072fea
chatview: Mark whether scrolling was automatic
...
so that we don't confuse it with the case where it was manual.
2017-03-03 14:55:03 +01:00
JC Brand
e1e20690f0
muc: the original stanza must be emitted
...
Otherwise other plugins don't know whether the message was forwarded or not.
2017-03-03 14:44:04 +01:00
JC Brand
eb82d64426
converse-controlbox: Retain open state after logging in.
2017-03-03 14:43:13 +01:00
JC Brand
62c8177142
Bugfix.
...
After bookmarking a room for which a nickname is required, return to the nickname form.
2017-03-02 23:28:22 +01:00
JC Brand
a5c0d5c451
Wrap long lines. No need for that
2017-03-02 23:06:40 +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
a895c91f14
Programmatically set the occupants height
...
since I couldn't find a way to do this with only CSS.
2017-03-01 08:42:26 +01:00
JC Brand
78865bbccb
Don't show the features heading if we don't know of any
2017-02-28 22:34:16 +01:00
JC Brand
a3407bb98b
Move MAM specific code to converse-mam.js
2017-02-28 22:34:04 +01:00
JC Brand
dc8cbc6104
3 changes
...
- immediately show chat box (sometimes fetching features takes long)
- add timeout for fetching features
- don't register scroll handler twice for chat rooms.
2017-02-28 17:25:33 +00:00
JC Brand
2c88545b28
Fix edge case with /me messages. Show in italics.
2017-02-28 07:58:17 +00:00
JC Brand
9c72205774
Show room jid in a tooltip
2017-02-28 07:44:08 +00:00
JC Brand
bccdedc64f
Also show a hint explaining the roomchat status
2017-02-28 06:52:33 +01:00
JC Brand
f20d391ea6
Show chat room occupants' states.
2017-02-28 05:28:09 +00:00
JC Brand
f2f05ff484
MUC: Don't show duplicate join
messages.
2017-02-28 05:02:36 +00:00
JC Brand
21fbb7b7ac
Fix failing test by making sure chatroom gets destroyed
2017-02-27 21:21:38 +00:00
JC Brand
128335e1dc
50 seems like a better default
2017-02-27 21:12:15 +00:00
JC Brand
f8d9368163
MUC: only render and listen to 'scroll' event...
...
after the cached messages have been fetched.
2017-02-27 21:09:17 +00:00
JC Brand
adeac37b5c
Move more features HTML to chatroom_features.html
2017-02-27 17:59:33 +00:00
JC Brand
946a240080
Make sure to show the invite widget
...
when the room features change.
2017-02-27 17:56:40 +00:00
JC Brand
84a21415f0
Shut eslint up
2017-02-27 10:41:46 +00:00
JC Brand
cfb0cd0970
New defaults
2017-02-27 10:41:46 +00:00
JC Brand
ac867c9524
Rework the way builds are created.
...
Builds are now themselves UMD modules, so they could be `require`'d like any
other AMD module or they can still be used as old ES5 modules with globals.
Additionally the build is now closured, so that the almond API doesn't pollute
the global context with `define` or `require`. This does however mean that
`require` can no longer be used outside of the build (unless requirej.s is
included directly.
2017-02-27 10:37:01 +00:00
JC Brand
38c9a9e10c
Rework the way builds are created.
...
Builds are now themselves UMD modules, so they could be `require`'d like any
other AMD module or they can still be used as old ES5 modules with globals.
Additionally the build is now closured, so that the almond API doesn't pollute
the global context with `define` or `require`. This does however mean that
`require` can no longer be used outside of the build (unless requirej.s is
included directly.
2017-02-27 09:00:45 +00:00
JC Brand
704cef5590
Make work with latest strophe build
2017-02-25 22:26:54 +00:00
JC Brand
08fc0823de
More scrolling improvements
2017-02-25 22:26:54 +00:00
JC Brand
f60b4fc268
auto_away
shouldn't change the user's status if it's set to dnd
...
Fixes #620
2017-02-25 09:52:31 +00:00
JC Brand
9779e83931
Make the default archived_messages_page_size
100
2017-02-25 09:57:22 +01:00
JC Brand
adb4f62ea9
Fixes #790 mam retrieval broken
2017-02-25 09:54:41 +01:00
JC Brand
2c8b31c19d
Bugfix. getAttribute
returns null
2017-02-25 09:33:34 +01:00
JC Brand
2998ef818a
Chat rooms weren't being scrolled down after page reload
2017-02-25 07:48:28 +00:00
JC Brand
61b2dc7f99
Move MAM code to proper place.
...
Also, don't query for MAM messages if the chat room doesn't support it.
2017-02-24 20:52:23 +00:00
JC Brand
0d48929bb3
Show join/leave messages in chat rooms. Updates #365
2017-02-24 17:54:45 +00:00
JC Brand
b15c107e4e
Don't show notifications for full JID headline messages if...
...
allow_non_roster_messaging is false.
2017-02-24 17:13:38 +00:00
JC Brand
453d98db2c
Use native API instead of jquery
2017-02-24 17:13:38 +00:00
JC Brand
5c445a0268
Don't show headlines from full JID if allow_non_roster_messaging is false
2017-02-24 17:13:38 +00:00
JC Brand
6dfc82da0b
Native querying instead of using jquery
2017-02-24 12:00:05 +00:00
JC Brand
2ae2a1b505
Updated a bit to make it clearer.
2017-02-24 12:00:05 +00:00
JC Brand
305559a85c
Use sizzle in converse-muc.js
2017-02-24 12:00:05 +00:00
JC Brand
8a63813f5e
Add the ability to set the presence priority.
...
Fixes #745
2017-02-22 22:13:23 +01:00
JC Brand
17e0e70e4e
Support for XEP-0203 delayed delivery of presence stanzas
2017-02-21 23:30:11 +01:00
JC Brand
40605607e6
Specify radix for parseInt
2017-02-21 22:17:05 +01:00
JC Brand
4aa123d557
Add timestamps to resources
...
So that when a higher priority resource goes offline, we can fall back to the
right chat status if at the next priority level there are multiple resources.
789654d54e (comments)
2017-02-21 22:15:08 +01:00
JC Brand
728c7622e9
Use composition instead of chaining
2017-02-21 09:50:44 +01:00
JC Brand
d79bfe6f28
Use composition instead of chaining.
2017-02-21 09:35:50 +01:00
JC Brand
7ae2e46925
Expand tests and found a bug in the process.
...
updates #785
2017-02-20 22:37:06 +01:00
JC Brand
789654d54e
Updates #785 and #787
...
Improve upon the previous implementation.
If the resource with the highest priority goes offline or becomes unavailable,
then the chat status of the contact must fall back to that of the resource with
the next highest priority.
In your example from #785 , if the resource with priority 1 goes offline or
becomes unavailable, then in your implementation the chat status would stay at
online, although it must actually go to xa.
The solution is to update the resources attribute on the contact to not just be
an array or strings, but instead to be a map of resources to priorities and
statuses and to use that data structure.
2017-02-20 22:29:13 +01:00
w3host
15d2640c43
Presence priority NOT handled correctly #785 ( #787 )
2017-02-20 20:48:09 +01:00
JC Brand
62889089a6
Keep the features section near the bottom.
2017-02-20 14:35:15 +00:00
JC Brand
c845d419fe
Better way of getting a hold onto the chat room view
2017-02-19 11:03:24 +00:00
JC Brand
4c41ae8fad
Render room features separately
...
So that the occupants list doesn't get wiped.
2017-02-19 11:16:27 +01:00
JC Brand
9817aedea7
No need to set templates on the _converse object.
...
If it's needed in another plugin, it can simply be `require`'d.
2017-02-19 11:12:26 +01:00
JC Brand
054cba6503
Make accept/decline buttons accessible
2017-02-19 09:03:58 +00:00
JC Brand
a5bfd7fa57
Hide invite widget if the room is not open
...
or if the room is members-only and the user is not the owner.
2017-02-19 01:18:36 +00:00
JC Brand
441f7a2a15
Show the chatroom occupants JID in the tooltip
...
if you're allowed to see it.
2017-02-19 01:08:08 +00:00
JC Brand
a6ca5aad35
Show room features in the sidebar.
2017-02-19 00:39:08 +00:00
JC Brand
10a85336cc
Show the description in the heading, not the subject
2017-02-19 00:20:21 +00:00
JC Brand
0a99b9f22a
Don't query for room features for restored chat rooms.
2017-02-19 00:20:21 +00:00
JC Brand
efa8776881
By convention keep the render methods immediately after initialize
2017-02-18 10:03:26 +00:00
JC Brand
61bee4c263
The Strophe.Connection obj needs to be reset before reuse.
...
Otherwise re-login hangs after authfail.
2017-02-18 09:46:33 +00:00
JC Brand
33cc2c3cf5
Remove #BBB code for the deprecated prebind
option
...
replaced with the `authentication` option
2017-02-18 09:35:16 +00:00
JC Brand
fe6cb93a63
MUC: don't send out chat hints before join or after leave
2017-02-17 22:17:19 +01:00
JC Brand
f83043e5ab
Fix reference to missing parameter.
2017-02-17 22:07:11 +01:00
JC Brand
6379b0dd7a
Include the version number in the build files.
2017-02-17 20:52:08 +00:00
JC Brand
a1c156456d
Make keepalive
and roster_groups
true by default.
2017-02-17 08:54:58 +01:00
JC Brand
a2081d656c
Add shim for awesomplete
2017-02-16 14:26:48 +01:00
JC Brand
9218d649e9
Bugfix. Avoid infinite recursion (used wrong model).
2017-02-16 11:17:38 +01:00
JC Brand
65fa39dd81
Properly fix and test the /me command
2017-02-15 21:03:02 +00:00
JC Brand
a033899946
Fix leaky abstraction of MUC
2017-02-15 20:30:32 +00:00
JC Brand
148516e0cc
Fix almond builds. updates #779
2017-02-15 20:01:41 +00:00
JC Brand
61568aca32
The notification option wasn't being used consistently
2017-02-15 19:12:45 +00:00
JC Brand
ba9d3c36d5
Refactored converse-otr.js
...
- Removed password encryption of the key.
It never properly worked and bloated the build through extra dependencies.
- Store the key and instance tag on the ChatBox model.
2017-02-15 11:15:03 +00:00
JC Brand
70d385bc28
Use AMD-aware cryptojs from NPM. Update to 0.2.16
2017-02-15 10:02:15 +00:00
JC Brand
073a95b7e6
Avoid visibility transience and fix failing test
2017-02-15 07:46:24 +00:00
JC Brand
fbdbea223d
Ensure consistent behavior from show_controlbox_by_default
2017-02-14 17:23:22 +00:00
JC Brand
e52a775430
Bugfix. See below.
...
"TypeError: this.sendConfiguration(...).then is not a function" when a room is created
2017-02-14 16:55:32 +00:00
JC Brand
bc8e3e1a01
Return a Backbone.View object instead of a wrapper
...
When returning chat boxes via the API.
We can do this now because these API methods are only available to
(whitelisted) plugins.
2017-02-14 15:10:46 +00:00
JC Brand
fe6a9ca748
Merge converse-api and converse-core
...
Otherwise `require('converse-core')` can be called, exposing the inner converse
object.
2017-02-14 14:35:52 +00:00
JC Brand
495c6060f9
Allow non-roster contacts to be invited to a chatroom.
2017-02-14 14:35:31 +01:00
JC Brand
7b65155d5b
Don't show chat-state notifications by default.
2017-02-14 13:00:45 +00:00
JC Brand
d2227c8d44
Replace typeahead with awesomplete.
...
Much smaller library.
No dependence on jQuery.
Updates #779
2017-02-14 12:26:56 +01:00
JC Brand
994c961d9c
Add a waitUntil
API for promises.
2017-02-14 11:24:20 +01:00
JC Brand
3b8431dd7a
Revert "Escape interpolated values. Updates #779 "
...
This reverts commit e63607227d
.
2017-02-14 07:47:38 +01:00
JC Brand
e63607227d
Escape interpolated values. Updates #779
2017-02-14 07:28:04 +01:00
JC Brand
54136a9447
Merge branch 'pr/chats_open_attrs' of https://github.com/Ape/converse.js into Ape-pr/chats_open_attrs
2017-02-13 15:26:40 +00:00
JC Brand
d334870d00
Render the login form again upon authfail.
2017-02-13 15:23:26 +00:00
JC Brand
48a3c30e75
i18n locale can now be specified with only the language code
2017-02-13 15:16:16 +00:00
JC Brand
fddcd1c6cf
Improved roster filter UX.
...
Keep the focus in the input after filtering.
Prevent form submission from reloading the page.
2017-02-13 15:07:46 +00:00
JC Brand
f73a1d3fc0
Don't name the modules.
...
According to the require.js docs this shouldn't be done.
http://requirejs.org/docs/whyamd.html#namedmodules
2017-02-13 14:37:17 +00:00
JC Brand
fd2f1c22e4
Fixes #775
2017-02-13 14:26:59 +00:00
JC Brand
acf0e19d99
Fixes #774
2017-02-13 14:20:16 +00:00
JC Brand
5f67797202
Fixes #749
2017-02-13 14:00:05 +00:00
JC Brand
85f6a75fed
Escape user-generated input to avoid injection attacks
2017-02-13 13:41:37 +00:00
JC Brand
bfd3e7f0b6
Bugfix. Show custom status, not chat status.
2017-02-13 12:00:46 +00:00
JC Brand
6d2a38a7c1
Fixes #486 Update docs and fix failing test.
2017-02-12 19:01:07 +00:00
throwaway42
c34dcfaadc
Honor existing mam user configuration #486
2017-02-11 19:08:26 -03:00
JC Brand
7ad555d97f
Correct rev for pluggable.js.
...
Don't include muc-embedded by default
2017-02-04 09:32:24 +00:00
JC Brand
ebbde138db
Add the ability to whitelist/blacklist plugins.
2017-02-03 18:26:27 +00:00
JC Brand
552b80fe69
Fix typo that came in during bulk renaming
2017-02-03 12:25:59 +00:00
JC Brand
da23015ced
Massage require.js's config so that builds work
...
without underscore.js
2017-02-02 22:38:16 +00:00
JC Brand
63888dd454
Fix failing tests
2017-02-02 21:55:05 +00:00
JC Brand
890d87c980
Add initial demo of embedded MUC chat
2017-02-02 21:55:05 +00:00
JC Brand
761970c903
Update plugins to not depend on converse-core
...
To illustrate that this is not necessary (and also not possible with
non-bundled plugins).
2017-02-02 20:50:52 +00:00
JC Brand
0424df9edc
Rename the closured converse object to _converse
...
to indicate that it's private and to differentiate it from the outer "global"
converse object.
2017-02-02 20:43:48 +00:00
JC Brand
3699a0af5c
createMessage
no longer takes jQuery object
2017-02-02 19:45:16 +00:00
JC Brand
7c15e2f179
Some initial work on removing jQuery
2017-02-02 19:42:01 +00:00
JC Brand
83feebb229
Two plugins changes
...
- Remove the `plugins.remove` API method.
- Throw an error when attempting to register multiple plugins with the same name.
2017-02-02 18:54:15 +00:00
JC Brand
9b48b2d6bd
Update plugins to not depend on converse-core
...
To illustrate that this is not necessary (and also not possible with
non-bundled plugins).
2017-02-02 18:34:13 +00:00
JC Brand
b701c4830f
Also use _converse
as pluggable object reference.
2017-02-02 18:34:13 +00:00
JC Brand
b7b9711296
Rename the closured converse object to _converse
...
to indicate that it's private and to differentiate it from the outer "global"
converse object.
2017-02-02 18:34:13 +00:00
JC Brand
4dcb855562
Split API into public and private (plugin only) parts.
2017-02-02 18:30:59 +00:00
JC Brand
1620dad104
Move dragresize-specific code out of converse-headline.js
2017-02-02 18:30:43 +00:00
JC Brand
647ee1ff04
Replace jQuery-based event emitter with Backbone.Events
2017-02-02 18:30:43 +00:00
JC Brand
ca5a00d36b
Some cleanup and remove unused file.
2017-02-02 18:30:08 +00:00
JC Brand
39d62209c7
createMessage
no longer takes jQuery object
2017-02-02 18:30:08 +00:00
JC Brand
4b22c8ba7b
Use sizzle for tricky selector queries
...
Specifically involving querying by the 'xmlns' attribute, where I've had issues
in the past.
2017-02-02 18:30:08 +00:00
JC Brand
77f93a6471
Some initial work on removing jQuery
2017-02-02 18:30:08 +00:00
JC Brand
8f753ab7b8
The animationend
handler doesn't get be called in chromium
2017-02-02 16:07:00 +01:00
JC Brand
8d69357b52
Debounce scrollDown
2017-02-02 16:06:49 +01:00
JC Brand
82665d17fb
By default allow chatting with pending/requesting users
2017-02-02 14:57:17 +01:00
JC Brand
bcbeb8da6c
Case-insensitive matching of moderation commands.
...
Also add `/subject` as alias to `/topic`
2017-02-02 14:56:56 +01:00
JC Brand
46e231b4b3
Emit 'will-reconnect' event
2017-02-01 17:36:20 +00:00
JC Brand
65852f4e7c
Remove what appear to be unnecessary calls
2017-02-01 17:08:36 +00:00
JC Brand
60f86378a4
Handle reconnection on authfail edge case.
...
Attempt reconnection on authfail when credentials_url and auto_reconnect are set.
2017-02-01 16:34:38 +00:00
JC Brand
8ef7461627
Simplify the onDisconnected method. Add some docstrings.
...
Let debounced reconnection happen on the leading edge.
2017-02-01 16:24:28 +00:00
Lauri Niskanen
cbc0a40e12
Allow setting contact attrs on chats.open
2017-02-01 18:13:12 +02:00
JC Brand
081f075aa9
Add eslint with lodash checking and apply its suggestions
2017-02-01 14:02:18 +01:00
Richard Icke
343e5777d1
first attempt to replace underscore with lodash
2017-02-01 14:00:38 +01:00
JC Brand
327507412b
Update changelog, bump pluggable.js, move files to 3rdparty directory
2017-02-01 14:00:38 +01:00
JC Brand
25d9880f9e
Add config setting allow_non_roster_messaging
...
- Add a test case.
- Don't allow passing of `attrs` to `chats.open`. Not sure yet of the
implications of this.
2017-02-01 10:49:13 +00:00
Lauri Niskanen
246edf8a66
Allow chatting with users not in roster
...
Resolves #760 .
2017-02-01 10:49:13 +00:00
JC Brand
e81eaf323e
Prevent forging of messages via carbons.
2017-02-01 10:49:13 +00:00
JC Brand
0cf9903726
Fix failing tests.
2017-02-01 10:49:13 +00:00
JC Brand
9510bdc152
Remove minimized chats when logging out.
2017-02-01 10:49:12 +00:00
JC Brand
d96bc6ebe4
Avoid sending 'auth fail' feedback twice.
2017-02-01 10:49:12 +00:00
JC Brand
af42bc0696
Only close controlbox when logging out
...
Not when the connection failed due to other reasons (like wrong credentials).
2017-02-01 10:49:12 +00:00
JC Brand
c1662c6339
Properly disconnect upon "host-unknown" error.
2017-02-01 10:49:12 +00:00
JC Brand
25e570c7ed
Bugfix. connection.reset
should only be called after disconnected
2017-02-01 10:49:12 +00:00
JC Brand
8cdadca492
Bugfix. Login form wasn't rendered after logging out
...
when `auto_reconnect` is set to true.
2017-01-31 19:32:12 +00:00
Leo
7ddca47032
Render all drag resize handles in ChatRoomView ( #758 )
...
The ChatRoomView renderDragResizeHandles is only rendering the top resize handle (<div class="dragresize dragresize-top"></div>). the insert was only inserting the first child of the dragresize template, which has 3 children. Modified to insert the whole the div that the dragresize template gets inserted into.
2017-01-23 08:33:17 +01:00
JC Brand
bd00fabe18
Add documentation on creating custom builds.
2017-01-20 09:18:18 +00:00
JC Brand
d6b5ed5e1e
Handle case where locales is not defined.
2017-01-16 22:07:58 +01:00
JC Brand
cbf9617734
Fix selector for cancel button.
2017-01-15 09:31:23 +00:00
JC Brand
c16dac1453
Rather don't expect join to always return the right context.
2016-12-09 19:15:16 +00:00
JC Brand
0bcf61389f
Work around a Prosody bug.
...
Prosody doesn't handle it if we set the affiliation for multiple JIDs in one
stanza, so we need to send a stanza for each JID.
Refs https://prosody.im/issues/issue/795
2016-12-09 19:11:16 +00:00
JC Brand
37df4ad18c
Bugfix. Need to return this
.
2016-12-08 14:23:17 +01:00
JC Brand
b2240cfe94
Use $.when to keep track of all outgoing promises
...
Now that we are sending multiple IQ stanzas when setting affiliations.
We now again have a sendAffiliation method, so we use that.
2016-12-08 07:34:01 +00:00
JC Brand
f5fbf71275
New config setting: muc_disable_moderator_commands
2016-12-07 13:48:47 +00:00
JC Brand
636f02109d
Various fixes in the delta algorithm
2016-12-07 13:02:03 +00:00
JC Brand
993c8f1695
We need to send out a separate IQ stanza for each affiliation
...
At least for Prosody.
2016-12-07 12:43:41 +00:00
JC Brand
54371f0e7d
Remove setAffiliation
and use the more general purpose setAffiliations
2016-12-07 11:45:51 +00:00
JC Brand
77d3e64f42
Specify the reason (if given) when setting someone's affiliation
...
This changed required me to go back to an array of maps instead of a single map
to store jids and affiliations.
2016-12-07 11:45:51 +00:00
JC Brand
b516ae51e7
Move code into separate function.
2016-12-07 10:34:02 +00:00
JC Brand
802c9d1f02
Make it configurable how the affiliations delta is computed.
...
When inviting someone to a members-only room, you only want to add an
affiliation of 'member' if they don't already have any other affiliation.
So we need to ignore the "new" member if they're already on *any* of the lists.
2016-12-06 20:04:08 +00:00
JC Brand
58f07cf115
Change the data structures representing members
...
Make the delta algorithm simpler. Fixed some delta bugs in the process.
2016-12-06 19:39:16 +00:00
JC Brand
c6767bcdaa
Refactor to send out 3 affiliation request stanzas.
...
One for each affiliation (member, owner, admin).
Unfortunately Prosody doesn't give you correct results if you query for all
three affiliations in one stanza.
We'll have to see whether setting all three in one stanza actually works.
2016-12-06 18:34:54 +00:00
JC Brand
6c725409c2
converse-muc: Only send the delta when setting the member list.
...
As required by XEP-0045.
This requires that we first fetch the existing member list, compute the delta
and then send that if there is one.
2016-12-06 15:18:33 +00:00
JC Brand
008c07596a
converse-core: Call _tearDown when initialized again
...
When it's clear that a previous teardown didn't happen.
So that objects can be garbage collected and that obsolete event handlers don't
fire anymore.
2016-12-06 11:07:52 +00:00
JC Brand
bd81a98ffa
converse-rosterview: Remove the rosterview when tearing down.
...
It gets created anew when reconnecting or logging in.
2016-12-06 11:06:21 +00:00
JC Brand
c877f63bf0
polyfill startsWith, to make the tests pass.
2016-12-05 18:55:11 +00:00
JC Brand
cf42911754
converse-muc: rename wrapping function again and put on converse
...
So that it can be overridden.
2016-12-05 18:31:58 +00:00
JC Brand
59ad285823
converse-core: cause can sometimes be DISCONNECTING
2016-12-05 15:22:47 +00:00
JC Brand
376c50fbc8
When inviting to a members-only room, first add to user to the member-list
2016-12-05 15:06:20 +00:00
JC Brand
088eb03b54
Immediately hide chat room on close.
...
Also, use sendPresence from latest strophe so that we have a timeout in case a
responding presence never comes.
2016-12-05 10:49:51 +00:00
JC Brand
7ad39cfdb9
Fetch the room information before opening the room.
2016-12-05 06:07:01 +00:00
JC Brand
5b944f9e5f
Fixes #737 : translations weren't being applied.
2016-12-04 16:53:35 +00:00
JC Brand
e179811181
converse-controlbox: Fix empty controlbox toggle after disconnect
...
- Remove apparently unused `giveFeedback` method on ControlBoxView
- Don't show old connection feedback when rendering a new login form.
Now also no need to explicitly remove feedback after disconnection.
2016-12-04 16:37:07 +00:00
JC Brand
81e3cb976c
converse-muc: Show a spinner while fetching the config form
2016-12-04 15:11:09 +00:00
JC Brand
fd40f24710
converse-muc: Don't delete reference, can cause attribute error
2016-12-04 15:08:02 +00:00
JC Brand
be25c688ff
converse-controlbox: Use event listeners instead of (removed) overrides
...
Due to changes in `converse-core` the controlbox wasn't aware anymore of
disconnection or reconnection events.
2016-12-04 15:07:46 +00:00
JC Brand
f0a454561b
converse-core: Properly disconnect if reconnection attempt fails.
2016-12-04 15:00:46 +00:00
JC Brand
2a81d2e6f3
converse-mam: Don't fetch MAM messages on each page load.
2016-12-04 14:45:36 +00:00
JC Brand
3b3720c32d
converse-core: Attempt to log in again when reconnecting
...
and when auto_login is not `true`. Will only work if the page wasn't reloaded,
because then the password will still be on the connection.
2016-12-04 14:14:40 +00:00
JC Brand
ec91175a70
converse-muc: Don't send a join presence at every page reload.
...
Instead, keep track of the connection state of the room and send a presence
only when the room's connection was disrupted.
2016-12-04 14:41:03 +01:00
JC Brand
d7892d942c
converse-muc: Bugfix.
...
Switching from bookmarks form to config form shows only spinner.
2016-12-04 14:40:55 +01:00
JC Brand
4026248c68
converse-muc: Fixes concerning room occupants.
...
- Fixed a sessionStorage caching bug caused by putting the nickname (which is
liable to change) in the cache key.
- Clear the occupants sessionStorage when closing a chat room.
2016-12-04 14:40:43 +01:00
JC Brand
69e2068241
converse-muc: Remove unused promises
...
Now that we cache disco info and not the room configuration.
2016-12-04 14:40:40 +01:00
JC Brand
81879bc070
converse-muc: Cache the room disco information
...
Instead of the room configuration.
This is because non-owners have access to the former, but not the latter.
2016-12-04 14:40:28 +01:00
JC Brand
0f4efac084
converse-muc: Docstrings.
2016-12-04 14:40:25 +01:00
JC Brand
fbf2e56be4
converse-muc: Cache the room configuration on the Backbone.Model object
2016-12-04 14:40:20 +01:00
JC Brand
6379676cff
converse-muc: Rename _transform
to getWrappedChatBox
.
2016-12-04 14:40:13 +01:00
JC Brand
5e1b094881
Expand upon rooms.open
testcase to test configuration
2016-12-02 21:35:56 +01:00
JC Brand
910e9bddcd
Refactoring in MUC
...
What started as an attempt to fix a bug in parseXUserElement, turned into
another large refactoring of MUC code, and it's not clear how to break this up
into multiple atomic commits. So I'm just pushing it all.
At least there are two new tests added to the suite.
2016-12-02 18:41:05 +01:00
JC Brand
a3bc7a18e5
Fixes #735 . Querying by attribute returns empty list
2016-11-30 18:47:29 +01:00
JC Brand
6abd805b52
Call trimChats immediately, not only after the element is visible
...
Since the element will already be taking up space (due to the
`opacity:0` property being used, instead of `display:none`).
2016-11-30 11:21:19 +01:00
JC Brand
9edc97101b
Don't maximize minimized rooms when calling rooms.open
2016-11-30 11:03:28 +01:00
JC Brand
96d311e2e9
Use CSS animations for fading in.
2016-11-30 11:03:28 +01:00
JC Brand
0d542cee8c
New config settings `allow_bookmarks
`
2016-11-24 09:52:05 +01:00
JC Brand
a4eb622aaa
checkForReservedNick
wasn't called if there aren't any bookmarks.
...
Updates #723 , #734
2016-11-24 09:45:17 +01:00
JC Brand
1b434dbe81
Updates #723 and #734 .
...
`converse.rooms.open` ignored the `muc_nickname_from_jid` setting.
2016-11-24 09:25:06 +01:00
JC Brand
182dc55f11
Bugfix. event wasn't defined
2016-11-24 02:06:58 +01:00
JC Brand
0b22b5a6e0
Emit a reconnecting
event.
2016-11-23 14:50:28 +00:00
JC Brand
bfde4d3e4c
Reconnection fixes.
...
- Reconnection failed if original connection was never established
- When the `credentials_url` is specified, keep on trying to reconnect.
2016-11-23 11:53:06 +00:00
JC Brand
e90632d6fd
Bugfix. No roster when reconnecting.
2016-11-23 10:24:33 +00:00
JC Brand
a5f76abcf1
Updates #729 . Minimized chat boxes don't stay hidden
...
Bug got introduced during fix for #677
Eventually had to do a significant refactoring, to more consistently use the
`hidden` class instead of `display: None`. (relevant for #695 )
2016-11-22 17:42:58 +01:00
JC Brand
c3b2a913bb
Don't open the controlbox on requesting contacts.
...
Can get annoying very quickly
2016-11-22 17:41:57 +01:00
JC Brand
06cbd5cdd0
Use the chats_panel.html template in converse-minimize.js
...
To which it's actually applicable (instead of core).
2016-11-22 17:39:36 +01:00
JC Brand
586bbd0e4d
Bugfix. First configure browserStorage
for ChatBoxes
...
before populating the roster.
2016-11-22 09:35:36 +00:00
JC Brand
3b38f7237c
Bugfix. Chatboxes aren't closed when logging out.
2016-11-22 09:12:39 +00:00
JC Brand
c670893058
Bugfix. Arrays in configuration settings were ignored.
2016-11-22 08:55:52 +00:00
JC Brand
5a72466c45
Rename variables to adhere to coding style.
2016-11-22 08:54:17 +00:00
JC Brand
5e9e685219
Mention the actor (if available) when removed from room
2016-11-21 13:10:36 +00:00
JC Brand
e02c044ae4
Refactored notification code
...
responsible for showing messages based on the extended presence information.
- Use DOM API instead of jQuery
- Make info messages overridable (allows also for disabling them)
- Break up large function with inline callbacks into smaller ones
2016-11-21 12:57:22 +00:00
JC Brand
ebc7409d55
Enable new rooms to be configured automatically
...
Via `rooms.open` API method.
2016-11-20 16:42:11 +00:00
JC Brand
9bf00241de
Updates #721 Restore sessions when logging in anonymously
...
together with keepalive.
2016-11-07 18:48:49 +01:00
JC Brand
8c3ffdffbb
Release 2.0.1
2016-11-07 14:43:48 +00:00
JC Brand
d26d41a701
Use 'hidden' class instead of .hide()
. Fixes #706
2016-11-07 14:10:39 +00:00
JC Brand
27035d47dc
Remember toggle state of bookmarks list.
2016-11-03 15:33:56 +00:00
JC Brand
a2f4acdcee
All tests suites now updated and isolated.
2016-11-03 13:59:05 +00:00
JC Brand
3e4095734b
Call _tearDown
when logging out.
...
This is necessary for cleaning up after tests (now that each test has its own
initialized converse).
Should hopefully not cause any issues when logging out during normal use.
2016-11-03 13:59:05 +00:00
JC Brand
0c2c7be467
Close the controlbox when logging out...
...
and don't show the online count in the toggle.
2016-11-03 13:59:05 +00:00
JC Brand
5610d759c8
Call removeAll
on rosterview when tearing down.
...
Otherwise RosterContactView objects stay around and keep on listening.
2016-11-03 13:59:05 +00:00
JC Brand
50275cce64
Remove shared state between tests
...
Only a small subset of tests currently working with this.
2016-11-03 13:59:05 +00:00
JC Brand
d3090f80bc
Remember which panel was open when reloading the page.
2016-11-02 22:08:20 +00:00
JC Brand
e5b2acde06
MUC: Don't send out unavailable presence when connection is lost.
2016-11-02 14:51:23 +00:00
JC Brand
02864fd175
Don't assume the parent is the top-level message element.
2016-11-02 13:42:20 +00:00
JC Brand
151a476084
Find more cases of children
that should be find
.
2016-11-02 13:38:42 +00:00
JC Brand
ed01081240
Use $.find instead of $.children
...
To allow for better template customization.
2016-11-02 13:33:20 +00:00
JC Brand
38db959e11
Reconnection fixes. Fixes #712
...
- Remove groupviews, so that they'll get recreated upon reconnection
- Don't call `clearSession` when reconnecting. We want to reuse the
Backbone collections.
- Emit `rosterInitialized` event and use that in converse-rosterview.js
(instead of overriding).
- Refactor `onReconnected` to emit `rosterReadyAfterReconnection`, call
`converse.populateRoster()` and `converse.chatboxes.onConnected()`.
- Recreate the roster view on the `rosterReadyAfterReconnection` event.
2016-11-02 13:13:49 +00:00
JC Brand
0d4993ef86
Merge branch 'master' of github.com:jcbrand/converse.js
2016-11-02 13:13:34 +00:00
JC Brand
e3d59afd80
Use converse
instead of this
, or that
instead of bind
2016-11-02 12:46:29 +00:00
JC Brand
ec9ed96568
Remove {{message}}
interpolation.
...
It's not used and confuses people. Instead the message gets inserted via
`$.text`, to avoid injection attacks.
2016-11-02 11:10:07 +00:00
JC Brand
e63853ee92
Add a logout
event.
...
updates #714
2016-11-02 08:42:24 +01:00
JC Brand
b6c88b92fd
Don't listen exclusively for keypress in a textarea
...
Could be a different element as well.
2016-10-28 13:32:35 +00:00
JC Brand
7b003f1d9a
Bugfix. Handle case where controlbox plugin is not loaded.
2016-10-27 13:22:57 +00:00
JC Brand
6f1ac50893
Move leaky MUC abstractions out of converse-chatview.js
...
In the process also updated `updateSettings` to allow merging.
2016-10-27 14:56:31 +02:00
JC Brand
1b264461d7
Bugfix. Return after disconnection
2016-10-27 10:58:51 +00:00
JC Brand
bc5cd95a98
Various bookmarks fixes.
...
Including:
- Always render bookmarks list
- Hide bookmarks list if no bookmarks available
- Only send bookmarks stanza when appropriate
2016-10-27 10:49:09 +00:00
JC Brand
11c9670fc7
Render bookmarks list again after reconnection.
2016-10-27 10:38:06 +02:00
JC Brand
5b34ca9e37
Init bookmarks upon reconnection
2016-10-27 10:20:10 +02:00
JC Brand
a09db2746c
Only set muc domain once connected
2016-10-27 10:08:05 +02:00
JC Brand
9ea018a512
Trigger onBookmarksFetched
event and use to autojoin rooms
2016-10-27 10:07:45 +02:00
JC Brand
aad90cc9df
Add the ability to set the MUC domain to be used.
...
updates #203
2016-10-26 13:31:18 +00:00
JC Brand
01c3a50cc2
Add code to generically and recursively update user settings.
...
Also moved chatview specific settings.
2016-10-26 14:14:49 +02:00
JC Brand
49500a5f2c
Fix jshint error: undefined $
2016-10-21 14:36:09 +00:00
JC Brand
d12309d70e
Move converse.js to src/converse.js
...
Also remove "jquery", will be loaded implicitly
2016-10-21 13:52:00 +00:00
JC Brand
a51d503ea5
Remove invalid comment
2016-10-20 12:31:15 +00:00
JC Brand
1de2f7145c
Let bookmarks list use same markup/css as the available rooms list
2016-10-18 11:34:46 +02:00
JC Brand
623c56c89f
Minor refactoring.
...
Split showRoomInfo into two new methods.
2016-10-18 11:34:46 +02:00
JC Brand
0fe4031a1b
Close all chat boxes when disconnected (with no reconnection attempt)
2016-10-18 11:34:46 +02:00
JC Brand
2d6d4df1f1
Use requestAnimationFrame instead of setTimeout
...
For better performance.
2016-10-17 13:16:41 +02:00
JC Brand
4b28f3f803
Bookmarks fixes.
...
- Remove bookmark from list when removed from collection
- Only render list after all bookmarks have been fetched
- Properly remove bookmarks from sessionStorage
2016-10-17 11:20:20 +02:00
JC Brand
b832285d93
Markup fix to allow bigger chatview avatar
2016-10-15 00:02:22 +02:00
JC Brand
862af642ff
Move avatar markup to a template and make size configurable
2016-10-14 23:42:54 +02:00
JC Brand
2712bcb7cc
Use strophejs-plugins from NPM
2016-10-13 21:55:39 +00:00
JC Brand
f60ee4d640
Refactor rooms to have separate handlers for presence and message stanzas
2016-10-13 18:22:37 +02:00
JC Brand
43ae702c7a
Only fetch bookmarks once chatboxes can be handled.
2016-10-13 18:08:59 +02:00
JC Brand
5a3917925e
Add a new configuration setting: connection_options
...
Allows you to pass in options for the `Strophe.Connection` constructor.
2016-10-12 14:16:34 +02:00
JC Brand
8d2788c543
Handle case where there aren't bookmarks
2016-10-06 14:21:08 +02:00
JC Brand
fc48e02937
More lazily render the bookmarks list
...
Could still be improved.
2016-10-06 13:21:59 +02:00
JC Brand
0020be34d7
Show a list of current bookmarks in the "Rooms" panel
2016-10-06 12:05:25 +02:00
JC Brand
e39999f3ec
Check bookmarks for nicks when joining rooms
2016-10-05 23:15:42 +02:00
JC Brand
6972066076
Bookmarked rooms will now be automatically opened
...
If configured for it.
2016-10-05 23:15:42 +02:00
JC Brand
e80f001b35
Allow bookmarks to be removed from rooms
...
Refactored the code a bit in the process.
2016-10-05 23:15:42 +02:00
JC Brand
7ca7943706
Indicate whether a chatroom has been bookmarked.
2016-10-05 23:15:42 +02:00
JC Brand
3363041625
_super
has been renamed to __super__
.
2016-10-05 23:15:42 +02:00
JC Brand
3e77deee26
Bugfix in format of IQ stanza to save bookmarks.
2016-10-05 23:15:42 +02:00
JC Brand
052dd19252
Initial work on adding chatroom bookmarks.
2016-10-05 23:15:42 +02:00
Mathias Ertl
1ba68dc8b2
Csp compat ( #695 )
...
* Remove some inline CSS style to improve CSP compatibility
* update changelog
2016-10-03 19:45:06 +02:00
JC Brand
fa4e51f3ba
Handle undefined settings being passed in.
2016-09-30 10:42:15 +02:00
JC Brand
90d1071df0
Load templates in the respective plugins
2016-09-23 12:35:01 +02:00
JC Brand
ab76f1da44
Let core populated the roster, and send the initial presence
...
This allows for cleaner separation between core and rosterview, making it
easier to remove that plugin for more stripped down deployments.
2016-09-21 15:06:48 +02:00
JC Brand
ac2c5f3e4e
Allow the context to be passed in when registering event listeners
...
Similar to how backbone.js does it.
2016-09-21 13:15:45 +02:00
JC Brand
05a577059b
Use converse
instead of this
, to be more explicit.
2016-09-21 11:48:53 +02:00
JC Brand
d8d1c283a7
Let the RosterView render and populate itself
...
instead of having the ControlBoxView do it. This provides for cleaner
separation between the two plugins.
2016-09-21 11:48:43 +02:00
JC Brand
7030495275
Refactor the rosterview.fetch method
...
So that we can also fetch the roster also without the controlbox and rosterview.
2016-09-20 17:38:01 +02:00
JC Brand
713922a9e1
Update to Strophe 1.2.8 and add support for SASL-EXTERNAL auth
2016-09-16 13:06:52 +02:00
JC Brand
600f98afcb
Attempt to mitigate against performance degrading attacks.
2016-09-12 13:13:57 +02:00
JC Brand
89e5bd7c54
Update to pluggable.js 0.0.2
2016-08-31 10:39:11 +00:00
JC Brand
66c7c41888
Emit 'roster' event after updating contacts
2016-08-31 09:59:54 +00:00
JC Brand
3c9b5bd7a0
More work on session management.
...
When it's not possible to reconnect due to password no longer being cached,
render the login form.
Fixed a bug whereby after one failed reconnection event, reconnection becomes
impossible (due to 'connection' state of the controlbox).
2016-08-23 18:14:09 +00:00
JC Brand
f5b182c365
Set connected
back to true
after reconnect.
2016-08-23 13:25:34 +00:00
JC Brand
ba67f37473
Only show desktop notifications for error/warn feedback messages
2016-08-23 11:35:16 +00:00
JC Brand
7a428f4dc8
Configure path for almond.js
2016-08-23 09:35:34 +00:00
JC Brand
c65eee9ed3
Use almond.js via npm (instead of bower)
2016-08-23 09:16:12 +00:00
JC Brand
4a2048baae
Found a better way to ensure roster is fetched after reconnecting.
2016-08-23 08:53:37 +00:00
JC Brand
a2ba3ccd4c
Fixed chat state value, should be chat
not chatty
.
2016-08-23 08:43:20 +00:00
JC Brand
c6d37b57e7
Ability to specify both subject and message for feedback messages
...
This allows for better desktop notification messages.
Also improved the wording for some of the feedback messages.
2016-08-23 08:00:41 +00:00
JC Brand
814845e879
Provide a nicer notification when reconnecting
...
after a dropped connection.
2016-08-21 11:17:06 +00:00
JC Brand
b8aaf751d2
Changes concerning caching of data in the browser.
...
- Add new configuration setting messages_storage
- Hardcode the storage for roster contacts and chatroom occupants to `sessionStorage`.
2016-08-21 10:55:45 +00:00
JC Brand
95a0b91afa
Update 'rooms' api to allow user to pass in room attributes.
2016-08-19 17:16:36 +02:00
JC Brand
1ee7d06a08
Further document the auto_reconnect
option
...
and drop the reconnection timeout to 3 seconds (from 5).
2016-08-19 14:11:37 +00:00
JC Brand
59143c1c72
More work on auto-reconnecting and on maintaining sessions.
...
- Added the ability to reconnect to more disconnection causes.
- Make sure the roster is fetched again when reconnecting.
2016-08-19 12:16:55 +00:00
JC Brand
31f0e069ab
Decided to use 30secs instead of 20.
2016-08-18 10:19:43 +00:00
JC Brand
4d28ae3c11
Tweak timeouts regarding status notifications.
...
Send a <paused/> notification after 10 seconds, instead of 20.
Auto-remove a typing notification in the chat box after 20 secs instead of 10.
This is to avoid situations where the status notification gets
auto-removed while the typer keeps on typing without long enough breaks in
between for <pause/> states, thereby causing the recipient to not be aware that
they're still typing.
2016-08-18 09:28:48 +00:00
JC Brand
fdb0425722
Make sure to scroll down after revealing the chat room messages.
2016-08-18 09:08:12 +00:00
JC Brand
6ac4f2601d
Fixes #677 Chatbox does not open after close
...
Problem was a race condition between hide and show methods.
Solution was to not hide the chat box during the initialize method.
2016-08-12 20:38:39 +00:00
JC Brand
4402798dcd
Don't add resources from message stanzas. Fixes #632
...
For each user we keep a list of currently online resources. These resources
were taken from both presence and message stanzas.
Receiving a message doesn't however indicate that the user is online,
especially in the case of archived messages.
This also abused the semantics of messages, which are meant to indicate
user presence.
2016-08-12 19:45:47 +00:00
JC Brand
1f805fa1e2
Fixes surrounding chat state notifications in MUC.
...
- Send chat state notifications with type groupchat for MUC.
- Don't show own chat state notifications if received from the server.
2016-08-12 17:00:15 +02:00
JC Brand
fe46f2ee77
Chat state notifications are now also sent out from chat rooms.
2016-08-12 12:52:33 +00:00
JC Brand
9d28145724
Bugfix. For reserved rooms, only render config form when they're new.
2016-08-12 10:39:57 +00:00
JC Brand
66d80cc4db
New configuration setting muc_instant_rooms
.
...
This option is by default set to `true` which entails no changes in behavior
compared to previous versions of converse.js.
If set to `false`, then rooms first need to be configured before they can be
joined by other users (so-called "reserved" rooms).
More info on "instant" and "reserved" rooms here:
http://xmpp.org/extensions/xep-0045.html#createroom
2016-08-11 16:05:07 +00:00
JC Brand
cd46e96783
Converse.js's plugin architecture has been moved to a separate repo
...
See https://github.com/jcbrand/pluggable.js
2016-08-11 14:05:25 +00:00
JC Brand
34eb8cdfc4
Add getDefaultNickname
method
...
so that plugins can have a different mechanism for determining the default
nick.
2016-08-11 12:19:43 +00:00
JC Brand
462a43b891
Add new config option muc_nickname_from_jid
...
which if set to `true` will let converse.js automatically take the node part of
a user's JID as their nickname when entering a room.
If there is a nickname clash, then the nickname will be disambiguated by adding
integers to it.
For example, john will become john-1, then john-2 and so forth.
2016-08-11 12:02:35 +00:00
JC Brand
561c138edd
Bugfix. Allow multiple MAM queries to be made simultaneously.
2016-07-28 18:01:37 +02:00
JC Brand
e28aba5a59
Fixes #645 . When accepting a contact request...
...
the contact didn't appear under the pending contacts list.
2016-07-28 10:35:43 +00:00
JC Brand
a1e24c95c9
Add nickname to chat message when clicking on room occupant.
...
Allows you to easily mention someone in your message.
2016-07-26 09:31:23 +00:00
JC Brand
0f3526c570
Bugfix. Still render server input field, just make it hidden.
2016-07-26 08:30:26 +00:00
JC Brand
e109c54cf4
Avoid having a separate configuration in demo folder
2016-07-26 08:22:31 +00:00
JC Brand
8a42e241b7
We no longer need to force the user to provide a JID
...
when calling `converse.rooms.open`.
2016-07-26 07:27:28 +00:00
JC Brand
172ce7e0ce
Remove the members-list work and keep the nickname form stuff
...
It's not stable yet and XMPP server support is very patchy.
However, the nickname form work can be merged into master.
2016-07-26 07:14:22 +00:00
JC Brand
0d105b8a6e
make sure room nick is remembered across page loads.
2016-07-26 07:12:56 +00:00
JC Brand
be47ceaab5
In case of a nickname conflict, enable the user to choose a new one
2016-07-26 07:12:56 +00:00
JC Brand
f56b85cff7
Check whether the user has a reserved nickname
...
when they enter a chat room. If they have, we'll use that, otherwise we render
a form where they can specify their nick.
Some chat room tests now fail and still need to be fixed.
2016-07-26 07:12:56 +00:00
JC Brand
cd75b2efab
Let the user choose their nick after opening a chat room
...
This change is with an eye on supporting reserved nicknames, in which case the
user who has a reserved nickname won't have to choose a nick upon joining a
room.
2016-07-26 07:12:56 +00:00
JC Brand
5ffebda8c2
Fix failing tests
2016-07-26 07:12:56 +00:00
JC Brand
c1be16aaab
Bugfix. Store and find occupant views by id, not jid
...
because we don't always have a jid...
2016-07-26 07:12:56 +00:00
JC Brand
93a8dfc024
Indicate whether a room occupant is online or not.
2016-07-26 07:12:56 +00:00
JC Brand
09802cfbde
Add invitees to the member-list of the room.
2016-07-26 07:12:56 +00:00
JC Brand
60f433d12e
Initial work on managing a room's member's list.
2016-07-26 07:12:56 +00:00
JC Brand
88d2142501
Minor improvements around anonymous login.
...
You can now provide the JID of the server either via `converse.initialize` or
via `converse.user.login`.
2016-07-24 10:54:57 +02:00
JC Brand
0c393cf286
Move some utility methods to utils.js
2016-07-18 11:41:31 +00:00
JC Brand
01e10a9b24
Bugfix. Don't call Jed's translate method
...
before converse.initialize has been called. Otherwise we won't get
translations.
Updates #669
2016-07-18 11:34:31 +00:00
JC Brand
71381e2f22
Show requesting contacts when filtering by chat state.
...
Also add an initial test case for filtering by chat state.
2016-07-18 08:42:07 +00:00
JC Brand
7de76924b4
Create the minimized_chats obj during _initialization
...
and don't remove during `_tearDown`.
Fixes bug in `trimChats` when logging in again and `converse.minimized_chats`
is undefined.
2016-07-05 06:21:25 +00:00
JC Brand
5ed8dfbe0a
Get chat box views by id
...
Fixes bug when fetching controlbox, which doesn't have a jid
2016-07-05 07:43:34 +02:00
JC Brand
95d7c306d4
Add more logo sizes, resize and pad.
...
Use the 128x128 icon for Desktop notifications
2016-07-02 13:40:51 +02:00
JC Brand
d6ef4fc5ca
Add method hook for adding more attrs to send to the message template
2016-07-01 14:27:26 +02:00
JC Brand
1666a45c6b
Handle case where this
of overridden method is not the pluggable
...
due for example to it being called by an event handler.
2016-06-30 14:15:05 +02:00