Compare commits

...

7 Commits

Author SHA1 Message Date
JC Brand
57eafb8ee9 Release 7.0.4 2020-12-09 11:13:34 +01:00
JC Brand
742408f8fa Update Strophe.js and changelog 2020-12-09 11:03:37 +01:00
JC Brand
22e202c8a1 Bugfix: Set protocol after discovering connection methods
Otherwise if an endpoint was passed in with `converse.initialize`, then
that endpoint's protocol is (wrongly) used.
2020-12-09 09:46:14 +01:00
JC Brand
1512abb602 Release 7.0.3 2020-12-02 14:50:31 +01:00
JC Brand
75a7a8bdcd Fix: use_system_emojis was false but unicode emojis shown in picker 2020-12-02 14:33:52 +01:00
JC Brand
8bde92d13f Update changelog for previous revert and add title for img emoji 2020-12-02 14:33:24 +01:00
JC Brand
fc1ce2dd31 Revert "fix emoji-picker for use_system_emojis==false"
This reverts commit e0088a45da.
2020-12-02 14:32:24 +01:00
19 changed files with 289 additions and 136 deletions

View File

@ -1,5 +1,16 @@
# Changelog # Changelog
## 7.0.4 (2020-12-09)
Bugfix: Set protocol after discovering connection methods
Otherwise if an endpoint was passed in with `converse.initialize`, then
that endpoint's protocol is (potentially wrongly) used.
## 7.0.3 (2020-12-02)
- Bugfix: `null` inserted by emoji picker and can't switch between skintones
## 7.0.2 (2020-11-23) ## 7.0.2 (2020-11-23)
- Updated translations: de, nb, gl, tr - Updated translations: de, nb, gl, tr

View File

@ -2,7 +2,7 @@
* *
* An XMPP chat client that runs in the browser. * An XMPP chat client that runs in the browser.
* *
* Version: 7.0.2 * Version: 7.0.4
* *
* Copyright: JC Brand 2013-2018 * Copyright: JC Brand 2013-2018
* Except for 3rd party dependencies. * Except for 3rd party dependencies.

View File

@ -68,7 +68,7 @@ serve_bg: node_modules
dist/converse-no-dependencies.js: src webpack.common.js webpack.nodeps.js @converse/headless node_modules dist/converse-no-dependencies.js: src webpack.common.js webpack.nodeps.js @converse/headless node_modules
npm run nodeps npm run nodeps
GETTEXT = $(XGETTEXT) --from-code=UTF-8 --language=JavaScript --keyword=__ --keyword=___ --keyword=i18n_ --force-po --output=src/i18n/converse.pot --package-name=Converse.js --copyright-holder="Jan-Carel Brand" --package-version=7.0.2 dist/converse-no-dependencies.js -c GETTEXT = $(XGETTEXT) --from-code=UTF-8 --language=JavaScript --keyword=__ --keyword=___ --keyword=i18n_ --force-po --output=src/i18n/converse.pot --package-name=Converse.js --copyright-holder="Jan-Carel Brand" --package-version=7.0.4 dist/converse-no-dependencies.js -c
src/i18n/converse.pot: dist/converse-no-dependencies.js src/i18n/converse.pot: dist/converse-no-dependencies.js
$(GETTEXT) 2>&1 > /dev/null; exit $$?; $(GETTEXT) 2>&1 > /dev/null; exit $$?;

View File

