Commit Graph

2129 Commits

Author SHA1 Message Date
JC Brand
82a97fdcb0 Add padding to receipt checkmark 2018-11-15 10:50:25 +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
JC Brand
ecff1fd954 Don't show role badges for /me messages 2018-11-15 10:25:12 +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
JC Brand
45c47ab2c0
Merge branch 'master' into implement_last_user_interaction_in_presence 2018-11-13 18:45:47 +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
4b7d18f418 added values 'on' and 'off' for 'trusted' option 2018-11-13 18:36:24 +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
b85c5b5b0e Remove backbone.noconflict wrapper 2018-11-12 21:05:30 +01:00
JC Brand
3f751b3af4 Add guard for non-existing chat_state value 2018-11-12 20:59:43 +01:00
JC Brand
c494f4267a Use constant 2018-11-12 20:52:28 +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
fa4c555c44 Use async/await instead of explicit Promise 2018-11-12 14:45:57 +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
2179255d0a Add button for resyncing roster contacts 2018-11-07 11:12:04 +01:00
JC Brand
5e7d5d7fb1 Add own class and style for controlbox heading buttons 2018-11-07 11:11:20 +01:00
Christoph Scholz
8ba8a4bc01 new value 'all' for 'show_desktop_notifications' 2018-11-06 10:31:02 +01:00
Christoph Scholz
1bdb171698 added option notification_delay 2018-11-06 06:46:40 +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
Christoph Scholz
171e257c22 make default paths in notifications relative 2018-11-03 00:23:59 +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
JC Brand
f471dd2474 Release 4.0.4 2018-10-29 22:28:28 +01:00
JC Brand
6bab16d834 New patreon backers 2018-10-29 11:44:25 +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
2cfea7cb51 Add description for translateable text 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
6a87caad6e Don't use template literals for translated strings 2018-10-27 23:12:17 +02: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
0a02b62cd8 Update build docs on converse-headless and add README 2018-10-26 16:07:37 +02:00
JC Brand
6a70f8abb4 Updated build 2018-10-26 14:45:36 +02:00
JC Brand
2f9089ee10 Updates #1261 More file upload fixes 2018-10-26 14:45:36 +02:00
JC Brand
98b27fbe0c
Merge pull request #1271 from Ppjet6/issue-1252-bookmark-title
Fix #1252, incorrect bookmark icon title
2018-10-26 13:13:06 +02:00
JC Brand
6519083414 Revert to explicit Promise-based code.
* src/converse-controlbox.js

    async/await causes many tests here to fail due to the controlbox toggle
    now apparently showing up a little later (and the tests don't wait for
    it to happen).

* src/converse-minimize.js

    We get timeout issues in tests.

* src/headless/converse-chatboxes.js

    We get a stack overflow while running tests.
2018-10-26 12:53:01 +02:00
JC Brand
7a1f62d34a Move isVisible from core utils to html utils 2018-10-26 10:15:36 +02:00
Maxime “pep” Buquet
6f457333ba Fix #1252, incorrect bookmark icon title
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-10-25 22:29:20 +01:00
JC Brand
d5b5bac5d4 Bugfix. Filter step was removed when converting to async/await 2018-10-25 23:08:19 +02:00
JC Brand
b05b57192d In these two cases I prefer explicit Promise callbacks
In both cases we need the `catch` statement due to the fact that a
sendIQ call gets made which rejects for error stanzas (and I find the
Promise form much compacter).

