Commit Graph

452 Commits

Author SHA1 Message Date
JC Brand
96f38150f9 Use async/await and don't swallow errors.
Also, handle the error in `getRoomFeatures`
2019-01-10 13:16:08 +01:00
JC Brand
a4d608dcdf Save room features in separate model
As a namespacing mechanism to avoid clashes.
Fixes bug where two chats are shown as currently being active in the rooms list.
2019-01-10 12:15:59 +01:00
JC Brand
2fb435b2e0 Don't assume id of "current" for bookmarks' PEP node
Causes problems with some versions of Ejabberd which use a different id.
Will be fixed in upcoming versions.
2019-01-08 15:12:02 +01:00
JC Brand
8c708b5fe5 Focus textarea when switching between rooms 2019-01-04 05:48:23 +01:00
JC Brand
d92a742877 Fixes #1390 2019-01-04 05:43:59 +01:00
JC Brand
0c1363c103 The hide_muc_server option no longer exists 2019-01-03 14:12:36 +01:00
JC Brand
a962fc0a24 Don't unnecessarily check for #publish-options 2019-01-03 13:49:39 +01:00
Christoph Scholz
eacd7fd933 implement /destroy command in muc 2019-01-03 13:09:13 +01:00
JC Brand
7d74319efd Fixes #1356 2019-01-03 11:45:52 +01:00
JC Brand
aa274f41c2 Make background darker and add new logo 2019-01-02 22:54:04 +01:00
JC Brand
debb8f0e4f Remove .icon-converse styles 2019-01-01 12:30:54 +01:00
JC Brand
a31c2d40f2 Remove icomoon fonts and use Bauman and the new logo for branding 2019-01-01 11:12:23 +01:00
JC Brand
98fee37a41 Destroy devicelist if we can't fetch the devices for it.
Otherwise Converse will try to fetch the devices again and again upon
page refresh.
2018-12-21 06:29:22 +01:00
JC Brand
45ed506551 Don't hardcode devices storage to session storage.
The devicelists are not stored in session storage, so we end up with
fetching all the devices per stored devicelist with every new browser
session.
2018-12-21 06:29:22 +01:00
JC Brand
e6c66cfebd Ability to republish if publish-options precondition not met 2018-12-21 06:29:22 +01:00
JC Brand
bcb3bcaf03 OMEMO can only be supported once it's been initialized
updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
a3830e9a7a Use async/await 2018-12-21 06:29:21 +01:00
JC Brand
be1be3534c Don't render the lock icon when the MUC doesn't qualify
Updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
9aca32ad97 Handle errors when sending encrypted groupchat messages
updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
d051085626 Only clear textarea once message was sent
This now requires `sendMessage` to return a boolean to indicate success.
Disable the textarea while message is being sent.
2018-12-21 05:58:22 +01:00
JC Brand
85dab7367b Use pubsub#access_model to publish keys and devices publically 2018-12-21 04:35:28 +01:00
JC Brand
0b25800392 Add converse-pubsub.js 2018-12-20 21:51:16 +01:00
JC Brand
9c05ca9a09 Add test for sending/receiving MUC OMEMO messages
While adding support for MUCs, I refactored converse-omemo somewhat to move functions
out of `overrides` and to use async/await

Updates #1180
2018-12-20 21:51:16 +01:00
JC Brand
f64fdb8088 Render the OMEMO lock icon in MUC toolbars as well
updates #1180
2018-12-20 21:51:16 +01:00
JC Brand
c8d78d744b Fix typo and formatting in user-facing strings 2018-12-19 05:50:06 +01:00
JC Brand
4a65e39804 Set default to avoid includes being called on undefined 2018-12-17 15:29:21 +01:00
Christoph Scholz
d2d64952a0 set store hint on receipts and type='chat' 2018-12-17 15:20:21 +01:00
JC Brand
38d7723bee Don't call trimChats when not in overlayed mode 2018-12-17 15:18:36 +01:00
JC Brand
82bfe66cac Simplify setting of MUC features.
We don't need an event handler that sets the "opposite" features to
false if we set all features properly in getFeatures
2018-12-17 15:18:20 +01:00
JC Brand
94bcba741b Handle non-elements, like text nodes 2018-12-17 15:17:53 +01:00
JC Brand
9c812157ee Use async/await 2018-12-17 15:16:43 +01:00
JC Brand
6c3990ac86 Trying to fix trimChats is not a function on Travis 2018-12-17 11:50:56 +01:00
JC Brand
49efe390f9 Fix typo 2018-12-17 11:42:43 +01:00
JC Brand
d5e89655dc Still check the view mode since the trimChats method is debounced 2018-12-16 11:32:19 +01:00
JC Brand
a389f52adb Fixes #1353 Don't expect delivery receipts to have type chat 2018-12-16 11:22:13 +01:00
JC Brand
b7c01993b7 User-facing term is "groupchat", not "room" 2018-12-16 11:22:12 +01:00
Christoph Scholz
216a684904 prevent message delivery receipts for carbons and own 2018-12-15 20:04:31 +01:00
JC Brand
6ec183451d Remove global event listener when appropriate.
Otherwise trimChats called in `fullscreen` tests (due to being
registered in a previous test)
2018-12-15 20:01:19 +01:00
JC Brand
9ff505fd66 Add unregisterGlobalEventHandlers method
And call it when `converse.initialize` gets called again
2018-12-15 20:00:36 +01:00
JC Brand
003af0c438 visibilitychange is supported by all browsers we support
So simplify the code that saves the window state
2018-12-15 19:59:30 +01:00
JC Brand
935ca52b03 Test that open groupchats are shown with their bookmarked names 2018-12-15 19:31:19 +01:00
JC Brand
d5485d09ae Always render the OMEMO lock icon
When OMEMO isn't possible, render it as grey.