@ -2,19 +2,19 @@
1. Check that weblate translations are all merged in 1. Check that weblate translations are all merged in
2. Run `make check` to check that all tests pass. 2. Run `make check` to check that all tests pass.
3. Run `make release VERSION=7.0.2` 3. Run `make release VERSION=7.0.4`
4. Do a `git diff` to check if things look sane. 4. Do a `git diff` to check if things look sane.
5. Do a quick manual test with the `dist` files (via `index.html`) 5. Do a quick manual test with the `dist` files (via `index.html`)
6. `git commit -am "Release 7.0.2"` 6. `git commit -am "Release 7.0.4"`
7. `git tag -s v7.0.2 -m "Release 7.0.2"` 7. `git tag -s v7.0.4 -m "Release 7.0.4"`
8. Run `git push && git push --tags` 8. Run `git push && git push --tags`
9. Update https://conversejs.org 9. Update https://conversejs.org
* `cd /home/conversejs/converse.js` * `cd /home/conversejs/converse.js`
* `git clone --branch v7.0.2 git@github.com:conversejs/converse.js.git 7.0.2` * `git clone --branch v7.0.4 git@github.com:conversejs/converse.js.git 7.0.4`
* `cd 7.0.2 && ASSET_PATH=https://cdn.conversejs.org/7.0.2/dist/ make dist && make doc` * `cd 7.0.4 && ASSET_PATH=https://cdn.conversejs.org/7.0.4/dist/ make dist && make doc`
* `cd .. && git pull && ASSET_PATH=https://cdn.conversejs.org/dist/ make dist && make doc` * `cd .. && git pull && ASSET_PATH=https://cdn.conversejs.org/dist/ make dist && make doc`
10. Update release page on Github 10. Update release page on Github
11. Run `npm pack && cd src/headless && npm pack` to generate tarballs. Then upload them to the Github release page 11. Run `npm pack && cd src/headless && npm pack` to generate tarballs. Then upload them to the Github release page
12. Run `npm publish && cd src/headless/ && npm publish` 12. Run `npm publish && cd src/headless/ && npm publish`
13. Update the repository on weblate 13. Update the repository on weblate
14. Decide on next release number and run `make postrelease VERSION=7.0.3` 14. Decide on next release number and run `make postrelease VERSION=7.0.5`

View File

@ -48,9 +48,9 @@ copyright = u'2018, JC Brand'
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = '7.0.2' version = '7.0.4'
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = '7.0.2' release = '7.0.4'
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.

View File

@ -55,16 +55,16 @@ might break when a new backwards-incompatible version of Converse is released.
To load a specific version of Converse you can put the version in the URL: To load a specific version of Converse you can put the version in the URL:
* https://cdn.conversejs.org/7.0.2/dist/converse.min.js * https://cdn.conversejs.org/7.0.4/dist/converse.min.js
* https://cdn.conversejs.org/7.0.2/dist/converse.min.css * https://cdn.conversejs.org/7.0.4/dist/converse.min.css
You can include these two URLs inside the *<head>* element of your website You can include these two URLs inside the *<head>* element of your website
via the *script* and *link* tags: via the *script* and *link* tags:
.. code-block:: html .. code-block:: html
<link rel="stylesheet" type="text/css" media="screen" href="https://cdn.conversejs.org/7.0.2/dist/converse.min.css"> <link rel="stylesheet" type="text/css" media="screen" href="https://cdn.conversejs.org/7.0.4/dist/converse.min.css">
<script src="https://cdn.conversejs.org/7.0.2/dist/converse.min.js" charset="utf-8"></script> <script src="https://cdn.conversejs.org/7.0.4/dist/converse.min.js" charset="utf-8"></script>
Option 2: Download the builds from Github Option 2: Download the builds from Github

View File

@ -7,13 +7,13 @@
<meta name="description" content="Converse XMPP/Jabber Chat"/> <meta name="description" content="Converse XMPP/Jabber Chat"/>
<meta name="author" content="JC Brand" /> <meta name="author" content="JC Brand" />
<meta name="keywords" content="xmpp chat webchat converse.js" /> <meta name="keywords" content="xmpp chat webchat converse.js" />
<link rel="shortcut icon" type="image/ico" href="/dist/favicon.ico"/> <link rel="shortcut icon" type="image/ico" href="./dist/favicon.ico"/>
<script type="text/javascript" src="inverse-analytics.js"></script> <script type="text/javascript" src="inverse-analytics.js"></script>
<noscript><p><img src="//stats.opkode.com/piwik.php?idsite=5" style="border:0;" alt="" /></p></noscript> <noscript><p><img src="//stats.opkode.com/piwik.php?idsite=5" style="border:0;" alt="" /></p></noscript>
<link rel="manifest" href="./manifest.json"> <link rel="manifest" href="./manifest.json">
<link type="text/css" rel="stylesheet" media="screen" href="/dist/converse.min.css" /> <link type="text/css" rel="stylesheet" media="screen" href="./dist/converse.min.css" />
<script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script> <script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script>
<script src="/dist/converse.min.js"></script> <script src="./dist/converse.min.js"></script>
</head> </head>
<body class="converse-fullscreen"> <body class="converse-fullscreen">
<noscript>You need to enable JavaScript to run the Converse.js chat app.</noscript> <noscript>You need to enable JavaScript to run the Converse.js chat app.</noscript>

