Commit Graph

444 Commits

Author SHA1 Message Date
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
Emmanuel Gil Peyrot
5cd7ccb3ef Correctly display error when HTTP File Upload isn’t supported by the server. 2018-11-03 00:55:18 +01:00
Emmanuel Gil Peyrot
0d4603d80d Upload files on drag-and-drop.
Fixes #1188.
2018-11-03 00:55:18 +01:00
Emmanuel Gil Peyrot
8c5df984f4 Make user JID a link in user details. 2018-11-03 00:32:29 +01:00
Emmanuel Gil Peyrot
6e26f8b50a Put the colons in the translatable message.
This helps languages which use a different typography for the colon,
such as French which has a narrow non-breakable space before it, or
Japanese which uses a full-width colon character.
2018-11-03 00:25:07 +01:00
JC Brand
609995c767 updates #1294 Pass i18n function to template 2018-11-03 00:15:23 +01:00
Emmanuel Gil Peyrot
73e2d44d22 Allow translation of “Uploading file:”. 2018-11-03 00:15:23 +01:00
JC Brand
f974c79acf Bugfix. Declare converse-modal as a dependency of converse-message-view
Otherwise we get `TypeError: Cannot read property 'extend' of undefined`
when attempting to extend `BootstrapModal`.
2018-11-02 11:59:56 +01:00
Emmanuel Gil Peyrot
8c61922d7f Replace the default avatar with a SVG version.
This is both lighter, looks better when rendered at arbitrary
resolutions (as there is no scaling being done), and actually editable
for different deployments.

This image has been hand-drawn using the PNG as a background.
2018-10-28 23:51:00 +01:00
JC Brand
64e22fc612 Regenerate pot and po files after previous change 2018-10-28 23:24:33 +01:00
JC Brand
11a53608d9 Right Align badges of room occupants
fixes #1264

Also...

- hide the badges in overlayed view mode
- hide the features list in overlayed view mode
2018-10-28 23:20:29 +01:00
JC Brand
fd41994672 Pin to latest backbone.browserStorage, then make clean && make dist 2018-10-28 18:23:05 +01:00
JC Brand
11ac846b31 Fixes #1259 2018-10-27 22:56:05 +02:00
JC Brand
f0c5f69757 Fix unclarity in tooltip 2018-10-27 19:23:35 +02:00
JC Brand
36f63d9000 Fixes #1272 Hiding MUC occupants leaves a blank space 2018-10-26 16:37:56 +02:00
JC Brand
20098c08fd Restrict whitelist for headless only to the relevant plugins 2018-10-26 16:09:45 +02:00
JC Brand
6a70f8abb4 Updated build 2018-10-26 14:45:36 +02:00
JC Brand
ad27edb238 Updated build 2018-10-26 12:53:25 +02:00
JC Brand
c583678c86 Use _coverse.api.sendIQ instead of _converse.connection.sendIQ
So that we know an event will be emitted when the stanza is sent.
2018-10-25 18:29:29 +02:00
JC Brand
6ebf6f6ecc Fix failing test by making sure notifications are cleared 2018-10-25 08:21:38 +02:00
JC Brand
0715476862 Add package-log.json for headless build. Set to 4.0.4
This is probably fine as a patch release. Even tough files have been
moved around, the API is still the same.
2018-10-25 08:01:47 +02:00
JC Brand
e0f0617629 Don't store the File object in browserStorage
With the recent fixes in backbone.browserStorage, the 'file' attributes
gets persisted to browserStorage before Converse tries to upload the
file.

The File object can't actually be serialized, so an empty map gets
stored and then returned together with a 'change' event.

Instead, store the file as a direct attribute on the message object.