This change makes OMEMO for MUCs easier, since there I anticipate that
OMEMO support might change dynamically based on who enters/exits the
room.

updates #1180
2018-12-14 11:25:57 +01:00
JC Brand
9b61b2bdab We do need a validate method, but it needed a fix. 2018-12-13 10:07:31 +01:00
JC Brand
5dacb96b78 Don't try to create ChatBox from controlbox data in embedded mode
updates #1374
2018-12-12 18:52:41 +01:00
JC Brand
e38daf34f7 Remove coupling between converse-chatboxes and converse-roster
In embedded mode (singleton) we don't need or want the roster, so we
should be able to disable it.

updates #1374
2018-12-12 18:52:40 +01:00
JC Brand
a8ed46f672 Use async/await in spec 2018-12-12 17:40:14 +01:00
JC Brand
ccb8662ef7 Bugfix. First match for MUC commands 2018-12-10 15:40:30 +01:00
JC Brand
1d55b131f6 CSS: set groupchat owner badge to groupchat color 2018-12-10 15:12:29 +01:00
JC Brand
262b9f9260 CSS: Give color to the controlbox headings 2018-12-10 15:12:28 +01:00
JC Brand
4c965b58d3 CSS: Reuse list-item-action class for "Contact Requests" actions 2018-12-10 15:12:27 +01:00
JC Brand
2a79c5b08a Consistent icon usage for leaving a room 2018-12-10 13:31:42 +01:00
JC Brand
02c907128c Fix regex for setting the version number.
updates #1366
2018-12-07 13:55:41 +01:00
JC Brand
90bf42a002 HTML and CSS improvements for listed items in the controlbox
Fixes #1348

Tried to get the unread messages indicator to line up properly with the
text and icons in a room list item.

Also tried to reuse styles where appropriate, specifically
`.list-container` and `.list-toggle`.
2018-12-07 11:37:51 +01:00
JC Brand
aa730b5976 New event messageNotification 2018-12-06 13:55:28 +01:00
JC Brand
a2441545db Add check inside method, like with playSoundNotification 2018-12-06 13:52:32 +01:00
JC Brand
362e94d7f5 New build 2018-12-06 13:10:34 +01:00
JC Brand
2857293ad1 Fix failing tests by waiting and slightly improve code 2018-12-06 13:10:34 +01:00
JC Brand
118bc20478 Rename isSingleton to isUniView
We distinguish between UniView and MultiView instances.

UniView means that only one chat is visible, even though there might be multiple ongoing chats.
MultiView means that multiple chats may be visible simultaneously.
2018-12-04 13:50:15 +01:00
JC Brand
dd3133e7de Avoid RID out of range errors in Prosody
by not flushing stanzas when sending out an <inactive> CSI.

When reloading the page, the stanzas are resent (because we never had
time to receive acks) which causes problems on Prosody (and likely also
causes the Ejabberd "other-request" errors).
2018-12-03 21:33:34 +01:00
JC Brand
f051ff283b Don't store vcards globally to all accounts. 2018-11-30 19:43:40 +01:00
JC Brand
714da6f0df Wait until push services are disabled as well 2018-11-29 13:22:58 +01:00
JC Brand
7109ff672e Add api method to retrieve controlbox 2018-11-29 12:37:21 +01:00
JC Brand
6358fd7c97 Use finally 2018-11-29 10:41:46 +01:00
JC Brand
cd63afcaad Add space following question mark 2018-11-22 09:09:14 +01:00
Christoph Scholz
267d91a4f3 don't send receipt requests in MUCs 2018-11-20 17:38:59 +01:00
JC Brand
d341c6a13b Revert "Use getter to lazily create Strophe.Connection"
This reverts commit 7af73c3471.