View File

@ -11,17 +11,17 @@
<!-- These files are NOT needed when using converse.js in your own project. --> <!-- These files are NOT needed when using converse.js in your own project. -->
<link rel="shortcut icon" type="image/ico" href="images/favicon.ico"/> <link rel="shortcut icon" type="image/ico" href="images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.2/css/font-awesome.min.css" /> <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.4/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.2/css/website.min.css" /> <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.4/css/website.min.css" />
<noscript><p><img src="//stats.opkode.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript> <noscript><p><img src="//stats.opkode.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<script type="text/javascript" src="/src/website.js"></script> <script type="text/javascript" src="/src/website.js"></script>
<script type="text/javascript" src="analytics.js"></script> <script type="text/javascript" src="analytics.js"></script>
<!-- *********************************************************************** --> <!-- *********************************************************************** -->
<![if gte IE 11]> <![if gte IE 11]>
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.2/css/converse.min.css" /> <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.4/css/converse.min.css" />
<script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script> <script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script>
<script src="https://cdn.conversejs.org/7.0.2/dist/converse.min.js"></script> <script src="https://cdn.conversejs.org/7.0.4/dist/converse.min.js"></script>
<![endif]> <![endif]>
</head> </head>
@ -66,7 +66,7 @@
<table id="jslicense-labels1" style="width: 100%"> <table id="jslicense-labels1" style="width: 100%">
<tr> <tr>
<td> <td>
<a href="https://cdn.conversejs.org/7.0.2/dist/converse.min.js">converse.min.js</a> <a href="https://cdn.conversejs.org/7.0.4/dist/converse.min.js">converse.min.js</a>
</td> </td>
<td> <td>
<a href="https://www.mozilla.org/en-US/MPL/2.0/">MPL-2.0</a> <a href="https://www.mozilla.org/en-US/MPL/2.0/">MPL-2.0</a>

View File