Fixes #1261
2018-10-24 22:59:43 +02:00
JC Brand
02f1b33143 New build and package-lock.json 2018-10-23 15:50:55 +02:00
JC Brand
6904f9a897 Use es2015 modules instead of UMD 2018-10-23 12:25:58 +02:00
JC Brand
3a33d6f99b Fix linting errors 2018-10-23 12:25:35 +02:00
JC Brand
c684105fed New build of converse.js 2018-10-22 14:44:54 +02:00
JC Brand
1c7c70af66 Use new status icon CSS classes for roster contacts as well
updates #1209
2018-10-21 23:49:41 +02:00
Lauren Mayers
ba689f4185 Update user status colors and icons
fixes #1209
2018-10-21 23:36:57 +02:00
JC Brand
a49c1f5592 Update Strophe.js, strophe plugins and backbone.browserStorage 2018-10-21 23:19:39 +02:00
JC Brand
dfcc1d97a1 Make sure encrypted messages aren't falsely matched as CSNs 2018-10-18 20:33:40 +02:00
JC Brand
c8dc7b63b2 Disable OMEMO when the current device is not trusted.
updates #1242
2018-10-18 07:47:25 +02:00
JC Brand
bb78d8519f Use async function instead of explicit promises 2018-10-18 07:03:42 +02:00
JC Brand
23cb7d31ec New dev bundle 2018-10-18 00:17:28 +02:00
alan
45cda8494a possible fix for issue #1185 2018-10-17 22:17:57 +02:00
JC Brand
ceb0b82245 Two changes. See below
- No need for the `edited` event.
- Also, don't add load animation for MAM corrections
2018-10-16 21:58:36 +02:00
JC Brand
a8ef1d2904 Fixes #1058 Send inactive CSN when user switches tab 2018-10-16 13:30:29 +02:00
JC Brand
09c3d30ccc Make sure messages are marked as followups after re-render 2018-10-16 11:56:43 +02:00
JC Brand
82239d281f Refactor file-extension checking into utility functions 2018-10-16 00:22:39 +02:00
JC Brand
0c58cb7c48 Add the show_images_inline option
updates #1228
2018-10-16 00:06:01 +02:00
JC Brand
a5a600bade Fixes #1193 Properly handle OMEMO messages without body tag 2018-10-15 23:47:22 +02:00
JC Brand
e181aaf99b Make the message view's render method async
So that we first render dynamic content (e.g. images) before inserting
it into the chat.

Also, add the `show_images_inline` setting (which is the cause of this
whole change).

Updated tests to handle this new change and start using async/await
instead of promise callbacks.
2018-10-15 22:19:04 +02:00
JC Brand
2426f9b7c8 Only attempt loading img URL with filename and appropriate extension
updates #1228
2018-10-13 21:12:48 +02:00
JC Brand
e425f25753 Listen for xmpp: URIs in all of Converse, not only chatrooms
updates #537
2018-10-13 20:55:05 +02:00
JC Brand
9e47fff0ba Fix failing tests by avoiding empty class attr 2018-10-13 20:26:23 +02:00
JC Brand
99c0687684 Fixes #537 Open xmpp: URIs inside Converse 2018-10-13 20:16:00 +02:00
JC Brand
d77802da86 Avoid showing notification messages twice
For example `This groupchat is not anonymous`
2018-10-13 14:41:16 +02:00
JC Brand
1c89af47ef Bugfix. Promise is not callable 2018-10-13 14:14:02 +02:00
JC Brand
7270abb08b Some refactoring of the code that collapses leave/join messages
Mostly to match any previous leave/join message from the same user

Fixes #1062
2018-10-13 13:23:55 +02:00
JC Brand
7b9c97dfd3 Also squash leave/join messages
And fix an HTML rendering bug for info messages and nicks that contain spaces
2018-10-11 19:04:06 +02:00
JC Brand
71cc98d6f6 Reduce join/leave clutter by removing subsequent ones
Previously we checked only if the last message was a join message from
the same person.

Now instead we check the last n messages that are join or leave
notifications.
2018-10-11 15:59:52 +02:00
JC Brand
cf75d37587 join/leave notification fixes.
* Don't show leave notification twice when someone leaves, joins and then leaves again
* Add a test case for a member joining and then leaving
2018-10-11 14:05:52 +02:00
JC Brand
aa50942400 Don't show join message for non-online occupants created from members list
Fixes #1169
2018-10-11 13:23:39 +02:00
JC Brand
a339053163 Revert "Remove check for @ and for allow_non_roster_messaging"
Seems to make some sense after all, but we need to add a check that the
user isn't a roster contact as well.
2018-10-11 11:58:45 +02:00
JC Brand
eee7ff763e Remove check for @ and for allow_non_roster_messaging
The second especially doesn't make sense and I'm currently not aware of
a case headline stanzas with a JIDs containing `@` and with a body
exist.
2018-10-11 11:02:20 +02:00
JC Brand
dffcc13dea Fixes #1140 Add support for destroyed chatrooms 2018-10-10 22:57:12 +02:00
JC Brand
23e9c48e53 Avoid creating a headlines box...
if we don't have anything to show inside it.

