Commit Graph

1357 Commits

Author SHA1 Message Date
JC Brand
23e2aceaca Indicate visitors by making them lighter grey 2017-12-14 13:45:14 +00:00
JC Brand
dc16930464 Test the /voice command and fix a bug 2017-12-14 13:07:39 +00:00
JC Brand
5eabf4008e Render "create account" link via a VDOMView and hide when connecting 2017-12-14 12:30:50 +00:00
JC Brand
9fca25b6a9 Use snabbdom via backbone.vdomview 2017-12-13 22:04:58 +00:00
JC Brand
bd5a49da3f Show an info message when a MUC occupant is muted. 2017-12-07 07:05:37 +01:00
JC Brand
2b6db9d50b Test /help, /kick and /mute commands 2017-12-06 22:11:53 +01:00
JC Brand
031d640438 Don't render avatar for headlines chatbox 2017-12-06 22:10:21 +01:00
JC Brand
8cd75aa09c Move ChatBox, Message and Messages to converse-chatboxes 2017-12-06 22:09:46 +01:00
JC Brand
a4a1c80b5b Bugfix. In a MUC the /help command didn't render properly 2017-12-06 17:01:17 +01:00
JC Brand
41ca34a051 Fixes #953 MUC "Features" displayed when exiting configuration 2017-12-06 16:39:29 +01:00
JC Brand
85bea60066 Some of refactoring to avoid code duplication and jQuery 2017-12-06 16:26:53 +01:00
Stefano Boldrin
f953df9621 Fixed error building DOM toggle_chats.html span.unread-message-count class attribute (#960)
* Added missing " on class attribute

* Added changelog for prev commit "Added missing " on class attribute"
2017-12-04 20:44:54 +01:00
JC Brand
1adc4938a8 Fetch VCard when starting a chat with someone not in the user's roster 2017-12-03 20:50:13 +01:00
JC Brand
393bbe020e Check disco before fetching own vcard. 2017-12-03 11:10:59 +01:00
JC Brand
e701305d05 Bugfix. Avatar wasn't being shown 2017-12-02 18:07:31 +01:00
JC Brand
8662f751e3 Refactor converse-vcard and add API method to fetch a VCard 2017-12-02 18:01:56 +01:00
JC Brand
063908e032 Append spinner when fetching newer messages 2017-12-02 15:09:04 +01:00
JC Brand
4df61cc496 After reconnection, fetch new messages for private chats 2017-12-02 14:26:28 +01:00
JC Brand
c26ccf5e01 Remove jQuery as dependency for converse-mam.
Also, if a message has no `archive_id` attribute, then do a time-based MAM query.
2017-12-02 14:26:28 +01:00
JC Brand
d420a35e91 Merge remote-tracking branch 'weblate/master' 2017-11-23 15:23:06 +01:00
JC Brand
fa7ca46d12 Text fixes based on feedback from translator 2017-11-23 12:10:40 +01:00
JC Brand
5939f11192 Some work on removing jquery from the controlbox code 2017-11-17 14:42:09 +01:00
JC Brand
141eaa6a39 Fix rendering of heading for headlines boxes 2017-11-17 14:41:54 +01:00
JC Brand
9aefd2739f Remove jquery as dependency for converse-profile.js 2017-11-17 14:21:18 +01:00
JC Brand
9d1c6236ac Move the xmpp status (e.g. profile) view into separate plugin 2017-11-17 13:32:03 +01:00
JC Brand
ca0cbb1c31 Use an img tag instead of canvas for rendering avatars 2017-11-17 13:19:21 +01:00
JC Brand
bac1d22205 Fix: In chatbox heading two avatars sometimes get rendered 2017-11-17 12:50:16 +01:00
JC Brand
250b06475e Bugfix. Disappearing contacts filter when changing the type 2017-11-17 11:30:50 +01:00
JC Brand
0acef8b49d Transpile backbone.vdomview 2017-11-17 11:02:55 +01:00
JC Brand
adb92a2eda Two small UX fixes
- Don't close the emojis panel after inserting an emoji.
- Focus the message textarea when the emojis panel is opened or closed.
2017-11-12 20:08:37 +01:00
JC Brand
691c48468f Hide the roster filter by default. Updates #949
- Also, use a virtual-dom view for rendering the roster filter.
2017-11-11 09:16:45 +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
ed4c393a9d Create separate view for the MUC join form 2017-11-10 21:37:35 +01:00
JC Brand
a6f2877ed9 Disco API refactoring
This came out of the desire to let `converse-muc` use the API to
determine whether MUC is supported. However, we don't know the entity
JID before hand and I couldn't think of a good way to query all current
and future entities for a feature.

So `converse-muc` still does it's own thing without the API, but some
refactoring came as a result of attempting.
2017-11-10 21:37:35 +01:00
JC Brand
87213bf90a Rename getPromiseWrapper to getResolveablePromise
Let a promise be returned instead of a wrapper, but glue the `resolve`
and `reject` methods onto it
2017-11-10 21:37:35 +01:00
JC Brand
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
4d06228d89 Various changes around making builds.
- Update build scripts to use transpiled versions of newly added modules
- Stop building locales.js and remove locales stuff from build scripts
- No need for Grunt anymore since we don't need to make locales.js
2017-11-03 08:45:47 +01:00
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