@ -2,7 +2,7 @@
"short_name": "Converse", "short_name": "Converse",
"name": "Converse Chat", "name": "Converse Chat",
"description": "Messaging Freedom", "description": "Messaging Freedom",
"version": "7.0.2", "version": "7.0.4",
"categories": ["social"], "categories": ["social"],
"icons": [ "icons": [
{ {

View File

@ -18,9 +18,9 @@
<script type="text/javascript" src="analytics.js"></script> <script type="text/javascript" src="analytics.js"></script>
<!-- *********************************************************************** --> <!-- *********************************************************************** -->
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.2/dist/converse.min.css" /> <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/7.0.4/dist/converse.min.css" />
<script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script> <script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script>
<script src="https://cdn.conversejs.org/7.0.2/dist/converse.min.js"></script> <script src="https://cdn.conversejs.org/7.0.4/dist/converse.min.js"></script>
</head> </head>
<body id="page-top" data-spy="scroll" class="converse-website"> <body id="page-top" data-spy="scroll" class="converse-website">

311
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "converse.js", "name": "converse.js",
"version": "7.0.2", "version": "7.0.4",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -4835,21 +4835,21 @@
} }
}, },
"@octokit/auth-token": { "@octokit/auth-token": {
"version": "2.4.2", "version": "2.4.4",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz",
"integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==", "integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@octokit/types": "^5.0.0" "@octokit/types": "^6.0.0"
} }
}, },
"@octokit/endpoint": { "@octokit/endpoint": {
"version": "6.0.8", "version": "6.0.10",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.8.tgz", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz",
"integrity": "sha512-MuRrgv+bM4Q+e9uEvxAB/Kf+Sj0O2JAOBA131uo1o6lgdq1iS8ejKwtqHgdfY91V3rN9R/hdGKFiQYMzVzVBEQ==", "integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@octokit/types": "^5.0.0", "@octokit/types": "^6.0.0",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0" "universal-user-agent": "^6.0.0"
}, },
@ -4868,6 +4868,12 @@
} }
} }
}, },
"@octokit/openapi-types": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-2.0.0.tgz",
"integrity": "sha512-J4bfM7lf8oZvEAdpS71oTvC1ofKxfEZgU5vKVwzZKi4QPiL82udjpseJwxPid9Pu2FNmyRQOX4iEj6W1iOSnPw==",
"dev": true
},
"@octokit/plugin-enterprise-rest": { "@octokit/plugin-enterprise-rest": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
@ -4895,9 +4901,9 @@
} }
}, },
"@octokit/plugin-request-log": { "@octokit/plugin-request-log": {
"version": "1.0.0", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
"integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==", "integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
"dev": true "dev": true
}, },
"@octokit/plugin-rest-endpoint-methods": { "@octokit/plugin-rest-endpoint-methods": {
@ -4922,14 +4928,14 @@
} }
}, },
"@octokit/request": { "@octokit/request": {
"version": "5.4.9", "version": "5.4.12",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.9.tgz", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.12.tgz",
"integrity": "sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA==", "integrity": "sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@octokit/endpoint": "^6.0.1", "@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.0.0", "@octokit/request-error": "^2.0.0",
"@octokit/types": "^5.0.0", "@octokit/types": "^6.0.3",
"deprecation": "^2.0.0", "deprecation": "^2.0.0",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1", "node-fetch": "^2.6.1",
@ -4938,12 +4944,12 @@
}, },
"dependencies": { "dependencies": {
"@octokit/request-error": { "@octokit/request-error": {
"version": "2.0.2", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz",
"integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==", "integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@octokit/types": "^5.0.1", "@octokit/types": "^6.0.0",
"deprecation": "^2.0.0", "deprecation": "^2.0.0",
"once": "^1.4.0" "once": "^1.4.0"
} }
@ -5009,11 +5015,12 @@
} }
}, },
"@octokit/types": { "@octokit/types": {
"version": "5.5.0", "version": "6.1.1",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.5.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.1.1.tgz",
"integrity": "sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ==", "integrity": "sha512-btm3D6S7VkRrgyYF31etUtVY/eQ1KzrNRqhFt25KSe2mKlXuLXJilglRC6eDA2P6ou94BUnk/Kz5MPEolXgoiw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@octokit/openapi-types": "^2.0.0",
"@types/node": ">= 8" "@types/node": ">= 8"
} }
}, },
@ -5110,9 +5117,9 @@
"dev": true "dev": true
}, },
"@types/minimist": { "@types/minimist": {
"version": "1.2.0", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz",
"integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==",
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
@ -7415,9 +7422,9 @@
"dev": true "dev": true
}, },
"conventional-changelog-angular": { "conventional-changelog-angular": {
"version": "5.0.11", "version": "5.0.12",
"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz",
"integrity": "sha512-nSLypht/1yEflhuTogC03i7DX7sOrXGsRn14g131Potqi6cbGbGEE9PSDEHKldabB6N76HiSyw9Ph+kLmC04Qw==", "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==",
"dev": true, "dev": true,
"requires": { "requires": {
"compare-func": "^2.0.0", "compare-func": "^2.0.0",
@ -7470,27 +7477,38 @@
"dev": true "dev": true
}, },
"conventional-changelog-writer": { "conventional-changelog-writer": {
"version": "4.0.17", "version": "4.0.18",
"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.17.tgz", "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.18.tgz",
"integrity": "sha512-IKQuK3bib/n032KWaSb8YlBFds+aLmzENtnKtxJy3+HqDq5kohu3g/UdNbIHeJWygfnEbZjnCKFxAW0y7ArZAw==", "integrity": "sha512-mAQDCKyB9HsE8Ko5cCM1Jn1AWxXPYV0v8dFPabZRkvsiWUul2YyAqbIaoMKF88Zf2ffnOPSvKhboLf3fnjo5/A==",
"dev": true, "dev": true,
"requires": { "requires": {
"compare-func": "^2.0.0", "compare-func": "^2.0.0",
"conventional-commits-filter": "^2.0.6", "conventional-commits-filter": "^2.0.7",
"dateformat": "^3.0.0", "dateformat": "^3.0.0",
"handlebars": "^4.7.6", "handlebars": "^4.7.6",
"json-stringify-safe": "^5.0.1", "json-stringify-safe": "^5.0.1",
"lodash": "^4.17.15", "lodash": "^4.17.15",
"meow": "^7.0.0", "meow": "^8.0.0",
"semver": "^6.0.0", "semver": "^6.0.0",
"split": "^1.0.0", "split": "^1.0.0",
"through2": "^3.0.0" "through2": "^4.0.0"
}, },
"dependencies": { "dependencies": {
"inherits": { "readable-stream": {
"version": "2.0.4", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true "dev": true
}, },
"semver": { "semver": {
@ -7499,22 +7517,30 @@
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true "dev": true
}, },
"through2": { "string_decoder": {
"version": "3.0.2", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true, "dev": true,
"requires": { "requires": {
"inherits": "^2.0.4", "safe-buffer": "~5.2.0"
"readable-stream": "2 || 3" }
},
"through2": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
"integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
"dev": true,
"requires": {
"readable-stream": "3"
} }
} }
} }
}, },
"conventional-commits-filter": { "conventional-commits-filter": {
"version": "2.0.6", "version": "2.0.7",
"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz", "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz",
"integrity": "sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw==", "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==",
"dev": true, "dev": true,
"requires": { "requires": {
"lodash.ismatch": "^4.4.0", "lodash.ismatch": "^4.4.0",
@ -7522,34 +7548,53 @@
} }
}, },
"conventional-commits-parser": { "conventional-commits-parser": {
"version": "3.1.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.0.tgz",
"integrity": "sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA==", "integrity": "sha512-XmJiXPxsF0JhAKyfA2Nn+rZwYKJ60nanlbSWwwkGwLQFbugsc0gv1rzc7VbbUWAzJfR1qR87/pNgv9NgmxtBMQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"JSONStream": "^1.0.4", "JSONStream": "^1.0.4",
"is-text-path": "^1.0.1", "is-text-path": "^1.0.1",
"lodash": "^4.17.15", "lodash": "^4.17.15",
"meow": "^7.0.0", "meow": "^8.0.0",
"split2": "^2.0.0", "split2": "^2.0.0",
"through2": "^3.0.0", "through2": "^4.0.0",
"trim-off-newlines": "^1.0.0" "trim-off-newlines": "^1.0.0"
}, },
"dependencies": { "dependencies": {
"inherits": { "readable-stream": {
"version": "2.0.4", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true
},
"through2": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
"integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"inherits": "^2.0.4", "inherits": "^2.0.3",
"readable-stream": "2 || 3" "string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"requires": {
"safe-buffer": "~5.2.0"
}
},
"through2": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
"integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
"dev": true,
"requires": {
"readable-stream": "3"
} }
} }
} }
@ -8017,9 +8062,9 @@
} }
}, },
"core-js": { "core-js": {
"version": "2.6.11", "version": "2.6.12",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
}, },
"core-js-compat": { "core-js-compat": {
"version": "3.6.5", "version": "3.6.5",
@ -11588,9 +11633,9 @@
} }
}, },
"git-url-parse": { "git-url-parse": {
"version": "11.3.0", "version": "11.4.0",
"resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.3.0.tgz", "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.0.tgz",
"integrity": "sha512-i3XNa8IKmqnUqWBcdWBjOcnyZYfN3C1WRvnKI6ouFWwsXCZEnlgbwbm55ZpJ3OJMhfEP/ryFhqW8bBhej3C5Ug==", "integrity": "sha512-KlIa5jvMYLjXMQXkqpFzobsyD/V2K5DRHl5OAf+6oDFPlPLxrGDVQlIdI63c4/Kt6kai4kALENSALlzTGST3GQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"git-up": "^4.0.0" "git-up": "^4.0.0"
@ -12661,6 +12706,15 @@
"ci-info": "^2.0.0" "ci-info": "^2.0.0"
} }
}, },
"is-core-module": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
"integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
"dev": true,
"requires": {
"has": "^1.0.3"
}
},
"is-data-descriptor": { "is-data-descriptor": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@ -14067,9 +14121,9 @@
} }
}, },
"meow": { "meow": {
"version": "7.1.1", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", "resolved": "https://registry.npmjs.org/meow/-/meow-8.0.0.tgz",
"integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", "integrity": "sha512-nbsTRz2fwniJBFgUkcdISq8y/q9n9VbiHYbfwklFh5V4V2uAcxtKQkDc0yCLPM/kP0d+inZBewn3zJqewHE7kg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/minimist": "^1.2.0", "@types/minimist": "^1.2.0",
@ -14077,12 +14131,12 @@
"decamelize-keys": "^1.1.0", "decamelize-keys": "^1.1.0",
"hard-rejection": "^2.1.0", "hard-rejection": "^2.1.0",
"minimist-options": "4.1.0", "minimist-options": "4.1.0",
"normalize-package-data": "^2.5.0", "normalize-package-data": "^3.0.0",
"read-pkg-up": "^7.0.1", "read-pkg-up": "^7.0.1",
"redent": "^3.0.0", "redent": "^3.0.0",
"trim-newlines": "^3.0.0", "trim-newlines": "^3.0.0",
"type-fest": "^0.13.1", "type-fest": "^0.18.0",
"yargs-parser": "^18.1.3" "yargs-parser": "^20.2.3"
}, },
"dependencies": { "dependencies": {
"find-up": { "find-up": {
@ -14095,6 +14149,15 @@
"path-exists": "^4.0.0" "path-exists": "^4.0.0"
} }
}, },
"hosted-git-info": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
"integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"locate-path": { "locate-path": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@ -14104,6 +14167,27 @@
"p-locate": "^4.1.0" "p-locate": "^4.1.0"
} }
}, },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"normalize-package-data": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz",
"integrity": "sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==",
"dev": true,
"requires": {
"hosted-git-info": "^3.0.6",
"resolve": "^1.17.0",
"semver": "^7.3.2",
"validate-npm-package-license": "^3.0.1"
}
},
"p-locate": { "p-locate": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
@ -14143,6 +14227,30 @@
"type-fest": "^0.6.0" "type-fest": "^0.6.0"
}, },
"dependencies": { "dependencies": {
"hosted-git-info": {
"version": "2.8.8",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
"integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
"dev": true
},
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
"type-fest": { "type-fest": {
"version": "0.6.0", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
@ -14170,10 +14278,41 @@
} }
} }
}, },
"resolve": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
"integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
"dev": true,
"requires": {
"is-core-module": "^2.1.0",
"path-parse": "^1.0.6"
}
},
"semver": {
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"type-fest": { "type-fest": {
"version": "0.13.1", "version": "0.18.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
"dev": true
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"yargs-parser": {
"version": "20.2.4",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
"dev": true "dev": true
} }
} }
@ -22782,9 +22921,9 @@
} }
}, },
"strophe.js": { "strophe.js": {
"version": "1.4.0", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/strophe.js/-/strophe.js-1.4.0.tgz", "resolved": "https://registry.npmjs.org/strophe.js/-/strophe.js-1.4.1.tgz",
"integrity": "sha512-Y+Smiwb2Q+bMqd0b7k5Qp46y3MvyxOTB+qANcL5W+UPlTWMlJZkdR7KkPFeqSMn7UTNnZa1yhkdWYqCu2SITPQ==", "integrity": "sha512-Nh+EEcx73Zorl0tgJ2uPfGYCQhgHiNcxDVY3U4SVEt9BUfF434QioLlfoK/PE8QWSg5PWRXWWXZmOyufUCOPWg==",
"requires": { "requires": {
"abab": "^2.0.3", "abab": "^2.0.3",
"ws": "^7.0.0", "ws": "^7.0.0",
@ -22792,9 +22931,9 @@
}, },
"dependencies": { "dependencies": {
"ws": { "ws": {
"version": "7.4.0", "version": "7.4.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz",
"integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==", "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==",
"optional": true "optional": true
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "converse.js", "name": "converse.js",
"version": "7.0.2", "version": "7.0.4",
"description": "Browser based XMPP chat client", "description": "Browser based XMPP chat client",
"browser": "dist/converse.js", "browser": "dist/converse.js",
"module": "src/converse.js", "module": "src/converse.js",

View File

@ -347,18 +347,19 @@ describe("Emojis", function () {
async function (done, _converse) { async function (done, _converse) {
await mock.waitForRoster(_converse, 'current'); await mock.waitForRoster(_converse, 'current');
const sender_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit'; const contact_jid = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@montague.lit';
_converse.handleMessageStanza($msg({ _converse.handleMessageStanza($msg({
'from': sender_jid, 'from': contact_jid,
'to': _converse.connection.jid, 'to': _converse.connection.jid,
'type': 'chat', 'type': 'chat',
'id': _converse.connection.getUniqueId() 'id': _converse.connection.getUniqueId()
}).c('body').t('😇').up() }).c('body').t('😇').up()
.c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree()); .c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree());
await new Promise(resolve => _converse.on('chatBoxViewInitialized', resolve)); await new Promise(resolve => _converse.on('chatBoxViewInitialized', resolve));
const view = _converse.api.chatviews.get(sender_jid); const view = _converse.api.chatviews.get(contact_jid);
await new Promise(resolve => view.model.messages.once('rendered', resolve)); await new Promise(resolve => view.model.messages.once('rendered', resolve));
await u.waitUntil(() => u.hasClass('chat-msg__text--larger', view.content.querySelector('.chat-msg__text'))); await u.waitUntil(() => view.content.querySelector('.chat-msg__text').innerHTML.replace(/<!---->/g, '') ===
'<img class="emoji" draggable="false" title=":innocent:" alt="😇" src="https://twemoji.maxcdn.com/v/12.1.6//72x72/1f607.png">');
const last_msg_sel = 'converse-chat-message:last-child .chat-msg__text'; const last_msg_sel = 'converse-chat-message:last-child .chat-msg__text';
let message = view.content.querySelector(last_msg_sel); let message = view.content.querySelector(last_msg_sel);
@ -381,6 +382,10 @@ describe("Emojis", function () {
expect(imgs.length).toBe(2); expect(imgs.length).toBe(2);
expect(imgs[0].src).toBe(_converse.api.settings.get('emoji_image_path')+'/72x72/1f4a9.png'); expect(imgs[0].src).toBe(_converse.api.settings.get('emoji_image_path')+'/72x72/1f4a9.png');
expect(imgs[1].src).toBe(_converse.api.settings.get('emoji_image_path')+'/72x72/1f607.png'); expect(imgs[1].src).toBe(_converse.api.settings.get('emoji_image_path')+'/72x72/1f607.png');
const sent_stanzas = _converse.connection.sent_stanzas;
const sent_stanza = sent_stanzas.filter(s => s.nodeName === 'message').pop();
expect(sent_stanza.querySelector('body').innerHTML).toBe('💩 😇');
done() done()
})); }));

View File

@ -61,7 +61,7 @@ export default class EmojiPicker extends CustomElement {
'query': this.query, 'query': this.query,
'search_results': this.search_results, 'search_results': this.search_results,
'render_emojis': this.render_emojis, 'render_emojis': this.render_emojis,
'sn2Emoji': shortname => u.shortnamesToEmojis(this.getTonedShortname(shortname), {'add_title_wrapper': true}) 'sn2Emoji': shortname => u.shortnamesToEmojis(this.getTonedShortname(shortname))
}); });
} }

View File

@ -53,6 +53,7 @@ export class Connection extends Strophe.Connection {
api.settings.set("websocket_url", ws_methods.pop()); api.settings.set("websocket_url", ws_methods.pop());
api.settings.set('bosh_service_url', bosh_methods.pop()); api.settings.set('bosh_service_url', bosh_methods.pop());
this.service = api.settings.get("websocket_url") || api.settings.get('bosh_service_url'); this.service = api.settings.get("websocket_url") || api.settings.get('bosh_service_url');
this.setProtocol();
} }
} }