Updates #1221
2018-10-10 20:12:29 +02:00
JC Brand
053d4070f2 Fixes #1176
Add config setting `send_chat_state_notifications`
2018-10-07 05:08:08 +02:00
JC Brand
b039398a73 Fixes #1204 2018-10-07 05:05:29 +02:00
JC Brand
6a5a502d58 Add support for rendering xmpp: and mailto: URIs 2018-10-07 04:46:41 +02:00
JC Brand
7a612460da Fixes #1063 Make URLs in topic clickable 2018-10-07 03:31:18 +02:00
JC Brand
2b5d6327f8 New builds 2018-10-06 19:39:45 +02:00
JC Brand
c62dca4bd4 Fixes #1199 Provide a link back to the login form 2018-10-05 20:32:34 +02:00
JC Brand
d30efcb3ab Better bootstrap markup for the account registration form 2018-10-05 20:12:13 +02:00
JC Brand
11bd3db86b Fixes #1190 by explicitly setting the column width 2018-10-05 17:40:57 +02:00
JC Brand
7a330600d4 Fixes #1214
Hide "add contact" button and requesting/pending contacts when
allow_contact_requests is false.
2018-10-05 17:19:53 +02:00
JC Brand
ad142028ca Updated builds 2018-10-05 04:54:00 +02:00
JC Brand
9bc8bdf34c Test updates after updating to use latest strophe.js
`toLocaleString` now returns element attributes in alphabetical order
(for better cross-browser consistency).

Also, `toLocaleString` is now used in favor of `outerHTML` because
browsers aren't consistent with one another in their output.
2018-10-03 21:11:20 +02:00
JC Brand
dbfd460125 Don't include additionalData when en/decrypting with crypto.subtle
Otherwise compatibility with Conversations is broken.
Unfortunately this means that OMEMO won't work on Edge, because it
for some reason requires the additionalData.

References:
* https://github.com/conversejs/converse.js/issues/1187#issuecomment-426276243
* https://stackoverflow.com/questions/42933162/web-crypto-api-using-microsoft-edge-38-14393-0-0/42950731

Fixes #1187
2018-10-02 22:07:16 +02:00
JC Brand
148eaeacf5 Bugfix. Error messages don't have associated vcards 2018-10-02 18:04:03 +02:00
JC Brand
ba37826d44 Hook in Hindi and Romanian and update all pot, po and json files 2018-10-02 17:34:59 +02:00
JC Brand
45643d52bf fixes #1225 2018-10-01 21:50:25 +02:00
JC Brand
e05b7e9de3 OMEMO fixes for Edge. 2018-09-25 13:21:48 +02:00
JC Brand
bf76b3b486 Add a polyfill for TextEncoder/TextDecoder for Edge 2018-09-25 13:20:55 +02:00
JC Brand
6bd4782ff6 Include filename in download link and embedd ogg audio 2018-09-25 00:21:17 +02:00
JC Brand
af35d461e8 Set max-height for embedded videos.
Also udpate markup to not use `<source>`.