Doesn't look like the right approach for adding support for XEP-0156.
Work on that will continue in a branch in the meantime.
2018-11-20 17:31:53 +01:00
JC Brand
7af73c3471 Use getter to lazily create Strophe.Connection 2018-11-18 18:05:47 +01:00
JC Brand
86593dc378 Don't render http (i.e. non-TLS) resources
Causes "Mixed Content" TLS errors
2018-11-18 18:05:47 +01:00
JC Brand
c46d937ea4 Fix null check 2018-11-18 15:16:40 +01:00
Christoph Scholz
8524ff3b99 Fix missing checkmarks in old muc messages 2018-11-17 18:52:52 +01:00
JC Brand
d3a684a57d Move some functions outside of the initialize closure 2018-11-15 23:10:40 +01:00
JC Brand
5109c845ef Add language support for Galician 2018-11-15 12:25:31 +01:00
JC Brand
35a1693ade Use es2015 module imports in i18n.js 2018-11-15 11:51:43 +01:00
JC Brand
a5fdbb0e8a Avoid loading all the moment locales 2018-11-15 11:44:16 +01:00
JC Brand
01c3d35db2 Remove unnecessary webpack aliases 2018-11-15 11:29:28 +01:00
JC Brand
7e24019568 Fixes #1288
Add CSS classes to differentiate between incoming and outgoing messages
2018-11-15 10:30:58 +01:00
Emmanuel Gil Peyrot
339d8a8f92 Add XHTML compatibility
This is mainly a testing tool, which makes a mode where all HTML bugs
which could slightly mess up the rendering will trigger proper errors in
the browser.

Fixes #1131.
2018-11-14 22:08:12 +01:00
Emmanuel Gil Peyrot
ab5dd4a146 Switch avatar rendering from canvas to SVG.
This delegates the calculation of the aspect ratio to the browser, and
generally simplifies the code.

Fixes #1156.
2018-11-14 16:03:37 +01:00
JC Brand
352c0797ad Rename theme to concord and add config option for setting the theme 2018-11-14 15:56:28 +01:00
JC Brand
dde2efb653 Fix trash icons for pending contacts 2018-11-14 15:46:51 +01:00
JC Brand
067d87a73e Fix failing test 2018-11-14 15:15:29 +01:00
JC Brand
7cb889b065 Fixes #1317 Don't show errors for CSI messages 2018-11-14 14:34:23 +01:00
JC Brand
1e7247b4d2 Add client info modal showing name and version number 2018-11-14 12:01:27 +01:00
Christoph Scholz
9a307da808 show version info in login dialog 2018-11-13 21:12:24 +01:00
Christoph Scholz
12b7687a89 Implement sending presences according to XEP-0319: Last User Interaction in Presence 2018-11-13 18:39:13 +01:00
Christoph Scholz
da5ca0b585 implement XEP-0184: Message Delivery Receipts 2018-11-13 17:13:35 +01:00
JC Brand
10415c252d Remove duplicate import and make new build 2018-11-13 13:15:54 +01:00
JC Brand
75b923b580 Bump MAM timeout to 20 secs 2018-11-12 20:29:55 +01:00
JC Brand
3b60ced39c Add a button for regenerating your OMEMO device bundle 2018-11-12 20:29:55 +01:00
JC Brand
773c678c4d More button color fixes after switching to css properties 2018-11-12 14:06:52 +01:00
JC Brand
6139b8060d Consistent placing of modal buttons 2018-11-12 14:05:35 +01:00
JC Brand
affafc746c Bugfix. Make sure _devices_promise is a Promise 2018-11-12 12:04:25 +01:00
JC Brand
9d0cfe8f43 Presence subscription bugfixes.
* Return the promise, so that we can wait.
* `sendContactAddIQ` now returns a promise and doesn't take a callback
* Don't call `destroy` on a contact that's already been removed.
2018-11-10 19:09:51 +01:00
JC Brand
461ebc0aea Use async/await instead of explicit promises 2018-11-09 17:37:14 +01:00
JC Brand
d9093c09ee Fixes #1312 2018-11-07 12:11:22 +01:00
JC Brand
476b8041aa Fix badge & button colors. Ensure vars apply to .converse_content 2018-11-07 11:40:35 +01:00
JC Brand
841c91dac3 New build 2018-11-07 11:12:43 +01:00
JC Brand
cc3735ff08 Use async/await 2018-11-05 21:12:12 +01:00
Emmanuel Gil Peyrot
87c77385d8 Improve XEP-0245 support.
Namely:
- Only match messages which start with exactly "/me ".
- Simplify the match, checking a string instead of a complex regex.
- Always remove the first four characters in the case of a match, to not
leave an extra leading space.
2018-11-05 14:02:14 +01:00
Emmanuel Gil Peyrot
9a12afc702 Change a docstring into a comment. 2018-11-03 12:05:23 +01:00