View File

@ -268,7 +268,7 @@ export const _converse = {
} }
_converse.VERSION_NAME = "v7.0.2"; _converse.VERSION_NAME = "v7.0.4";
Object.assign(_converse, Events); Object.assign(_converse, Events);
@ -788,7 +788,6 @@ export const api = _converse.api = {
listen: { listen: {
/** /**
* Lets you listen to an event exactly once. * Lets you listen to an event exactly once.
*
* @method _converse.api.listen.once * @method _converse.api.listen.once
* @param {string} name The event's name * @param {string} name The event's name
* @param {function} callback The callback method to be called when the event is emitted. * @param {function} callback The callback method to be called when the event is emitted.
@ -799,9 +798,7 @@ export const api = _converse.api = {
/** /**
* Lets you subscribe to an event. * Lets you subscribe to an event.
*
* Every time the event fires, the callback method specified by `callback` will be called. * Every time the event fires, the callback method specified by `callback` will be called.
*
* @method _converse.api.listen.on * @method _converse.api.listen.on
* @param {string} name The event's name * @param {string} name The event's name
* @param {function} callback The callback method to be called when the event is emitted. * @param {function} callback The callback method to be called when the event is emitted.
@ -812,9 +809,6 @@ export const api = _converse.api = {
/** /**
* To stop listening to an event, you can use the `not` method. * To stop listening to an event, you can use the `not` method.
*
* Every time the event fires, the callback method specified by `callback` will be called.
*
* @method _converse.api.listen.not * @method _converse.api.listen.not
* @param {string} name The event's name * @param {string} name The event's name
* @param {function} callback The callback method that is to no longer be called when the event fires * @param {function} callback The callback method that is to no longer be called when the event fires

View File

@ -119,18 +119,21 @@ export function getEmojiMarkup (data, options={unicode_only: false, add_title_wr
const emoji = data.emoji; const emoji = data.emoji;
const shortname = data.shortname; const shortname = data.shortname;
if (emoji) { if (emoji) {
if (options.add_title_wrapper) { if (options.unicode_only) {
if (api.settings.get('use_system_emojis')) { return emoji;
} else if (api.settings.get('use_system_emojis')) {
if (options.add_title_wrapper) {
return shortname ? html`<span title="${shortname}">${emoji}</span>` : emoji; return shortname ? html`<span title="${shortname}">${emoji}</span>` : emoji;
} else { } else {
const path = api.settings.get('emoji_image_path'); return emoji;
return html`<img class="emoji"
draggable="false"
alt="${emoji}"
src="${path}/72x72/${data.cp}.png"/>`;
} }
} else { } else {
return emoji; const path = api.settings.get('emoji_image_path');
return html`<img class="emoji"
draggable="false"
title="${shortname}"
alt="${emoji}"
src="${path}/72x72/${data.cp}.png"/>`;
} }
} else if (options.unicode_only) { } else if (options.unicode_only) {
return shortname; return shortname;

View File

@ -1,6 +1,6 @@
{ {
"name": "@converse/headless", "name": "@converse/headless",
"version": "7.0.2", "version": "7.0.4",
"description": "Converse.js Headless build", "description": "Converse.js Headless build",
"author": "cmrd Senya <senya@riseup.net>", "author": "cmrd Senya <senya@riseup.net>",
"homepage": "https://conversejs.org", "homepage": "https://conversejs.org",
@ -43,6 +43,6 @@
"lodash-es": "^4.17.15", "lodash-es": "^4.17.15",
"pluggable.js": "2.0.1", "pluggable.js": "2.0.1",
"sprintf-js": "^1.1.2", "sprintf-js": "^1.1.2",
"strophe.js": "1.4.0" "strophe.js": "1.4.1"
} }
} }

View File

@ -28,7 +28,7 @@ const emoji_picker_header = (o) => {
const emoji_item = (o) => { const emoji_item = (o) => {
return html` return html`
<li class="emoji insert-emoji ${o.shouldBeHidden(o.emoji.sn) ? 'hidden' : ''}" data-emoji="${o.emoji.sn}" title="${o.emoji.sn}"> <li class="emoji insert-emoji ${o.shouldBeHidden(o.emoji.sn) ? 'hidden' : ''}" data-emoji="${o.emoji.sn}" title="${o.emoji.sn}">
<a href="#" @click=${o.insertEmoji} data-emoji="${o.emoji.sn}">${u.shortnamesToEmojis(o.emoji.sn, {'add_title_wrapper': true})}</a> <a href="#" @click=${o.insertEmoji} data-emoji="${o.emoji.sn}">${u.shortnamesToEmojis(o.emoji.sn)}</a>
</li> </li>
`; `;
} }
@ -65,7 +65,7 @@ export const tpl_all_emojis = (o) => {
const skintone_emoji = (o) => { const skintone_emoji = (o) => {
return html` return html`
<li data-skintone="${o.skintone}" class="emoji-skintone ${(o.current_skintone === o.skintone) ? 'picked' : ''}"> <li data-skintone="${o.skintone}" class="emoji-skintone ${(o.current_skintone === o.skintone) ? 'picked' : ''}">
<a class="pick-skintone" href="#" data-skintone="${o.skintone}" @click=${o.onSkintonePicked}>${u.shortnamesToEmojis(':'+o.skintone+':', {'add_title_wrapper': true})}</a> <a class="pick-skintone" href="#" data-skintone="${o.skintone}" @click=${o.onSkintonePicked}>${u.shortnamesToEmojis(':'+o.skintone+':')}</a>
</li>`; </li>`;
} }