updates #1189
2018-09-24 23:56:54 +02:00
JC Brand
b9c6a29fdf Update to newest lodash 2018-09-24 21:53:54 +02:00
JC Brand
31080bf2f9 Add a FormData polyfill for Edge comptaibility
Fixes #1220
2018-09-24 16:18:51 +02:00
JC Brand
682bace83b Don't show new messages indicator for CSN messages 2018-09-19 13:27:03 +02:00
JC Brand
6dfd0d1aa5 Make sure popovers also work in overlay view mode 2018-09-19 13:01:15 +02:00
JC Brand
094a8a578a Fixes #1201 Emoji picker appears when pressing enter 2018-09-18 16:26:10 +02:00
JC Brand
0833478da4 Use bootstrap4 for the Converse website 2018-09-18 16:15:32 +02:00
JC Brand
dee49e382c Avoid horizontal scrolling for messages in Firefox 2018-09-18 13:14:55 +02:00
JC Brand
c37a1dcbb2 Add explanatory snippets from relevant XEP 2018-09-17 10:26:05 +02:00
JC Brand
60b08d41a7 Fixes #1203
Update to Strophe 1.2.16
2018-09-16 10:54:40 +02:00
JC Brand
ad9a840cb7 Avoid saving full MUC JID as domain 2018-09-14 10:31:58 +02:00
JC Brand
b4a70c5f31 Refactor getJidsWithAffiliations
Previously the Promise.all made it all-or-nothing, now it'll return
partial matches as well and it'll also log error stanzas.
2018-09-13 16:42:54 +02:00
JC Brand
93c956ba4b Bugfix. Should be && not || 2018-09-13 16:42:54 +02:00
JC Brand
0a3a6222c6 Provide error feedback to the /register command.
Also fix if/boolean bug when checking whether we should automatically
register
2018-09-13 12:39:50 +02:00
JC Brand
aeb0c0c7bb Updated build 2018-09-13 11:48:11 +02:00
JC Brand
acef8feaaa Refactoring of fetching of reserved nick
- Move `getDefaultNickName` to the model and rename to `getDefaultNick`
- Let `checkForReservedNick` return a promise and save `nick` once received
- Updated `openAndEnterChatRoom` to wait appropriately and remove presence-wrapper
- Update tests to wait appropriately
- Remove presence-wrapper in `getRoomFeatures`
2018-09-12 12:36:13 +02:00
JC Brand
2df9b24211 Add option to auto-register your nickname to a room
See https://xmpp.org/extensions/xep-0045.html#register
2018-09-12 12:36:13 +02:00
JC Brand
764686dd19 Enable push services for a MUC domain
As soon as a chatroom from that domain is opened and if the MUC supports it.
2018-09-11 11:29:02 +02:00
JC Brand
989ce0f54d Fixes #1184 2018-09-10 16:21:52 +02:00
JC Brand
a3911094d3 Fix incorrect closing tag 2018-09-10 16:09:38 +02:00
Martin/Geno
dbe88535f1 [BUGFIX] html br 2018-09-10 15:58:17 +02:00
JC Brand
2f2b2ceaf2 Bugfix. Don't create occupants without nick/JID 2018-09-10 08:11:09 +02:00
JC Brand
09bb6b494d New release 4.0.0 2018-09-07 16:20:30 +02:00
JC Brand
8cc88d9b17 Fixes #1152 CSN in MUC triggers rate limiting.
- Avoid registering `sendChatState` twice as handler.
- Avoid sending out a CSN right after sending out a message
2018-09-07 14:00:57 +02:00
JC Brand
999536365d Fixes #1014 Don't show IRC gateway as MUC prefill 2018-09-07 13:14:36 +02:00
JC Brand
014354d075 Fixes #986 Affiliation changes aren't displayed in the chat 2018-09-07 11:54:29 +02:00
JC Brand
47bde92513 Fixes #1052 Moment locale incorrectly set to zh-tw 2018-09-07 10:38:47 +02:00
JC Brand
27378068c0 Fixes #1064 /topic without argument sets topic to "undefined" 2018-09-07 10:21:47 +02:00
JC Brand
572cc49498 Show room subject in heading, not description 2018-09-07 09:55:36 +02:00
JC Brand
2ef117e402 Fix more missing icons due to Fontawesome upgrade 2018-09-06 19:50:41 +02:00
JC Brand
2acc11f776 Fixes #1158. Fall back to bookmark JID if name is not available 2018-09-06 17:25:10 +02:00
JC Brand
eb8953795f New builds 2018-09-06 16:56:40 +02:00
JC Brand
023249f62e Render profile avatar as canvas.
We now have uniform avatar rendering for the profile, messages and
chatboxes.

By rendering as canvas, we can avoid stretching the image.

In the process I also moved the ChatBoxViews collection into its own
plugin `converse-chatboxviews` and placed the AvatarAware views there.

fixes #1157
2018-09-06 15:33:13 +02:00
JC Brand
9da214fb76 Match uppercase file names and extensions 2018-09-06 14:03:41 +02:00
JC Brand
c7ae188002 Re-add signout icon and hide clear-text icon when appropriate 2018-09-06 13:37:55 +02:00