Commit Graph

124 Commits

Author SHA1 Message Date
Meitar M
76bff83ca3 Allow http: image URLs if Converse.js is loaded on an insecure origin.
Currently, in order for Converse.js to recognize a pasted URL as an
image, it must be an URL whose protocol is `https:` (`https` in the
URI.js library's notation). This is sensible, but means that any
non-HTTPS image URL is not recognized as a valid URL (and thus will not
be rendered inline, even if `show_images_inline` is set to `true`).

It is important to always check for HTTPS URLs when in a secure context
(i.e., the initial page load was requested via HTTPS) in order to ensure
that non-secured content does not mix with secured content. However, the
inverse is not true: if the original page was loaded over HTTP, then
enforcing HTTPS for images adds arguably no meaningful protection while
also breaking the `show_images_inline` feature for the edge cases where
Converse.js is deployed without HTTPS and a user pastes an HTTP URL.

This patch changes the behavior of the `isImageURL` method such that the
requirement for the pasted URL's protocol to be `https:` is enforced
only when the `window.location.protocol` itself is also `https:`. By
doing this, we ensure that secure origins (i.e., when Converse.js is
loaded over HTTPS initially) are still secured and cannot have non-HTTPS
content introduced to the page via a pasted non-HTTPS URL, however it
also allows non-HTTPS origins to render both HTTP and HTTPS image URLs.
2019-03-09 14:15:22 +02:00
Holger Weiss
a15aec3519 Assume "text-single" as default form field type
As per XEP-0004, the default "type" of data form fields is
"text-single", so a missing "type" attribute should not be treated
differently.

This fixes handling of CAPTCHAs offered by ejabberd.
2019-03-06 15:08:41 +01:00
Emmanuel Gil Peyrot
b7ae9f212c Replace http: with https: in conversejs.org links 2019-03-04 17:47:45 +01:00
JC Brand
c026dc8a86 New copyright year 2019-02-18 20:23:18 +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
7a1f62d34a Move isVisible from core utils to html utils 2018-10-26 10:15:36 +02:00
JC Brand
6904f9a897 Use es2015 modules instead of UMD 2018-10-23 12:25:58 +02:00
JC Brand
7590a030b0 Move unnecessary templates in headless package to main package 2018-10-22 13:59:06 +02:00
cmrd Senya
12b9824e75 Create package @converse/headless 2018-10-22 12:42:48 +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
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
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
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
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
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
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
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
Martin/Geno
dbe88535f1 [BUGFIX] html br 2018-09-10 15:58:17 +02:00
JC Brand
9da214fb76 Match uppercase file names and extensions 2018-09-06 14:03:41 +02:00
JC Brand
23b65f5fc5 Lazily load emoji images 2018-09-03 14:20:14 +02:00
JC Brand
e35fceff1a Remove the need for emojione 2018-09-03 14:16:59 +02:00
JC Brand
1d38d8af03 Use twemoji for rendering emojis 2018-09-03 13:24:37 +02:00
JC Brand
6a061b4525 Use raw key format and not jwk. Set correct key size. 2018-08-31 17:15:03 +02:00
JC Brand
21178add98 Remove converse-otr 2018-08-27 22:09:22 +02:00
JC Brand
1dc1c1f98a Properly generate and render fingerprints 2018-08-27 21:02:31 +02:00
JC Brand
b4110dc162 Merge branch 'master' into converse-omemo 2018-08-18 10:24:55 +02:00
JC Brand
2db3db9bab Add support for editing messages containing mentions 2018-08-16 15:17:54 +02:00
JC Brand
b7eb19e225 Render mentions in a message 2018-08-16 15:17:54 +02:00
JC Brand
f2b017ec89 Add method to determine references from message text 2018-08-16 15:17:53 +02:00
JC Brand
324ffd5e40 Let @ trigger autocomplete with all possible options shown 2018-08-16 15:17:53 +02:00
JC Brand
2abd1c1db1 Get selection via up/down arrow to work 2018-08-16 15:17:53 +02:00
JC Brand
b6f4f05b9e Add converse-autocomplete and use that in the chat textarea 2018-08-16 15:17:53 +02:00
JC Brand
d852721933 Place cursor at the end when correcting a message 2018-08-07 10:09:36 +02:00
JC Brand
f2c283c907 More work on decrypting messages 2018-08-04 19:41:06 +02:00
JC Brand
a3593dbc7d Implement and test sending of encrypted messages
updates #497
2018-07-28 15:37:36 +02:00
JC Brand
bcd6845756 Show fingerprints in the user details modal
updates #497
2018-07-25 11:33:16 +02:00
JC Brand
bf13927946 Merge branch 'master' into converse-omemo 2018-07-21 11:34:51 +02:00
JC Brand
acd9a18696 Update with new message markup 2018-07-21 07:34:03 +02:00
Emmanuel Gil Peyrot
d518596a2e Add missing closing quote in label_download. 2018-07-14 18:27:25 +02:00
JC Brand
2929647e16 Add support for correcting the last message sent
fixes #421
2018-07-08 00:39:28 +02:00
JC Brand
d335173fd7 Bootstrap markup for auto-generated forms 2018-07-02 20:18:22 +02:00
JC Brand
6785eff4a7 Merge branch 'master' into converse-omemo 2018-07-01 11:44:04 +02:00
JC Brand
e5c030c15a Render max 2 newlines 2018-06-30 16:15:27 +02:00
JC Brand
b5a27b34a1 Render newlines 2018-06-30 15:07:30 +02:00
JC Brand
083f191ead Consider delayed, non-archived messages as "new"
New in the sense that we haven't seen them before
2018-06-07 13:06:32 +02:00
JC Brand
eed141b53e Remove unnecessary path aliases from the webpack config 2018-06-06 11:04:23 +02:00
JC Brand
bc872ee2cb Fix various failing tests and update Makefile 2018-06-04 11:20:34 +02:00
JC Brand
6dc9e8edf1 Use webpack for module bundling 2018-05-25 14:23:32 +02:00
JC Brand
d484320c09 Test that bundles can be updated via PEP
Fix bugs in the process

udpates #497
2018-05-23 12:51:01 +02:00
JC Brand
41db49ffca Initial code for handling a bundle update via PEP
udpates #497
2018-05-23 12:51:01 +02:00
JC Brand
5b9f81099b More OMEMO work
- Implement storage interface required by libsignal
- Add some skeleton code for building sessions and sending encrypted messages

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
09eb1731b5 Add code to generate and publish our bundle and update the test
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
f0b1295577 Updates #1098 IE doesn't support document.contains 2018-05-23 04:22:47 +02:00
ChaosKid42
4bdc9636b4 another fix for IE11 (#1102) 2018-05-13 12:39:16 +02:00
ChaosKid42
63764a7d51 fix selected values in list-multi form fields (#1101) 2018-05-12 16:45:40 +02:00
JC Brand
859bc0616e Fixes #1094
- Show users who are registered on the different members lists
- Show badges indicating user's roles and affiliations
2018-05-09 12:28:34 +02:00
JC Brand
708b1dbe99 fixes #337
It's now possible to set your VCard via the UI and via the API
2018-05-08 18:14:56 +02:00
JC Brand
776f49d5c3 Bugfix. Don't remove model, simply remove view
Otherwise the model gets removed mid-creation, which causes the
`url required` error from Backbone.
2018-05-07 12:57:05 +02:00
JC Brand
876a07b3de Fix the failing tests 2018-04-30 15:37:37 +02:00
JC Brand
209bac4b5e Use uri.js to identify URLs in message text. 2018-04-30 15:37:37 +02:00
JC Brand
56e4e8b8ee Fix rendering of headline messages.
Also, add urijs to more intelligently handle URIs
2018-04-30 15:37:36 +02:00
JC Brand
3d42425083 Some UI improvements
- Render images as thumbnails
- Use the image.html template when rendering images from pasted URLs
- Update message and spoiler markup to render avatars
- Use the default avatar as fallback when user doesn't have one
- Instead of 'me' render own name or JID
2018-04-30 15:37:36 +02:00
JC Brand
57f7e31aa1 Add a spoiler message to the mockups 2018-04-30 15:37:36 +02:00
JC Brand
a19e7aeffe Add support for XEP-0066 Out of band data 2018-04-18 16:58:52 +02:00
JC Brand
c01e9f8265 Move methods from chatbox view to message view
Specifically the methods related to requesting an upload slot and uploading a file.
Also show a progress indicator while a file is being uploaded.

Updates #161
2018-04-17 15:21:38 +02:00
worlword
b23712aec3 added httpFileUpload to converse.js 2018-04-03 11:20:57 +02:00
ChaosKid42
fce9ee0db9 replace geoURIs (e.g. from Convesations) by links to openstreetmap (#1054)
* replace geoURIs by link to openstreetmap

* Added testcase
2018-03-31 18:29:01 +02:00
JC Brand
ebfd0a8f77 Move various funcitons related to MUC member lists to utils
and out of the MUC views plugin.

Refs #1032
2018-03-30 14:23:39 +02:00