Additionally, we don't want to hold up subsequent execution until
the element has been faded out.
2018-10-25 23:08:19 +02:00
JC Brand
2bcac13683 Catch, log and report errors related to vcard update 2018-10-25 23:08:19 +02:00
JC Brand
e3bce02975 More usage of async/await 2018-10-25 23:08:19 +02:00
JC Brand
55fce912df
Merge branch 'master' into async-await 2018-10-25 18:36:04 +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
fe00fd4f47 Emit an event when sending a stanza 2018-10-25 08:01:46 +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
53b1239964 Avoid inserting invalid dates and/or empty divs 2018-10-24 22:42:46 +02:00
Emmanuel Gil Peyrot
35b7dbe389 Convert a few functions to async/await. 2018-10-24 21:23:32 +02:00
JC Brand
7b2d64b066 Use _converse.api.send instead of _converse.connection.send
so that we can emit an event when sending a stanza.
2018-10-23 16:06:43 +02:00
JC Brand
a3040a45fc Move the converse-roster plugin to the @converse/headless build 2018-10-23 15:40:06 +02:00
JC Brand
14b9c5792d Remove unused files 2018-10-23 15:32:08 +02:00
JC Brand
a20fd39313 Upgrade NPM and avoid duplicate deps 2018-10-23 15:08:53 +02:00
JC Brand
ce30b64b71
Merge branch 'master' into 1257_notifications-prefer-probably-over-maybe 2018-10-23 12:34:13 +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
Guus der Kinderen
daa1654d35 #1257: Prefer 'probably' over 'maybe' when evaluating Audio support. 2018-10-23 10:15:20 +02:00
JC Brand
3f7ffd025a Remove Backbone.View related dependencies from headless package 2018-10-22 14:06:03 +02:00
JC Brand
7590a030b0 Move unnecessary templates in headless package to main package 2018-10-22 13:59:06 +02:00
JC Brand
18024b8bd2 Store lerna packages in the src directory
- Also update versions in package.json
- Update Makefile
2018-10-22 13:29:25 +02:00
cmrd Senya
8ba8eb02fa Update main converse.js package to use @converse/headless
* Update moved dependencies references to @converse/headless
* Remove unused webpack resolve aliases
2018-10-22 12:44:38 +02:00
cmrd Senya
12b9824e75 Create package @converse/headless 2018-10-22 12:42:48 +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
029fb6d60b Make sure we have a device to publish before doing so 2018-10-18 00:17:21 +02:00
JC Brand
94a1852b4f Use async function instead of explicit promises 2018-10-17 23:58:11 +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
8c772a7f71 We do actually want to show join/leave messages for members 2018-10-11 13:21:01 +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
Licaon_Kter
20ca324cd8 Fix a typo in MUC error messages (#1238)
* Typo in error message
2018-10-09 06:51:31 +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
Emmanuel Gil Peyrot
e9007146aa Improve the moderated and not moderated explanations 2018-10-06 19:32:03 +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
82ce73005b Fixes #1222 2018-10-05 04:54:00 +02:00
JC Brand
5836e9d805 Formatting 2018-10-05 04:43:24 +02:00
JC Brand
d426d79702 Bugfix. Room features weren't being refreshed properly
We were removing the disco entity, but it's associated collections
(`features`, `fields`, `identities` etc) were still stored in
localStorage and not cleared.

So when the entity gets recreated, the stale localStorage cached items
repopulate the collections.

Added `refreshFeatures` API method for refetching disco features and use
that instead.
2018-10-05 04:42:34 +02:00
JC Brand
c1106f3867 Bugfix. Handler not triggered when submitting password form 2nd time 2018-10-05 03:29:14 +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
79b8ed7177 New release 4.0.2 2018-10-02 22:51:01 +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
31080bf2f9 Add a FormData polyfill for Edge comptaibility
Fixes #1220
2018-09-24 16:18:51 +02:00
Dele Olajide
647f7cf302 Deleolajide m4a webm support (#1217)
* Add support for webm video and m4a audio media files
* updated CHANGES.md
2018-09-24 10:00:10 +02:00
JC Brand
505df62eab Remove start.frag and end.frag
They're no longer needed since we're using webpack
2018-09-19 16:00:39 +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
contrapunctus-1
7d861be8d7 Use compliance.conversations.im for server recommendation (#1206) 2018-09-19 12:25:12 +02:00
JC Brand
094a8a578a Fixes #1201 Emoji picker appears when pressing enter 2018-09-18 16:26:10 +02:00