Compare commits

...

4966 Commits

Author SHA1 Message Date
a461444bed make version (instead of make release) 2023-10-08 13:53:45 +00:00
1307f87912 Simplify chapril release process 2023-10-07 08:15:40 +00:00
23cf858a02 Add some bash safeguards in README.charpil.md 2023-10-07 08:13:09 +00:00
b49146b36f [Branding] Customize homepage's text and links + CSS adjustments. 2023-10-07 08:13:09 +00:00
8d67dce865 [Branding] Replace Converse's logo with Chapril's logo. 2023-10-07 08:13:07 +00:00
543807aa50 Create a README for Chapril's build. 2023-10-07 08:12:53 +00:00
JC Brand
82a8c3f9fc Release 10.1.6 2023-08-31 21:30:48 +02:00
JC Brand
3e680e88d8 Fix import path 2023-08-31 21:20:40 +02:00
JC Brand
005f5374f0 Fixes #3246 2023-08-31 21:20:40 +02:00
JC Brand
79bb8e76ce Fix GIF rendering artifacts related to patching 2023-08-31 21:20:40 +02:00
JC Brand
61192f91d9 Fix GIF rendering issue
Remove the GIF parsing code from this repo and instead add a dependency on gifuct-js.
2023-08-31 21:20:40 +02:00
JC Brand
e31d4c7bac Release 10.1.5
Refine the `dist` step by creating a proper temporary file.

I spent a lot of time trying to pinpoint the underlying cause, why
translation chunk files are empty when generating a bundle with newer JS
features (i.e. not pinning preset-env to IE11) but couldn't find it.
2023-06-30 06:38:40 +02:00
JC Brand
c30569dfd3 Release 10.1.5
Found another bug while trying to make the release.

Running `npm run nodeps` last breaks dynamic importing of the DayJS
translations. I'm not sure why, I think maybe because of broken `.map`
files.

The fix for now is to move the js-po files out of the way, and then copy
them back in after running `npm run build`.

Hopefully all of this won't be necessary with gettext 0.22 which should
support template literals
2023-06-29 23:41:15 +02:00
JC Brand
5e02b9bd5d Release 10.1.5 (this time hopefully for real)
As I was making the release, I found a bug in the Makefile that still
prevented the locale JSON files from being properly generated.
2023-06-29 23:09:49 +02:00
JC Brand
9114db8764 Release 10.1.5 2023-06-29 22:29:11 +02:00
JC Brand
bc7621c25d Updates #3207 - Generate po files in the release checkout
Refactor the Makefile somewhat.

- Rename `make release` to `make version`
- Add `make release-checkout` which checks out the release branch
2023-06-29 22:16:19 +02:00
ssantos
ae518aa2c3 Translated using Weblate (Portuguese)
Currently translated at 99.8% (539 of 540 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2023-06-29 21:55:15 +02:00
josé m
e4a4b2819c Translated using Weblate (Galician)
Currently translated at 100.0% (540 of 540 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2023-06-29 21:55:15 +02:00
JC Brand
5310021b67 Modernize the i18n code.
- Remove old deprecated API methods `systemLanguage`, `browserLanguage`
  and `userLanguage`.
- Add types via JSDoc
2023-06-29 09:43:53 +02:00
SilverYoCha
e18fdd56b1 Fix #3209.
Fixing some technical errors when avoiding importing the `converse` global with bootstrap modal API.
2023-06-27 11:07:35 +02:00
JC Brand
94963662e7 Fix ordering or args 2023-06-25 11:22:16 +02:00
JC Brand
4f14d50f5d Check out depth of 1 when deploying 2023-06-25 11:15:46 +02:00
JC Brand
699ab71f21 Larger sponsor image 2023-06-25 11:13:24 +02:00
JC Brand
daeb641530 Postrelease 2023-06-25 11:09:50 +02:00
JC Brand
6e71555ee4 Release 10.1.4 2023-06-25 11:03:06 +02:00
JC Brand
27d61411ab Update release instructions 2023-06-25 10:58:58 +02:00
JC Brand
3328e1c94c Add libsignal as a 3rd party dependency
Ultimately I'd like to use libomemo.js, but it's not yet ready
https://github.com/conversejs/libomemo.js
2023-06-25 10:58:58 +02:00
Eric
c63c787a6d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (540 of 540 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-06-25 10:58:48 +02:00
gallegonovato
0efeead71a Translated using Weblate (Spanish)
Currently translated at 100.0% (540 of 540 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2023-06-25 10:58:48 +02:00
JC Brand
5822fade32 Add make recipe to create tar files 2023-06-23 13:34:51 +02:00
JC Brand
621612d126 Postrelease 2023-06-23 10:39:32 +02:00
JC Brand
536350155d Release 10.1.3 2023-06-23 10:17:53 +02:00
Emmanuel Gil Peyrot
841a57fd66 Translated using Weblate (French)
Currently translated at 98.3% (533 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2023-06-23 10:09:14 +02:00
Breno Peres
175595098a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2023-06-23 10:09:14 +02:00
Breno Peres
03655b45b2 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2023-06-23 10:09:14 +02:00
JC Brand
fa9ae16ead Run npm update 2023-06-23 10:01:34 +02:00
JC Brand
cb1f929045 Fixes #3123: Contacts do not show up online until chat is opened with them.
The issue was that nothing was listening to the new `presenceChanged` event.
2023-06-09 20:37:27 +02:00
JC Brand
9ba339a6d9 Add colon 2023-06-09 17:12:49 +02:00
JC Brand
bc452596a7 Add workflow_dispatch
So that worfklows can be triggered.
https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch
2023-06-09 17:10:29 +02:00
JC Brand
2b732cdb94 Bump filesize to latest version and fix issues. 2023-06-09 14:55:09 +02:00
JC Brand
1e4937bf41 Run npm update and fix resulting dynamic import error.
For some reason the newer webpack versions can't handle the destructured
assignment from a dynamic import of a JSON file.
2023-06-09 12:34:58 +02:00
JC Brand
8b28ffecfe Don't run type check when making dist files 2023-06-09 11:40:04 +02:00
JC Brand
80bf81db6f Use Node 18.x in CI tests 2023-06-09 11:25:23 +02:00
JC Brand
7fdbcd0e64 Make sure node_modules are installed 2023-06-09 11:23:56 +02:00
JC Brand
975a2c2305 Remove Lerna and bump Node version.
Lerna doesn't seem to be needed anymore, NPM workspaces functionality suffices.
2023-06-09 11:19:23 +02:00
dependabot[bot]
abad4d054b Bump postcss-loader from 7.0.2 to 7.3.2
Bumps [postcss-loader](https://github.com/webpack-contrib/postcss-loader) from 7.0.2 to 7.3.2.
- [Release notes](https://github.com/webpack-contrib/postcss-loader/releases)
- [Changelog](https://github.com/webpack-contrib/postcss-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/postcss-loader/compare/v7.0.2...v7.3.2)

---
updated-dependencies:
- dependency-name: postcss-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 10:58:29 +02:00
dependabot[bot]
b5b6d1f8b2 Bump webpack-dev-server from 4.11.1 to 4.15.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.11.1 to 4.15.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.11.1...v4.15.0)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 10:25:46 +02:00
dependabot[bot]
64aef7f70d Bump @babel/preset-env from 7.20.2 to 7.22.5
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.20.2 to 7.22.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.22.5/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 10:24:59 +02:00
dependabot[bot]
4f0f210e21
Bump @babel/cli from 7.20.7 to 7.22.5 (#3189)
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.20.7 to 7.22.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.22.5/packages/babel-cli)

---
updated-dependencies:
- dependency-name: "@babel/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-09 10:24:42 +02:00
dependabot[bot]
c4299e92be
Bump karma-jasmine-html-reporter from 2.0.0 to 2.1.0 (#3180)
Bumps [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/dfederm/karma-jasmine-html-reporter/releases)
- [Commits](https://github.com/dfederm/karma-jasmine-html-reporter/commits)

---
updated-dependencies:
- dependency-name: karma-jasmine-html-reporter
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-08 12:50:13 +02:00
dependabot[bot]
0cc03e7e7a
Bump @typescript-eslint/eslint-plugin from 5.48.0 to 5.59.9 (#3181)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.48.0 to 5.59.9.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.59.9/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-08 12:49:31 +02:00
dependabot[bot]
f9f246282b
Bump mini-css-extract-plugin from 2.7.2 to 2.7.6 (#3184)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 2.7.2 to 2.7.6.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.7.2...v2.7.6)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-08 12:48:48 +02:00
dependabot[bot]
3e4a8b23fe
Bump webpack-cli from 4.10.0 to 5.1.4 (#3185)
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.10.0 to 5.1.4.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.10.0...webpack-cli@5.1.4)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-08 12:47:57 +02:00
dependabot[bot]
cdda140137
Bump webpack from 5.75.0 to 5.76.0 (#3173)
Bumps [webpack](https://github.com/webpack/webpack) from 5.75.0 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 14:40:29 +02:00
dependabot[bot]
0a15b003dc
Bump sass from 1.58.1 to 1.62.1 (#3171)
Bumps [sass](https://github.com/sass/dart-sass) from 1.58.1 to 1.62.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.58.1...1.62.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 12:48:36 +02:00
dependabot[bot]
23539ecf47
Bump socket.io-parser from 4.2.2 to 4.2.4 (#3175)
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.2 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.2...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 12:47:52 +02:00
dependabot[bot]
efa448956e
Bump dayjs from 1.11.6 to 1.11.8 (#3172)
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.6 to 1.11.8.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.6...v1.11.8)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 12:47:13 +02:00
dependabot[bot]
743f336dc5
Bump jsdoc from 4.0.0 to 4.0.2 (#3146)
Bumps [jsdoc](https://github.com/jsdoc/jsdoc) from 4.0.0 to 4.0.2.
- [Release notes](https://github.com/jsdoc/jsdoc/releases)
- [Changelog](https://github.com/jsdoc/jsdoc/blob/4.0.2/CHANGES.md)
- [Commits](https://github.com/jsdoc/jsdoc/compare/4.0.0...4.0.2)

---
updated-dependencies:
- dependency-name: jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 12:46:35 +02:00
dependabot[bot]
8a0386fdcc
Bump @babel/core from 7.20.12 to 7.22.1 (#3170)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.20.12 to 7.22.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.22.1/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 11:41:21 +02:00
JC Brand
b647f5463f Check out new repo when making a release
Ignore media dir
2023-06-06 10:31:53 +02:00
Breno Reis
46f2e40f91
Small pt_BR corrections (#3168)
* 'a bastante tempo' -> 'há bastante tempo'

* Fix a wrong comma usage

* Update CHANGES.md
2023-06-06 09:58:45 +02:00
Daniele Bortoluzzi
8b1b4b6446 Translated using Weblate (Italian)
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2023-06-06 09:48:58 +02:00
Raphaël Maginot
9407d00c67 Translated using Weblate (French)
Currently translated at 97.4% (528 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2023-06-06 09:48:58 +02:00
Sergi Font
f0d584aed6 Translated using Weblate (Catalan)
Currently translated at 81.1% (440 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ca/
2023-06-06 09:48:58 +02:00
Meno25
2768c2a3ec Translated using Weblate (Arabic)
Currently translated at 69.3% (376 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2023-06-06 09:48:58 +02:00
Mr. EddX
8fb1716681 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2023-06-06 09:48:58 +02:00
Mr. EddX
507cfa9ef2 Translated using Weblate (Bulgarian)
Currently translated at 33.7% (183 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2023-06-06 09:48:58 +02:00
Meno25
5ef7807a68 Translated using Weblate (Arabic)
Currently translated at 69.3% (376 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2023-06-06 09:48:58 +02:00
Meno25
952d3cf440 Translated using Weblate (Arabic)
Currently translated at 68.6% (372 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2023-06-06 09:48:58 +02:00
Kim Alvefur
c9a95faa35 Translated using Weblate (Swedish)
Currently translated at 97.4% (528 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/sv/
2023-06-06 09:48:58 +02:00
gnu-ewm
02185cee5f Translated using Weblate (Polish)
Currently translated at 94.6% (513 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2023-06-06 09:48:58 +02:00
K.Y
40290f27e7 Translated using Weblate (Uyghur)
Currently translated at 97.9% (531 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ug/
2023-06-06 09:48:58 +02:00
Sam Mendes
bbfcb74eaa Translated using Weblate (Persian)
Currently translated at 22.5% (122 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fa/
2023-06-06 09:48:58 +02:00
Zoltán Tóth
a2e618a8f6 Translated using Weblate (Hungarian)
Currently translated at 93.5% (507 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2023-06-06 09:48:58 +02:00
Ze-oZ
ebbb39a9aa Translated using Weblate (Greek)
Currently translated at 58.4% (317 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/el/
2023-06-06 09:48:58 +02:00
Allan Nordhøy
2d66a974d0 Translated using Weblate (Norwegian Bokmål)
Currently translated at 66.2% (359 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2023-06-06 09:48:58 +02:00
nautilusx
fa12dae7bc Translated using Weblate (German)
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2023-06-06 09:48:58 +02:00
Eric
df25e16438 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-06-06 09:48:58 +02:00
Oğuz Ersen
c39d61f62c Translated using Weblate (Turkish)
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2023-06-06 09:48:58 +02:00
josé m
01ce344d82 Translated using Weblate (Galician)
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2023-06-06 09:48:58 +02:00
gallegonovato
bb428fa1d7 Translated using Weblate (Spanish)
Currently translated at 100.0% (542 of 542 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2023-06-06 09:48:58 +02:00
JC Brand
5a710e4601 Add new sponsor BairesDev 2023-06-05 16:53:49 +02:00
JC Brand
f91f4cb7ab Allow arguments to be passed when running tests 2023-06-05 09:39:37 +02:00
JC Brand
f2ac748e06 Add test and lint NPM scripts 2023-06-02 07:31:47 +02:00
JC Brand
27a47c6ee8 fixes #3165
Use configured nickname in profile view in the control box.
Remove doc for the unimplemented `fullname` setting.
2023-06-02 07:24:37 +02:00
JC Brand
0a338feb40 headless.js has been renamed to index.js 2023-03-15 17:53:33 +01:00
JC Brand
d74daccfbb Fix logo transparency and add extra platforms in doap file 2023-03-03 17:28:26 +01:00
JC Brand
5c3acc8a4d Rename package module files to index.js
Makes it easier to import, you don't have to specify the file name, just
the package name.
2023-03-03 17:28:26 +01:00
JC Brand
48e7987f38 Start work on removing constants from _converse object 2023-03-03 17:28:26 +01:00
JC Brand
4d2a8e9f8d Create new config setting stanza_timeout
And move STANZA_TIMEOUT off `_converse` and into constants.js
2023-03-03 17:28:26 +01:00
JC Brand
3d0e9a7374 Move CONNECTION_STATUS to constant.js 2023-03-03 17:28:26 +01:00
JC Brand
fb054c40be Experimenting with avoiding importing the converse global 2023-03-03 17:28:26 +01:00
drlight17
c3c666e568
dragresize over iframe fix function concept (#3157)
Fixes stuttering of conversejs overlayed dragresize UI elements over the iframes on the parent page.
2023-03-03 11:52:24 +01:00
JC Brand
6b365458f5 Get rid of lodash's invoke method 2023-02-26 19:32:55 +01:00
JC Brand
885a3d92b5 Move private API to own file 2023-02-26 18:10:01 +01:00
JC Brand
6df80507f3 Move ConnectionFeedback model to its own file 2023-02-26 18:10:01 +01:00
JC Brand
16754c15aa Register Strophe namespaces in constants.js 2023-02-26 18:10:01 +01:00
JC Brand
70a10efd49 Move public API into its own file 2023-02-26 18:10:01 +01:00
JC Brand
9a63629b40 Get rid of lodash's isFunction 2023-02-26 18:10:01 +01:00
JC Brand
dcfc0d50f4 Refactor shared API functions out into src/headless/shared/api 2023-02-26 18:10:01 +01:00
JC Brand
fde55bea2c Include XEP-0172 nick in all outgoing presence subscribe stanzas 2023-02-26 09:53:25 +01:00
JC Brand
3530ccc35d Add initial TypeScript support and declaration files 2023-02-23 09:38:11 +01:00
JC Brand
05c5cd1046 Remove call to api.confirm in @converse/headless 2023-02-22 15:21:56 +01:00
JC Brand
c38c706079 Fix logo not showing in background 2023-02-22 12:25:21 +01:00
JC Brand
e1e93c2ec9 Properly set checkbox state in bookmark form 2023-02-22 12:25:21 +01:00
JC Brand
16b442ac19 Occupant modal: Only show role/affiliation forms for moderators 2023-02-22 09:32:20 +01:00
JC Brand
0122bd7bab Import emoji utils.
Fixes `TypeError: core_default.isOnlyEmojis is not a function`
when using only `@converse/headless`.
2023-02-22 09:10:22 +01:00
JC Brand
56259fd22e Add the role form to the occupant modal 2023-02-21 23:14:16 +01:00
JC Brand
85181053e6 Make the role form a custom element
So that it can be used in the occupant modal as well.
2023-02-21 23:14:16 +01:00
JC Brand
26062df4e5 Fix logo path 2023-02-21 23:14:16 +01:00
JC Brand
2fb9fec8f8 Use addEventListener in the constructor
In Lit elements, the `initialize` function can get called multiple
times, thereby causing a memory leak if `addEventListener` is called
there and not removed.

The `ElementView` only calls it once, but I'm making the change so that
it's not forgotten when we eventually move to using Lit elements for
modals.
2023-02-21 23:14:16 +01:00
JC Brand
d4cb67dc5f Add affiliation form to the occupant modal 2023-02-21 23:14:16 +01:00
JC Brand
ad7b4ae343 Add affiliation form to the occupant modal 2023-02-21 20:18:59 +01:00
JC Brand
57f489f61b Turn the MUC affiliation form into a component
So that it can be used elsewhere, for example in the occupant modal.
2023-02-21 20:18:16 +01:00
JC Brand
6ce8879e9c CSS: fix MUC textarea color when correcting a message 2023-02-21 17:41:39 +01:00
JC Brand
1ee4cce2fd Modtools: fix wrench icon not visible in dracula theme
Also fix spacing of buttons
2023-02-21 09:30:29 +01:00
JC Brand
b69e5b5482 Create occupants based on messages
That way the occupant modal can still be shown in MUCs even if the user
is no longer online.
2023-02-20 22:02:13 +01:00
JC Brand
3f6ad0d950 CSS build fixes
- Bump postcss.
- Remove postcss-clean. It's incompatible with newer versions and
  apparently unnecesary.
- Finally got CSS source maps to work again
2023-02-20 12:43:20 +01:00
JC Brand
9899351597 Add a deploy Makefile recipe 2023-02-17 12:19:08 +01:00
JC Brand
0b3bcbfe40 Release 10.1.2 2023-02-17 11:56:30 +01:00
JC Brand
5e3139f563 Fixes #1490: Busy-loop when fetching registration form fails 2023-02-17 11:44:22 +01:00
JC Brand
7b8b32638c Fixes #3137
- Modernize the `RegisterPanel` component and turn it into a Lit element.
- Improve CSS and move into plugin.
- Fix button click handler not being registered.
- Fix switching between login/register form after logging out (Fixes #1556)
2023-02-16 23:45:59 +01:00
JC Brand
8035084e8e Remove unused dir 'converse-logs' 2023-02-16 14:48:02 +01:00
JC Brand
19466ddf62 Remove codefirst as sponsor 2023-02-16 14:47:23 +01:00
JC Brand
bb7ed5315f XEP-0437 MUC RAI fixes
Avoid unnecessarily connecting to rooms that should instead receive room
activity indicators (RAI).

- Don't join a newly created room that qualifies for RAI.
- Upon switching back to the tab, don't reconnect to a room that qualifies for RAI.
- Don't ping a room that we didn't actually enter.
2023-02-16 14:25:24 +01:00
JC Brand
6719aeba45 Release 10.1.1 2023-02-15 15:14:13 +01:00
Igor
45844447bf Translated using Weblate (Russian)
Currently translated at 100.0% (534 of 534 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2023-02-15 15:06:56 +01:00
koukei
82314eb1df Translated using Weblate (Indonesian)
Currently translated at 76.4% (408 of 534 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2023-02-15 15:06:56 +01:00
nautilusx
d9c86ed575 Translated using Weblate (German)
Currently translated at 99.8% (533 of 534 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2023-02-15 15:06:56 +01:00
Eric
89d231a5dd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (534 of 534 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-02-15 15:06:56 +01:00
Oğuz Ersen
72406b4aac Translated using Weblate (Turkish)
Currently translated at 100.0% (534 of 534 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2023-02-15 15:06:56 +01:00
gallegonovato
e08b58c3d3 Translated using Weblate (Galician)
Currently translated at 100.0% (534 of 534 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2023-02-15 15:06:56 +01:00
gallegonovato
387c992381 Translated using Weblate (Spanish)
Currently translated at 100.0% (534 of 534 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2023-02-15 15:06:56 +01:00
JC Brand
4e98383e65 Ran npm update 2023-02-15 15:00:38 +01:00
JC Brand
dae84028c2 Fixes #1851: Sort open groupchats alphabetically 2023-02-15 14:43:56 +01:00
JC Brand
5e5bdc78ec Bump @converse/skeletor to 0.0.8 for @converse/headless 2023-02-15 14:43:39 +01:00
JC Brand
15c10376b0 Rename all templates to camelCase
To conform with naming conventions regarding functions, which the
templates are.
2023-02-15 14:29:07 +01:00
JC Brand
ccc165facc Update roomslist and templates to bring in line with conventions 2023-02-15 14:29:07 +01:00
JC Brand
aa299af3ec Update files in package.json to include Sass files in ./src 2023-02-14 14:39:36 +01:00
JC Brand
b16e3efbd4 Update to @conversejs/skeletor version 0.0.8 2023-02-14 13:25:40 +01:00
JC Brand
5db3e8ca51 Move adhoc plugin into own directory with separate files 2023-02-14 11:51:35 +01:00
JC Brand
0fcdb2a594 Add-hoc form fixes
- Provide actions as received in the Ad-Hoc form
- Add support for multi-stage ad-hoc forms
- Add new tests for multi-stage forms

Fixes #2240
2023-02-14 11:51:35 +01:00
JC Brand
5029d93523 XML stanza parsing fixes
- Add a `Stanza` class which can be used by Strophe because it has a
  `tree()` function. This is what gets returned by the `stx` tagged
  template.

- Throw an error when no valid namespace is on the stanza.
    Strophe.Builder used to automatically add the `jabber:client` namespace,
    but that doesn't happen with `toStanza`, so we need to fail if it's not
    specified by the user.

- Use the Strophe XML Parser
    This opens the door to NodeJS support
2023-02-14 11:50:38 +01:00
JC Brand
bab11b682b Fix failing test 2023-02-13 20:37:11 +01:00
JC Brand
9343488864 Update translations 2023-02-08 12:06:46 +01:00
Emmanuel Gil Peyrot
782c8c97fa Translated using Weblate (French)
Currently translated at 99.2% (531 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2023-02-08 11:08:15 +01:00
JC Brand
d2f7756313 Translated using Weblate (Afrikaans)
Currently translated at 98.5% (527 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2023-02-08 11:08:15 +01:00
Quentin PAGÈS
07371b0852 Translated using Weblate (Occitan)
Currently translated at 75.7% (405 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2023-02-08 11:08:15 +01:00
nautilusx
25aa0303c6 Translated using Weblate (German)
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2023-02-08 11:08:15 +01:00
52871299hzy
6186f05a3e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-02-08 11:08:15 +01:00
jiangshanghan
dd4f1e6b85 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-02-08 11:08:15 +01:00
kapad
366390935f Translated using Weblate (Greek)
Currently translated at 58.6% (314 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/el/
2023-02-08 11:08:15 +01:00
josé m
7eb07fa02f Translated using Weblate (Galician)
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2023-02-08 11:08:15 +01:00
K.Y
fbe2e41de7 Translated using Weblate (Uyghur)
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ug/
2023-02-08 11:08:15 +01:00
licat
cfc2d93b9b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-02-08 11:08:15 +01:00
Eric
12170461cd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-02-08 11:08:15 +01:00
gallegonovato
ab079036da Translated using Weblate (Spanish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2023-02-08 11:08:15 +01:00
nautilusx
8001cf3809 Translated using Weblate (German)
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2023-02-08 11:08:15 +01:00
josé m
d93a47d246 Translated using Weblate (Galician)
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2023-02-08 11:08:15 +01:00
Jaime Marquínez Ferrándiz
76fb90319b Translated using Weblate (Spanish)
Currently translated at 98.5% (527 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2023-02-08 11:08:15 +01:00
nautilusx
9ca1114670 Translated using Weblate (German)
Currently translated at 99.6% (533 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2023-02-08 11:08:15 +01:00
Oğuz Ersen
251784c21c Translated using Weblate (Turkish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2023-02-08 11:08:15 +01:00
JC Brand
8c3ce2892b Updates #3128: Fix test and add changelog entry 2023-01-28 22:50:48 +01:00
JC Brand
6c44fb2a2f Fixes #3128 2023-01-28 22:37:52 +01:00
JC Brand
465aa38222 Refactor bookmark modal
- Use `getDisplayName` to have proper fallback for the MUC name
- Don't use the term "Unbookmark". There might be other reasons for
opening the bookmark modal besides removing a bookmark.
2023-01-28 22:37:52 +01:00
JC Brand
6fc83db9df Run npm update 2023-01-17 12:41:48 +01:00
JC Brand
a486fe25b8 Configure Webpack to make @converse/headless a library
Also, remove unused alias.
2023-01-17 12:33:08 +01:00
Licaon_Kter
87c172acd0 Update info on saved scram 2023-01-10 19:16:30 +01:00
Licaon_Kter
968ec8182c Fix typo 2023-01-10 19:15:39 +01:00
JC Brand
451ed18261 Postrelease and fix issue with Uyghur translations not loading 2023-01-07 21:50:13 +01:00
JC Brand
078936fb8a Release 10.1.0 2023-01-07 21:14:22 +01:00
JC Brand
0227b2e06c Run npm update 2023-01-07 21:07:32 +01:00
Marco Marchiò
44c22bb984 Translated using Weblate (Italian)
Currently translated at 99.6% (520 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2023-01-07 21:02:31 +01:00
Emmanuel Gil Peyrot
da12005420 Translated using Weblate (French)
Currently translated at 99.6% (520 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2023-01-07 21:02:31 +01:00
JC Brand
de65409e79 Add Uyghur 2023-01-02 09:45:04 +01:00
Trần H. Trung
9ab99a0859 Translated using Weblate (Vietnamese)
Currently translated at 35.8% (187 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/vi/
2023-01-01 17:01:16 +01:00
ssantos
77fdbb5aa2 Translated using Weblate (Portuguese)
Currently translated at 98.4% (514 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2023-01-01 17:01:16 +01:00
gallegonovato
a8f4bc4617 Translated using Weblate (Galician)
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2023-01-01 17:01:16 +01:00
K.Y
18cd864e09 Translated using Weblate (Uyghur)
Currently translated at 100.0% (515 of 515 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ug/
2023-01-01 17:01:16 +01:00
Gediminas Murauskas
192861f9c9 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/
2023-01-01 17:01:16 +01:00
nautilusx
4a43b46432 Translated using Weblate (German)
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2023-01-01 17:01:16 +01:00
Eric
95bf14385b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2023-01-01 17:01:16 +01:00
Oğuz Ersen
0fe2df24ad Translated using Weblate (Turkish)
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2023-01-01 17:01:16 +01:00
gallegonovato
5a368a9c0f Translated using Weblate (Galician)
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2023-01-01 17:01:16 +01:00
gallegonovato
73b9cbea13 Translated using Weblate (Spanish)
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2023-01-01 17:01:16 +01:00
JC Brand
2dee891c63 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (522 of 522 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2023-01-01 17:01:16 +01:00
K.Y
97b87bcdc1 Translated using Weblate (Uyghur)
Currently translated at 1.5% (8 of 520 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ug/
2023-01-01 17:01:16 +01:00
K.Y
c10f18ad1c Added translation using Weblate (Uyghur) 2023-01-01 17:01:16 +01:00
yater
4d687b022a removing the entry for a removed sponsor image
image (logo of "c") is removed.
c6bc5e1438
2022-12-29 10:35:29 +01:00
JC Brand
53d562481e Add @converse/headless as a NPM workspace 2022-12-28 22:13:31 +01:00
JC Brand
7539fc1a6f Move functions out of src/headless/core.js into utils 2022-12-28 21:36:40 +01:00
JC Brand
f740332e95 Fixes based on Github's code scanning results 2022-12-28 21:14:15 +01:00
JC Brand
4abc9c45d3 Exclude tests from code scanning 2022-12-28 11:49:37 +01:00
LGTM Migrator
756942d2bd Add CodeQL workflow for GitHub code scanning 2022-12-28 11:49:37 +01:00
JC Brand
fdcab413f5 Use crypto.randomUUID() if available 2022-12-28 11:49:37 +01:00
JC Brand
3c6dd5d0ae Run npm update in src/headless 2022-12-28 10:18:14 +01:00
JC Brand
3004d7bff5 Fix docs example on how to use the shared worker 2022-12-28 10:12:52 +01:00
JC Brand
6494b34da3 Don't automatically log in again if the user manually logged out
Fixes #2759
2022-12-28 09:57:32 +01:00
JC Brand
447fe8ba08 Refactor the code related to storing SCRAM keys
- No need to create a new storage mechanism, just use `persistent`.
- Store SCRAM keys per JID
- Upon succesfull login, store the current session JID, so that we know who to fetch SCRAM keys for
- Only store SCRAM keys when the device is trusted

Fixes #3001
2022-12-28 09:56:41 +01:00
based-a-tron
8ab0b718de Added option to save SCRAM keys 2022-12-27 22:39:12 +01:00
JC Brand
97e5bb9b11 Run npm update 2022-12-27 21:12:40 +01:00
JC Brand
5f38a914b1 Update and clean up password-reset feature
- No need for it to be in a separate plugin
- Make all UI strings translateable
- Remove the "Are you sure?" prompt
- Add tests

Fixes #326
2022-12-27 21:07:23 +01:00
based-a-tron
fa132567da Reworked profile modal; Added rudimentary password reset plugin 2022-12-27 12:46:29 +01:00
JC Brand
5ea00b8008 Tweak modal tab style 2022-12-27 12:46:29 +01:00
JC Brand
a76393f216 Also handle 'normal' messages from roster contacts 2022-12-26 19:17:40 +01:00
JC Brand
739d79e90c Fixes #2816 2022-12-20 18:05:35 +01:00
JC Brand
e63ba2075f Use repeat directive to render roster and MUC occupant items
If we don't use `repeat`, a DOM node may be reused with different state
(e.g. the `model` it receives originally changes upon next render).

https://lit.dev/docs/templates/lists/#when-to-use-map-or-repeat

Fixes #2816
2022-12-13 10:04:13 +01:00
JC Brand
8ca265d8d5 CSS: Fix color for info alerts 2022-12-02 23:55:07 +01:00
JC Brand
78a7841afb Don't duplicate disco items across two collections
We now no longer have an `.items` collection on a disco entity.
Instead, add a new API method `api.disco.entities.items` should be used.

This should solve the issue of the entities disappearing when reloading
the page.

Updates #2925
2022-12-02 22:50:06 +01:00
JC Brand
4733e7f65f Run npm update 2022-11-25 10:34:59 +01:00
JC Brand
8c84e276ff Run npm update 2022-11-08 20:35:17 +01:00
JC Brand
a251608fc5 Fix race condition where waitUntilFeaturesDiscovered was resolved too early
When calling `api.supports(feature, entity_jid)`, it checks whether the entity
supports the feature or whether any of the sub-items on the entity
supports that feature.

However, on `DiscoEntity`, the `waitUntilFeaturesDiscovered` promise
didn't wait for the items on the entity to be fetched, and was therefore
resolved too quickly.

This caused the file upload button to not render.

Updates #2925
2022-11-08 20:03:37 +01:00
dependabot[bot]
3af6168270 Bump lerna from 5.5.1 to 6.0.1
Bumps [lerna](https://github.com/lerna/lerna/tree/HEAD/core/lerna) from 5.5.1 to 6.0.1.
- [Release notes](https://github.com/lerna/lerna/releases)
- [Changelog](https://github.com/lerna/lerna/blob/main/core/lerna/CHANGELOG.md)
- [Commits](https://github.com/lerna/lerna/commits/v6.0.1/core/lerna)

---
updated-dependencies:
- dependency-name: lerna
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-04 21:25:22 +01:00
dependabot[bot]
34c17a7662 Bump sass-loader from 12.6.0 to 13.1.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 12.6.0 to 13.1.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v12.6.0...v13.1.0)

---
updated-dependencies:
- dependency-name: sass-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-04 21:23:20 +01:00
dependabot[bot]
87aba699f1 Bump babel-loader from 8.2.5 to 9.1.0
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.5 to 9.1.0.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.5...v9.1.0)

---
updated-dependencies:
- dependency-name: babel-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-04 21:20:31 +01:00
dependabot[bot]
defe5cdcb0 Bump karma-jasmine-html-reporter from 1.7.0 to 2.0.0
Bumps [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) from 1.7.0 to 2.0.0.
- [Release notes](https://github.com/dfederm/karma-jasmine-html-reporter/releases)
- [Commits](https://github.com/dfederm/karma-jasmine-html-reporter/compare/v1.7.0...v2.0.0)

---
updated-dependencies:
- dependency-name: karma-jasmine-html-reporter
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-04 21:17:13 +01:00
JC Brand
038a38cae0 Run npm update 2022-11-04 16:47:01 +01:00
dependabot[bot]
8aaf792c6c Bump jsdoc from 3.6.11 to 4.0.0
Bumps [jsdoc](https://github.com/jsdoc/jsdoc) from 3.6.11 to 4.0.0.
- [Release notes](https://github.com/jsdoc/jsdoc/releases)
- [Changelog](https://github.com/jsdoc/jsdoc/blob/main/CHANGES.md)
- [Commits](https://github.com/jsdoc/jsdoc/compare/3.6.11...4.0.0)

---
updated-dependencies:
- dependency-name: jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-04 13:22:19 +01:00
JC Brand
659a69e7b7 Make sure a moderator can also add contacts...
since they can see real JIDs, even if the room is semi-anonymous.

Also made changes regarding programming style and conventions:

- Pass in `this` to the template
    Recently I've started simplifying the `render` method by just
    passing `this` into the template and letting the template calculate
    what it needs from that.
- Don't use `bind()`
    It's slow and arrow functions can be used instead.
- Don't use an i18n string inside a tagged template literal
    Due to limitations with `xgettext` which cannot parse properly
    inside tagged template literals
- Use snake-case for variables
2022-11-03 10:14:12 +01:00
JC Brand
ec70d4bc56 Classic theme: re-use CSS variable names 2022-11-03 09:53:06 +01:00
Simon Lipp
b0b8a3f89d muc: add a add to contacts button 2022-11-03 09:46:06 +01:00
Simon Lipp
72be204f77 Show nickname in status if fullname is not provided 2022-11-01 14:39:10 +01:00
JC Brand
d5deed0871 Release 10.0.0 2022-10-30 17:03:41 +01:00
JC Brand
040d5bae9d Rename CSS vars to try and get some more consistency 2022-10-30 16:51:15 +01:00
JC Brand
b2ad6e844c Fix chat head buttons not showing
We need to use `converse-icon` now that the fontawesome fonts aren't
included
2022-10-30 16:51:15 +01:00
JC Brand
b4fb710d61 Fix import path 2022-10-30 11:53:15 +01:00
dependabot[bot]
a5be19ad50 Bump dayjs from 1.11.3 to 1.11.6
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.3 to 1.11.6.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/v1.11.6/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.3...v1.11.6)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-30 10:51:26 +01:00
Allan Nordhøy
6250be89ed Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.3% (365 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2022-10-30 10:50:10 +01:00
Gediminas Murauskas
e355814da7 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/
2022-10-30 10:50:10 +01:00
SilvanaFP
1ecffd61af Translated using Weblate (Catalan)
Currently translated at 85.5% (444 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ca/
2022-10-30 10:50:10 +01:00
gallegonovato
d887ea4b7b Translated using Weblate (Spanish)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2022-10-30 10:50:10 +01:00
Geert van der Meer
b2943351a1 Translated using Weblate (Dutch (Belgium))
Currently translated at 99.2% (515 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/
2022-10-30 10:50:10 +01:00
Fotios Kolytoumpas
0b514fbc3e Translated using Weblate (Greek)
Currently translated at 38.5% (200 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/el/
2022-10-30 10:50:10 +01:00
Translator
0d743d428f Translated using Weblate (French)
Currently translated at 100.0% (520 of 520 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2022-10-30 10:50:10 +01:00
Geert van der Meer
0b809049e2 Translated using Weblate (Dutch (Belgium))
Currently translated at 90.9% (472 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/
2022-10-30 10:50:10 +01:00
Artem
8b64482fd4 Translated using Weblate (Ukrainian)
Currently translated at 34.8% (181 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2022-10-30 10:50:10 +01:00
Vincent L
996e47b275 Translated using Weblate (Occitan)
Currently translated at 78.9% (410 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2022-10-30 10:50:10 +01:00
Jaime Marquínez Ferrándiz
c3ff3370bd Translated using Weblate (Spanish)
Currently translated at 94.4% (490 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2022-10-30 10:50:10 +01:00
МАН69К
83726f0821 Translated using Weblate (Russian)
Currently translated at 97.8% (508 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2022-10-30 10:50:10 +01:00
WofWca
1ef2c3b3d4 Translated using Weblate (Ukrainian)
Currently translated at 34.8% (181 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2022-10-30 10:50:10 +01:00
random r
0af4b185ac Translated using Weblate (Italian)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2022-10-30 10:50:10 +01:00
CreeperXP
a3a90a9be8 Translated using Weblate (Russian)
Currently translated at 97.6% (507 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2022-10-30 10:50:10 +01:00
vitoUwu
7861af7bf9 Translated using Weblate (Portuguese)
Currently translated at 99.6% (517 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2022-10-30 10:50:10 +01:00
dependabot[bot]
e90cf6453e Bump po-loader from 0.6.1 to 0.7.0
Bumps [po-loader](https://github.com/perchlabs/po-loader) from 0.6.1 to 0.7.0.
- [Release notes](https://github.com/perchlabs/po-loader/releases)
- [Commits](https://github.com/perchlabs/po-loader/commits)

---
updated-dependencies:
- dependency-name: po-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-30 10:38:22 +01:00
JC Brand
dbd36a0d75 Ran npm update and manually update to Strophe 1.6.0 2022-10-30 10:10:27 +01:00
JC Brand
c6bc5e1438 Remove sponsor 2022-10-29 07:37:19 +02:00
JC Brand
cc6a20b3e6 Fix MUC icon colors in controlbox
The default icon color is used elsewhere and is sufficient.

The `var(--inverse-link-color)` used previously did not have enough
contrast in the default theme.
2022-10-26 20:57:41 +02:00
JC Brand
40024f4599 Fixes #3028 Encrypted media not properly decrypting
Turns out that older versions Quicksy/Conversations use an IV of 16 bytes although the spec states 12
2022-10-26 09:10:45 +02:00
JC Brand
18d8b69f00 Bugfix. Use https for encrypted media unless hosted via localhost 2022-10-25 14:33:49 +02:00
Keith Maika
62cd0afa37 Save delay for future push.
GCE comes before the frame data.  Save the delay to use in a future call to pushFrame.

Final frame needs to be pushed when EOF is encountered.  Intermediate frames are pushed when a new GCE is encountered.
2022-10-24 12:11:58 +02:00
JC Brand
eb9fd74c77 Provide error message instead of aesm URL
when encrypted media cannot be decrypted because it can't be downloaded.
2022-10-23 11:56:59 +02:00
JC Brand
6c9f0400c8 Fix certain Gifs not loading
https://burtrum.org/up/2529a1fc-29cc-47bf-a7a9-7bc081382c54/winkgrin.gif
2022-10-22 18:30:13 +02:00
Dele Olajide
210d4cb87d Fix #3053
Apply fix for issue #3053 - Using Concord Theme, bookmarks list is difficult to read
2022-10-21 14:48:42 +02:00
Keith Maika
7b6301d7f3 Clear before starting parsing. 2022-10-20 10:20:17 +02:00
JC Brand
63cc8411a5 Run npm update 2022-10-19 10:02:03 +02:00
JC Brand
21c41f9265 Fixes #2939
Data forms with a field named "username" are not displayed #2939
Also adds a test case for ad-hoc commands
Update to Lit 2.4.0
2022-10-19 09:51:20 +02:00
JC Brand
83351fb98f Add test case for adhoc commands 2022-10-18 10:10:13 +02:00
JC Brand
4531dd4363 Move Add-Hoc commands UI code into its own plugin 2022-10-18 09:33:28 +02:00
JC Brand
31b10aa0b0 CSS: add right margin 2022-10-03 14:01:12 +02:00
JC Brand
ef16a52ced Make toggling of rooms list reactive and remove imperative code 2022-10-02 16:04:49 +02:00
JC Brand
1a8ae3dcbe Make roster contacts toggleable 2022-10-02 15:52:01 +02:00
JC Brand
34a4a70ae2 Move bookmarks into a modal 2022-10-01 10:52:08 +02:00
JC Brand
f791169f47 Fixes #3030
* The `confirm` modal didn't show the `title`
* Refactor the new modal code to not automatically show a close button in the footer.
2022-09-30 09:29:49 +02:00
JC Brand
782de0165f Add hover effect to tabs in modal 2022-09-29 14:26:54 +02:00
JC Brand
e555469e3f Move clearSession function to utils 2022-09-29 14:26:54 +02:00
JC Brand
b4eb6c0994 Always enable carbons upon connection or reconnection
Previously we tried to remember whether carbons were enabled before by
saving a flag in the session storage, but apparently this resulted in
false positives and carbons then not being enabled.

With carbons not enabled, clients don't get sent messages.

I don't like the idea of enabling carbons every time the page reloads,
but the alternative is lost messages which is way worse.

I think the issue is that it's not possible to guarantee that the
session is always properly cleared. For example if Converse crashes, and
then the page is reloaded, the session will wrongly indicate that
carbons have been enabled, even though they won't be.
2022-09-29 14:26:54 +02:00
JC Brand
74cda3f4b4 Remove FA font files 2022-09-29 14:09:21 +02:00
JC Brand
aebd98cf0a Stop using font-awesome fonts to render icons
This commit just does the last 1% of work necessary to get rid of font-awesome fonts.

fixes #1004
fixes #2639
2022-09-28 15:11:46 +02:00
JC Brand
983d5ea09c CSS: more tweaks to cut off vertical zalgo text 2022-09-28 12:53:35 +02:00
JC Brand
3720092c09 CSS fix: prevent zalgo text from going out of vertical bounds
(previous commit didn't work properly it seems)
2022-09-28 11:15:39 +02:00
JC Brand
36cb7a644e CSS fix: prevent zalgo text from going out of vertical bounds 2022-09-28 11:01:36 +02:00
JC Brand
6293efd8ee Avoid double wrapping with anchor tag and tweak unfurl CSS
to make it smaller on large screens.
2022-09-27 14:31:19 +02:00
JC Brand
5760379e0a Only send out ping if we're actually authenticated
Fixes #2562
2022-09-20 15:01:55 +02:00
JC Brand
a4ee3085b7 MUC: Don't ping when we're not connected
Instead, wait for the `reconnection` event and then ping.
2022-09-20 15:01:51 +02:00
JC Brand
bd60861c1e Don't import plugins' index.js file from other plugins
Importing a plugin's `index.js` file from other plugins means that it's no
longer possible to remove that plugin by removing it from `src/converse.js`.

Instead, all plugins need to be imported in proper order from
`src/headless/headless.js` and `src/converse.js`.

Updates #3026
2022-09-20 14:48:20 +02:00
JC Brand
fbe86e5af8 Create an ElementView base modal and use it for all modals
Modals are now all web components and are opened by component name.
2022-09-16 10:33:47 +02:00
JC Brand
927add0707 Wrap requestUpdate in an arrow function
Otherwise parameters from the event handler might be passed in to it,
causing potential weirdness.
2022-09-16 10:26:21 +02:00
JC Brand
8378ce739b Remove unfurls for hyperlinks removed in a message correction 2022-09-12 10:05:54 +02:00
JC Brand
f9e6c3ff95 Fix groups auto-complete for add-contact modal 2022-09-12 09:28:37 +02:00
JC Brand
98ae55790d Add a list property to the converse-autocomplete component
This can be used instead of the `getAutoCompleteList` function and
avoids unnecessary computation.
2022-09-10 15:20:05 +02:00
JC Brand
bb0ad432b2 Move add-contact modal to the rosterview plugin 2022-09-10 14:46:32 +02:00
JC Brand
55e3417df3 Move user settings modal to profile plugin 2022-09-10 14:37:01 +02:00
Keith Maika
92f71bafb2 Fix muc icons not working due to incorrect target element. 2022-09-08 11:21:53 +02:00
JC Brand
f1734dbb40 Bugfix. Trim whitespace after JID 2022-09-06 13:45:30 +02:00
JC Brand
0489e0f902 Remove unused function 2022-09-01 17:28:29 +02:00
JC Brand
0aa66fee99 CSS Fixes.
- Remove max height for MUC heading, otherwise subject text can get cut off
- Fix offset in mobile due to the background image
2022-08-27 16:40:13 +02:00
JC Brand
ed1099490c Fix bug where auto-complete list would jump to top 2022-08-26 23:19:08 +02:00
JC Brand
a74bbd093f Improve rendering of add-muc autocomplete suggestions 2022-08-26 22:58:46 +02:00
JC Brand
8ae4b6abd4 MUC: Set occupant ID from reflected message 2022-08-21 17:33:35 +02:00
JC Brand
ca3c8fc10b Fixes #3007
Bugfix: Links in message become text when the message is edited
2022-08-20 11:12:59 +02:00
JC Brand
e8b9681a15 MAM: Always query for newest MAM messages after cached ones have been fetched
The `_converse.connection.restored` check ensured that 1:1 chats
manually opened after tab reload would never get their MAM messages
fetched 🤦
2022-08-17 13:53:31 +02:00
JC Brand
51516e38f6 Remove duplicate trigger of afterMessagesFetched 2022-08-17 13:38:57 +02:00
JC Brand
de72d6bae3 MUC: Move constants to separate file 2022-08-17 12:53:41 +02:00
JC Brand
0d9561e666 MUC: When closing, only send read marker if we were entered
When using RAI, it's possible to close a MUC without it being entered.
2022-08-17 12:49:44 +02:00
JC Brand
97be0bd8ac Styling: Use zero-width space and maintain position of newline char
Fixes #2879
2022-08-15 15:56:15 +02:00
Debanjana Sarkar
7f99b24e28 Fix for #2870 2022-08-15 15:54:29 +02:00
Keith Maika
17e5804be7 Select the immediate body, not the one in fallback. 2022-08-13 10:00:40 +02:00
JC Brand
fd9e41a917 Fix failing test.
The fix from @joudinet was to call `this.items.create` on `DiscoEntity`,
however we still need to pass in the same `entity` model as before so that both
collections (`this.items` and `_converse.disco_entities`) have a
referene to the same model.

That way, when attributes like `.identities` are added on the entity,
it's available from both `this.items` and `_converse.disco_entities`.
2022-08-12 10:27:09 +02:00
Johan Oudinet
760f4f7dd1 Fix missing disco-items in session storage
This should fix #2925.
2022-08-12 10:07:12 +02:00
JC Brand
5231262bda Take from_real_jid into account when determining sender
of MUC messages.

This is safer than simply checking nicknames when the XEP-0421 occupant-id is not
available.
2022-08-12 09:43:49 +02:00
JC Brand
34927b5b77 Use occupant_id to get own occupant O(1) if available 2022-08-12 09:21:01 +02:00
JC Brand
7028286855 Restrict editing of MUC messages...
to ones with the same XEP-0421 occupant ID
2022-08-11 22:44:11 +02:00
JC Brand
342c75775b Save the user's XEP-0421 occupant ID on the ChatRoom 2022-08-11 15:47:09 +02:00
JC Brand
f1cc8c85f4 Rename the stanza TTL to stx to avoid name clashes 2022-08-11 15:30:51 +02:00
JC Brand
c5588e3c49 MUC: Features are fetched in join
due to the `await this.refreshDiscoInfo()` call in `join`.

So should be safe to remove the check whether features were fetched.
2022-08-11 15:12:55 +02:00
JC Brand
3d19def3e7 Wait for emojis to be initialized before sending a message 2022-08-11 14:31:28 +02:00
JC Brand
53521c2236 Import utilty function directly and use optional chaining 2022-08-11 10:42:00 +02:00
JC Brand
22170450b4 Stop using zipObject from lodash 2022-08-11 10:30:07 +02:00
JC Brand
f014db8b7a Update nick attr on ChatRoom when user nick changes 2022-08-11 10:23:16 +02:00
JC Brand
fe9345b7fc MUC: only allow corrections with a matching sender occupant-id
Also, don't render messages from a sender with a different `occupant-id`
as a followup message.
2022-08-10 14:53:18 +02:00
JC Brand
d2bdce51e8 Add a tagged template literal function stanza
For creating XML stanzas from template literals.
2022-08-10 14:50:12 +02:00
JC Brand
cac92c3ebc Bump copy-webpack-plugin to 11.0.0 2022-08-09 13:33:12 +02:00
JC Brand
603f8349e8 Bump eslint and use @babel/eslint-parser
Also had to add a `babel.config.js` for it to work
2022-08-09 11:56:00 +02:00
JC Brand
5f6e70289b Run npm update to update headless deps 2022-08-09 11:06:44 +02:00
JC Brand
c716551fc8 Update postcss-loader to version 7.0.1 2022-08-09 11:00:38 +02:00
JC Brand
78634cdec3 Update deps with npm update and then run make dev 2022-08-09 10:48:36 +02:00
JC Brand
45e989f048 Move converse-oauth to the community-plugins repo 2022-08-09 10:42:33 +02:00
JC Brand
0cfe2a18af Apply eslint to all JS files in src/ 2022-07-26 21:39:50 +02:00
JC Brand
71d1383604 Move code that sets active flag on session to initSession
It doesn't belong in the `converse-status` plugin and the event handler
doesn't get registered when all CSI-related timeouts are set to 0.
2022-07-25 11:59:25 +02:00
JC Brand
0df1c1880e Bump dayjs in package-lock.json 2022-07-20 09:03:03 +02:00
dependabot[bot]
06a2aac022 Bump dayjs from 1.11.1 to 1.11.3
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.1 to 1.11.3.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.1...v1.11.3)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-19 15:35:30 +02:00
JC Brand
d8ea42a845 Add XEP-372 URI as data attribute to mention element 2022-07-19 11:59:55 +02:00
JC Brand
085de8405f Bump Lerna to 5.1.8 2022-07-19 10:47:23 +02:00
JC Brand
990aefc6cb docs: Discourage usage of overrides and add hook to example plugin 2022-07-19 10:35:45 +02:00
JC Brand
eb29d962f5 Bugfix. Don't try to look up occupant via MUC JID
Also set function as class method
2022-07-18 16:19:02 +02:00
JC Brand
605c02901a Fix yet more tests 2022-07-14 21:17:32 +02:00
JC Brand
368bcf258f Fix failing tests 2022-07-14 20:40:58 +02:00
JC Brand
07efd601da Use the native crypto library for SHA-1
instead of the one from Strophe
2022-07-14 20:34:15 +02:00
JC Brand
4aab83c4af Remove unused method 2022-07-14 08:47:39 +02:00
JC Brand
f05a41f6a5 Ran npm update 2022-07-12 09:14:25 +02:00
JC Brand
4d9c0d3f9a Also check for body 2022-07-12 09:05:28 +02:00
Licaon_Kter
35bdcf58cd Another typo 2022-07-12 07:45:02 +02:00
Licaon_Kter
3ca478da32 Contributing typos 2022-07-09 23:14:14 +02:00
JC Brand
5d3da20bd9 Remove/update old comments 2022-07-03 13:36:15 +02:00
JC Brand
a95c070c2b Set autoprefixer version to fix compilation error 2022-06-22 14:05:03 +02:00
JC Brand
c14c2b3b59 Carbons: check for server support before enabling 2022-06-20 22:44:23 +02:00
JC Brand
b7e793df02 Bump 3rd party dependencies 2022-06-20 21:05:27 +02:00
Johan Oudinet
c245599e65 docs: enable_smacks is set to true by default since v6.0.0
Fix #2936.
2022-06-20 20:57:45 +02:00
Johan Oudinet
7e86c561c7 CHANGES.md: fix typo in 6.0.0 changes 2022-06-20 20:57:45 +02:00
JC Brand
25891ef0ee findOccupant: Don't fall back to nick/jid search...
if the occupant can't be found via XEP-0421 occupant id.

We cannot safely assume that an occupant found via nick/jid but without
the same occupant id is the same occupant.
2022-06-20 14:33:44 +02:00
JC Brand
ba7c6d7a50 Let HeadlinesHeading use CustomElement 2022-06-19 13:03:06 +02:00
JC Brand
7e2dd55c16 Use api.elements.define 2022-06-19 12:12:09 +02:00
JC Brand
b8579ccc90 Explicitly add po2json as dependency and fix package-lock version 2022-06-16 15:33:43 +02:00
JC Brand
73a7b209ce Add meta tag which prompts IE users to upgrade
https://docs.microsoft.com/en-us/openspecs/ie_standards/ms-iedoco/380e2488-f5eb-4457-a07a-0cb1b6e4b4b5
2022-06-15 17:48:11 +02:00
JC Brand
8dc8b1d564 Insert only the MUC JID when clicking an auto-complete suggestion 2022-06-12 10:25:41 +02:00
JC Brand
d2b4f2e0f6 MUC search: no need to first fetch the form 2022-06-12 09:59:50 +02:00
JC Brand
320f11f795 Use XMPP to search for MUCs via search.jabber.network
Also refactor AutoComplete somewhat to not compute `this._list` too
eagerly and to also pass the query string to `this._list`.
2022-06-11 23:43:43 +02:00
JC Brand
4237e5b3ae Style the add-muc modal autocomplete
- Let it drop down to the bottom
- Add a border
- Let it scroll
2022-06-11 23:42:47 +02:00
JC Brand
8671afc4b1 Document converse-autocomplete and always add closing tag
Weird parsing issues happen when a closing tag is not present.
2022-06-11 23:42:47 +02:00
JC Brand
6d39fae71a Remove Buildout and just use pip to genrate the Sphinx docs 2022-06-11 23:42:47 +02:00
JC Brand
0316f073e0 Replace font icons with svg icons 2022-06-11 23:42:47 +02:00
JC Brand
1744dbc420 Move roomslist tests to the right plugin 2022-06-11 23:42:47 +02:00
JC Brand
eb8ebea920 Move bookmarks list tests into separate file 2022-06-11 23:42:47 +02:00
badlop
6c13cfaf30 Add ejabberd and add XMPP servers homepages 2022-06-11 23:40:46 +02:00
Guus der Kinderen
a228cf244c Add references to libsignal setup to features page 2022-06-08 11:33:56 +02:00
Guus der Kinderen
3b124cfdce Fix 'Edit me on GitHub' links 2022-06-08 11:33:56 +02:00
JC Brand
4c8bc187b2 Allow autofocus to be set on an autocomplete input 2022-06-01 22:04:43 +02:00
Sanskar Bajpai
1ad6de2dd6 AutoComplete: added converse-autocomplete suggestion to group chat query
this commit introduces autocomplete feature to the muc-list group chat dialog,
previously there was only an input field which displayed hardcoded servers.
2022-05-24 17:31:24 +02:00
Sanskar Bajpai
795a9a7e3e add-modal-test: replaced a mistyped jid 2022-05-24 17:04:38 +02:00
Daniel Brötzmann
87ecf061f1 DOAP: Add logo and os/platform 2022-05-24 09:49:16 +02:00
JC Brand
858a6051ac Refactoring of the headlines plugins
- Move template to relevant plugin
- Turn ElementView into CustomElement
- Use the terminology "Headlines Feed" instead of "Headlines Box"
- Break the `converse-headlines` plugin up into multiple files
- Fix CSS styling for headlines feeds for the Dracula theme
2022-05-13 16:49:45 +02:00
eapo
52693bfc0b Translated using Weblate (Hungarian)
Currently translated at 95.1% (494 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2022-05-13 10:50:39 +02:00
HAMANO Tsukasa
79063b9993 Translated using Weblate (Japanese)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2022-05-13 10:50:39 +02:00
HAMANO Tsukasa
22840f8a50 Translated using Weblate (Japanese)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2022-05-13 10:50:39 +02:00
HAMANO Tsukasa
92f74b888b Translated using Weblate (Japanese)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2022-05-13 10:50:39 +02:00
Emmanuel Gil Peyrot
ac241e5ed1 Translated using Weblate (French)
Currently translated at 99.8% (519 of 520 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2022-05-13 10:50:39 +02:00
JC Brand
6573d080e4 Message carbons
- Remove the `converse-carbons` plugin and make carbons part of the `converse-chat` plugin.
- Remove the `message_carbons` configuration setting. Carbons are now always enabled.
2022-05-13 10:32:54 +02:00
JC Brand
12a0d0e3cc Show roster contacts with subscription set to none
Remove the `allow_chat_pending_contacts` config option.
2022-05-13 10:19:52 +02:00
JC Brand
2a7bfd13b5 Add ability to specify group when adding contact 2022-05-13 10:18:22 +02:00
JC Brand
ab7e879261 Don't automatically convert OpenStreetMap URLs into geo: URIs in sent messages
Updates #1850 and #2914
2022-05-13 10:14:31 +02:00
JC Brand
a57853156e Use our own confirm dialog consistently 2022-05-12 23:23:24 +02:00
JC Brand
a3c0f90476 Don't use browser's confirm dialog when logging out
Refs https://github.com/conversejs/converse-desktop/issues/18
2022-05-11 09:13:17 +02:00
JC Brand
b5bcc05947 Create generatePreKeys function 2022-05-08 23:37:47 +02:00
HAMANO Tsukasa
bd579d8613 remove unnecessary } 2022-05-08 22:46:57 +02:00
JC Brand
0c02fbe4cf Add entry point for devserver 2022-05-08 22:41:24 +02:00
JC Brand
0b172be3d0 Update development docs and add theming info 2022-05-07 23:03:04 +02:00
Eric
7e9861ba8f Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (417 of 417 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2022-05-06 13:10:00 +02:00
Emmanuel Gil Peyrot
0c9fd691ac Translated using Weblate (French)
Currently translated at 100.0% (417 of 417 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2022-05-06 13:09:39 +02:00
JC Brand
984386aa64 Bugfix. Add missing translations
Some translations were erroneously removed due to the nodeps build
contained string literals.
2022-05-06 13:02:03 +02:00
JC Brand
ae2bd63d8f Release 9.1.1 2022-05-05 21:33:31 +02:00
Иван Иванович
5e27e27845 Translated using Weblate (Russian)
Currently translated at 96.5% (501 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2022-05-05 20:57:59 +02:00
Yoandry González Castro
ca9d68b99e Translated using Weblate (Spanish)
Currently translated at 90.5% (470 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2022-05-05 20:57:59 +02:00
JC Brand
99c5d7a760 Fix failing test 2022-05-05 07:57:33 +02:00
JC Brand
4b6626ee70 Improve and simplify the webpack builds
I've now also figured out why loading of chunks failed when running
using converse.js (but not when using converse.min.js or when running `make watch`).

When running `make dist`, first `converse.js` and `converse.min.js` were
built with `mode` set to `development` (via `webpack.dev.js`) and then
`converse.min.js` was again built with mode set to `production` (via
`webpack.prod.js`).

When running only one build or the other (either `webpack.dev.js` or
`webpack.prod.js`) then the loading of chunks didn't fail, so it had
something to do with running both builds back to back.

I've now removed the `.dev.js` webpack config files and instead build
the minimized and non-minimized from the same config file
`webpack.build.js`.

I did the same for the headless builds.
2022-05-05 07:28:44 +02:00
JC Brand
8ea9e8a5ad Update to po-loader 0.6.1 2022-05-04 21:54:51 +02:00
JC Brand
f929f8b7f9 Bugfix. Chunks not loading when using converse.js build
(Although they do load when using converse.min.js)

I wasn't able to figure out why exactly, but setting `mode` to
`production` for the `converse.js` build solved the issue.
2022-05-04 21:54:51 +02:00
JC Brand
ad8c250314 Fix loading of fonts
No need to use `file-loader` anymore, using the built-in resource loading.
2022-05-04 21:54:51 +02:00
JC Brand
02146bdf22 Fixes #2906
Bump po-loader to a commit that includes the latest po2json
2022-05-04 14:37:58 +02:00
Eric
dbc0028880 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2022-05-02 09:48:25 +02:00
Oğuz Ersen
f27238b76f Translated using Weblate (Turkish)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2022-05-02 09:48:25 +02:00
Xosé M
5adc39ebac Translated using Weblate (Galician)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2022-05-02 09:48:25 +02:00
nautilusx
53ccc4948f Translated using Weblate (German)
Currently translated at 100.0% (519 of 519 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2022-05-02 09:48:25 +02:00
JC Brand
e48bd0dd4b Remove Issuehunt from funding, looks dead 2022-04-30 19:45:45 +02:00
JC Brand
cb6fc463aa
Add Issuehunt to funding 2022-04-30 18:53:44 +02:00
JC Brand
3b4ef074b9
Add changelog entry for #1130
Fixes #1130
2022-04-30 13:21:55 +02:00
JC Brand
a3b5c58023 Bump autoprefixer to 10.4.5 2022-04-29 00:13:20 +02:00
JC Brand
1f7fe4f48e Upgrade to Strophe 1.5.0 and upgrade various other dependencies
Had to add `src/strophe-shims.js` as a webpack alias to the shims.js
file in Strophe because the usage of `require` to load Node.js packags
in shims.js is causing problems with Webpack 5.

Set postcss-clean to 1.2.0 to fix the build error `node.getIterator() is
not a function`

Upgrade to latest Webpack
2022-04-28 23:53:31 +02:00
JC Brand
e03d7bc71c Mention Ejabberd's Converse module 2022-04-28 16:08:08 +02:00
JC Brand
828b6785b4 Bump babel-loader, karma-jasmine and webpack-dev-server 2022-04-26 21:39:52 +02:00
JC Brand
e06d335b7d Bump dependencies
Bump `http-server`, `@babel/core`, `clean-css-cli`, `karma-chrome-launcher` and `sass`
2022-04-26 21:25:59 +02:00
JC Brand
55d02cb37b Update headless package-lock.json 2022-04-26 21:09:16 +02:00
JC Brand
8e612e3cd9 Bump lit, karma, prettierx and localforage-webextensionstorage-driver 2022-04-26 21:05:14 +02:00
JC Brand
0af72d41da Fix button hover color 2022-04-26 20:45:37 +02:00
JC Brand
ebd9474ac1 Add more ways to get VCard for occupant modal 2022-04-26 20:41:04 +02:00
JC Brand
2172409fec Set from_real_jid on the message when its occupant is attached. 2022-04-26 20:38:20 +02:00
JC Brand
d22c063ae5 Make sure that the occupant_id is also the id for occupants
insofar we have an `occupant_id`.

We do this by subclassing `create` on the `ChatRoomOccupants` collection
and `save` on the `ChatRoomOccupant` model, to make sure that whenever
an occupant is created or saved, that the `id` matches the `occupant_id`
value if it's available.

This lets us look up the occupant via `occupant_id` via dictionary lookup,
instead of array traversal.

Another change is to save `from_real_jid` when adding an occupant to a message
2022-04-26 20:38:20 +02:00
JC Brand
b71a7ae2ac Turn ChatRoomOccupants and ChatRoomOccupant into classes 2022-04-26 20:33:54 +02:00
JC Brand
6c26c1397f Update dayjs to 1.11.1 2022-04-26 14:21:47 +02:00
JC Brand
a31f87f25b Add documentation on writing hooks 2022-04-26 12:44:31 +02:00
JC Brand
18ca225450 Update Sass and sass-loader 2022-04-25 16:24:06 +02:00
JC Brand
fe10f2203b Bump minimist, mini-css-extract-plugin and css-loader 2022-04-25 13:40:13 +02:00
JC Brand
3c2eda4a1d Better documentation for getHeadingButtons 2022-04-25 09:58:27 +02:00
JC Brand
0a07cad2cb Move connection api into separate file 2022-04-25 09:48:08 +02:00
JC Brand
f93b30f7b3 Show spinner in controlbox when reconnecting 2022-04-24 11:18:09 +02:00
JC Brand
35b2c247f3 Remove po2json as explicit dep. Fixes build issue 2022-04-23 12:57:41 +02:00
JC Brand
1915d70c41 Turn controlbox into a Lit element 2022-04-23 12:01:41 +02:00
JC Brand
059795c0f3 No need to log cache misses 2022-04-22 10:06:08 +02:00
JC Brand
0260e5f803 Fix infinite loop in service discovery
When there is a circular dependency between disco entities (via their
advertised `disco#items`), Converse went into an infinite loop because
even though there was a check whether an entity already existed, it
failed to add newly created entities to the global
`_converse.disco_entities` collection.
2022-04-22 09:39:47 +02:00
Allan Nordhøy
1b60697565 Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.9% (362 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2022-04-20 13:47:22 +02:00
JC Brand
fb158e418b Show number of participants in sidebar 2022-04-20 09:59:57 +02:00
JC Brand
995cc51f99 Fix failing SMACKS test 2022-04-20 09:52:17 +02:00
JC Brand
760fa4ae63 Send out carbon IQ after stream resumption 2022-04-20 09:52:17 +02:00
JC Brand
d4382fda19 OMEMO bugfix. Don't auto-create device list without JID 2022-04-20 09:52:17 +02:00
JC Brand
4c394c072e Don't wait for vcards before initializing the roster 2022-04-20 09:52:17 +02:00
JC Brand
699326547a Show MUC avatar 2022-04-20 09:52:17 +02:00
JC Brand
2a9a01bc32 Fix flashing of bookmarks on page load 2022-04-19 22:52:33 +02:00
JC Brand
ce22508344 Turn bookmarks list into a Lit component 2022-04-19 21:08:52 +02:00
JC Brand
230b72139a Set jid as id attribute for vcards, presence and roster contacts
This allows models to be retrieved from a dict instead of via array
traversal.
2022-04-19 09:28:06 +02:00
JC Brand
0b168e8439 Use listenTo 2022-04-16 14:25:39 +02:00
JC Brand
e492885ac0 Set jid as the id attribute of the VCards collection
This reduces lookup time for vcards greatly, since we don't can access a
map of ids instead of using `findWhere` through an array of models.
2022-04-16 00:15:27 +02:00
SilverYoCha
7cb86638b5 Fixing display problems with chatbox view with mobile view mode 2022-04-15 06:48:25 +02:00
JC Brand
2d5b0753e2 Remove local contacts not returned from a full roster response 2022-04-14 11:29:28 +02:00
JC Brand
8e1c3e47df Improve how the muc_domain setting is populated via disco
Remove brittle code that uses `querySelector` to get the rooms list model.
This code was causing a TypeError due to a race condition.
2022-04-09 10:57:55 +02:00
JC Brand
99ae9a9850 Update webpack-copy-plugin 2022-04-09 09:13:05 +02:00
JC Brand
7b31f4d333 Remove allow_muc setting 2022-04-09 09:11:54 +02:00
JC Brand
8930201b99 Fixes #2746
Update to latest Strophe which adds a fallback handler for unhandled incoming "get" and "set" IQs.
2022-04-08 22:17:01 +02:00
JC Brand
ad11dce92f Call safeSave to avoid error when MUC is not yet persistable 2022-04-08 12:19:05 +02:00
JC Brand
0c049dd364 Resolve fetched promise when clearing messages
This fixes an issue where chats stay empty after reconnection when
`clear_messages_on_reconnection` is `true`.
2022-04-08 11:22:21 +02:00
JC Brand
ca0953e4bd Bump urijs, skeletor and localforage-getitems 2022-04-08 11:22:15 +02:00
JC Brand
a17e8bea1c Only warn when getting an error in safeDestroy 2022-04-08 10:58:06 +02:00
SilverYoCha
b331405658 Bugfix: selected emoji inserted into all open chat boxes
when in overlay view mode.
2022-04-08 08:21:19 +02:00
JC Brand
c3e3f89e52 Update CONTRIBUTING 2022-04-07 14:21:51 +02:00
JC Brand
f0297fe075 Add status and show elements to MUC join presence in status plugin
and not in the muc plugin.

This decouples the plugins more. Ideally we can remove the status plugin
entirely from a customized Converse build (but we're not there yet).
2022-04-07 11:08:00 +02:00
JC Brand
4d4e0ffc8d Bump minimist to 1.2.6 2022-04-06 23:30:48 +02:00
badlop
e202ac9964 Add "dracula" to the "theme" option documentation 2022-04-06 23:20:33 +02:00
ubermanu
5c5825fb75 Add missing headless dependencies 2022-04-06 23:16:09 +02:00
ubermanu
e0e1fd4f02 Update lock file with root node version (16.3) 2022-04-06 23:10:13 +02:00
ubermanu
5e4fa98577 Add subdir to repo information 2022-04-06 23:10:13 +02:00
ubermanu
7e18873bcd Target to converse default export 2022-04-06 23:10:13 +02:00
ubermanu
592d982210 Include all headless files except tests 2022-04-06 23:10:13 +02:00
JC Brand
9d4382c754 Move emoji functions to utils.js
Also, move various emoji utility methods out of @converse/headless, and
thereby remove the dependency on lit-html
2022-04-06 23:07:16 +02:00
JC Brand
b1a448f1e9 Update OMEMO documentation 2022-04-06 10:10:41 +02:00
JC Brand
af342456c5 Add enterkeyhint attribute to message form inputs 2022-04-06 09:55:56 +02:00
JC Brand
5d3895078b Use the loading HTML attr to lazily load images 2022-04-06 08:33:23 +02:00
JC Brand
0464381cac Bump node-forge 2022-04-05 11:33:57 +02:00
JC Brand
32a443408a Bugfix. GIF unfurl images not loading...
and causing `TypeError: this.shouldRenderMedia is not a function`
2022-04-04 16:31:32 +02:00
JC Brand
b429484501 Move csi_waiting_time setting to the converse-status plugin 2022-04-04 15:03:57 +02:00
JC Brand
2fa1d00fb4 Postrelease
- Pull first before installing node via nvm
2022-04-02 20:39:42 +02:00
JC Brand
c590c4f4bb Updated to latest Sphinx version 2022-04-02 20:32:34 +02:00
JC Brand
6b1845ff39 Release 9.1.0 2022-04-02 19:31:37 +02:00
JC Brand
fb704fdf87 Don't import from i18n in headless 2022-04-02 15:55:56 +02:00
Ricky Tigg
f6a985c24f Translated using Weblate (Finnish)
Currently translated at 83.5% (426 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fi/
2022-04-01 15:51:52 +02:00
Edward
44cd910154 Translated using Weblate (Romanian)
Currently translated at 45.0% (230 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2022-04-01 15:51:52 +02:00
Γκουλιούμης Θεόδωρος
f21fc90629 Translated using Weblate (Greek)
Currently translated at 0.3% (2 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/el/
2022-04-01 15:51:52 +02:00
Hasan
21fb57ecfd
Translated using Weblate (Turkish)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2022-03-31 09:33:27 +02:00
Xosé M
3bb645ce24
Translated using Weblate (Galician)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2022-03-31 09:33:27 +02:00
JC Brand
fd991846f4 Replace ElementView with CustomElement for RoomsList 2022-03-30 09:50:36 +02:00
JC Brand
523566c218 Move MUC tests into their own files 2022-03-30 09:48:39 +02:00
JC Brand
cd1c6a4d23 Update the style guide 2022-03-29 22:55:48 +02:00
JC Brand
c3933426b9 Refactor checkFileTypes
- Don't check the protocol in `checkFileTypes`, it should be doing one
    thing only, and that is check whether the URL ends with a particular
    file extension.
- Raise an error when a URI object can't be created from the passed in URL

Adds new function `isAllowedProtocolForMedia` which checks whether the
URL points to a file on the file system (`file:`), is in a Chrome
extension or uses HTTPs.

Use that in `shouldRenderMediaFromURL` to filter out URLs that shouldn't
be rendered.

Re-add utility methods to the `u` object so that 3rd party plugins can
use them.
2022-03-29 19:41:16 +02:00
Keith Maika
be561addfa Fix endless loop of adding .png to image URL. 2022-03-29 19:08:39 +02:00
JC Brand
c379fe80fb Handle 'forbidden' MUC errors with type 'cancel' and add fallthrough 2022-03-29 10:36:32 +02:00
JC Brand
5ef0f3ad5d CSS: various color fixes between light/dark themes 2022-03-29 10:35:25 +02:00
JC Brand
d570b6095e Don't make the connection URL input required
It might be that it's shown in response to a failed XEP-156 lookup
because the user mistyped.

In which case the user can just correct the JID and try again, without
entering a connection URL.
2022-03-25 08:54:38 +01:00
JC Brand
fca275b7c9 Refactor the login form
Render the form based on `api.settings` instead of its own model.

When the login form is submitted, save the JID, password and connection
URL to `api.settings`.

Set the `service` on the Strophe connection object just before
connecting for the first time, otherwise a user supplied URL (via the
login form) is never used.

New API setting: show_connection_url_input
2022-03-24 23:15:30 +01:00
JC Brand
e160ee2ed5 Add JID and password values to login form (if available) 2022-03-24 21:05:40 +01:00
JC Brand
70aa22d12d Update to latest LTS version of NodeJS 2022-03-23 22:14:19 +01:00
JC Brand
fbfd6c3ac4 Updates #2849: add test for incoming MUC OMEMO corrections 2022-03-23 21:30:53 +01:00
JC Brand
7355c2c5fe Updates #2849
Add test case for incoming OMEMO message corrections.

The correction was being ignored because the parsed `msgid` of an
incoming correction was set to the `msgid` of the message being
replaced.
2022-03-22 23:12:45 +01:00
JC Brand
297869c59f Don't explicitly sort messages.
Apparently not necessary, I was wrong about the race condition in 82fb263438
2022-03-15 21:24:32 +01:00
JC Brand
defea1631c Bugfix. Don't ignore groupchat messages that contain receipt requests 2022-03-15 11:35:15 +01:00
JC Brand
82fb263438 Explicitly sort messages before pruning
to avoid a race-condition where messages aren't sorted and the wrong
message gets pruned.
2022-03-14 21:19:43 +01:00
JC Brand
d2b9c954d9 MUC: move some tests to headless plugin 2022-03-14 20:35:01 +01:00
JC Brand
f9a9d327d1 Use body as attribute for the message body text
For error messages we still use the `message` attribute, since error
messages generally don't have a body, and if one does, it likely refers
to the `body` of a rejected message that the error refers to.

We're still setting both `body` and `message` attributes, but usage of
`message` for a normal `chat`, `groupchat` or `headline` stanza should
be considered deprecated.
2022-03-14 09:28:34 +01:00
JC Brand
d2622f6fed Fixes #2557
Add the ability to send OMEMO corrections.

Refactor how OMEMO messages are sent to avoid having to override
`sendMessage` and thereby also allowing corrections of OMEMO messages to
be sent out.

Add two new hooks.
- getOutgoingMessageAttributes
- createMessageStanza
2022-03-13 10:02:34 +01:00
JC Brand
731e98b07c OMEMO fixes for completely new user
Fix bugs related to there not being a server-side device list (not even an empty one) for a new user.
2022-03-13 10:02:34 +01:00
JC Brand
89a3c81a19 OMEMO: don't wait for all device lists...
to be fetched from the server before triggering OMEMOInitialized.

For some contacts, the IQ to fetch the device list never receives a
response. IQ stanzas take 20 seconds to timeout, which means that all
OMEMO operations are blocked for 20 seconds (because everything waits
for `OMEMOInitialized`).

Create a new API method `api.omemo.devicelists.get` and use that to
fetch and `await` for any devicelist. That way we lazily wait for
devicelists to be fetched from the server and can continue with other
OMEMO operations unrelated to users who's clients don't respond to
devicelist queries.
2022-03-10 20:51:04 +01:00
JC Brand
2133241998 CSS: Fix chat title width and elipsis color
in overlayed view mode.
2022-03-10 20:51:04 +01:00
JC Brand
47b016599e Stop using this in tests.
It will be unsupported in future versions of Jasmine
2022-03-09 12:44:49 +01:00
JC Brand
e52056bb33 Refactor the emoji-picker somewhat
Trigger an `emojiSelected` event instead of manually calling `insertIntoTextArea` on the `converse-message-form` a component.
This loosens the coupling between the emoji picker and `converse-message-form`.

Call `disableArrowNavigation` when the emoji-picker is disconnected from
the DOM or when escape is pressed. See #2754
2022-03-09 12:44:33 +01:00
JC Brand
1c0ce25f12 Move keycodes and chat states to constants.js 2022-03-09 12:22:44 +01:00
JC Brand
c42bd90c9d Don't clear textarea on escape, unless we're correcting a message 2022-03-09 11:24:32 +01:00
SilverYoCha
7409668a5d Fixes #2754 2022-03-08 16:40:26 +01:00
JC Brand
d432bab73a Remove and recreate lockfiles
To see if that fixes Github Actions CI
2022-02-28 13:34:40 +01:00
JC Brand
9328db645d Update to latest Skeletor
So that we can use the `getAll` IndexedDB method to fetch multiple
entries at once. Should result in a significant speedup.
2022-02-28 10:37:58 +01:00
JC Brand
21d3159081 Replace TravisCI badge with Github Actions badge 2022-02-24 06:19:52 +01:00
JC Brand
b7ad1eaade Fix failing tests 2022-02-22 11:44:53 +01:00
JC Brand
727bad01c7 Don't send <show>online</show> joining a MUC 2022-02-22 11:30:38 +01:00
JC Brand
b248803a4b Fixes #2822 2022-02-20 19:17:52 +01:00
JC Brand
a468a0fb24 Don't load Converse in the docs 2022-02-20 18:45:21 +01:00
JC Brand
c2ba8ecf97 Upgrade Python dependencies
Allows for docs to be built on Python3.9
2022-02-20 18:45:21 +01:00
JC Brand
7b63b7b30f Make various error messages ephemeral.
Also make it possible to specify the timeout for an ephemeral message.
2022-02-19 23:11:22 +01:00
JC Brand
ca20f687bf minimize: initialize chat via event instead of override 2022-02-19 23:10:17 +01:00
JC Brand
bbef09346a Various CSS fixes and use converse-icon for nav button 2022-02-19 23:09:39 +01:00
JC Brand
1c8085f00e CSS: Set modal header color for error alerts
Also fix various element colors for Dracula theme
2022-02-19 21:32:25 +01:00
JC Brand
beb220f188 Updates #2781
Only send presence status update when a MUC is entered, and when joining
a MUC, include the `<show>` element.
2022-02-18 10:55:20 +01:00
JC Brand
20cd90855f Dracula theme: Set correcting color 2022-02-16 10:14:53 +01:00
JC Brand
39e9ed8fe4 Updates #2733
Rather use `false` for a bool
2022-02-15 14:48:01 +01:00
JC Brand
22a7e1b35f Updates #2733
Set `is_error` to back to undefined
2022-02-15 14:46:00 +01:00
JC Brand
9a95c2d048 Normalize URL path
Udates #2814

Otherwise `"` gets escaped as `&quot;` by lit-html which is not correct.
2022-02-15 14:38:40 +01:00
JC Brand
9a2424fa26 Fixes #2814. Links are mangled on open/copy 2022-02-15 14:10:40 +01:00
JC Brand
b44e1c82f0 Updates #2733
- Clear timer when a messages changes from epehemeral to non-ephemeral
- Set MUC occupant on `groupchat` message when `type` changes to `groupchat` (from `error`)
- Set roster contact on `chat` message when `type` changes to `chat` (from `error`)

Thanks @afriedmanGlacier
2022-02-15 12:23:46 +01:00
JC Brand
a07bd7c817 Use SVG icons for refresh button and toggle switch 2022-02-15 11:17:41 +01:00
JC Brand
85d75a5494 Fixes #2745. Wraps MUC details in converse-rich-text
Also fixed an issue where the `config` model on the MUC wasn't being
properly persisted and fetched.
2022-02-15 11:17:33 +01:00
JC Brand
a2c7e83812 Take offset into account when parsing text for URLs 2022-02-14 19:08:26 +01:00
JC Brand
7c7b667745 MUC: Register handler to parse for commands in the plugin index.js 2022-02-14 15:17:05 +01:00
JC Brand
e1a919749f Add Prime Sound as sponsor 2022-02-14 15:01:14 +01:00
JC Brand
8dff87658f Remove Pluckeye as sponsor 2022-02-14 13:05:49 +01:00
JC Brand
38519a6261 Updates #2733
Properly handle the same OMEMO message being recieved twice, with the
2nd one failing to decrypt.
2022-02-14 12:59:49 +01:00
JC Brand
f6c524f760 Move MUC modals to the muc-views plugin 2022-02-14 12:59:49 +01:00
JC Brand
94d29bc617 Create Github action to run tests
Also remove .travis.yml since tests no longer run on Travis
2022-02-14 10:55:40 +01:00
JC Brand
0fb4dcac96 Translated using Weblate (Spanish)
Currently translated at 90.1% (460 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2022-02-10 14:24:06 +01:00
Xosé M
caf8360745 Translated using Weblate (Galician)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2022-02-10 14:24:06 +01:00
Dalde Pro
ea63c9a17d Translated using Weblate (Spanish)
Currently translated at 90.1% (460 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2022-02-10 14:24:06 +01:00
ButterflyOfFire
6a293de86b Translated using Weblate (Arabic)
Currently translated at 74.3% (379 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2022-02-10 14:24:06 +01:00
translator
5caa5aa9ae Translated using Weblate (French)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2022-02-10 14:24:06 +01:00
Yaron Shahrabani
b8487cfaa6 Translated using Weblate (Hebrew)
Currently translated at 73.3% (374 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2022-02-10 14:24:06 +01:00
aitzol berasategi
203afea72b Translated using Weblate (Basque)
Currently translated at 99.8% (509 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2022-02-10 14:24:06 +01:00
JC Brand
7f40d1a2f2 Fix #2627 2022-02-10 13:36:22 +01:00
JC Brand
47f3109957 Dracula: Set colors for unread messages indicator and nickname autocomplete 2022-02-10 13:03:47 +01:00
JC Brand
066d29d637 Fix alignment of close button for MUC sidebar 2022-02-10 12:09:02 +01:00
JC Brand
12a2354d9e CSS: Fix chat heading colors 2022-02-09 21:38:30 +01:00
JC Brand
d8f6a16936 Avoid unnecessary call to requestUpdate and use updateComplete 2022-02-09 21:22:38 +01:00
JC Brand
8a9e0f6d23 CSS fix for emoji picker when there are no search results 2022-02-09 20:47:29 +01:00
JC Brand
f4fdc36d31 Add modal for changing your nickname...
once you're already in a MUC.
2022-02-09 20:05:30 +01:00
JC Brand
ba52defdae Move nickname tests into a new file 2022-02-09 20:05:30 +01:00
JC Brand
505416a59e Let bookmarks be created/removed via a modal 2022-02-09 20:05:30 +01:00
JC Brand
9d250c3cbf Fix failing test due to converse-icon being used 2022-02-09 20:05:30 +01:00
JC Brand
46e6cfb0d4 Fix some failing tests after #2803 2022-02-09 20:05:30 +01:00
afriedmanGlacier
3d8a583101
Wait for parseMessages before queuing to UI (#2803)
* parse messages before queuing

* update CHANGES

* remove unused variable

Co-authored-by: aFriedmanGlacier <afriedman@glaciersecurity.com>
2022-02-05 22:02:24 +01:00
JC Brand
337638034f Fix TypeError when trying to use @converse/headless
Fixes #2788
2022-02-03 12:39:59 +01:00
JC Brand
0f648ed1eb Don't re-initialize OMEMO on reconnection
Promises only get recreated upon logout, not reconnection.

However OMEMO was getting re-initialized on reconnection and
`_converse.omemo_store` was also deleted.

This caused a race condition where an incoming MAM message would cause
`parseEncryptedMessage` that then throws an AttributeError because
`_converse.omemo_store` is undefined because OMEMO isn't yet
initialized.

Waiting for the `OMEMOInitialized` promise doesn't help because it's
still the old (already resolved) promise from before the reconnection.
2022-02-02 23:18:45 +01:00
JC Brand
d3fa925bff Move reconnection code to Connection class
And avoid calling `tearDown` twice
2022-02-02 13:53:05 +01:00
Keith Maika
cb0b1765f3 Fix webpack configuration on Windows 2022-01-31 23:02:57 +01:00
JC Brand
bef2cbb462 Use SVG icons and tweak message padding 2022-01-31 23:00:26 +01:00
Rob j Loranger
125f45c447
increase stanza timeout to 20s (#2799)
* increase stanza timeout to 20s

fixes issues with higher latency connections timing out fetching stanzas
2022-01-31 12:06:30 +01:00
JC Brand
817b1200ca CSS: fix hover color 2022-01-29 12:29:54 +01:00
JC Brand
8dcacd41bf Add hover color for svg icons 2022-01-29 12:12:36 +01:00
JC Brand
2e9f478c87 CSS: tweak padding for avatar in message 2022-01-29 11:46:02 +01:00
JC Brand
b13c674047 Show encrypted lock icon in message as svg 2022-01-29 11:31:09 +01:00
JC Brand
dd539c7675 CSS: fix unread msgs indicator in Dracula theme
Also try to create some initial structure with the CSS properties to
make theming easier
2022-01-29 11:19:00 +01:00
JC Brand
4f89c4c10f Closes #1761 2022-01-28 21:22:10 +01:00
JC Brand
818ad0955a Add ability to switch between dark and light modes 2022-01-28 21:20:12 +01:00
JC Brand
ac473fd297 Add dark theme Dracula
https://draculatheme.com
2022-01-28 20:28:48 +01:00
JC Brand
11bbbb4899 Create separate theme files 2022-01-28 12:43:24 +01:00
JC Brand
0d0ee294ad Don't fetch vcard if failed attempt was already made today 2022-01-28 12:43:24 +01:00
JC Brand
7c51147023 Use the parseMessageForCommands hook to also parse MUC commands
Also fix issue where `model.getAllowedCommands()` prevents 3rd party
implementations.
2022-01-28 12:40:21 +01:00
JC Brand
003a90c71c Don't explicitly trigger the hook parseMessageForCommands
inside `parseMessageForMUCCommands`.

If the function doesn't find any core MUC commands, it calls
`parseMessageForCommands` which will trigger the hook.

I think it's appropriate to give built-in commands preference above
commands by 3rd party plugins and this also solves the issue of the hook
being triggered twice (once in `parseMessageForMUCCommands` and
then again in `parseMessageForCommands`).
2022-01-27 19:12:35 +01:00
JC Brand
d06761e2a8 Fix failing tests 2022-01-27 19:12:35 +01:00
Dele Olajide
c83cc69cef Implement new hook parseMessageForCommands for plugins to add custom commands 2022-01-27 14:34:20 +01:00
JC Brand
351212cd13 Move webpack files into dir 2022-01-27 13:08:40 +01:00
JC Brand
93ec6e4e83 Also build a non-minified version of converse-headless
Relevant to #2788
2022-01-27 11:51:54 +01:00
JC Brand
007b4bce2f Set BOSH wait period to 59 seconds also when attaching to a session 2022-01-25 13:13:14 +01:00
JC Brand
46a5a64dda Set id on MUC join presence
This is necessary for the Bifrost Matrix-XMPP bridge
2022-01-25 13:07:03 +01:00
JC Brand
72eb9d9595 Bump Strophe version 2022-01-21 20:25:01 +01:00
JC Brand
ba6da97416 Fix syntax error in po file 2022-01-12 11:17:58 +01:00
JC Brand
fab83139f8 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2022-01-10 15:19:05 +01:00
wroot
6cd05eab39 Update changelog 2022-01-10 14:54:27 +01:00
wroot
16626c80a7 Update Lithuanian (LT) translation 2022-01-10 14:54:27 +01:00
Andrey
c809141ee6 Translated using Weblate (Russian)
Currently translated at 98.2% (501 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2022-01-10 14:54:02 +01:00
Reza Almanda
53df0f8942 Translated using Weblate (Indonesian)
Currently translated at 66.2% (338 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2022-01-10 14:54:02 +01:00
ssantos
17678f06f6 Translated using Weblate (Portuguese)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2022-01-10 14:54:02 +01:00
Anas Yaseen
5da069d585 Translated using Weblate (Arabic)
Currently translated at 73.7% (376 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2022-01-10 14:54:02 +01:00
Xosé M
10264e1647 Translated using Weblate (Galician)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2022-01-10 14:54:02 +01:00
Allan Nordhøy
900bb11fb0 Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.7% (361 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2022-01-10 14:54:02 +01:00
Wie Paw
1b3ab06614 Translated using Weblate (Polish)
Currently translated at 96.8% (494 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2022-01-10 14:54:02 +01:00
aitzol berasategi
a20188e7a8 Translated using Weblate (Basque)
Currently translated at 86.0% (439 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2022-01-10 14:54:02 +01:00
random r
d55fc92c1c Translated using Weblate (Italian)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2022-01-10 14:54:02 +01:00
nautilusx
0a9444c41b Translated using Weblate (German)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2022-01-10 14:54:02 +01:00
nautilusx
7ebb35d80c Translated using Weblate (German)
Currently translated at 99.4% (507 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2022-01-10 14:54:02 +01:00
Eric
cada8146b6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2022-01-10 14:54:02 +01:00
Oğuz Ersen
68bcf51ed8 Translated using Weblate (Turkish)
Currently translated at 99.6% (508 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2022-01-10 14:54:02 +01:00
Xosé M
ed089d0546 Translated using Weblate (Galician)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2022-01-10 14:54:02 +01:00
JC Brand
6ee3ddbc8c Make sure we're connected to MUC before sending status update 2021-12-17 20:55:57 +01:00
JC Brand
c3aafdf341 Fix TypeError and remove tab 2021-12-17 20:55:52 +01:00
JC Brand
9411860f69 Document issues around keeping users logged in across page reloads 2021-12-17 17:27:03 +01:00
JC Brand
4dc78c3742 Bump to Strophe 1.4.3 2021-12-17 17:27:03 +01:00
Dele Olajide
ee4ab47442 corrected as advised 2021-12-16 15:44:43 +01:00
Dele Olajide
4bb4f932cf fix #2751 - Media not rendered when Converse runs in a browser extension 2021-12-16 15:44:43 +01:00
JC Brand
f25f110e0e Avoid infinite loop when BOSH URL returns 404 2021-12-11 12:37:02 +01:00
JC Brand
e9ae5306e3 Bugfix. Avoid calling this.authenticate twice in one method 2021-12-11 12:28:04 +01:00
JC Brand
8ad097f23f Catch and log parser errors 2021-12-10 22:57:33 +01:00
JC Brand
048560908e Login form: Allow user to choose the connection URL
if `websocket_url` and `bosh_service_url` are not set and XEP-0156
lookup was unsuccessful.
2021-12-10 22:57:33 +01:00
JC Brand
0dee9897dd Use CustomElement instead of ElementView for login form 2021-12-10 22:57:33 +01:00
JC Brand
a673086941 Rename loginpanel to loginform
Run prettier and move constants to `constants.js`
2021-12-10 22:57:33 +01:00
JC Brand
b16d035975 Move setUserJID to init.js 2021-12-10 22:57:33 +01:00
JC Brand
ca9e13a047 Update embedded view mode documentation 2021-12-10 22:21:16 +01:00
JC Brand
dc66c3a101 Make sure converse.initialize still returns a Promise 2021-11-30 16:11:52 +01:00
JC Brand
47bab27f7b Fix JSDoc syntax error and update RELEASE.md 2021-11-29 10:11:56 +01:00
JC Brand
077162529d Release 9.0.0 2021-11-29 10:00:38 +01:00
Siddhesh Mhadnak
32bc8917ab Translated using Weblate (Marathi)
Currently translated at 5.5% (28 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/mr/
2021-11-29 09:35:28 +01:00
Kiiryth X
b418db5643 Translated using Weblate (Bulgarian)
Currently translated at 32.0% (163 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2021-11-29 09:35:28 +01:00
Siw Falch
1c247969b4 Translated using Weblate (Norwegian Bokmål)
Currently translated at 71.1% (362 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2021-11-29 09:35:28 +01:00
Eric
c178cbbcd8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (509 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2021-11-29 09:35:28 +01:00
52871299hzy
d31f1ce317 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.2% (505 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2021-11-29 09:35:28 +01:00
random r
209bea2fcc Translated using Weblate (Italian)
Currently translated at 100.0% (509 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2021-11-29 09:35:28 +01:00
Kim Alvefur
c820920b2c Translated using Weblate (Swedish)
Currently translated at 99.0% (504 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/sv/
2021-11-29 09:35:28 +01:00
Quentin PAGÈS
ed7efb2c61 Translated using Weblate (Occitan)
Currently translated at 80.5% (410 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2021-11-29 09:35:28 +01:00
random r
801a21e049 Translated using Weblate (Italian)
Currently translated at 99.0% (504 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2021-11-29 09:35:28 +01:00
52871299hzy
a8a397d8b2 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.0% (494 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2021-11-29 09:35:28 +01:00
Ali Frh
bdc7390eca Translated using Weblate (Persian)
Currently translated at 23.9% (122 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fa/
2021-11-29 09:35:28 +01:00
Nikita Epifanov
0f99d4833e Translated using Weblate (Russian)
Currently translated at 98.6% (502 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2021-11-29 09:35:28 +01:00
Jakub Tabor
b96150a629 Translated using Weblate (Polish)
Currently translated at 92.3% (470 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2021-11-29 09:35:28 +01:00
Emmanuel Gil Peyrot
6001273c6f Translated using Weblate (French)
Currently translated at 100.0% (509 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2021-11-29 09:35:28 +01:00
Oğuz Ersen
430f1f5a0e Translated using Weblate (Turkish)
Currently translated at 100.0% (509 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2021-11-29 09:35:28 +01:00
Gediminas Murauskas
128079f2a4 Translated using Weblate (Lithuanian)
Currently translated at 64.0% (326 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/
2021-11-29 09:35:28 +01:00
Xosé M
8efafc7c25 Translated using Weblate (Galician)
Currently translated at 100.0% (509 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-11-29 09:35:28 +01:00
nautilusx
20666a334e Translated using Weblate (German)
Currently translated at 100.0% (509 of 509 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2021-11-29 09:35:28 +01:00
JC Brand
c81841e036 Fix margin issues at different viewport sizes 2021-11-26 09:52:52 +01:00
JC Brand
3d74ed31c2 Fixes #2683, Updates #1317 2021-11-24 22:44:02 +01:00
JC Brand
1a6a7ade73 Fixes #2715 2021-11-24 21:52:40 +01:00
JC Brand
ee4e056125 Fixes #2718: Message is not displayed if it contains an invalid URL 2021-11-24 21:43:20 +01:00
JC Brand
e4da0f894d MUC: Make info messages ephemeral
Otherwise they pollute the history and it's not easy to dedupe them
because they can be created before the MAM history is fetched.
2021-11-24 21:28:11 +01:00
JC Brand
284eccf047 Create converse-omemo-profile component
Removes the need to override the ProfileModal
2021-11-24 21:14:11 +01:00
JC Brand
bad2577e5e OMEMO Refactoring
When calling `getDeviceList`, wait for the devices to be fetched

Otherwise a race condition might occur, whereby a new device gets
created in the collection, and then removed again as the collection is
replaced with the values fetched from the browser-storage cache.

Also created `converse-omemo-fingerprints` component to asynchronously
render fingerprints in the user details modal. Was done as part of this
commit because due to `getDeviceList` being async, the relevant test for
the modal were also failing
2021-11-24 21:14:11 +01:00
JC Brand
9b1a7c70a3 Wait on OMEMOInitialized promise...
before parsing message stanza for encryption parameters.

Otherwise we might not know what our own device-id/sid is, and therefore
can't decrypt the incoming message.

Fixes #2733
2021-11-24 21:14:11 +01:00
JC Brand
a06d180827 Could not find dependency "converse-controlbox" for plugin "converse-muc"
Fixes #2423
2021-11-21 12:13:13 +01:00
JC Brand
2af758e66d Not sending headers with upload request
Fixes #2728
2021-11-21 11:56:53 +01:00
JC Brand
fa562cabae Don't fetch member list if not affiliated
Fixes #1426
2021-11-21 11:05:23 +01:00
JC Brand
07b2425ff9 Don't show unnecessary errors for undecryptable OMEMO messages
As mentioned in the XEP, don't show error messages for OMEMO messages
that can't be decrypted because they were already decrypted before or
because they weren't encrypted for this device.
2021-11-20 13:43:27 +01:00
JC Brand
d48d748e30 Don't cache the most recent message.
Since messages are ordered by time, the call to get it isn't very
expensive and by not caching we avoid getting a stale cache value
2021-11-20 13:43:27 +01:00
JC Brand
33f3cb76ad Use the extended MAM message data to get the sender's real JID
That solves the problem of not being able to look up OMEMO session data
from incoming MAM messages.

See here: https://github.com/conversejs/converse.js/issues/2241#issuecomment-974626847

Updates #2241
2021-11-20 12:50:25 +01:00
JC Brand
78846ab984 Fix: don't show avatars for followup messages 2021-11-19 23:05:16 +01:00
JC Brand
afbb46bd8c Add converse-image custom element
And use that to render images in unfurls.

This solves the issue of github URL unfurl images not having an image
extension and then being rendered as a hyperlink by `converse-rich-text`.

Instead, we know that it's supposed to be a url, so we just use `converse-image`.
2021-11-19 22:32:46 +01:00
JC Brand
ed63902ac1 Send presence status change to all connected MUCs
Fixes #2725
2021-11-19 21:26:35 +01:00
JC Brand
35947e3d62 Show avatars in MUC occupants sidebar
Fixes #1322

(Also clean up some loose threads)
2021-11-19 21:08:51 +01:00
JC Brand
bdac6f1b47 Split vcard plugin up into multiple files 2021-11-19 13:42:59 +01:00
Andy Friedman
c76e6fb86b Compress new avatar images 2021-11-19 13:01:09 +01:00
JC Brand
664f290001 Use converse-avatar for setting avatar 2021-11-19 13:01:09 +01:00
JC Brand
c62ea03e2e Use converse-avatar for roster items 2021-11-19 13:01:09 +01:00
JC Brand
8db12e61bf Use converse-avatar and fix bug...
where avatar didn't show in 1:1 chat heading (due to a race condition)
2021-11-19 11:07:09 +01:00
JC Brand
f36c3fefdd Fix the MUC occupant modal and add more info
Fixes #1419
2021-11-19 11:07:09 +01:00
JC Brand
a5b73f0309 Create the converse-avatar custom element 2021-11-19 10:00:04 +01:00
JC Brand
e347621dc8 Add JSDoc example 2021-11-17 09:42:38 +01:00
JC Brand
1ee75b78b7 Replace more font icons with svg icons
Updates #1004
2021-11-14 22:53:04 +01:00
JC Brand
571cb3bac1 Remove unused loader in webpack 2021-11-14 22:43:04 +01:00
JC Brand
5dd0065936 Embedded demo: Make links relative
Otherwise https://converse.js/trunk/demo/embedded.html wrongly uses files from the site root.
2021-11-14 08:20:29 +01:00
JC Brand
ecfc3e9fcf Implement support for XEP-0421 occupant ids
This let's us populate the `from_real_jid` attribute for messages in
cases where the user's nickname has changed.

Only save the occupant-id if the MUC supports it

Store all advertised features on the `chatbox.features` model.
This allows us to look up a feature without using the async
`disco.supports` API.

Updates #2241
2021-11-06 22:25:02 +01:00
JC Brand
a60127e66f Avoid possible exception when leaving/reconnecting in a MUC
- Unregister nickname before sending unavailable presence
- Send unavailable presence before destroying state
- Call `leave` after unregistering, otherwise the disco entry for the MUC gets removed in `leave` while it's still necessary to unregister
- Wrap `this.leave` in  try/except in `onConnectionStatusChanged` handler
- Add new MUC connection status, `CLOSING` to avoid `this.leave()` being called when `hidden` gets set to `true` while the MUC is in the process of being closed.
2021-11-04 19:21:29 +01:00
JC Brand
93e1758a0b Mention new fix in changelog 2021-10-30 21:36:18 +02:00
JC Brand
2fb8ea3ea0 Only register new nick if auto_register_muc_nickname is set 2021-10-30 21:30:53 +02:00
John Spurlock
1c6ada4af8 Fix send button not working in a muc room
Was looking at the wrong form
2021-10-30 21:16:11 +02:00
JC Brand
ca02bdcb61 Bugfix. Use real JID when setting up a device session in a MUC
Thanks to @orbitz, see: https://github.com/conversejs/converse.js/issues/1481#issuecomment-509183431

Updates #1481
2021-10-30 21:14:11 +02:00
JC Brand
90d93b364a Reregister nick when changing it in a members-only MUC 2021-10-30 20:56:23 +02:00
JC Brand
6177afd5b1 MUC: Don't send markers for non-groupchat messages.
I noticed that a marker was sent for an error message (created due to an
unencryptable OMEMO messages), and this caused the user to be kicked
from the MUC.
2021-10-30 20:56:23 +02:00
JC Brand
5abec5bff0 Remove tabs 2021-10-30 20:56:23 +02:00
Kim Alvefur
ec792abbda Map XEP-0122 data types to HTML5 form field types
This should invoke nicer UI some browsers have for certain types, like numbers.
2021-10-26 11:57:05 +02:00
Kim Alvefur
6890da11ed Factor out input field type mapping into a function to allow modified logic 2021-10-26 11:57:05 +02:00
JC Brand
1b31e80f25 Render MEP message reason as rich text 2021-10-21 10:43:24 +02:00
JC Brand
d2a33bc210 Add the ability to retract XEP-0316 MEP messages 2021-10-20 17:49:58 +02:00
JC Brand
3cfdf4c946 Fix trimming of chats in overlayed view mode 2021-10-14 17:49:20 +02:00
JC Brand
5a7f16b6f9 Bugfix. 'closed' value only relevant in overlayed view mode 2021-10-14 16:15:17 +02:00
JC Brand
32e521fdc7 Bugfix. MEP messages appear at bottom when returned from MAM 2021-10-13 21:14:57 +02:00
JC Brand
521f3d88d2 Move MUC MAM tests into a new file 2021-10-13 20:01:09 +02:00
JC Brand
cf8522b1ef Fix attribute error 2021-10-04 10:56:13 +02:00
JC Brand
6cff47c6d8 Remove muc_ogp_show_unfurls setting
And instead use the `render_media` setting to determine whether unfurls
should be shown.
2021-10-01 13:22:17 +02:00
JC Brand
366932e999 Allow render_media setting to be an array of domains
This allows for more flexibility in configuring which media URLs will
automatically render and which media URLs may be manually rendered by
the user (via the message actions dropdown).

For example, suppose you want to automatically render all media URLs
from https://xmpp.org, but still allow other media (which won't render
by default) to be rendered manually by the user (by clicking the "Show
URL previews" message dropdown action).

In this case, you set `render_media` to `['xmpp.org']` and
`allowed_image_domains` to `null` or `undefined`.

Or if you want to automatically render images from xmpp.org, and
restrict the domains users might manually click to render, you can add
those extra domains to `allowed_image_domains`.
2021-09-30 16:30:30 +02:00
JC Brand
be2ded3b7e No need to pass in render_media as a prop 2021-09-29 13:19:00 +02:00
JC Brand
1809e38911 Move isUniView function to utils 2021-09-29 12:03:21 +02:00
JC Brand
06ec539839 Update lit imports 2021-09-29 11:20:14 +02:00
JC Brand
84c6a0039c Fix embedded, singleton mode.
It's now necessary to add a `converse-root` element in the DOM where you
want Converse to render (previously it was any element with the id
`#conversejs`).

Also, turned `converse-chats` element into a Lit element and re-render
`converse-root` and `converse-chats` when the `view-mode` or `singleton`
settings change. This is a step towards being able to change the view
mode on the fly and have the entire chat re-render appropriately.

Fixes #2647
2021-09-24 11:53:49 +02:00
JC Brand
5ff57258ec Fix nickname form width 2021-09-23 22:31:30 +02:00
JC Brand
d4f6b040f3 Bugfix. Read jid from settings
Now that app settings are now longer saved directly on the `_converse` object
2021-09-23 22:27:49 +02:00
JC Brand
1104b28758 Bugfix. URL is passed in, not object 2021-09-23 21:56:32 +02:00
JC Brand
881a9a6d27 Re-render message if relevant config settings change 2021-09-23 21:50:24 +02:00
JC Brand
48f37aa1c0 Call initialize in CustomElement's connectedCallback method 2021-09-23 14:25:42 +02:00
JC Brand
7f2ab05f97 Move tests to separate file 2021-09-22 16:45:57 +02:00
JC Brand
de092f8f00 Emit events on the settings object
instead of on a separate object
2021-09-22 16:36:28 +02:00
JC Brand
9e48fdc91c Emit an event when a configuration setting gets changed 2021-09-21 17:08:30 +02:00
JC Brand
05dcb4e8d7 Breaking change: stop setting config variables on the _converse object 2021-09-21 17:08:30 +02:00
JC Brand
864e8910c4 Move settings related files into one directory 2021-09-21 17:08:30 +02:00
JC Brand
efafc2d691 Allow media to be invidually shown/rendered...
even if the global configuration is to disallow it.

* When parsing, include all media URLs, not just the ones from allowed domains.
  That makes it possible to change allowed domains on-the-fly,
  while still allowing media in individual messages to be shown manually
  (via the message actions dropdown).
* Merge `embed_audio`, `embed_video` and `show_images_inline` into `render_media`
* Create new config settings for allowable domains for images, video and audio
* Check the URL domain against a whitelist for the message actions dropdown
2021-09-21 17:08:30 +02:00
JC Brand
ed490fc202 Create directory for modal plugin 2021-09-20 11:13:26 +02:00
ayu
ae6dbeb287 Update vcard.js
Example code wouldn't work anymore.
2021-09-18 21:59:17 +02:00
JC Brand
75fee76693 Fixes #2650 2021-09-14 22:27:49 +02:00
JC Brand
caffcaaef2 Move occupant-related tests into new file 2021-09-14 22:03:10 +02:00
JC Brand
2b7624e622 Make sure all files are used when generating API docs 2021-09-14 15:04:12 +02:00
JC Brand
ad501d4309 Avoid AttributeError when _converse.disco_entities is undefined 2021-09-13 14:23:46 +02:00
JC Brand
126fa1809e Update changelog 2021-09-13 13:45:12 +02:00
Ariel Fuggini
d44abbb48e
Adds hook to fetchLoginCredentials function (#2640)
* Adds hook to fetchLoginCredentials function

* Adds documentation
2021-09-10 16:12:46 +02:00
JC Brand
40a49042e9 Postrelease 2021-09-09 22:43:37 +02:00
JC Brand
6b3f8a3f39 Release 8.0.1 2021-09-09 22:09:26 +02:00
Allan Nordhøy
2c1d6e3ecb Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.9% (362 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2021-09-09 21:45:42 +02:00
JC Brand
906a606010 Get rid of unnecessary specificity and functions 2021-09-09 11:35:00 +02:00
JC Brand
ef2c206507 Fix failing test 2021-09-09 11:12:31 +02:00
JC Brand
b78c19f6f2 Fix showing of HTML5 notifications for MEP messages 2021-09-08 17:30:30 +02:00
JC Brand
8aa16ea0be Fix broken import 2021-09-08 10:52:37 +02:00
JC Brand
8d01d7a710 Use optional chaining and update changelog 2021-09-08 10:35:46 +02:00
The Stranjer
660d765c59
Ensure that the converse session is actually present (#2636)
* Ensure that the converse session is actually present before trying to get anything out of it

* Update changelog
2021-09-08 10:32:59 +02:00
JC Brand
8f34065fc0 Also create MEP messages received from a MAM archive 2021-09-08 10:22:26 +02:00
JC Brand
f40a8f69ae Don't show minimized chats when logged out 2021-09-06 22:08:36 +02:00
JC Brand
0950555b49 Fix loading of CSS 2021-09-06 22:07:51 +02:00
JC Brand
286ab1ad83 Fixes #2633. 2021-09-06 21:56:56 +02:00
JC Brand
90cac3ecae Fixes #2326: 404 for asset /logo/conversejs-filled.svg 2021-09-06 21:29:35 +02:00
JC Brand
f04a376653 Fixes #2628: Open bookmarks toggle emits an error 2021-09-06 21:29:35 +02:00
JC Brand
b75e67fafa Fixes #2629 OMEMO button tooltip is wrong in private chat 2021-09-06 20:59:26 +02:00
JC Brand
8854f67c20 Bugfix: Image previews not loading when not serving Converse locally
Fixes #2634
2021-09-06 20:00:01 +02:00
JC Brand
9b4ce0011e Postrelease 2021-09-04 09:42:45 +02:00
JC Brand
c03bc7d600 Prepare release 8.0.0 2021-09-03 15:40:11 +02:00
random r
8f2f3e6498 Translated using Weblate (Italian)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2021-09-03 14:44:41 +02:00
ButterflyOfFire
730cb9c822 Translated using Weblate (Arabic)
Currently translated at 69.8% (356 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2021-09-03 14:44:41 +02:00
Tymofii Lytvynenko
acbd6000fc Translated using Weblate (Ukrainian)
Currently translated at 33.7% (172 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2021-09-03 14:44:41 +02:00
Xosé M
e80a12a8a4 Translated using Weblate (Galician)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-09-03 14:44:41 +02:00
Quentin PAGÈS
a21abae5f6
Translated using Weblate (Occitan)
Currently translated at 81.5% (416 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2021-09-03 14:38:43 +02:00
JC Brand
5095027a0b Don't render OOB url if it's the same as the body
Otherwise the file gets shown/rendered twice.
2021-09-01 10:35:32 +02:00
JC Brand
5dc89fb2b3 Ignore 'minimized' flag when not in overlayed view mode 2021-08-31 12:11:27 +02:00
JC Brand
353a90788c Make IndexedDB the default persistent store 2021-08-31 12:11:27 +02:00
JC Brand
90ea092e4d Register a XEP-0316 MEP handler
Add caps element to the MUC join presence, so that the MUC MEP node can
know whether we're interested in receiving MEP messages.

Create info messages for any `conference-info` tags that contain `activity` tags.

Check for both `headline` and `normal` MEP messages (even though the XEP
only show `headline` examples), since `normal` messages can be archived
in MAM, but `headline` ones not.

Update the XEP-0372 reference-parsing code to take the `anchor`
attribute into consideration, specifically to check which text element
the reference applies to.

Add support for rendering XEP-0372 mentions in "info" messages and for
triggering HTML5 Desktop notifications for such mentions.

Background:
-----------

XEP-0316 describes a way for a MUC to send out PEP-like messages to MUC
participants. This feature can be used to describe custom activity happening
in the MUC.
2021-08-31 11:23:49 +02:00
JC Brand
7e88ffd098 Move MUC functions to utils 2021-08-31 11:23:49 +02:00
JC Brand
6827e21df1 Fix race conditions in tests 2021-08-31 11:23:49 +02:00
JC Brand
b4d00f86a8 Rename image links to use dashes
For cache invalidation on Github
2021-08-29 14:20:31 +02:00
JC Brand
c4ccde1b4d Fixes #2385: Add new screenshots 2021-08-29 00:29:01 +02:00
JC Brand
0c0af2d00b Fix the minimized chats toggle
Clicking didn't make the minimized chats appear.
Also turn it into a Lit component
2021-08-29 00:15:45 +02:00
JC Brand
6c3a3dd1d3 Fix background for overlayed mode 2021-08-29 00:15:45 +02:00
JC Brand
fc51257ee1 Fix badge.svg in index.html as well 2021-08-28 22:42:48 +02:00
JC Brand
47b8337ff6 Fix path to chat badge 2021-08-28 22:39:46 +02:00
JC Brand
8d62c2b103 Bump dompurify to latest version 2021-08-26 06:58:00 +02:00
JC Brand
726dbddea7 Bump webpack-dev-server 2021-08-26 06:42:35 +02:00
JC Brand
88d778bdea Set widths for sponsor images in readme 2021-08-26 06:31:42 +02:00
JC Brand
9edab0729f Bump localforage 2021-08-26 06:30:39 +02:00
JC Brand
9cef50323a Add two new sponsors 2021-08-26 06:24:02 +02:00
JC Brand
df53282b6e Bump dayjs 2021-08-25 14:32:34 +02:00
JC Brand
b936824348 Bump eslint 2021-08-25 14:16:36 +02:00
JC Brand
a0ff85d74e Update theming and development documentation
* The templates are no longer `.html` files and are dispersed throughout the source code.
* The Sass files are also no longer all in one place
* Add a section on webpack aliases for modifying templates without touching the original files

Updates #2603
2021-08-25 11:55:06 +02:00
JC Brand
f739b9d37d Fix encrypted images not showing inline.
Updates #1182 #2554
2021-08-24 20:03:04 +02:00
JC Brand
8eac031047 Re-add wrapper anchor for unfurl images
We don't want the wrapper for interactive elements (GIF, video, audio),
but for images we still want them to link to the unfurled URL.
2021-08-10 13:45:56 +02:00
JC Brand
edd3b681c5 Create converse-message-versions component
Enables re-use outside of the message versions modal.
2021-08-10 10:48:50 +02:00
JC Brand
82ade54caa Use converse-icon to show message edited icon/toggle 2021-08-09 15:53:50 +02:00
JC Brand
610e334bed Use converse-icon in the modtools modal 2021-08-06 13:38:12 +02:00
JC Brand
44a573b6c4 Handle GIFs inside Unfurls
- Add ability to play/pause by using `converse-rich-text`
- Make `converse-rich-text` component configurable whether the media URLs for GIF/audio/video are shown
- Add fallback options for GIFs that have errors
2021-08-03 12:14:13 +02:00
JC Brand
95fbd55a19 Fixes #2583 2021-07-30 09:58:35 +02:00
JC Brand
d0627f800c Clear unread message counters when chat becomes visible 2021-07-30 09:56:17 +02:00
JC Brand
ac36407d1d Immediately draw and clear pause icon...
as you move the mouse over or away from a gif
2021-07-29 21:21:51 +02:00
JC Brand
ebfda5c86e Fix GIF rendering
- Fix some GIFs getting stuck
- Add a delay of 80ms for GIFs that specify a delay of 0
- Refactor slightly and add JSDoc
- Remove the unused `loop_delay` option, to allow further simplification of the code
2021-07-29 13:24:27 +02:00
JC Brand
106cde9262 Update modtools component...
to accept jid and affiliation and to not use a Model to store state
2021-07-28 13:28:01 +02:00
JC Brand
7b4f8954b3 No longer necessary to import Bootstrap dropdown styles in index 2021-07-27 14:51:43 +02:00
JC Brand
0242fdb020 Extract moderator tools functionality and put it in a component
This makes it easier for 3rd parties to embed it in other modals (besides the bootstrap modal).
2021-07-27 12:53:39 +02:00
JC Brand
10c610232c Use converse-icon instead of webfonts in heading dropdown 2021-07-27 11:11:36 +02:00
JC Brand
c961615609 Move converse-dropdown styles in separate file
And add some tweaks
2021-07-27 10:53:23 +02:00
JC Brand
55146820e3 Use converse-icon in the converse-dropdown component
Instead of using webfonts
2021-07-26 19:27:59 +02:00
JC Brand
0ccf25d986 Add support for controlling (e.g. pausing, looping) gifs
- Create new component `converse-gif`
- Draw gif in canvas and add controlls
2021-07-23 19:31:43 +02:00
JC Brand
316748988b Allow contact's profile modal to be shown...
even if there is now OMEMO device info
2021-07-23 18:30:07 +02:00
JC Brand
7075c9feee Move modal test out of spec 2021-07-19 16:40:40 +02:00
JC Brand
5cce34eb40 Split push plugin up into multiple files 2021-07-19 16:40:40 +02:00
JC Brand
60826ac6c6 Move functions out of core.js 2021-07-19 16:40:40 +02:00
JC Brand
8931c61876 Prevent attribute error on timeout 2021-07-19 16:40:40 +02:00
JC Brand
d1abf3a04e Wait for roster to be initialized 2021-07-19 16:40:40 +02:00
JC Brand
2bdea0dd18 Move settings API from core.js to own file
Move CORE_PLUGINS to `constants.js`
2021-07-19 15:50:50 +02:00
JC Brand
d2a35d4ce1 Turn converse-roster and converse-roster-filter into Lit elements 2021-07-15 17:26:09 +02:00
JC Brand
8de4671603 Replace more elements that use font icons with svg icons 2021-07-15 16:28:12 +02:00
JC Brand
b22127a877 Downgrade css-loader to 5.2.7
Fixes an issue with fonts not showing properly
2021-07-15 15:59:07 +02:00
JC Brand
d7af120154 Bump css-loader to 6.0.0 2021-07-15 14:36:28 +02:00
JC Brand
7bc70f728a Bump style loader to version 3.1.0 2021-07-15 14:32:53 +02:00
JC Brand
664c3522a7 Update postcss-loader to 6.1.1 2021-07-15 14:28:34 +02:00
JC Brand
c209b9e2b9 Bump urijs to 1.19.7 2021-07-15 14:18:51 +02:00
JC Brand
2bcf01f5ab Use DOMPurify instead of XSS.js
Remove exports-loader, which is therefore no longer necessary
2021-07-15 14:16:41 +02:00
JC Brand
14e5e3b3a6 Bump more deps and update changelog to mention required Node version 2021-07-15 12:47:19 +02:00
JC Brand
3c0a621b47 Bump various dependencies 2021-07-15 11:54:55 +02:00
JC Brand
fe3650d766 Bugfix. XEP-0198 stream management not working when using IndexedDB
The issue was that batched writing was incorrectly also being applied
for sessionStorage stores, so when the `active` flag in
`_converse.session` was being set to `false` on window unload, the
change wasn't persisted before the window was unloaded.

This caused a new session to be created upon reload, thereby losing the
SMACKS data.

We already solved this for persistent stores by flushing them, and
doing so for the session stores would also work, but session stores
don't have to be batched in the first place, so we turn that off.
2021-07-08 15:57:06 +02:00
JC Brand
46201613a6 Bump skeletor to 0.0.5 2021-07-08 10:33:35 +02:00
JC Brand
f2aa39e1c3 Identify media URLs during message parsing 2021-07-06 13:35:22 +02:00
JC Brand
b90a435833 Move url related utility methods to @converse/headless 2021-07-05 18:35:58 +02:00
JC Brand
bff714f24c OMEMO: Include XEP-0380 EME tag in encrypted messages 2021-07-05 18:35:58 +02:00
JC Brand
06460507d4 Don't let message actions drop upwards if...
it's the first (or second) message in the history, otherwise it might
appear behind the chat header.
2021-07-05 18:35:58 +02:00
JC Brand
01efb02f9e Make sure XEP-0363 urls are also OMEMO encrypted
by re-using `ChatBox.prototype.sendMessage`.

updates #1182
2021-07-03 00:22:03 +02:00
JC Brand
3d8852950d Add ability to let dropdown appear at the top, left-aligned
And use that for the last message in the chat history, otherwise the
dropdown is obscured.
2021-07-01 15:23:37 +02:00
JC Brand
e675c853f3 Add XEP-0454 support for encrypting files
Fixes #1182
2021-07-01 14:35:48 +02:00
JC Brand
27bc548552 Update more 3rd party dependencies 2021-06-29 16:46:40 +02:00
JC Brand
424a0c43a3 Upgrade babel 2021-06-29 16:27:32 +02:00
JC Brand
6665bef76c Fix failing tests
Handle missing message model (happens during tests)
2021-06-29 16:00:10 +02:00
JC Brand
dff5f485c9 Split out MUC tests 2021-06-29 15:59:49 +02:00
JC Brand
4047d619a1 Remove lodash dependency in tests 2021-06-29 15:59:49 +02:00
JC Brand
956a890b94 Don't reject on error in sendTimedMessage
It's the only way I could get a failing test (due to the Jasmine upgrade AFAIK) to pass.

I don't understand why this happens, given that the promise has a
`catch` clause in `retractOwnMessage`, but for some reason the promise
rejection gets caught by Jasmine, causing the test to fail.
2021-06-29 15:59:49 +02:00
JC Brand
767d5ec91d fix failing test 2021-06-29 15:59:49 +02:00
JC Brand
335a491e0d Stop using the Jasmine "done" callback 2021-06-29 15:59:49 +02:00
JC Brand
3e9f028bf4 Update more 3rd party deps 2021-06-29 13:00:36 +02:00
JC Brand
8506646db2 Remove unnecessary event trigger 2021-06-29 12:57:48 +02:00
JC Brand
be329a2d10 Don't subclass the chatbox for the controlbox model 2021-06-29 12:55:29 +02:00
JC Brand
73989e09a9 Fixes concerning dropdowns 2021-06-29 11:33:24 +02:00
JC Brand
46f567d0d1 Fix memory leak in sessionStorage
The disco entities collection gets recreated and repopulated every time
the connection is re-established or after the user logs in again after
having logged out.

The old disco entities weren't being removed, due to an erroneous
`shouldClearCache` call (not applicable to sessionStorage data).

In addition we need a handler to fire and clear the entities cache when
Converse is going to restart.
2021-06-29 11:20:50 +02:00
JC Brand
18f883545b Remove duplicate method 2021-06-25 18:19:01 +02:00
Licaon_Kter
7a22afa9ec Config docs typos 2021-06-25 17:29:26 +02:00
ubermanu
524e14f464 Register the document events once the picker is connected 2021-06-25 17:29:06 +02:00
ubermanu
7503de27c5 Remove document event listener once the dropdown is disconnected 2021-06-25 17:29:06 +02:00
JC Brand
f4da817cb2 Upgrades
babel/cli, lerna/ mini-css-extract-plugin, postcss-clean and webpack-merge
2021-06-25 17:17:34 +02:00
JC Brand
51e0237f5d Upgrade lit to 2.0.0-rc.2 2021-06-25 11:34:56 +02:00
JC Brand
14020125b9 Remove sinon and bump npm 2021-06-25 11:21:17 +02:00
JC Brand
0f82b76c09 fix failing test due to i18n string change 2021-06-25 10:59:13 +02:00
JC Brand
4c6c774251 Bump jasmine from 3.5.0 to 3.7.0 2021-06-25 10:55:56 +02:00
JC Brand
fe28b3e6af Upgrade copy-webpack-plugin to 9.0.0 2021-06-25 10:51:36 +02:00
dhruva dhruva
f9a2719507 Translated using Weblate (Romanian)
Currently translated at 43.7% (223 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2021-06-25 10:43:37 +02:00
juliojulian
0b00d4f9e1 Translated using Weblate (Spanish)
Currently translated at 90.7% (463 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2021-06-25 10:43:37 +02:00
Luna Jernberg
aa80093665 Translated using Weblate (Swedish)
Currently translated at 99.6% (509 of 511 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/sv/
2021-06-25 10:43:33 +02:00
G
778121010f Translated using Weblate (Polish)
Currently translated at 92.7% (473 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2021-06-25 10:43:07 +02:00
lilim
a5c391a6a3 Translated using Weblate (French)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2021-06-25 10:43:07 +02:00
ssantos
f846cb1b20 Translated using Weblate (Portuguese)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2021-06-25 10:43:07 +02:00
bashl
789d3438e3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (504 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2021-06-25 10:43:07 +02:00
Xosé M
f6de5247d6 Translated using Weblate (Galician)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-06-25 10:43:07 +02:00
member7me
c80d65cf60 Translated using Weblate (Russian)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2021-06-25 10:43:07 +02:00
Oğuz Ersen
cba44998b9 Translated using Weblate (Turkish)
Currently translated at 100.0% (510 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2021-06-25 10:43:07 +02:00
JC Brand
ba0ea6c2c4 Update translations based on suggestions from Zash on weblate 2021-06-25 10:38:38 +02:00
JC Brand
7848d8cb2f Add support for decrypting XEP-0454 OMEMO media 2021-06-25 09:24:18 +02:00
JC Brand
2c0fbec43c Move arraybuffer utility methods into their own file 2021-06-24 18:57:32 +02:00
JC Brand
c5de9dd9f1 Render embedded media with full width in overlayed view mode 2021-06-24 16:13:02 +02:00
JC Brand
92093d6d28 Further style tweaks for embedded media 2021-06-24 13:04:25 +02:00
JC Brand
670f435c64 Set max widths with embedded audio and video content 2021-06-24 12:51:02 +02:00
JC Brand
846dfd6762 Allow subdomains to be passed for domain whitelists 2021-06-24 12:36:51 +02:00
JC Brand
e00bf3da36 Make sure unread messages are cleared when showing a chat 2021-06-23 17:18:32 +02:00
JC Brand
9e21813251 Move tests into new file 2021-06-23 17:11:13 +02:00
JC Brand
3d3242c00d Bugfix. Images automatically load in modal 2021-06-23 13:24:05 +02:00
JC Brand
522998bade converse-roster: dedupe group names 2021-06-23 12:02:47 +02:00
JC Brand
629f382642 converse-roster: Move functions to utils 2021-06-23 12:02:47 +02:00
JC Brand
ad96db994e Fix failing tests on Travis 2021-06-23 10:52:32 +02:00
JC Brand
958d98a1a1 Use mock method in test 2021-06-22 17:04:27 +02:00
JC Brand
fb6bafdf6c Styling: Fix an offset bug
That caused empty inline code hints to be considered valid.

Also update the tests that were failing due to the changes in the
previous commit.
2021-06-22 16:54:05 +02:00
JC Brand
6dea5959cc Use API to get chat/room models in components 2021-06-22 14:47:35 +02:00
JC Brand
afd737f965 Fixes #2520 2021-06-22 12:50:50 +02:00
JC Brand
8de6e78729 In converse-muc-chatarea, use API to get room
and handle asynchronicity.
2021-06-18 11:56:35 +02:00
JC Brand
be8a47b672 Avoid rendering borders for empty unfurl 2021-06-18 11:37:33 +02:00
JC Brand
cf11f2588c Rename method 2021-06-18 11:35:38 +02:00
JC Brand
bb60f8cff4 Move trigger out of while loop 2021-06-18 10:21:03 +02:00
JC Brand
42b15497fc New event historyPruned 2021-06-18 10:07:30 +02:00
JC Brand
f598b7d267 Fix function not being exported 2021-06-17 16:32:58 +02:00
JC Brand
9349ba200e Update travis badge link 2021-06-17 16:07:23 +02:00
JC Brand
619fb538d7 Show video download URL 2021-06-17 15:50:10 +02:00
JC Brand
095d9b60cd Render audio from URLs in messages 2021-06-17 15:24:25 +02:00
JC Brand
33b426c79e Render videos from URLs in messages 2021-06-17 14:06:18 +02:00
JC Brand
2ac49fb9a5 Bugfix. Images being rendered when they shouldn't 2021-06-17 14:06:18 +02:00
JC Brand
b071a0e22f MAM: Prevent multiple simultaneous queries when scrolling up 2021-06-17 11:39:20 +02:00
JC Brand
b6f2662ad7 Set 'scrolled' flag on model.ui
This prevents it from being persisted across page loads and makes more
sense logically.

Also move markScrolled to utils and MUC unread messages indicator to bottom panel.
2021-06-17 11:39:20 +02:00
JC Brand
5ea9564cc3 Add new configuration setting prune_messages_above
If set to a positive integer, the chat history will be kept to that size
by removing older messages.

This happens as new messages come in (as long as the chat isn't scrolled up)
and when the user scrolls down.

Also add the `pruning_behavior` setting
2021-06-17 11:39:20 +02:00
JC Brand
85a651ae79 Move functions to utils 2021-06-17 11:35:06 +02:00
JC Brand
dc711d494f Add a placeholder to indicate a gap in the message history
The user can click the placeholder to fill in the gap.
2021-06-17 11:35:06 +02:00
JC Brand
14f0ed43c5 Add dayjs as dependency to @converse/headless 2021-06-16 14:47:34 +02:00
JC Brand
6f318bc86d Fix reference error 2021-06-16 14:47:34 +02:00
JC Brand
bbc952b265 Fix MUC and headlines heaidngs, so that they still work
as ElementViews, since I ran out of time converting them to lit
components as well.

This reverts commit 1121a90af0.
2021-06-15 11:09:34 +02:00
JC Brand
1121a90af0 Revert "Turn heading into a lit component"
This reverts commit 969b2f2e11.
2021-06-15 10:52:17 +02:00
JC Brand
969b2f2e11 Turn heading into a lit component 2021-06-15 10:33:33 +02:00
JC Brand
8907adc236 Move method to utils 2021-06-15 10:03:10 +02:00
JC Brand
c8304497b5 Remove onStatusMessageChanged handler
It's no longer necessary and calls a method that doesn't exist anymore.
2021-06-15 09:59:40 +02:00
JC Brand
68f0be996f Let chats be closed by calling close on the models
Instead of on the views/components.

We still have `close` methods on the components, but they are just
event handlers and not external API methods to be called by other code.
Instead `close` should be called on the model.
2021-06-15 09:59:40 +02:00
JC Brand
9fb92080f2 Get rid of the APIs to fetch chat views
This is largely a leftover from the Backbone.View days and makes less
sense now that the UI is componentized.

Ideally we don't want to call commands on the "views themselves, instead
we should be working on the the models and let the "views" update
themselves automatically.

Also, given that the `jid` attribute on the chat views might change,
especially when rendered declaratively in other frameworks like React,
a view might not be available at times where we previously might have
expected it to be (since it's been repurposed for a different JID).
2021-06-15 09:59:40 +02:00
JC Brand
ba1b712fee Move functions to utils 2021-06-14 12:03:27 +02:00
JC Brand
543cf9066a Bugfix. TypeError: cannot read property 'length' of undefined 2021-06-14 10:50:58 +02:00
JC Brand
bccd4a81b8 Add missing test file 2021-06-11 16:55:37 +02:00
JC Brand
17d9d2766d BUgfix. undefined used as store prefix 2021-06-11 16:53:19 +02:00
JC Brand
2bbb889196 Unfurls fix 2021-06-10 13:37:11 +02:00
JC Brand
ff1b6d3adf MUC: Don't first check if we're registered before unregistering
The IQ stanza being sent to check was in any case incorrect and it
doesn't seem necessary.
2021-06-10 10:40:45 +02:00
JC Brand
39d60f05c3 Remove twitter link from homepage. Make navbar more visible 2021-06-10 10:07:19 +02:00
JC Brand
54d6a6af56 Unfurls: gracefully handle missing OGP data 2021-06-09 20:54:08 +02:00
JC Brand
5b3d03bc63 Ran npx browserslist@latest --update-db 2021-06-09 16:41:09 +02:00
JC Brand
878a3b49a7 Prevent multiple 'New messages' dividers from appearing
Would happen when scrolled up and a new message comes in
2021-06-07 19:58:55 +02:00
JC Brand
825e2643ae Use flex-direction: column-reverse
On the `<converse-chat-content>` element. This removes the need for all
the manual scrolling.

Firefox finally supports this feature. Unfortunately Firefox ESR doesn't
yet, but I can't wait anymore.
2021-06-07 19:26:16 +02:00
JC Brand
9bcf5f2947 Scrolling fixes
* Remove extra `_markScrolled` function
* Only try to maintain scrolling position when some non-scrolling change has happened.
2021-06-07 17:54:38 +02:00
JC Brand
c966c49304 Fixes #2500
This wrongly stored value wasn't inlcuded in the published the bundle
because the libsignal store was used, which had the right value for the public key.

Instead, this value was used locally by being passed to the libsignal
session builder to verify signed prekey.
2021-06-07 13:49:21 +02:00
JC Brand
90dff612c7 Re-initialize chat components when jid attribute changes 2021-06-07 12:53:35 +02:00
JC Brand
9e4a4ba2ff Add example for retractOtherMessage 2021-06-07 10:10:19 +02:00
JC Brand
e3612e8c62 Turn the chats into Lit components
Previously they were of type ElementView from @converse/skeletor

The ElementView component is merely a helper to allow us to eventually
migrate everything to Lit
2021-06-04 15:22:52 +02:00
JC Brand
06c4ded063 Get rid of impperative code to render help messages
in 1:1 chat
2021-06-04 13:41:01 +02:00
JC Brand
ff233a5b1c Merge branch 'jcbrand/declarative-scrolling' 2021-06-04 12:59:52 +02:00
JC Brand
982586b0e6 Move protocol tests to plugin 2021-06-04 12:53:03 +02:00
JC Brand
ae5a13bb06 Move emojis tests into plugins 2021-06-04 12:53:03 +02:00
JC Brand
f3efbba26c Create converse-message-form component
More work on making bottom panel sub-components declarative

- Handle auto-completion in the converse-muc-message-form element
- Make message limit indicator a component
- Rename template
2021-06-04 12:53:03 +02:00
ubermanu
2f7dcb6bbc Move decodeHTMLEntities util into headless 2021-06-03 19:23:49 +02:00
JC Brand
623deac3ec Fix race condition in test 2021-06-03 18:36:26 +02:00
JC Brand
58d96c8594 Use intersection observer to remember scrolling position 2021-06-03 18:24:55 +02:00
Christoph Scholz
8701708b53 fix /nick command not working 2021-06-03 17:29:45 +02:00
JC Brand
279a3c3413 Add saveScrollPosition method on ChatContent 2021-06-03 15:32:39 +02:00
JC Brand
fe3e63d8c5 Declarative scrolling and rendering new messages indicator
- Increment `num_unread` when new messages appear while scrolled up
- Set scrolling state in model code (as opposed to view)
2021-06-03 14:16:03 +02:00
JC Brand
ec93e2fff3 Render chat messages loading spinner declaratively
instead of imperatively.

Add new non-persisted UI model for rendering UI changes. Currently only
being used for rendering the spinner
2021-06-03 00:02:33 +02:00
JC Brand
59d55b3526 Add option to deregister nickname when closing a MUC
By setting `auto_register_muc_nickname` to `'unregister'`
2021-06-02 22:06:57 +02:00
JC Brand
0756af2b30 Refactor chat close methods
- Remove the shared base-class method.
- Trigger `chatBoxClosed` on the model
- Send CSN from the model, not the view
2021-06-02 17:55:52 +02:00
JC Brand
1598640c80 Remove line-breaks from message image markup
We use `white-space: pre-wrap` to render the messages, so line-breaks in
the markup add unnecessary space.
2021-06-01 14:56:43 +02:00
JC Brand
994e528b45 Bugfix. Properly escape | character in mentioned nicknames 2021-05-19 14:47:20 +02:00
JC Brand
06f03fc884 MUC: Store disconnection data on the session 2021-05-13 15:45:12 +02:00
JC Brand
698f3a7b15 Bugfix. Can't call tagName on a Strophe.Builder object 2021-05-13 14:41:44 +02:00
JC Brand
c0c8fbac38 Wrongly passed data to the context parameter in hook
Causes `undefined` to be returned from `constructPresence` when `converse-caps` is not enabled
2021-05-13 12:15:39 +02:00
JC Brand
19b34231d4 JSDoc improvements 2021-05-13 11:44:19 +02:00
JC Brand
ad53a3c9a1 Message styling fix
Don't parse text that falls within XEP-0372 references ranges for
message styling hints.
2021-05-13 11:20:03 +02:00
JC Brand
58b59fe263 Move more tests from spec folder 2021-05-12 12:41:19 +02:00
JC Brand
d71ab6d30d Bugfix. Need to pass in group name since this is undefined 2021-05-12 12:26:16 +02:00
JC Brand
2b12f8e257 Use lodash-es everywhere 2021-05-12 12:14:28 +02:00
JC Brand
9e81fa495e Upgrade pluggable.js and skeletor 2021-05-12 12:13:10 +02:00
JC Brand
f40bbbf145 Turn status plugin into folder
Remove the use of an override and add a hook `presenceConstructed` instead
2021-05-11 17:04:15 +02:00
JC Brand
1fc44b9d8e Turn caps plugin into folder.
Move more test files to plugins
2021-05-11 16:18:34 +02:00
JC Brand
7bd0d9a83f Bugfix. Don't re-init bookmarks on reconnection
This causes an empty bookmarks list in the controlbox, because the
collection gets cleared (and then asynchronousy repopulated) while the
`bookmarksInitialized` promise stays `true` (resulting in a race
condition).

Alternative fix could be to clear the bookmarks and recreate the promise
before reconnecting but doesn't seem necessary to do all that work.
2021-05-07 12:27:29 +02:00
JC Brand
c8f0406c84 Refactor bookmark plugins
Mainly moving functions and methods to utils
2021-05-07 12:27:29 +02:00
JC Brand
18e3b618b4 Some light chat views refactoring
- Move `showModeratorToolsModal` method from view to utils
- Move `getNicknameRequiredTemplate` method from view to utils
- Move common `close` code to base class
2021-05-07 11:23:52 +02:00
JC Brand
fdc81fa4ea Use .conversejs instead of .converse-root
as the class that designates standalone Converse components.
2021-05-06 12:21:35 +02:00
JC Brand
dd609c1cec Get the webpack dev server to work again
This required triggering the `converse-loaded` event in the entry.js
file, which means it won't be triggered for `@converse/headless` when
used in isolation.

Not ideal, but probably ok because consumers of `@converse/headless`
should probably import it into their own project in any case.
2021-05-06 12:07:44 +02:00
JC Brand
d0594a6bfc Add new test for <converse-muc> 2021-04-30 18:01:53 +02:00
JC Brand
9c11e0dc32 Use .converse-root class instead of #conversejs id 2021-04-30 17:36:42 +02:00
JC Brand
4bdafb8ea3 Break Sass up into more files
And import where appropriate to allow for custom builds that are still styled properly
2021-04-30 17:36:40 +02:00
JC Brand
8966290369 Don't make bundled dependencies devDependencies
Otherwise you need to manually include them in downstream consumer projects
2021-04-30 14:17:46 +02:00
Shaun Wu
9ea8653ef7 Upgrade to Webpack 3
Had to make various other changes due to incompatibilities.

- Use the new `lit` package instead of `lit-html` or `lit-element`
- Drop `haunted` since it breaks the rules by specifying `type: module`
  but then doesn't import with file extensions
- Use Sass Dart instead of node-sass (fixes #2445)
- Upgrade Karma
2021-04-30 13:50:50 +02:00
dependabot-preview[bot]
fe29a86af9 Upgrade to GitHub-native Dependabot 2021-04-30 09:44:05 +02:00
Shaun Wu
1cb2b1f7a9 Adding configurable url history changing 2021-04-29 11:59:28 +02:00
JC Brand
4870d41aae Apply babel to mergebounce 2021-04-29 10:38:17 +02:00
JC Brand
754f1fcb25 Split smacks plugin up into multiple files 2021-04-28 18:50:54 +02:00
JC Brand
3d58b67517 Use @converse/openpromise 2021-04-28 18:35:08 +02:00
JC Brand
57ccf4c20e Batched writes to IndexedDB
- Update to the latest @converse/skeletor (which uses mergebounce to batch writes)
- Flush storage before logging out
- Flush when reloading the tab
- Create initStorage method
2021-04-28 16:53:50 +02:00
JC Brand
4c804fcf2d Wait on chatBoxesFetched in API
Otherwise we can run into race conditions when using IndexedDB with
mergebounce
2021-04-28 12:05:40 +02:00
JC Brand
1f7fecab21 Make show_images a prop of converse-chat-mesage-body
That way, when the setting changes and we call `requestUpdate` on
`converse-chat-message`, the body will rerender.
2021-04-26 12:08:16 +02:00
JC Brand
d86f3094b9 Fix failing test 2021-04-23 12:05:30 +02:00
JC Brand
4b737c1c93 Disable interval handler when running tests 2021-04-23 12:00:29 +02:00
JC Brand
ff14a706cf Fix parameters signature for onDiscoInfoRequest 2021-04-23 11:49:45 +02:00
JC Brand
8e0701f7bb Fix TypeError
The view isn't yet defined when we call `maybeFocus`. This is in any case
not the right place to call something like this.
2021-04-23 11:49:45 +02:00
JC Brand
a5d428c42d Fix closing MUC from rooms list
View isn't defined if chat is in background
2021-04-23 11:42:30 +02:00
JC Brand
b2445d36d1 Bugfix. pretty_time was undefined 2021-04-23 10:59:50 +02:00
JC Brand
db12e8a1e6 ping: use setInterval to continuously send out pings 2021-04-22 16:27:19 +02:00
JC Brand
f7432672e4 Fix key in vcard mock data 2021-04-22 14:51:33 +02:00
JC Brand
7b49296a24 Bugfix. Avoid creating an undefined store 2021-04-22 14:47:01 +02:00
JC Brand
b678df8d23 Move tests file to plugin folder 2021-04-22 14:41:17 +02:00
JC Brand
a4b90e3ab2 Move tests to headless plugin 2021-04-21 12:25:28 +02:00
JC Brand
458c51b32d Move tests for message image rendering to new file 2021-04-21 12:06:10 +02:00
JC Brand
6af9142810 Move ping plugin into folder 2021-04-21 11:18:48 +02:00
JC Brand
7b7ec45db8 Move disco plugin into folder and import lodash utilities separately 2021-04-21 11:03:22 +02:00
JC Brand
f283dd848e Try to fix failing test on Travis 2021-04-20 10:39:05 +02:00
JC Brand
b2f09f64c3 Use API to get room 2021-04-19 15:23:58 +02:00
JC Brand
3558936b46 Refactor message component to require less attributes 2021-04-16 13:11:30 +02:00
JC Brand
9e90b60a4f Add test case for #2461 2021-04-16 09:47:42 +02:00
JC Brand
a129638fd1 Move MUC styling test to plugin folder 2021-04-16 09:45:10 +02:00
ubermanu
649e813ee8 Fixes an endless loop when styling code blocks with a bad format 2021-04-16 09:44:40 +02:00
JC Brand
943ad96d52 Move tests to plugin folder 2021-04-15 16:42:10 +02:00
JC Brand
fdde708327 Add a new MUC room state: converse.ROOMSTATUS.BANNED
This makes it easier to distinguish between being banned from a room, or
being disconnected for other reasons.
2021-04-15 12:34:00 +02:00
JC Brand
b439ae1cc4 Bugfix. Don't set fake nick...
when creating occupant from affiliation change stanza.

This means that when a presence for that occupant arrives, a duplicate
occupant is created (presumably because the original can't be find due
to the wrong nick being set).
2021-04-14 18:02:41 +02:00
JC Brand
cd9977c94e Add an API for setting affiliations
This allows us to set affiliations in MUCs without having to first enter
the MUC in order to create a `ChatRoom` instance.
2021-04-14 10:44:31 +02:00
JC Brand
383f5c1d60 Extract affiliation-related methods out of the ChatRoom model
and put them together in a utils file
2021-04-14 10:44:31 +02:00
JC Brand
13e19eb7f8 Split omemo plugin into more files 2021-04-12 05:09:44 +02:00
JC Brand
42581b1d12 Split mam-views plugin into multiple files 2021-04-11 21:12:37 +02:00
JC Brand
573cc3e8d9 Split omemo plugin up into multiple files 2021-04-11 21:12:37 +02:00
JC Brand
a67603f689 Move various tests to plugin folders 2021-04-11 21:12:37 +02:00
Giuseppe Pignataro (Fasbyte01)
2b984e7851 Translated using Weblate (Italian)
Currently translated at 98.0% (501 of 511 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2021-04-09 13:32:58 +02:00
Kim Alvefur
e57bc316d1 Translated using Weblate (Swedish)
Currently translated at 99.6% (509 of 511 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/sv/
2021-04-09 13:32:35 +02:00
Hangyu Feng
ee0628085b Translated using Weblate (Chinese (Simplified))
Currently translated at 98.0% (501 of 511 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2021-04-09 13:31:44 +02:00
Xosé M
b24ece11e5 Translated using Weblate (Galician)
Currently translated at 100.0% (511 of 511 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-04-09 13:31:08 +02:00
nautilusx
e5240c1a45 Translated using Weblate (German)
Currently translated at 100.0% (511 of 511 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2021-04-09 13:30:22 +02:00
JC Brand
00f1aae38d Translated using Weblate (Afrikaans)
Currently translated at 100.0% (511 of 511 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2021-04-09 13:29:24 +02:00
JC Brand
be9db63718 Fixes #2443 2021-04-09 10:17:38 +02:00
JC Brand
548021b556 Only add view to chatboxviews after this.model has been set
Otherwise race-conditions arise where `this.model` is undefined
2021-04-08 10:17:26 +02:00
JC Brand
24e57244d1 Remove the messageSend event 2021-04-08 10:17:02 +02:00
JC Brand
724a6855ed Fixes #2443 2021-04-01 13:05:36 +02:00
JC Brand
e7ddd07d56 Remove unused method 2021-03-31 14:27:44 +02:00
JC Brand
65742d32ec Move icons template to shared folder 2021-03-29 13:16:32 +02:00
JC Brand
6d60a79369 MUC: Move function to utils 2021-03-26 11:34:45 +01:00
JC Brand
ccd60f76c3 Cleanup
- Move top-level functinos to utils files
- Get rid of unused/obsolete overrides
- Only import components there where they're used
- Bump version in package.json
2021-03-26 10:58:51 +01:00
ubermanu
3bfd60a3df Move the httpToGeoUri util into core 2021-03-25 09:08:39 +01:00
JC Brand
3129dd9351 Bugfix. Scroll position not respected in MUC 2021-03-24 14:35:33 +01:00
JC Brand
c2a6b09a25 Use converse-rich-text component to render unfurl descriptions 2021-03-24 12:41:17 +01:00
JC Brand
f897596215 Move files around to try and create some consistency and order 2021-03-24 12:41:17 +01:00
JC Brand
7f5a1d205e Rename MessageText to RichText
since it's now used to render more than just messages
2021-03-24 12:41:17 +01:00
JC Brand
b31eaadfab Add option to converse-rich-text for /me messages 2021-03-24 12:41:17 +01:00
JC Brand
bd8a57e0c3 Use the converse-rich-text component to render the topic 2021-03-24 12:41:17 +01:00
JC Brand
65efe5ad43 Let the message body be rendered with the rich-text directive 2021-03-24 11:27:19 +01:00
JC Brand
41d82a54b6 Create rich text component and directive 2021-03-24 11:13:11 +01:00
JC Brand
864f5fd7d3 Rename file 2021-03-24 10:43:42 +01:00
JC Brand
1fd3e3676a Update the MesageText class to not require a Model object
This allows us to use it to transform any piece of text and not just
text from a chat message.
2021-03-24 10:42:22 +01:00
JC Brand
16e7133e31 update to newer webpack-http-dev-server 2021-03-23 16:18:46 +01:00
JC Brand
6d01a3153e Move relevant files into converse-rootview plugin folder 2021-03-22 14:34:18 +01:00
JC Brand
3c99f1f840 Fixes #2348
Don't automatically hide the first MUC opened in uni-view
2021-03-22 11:39:17 +01:00
JC Brand
b28594a976 Import toolbar styles in the component 2021-03-19 15:10:57 +01:00
JC Brand
3bdae848b3 Fix this binding bug 2021-03-19 13:02:56 +01:00
JC Brand
89906f4826 Update bootstrap to version 4.6.0
Also update webpack-merge, webpack-cli and @babel/plugin-proposal-nullish-coalescing-operator
2021-03-19 13:02:56 +01:00
JC Brand
fde371b90f Remove apparently unnecessary tooltip bootstrap scss 2021-03-19 12:47:32 +01:00
JC Brand
453b993cfb Split up CSS into more files 2021-03-19 12:47:32 +01:00
JC Brand
90ab412628 Move fullscreen styles into relevant plugin 2021-03-19 12:47:32 +01:00
JC Brand
1b91d9b69e Move roster, bookmarks and minimize styles to plugin folders 2021-03-19 11:53:22 +01:00
JC Brand
79a4006a61 Move headlines scss to plugin folder 2021-03-19 11:48:48 +01:00
JC Brand
73c4c21533 Move MUC styles to plugin folder 2021-03-19 11:47:13 +01:00
JC Brand
b189fc83b0 Move chatbox styles to plugin folder 2021-03-19 11:43:16 +01:00
JC Brand
005cf4dc96 Move controlbox styles to plugin folder 2021-03-19 11:36:19 +01:00
JC Brand
f805f0d1ef Move sass files into src and closer to the relevant components 2021-03-19 11:28:35 +01:00
JC Brand
9d5d94a8f4 Update to latest Skeletor with localforage-setitems optimization 2021-03-18 16:21:15 +01:00
JC Brand
e896361b2f Remove the No message history available message
It's misleading because it shows before MAM has finished (which also causes
flashing)

Showing it only after MAM has finished would be preferable but too much
work, so I'm removing it for now.
2021-03-17 12:36:56 +01:00
JC Brand
224336e232 Remove last backbone-like declarative event handler from the MUC view 2021-03-17 12:28:16 +01:00
JC Brand
05abb1dae9 Move method from view to model 2021-03-17 11:27:13 +01:00
JC Brand
8f21b020b1 Move method to view unread messages to relevant component 2021-03-17 11:20:13 +01:00
JC Brand
7126ee2df9 Add new component for navigating back to controlbox
in small viewports
2021-03-17 11:19:58 +01:00
JC Brand
19e701683d Turn the controlbox toggle into a lit-element component 2021-03-17 10:37:19 +01:00
JC Brand
d548180f20 Add support for more languages, 'da', 'sw', 'th' 2021-03-17 10:20:19 +01:00
JC Brand
bd452a04e8 Fix more mangled i18n strings 2021-03-17 10:12:55 +01:00
JC Brand
001fe37059 Fix i18n message
Got mangled via search-and-replace
2021-03-17 09:48:16 +01:00
JC Brand
fff431737b Add support for new languages 'fa', 'el', 'lt' 2021-03-17 09:41:58 +01:00
JC Brand
0aec04a9c9 Update po files 2021-03-17 09:34:00 +01:00
Tomáš Obšívač
cc0ddc92b3 Translated using Weblate (Czech)
Currently translated at 77.0% (389 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2021-03-17 09:17:39 +01:00
Reza Almanda
2461d433e8 Translated using Weblate (Indonesian)
Currently translated at 60.7% (307 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2021-03-17 09:17:39 +01:00
JC Brand
859d4ff640 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2021-03-17 09:17:39 +01:00
Efterpi Kavvadia
249f0b4e79 Added translation using Weblate (Greek) 2021-03-17 09:17:39 +01:00
Kornelijus Tvarijanavičius
02a821aa3c Translated using Weblate (Lithuanian)
Currently translated at 62.3% (315 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/
2021-03-17 09:17:39 +01:00
make-file
1b4787df99 Translated using Weblate (Persian)
Currently translated at 10.6% (54 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fa/
2021-03-17 09:17:39 +01:00
make-file
6c39cbca5e Translated using Weblate (Persian)
Currently translated at 10.6% (54 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fa/
2021-03-17 09:17:39 +01:00
make-file
e3faa3c443 Added translation using Weblate (Persian) 2021-03-17 09:17:39 +01:00
aitzol berasategi
94e4ff9cdd Translated using Weblate (Basque)
Currently translated at 80.9% (409 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2021-03-17 09:17:39 +01:00
Vincent Finance
bb302b91c4 Translated using Weblate (French)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2021-03-17 09:17:39 +01:00
Lilian Wang
5dc3639831 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2021-03-17 09:17:39 +01:00
Juanro49
c3f03e0e3e Translated using Weblate (Spanish)
Currently translated at 93.0% (470 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2021-03-17 09:17:39 +01:00
Isak Holmström
3e6634c1e4 Translated using Weblate (Swedish)
Currently translated at 1.1% (6 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/sv/
2021-03-17 09:17:39 +01:00
Quentin PAGÈS
a1e788b958 Translated using Weblate (Occitan)
Currently translated at 82.7% (418 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2021-03-17 09:17:39 +01:00
LL Magical
5450e0ccde Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2021-03-17 09:17:39 +01:00
Xosé M
164d2898c9 Translated using Weblate (Galician)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-03-17 09:17:39 +01:00
Oğuz Ersen
884b5a7661 Translated using Weblate (Turkish)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2021-03-17 09:17:39 +01:00
Sergiu
76a64898ef Translated using Weblate (Romanian)
Currently translated at 39.4% (199 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2021-03-17 09:17:39 +01:00
zilliu
7e793f9514 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.0% (500 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/
2021-03-17 09:17:39 +01:00
zilliu
9555f7610d Translated using Weblate (Chinese (Simplified))
Currently translated at 99.0% (500 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2021-03-17 09:17:39 +01:00
Zijian Liu
e023c1b47d Translated using Weblate (Chinese (Traditional))
Currently translated at 98.6% (498 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/
2021-03-17 09:17:39 +01:00
Xosé M
9e089a5090 Translated using Weblate (Galician)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-03-17 09:17:39 +01:00
JC Brand
dde3ef206d Update to Strophe with a SASL fix 2021-03-16 15:10:09 +01:00
JC Brand
c7c077074f Chat: Move two methdos from component to the model 2021-03-16 11:01:10 +01:00
JC Brand
f62b9ab665 Remove debugger statement 2021-03-15 15:22:39 +01:00
JC Brand
56a7050160 Don't insert newline after submitting message 2021-03-15 15:15:20 +01:00
Kim Alvefur
da1eeb9cfa Add XEP-0115 to XEP list
Based on a message from JC in the chat.
2021-03-15 15:02:59 +01:00
Kim Alvefur
96f5b07bec doap: Add versions based on changelog
Versions of Converse.js when support was added, that is.
2021-03-15 15:02:59 +01:00
Kim Alvefur
e0ccba9e24 Add Description Of A Project (DOAP) file
Project summary, including supported XEPs in a machine-readable format,
for automated listings, aggregation of XEP implementation status and
other nice things.

See https://xmpp.org/extensions/xep-0453.html

This list was simply scraped from the README and mangled into XML using
`csv2 | sed | 2xml` and amended with a few other details from e.g.
package.json and links on the website.
2021-03-15 15:02:59 +01:00
JC Brand
35ad4d31a1 Remove erroneous changelog entry 2021-03-15 15:01:49 +01:00
JC Brand
d8daedea0d Render the MUC view component declaratively 2021-03-15 12:34:56 +01:00
JC Brand
851bfc61e0 Move MUC API tests into own file 2021-03-13 12:04:07 +01:00
JC Brand
5006ebcbae Bottom panel fixes
- Restore textarea size when it gets manually cleared
- Don't reload page when pressing send button
2021-03-12 10:14:34 +01:00
JC Brand
69a9adb459 Rename and move some files around 2021-03-12 09:58:17 +01:00
JC Brand
4646956922 Don't render hidden chats 2021-03-11 13:05:03 +01:00
JC Brand
2dbe50fc97 Refactor converse-muc-sidebar
- To only take the MUC JID as attribute
- To be responsible for closing itself
2021-03-11 11:34:52 +01:00
JC Brand
349b6d616d Move functions for resizing the MUC sidebar to converse-muc-chatarea 2021-03-11 11:22:46 +01:00
JC Brand
4ca30c4b93 Create converse-muc-chatarea component 2021-03-11 10:26:09 +01:00
JC Brand
4fd848ff3e Bugfix. Use init settings to check for test env 2021-03-10 12:39:17 +01:00
JC Brand
d3ab68011a Split core.js file into multiple smaller ones
Update storing of app settings. Store settings in a closured
`app_settings` object inside `@converse/headless/shared/settings`

Remove the `_converse.settings` object.
2021-03-09 14:11:28 +01:00
JC Brand
a921e303ac Make sure chat scrolls down once image has loaded 2021-03-08 16:54:09 +01:00
JC Brand
0d9c7bade3 Don't propagate paste events in chat textarea 2021-03-08 11:20:32 +01:00
JC Brand
b19a1e79f5 Security fix update for uri.js 2021-03-08 11:20:07 +01:00
JC Brand
051eeb9980 Don't show list dots for README sponsors 2021-03-08 09:35:44 +01:00
JC Brand
6400710b56 Add links to sponsor sites and show as list 2021-03-05 18:57:58 +01:00
JC Brand
08a47b9ad9 Fix path to logo 2021-03-05 18:46:21 +01:00
JC Brand
68d461bd42 Add the ability to show/hide unfurls 2021-03-05 18:42:14 +01:00
JC Brand
a24aa1487e Add mailbox.org as sponsor 2021-03-05 15:28:23 +01:00
JC Brand
541613d1fe Add more OGP metadata attributes to save 2021-03-04 17:56:24 +01:00
JC Brand
19a9da3032 CSS: Don't show border on empty element 2021-03-04 16:17:19 +01:00
JC Brand
698ad90c43 Move insertIntoTextarea methods from view to bottom panel component
That way we further decouple the various components and make it easier
to use them indepenent of one another.
2021-03-04 15:53:04 +01:00
JC Brand
3e5bd34141 Fixes #2381 2021-03-03 22:25:04 +01:00
JC Brand
a778f3866a Show URL in unfurl card 2021-03-02 13:50:40 +01:00
JC Brand
c90b7a9691 Only render unfurl images from allowed domains
as specified by `show_images_inline` when it's set to an array of
domains.
2021-03-02 11:03:35 +01:00
JC Brand
1bd4572957 Restrict unfurl description to message_limit setting 2021-03-02 11:03:35 +01:00
JC Brand
8dd8c7d1dd Don't show unfurl card if there's nothing to show 2021-03-02 11:03:35 +01:00
JC Brand
64fd0ebcf6 Unfurls: Remove URL check
Url parameters mean that we don't get a match even when the URLs
actually match.

Could potentially use URI.js but gets cumbersome and since we restrict
to metadata coming from the MUC service (which we trust) I think it's OK
to remove it.
2021-03-02 11:03:35 +01:00
JC Brand
68ca5dd279 Unfurl: JID wasn't defined 2021-03-01 22:21:45 +01:00
JC Brand
9bac86fe1a Don't add the same OGP metadata multiple times 2021-03-01 21:31:57 +01:00
JC Brand
16e1f95790 New config setting: muc_show_ogp_unfurls 2021-03-01 14:00:28 +01:00
JC Brand
426bf1d631 Tighten up security around unfurls
Dont render OGP metadata:
- for URLs not actually found in the original message
- from MUC participants (only from the MUC itself)
2021-03-01 11:35:12 +01:00
JC Brand
49837c2da4 Ensure that help messages are always shown 2021-02-24 16:34:46 +01:00
JC Brand
ce1c5ec7f6 Updates #2413
Wrap `history.start` in try/catch clause.
2021-02-24 15:48:11 +01:00
JC Brand
d8cab006c8 Move methods to utils
So that they can also be used independently of the components
2021-02-24 15:18:09 +01:00
JC Brand
d335a11119 Move more muc templates to plugin folder and use dashes 2021-02-24 09:51:37 +01:00
JC Brand
4d0012f672 Two small changes
- Fix controlbox spec to work with newer Jasmine
- Don't import Strophe in the non-headless code
2021-02-24 09:12:31 +01:00
JC Brand
c11b3d03f4 Make sure dist/converse-headless.min.js gets built
Fixes #2377
2021-02-24 07:57:56 +01:00
JC Brand
5cab477bf4 fixes #2396: @converse/headless wrongly depends on CustomElement from the view layer 2021-02-24 07:36:10 +01:00
Dele Olajide
61dacfd2a5 fix #2409 - Integrate App Badging API for unread messages 2021-02-24 06:55:59 +01:00
JC Brand
8d74e063af Don't import the entire chatview plugin for the muc-views one 2021-02-24 06:35:49 +01:00
JC Brand
ccfa00d7b8 mod_ogp now sends messages with type="groupchat" 2021-02-23 11:07:00 +01:00
JC Brand
f158a996f4 Turn converse-chatboxes plugin into folder 2021-02-22 21:07:54 +01:00
JC Brand
ae3b2c597d Bugfix. Login form is shown after reconnection 2021-02-22 20:53:59 +01:00
JC Brand
f4bcfa5c44 Move various template files into plugin folders 2021-02-22 20:37:13 +01:00
JC Brand
16edc2954d Add support for rendering unfurls via Prosody's mod_ogp
See here: https://modules.prosody.im/mod_ogp.html
2021-02-22 17:55:20 +01:00
JC Brand
c69eb6e1bf Split ad-hoc commands code into smaller files 2021-02-16 13:51:59 +01:00
JC Brand
de4fd466dc Move more MUC related views and components to muc-views plugin 2021-02-16 13:46:25 +01:00
JC Brand
c43969fece Move MUC sidebar component to plugin folder
and fix update issue where occupants weren't being shown in the sidebar
when reloading the page
2021-02-12 15:01:00 +01:00
JC Brand
3ae71a45a2 Move chatbox template to chatview plugin folder 2021-02-12 14:38:26 +01:00
JC Brand
a8a2bb4681 Componentize the chat headings 2021-02-12 14:32:55 +01:00
JC Brand
906fa93812 MUC: combine two methods doing roughly the same thing 2021-02-12 14:32:55 +01:00
JC Brand
9ce4092a7c Turn the bottom panel into a custom element 2021-02-12 14:32:55 +01:00
JC Brand
94bc087f50 Move MUC templates to the plugin folder 2021-02-11 20:25:20 +01:00
JC Brand
8b052e20b9 Fix tests by pinning to latest @converse/skeletor 2021-02-10 16:14:34 +01:00
JC Brand
45e0ba7f9b Use this.listenTo instead of api.listen.on in components
So that event handlers are automatically deregistered when the component is dismounted.
2021-02-10 11:44:04 +01:00
JC Brand
a32b7b64bf Fix display of lgoged-out controlbox in fullpage mode 2021-02-10 11:37:48 +01:00
JC Brand
78fb5935c7 Handle scrolling down in converse-chat-content component 2021-02-09 18:20:52 +01:00
JC Brand
b2ac138c88 Remove reference to view.el in tests 2021-02-09 16:41:39 +01:00
JC Brand
95c14e5a26 Don't pass chatview object to converse-chat-content
and any child components.

This makes it easier to use these components independently of one
another and the overarching view.
2021-02-09 16:40:00 +01:00
JC Brand
f81292e955 Bugfix in window state change handler 2021-02-09 15:48:21 +01:00
JC Brand
790caf9f5a Render converse-chat-content declaratively 2021-02-09 15:48:21 +01:00
JC Brand
18e48be5c4 Move CSS fixes before merge 2021-02-09 15:48:21 +01:00
JC Brand
3f24720633 Use repeat directive to render roster items 2021-02-09 15:48:21 +01:00
JC Brand
28fb2472a4 Chats: use repeat directive 2021-02-09 15:48:21 +01:00
JC Brand
f33fa1e9fc Fix more tests 2021-02-09 15:48:21 +01:00
JC Brand
22b6b4b502 minchats: Use utility methods instead of mixins
Various fixes to chat minimization
2021-02-09 15:48:21 +01:00
JC Brand
7abc81f8a4 MUC: Wait until occupants are fetched before updating them 2021-02-09 15:48:21 +01:00
JC Brand
ea6e370347 MUC: Fix error message logging 2021-02-09 15:48:21 +01:00
JC Brand
9f5dbad589 Turn roster into a custom element 2021-02-09 15:48:21 +01:00
JC Brand
7407a5a681 Fix auto-insert into converse-root 2021-02-09 15:48:21 +01:00
JC Brand
b8d710800a Move more methods from ChatBoxView to shared base class 2021-02-09 15:48:21 +01:00
JC Brand
bb317d1abb Combine RoomsPanel with RoomsList element 2021-02-09 15:48:21 +01:00
JC Brand
b31f334109 Fix event handlers in BookmarksView 2021-02-09 15:48:21 +01:00
JC Brand
05c00c5e1c Call minimize on the model
Fix minimizing by listening to change event

Fixes around showing/hiding and minimizing/maximizing

Don't trigger a `show` event on the model to show a chat, instead rely
on the `hidden` attribute which causes a rerender and will show/hide
chats.
2021-02-09 15:48:21 +01:00
JC Brand
704b50fb3e Turn HeadlinesBox into a custom element 2021-02-09 15:48:21 +01:00
JC Brand
fa7443be95 Don't render unnecessary components when not in overlayed view mode
Specifically `converse-minimized-chats` and `converse-controlbox-toggle`
2021-02-09 15:48:21 +01:00
JC Brand
d1c807ec79 Fixes to the bookmarks-list view 2021-02-09 15:48:21 +01:00
JC Brand
66abe309f6 Fix order for the minimized chats widget 2021-02-09 15:48:21 +01:00
JC Brand
336adac1ef CSS: fix order of boxes in overlayed view mode 2021-02-09 15:48:21 +01:00
JC Brand
d6c0129c86 Various CSS fixes 2021-02-09 15:48:21 +01:00
JC Brand
fd2f253c09 Add .chatroom class to converse-muc and remove .logged-out to controlbox 2021-02-09 15:48:21 +01:00
JC Brand
a029ece808 Controlbox related bugfixes 2021-02-09 15:48:21 +01:00
JC Brand
e64798208f Remove overrides of renderLoginPanel
which has also been removed earlier
2021-02-09 15:48:21 +01:00
JC Brand
be9016a081 Fix switching between login and register panels 2021-02-09 15:48:21 +01:00
JC Brand
75b8a16465 Fix CSS and work on declaratively rendering the controlbox toggle 2021-02-09 15:48:21 +01:00
JC Brand
a59920e6e5 Turn XMPPStatusView into the converse-user-profile component 2021-02-09 15:48:21 +01:00
JC Brand
6ca2183e24 Remove unneeded ControlBoxPane view 2021-02-09 15:48:21 +01:00
JC Brand
bb7d1c5cba Turn login and register panels into element views 2021-02-09 15:48:21 +01:00
JC Brand
0ecd86ecf7 Turn MinimizedChatsView into an ElementView subclass 2021-02-09 15:48:21 +01:00
JC Brand
ccfb29f1b3 Turn BookmarksView into a custom element 2021-02-09 15:48:21 +01:00
JC Brand
b9bf577ccd Turn rooms list into a custom element 2021-02-09 15:48:21 +01:00
JC Brand
7f869ea72d Make the headlines panel an ElementView
Don't manually insert HeadlinesBoxView
we'll have to convert it to an ElementView
2021-02-09 15:48:21 +01:00
JC Brand
dea2eea919 Componentize dragresize 2021-02-09 15:48:21 +01:00
JC Brand
1949356ede Work on turning chat views into custom elements
The eventual goal is to avoid UI-related stanza processing if the relevant chats
aren't in the DOM.

With the current architecture, chatboxes are created (and the stanzas
related to them processed) even if `#conversejs` isn't in the DOM.

* Initial work on making controlbox an element
* Create a shared base class
* Ceate ChatBoxViews proxy
* Update sass now that certain classes are moved to converse-chats element
2021-02-09 15:48:21 +01:00
JC Brand
eb65f75f45 Move headlines panel template to plugin 2021-02-09 15:48:21 +01:00
Ariel Fuggini
758c46c5aa Fixes infinite loop bug when appending .png to allowed image urls 2021-02-09 15:38:06 +01:00
JC Brand
581f892613 Add JSDoc string 2021-02-06 11:26:25 +01:00
JC Brand
0a1cbf87b8 MUC: Ensure that MAM query is from latest cached messages
In some cases a race condition can occur where a new message is received
before the MAM query starts.

Previously, the newly received message would be considered the latest
message to query from, thereby causing a gap in the history.
2021-02-03 10:27:46 +01:00
JC Brand
5feaab9a95 MUC: Add test for showing cached messages before entering 2021-02-02 15:12:31 +01:00
JC Brand
a294827211 Make sure Notification spy has relevant methods 2021-02-02 10:30:13 +01:00
JC Brand
9568d57e5f Pass message attrs to shouldNotifyOfGroupMessage 2021-02-01 17:50:46 +01:00
JC Brand
5d1b5ac6c9 Notifiations: Add new hook shouldNotifyOfGroupMessage 2021-02-01 17:14:35 +01:00
JC Brand
50dda3244e Move converse-notifications plugin into a folder and split up 2021-02-01 16:15:55 +01:00
JC Brand
7f851208aa Move converse-roster plugin into folder and split up 2021-01-26 14:34:36 +01:00
JC Brand
7199e63fd7 Move converse-profile plugin into folder 2021-01-22 15:49:16 +01:00
JC Brand
85bd192f3c Move converse-minimize into a folder
Also, use utility methods instead of adding a mixin to ChatBoxViews
(since we're planning on removing it).
2021-01-18 12:56:17 +01:00
JC Brand
1a88aff179 Decided to still collapse newlines...
and to solve the offset issue by replacing excessive newlines with
the zero-width space unicode character.
2021-01-18 12:18:33 +01:00
JC Brand
61bb0cfab7 Don't collapse newlines.
This causes index offset issues with any rich elements in the message.

We could try to fix the offsets, or alternatively replace the collapsed
newlines with spaces (to maintain the original offsets), but I don't
think it's worth the effort since I'm not sure that it's a good idea to
collapse newlines in the first place.
2021-01-18 11:27:01 +01:00
JC Brand
2c7b220453 RAI: Always send the presence to enable RAI when leaving a MUC
Looking at the Prosody code, it appears to be cheap since
Prosody will do nothing if you're already registered and this works
around a bug in mod_muc_rai where events aren't fired for each resource
of the same joined nick joining or leaving the MUC.
2021-01-15 13:55:40 +01:00
JC Brand
8bd2114d8a MUC has its own method for sending markers 2021-01-15 11:39:09 +01:00
JC Brand
c0249b9c28 New configuration setting send_chat_markers
Can be used to fine-tune which (if any) of the XEP-0333 chat markers
will be sent out.
2021-01-15 11:11:38 +01:00
JC Brand
26c1c483da MAM fix: Get newest page when not paging
This is done by using `before: ''` and filtering by `start`.
Otherwise we get the oldest page.
2021-01-13 13:33:28 +01:00
JC Brand
dcd1407109 New config setting mam_request_all_pages 2021-01-13 10:42:22 +01:00
JC Brand
b5b35a97c6 Bugfix. Ad-hoc form fields didn't render.
Also... clear info message before executing ad-hoc command so that user
gets visiual indication.
2021-01-11 15:06:51 +01:00
JC Brand
58c5e9676a Handle forwarded mentions coming from the MUC, not the host 2021-01-08 18:25:36 +01:00
JC Brand
5e6a6ba6ac Fix failing bookmark tests 2021-01-08 14:36:48 +01:00
JC Brand
9a2678450a Move converse-bookmarks plugin into folder 2021-01-08 14:28:36 +01:00
JC Brand
bb8c7423b6 Ignore XEP-0437 indicators and forwarded mentions in a joined MUC
Otherwise the mentions will be counted twice.
2021-01-08 10:38:03 +01:00
JC Brand
2f5cc3b271 Bugfix. Make sure arguments are passed to all triggered events 2021-01-08 09:39:35 +01:00
JC Brand
11023dfef9 Don't clear occupants when leaving a MUC, only when closing it
Otherwise, when leaving as part of RAI and in a MUC where we only get
presence info based on probes, we lose occupant info that doesn't get
recreated when we rejoin.
2021-01-07 15:08:29 +01:00
JC Brand
2da2dbff71 Move converse-bookmark-views into folder 2021-01-07 13:29:55 +01:00
JC Brand
eaa67dab91 Bugfix. Filtering of contacts stopped working after refactoring 2021-01-07 12:52:56 +01:00
JC Brand
680701667e Bugfix: Image modal didn't have src attr on render 2021-01-06 15:07:19 +01:00
JC Brand
3f47c4d3dd Use real JID in XEP-0372 references only when the MUC is non-anonymous 2021-01-04 14:24:23 +01:00
JC Brand
d55c4eb66e Remove lodash template loader 2020-12-30 19:36:38 +01:00
JC Brand
9a2ded5a9a Remove global lodash 2020-12-29 15:12:45 +01:00
JC Brand
c1847a0b34 Use lit-html to render room description in modal 2020-12-29 12:49:09 +01:00
JC Brand
5e0b05356f dragresize: use lit-html to render the template 2020-12-29 12:40:16 +01:00
JC Brand
12bb9375f4 Move converse-dragresize plugin to folder 2020-12-29 12:38:17 +01:00
JC Brand
f2ef8c7206 controlbox: render the toggle via lit-html 2020-12-29 12:23:39 +01:00
JC Brand
3f40098144 Render logo for registration form
Also fix showing of version number in login form
2020-12-29 12:16:23 +01:00
JC Brand
9372ad2dff register: Use lit-html to render templates 2020-12-29 11:49:25 +01:00
JC Brand
e31fa1f7dd Move converse-register plugin to folder 2020-12-29 10:36:59 +01:00
JC Brand
828eac1e72 rosterview: Move more lodash templates to lit-html 2020-12-28 21:20:18 +01:00
JC Brand
bb3ac36098 Render the roster container and filter with lit-html
This is the first commit that makes use of the `ElementView` from
Skeletor, which lets us turn views into custom elements.
2020-12-28 20:56:37 +01:00
JC Brand
794a709690 Move converse-rosterview plugin into folder 2020-12-28 19:46:40 +01:00
JC Brand
da131715ba Use lit-html to render form fields 2020-12-28 18:25:51 +01:00
JC Brand
62dbb1062f Add support for protoXEP: MUC mention notifications 2020-12-21 14:02:43 +01:00
JC Brand
6b9c718df7 RAI: Handle MUCs that start out hidden
When a MUC starts out hidden, we first need to join in order to find out
whether we're affiliated before we can know whether we should enable RAI
or join the MUC as usual.
2020-12-21 12:07:00 +01:00
JC Brand
986f7550f3 Clear messages upon reconnection as late as possible
To avoid a long empty flash while new messages are being fetched again.
2020-12-17 16:23:47 +01:00
JC Brand
1f476b8793 Move converse-mam plugin into own folder 2020-12-17 14:48:50 +01:00
JC Brand
8db1f3e3f3 MAM: refactor to functions instead of extending chats with methods 2020-12-17 14:10:28 +01:00
JC Brand
4349b016eb MUC: Only clear messages when MUC is left intentionally
by the user, and not as part of cleanup during logout or when leaving
automatically in order to receive XEP-0437 activity indicators.
2020-12-17 14:00:18 +01:00
Licaon_Kter
c09511adb8 Fix typo in xep-0437 link 2020-12-17 13:33:45 +01:00
JC Brand
18e6ebe9af MUC: Bugfix, don't set state to entered on unavailable presence 2020-12-17 13:04:24 +01:00
JC Brand
594332181b Call 'clearMessages' 2020-12-17 13:04:24 +01:00
JC Brand
2121766623 More RAI improvements
- Add test for incoming RAI message
- Only enable RAI if the user is affilated in MUC being left
- Handle error presence indicating a resouce-constraint
- Don't unregister stanza handlers in `leave`, since we still want to
  listen to RAI-related stanzas. Instead unregister upon the `destroy`
  event.
2020-12-17 13:04:24 +01:00
JC Brand
fe365a6561 Move converse-roomslist plugin into folder 2020-12-16 14:05:34 +01:00
JC Brand
eed9ee8033 RAI: Add tests 2020-12-16 13:48:14 +01:00
JC Brand
e80afbfe39 Move MUC and stanza utils into shared and plugin-specific files 2020-12-14 16:30:13 +01:00
JC Brand
e8eea6324e MUC: Send XEP-0333 markers with the MUC stanza id
See: https://xmpp.org/extensions/xep-0333.html#rules-muc
2020-12-14 16:30:13 +01:00
JC Brand
c457081597 WIP: Add support for XEP-437: Room Activity Indicators
- Send marker for last message before leaving and before subscribing to RAI
- clear cache of RAI-subscribed domains on reconnection
2020-12-14 13:11:24 +01:00
JC Brand
e6e416306e Properly handle child nodes for api.presence.send 2020-12-14 13:11:24 +01:00
JC Brand
2f244da8b1 Fix failing test 2020-12-11 14:06:37 +01:00
JC Brand
14c9b2f4ae Clear message cache when closing a MUC 2020-12-11 13:57:16 +01:00
JC Brand
3b00a0e30d Bump lit-element and xss 2020-12-10 17:29:47 +01:00
JC Brand
b771827d2a Fix corrections tests 2020-12-10 17:13:40 +01:00
JC Brand
5a82478381 Declare sizzle as a dependency for @converse/headless 2020-12-10 17:13:40 +01:00
JC Brand
c855d2f4ce Updates #2350 Avoid bundling Strophe twice
by not importing Strophe outside of @converse/headless
2020-12-10 16:32:01 +01:00
JC Brand
4ece50d07c Add ability to pass child nodes to api.user.presence.send 2020-12-10 14:39:24 +01:00
JC Brand
23a4a20dc2 Bugfixes
Mesage versions modal didn't open on subsequent clicks
Autocomplete: avoid undefined error
2020-12-10 14:12:20 +01:00
JC Brand
bb3f52d2f2 Move the autocomplete code into ./shared
And remove it as a plugin.
2020-12-10 11:17:57 +01:00
JC Brand
9174be8ff3 Styling: Use only "local" offset for mentions 2020-12-09 18:09:38 +01:00
JC Brand
af2df84fc1 Styling: Fix offsetting of mentions mixed in with styles 2020-12-09 18:05:08 +01:00
JC Brand
8572c86941 Styling: Trim leading whitespace inside blockquote
As demanded by XEP-0393
2020-12-09 15:11:54 +01:00
JC Brand
58586ab2e4 Styling: quotes should start on newlines
And when nested, have no spaces between them.
2020-12-09 14:19:31 +01:00
JC Brand
240fab99f4 Split chatboxviews/index.js into multiple files 2020-12-08 10:16:34 +01:00
JC Brand
e31d5ba939 Move converse-headlines-view plugin into a folder 2020-12-08 09:50:17 +01:00
JC Brand
c0fafcec70 Move converse-muc into a folder 2020-12-08 09:50:17 +01:00
JC Brand
e8536ebc88 Move converse-muc-views plugin into own folder 2020-12-08 09:50:17 +01:00
JC Brand
2b6c56f148 Move converse-chatview plugin into folder 2020-12-08 09:50:17 +01:00
JC Brand
ecfaba0781 Move converse-chatboxviews plugin into folder 2020-12-08 09:50:17 +01:00
JC Brand
4c1813d6d4 Move converse-controlbox plugin into folder 2020-12-08 09:50:17 +01:00
JC Brand
e3ebde9741 Move converse-chat plugin into folder 2020-12-07 16:30:11 +01:00
JC Brand
01e03fc677 Bump to Strophe 1.4.1 2020-12-04 14:06:04 +01:00
JC Brand
d47c72711b Document the button hooks 2020-12-03 16:56:54 +01:00
JC Brand
824bf2ed30 Move all plugin files to ./plugin folders
Rename converse-core.js to core.js
2020-12-03 16:41:15 +01:00
JC Brand
5dc7a442f6 New hook getMesageActionButtons
Allows 3rd party plugins to add more buttons to the message actions dropdown
2020-12-03 16:08:54 +01:00
JC Brand
c0dc8c8915 Bump 3rd party dev dependencies 2020-12-03 12:25:43 +01:00
Xavi Ferrer
f4b6b93b8b update info messages visibility 2020-12-03 11:45:25 +01:00
JC Brand
160ab3452e Rename ids of two modals 2020-12-03 11:43:04 +01:00
JC Brand
1a161ad2c7 Add api for managing modals
Set passed-in properties on modal
2020-12-03 11:36:02 +01:00
JC Brand
b18cc6bcc5 Move modals and their templates into ./modals/ 2020-12-03 11:02:35 +01:00
JC Brand
34cba68432 Allow user modals to be opened from message headings 2020-12-03 11:02:35 +01:00
JC Brand
5a3aaeb056 Prevent default when opening chat via xmpp: URI 2020-12-03 10:45:08 +01:00
JC Brand
01ee942920 Styling fixes
* Calculate proper length for :geo URI matches
* Don't strip out line-break after quotes, instead use CSS `display: inline-block`
2020-12-01 10:21:21 +01:00
JC Brand
21dfd8a325 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-11-30 18:21:33 +01:00
JC Brand
f5707c51c0 Update lt translations based on #1844 2020-11-30 14:49:30 +01:00
JC Brand
c608958eb3 Handle special case of two @ signs preceding a nickname 2020-11-27 22:06:22 +01:00
JC Brand
f86efca9a6 autocomplete: Use regex instead of hardcoded list...
to determine valid characters to form a boundary before an `@` mention

Also fixed an issue with mentions looking like they're part of URLs, by
first processing mentions separately.
2020-11-27 22:06:22 +01:00
Xavi Ferrer
8b9c97745f Allow selected characters to precede a mention 2020-11-27 14:12:29 +01:00
JC Brand
35db01d316 Styling: Take offset into consideration when adding templates 2020-11-27 11:12:19 +01:00
JC Brand
30e784b8ec Fix: use_system_emojis was false but unicode emojis shown in picker 2020-11-27 10:26:06 +01:00
JC Brand
33f62bb93c Update changelog for previous revert and add title for img emoji 2020-11-26 14:25:54 +01:00
JC Brand
a65da05094 Revert "fix emoji-picker for use_system_emojis==false"
This reverts commit e0088a45da.
2020-11-26 14:19:30 +01:00
JC Brand
c002600ac5 Rename update_title setting to show_tab_notifications 2020-11-25 16:30:52 +01:00
JC Brand
fb316ff010 Styling: Remove line-break at end of blockquote
since the DOM element breaks the line already
2020-11-25 16:12:00 +01:00
JC Brand
d2074afe9a Document breaking changes to message transformation events 2020-11-25 14:53:27 +01:00
JC Brand
f9650f33be Add support for XEP-0393 message styling
Fixes #1083

Directives are rendered as templates and their bodies are MessageText instances.
We thereby achieve the necessary nesting of directives (and other rich
elements inside directives) by letting each directive
body render itself similarly to how the whole message body is rendered.
2020-11-24 16:06:48 +01:00
JC Brand
7ae2b48da9 Move /me message tests to own file
Test mention inside a /me message
2020-11-24 16:06:48 +01:00
JC Brand
357b6406e2 Postrelease 2020-11-23 10:29:42 +01:00
JC Brand
db1905fdb6 Release 7.0.2 2020-11-23 10:18:35 +01:00
nautilusx
c0e0a209e4 Translated using Weblate (German)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2020-11-23 10:10:15 +01:00
Allan Nordhøy
77b737ad87 Translated using Weblate (Norwegian Bokmål)
Currently translated at 71.4% (361 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2020-11-23 10:10:15 +01:00
JC Brand
4e3a81d697 Fixes #2337
Newly opened headline chat isn't hidden by default in fullscreen view

Also include some CSS fixes for fullscreen headlines boxes
2020-11-19 13:20:02 +01:00
JC Brand
1b50696ca7 Make sure all necessary files are included in the NPM package 2020-11-19 13:12:13 +01:00
Yaron Shahrabani
2918a175ee Translated using Weblate (Hebrew)
Currently translated at 75.6% (382 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2020-11-19 12:44:45 +01:00
JC Brand
a70e82c82b Mention new translations in changelog 2020-11-19 11:44:35 +01:00
Oğuz Ersen
b03ea65943 Translated using Weblate (Turkish)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2020-11-19 11:41:42 +01:00
Xosé M
f2e1b5983e Translated using Weblate (Galician)
Currently translated at 100.0% (505 of 505 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2020-11-19 11:41:13 +01:00
JC Brand
4520a04be9 Postrelease 2020-11-19 11:37:56 +01:00
JC Brand
85375842a8 Release 7.0.1 2020-11-19 11:23:04 +01:00
J. Lavoie
93d03106b6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (501 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

Translated using Weblate (Spanish)

Currently translated at 90.6% (455 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/

Translated using Weblate (Finnish)

Currently translated at 86.0% (432 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fi/

Translated using Weblate (Italian)

Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/

Translated using Weblate (Polish)

Currently translated at 80.8% (406 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/

Translated using Weblate (French)

Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2020-11-18 18:47:44 +01:00
JC Brand
3638056dd7 Added translation using Weblate (Swedish) 2020-11-18 18:47:44 +01:00
Tymofij Lytvynenko
503ec61a04 Translated using Weblate (Ukrainian)
Currently translated at 34.4% (173 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2020-11-18 18:47:44 +01:00
zilliu
3fa5ae08d5 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (498 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/
2020-11-18 18:47:44 +01:00
Balázs Meskó
c82c6961d7 Translated using Weblate (Hungarian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2020-11-18 18:47:44 +01:00
Emmanuel Gil Peyrot
557ddf974f Translated using Weblate (French)
Currently translated at 99.4% (499 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2020-11-18 18:29:24 +01:00
nautilusx
e56cd9024d Translated using Weblate (German)
Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2020-11-18 18:28:55 +01:00
Andrey
4a692e510e Translated using Weblate (Russian)
Currently translated at 83.0% (417 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2020-11-18 18:28:26 +01:00
Allan Nordhøy
90ab459ad4 Translated using Weblate (Norwegian Bokmål)
Currently translated at 71.7% (360 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2020-11-18 18:27:13 +01:00
Quentin PAGÈS
3201b6865b Translated using Weblate (Occitan)
Currently translated at 82.8% (416 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2020-11-18 18:26:25 +01:00
ssantos
26d33aade2 Translated using Weblate (Portuguese)
Currently translated at 74.3% (373 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2020-11-18 18:25:57 +01:00
Oğuz Ersen
fbf05e9d5e Translated using Weblate (Turkish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2020-11-18 18:25:34 +01:00
Xosé M
8f2a742a09 Translated using Weblate (Galician)
Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2020-11-18 18:21:52 +01:00
JC Brand
16b16a109e Make sure JS files in templates are included in package 2020-11-18 18:00:21 +01:00
Christoph Scholz
e0088a45da fix emoji-picker for use_system_emojis==false 2020-11-18 17:22:14 +01:00
JC Brand
76aa1ef3ec make postrelease 2020-11-18 13:07:51 +01:00
JC Brand
357cad8a49 Release 7.0.0 2020-11-18 12:10:32 +01:00
JC Brand
74ee783685 Fixes #1471
Wait when fetching config, otherwise default of `true` for `trusted` is used erroneously.
2020-11-18 11:43:53 +01:00
JC Brand
2b59186d03 Don't render booleans in profile modal 2020-11-18 11:40:40 +01:00
bernard-ng
08684a7c51 Fixes #2277 Show nickname conflict error 2020-11-18 11:23:46 +01:00
JC Brand
144479428d omemo: Move functions out of the plugin body 2020-11-18 10:49:31 +01:00
JC Brand
8a857e39f4 Move tab update to notification plugin
Updating tab notifications is not something that should be done in the headless part of Converse.
Don't update the tab title, having a favicon is enough.
2020-11-18 10:42:31 +01:00
Ariel Fuggini
6de07c5c29 Adds setting to toggle showing unread message counter in page title 2020-11-05 14:27:10 +01:00
JC Brand
cf94a5193a Move dependency to headless package.json 2020-11-05 14:26:04 +01:00
JC Brand
d921242be7 Fix TypeError: Cannot read property 'chatbox' of undefined 2020-11-04 15:14:12 +01:00
JC Brand
bdb347b703 Updates #1471
OMEMO should not be enabled if the device is not trusted and also not if
the cache gets cleared on logout.
2020-11-02 13:22:00 +01:00
Dele Olajide
9f548ae8de
fix #1250 (#2323)
Fixes #1250 Change favicon color when unread messages
2020-11-02 09:10:07 +01:00
Dele Olajide
285bbbc2f1
fix #2321 (#2322)
When Converse runs inside a browser extension, enable browser sync and local storage for persistent storage
2020-10-30 12:51:55 +01:00
JC Brand
4f7ff1f3cf headlines-view: Update to match changes to the normal chat view 2020-10-29 11:10:55 +01:00
JC Brand
fbc4adff99 Remove updateAfterMessagesFetched method
In MUCs, messages are fetched too late in order for it to be practical
to wait for messages before rendering various parts of the MUC view.

Previously there was a bug, in the sense that `messages.fetched` was
`undefined` when being `await`ed in `updateAfterMessagesFetched`.
Once this was fixed, this issue became clear.
2020-10-29 10:37:29 +01:00
JC Brand
59e216ad34 muc: no need for message_queue...
since we create the `fetched` promise earlier
2020-10-29 10:36:28 +01:00
JC Brand
c750748b8d Only create new message models once messages have been fetched
Fixes #2241
2020-10-29 10:36:28 +01:00
JC Brand
fe17be24e0 spec/smacks: prevent two MUCs from being created 2020-10-28 14:52:25 +01:00
JC Brand
c08ee00fcd Enforce uni-view in headless code
When we're showing only one chat at a time, we want to make sure that
all other chats have their `hidden` flag set to `true`.

Previously this was done in chatboxviews, but given that we want to
render UI based on state, this should be done in the headless part of
Converse.

As a result of the changes, the `beforeShowingChatView` has been
removed.
2020-10-27 13:00:43 +01:00
JC Brand
d8852c6260 Fix race conditions in tests 2020-10-27 12:16:28 +01:00
JC Brand
00466cd550 Let the converse-loaded event conform to the CustomEvent spec
https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
2020-10-26 13:09:15 +01:00
JC Brand
5a2d361c81 Fixes #2293: Message carbons not re-enabled when reconnecting 2020-10-23 21:58:47 +02:00
JC Brand
476bcfe7cc Fixes #2137: Show back arrow on mobile 2020-10-23 21:36:39 +02:00
JC Brand
4252a17f62 Fixes #1642 Add option to hide participant list by default
In the process, turn it into a component
2020-10-23 21:18:05 +02:00
JC Brand
ae7b29cb90 Move correections tests into a separate file 2020-10-23 16:41:29 +02:00
JC Brand
8c1e886af9 Fixes #2302 Bookmarks get duplicated on server push 2020-10-23 16:22:40 +02:00
Xavi
15f5b185c3
Fix message reorder issue after edit (#2300)
* keep message in place after edition by assigning previous message original timestamp
* update time displayed to keep current behaviour
* add test to check a message remains in the same position of the history after being edited
* briefly describe pr changes in changelog
2020-10-23 15:07:56 +02:00
Xavi
5a4fbe12a9
Allow getHats method to be overriden (#2308) 2020-10-23 14:09:30 +02:00
Dele Olajide
03919b9777 Force CI rebuild 2020-10-23 13:55:28 +02:00
Dele Olajide
81f0cb49bb fix #2307 - BootstrapModal no more accessible to plugins 2020-10-23 13:55:28 +02:00
Dele Olajide
646542602f fix #2304 - Custom emojis (stickers) images not shown 2020-10-21 11:01:08 +02:00
JC Brand
7803fd2335 Clear chat boxes when clearing cache 2020-10-20 14:28:09 +02:00
JC Brand
19dc66900d Split the trusted setting into two new ones:
- `allow_user_trust_override`
- `clear_cache_on_logout`

The `persistent_store` setting can now also be set to `sessionStorage`

The `trusted` settings was in effect playing the role of two separate settings
and implicitly affecting a third ('persistent_store').

By breaking it up, we make things more explicit and allow for new
configurations. For example, clearing the cache on logout, while using
some kind of persistent store.
2020-10-20 11:29:03 +02:00
JC Brand
5341a1ea49 MUC: warn instead of error when we're no longer connected 2020-10-19 12:07:28 +02:00
bernard-ng
86c4853b2e #2290 format dayjs locale 2020-10-15 14:48:07 +02:00
dependabot-preview[bot]
62c657beba [Security] Bump elliptic from 6.5.2 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 10:28:07 +02:00
Bernard Ngandu
055c1b1194
#2274 add background to send-button (#2279)
use muc-toolbar-btn-color for background
2020-10-15 10:27:10 +02:00
Xavi
042aa3a73e
Create hats from vcard conditionally (#2285)
* allow the use of MUC affiliation, MUC role, and VCard roles as hats
* update setting documentation
* remove filter from VCard roles
* update naming and documentation to make explicit the use of XEP-317 Hats
* include muc_hats config option update to changelog
2020-10-15 09:51:19 +02:00
Bernard Ngandu
e49f97472a
#2280 notify changes to client on bookmark-update (#2287)
* notify changes to client on bookmark-update
* update XEP-115 caps verification string
2020-10-14 13:09:33 +02:00
JC Brand
a42390c91f Docs: add troubleshooting section on Backbone/Skeletor "url" property error 2020-10-14 12:07:17 +02:00
JC Brand
395aa8cb95 Use JS to dynamically set height of img modal 2020-10-13 15:35:54 +02:00
JC Brand
e73d14304c Fix image to modal (i.e. avoid scrollbars) 2020-10-13 15:05:57 +02:00
JC Brand
4295264a33 MAM: Maintain scroll position during upwards infinite scroll 2020-10-13 06:25:31 +02:00
JC Brand
48f119b673 MAM: use bare JID as by attribute for archive-id
in 1:1 chats.

See: https://xmpp.org/extensions/xep-0313.html#archives_id
2020-10-13 04:48:21 +02:00
JC Brand
fb773d5d9b smacks: Unregister smack stanza handlers on disconnect 2020-10-09 15:26:29 +02:00
JC Brand
ab0521ebfb smacks: move functions out of plugin's initialize method 2020-10-09 14:52:56 +02:00
ChaosKid42
c9ba42d0a0
regression of #1317: Don't show errors for CSI messages (#2276)
* regression of #1317: Don't show errors for CSI messages
* fix failing tests
2020-10-08 12:13:04 +02:00
JC Brand
af4fd3b0c2 MUC: connect with stored password, if available 2020-10-07 15:42:17 +02:00
JC Brand
7aee9c4432 muc: simplify api.rooms methods.
- Let `api.rooms.open` call `api.rooms.get` directly, instead of indirectly via `api.rooms.create`
- Remove the `createChatRoom` function
- Also strip URI parts from JID in `api.rooms.get` and use utility method for doing so
2020-10-07 15:31:13 +02:00
dependabot[bot]
1af233cc59 Bump http-proxy from 1.18.0 to 1.18.1
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.18.0...1.18.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 11:34:21 +02:00
Bernard Ngandu
be833631f3
#1829 add color for different omemo state (#2260)
* #1829 css var instead of hard coded colors
2020-10-07 11:32:29 +02:00
dependabot-preview[bot]
846ef06862 [Security] Bump dot-prop from 4.2.0 to 4.2.1
Bumps [dot-prop](https://github.com/sindresorhus/dot-prop) from 4.2.0 to 4.2.1. **This update includes a security fix.**
- [Release notes](https://github.com/sindresorhus/dot-prop/releases)
- [Commits](https://github.com/sindresorhus/dot-prop/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-07 11:31:31 +02:00
JC Brand
3f08201f5a Remove unused code for the removed features section in occupants sidebar 2020-10-07 11:20:16 +02:00
Xavi
86c04b876b
Allow mention autocomplete to trigger right after a new line (#2267)
* catch all whitespace characters instead of just new line
2020-10-07 11:05:18 +02:00
Koen Van den Wijngaert
15aef10d5d
#2092 fixes room list update loop with locked muc domains (#2268)
* Only update the room list after shown.bs.modal
* add changes to CHANGES.md
* Move shown listener to initialize
2020-10-07 10:37:35 +02:00
Christoph Scholz
f68eb65cd7 check against own jid when detecting forged mam messages 2020-10-06 20:30:40 +02:00
JC Brand
30d550596b Remove converse-rsm as whitelisted plugin and dependency 2020-10-05 21:09:02 +02:00
JC Brand
31a05f111b Fixes #2261
Don't use 100vh, it doesn't work properly on mobile
2020-10-02 23:15:59 +02:00
Christoph Scholz
07f2f285ff Fix issue #2168 2020-10-02 12:07:48 +02:00
JC Brand
383b6a27c3 Render the brand heading as a component 2020-10-02 11:44:28 +02:00
JC Brand
24ddbefb63 Pass model's whole JSON to nickname form
Not strictly necessary for vanilla Converse, but makes life easier
downstream
2020-10-01 16:29:44 +02:00
JC Brand
8ef3b10d39 Don't hide chats when singleton is true 2020-10-01 13:43:42 +02:00
JC Brand
6d9752645f Replace lodash methods with native ones
filter
find
has
isEmpty
isString
isUndefined
noop
reject
uniq
2020-10-01 12:56:00 +02:00
bernard ng
efd4e50378
Fix #2231 add sort by query (#2234)
Use of lowercase letters and Infinity to avoid calculation errors when the index is -1
2020-10-01 12:06:35 +02:00
JC Brand
e761923cc9 Bump @converse/skeletor and localForage 2020-09-30 18:51:21 +02:00
JC Brand
ccd9146c6c Bugfixes. Fix order of parameters and don't render undefined 2020-09-30 18:51:21 +02:00
JC Brand
02a9126ab6 Log errors when failing to save a message to storage 2020-09-30 18:51:21 +02:00
JC Brand
b5783c0668 Refactor converse-api.query and the RSM class
- The `converse.api.query` method now no longer accepts an RSM instance.
- The RSM class now separates `query` parameters from `result` attributes
- Improve JSDoc docs and remove need to make `converse-rsm` a plugin
- Add typedefs for the options expected by RSM and `api.archive.query`
2020-09-30 18:51:21 +02:00
Christoph Scholz
e7a3bb87c6 Update pot and po files 2020-09-30 10:59:39 +02:00
Christoph Scholz
ff5a046922 Revert "fix i18n of label group name"
This reverts commit 5a874a4956.
2020-09-30 10:59:39 +02:00
Christoph Scholz
5ea2ccfc17 fixes #2238 i18n not working reliably 2020-09-28 13:31:19 +02:00
Kim Alvefur
76b488a672 Bugfix. Promise.resolve is not a constructor 2020-09-28 10:49:14 +02:00
JC Brand
65ad33ec81 Let message component listen for changes...
and render directly from those

Instead of doing it higher up in the chat view (which requires more
function calls and iterating through all messages).
2020-09-27 10:31:53 +02:00
JC Brand
4ebd3caf48 element: Call super.disconnectedCallback 2020-09-27 10:31:53 +02:00
JC Brand
904a1394eb Always render avatar via lit-html
Fixes #2244 by checking if image already is in the `data:` format.
2020-09-27 10:31:53 +02:00
JC Brand
5dac2d8873 muc-views: Use lit-html instead of lodash templates 2020-09-27 10:31:32 +02:00
JC Brand
889f4d4e15 Always render spinner via lit-html 2020-09-26 10:04:33 +02:00
JC Brand
0ca2e5ae08 Remove need for lodash templates in headless build 2020-09-26 09:58:34 +02:00
JC Brand
3fc6f7fa23 Fixes #1924 2020-09-25 18:46:45 +02:00
JC Brand
3a88831b9d Bugfix. MUC tries multiple times to register nick 2020-09-25 15:30:53 +02:00
JC Brand
5350cb107f Don't throw timeout errors for sent IQ#result or IQ#error stanzas 2020-09-25 14:12:12 +02:00
JC Brand
e82d6785c2 Update pot and po files 2020-09-24 09:02:58 +02:00
Emmanuel Gil Peyrot
fff9eeaa5c Translated using Weblate (French)
Currently translated at 99.6% (500 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2020-09-21 18:15:57 +02:00
zilliu
a436f9e117 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (498 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/
2020-09-21 18:15:57 +02:00
Nikolaj Nielsen
e7606d133d Translated using Weblate (Danish)
Currently translated at 0.1% (1 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/da/
2020-09-21 18:15:57 +02:00
Georgi Bachev
cd7817126e Added translation using Weblate (Danish) 2020-09-21 18:15:57 +02:00
aevw
8aeaa54ba4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2020-09-21 18:15:57 +02:00
random r
9733d572de Translated using Weblate (Italian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2020-09-21 18:15:57 +02:00
Xosé M
1d83c3b852 Translated using Weblate (Galician)
Currently translated at 100.0% (502 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2020-09-21 18:15:57 +02:00
nautilusx
d42aa4d3c6 Translated using Weblate (German)
Currently translated at 99.2% (498 of 502 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2020-09-21 18:15:57 +02:00
JC Brand
78f8f73fea Get rid of converse-uniview plugin
Instead of overriding createChatBox, set 'hidden' flag via defaults
2020-09-21 18:08:48 +02:00
JC Brand
f79fd33302 Chat views: listen whether hidden gets set and show/hide 2020-09-21 18:08:48 +02:00
JC Brand
ced43363f6 Document how to run tests 2020-09-18 21:37:26 +02:00
Christoph Scholz
5a874a4956 fix i18n of label group name 2020-09-18 21:13:08 +02:00
JC Brand
b17e7cd55b Fix rendering of SVG avatars 2020-09-18 15:09:55 +02:00
JC Brand
0a7dff442c Fixes #2235 2020-09-18 15:09:55 +02:00
JC Brand
7330530d13 omemo: better error handling when some bundles can't be fetched 2020-09-18 15:09:55 +02:00
JC Brand
3af1ffc357 omemo: announce bundle info after publishing new device 2020-09-18 15:09:55 +02:00
JC Brand
32847e860f pubsub: await IQ response when publishing 2020-09-18 15:09:23 +02:00
JC Brand
5949d29460 omemo: specify pubsub item id of 'current' 2020-09-18 15:09:23 +02:00
JC Brand
87b69c1d11 Update documentation in anticipation of next release
Site HTML: make links relative
2020-09-18 11:34:14 +02:00
JC Brand
2e393d260b Update to @converse/skeletor 0.0.2 2020-09-18 11:34:14 +02:00
JC Brand
819a83f218 Fix path to Strophe's shared-connection-worker.js
Due to Lerna's hoisting, it's in the top-level node_modules
2020-09-18 11:34:14 +02:00
JC Brand
fc2a0d07ab Build improvemnets
* Remove CleanWebpackPlugin
    This pugin would wipe the non-minified files every time `make dist` was called,
    and generally made it more difficult to build only particular files.
* Use order-only prerequisites for the `dist` Make recipe
    This allows more efficient building because order-only prerequisites
    don't force a rebuild of the main recipe.
    https://www.gnu.org/software/make/manual/make.html#Prerequisite-Types
2020-09-18 11:34:14 +02:00
JC Brand
5162f3f674 connection: Fix typo
This fixes anonymous logins
2020-09-18 11:34:03 +02:00
JC Brand
dd155220f0 Use declarative autofocus for login form 2020-09-18 11:33:24 +02:00
JC Brand
4dedfdb89e Fixes #2194 Link to native builds in index.html 2020-09-17 17:28:08 +02:00
JC Brand
a0ae8135ce Fixes #1481
For OMEMO in MUC, use the real JID of the user, not the MUC JID
2020-09-17 17:12:06 +02:00
JC Brand
a72ad8a53d autocomplete: store query string on Suggestion instance 2020-09-17 14:55:52 +02:00
JC Brand
bbf4c08ffd Prevent emoji from being inserted twice 2020-09-17 13:50:52 +02:00
JC Brand
ccbf049000 emoji: raise an error if getShortnameReferences is called too soon 2020-09-17 12:24:18 +02:00
JC Brand
49cda74971 Update package-lock 2020-09-17 10:42:57 +02:00
JC Brand
7f2ba663d5 autocomplete: Use Array functions 2020-09-17 10:37:09 +02:00
JC Brand
0a82a177c4 OMEMO: ensure reflected encrypted MUC messages are identified 2020-09-17 10:37:09 +02:00
JC Brand
9fe7bfcd64 Include chatbox in 'message' event data 2020-09-16 19:08:56 +02:00
dependabot[bot]
522e7706c1 Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-15 15:43:41 +02:00
Abelardo Vieira Mota
80aeb02ba3 Update README.md - corrects typo 2020-09-15 11:04:30 +02:00
JC Brand
8d3cd687e7 Pass chatbox or _converse as context 2020-09-11 16:44:28 +02:00
JC Brand
bbcfc9f998 Bugfix. 2nd parameter for api.hook is the context 2020-09-11 16:23:51 +02:00
JC Brand
71cfc7aba1 Bugfix. Include model when manually triggering change event 2020-09-11 16:01:15 +02:00
JC Brand
c0fc3c38f3 Bump to strophe 1.4 and add sprintf 2020-09-10 14:08:43 +02:00
JC Brand
543a29bcce Fixes #2116 2020-09-10 11:08:27 +02:00
JC Brand
527c14b194 Fixes #2133 2020-09-10 10:51:57 +02:00
JC Brand
0e03640ebe Fixes #2195 2020-09-10 10:17:13 +02:00
JC Brand
5d8e5468ba Refactor converse-notifications to used parsed message attributes
instead of querying the stanza.

Also fixes a bug where typing notifications triggered an AttributeError
inside `shouldNotifyOfGroupMessage`
2020-09-10 10:10:59 +02:00
JC Brand
1873003624 Add new plugin converse-carbons
Fixes a bug whereby carbons weren't being enabled because the listener
for `afterResourceBinding` was registered before `converse.initialize`
was called,(which means it was removed as soon as `cleanup` was called
inside `converse.initialize`).

This shows that event `api.listen` API calls can/should only be called
inside the `initialize` method of a plugin (or at least once plugins
have been initialized).
2020-09-10 09:27:27 +02:00
JC Brand
2c042cc3fa Fixes #2184: Headless build relies on locale directory
Removed Jed from the headless build and instead let `__` call sprintf.

It's now up to downstream users for `@converse/headless` to decide
whether they want i18n support for the few translatable strings in that package
and to implement it themselves.
2020-09-10 08:55:38 +02:00
JC Brand
89d5c872b3 Don't mark messages as read when received in a hidden MUC 2020-09-09 16:23:53 +02:00
JC Brand
ffbab33a26 Create own occupant before setting connection_status to ENTERED
This makes it possible to wait for the connection_status before trying
to call `getOwnOccupant` in plugins
2020-09-09 15:33:50 +02:00
JC Brand
b7654f1fc7 Move some View declarations out of the plugin initialize method
Precursor to some refactoring planned
2020-09-09 15:02:40 +02:00
JC Brand
7c43d0435c Refactor OMEMO.
- Add hooks to the stanza parsers so that plugins can do additional parsing.
- Change ChatBox instance methods to functions and use them for stanza parsing.
- Move encrypt and decrypt messages to `converse.env.omemo`

Apparently, when receving a 1:1 carbon message, a device was wrongly created
for the contact's device list, instead of our own.
2020-09-09 14:04:24 +02:00
Ariel Fuggini
fce337e352 New configuration setting: notify_nicknames_without_references 2020-09-09 13:11:45 +02:00
JC Brand
e705b038f8 Fixes #2124 Concord - toolbar icons are invisible in MUC 2020-09-09 12:48:49 +02:00
Xavi Ferrer
cc458e8d3b use composedPath() instead as it is standarized and cross-browser suported 2020-09-07 15:51:34 +02:00
Xavi Ferrer
37662e8dc1 prevent dropdown from being closed after event retargeting when bubbling out of a shadowRoot 2020-09-07 15:51:34 +02:00
Christoph Scholz
6319f566dd fix emojis in case use_system_emojis == false 2020-09-05 11:33:25 +02:00
JC Brand
0594c480ff Only consider chat 'hidden' flag in relevant view modes 2020-09-04 13:13:07 +02:00
JC Brand
c3d8f12050 Make api.user.status API methods async
So that `_converse.xmppstatus` is defined before trying to set the
status.
2020-09-04 13:13:07 +02:00
JC Brand
4e7b29e417 Make sure initialize can be awaited...
before `converse.initialize` has been called

In the process, remove other "core" promises. There is no core or
community plugins code awaiting on them and since it's possible to
call `converse.initialize` twice, I'm not sure it makes sense to even have them.

Also removed unused error class IllegalMessage.
2020-09-03 17:07:44 +02:00
JC Brand
cb53c86711 Don't use date-separator CSS class for the new messages indicator 2020-09-03 13:06:17 +02:00
JC Brand
c41bdac6c8 Some work on componentizing the minimized chats UI 2020-09-03 13:06:17 +02:00
JC Brand
d5c93eb024 Create converse-root custom element
This element can be used to declaratively insert Converse into the DOM.

You can put `<converse-root>` into the DOM (e.g. by rendering it inside
a React component) before or afer Converse has loaded and/or has been
initialized.
2020-09-03 13:06:17 +02:00
JC Brand
00df8b45fd Bugfix. Check for image extension if image_urls_regex fails 2020-09-02 21:14:50 +02:00
JC Brand
496b070d2a If adding .png fallback fails, revert to original URL 2020-09-01 12:21:32 +02:00
JC Brand
ac31d41c85 Test string value for filter_url_query_params 2020-09-01 07:26:20 +02:00
Ariel Fuggini
3535d05ff5 Removes query params from urls as set in config 2020-09-01 07:12:52 +02:00
JC Brand
d83d0158e2 Properly test for show_images_inline 2020-08-31 21:02:07 +02:00
JC Brand
eb016a2aa4 try/catch clauses should contain as little code as possible
To avoid catching unrelated errors, which can mask other issues in the
code and make debugging more difficult
2020-08-31 20:56:43 +02:00
JC Brand
831a9fa224 Append .png to failed image URLs without extensions
Otherwise Imgur URLs don't render
2020-08-31 20:43:54 +02:00
Ariel Fuggini
6adec9a8d2 adds option to whitelist image domains 2020-08-31 20:38:09 +02:00
Ariel Fuggini
f88960c561 Added tests and documentation 2020-08-31 17:13:24 +02:00
Ariel Fuggini
94af11d7e3 adds setting to set non-image-extension image urls 2020-08-31 17:13:24 +02:00
Christoph Scholz
4d9d391365 add CustomElement to env 2020-08-31 17:03:23 +02:00
JC Brand
9348ac80b5 Override isHidden in converse-minimize
Otherwise `isHidden` might return true because `minimized` is set to
`true` but `converse-minimize` is not enabled.
2020-08-28 15:32:58 +02:00
Ariel Fuggini
ce2827a342 Close modal on backdrop click 2020-08-28 08:53:03 +02:00
Christoph Scholz
823134d762 add html to converse.env 2020-08-24 23:48:24 +02:00
Xavi Ferrer
fa3a825549 add changes introduced 2020-08-24 11:46:24 +02:00
Xavi Ferrer
d50151c9dd fix BOSH session restore 2020-08-24 11:46:24 +02:00
JC Brand
8c799efc58 Don't minimize chats by clicking the header
This prevents the burger menu from opening
2020-08-24 11:28:48 +02:00
JC Brand
9f0dfcdbdb Wait before firing roomsAutoJoined event 2020-08-24 11:05:51 +02:00
JC Brand
f7ef334fac Rename method to better describe what it does 2020-08-18 21:09:39 +02:00
JC Brand
7cbb1b23b2 When opening a dropdown, don't prevent other dropdowns from closing 2020-08-18 15:09:37 +02:00
JC Brand
f5aaaa8712 CSS: Make only the image clickable 2020-08-18 15:03:28 +02:00
JC Brand
372da2107a Bugfix. Pass event to handler 2020-08-17 21:30:54 +02:00
JC Brand
d44875e138 Translated using Weblate (Afrikaans)
Currently translated at 99.2% (497 of 501 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2020-08-17 09:18:16 +02:00
JC Brand
cb2759a653 Regenerate pot and po files
Also fix i18n typo in src/converse-omemo.js
2020-08-17 09:03:44 +02:00
JC Brand
306b9fdd71 Updates #2193
Also remove top-level i18n declarations in components
2020-08-17 09:00:53 +02:00
JC Brand
11cd6b8321 Fixes #2193.
Translations called at the top of template files don't apply, since the
trnaslations aren't yet fetched at that point.
2020-08-16 23:45:53 +02:00
JC Brand
3e8b3f73bd Move pot and po files to src/i18n and regenerate 2020-08-16 22:54:45 +02:00
Weblate (bot)
f51d281dc0
Translations update from Weblate (#2192)
* Translated using Weblate (Afrikaans)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 68.5% (321 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Afrikaans)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/

* Translated using Weblate (Catalan)

Currently translated at 17.0% (80 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ca/

* Translated using Weblate (German)

Currently translated at 96.3% (451 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Spanish)

Currently translated at 94.0% (440 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/

* Translated using Weblate (Hebrew)

Currently translated at 82.0% (384 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 63.4% (297 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 70.5% (330 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Lithuanian)

Currently translated at 67.3% (315 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/

* Translated using Weblate (Galician)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/

* Translated using Weblate (German)

Currently translated at 98.2% (460 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 63.8% (299 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 74.1% (347 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (French)

Currently translated at 99.3% (465 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 99.3% (465 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (German)

Currently translated at 98.2% (460 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (German)

Currently translated at 98.2% (460 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (German)

Currently translated at 98.2% (460 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (German)

Currently translated at 98.2% (460 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Italian)

Currently translated at 94.4% (442 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/

* Translated using Weblate (Russian)

Currently translated at 83.3% (390 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

* Translated using Weblate (German)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Finnish)

Currently translated at 93.8% (439 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fi/

* Translated using Weblate (Basque)

Currently translated at 77.9% (365 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Arabic)

Currently translated at 77.3% (362 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Basque)

Currently translated at 78.8% (369 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (German)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/

* Translated using Weblate (Occitan)

Currently translated at 89.3% (418 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/

* Translated using Weblate (Vietnamese)

Currently translated at 32.0% (150 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/vi/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 64.1% (300 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 63.0% (295 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 69.4% (325 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 79.9% (374 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 70.5% (330 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (French)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.2% (357 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Portuguese)

Currently translated at 82.0% (384 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ca/

* Translated using Weblate (Russian)

Currently translated at 85.0% (398 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.2% (357 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (468 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Occitan)

Currently translated at 89.9% (421 of 468 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/

Co-authored-by: JC Brand <jc@opkode.com>
Co-authored-by: Michael Lu <yeskky@gmail.com>
Co-authored-by: nautilusx <mail.ka@mailbox.org>
Co-authored-by: sergio <srg.dev@posteo.net>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Xosé M <xosem@disroot.org>
Co-authored-by: george k <norhorn@gmail.com>
Co-authored-by: Lucas Araujo <lucassants2808@gmail.com>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: opsi-gei <krummel@gei.de>
Co-authored-by: Janne E <pyskoovits@gmail.com>
Co-authored-by: IZARO BASURKO <izarobasurko@disroot.org>
Co-authored-by: ButterflyOfFire <ButterflyOfFire@protonmail.com>
Co-authored-by: Tom Teichler <gitlab@dummerdelfin.de>
Co-authored-by: Quentí <githubou@quentino.fr>
Co-authored-by: darkcloudcat <leducthn@gmail.com>
Co-authored-by: zilliu <zilliu@disroot.org>
Co-authored-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: SilvanaFP <silvana@mailbox.org>
Co-authored-by: Andrey <andrey@mailbox.org>
Co-authored-by: Mako N <mako@pasero.net>
Co-authored-by: Vincent L <vincent.laporte+weblate@mailbox.org>
2020-08-16 22:48:50 +02:00
JC Brand
fbcd7cf737 Emoji picker: Make sure events persist across add/remove from DOM 2020-08-14 15:07:15 +02:00
JC Brand
d615cebcfe Use proper i18n func 2020-08-13 15:37:50 +02:00
JC Brand
6e86fe3300 Fixes #1913. Can't connect to non-ascii JID 2020-08-13 11:26:02 +02:00
JC Brand
09371712b0 Updates #1896: Properly identify archived one-on-one messages
Also, rename attribute from `is_receipt_request` to `is_valid_receipt_request` to avoid confusion.
2020-08-13 11:09:22 +02:00
JC Brand
78bf07ecff Make sure the registry is loaded before registering custom elements 2020-08-12 18:01:23 +02:00
JC Brand
cd84feefff connection: Re-add debouncedReconnect 2020-08-12 17:50:18 +02:00
JC Brand
6fbb9463ee Bugfix. Include nick in output messages 2020-08-12 14:39:10 +02:00
Xavi
7cdc592ed9
merge only relevant settings when calling api.settings.extend (#2187)
* merge only relevant settings when calling api.settings.extend
* test behaviour is the one expected and change doesn't break previous tests
2020-08-12 10:12:10 +02:00
Xavi
bd21f27f4f
fix api.settings.update warning message (#2182) 2020-08-10 08:06:24 +02:00
JC Brand
696c8e3522 Don't clear #conversejs via innerHTML
It appears to break subsequent lit-html `render` calls on the
`#conversejs` element because lit-html still remembers parts from before
the element was cleared.
2020-07-30 12:17:23 +02:00
JC Brand
2fcce78144 Add a cleanup hook
- Move view-related cleanup code out of core.
- Call `remove` on `_converse.chatboxviews` during cleanup
2020-07-30 11:04:07 +02:00
JC Brand
5579e82fb9 Add missing parameter 2020-07-29 16:22:20 +02:00
JC Brand
4927d561a5 Maintain scroll position when re-inserting #conversejs element 2020-07-29 09:56:22 +02:00
JC Brand
867f80e95e Move MUC invite modal to its own file 2020-07-28 13:07:33 +02:00
JC Brand
23201991c1 Move the modal for adding MUCs to its own file 2020-07-28 13:07:33 +02:00
JC Brand
1898e7865d Move the MUC list modal to its own file 2020-07-28 13:07:33 +02:00
JC Brand
16ca8044f8 Add experimental support for running the XMPP conneciton inside a shared worker
Still lacks inter-tab communication to update state across tabs, i.e.
when sending a 1-on-1 message in one tab, it doesn't appear in another,
because that information is not available via the websocket connection.

- Create a new `Connection` class that extends Strophe.Connection and
    move related code from `converse-core.js` into this class.
- Store the session in localStorage when using a worker
- Move XEP-0156 code to connection.js
    This allows us to initialize the connection without needing to know the
    domain.
2020-07-27 12:43:47 +02:00
JC Brand
5e479d3bbb OMEMO: Catch timing error while testing 2020-07-27 12:42:50 +02:00
JC Brand
29383301df CSS: Fix horizontally centered spinner 2020-07-27 12:42:50 +02:00
JC Brand
a6c821be95 Use optional chaining 2020-07-24 11:50:54 +02:00
bernard ng
377dad49c7
add a separator between views (#2135)
* fixes 2059 add a separator between views
2020-07-22 10:22:59 +02:00
JC Brand
1419b4fc96 MUC: Add support for status code 333 2020-07-22 10:11:05 +02:00
JC Brand
945d7e9891 Update 3rd party dependencies 2020-07-22 10:04:59 +02:00
JC Brand
cb50de16e2 Update 3rd party dependencies 2020-07-20 13:19:12 +02:00
JC Brand
4534a343d6 CSS: Fix image modal max width 2020-07-17 18:18:24 +02:00
JC Brand
2937ea7ef4 CSS: Fix image modals in Firefox 2020-07-17 17:20:29 +02:00
JC Brand
1335a96dad Bugfix. Handle emojis for which we don't have shortnames 2020-07-17 12:59:05 +02:00
JC Brand
0da8067129 MAM: Fix a MUC timing issue.
If a message comes in after joining the MUC but before the MAM messages
have been fetched, then converse-mam will query for MAM messages newer
than that message, causing an empty history (except for that one message).
2020-07-14 22:41:26 +02:00
JC Brand
712e14c4ee Render chat history when a message gets removed 2020-07-14 18:14:17 +02:00
JC Brand
6a6d080679 Open images in a modal 2020-07-14 15:45:16 +02:00
JC Brand
6b62b51f11 Don't render images via u.addHyperlinks
It's currently only used by the MUC header to render URLs in the subject
2020-07-14 15:44:07 +02:00
JC Brand
91c130752c chatview: Scroll down on image load 2020-07-14 14:17:54 +02:00
JC Brand
282ffc622f Emoji picker fixes
- Don't replace entire textarea when entering a second emoji
- Focus emoji picker on tab completion when it's already opened
2020-07-14 11:38:00 +02:00
JC Brand
4de9816f24 Make sure emojis are initialized before parsing a message
for emoji related data
2020-07-13 15:45:37 +02:00
JC Brand
3519bfe7c6 Prevent duplicate minchats element 2020-07-13 15:45:32 +02:00
JC Brand
71add9c064 minimize: avoid unnecessary re-render 2020-07-13 14:31:59 +02:00
JC Brand
40587aa2e1 Fix linting error 2020-07-13 11:27:32 +02:00
JC Brand
8f6b1f9049 Fix help menu icon colour and let it scroll 2020-07-13 11:17:29 +02:00
JC Brand
e6d8634194 Emoji picker: properly insert emoji upon click 2020-07-13 10:59:57 +02:00
JC Brand
756a85fb53 Emoji picker: make sure search results get properly updated 2020-07-13 09:55:01 +02:00
JC Brand
43ccc09cf2 Don't assume that converse is a global 2020-07-10 14:20:02 +02:00
JC Brand
cca5c17ccb Fix failing test due to timing issue 2020-07-10 12:38:52 +02:00
JC Brand
d9fcb2b408 Hide emoji picker when sending a message via enter 2020-07-10 11:52:33 +02:00
JC Brand
5222881690 Bugfix. Properly determine when we've scrolled to top 2020-07-10 11:22:23 +02:00
JC Brand
d7bc129ce3 Get rid of Twemoji as a dependency
Fixes #2126
2020-07-10 11:21:45 +02:00
JC Brand
22573cf79b Fixes #1637 aned #2130 2020-07-09 22:44:53 +02:00
JC Brand
1269cb7252 Don't attempt to fetch a VCard if we don't have a JID 2020-07-09 22:29:06 +02:00
JC Brand
8de55ce684 Updates #2087. Only initialize minimized chats once
(i.e. not on reconnection)
2020-07-09 22:21:18 +02:00
JC Brand
99195ffd07 Fixes #2087 2020-07-09 22:11:04 +02:00
JC Brand
d0ba94e9df Replace lodash templates with lit-html 2020-07-09 22:08:23 +02:00
JC Brand
54ffd90087 Make sure the emoji picker is focused...
the first time it's opened
2020-07-09 21:21:17 +02:00
JC Brand
45ebc70bfe Let escape close the emoji picker 2020-07-09 21:14:13 +02:00
JC Brand
a014eca9e7 Add a renderImage directive which handles errors 2020-07-09 20:51:32 +02:00
JC Brand
8943609d10 Refactor the body directive
Changes how rich message markup is generated and kept track of.
We now have a MessageText class which subclasses String and which keeps
track of the rich markup associated with the message.
2020-07-09 20:50:25 +02:00
JC Brand
bb9ee4caab Enable all tests again 2020-07-09 11:15:28 +02:00
JC Brand
34c0c248be Move mentions tests into their own file 2020-07-08 14:32:06 +02:00
JC Brand
78925b011d Updates #2126
Wait for emojis to be initialized before parsing MAM messages
2020-07-08 14:08:08 +02:00
JC Brand
51ad0e3708 Fix toggling of the spoiler form 2020-07-08 11:33:06 +02:00
JC Brand
4bf823f6cd Fix show/hide of spoilers 2020-07-08 10:22:20 +02:00
JC Brand
c3d6b64f4b Turn the chat toolbar into a component
- Declaratively render the emoji picker dropup
- Got rid of converse-emoji-views
- Adapt OMEMO to the new buttons stuff
- Make emojis json global, to try and speed up tests
- omemo: Move functions to the top of the module
2020-07-08 10:17:06 +02:00
JC Brand
b8be707dc5 css: fix rounded corners for chats in overlayed mode 2020-07-07 14:08:52 +02:00
JC Brand
54f402867f Update karma config to serve icons.js 2020-07-07 13:54:22 +02:00
JC Brand
de1cc396bb registry: avoid registering already registered custom elements
which throws and error and causes tests to fail
2020-07-07 13:18:50 +02:00
Ariel Fuggini
82357f7d97 Created a web component registry and exports components as modules in order to facilitate their customization 2020-07-07 11:44:34 +02:00
Kim Alvefur
3607bb6dc8 CSS: Enlarge room title in 'embedded' view mode
So that it is the same size as in the 'fullscreen' view mode
2020-07-07 11:14:05 +02:00
JC Brand
eafa1573e7 Prefix the icon anchors to make them more unique 2020-07-02 11:56:37 +02:00
JC Brand
f4f183bc46 Rendeer SVG icons inline
to overcome cross-site restrictions on using the `use` attribute of the `<svg>` element.
2020-07-02 01:21:40 +02:00
JC Brand
a36ba22676 Test message stanza with spoiler 2020-07-01 09:25:22 +02:00
JC Brand
2cb1af3dea Assign the Skeletor Events API to CustomElement
So that components can use `listenTo`
2020-07-01 09:25:14 +02:00
JC Brand
4f209e9f04 Bugfix. Updates #2091 2020-06-30 14:19:46 +02:00
JC Brand
f8efd94249 Don't smooth-scroll upon first appearance of the chat
it's annoying in overlayed view-mode where the user might be navigating
around the site.

Fixes #2091
2020-06-30 14:11:53 +02:00
Guus der Kinderen
0c5f0e247b Removed the mockups from the project. Recommended to use tests instead. 2020-06-29 16:47:36 +02:00
JC Brand
061142e0c3 Bugfix. Don't scroll down if the user had manually scrolled up 2020-06-29 14:56:27 +02:00
Kim Alvefur
1062fbdd6b Fix #2101: Improve contrast of text in control box 2020-06-26 17:30:36 +02:00
Kim Alvefur
ea354d6bd2 Separate variable for control box text color
This will allow setting different colors in themes where the controlbox
is a different background color from the chat view and other parts, such
as the "concord" theme.
2020-06-26 17:30:36 +02:00
JC Brand
9392377ffd chatview: Remove unused template and method 2020-06-26 16:08:34 +02:00
JC Brand
9026062a32 Render chatbox message form via lit-html 2020-06-26 16:08:34 +02:00
JC Brand
694e7abe9c Bump dependencies 2020-06-26 16:00:48 +02:00
JC Brand
33a2a368d2 Move tests to make them pass on Travis 2020-06-25 15:37:32 +02:00
JC Brand
22b2875b52 emoji-picker: Move picker content into another component
to avoid re-rendering them when non-relevant properties change
2020-06-25 14:31:01 +02:00
JC Brand
bec476b601 Bump various dependencies 2020-06-25 11:19:07 +02:00
JC Brand
b7a40dad41 Add a title attribute to emojis in messages
so that you can see the shortname when you hover your mouse over an emoji.
2020-06-25 11:19:07 +02:00
JC Brand
1b520328fa Wait until emojis are initialized...
before adding them to the message body
2020-06-25 10:27:29 +02:00
JC Brand
b3e34a0636 Turn the emoji picker into a web component 2020-06-25 10:27:29 +02:00
JC Brand
be20b8e1a0 emojis: fix rendering of custom emojis 2020-06-25 10:24:45 +02:00
Ariel Fuggini
77a0a01eff
Makes message with errors non-editable (#2089)
* Makes message with errors non-editable
2020-06-25 10:22:44 +02:00
Ariel Fuggini
346e5d896f Updated selector 2020-06-25 10:19:56 +02:00
JC Brand
b6dabf7381 muc: Ensure that exact nicknames (and not substrings) are matched 2020-06-22 13:57:44 +02:00
JC Brand
e2fbfa7470 modtools: Better error reporting 2020-06-22 13:13:44 +02:00
JC Brand
a31d245136 Update to eslint 7.3.0 2020-06-22 11:01:19 +02:00
JC Brand
0120f78c87 modtools: Don't show admin...
as assignable affiliation when the current user is an admin.

https://xmpp.org/extensions/xep-0045.html#affil-priv
2020-06-22 10:50:49 +02:00
JC Brand
7c29ae4a8a Improve stying for /me messages
Show the actions dropdown on the right, like with other messages, and
don't wrap them.
2020-06-18 16:54:12 +02:00
JC Brand
0cc088a523 Use the assets_path setting for the icons sprite 2020-06-18 13:45:03 +02:00
JC Brand
e0be139783 Update copy-webpack-plugin to version 6.0.2 2020-06-18 13:33:56 +02:00
Ariel Fuggini
73d33e1161
Makes mentions case-insensitive, plus parsing functionality refactor (#2061) 2020-06-18 11:19:01 +02:00
JC Brand
2009a94ba4 Update to Strophe 1.3.6
Fixes #2067
2020-06-15 15:39:33 +02:00
Ariel Fuggini
bab71485ca Fixed bug 2020-06-15 14:35:42 +02:00
Ariel Fuggini
a78763b510 Focus on message textarea when pressing escape on emoji dropdown 2020-06-15 14:35:42 +02:00
JC Brand
6b55907ddd Bugfix. Don't remove affiliated members on probe response
by checking for the affiliation data on the probe response presence and
not on the occupant model (which might be created from a message and
therefore not yet have up to date affiliation data).
2020-06-15 12:42:20 +02:00
JC Brand
8008a2af9b Make private chats wider 2020-06-12 15:04:26 +02:00
JC Brand
1015b63ef7 Improve styling for minimized chats
* elements where too large
* ugly drop shadow
2020-06-12 15:04:18 +02:00
JC Brand
85688d1871 Add missing event registration for the ChatBoxView 2020-06-12 15:04:10 +02:00
Ariel Fuggini
29bc4215bd Moved event listener to title container 2020-06-12 15:03:53 +02:00
JC Brand
de583cbd32 Don't nest chat-msg__txt inside converse-chat-message-body
instead just set the classes directly on the custom element

As far as I can tell, this fixes #1346 (or it was fixed already)
2020-06-12 14:05:33 +02:00
JC Brand
59a5acf249 Fixes #2064 (for real this time) 2020-06-11 17:29:44 +02:00
JC Brand
80c955f267 Fix "retry" feature for message errors.
By registering a one-time event handler for a unique event name
2020-06-11 17:29:44 +02:00
JC Brand
3f7e5e29f3 Downgrade style-loader. Breaks font icons in dev server 2020-06-11 16:10:39 +02:00
JC Brand
abec9bc39e Fixes #2064 and move message markup into template
After some back-and-forth, I think it's still better to keep markup in
templates (instead of having them directly inside the components)
becaues it makes it easier for people to modify Converse.js (at the
expense of some developer ergonomics).
2020-06-11 15:27:45 +02:00
JC Brand
cf258f0b4c Add new public API method converse.insertInto 2020-06-10 12:42:46 +02:00
JC Brand
9780024dc6 Bump various dependencies 2020-06-09 11:39:58 +02:00
Florian Nitzsché
6ef2b7544a Fixes #2068: Edit prebind documentation example 2020-06-09 10:33:59 +02:00
Ariel Fuggini
48fcbfa5ea Finds names by RegExp with i param for case insensitive 2020-06-09 10:33:21 +02:00
JC Brand
22bcbfbbc8 Fixes #2063 2020-06-08 19:47:26 +02:00
JC Brand
b0cb489769 Use @converse/skeletor, lodash-es and latest webpack-dev-server 2020-06-08 19:38:16 +02:00
Ariel Fuggini
da62d27678 Fixed header image and typo 2020-06-08 18:32:29 +02:00
dependabot-preview[bot]
83da03d6eb [Security] Bump websocket-extensions from 0.1.3 to 0.1.4
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. **This update includes a security fix.**
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 16:02:36 +02:00
dependabot-preview[bot]
a2d33ce3b9 Bump uglify-js from 3.8.1 to 3.9.1
Bumps [uglify-js](https://github.com/mishoo/UglifyJS2) from 3.8.1 to 3.9.1.
- [Release notes](https://github.com/mishoo/UglifyJS2/releases)
- [Commits](https://github.com/mishoo/UglifyJS2/compare/v3.8.1...v3.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 16:01:23 +02:00
JC Brand
b511f1d950 Updates #1896: Use right flag to checked if message is archived 2020-06-08 12:25:49 +02:00
JC Brand
1059b30641 Use lit-html to render the toolbar 2020-06-06 23:23:12 +02:00
JC Brand
c2c1db587f Create a component which renders message actions in a dropdown 2020-06-05 16:02:58 +02:00
JC Brand
6ad76c14ef Fix test failure on travis 2020-06-05 16:02:23 +02:00
JC Brand
dd7bb28d86 Report traceback when waitUntil times out 2020-06-05 15:49:18 +02:00
JC Brand
58d018e868 Bugfix. Don't scroll down when user manually scrolled up 2020-06-05 12:01:06 +02:00
JC Brand
cf2497656a components/message: Add fallbacks if VCard is not defined 2020-06-04 15:34:06 +02:00
JC Brand
18b0d8db3f Don't indent followup messages when messages don't have avatars 2020-06-04 15:29:06 +02:00
JC Brand
994fdb9e37 Don't run tests in random order 2020-06-04 14:47:33 +02:00
JC Brand
7b0e9df41e New config option: show_message_avatar 2020-06-04 14:27:51 +02:00
JC Brand
95b015f01a Allow disabling of the bosh plugin 2020-06-03 17:43:57 +02:00
JC Brand
09a79d609f Create an image picker component and use it in the profile modal 2020-06-03 13:53:52 +02:00
JC Brand
c82e3e9bda Update api.vcard.set to also update the VCard model 2020-06-03 13:32:44 +02:00
JC Brand
b4e4248f40 Fixes #1960 2020-06-03 13:26:38 +02:00
JC Brand
9f7b6d6fa1 Fixes #2035 2020-06-03 10:56:38 +02:00
JC Brand
88c7d49054 Fixes #2039 2020-06-03 10:52:41 +02:00
JC Brand
0f33960d5e Dropdown doesn't hide when clicking bookmark menu item in MUC 2020-06-03 10:48:29 +02:00
JC Brand
d325059c28 Fix styling issue for the unread badge 2020-06-03 10:38:46 +02:00
JC Brand
85e9169b35 Use the API to read settings 2020-06-03 10:15:05 +02:00
JC Brand
830e060568 Rename api.settings.update to api.settings.extend
This is to try and make it clearer that this method won't override
initialization settings, and is instead simply to add to the default
settings.
2020-06-03 09:32:16 +02:00
JC Brand
279a6e6cb8 Increase test timeouts 2020-06-03 09:15:35 +02:00
JC Brand
1ff6ced3ab Don't override initialization settings via api.settings.update
This is a problem that could occur when calling converse.initialize twice
2020-06-03 09:15:35 +02:00
Ariel Fuggini
cfbdc1516f Fixed image based emojis' size 2020-06-01 19:47:24 +02:00
Ariel Fuggini
b90508db04 Fixed emojis in overlayed view 2020-06-01 19:47:24 +02:00
Ariel Fuggini
73544b5203 Fixed emoji click area and emoji picker tabs 2020-06-01 19:47:24 +02:00
JC Brand
5a57ded243 Add support for the XEP-0333 displayed chat marker
Credit for this work goes to @deleolajide
2020-06-01 18:01:02 +02:00
JC Brand
ac36adddfe Re-add support for a new messages indicator
Fixes #2040
2020-06-01 16:52:12 +02:00
JC Brand
ccd817cce1 Update to latest version of karma 2020-06-01 16:04:56 +02:00
JC Brand
deb7c63910 Add test for the /clear command 2020-06-01 15:42:37 +02:00
JC Brand
7651d58470 Render chat messages as web components
- Render chat content as a <converse-chat-content> component
- Create new component for rendering the message body
- Get rid of `showMessage` method
2020-06-01 09:53:19 +02:00
JC Brand
a497e8df3a Don't show double icons for fa-icon elements 2020-06-01 09:53:19 +02:00
JC Brand
aec0ba7148 Add lighter link hover color for concord 2020-06-01 09:53:19 +02:00
GRUNBLATT Remy
9050b2fe88 Oauth Provider settings should be an array and not an object for forEach to work 2020-06-01 09:36:54 +02:00
genofire
4b1efd1e1f fix ad-hoc commands checkbox 2020-06-01 09:25:41 +02:00
genofire
b1817daa12 fix ad-hoc commands sessionid 2020-06-01 09:25:41 +02:00
Ariel Fuggini
120f02d728 Minimize chat when clicking on title bar 2020-06-01 09:11:48 +02:00
Ariel Fuggini
d77f8d9fec Rearranged ifs to prevent unwanted spaces 2020-05-26 18:31:57 -05:00
JC Brand
e8f1f6d528 Pass both hat title and URI to template 2020-05-20 14:13:51 +02:00
JC Brand
ca7adeedbd Save hat URI, not id 2020-05-20 13:44:29 +02:00
JC Brand
1e44f45a68 core: Don't expect Strophe.BOSH to be defined 2020-05-18 18:51:40 +02:00
JC Brand
bf4b3efa5b Import _converse and api 2020-05-18 10:54:37 +02:00
JC Brand
9813d43f0b dom-navigator: Don't rely on global converse obj 2020-05-18 10:12:27 +02:00
JC Brand
2a62e9dc29 ad-hoc: Handle errors when fetching commands for an entity 2020-05-14 16:12:00 +02:00
JC Brand
ef66f2e35d Make sure messages re-render when 'error' is added 2020-05-14 15:00:47 +02:00
JC Brand
3cca2fdb7f roster: Filter contacts via all available information 2020-05-14 12:20:23 +02:00
JC Brand
a6129eeb78 Import converse instead of relying on window 2020-05-14 11:18:45 +02:00
JC Brand
35cde98e71 Fix i18n string parsing error 2020-05-14 11:18:13 +02:00
JC Brand
6453ee16d2 CSS: Fix regression. Make sure notifications div maintains height 2020-05-13 15:48:54 +02:00
JC Brand
b8f2db6e33 Move ModeratorToolsModal to separate file 2020-05-13 15:16:46 +02:00
JC Brand
49ff6369c9 Split out dropdown base class 2020-05-13 14:26:58 +02:00
Dele Olajide
cae5e9c875 Updates #1999 - Demarcate first unread message 2020-05-13 13:39:33 +02:00
JC Brand
6157189efe muc: Make sure heading renders for pre-existing occupants 2020-05-13 13:29:55 +02:00
JC Brand
7ebaac0b63 Explicitly add lit-element as dependency and update lockfile 2020-05-13 12:19:01 +02:00
Ariel Fuggini
c70a256eb1 Added mailto protocol to safe list 2020-05-13 11:18:39 +02:00
JC Brand
efb486511c Add another test for registration errors and fix bug 2020-05-12 15:32:52 +02:00
JC Brand
2f60c4399a core: SimplifyonDisconnected 2020-05-12 14:52:21 +02:00
JC Brand
2e6bfb6717 Set connection status values via constants 2020-05-12 14:51:34 +02:00
JC Brand
c2143f617a Bugfix. Converse.js stopped reconnecting
When `_doDisconnect` is called in Strophe, `authentication` is set to
`false`, so reconnection wouldn't happen anymnore

Updates #1490
2020-05-12 11:50:13 +02:00
JC Brand
2b5aeb5ed1 Document interaction between muc_send_probes and muc_fetch_members 2020-05-12 11:23:35 +02:00
sedrubal
20d70a042b Use <code> instead of <span> for fingerprint 2020-05-12 10:55:11 +02:00
Ariel Fuggini
5674056c3f Fixes, added tests 2020-05-07 18:28:19 +02:00
Ariel Fuggini
79510302fd Disallow malformed urls and urls with non-approved protocols 2020-05-07 18:28:19 +02:00
JC Brand
555c0966cc muc: save error response to a sent message onto the original model 2020-05-07 13:32:56 +02:00
JC Brand
e67230633f Add test for muc_send_probe setting 2020-05-07 10:54:03 +02:00
JC Brand
3319398f17 muc: Don't show unnecessary affiliation change message 2020-05-07 10:03:28 +02:00
JC Brand
b64b20c44d muc: fall back to finding occupant by nick 2020-05-06 18:01:59 +02:00
JC Brand
1ddf1032f5 Register listeners when occupant is added to a message 2020-05-06 18:01:59 +02:00
JC Brand
d49b630bdc Enable sending of MUC presence probes 2020-05-06 18:01:59 +02:00
JC Brand
2e82b82d7f Updated package-lock.json 2020-05-06 18:01:59 +02:00
JC Brand
98faa71e65 muc: Ensure message rerenders when occupant is added 2020-05-06 18:01:59 +02:00
JC Brand
e621362471 mam: include chatbox in data sent via MAMResult 2020-05-06 18:01:59 +02:00
Ariel Fuggini
a0de42503e Prevent selecting text in background when resizing chat box 2020-05-01 14:04:23 +02:00
JC Brand
fa30563937 Don't assume that window.converse is always defined 2020-04-30 13:27:01 +02:00
JC Brand
089a54281e Bump various 3rd party dependencies 2020-04-29 16:01:33 +02:00
JC Brand
f7a7703539 dev.html: Use libsignal from Converse.js CDN 2020-04-29 15:12:46 +02:00
Christoph Scholz
a7deb2021a make use_system_emojis==false work 2020-04-29 11:25:08 +02:00
JC Brand
5546085f0d Add keywords 2020-04-29 11:17:21 +02:00
JC Brand
f20e14282a Re-add log to _converse object 2020-04-29 10:19:57 +02:00
JC Brand
fe032867a3 Add a readme logo 2020-04-29 09:57:03 +02:00
JC Brand
db69d724bb Fix typo in js-xss data
updates #2006
2020-04-28 21:28:33 +02:00
JC Brand
2963830916 Trigger sendMessage event 2020-04-28 17:46:57 +02:00
JC Brand
6cd2fac33c Set more test timeouts 2020-04-28 12:19:22 +02:00
JC Brand
82b7e2846a Use outerHTML to render existing nickname form 2020-04-28 12:11:40 +02:00
Ari F
60134c4d35 Fixed bug showing occupants sidebar on browser tab switch 2020-04-28 12:11:40 +02:00
Christoph Scholz
f78a1372e3 fix rendering of muc_roomid_policy_hint 2020-04-28 10:52:49 +02:00
JC Brand
0c5593ed75 Various smaller fixes
- Fix failing tests.
- Bump timeout for emoji tests
- Remove unused files.
- Update features section.
2020-04-28 10:42:20 +02:00
JC Brand
5efb7b2a84 MUC: provide feedback when no rooms found 2020-04-27 18:31:56 +02:00
JC Brand
be2def5fad Docs: Remove out of date section on testing 2020-04-27 18:31:29 +02:00
JC Brand
8815699d4e Remove reference to deleted file 2020-04-27 17:56:38 +02:00
JC Brand
b5eea12d49 Refactor so that message attributes are parsed early
It's better to parse an incoming message stanza early, than to have
all kinds of methods throughout the codebase that does querySelector
etc.

Firstly, it allows us to catch and report errors and malicious stanzas early on.
It also simplifies programming because you don't need to try and
remember how to properly parse a stanza, all the work is done upfront
for you.
2020-04-27 16:34:37 +02:00
JC Brand
27008aff66 Bugfix. Add missing variable for string interpolation 2020-04-27 16:30:46 +02:00
JC Brand
bad815b429 Bugfix. Don't create multiple RosterContactView objects 2020-04-27 16:30:33 +02:00
JC Brand
77f38bb40b Document supported XEPs.
Updates #1037
2020-04-24 15:13:40 +02:00
JC Brand
958379682a muc: Render role change messages as ephemeral notifications 2020-04-23 15:11:36 +02:00
JC Brand
c6f8ef0c46 Various JSDoc related fixes and improvements
Using the `@method` directive on a `@class` means that the method
doesn't appear.
2020-04-23 13:55:08 +02:00
JC Brand
b44c0c266c mam: Add MAMResult hook 2020-04-23 13:55:08 +02:00
JC Brand
ad4999384d Reduce unnecessary logging in tests 2020-04-23 13:52:21 +02:00
JC Brand
7e2552bd8c core: Allow multiple imports 2020-04-23 13:50:35 +02:00
JC Brand
4b270359f6 Use Karma as test runner 2020-04-23 11:55:51 +02:00
JC Brand
7e23adf26f Remove the need for require.js to run tests 2020-04-22 12:10:39 +02:00
JC Brand
7eb6a17fd2 Add the ability to run tests via the webpack devserver 2020-04-21 20:18:43 +02:00
JC Brand
65246d0041 Update Makefile
- Don't unnecessarily build dist files
2020-04-21 14:25:27 +02:00
JC Brand
ac3e87965f Remove unused import 2020-04-20 19:48:09 +02:00
JC Brand
d9c41f62cf Add install recipe as alias to build and dist 2020-04-20 18:49:02 +02:00
JC Brand
c1efb0d2b4 Add an external API for sending presences 2020-04-19 09:41:38 +02:00
JC Brand
edf7f6b8d3 Show status messages via object creation 2020-04-19 08:11:53 +02:00
JC Brand
8a7b25584d Show error messages via objects
Instead of injecting them directly into the DOM.
2020-04-19 08:03:44 +02:00
JC Brand
4131850429 Allow setting of affiliation on JID of user not in the MUC 2020-04-19 06:49:03 +02:00
JC Brand
6426f9cf12 Don't hide info messages in the concord theme 2020-04-19 06:48:59 +02:00
JC Brand
2696c26ffb Add new config setting allow_adhoc_commands 2020-04-17 15:01:12 +02:00
JC Brand
fb92229f22 Rename modal 2020-04-17 14:29:09 +02:00
JC Brand
99d95b06ea Copy over new webfonts from font-awesome 2020-04-17 14:18:51 +02:00
JC Brand
622abbe128 Downgrade style-loader
Webfonts don't load when running the dev server
2020-04-17 14:17:57 +02:00
JC Brand
3630055baa Indentation 2020-04-17 11:46:17 +02:00
JC Brand
5e91adbf4e Update various 3rd party dependencies 2020-04-17 11:40:14 +02:00
JC Brand
78b60a3bd9 Fixes #515 Add support for XEP-0050 Ad-Hoc commands 2020-04-17 11:01:44 +02:00
JC Brand
60b3f7ae25 Add an autocomplete component 2020-04-17 11:01:44 +02:00
JC Brand
4c872164c3 Bugfix. Don't show 'undefined' for nick 2020-04-17 10:50:30 +02:00
JC Brand
f74e270b8a CSS: Style .form-help 2020-04-16 13:37:17 +02:00
JC Brand
be3cbe6dc3 Downgrade dayjs
Due to this bug: https://github.com/iamkun/dayjs/issues/792
2020-04-15 17:47:50 +02:00
JC Brand
0660663161 Bump various 3rd party dependencies 2020-04-15 12:31:30 +02:00
Dele Olajide
f97d827280
fix #1963 - Mentions are visually incorrect when used in message replies (#1968)
* fix #1963 - Mentions are visually incorrect when used in message replies
2020-04-15 12:25:53 +02:00
JC Brand
38bb845ce7 muc-views: ensure MUC becomes visible when opened via modal 2020-04-15 12:24:34 +02:00
JC Brand
f68f577b71 muc-views: Update ListChatRoomsModal to make better use of lit-html 2020-04-15 11:54:07 +02:00
JC Brand
590bb8e3e0 CSS: Color fixes for buttons 2020-04-15 09:30:10 +02:00
JC Brand
c9084e4ed5 muc-views: Present challenge to destroy confirmation
And also allow the user to specify the JID to where the conversation has
moved to.
2020-04-15 09:30:10 +02:00
JC Brand
16c58a966a modal: Add ability to show multiple input fields for confirm modal 2020-04-15 09:29:52 +02:00
JC Brand
78b1a5c42a Show send button by default 2020-04-14 14:49:09 +02:00
JC Brand
ced8b8acdc CSS fixes
- Use :before to make sure container maintains its height
- Don't space out words in the textarea
2020-04-14 14:45:45 +02:00
JC Brand
5cb65d84f1 Bugfix. Don't assume OMEMO store is always there 2020-04-14 14:04:26 +02:00
JC Brand
5ea7a4d127 MUC: Small updates to message fetching and queueing
- Always clear queue after fetching messages from cache
- Empty `message_queue` without waiting for all messages to first be processed.
- Don't assume that `this.messages` is set by the time `queueMessage` is called
2020-04-14 12:29:12 +02:00
JC Brand
df9612f937 Add support for XEP-0317 MUC Hats 2020-04-13 22:57:29 +02:00
JC Brand
e2a7045e22 Move MUC presence parsing code to src/headless/utils/stanza.js 2020-04-13 18:22:15 +02:00
JC Brand
a1d5563963 Move OMEMO-related message parsing to utils/stanza.js 2020-04-13 17:44:47 +02:00
JC Brand
ce1f7e090e Rename getMessageAttributesFromStanza to parseMessage 2020-04-13 17:44:47 +02:00
JC Brand
fef5292a12 Replace JID with 'XMPP Address' 2020-04-13 14:46:31 +02:00
JC Brand
df304a908f Manually merge translations from weblate 2020-04-13 14:29:39 +02:00
JC Brand
2dd6bc85ea Fixes #1961
Make sure dist dir is included in headless NPM package
2020-04-13 11:45:02 +02:00
JC Brand
8824bb26c4 Bump various dependencies 2020-04-13 11:39:00 +02:00
Matthias Heinzel
a9e6d1131a
Fix links (#1966)
* README: fix broken links

* fix references to tests.html

The file was moved in e7aed050b4
2020-04-13 11:27:23 +02:00
JC Brand
e91a38547a MUC: create role/affiliation change message objects
in @converse/headless instead of injecting HTML via the view
2020-04-13 11:21:40 +02:00
JC Brand
dcd8c8d418 CSS: Make sure notifications stick to the chat area bottom 2020-04-11 15:06:45 +02:00
JC Brand
ac4440f4bf Update 3rd party deps and disable XEP-156 to speed up tests 2020-04-10 21:13:37 +02:00
JC Brand
08b402a9c1 MUC: check for author to avoid "cleared" message for empty subject 2020-04-10 20:47:07 +02:00
JC Brand
4ef5363024 Fix failing tests 2020-04-10 16:59:34 +02:00
JC Brand
bd00bc4bca muc-views: move event listeners further down 2020-04-10 16:49:02 +02:00
JC Brand
c4c7e41981 MAM: better error logging 2020-04-10 16:04:46 +02:00
JC Brand
1c2c03dc8b CSS fix 2020-04-10 15:39:20 +02:00
JC Brand
8b496d085e Enable XEP-0156 support by default 2020-04-10 15:25:49 +02:00
JC Brand
35de251ce7 Make sure IQ timeouts are properly logged 2020-04-10 14:41:23 +02:00
JC Brand
4425c3dde7 Always show a new topic, even if the previous one was hidden 2020-04-08 14:31:18 +02:00
JC Brand
bc4d016557 Don't show duplicate topic change notifications 2020-04-08 13:08:15 +02:00
JC Brand
c4ba6735ba Bugfix. Can't cast undefined to array 2020-04-07 22:15:36 +02:00
JC Brand
a065b0c88c MUC: Clear typing notification when a message is received 2020-04-07 22:04:25 +02:00
JC Brand
c7e702368b Properly clear user settings
by first waiting until the model has been set up.
2020-04-07 19:07:51 +02:00
JC Brand
727ddc29bf Fix travis 2020-04-07 17:03:45 +02:00
JC Brand
3954e7c6fa Remove need for stamp-npm file 2020-04-07 15:10:50 +02:00
JC Brand
be073e5c21 Remove old sponsors 2020-04-07 14:31:18 +02:00
JC Brand
5b6a69e0ab Makefile: rebuild node-sass to fix build error on Travis
See: https://github.com/sass/node-sass/issues/1579#issuecomment-227663782
2020-04-07 14:13:49 +02:00
JC Brand
9c509eae4b Update to latest sass-loader 2020-04-07 14:08:01 +02:00
JC Brand
fe635989a1 Add support for Finnish translations 2020-04-07 13:47:34 +02:00
JC Brand
b1cf25f443 Regenerate pot and po files 2020-04-07 13:38:25 +02:00
JC Brand
90cc596be8 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2020-04-07 13:34:25 +02:00
anonymous
fee8b5e5fc Translated using Weblate (Chinese (Simplified))
Currently translated at 53.2% (238 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2020-04-07 13:34:25 +02:00
DFI Indonesia
fe153c466d Translated using Weblate (Indonesian)
Currently translated at 42.5% (190 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2020-04-07 13:34:25 +02:00
Allan Nordhøy
6e85a91315 Translated using Weblate (Thai)
Currently translated at 29.3% (131 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/th/
2020-04-07 13:34:25 +02:00
Quentí
ec369049b4 Translated using Weblate (Occitan)
Currently translated at 96.1% (430 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2020-04-07 13:34:25 +02:00
Allan Nordhøy
7c864ede63 Translated using Weblate (Hungarian)
Currently translated at 78.9% (353 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2020-04-07 13:34:25 +02:00
anonymous
514a989197 Translated using Weblate (Russian)
Currently translated at 89.4% (400 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2020-04-07 13:34:25 +02:00
Xosé M
a9a4b24511 Translated using Weblate (Galician)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2020-04-07 13:34:25 +02:00
Nikolaj Nielsen
852e93ffa2 Translated using Weblate (Finnish)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fi/
2020-04-07 13:34:25 +02:00
Nikolaj Nielsen
6aca0d1b4e Added translation using Weblate (Finnish) 2020-04-07 13:34:25 +02:00
Sylke Vicious
57062dfe45 Translated using Weblate (Italian)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2020-04-07 13:34:25 +02:00
Soren KIo
4b111f9df8 Translated using Weblate (French)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2020-04-07 13:34:25 +02:00
Allan Nordhøy
b31d15619d Translated using Weblate (Norwegian Bokmål)
Currently translated at 66.6% (298 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2020-04-07 13:34:25 +02:00
Michal Biesiada
f12f3e18a2 Translated using Weblate (Polish)
Currently translated at 96.4% (431 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2020-04-07 13:34:20 +02:00
Mako N
ac84ce5c4a Translated using Weblate (Japanese)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2020-04-07 13:34:09 +02:00
sergio
d9f103d706 Translated using Weblate (Spanish)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2020-04-07 13:34:09 +02:00
Tymofij Lytvynenko
180d35e968 Translated using Weblate (Ukrainian)
Currently translated at 39.6% (177 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2020-04-07 13:34:09 +02:00
nautilusx
78d6d746d6 Translated using Weblate (German)
Currently translated at 100.0% (447 of 447 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2020-04-07 13:34:05 +02:00
JC Brand
619cb8973d Update various 3rd party dependencies 2020-04-07 13:18:55 +02:00
JC Brand
9a6d6ddd1f muc-views: don't assume we already have the occcupant 2020-04-07 13:07:16 +02:00
JC Brand
8c5e4b95d0 Updates #1939: Enable smooth scrolling for short distances 2020-04-07 13:06:37 +02:00
JC Brand
5fd316816d MUC: Don't show topic change notification for old changes.
Also, show topic by creating a message object, instead of directly
inserting HTML into the DOM. This is a necessary precursor to being able
to render chat messages via lit-html/lit-element.
2020-04-07 11:49:12 +02:00
JC Brand
3e27a5ec81 Template fix. Don't render boolean value 2020-04-07 10:29:28 +02:00
JC Brand
e18fe5e212 Use the getHeadingButtons hook instead of overrides 2020-04-07 10:20:43 +02:00
JC Brand
75d64c04d9 Add a hooks API
for triggering interceptable events with the goal of modifying data.
2020-04-06 17:22:06 +02:00
JC Brand
121a3f9bed minimize: Use events instead of overriding initialize methods 2020-04-06 17:22:06 +02:00
JC Brand
531ebf335c Properly test and fix show/hide of MUC topic 2020-04-06 15:27:32 +02:00
Dele Olajide
10da630d8a
fix #1937 - Editing a message removes the mentions highlight (#1938)
* Fixes #1937 Editing a message removes the mentions highlight
2020-04-02 11:45:04 +02:00
JC Brand
bb9e394e93 muc: handle join/leave notifications similarly to CSNs
Remove the `muc_show_join_leave_status` config setting.
We don't show the optional statuses at all now.
2020-04-01 14:34:11 +02:00
JC Brand
c20dbbbbbd Store in user settings whether a MUC topic is hidden or not 2020-03-31 22:57:22 +02:00
JC Brand
e498657323 Add API for setting and accessing user settings 2020-03-31 15:01:02 +02:00
JC Brand
6391cc0803 Rename applyUserSettings to applySiteSettings 2020-03-31 14:08:34 +02:00
JC Brand
030c26a8ab Use api shortcut instead of _converse.api 2020-03-31 13:16:24 +02:00
JC Brand
d057177f1b core: Further cleanup and refactoring 2020-03-31 12:51:30 +02:00
JC Brand
8b1d4e0e9d core: refactor initialize method to make it as small as possible 2020-03-31 12:28:11 +02:00
JC Brand
631b9bb438 Use the settings API for setting and getting config settings
This is an initial step towards no longer storing and accessing settings
directly via the `_converse` object
2020-03-31 11:57:03 +02:00
JC Brand
8d81637388 Bugfix. Make sure empty history feedback message gets removed
when messages appear
2020-03-30 05:34:47 +02:00
JC Brand
095a1bc56b Fixes #1490. Don't reconnect if were weren't auth'd to begin with. 2020-03-30 05:29:21 +02:00
JC Brand
690ff1fba1 Fixes #1860 2020-03-30 04:13:46 +02:00
Holger Weiß
63b1886f50
Add missing space left to "Open Groupchats" label (#1925) 2020-03-26 11:30:40 +01:00
JC Brand
321a54323e Allow moderators to retract their own messages...
when retractions are restricted to mods only
2020-03-26 10:35:08 +01:00
JC Brand
0c0ca558ed modtools: Limit height to avoid two scrollbars 2020-03-25 13:15:50 +01:00
JC Brand
6865a73f46 Fix failing tests 2020-03-25 12:18:19 +01:00
JC Brand
e363c02041 CSS: display rendered images as blocks 2020-03-25 10:39:41 +01:00
JC Brand
42235167f8 Bugfix. Fall back to JID if nick is not set 2020-03-25 09:02:31 +01:00
dependabot-preview[bot]
6a66ba7158
Bump @fortawesome/fontawesome-free from 5.9.0 to 5.13.0 (#1921)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.9.0 to 5.13.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.9.0...5.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-25 08:47:58 +01:00
JC Brand
460d88534e CSS: set padding for csn container 2020-03-24 16:30:19 +01:00
JC Brand
3116f3dbe0 CSS: Set notifications container height 2020-03-24 16:16:52 +01:00
JC Brand
e3bd7b45f5 Distinguish between chat content and messages content.
Fixes a bug that prevented scrolling from working correctly
2020-03-24 14:34:57 +01:00
JC Brand
dc2eb30120 Bugfix 2020-03-24 12:49:35 +01:00
JC Brand
967154d314 Use optional chaining instead of lodash.get 2020-03-24 12:30:45 +01:00
JC Brand
7812d4e7b6 Show chat state notifications inside the scrollable area
Rename CSS class to conform to convention
2020-03-24 11:28:50 +01:00
JC Brand
4727f3b3bb Add support for optional chaining and nullish coalascing 2020-03-24 09:38:32 +01:00
JC Brand
5e27579ebe Don't ignore groupchat messages that also contain a CSN 2020-03-23 20:54:27 +01:00
JC Brand
57709b2e78 Sort modtools search results by nickname 2020-03-23 18:06:36 +01:00
JC Brand
00cac6d250 Add the ability to filter the results in the modtools modal 2020-03-23 14:34:19 +01:00
JC Brand
b215c59bd0 Add more XSS tests 2020-03-21 21:43:29 +01:00
JC Brand
540a85e8db Move XSS tests into a separate spec 2020-03-21 21:12:36 +01:00
JC Brand
b5d57f0ef8 Handle and render chat state notifications separately from messages 2020-03-21 17:21:53 +01:00
JC Brand
283a810d6b Use lit-html to render chatbox outlines 2020-03-21 17:21:53 +01:00
Rémy Grünblatt
bf063d4df7
Fix oauth provider template (#1916) 2020-03-20 11:31:35 +01:00
dependabot-preview[bot]
dda0838a12
Bump npm from 6.13.4 to 6.14.2 (#1906)
Bumps [npm](https://github.com/npm/cli) from 6.13.4 to 6.14.2.
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v6.13.4...v6.14.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-18 09:06:22 +01:00
dependabot[bot]
49d8fdd237
Bump acorn from 6.2.0 to 6.4.1 (#1911)
Bumps [acorn](https://github.com/acornjs/acorn) from 6.2.0 to 6.4.1.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/6.2.0...6.4.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-03-17 14:05:57 +01:00
dependabot[bot]
da492fd753
Bump minimist from 1.2.0 to 1.2.2 (#1912)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.2.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-03-17 14:03:36 +01:00
JC Brand
ca012d4479 Update to newer Skeletor.js
`.forEach` on a Collection no longer returns the models, so need to
update some tests.
2020-03-12 15:24:29 +01:00
JC Brand
9b9f9a946d CSS fix: textarea pushed off if the heading had description text 2020-03-11 11:41:46 +01:00
JC Brand
89795504a2 Add support for rendering images from Twitter 2020-03-10 12:08:07 +01:00
JC Brand
6fe802a96b Replace lodash methods with native ones 2020-03-06 15:49:48 +01:00
JC Brand
91243f64af Replace lodash methods with native ones. 2020-03-06 14:42:05 +01:00
JC Brand
b6b00887e4 Export BootstrapModal 2020-03-06 12:24:23 +01:00
JC Brand
c9f29f76e5 Use lit-html to render URLs 2020-03-06 12:24:23 +01:00
JC Brand
366dee0aa5 Bugfix. Allow moderators to retract their own messages 2020-03-05 13:42:58 +01:00
JC Brand
a7f28cd61d When creating message objects, wait for confirmation from storage
Queue messages and handle them sequentially, each time waiting for promises to
resolve before handling the next message.

Updates #1899, which likely happens because an error message is received
before messages have been fetched.
2020-03-04 15:14:57 +01:00
JC Brand
e691d858e3 Add version number and sized images to manifest.json 2020-03-03 16:00:57 +01:00
Lance Stout
a6aaf3f595 Update chat state notifications when message is edited. 2020-03-03 15:24:15 +01:00
JC Brand
f34cc63d4c Log out before running test
To avoid one test which times out, causing subsequent tests to not be
run (and therefore also time out).
2020-03-03 15:12:20 +01:00
JC Brand
831e59c1a7 controlbox: Wait when saving while closing
Otherwise we run into race conditions while testing
2020-03-03 14:38:29 +01:00
JC Brand
8aaa1a6417 core: Make clearSession a synchronous event
In order to give plugins time to properly clear data from the browser storage.
2020-03-03 10:23:46 +01:00
JC Brand
9295850789 controlbox Only call show/hide callback when the action was actually done 2020-03-03 08:21:55 +01:00
JC Brand
4b62678e2f Update changelog 2020-02-28 11:35:31 +01:00
Dele Olajide
5a9f8218c8
Fix issue 1896 (#1897)
* fix issue https://github.com/conversejs/converse.js/issues/1896

* Added issue to CHANGES.md
2020-02-28 11:24:25 +01:00
JC Brand
f02caff854 Rejoin the MUC if we receive an empty message 2020-02-27 16:40:29 +01:00
JC Brand
34c4b2aa5e Prevent empty messages from being created 2020-02-27 15:09:54 +01:00
JC Brand
804c78de81 Prevent # being added to URL when minimizing 2020-02-27 11:16:45 +01:00
JC Brand
2af93f4492 modtools: settings for which roles/affiliations may be queried or assigned 2020-02-22 23:16:22 +01:00
JC Brand
e5341d54a9 Bugfix. Dangling moderation messages not applied 2020-02-22 22:59:30 +01:00
JC Brand
61e86a3c23 Fixes #1535
Add option to destroy MUC in the dropdown context menu.
Also add a confirmation dialog.
2020-02-22 20:22:02 +01:00
JC Brand
7dc0b7bb13 Handle case where we don't have the occupant
It can now happen because we also auto-complete for nicks based on
messages in the chat
2020-02-21 17:33:46 +01:00
JC Brand
5fe23f477f modtools: Fetch affiliation list when we haven't fetched it by default 2020-02-21 16:20:30 +01:00
JC Brand
2c5cde050e CSS: fix bookmark indicator color and add title 2020-02-21 15:30:28 +01:00
JC Brand
c69a2abc45 modtools: Replace Backbone.View events with lit-html events 2020-02-21 15:25:57 +01:00
JC Brand
d07b9510a2 modtools: Show affiliations tab first 2020-02-21 15:01:19 +01:00
JC Brand
a1a2b501ee modools: Restrict which affiliations and roles can be set
bsaed on `muc_disable_slash_commands`
2020-02-21 13:21:25 +01:00
JC Brand
cd442f27c4 modtools: Remove duplicate roles in dropdown 2020-02-21 13:06:15 +01:00
JC Brand
3c9ec96350 MUC: create references for nicks gathered from messages 2020-02-21 12:30:40 +01:00
JC Brand
2ac33c77b3 Fix linting errors 2020-02-20 19:18:06 +01:00
JC Brand
d361d1d0a3 MUC: Include nicks from messages in the mentions auto-complete list 2020-02-20 19:14:34 +01:00
JC Brand
62ef18a027 muc_fetch_members now accepts an array of affiliations 2020-02-20 18:39:56 +01:00
JC Brand
590a8862bc Don't validate message creation
This causes messages to be created but then not populated, causing empty
messages appearing in the chat after page relaod.

Fixes #1886
2020-02-20 13:08:12 +01:00
JC Brand
c7e57936fb Bugfix. Handle empty content 2020-02-20 13:08:12 +01:00
dependabot-preview[bot]
56cbb69ad1
Bump mini-css-extract-plugin from 0.7.0 to 0.9.0 (#1878)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.7.0 to 0.9.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.7.0...v0.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-20 13:07:14 +01:00
JC Brand
49817a850f MUC: Queue messages received before we're ready 2020-02-20 07:13:04 +01:00
JC Brand
58f6d36564 MUC: wait for messages collection to be initialized
before processing MUC messages received prematurely due to SMACKS
resumption.
2020-02-19 14:22:24 +01:00
dependabot-preview[bot]
bc48e413f1
Bump bootstrap from 4.3.1 to 4.4.1 (#1883)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.3.1 to 4.4.1.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.3.1...v4.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-19 14:00:46 +01:00
JC Brand
0137eb88ae Smacks: Handle MUC messages received before the MUC exists 2020-02-19 13:39:07 +01:00
JC Brand
5b5c4595cc Rename hide_subject to subject_hidden 2020-02-18 17:26:49 +01:00
JC Brand
ce08819a43 Retracted moderated sent message should not be editable. 2020-02-18 16:47:52 +01:00
JC Brand
ead8cdbcd6 Retracted moderated message should not be editable.
Also, don't set retracted MUC messages as ephemeral, we want to keep on
showing them to provide context in a MUC.
2020-02-18 16:06:59 +01:00
JC Brand
227b70339c Bugfix. Retracted messages shouldn't be editable. 2020-02-18 15:45:55 +01:00
JC Brand
004d2b7f23 Fix method name in log 2020-02-18 15:45:55 +01:00
JC Brand
bcbde04530 Copy sounds dir to dist and use assets_path for sounds_path 2020-02-16 12:30:25 +01:00
JC Brand
a81e019427 Revert "Bump dayjs from 1.8.15 to 1.8.20 (#1881)"
This reverts commit 776bbe74ab.
2020-02-16 12:21:41 +01:00
JC Brand
f564a1edaf Show reason and actor for ban/kick events 2020-02-14 13:19:12 +01:00
JC Brand
39d140005e Change when/how chats are shown
Goal is to fix a timing bug that results in `show` being triggered
before the `ChatBoxView` has been initialized, which means that 1:1
chats aren't opened when you reload the page.
2020-02-14 11:06:04 +01:00
dependabot-preview[bot]
da493430f8
Bump jsdoc from 3.6.2 to 3.6.3 (#1874)
Bumps [jsdoc](https://github.com/jsdoc/jsdoc) from 3.6.2 to 3.6.3.
- [Release notes](https://github.com/jsdoc/jsdoc/releases)
- [Changelog](https://github.com/jsdoc/jsdoc/blob/master/CHANGES.md)
- [Commits](https://github.com/jsdoc/jsdoc/compare/3.6.2...3.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-14 09:34:30 +01:00
dependabot-preview[bot]
776bbe74ab
Bump dayjs from 1.8.15 to 1.8.20 (#1881)
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.8.15 to 1.8.20.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.8.15...v1.8.20)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-14 09:24:08 +01:00
dependabot-preview[bot]
170d56b774
Bump autoprefixer from 9.6.1 to 9.7.4 (#1882)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.6.1 to 9.7.4.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.6.1...9.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-14 09:23:03 +01:00
JC Brand
3400acbfeb Show MUC buttons in a dropdown menu
- Get rid of the ChatBoxHeading class
- Add support for showing standalone buttons in overlay viewmode
2020-02-13 20:57:47 +01:00
JC Brand
2a7773dce5 Bump bootstrap.native 2020-02-13 20:03:48 +01:00
JC Brand
c2fe2aabff Fix webpack issue where copied font files get removed 2020-02-13 17:00:56 +01:00
JC Brand
ed411c226d Avoid creating Message objects for empty messages 2020-02-13 16:31:13 +01:00
JC Brand
f6f7d05c8b Revert "Add terser minifier for webpack"
This reverts commit 34436b7f56.

I'm experiencing issues with map files while using the debugger in
the browser console.
2020-02-13 16:30:36 +01:00
JC Brand
34436b7f56 Add terser minifier for webpack 2020-02-13 14:42:59 +01:00
JC Brand
98963366b7 Add the clean-webpack-plugin 2020-02-13 14:30:29 +01:00
JC Brand
2d57f6c889 Make sure webfonts dir is copied over
Also move `custom_emojis` dir out of `dist` and copy it over as well.
2020-02-13 13:42:18 +01:00
JC Brand
d833120f5e Fixees #1747
Don't rewrite the urls for assets loaded via `url()` in CSS.

Instead, they should be relative to the CSS file.
2020-02-13 12:31:10 +01:00
dependabot-preview[bot]
49fa881be8
[Security] Bump npm from 6.11.3 to 6.13.4 (#1870)
Bumps [npm](https://github.com/npm/cli) from 6.11.3 to 6.13.4. **This update includes security fixes.**
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v6.11.3...v6.13.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-13 11:31:36 +01:00
dependabot-preview[bot]
2598a8fa8d
[Security] Bump tar from 2.2.1 to 2.2.2 (#1869)
Bumps [tar](https://github.com/npm/node-tar) from 2.2.1 to 2.2.2. **This update includes a security fix.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v2.2.1...v2.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-13 10:01:13 +01:00
dependabot-preview[bot]
7fafabf7c4
Bump uglify-js from 3.7.4 to 3.7.7 (#1871)
Bumps [uglify-js](https://github.com/mishoo/UglifyJS2) from 3.7.4 to 3.7.7.
- [Release notes](https://github.com/mishoo/UglifyJS2/releases)
- [Commits](https://github.com/mishoo/UglifyJS2/compare/v3.7.4...v3.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-13 10:00:13 +01:00
dependabot-preview[bot]
c31b19a640
Bump webpack-merge from 4.2.1 to 4.2.2 (#1872)
Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/survivejs/webpack-merge/releases)
- [Changelog](https://github.com/survivejs/webpack-merge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/survivejs/webpack-merge/compare/v4.2.1...v4.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-13 09:59:43 +01:00
dependabot-preview[bot]
88ff2276e3
[Security] Bump fstream from 1.0.11 to 1.0.12 (#1862)
Bumps [fstream](https://github.com/npm/fstream) from 1.0.11 to 1.0.12. **This update includes a security fix.**
- [Release notes](https://github.com/npm/fstream/releases)
- [Commits](https://github.com/npm/fstream/compare/v1.0.11...v1.0.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 12:38:21 +01:00
dependabot-preview[bot]
e8b750c54f
[Security] Bump mixin-deep from 1.3.1 to 1.3.2 (#1866)
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. **This update includes a security fix.**
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 12:38:01 +01:00
dependabot-preview[bot]
2a21a35a8e
[Security] Bump https-proxy-agent from 2.2.2 to 2.2.4 (#1864)
Bumps [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) from 2.2.2 to 2.2.4. **This update includes security fixes.**
- [Release notes](https://github.com/TooTallNate/node-https-proxy-agent/releases)
- [Commits](https://github.com/TooTallNate/node-https-proxy-agent/compare/2.2.2...2.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 12:37:36 +01:00
dependabot-preview[bot]
788a3b930f
Bump install from 0.9.6 to 0.13.0 (#1865)
Bumps [install](https://github.com/benjamn/install) from 0.9.6 to 0.13.0.
- [Release notes](https://github.com/benjamn/install/releases)
- [Commits](https://github.com/benjamn/install/compare/v0.9.6...v0.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 12:36:54 +01:00
dependabot-preview[bot]
d893d7853b
Bump http-server from 0.11.1 to 0.12.1 (#1861)
Bumps [http-server](https://github.com/http-party/http-server) from 0.11.1 to 0.12.1.
- [Release notes](https://github.com/http-party/http-server/releases)
- [Commits](https://github.com/http-party/http-server/compare/0.11.1...v0.12.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 12:36:10 +01:00
dependabot-preview[bot]
177501a14a
Bump @babel/plugin-syntax-dynamic-import from 7.2.0 to 7.8.3 (#1867)
Bumps [@babel/plugin-syntax-dynamic-import](https://github.com/babel/babel) from 7.2.0 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.2.0...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 12:35:52 +01:00
dependabot-preview[bot]
a5b68b09ef
Bump sinon from 7.3.2 to 8.1.1 (#1868)
Bumps [sinon](https://github.com/sinonjs/sinon) from 7.3.2 to 8.1.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v7.3.2...v8.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 12:34:26 +01:00
JC Brand
ad4c6dd60c Generate new pot and po files 2020-02-11 10:13:29 +01:00
JC Brand
181d18fcfe Translation and undefined variable fixes 2020-02-11 10:13:23 +01:00
GriZmio
897d3af277
Allow ignore bootstrap modules at build (#1852)
* This allow you to ignore some bootstrap modules you have already included/imported
to your project. Fix error: In a webpage you are already using bootstrap and have
a dropdown, but you have to click twice to make it work, because conversejs added
another handler.

* Add:
   - Allow ignoring bootstrap modules using environment variable: BOOTSTRAP_IGNORE_MODULES="Modal,Dropdown".
     Example: export BOOTSTRAP_IGNORE_MODULES="Modal,Dropdown" ; make dist
2020-02-11 09:53:37 +01:00
JC Brand
5edb62c3c0 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (440 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2020-02-11 09:52:00 +01:00
Arunothai Supsook
2775f24610 Translated using Weblate (Thai)
Currently translated at 32.2% (142 of 441 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/th/
2020-02-11 09:52:00 +01:00
Arunothai Supsook
054f4174a2 Added translation using Weblate (Thai) 2020-02-11 09:52:00 +01:00
Prachi Joshi
4a5e30717c Translated using Weblate (Marathi)
Currently translated at 8.6% (38 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/mr/
2020-02-11 09:52:00 +01:00
Антон
08f1b73c34 Translated using Weblate (Russian)
Currently translated at 88.2% (388 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2020-02-11 09:52:00 +01:00
Szilágyi Gyula
8d91c33c0b Translated using Weblate (Hungarian)
Currently translated at 83.0% (365 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2020-02-11 09:52:00 +01:00
Tymofij Lytvynenko
a16851fa92 Translated using Weblate (Ukrainian)
Currently translated at 31.4% (138 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2020-02-11 09:52:00 +01:00
Nathan
65f40e493f Translated using Weblate (French)
Currently translated at 99.8% (439 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2020-02-11 09:52:00 +01:00
Licaon Kter
02509eb43e Translated using Weblate (Romanian)
Currently translated at 48.9% (215 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2020-02-11 09:52:00 +01:00
Mako N
ef3bff76fe Translated using Weblate (Japanese)
Currently translated at 100.0% (440 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2020-02-11 09:52:00 +01:00
Xosé M
ee91745545 Translated using Weblate (Galician)
Currently translated at 100.0% (440 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2020-02-11 09:52:00 +01:00
JC Brand
64f5bfa09f Don't gatekeep rendering of the chatroom heading 2020-02-10 23:21:35 +01:00
JC Brand
faa02b058d Make sure messages Collection exists when we receive an error message 2020-02-10 18:41:32 +01:00
JC Brand
893ef10563 Use lit-html to render chat head 2020-02-07 16:09:12 +01:00
JC Brand
2235d4c432 Use lit-html to render MUC heading 2020-02-07 14:58:26 +01:00
JC Brand
64e8291eaf Set padding for chat-head 2020-02-07 13:45:25 +01:00
JC Brand
15f15e9a09 Bugfix. Declare parameter 2020-02-07 13:34:22 +01:00
JC Brand
cf5f78cb79 Use 10% avatar border radius for concord theme 2020-02-07 13:28:33 +01:00
JC Brand
5fd3ce0138 Remove flyout padding in fullscreen view mode 2020-02-07 13:19:35 +01:00
JC Brand
7d91b17552 Rename methods to clarify their purpose 2020-02-07 12:42:19 +01:00
JC Brand
0653505a40 tests: Use u.getUniqueId instead of time for message ids 2020-02-07 12:35:54 +01:00
JC Brand
fb9fe280ac Updates to how dupes are detected.
- Collapse 3 different loops into one.
- Check all saved stanza ids in the parsed attrs, not just the archive id
- Remove check for archive id in converse-mam since it just duplicates what's now being done in converse-chat
- Don't use disco to check for support, XEP-359 mandates that services SHOULD advertise support,
  which is not a strong enough guarantee that they do.

updates #1856
2020-02-07 12:35:45 +01:00
JC Brand
746fe441e2 Updates the message parsing.
Only set `id` once we've actually parsed the sender attributes,
otherwise `attrs.from` is `undefined`.

Use `Array.prototype.reduce` to generate stanza_ids attributes map.

Add `from_muc` attribute which contains the MUC JID
2020-02-07 12:12:38 +01:00
JC Brand
d2b6b41128 emoji-picker: Make sure that emojis as images are rendered properly 2020-02-06 16:27:44 +01:00
JC Brand
976c3d6006 Remove the formdata and promise polyfills 2020-02-06 15:20:29 +01:00
JC Brand
a1670462ca Remove jquery and undersscore shims 2020-02-06 14:51:50 +01:00
JC Brand
9b279ad39d Various emoji-picker fixes after recent refactoring
- Fix choosing of a categoy
- Make the highlight color darker (more visible)
2020-02-05 23:20:51 +01:00
JC Brand
9e86b5e8df emoji-picker: Disable using the right arrow to initiate keyboard nav 2020-02-05 18:05:32 +01:00
JC Brand
4b3d330190 Avoid sending blur event when navigating the emoji picker
Also, listen to the `focusin` and `focusout` events, since they bubble,
allowing us to listen on the chatbox itself.
2020-02-05 16:08:54 +01:00
JC Brand
6e8a987694 Fix failing test (when run in isolation) 2020-02-04 13:46:43 +01:00
JC Brand
f854e477b7 Add placeholder to MUC invite modal input 2020-02-03 23:24:44 +01:00
JC Brand
7279f08a34 Update to newer skeletor which can return a promise on create 2020-02-03 23:24:44 +01:00
JC Brand
7d7c41a135 OMEMO: fix timing errors
- Use async/await
- Wait for devices to be created before continuing
2020-02-03 23:24:44 +01:00
JC Brand
f78837cbc5 Refactor identification of duplicates...
to rely on the parsed stanza attributes

This was to fix a bug whereby a full stanza was used to query for 1:1
messages with a full JID when the bare JID is stored.

We now are sure that the attributes we're using to query for duplicates
are the same attributes that get saved for a messages.
2020-02-03 23:24:44 +01:00
JC Brand
6430691c22 Fix template condition 2020-01-31 22:50:13 +01:00
JC Brand
6b4bdb636e sidebar: Show shortened text in overlay mode 2020-01-30 22:03:08 +01:00
JC Brand
e3708bd598 Refactor headlines list to render everything with one view 2020-01-30 19:57:04 +01:00
JC Brand
c55a2171d5 Refactor headlines-view
* Use lit-html
* Let it look and behave similarly to other list views in the controlbox
2020-01-30 19:37:00 +01:00
JC Brand
73fa24a844 headlines: move view code into converse-headlines-view.js 2020-01-30 18:18:27 +01:00
JC Brand
17b86f0491 Update changelog 2020-01-30 17:39:40 +01:00
JC Brand
e2e70c221a Various concord theme styling fixes 2020-01-30 17:36:55 +01:00
JC Brand
ed287df43a No need to set id manually 2020-01-30 17:36:55 +01:00
JC Brand
29aed314c1 Remove Backbone
* Remove backbone as NPM deps and from docs
* Remove backbone stuff from webpack
2020-01-30 17:36:55 +01:00
JC Brand
fef92ad99e oauth: Replace VDOMView with HTMLView 2020-01-30 17:36:55 +01:00
JC Brand
8b5227761e Replace roster filter VDOMView with HTMLView 2020-01-30 17:36:55 +01:00
JC Brand
39f189b1d1 Use HTMLView for login form 2020-01-30 17:36:55 +01:00
JC Brand
30d08d2bfe muc-views: Remove features section...
and replace with button to open invite modal
2020-01-30 17:36:55 +01:00
JC Brand
9fb2056753 Move MUC invite widget into a modal 2020-01-30 17:36:55 +01:00
JC Brand
c6ac03e94e Fix linting errors 2020-01-30 17:36:55 +01:00
JC Brand
d32c4c1f61 muc-views: replace VDOMView with HTMLView 2020-01-30 17:36:55 +01:00
JC Brand
9fb2d279e9 Replace VDOMView with HTMLView 2020-01-30 17:36:55 +01:00
JC Brand
393a96cf02 roomslist: remove Backbone 2020-01-30 17:36:55 +01:00
JC Brand
c4b48d701f bookmark-views: Changes templates to lit-html 2020-01-30 17:36:55 +01:00
JC Brand
d310f1e3e4 emoji-views: use lit-html for templating
* declare picker events in lit-html
* init intersection observer only once
* don't set value manually
* don't manually add classes
* avoid x-scrollbar and 'undefined' in search input
2020-01-30 17:36:55 +01:00
JC Brand
11e219dd41 Update copyright 2020-01-30 17:36:55 +01:00
JC Brand
ad93407907 Replace modal templates with lit-html components 2020-01-30 17:36:55 +01:00
JC Brand
a8104d7498 Add Skeletor as dependency 2020-01-30 17:36:55 +01:00
JC Brand
a219b0bc3f Better IndexedDB error handling 2020-01-30 17:36:55 +01:00
JC Brand
be632b3600 Make overlay MUC wider 2020-01-30 17:36:55 +01:00
JC Brand
6459a786db Fix positioning of chat status indicators in chat status modal 2020-01-30 17:36:55 +01:00
JC Brand
50e6c8a082 roster: refactor to use async/await 2020-01-30 17:36:55 +01:00
JC Brand
b08f5d355b roster: avoid race-condition by waiting for contacts to be fetched
before creating any new ones
2020-01-30 17:36:55 +01:00
laszlovl
cde6b093c0 Fix incrementMsgCounter cleaning up after itself 2020-01-27 17:53:36 +01:00
wrooot
ee6b8be7ad Update Lithuanian (lt) translation 2020-01-27 17:49:57 +01:00
Xosé M
1b12221a6d Translated using Weblate (Galician)
Currently translated at 100.0% (440 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2020-01-27 17:49:24 +01:00
Allan Nordhøy
ddf2a06ab8 Translated using Weblate (Norwegian Bokmål)
Currently translated at 68.9% (303 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2020-01-27 17:49:24 +01:00
Szilágyi Gyula
a0ad0e248e Translated using Weblate (Hungarian)
Currently translated at 81.4% (358 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2020-01-27 17:49:24 +01:00
nautilusx
d884edb8df Translated using Weblate (German)
Currently translated at 100.0% (440 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2020-01-27 17:49:24 +01:00
Marcin Net
eb9141cb05 Translated using Weblate (Polish)
Currently translated at 100.0% (440 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2020-01-27 17:49:24 +01:00
sergio
c473167017 Translated using Weblate (Spanish)
Currently translated at 100.0% (440 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2020-01-27 17:49:24 +01:00
Yaron Shahrabani
764a3370c5 Translated using Weblate (Hebrew)
Currently translated at 91.4% (402 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2020-01-27 17:49:24 +01:00
nautilusx
28115661b9 Translated using Weblate (German)
Currently translated at 98.0% (431 of 440 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2020-01-27 17:49:24 +01:00
Christoph Scholz
a472a0806e show headline messages in controlbox 2020-01-23 11:32:15 +01:00
JC Brand
464c68a3b6 Fix typo 2020-01-22 15:58:28 +01:00
JC Brand
bda704901f emoji-views: lazily render picker only once user clicks to open 2020-01-22 15:00:16 +01:00
JC Brand
f3472e1b9f emoji: Add initialize API method and call when chat view gets created 2020-01-22 13:20:59 +01:00
JC Brand
2f76397590 Bump timeout for rendering an image to 20secs 2020-01-21 15:39:35 +01:00
JC Brand
901f70272e message-view: Re-use image element and fix autoscroll after image loads 2020-01-21 15:32:34 +01:00
JC Brand
685c9585f4 Fix linting error 2020-01-21 14:06:47 +01:00
JC Brand
234b273ca6 message-view: Add support for rendering Imgur URLs 2020-01-21 13:53:59 +01:00
JC Brand
b0a9782d31 emoji: Lazy load the emoji JSON
Only load it once the first chat has been opened.
2020-01-21 12:45:34 +01:00
JC Brand
d5472a8d23 muc-views: Use native methods instead of lodash 2020-01-21 11:46:39 +01:00
JC Brand
17ef50f662 muc-views: admins can also change the MUC subject 2020-01-17 14:50:25 +01:00
JC Brand
161cbec0d8 For forbidden errors, show error message from server 2020-01-17 14:44:05 +01:00
JC Brand
b2a4ff7a85 muc-views: don't accept non-allowed commands 2020-01-17 13:56:58 +01:00
JC Brand
79cc160772 chatview: Make sure char counter is updated and textarea is focused 2020-01-17 12:53:45 +01:00
JC Brand
4bad10cd21 muc-views: Fix mess in previous commit 2020-01-17 12:17:06 +01:00
JC Brand
16d2fa3f48 muc-views: Don't show subject change message in new MUC 2020-01-17 05:36:07 +01:00
JC Brand
3d3d97e75b Restrict /topic command to allowed users 2020-01-16 15:28:02 +01:00
JC Brand
aa86a8be32 muc: Store room configuration (e.g. disco#info fields) on the MUC
This will make it easier to add config-based functionality, such as
allowing/showing the `/topic` slash command only to those users who are
allowed to set the subject.
2020-01-16 15:28:02 +01:00
JC Brand
929a00e1cd Fixes #1836 2020-01-16 13:48:46 +01:00
JC Brand
851930f980 Update docs around session management and move to own section 2020-01-16 13:38:07 +01:00
JC Brand
d17ae811d7 More CSS and test fixes 2020-01-15 15:48:31 +01:00
JC Brand
f367157d75 Try to work around a Chromium flexbox bug.
The .chat-content are doesn't resize when the textarea gets resized to
its original size once a message gets sent.
2020-01-15 14:38:48 +01:00
JC Brand
a7c658a21c chat-head CSS fixes 2020-01-15 14:23:27 +01:00
JC Brand
8a4c71305f Fix failing tests 2020-01-15 14:23:05 +01:00
JC Brand
17e9f5607d Set meta and noscript tags 2020-01-15 11:40:40 +01:00
JC Brand
66d1a65432 Update chat head markup and CSS
- Use flexbox where possible
- Simplify header by using `justify-content` instead of setting column widths
- Show description below the row containing the title and buttons
2020-01-14 13:38:27 +01:00
JC Brand
9ce315dece Bugfix. Handle stanza that clears the MUC subject 2020-01-14 10:07:23 +01:00
JC Brand
5128bc9eb0 Remove apparently unnecessary Boostrap modules 2020-01-13 11:18:02 +01:00
Christoph Scholz
40726e06e9 A user can now add himself as a contact 2020-01-13 10:30:00 +01:00
Christoph Scholz
e2d744ddc4 config option for roomid validation 2020-01-13 09:01:21 +01:00
JC Brand
496e5ba46d Fix linting error 2020-01-13 09:00:08 +01:00
JC Brand
2a3ca93256 core: don't use Chrome-only check for web auth support 2020-01-12 01:35:44 +01:00
JC Brand
22ff93c3a7 core: Import individual lodash methods
and use some native ones instead
2020-01-12 01:08:37 +01:00
Christoph Scholz
d0ee41d4fb focus now on jid field after controlbox is loaded 2020-01-11 23:26:36 +01:00
Christoph Scholz
36e56052bc don't log error if user has no bookmarks 2020-01-10 21:12:59 +01:00
JC Brand
916e300a79 Updates #1313 and #1793: Send button improvements 2020-01-10 15:40:46 +01:00
JC Brand
9c5fc2e4d3 Use package.json files to specify more precisely what gets packed 2020-01-10 13:29:42 +01:00
JC Brand
91fc8c52d7 Document show_send_button 2020-01-10 13:04:33 +01:00
JC Brand
e866248227 Don't include vim temp-files in release tarball
and bump post-release version number
2020-01-10 13:04:05 +01:00
Christoph Scholz
7d94c712c8 notification is now clickable 2020-01-10 11:55:17 +01:00
JC Brand
c15b4b3ac9 Small concord theme fixes 2020-01-10 11:02:40 +01:00
JC Brand
16a40a0974 Fix broken changelog links and add missing config entry 2020-01-10 10:26:01 +01:00
JC Brand
a033cc63e3 Update release notes 2020-01-10 10:05:36 +01:00
JC Brand
cb68308d5b Fix JSDOC comment 2020-01-10 09:04:54 +01:00
JC Brand
cd60614f88 Release 6.0.0 2020-01-09 17:15:43 +01:00
JC Brand
e78aa68233 Build website css when running make dist 2020-01-09 17:07:31 +01:00
JC Brand
4f4b10d2a3 muc: initialize occupants early to avoid timing issues...
in converse-omemo which relies on `chatbox.occupants` existing in the
`add` handler.
2020-01-09 17:07:31 +01:00
JC Brand
ff799a41f6 emoji-views: handle navigator not being instantiated yet 2020-01-09 17:07:31 +01:00
Prachi Joshi
ee9c29d1f9 Translated using Weblate (Marathi)
Currently translated at 5.0% (21 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/mr/
2020-01-09 15:48:29 +01:00
Antonio Morais
162445e5ed Translated using Weblate (Portuguese (Brazil))
Currently translated at 85.6% (363 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2020-01-09 15:48:29 +01:00
Prachi Joshi
1361b5e146 Translated using Weblate (Marathi)
Currently translated at 4.7% (20 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/mr/
2020-01-09 15:48:29 +01:00
Prachi Joshi
6737aebe0f Added translation using Weblate (Marathi) 2020-01-09 15:48:29 +01:00
Balázs Úr
a921f68f8a Translated using Weblate (Hungarian)
Currently translated at 83.0% (352 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2020-01-09 15:48:29 +01:00
sergio
481f800cbd Translated using Weblate (Spanish)
Currently translated at 96.7% (410 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2020-01-09 15:48:29 +01:00
Antonio Morais
0fd025d8b9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 84.7% (359 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2020-01-09 15:48:29 +01:00
JC Brand
6f7d2ed39a Add manifest.json 2020-01-09 15:43:08 +01:00
JC Brand
9cbc15d4a6 Updates #1806 2020-01-09 15:01:37 +01:00
JC Brand
4018dd959e Fixes #1764: Incorrect URI encoding in references 2020-01-09 14:59:45 +01:00
JC Brand
2dae07fa87 Fixes #1791: Adhere to the auto_focus setting 2020-01-09 14:28:43 +01:00
JC Brand
224f41ca8a Remove autofocus, it's bad for accessibility and mobile usability
See here: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autofocus
2020-01-09 14:15:16 +01:00
JC Brand
158f3f0025 utils/html: expose more methods 2020-01-09 14:11:09 +01:00
JC Brand
ef1f16c186 Fixes #1767: Remove JID so that credentials_url is called...
when the user logs out and then in again
2020-01-09 11:05:37 +01:00
JC Brand
72e6fb5ef0 Refactor rendering of OOB urls and images
- limit the number of instantiations of URI
- Handle try/catch of URI invoking in one place (`getURI`)
- Reduce exposed interface of utils/html.js by making some methods internal functions
2020-01-09 11:34:39 +02:00
Christoph Scholz
13652f6a6f Errors caused by malformed URLs are now caught 2020-01-09 10:59:19 +02:00
JC Brand
6ad0426a7d Fix linting errors 2020-01-08 12:27:17 +01:00
JC Brand
6f4b490b37 CSS: Apply highlight color on link, to avoid misalignment 2020-01-08 12:20:20 +01:00
JC Brand
17654aaf40 emoji-views: incorporate tab-based navigation 2020-01-08 11:38:31 +01:00
JC Brand
e87db91e2d dom-navigator: properly call static method.
emoji-views: Add scroll offset
2020-01-07 18:46:05 +01:00
JC Brand
b339f99cbf minimize: Call initMinimizedChats earlier
We don't need to wait until we have the user JID given that this is just
a view being instantiated.
2020-01-07 18:19:52 +01:00
JC Brand
0524352446 Fix linting errors and update changelog 2020-01-07 15:59:29 +01:00
JC Brand
995f2a9997 Add arrow navigation to the emoji picker 2020-01-07 15:47:05 +01:00
JC Brand
2b213d0561 log: properly log to the set level 2020-01-06 10:40:18 +01:00
JC Brand
30bd4d34c9 Handle errors when attempting to clear IndexedDB store 2020-01-06 10:37:09 +01:00
Yaskhan
1653c1ae92 Update converse-mam.js
I think why do not come archives from group chats, and it turns out that you need to add "groupchat" in options. I spent half an hour searching in the documentation, and half an hour searching in the convers tests. And finally found in tests.
2019-12-26 15:56:04 +02:00
JC Brand
d8e561ef7e Fix linting errors 2019-12-20 16:02:53 +01:00
JC Brand
0d8b3e1839 Fixes #1806: Two file upload buttons appear in MUC 2019-12-19 17:29:33 +01:00
JC Brand
9b4276721c Remove unnecessary await statement 2019-12-19 13:12:12 +01:00
JC Brand
da319604b6 Fixes #1735: Chatboxes stay empty after logging out and in again
The problem was that the `emojisInitialized` promise was re-created upon
logout and then no longer resolved upon subsequent login.

The `_converse.api.promises.add` method now takes another parameter
`replace` which determine whether it should be replaced upon logout or
not.

The `emojisInitialized` promise will now not get replaced.
2019-12-18 16:09:44 +01:00
JC Brand
8b6c902c4c Set VCards via events, thereby reducing coupling
- Rename `chatRoomOpened` event to `chatRoomViewInitialized`
- Rename `chatBoxInitialized` to `chatBoxViewInitialized` and trigger only for `ChatBoxView` instances.
- New event `headlinesBoxViewInitialized`
- Trigger the `chatBoxInitialized` event when a new `_converse.ChatBox` is opened.
2019-12-18 15:20:51 +01:00
JC Brand
c3102561f4 updates #1795: Only download metadata for video files 2019-12-18 15:20:51 +01:00
JC Brand
c6c65749bb rosterview: use push instead of the non-existent append 2019-12-18 12:07:25 +01:00
JC Brand
a246aef823 muc-views: clear empty history indicator when inserting a date 2019-12-18 12:07:25 +01:00
dependabot[bot]
115ee46e09 Bump npm from 6.11.3 to 6.13.4
Bumps [npm](https://github.com/npm/cli) from 6.11.3 to 6.13.4.
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v6.11.3...v6.13.4)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-18 12:47:13 +02:00
JC Brand
b0e66232d3 Fixes #1253: Show contacts with unread messages at the top of the roster 2019-12-18 11:42:26 +01:00
JC Brand
d8a522b2d4 Use CDN for resources and update to latest release 2019-12-17 16:39:37 +01:00
JC Brand
82b19173f1 rosterview: Import individual lodash methods 2019-12-17 14:38:12 +01:00
JC Brand
565283b8a3 rosterview: Let the default chat state filter be online
Also replaced some lodash methods with native ones.
2019-12-17 14:27:56 +01:00
JC Brand
03b7ae0a30 Improvements to how things are stored.
- Use the bare JID as indexedDB dataStore
- Collapse localStorage and indexedDB stores into one `persistent` store.
- When testing, only clear test data
2019-12-17 13:59:43 +01:00
JC Brand
4aa6b728cf muc: wait for restoreSession 2019-12-11 16:20:08 +01:00
JC Brand
0f63c84d5b core: properly clear cache in clearSession
Bump to latest backbone.browserStorage which adds the `clear` method
2019-12-11 15:44:56 +01:00
JC Brand
c379807d4c muc: Move code into restoreSession method 2019-12-11 10:06:26 +01:00
JC Brand
f3a1351a42 muc: loosen isJoined criteria
Handle any `error` IQ result or timeout from a MUC ping as indication that we're no longer joined.
2019-12-11 10:06:03 +01:00
JC Brand
720087bef2 controlbox: remove unnecessary overrides 2019-12-11 08:38:28 +01:00
JC Brand
a4567ee075 muc: Store connection_status in session storage
Otherwise we might run into a situation where a very old,
cached MUC that's being restored has `connection_status` set to ENTERED
(and the user happens to be in the MUC via another client)
and then restores cached messages without taking
`clear_messages_on_reconnection` into account.
2019-12-11 08:10:27 +01:00
JC Brand
09b085be6e muc: no need to override tearDown
we already listen for `beforeTearDown` and do what's necessary there.
2019-12-11 08:10:25 +01:00
JC Brand
8125eaed57 chatboxviews: Remove ineffectual override
`initStatus` is no longer on the `_converse` object, so the override
wasn't being applied and chat boxes get closed when the
`clearSession` event fires.
2019-12-10 15:21:28 +01:00
JC Brand
306748feb0 muc-views: no need to set nickname before calling join
It was in any case setting the wrong key, should've been `nick`
2019-12-09 17:17:40 +01:00
JC Brand
3d3738f3be muc: refactor MUC joining
We now distinguish more clearly between joining and re-joining a MUC.

The `enterRoom` method has been refactored away.

Instead, `join` or `rejoin` should be used, depending on the circumstances.

Don't fetch cached occupants in the `initialize` function, instead, only fetch
them if we're restoring a MUC that we're still connected to.

If we're not restoring a still-connected MUC, then we clear the
occupants cache, and the messages cache if `clear_messages_on_reconnection` is `true`.

updates #1807
updates #1808
2019-12-09 17:17:33 +01:00
JC Brand
7bf39a092f muc: move message handler into own method 2019-12-06 13:09:09 +01:00
Dele Olajide
890db3427f Handle message notifications about affiliation change for users not in a room
See https://git.happy-dev.fr/startinblox/components/sib-chat/issues/96
2019-12-06 12:55:07 +01:00
JC Brand
c646879cca Ping the server when the tab becomes visible 2019-12-06 10:57:52 +01:00
JC Brand
5b507ec74e muc: check that we're still connected if the tab becomes visible
Otherwise Converse might only realise we're no longer in the room when
the user tries to interact with it.
2019-12-05 22:29:37 +01:00
JC Brand
7866247f5d dragresize: Unregister global event handlers 2019-12-05 21:02:06 +01:00
raphaelSeguin
97b8ecbbdf Display status avatars in the occupants list 2019-12-05 14:13:52 +01:00
Nÿco
0082c0ce60 More visual README for users
* Add screenshot for embedded view mode
* Add Pàdé
2019-12-05 10:21:41 +01:00
JC Brand
b1c9af3ed0 Various improvements to resizing of occupants view.
- Remove need for the `converse-mouse-events` plugin.
- Register `mousemove` and `mouseup` handlers only when necessary and only inside the MUC DOM element.
- Restore converse-dragresize to roughly it's original state before work started on this.
- Move `applyDragResistance` to utils.

updates #1640
2019-12-05 09:32:48 +01:00
JC Brand
0c4da63e07 Merge branch 'pullRequest_SkalierungTeilnehmerListe' of github.com:worlword/converse.js 2019-12-04 14:55:47 +01:00
poVoq
8e19ae7824 Added Chimeverse and UT app 2019-12-04 14:49:46 +01:00
JC Brand
115abdda27 muc-views: pass all model attributes to template
Makes it possible to show a validation message in a downstream
application.
2019-12-03 15:02:37 +01:00
JC Brand
dffe3d1a26 smacks: Set enable_smacks to true as default 2019-12-03 13:54:28 +01:00
JC Brand
c3447dd205 New config option: `persistent_store`
Allows for using IndexedDB as the persistent store, instead of localStorage
2019-12-03 13:51:57 +01:00
JC Brand
5232019ed7 roster: Replace lodash methods with native ones 2019-12-03 12:37:26 +01:00
JC Brand
7fc3151e56 Fixes #1783 2019-12-03 11:31:28 +01:00
JC Brand
5809c97828 Fixes #1666. Fixes #1792. Add scrollbars for modals 2019-12-03 11:08:35 +01:00
JC Brand
9bff567b3c Fixes #1796 2019-12-03 10:57:01 +01:00
JC Brand
f1e1e538b6 muc-views: Wait for messages to be fetched
Also, insert occupants sidebar before inserting the chat into the DOM
2019-12-02 14:00:21 +01:00
JC Brand
099603ed8b chatview: Reduce debounce time for markScrolled from 100ms to 50ms 2019-12-02 13:59:58 +01:00
JC Brand
fc42f2903c muc-views: enterRoom should be called on the model 2019-12-02 13:45:35 +01:00
JC Brand
d2cf29bce4 muc: One more place to fetch messages
When restoring an already entered room from cache.
Otherwise we end up with an empty history.
2019-11-29 17:04:54 +01:00
JC Brand
1c116b0385 mam: distinguish between messages fetched before and after MUC join 2019-11-29 16:17:48 +01:00
JC Brand
a9128808de muc: Re-render the bottom panel once we enter the MUC
Otherwise we end up with no textarea when rendering a MUC that starts
with connection_status of entered but which then needs to reconnnect.
2019-11-29 16:17:28 +01:00
JC Brand
53ced8c763 muc: Don't restore messages from cache...
if we're just going to clear them again

This avoids flashing of messages followed by a spinner.
2019-11-29 09:58:38 +01:00
aitzol berasategi
a8cfc12fac Translated using Weblate (Basque)
Currently translated at 88.2% (374 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2019-11-29 09:28:19 +01:00
Yaron Shahrabani
8a93b74f68 Translated using Weblate (Hebrew)
Currently translated at 93.4% (396 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2019-11-29 09:28:19 +01:00
Xosé M
c7e12b1aef Translated using Weblate (Galician)
Currently translated at 100.0% (424 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2019-11-29 09:28:19 +01:00
Guybrush Threepwood
ef79a9fc82 Translated using Weblate (Bulgarian)
Currently translated at 35.4% (150 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2019-11-29 09:28:19 +01:00
JC Brand
970143fcd2 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (424 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2019-11-29 09:28:19 +01:00
Ömer Çakmak
18fbfd2ce5 Translated using Weblate (Turkish)
Currently translated at 100.0% (424 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2019-11-29 09:28:19 +01:00
Allan Nordhøy
14a23afcef Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.8% (300 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2019-11-29 09:28:19 +01:00
Quentí
c2fd4159c9 Translated using Weblate (Occitan)
Currently translated at 100.0% (424 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2019-11-29 09:28:15 +01:00
Antonio Morais
e88f54f3d4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 82.5% (350 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2019-11-29 09:28:15 +01:00
Rambox
24073ddb48 Translated using Weblate (Polish)
Currently translated at 72.2% (306 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2019-11-29 09:28:15 +01:00
x0draude
8c89e6a57c Translated using Weblate (Portuguese)
Currently translated at 76.7% (325 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2019-11-29 09:28:15 +01:00
Nathan
e96814a188 Translated using Weblate (French)
Currently translated at 100.0% (424 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-11-29 09:28:15 +01:00
Sylke Vicious
c4fc397653 Translated using Weblate (Italian)
Currently translated at 100.0% (424 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2019-11-29 09:28:15 +01:00
nautilusx
563f1512df Translated using Weblate (German)
Currently translated at 100.0% (424 of 424 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-11-29 09:24:34 +01:00
JC Brand
d7d810ba89 Improvements to rendering MUC MAM logs before joining
- Add config variable `muc_show_logs_before_join`
- Restore nickname form for the original use-case (when not showing MAM logs before joining).
- Render nickname form in the `.muc-bottom-panel` when showing MAM logs (instead of in a modal)
- Show a message when there aren't any archived messages to show
- Fix converse-mam so that chat logs are properly fetched before entering a MUC

closes #1266
2019-11-29 09:23:15 +01:00
Emmanuel Gil Peyrot
a83911d67f WIP: Move the nickname selection form to a modal 2019-11-28 15:45:48 +01:00
JC Brand
c836eb401f disco: Import individual lodash methods 2019-11-26 22:04:50 +01:00
JC Brand
762717dd38 Bugfix. streamFeaturesAdded triggered too soon.
`streamFeaturesAdded` should only be triggered once we've received them
from the server.

This appears to be a timing bug, likely introduced by the IndexedDB
refactoring.
2019-11-26 22:04:50 +01:00
JC Brand
e23c7ce543 More retraction updates
- Retracted moderated message are not editable
- Use "removed" for user-facing text
2019-11-26 22:04:38 +01:00
JC Brand
13ffe5a667 Various smaller retraction related fixes and improvements 2019-11-26 12:16:48 +01:00
JC Brand
53df5d6b49 Fix whitelisting and dependencies on the headline plugins 2019-11-22 14:38:09 +01:00
JC Brand
3ffb56baa2 Replace debug configuration setting with loglevel 2019-11-22 14:23:19 +01:00
JC Brand
adf2e97ea1 Fix failing tests 2019-11-22 13:50:36 +01:00
JC Brand
86809d9301 Fix RsT errors in docs and rename html recipe to doc 2019-11-22 13:50:36 +01:00
JC Brand
e4010185dc Add new config option allow_message_retractions 2019-11-22 13:50:36 +01:00
JC Brand
2eff75b387 Don't show retraction button on already retracted messages 2019-11-22 13:50:36 +01:00
JC Brand
2e3cc12d9a Bugfix. Only remove modals when disconnected
not while tearing down, otherwise the modals get removed while
reconnecting and we have stale references to modals no longer in the
DOM.
2019-11-22 13:50:36 +01:00
JC Brand
025cdbf18f Check for support before allowing message moderation 2019-11-22 13:50:36 +01:00
JC Brand
ad77ba60e6 Only show larger text for up to 3 emojis 2019-11-22 13:50:36 +01:00
JC Brand
1b9ba58aca Rename variable to be more accurate 2019-11-22 13:50:36 +01:00
JC Brand
99f539b3cb MUC: Don't show duplicate subsequent info messages 2019-11-22 13:50:36 +01:00
JC Brand
3d4bad4b19 Don't mark info messages as followups 2019-11-22 13:50:36 +01:00
JC Brand
657dd1e6d1 Add /close command for chats 2019-11-22 13:50:36 +01:00
JC Brand
16c83877d2 Bugfix. Re-instantiate confirmation promise 2019-11-22 13:50:36 +01:00
JC Brand
d895c7fc16 Bugfix. Leave space between classes 2019-11-22 13:50:36 +01:00
JC Brand
149fcf5d32 Properly wait when clearing messages 2019-11-22 13:50:36 +01:00
JC Brand
b4dafcc45b Add support for XEP-0424 and XEP-0425
- Add support for switching ephemerality after message creation
- Move more methods from ChatBox and ChatRoom to utils/stanza.js
- Rename 'ephemeral' to 'is_ephemeral' since it's a boolean
2019-11-22 13:50:36 +01:00
JC Brand
4b3d427cff muc: only create view once model has finished initialization 2019-11-22 13:50:36 +01:00
JC Brand
9965a93291 muc: Simplify getVCardForChatroomOccupant method 2019-11-22 13:50:36 +01:00
JC Brand
e915321e33 Group MUC utility methods in muc_utils object
as opposed to having them in the `u` object
2019-11-22 13:50:36 +01:00
JC Brand
8523cae8d0 Move message parsing code out of ChatBox into new stanza-utils plugin 2019-11-22 13:50:36 +01:00
JC Brand
caadb24310 Refactor logging out into its own module
So that we don't need to `_converse` obj in order to log messages
2019-11-22 13:50:36 +01:00
JC Brand
4a70d97b4e CSS fix. Show message actions side-by-side 2019-11-22 13:50:35 +01:00
poVoq
627f306d1b Added examples for bosh & websocket connection
also recommendation to enable smacks
2019-11-22 10:38:43 +01:00
JC Brand
e85afc9c7c Update changelog after 5.0.5 release (from the 5.x.x branch) 2019-11-20 11:23:55 +01:00
JC Brand
84ff74242e Update demo/index.html to not rely on old code 2019-11-20 11:04:50 +01:00
JC Brand
707fd07dc6 Fix emoji picker for Safari.
Use `float:left` instead of flexbox
2019-11-19 13:37:12 +01:00
JC Brand
e7661b725e Updates #1760: Private messages no longer received after websocket reconnect 2019-11-18 22:01:02 +01:00
JC Brand
88ea9f8b61 Match a message of only emojis (instead of just a single emoji) 2019-11-18 12:51:18 +01:00
ndoell
b94e5653a9 Add resize functionality to occupants-list in MUC.
This adds the ability to resize the MUC-Member-List in all MUCs. The
MUC-Member-List can be scaled between 20% width of the MUC and 75% of
the MUC.
2019-11-13 19:39:35 +01:00
Dele Olajide
1f673b7aae StartinBlox PR to fix issues
1. enable avatars in autocomplete
2. change search/filter type for automcomplete
2019-11-12 16:22:37 +01:00
JC Brand
eae878e766 Fix failing test 2019-11-12 16:21:47 +01:00
JC Brand
5ede164e8d Disable custom emojis for now
Fixes #1769
2019-11-09 11:53:53 +01:00
JC Brand
7bd1812054 CSS: wrap emoji-picker header, instead of showing scrollbar 2019-11-05 12:39:24 +01:00
JC Brand
e22923d546 Fix failing test 2019-11-05 09:53:41 +01:00
JC Brand
530e29810d Bugfix. Clicking emoji category twice closes picker and inserts null 2019-11-04 18:25:25 +01:00
JC Brand
879e165ae5 Refactoring
- Move headless one-on-one chat functionality into converse-chat
- Split converse-headline into converse-headlines and converse-headlines-views
- Add api in `_converse.api.chatboxes` for creating chatboxes
- Add `_converse.api.controlbox.get` method
2019-11-04 15:05:50 +01:00
JC Brand
93d56898b7 Fixes #1772. Wait for roster to be fetched 2019-11-03 19:34:55 +01:00
wellart
1cba506bc7 Add new indonesian language and fix error
will add for more
2019-10-31 19:28:00 +01:00
JC Brand
23797dee21 _converse.api.alert.show is now _converse.api.show
Instead of taking an integer for the `type`, "info", "warn" or "error" should be passed in.
2019-10-31 14:42:44 +01:00
JC Brand
17dfa3d7ba Avoid race-condition that destroys vcards
VCards were being created before `fetch` was completed, so once fetch
was done those VCards were unset from their collection.

Add a new event and promise `VCardsInitialized` that triggers after
successful fetching and wait for it before creating VCards.
2019-10-30 13:02:23 +01:00
JC Brand
1fa203c990 Support for IndexedDB. updates #1105
Depend on latest backbone.browserStorage which has support for IndexedDB
via localforage.

Storage operations are now asynchronous and transactional.

Bugs fixed (mostly by waiting for operations to complete):

* Rooms are now fetched asynchronously, so wait before triggering `show`
  or when closing.
* Make sure chat create/update transactions complete before firing events
* Make sure chats and messages have been fetched before creating new ones.
* When doing a `fetch` with `wait: false` on a collection and then
  creating a model in that collection, then once the read
  operation finishes (after creating the model), the collection is emptied again.
* Patch and wait when saving.
  Otherwise we have previously set attributes overriding later ones.
* Make sure api.roomviews.close returns a promise

Test fixes:

* Chats are now asynchronously returned, so we need to use `await`
* Wait for the storage transaction to complete when creating and updating messages
* Wait for all chatboxes to close
    Otherwise we get sessionStorage inconsistencies due to the async nature of localforage.
* Wait for room views to close in spec/chatroom.js

In the process, remove the `closeAllChatBoxes` override in
converse-controlbox by letting the `close` method decide whether it
should be closed or not.
2019-10-30 13:02:23 +01:00
JC Brand
66c052f3fd Remove saveAffiliationAndRole method. Doesn't appear to be necessary. 2019-10-30 09:38:22 +01:00
JC Brand
b71500104b Move emoji-picker out so that its width can expand 2019-10-29 17:19:33 +01:00
JC Brand
9ee8a6e8bc Fix text wrapping issue for /me messages in overlayed view mode 2019-10-29 13:11:13 +01:00
JC Brand
acf14cf8cb Fixes #1757
- Increase z-index for chatbox flyouts so that they appear above the controlbox
- Also fix a margin offset bug for the controlbox (in smaller viewports)
2019-10-29 11:43:09 +01:00
JC Brand
9934fa7191 New event minimizedChatViewInitialized 2019-10-22 18:33:56 +02:00
JC Brand
b6d5077d04 Refactor _converse.XMPPStatus out into headless/converse-status.js
Also move some other methods out of `converse-core` into the plugins
that use them.
2019-10-18 11:13:09 +02:00
JC Brand
1a7f58b578 Fix linting error 2019-10-17 17:27:41 +02:00
JC Brand
aae7e111eb Fix roster caching and versioning issue.
- Always try to first get local cache before requesting the roster.
- Rename `roster_fetched` with `roster_cached`
2019-10-17 16:19:14 +02:00
JC Brand
015f1c6fc8 Make status clickable instead of adding pencil icon 2019-10-17 13:33:43 +02:00
JC Brand
ea54644a45 Fixes #1089. When filtering by online, show all non-offline users 2019-10-17 13:30:23 +02:00
JC Brand
f7a57f272e Remove show_only_online_users config setting.
Doesn't appear to be very useful. IIRC it was added as a workaround for
slow roster issues.
2019-10-17 13:17:37 +02:00
JC Brand
053e82579f Tweak emoji CSS for overlayed view mode 2019-10-17 12:52:53 +02:00
JC Brand
4fa02b1357 Generate new pot and po files 2019-10-17 12:25:07 +02:00
JC Brand
e6e23a1a82 Add initial support for custom emojis 2019-10-17 12:12:08 +02:00
JC Brand
2ed8b4660e Bugfix. Duplicate rooms-list header 2019-10-16 12:11:59 +02:00
JC Brand
99805d2510 Make sure the roster is fetched again if stream resumption fails 2019-10-15 14:30:04 +02:00
JC Brand
9d619820f9 core: Don't allow the connection to be passed in.
This was used for tests but is no longer necessary.
2019-10-15 14:30:04 +02:00
JC Brand
be03b30d75 bookmarks: better handling of timeouts
- Inform the user when fetching of bookmarks times out.
- Only set the cached flag if the user doesn't have bookmarks.
2019-10-15 13:09:34 +02:00
JC Brand
487f1b5281 core: use _.get since connection might not be set up yet 2019-10-15 13:09:34 +02:00
JC Brand
f21abc60f5 roster: Only fetch from browser storage if already cached 2019-10-15 13:09:34 +02:00
JC Brand
358187f8b0 bosh: Bugfix, pass in JID 2019-10-14 13:22:34 +02:00
JC Brand
0fa95ccd50 Bugfix. Pass correct arguments to synchronous event handlers 2019-10-13 19:58:00 +02:00
JC Brand
bcd39a7ff4 Use utility method in tests 2019-10-13 19:51:44 +02:00
JC Brand
50b77e8608 Fixes #1733 2019-10-13 19:48:39 +02:00
JC Brand
c8b7e8ab99 bookmarks: refactor to use VDOMView instead of OrderedListView 2019-10-13 17:53:57 +02:00
JC Brand
91397125ba roomslist: Refactor to use VDOMView instead of OrderedListView 2019-10-13 16:59:31 +02:00
JC Brand
28d0e88565 Update test to wait for IQ stanzas 2019-10-11 21:13:45 +02:00
JC Brand
82bce1e946 Move creation of browserStorage into a separate method
This is in anticipation of the localforage/IndexDB merge
2019-10-11 20:40:31 +02:00
JC Brand
877e07775a Remove need to pass in spies to initConverse
They aren't used anymore.
2019-10-11 17:46:13 +02:00
JC Brand
9d77a4ef97 Fixes #129 Add support for XEP-0156.
Only XML is supported for now.
2019-10-11 17:46:13 +02:00
JC Brand
54e9c51a1a Don't rely on getUniqueId of Strophe.Connection
since we can't assume it's always available.
2019-10-11 17:46:13 +02:00
JC Brand
445ff4f8aa Rewrite test to avoid connection spy 2019-10-11 17:46:13 +02:00
JC Brand
6253dd52a6 core: let logout return a promise and wait for it in tests 2019-10-11 17:46:13 +02:00
JC Brand
a0bd6dbab6 dragresize: Use _.get for converse.connection 2019-10-11 17:46:13 +02:00
JC Brand
5383d65d5a roster: unregisterPresenceHandler must be wrapped in arrow function 2019-10-11 17:46:13 +02:00
Christoph Scholz
86a6164713 fixed links in CHANGES.md 2019-10-11 12:39:32 +02:00
JC Brand
b63b080419 chatboxes: wait until messages are fixed before returning new chatbox
Fixes #1691
2019-10-10 14:44:13 +02:00
JC Brand
8e4e918575 Replace lodash methods with built-in ones and add jsdoc strings 2019-10-10 14:43:13 +02:00
Christoph Scholz
2d44144b69 prevent message correction for files 2019-10-10 14:19:34 +02:00
JC Brand
cf94a2c02f Update release notes.
We need to set the assets path for CDN builds
2019-10-09 17:53:58 +02:00
JC Brand
2b268c92bb Fix linting error 2019-10-09 17:08:28 +02:00
JC Brand
1e707f7cf2 npm run build should also build unminified JS 2019-10-09 16:57:32 +02:00
JC Brand
8780f7a128 Fix linting errors (no-unused-vars) 2019-10-09 16:27:58 +02:00
JC Brand
05cdae999f CSS: Revert previous change and only apply if singleton 2019-10-09 11:55:43 +02:00
JC Brand
ffd3cda03b CSS: Don't set max-width for fullscreen Converse in smaller viewports 2019-10-09 10:35:08 +02:00
JC Brand
8b1c17c12b chatview: Replace lodash methods with built-in ones 2019-10-08 21:29:43 +02:00
JC Brand
f9b09052eb core: Make sure window.converse is defined before assigning to it. 2019-10-08 16:47:30 +02:00
JC Brand
75c11a2006 emoji-views: Specify dependency on muc-views
Otherwise plugins might be loaded out of order and then event handlers
in this module don't get registered.

Also, bump to dev version number
2019-10-08 16:30:23 +02:00
JC Brand
472a2e96a1 Add CSS property for the chat content background 2019-10-08 14:50:36 +02:00
JC Brand
266fe131a9 Release 5.0.4 2019-10-08 14:22:56 +02:00
JC Brand
b70fde159d Fixes #1738. Allow webpack's publicPath to be specified at runtime 2019-10-06 21:52:37 +02:00
JC Brand
5c532e3b92 Build po files and add Vietnemese as available language 2019-10-06 21:52:09 +02:00
ltdangkhoa
8d9862612f Translated using Weblate (Vietnamese)
Currently translated at 4.5% (19 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/vi/
2019-10-06 10:58:01 +02:00
KA88
218fd9bbff Added translation using Weblate (Vietnamese) 2019-10-06 10:58:01 +02:00
Estébastien Robespi
701e6211f8 Translated using Weblate (French)
Currently translated at 100.0% (420 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-10-06 10:58:01 +02:00
Estébastien Robespi
f29bd502f9 Translated using Weblate (French)
Currently translated at 98.6% (414 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-10-06 10:58:01 +02:00
Abner Santana
f5aea98296 Translated using Weblate (Portuguese (Brazil))
Currently translated at 67.6% (284 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2019-10-06 10:58:01 +02:00
Quentí
8e6a2dfac4 Translated using Weblate (Occitan)
Currently translated at 100.0% (420 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2019-10-06 10:58:01 +02:00
nautilusx
4f46f7bf33 Translated using Weblate (German)
Currently translated at 100.0% (420 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-10-06 10:58:01 +02:00
Xosé M
bb5cedfa3c Translated using Weblate (Galician)
Currently translated at 100.0% (420 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2019-10-06 10:58:01 +02:00
Sylke Vicious
a281c35a7e Translated using Weblate (Italian)
Currently translated at 100.0% (420 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2019-10-06 10:58:01 +02:00
Quentí
51caf366a5 Translated using Weblate (Occitan)
Currently translated at 90.2% (379 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2019-10-06 10:58:01 +02:00
JC Brand
fdb24122c0 chatboxes: clear messages when in untrusted mode 2019-10-04 17:47:57 +02:00
Christoph Scholz
1c7c25091f new config option: allow_message_corrections 2019-10-04 15:42:38 +02:00
JC Brand
43935a9e56 controlbox: replace lodash methods with native ones 2019-10-04 14:53:20 +02:00
JC Brand
463caf36a1 bookmarks: silently remove bookmarks when clearing the session 2019-09-26 16:43:26 +02:00
JC Brand
0895abf3e4 chatboxes: Replace lodash methods and only import what's necessary 2019-09-26 15:21:47 +02:00
JC Brand
44e5b4c947 bosh: only advertise support if the module is enabled
updates #1725
2019-09-24 15:42:13 +02:00
Christoph Scholz
bce8dc9113 Fixes #1714
don't notify if only message delivery receipt
2019-09-24 13:27:49 +02:00
Maxime “pep” Buquet
e29849fe5e Makefile: use spaces not tabs for alignment in make help
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-09-23 11:46:54 +02:00
Christoph Scholz
cd5dacbe29 Process stanzas from mam one-by-one 2019-09-21 13:26:36 +02:00
JC Brand
51b818f916 smacks: Also check for BOSH to determine support 2019-09-20 12:06:43 +02:00
JC Brand
7ee6152c0b Add recipe for package-lock.json 2019-09-20 09:56:51 +02:00
52871299hzy
47ac7e7176 Translated using Weblate (Chinese (Simplified))
Currently translated at 50.2% (211 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2019-09-19 16:28:02 +02:00
yc
db5998dd84 Translated using Weblate (Chinese (Simplified))
Currently translated at 50.2% (211 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2019-09-19 16:28:02 +02:00
Sylke Vicious
4c8a06bb6b Translated using Weblate (Italian)
Currently translated at 98.8% (415 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2019-09-19 16:28:02 +02:00
ButterflyOfFire
799fbdf1fc Translated using Weblate (Occitan)
Currently translated at 78.3% (329 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2019-09-19 16:28:02 +02:00
Yaron Shahrabani
f2481759ae Translated using Weblate (Hebrew)
Currently translated at 86.9% (365 of 420 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2019-09-19 16:28:02 +02:00
huang.xinghui
9291dfc918 Update package.json
fix: fixed main file path
2019-09-17 11:33:57 +02:00
JC Brand
8574f66954 Don't hardcode roster filter to localStorage 2019-09-17 10:49:02 +02:00
JC Brand
e377c9bd6f Fixes #1712 2019-09-16 14:04:28 +02:00
laszlovl
ab9b2d64ab Fix incorrectly detecting every message with a duplicate ID as correction 2019-09-16 13:07:14 +02:00
Antranig Vartanian
1a2de997b5 Fix link
The link next to XEP-0384 OMEMO was referring to XEP-0363
2019-09-16 11:03:04 +02:00
JC Brand
9d52b16b58 Set new dev version 2019-09-13 16:05:18 +02:00
JC Brand
c357dec8ed Fix CDN path 2019-09-13 16:04:25 +02:00
JC Brand
39896b508b Release 5.0.3 2019-09-13 15:19:00 +02:00
52871299hzy
c07ff3e494 Translated using Weblate (Chinese (Simplified))
Currently translated at 39.4% (161 of 409 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2019-09-13 14:56:52 +02:00
Quentí
91bc25749d Translated using Weblate (Occitan)
Currently translated at 82.9% (339 of 409 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2019-09-13 14:51:48 +02:00
JC Brand
bdf4f3f536 Bump npm and lodash 2019-09-13 13:38:20 +02:00
JC Brand
31860acc9d Makefile: add recipe for setting the CDN url as the publicPath 2019-09-13 13:29:49 +02:00
JC Brand
68e34351ed Reject unencapsulated forwarded messages
since we don't support XEP-0297 on its own
2019-09-13 13:05:21 +02:00
JC Brand
fe34b7eaa0 Fix failing test 2019-09-13 06:29:47 +02:00
JC Brand
37d052ad9e Verify that Converse is not susceptible to CVE-2015-8688
https://gultsch.de/gajim_roster_push_and_message_interception.html
2019-09-12 19:46:09 +02:00
JC Brand
c6f3da5887 Clean up test 2019-09-12 19:15:13 +02:00
JC Brand
c24e72272b Fix testing bug where all subsequent tests after a timed out test also time out 2019-09-12 18:50:30 +02:00
JC Brand
d58380af83 Provide more info in error message 2019-09-12 12:51:20 +02:00
JC Brand
5afe8629cd Remove mistakenly pasted jsdoc snippet 2019-09-12 12:48:09 +02:00
JC Brand
251061fad6 Fix failing tests 2019-09-12 12:11:27 +02:00
JC Brand
b26e1c87ae webpack: dev server doesn't find webpack.html if we set a public path 2019-09-12 12:10:50 +02:00
JC Brand
63da4b4b49 Move webfonts to sass dir and don't make publicPath absolute 2019-09-12 11:29:01 +02:00
JC Brand
a6b7d0d972 Emit chatBoxFocused and chatBoxBlurred events for emoji picker input 2019-09-12 11:05:27 +02:00
JC Brand
43c7040331 Include the locale dir in package builds 2019-09-11 18:42:38 +02:00
JC Brand
5bf0955193 Release 5.0.2 2019-09-11 17:44:38 +02:00
JC Brand
b3e13c5ea5 Add webpack config for making a headless build 2019-09-11 17:18:11 +02:00
JC Brand
41c4f9ceb2 Update nodeps webpack config to create chunks in the right place 2019-09-11 17:08:20 +02:00
Adolfo Jayme Barrientos
bd67dc3fac Translated using Weblate (Spanish)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2019-09-11 15:39:58 +02:00
Xosé M
4302c77c2b Translated using Weblate (Galician)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2019-09-11 15:39:58 +02:00
Ezra Zebra
857ea4b839 Translated using Weblate (Flemish)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/
2019-09-11 15:39:53 +02:00
Ezra Zebra
275d990074 Translated using Weblate (Dutch)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/
2019-09-11 15:39:49 +02:00
Quentí
8524eabe17 Translated using Weblate (Occitan)
Currently translated at 80.7% (317 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2019-09-11 15:39:43 +02:00
Allan Nordhøy
21efdeccb0 Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.0% (275 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2019-09-11 15:31:21 +02:00
Mako N
4b3b21f3b5 Translated using Weblate (Japanese)
Currently translated at 98.0% (385 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2019-09-11 15:31:00 +02:00
nautilusx
a7bd7124f4 Translated using Weblate (German)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-09-11 15:29:55 +02:00
JC Brand
35e97c2353 Ignore MAM chat messages not sent from yourself 2019-09-11 14:18:21 +02:00
JC Brand
0af9bc8ffc Fixes #1704
Ignore carbon groupchat messages
2019-09-11 14:18:21 +02:00
Licaon_Kter
a69ebcbdf6 Capitalize "groupchat" (#1707)
* Capitalize "groupchat"

* Also locale

* Also muc spec
2019-09-11 14:17:23 +02:00
JC Brand
26c1dbb0eb Updates #1705. Add getRoomsPanel method to avoid dangling pointer 2019-09-11 11:28:28 +02:00
GRUNBLATT Remy
d0b6e8fd16 Update Oauth login to current API format 2019-09-11 11:09:12 +02:00
Michal Čihař
07abbfc531 Update Weblate logo
The branding has changed some time ago, see
https://weblate.org/news/archive/weblate-changing-its-look/
2019-09-10 16:57:29 +02:00
JC Brand
e305cc35b0 Remove --larger class on a edited message that's no longer just emojis 2019-09-10 16:54:32 +02:00
JC Brand
54c90e146e Replace lodash methods with built-ins 2019-09-10 15:47:30 +02:00
JC Brand
54b3fc6dfc Update eslint 2019-09-09 13:13:23 +02:00
JC Brand
ef32050553 Update mobile.html 2019-09-09 12:49:36 +02:00
JC Brand
1a7b7f1bea modtools: fix typo 2019-09-09 12:10:44 +02:00
JC Brand
3fee5540a0 modtools: Also allow querying and setting no affliation 2019-09-09 11:25:46 +02:00
JC Brand
2ec70adc5d modtools: Add help text to explain roles and affiliations 2019-09-09 11:02:14 +02:00
JC Brand
90ef4b0c9d Don't let non-mods open the modtools modal
Bugfix: fall back to nick if the JID is not available.
2019-09-08 00:15:05 +02:00
JC Brand
768ed4a577 Replace lodash methods with built-ins, convert docstrings to JSDoc 2019-09-07 23:14:33 +02:00
JC Brand
ea22cdd7f1 Updates #1699 2019-09-06 17:09:31 +02:00
JC Brand
46ccc1a87f Fixes #1692 2019-09-06 16:14:30 +02:00
JC Brand
cc91f3751e Add listenTo instead of on to avoid memory leaks 2019-09-06 16:04:06 +02:00
JC Brand
d9c1bbf95b updates #1691: Use listenTo
so that we have automatic event deregistration when the model gets removed.
2019-09-06 13:10:37 +02:00
JC Brand
b52b3e5503 Use RsT syntax instead of markdown 2019-09-06 11:56:38 +02:00
JC Brand
dfafbefb71 emoji-view: insert partially matched emoji on enter
if it's the only search hit.
2019-09-05 16:22:57 +02:00
JC Brand
f52ade1193 emoji-views: don't iterate over all emojis if...
new search term includes the previous one
2019-09-05 16:17:59 +02:00
JC Brand
bf599f39ff emoji-views: reinitialize intersection observer upon rerender 2019-09-05 15:29:30 +02:00
JC Brand
42ec0037c6 Fix failing test 2019-09-05 15:17:23 +02:00
JC Brand
e5d07f5a41 Build resources before running tests 2019-09-05 15:04:16 +02:00
JC Brand
01468fc087 converse-emoji: Sort search results
Also, don't show the categories while searching.
2019-09-05 14:49:06 +02:00
JC Brand
60f04bc915 converse-emoji: Avoid dangling pointers to removed category DOM elements 2019-09-05 14:07:25 +02:00
JC Brand
4015eb2fd1 Name anonymous function to fix failing test 2019-09-05 13:12:34 +02:00
JC Brand
b5c56c8323 Add getFullname to XMPPStatus model and use that
instead of returning the fullname as fallback in `getNickname`
2019-09-05 12:49:10 +02:00
JC Brand
5f5de90f0c MUC: Don't set a default nick
We first want to check whether the user has registered a nick with the
MUC, and if so, that will be set as the nick.
2019-09-05 10:49:06 +02:00
JC Brand
c8f0fd2a7f Refactor cleaner separation between converse-vcard and other plugins 2019-09-05 10:49:06 +02:00
JC Brand
64135b7731 Update webpack config to re-add the old make watch 2019-09-04 19:09:16 +02:00
JC Brand
38919a35ba Remove traces of bourbon from Makefile and use tabs 2019-09-04 15:23:48 +02:00
JC Brand
3f0d88e88d Fix ids for the modtools modal 2019-09-04 15:18:51 +02:00
JC Brand
032d019029 Emoji CSS tweaks 2019-09-04 15:18:51 +02:00
JC Brand
df7e3841a2 Add latest babel plugin for dynamic imports 2019-09-04 15:18:51 +02:00
Licaon_Kter
778fb4e65d Fix muc_domain link
...since `locked_domain` needs to be "domain.tld" and can't be just `true`... or maybe `locked_domain` needs editing instead?
2019-09-02 11:26:45 +02:00
JC Brand
3cc993740e Fix failing tests 2019-08-23 21:36:53 +02:00
JC Brand
cf7d2fb648 Add webpack.nodeps.js
Use it to generate dist/converse-no-dependencies.js which we use to
generate the converse.pot file.
2019-08-23 21:36:27 +02:00
JC Brand
12bca2298c Replace Bourbon with postcss/autoprefixer 2019-08-23 15:09:37 +02:00
JC Brand
9ae71104c2 webpack: split css out into separate file
- Add postcss with autoprefixer and cleancss
2019-08-23 14:56:10 +02:00
JC Brand
93de11d167 Dynamically load the dayjs translation.
Also, remove the Promise polyfill. We don't support browsers which don't support promises.
2019-08-23 14:03:52 +02:00
JC Brand
9f054dd767 Update webpack config
- hot reloading
- split config into dev and prod
2019-08-23 13:29:26 +02:00
JC Brand
76f2b66445 Add a po loader for webpack.
- Removes the need for generating and keeping json files
2019-08-23 11:42:37 +02:00
JC Brand
8aaf50d58c Use webpack's dynamic imports feature for fetching emoji JSON 2019-08-23 09:18:10 +02:00
JC Brand
d619012b6b Emojis: Fix failing tests 2019-08-23 07:05:00 +02:00
JC Brand
bb0670c6b2 converse-emoji-views: tweak threshold values 2019-08-22 16:26:10 +02:00
JC Brand
3b40f6964f Update Emoji JSON
* Order by category
* Set odering pre category (instead of just showing them alphabetically)
2019-08-22 16:21:27 +02:00
JC Brand
c01d110501 Avoid interference between username and emoji autocomplete 2019-08-22 14:30:02 +02:00
JC Brand
a59510bbf0 Highlight relevant category when scrolling 2019-08-22 13:56:47 +02:00
JC Brand
2c48096664 Add new spec with emoji tests 2019-08-22 13:56:47 +02:00
JC Brand
e4dc9fa820 Open emojis popup when TAB is pressed on a word starting with : 2019-08-22 13:56:47 +02:00
JC Brand
9099ef89fa Close emoji popup after insertion 2019-08-22 13:56:47 +02:00
JC Brand
73c8002b76 Add search bar for emojis 2019-08-22 13:56:47 +02:00
JC Brand
13d419102a converse-emoji-views: Show categories in chosen skintone 2019-08-22 13:56:47 +02:00
JC Brand
1cf9a936a4 Move Views associated to emojis into a new plugin 2019-08-22 13:56:47 +02:00
JC Brand
d7ce231c51 Various emoji improvements:
* Add emoji tooltip
* Make categories configurable and add smileys category
* Rearrange emoji categories and style
& Show all emojis together
2019-08-22 13:56:47 +02:00
JC Brand
4cb9fd88a8 Refactor emojis so that JSON is fetch asynchronously 2019-08-22 13:56:47 +02:00
Dele Olajide
4e440b0325 Update converse-chatboxes.js 2019-08-19 09:16:19 +02:00
Dele Olajide
3482bbcd61 Update CHANGES.md 2019-08-19 09:16:19 +02:00
Dele Olajide
f6c5f167f8 Fix Issue #1679
This fix forces Converse.js to respect auto_join_rooms and allow auto join room to occur with server-side generated random room names as required for XEP 0142 - workgroup queues
2019-08-19 09:16:19 +02:00
JC Brand
c9c689aec7 Docstring fixes 2019-08-16 15:44:58 +02:00
JC Brand
4291a45631 Postrelease 2019-08-14 13:15:16 +02:00
JC Brand
8f571ff148 Release 5.0.1 2019-08-14 12:56:44 +02:00
JC Brand
2e4c54b925 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2019-08-14 12:42:33 +02:00
Thierry
260c7187ab Translated using Weblate (French)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-08-14 12:41:56 +02:00
ButterflyOfFire
7b4af432c5 Translated using Weblate (Arabic)
Currently translated at 84.0% (330 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2019-08-14 12:40:52 +02:00
nautilusx
d12467e6d4 Translated using Weblate (German)
Currently translated at 100.0% (393 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-08-14 12:40:18 +02:00
JC Brand
bcc73fe727 converse-muc: occupantAdded promise has been removed
Also:

* converted two docstrings into JSDoc format
* Don't use `_.isNull`
2019-08-14 12:14:02 +02:00
JC Brand
9c024757b6 Bugfix: TypeError: o.getAttribute is not a function converse-chatview.js
can cause messages to not appear.

* Check against null not Element.
* Avoid iterating over non-Element nodes
2019-08-14 12:10:32 +02:00
JC Brand
3faaf6a62b converse-muc: Fetch messages in the initialize method
Lately we've been fetching messages only after entering the MUC, so that
we already have occupants to attach to them (due to `fetchMembers` being
called before) and thereby avoid rerenders.

I've now moved message fetching into the `initialize` method and added
missing event handlers for attaching/removing the occupant from a
message as it comes online or goes offline.

We still avoid (some) rerenders because we fetch and wait for cached
occupants before fetching cached messages and we wait for `fetchMembers`
before triggering `enteredNewRoom` which causes MAM messages to be
fetched.
2019-08-14 11:08:05 +02:00
JC Brand
8b93e0f70a Move MUC message tests to spec/muc_messages.js 2019-08-14 10:34:56 +02:00
JC Brand
fa59b22f93 converse-message-view: Move methods from view to model 2019-08-13 15:34:59 +02:00
JC Brand
21a9ea7365 converse-message-view: Add hooks before/after message text transformations 2019-08-13 15:31:05 +02:00
JC Brand
502d2aa064 converse-message-view: Refactor to not use _.partial or _.flow 2019-08-13 11:46:51 +02:00
JC Brand
89ac4a6969 Show error message with option to retry when MAM query times out 2019-08-13 11:08:03 +02:00
JC Brand
6307fa698d Set correct path to webfonts 2019-08-12 13:00:09 +02:00
JC Brand
cb10c28082 modtools: Test that error renders when not allowed to fetch affiliation list
Also fix scrolling bug
2019-08-12 12:45:12 +02:00
JC Brand
2ba2ce0c0b Update default value in docs and changelog 2019-08-10 18:48:00 +02:00
JC Brand
c490ba212d converse-muc: Avoid refetching messages from cache
We want to fetch messages from cache only once. For one-on-one chats
this is the case because messages are fetched only in the `initialize`
method.

This used to be the case for MUCs as well, until we added the option
`clear_messages_on_reconnection`.

Now we only fetch messages after the user has entered the MUC.
2019-08-10 18:47:49 +02:00
JC Brand
e45bd5fc36 converse-roomslist: Handle bookmark not existing 2019-08-10 14:12:20 +02:00
JC Brand
02e50ca3a3 converse-mam: Don't fetch MUC MAM messages on chatReconnected event
By this time the cached messages are not yet fetched, causing the entire
MAM archive to be queried.
2019-08-10 14:12:20 +02:00
JC Brand
ea123e9713 Handle IQ timeouts
* converse-muc: Handle timeout while fetching affiliation list
* converse-omemo: Handle IQ timeout
2019-08-10 14:12:02 +02:00
JC Brand
a407aff33c converse-ping: Refactor and update to reconnect upon ping timeout 2019-08-10 12:26:07 +02:00
JC Brand
0f95059c72 Add a debugging helper plugin 2019-08-10 12:13:05 +02:00
JC Brand
aa9aad918f Handle case where bookmark doesn't exist for some reason 2019-08-10 12:06:01 +02:00
JC Brand
135cbcd043 Move webfonts to the dist dir and fix path to images 2019-08-09 23:43:01 +02:00
JC Brand
aee6a192d1 Add a new command /modtools
in which you can set user affiliations and roles.

Also, let getAffiliationList return an Error instead of `null` if you're
not allowed to fetch a particular affiliation list.
2019-08-09 23:30:14 +02:00
JC Brand
a03e722a24 Add new dev version 2019-08-09 00:58:43 +02:00
JC Brand
89f039dccd Remove feature icons 2019-08-09 00:51:16 +02:00
JC Brand
1194467f82 Bump docutils to 0.15.2 2019-08-09 00:41:40 +02:00
JC Brand
a116a1ec8f Fix various website CSS issues. Re-add images 2019-08-09 00:17:03 +02:00
JC Brand
bc27b3a36a Release 5.0.0 2019-08-08 18:13:12 +02:00
Allan Nordhøy
32f22d64ee Translated using Weblate (Norwegian Bokmål)
Currently translated at 69.0% (271 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2019-08-08 17:21:53 +02:00
Yaron Shahrabani
9a9978e21c Translated using Weblate (Hebrew)
Currently translated at 94.9% (373 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2019-08-08 17:21:53 +02:00
JC Brand
6a6c27486a Translated using Weblate (German)
Currently translated at 95.9% (377 of 393 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-08-08 17:21:53 +02:00
JC Brand
1bbe52f71c Fixes #1670
Set converse-profile as dependency of converse-omemo
2019-08-08 16:20:55 +02:00
JC Brand
bea073a5a2 Fix erroneous "is no longer an admin/owner" messages in MUCs
Don't remove affiliation for occupants if we weren't allowed to
fetch that particular affiliation list.

Previously, if fetching the list failed, we would return an empty array,
which would imply that the affiliation list is empty and that all
users with the given affiliation should have their affiliations removed.

Instead we now return `null` and properly account for that when setting
affiliations on existing contacts based on the returned member lists.
2019-08-08 16:19:04 +02:00
JC Brand
ade6266de8 Update backbone.overview and strophe.js 2019-08-08 12:45:17 +02:00
JC Brand
720096726d converse-chatboxes: Don't refetch chatboxes upon reconnection
We don't remove the existing chatboxes and upon refetching they
become stale and get removed (by Backbone) and then the UI for
them becomes unresponsive.
2019-08-07 16:12:51 +02:00
JC Brand
c0ef008c4a converse-bookmarks: Call _converse.Collection.prototype.clearSession 2019-08-07 16:12:21 +02:00
JC Brand
b176161ecf converse-roster: Reconnection bugfixes.
Don't remove cached presences in `afterTearDown` event.
We might reconnect again and resume the session, in which case we need
that data still.

Instead, we remove cached presences when `clearSession` fires, because
then we know we're not reconnecting.

When reconnecting, we don't fetch presences from cache, we still have
them (since we no longer remove them in `afterTearDown`).

When reconnecting and not resuming, we clear the presences from cache,
since we're starting a new session.
2019-08-07 16:11:36 +02:00
JC Brand
3dc2b2b695 Bugfix. List of messages need to be passed to api.alert.show 2019-08-07 12:20:20 +02:00
JC Brand
11d8450577 Add note to translators to avoid confusion 2019-08-07 10:52:20 +02:00
JC Brand
dfe8194072 Show spinner when fetching messages by scrolling upwards 2019-08-07 10:47:11 +02:00
JC Brand
271a871a51 Updated i18n po, pot and json files 2019-08-07 10:28:49 +02:00
Arnaud Jacquemin
a3e5cfad43 Translations via Weblate
Translated using Weblate (Chinese (Simplified))
Currently translated at 41.8% (158 of 378 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

Translated using Weblate (Russian)
Currently translated at 96.8% (366 of 378 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

Added translation using Weblate (Occitan)
Translated using Weblate (Occitan)
Currently translated at 79.9% (302 of 378 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2019-08-07 10:19:02 +02:00
JC Brand
5cb5ec4640 Fixes #1668. MUC MAM blocked by "info" messages 2019-08-06 23:30:02 +02:00
JC Brand
c9830c91b2 Fix funding links 2019-08-06 22:59:25 +02:00
JC Brand
7bfb172f6e Updates #1548. MAM paging improvements.
* Explicit forwards and backwards paging
* Include upper or lower bound when calling `RSM.prototype.next` or `RSM.prototype.previous`
* Bugfix: Don't override new RSM parameters (caused infinite recursion)
2019-08-06 22:54:51 +02:00
JC Brand
0d2c36dca6 converse-muc: use minimized attr instead 2019-08-06 13:32:52 +02:00
JC Brand
8864925407 Bugfix. Make sure new attrs are applied. 2019-08-06 13:07:41 +02:00
JC Brand
bda567ca01 Fix linting errors 2019-08-05 11:26:48 +02:00
JC Brand
db550b3ec7 Rename controlboxInitialized to controlBoxInitialized
to conform to conventions
2019-08-05 11:10:39 +02:00
JC Brand
ef5ecb2f3a Decouple converse-controlbox and converse-profile 2019-08-05 11:07:38 +02:00
Réda Housni Alaoui
edcb8e28c2 Fix #1664 Blacklisting converse-profile makes the control box totally blank 2019-08-05 11:01:39 +02:00
JC Brand
d90bcd5274 Combine two versions of isOnlyChatStateNotification into one
Also fix a bug in the code dermining whether an XMLElement stanza is only a chat state notification
2019-08-05 10:58:38 +02:00
JC Brand
7a590f7c22 Stop using certain lodash methods.
* _.isNil
* _.noop
* _.isNull
2019-08-05 10:56:22 +02:00
JC Brand
78c7ded2e5 converse-disco: Catch and report errors that happen during tests 2019-08-05 10:33:00 +02:00
JC Brand
021143d6ac Bugfix. Don't clear roster when tearing down
We do that in `clearSession` and otherwise when we auto-reconnect we end
up without a roster.
2019-08-04 01:38:41 +02:00
JC Brand
7861ed7b54 Fixes #1403: Rename show_chatstate_notifications
to `show_chat_state_notifications`
2019-08-03 21:52:14 +02:00
JC Brand
8a9a0a4b19 Add support for paging through MAM results when catching up
Fixes #1548
2019-08-03 21:44:02 +02:00
JC Brand
c7b6bb4773 Only clear messages when clear_messages_on_reconnection is true 2019-08-03 21:43:06 +02:00
JC Brand
c038794fb5 converse-mam: Light refactoring and cleanup 2019-08-03 21:43:06 +02:00
Réda Housni Alaoui
c2db667321 Shadow dom: TypeError: Cannot read property 'parentElement' of null caused by MinimizedChatsToggleView 2019-08-02 16:30:25 +02:00
JC Brand
5f0a0138a0 Finegrained config of XEP-0095 CSNs for MUCs as well 2019-08-02 12:05:19 +02:00
JC Brand
ec85490f1c Allow configuration of which XEP-0095 CSN's may be sent out 2019-08-02 11:34:24 +02:00
JC Brand
550d0ae31b Bugfix. Chat state should be set to active on chat maximized 2019-08-02 11:15:17 +02:00
JC Brand
918b314f70 make clean shouldn't break if some dirs aren't there 2019-08-02 10:47:05 +02:00
JC Brand
6dbc0a0637 converse-dragresize: Remove the resize event listener 2019-08-02 10:47:05 +02:00
JC Brand
3b29e5754d Don't unnecessarily fetch the roster
If we've fetched the roster before within this session, then we don't
have to do so again, regardless of whether versioning is supported or
not, otherwise, even if we have a cached roster, we still need to get
the latest one again.
2019-08-02 10:46:30 +02:00
JC Brand
d5ed1bfafe Remove the coupling between converse-controlbox and converse-rosterview 2019-08-02 09:12:04 +02:00
JC Brand
0b43082383 Add check and update changelog 2019-08-01 16:26:29 +02:00
JC Brand
a5cc9ef9ca Remove unused tests utility method 2019-08-01 11:51:16 +02:00
JC Brand
cd392bb197 Fixes #1561 Don't clear localStorage and sessionStorage 2019-08-01 11:34:14 +02:00
JC Brand
1bc9a7f809 Ensure JID is set when userSessionInitialized triggers.
Otherwise `converse.features` cache id contains `null` instead of the
user JID and it doesn't clear correctly.
2019-08-01 08:57:34 +02:00
JC Brand
f0f7cfab42 Make the chatbox messages cache key overridable 2019-07-31 17:19:50 +02:00
JC Brand
5b64b5a0e3 The locales URL should be absolute 2019-07-31 16:13:33 +02:00
JC Brand
1eb2364336 Let sendMessage return the message model, not just the text 2019-07-30 16:15:47 +02:00
JC Brand
afa2543492 Honour the auto_login flag
by not logging in automatically when `auto_login` is `false` and we're
using anonymous, external or prebind authentication.

For `authentication` set to `login` the situation is much more
ambiguous, since we don't have a clear distinction between wether we're
restoring a previous session (`keepalive`) or whether we're
automatically setting up a new session (`auto_login`).

So currently if *either* `keepalive` or `auto_login` is `true` and
`authentication` is set to `login`, then Converse will try to log the
user in.
2019-07-29 16:35:17 +02:00
JC Brand
f12c024b99 Don't query MAM upon every page load.
Instead we should only query for newly created chats.
2019-07-29 15:41:03 +02:00
JC Brand
8bd72eed72 Don't keep on refetching roster if the service is unavailable
`sendIQ` now takes a flag to turn of rejection of the promise and to
resolve on error IQs instead.
2019-07-29 14:33:37 +02:00
JC Brand
bdbcec65c6 Update JSDoc strings. Combine two methods 2019-07-29 11:36:37 +02:00
JC Brand
aa30e4d9e8 Bugfix. Don't unnecessarily fetch roster again when it's empty 2019-07-29 11:20:33 +02:00
JC Brand
e20b654876 Stop using _.isUndefined 2019-07-29 10:32:29 +02:00
JC Brand
caad85f45b Manually remove BOSH session tokens from cache
even if the `_converse.bosh_session` instance does not exist.

We do this to avoid trying to reconnect with stale tokens upon
reconnection. Especially relevant for anonymous connections, but could
also be applicable when switching between websocket and BOSH connections
when reconnecting.

Also renamed `startNewBOSHSession` to `startNewPreboundBOSHSession`
2019-07-29 10:08:38 +02:00
JC Brand
f9cc51b28a Bugfix. Make sure that restoreBOSHSession is always called
I.e. also when we're reconnecting.

Otherwise the `_converse.bosh_session` object doesn't get recreated and
we don't cache the BOSH tokens.
2019-07-29 10:05:31 +02:00
JC Brand
179c0810c7 Prioritise logging in with credentials_url...
above logging in with passed in JID and password, since the password
might be an expired token.
2019-07-26 20:03:32 +02:00
JC Brand
778b4ff131 Bugfix. Fix check for debounced reconnection 2019-07-26 20:02:56 +02:00
JC Brand
5a48f3da23 Clone auto_join_rooms values before passing in
otherwise values get tacked on, causing problems when reconnecting.
2019-07-26 19:30:01 +02:00
JC Brand
6dd4fc5234 Tear down previous session when reconnecting anonymously
Because when we reconnect anonymously, we get a new JID, so it's as if
it's a completely new user.
2019-07-26 19:29:01 +02:00
JC Brand
a1d7076e93 Let initConnection wait for for _converse.api.login
So that the BOSH connection will be restored before we trigger `connectionInitialized`
2019-07-26 18:57:28 +02:00
JC Brand
fd4ba89182 Reconnect when an anonymous connection drops or fails. 2019-07-26 18:50:19 +02:00
JC Brand
ea36d53f78 Re-add the keepalive options.
It's unlikely that `keepalive` needs to be set to `false`, but there are
some edge cases where it might be useful.

Here's a breakdown of the different configurations of `keepalive` and `auto_join`:

---

* auto_login: false, keepalive: true

This is the default config. Users need to log in manually, but then
Converse will try to reconnect them when the page reloads.

* auto_login: true, keepalive: true

Also very popular configuration. Used with `credentials_url` or `prebind_url`.

* auto_login = `true`, keepalive = `false`

Not sure what this could be useful for. No currently known application.

* auto_login = `false`, keepalive = `false`

Useful when you want some kind of specific action to trigger login, but
you don't want to maintain that state across page reloads.

Also relevant when using a websocket connection with anonymous login.
With websocket it's impossible to maintain anonymous sessions across page
reload because the the session gets removed server-side as soon as the
websocket connection drops and the server won't accept a full JID with
password for an anonymous connection anyway (which could happen upon
page reload when Converse tries to login in again if `keepalive` was `true`).
2019-07-26 18:08:38 +02:00
JC Brand
b6b085189b Attempt to restore BOSH session or auto_login before...
triggering connectionInitialized.

That way, when listening for `connectionInitialized`, we'll know when it
fires whether we've attached to a BOSH connection or not.
2019-07-26 16:43:35 +02:00
Weblate (bot)
1ba320ef46 Update from Weblate (#1655)
* Translated using Weblate (Norwegian Bokmål)

Currently translated at 70.9% (268 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/

* Translated using Weblate (German)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/

* Translated using Weblate (Japanese)

Currently translated at 98.1% (371 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Galician)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/

* Translated using Weblate (Lithuanian)

Currently translated at 80.4% (304 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/

* Added translation using Weblate (Portuguese)

* Translated using Weblate (Arabic)

Currently translated at 81.7% (309 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Czech)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 38.4% (145 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Turkish)

Currently translated at 4.8% (18 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/

* Translated using Weblate (Portuguese)

Currently translated at 83.1% (314 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Portuguese)

Currently translated at 82.5% (312 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Romanian)

Currently translated at 34.4% (130 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Romanian)

Currently translated at 38.4% (145 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Romanian)

Currently translated at 54.0% (204 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Arabic)

Currently translated at 86.5% (327 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Romanian)

Currently translated at 54.8% (207 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 63.2% (239 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Portuguese)

Currently translated at 82.8% (313 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Basque)

Currently translated at 94.2% (356 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Galician)

Currently translated at 100.0% (378 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/

* Translated using Weblate (Turkish)

Currently translated at 16.9% (64 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 40.5% (153 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Polish)

Currently translated at 80.7% (305 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 40.2% (152 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 77.5% (293 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Portuguese)

Currently translated at 88.9% (336 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/

* Translated using Weblate (Russian)

Currently translated at 96.8% (366 of 378 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2019-07-26 15:03:11 +02:00
JC Brand
c4ad02d4e3 New config setting: muc_fetch_members 2019-07-26 13:32:21 +02:00
JC Brand
c5193be44b Add postrelease make recipe to show dev version number in app 2019-07-25 13:45:51 +02:00
JC Brand
9a7dd99889 Ensure python 3.7 is used for sphinx and bump lerna version 2019-07-25 13:24:16 +02:00
JC Brand
fa2d6cca10 Update developer documentation and buildout dependencies 2019-07-25 12:33:46 +02:00
JC Brand
2546622da3 Trigger events when resizing starts 2019-07-25 06:46:05 +02:00
JC Brand
45e19acfb1 Use cursor: pointer instead of href="#" 2019-07-24 14:09:53 +02:00
Stanislav
d9e0b63683 Fix: use JID from credentials when credentials_url is set (#1638)
* Fix: async SetUserJID
2019-07-23 15:26:46 +02:00
JC Brand
643c40f260 Respect auto_login after finishInitialization.
If `auto_login` is false, we shouldn't log in, so we only try to log in when
it is true. Otherwise we still try to restore the BOSH session (if applicable).
2019-07-23 11:51:51 +02:00
JC Brand
18a2c8858a Make attemptNonPreboundSession and autoJoin functions
rename `autoJoin` to `connect`
2019-07-23 10:19:15 +02:00
JC Brand
e4eafe9e91 Simplify attemptNonPreboundSession
- Split between `login` auth and the rest (`external`, `anonymous`, `prebind`)
- It doesn't make sense to pass along credentials when not using `login` auth so avoid that flow.
- It's not necessary to pass the `reconnecting` flag to `attemptNonPreboundSession`
2019-07-23 10:18:47 +02:00
JC Brand
30ad84d386 Update Lerna 2019-07-23 08:14:13 +02:00
JC Brand
9be43ccea7 Don't inform of role change which accompanies an affiliation change
given that it's implicit and can cause confusion
2019-07-22 18:45:30 +02:00
JC Brand
bcbff1b024 Don't assume user had voice before 2019-07-22 16:51:44 +02:00
JC Brand
033b6bd082 Break long words instead of showing a horizontal scrollbar 2019-07-22 16:36:44 +02:00
JC Brand
07f82d6a0d Allow passing of more options to auto_join_rooms 2019-07-22 15:10:59 +02:00
JC Brand
3817f471a0 Two session related fixes.
* Don't set JID resource when logging in anonymously. The resource will be set by the server.
* Don't wipe the `id` from the session when clearing it.
2019-07-22 14:43:30 +02:00
JC Brand
2fca442f57 Also render bottom panel when own occupant is added
So that we can remove the textarea if we're a visitor in a moderated room.
2019-07-12 13:50:39 +02:00
JC Brand
38d1e4e3d2 Bugfix. Sometimes when trimming chats, minimized chats go off screen 2019-07-12 12:50:20 +02:00
JC Brand
2849adf857 Stop debouncing show
Instead optimize in other ways.

Also:
- Don't fade in when `animate` is false.
- `trimChats` now gets called in `afterShown`.
- Add now event `beforeShowingChatView`
2019-07-12 12:42:41 +02:00
JC Brand
3a2bf766a0 Add new test utility waitUntilBookmarksReturned 2019-07-12 10:38:07 +02:00
JC Brand
06717370f1 Provide a traceback when waitUntil times out 2019-07-11 23:42:26 +02:00
JC Brand
a1630b5c1f Replace wait-until-promise with utility method
and bump default timeout

Also let `_converse.api.waitUntil` use it if a function is passed in.
2019-07-11 23:34:27 +02:00
JC Brand
8a98ef87fe Various small fixes. (Unused imports, unused vars etc). 2019-07-11 12:37:17 +02:00
JC Brand
802f2b24f5 converse-muc: Update sendConfiguration to not take callbacks 2019-07-11 11:01:51 +02:00
JC Brand
d95a7987ce Fix linting errors and add @module jsdoc directives 2019-07-11 10:48:52 +02:00
Malcolm
b016aa0f7d FIX OEMO default setting in wrong place (#1476) 2019-07-11 09:11:22 +01:00
JC Brand
8938245cdd Update various dependencies to their latest versions 2019-07-11 09:46:17 +02:00
JC Brand
8a405ee88c Various bugfixes based on the previous refactoring.
These two commit should ideally be one, but I inadvertently pushed to
remote too early.
2019-07-10 16:55:55 +02:00
JC Brand
ded9945ed9 MUC: Don't send XEP-0085 CSNs when we don't have voice
Includes some refactoring:

- Don't send an `active` chat state notification when entering a MUC
  I can't think of a good reason why this might be necessary or desired.
- Move `setChatState` form the view to the model
- Remove unused method `handleChatStateNotification`
- Don't store `role` and `affiliation` for the current user on the
  ChatRoom object, but instead on the ChatRoomOccupant object representing
  the user.
2019-07-10 14:24:00 +02:00
Malcolm
b163d05323 ADD Omemo default support (#1476) 2019-07-10 06:51:41 +01:00
JC Brand
a16c068313 Bugfix. Handle null passed in as attrs to api.rooms.create 2019-07-09 13:45:34 +02:00
JC Brand
168f29cf06 Only call credentials_url when authentication is set to login
Also update to newer strophe.js version which contains a bugfix.
2019-07-09 12:47:09 +02:00
JC Brand
5c88d3e836 Add role and affiliation classes to message DOM element 2019-07-08 13:58:15 +02:00
JC Brand
de1071bd4a Add isModerator method on the occupant model 2019-07-08 13:57:10 +02:00
JC Brand
216a67c165 Only show leave notifications when we're in the MUC
Otherwise when `removeNonMembers` gets called as we reconnect, we get a
long list of erroneous leave notifications.
2019-07-08 13:33:59 +02:00
JC Brand
6bfa69ab3b Bugfix. Wait for members before fetching messages 2019-07-08 13:23:56 +02:00
JC Brand
3ca6ac7f50 Fixes #1524 Don't include own device in OMEMO message
This change reverts the significant part of 1dfdb36d20

I can't say that I understand why libsignal throws `Error: Invalid signature`
when you try to build a session for your own (sending) device, but given that
messages can only be decrypted once, I guess it isn't really necessary
to encrypt for your own device, since you already have the plaintext.

In addition I've added some error handling so that we can recover
gracefully when session building fails for a subset of devices.
2019-07-05 19:21:05 +02:00
JC Brand
fa3c6604ac
Creating FUNDING.yml 2019-07-05 09:32:28 +02:00
JC Brand
4c0eeaeeb7
Create issue templates (#1628)
* Create bug report template
* Create feature request template
2019-07-05 09:27:56 +02:00
JC Brand
1c50d4d7a1 Bugfix. Numbers aren't delineators for mentions 2019-07-04 08:28:12 +02:00
JC Brand
f17edee827 Bugfix. Should be possible to kick/ban/etc without providing a reason 2019-07-04 08:28:12 +02:00
JC Brand
89ef9a18c4 Call destroy for the models instead of remove on the collection
So that the models get removed from the browser cache.
Otherwise they get re-fetched when we reconnect.
2019-07-04 08:28:12 +02:00
JC Brand
e5188d8b10 Bugfix. Remove affiliation based on updated members lists 2019-07-04 08:28:12 +02:00
JC Brand
1a3526f537 Update openAndEnterChatRoom to take JID 2019-07-04 08:28:12 +02:00
JC Brand
da1d87648c New config option clear_messages_on_reconnection
In some cases, it might be desirable to clear cached chat messages once you've
reconnected to the XMPP server.

For example, if you want to prevent the chat history from getting too long or
if you want to avoid gaps in the chat history (for example due to MAM not
returning all messages since the last cached message).

If you're using OMEMO, then you probably don't want to set this setting to
``true``. OMEMO messages can be decrypted only once, so if they then
subsequently get cleared, you won't get the plaintext back.
2019-07-04 08:28:12 +02:00
JC Brand
67bcc00f10 Associate ChatRoomOccupant to ChatRoomMessage
and use promises to indicate when an occupant or contact has been set
2019-07-04 08:28:12 +02:00
JC Brand
e7178fed31 Fetch messages after fetching members.
This is done to avoid unnecessary repaints and reflows (caused when a
message has already rendered and then an occupant is created and
attached to that message, cauring a re-render).

Related to #1266
2019-07-04 07:58:24 +02:00
JC Brand
cd6b5143c6 Create separate models for MUC messages and their container 2019-07-04 07:58:24 +02:00
Kim Alvefur
28b51f75ce Support sending files from clipboard (fixes #1585) 2019-07-03 23:46:24 +02:00
JC Brand
3bd8c6dbec Fix failing test on Travis 2019-07-01 18:07:08 +02:00
JC Brand
0d75cc5235 Fixes #1622
Make selector more general because Ejabberd returns `error[type="modify"]` instead of `error[type="cancel"]`.
2019-07-01 17:59:02 +02:00
JC Brand
34a404eecc URI encode query string values 2019-07-01 17:21:49 +02:00
JC Brand
63d258a00a Use findWhere when looking for only one instance 2019-07-01 17:21:47 +02:00
JC Brand
bb94891621 Only remove non-members when reconnecting to a MUC
to avoid unnecessarily destroying and then recreating ChatRoomOccupant
instances for room members.
2019-07-01 09:16:15 +02:00
JC Brand
9fc133c608 Fix order in changelog 2019-06-28 20:01:30 +02:00
JC Brand
f1f641ce61 Makes more sense to destroy a message outside of showMessage
Also ensures that we don't trigger `messageAdded` for a destroyed
message.
2019-06-28 15:24:08 +02:00
JC Brand
615b5b08a2 Fix failing test on Travis 2019-06-28 13:14:40 +02:00
JC Brand
8db839b4cf Send a XEP-0410 ping when we restore a MUC from cache
and re-enter if necessary.

This solves the problem where we "clone" a tab (e.g. middle-click) and
then restore a MUC from cache which we haven't actually entered (given
that the new tab represents a new device and session).

Also... add `await` in a test to try and fix Travis flakiness
2019-06-27 16:50:44 +02:00
JC Brand
836d3946e8 Ignore keycodes if meta key is also pressed 2019-06-27 16:09:11 +02:00
JC Brand
0d928edf7e Disconnect MUCs when we don't have a resumable SMACKS session 2019-06-27 15:49:19 +02:00
JC Brand
ec68dc1cf0 Always set JID on the connection
So that the resource is passed along when we manually bind.

Related to bd81b89724
2019-06-27 15:19:48 +02:00
JC Brand
119966d902 Set flag to indicate user session is active
We then use this flag to determine whether we should use the values from
sessionStorage.

This appears to fix the problem I originally tried to fix in 607d798665.

When "cloning" a tab (e.g. via middle-click), the `active` flag will be
set and we'll create a new empty user session, otherwise it'll be false
and we can re-use the user session.
2019-06-27 15:13:04 +02:00
JC Brand
8d9d0a1ef4 Revert "Store session per full JID"
This reverts commit 607d798665.

Unfortunately this doesn't solve the issue because we have a
chicken-and-egg problem due to not knowing the resource beforehand.

So what happens after this change is that we never resume XEP-0198
sessions but instead always start a new one.
2019-06-27 15:11:14 +02:00
JC Brand
98215deb21 Update to latest backbone.overview which debounces sorting on add event 2019-06-27 13:15:55 +02:00
JC Brand
11da69b0d7 Use native methods instead of DayJS
Results in a 4x speedup
2019-06-26 17:52:48 +02:00
JC Brand
9ee0b68133 Fix failing test 2019-06-26 17:31:53 +02:00
JC Brand
824b2c81b4 converse-minimize: Rename view methods to clarify
that they are in response to a change and not meant as an API.
2019-06-26 16:52:51 +02:00
JC Brand
bd81b89724 Ensure current resource is bound when manually calling connection.bind 2019-06-26 13:48:10 +02:00
JC Brand
9430627180 Re-group some message specs 2019-06-26 11:09:07 +02:00
JC Brand
2cbc4aaa50 Fixes #1494. Trim whitespace around messages 2019-06-26 10:59:56 +02:00
JC Brand
83bc851f20 Fixes #1455. Updates #1619
Avatar didn't update a second time due to `canvas` element being expected
2019-06-26 10:24:27 +02:00
JC Brand
b69440f875 converse-smacks: Ensure default session values are set 2019-06-25 23:58:45 +02:00
JC Brand
c759112cf3 Fix failing test 2019-06-25 22:53:39 +02:00
JC Brand
607d798665 Store session per full JID
Otherwise we run into a bug where two tabs with Converse.js share the
same XEP-0198 SM-ID, causing both to go into a reconnection-loop as
the XMPP server switches XEP-0198 sessions between them.

This bug is due to a distinction in how sessionStorage behaves when you
open the existing site in a new tab (e.g. middle-click or
`target="_blank"), as opposed to creating a new tab
and then opening the site in that tab.

In the latter case, the newly created sessionStorage object is empty.
In the former, the contents of sessionStorage of the current page is
copied over to the new page!
2019-06-25 21:40:28 +02:00
JC Brand
54804b5b89 Performance fix. Only set height when necessary 2019-06-25 17:24:07 +02:00
JC Brand
e83b0ff39e Update wording to clarify what /revoke means 2019-06-25 16:59:00 +02:00
JC Brand
681c3a2c12 Corrections bugfix. Don't save new id on message model
otherwise a new cache entry gets created, causing multiple messages to
be restored from cache later on.
2019-06-25 12:06:47 +02:00
JC Brand
1bc3f28e6f Update refreshFeatures
Distinguish between getting an existing entity and
creating a new one.

When creating a new one, ensure that we don't fetch from the cache.

New API method for creating a disco entity.
2019-06-25 11:43:59 +02:00
JC Brand
1a23ec1462 Move line from parent method into showMessage 2019-06-25 11:43:59 +02:00
JC Brand
996a43792e converse-mam depends on converse-rsm 2019-06-20 16:51:50 +02:00
JC Brand
29b6a6724d Need to explicitly fetch messages now when restoring a MUC from cache 2019-06-20 16:36:26 +02:00
JC Brand
40469a9787 MUC: Refresh room features when re-entering a cached room
Only fetch messages after we have the latest room features
Otherwise we run into race conditions where MAM messages are fetched
before we know whether (updated) the room supports MAM or not.
2019-06-20 14:04:46 +02:00
JC Brand
ac007bb527 converse-disco: don't replace a pending promise
I'm not sure how much this is an issue outside of tests, where we might
run into race conditions arising to the fact that we don't always
respond to every IQ stanza
2019-06-20 14:04:46 +02:00
JC Brand
c5309f9210 Add attributes to resolveable promise to detect its resolved state 2019-06-20 14:04:46 +02:00
Nÿco
5376d267bf Double entry
"- Properly handle message correction being received before the corrected message"
was there twice
2019-06-20 10:03:13 +02:00
Chaimaa ZEGOUMOU
a0b925ef6e Fixes #1071. x clear cross now same size as text (#1609) 2019-06-19 15:37:55 +02:00
JC Brand
c32070c9bb Autocomplete fixes
- Fixes #1575. Height not properly set on MUC invitation list
- Add new configuration setting: `muc_mention_autocomplete_min_chars`
- Bugfix. `min_chars` setting for MUC mentions wasn't having an effect
2019-06-19 15:01:30 +02:00
JC Brand
36549bf61d Revert flexbox, column-reverse changes
Unfortunately this doesn't work on Firefox and there's no proper
workaround. https://github.com/philipwalton/flexbugs/issues/108

Reverts:

Revert "Bugfix. Properly insert error messages and spinner"
This reverts commit 6a419cc145.

Revert "Use flexbox to keep the chat scrolled down"
This reverts commit dd91d3cc55.
2019-06-19 11:45:54 +02:00
JC Brand
303a8b63af Fixes #1495. Mentions should always include a URI attribute 2019-06-19 09:35:39 +02:00
JC Brand
7455ce1b07 Fixes #1579 and fixes #1538 2019-06-19 09:24:44 +02:00
JC Brand
30d110434f Bugfix. Properly resize textarea when text gets removed. 2019-06-19 09:03:52 +02:00
JC Brand
9750dcf3a8 Fixes #1142. Show confirmation dialog for editing messages
when the textarea contains an unsent message
2019-06-19 08:43:42 +02:00
JC Brand
1dc73c1c31 For chatboxes, use the web storage determined by _converse.trusted 2019-06-18 16:46:55 +02:00
JC Brand
55f7183f36 Keep horizontal padding on a per message level 2019-06-18 14:38:47 +02:00
JC Brand
b2553a44e1 New configuration setting: auto_focus 2019-06-18 14:04:26 +02:00
JC Brand
536b42697c Manually scroll down when switching fullscreen chats 2019-06-18 13:59:55 +02:00
JC Brand
4f67f352f5 Fix /${command} parsing bug 2019-06-18 13:01:38 +02:00
JC Brand
6a419cc145 Bugfix. Properly insert error messages and spinner
now that messages appear in reverse order due to flexbox
2019-06-18 12:35:58 +02:00
JC Brand
1879c18cd2 Trying to fix failing test on travis 2019-06-18 12:05:40 +02:00
JC Brand
dd91d3cc55 Use flexbox to keep the chat scrolled down
By using `display: flex` and `flex-direction: column-reverse`, the chat
now automatically scrolls down when loaded, without requiring any
extra JavaScript.

We still need to scroll down with JavaScript when sending a message.

By using `column-reverse`, the messages container now works in reverse.
So the newest message is the first element in the container and the
oldest message is the last. This is the reverse of before.

Due to this, this change will likely break some plugins.
2019-06-18 11:37:07 +02:00
JC Brand
21b0f2464d Clear received field for corrected messages
It gets populated again upon MUC reflection or chat marker
2019-06-17 12:14:31 +02:00
JC Brand
9c66302c4a Bugfix. Error responses weren't being shown for corrections 2019-06-17 12:07:33 +02:00
JC Brand
19f6bce246 Message correction improvements. Updates #1142
Up and down arrows only serve as message correction shortcuts if the
textarea is empty.

This means that:

- Up arrow doesn't start correction of previous message if we're currently writing a message
- Down arrow doesn't erase currently written message

This is based on user-feedback and is also how Slack handles these
shortcuts.
2019-06-17 09:04:03 +02:00
JC Brand
38d0d8360b New config setting message_limit
for limiting messages to a certain number of characters.
2019-06-16 21:52:56 +02:00
JC Brand
de3099a9d8 converse-muc: Show <text> content of error presences 2019-06-16 12:14:32 +02:00
JC Brand
1d6ee5bf58 No need to mention 'permanent' 2019-06-16 11:23:36 +02:00
JC Brand
a19e35d101 Use setTimeout instead of listening for animationend
For some reason the latter causes extreme lag when switching rooms
2019-06-14 13:46:53 +02:00
Nÿco
137b40d443 Double "your"
Removed one occurrence
2019-06-14 12:10:17 +02:00
JC Brand
83201e7c02 Reconnection fixes.
When reconnecting with a new transport, we call setUserJID
so that a new resource is generated, to avoid multiple
server-side sessions with the same resource.

We also call `_proto._doDisconnect` so that connection event handlers
for the old transport are removed.
2019-06-14 12:00:49 +02:00
JC Brand
9635f53dad converse-smacks: 2 bugfixes.
- Don't ever resume SMACKS stream when using BOSH
- Clear SMACKS session data when using BOSH
2019-06-14 12:00:49 +02:00
JC Brand
d3692755d0 Consolidate changed event handler that renders MUC heading 2019-06-14 09:27:10 +02:00
JC Brand
eeab6e4fca Fix failing test 2019-06-13 17:12:37 +02:00
JC Brand
946394928b Fixes #1601 Message corrections should get their own origin id 2019-06-13 16:31:02 +02:00
JC Brand
0e81234f73 Fix failing tests 2019-06-13 14:17:51 +02:00
JC Brand
22bdccc775 Bugfix.
https://xmpp.org/extensions/xep-0198.html#resumption

The <resume/> element MUST include a 'previd' attribute whose value
is the SM-ID of the former stream and MUST include an 'h' attribute
that identifies the sequence number of the last handled stanza sent
over the former stream from the server to the client.
2019-06-13 13:54:58 +02:00
JC Brand
f3c4dbc344 Avoid unnecessarily sending out a presence stanza
- Set roster_fetched flag when we get an empty IQ[type="result"] stanza
- Set `restored` flag when resuming in converse-smacks
- Don't trigger change event when fetching xmppstatus values
- Removed two events, since we can just listen to `change` on `_converse.xmppstatus`.
2019-06-13 13:33:01 +02:00
JC Brand
ba9d28b5c2 Two MUC tests
- Test for info message indicating a configuration change
- Test that the MUC reconnects when a `not-acceptable` error is returned
2019-06-12 18:39:24 +02:00
JC Brand
ca4b509d87 Log MUC connection status 2019-06-12 10:55:01 +02:00
JC Brand
5362156731 While connecting, treat "modify" error as a disconnection event 2019-06-12 10:15:55 +02:00
JC Brand
73fd3d6a5f Fade out ephemeral messages 2019-06-12 07:09:22 +02:00
JC Brand
91882e2b23 Bump clean-css and http-server versions 2019-06-12 06:45:13 +02:00
JC Brand
b7155359b2 Fixes #1588 2019-06-12 06:45:00 +02:00
JC Brand
9d3dfa831a Fixes #1599 2019-06-12 06:40:53 +02:00
JC Brand
e1ca02d94a converse-disco: don't call onInfo on undefined 2019-06-12 06:27:07 +02:00
JC Brand
bbe2a62295 converse-muc: Create info and error messages on the model
instead of on the view.
2019-06-12 06:27:07 +02:00
JC Brand
970ba96ce1 Bugfix. Only create VCards for chat and groupchat messages
Other types of messages such as `error` don't necessarily have a JID
tied to them.
2019-06-11 14:05:30 +02:00
JC Brand
a0f0240b92 Don't set nick before confirmation that it was successful 2019-06-11 14:05:30 +02:00
JC Brand
d385452a7d Use _converse.getDefaultMUCNickname 2019-06-11 14:05:30 +02:00
JC Brand
599f7596f6 Show policy violation errors to the user and make them ephemeral
Also, remove ephemeral messages after 10 seconds, not 20
2019-06-11 14:05:07 +02:00
JC Brand
3cc1b40aad Apparently no model triggers showHelpMessages anymore 2019-06-11 10:34:23 +02:00
JC Brand
dc0085bff3 All received MUC messages are "received" by definition 2019-06-06 16:17:51 +02:00
JC Brand
690052e1c2 Call setUserJID when we get JID from credentials_url 2019-06-06 13:41:52 +02:00
JC Brand
789b47ddb3 Bugfix. Don't create view for chat which fails validation
Use-case is when an invalid MUC gets opened in singleton mode.
Without this fix a new chat with spinner appears, even though it
shouldn't.
2019-06-06 08:34:56 +02:00
JC Brand
a656750459 Only fetch presences when we're resuming an existing session.
updates #555
2019-06-05 11:47:23 +02:00
JC Brand
a7184fab41 Bugfix. Need to wait for setUserJID 2019-06-05 11:38:14 +02:00
JC Brand
a954ab914f Remove old API and events docs 2019-06-05 11:35:48 +02:00
JC Brand
38a232fd45 Move BOSH code into a plugin
- Remove the `keepalive` configuration setting. It is now always implicitly `true`.
- Remove the `expose_rid_and_sid` configuration setting.
- A `prebind_url` is now mandatory when setting `authentication` to `prebind`.
- It's no longer possible to pass in `rid` and `sid` values to `converse.initialize.
2019-06-05 11:35:48 +02:00
JC Brand
01fce55733 Add prettierx and tentatively use it for some formatting
I'm using prettierx, which is a fork of prettier so that we can have
spaces before the brackets in a function declaration.

I don't like how restrictive prettier is concerning its configuration
and formatting.

- it messes up some indentation in specs/
- it removes a second newline when I specifically want to have two
- it doesn't allow spaces before brackets in function declarations (hence prettierx)
- it adds spaces for function parameters with default values

None of this is configurable.

So auto-formatting is not turned on by default, but it might be a useful
tool in some cases.

Fixes an issue where indentation was off in converse-core.js, causing
vim-sleuth to wrongly indent by three spaces only.
2019-06-05 10:25:31 +02:00
JC Brand
085a4c6535 Small config fixes
- fix import path
- remove unnecessary lines in webpack config
- remove unused file
2019-06-04 20:35:09 +02:00
Holger Weiss
0759ecfb9e fullscreen.html: Fix path to favicon 2019-06-04 19:32:13 +02:00
JC Brand
51f2ab9100 Fixes #1196. Use alternative connection method upon connfail 2019-06-04 15:11:32 +02:00
JC Brand
297f3d9efb The list of core plugins doesn't have to be an attribute of _converse 2019-06-04 14:27:25 +02:00
JC Brand
3d3c27001f Fixes #1445 Participants list uses big font in embedded mode 2019-06-04 12:20:53 +02:00
JC Brand
b57e3e49c1 Fixes #1330. Missing room name in MUC invitation popup 2019-06-04 12:08:14 +02:00
JC Brand
b128286410 Don't disconnect MUC on unload when using SMACKS
updates #1111
2019-06-04 11:12:22 +02:00
JC Brand
48adc04740 Fix path to converse.css and add some mockup fixes 2019-06-04 11:12:22 +02:00
JC Brand
1d9bbb8ddd Message display improvements
* Checkmark and edit modal button are now on the right
* Instead of showing checkmarks for MUC messages,
  we now show them as light grey before MUC reflection
* Simplify message markup by requiring less `if` statements
2019-06-04 11:12:22 +02:00
JC Brand
f2ac9ef4d7 converse-muc: Support for XEP-0410 to check whether we're joined 2019-06-03 11:41:34 +02:00
JC Brand
68d4a71c75 Fix _converse.api.user.login to handle auto_login case
Also, set the resource in `setUserJID`
2019-06-03 11:40:26 +02:00
JC Brand
3c6a17f85c Update to latest Strophe commit with explicit bind support 2019-06-03 10:02:57 +02:00
JC Brand
699fe0df63 Initial support for the CredentialsContainer web API 2019-06-03 09:43:24 +02:00
JC Brand
737e27c726 Use shakespearean character names in tests 2019-06-03 09:43:24 +02:00
JC Brand
5738b3748a Use getDisplayName for roster contacts 2019-06-03 09:43:24 +02:00
JC Brand
1fb5378524 Throw error on parser error in toStanza 2019-06-03 09:43:24 +02:00
JC Brand
f30d415f76 Refactor reconnection 2019-06-03 09:43:24 +02:00
JC Brand
55cffab594 Destroy session objects in clearSession, not in tearDown 2019-06-03 09:43:24 +02:00
JC Brand
dc58e6d47f Make teardown a function 2019-06-03 09:43:24 +02:00
JC Brand
7b11d85503 Add support for XEP-0198 Stream Management
- New plugin `converse-smacks`
- New config option `enable_smacks`
- Rename session cache id from `converse.bosh-session` to `converse.session`
- Refactor logout and login as consistently used api methods
- Refactor session cache to store per JID

Fixes #316
2019-06-03 09:43:12 +02:00
JC Brand
a46ee4dfe1 Buttons aren't always there 2019-06-03 09:41:29 +02:00
JC Brand
7c7002ebf9 Add _converse.default_connection_options
So that we can specify defaults
2019-06-03 09:41:29 +02:00
JC Brand
eafe995f95 Rename variable for clarity 2019-06-03 09:41:29 +02:00
JC Brand
24956d8dca Execute manual resource binding if necessary 2019-06-03 09:41:29 +02:00
JC Brand
0688907e0d Allow events to be synchronous
When a synchronous event is fired, Converse will wait for all
promises returned by the event's handlers to finish before continuing.
2019-06-03 09:41:29 +02:00
JC Brand
6dea4eabe7 Ensure nickname form is rendered across page loads
if the page is reloaded while the nickname form is shown
2019-06-01 16:16:34 +02:00
JC Brand
267fb38e0c Remove the forward_messages config option 2019-05-31 16:07:51 +02:00
JC Brand
16567324ef Fix controlbox position in fullscreen mode 2019-05-31 09:33:02 +02:00
JC Brand
e362776b9f converse-muc-views: Don't prematurely insert MUC into the DOM 2019-05-31 09:14:42 +02:00
JC Brand
d86a657a66 converse-controlbox: No need anymore to override insertIntoDOM
We now use CSS to make sure that the controlbox and toggle is always on the far right.
2019-05-31 09:14:07 +02:00
JC Brand
ff381b5ffe Remove unused file 2019-05-30 16:52:28 +02:00
JC Brand
f87e4e3a7c Mention the template loader in the plugin docs 2019-05-30 16:48:20 +02:00
JC Brand
e4f04f7bdf Update plugin docs.
- Remove section on UMD
- Add section explaining how to override templates
- Add overrides example to the relevant section
- Mention composition to add methods to existing classes
2019-05-30 14:16:32 +02:00
JC Brand
aece956281 Refactor strophe usage
- Upgrade to latest commit in Strophe
- Import individual Strophe dependencies
- Replace strophe plugins with code in Converse
2019-05-29 18:27:34 +02:00
JC Brand
7a18f59f8f Simplify rendering of trimmed chats
Also fix issue where trimmed headline chatboxes don't show the proper
color
2019-05-29 13:28:45 +02:00
JC Brand
da713f3162 Improve chatroom name rendering
- Take locked_muc_domain into consideration in chatroom display name
- Use getDisplayName when rendering the heading name
- Give preference to bookmark name if it exists
2019-05-29 13:27:41 +02:00
JC Brand
94f916775c Update quickstart docs
* Mention plugins for OpenFire and Prosody
* Mention demos on conversejs.org
2019-05-28 17:12:50 +02:00
JC Brand
540947dcb6 No need to show similar code snippet twice 2019-05-28 16:31:57 +02:00
JC Brand
f061171098 Mention in quickstart guide that builds can be downloaded from Github 2019-05-28 16:29:41 +02:00
JC Brand
2834e8d678 Bugfix. Single emoji messages don't display larger when restored from cache 2019-05-28 15:38:55 +02:00
JC Brand
7511d8c35e Always clear messages and occupants cache before (re)entering a room 2019-05-28 14:30:55 +02:00
JC Brand
e053b97043 Set room `connection_status' to DISCONNECTED...
when receiving an `unavailable` presence for ourselves.
2019-05-28 14:30:55 +02:00
JC Brand
85c4d144ed Only show mention autocomplete suggestions for MUC occupants with nicks 2019-05-27 22:45:54 +02:00
JC Brand
fcc9e8c31b Also allow @ in moderator commands 2019-05-27 12:27:24 +02:00
JC Brand
be0274f1f0 Fixes #1586. Not possible to kick someone with space in nick
Refactored moderation by moving certain methods to the model and
consolidating setting of roles and affiliations into new methods.
2019-05-27 12:27:12 +02:00
JC Brand
5e6c2b9982 Move role modifying method to the model
and also first check whether we have an occupant with that nickname.

Since roles are session based, it doesn't make any sense to try to
modify the role for a user not in the room.
2019-05-27 12:27:03 +02:00
JC Brand
f20aee6906 Fixes #1576
When using `auto_login` and logging out, Converse gets stucks with an infinite spinner.
2019-05-26 15:30:15 +02:00
JC Brand
22e3c49660 Terminology fix 2019-05-26 11:20:31 +02:00
JC Brand
e1762a1bb5 Rename key event handler methods to avoid confusion 2019-05-26 11:09:43 +02:00
JC Brand
5054ecca08 Check whether controlbox exists before assigning 2019-05-24 20:50:30 +02:00
JC Brand
f387c947f5 Allow the full app to be embedded.
- new config option `singleton`.
- new plugin `converse-uniview`
- removed `converse-embedded`.
- various CSS changes, to properly render an embedded full app
- don't re-open cached and non-autojoined chats in singleton mode

The goal here is to extend the `embedded` `view_mode` so that the full app can
also be embedded, not just a single MUC or private chat.

To do this, we'll need to differentiate between multi and singleton chat apps.

* A singleton chat app contains only a single chat.
* A multi-chat app can contain zero or more chats

So we introduce a new config option, `singleton`, which when used with
`view_mode` set to `embedded` will determine whether a single chat or the full
app is embedded.

Similarly, in `overlayed`, `fullscreen` and `mobile` view modes, `singleton`
set to true will allow only one chat within the parameters of that view mode.

We're appropriating the word `singleton` and introducing the concepts of
`uniview` and `multiview` (see a785ca8) to cover what was
previously meant with `singleton`.

updates #1297
2019-05-24 20:39:19 +02:00
JC Brand
2d507c68c9 Always debounce trimChats 2019-05-24 16:02:07 +02:00
JC Brand
1ef29bee4e Use composition instead of overrides 2019-05-24 16:02:07 +02:00
JC Brand
d2b1f2c97a Remove unnecesary before_install step 2019-05-24 09:21:50 +02:00
JC Brand
463bc02dd5 Cheat to get two failing test to pass on Travis
Since recently these tests have been failing consistently on Travis,
even though they're passing locally.

Ran out of time debugging the issue, so disabling some stuff for now.
2019-05-24 09:06:24 +02:00
JC Brand
f0a680e492 Remove animate config settings.
Also update tests
2019-05-23 22:02:08 +02:00
JC Brand
04af3eb029 Always try to reserve nickname when entering room
Allows for simpler code, especially making `getReservedNick` easier to override
2019-05-23 16:04:55 +02:00
JC Brand
99f2cecbed Trying to fix failng test on Travis 2019-05-23 15:06:53 +02:00
JC Brand
77734d5fc9 Improve test to also check stanza traffic 2019-05-23 14:44:10 +02:00
JC Brand
b876500865 Update to latest backbone.overview 2019-05-23 14:44:10 +02:00
JC Brand
7032ded53f cleanup 2019-05-22 19:45:00 +02:00
JC Brand
a1c33d2140 No need to explicitly call refreshFeatures
`initializeDisco` already gets called upon reconnection which
accomplishes this.
2019-05-22 19:30:22 +02:00
JC Brand
9167128d8e Bugfix. 2019-05-22 19:28:09 +02:00
JC Brand
429c320a79 Also clear MUC occupants upon reconnection 2019-05-22 19:27:53 +02:00
JC Brand
79b6a557ed Use async/await and hopefully fix some failing Travis tests 2019-05-22 16:13:15 +02:00
JC Brand
7ab59ad63e Refactor MAM and clear private chats upon reconnection
- Add `onReconnected` method for chatboxes to clear messages
- Move MAM models to headless build.
- New event `onChatReconnected`
2019-05-22 14:10:19 +02:00
JC Brand
271c79eae8 Refactor message corrections
- Save date for older message versions and display it in the modal
- Properly handle the correction being received *before* the corrected message
2019-05-22 13:26:46 +02:00
JC Brand
53520317fc Move locked_muc_domain and muc_domain to model 2019-05-21 13:05:58 +02:00
JC Brand
9cb9151265 Add test to check that #1577 is resolved 2019-05-21 12:05:47 +02:00
JC Brand
1269d53e02 Move enterRoom method to the model 2019-05-21 12:04:55 +02:00
JC Brand
4c924a66df Split bookmarks plugin into headless and views
Fixes #1577
2019-05-21 11:35:00 +02:00
JC Brand
0e49ebf695 Rename method to clarify that it's not simply an accessor 2019-05-21 11:33:01 +02:00
JC Brand
d1d81bf933 Bugfix. Remove condition before fetching members 2019-05-21 11:33:01 +02:00
JC Brand
bb0c0fcd81 Remove message views when messages get reset 2019-05-21 09:56:27 +02:00
JC Brand
b4b7fedf0f Bugfix. Add id to outgoing MUC messages 2019-05-20 17:16:16 +02:00
JC Brand
5f04176929 Clear messages when converse reconnects 2019-05-20 17:10:34 +02:00
JC Brand
886ff1bd19 Don't debounce reconnect on leading edge
Otherwise we can get into a situation where Converse stops trying to
reconnect.
2019-05-20 15:16:36 +02:00
JC Brand
a95bb5b26a Refactor tests so that IQ_ids always contains only XML stanzas 2019-05-20 14:37:29 +02:00
JC Brand
7e515dd4b1 Move all MUC joining logic to the model 2019-05-20 10:06:37 +02:00
JC Brand
39363d495f Fetch messages in MUC model 2019-05-20 09:25:11 +02:00
JC Brand
46fef28601 Clear messages when closing a chat 2019-05-19 22:11:37 +02:00
JC Brand
3085c5d408 Catch errors when destroy is called for already removed message 2019-05-19 21:43:03 +02:00
JC Brand
84bde6e766 Move some close logic to the model 2019-05-18 07:09:53 +02:00
JC Brand
0426898c23 Store chat messages in sessionStorage
so that they're cleared when the last tab closes
2019-05-18 06:57:48 +02:00
JC Brand
7950f7c2ac Change muc_show_disconnection_status to muc_show_join_leave_status 2019-05-18 06:34:29 +02:00
JC Brand
f7b19053ec Use origin_id as id for outgoing messages as well 2019-05-18 05:32:04 +02:00
JC Brand
a0f1a5cfaf Fetch chat messages in the model, not the view 2019-05-17 14:45:37 +02:00
JC Brand
e7ceb22a56 Avoid duplication by keeping track of message views 2019-05-17 14:45:37 +02:00
JC Brand
0fa6bcdcc2 Reduce debounce time for scrolling down. 2019-05-17 14:45:37 +02:00
JC Brand
bad9b08b61 disable_mam should now be set on the model 2019-05-17 13:53:31 +02:00
Christoph Scholz
038359c74f fix foreach in fileupload 2019-05-16 15:22:35 +02:00
JC Brand
16db6195d3 Move MAM methods to the model 2019-05-16 12:01:46 +02:00
JC Brand
94bea16cc4 Remove chatBoxOpened event 2019-05-16 11:54:42 +02:00
supun19
d1572f3506 iOS viewport was less than 100vh so had to redefine vh units
fixes #1571
2019-05-15 18:32:11 +02:00
JC Brand
ceb9d12957 Don't store ChatRoomOccupants on ChatRoomView
Helps with enforcing discipline of keeping them separate
2019-05-15 15:55:47 +02:00
JC Brand
7cd69726a8 Loosen coupling between ChatRoomOccupantsView and ChatRoomView
Hide/show the sidebar based on state and not imperatively in ChatRoomView
2019-05-15 14:50:12 +02:00
JC Brand
9a94e5b47e Bugfixes in fetching of occupants 2019-05-15 14:30:43 +02:00
JC Brand
85fc91d7a1 Fixes #641.
Remove Makefile.win and add build instructions for Windows based on NPM
scripts.
2019-05-15 13:03:13 +02:00
JC Brand
31213aa113 Use HTTP github URL instead of SSH 2019-05-15 12:36:51 +02:00
JC Brand
d3bc206413 Update lerna to latest version 2019-05-15 10:00:14 +02:00
JC Brand
385a82f432 Bump strophe.js to 1.3.3 2019-05-15 09:50:17 +02:00
JC Brand
1bc425e596 Fetch cached occupants in the model instead of the view 2019-05-15 09:34:52 +02:00
JC Brand
69e8b071d8 Minor cleanups 2019-05-14 20:31:43 +02:00
JC Brand
12989ab241 New event: chatBoxBlurred 2019-05-14 16:26:25 +02:00
JC Brand
86f3399dc0 Also trigger 'chatboxFocused' when user manually focuses 2019-05-14 16:24:16 +02:00
supun19
dd0821076d Groupchat auto-configuration now supports list-multi fields 2019-05-14 15:28:06 +02:00
JC Brand
1d9e1a62df Only show new moderator status when not already admin or owner 2019-05-14 13:55:19 +02:00
JC Brand
14708af715 Refactor callback method into instance method 2019-05-14 13:54:19 +02:00
JC Brand
d0ddda8244 New config option muc_show_disconnection_status 2019-05-14 13:29:43 +02:00
JC Brand
6193a9dc80 Replace lodash methods with native ones and remove lodash.fp 2019-05-14 12:41:47 +02:00
JC Brand
b1ef3f5b24 Re-add the favicon 2019-05-14 10:31:51 +02:00
JC Brand
d98b33de0a Trigger will-connect event inside reconnect method.
Also add docstrings.
2019-05-14 10:31:41 +02:00
JC Brand
4f705369bd Replace _.each and _.map with native methods 2019-05-13 20:16:39 +02:00
JC Brand
ca5b6f9fde Add class on MUC message to indicate author's role 2019-05-13 20:10:48 +02:00
JC Brand
d91a5ca6de Remove alias for xss. Upgrade pluggable.js to version 2.0.1 2019-05-13 18:54:00 +02:00
JC Brand
cb9a1673c7 Clean up test runner config and remove unnecessary stuff 2019-05-13 18:44:32 +02:00
JC Brand
7a990ae0b9 Fixes #1558, this.get is not a function 2019-05-13 14:37:48 +02:00
Maxime “pep” Buquet
3e0361ca65 Makefile: Add missing quote
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-05-13 07:59:59 +02:00
chee
34e573f8af Remove references to unsupported OTR encryption 2019-05-11 20:48:41 +02:00
JC Brand
a94f47141e Also include sass files in NPM package 2019-05-10 15:36:12 +02:00
JC Brand
84472ab752 Bugfix. npm install converse.js failed
because @converse-headless wasn't available
2019-05-10 15:26:50 +02:00
JC Brand
587dddd81d Update to latest version of Strophe
which logs less on the INFO loglevel
2019-05-10 13:26:30 +02:00
JC Brand
5b4224b5f9 clean up and improve demos
Remove demo/without_bundled_dependencies.html
2019-05-10 12:57:30 +02:00
JC Brand
9dface5a49 Add make recipe to bump release version in HTML files 2019-05-10 12:57:30 +02:00
JC Brand
6dfa94f1cf Use CDN for resources in the HTML files 2019-05-10 12:57:30 +02:00
JC Brand
6247f65063 Add changelog entry for #1465 2019-05-10 12:57:30 +02:00
JC Brand
476069ec50 Let npm pack create the assets tarball for us
That way the tarball we upload to Github is the same as the one that we
get from installing Converse via NPM.

CC @ChaosKid42

To create the tarball containing the assets, just run `npm pack`.
This is the same tarball that gets uploaded to https://npmjs.org
2019-05-10 12:57:30 +02:00
JC Brand
a276a05094 Avoid main.js being generated in dist
when were generating only the CSS
2019-05-10 12:57:30 +02:00
JC Brand
0e7d64818d Add NPM scripts so that we can build dist files 2019-05-10 12:57:30 +02:00
JC Brand
c2a0999627 Put CSS files also in ./dist 2019-05-10 12:57:30 +02:00
JC Brand
dd20fc4b07 Updated deps eslint, eslint-plugin-lodash, node-sass 2019-05-10 10:58:45 +02:00
JC Brand
145ee88213 Start handling error presences in MUC model 2019-05-09 12:18:36 +02:00
JC Brand
1be9958aa1 Bugfix. Highlighted roster contact shown as online when actually away
Removed CSS rules which don't appear to be used anywhere.
2019-05-09 11:40:48 +02:00
JC Brand
c520a4e39b Trim nickname 2019-05-08 21:37:47 +02:00
JC Brand
8283ea3d1a Remove unused dependency 2019-05-08 21:37:37 +02:00
JC Brand
77e58bff5f Test that MAM messages are fetched when a chatbox is opened
This is a precursor to also testing (and implementing) that a chat pages
through MAM results (see #1549)

Remove unused method.
2019-05-07 10:27:51 +02:00
JC Brand
2526d80464 Change api.disco.supports to resolve to a Boolean
Also add a new API method `api.disco.features.get` for the use-case
where you still want the feature object to be returned.
2019-05-07 10:27:25 +02:00
JC Brand
9f1ee11888 Add weblate as sponsor and update homepage text 2019-05-06 21:21:51 +02:00
JC Brand
188f06a055 New sponsor Blokt and remove Talentplot 2019-05-06 20:40:21 +02:00
JC Brand
61727f4c45 DayJS should be a dev dependency 2019-05-06 15:06:03 +02:00
JC Brand
c3dac272f8 Replace moment with DayJS 2019-05-06 14:27:18 +02:00
JC Brand
9528276be2 Use native Date methods instead of moment
- Use native `getTime` method instead of moment's `valueOf`
- Use toISOString() instead of moment().format()
  This makes the code timezone independent since we're now globally using UTC.
2019-05-06 10:28:03 +02:00
laszlovl
565f7d9f74 Make sure the time attribute for MAM message is parsed through moment
Messages (received directly or via MAM) are stored in a backbone
collection that's kept sorted by the message's "time" attribute.
Various parts of the codebase rely on this behavior.

For regular messages, the time attribute is generated by
`moment().format()`, which generates a timestamp in the browser's
local timezone, for example "...+02:00".

For MAM messages, we would previously copy the "delay.stamp" value
into the "time" attribute verbatim. However, that value is generated
by the server and is unlikely to be in the same timezone locale.

ISO timestamps expressed in different timezones cannot be sorted
lexicographically, breaking the premise of keeping the messages
collection sorted by time.
2019-05-05 15:44:20 +02:00
JC Brand
15b2273631 _converse.api.archive.query now returns a Promise
instead of accepting a callback functions.
2019-05-03 19:47:49 +02:00
JC Brand
8bb852b139 Updates #1554
Room auto-configuration broke if the config form contained fields with type `fixed`
2019-05-03 18:04:03 +02:00
JC Brand
346baa686f Refactor room auto-configuration 2019-05-03 18:01:07 +02:00
JC Brand
273b9584c0 Refactor onMessage to use const instead of let 2019-05-03 14:12:26 +02:00
JC Brand
52ea8d5ab6 Fixes #1550
Legitimate carbons messages blocked due to erroneous forgery check
2019-05-03 14:11:29 +02:00
supun19
eec51f9d62 Doc rooms api (#1551)
* Rooms Api
number of parameters in the documentation was made 2 from 3 as api which is used to open a room with default configuration has only 2 parameters.
2019-05-03 11:38:05 +02:00
JC Brand
9c4f8aef23 Bugfix. Call _converse.reconnect regardless
it is debounced and otherwise we might enter a state where reconnection
no longer happens.
2019-05-02 16:50:58 +02:00
JC Brand
d868b9a9f7 Continuously retry to fetch login credentials 2019-05-02 14:53:42 +02:00
JC Brand
3290d6659f Bugfix. validation message should be set on the model 2019-05-02 14:53:07 +02:00
JC Brand
969f902d4a Playing around with removing more lodash calls 2019-04-29 09:47:46 +02:00
JC Brand
ba6de8844e Use Object.keys instead of _.keys 2019-04-29 09:29:40 +02:00
JC Brand
34469425d6 Use Object.assign instead of _.extend 2019-04-29 09:07:15 +02:00
JC Brand
51d0dc8d23 No such method disconnect 2019-04-27 18:09:59 +02:00
JC Brand
b9e5658112 Message deduplication bugfixes and improvements.
- Add a new method to check for dupes based on the message text.
- When checking for dupes based on origin_id, no need to restrict to
  only our own.
2019-04-27 18:09:58 +02:00
JC Brand
7feab35a1d CSS fix. Nickname gets cut off in /me message 2019-04-27 13:25:47 +02:00
JC Brand
dedede56f8 Rename muc_disable_moderator_commands to muc_disable_slash_commands
Since those commands aren't only about moderation
2019-04-25 11:32:07 +02:00
JC Brand
c72dc74022 In the menu, only show allowed commands 2019-04-25 10:48:33 +02:00
JC Brand
3bd9e09fd7 Don't wipe the nickname value when rerendering the form
Ideally Snabbdom wouldn't completely replace the input when we add the
`error` class, because that's what's causing the input value to be
cleared.
2019-04-25 08:35:44 +02:00
JC Brand
b28d042c85 Bugfix. Don't wipe dist/converse.js when generating CSS 2019-04-24 14:51:12 +02:00
JC Brand
3ad93b56b3 Clicking the wrench icon again closes the config form 2019-04-24 14:51:12 +02:00
JC Brand
d311e14013 Render MUC forms with Backbone.VDOMView
That way we don't lose the user's input values, we avoid flashing and we
avoid unnecessary rendering.

In the process, fixed an annoying issue where Chrome auto-completes
what it thinks is the username into the "Language Tag" field of the MUC
config form.

Instead we tell Chrome that the MUC JID is the username, thereby also
letting it save the password to to that JID.
2019-04-24 14:51:12 +02:00
JC Brand
66adf03557 Bugfix. Order of operations. 2019-04-24 10:05:18 +02:00
JC Brand
e189acc8c9 Returning nick with credentials_url complicates things too much 2019-04-23 14:53:48 +02:00
JC Brand
741be5cc04 converse-muc: Handle VCards not being available 2019-04-23 12:32:59 +02:00
JC Brand
624cf4f435 Allow nickname to be provided by the credentials_url 2019-04-23 12:06:40 +02:00
JC Brand
cf75946e7b Make fetchLoginCredentials a function 2019-04-23 10:50:48 +02:00
JC Brand
e9e17cb293 Fixes #1543 2019-04-23 10:47:17 +02:00
JC Brand
ad8d4c90b3 Fix failing test 2019-04-22 21:07:05 +02:00
JC Brand
5ead9796cc Set the JID in the session 2019-04-22 14:44:40 +02:00
JC Brand
89804ecfd5 Increase Jasmine's async timeout 2019-04-22 14:39:17 +02:00
JC Brand
25a0a898f2 Don't restore a BOSH session without knowing the JID 2019-04-22 14:33:49 +02:00
JC Brand
f8fcdc7eb8 Explicitly log out after each test. 2019-04-22 14:04:21 +02:00
JC Brand
cf32119c53 Make browserStorage key more readable 2019-04-19 11:18:34 +02:00
JC Brand
0288ef437e Fixes #1542 2019-04-19 10:55:06 +02:00
JC Brand
1251f395b1 Use webpack to generate css/converse.css 2019-04-18 17:50:05 +02:00
JC Brand
3d2a8e64f0 Docs: mention that core plugins can be whitelisted in two places 2019-04-18 16:16:55 +02:00
JC Brand
e1392895b0 Fix: when closing a modal the overlay doesn't get removed
Looks like the `webkitTransitionEnd` event doesn't fire because `fade`
is already on the modal, so there's no transition, which means that in
bootstrap.native the event doesn't get fired to remove the overlay.
2019-04-18 16:14:51 +02:00
JC Brand
6f25adf033 Upgrade to bootstrap.native 2.0.26 2019-04-18 16:14:51 +02:00
JC Brand
8bc3aaa224 Upgrade to Webpack 4.28.1 2019-04-18 16:14:51 +02:00
JC Brand
725a382e3b Refactor initialization and defaults for chat boxes
- Let box_id start with char for valid HTML.
- No need to use SHA1 for box id
- No need for the user_id attribute.
- Set nickname when we set the roster contact.

Also...

- _converse.api.contacts.get is now async
- _converse.api.chats.create is now async
2019-04-18 16:14:51 +02:00
Nÿco
7c5bbfbea8 Moved file
File has moved to ./headless/ subdir
2019-04-18 11:36:23 +02:00
Nÿco
d0a92fec21 Unnecessary word
Removed "an" in "When writing an a block such as an if or while statement,"
2019-04-18 11:35:55 +02:00
JC Brand
d2166ce3dd Remove deprecated API methods
since the next release will be a major one.
2019-04-16 16:57:55 +02:00
JC Brand
ee78ec1333 Add force parameter to _converse.chats.open
This changes the API method's current behavior by not automatically
maximizing (in `overlayed` view mode) or bringing a background chat into
foreground (in `fullscreen` view mode). Instead `force` needs to be set
to `true` for that to happen.
2019-04-16 16:42:15 +02:00
JC Brand
84f9d5cf13 Mention in docs that you can enable debugging via URL 2019-04-16 14:38:38 +02:00
JC Brand
3c988240d1 Don't check for debug mode too early
Otherwise we can't enable it during operation
2019-04-16 13:59:04 +02:00
JC Brand
4eb6df92c6 Bugfix. Controlbox closed state not remembered
in overlay view mode.

Also refactored a bit to put the method, which determines whether a
chatbox may be shown, on the chatbox itself.
2019-04-16 13:38:46 +02:00
JC Brand
1dd2c4ce7b Reconnect if we can't send a message due to dropped connection 2019-04-16 13:01:47 +02:00
JC Brand
f48adb386e Fixes #1296 2019-04-16 12:59:36 +02:00
JC Brand
1328168d1e Fixes #1532 Converse reloads on enter pressed in the filter box 2019-04-11 23:44:16 +02:00
JC Brand
06f53e7f18 Add some padding to form error message 2019-04-11 23:42:19 +02:00
JC Brand
42e2cc6a7e Fixes #1530. Muted user can't close MUC participants view
Fixed by showing the participants sidebar hide button on larger screen
sizes as well.
2019-04-11 23:26:14 +02:00
JC Brand
b593b8deb6 Fixes #1533
Users can only be muted in moderated rooms
2019-04-11 23:10:57 +02:00
JC Brand
76a7c3fa9b Bugfix. Update to new function which has been renamed. 2019-04-11 20:08:53 +02:00
JC Brand
f84c201437 Hide the textarea when a user is muted in a groupchat 2019-04-11 01:40:16 +02:00
JC Brand
aa90ebd7f0 Bugfix. Don't delete JID or resource...
when an affiliation change presence is received.
2019-04-11 01:39:06 +02:00
JC Brand
234556793f Provide a more user-friendly error message to muted users 2019-04-10 22:03:00 +02:00
JC Brand
f1899d0977 Looser coupling with converse-vcard
To make it easier to remove it without breaking stuff.
2019-04-10 19:35:35 +02:00
JC Brand
36761f290e Don't show checkmark for /me messages 2019-04-10 19:34:31 +02:00
JC Brand
d3a80e804f Move converse-caps into the headless build 2019-04-10 19:22:11 +02:00
JC Brand
a75c118a2c Prioritize roster nickname as message and chatbox display name
Set reference to roster contact on the message and chatbox object and
listen for changes to the nickname.

Currently, because chat boxes are fetched and initialized before the
roster, messages and chats are repainted with the correct display name
only later, causing a "flash" effect.

Ideally we would only initialize the chat boxes after the roster
contacts have been fetched, but this is currently not easily possible
because we need the control box to render before everything else.
2019-04-09 17:20:41 +02:00
JC Brand
d450ab5868 For a message, get VCard based on bare jid of sender 2019-04-09 13:54:55 +02:00
JC Brand
87337eaeef Bugfix. Modal auto-closes when you open it a second time 2019-04-08 21:45:09 +02:00
JC Brand
5532a9ec63 Remove jquery from tests 2019-04-08 21:45:09 +02:00
Marc Laporte
1a22a94491 Clarify section title
I hope this is what you meant :-)
2019-04-08 17:48:52 +02:00
JC Brand
487114568a OAuth is not a core plugin 2019-04-05 14:04:50 +02:00
JC Brand
eb67f10371 Handle case where there isn't a MUC close button 2019-04-05 14:04:00 +02:00
JC Brand
e987214555 For roomspanel, don't set muc_domain if its locked 2019-04-05 13:14:57 +02:00
JC Brand
50d9b2ec80 Mention MAM:1 incompatibility 2019-04-04 14:07:44 +02:00
JC Brand
86b7633e59 Mention all translations 2019-04-04 13:19:34 +02:00
JC Brand
acab0339f1 New release 4.2.0 2019-04-04 12:33:08 +02:00
JC Brand
77241bf5fe Single emoji rendering fixes.
* Make the emoji a little bit smaller
* Avoid scrollbar appearing for single emoji messages
* Also identify single sent emojis
2019-03-31 20:46:49 +02:00
JC Brand
21ca33ec29 Bugfix. Create device based on prekey message for from JID
Otherwise for sent carbons we created it for the wrong user.
2019-03-31 19:36:04 +02:00
JC Brand
97400ed568 Also identify sent carbons as such. 2019-03-31 19:16:40 +02:00
JC Brand
b8107afa0e Bugfix. Remove highlight from roster item when chatbox is closed. 2019-03-31 13:05:51 +02:00
JC Brand
f0201e236d Set default value of 'status' to undefined.
When no status message is in a presence stanza, the value gets set to
undefined, so we might as well make this the default value to avoid
unnecessarily triggering change events.
2019-03-31 13:05:13 +02:00
JC Brand
337e267594 Don't trigger OMEMOInitialized if something went wrong. 2019-03-31 12:01:19 +02:00
JC Brand
dd0c0b6c56 Add a new active flag for OMEMO devices.
Instead of deleting devices that are not returned in the device list,
set an `active` flag, so that we don't remove the trust setting.

Set deactivated devices to `active` when a receive an OMEMO message from
it.

Also, set omemo_supported to true when we've succesfully decrypted a
message.
2019-03-31 11:33:31 +02:00
JC Brand
c32ecb7e82 Refactor fetchDevices to make it smaller and simpler to read 2019-03-30 17:01:50 +01:00
JC Brand
1b08df89bb Don't send OMEMO message when we don't have any devices for contact 2019-03-30 16:32:47 +01:00
JC Brand
1a2e7b235a OMEMO bugfix. Store prekey as boolean and handle '1' and 'true' 2019-03-30 15:57:36 +01:00
JC Brand
1dfdb36d20 Don't filter out own device when sending OMEMO message 2019-03-30 13:55:25 +01:00
JC Brand
9653636d92 Load converse.js in the API docs and update favicon 2019-03-30 12:54:56 +01:00
JC Brand
d1b76599f4 i18n: Fix German grammar error 2019-03-30 12:54:56 +01:00
JC Brand
a45bd8d14b Convert older docstrings to JSDoc syntax 2019-03-30 12:54:56 +01:00
Vladislav
7ed99092f5 Translated using Weblate (Russian)
Currently translated at 66.7% (248 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2019-03-29 22:03:58 +01:00
JC Brand
e232b08ce4 Translated using Weblate (German)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-03-29 22:03:48 +01:00
sergio
4c294228da Translated using Weblate (Spanish)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2019-03-29 22:03:48 +01:00
Yaron Shahrabani
a3ab3b2b4e Translated using Weblate (Hebrew)
Currently translated at 94.6% (352 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2019-03-29 22:03:48 +01:00
Xosé M
83347437a6 Translated using Weblate (Galician)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2019-03-29 22:03:19 +01:00
JC Brand
18e166d5bc Translated using Weblate (Flemish)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/
2019-03-29 22:03:19 +01:00
JC Brand
6591761895 Translated using Weblate (Dutch)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/
2019-03-29 22:03:18 +01:00
Lorem Ipsum
79042ac338 Translated using Weblate (Czech)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2019-03-29 22:03:18 +01:00
JC Brand
c7e5559782 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2019-03-29 22:03:18 +01:00
Arnaud Jacquemin
a28b8153ee Translated using Weblate (French)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-03-29 22:03:18 +01:00
JC Brand
81820d22a5 Build headless builds in src/headless/dist 2019-03-29 21:56:56 +01:00
JC Brand
63a0c63927 Fix bugs with moving events 2019-03-29 21:56:56 +01:00
JC Brand
f897703565 Rename emit to trigger for consistency with Backbone.Events 2019-03-29 21:56:56 +01:00
JC Brand
f6335dcabe Document fired events with JSDoc 2019-03-29 21:04:33 +01:00
JC Brand
d41a7a14c3 Use API to emit and listen to events 2019-03-29 14:16:07 +01:00
JC Brand
7481643453 Validation error when trying to add an already existing contact 2019-03-28 15:54:47 +01:00
JC Brand
be1abdb5ff Add classes for easy styling 2019-03-28 15:43:29 +01:00
Christoph Scholz
dde815e0a8 Allow manual entry of jid with xhr_user_search_url 2019-03-28 15:38:56 +01:00
JC Brand
d300be58cc Fixes #144. Fall back to JID if name is not available 2019-03-28 15:37:01 +01:00
JC Brand
34b8cd2ee6 Prevent user from adding themselves as contact 2019-03-28 15:36:08 +01:00
JC Brand
ab76a905f9 Remove more traces of awesomplete 2019-03-28 15:07:06 +01:00
JC Brand
cc865de0f0 Add new config setting autocomplete_add_contact
Determines whether search suggestions are shown in the "Add Contact" modal.
2019-03-28 14:34:12 +01:00
JC Brand
42128e051d Regenerate headless build 2019-03-28 12:43:34 +01:00
JC Brand
0725d5a53f Reduce top/bottom padding on messages 2019-03-28 12:43:34 +01:00
JC Brand
b726a2353c Remove Awesomeplete in favor of _converse.AutoComplete 2019-03-28 12:43:34 +01:00
JC Brand
8d385487c9 Remove unused element attributes 2019-03-28 12:35:19 +01:00
JC Brand
75ae76ad93 Use _converse.AutoComplete in "Add Contact" modal 2019-03-28 10:47:14 +01:00
JC Brand
f0848c2815 Don't show bottom border for occupants list in overlay view mode 2019-03-27 15:34:12 +01:00
JC Brand
9e85143d31 Tweak "Participants" header and roster action icons positioning 2019-03-27 15:25:37 +01:00
JC Brand
ae4111b17b Reuse CSS variables 2019-03-27 14:42:59 +01:00
JC Brand
e3468b3c41 Hide the participants close button on larger screens
We need it for mobile where (eventually) we might have the participants
sidebar occupy the whole screen.
2019-03-27 13:29:37 +01:00
JC Brand
616731b323 Don't show MUC domain if locked_muc_domain is set to 'hidden' 2019-03-27 13:13:07 +01:00
JC Brand
fb89148b08 Add tests for tricky URLs 2019-03-27 11:39:52 +01:00
JC Brand
03f9eb95da Fixes #1467. Fix rendering of URLs enclosed with sharp brackets
such as <https://example.org>
2019-03-27 11:24:55 +01:00
JC Brand
cbc343115e Remove jquery from spec/messages.js 2019-03-27 09:47:59 +01:00
JC Brand
18ad34e194 Show emoji shortname in tooltip 2019-03-27 08:41:32 +01:00
JC Brand
6cbdaa0f4f Bugfix. Bookmarks list didn't remember toggle state
We need to wait for the state to be fetched from storage before
rendering the list.
2019-03-27 08:34:58 +01:00
JC Brand
298300e890 Add test for muc_respect_autojoin 2019-03-27 08:34:52 +01:00
JC Brand
b81fa43a74 Tweak API css 2019-03-26 22:37:26 +01:00
JC Brand
c81f064137 Fix syntax errors in lt po file 2019-03-26 22:07:39 +01:00
JC Brand
225312694f Two small updates
* Ensure that outgoing messages are also marked as single emojis
* Also set msgid to origin-id for sent groupchat messages
2019-03-26 22:03:56 +01:00
JC Brand
3ce3d661bc Make sure required registration fields have "required" attribute 2019-03-26 14:52:26 +01:00
JC Brand
9f290dab25 New config setting locked_muc_nickname
When set, the "Nickname" field won't be shown in the "Add groupchat"
modal and instead the nickname will be automatically set (based on other
config settings).
2019-03-26 13:29:33 +01:00
JC Brand
32f0eb5488 Fixes #1407. Don't allow empty value for MUC nickname 2019-03-26 13:03:42 +01:00
JC Brand
275ad40f13 CSS fix: Unread number not visible on unread message count 2019-03-26 11:31:47 +01:00
JC Brand
a9ce9acff2 Make sure nickname config option takes precedence
above other nickname sources.
2019-03-26 11:31:11 +01:00
JC Brand
d7db4df468 Remove jquery from spec/chatbox.js 2019-03-26 11:06:33 +01:00
Guus der Kinderen
bde1b9529b Minimized bookmarked chatboxes should not be always maximized after page reload
This is a fix for https://github.com/conversejs/converse.js/issues/1508
2019-03-26 11:06:32 +01:00
JC Brand
ba81207da5 Upgrade to Jasmine 2.99.2 2019-03-25 23:05:21 +01:00
JC Brand
e0cb3c34bb Bugfix. Don't extend chatbox attributes
when creating attributes for outgoing message.

Otherwise `id` is the same for all messages.
2019-03-25 23:04:39 +01:00
Christoph Scholz
10da92ec5b fix LMC with Conversations 2019-03-22 17:37:28 +02:00
JC Brand
dbccc08cf6 Trying to avoid intermittent failure on Travis 2019-03-22 15:53:03 +01:00
JC Brand
fa85fc71b9 Use async/await 2019-03-22 15:49:44 +01:00
JC Brand
76b32bea92 Add logo and custom CSS for the API docs 2019-03-22 15:22:21 +01:00
JC Brand
56bee63ed1 Start documenting events with JSDoc 2019-03-22 15:21:51 +01:00
JC Brand
27557d6a04 Document _converse.ChatBox.prototype.sendMessage as an API method
Until now, we've only been explicitly documenting the `_converse.api`
namespace and only considered the methods under it as forming the API
contract (which determines how we do semver releases).

It appears as if we've reached a point where trying to keep everything
under the `_converse.api` namespace no longer makes sense. Certain
methods are applicable to particular models and trying to shoehorn them
into the `_converse.api` namespace seems clunky and non-intuitive.

I've therefore decided to slightly refactor `sendMessage` to let it take
two simple parameters and to document it with JSDoc so that it's
presented as an API method, albeit only available on a chat model.

updates #1496
updates #1504
2019-03-21 21:03:02 +01:00
JC Brand
675692df74 Use _converse.api.send to forward messages 2019-03-21 20:54:23 +01:00
JC Brand
d87551328d Upgrade to Strophe 1.3.2 2019-03-21 07:28:37 +01:00
Christoph Scholz
0957b7086f Don't prompt for reason if auto_join_on_invite 2019-03-19 22:26:42 +02:00
JC Brand
ce539ac685 Add more files to ignore 2019-03-15 15:54:26 +01:00
JC Brand
a0f5dfd35f Make sure API docs are also generated from headless code 2019-03-15 15:49:12 +01:00
JC Brand
4c50ac23e7 Add Jed as dependency of @converse/headless
fixes #1352
2019-03-15 15:49:12 +01:00
JC Brand
c0f3096216 Move MAM view overrides and view-based code out of @converse/headless
updates #1352
2019-03-15 15:49:12 +01:00
JC Brand
11c1b01692 Add converse-headless.js dist file and recipes
updates #1352
2019-03-15 10:24:39 +01:00
JC Brand
d919e81216 Set up XML logging before emitting connectionInitialized 2019-03-15 10:24:15 +01:00
JC Brand
5b4ce87a4d Don't send out receipts or markers for MAM messages
Eventually we need to add better support for receipts and markers of MAM
messages.

We'll need to do the following:

* First check whether the MAM page already contains the receipts or markers, to avoid duplication
* Only ever in catchup mode
* Only after full catchup to ensure that the receipt is not in a different page than the message
2019-03-12 13:02:10 +01:00
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
Christoph Scholz
ed9d2a2526 make it configurable whether to respect autojoin 2019-03-09 14:10:40 +02:00
JC Brand
be156dee1e Explicitly set outline-color for chatbox and chatorom textarea 2019-03-07 18:18:42 +01:00
JC Brand
1bc834e808 Document how to disable the spoiler button 2019-03-07 17:52:51 +01:00
JC Brand
143d44c3f6 Avoid horizontal scrolling on the fullscreen login page 2019-03-07 17:47:30 +01:00
JC Brand
ebd1797991 Call save only once when updating a cached message 2019-03-07 17:38:07 +01:00
Axel Viala
b51d98d6d1 Fix #1327: Refusing url and email as mentions
Before the function `extractReference` in
`/src/headless/converse-muc.js` matched url and email.

Fix: https://github.com/conversejs/converse.js/issues/1327
2019-03-07 16:53:27 +01:00
JC Brand
33600eeece No need for a separate archive_id value.
With MAM2 we can just use stanza-id
2019-03-07 16:45:00 +01:00
JC Brand
be6a5d9c37 Reuse XEP-359 unique and stable stanza ids for Message id.
This helps us to avoid duplicates by relying on the fact that Backbone
models have unique ids.
2019-03-07 08:56:17 +01:00
JC Brand
49da3424e5
Merge pull request #1475 from wrooot/master
Update Lithuanian (lt) translation
2019-03-06 15:21:28 +01:00
JC Brand
2de794abc1
Merge branch 'master' into master 2019-03-06 15:10:26 +01: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
Christoph Scholz
37800d92d3 allow drag & drop also in MUCs 2019-03-05 18:21:07 +01:00
JC Brand
49d04bef83 Remove check that passes locally but fails on Travis 2019-03-05 18:11:14 +01:00
JC Brand
0ebfc3fce8 Let converse-autocomplete also be triggered with backspace 2019-03-05 17:59:22 +01:00
JC Brand
7910447cf6 Use ev.key instead of ev.keyCode
Removes the need for maintaining a map of keycodes to keys
2019-03-05 17:59:22 +01:00
JC Brand
f8e31a7b49 Update converse-autocomplete to make it more flexible
* Accepts other triggers besides tab or @
* More finegrained control over whether the triggering char is
  included in the returned value or not.
2019-03-05 17:59:22 +01:00
Emmanuel Gil Peyrot
3aa9ee1ba0 Replace http: with https: in xmpp.org links 2019-03-04 17:49:44 +01:00
Emmanuel Gil Peyrot
b7ae9f212c Replace http: with https: in conversejs.org links 2019-03-04 17:47:45 +01:00
wrooot
86730b86bf #1474 Updated lithuanian (lt) translation 2019-03-03 14:36:13 +02:00
wrooot
123fb6a42f #1474 Updated lithuanian (lt) translation 2019-03-03 14:33:59 +02:00
JC Brand
7dd21880ed Fix failing tests
Don't assume order of CSN messages, since `getLastMessageDate` ignores
CSN messages, they sometimes get add above one another.
2019-03-01 12:58:49 +01:00
JC Brand
b15ebdde40 Update to Backbone 1.4.0 and use fork of Backbone.NativeView
with `_setElement` fix.

See https://github.com/akre54/Backbone.NativeView/pull/29
2019-03-01 11:56:22 +01:00
JC Brand
310b2c723b Fixes #1149
With xhr_user_search_url, contact requests are not being sent out
2019-03-01 11:56:22 +01:00
JC Brand
69632f243a Remove jQuery from spec/controlbox.js 2019-03-01 11:56:22 +01:00
JC Brand
d4fbdf5629 Fixes #1213. Switch roster filter input and icons 2019-03-01 11:56:22 +01:00
JC Brand
c26dde34f9 Allow setting of debug mode via URL with /#converse?debug=true 2019-02-27 16:28:30 +01:00
JC Brand
61a0e1bb16 New config setting show_client_info
Determines whether we show the icon for opening the client's "About" modal.
2019-02-27 14:42:27 +01:00
JC Brand
49da581d14 Fixes #1400. When chat message is only an emoji, enlarge it 2019-02-27 10:34:47 +01:00
JC Brand
519bd54acb Fixes #1457. Wrong tooltip shown for "unbookmark" icon 2019-02-26 12:08:48 +01:00
JC Brand
d3a4555165 Re-add support for muc_domain and add locked_muc_domain.
updates #1373
2019-02-26 11:58:01 +01:00
JC Brand
2ddd918f6a Fixes #1437. List of groupchats doesn't scroll 2019-02-26 11:57:36 +01:00
JC Brand
36b912f052 Reorganize tests.
* CSN tests don't belong under "Groupchats" section tests.
* Move modal tests to their own grouping
2019-02-25 18:57:09 +01:00
Johan Oudinet
44e7275d89 Makefile: Fix .min.css filename and include headless variant in assets
Also include the unminified versions for people who wants to modify
them.
2019-02-25 18:37:40 +01:00
JC Brand
50168061ad Add undocumented events and setting. Link to OMEMO docs
* `connectionInitialized` and `converse-loaded` events
* allow_login` setting
2019-02-25 14:32:33 +01:00
JC Brand
59c43a23f0 Two changes, see below
* Add new test helper to create contacts via IQ exchange
* Use roster nickname to set message fullname
2019-02-24 20:27:41 +01:00
JC Brand
0ee08ee622 Use async/await for enterRoom 2019-02-22 23:14:35 +01:00
JC Brand
9b0e23dcc6 Ensure new contact is attached to existing chatbox
When a new contact is added, check if we already have a chatbox open for it,
and if so attach it to the chatbox.
2019-02-22 23:05:03 +01:00
JC Brand
3e4f4e9436 Use the API in tests 2019-02-22 22:33:34 +01:00
JC Brand
bfaa7e47f2 Add roomviews.get API method 2019-02-22 21:44:03 +01:00
JC Brand
0fc5112000 Found one more occurance of the word room 2019-02-22 21:44:03 +01:00
JC Brand
5afb3051cc New release v4.1.2 2019-02-22 16:49:45 +01:00
Seve
4f2d2c82a2 Translated using Weblate (Spanish)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2019-02-22 16:36:02 +01:00
Murilo Venturoso
4d35169eb5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 60.5% (225 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2019-02-22 16:36:02 +01:00
Allan Nordhøy
45ca1774ca Translated using Weblate (Polish)
Currently translated at 82.3% (306 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2019-02-22 16:36:02 +01:00
Guus der Kinderen
70064c49f2 Translated using Weblate (Italian)
Currently translated at 55.6% (207 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2019-02-22 16:36:02 +01:00
Yaron Shahrabani
222c2daffb Translated using Weblate (Hebrew)
Currently translated at 76.3% (284 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2019-02-22 16:36:02 +01:00
JC Brand
a3d3a3ef48 Translated using Weblate (German)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-02-22 16:36:02 +01:00
Emmanuel Gil Peyrot
e3b0d69ec2 Translated using Weblate (French)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-02-22 16:36:02 +01:00
JC Brand
264255afdd Translated using Weblate (Flemish)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/
2019-02-22 16:36:02 +01:00
JC Brand
d58a096342 Translated using Weblate (Dutch)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/
2019-02-22 16:36:02 +01:00
Lorem Ipsum
a3ed4d8a2d Translated using Weblate (Czech)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2019-02-22 16:36:02 +01:00
BlacAmDK
c55f7ee6cd Translated using Weblate (Chinese (Simplified))
Currently translated at 28.5% (106 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2019-02-22 16:36:02 +01:00
JC Brand
9dc51288a2 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (372 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2019-02-22 16:36:02 +01:00
Sneer Sneerowski
f0b6ef6e7c Translated using Weblate (Polish)
Currently translated at 82.3% (306 of 372 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2019-02-22 16:36:02 +01:00
joudinet
21c8be8da3 Makefile: Keep .min extension and add sourcemap to the assets archive (#1453) 2019-02-22 16:34:39 +01:00
JC Brand
e6b2e04755 Let panel take full height in overlay view_mode
Fixes scrollbar appearing next to spinner when logging in.
2019-02-22 16:28:44 +01:00
JC Brand
a8e05dae36 Fall back to chatbox JID if the stanza has no from 2019-02-21 09:21:18 +01:00
JC Brand
f123f483ae Fixes #1406 2019-02-21 09:19:02 +01:00
JC Brand
ce2ae87df2 Bugfix. Open groupchats not shown when logging in after disconnection
* Replace `tearDown` overrides with event handlers.
* Move presence listeners to `connected` event handler, otherwise they
  don't get called when logging in again after disconnection.
* Add `clearSession` listeners to clean up upon disconnection.
* Use `Promise.all` instead of listening for multiple events.
2019-02-20 23:08:27 +01:00
JC Brand
064ba57ad8 Remove unused svg 2019-02-20 22:58:57 +01:00
JC Brand
253958ed93 Prevent duplicate messages by comparing MAM archive id to XEP-0359 stanza ids 2019-02-19 23:08:29 +01:00
JC Brand
db66f52583 Update pot and po files 2019-02-19 15:00:59 +01:00
JC Brand
4463b44773 Use "XMPP address" instead of "XMPP username" 2019-02-19 15:00:38 +01:00
JC Brand
5cbbdc941a Make sponsors fit in docs 2019-02-19 14:51:01 +01:00
JC Brand
e389d77107 New release 4.1.1 2019-02-18 20:40:55 +01:00
JC Brand
3a2dab9e8c Debounce showing or hiding rooms list 2019-02-18 20:23:20 +01:00
JC Brand
47936dbfd4 Fix failing test for #1438 2019-02-18 20:23:20 +01:00
André Berenguel
8dcb327ead Update contact nickname when receive a roster push 2019-02-18 20:23:20 +01:00
Alexis
e5c7e47bfe Translated using Weblate (French)
Currently translated at 100.0% (374 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-02-18 20:23:19 +01:00
Raov
7395ff32ac Translated using Weblate (Russian)
Currently translated at 57.0% (213 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2019-02-18 20:23:19 +01:00
Yaron Shahrabani
d138eab216 Translated using Weblate (Hebrew)
Currently translated at 64.7% (242 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2019-02-18 20:23:19 +01:00
Lorem Ipsum
7c4fc462c6 Translated using Weblate (Czech)
Currently translated at 100.0% (374 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2019-02-18 20:23:19 +01:00
Emmanuel Gil Peyrot
75a924f920 Translated using Weblate (Esperanto)
Currently translated at 50.0% (187 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eo/
2019-02-18 20:23:19 +01:00
JC Brand
1bc2480ffb Fix website styles for mobile 2019-02-18 20:23:19 +01:00
JC Brand
c026dc8a86 New copyright year 2019-02-18 20:23:18 +01:00
JC Brand
9233087548 Don't hash web storage ids.
Makes debugging more difficult and uses up extra CPU cycles for no real security benefit.
2019-02-18 20:23:18 +01:00
JC Brand
af0093bd39 Bugfix: MUC invite form not shown 2019-02-18 15:42:56 +01:00
JC Brand
5e0c320fb1 Two small styling fixes
* Use font from variables
* No need to load bourbon twice
2019-02-18 12:18:51 +01:00
JC Brand
d830bc1250 Also check for duplicates in one-on-one messages 2019-02-14 15:17:49 +01:00
JC Brand
d08f738656 Bugfix: Restore textarea size after sending message 2019-02-14 13:21:26 +01:00
JC Brand
7e34a462c1 Add support for handling multiple stanza-id elements 2019-02-14 12:13:07 +01:00
JC Brand
8d00294681 Use origin-id to check for reflected messages.
Also, store the returned `stanza-id` on the message.
2019-02-14 11:33:28 +01:00
JC Brand
6eb05be4be XEP-0359: Better usage of stanza-id to check for dupes 2019-02-13 22:14:58 +01:00
JC Brand
5b25d5daaa Don't send markers to someone not on your roster
Updates #324
2019-02-13 19:32:02 +01:00
JC Brand
bce4886a2b CSS: Add padding after message time 2019-02-13 18:23:47 +01:00
Guus der Kinderen
0d6c0e52d0
Fixed typo 2019-02-13 16:25:39 +01:00
JC Brand
370c4c84d9 Use async/await instead of explicit promises 2019-02-13 15:49:51 +01:00
JC Brand
4c83a23382 Revert "Reject the waitUntilFeaturesDiscovered promise if query failed"
This reverts commit 01f0a65209.

Updates #1410
2019-02-13 15:44:17 +01:00
JC Brand
3fe6efc2cf Fix failing tests 2019-02-13 15:25:23 +01:00
JC Brand
2c9c11e971 onMessage improvements.
Don't check for older messages with same msgid
we can't rely on a message's `id` attribute being unique.

Also, remove `createMessage` in favour of calling `messages.create` directly.
2019-02-13 15:24:02 +01:00
JC Brand
0169d86b11 Re-add check for allow_non_roster_messaging 2019-02-13 15:21:41 +01:00
JC Brand
dfe9d301c6 Test that roster groups are fetched before contacts
updates #1405
2019-02-13 11:20:49 +01:00
laszlovl
b172861d2c Dont run fetchRosterContacts async, to prevent processing presence before contacts are created
Fixes #1405
2019-02-13 09:13:45 +01:00
JC Brand
4a5603ab2e More specific selector for markers and another test
Updates #1442
2019-02-13 08:58:27 +01:00
JC Brand
dbcf6002ff Fixes #1442 2019-02-12 19:10:46 +01:00
Witek
84e0ce6617 Change jcbrand to conversejs in releases urls (#1443)
* change jcbrand to conversejs in releases links
2019-02-12 18:19:18 +01:00
JC Brand
9f5031c278 Make converse.initialize an async function
- Combine all test init functions into `initConverse`
- Use `async` functions in more tests
- Replace `var` with `let` and `const` in more tests
- New utils method `toStanza` which converts a string to a Node
2019-02-12 15:34:50 +01:00
JC Brand
fb5c299d9b Upgrade lerna to latest version 2019-02-12 14:21:40 +01:00
JC Brand
7100681496 Use devDependencies consistently
'dependencies' in package.json get installed as well when installing
converse.js or @converse/headless in a 3rd party project, which is
unnecessary.
2019-02-11 19:34:21 +01:00
JC Brand
aa64df35ee converse-core is not a plugin 2019-02-11 14:45:16 +01:00
Johan Oudinet
a7386200f7 Makefile: Simplify sed commands
And fix an extra space added by mistake by the sed command on
_converse.VERSION_NAME in converse-core.js.
2019-02-11 04:45:35 -07:00
Johan Oudinet
c5bd4c62cf Makefile: Create an archive with all assets.
Add the version to the archive name so it also fixes #1375.
Remove the recipes for css/webfonts.zip, sounds.zip, and locale.zip.
2019-02-11 04:45:35 -07:00
JC Brand
28845bb850 Updated package-lock.json 2019-02-08 15:37:47 -07:00
JC Brand
a1a381428c Add converse-chatboxviews as dependency 2019-02-08 15:37:47 -07:00
JC Brand
abe21dce66 Include origin-id in outgoing messages 2019-02-08 15:34:16 -07:00
laszlovl
590d8769a9 Prevent duplicate messages on MUC join
Fixes #1414
2019-02-08 15:32:21 -07:00
JC Brand
c403708f76 Add talentplot as sponsor 2019-02-05 14:15:45 -07:00
JC Brand
004519931c Upgrade babel and lodash 2019-02-05 13:02:36 -07:00
Christoph Scholz
5e1f5785f9 fix moderator commands that change affiliation 2019-02-05 12:47:53 -07:00
JC Brand
c023bd1d47 Fix test failures on Chrome 72 2019-02-01 21:37:29 +01:00
JC Brand
9c28ef13bf Generate CSS 2019-02-01 15:13:47 +01:00
JC Brand
e1f8d53c46 Initial support for chat markers. Updates #324 2019-02-01 15:05:13 +01:00
JC Brand
4c964c56c0 Filter out undefined 2019-02-01 15:05:13 +01:00
Emmanuel Gil Peyrot
60bb313988 Concord theme: Fix owner badge color.
Fixes #1431.
2019-02-01 10:39:37 +01:00
JC Brand
1ca7d34c25 Ignore (and destroy) archived/delayed messages with no body to show 2019-01-31 16:11:17 +01:00
JC Brand
becbedd7db CSS: fix margin for lock icon 2019-01-31 15:26:19 +01:00
JC Brand
b8c12b1cd4 Remove unused 3rd party libs 2019-01-31 15:22:14 +01:00
JC Brand
0b1e5c6308 Hack to avoid cutting of message author text 2019-01-31 13:31:58 +01:00
Christoph Scholz
b667eae1c8 muc moderator commands can be disabled selectively 2019-01-30 03:42:12 +01:00
JC Brand
10f629310e Need to declare muc_show_join_leave as setting 2019-01-29 05:50:43 +01:00
Holger Weiss
af091faf33 Resurrect muc_show_join_leave option
The option got lost in commit 9528d81c00.

Fixes #1263
2019-01-29 05:45:35 +01:00
JC Brand
26b0934ab6 Updated JSON translation files 2019-01-29 05:40:35 +01:00
JC Brand
13fca5ddfa Updated af translations 2019-01-29 05:40:35 +01:00
JC Brand
4150a3a70b Add Esperanto as supported language 2019-01-29 05:40:34 +01:00
Yaron Shahrabani
19e4cafbd5 Translated using Weblate (Hebrew)
Currently translated at 60.4% (226 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/he/
2019-01-29 05:07:23 +01:00
nautilusx
cd9ef5c33e Translated using Weblate (German)
Currently translated at 100.0% (374 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-01-29 05:07:22 +01:00
Chinmay Sharma
6604b3416e Translated using Weblate (Hindi)
Currently translated at 11.2% (42 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hi/
2019-01-29 05:07:22 +01:00
Emmanuel Gil Peyrot
8333e36f74 Translated using Weblate (Japanese)
Currently translated at 93.9% (351 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2019-01-29 05:07:22 +01:00
Emmanuel Gil Peyrot
b42b731e9c Added translation using Weblate (Esperanto)
Translated using Weblate (Esperanto)

Currently translated at 50.0% (187 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eo/
2019-01-29 05:07:22 +01:00
Xosé M
92a1b8942f Translated using Weblate (Galician)
Currently translated at 100.0% (374 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2019-01-29 05:07:22 +01:00
aitzol berasategi
822b231d38 Translated using Weblate (Basque)
Currently translated at 95.5% (357 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2019-01-29 05:07:22 +01:00
sergio
5aa1354aa3 Translated using Weblate (Spanish)
Currently translated at 100.0% (374 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2019-01-29 05:07:21 +01:00
Allan Nordhøy
2fced0d421 Translated using Weblate (Norwegian Bokmål)
Currently translated at 71.7% (268 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2019-01-29 05:07:21 +01:00
Nathan Follens
2eb6b43ea7 Translated using Weblate (Flemish)
Currently translated at 100.0% (374 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/
2019-01-28 13:42:28 +01:00
Nathan Follens
29fd444caf Translated using Weblate (Dutch)
Currently translated at 100.0% (374 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/
2019-01-28 13:42:28 +01:00
Lorem Ipsum
5597c125be Translated using Weblate (Czech)
Currently translated at 98.9% (370 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2019-01-28 13:42:28 +01:00
Louies
55741bc002 Translated using Weblate (Chinese (Traditional))
Currently translated at 24.9% (93 of 374 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/
2019-01-28 13:42:28 +01:00
JC Brand
59a9c86fa5 Fixes #1417 2019-01-28 13:39:33 +01:00
JC Brand
20a14f5877 Build before testing 2019-01-28 13:30:47 +01:00
JC Brand
3cbc99a3f2 Roster fixes related to reconnecting
Avoid `An 'url' property must be specified` error by properly clearing
presence data upon teardown and then resetting the browserStorage upon
reconnection.

Store contact resources in a Backbone collection
2019-01-28 13:30:47 +01:00
JC Brand
4e9e532a06 Use async/await in populateRoster 2019-01-28 13:27:25 +01:00
JC Brand
374260242c Variable interpolation bugfix 2019-01-28 13:27:25 +01:00
JC Brand
d97deaea80 Fixes #1369
* Add test and changelog entry
* Also show message subject if available
2019-01-28 13:27:25 +01:00
JC Brand
3c0e3d3fab Refactor out createMessage.
Changes:

* Avoids leaky abstraction of MUC code into converse-chatboxes
* Avoid creating unnecessary message objects (e.g. without <body)
* Add fix for #1369.
* Rename spec/chatroom.js to spec/muc.js
2019-01-28 13:27:25 +01:00
MaxLanar
3aaff4e973 remove last comma in credentials_url example
Last comma  forbidden in JSON, example doesn't work as is.
2019-01-26 06:24:54 +01:00
JC Brand
450c0e5e0f Use bootstrap.native-loader to avoid including unused code 2019-01-25 07:32:51 +01:00
JC Brand
46d404809d Upgrade bootstrap.native to 2.0.24 2019-01-25 07:32:50 +01:00
JC Brand
7753177ca9 Remove unnecessary aliases from webpack 2019-01-25 07:32:50 +01:00
Emmanuel Gil Peyrot
9702e9dee3 Add ARIA live region on chat-content
This asks screen readers to read every message received, and is
mandatory for blind users to get notified of new messages.
2019-01-23 14:01:27 +01:00
Christoph Scholz
9eee13e192 fix direct invite for membersonly room 2019-01-22 10:41:59 +01:00
JC Brand
a1795c29ba 3 small changes
- Set correct default value
- Set proper Makefile recipe dependency
- Fix rendering issue in changelog
2019-01-14 12:06:55 +01:00
Christoph Scholz
84be0fb9f7 new config option "roomconfig_whitelist" 2019-01-12 21:51:47 +01:00
JC Brand
a2f42d27a2 New release 4.1.0 2019-01-11 18:49:37 +01:00
JC Brand
79990f7e01 Don't unnecessarily set height on textarea 2019-01-11 18:38:09 +01:00
ButterflyOfFire
12700ef402 Translated using Weblate (Arabic)
Currently translated at 84.8% (313 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2019-01-11 18:01:55 +01:00
JC Brand
4f9f90d1d9 Mention B1 Systems as a sponsor 2019-01-11 17:59:27 +01:00
JC Brand
305376b27a Update changelog and build 2019-01-11 17:43:08 +01:00
JC Brand
4fe2b23d9c Modernize some roster tests
By ditching jquery and using async/await
2019-01-11 17:40:52 +01:00
Lynesth
df7d663b1d Force avatar refetch if new hash received
Fixes #1334
2019-01-11 17:39:49 +01:00
Lynesth
7e370c1b81 Fix send_chat_state_notifications option for MUCs
Fixes half of #1337.
2019-01-11 17:32:23 +01:00
JC Brand
ec14a31908 CSS: spacing of logo and byline on fullpage login form 2019-01-11 09:19:10 +01:00
JC Brand
dc07440de8 Bugfix. Don't create chats for messages without body 2019-01-10 21:47:50 +01:00
JC Brand
1984bdd8e1 Remove row class.
Causes the register form to overflow the parent bounds in overlay view
2019-01-10 21:17:05 +01:00
JC Brand
1eb00d3e5d CSS/HTML: Nicer styling of branding on the login page 2019-01-10 21:15:01 +01:00
JC Brand
4f8cb48fb3 CSS: Avoid scrolled overflows for long messages and long usernames 2019-01-10 21:14:09 +01:00
JC Brand
58c29ea26b Bugfix. Make sure to refresh
Otherwise we get an empty collection of features (due to features being
queried for a non-existent MUC)
2019-01-10 13:22:15 +01:00
JC Brand
01f0a65209 Reject the waitUntilFeaturesDiscovered promise if query failed
No code relies on this currently, but it's seems the right thing to do
2019-01-10 13:21:06 +01:00
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
0464772bfe Update package data 2019-01-10 12:12:14 +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
7750194522 Bump timeout to try and appease travis 2019-01-04 08:19:58 +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
Lorem Ipsum
e418a94853 Translated using Weblate (Czech)
Currently translated at 99.7% (368 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2019-01-03 14:16:12 +01:00
Andreas Kleinert
f6ee264a74 Translated using Weblate (German)
Currently translated at 100.0% (369 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2019-01-03 14:16:12 +01:00
Xosé M
bee1ecb93a Translated using Weblate (Galician)
Currently translated at 100.0% (369 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2019-01-03 14:16:12 +01:00
sergio
ccc63df772 Translated using Weblate (Spanish)
Currently translated at 100.0% (369 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2019-01-03 14:16:12 +01:00
Allan Nordhøy
9605a4d368 Translated using Weblate (Norwegian Bokmål)
Currently translated at 72.1% (266 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2019-01-03 14:16:12 +01:00
Emmanuel Gil Peyrot
a6bf230e16 Translated using Weblate (French)
Currently translated at 100.0% (369 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2019-01-03 14:16:12 +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
JC Brand
cdd0382241 Increase wait timeouts 2019-01-03 13:19:54 +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
aa3cbaa3c3 Add logging to debug issue on travis 2019-01-03 10:57:14 +01:00
JC Brand
360eccb223 Don't change color on hover 2019-01-03 10:57:04 +01:00
JC Brand
8b90e4dba3 Update favicon to new logo 2019-01-03 10:43:57 +01:00
JC Brand
aa274f41c2 Make background darker and add new logo 2019-01-02 22:54:04 +01:00
JC Brand
bdc438db8e Make controlbox headings bold 2019-01-02 21:20:58 +01:00
JC Brand
f16b6d22b6 Update logos to newer version. Add logo with byline 2019-01-02 19:48:53 +01:00
JC Brand
72838be77e Positioning of logo and text 2019-01-01 13:04:12 +01:00
JC Brand
fafaf4e15e Fade in the brand heading 2019-01-01 12:31:02 +01:00
JC Brand
debb8f0e4f Remove .icon-converse styles 2019-01-01 12:30:54 +01:00
JC Brand
11655e2e32 Use Muli as the headings font 2019-01-01 12:05:46 +01:00
JC Brand
e41eebcce9 Render the new logo in the documentation 2019-01-01 11:28:17 +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
7ba59ff584 Indentation, make privacy policy text a bit smaller 2019-01-01 09:58:41 +01:00
JC Brand
14a7a19e95 New byline: messaging freedom 2019-01-01 09:46:54 +01:00
JC Brand
a2a81adef3 Initial work on integrating the new logo 2018-12-21 17:41:31 +01:00
JC Brand
7c5daaa59c Remove user manual images.
The user manual is now here: http://github.com/conversejs/user-manual
2018-12-21 16:08:29 +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
6f10f95d77 Document OMEMO for MUCs. Updates #1180 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
55bb1826ea Update Nginx example with CORS and location to index.html 2018-12-20 18:00:22 +01:00
JC Brand
32da46af5c The user manual has been moved to https://github.com/conversejs/user-manual 2018-12-19 11:04:03 +01:00
JC Brand
73ba427ba5 Add Make recipes for buildout and Sphinx and update docs 2018-12-19 11:03:54 +01:00
Emmanuel Gil Peyrot
d109f0a91a Translated using Weblate (French)
Currently translated at 99.5% (367 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-12-19 05:55:08 +01:00
ssantos
d54ab95dca Translated using Weblate (German)
Currently translated at 100.0% (369 of 369 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-12-19 05:54:30 +01:00
JC Brand
78e2c77b6b Regenerated po and pot files 2018-12-19 05:51:13 +01:00
JC Brand
c8d78d744b Fix typo and formatting in user-facing strings 2018-12-19 05:50:06 +01:00
JC Brand
d75e47db6f Also test that MUC title changes automatically 2018-12-18 11:21:36 +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
078281d0db Add a test for configuring a MUC 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
93bfa3bbbe The default used to be anon 2018-12-17 14:36:24 +01:00
JC Brand
aed1c60e86 Still trying to fix travis issue.
Stop listening on the _converse obj sooner
2018-12-17 12:09:56 +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
ac79a0d169 Explain how to view docs 2018-12-17 10:36:51 +01:00
JC Brand
db41111787 Update instructions for running buildout 2018-12-17 10:30:03 +01:00
JC Brand
7ec6a0576e Fixes #1379 No longer an indication of unread messages in MUC 2018-12-16 12:30:41 +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
c49cbb366e Updated pot and po files 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
JC Brand
60236469db Translated using Weblate (Afrikaans)
Currently translated at 55.4% (204 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2018-12-16 09:34:38 +01:00
Stelios Joseph Karras
77c68fbfab Added translation using Weblate (English (India)) 2018-12-16 09:34:38 +01:00
sergio
0adc612165 Translated using Weblate (Spanish)
Currently translated at 100.0% (368 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-12-16 09:34:38 +01:00
JC Brand
46390b8956 Update changelog 2018-12-16 08:27:06 +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
4cd06b645d Bugfix. [] evaluates to truthy 2018-12-13 11:09:58 +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
060fd94547 Allow features to be passed in to openAndEnterChatRoom 2018-12-13 09:31:36 +01:00
JC Brand
2d511a5e96 Make openAndEnterChatRoom and async function 2018-12-13 09:31:36 +01:00
JC Brand
c954610903 No need to call validate here
Since the plugin is not enabled when it matters.

updates #1374
2018-12-13 08:57:58 +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
df3118fe81 Fix bookmark icon 2018-12-12 17:40:14 +01:00
pom2ter
aecf7f2cdf fixing some alignment issues in the sidebar 2018-12-12 10:45:17 +01:00
JC Brand
cd29d10436 Don't include *~ files in zip 2018-12-11 11:44:11 +01:00
JC Brand
4013fbd273 Updated dependencies 2018-12-11 11:43:40 +01:00
JC Brand
a31e14a355 CSS: properly align section heading and its actions 2018-12-10 18:07:22 +01:00
JC Brand
ccb8662ef7 Bugfix. First match for MUC commands 2018-12-10 15:40:30 +01:00
JC Brand
8ccf1da9d6 CSS: Set height for list items. Updates #1367 2018-12-10 15:12:33 +01:00
JC Brand
f3f819b67a CSS: Also color the room and contact toggles 2018-12-10 15:12:29 +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
19735f76dd CSS: Properly align controlbox section headings and their actions 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
917b08a957 Bump distance between list item actions
- Set it to the same spacing for controlbox heading buttons
- Make it configurable
2018-12-10 13:07:27 +01:00
JC Brand
f01419d05f Rename user-panel to controlbox
To bring it inline with naming used in the code
2018-12-10 12:57:35 +01:00
JC Brand
02c907128c Fix regex for setting the version number.
updates #1366
2018-12-07 13:55:41 +01:00
JC Brand
384f1d7977 New release 4.0.6 2018-12-07 12:40:02 +01:00
JC Brand
7e3c9028e7 Document translation updates in changelog 2018-12-07 12:30:51 +01:00
Allan Nordhøy
423d9570dd Translated using Weblate (Portuguese (Brazil))
Currently translated at 56.8% (209 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-12-07 12:29:03 +01:00
Douglas Dayan
98d1c258c2 Translated using Weblate (Portuguese (Brazil))
Currently translated at 56.8% (209 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-12-07 12:29:03 +01:00
ssantos
72fd595967 Translated using Weblate (German)
Currently translated at 100.0% (368 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-12-07 12:29:03 +01:00
ButterflyOfFire
e08b4c0e94 Translated using Weblate (Arabic)
Currently translated at 82.6% (304 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-12-07 12:29:03 +01:00
Allan Nordhøy
aae7a7ba70 Translated using Weblate (Norwegian Bokmål)
Currently translated at 72.6% (267 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2018-12-07 12:29:03 +01:00
Sylke Vicious
3da01eec26 Translated using Weblate (Italian)
Currently translated at 56.5% (208 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2018-12-07 12:29:03 +01:00
JC Brand
9545e2e3bb Translated using Weblate (Spanish)
Currently translated at 100.0% (368 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-12-07 12:29:03 +01:00
FELIPE BORELA ALVES
ba8b25c864 Translated using Weblate (Portuguese (Brazil))
Currently translated at 46.7% (172 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-12-07 12:29:03 +01:00
JC Brand
81f21d1365 Translated using Weblate (Japanese)
Currently translated at 96.2% (354 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2018-12-07 12:29:03 +01:00
JC Brand
e023e52be2 Translated using Weblate (Indonesian)
Currently translated at 11.4% (42 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2018-12-07 12:29:03 +01:00
Szilágyi Gyula
caa7f325ac Translated using Weblate (Hungarian)
Currently translated at 100.0% (368 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2018-12-07 12:29:03 +01:00
Lorem Ipsum
e977923de7 Translated using Weblate (Czech)
Currently translated at 99.7% (367 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2018-12-07 12:29:03 +01:00
JC Brand
75ecd7df04 Translated using Weblate (Basque)
Currently translated at 96.2% (354 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-12-07 12:29:03 +01:00
Jean-Baptiste
3f9557f04d Translated using Weblate (French)
Currently translated at 100.0% (368 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-12-07 12:29:03 +01:00
JC Brand
1de1b90486 Translated using Weblate (German)
Currently translated at 85.9% (316 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-12-07 12:29:03 +01:00
Chema Ortega
114d95cd5d Translated using Weblate (Spanish)
Currently translated at 100.0% (368 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-12-07 12:29:03 +01:00
Allan Nordhøy
147f2272d1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 72.3% (266 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2018-12-07 12:29:03 +01:00
nautilusx
ff912a113c Translated using Weblate (German)
Currently translated at 85.9% (316 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-12-07 12:29:03 +01:00
Xosé M
95a080e762 Translated using Weblate (Galician)
Currently translated at 100.0% (368 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2018-12-07 12:29:03 +01:00
Emmanuel Gil Peyrot
e0cb220d1c Translated using Weblate (French)
Currently translated at 99.7% (367 of 368 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-12-07 12:29:03 +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
c55e25fa5f Fix failing test 2018-12-06 15:04:18 +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
5f00987578 Bugfix. Pass original_stanza to isDuplicate 2018-12-06 13:10:33 +01:00
JC Brand
79bfb45639 Use async/await in MAM code and tests 2018-12-06 13:10:33 +01:00
JC Brand
6e05f3b67c Create sourcemaps for CSS 2018-12-04 13:50:15 +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
dda0af6404 New sponsor Codefirst 2018-12-04 10:49:33 +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
9a551b3e89 Update view_mode documentation
Put the historical background info into a ``note`` and add short
explanations of the 4 different view modes
2018-12-03 13:08:55 +01:00
JC Brand
5e217aae9b Reduce max width of roster items
Otherwise they get cut off sometimes
2018-12-03 11:26:01 +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
36d2db78c4 Use async/await and remove jquery in some tests 2018-11-29 12:37:21 +01:00
JC Brand
6358fd7c97 Use finally 2018-11-29 10:41:46 +01:00
JC Brand
4e6ac905b8 Async/await in controlbox tests 2018-11-26 12:58:06 +01:00
JC Brand
c22fe41aef Use async/await in tests 2018-11-22 14:25:56 +01:00
JC Brand
cb3ba7bdf6 Use async/await in spec/chatbox.js 2018-11-22 09:31:00 +01:00
JC Brand
cd63afcaad Add space following question mark 2018-11-22 09:09:14 +01:00
JC Brand
b91f488491 Use async/await 2018-11-21 13:03:32 +01:00
Maxime “pep” Buquet
54652f7461 Remove sudo: false in .travis.yml
https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration

`sudo: false` is getting deprecated and support for it will soon be
removed entirely. They seem to be moving to using VMs entirely for their
service.

Converse doesn't seem to be using Travis' features extensively so I
don't think anything would break, but this clause will become useless in
less than a month, (quite a tight timeline).

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-11-20 18:16:06 +01:00
JC Brand
7beeada087 Don't use outerHTML in tests, it's not consistent across browsers 2018-11-20 18:01:09 +01:00
JC Brand
c9b540289c Use async/await 2018-11-20 18:01:09 +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
e07bb52d2a Use async/await 2018-11-18 18:05:46 +01:00
JC Brand
c46d937ea4 Fix null check 2018-11-18 15:16:40 +01:00
JC Brand
67958bba40 Check xmlns 2018-11-17 18:58:23 +01:00
Christoph Scholz
8524ff3b99 Fix missing checkmarks in old muc messages 2018-11-17 18:52:52 +01:00
Emmanuel Gil Peyrot
223deaa782 Log the actual error on MAM error 2018-11-17 18:39:28 +01:00
JC Brand
d3a684a57d Move some functions outside of the initialize closure 2018-11-15 23:10:40 +01:00
JC Brand
588b015e62 Release v4.0.5 2018-11-15 13:24:22 +01:00
JC Brand
084b8e939b New i18n bulids 2018-11-15 13:23:15 +01:00
JC Brand
5109c845ef Add language support for Galician 2018-11-15 12:25:31 +01:00
Sneer Sneerowski
9a3bcf56b7 Translated using Weblate (Polish)
Currently translated at 83.1% (294 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2018-11-15 12:22:08 +01:00
JC Brand
d99fe387ec Translated using Weblate (German)
Currently translated at 85.9% (304 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-11-15 12:22:08 +01:00
flevop
93c44a97a2 Translated using Weblate (Dutch)
Currently translated at 96.6% (342 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/
2018-11-15 12:22:08 +01:00
Infinite universe
2caacebfa0 Translated using Weblate (Russian)
Currently translated at 53.7% (190 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2018-11-15 12:22:08 +01:00
Mako N
abf4d03081 Translated using Weblate (Japanese)
Currently translated at 100.0% (354 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2018-11-15 12:22:08 +01:00
Xosé M
03ca9be9c6 Translated using Weblate (Galician)
Currently translated at 100.0% (354 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2018-11-15 12:22:08 +01:00
Xosé M
d515564b47 Added translation using Weblate (Galician) 2018-11-15 12:22:08 +01:00
Emmanuel Gil Peyrot
63ec4c1321 Translated using Weblate (French)
Currently translated at 100.0% (354 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-11-15 12:22:08 +01:00
Lorem Ipsum
9b71f28f92 Translated using Weblate (Czech)
Currently translated at 99.7% (353 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2018-11-15 12:22:08 +01:00
aitzol berasategi
e54bf24cff Translated using Weblate (Basque)
Currently translated at 100.0% (354 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-11-15 12:22:08 +01:00
Atef Ben Ali
2e6aa8d1e3 Translated using Weblate (Arabic)
Currently translated at 85.8% (304 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-11-15 12:22:08 +01:00
JC Brand
ba00b30bf3 Translated using Weblate (Afrikaans)
Currently translated at 100.0% (201 of 201 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2018-11-15 12:22:08 +01:00
Licaon Kter
e982347116 Translated using Weblate (Romanian)
Currently translated at 24.2% (86 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2018-11-15 12:22:08 +01:00
Szilágyi Gyula
dfa12a537c Translated using Weblate (Hungarian)
Currently translated at 100.0% (354 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2018-11-15 12:22:08 +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
bab1b6093c Update number of translations 2018-11-15 11:28:29 +01:00
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
JC Brand
88e74975c9 Fix failing tests due to avatar changes 2018-11-14 16:37:16 +01:00
JC Brand
3505750536 Enforce avatar img size 2018-11-14 16:37:02 +01:00
JC Brand
fb8ccc1fc1 Use non-minified resources 2018-11-14 16:16:45 +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
Emmanuel Gil Peyrot
174b257c39 Add a dark theme inspired by Discord
This theme takes inspiration from https://discordapp.com/ and builds on
top of custom-properties, making the design more familiar to some users.

In order to change the theme, add the 'theme-dark' class on #conversejs,
you can do it at any point during the lifetime of Converse, either
directly in your HTML or by changing the DOM at runtime.
2018-11-14 15:45: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
JC Brand
0baed97703
Merge pull request #1316 from ChaosKid42/show_version
show version info in login dialog
2018-11-14 11:03:33 +01:00
Christoph Scholz
9a307da808 show version info in login dialog 2018-11-13 21:12:24 +01:00
JC Brand
5a556dd544
Merge pull request #1319 from ChaosKid42/implement_last_user_interaction_in_presence
Send presences according to XEP-0319: Last User Interaction in Presence
2018-11-13 18:46:06 +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
e3a5bf7e23 Make recipe for sounds.zip 2018-11-13 16:06:11 +01:00
JC Brand
10415c252d Remove duplicate import and make new build 2018-11-13 13:15:54 +01:00
JC Brand
601ee673fa Fix typo in URL. Build JSDoc and Sphinx docs together 2018-11-13 12:59:51 +01:00
JC Brand
b85c5b5b0e Remove backbone.noconflict wrapper 2018-11-12 21:05:30 +01:00
JC Brand
1d371ebfd8 Add make recipe for building font-awesome.css
Won't be included in the repo, but is useful in certain cases, for
example when embedding Converse in a web component, the fonts need to be
loaded in the main document.
2018-11-12 21:01:19 +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
d2b0fa7853 Carbons are actually enabled by default 2018-11-12 20:30:19 +01:00
JC Brand
9f98a5cd72 Use snabbdom 0.7.2 2018-11-12 20:29:55 +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
c2e549e7d7 Fixes #1216 2018-11-12 17:44:26 +01:00
JC Brand
fa4c555c44 Use async/await instead of explicit Promise 2018-11-12 14:45:57 +01:00
JC Brand
77a7397614 Errors should be red 2018-11-12 14:23:35 +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
795d8e0f00 More color fixes after switching to css properties 2018-11-12 12:15:13 +01:00
JC Brand
9e33279fc2 Fix failing test and use async/await 2018-11-12 12:04:56 +01:00
JC Brand
affafc746c Bugfix. Make sure _devices_promise is a Promise 2018-11-12 12:04:25 +01:00
JC Brand
1c38863bfd Add more documentation around file sharing and CORS 2018-11-10 21:59:57 +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
2c6bd6cea1 Set class to enable styling 2018-11-09 17:37:14 +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
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
JC Brand
a7211863e6 Remove unused styles for .sidebar element 2018-11-07 11:09:01 +01:00
golangbu
2b434197e9 show_send_button:true parameter not working for me.This pull is a fix for that issue (#1300)
fixes #1033
2018-11-06 10:34:05 +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
JC Brand
52aff4f43e Update patreon backers 2018-11-05 09:34:57 +01:00
Emmanuel Gil Peyrot
9a12afc702 Change a docstring into a comment. 2018-11-03 12:05:23 +01:00
JC Brand
2991f81a10 Update changelog 2018-11-03 01:02:54 +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
37bd332897 Regenerate the CSS file. 2018-11-03 00:40:43 +01:00
Emmanuel Gil Peyrot
28dc6e2cfe Switch from SASS variables to CSS custom properties
This will eventually allow client-side theming support.
2018-11-03 00:40:43 +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
aae94b452f Remove unnecessary require.js paths config 2018-10-30 11:23:43 +01:00
JC Brand
f941de8a15 Update .gitignore based on recent developments 2018-10-29 23:19:37 +01:00
JC Brand
975e111de3 Remove publish recipe and update release notes 2018-10-29 23:16:07 +01:00
JC Brand
5188c5d0e8 Fix publish recipe 2018-10-29 22:35:18 +01:00
JC Brand
f471dd2474 Release 4.0.4 2018-10-29 22:28:28 +01:00
JC Brand
9a4bceba60 Add make recipes for zip files of webfonts and locales 2018-10-29 22:11:01 +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
64e22fc612 Regenerate pot and po files after previous change 2018-10-28 23:24:33 +01:00
JC Brand
2cfea7cb51 Add description for translateable text 2018-10-28 23:24:33 +01:00
JC Brand
27e748534a Stop including the no-dependencies build 2018-10-28 23:24:32 +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
Allan Nordhøy
331a9d9b34 Translated using Weblate (Norwegian Bokmål)
Currently translated at 73.7% (261 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2018-10-28 23:19:40 +01:00
ButterflyOfFire
0543e21e71 Translated using Weblate (French)
Currently translated at 99.4% (352 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-10-28 23:19:40 +01:00
Emmanuel Gil Peyrot
d25c0fe296 Translated using Weblate (French)
Currently translated at 99.4% (352 of 354 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-10-28 23:19:40 +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
bf187560ee Replace ruby-sass with node-sass 2018-10-28 17:27:01 +01:00
JC Brand
6f4aa12cfa Newly generated pot and po files 2018-10-27 23:12:59 +02:00
JC Brand
6a87caad6e Don't use template literals for translated strings 2018-10-27 23:12:17 +02:00
JC Brand
adbee2af9d
Merge pull request #1275 from weblate/weblate-conversejs-translations
Update from Weblate
2018-10-27 23:02:06 +02:00
Lorem Ipsum
afea4ee005 Translated using Weblate (Czech)
Currently translated at 99.7% (346 of 347 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2018-10-27 23:00:28 +02:00
Szilágyi Gyula
4757ecfe8b Translated using Weblate (Hungarian)
Currently translated at 100.0% (347 of 347 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2018-10-27 23:00:28 +02:00
Allan Nordhøy
69dfea1ed0 Translated using Weblate (Norwegian Bokmål)
Currently translated at 63.4% (220 of 347 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2018-10-27 23:00:28 +02:00
ButterflyOfFire
a05e649f87 Translated using Weblate (French)
Currently translated at 98.8% (343 of 347 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-10-27 23:00:28 +02:00
ButterflyOfFire
fd6bb8d543 Translated using Weblate (Arabic)
Currently translated at 87.0% (302 of 347 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-10-27 23:00:28 +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
4f72b0999b Mention creating your own builds in the quickstart guide 2018-10-26 15:39:49 +02:00
JC Brand
789148676f Move icomoon fonts to css/webfonts 2018-10-26 15:28:34 +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
0079ba91cd
Merge pull request #1270 from Ppjet6/fix-make-help
Fix make help
2018-10-26 13:05:32 +02:00
JC Brand
37f4398974
Merge pull request #1269 from conversejs/async-await
Async await
2018-10-26 13:03:24 +02:00
JC Brand
ad27edb238 Updated build 2018-10-26 12:53:25 +02:00
JC Brand
9d8fe35e55 Wrap the emoji categories in overlay view
Otherwise we get an unwanted horizontal scrollbar
2018-10-26 12:53:25 +02:00
JC Brand
53b3f2d0d6 Fix failing tests and rewrite to use async/await 2018-10-26 12:53:24 +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
edf98c6930
Update CHANGES.md for #1252
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-10-25 22:31:01 +01: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
Maxime “pep” Buquet
6f8b5d104b
Reword 'make watch' help to make it more accurate
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-10-25 21:53:47 +01:00
Maxime “pep” Buquet
79a0992507 Fix make help indentation
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-10-25 21:16:57 +01:00
Maxime “pep” Buquet
215086ffb2 Fix quotes and escaping in make help
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-10-25 21:16:52 +01: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
aac8b741b9
Merge pull request #1262 from cmrd-senya/fix-webpack-headless
Fix headless build webpack config
2018-10-23 20:40:10 +02:00
cmrd Senya
d60d4fe125 Fix headless build webpack config 2018-10-23 19:25:48 +03: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
02f1b33143 New build and package-lock.json 2018-10-23 15:50:55 +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
30e045517b
Merge pull request #1258 from guusdk/1257_notifications-prefer-probably-over-maybe
#1257: Prefer 'probably' over 'maybe' when evaluating Audio support.
2018-10-23 13:10:03 +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
c684105fed New build of converse.js 2018-10-22 14:44:54 +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
1ed12d964f Update package-lock.json 2018-10-22 12:46:11 +02:00
cmrd Senya
dae3574e9a Update dependency path in tests runner 2018-10-22 12:44:53 +02:00
cmrd Senya
c8348db5c8 Install lerna globally in travis 2018-10-22 12:44:53 +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
ae1424aa5b @converse/headless: update dependencies references
* Link internal dependencies by relative path
* Don't use webpack aliases for external dependencies to reduce
user-side configuration
2018-10-22 12:44:38 +02:00
cmrd Senya
12b9824e75 Create package @converse/headless 2018-10-22 12:42:48 +02:00
cmrd Senya
0370ced93f Init project with lerna 2018-10-22 12:42:30 +02:00
JC Brand
279fda7877 New release 4.0.3 2018-10-22 11:41:40 +02:00
ButterflyOfFire
9d82aba0e7 Weblate Translations: Converse.js/Translations
Arabic: Currently translated at 82.9% (297 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

Norwegian Bokmål: Currently translated at 62.8% (225 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

French: Currently translated at 98.8% (354 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

Hungarian: Currently translated at 100.0% (358 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/

Polish: Currently translated at 80.7% (289 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/

Czech: Currently translated at 99.7% (357 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/

Romanian: Currently translated at 26.8% (96 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/

Spanish: Currently translated at 60.0% (215 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/

German: Currently translated at 88.2% (316 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

Basque: Currently translated at 100.0% (358 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

Japanese: Currently translated at 100.0% (358 of 358 strings)
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2018-10-22 11:35:11 +02:00
JC Brand
f2c1455762 Bump waiting time for room opened via modal in test utils
Convert more promise-based tests to async/await
2018-10-22 09:59:53 +02:00
JC Brand
0d3e94c60b Minor testing changes
- Use async/await instead of promises.
- Use different room jids (to try and see whether this fixes heisenbugs on travis)
2018-10-22 09:40:24 +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
JC Brand
49bfc3cb2c Don't build font-awesome.css 2018-10-21 23:45:54 +02:00
JC Brand
fea11ea639 Remove reference to deprecated preset-es2015 2018-10-21 23:45:43 +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
a75779300d Document security considerations around OMEMO and webcrypto 2018-10-19 12:26:03 +02:00
JC Brand
aa30d97cea Update build documentation to mention make watch 2018-10-18 20:33:46 +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
18dad134fc Document that OMEMO is disabled when the device is untrusted 2018-10-18 08:08:44 +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
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
JC Brand
abd9786c0f Fix failing test and update changelog. updates #1185 2018-10-17 22:31:21 +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
439d13d311 Use async/await instead of promise callbacks 2018-10-15 23:18:06 +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
2c44127932 Remove jquery from spec/chatroom.js 2018-10-13 17:47:52 +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
f5686a5093 Make all .chat-info messages smaller 2018-10-13 14:14:02 +02:00
JC Brand
15579692a9 Some work on removing jQuery from the MUC tests 2018-10-13 14:14:02 +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
5316aad340 Fix occupants offset in overlay view mode 2018-10-11 14:05:47 +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
7cc59b9ef3 Check in test that headliness box is not created.
Updates #1221
2018-10-10 20:17:56 +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
9cd458668b Upgrade ruby Sass and dependencies 2018-10-10 19:31:10 +02:00
JC Brand
5c3661d730 Remove unused dependency protobufjs 2018-10-10 19:28:25 +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
2f5691dc1e Fix broken fa icon 2018-10-08 14:54:14 +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
5d97445d3e Show the sponsors in the sphinx docs 2018-10-06 22:29:57 +02:00
JC Brand
2b5d6327f8 New builds 2018-10-06 19:39:45 +02:00
Emmanuel Gil Peyrot
e9007146aa Improve the moderated and not moderated explanations 2018-10-06 19:32:03 +02:00
JC Brand
d81f585894 Updates #1232 2018-10-06 19:30:04 +02:00
JC Brand
269ff9a158 Make sure website css is also built by watch command 2018-10-06 08:03:57 +02:00
JC Brand
490d3bbdf1 Let make watch handle both css and js 2018-10-06 06:59:04 +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
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
Emmanuel Gil Peyrot
7bc345cac5 Translated using Weblate (French)
Currently translated at 99.7% (338 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-10-02 17:19:58 +02:00
madmalkav
d7440a38b7 Translated using Weblate (Spanish)
Currently translated at 65.4% (222 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-10-02 17:19:36 +02:00
Licaon Kter
428992275a Added translation using Weblate (Romanian)
Currently translated at 25.6% (87 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2018-10-02 17:19:11 +02:00
John Doe
2f7e936a39 Added translation using Weblate (Hindi)
Currently translated at 12.0% (41 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hi/
2018-10-02 17:19:11 +02:00
Emmanuel Gil Peyrot
7d92d79986 Translated using Weblate (French)
Currently translated at 97.6% (331 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-10-02 17:19:11 +02:00
Sneer Sneerowski
1bc665ad94 Translated using Weblate (Polish)
Currently translated at 82.5% (280 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2018-10-02 17:18:27 +02:00
ButterflyOfFire
efc10d71c3 Translated using Weblate (Arabic)
Currently translated at 84.6% (287 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-10-02 17:13:49 +02:00
JC Brand
45643d52bf fixes #1225 2018-10-01 21:50:25 +02:00
JC Brand
defe32d172 Make sure omemo tests pass on Firefox 2018-09-25 14:05:56 +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
6f7328a62f Fix failing tests 2018-09-25 10:20:18 +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
7af9d2d11b CSS fix for Edge. Brand heading was wrapping in overlayed view
updates #1220
2018-09-24 16:18:51 +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
99bd98004b Add 404 for OPTIONS request to troubleshooting section 2018-09-24 09:52:09 +02:00
JC Brand
34012bc93f Add new screenshots of Converse 4 and update backers list 2018-09-23 21:26:03 +02:00
JC Brand
1dbaa37f98 Update mobile.html with newest markup 2018-09-21 10:50:54 +02:00
JC Brand
11dd79f8cd New release 4.0.1 2018-09-19 16:16:10 +02:00
JC Brand
31374a78bc Avoid linebreak after author name 2018-09-19 16:10:18 +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
JC Brand
be99af4fc2 Smaller navbar text 2018-09-19 12:30:04 +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
JC Brand
0833478da4 Use bootstrap4 for the Converse website 2018-09-18 16:15:32 +02:00
JC Brand
48dc02cf3a Fixes #1117
Silently set status when it comes from a presence stanza
2018-09-18 14:04:50 +02:00
JC Brand
d754820471 Provide more space for chatroom header buttons 2018-09-18 13:39:04 +02:00
JC Brand
26535ed4ef Smaller font for the room features list in overlay view mode 2018-09-18 13:36:02 +02:00
JC Brand
79c9d35911 Specifically set .chat-body height
Otherwise the private chatbox header doesn't show in Firefox
2018-09-18 13:26:05 +02:00
JC Brand
dee49e382c Avoid horizontal scrolling for messages in Firefox 2018-09-18 13:14:55 +02:00
JC Brand
cb8b5a7039 Update the developer documentation 2018-09-18 11:17:27 +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
4129c0ea3b Fix failing test 2018-09-13 17:04:44 +02:00
JC Brand
020335c52a Don't use minified scripts
They're not included in the repo and this makes it more difficult for
people to try Converse locally
2018-09-13 16:42:55 +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
8c391fe067 Add new config setting enable_muc_push 2018-09-13 11:48:11 +02:00
JC Brand
dee10bfe45 Clear MUC disco after closing a room
This is to avoid having a stale/inaccurate MUC features list when
reopening a previously closed MUC
2018-09-13 11:23:37 +02:00
JC Brand
cd05b89726 Fix failing tests due to MUC disco refactoring 2018-09-13 10:52:25 +02:00
JC Brand
603708a9c9 Update test openAndEnterChatRoom to handle re-opening of rooms
in which case a disco query is not sent out again because we still have
it cached.
2018-09-13 09:04:21 +02:00
JC Brand
8806efce50 Include nick when registering someone as a member
This will cause their nick to be registered (if Prosody supports it).
2018-09-12 15:32:38 +02:00
JC Brand
f5b10ff6e8 Formatting 2018-09-12 15:32:37 +02:00
JC Brand
71370f5b45 Add the /register command for registering yourself 2018-09-12 15:32:37 +02:00
JC Brand
17401cb903 Improvements to automatic nick registrations
Also expand and fix the associated test.
2018-09-12 12:36:25 +02:00
JC Brand
6457bc765a MUC: Use converse-disco to query for room features
By doing so we create a new DiscoEntity for the room, which allows us to
query for features via the disco API.

We also avoid duplication of functionality between converse-muc and
converse-disco
2018-09-12 12:36:14 +02:00
JC Brand
197451db54 Add support XEP-0128 service discovery extensions
Also add new API methods which return features and XEP-128 fields.
2018-09-12 12:36:13 +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
Martin/Geno
955f1bc80d [DOC] update integration and features 2018-09-10 16:11:11 +02:00
JC Brand
a3911094d3 Fix incorrect closing tag 2018-09-10 16:09:38 +02:00
JC Brand
c8eea72831 Fix failing test.
Looks like Chromium strips the forward slash from `<br/>` when printing
innerHTML.
2018-09-10 16:07:06 +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
201b8559b6 Avoid bookmark toggle duplication 2018-09-07 16:09:12 +02:00
Sneer Sneerowski
4a954a80e6 Translated using Weblate (Polish)
Currently translated at 75.5% (256 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2018-09-07 15:45:23 +02:00
Allan Nordhøy
c1b18e04dd Translated using Weblate (Norwegian Bokmål)
Currently translated at 65.7% (223 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2018-09-07 15:45:23 +02:00
Szilágyi Gyula
4ac6d9a418 Translated using Weblate (Hungarian)
Currently translated at 100.0% (339 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2018-09-07 15:45:23 +02:00
Lorem Ipsum
eb011fed85 Translated using Weblate (Czech)
Currently translated at 100.0% (339 of 339 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2018-09-07 15:45:23 +02:00
JC Brand
9efebadb25 Updated af translation 2018-09-07 15:40:44 +02:00
JC Brand
d89a47b071 Fade in logo after a delay 2018-09-07 15:39:08 +02:00
JC Brand
cfcab80147 Don't inform of unencryptable OMEMO messages unless in debug mode 2018-09-07 15:23:16 +02:00
JC Brand
06352b67c1 Fix AttributeError 2018-09-07 14:49:11 +02:00
JC Brand
0b8a63d5d8 Messages in overlay mode should span whole area 2018-09-07 14:10:53 +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
353bbef08b Update copy to mention number of contributors 2018-09-07 12:20:01 +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
a52ccc6588 Position branding. Fixes #1155 2018-09-06 21:03:23 +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
baf598608a Fix leave icon 2018-09-06 17:09:47 +02:00
JC Brand
50a1bd7bc5 Fixes #1159 2018-09-06 17:09:32 +02:00
JC Brand
eb8953795f New builds 2018-09-06 16:56:40 +02:00
JC Brand
99432eebd9 I think this fixes #1160
Don't included MAM data form if there's nothing to filter
2018-09-06 16:56:13 +02:00
JC Brand
012dd1328a Add converse.json for cs 2018-09-06 16:20:19 +02:00
JC Brand
9f41846b77 Generate new i18n po and json files 2018-09-06 16:05:29 +02:00
JC Brand
565cfc3984 Hook in the Czech translations 2018-09-06 16:03:37 +02:00
juan
702d02179b Translated using Weblate (Spanish)
Currently translated at 69.3% (224 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-09-06 15:44:10 +02:00
Emmanuel Gil Peyrot
675340e88d Translated using Weblate (French)
Currently translated at 100.0% (323 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-09-06 15:44:10 +02:00
ButterflyOfFire
25d1328ae3 Translated using Weblate (Afrikaans)
Currently translated at 98.1% (317 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2018-09-06 15:44:10 +02:00
Lorem Ipsum
eddc9280b5 Translated using Weblate (Czech)
Currently translated at 100.0% (323 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/cs/
2018-09-06 15:44:09 +02:00
ButterflyOfFire
864e0deab9 Translated using Weblate (Arabic)
Currently translated at 71.5% (231 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-09-06 15:44:09 +02:00
Lorem Ipsum
b9a8ac47ef Added translation using Weblate (Czech) 2018-09-06 15:44:09 +02:00
Piotr Skwarna
af5f93c7f7 Translated using Weblate (Polish)
Currently translated at 31.8% (103 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2018-09-06 15:44:09 +02:00
Szilágyi Gyula
61aaf5d59f Translated using Weblate (Hungarian)
Currently translated at 100.0% (323 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2018-09-06 15:44:09 +02:00
Thomas Camaran
2f5626f69c Translated using Weblate (Italian)
Currently translated at 68.1% (220 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2018-09-06 15:44:06 +02:00
Emmanuel Gil Peyrot
1abfd1d62d Translated using Weblate (French)
Currently translated at 100.0% (323 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-09-06 15:44:01 +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
JC Brand
4903d748d0 Save hidden state of singletons if possible 2018-09-06 09:44:44 +02:00
JC Brand
0a5a3b5d07 af translations 2018-09-06 09:13:39 +02:00
JC Brand
3d6b8795af Set emoji popup width for overlay chatrooms 2018-09-04 13:34:06 +02:00
JC Brand
eca11953bb Upgrade to fontawesome 5 2018-09-04 13:34:06 +02:00
JC Brand
bacf9391c3 Fix emoji toolbar styling for embedded mode 2018-09-04 10:41:44 +02:00
JC Brand
adee252b28 Close emoji dropdown on enter and prevent default 2018-09-03 14:36:09 +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
6b157eedde Remove converse-oauth as core plugin 2018-09-03 10:50:51 +02:00
JC Brand
b79c946c52 Don't show old API in the table of contents 2018-09-03 09:50:50 +02:00
JC Brand
f5d41db18a Fix failing test by using the right API 2018-09-03 09:45:04 +02:00
JC Brand
866f2737da More JSDoc docstrings for API methods 2018-09-02 23:43:39 +02:00
JC Brand
5f16babebd Fix failing OMEMO test and simplify by using async/await 2018-09-02 14:27:05 +02:00
JC Brand
cce27fac99 Avoid unnecessary promise wrapping 2018-09-02 14:18:05 +02:00
JC Brand
16deecd468 All API methods of converse-core are now documented with jsdoc 2018-09-02 12:15:26 +02:00
JC Brand
45fc71c05d More jsdoc docstrings as well as an intro page and JSON config 2018-09-02 10:11:37 +02:00
JC Brand
6f13676ee1 Show OMEMO error messages only in debug mode 2018-08-31 21:33:46 +02:00
JC Brand
1d5cf8eb7c Fix AES-GCM encryption/decryption so that it works with Conversations
Fixes #497
2018-08-31 21:13:33 +02:00
JC Brand
dd71d6ee9b Fix failing omemo tests due to mock 2018-08-31 18:49:47 +02:00
JC Brand
c2184ce8e1 Always create a new session 2018-08-31 18:44:24 +02:00
JC Brand
fc6982ce08 Merge branch 'omemo-debug' 2018-08-31 18:39:01 +02:00
JC Brand
bd1fd7eef1 Key should be AES-128, not AES-256 2018-08-31 18:33:03 +02:00
JC Brand
c2f1b2543f Pass array buffer to libsignal decrypt 2018-08-31 18:24:08 +02:00
JC Brand
c8211085fd Pass array buffer to libsignal encrypt/decrypt methods 2018-08-31 18:10:09 +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
ed9afe9afb Only include key and not whole payload from libsignal 2018-08-31 13:57:49 +02:00
JC Brand
18c7ba4ad8 Bugfix. Need to first create bookmark
Otherwise we don't include it in the stanza.
So if an error occurs, remove the bookmark again.
2018-08-31 11:24:05 +02:00
JC Brand
bb6d4f75bf Fade out enter/leave messages sooner and add check 2018-08-31 10:36:51 +02:00
JC Brand
86a0fa280b Call clearSession when disconnecting
So that the chatboxes get closed/removed.

Also, don't render the login form when we're just reconnecting.
2018-08-31 10:17:24 +02:00
JC Brand
38bfbbf61f New builds 2018-08-30 23:14:23 +02:00
JC Brand
1294d682e1 Automatically remove leave/enter and enter/leave messages
after 10 seconds.
2018-08-30 23:13:28 +02:00
JC Brand
4b5b517390 Update bookmark form with proper bootstrap markup 2018-08-30 22:32:16 +02:00
JC Brand
a44f38329c Only create bookmark after succesfully setting it on the server 2018-08-30 13:39:50 +02:00
JC Brand
34541d6410 Add check before resetting 2018-08-30 13:39:33 +02:00
JC Brand
3ecb906dbd New builds 2018-08-29 13:56:23 +02:00
JC Brand
f947bcc4b1 Also notify if the chat is not visible in the page. 2018-08-29 13:56:18 +02:00
JC Brand
33c2d4614f Remove unused method 2018-08-29 10:33:43 +02:00
JC Brand
f72ace506f Replace the onChatBoxAdded override with event handlers 2018-08-28 15:08:38 +02:00
JC Brand
934e86536e Remove another vestige of OTR 2018-08-28 14:58:07 +02:00
JC Brand
21178add98 Remove converse-otr 2018-08-27 22:09:22 +02:00
JC Brand
4f8b5a4022 Use built-in crypto instead of CryptoJS 2018-08-27 21:54:29 +02:00
JC Brand
11cc41d3a3 Merge branch 'converse-omemo' 2018-08-27 21:14:03 +02:00
JC Brand
da68ea9c9f New build 2018-08-27 21:02:31 +02:00
JC Brand
1dc1c1f98a Properly generate and render fingerprints 2018-08-27 21:02:31 +02:00
JC Brand
c142437320 Create new message for correction if the original is not available
Fixes #1172
2018-08-27 21:02:31 +02:00
JC Brand
3e7c8655ad Add a <store> hint to OMEMO messages.
updates #497
2018-08-27 16:44:19 +02:00
JC Brand
15a4bcd11e Add method to generate missing prekeys
When receiving a PreKeySignalMessage, then a prekey has been chosen and
should now be removed from the list of available prekeys in the bundle,
so that a different device doesn't choose it as well.

AFAICT, libsignal removes the prekey, so it's then up to us to
regenerate it and republish our bundle.

updates #497
2018-08-27 16:43:58 +02:00
JC Brand
3d015c787f Extract common code into helper functions 2018-08-27 10:41:54 +02:00
JC Brand
ea5144c7e5 Refactor the OMEMOStore to not duplicate prekeys
Before these changes, prekeys were stored in two places, one place that
converse-omemo accessed and one that libsignal accessed and when
libsignal deleted a prekey the other store wasn't updated.

Now we let the methods called by libsignal store/remove prekeys (and the
signed_prekey) in the same place as used by the code in converse-omemo.
2018-08-25 23:22:18 +02:00
JC Brand
5406e9739c Trying to fix timing issue on Travis 2018-08-25 01:04:17 +02:00
JC Brand
9e240c5647 Increase timeouts to try and avoid timing issues on Travis 2018-08-25 00:43:05 +02:00
JC Brand
7959855891 Move publishBundle to OMEMOStore
updates #497
2018-08-24 16:32:40 +02:00
JC Brand
71e418fab6 Bugfix. Not stored as base64 2018-08-24 16:27:37 +02:00
JC Brand
d784e4a73a Show an icon to indicate that a message is encrypted
updates #497
2018-08-24 16:26:54 +02:00
JC Brand
4c5ea34acf New build 2018-08-24 15:39:14 +02:00
JC Brand
3eb5e93f81 Finally able to send a message and decrypt it on the other side
Updates #497
2018-08-24 14:40:48 +02:00
JC Brand
2dd5976f65 Fix bugs in the OMEMO store and in the decrypt method.
Updates #497
2018-08-24 13:17:32 +02:00
JC Brand
9e56858aae Remove unnecessary promise wrapper 2018-08-24 10:51:59 +02:00
linkmauve
5693350883 Keep multiple whitespace characters as is
Currently multiple consecutive spaces or tabs were being transformed into a single space, rendering some ASCII art unreadable.  This patch fixes it by giving each message text the CSS behaviour of <pre/>.
2018-08-24 09:36:00 +02:00
JC Brand
7bb7f8f4dc Can now successfully send an encrypted stanza
updates #497
2018-08-23 14:03:16 +02:00
JC Brand
c1123fd6a0 Used wrong registration id and identity key when building a session
updates #497
2018-08-23 14:03:12 +02:00
JC Brand
058905134e Serialize all array buffers to base64 before storing
Array Buffers can't be JSON serialized as is.

updates #497
2018-08-23 14:03:09 +02:00
JC Brand
d4ccf20e7f Update modals when devices get added
updates #497
2018-08-23 14:03:06 +02:00
JC Brand
b17579501f Provide error output to user when encrypted message can't be sent
updates #497
2018-08-23 14:03:00 +02:00
JC Brand
7692a46e17 Nonsencical to wrap a promise in try/catch 2018-08-23 14:02:53 +02:00
JC Brand
069d4a9fae Remove unnecessary promise wrapper
updates #497
2018-08-23 14:02:50 +02:00
JC Brand
fd639e2da6 Remove the active flag for devices.
Instead of setting `active` to `false`, we remove the device entirely
(unless its the current device).

Doing it this way means more fetching of bundles for devices that
disappear and then reappear from a user's devicelist.

However, there might be caching invalidation concerns with just reusing
a cached bundle for a device id that disappeared and then reappears.

Additionally this change simplifies the showing of a contact's device
fingerprints in the modal, since we don't have to take active/inactive
into consideration.

updates #497
2018-08-23 14:02:43 +02:00
JC Brand
781ad3d643 Update to use _converse.config 2018-08-23 09:49:51 +02:00
JC Brand
5e9d6c3d6a Merge branch 'master' into converse-omemo 2018-08-23 09:45:13 +02:00
JC Brand
9f8d30dde3 Create a new store, _converse.config to store trusted
The `_converse.session` store gets cleared after logout, but we want the
`trusted` flag to persist after logout.

Also update the documentation no that the `storage` config option has
been removed in favor of `trusted`.
2018-08-23 09:41:39 +02:00
JC Brand
62cecbec5f Merge branch 'master' into converse-omemo 2018-08-22 23:41:36 +02:00
JC Brand
76a2192afa Singleton models need an id attribute via its getter
Setting it on the model itself is not sufficient and then causes
changes which should be type `update` become type `create`, causing
multiple versions of the model... resulting in chaos.
2018-08-22 23:39:42 +02:00
JC Brand
9ed2ad631a Store whether this is a trusted device in _converse.session
So that it persists across page loads. Otherwise storage falls back to
the default, causing records to be in both local- and sessionStorage.

Additionally, update singleton models to have the 'id' available as a getter.

Otherwise multiple records gets stored in browserStorage, causing random
results being returned.
2018-08-22 23:36:54 +02:00
JC Brand
f01b6c29c8 Collections shouldn't have id attributes
Otherwise the collection's items aren't fetched but it's own properties.
The way to persistently remove items from a collection is to destroy
them, NOT to call `remove`.
2018-08-22 19:26:38 +02:00
JC Brand
5ded22207b identity_key should be stored as base64, not array buffer 2018-08-22 18:32:31 +02:00
JC Brand
fa0e7aeff5 Updated so that own device is properly created and published
Based on live testing. Updated tests accordingly.
2018-08-22 18:16:36 +02:00
JC Brand
a422f07866 Bugfix. beforeTearDown event handler not fired in tests 2018-08-22 14:33:09 +02:00
JC Brand
75bd24c19e Update device lists in modals if devices get removed 2018-08-22 14:33:09 +02:00
JC Brand
21a04d9de5 Avoid unnecessary promise-wrapping 2018-08-22 14:33:08 +02:00
JC Brand
de077ba9af Various small fixes while trying to get it to work 2018-08-22 14:33:08 +02:00
JC Brand
24d86c7edd Wrap in try/catch, otherwise handler gets removed upon error 2018-08-22 14:33:08 +02:00
JC Brand
235b24d1d4 Bugfixes.
- Use sizzle xmlns selector (which doesn't work with `querySelector`)
- PEP Subscription didn't have `+` before `notify`
2018-08-22 14:33:08 +02:00
JC Brand
cf3a33a82e __super__ is undefined because it's not an override 2018-08-22 14:33:00 +02:00
JC Brand
4141a22306 new builds 2018-08-22 11:44:55 +02:00
JC Brand
23a26cfdf5 __super__ is undefined because it's not an override 2018-08-22 11:41:38 +02:00
JC Brand
97467214ac New build 2018-08-21 18:32:17 +02:00
JC Brand
0339c59390 Clear old modals upon logout 2018-08-21 18:32:16 +02:00
JC Brand
3ec426e11d Don't render OMEMO stuff in profile modal if OMEMO's not enabled 2018-08-21 18:03:34 +02:00
JC Brand
a06d2c494a Implement own device removal via stanza 2018-08-21 17:35:17 +02:00
JC Brand
26e936583f Add devices section to own profile modal
Allow for devices to be removed.
2018-08-21 09:28:16 +02:00
JC Brand
8cc69ee5fb No need for a toJSON call, it's already an object 2018-08-20 11:17:26 +02:00
JC Brand
7d1db66056 Less explicit Promise declarations.
It's usually not necessary to wrap a promise inside another one, instead
the original promise can just be returned.
2018-08-20 11:16:06 +02:00
JC Brand
cda426bc82 Merge branch 'master' into converse-omemo 2018-08-20 10:34:04 +02:00
JC Brand
f98b11afeb Fix linting error 2018-08-20 08:59:48 +02:00
Emmanuel Gil Peyrot
958e8a98a8 Use the roster name or vCard nickname before falling back to vCard fullname or JID. 2018-08-20 08:59:01 +02:00
JC Brand
e7f211bacf Avoid an unnecessary promise and create message as soon as possible
under non-OMEMO circumstances. Otherwise, when messages are fetched in
bulk via MAM, then a message referring to a previous one (e.g.
a correction) may be processed before the message being referred to has
been created.
2018-08-19 10:32:43 +02:00
JC Brand
9a7f56db7d Fix format of stanza that queries for devices. 2018-08-19 10:09:43 +02:00
JC Brand
4ed43854bd Bugfix. Items need to go inside the list 2018-08-18 18:25:52 +02:00
JC Brand
c4ac73cc88 prekey id must be an int. 2018-08-18 18:24:29 +02:00
JC Brand
ca9229a906 createMessage now returns a promise.
Also, fix all broken tests, mostly related to this.
2018-08-18 17:12:22 +02:00
JC Brand
b4110dc162 Merge branch 'master' into converse-omemo 2018-08-18 10:24:55 +02:00
JC Brand
299fa4f3f8 Nicer error logging when translations are not found 2018-08-18 10:22:31 +02:00
JC Brand
e123c690f0 Add autocomplete support for occupants with only a JID 2018-08-16 17:11:04 +02:00
JC Brand
41a42fe2f7 Test for mentions with spaces in them.
Also remove Converse from fullscreen background
2018-08-16 16:02:09 +02:00
JC Brand
1511eb13d9 New builds 2018-08-16 15:18:08 +02:00
JC Brand
2db3db9bab Add support for editing messages containing mentions 2018-08-16 15:17:54 +02:00
JC Brand
d9c5867ff2 Check references when incrementing unread messages counter 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
15df9b8605 Inlcude references in the outgoing XMPP stanza 2018-08-16 15:17:54 +02:00
JC Brand
3db6637706 Set textarea color 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
e10d9b074e Rearrange: move non-nested tests to top of describe 2018-08-16 15:17:53 +02:00
JC Brand
70b953ab84 Change selected item to the one the mouse is hovering over 2018-08-16 15:17:53 +02:00
JC Brand
f3d14a00c2 More consistent coloring for autocomplete 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
cc3a158b57 Initial work on showing all options on @ 2018-08-16 15:17:53 +02:00
JC Brand
b6f5cd2cc9 Use the auto_first setting 2018-08-16 15:17:53 +02:00
JC Brand
9a8d3b695e Generic message which works for both single and groupchats 2018-08-16 15:17:53 +02:00
JC Brand
b7b0a5de7c Add padding below participants invite form 2018-08-16 15:17:53 +02:00
JC Brand
73deaf24c0 Make sure occupants toggle gets shown 2018-08-16 15:17:53 +02:00
JC Brand
13c9612a8a Let an additional tab select the currently highlighted element 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
86fab99c54 Expand test case and improve code. 2018-08-16 15:17:53 +02:00
JC Brand
2a593a03b7 Add a test spec for autocompletion 2018-08-16 15:17:53 +02:00
JC Brand
5ded3b6cb9 Make list an executable 2018-08-16 15:17:53 +02:00
JC Brand
108c174d71 Suggestion box needs a different offset in overlay mode 2018-08-16 15:17:53 +02:00
JC Brand
ad73abbd12 Rewrite as ES2015 class 2018-08-16 15:17:53 +02:00
JC Brand
33cd23c529 Minor idiomatic changes 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
linkmauve
f0ad326e2e Simplify an error message on MUC service shutdown (#1161) 2018-08-16 11:36:44 +02:00
JC Brand
ddfe35b2c8 Set proper content type for file upload 2018-08-14 18:45:45 +02:00
JC Brand
45d1440684 Cancel message correction by pressing escape.
Also fixes #1153
2018-08-10 11:48:07 +02:00
JC Brand
4c86cca2cb Hide resize handle for both private and group chats
Fixes #1154
2018-08-10 11:09:18 +02:00
JC Brand
c652568a03 Clear color after submitting a corrected message 2018-08-09 16:33:25 +02:00
JC Brand
5d64f4c704 Newly generated build 2018-08-09 15:46:52 +02:00
JC Brand
c25cc4c76b Bugfix. Existing occupants weren't found because query was only by jid
Which meant that occupants were being duplicated.

updates #1146
2018-08-09 15:46:49 +02:00
JC Brand
1aceaa9c40 Avoid creating unnecesary promises
by returning existing promises and by using _converse.api.sendIQ
2018-08-09 14:44:39 +02:00
JC Brand
daf470e311 Check permissions before attempting to execute action on behalf of user 2018-08-09 14:43:40 +02:00
JC Brand
3564c8748a Increase line-height to avoid text being cut off 2018-08-09 10:38:28 +02:00
JC Brand
5e42bb2d49 Bugfix. Don't only set, save to storage.
Otherwise the flag doesn't persist across page loads.
2018-08-08 10:01:26 +02:00
JC Brand
8d40d5f108 Bugfix. Stanza passed in as 2nd parameter 2018-08-08 09:43:32 +02:00
JC Brand
99bdf235dd Newly generated build 2018-08-07 15:32:13 +02:00
JC Brand
2d05487862 More code reuse between chatboxview and chatroomview 2018-08-07 15:32:13 +02:00
JC Brand
2600372a2e Hide the textarea resize handle 2018-08-07 15:32:12 +02:00
JC Brand
d852721933 Place cursor at the end when correcting a message 2018-08-07 10:09:36 +02:00
JC Brand
08dce556f9 When correcting a message, also highlight the textarea. 2018-08-07 10:09:35 +02:00
JC Brand
27bc33ba09 Use nickname from global settings when entering a room 2018-08-07 10:09:35 +02:00
JC Brand
2884549bb3 Test decryption of incoming OMEMO message
updates #497
2018-08-04 23:49:01 +02:00
JC Brand
713f49453f Working example of AES-GCM encryption and decryption
with key import and export.

updates #497
2018-08-04 21:32:08 +02:00
JC Brand
f2c283c907 More work on decrypting messages 2018-08-04 19:41:06 +02:00
JC Brand
be0eaecff9 Parse incoming OMEMO encrypted messages 2018-08-04 09:26:23 +02:00
JC Brand
bb1fdd843a Use ternary operator to make more compact 2018-08-04 09:07:59 +02:00
JC Brand
b273d00412 Fix failing tests due to api refactor (returning promises) 2018-08-04 08:39:14 +02:00
JC Brand
d99c48b868 Fix failing test.
Modal query not specific enough when there are multiple modals
2018-08-04 08:34:13 +02:00
JC Brand
bfb7ea4fc8 Add missing index.rst to integrate JSDoc API into sphinx 2018-08-03 14:48:04 +02:00
JC Brand
4c3645c559 Merge branch 'master' into converse-omemo 2018-08-03 14:47:20 +02:00
JC Brand
0a00c61731 Updated JSON translation files 2018-08-03 14:22:39 +02:00
Weblate push user
0dce7ddceb Update from Weblate. (#1150)
* Translated using Weblate (German)

Currently translated at 100,0% (323 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Arabic)

Currently translated at 65.3% (211 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-08-03 12:44:09 +02:00
JC Brand
890dbca8b8 Fix tests failing on Travis 2018-08-02 08:30:37 +02:00
JC Brand
b027f0f784 Fixes #1143 Disallow sending of empty messages 2018-08-01 18:48:02 +02:00
JC Brand
f120fbd209 Bugfix. Own groupchat messages weren't being recognized 2018-08-01 18:37:54 +02:00
JC Brand
dc4c832fce Add jsdoc docstrings to chats API.
Link to the jsdoc output from the Sphinx docs
2018-08-01 12:11:10 +02:00
JC Brand
506aa33131 Wait for promises before opening chats in API methods 2018-08-01 11:12:00 +02:00
JC Brand
cb118b9cd0 Extract inline code into method 2018-08-01 11:10:43 +02:00
JC Brand
cbe6092c33 Handle case where chat content is empty 2018-08-01 11:10:43 +02:00
JC Brand
1443fdd447 (WIP) Wait for promises before opening chats in API methods 2018-08-01 11:10:43 +02:00
JC Brand
4115461409 Make tests independent of URL at which they're run 2018-07-31 19:13:49 +02:00
Emmanuel Gil Peyrot
8de78dfaf5 Fix disco#info result stanza
Converse forgot to add the wrapping query element, making the iq
invalid[1].

Thanks to lovetox for reporting this bug!

[1] https://pastebin.com/raw/T7h3FKHu
2018-07-31 17:52:07 +02:00
JC Brand
7c20e16ea8 Bump bootstrap.native 2018-07-30 16:43:28 +02:00
JC Brand
7a47b7b992 Don't require a chat JID to be specified in embedded mode
We might want to only open a chat later.
2018-07-30 16:42:54 +02:00
JC Brand
7fafc6758e Updated build 2018-07-28 17:16:33 +02:00
JC Brand
964b10dc33 Set default BOSH wait time to 59
to avoid timing conflicts with the webserver
2018-07-28 17:13:13 +02:00
JC Brand
b323794fe4 Document timeout fix for parsing errors 2018-07-28 16:57:08 +02:00
JC Brand
e774e9d1af Test that own devices (from other clients) get included
when sending out encrypted messages.

updates #497
2018-07-28 16:36:56 +02:00
JC Brand
a3593dbc7d Implement and test sending of encrypted messages
updates #497
2018-07-28 15:37:36 +02:00
JC Brand
f40e4b4dbb Merge branch 'master' into converse-omemo 2018-07-25 12:06:42 +02:00
JC Brand
4cefc7cdf9 Fix failing tests due to renames 2018-07-25 12:05:09 +02:00
JC Brand
bcd6845756 Show fingerprints in the user details modal
updates #497
2018-07-25 11:33:16 +02:00
JC Brand
ce447e4035 Merge branch 'master' into converse-omemo 2018-07-22 12:15:16 +02:00
JC Brand
d7a3e50539 Merge branch 'translation-fixes' 2018-07-22 12:13:15 +02:00
JC Brand
ba33e02f65 Translation fixes.
- Found more instance of `room` to be replaced with `groupchat`
- Fix fatal errors in po files
- Update af translations
2018-07-22 12:08:18 +02:00
JC Brand
5abb9f8bb2 Found more instance of room to be replaced with groupchat 2018-07-22 11:31:45 +02:00
JC Brand
6424844a90 Updated translation files 2018-07-22 10:43:50 +02:00
Weblate push user
9329fb4eee Update from Weblate. (#1141)
* Translated using Weblate (French)

Currently translated at 99.3% (316 of 318 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (318 of 318 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-07-22 10:41:58 +02:00
JC Brand
114e46dfab Fix broken test and refactor slightly. updates #497 2018-07-22 10:33:57 +02:00
JC Brand
b80a77a21c Include signedPreKeySignature in published bundle
updates #497
2018-07-21 21:53:31 +02:00
JC Brand
bf13927946 Merge branch 'master' into converse-omemo 2018-07-21 11:34:51 +02:00
JC Brand
87406f5f93 Allow messages to be edited by clicking a pencil icon
updates #421
2018-07-21 10:41:10 +02:00
linkmauve
8069e73fb4 Fix some more links to use HTTPS. (#1136)
* Actually fix the correct link to the room.

* Update the other opcode.com links to HTTPS.

* Update all other links to HTTPS.

* Update all links to HTTPS also in the README.

The mailing list and Patternslib don’t support it yet.
2018-07-21 08:20:40 +02:00
JC Brand
6a790916d3 Only own messages should be editable.
Fixes #1139
2018-07-21 08:12:33 +02:00
JC Brand
acd9a18696 Update with new message markup 2018-07-21 07:34:03 +02:00
JC Brand
6a462f6c2c Fix tests for the fullscreen view_mode 2018-07-20 15:28:45 +02:00
JC Brand
b751c06694 Start using BEM to structure messages Sass/CSS
updates #421
2018-07-20 14:09:30 +02:00
JC Brand
25f9e5ad7c Fix links. Thanks @linkmauve 2018-07-20 14:08:43 +02:00
Weblate push user
bfab0d3021 Translated using Weblate (Chinese (Simplified)) (#1135)
Currently translated at 21.4% (70 of 327 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2018-07-19 17:14:34 +02:00
JC Brand
778436412c Tweak the subtitle of private chats' headings 2018-07-19 17:09:48 +02:00
JC Brand
5444f54d00 Add message edit icons to mockups
updates #421
2018-07-19 17:06:58 +02:00
linkmauve
d25b227ba4 Remove @locked_domain if it has been provided in the JID. (#1132)
Fixes #917.
2018-07-17 08:15:27 +02:00
JC Brand
6130ca3745 Revert "Remove position:relative in embedded CSS (#1122)"
This reverts commit 563bee916a.
2018-07-16 01:21:42 +02:00
linkmauve
563bee916a Remove position:relative in embedded CSS (#1122)
This was rendering the content outside of the viewport, rendering Converse.js unusable.
2018-07-16 01:13:40 +02:00
JC Brand
17424f455c No longer calling the fullscreen version inVerse 2018-07-16 01:11:53 +02:00
JC Brand
62dc0c494e Merge branch 'linkmauve-better-chat_status' 2018-07-16 01:10:05 +02:00
JC Brand
bb5dff9a74 Merge branch 'better-chat_status' of https://github.com/linkmauve/converse.js into linkmauve-better-chat_status 2018-07-16 01:05:45 +02:00
JC Brand
6717315d05 Add support for message corrections in MUC. 2018-07-16 00:49:00 +02:00
JC Brand
16faf62d3f Fixes #1129 Hide "Contacts" section when logged in anonymously 2018-07-16 00:09:54 +02:00
Emmanuel Gil Peyrot
d518596a2e Add missing closing quote in label_download. 2018-07-14 18:27:25 +02:00
Emmanuel Gil Peyrot
d643d4c9cf Remove order constraint in file upload error message. 2018-07-14 18:26:42 +02:00
Emmanuel Gil Peyrot
3fcf9acfcc Remove order constraint in chatstate message. 2018-07-14 18:26:42 +02:00
Emmanuel Gil Peyrot
422757832b Remove order constraint in chat_status message. 2018-07-14 18:26:42 +02:00
JC Brand
b4d2007972 Allow any earlier message to be edited.
updates #421
2018-07-08 15:20:58 +02:00
JC Brand
a9bb99a1a7 Show animation when a message has been corrected
updates #421
2018-07-08 13:43:28 +02:00
JC Brand
84a10d77d9 Cancel message correction by pressing the down arrow
Also, add a class `correcting` to the message being corrected, to
provide a visual cue.

updates #421
2018-07-08 11:30:15 +02:00
Weblate push user
39c85db181 Update from Weblate. (#1124)
* Translated using Weblate (Norwegian Bokmål)

Currently translated at 63.3% (207 of 327 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

* Translated using Weblate (Dutch)

Currently translated at 100,0% (327 of 327 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/

* Translated using Weblate (Flemish)

Currently translated at 100,0% (332 of 332 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/

* Translated using Weblate (Japanese)

Currently translated at 97.8% (320 of 327 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Hungarian)

Currently translated at 100,0% (327 of 327 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2018-07-08 00:48:46 +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
be58e2b9c8 Add test for groupchat message corrections 2018-07-07 14:20:49 +02:00
JC Brand
f3f58a8da4 Test multiple corrections of the same message 2018-07-06 01:51:27 +02:00
JC Brand
9e965fa20e Add a rudimentary message versions modal 2018-07-06 01:36:34 +02:00
JC Brand
19b9aeadfd Show an indicator that the message has been edited 2018-07-06 01:18:03 +02:00
JC Brand
9f42f09d1e Get the first message correction test to pass 2018-07-06 01:04:34 +02:00
JC Brand
52d5677e40 Rename message to stanza to avoid confusion 2018-07-06 00:59:16 +02:00
JC Brand
461cebfed5 Add test for receiving message corrections 2018-07-06 00:43:47 +02:00
JC Brand
8283d58988 Don't make the controlbox too narrow at certain viewport sizes 2018-07-04 12:00:02 +02:00
JC Brand
7b86e24b9a Add missing CSS class to bookmark list item and fix test
updates #1069
2018-07-04 11:24:02 +02:00
JC Brand
388719ff2d Update CSS of controlbox list items
Trying to use more generic CSS selectors and to extract out common patterns.
2018-07-04 10:57:30 +02:00
JC Brand
47ec7501ed updates #1069 Don't show room-info icon for bookmarks
Currently we can only show the room info modal for open rooms, because
we need the Backbone.Model.

Querying the room info and displaying it for non-open rooms will be more
work and will require a separate modal.
2018-07-04 09:18:54 +02:00
JC Brand
145167baae Don't remove ourselves as occupant
when removing offline users who are no longer on the member lists
2018-07-04 09:08:23 +02:00
JC Brand
efa5e30596 updates #1069 Highlight currently open private chat in the sidebar 2018-07-04 09:08:22 +02:00
JC Brand
58ee1460fe Updates #1069
Highlight the currently open groupchat in the sidebar (in singleton mode).
2018-07-02 23:29:57 +02:00
JC Brand
a67fa6d4e5 Render URLs in the topic in the room details modal 2018-07-02 21:20:37 +02:00
JC Brand
3c1db0fec8 Fixes #1069 Only show bookmark icons on hover 2018-07-02 21:13:15 +02:00
JC Brand
a2fef1277c Don't render labels for hidden inputs 2018-07-02 20:22:16 +02:00
JC Brand
d335173fd7 Bootstrap markup for auto-generated forms 2018-07-02 20:18:22 +02:00
Weblate push user
1540d81126 Translated using Weblate (Norwegian Bokmål) (#1121)
Currently translated at 79.2% (252 of 318 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2018-07-02 16:38:52 +02:00
JC Brand
a200ff953a Make new pot and po files 2018-07-02 16:33:57 +02:00
JC Brand
e64edf19b4 Use "Groupchat" instead of "Chatroom" 2018-07-02 16:27:58 +02:00
JC Brand
102505c1a9 Generate new translation strings 2018-07-02 15:44:37 +02:00
JC Brand
d2ffdcef8e Merge branch 'master' into weblate-translations 2018-07-02 15:39:52 +02:00
JC Brand
4331f920cf Fix failing tests 2018-07-02 15:23:49 +02:00
JC Brand
c6d7317bb2 Show the topic in the room info modal 2018-07-02 13:41:15 +02:00
JC Brand
1880b3f209 Nicer rendering of MUC disconnection messages 2018-07-02 12:52:19 +02:00
JC Brand
eb1f462e07 Handle all presence stanzas sent from the room
Our handler was too restrictive due to the namespace matching.
When joining a room and the room's remote server can not be found, then
the resulting error messages doesn't not have the MUC namespace.
2018-07-02 12:52:13 +02:00
JC Brand
fad6b5368d Fix incorrect merge (from master into converse-omemo branch) 2018-07-01 12:04:45 +02:00
JC Brand
4127d1126b fixup 2018-07-01 12:03:55 +02:00
JC Brand
118a84f111 Bugfix. Make sure outgoing messages all have unique ids 2018-07-01 12:01:07 +02:00
JC Brand
e2b5f1d15e Don't reuse the forwarded stanza's id 2018-07-01 11:46:16 +02:00
JC Brand
648c0387dd Refactor message sending
so that we don't have to always wait for stanza creation.
We only need to wait when OMEMO is active, so we keep the waiting
contained to that usecase.
2018-07-01 11:45:58 +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
4361d0d66a Fix failing tests due to time tag 2018-06-30 15:25:25 +02:00
JC Brand
40272351a7 Merge branch 'Zash-timetag' 2018-06-30 15:13:08 +02:00
JC Brand
6e99af698d Merge branch 'timetag' of https://github.com/Zash/converse.js into Zash-timetag 2018-06-30 15:12:57 +02:00
JC Brand
b5a27b34a1 Render newlines 2018-06-30 15:07:30 +02:00
JC Brand
cc98cea009 Fix failing tests by waiting appropriately 2018-06-30 14:01:47 +02:00
JC Brand
9a60b5bb15 Let api.disco.info use api.sendIQ (and therefore be promise based) 2018-06-30 14:01:47 +02:00
Lejo
172f6302e7 Translated using Weblate (German)
Currently translated at 84.3% (264 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-06-24 11:38:52 +02:00
Joachim Vandersmissen
878b106c7b Allow for shift-enter to insert newlines (#1115)
* Allow for shift-enter to insert newlines

See issue #1081

* Update CHANGES.md
2018-06-19 06:41:22 +02:00
Lyn
7ea0225da2 Translated using Weblate (German)
Currently translated at 83.3% (261 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-06-18 15:39:27 +02:00
James Bond
4894ce5242 Translated using Weblate (German)
Currently translated at 83.3% (261 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-06-18 15:39:26 +02:00
JC Brand
81ed773baa Updated css and fix some niggles in the Makefile 2018-06-14 10:22:16 +02:00
JC Brand
3dac4ae45c Add support for logging in with OAuth 2018-06-13 18:39:51 +02:00
JC Brand
a2dec2371d Bugfix. jid of null was set on own VCard
Also made a few other minor improvements and did some cleanup.
2018-06-12 12:14:49 +02:00
Maxime Buquet
2ff9a3c6fd Fix build targets in Makefile (#1112)
The 'dist/converse-no-dependencies-es5.js' rule is called
'dist/converse-no-dependencies-es2015.js'.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2018-06-11 22:50:06 +02:00
JC Brand
7b19483271 Rename push_services to push_app_servers to avoid confusion 2018-06-11 14:17:34 +02:00
aitzol berasategi
06410b6e2f Translated using Weblate (Basque)
Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-06-10 11:34:55 +02:00
aitzol berasategi
9d928ec119 Translated using Weblate (Basque)
Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-06-09 10:43:39 +02:00
JC Brand
907775d784 No further need for a separate babel file and transpile step 2018-06-07 19:06:35 +02:00
JC Brand
a09333f82c Allow multiple push services to be enabled and also allow disabling 2018-06-07 16:25:59 +02:00
JC Brand
5954cd8f29 Avoid duplicating entities 2018-06-07 15:27:11 +02:00
JC Brand
6126781d83 Proper checking of disco support for push notifications 2018-06-07 15:00:36 +02:00
JC Brand
6cd9d2e813 Rename _tearDown to tearDown and rebuild 2018-06-07 14:30:10 +02:00
JC Brand
2cdd46f6dc Don't close chatboxes after disconnection has already happened
Otherwise it attemtps to send out stanzas (causing `this.socket is null`
errors when using websocket).
2018-06-07 14:29:47 +02:00
JC Brand
5d62023701 Only fetch VCards once we're already connected 2018-06-07 14:28:20 +02:00
JC Brand
d4d03925b8 Set hidden to true by default for chats in singleton mode.
However, when a new chat is created due to an incoming message, and
there aren't any other chats visible, then show it.
2018-06-07 14:09:19 +02:00
JC Brand
37b622251e Improve and simplify unread message notifications in the roster
Use one event instead of two, by listening to `num_unread` on chatboxes.
2018-06-07 13:40:20 +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
ec65bb3512 createMessage doesn't need the delay parameter 2018-06-07 12:37:56 +02:00
aitzol berasategi
d5ee022a1f Translated using Weblate (Basque)
Currently translated at 98.0% (307 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-06-07 12:34:54 +02:00
JC Brand
ce3ba2a4f8 Fix linting errors 2018-06-07 07:04:45 +02:00
JC Brand
0575ca485a Specify controlbox size for lg breakpoint 2018-06-07 06:58:37 +02:00
JC Brand
57b4dec5a0 Bugfix. Validation messages wasn't being shown
due to Awesomplete doing things to the DOM and then confusing Snabbdom.
2018-06-06 18:31:04 +02:00
JC Brand
7ee71b0132 Add a plugin for XEP-0357
Currently only allows enabling an "App Service", based on pass-in
configuration values.
2018-06-06 14:00:52 +02:00
JC Brand
eed141b53e Remove unnecessary path aliases from the webpack config 2018-06-06 11:04:23 +02:00
JC Brand
1dac1d781f Don't show own typing notifications in groupchats 2018-06-06 09:57:37 +02:00
JC Brand
734f3469dd Bugfix. Message indicator wasn't shown
when we received a message for a yet non-existing chat in singleton
mode.
2018-06-06 09:56:46 +02:00
JC Brand
54c6bcd861 Disconnect chatrooms upon tab reload (when using websocket)
This is a workaround until we have support for XEP-0198

updates #1111
2018-06-06 09:56:35 +02:00
JC Brand
3153604823 Inform user of error messages which don't have text 2018-06-05 13:14:24 +02:00
JC Brand
a3fe6162c1 Proper MUC reconnection is handled in converse-muc-views 2018-06-05 13:01:47 +02:00
JC Brand
ca9d53a653 These didn't have the intended effect.
Calling `remove` without models does nothing
2018-06-05 12:42:49 +02:00
JC Brand
bea76e5b2b Use the logout event, instead of an override 2018-06-05 12:42:49 +02:00
JC Brand
ee5e77e851 Remove call to non-existing method 2018-06-05 11:14:51 +02:00
JC Brand
d32e9322ce Only show rooms-list icons upon hover.
updates #1068
2018-06-04 21:48:19 +02:00
JC Brand
ab6a4560e2 Make sure chats cover whole page in responsive mode 2018-06-04 21:42:21 +02:00
JC Brand
78d6d493d6 Add info icon in room header and show room details in modal 2018-06-04 19:54:11 +02:00
JC Brand
f7c3351e2b Merge branch 'master' into webpack 2018-06-04 13:46:27 +02:00
JC Brand
659f70b28b Add the ability to make different kinds of builds 2018-06-04 13:38:53 +02:00
JC Brand
bc872ee2cb Fix various failing tests and update Makefile 2018-06-04 11:20:34 +02:00
JC Brand
596082eecc Get tests to run agains the webpack build 2018-06-03 16:40:20 +02:00
ButterflyOfFire
bdbe214771 Translated using Weblate (Arabic)
Currently translated at 88.1% (276 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-06-03 02:34:51 +02:00
JC Brand
74eed32e82 Add shims to webpack config and fix bugs in templates 2018-06-02 17:18:42 +02:00
JC Brand
8948be1d3d In mobile view, add arrows to chat headings
so that you can navigate "back" to the controlbox.
2018-06-01 14:57:19 +02:00
JC Brand
b00567a0ea Fix styles for mobile view 2018-06-01 12:49:45 +02:00
JC Brand
2ca382b7a5 Move const declarations out of initialize method 2018-06-01 12:21:41 +02:00
JC Brand
188047dc93 Update out of date docs concerning locales
updates #1107
2018-06-01 09:17:18 +02:00
JC Brand
b02c70b4ea Check the view_mode on the fly
instead of disabling the plugin immediately.

This allows us to change the view_mode dynamically.
2018-05-31 06:41:53 +02:00
JC Brand
9c6c90a4fc Move config settings into the relevant plugins 2018-05-31 06:38:40 +02:00
JC Brand
195a9781c1 Use an event instead of an override 2018-05-30 17:18:41 +02:00
JC Brand
5e97db95f9 Add a close button on the occupants sidebar 2018-05-30 16:55:28 +02:00
JC Brand
8c983ab2a3 Use different icon for adding a groupchat
Fixes #1072
2018-05-30 16:38:51 +02:00
JC Brand
d384c70929 Use double angle brackets as occupants toggle icon
updates #1072
2018-05-30 16:27:45 +02:00
JC Brand
d205afe3a2 Don't try to render register link if auto_login is true 2018-05-30 16:04:56 +02:00
JC Brand
ebcf7098bb New dist files 2018-05-30 11:31:20 +02:00
JC Brand
4e67b420ba New event streamFeaturesAdded 2018-05-29 12:04:42 +02:00
JC Brand
291fceeb74 Make sure disco info is stored in sessionStorage
Otherwise we might have stale disco info and no way to invalidate the cache.
2018-05-28 13:59:38 +02:00
JC Brand
bb95375f9c Support for roster versioning
fixes #1106
2018-05-28 13:59:11 +02:00
JC Brand
4cfade2843 Add support for stream features to converse-disco 2018-05-28 11:40:33 +02:00
JC Brand
ec12e6cbc5 Update to strophe.js 1.2.15 2018-05-28 10:38:05 +02:00
JC Brand
e8a26eb185 Store the roster version
updates #1106
2018-05-28 10:31:52 +02:00
JC Brand
43d0932d78 Update roster push handling code
- Remove misleading comment and fix conditional logic
- Check that there's only one <item> element.

updates #1106
2018-05-28 09:36:12 +02:00
Jeferson Nepomuceno Teles
867d5ee006 Translated using Weblate (Portuguese (Brazil))
Currently translated at 82.7% (259 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-05-26 22:41:50 +02:00
JC Brand
ec609a3883 Refetch VCards which we couldn't retrieve before 2018-05-25 16:25:02 +02:00
JC Brand
ab4d0204f3 Update all vcards that might be associated with an occupant 2018-05-25 15:55:34 +02:00
JC Brand
6dc9e8edf1 Use webpack for module bundling 2018-05-25 14:23:32 +02:00
JC Brand
d920c2a86c Add privacy policy for conversejs.org hosting 2018-05-25 06:31:55 +02:00
JC Brand
74ee896ee6 Add new sponsor and some website style improvements 2018-05-24 16:18:47 +02:00
JC Brand
4d004a5c90 New dist files 2018-05-24 15:51:04 +02:00
JC Brand
eff656931c Move code for handling own presence into new method
Fix two bugs as well.

- Pass by reference bug for presence defaults
- querySelector for `delay` returned nothing (use sizzle instead)
2018-05-24 15:47:27 +02:00
JC Brand
c0080390a7 Only initialize presence collection after login 2018-05-24 15:09:01 +02:00
JC Brand
ed351d97ae Remove sass/inverse.scss. updates #1091 2018-05-24 14:52:48 +02:00
JC Brand
fa849b3dfa fixes #1091
We no longer need inverse.css
2018-05-24 14:38:17 +02:00
JC Brand
f582fdad30 Remove sass/inverse/_chatbox.scss
updates #1091
2018-05-24 14:28:09 +02:00
JC Brand
082b1fea7c Remove converse-specific sass files
updates #1091
2018-05-24 14:19:53 +02:00
JC Brand
251bea2137 Put all Sass variables into one file.
updates #1091
2018-05-24 13:17:26 +02:00
JC Brand
539234fa79 Move _minimized_chats.scss into parent dir
updates #1091
2018-05-24 12:55:48 +02:00
JC Brand
be5b235798 Combine _core.scss from inverse/converse
updates #1091
2018-05-24 12:52:32 +02:00
JC Brand
a85401627c Combine inverse/converse chatrooms css
updates #1091
2018-05-24 12:45:10 +02:00
JC Brand
63f659326b Store VCard JID on the groupchat message
for easier retrieval later and to work around MUC's inability to
retrieve VCards for users not in the MUC.
2018-05-24 10:50:07 +02:00
JC Brand
adad60e298 Refactor so that nick-deduplication takes VCard nick into account
Updates #968
2018-05-24 10:24:48 +02:00
JC Brand
3849f56270 Swop buttons and try to make column responsive 2018-05-24 10:18:27 +02:00
JC Brand
e76dc01265 Use nickname from VCard when joining a room
updates #968
2018-05-24 10:15:58 +02:00
JC Brand
dd51ad8618 Bugfix. Nickname wasn't being set correctly in vcard 2018-05-24 10:15:25 +02:00
JC Brand
dd5f6f1025 Show join/leave notifications for members who go offline
updates #1094
2018-05-24 09:48:01 +02:00
JC Brand
04e95a17c5 Make sure converse-muc-views is loaded first (if available) 2018-05-24 09:09:09 +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
ddd0ef8e20 Test that device lists can get updated via PEP
Fix various bugs in the process.

updates #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
839210f87c Fetch and parse bundles, then generate sessions for them
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
f906761dc0 Initial work on sending a different stanza for OMEMO messages
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
a99e7a317e Change lock icon when clicking the toggle
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
61dcebbbf6 When generating a device id, check whether it already exists
and if so, generate a new one.

To do so we have to change the order of events.

1. first we fetch our device list
2. then we generate our bundle info (if necessary)
3. then we update our device list (if necessary)
4. then we publish our bundle

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
fd3bb570cd Add an omemo_active flag on the chatbox
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
9645641505 Add own device to the server-stored devicelist
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
281865d9b1 Based on feedback from @iNPUTmice, no need to check for PEP support
Since you can still start OMEMO sessions with contacts without it, they
just can't create sessions with you.
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
6042c233bc Add test that the OMEMO toolbar button renders
Fix and improve accordingly. updates #497
2018-05-23 12:51:01 +02:00
JC Brand
2f149a0ea2 Fetch devices upon devicelist creation
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
0c50808b65 Add missing declaration and don't run OTR tests
Add 3rd party dependencies

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
e833af14bf updates #497
Various fixes to code checking for server and contact client support
2018-05-23 12:51:01 +02:00
JC Brand
bfc246d9c7 Disable OTR and add code for adding the toolbar button. 2018-05-23 12:51:01 +02:00
JC Brand
039f30a5d3 Add 3rdparty dependencies (used by libsignal)
Hopefully later we can use NPM for them, first want to get things to work
2018-05-23 12:51:01 +02:00
JC Brand
7b28cb7943 updates #497
Initial work on adding OMEMO support
2018-05-23 12:51:00 +02:00
JC Brand
3f0920a8c4 Don't remove occupants who are on member lists.
updates #1094
2018-05-23 12:48:11 +02:00
JC Brand
9afc344b89 We no longer clear the whole roster, only presence data 2018-05-23 04:34:38 +02:00
JC Brand
da06a62b22 Regenerated dist files 2018-05-23 04:27:33 +02:00
JC Brand
f0b1295577 Updates #1098 IE doesn't support document.contains 2018-05-23 04:22:47 +02:00
JC Brand
9500900f22 Make sure bookmarks are cleared before re-initializing
Otherwise subtle, hard-to-reproduce bugs happen while testing.

Also, don't unnecessarily call `delegateEvents`, it also causes
heisen-breakage.
2018-05-22 21:59:17 +02:00
JC Brand
36fd859a88 Store presence info in a separate collection
So that we can cache roster data for longer and presence data for
shorter.
2018-05-22 21:09:43 +02:00
JC Brand
4b12562218 Translated using Weblate (Afrikaans)
Currently translated at 81.1% (254 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/af/
2018-05-19 10:34:10 +02:00
JC Brand
b939de03bc Make sure that the textarea resizes back to original size
after sending
2018-05-19 08:22:57 +02:00
JC Brand
fe8b257243 Looks like we stopped supporting EXTERNAL auth 2018-05-19 08:22:24 +02:00
JC Brand
c920725832 Add a clearSession event to avoid using overrides. 2018-05-18 15:44:42 +02:00
JC Brand
2508ef0e9e Make the default value for the 'trusted' checkbox configurable
Also remove the `message_storage` setting.
2018-05-18 15:44:42 +02:00
JC Brand
e82112715d Update padding of controlbox elements
Instead of padding the container, pad individual elements that need it.
This enables us to have highlighting (e.g. on hover) that spans the full
width of the controlbox.

updates #1069
2018-05-18 15:44:42 +02:00
JC Brand
6e2249e99e Make sure popovers are positioned correctly
in the overlayed view_mode
2018-05-18 15:44:42 +02:00
JC Brand
59535656b6 Add checkbox to indicate whether this is a trusted device 2018-05-18 15:44:42 +02:00
JC Brand
d4a33656d8 Move form specific styles to _forms.scss 2018-05-18 15:44:42 +02:00
ChaosKid42
7a36acade5 remove "?" from user-search-query (#1103) 2018-05-17 18:26:06 +02:00
JC Brand
d339a06ea7 Bugfix. Wrong dict key used. 2018-05-17 11:25:05 +02:00
JC Brand
7076146dae Updated pot and po files 2018-05-17 11:21:29 +02:00
JC Brand
4490e27e08 Forgot we're moving away from using inverse here :) 2018-05-17 11:19:07 +02:00
Weblate push user
05ac4d867c Update from Weblate. (#1104)
* Translated using Weblate (Dutch)

Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/

* Translated using Weblate (Flemish)

Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 84.9% (266 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

* Translated using Weblate (French)

Currently translated at 99.0% (310 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Arabic)

Currently translated at 79.2% (248 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Arabic)

Currently translated at 86.5% (271 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Indonesian)

Currently translated at 27.4% (86 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2018-05-17 11:18:26 +02:00
Weblate
bcb7330540 Merge branch 'master' into weblate-merge-tmp 2018-05-17 11:17:39 +02:00
Bitelaserkhalif 555
696891f33a Translated using Weblate (Indonesian)
Currently translated at 27.4% (86 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2018-05-17 11:17:35 +02:00
JC Brand
897a5b2a86 branding 2018-05-17 11:10:52 +02:00
JC Brand
5e17d6b117 Update fonts for better Linux support 2018-05-15 15:49:52 +02:00
ButterflyOfFire
87344c7204 Translated using Weblate (Arabic)
Currently translated at 86.5% (271 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-05-15 13:34:23 +02:00
JC Brand
3cd5d9f8ca Tweak chatroom heading and description margins 2018-05-15 11:38:33 +02:00
JC Brand
fcf865444e Updated dist files 2018-05-15 10:32:13 +02:00
JC Brand
d0a97fe3c2 Only inform new users that the room is not anonymous
instead of informing all users every time someone enters the room.
2018-05-15 10:29:56 +02:00
JC Brand
dc97488b7a Bugfix. Image was getting unset when saving own vcard 2018-05-15 10:16:52 +02:00
JC Brand
37ce3fb737 Add a button to refresh a contact's vcard 2018-05-15 10:11:13 +02:00
JC Brand
63ce501798 We now only need to override set for the actual VCards
so rename model and only use it in the VCards collection.
2018-05-15 09:47:52 +02:00
JC Brand
d0f490bbdc Start using Sass for the website CSS and rename 2018-05-15 09:38:20 +02:00
JC Brand
50a67331e2 Find MUC VCard by real JID if we know what it is. 2018-05-14 13:49:04 +02:00
JC Brand
ec5a57b9d2 Remove unnecessary btn class 2018-05-14 13:49:04 +02:00
JC Brand
2a7c6142a5 Use newer classes 2018-05-14 13:49:04 +02:00
JC Brand
28bc3a2252 Use future for headings 2018-05-14 13:49:04 +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
a33b451b73 Bugfix. Messages were losing followup class when re-rendered 2018-05-12 12:09:17 +02:00
JC Brand
ea60f190aa Bugfix. Check if chatbox exists 2018-05-12 10:57:40 +02:00
JC Brand
04e948ad67 Fix build error by setting dependency 2018-05-11 19:56:32 +02:00
JC Brand
2515001a5c Variables were moved to common file 2018-05-11 19:51:41 +02:00
JC Brand
8908ab5c7d We no longer user the inVerse branding 2018-05-11 13:50:19 +02:00
JC Brand
72001cb9df updates #1100 More jsdoc docstrings 2018-05-11 13:42:35 +02:00
JC Brand
38499917a9 updates #194
Include entity capabilities hash in outgoing presences

Also, started some work on using jsdoc for rendering API documentation.
Ideally that would go into a separate commit but that would take ages to
untangle.
2018-05-11 13:35:27 +02:00
JC Brand
ab1c19a974 Update markup to fit the mockup 2018-05-11 10:29:56 +02:00
JC Brand
73807959d3 updates #1068
- For roster contacts, only show remove icons on hover.
- Show light background color when hovering over an item in the
controlbox.

Ideally this background color will be 100% of the controlbox width, but
I'm not opening that can of worms now...
2018-05-11 10:19:14 +02:00
JC Brand
1d8a45ff88 Updated dist files 2018-05-11 00:19:49 +02:00
JC Brand
d871392039 updates #1094
Update the occupants list when occupants are added/removed from the
member lists.
2018-05-11 00:17:44 +02:00
JC Brand
f573c69d08 updates #1094
Refetch the members lists when adding a new member via invite
2018-05-10 23:48:09 +02:00
JC Brand
f011078805 Handle case where we don't have a nick for an absent occupant
updates #1099
2018-05-10 23:28:03 +02:00
JC Brand
527555badf Add missing spec file 2018-05-10 23:24:43 +02:00
JC Brand
09db3eddb0 Add tests for contact removal via modal 2018-05-10 22:15:23 +02:00
JC Brand
b1a54e626d Update bootstrap.native 2018-05-10 21:30:11 +02:00
JC Brand
21741649e4 Don't hide close button for chats
I find it useful to be able to close them
2018-05-10 21:29:05 +02:00
JC Brand
d16bb315aa Add the ability to remove a contact via the details modal 2018-05-10 18:04:17 +02:00
JC Brand
65ac389625 Add a way to show a user's vcard 2018-05-10 14:10:03 +02:00
ButterflyOfFire
bfc250cb9b Translated using Weblate (Arabic)
Currently translated at 79.2% (248 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-05-09 16:34:24 +02:00
JC Brand
270c9b7c0e Bump timeouts in a desperate attempt to appease the CI gods 2018-05-09 15:42:57 +02:00
JC Brand
71c12c385a Fix failing test 2018-05-09 15:02:10 +02:00
JC Brand
19a2fb17ad Create new build files 2018-05-09 14:37:27 +02:00
JC Brand
2845d84b98 Remove debugging code 2018-05-09 14:35:05 +02:00
JC Brand
9bc21741fc Update mockup and CSS accordingly 2018-05-09 12:57:50 +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
28ec15094e Add alert modal and close profile modal on save 2018-05-09 10:09:42 +02:00
JC Brand
64754fa33a Fix class name for icon 2018-05-09 09:27:21 +02:00
JC Brand
127f458978 Update dist files 2018-05-08 19:58:12 +02:00
JC Brand
b6692b17a2 Show roles from VCard next to name in messages 2018-05-08 19:51:56 +02:00
JC Brand
8bd968a03b Also use the VCard cache for the user's own status 2018-05-08 19:24:50 +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
6c513ad4be Remove dependency on strophe's vcard plugin 2018-05-08 18:11:56 +02:00
JC Brand
2d2dcd4a6d css fixes 2018-05-08 14:44:59 +02:00
Emmanuel Gil Peyrot
74ea5a6956 Translated using Weblate (French)
Currently translated at 99.0% (310 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-05-07 20:37:28 +02:00
JC Brand
ea1abba00d Remove unused build 2018-05-07 18:31:17 +02:00
JC Brand
2d5e8262e9 Create new builds 2018-05-07 18:24:24 +02:00
JC Brand
30c9a878ca Bugfix. Make sure nick is shown for sent messages 2018-05-07 18:22:45 +02:00
JC Brand
b3619077f9 Remove dependency on the strophe disco plugin
And instead implement it ourselves.

This solves a bug with that plugin whereby the connection handlers are
added to early and are therefore never fired.

Also fixed a problem whereby entity items are queried for features
before the features have been fetched.
2018-05-07 18:06:50 +02:00
JC Brand
5136b0c1dd Fix two failing tests (and a bug) 2018-05-07 14:31:02 +02:00
JC Brand
e6ba62d804 Avoid creating unnecessary messages 2018-05-07 13:50:07 +02:00
JC Brand
bbf33a8e4f Combine duplicate queryForArchivedMessages methods 2018-05-07 13:49:32 +02:00
JC Brand
dbee62c794 Do disco check in fetchArchivedMessages
so that it's applied in all cases where archived messages are fetched.
2018-05-07 13:14:58 +02:00
JC Brand
d42b872795 Check if room supports MAM before qyerying
instead of wrongly checking the bare JID
2018-05-07 13:07:44 +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
7e94f3c691 Bugfix. Send model instance to event listeners
So that we can call `getDisplayName`
2018-05-07 10:58:58 +02:00
JC Brand
b8679063c5 Use the VCards collection for roster contacts
Instead of saving the vcard data on the contact model itself
2018-05-05 20:51:14 +02:00
JC Brand
e5cfdca30d Move roster models into their own module 2018-05-05 20:16:23 +02:00
JC Brand
09c55ebc28 Remove the use_vcards settings
VCards will now always be used.
2018-05-04 22:50:41 +02:00
JC Brand
6ac1df43e1 Render chat state notifications on the message view
and not via the chatbox view (fixes some failing tests also).
2018-05-04 17:26:43 +02:00
JC Brand
99915a26f4 Use vcard from the collection for rendering messages 2018-05-03 20:05:45 +02:00
JC Brand
adf34c845c Render chatbox avatar via the vcards collection 2018-05-03 19:01:57 +02:00
JC Brand
71ed5bbdd1 Don't set vcard on the chatbox model 2018-05-03 18:44:02 +02:00
JC Brand
16b2a1b2a9 Avatar/VCard refactoring
- Refer to VCards instead of Avatars where appropriate
- Fetch VCards for non-groupchat messages as well
2018-05-03 18:34:28 +02:00
JC Brand
d5c8acea04 Create avatar objects for all messages, not just groupchat 2018-05-03 18:24:24 +02:00
JC Brand
e77f627432 Remove unused code, fix build path and update package-lock.json 2018-05-03 18:22:54 +02:00
JC Brand
9eb89758e0 Darken text slightly 2018-05-03 18:19:28 +02:00
JC Brand
df948a8dd6 Also allow a single-user chat to be embedded into the page 2018-05-03 17:01:17 +02:00
JC Brand
4c15ac2e8c Add new config setting: auto_join_private_chats 2018-05-03 16:36:02 +02:00
JC Brand
3fe2ff234e Fixes #1088
Entity items weren't being fetched from cache.

Apparently this bug only surfaced because with Ejabberd the upload
service is nested one level deeper than with Prosody.
2018-05-03 15:48:32 +02:00
JC Brand
01a88c24a8 Refetch avatar when occupant's photo hash has changed 2018-05-03 14:50:27 +02:00
JC Brand
6495378a19 Chatroom form fixes 2018-05-03 14:19:11 +02:00
JC Brand
7660a27682 Store image hash from presence on the occupant 2018-05-03 13:50:30 +02:00
JC Brand
8c3f379d82 Calculate and save avatar hash upon receipt 2018-05-03 13:44:52 +02:00
JC Brand
d49adc9309 Doesn't look like its necessary to call initConnection again 2018-05-03 11:13:08 +02:00
JC Brand
c25de7bd4c Bugfix. initAvatars wasn't being called. 2018-05-03 11:13:00 +02:00
Allan Nordhøy
0bcedf3e52 Translated using Weblate (Norwegian Bokmål)
Currently translated at 84.9% (266 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2018-05-03 09:39:11 +02:00
JC Brand
c18eaa3351 pluginsInitialized is too early
we don't yet have a connection then, so listen to
`connectionInitialized` instead.
2018-05-02 16:19:12 +02:00
JC Brand
a52e24adc8 Fixes #1087 2018-05-02 15:40:47 +02:00
JC Brand
cb0d8c7d86 Found more MUC code that should be in the view module 2018-05-02 15:29:06 +02:00
JC Brand
6f95628420 CSS width fix 2018-05-02 15:28:55 +02:00
JC Brand
ca0f5fcfef Fix bookmark item markup
so that `hidden` class gets applied to the right element
2018-05-02 15:16:56 +02:00
JC Brand
7eb6b13f10 Don't mark /me messages are followup messages. 2018-05-02 14:55:10 +02:00
JC Brand
911ede2886 Small bugfixes.
- Filter did the opposite of what it was supposed to do
- Wrong bind context
- Should actually be mam:2, issue was server misconfiguration
2018-05-02 14:30:14 +02:00
Szilágyi Gyula
27888f4ece Translated using Weblate (Hungarian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/
2018-05-02 14:17:04 +02:00
Mako N
50b8ac9480 Translated using Weblate (Japanese)
Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2018-05-02 06:43:28 +02:00
JC Brand
dd505ad9da More fixes now that we don't store the JID under 'fullname'
if the fullname is not available.
2018-05-01 20:07:56 +02:00
JC Brand
cbc48629f1 Clear canvas before redrawing 2018-05-01 19:55:26 +02:00
JC Brand
afc924fd72 Bugfix. Since refactoring we do want onMessage to handle MAM messages 2018-05-01 19:46:18 +02:00
JC Brand
0e61eda620 Fix typo, fixes MAM again :) 2018-05-01 18:47:43 +02:00
JC Brand
31982aab0b Store MUC avatars globally, not per chatroom
This allows us to cache them for longer.
2018-05-01 18:30:05 +02:00
JC Brand
53f5627b72 Add support for rendering avatars in groupchats 2018-05-01 18:18:02 +02:00
JC Brand
c14ef3bb75 Bugfix. Can't expect fullname to be set anymore. 2018-05-01 15:21:20 +02:00
JC Brand
b5a516e044 Add new api method vcard.update 2018-05-01 14:59:02 +02:00
JC Brand
f9aa75b69e Refactored message attributes and rendering.
- set `username` on the message object,
  instead of always using `fullname` with fallback to `jid`.
- Distinguish better between `groupchat` messages and normal
  messages in `getMessageAttributesFromStanza`
2018-05-01 12:30:58 +02:00
JC Brand
54cafb1243 Update vcard.get API method to accept either a JID string or a model 2018-05-01 11:45:12 +02:00
JC Brand
b6f10f0efe Update eslint to ES2017 syntax so that we can use async/await 2018-05-01 11:30:46 +02:00
JC Brand
62cdd03562 Make sure to enter chatroom in test 2018-05-01 09:47:45 +02:00
Nathan Follens
f87c5693b7 Translated using Weblate (Flemish)
Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/
2018-04-30 21:58:15 +02:00
Nathan Follens
dec6a0c2a4 Translated using Weblate (Dutch)
Currently translated at 100.0% (313 of 313 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/
2018-04-30 21:54:32 +02:00
JC Brand
097d992d13 Bugfix, /me message wrongly marked as followup message. 2018-04-30 16:23:52 +02:00
JC Brand
9d95d2d924 Regenerated pot, po and json files for i18n 2018-04-30 16:17:11 +02:00
Weblate push user
9f673dcd6a Update from Weblate. (#1093)
* Translated using Weblate (Basque)

Currently translated at 90.4% (275 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Basque)

Currently translated at 96.3% (293 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Basque)

Currently translated at 96.7% (294 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Basque)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/

* Translated using Weblate (Basque)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Japanese)

Currently translated at 98.0% (298 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Japanese)

Currently translated at 98.0% (298 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Basque)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 87.1% (265 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

* Translated using Weblate (Japanese)

Currently translated at 98.0% (298 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Added translation using Weblate (Flemish)

* Translated using Weblate (Flemish)

Currently translated at 94.7% (288 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/

* Translated using Weblate (Flemish)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/

* Translated using Weblate (Flemish)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/

* Added translation using Weblate (Lithuanian)

* Translated using Weblate (Japanese)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Lithuanian)

Currently translated at 39.1% (119 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/lt/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/

* Translated using Weblate (Flemish)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/hu/

* Translated using Weblate (Arabic)

Currently translated at 83.2% (253 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Flemish)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl_BE/

* Translated using Weblate (Italian)

Currently translated at 84.8% (258 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/

* Translated using Weblate (Italian)

Currently translated at 84.8% (258 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/

* Translated using Weblate (Russian)

Currently translated at 99.3% (302 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (304 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (French)

Currently translated at 99.3% (302 of 304 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-04-30 16:13:21 +02:00
JC Brand
cfea066a29 update dist files 2018-04-30 16:05:20 +02:00
JC Brand
28ce3b5fa4 Fix paths for making css 2018-04-30 15:40:34 +02:00
JC Brand
eaf65f4d24 Add missing items-list class (as per mockup) 2018-04-30 15:37:37 +02:00
JC Brand
9f48b5cf51 Clean up the chatroom spec a bit 2018-04-30 15:37:37 +02:00
JC Brand
4f7c08b1da Bail when in a callback for a hanging chatroom 2018-04-30 15:37:37 +02:00
JC Brand
3a37577252 Refactor to not have to rely on a spy 2018-04-30 15:37:37 +02:00
JC Brand
4bcf8e7bc3 Mark followup messags so that they can be styled differently 2018-04-30 15:37:37 +02:00
JC Brand
60c784a39e Ensure that default image is used for avatars.
By overriding the `set` method.
2018-04-30 15:37:37 +02:00
JC Brand
58ca4a5664 Tweak message padding 2018-04-30 15:37:37 +02:00
JC Brand
6b18b2debc Mention new donator 2018-04-30 15:37:37 +02:00
JC Brand
93af6f4d0d In overlayed mode, don't pad followup messages 2018-04-30 15:37:37 +02:00
JC Brand
d316445fa0 Try to more intelligently break up long messages.
Use break-word in long URLs but not otherwise.
2018-04-30 15:37:37 +02:00
JC Brand
1873c43956 Move message-related tests into their own file 2018-04-30 15:37:37 +02:00
JC Brand
8fd65487c7 Use safeSave to avoid intermittent test failures
due to asynchronous events.
2018-04-30 15:37:37 +02:00
JC Brand
876a07b3de Fix the failing tests 2018-04-30 15:37:37 +02:00
JC Brand
1405d9cb49 Also style file upload and action messages. 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
5ffb09bd15 Updates #161: Treat sent files also as oob messages 2018-04-30 15:37:37 +02:00
JC Brand
ab09379a51 Move common Sass variables into a single file
Part of slowly trying to bring all styles into a single CSS file.
2018-04-30 15:37:36 +02:00
JC Brand
36ccb4618f Tweak chatroom headings 2018-04-30 15:37:36 +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
f913ee86f0 Fix chat-image styling. Add spoiler margin 2018-04-30 15:37:36 +02:00
JC Brand
afcb808127 Mockup: Add "Announcements" section, update markup and styles for user-panel 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
1fe6015787 Reuse chatroom and chatbox markup across mockups 2018-04-30 15:37:36 +02:00
JC Brand
aa6a739cfa Initial work on showing avatars in messages.
- Update the mockups to show avatars.
2018-04-30 15:37:36 +02:00
midzer
2b5b2fae2c add another server which supports websockets (#1086) 2018-04-26 14:46:03 +02:00
JC Brand
d7203a5da3 Indentation 2018-04-25 18:19:12 +02:00
JC Brand
ee46b0ccad CSS fixes to embedded chat
* Don't change styling based on media queries
* Fix offsets so that an embedded chat fits properly inside container element
2018-04-25 18:04:04 +02:00
JC Brand
a15192974d Update mockup somewhat to see how to more nicely render avatars 2018-04-25 18:02:39 +02:00
JC Brand
e487fe4e54 Update mockups and tweak margin for chatroom in responsive mode 2018-04-24 18:22:44 +02:00
JC Brand
d0387a65ca Let an embedded MUC expand to fill its containing element 2018-04-24 17:31:44 +02:00
JC Brand
6cce931086 Make sure show is created on all chatbox types 2018-04-24 16:39:39 +02:00
JC Brand
fe1ba6265a Revert "Doesn't seem necessary to build fonts.css"
Actually, it's used for rendering a MUC inside a webcomponent!
2018-04-24 16:27:56 +02:00
JC Brand
07ac8d4a3e Various HTML/CSS fixes for the demos, particularly embedded MUC 2018-04-24 14:46:09 +02:00
JC Brand
fb11cfe795 Add converse-embedded class without requiring an override 2018-04-24 14:35:47 +02:00
JC Brand
76a47829cd Optimize keyPressed slightly 2018-04-24 14:35:29 +02:00
JC Brand
7807b19905 Debounce show similarly to other methods 2018-04-24 14:34:19 +02:00
JC Brand
71be72b50c Automatically grow/shrink input as text is entered/removed 2018-04-24 14:33:00 +02:00
JC Brand
59a72efe1b Refactor MUC message sending
To make it more similar to how messages are sent in private chats and to
reuse methods as far as possible.

Removed `sendChatRoomMessage` and `clearChatRoomMessages`
2018-04-24 11:09:36 +02:00
JC Brand
8a862e27c5 Catch and log errors inside promises 2018-04-24 11:07:32 +02:00
JC Brand
9a410c6a96 updates #161 Proper error messages and include server response 2018-04-24 10:09:45 +02:00
JC Brand
e0aaeb66ea updates #161
* Fix typo which broke MUC file upload
* Remove unused method
* Move file input into li element
2018-04-24 07:49:37 +02:00
JC Brand
a15c9e54d0 Also test for when XEP-0363 is not supported
Updates #161
2018-04-22 17:47:34 +02:00
JC Brand
d73394fa37 Add tests for XEP-0363 for MUC
Update #161
2018-04-22 17:30:49 +02:00
JC Brand
aacfe3b66b Don't show MUC CSN if from myself. fixes #1026 2018-04-22 04:26:35 +02:00
JC Brand
74f9952b24 Move sendChatState methods to the models 2018-04-22 04:25:05 +02:00
JC Brand
2850ef0485 Don't show delayed chat state notifications 2018-04-22 04:09:24 +02:00
JC Brand
f785c2df0a Fix linting errors 2018-04-18 17:29:51 +02:00
JC Brand
a19e7aeffe Add support for XEP-0066 Out of band data 2018-04-18 16:58:52 +02:00
JC Brand
d048cff9a8 Provide metadata of file being uploaded.
updates #161
2018-04-18 11:49:53 +02:00
JC Brand
463b0e6abe Fix height for minimized chats toggle
Also tweak progress indicator margin
2018-04-18 11:49:28 +02:00
JC Brand
133df99aec Honor the filesize restrictions of the XMPP server
updates #161
2018-04-18 11:35:33 +02:00
JC Brand
95e648e79f Tweak margin and padding for messages 2018-04-18 08:53:54 +02:00
JC Brand
076ace3fad Parse and save jabberdata formdata from a disco#info result 2018-04-17 16:42:20 +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
JC Brand
db790183d8 Remove unused code 2018-04-17 15:21:38 +02:00
JC Brand
dad8eb2f48 Remove separate file converse-http-file-upload
It contained only `overrides` and some HTTP upload code was in other
modules.

Current thinking concerning overrides:

Usage of `overrides`, while useful in certain cases, should in general
be discouraged, since it's in essence "monkey patching" which makes it
more difficult to know whats executing at runtime and more difficult to
refactor.

Splitting modules up between XEPs is not always that useful. Some XEPs,
like HTTP Upload (and MAM comes to mind) have their functionality spread
out over single and group chats (and pubsub) and might for practical
purposes be considered "core" enough to not try and keep them in
separate modules (which inevitably requires overrides or a fundamentally
rethinking the architecture).

Where splitting code between modules makes a lot of sense is in keeping
Backbone Models and Views separate (so that alternative view libraries
like Vue could be used) and probably in keeping Single chats, MUC,
PubSub and MIX separate.

updates #161
2018-04-17 15:21:30 +02:00
JC Brand
de6ecbf07a Render messages via a new MessageView view
updates #161
2018-04-17 15:21:26 +02:00
JC Brand
264e6830af Remove references to unused parameters
updates #161
2018-04-17 15:21:21 +02:00
JC Brand
6cab7fcc41 Fix failing tests due to refactoring
updates #161
2018-04-17 15:21:16 +02:00
JC Brand
b889637f8d Fix height for chatroom forms 2018-04-17 15:21:16 +02:00
JC Brand
584f293d05 Updated and refactored the work from @worlword
* Use Promises instead of callbacks
* Update to latest (Last Call) version of XEP-0363
* Move non-view specific methods to models instead
* Add more tests

updates #161
2018-04-17 15:21:09 +02:00
JC Brand
9c2a5bd3b8 Merge branch 'worlword-httpFileUpload' into http-file-upload 2018-04-14 07:50:29 +02:00
JC Brand
042c1947ed Add file-upload button 2018-04-14 07:40:07 +02:00
JC Brand
a9d2881888 Fix disco hierarchy
Previously we kept all entities and their items (which are also
instances of _converse.DiscoEntity) in a flat array.

Instead, we should have a tree-like structure where items are stored
on the relevant entity (and recursively on other items).
2018-04-14 07:36:24 +02:00
JC Brand
77a51cc2a6 Initial work on XEP-0363: HTTP File Upload 2018-04-14 07:36:24 +02:00
JC Brand
d278a02778 General cleanup 2018-04-14 07:34:50 +02:00
JC Brand
2487d4d001 Merge branch 'httpFileUpload' of https://github.com/worlword/converse.js into worlword-httpFileUpload 2018-04-14 07:29:19 +02:00
JC Brand
24d55d6cbd Remove reference to inverse.min.js and fix tables 2018-04-13 20:22:58 +02:00
worlword
3b1d27636d problem fixed, that file-upload would not start. Also did some code cleanup 2018-04-13 11:45:43 +02:00
worlword
ca40cf6541 removed EmptyLines in ChatView.js and Change Lineendings to LF in toolbar_fileUpload.html 2018-04-12 09:37:58 +02:00
worlword
bf3e6f2363 some code-changes to align with the coding standard 2018-04-12 09:24:41 +02:00
worlword
7660dbfb31 merge httpFileUpload-Branch with master 2018-04-12 07:43:39 +02:00
Nÿco
2ec0dd752f Contributing 3 characters (#1067)
If "inVerse" is renamed to "fullscreen" then "inVerse" in the fullscreen.html file should be renamed to "Converse"?
2018-04-11 18:47:36 +02:00
JC Brand
3d29567ab6 Revert "Don't show typing from different device CSN messages"
This reverts commit 7303e96cdb.

Instead of dropping the feature entirely, we can check if the CSN is a
carbon message.
2018-04-11 18:46:50 +02:00
worlword
c9a9d01112 used code from 'http-file-upload' branch. Buttons are now added to the toolbars through converse-http-file-upload.js. 2018-04-11 17:09:32 +02:00
worlword
fa80749658 refactoring based on the review from jcbrand 06.Apr.2018 2018-04-11 15:29:41 +02:00
worlword
fa101d05c3 added tests from http-file-upload-Branch 2018-04-11 07:52:53 +02:00
JC Brand
0a757a25e7 Fixes #1059 Remove bottom borders, uppercase titles and tweak padding 2018-04-10 21:23:32 +02:00
JC Brand
7303e96cdb Don't show typing from different device CSN messages
To avoid showing them erroneously would mean keeping track of used
message ids which seems like more work than justified by the feature.

Fixes #1026
2018-04-10 20:56:54 +02:00
JC Brand
3d0435a755 Remove hack specific to the soon to be retired Slack XMPP gateway 2018-04-10 20:56:40 +02:00
JC Brand
eddc359a64 Fix height and padding for minimized chats toggle 2018-04-10 20:55:47 +02:00
JC Brand
9528d81c00 Move various MUC methods onto the Backbone.Model
To more cleanly separate views and models and to make MUC in headless
mode more viable.

Refs #1032
2018-04-10 18:59:02 +02:00
Kim Alvefur
a82f950e3c Put timestamp in a <time> tag for better semantics and easier styling 2018-04-07 21:47:22 +02:00
JC Brand
b0c22d983c Rename inverse.html to fullscreen.html 2018-04-07 08:33:28 +02:00
JC Brand
c3275d91b3 No need for font-awesome. Fix path 2018-04-06 22:28:55 +02:00
JC Brand
9a19d6f446 Use local files to serve the fullscreen version 2018-04-06 22:26:32 +02:00
JC Brand
9a526d4194 Refactoring of the XEP-0085 Chat State Notifications code
* Distinguish between CSN messages and other types of messages
* Properly clear previous notifications
* Better handling of notifications from multiple users (in MUC)
* Rename methods to make clarify intent
2018-04-06 17:02:28 +02:00
JC Brand
e961fb5129 Update changelog and re-add CSS files 2018-04-06 10:01:27 +02:00
worlword
258029457f Removed dist-files from pull request 2018-04-05 08:48:20 +02:00
worlword
7839f20846 fixed sendMessage for so that tests will work again 2018-04-05 08:45:58 +02:00
worlword
76d6b94703 changed testcase for toolbar. now expects 3 buttons instead of 2 2018-04-04 16:41:20 +02:00
worlword
83c0d42ecf changed line-endings in converse-httpFileUpload.js 2018-04-04 16:03:44 +02:00
worlword
530e7f9d3f fixed file-upload-button in MUC and added changes.md entry 2018-04-03 12:29:12 +02:00
worlword
b23712aec3 added httpFileUpload to converse.js 2018-04-03 11:20:57 +02:00
JC Brand
e31373a6ae Fixes #1055 Wrong paths in build.js 2018-03-31 19:51:55 +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
Richard Fairthorne
8504722172 utf-8 info in changes file. 2018-03-31 15:59:09 +02:00
Richard Fairthorne
6bbbe8a393 add utf-8 tag so minified build will load on all platforms 2018-03-31 15:59:09 +02:00
JC Brand
44a2f7807c Hook in ar and eu locales and document. 2018-03-31 15:45:23 +02:00
JC Brand
6381128a5f Test was failing due to file rename 2018-03-30 15:41:09 +02:00
JC Brand
b39429b229 Bump timeouts to try and avoid unnecessary test failures on Travis 2018-03-30 15:25:31 +02:00
Emmanuel Gil Peyrot
b765f31cec Remove older PNG logos 2018-03-30 14:59:32 +02:00
Emmanuel Gil Peyrot
2267c8459d Add rules to generate PNG logos 2018-03-30 14:59:32 +02:00
Emmanuel Gil Peyrot
8efcbeabb0 Fix make help’s unclosed strings 2018-03-30 14:59:32 +02:00
Emmanuel Gil Peyrot
b56e816ad9 Rename the transparent SVG file 2018-03-30 14:59:32 +02:00
Emmanuel Gil Peyrot
8295fd8391 Add a SVG file with a white background 2018-03-30 14:59:32 +02:00
Emmanuel Gil Peyrot
bd6baf8316 Simplify the SVG logo 2018-03-30 14:59:32 +02:00
JC Brand
c9ce440219 Regenerated pot, po and json files 2018-03-30 14:37:05 +02:00
JC Brand
fd4c181fb2 Use https for wikisuite.org
They don’t have an automated redirection, nor HSTS preload, so it is
better to directly point to the HTTPS version of their website.

Thanks to @linkmauve
2018-03-30 14:34:53 +02:00
JC Brand
a3b008111c Merge remote-tracking branch 'remotes/weblate/master' 2018-03-30 14:24:08 +02:00
JC Brand
cd738735b4 Update Plone integration link to collective.converse 2018-03-30 14:23:40 +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
JC Brand
06141b3212 Move methods from MUC view to model
* checkForReservedNick
* parseRoomFeatures
* sendConfiguration

Refs #1032
2018-03-30 14:23:39 +02:00
JC Brand
1cec976b5b Don't build theme.css from sass
The theme is still bootstrap3 based and there isn't enough time
currently to redo on bootstrap4.
2018-03-30 14:23:39 +02:00
JC Brand
2705ec8193 Let the chatarea expand when the occupants sidebar is collapsed. 2018-03-30 14:23:39 +02:00
JC Brand
6a12a96e85 Fixes #1043 Parsing of bookmarks fail with missing nick element. 2018-03-30 14:23:39 +02:00
JC Brand
ce849aaffc Fix failing tests 2018-03-30 14:23:39 +02:00
JC Brand
08ab2e5416 Regenerated dist files 2018-03-30 14:23:34 +02:00
JC Brand
d90416eae8 Add workaround for apparent Prosody bug
Details here: https://prosody.im/issues/1121
2018-03-30 14:22:53 +02:00
JC Brand
faaaa8139a Properly remove ContactView from the overview 2018-03-30 14:22:53 +02:00
JC Brand
93a20ee4ee Make sure removeFromRoster is called only once 2018-03-30 14:22:53 +02:00
JC Brand
b584f2efb3 Add a new config setting nickname
- for subscription requests
- when entering chat rooms
2018-03-30 14:22:53 +02:00
JC Brand
3354083934 Bugfix. Remove view for contact moved to different group
Otherwise the contact stays visible under "Pending Contacts" although
the subscription request has been accepted.
2018-03-30 14:22:53 +02:00
JC Brand
e8718ec3d3 Bugfix. Make sure group gets inserted
when it's created due to a new contact being added.

Was previously in the wrong place.
2018-03-30 14:22:52 +02:00
JC Brand
1029aae215 Write out map when calling create 2018-03-30 14:22:52 +02:00
JC Brand
c8f72b350b Disable vcard plugin is use_vcard is false 2018-03-30 14:22:52 +02:00
JC Brand
535fc7bc8d Use strings for map keys 2018-03-30 14:22:52 +02:00
JC Brand
9799ecce10 Focus inputs inside modals 2018-03-30 14:22:52 +02:00
JC Brand
0173d28f48 Clear "add contact" form after submission. 2018-03-30 14:22:52 +02:00
JC Brand
b9cdf6b71f Make sure relevant roster group gets inserted when a new contact gets added
by calling `sortAndPositionAllItems`.

Particularly relevant to the "Pending Contacts" group.
2018-03-30 14:22:52 +02:00
JC Brand
e1995c6d4e Focus input when showing the add contact modal 2018-03-30 14:22:51 +02:00
JC Brand
4f2b040f22 Allow setting a nickname when adding a roster contact 2018-03-30 14:22:51 +02:00
JC Brand
108bd03e3a Fix padding offset bug for inverse 2018-03-30 14:22:51 +02:00
JC Brand
5e8843e8bd xhr_user_search_url fixes after some real world testing 2018-03-30 14:22:51 +02:00
JC Brand
e21f14f4bd Don't let .converse-chatboxes expand and cover other elements. 2018-03-30 14:22:51 +02:00
JC Brand
95406a149d Re-add xhr_user_search_url and autocomplete when adding contacts 2018-03-30 14:22:51 +02:00
JC Brand
1e927294e0 Fix failing test 2018-03-30 14:22:50 +02:00
JC Brand
b6d0f87129 Remove invalid test 2018-03-30 14:22:50 +02:00
JC Brand
a9d2740b8a Regenerated 2018-03-30 14:22:41 +02:00
JC Brand
7a254a56e0 Pad the toggle and rename to "Chat Contacts"
to make it clearer that this toggle relates to chatting.
2018-03-30 14:16:07 +02:00
JC Brand
1d5b6839b1 Rename inlcuded FontAwesome font to ConverseFontAwesome
to avoid name clashes
2018-03-30 14:16:07 +02:00
JC Brand
ea4337da51 Set column width for chatbox buttons in the sass file 2018-03-30 14:16:07 +02:00
JC Brand
2580cafa76 Bugfix. Fix selector 2018-03-30 14:16:07 +02:00
JC Brand
4d8fdb9990 More changes to emoji toolbar (based on tests in Plone) 2018-03-30 14:16:06 +02:00
JC Brand
245ea22df3 Styling of emoji picker in the overlay view 2018-03-30 14:16:06 +02:00
JC Brand
deff6e071c Remove the clear button. It was pretty useless
because it didn't actually clear anything permanently and upon page
reload the messages were there again.
2018-03-30 14:16:06 +02:00
JC Brand
516352c413 Disable emoji images by default 2018-03-30 14:16:06 +02:00
JC Brand
f260fd87e5 Don't close all chatboxes when reconnecting 2018-03-30 14:16:06 +02:00
JC Brand
3f1602ddf2 Set z-index for .converse-chatboxes 2018-03-30 14:16:06 +02:00
JC Brand
6f67e3c721 Don't wrap the build in an anonymous define.
This cause the error "Mismatched anonymous define" when loading the
bundle in Plone.

The original reason for adding `start.frag` was to wrap the bundle in a
closure to not pollute the global namespace (e.g. overriding global
`define` and `require` with Almond`s versions) and secondarily to allow
people to load the bundle via require.js.

The second usecase should now probably be done via a shim in the
require.js config.
2018-03-30 14:16:06 +02:00
JC Brand
8fda25c997 Honor the allow_logout setting 2018-03-30 14:16:05 +02:00
JC Brand
11788bb7a1 Bundle font-awesome in the css 2018-03-30 14:16:05 +02:00
JC Brand
03bda96e4d Tweak line-height for requesting contacts 2018-03-30 14:16:05 +02:00
JC Brand
69172af4d0 Make sure to use transpiled modules 2018-03-30 14:16:05 +02:00
JC Brand
3f729aac1b Doesn't seem necessary to build fonts.css 2018-03-30 14:16:05 +02:00
JC Brand
ba1d49383f No rule to make mobile.min.css 2018-03-30 14:16:04 +02:00
JC Brand
81fb2f443d Bugfix. Make sure roster is re-inserted after reconnection 2018-03-30 14:16:04 +02:00
JC Brand
f90ca8f7f4 Remove unused class 2018-03-30 14:16:04 +02:00
aitzol berasategi
92b1c0316c Translated using Weblate (Basque)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-30 12:53:35 +02:00
Sarp Doruk ASLAN
47ba33f57f Translated using Weblate (Turkish)
Currently translated at 1.7% (5 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2018-03-30 10:45:00 +02:00
musthova
6766117940 Translated using Weblate (Indonesian)
Currently translated at 30.6% (89 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2018-03-30 06:37:17 +02:00
anonymous
341f9c263c Translated using Weblate (Indonesian)
Currently translated at 30.6% (89 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2018-03-30 06:37:17 +02:00
musthova
8b344b2f7b Translated using Weblate (Indonesian)
Currently translated at 30.3% (88 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2018-03-29 05:36:13 +02:00
musthova
915e66f50e Translated using Weblate (Indonesian)
Currently translated at 30.0% (87 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2018-03-29 05:34:50 +02:00
aitzol berasategi
c42d1185a1 Translated using Weblate (Basque)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-29 00:32:00 +02:00
aitzol berasategi
139c99fa55 Translated using Weblate (Basque)
Currently translated at 98.9% (287 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-29 00:24:46 +02:00
aitzol berasategi
51e42bbc27 Translated using Weblate (Basque)
Currently translated at 87.9% (255 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 23:49:23 +02:00
aitzol berasategi
179a7d25e4 Translated using Weblate (Basque)
Currently translated at 71.3% (207 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 20:41:59 +02:00
aitzol berasategi
b6b9951fe3 Translated using Weblate (Basque)
Currently translated at 48.9% (142 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 20:22:00 +02:00
aitzol berasategi
423d50e9e9 Translated using Weblate (Basque)
Currently translated at 44.8% (130 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 20:15:39 +02:00
aitzol berasategi
18750e613e Translated using Weblate (Basque)
Currently translated at 41.3% (120 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 19:16:18 +02:00
aitzol berasategi
fae4b26b0f Translated using Weblate (Basque)
Currently translated at 38.6% (112 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 19:09:49 +02:00
aitzol berasategi
4a6813ad55 Translated using Weblate (Basque)
Currently translated at 38.2% (111 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 19:06:32 +02:00
aitzol berasategi
0763c063de Translated using Weblate (Basque)
Currently translated at 34.4% (100 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 18:55:35 +02:00
aitzol berasategi
1a85363f70 Translated using Weblate (Basque)
Currently translated at 13.4% (39 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 15:08:13 +02:00
aitzol berasategi
ec45e528fb Translated using Weblate (Basque)
Currently translated at 1.3% (4 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/eu/
2018-03-28 14:48:57 +02:00
aitzol berasategi
0fabb6a0f4 Added translation using Weblate (Basque) 2018-03-28 14:42:18 +02:00
Seve
b4f881f8fe Translated using Weblate (Catalan)
Currently translated at 55.8% (162 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ca/
2018-03-26 20:34:59 +02:00
Weblate push user
8b4553b78f Update from Weblate. (#1041)
* Translated using Weblate (German)

Currently translated at 94.0% (268 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 35.7% (102 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 60.3% (172 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

* Translated using Weblate (French)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 90.5% (258 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Ukrainian)

Currently translated at 60.3% (172 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/

* Translated using Weblate (Turkish)

Currently translated at 0.3% (1 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 30.3% (88 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 94.1% (273 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

* Added translation using Weblate (Bulgarian)

* Translated using Weblate (Bulgarian)

Currently translated at 40.3% (117 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Added translation using Weblate (Arabic)

* Translated using Weblate (Arabic)

Currently translated at 71.3% (207 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/

* Translated using Weblate (Spanish)

Currently translated at 95.1% (276 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-03-18 03:50:26 +00:00
Weblate
22a607306a Merge remote-tracking branch 'origin/master' 2018-03-18 04:46:56 +01:00
JC Brand
ca13c3286e Merge branch 'master' of github.com:conversejs/converse.js into bootstrap4 2018-03-18 03:42:49 +00:00
JC Brand
2977643bf7 Fix failing tests 2018-03-18 03:35:34 +00:00
JC Brand
877acd16d2 Update eslint 2018-03-17 18:54:19 +00:00
JC Brand
11f02f78fe Fix more failing tests 2018-03-17 18:54:19 +00:00
JC Brand
aa2f0d8d2d Tweak unread messages indicator 2018-03-17 17:07:43 +00:00
JC Brand
cb0b99ac37 Bugfix. Show message author in spoiler messages 2018-03-17 14:39:30 +00:00
JC Brand
f0ae8c44ff Show caret for room, bookmark and group toggles 2018-03-17 11:42:17 +00:00
JC Brand
c986634d4f Update repo paths 2018-03-16 23:40:03 +00:00
JC Brand
850c6aa2bd Fix more failing tests 2018-03-16 23:37:52 +00:00
JC Brand
56e28070b2 Fix failing test 2018-03-16 19:48:31 +00:00
JC Brand
14de16f728 Tweak .button-on css 2018-03-16 19:41:00 +00:00
JC Brand
7b8a244163 Fix failing bookmarks tests 2018-03-16 11:49:39 +00:00
JC Brand
39e427bca9 There's no longer a dropdown to set the status 2018-03-16 11:49:31 +00:00
ButterflyOfFire
8ae3fff356 Translated using Weblate (Arabic)
Currently translated at 86.2% (250 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-03-16 12:34:22 +01:00
JC Brand
ae3942bc75 Update docs.
- Mention CSS file needed for embedded case.
- Update some outdated text
2018-03-15 20:22:32 +00:00
JC Brand
8ca9da2ec6 Mention 3 more integrations 2018-03-15 20:07:43 +00:00
JC Brand
b0176e62f8 Mention where the embedded MUC gets embedded into 2018-03-15 19:52:11 +00:00
JC Brand
2f46bb8ce7 Fix failing tests 2018-03-14 23:10:31 +00:00
JC Brand
1565decfc0 Add identifiable class name 2018-03-14 18:25:33 +00:00
JC Brand
c219d37083 Bugfix. Handle attrs not being defined 2018-03-14 18:25:19 +00:00
JC Brand
2ff18c2cfb Fix emoji test (now that bootstrap dropdown is used) 2018-03-14 17:32:01 +00:00
Weblate
ca653cb8c1 Merge remote-tracking branch 'origin/master' 2018-03-14 18:30:53 +01:00
Emmanuel
e581f9cf6a Translated using Weblate (Spanish)
Currently translated at 95.1% (276 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-03-14 18:30:52 +01:00
ButterflyOfFire
4ef9254df7 Translated using Weblate (Arabic)
Currently translated at 71.3% (207 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2018-03-14 18:30:41 +01:00
Paulo Ricardo de Souza
a11f1c61f7 Fix typo, 'Mostar Salas' to 'Mostrar Salas' (#1036) 2018-03-14 18:30:24 +01:00
JC Brand
2045741fbe Add api.chatviews.get method 2018-03-14 13:27:36 +00:00
JC Brand
044907e4fa Looks like focus parameter was never used. 2018-03-14 13:27:36 +00:00
JC Brand
401513e695 Set fullname from roster contact 2018-03-14 13:02:08 +00:00
JC Brand
05e7cc8529 Let api.contacts.get return the RosterContact model 2018-03-14 13:01:29 +00:00
JC Brand
daff088c97 Don't set fullname in getChatBox, it's too generic
Instead do it in `_api.chats.create` which is specifically for private chats.
2018-03-14 12:06:38 +00:00
JC Brand
c621732f2f Bugfix. Get JID from presence 2018-03-14 11:54:22 +00:00
JC Brand
03d7f07a4c Bugfix. Chat wasn't being opened when receiving a message. 2018-03-13 19:11:49 +01:00
JC Brand
ca141401a0 Fix failing tests 2018-03-13 13:42:00 +01:00
ButterflyOfFire
8dfd987254 Added translation using Weblate (Arabic) 2018-03-12 17:04:57 +01:00
JC Brand
7f2143edb5 Fix spinner 2018-03-12 14:52:11 +01:00
JC Brand
c958a1822c Remove unused code (due to bootstrap dropdowns) 2018-03-11 12:12:15 +01:00
JC Brand
9c80ab5d43 Use bootstrap button markup 2018-03-11 12:07:36 +01:00
JC Brand
fa30f936b6 Use sass for the theme css 2018-03-11 12:04:27 +01:00
JC Brand
bfc3081874 Update css for mobile view of overlay mode. 2018-03-11 12:04:27 +01:00
Mako N
1caa16ee32 Translated using Weblate (Japanese)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/
2018-03-10 09:02:26 +01:00
JC Brand
d7de739001 Add close button for controlbox in overlay view mode 2018-03-09 23:53:05 +01:00
JC Brand
a1145140c3 Various small tweaks
- Style room invite
- Remove old border-radius
- Show close icon for minimized chats
2018-03-09 23:27:12 +01:00
JC Brand
591e794f69 chat head: Show minimize icon and hide for now the vcard icon 2018-03-09 23:20:14 +01:00
JC Brand
c10a2596e3 Eagerly render emoji picker and avoid overflow in overlay view 2018-03-09 23:16:53 +01:00
JC Brand
986921c630 Small fixes for minimized chats toggle 2018-03-09 23:14:08 +01:00
JC Brand
392a7e8ab3 Don't use the bootstrap responsive grid for chats in overlay mode 2018-03-09 23:06:41 +01:00
JC Brand
849d6b2612 Update the minimized chats widget 2018-03-09 18:14:18 +01:00
Тони
d77c4c4cce Translated using Weblate (Bulgarian)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2018-03-09 17:34:51 +01:00
JC Brand
9c0b7c71cd Render OTR menu as a bootstrap dropdown 2018-03-09 17:30:42 +01:00
JC Brand
9825d6e777 Use bootstrap dropdown to render the emoji picker 2018-03-09 14:51:24 +01:00
JC Brand
8bddd0d7f4 Some work on showing emoji in a dropdown 2018-03-09 11:46:50 +01:00
JC Brand
40f4555419 Only show controlbox head when logging in, in overlayed view mode 2018-03-09 11:46:23 +01:00
Translator
4407636145 Translated using Weblate (Russian)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2018-03-09 11:29:49 +01:00
JC Brand
251c023b15 Remove the ability to resize horizontally 2018-03-09 11:02:15 +01:00
JC Brand
914a55707d Replace col- classes with Sass mixins 2018-03-09 10:12:05 +01:00
JC Brand
db44a4f44d Update the login form for the overlayed view mode 2018-03-07 21:40:55 +01:00
JC Brand
d72463c939 Make more semantic by putting login/register column info in css 2018-03-07 18:06:02 +01:00
JC Brand
b3f2fafeea Various smaller fixes and improvements 2018-03-07 14:36:19 +01:00
JC Brand
21e1b2694f Bugfix from master. 2018-03-07 11:06:11 +01:00
JC Brand
2db4550b13 Update chat events markup. 2018-03-07 11:02:12 +01:00
JC Brand
0d8d99b850 Bugfix. vcard doesn't necessarily have jid 2018-03-07 10:31:33 +01:00
JC Brand
b154d6d534 Render chat head, content and message form as flex items. 2018-03-07 10:10:22 +01:00
JC Brand
e3350ab79f Update chat head markup 2018-03-06 19:03:32 +01:00
JC Brand
0d3cdf12c8 Bugfix. Don't query on non-existent class 2018-03-06 19:03:23 +01:00
JC Brand
d04a7df295 Update room features markup to use font awesome 2018-03-06 18:33:59 +01:00
JC Brand
181b1836b0 Update and further style toolbars 2018-03-06 15:26:05 +01:00
JC Brand
af5a9fbfc4 Merge branch 'master' into bootstrap4 2018-03-06 12:01:02 +01:00
Weblate
1c0bc95895 Merge remote-tracking branch 'origin/master' 2018-03-06 11:41:12 +01:00
JC Brand
d36a7b51a3 Update .travis.yml 2018-03-06 11:41:05 +01:00
JC Brand
439e2a25ca Merge branch 'master' into bootstrap4 2018-03-06 11:40:10 +01:00
Weblate
3cf8356d98 Merge remote-tracking branch 'origin/master' 2018-03-06 11:32:27 +01:00
JC Brand
25b345f677 Update moment 2018-03-06 11:32:18 +01:00
JC Brand
37a182d4c0 Clean up and condense Makefile 2018-03-06 11:26:47 +01:00
Тони
925907e931 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2018-03-06 03:53:19 +01:00
JC Brand
95645413c4 Darken modal overlay 2018-03-05 18:43:43 +01:00
JC Brand
2f2e687a18 Use flex column for occupant sidebar 2018-03-05 18:38:00 +01:00
JC Brand
6bdf204be4 Show occupants sidebar again 2018-03-05 16:58:31 +01:00
JC Brand
076265f108 Listen for click in the bookmarks view 2018-03-05 16:51:51 +01:00
JC Brand
d4d3d4c838 Merge branch 'split-muc' into bootstrap4 2018-03-05 16:51:33 +01:00
JC Brand
0013ee5506 Split MUC views into separate file/plugin 2018-03-05 16:32:13 +01:00
Weblate
a8ec78a532 Merge remote-tracking branch 'origin/master' 2018-03-05 15:12:42 +01:00
JC Brand
de66a7ddfa Cleanup post release 2018-03-05 15:12:29 +01:00
Weblate
fee500b359 Merge remote-tracking branch 'origin/master' 2018-03-05 14:53:11 +01:00
JC Brand
8211ed8f70 Release 3.3.4 2018-03-05 14:43:53 +01:00
Weblate
2657261484 Merge remote-tracking branch 'origin/master' 2018-03-05 14:30:45 +01:00
JC Brand
1a2c1441a1 Updates #1021 Fix TypeError: Cannot read property 'firstChild' of null 2018-03-05 14:29:49 +01:00
Weblate
4828744cf3 Merge remote-tracking branch 'origin/master' 2018-03-05 14:20:41 +01:00
JC Brand
983c94a619 converse-fullscreen not relevant to mobile view mode 2018-03-05 14:20:32 +01:00
Weblate
073c698752 Merge remote-tracking branch 'origin/master' 2018-03-04 07:29:46 +01:00
JC Brand
dcc6244fc2 Don't overwrite default avatar with undefined 2018-03-04 07:29:24 +01:00
Weblate
b7f6817005 Merge remote-tracking branch 'origin/master' 2018-03-04 06:44:49 +01:00
Тони
c12184d816 Translated using Weblate (Bulgarian)
Currently translated at 82.7% (240 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2018-03-04 06:44:47 +01:00
JC Brand
759603eea5 Hook in bg and tr locales 2018-03-04 06:11:18 +01:00
Weblate
ee95634051 Merge remote-tracking branch 'origin/master' 2018-03-03 11:46:18 +01:00
Тони
130d4aeaa4 Translated using Weblate (Bulgarian)
Currently translated at 80.0% (232 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2018-03-03 11:46:17 +01:00
JC Brand
3c182b5a26 Server field in Rooms tab showed MUC supporting clients 2018-03-03 11:45:57 +01:00
Weblate
fb165a992c Merge remote-tracking branch 'origin/master' 2018-03-02 19:35:32 +01:00
JC Brand
c4c154cfa1 Fixes #1022 Include stored status message in presences. 2018-03-02 19:35:06 +01:00
Weblate
afe8f1d983 Merge remote-tracking branch 'origin/master' 2018-03-02 16:30:39 +01:00
JC Brand
38dfc7b65b Hook in turkish as locale, update changelog. 2018-03-02 16:30:00 +01:00
Weblate
9d7c88654d Merge remote-tracking branch 'origin/master' 2018-03-02 16:22:40 +01:00
Weblate push user
ef72752254 Update from Weblate. (#1030) 2018-03-02 16:22:36 +01:00
Weblate
b2aad6b273 Merge remote-tracking branch 'origin/master' 2018-03-02 15:56:30 +01:00
JC Brand
1a518f3df3
Merge pull request #1029 from ChaosKid42/send_emojis_as_unicode_muc
send emojis as unicode also in MUCs
2018-03-02 15:56:24 +01:00
JC Brand
ca0bd1c50e
Merge branch 'master' into send_emojis_as_unicode_muc 2018-03-02 15:55:59 +01:00
Weblate
5591351f30 Merge remote-tracking branch 'origin/master' 2018-03-02 15:55:00 +01:00
Тони
a1a34d937a Translated using Weblate (Bulgarian)
Currently translated at 50.0% (145 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2018-03-02 15:54:59 +01:00
JC Brand
0a28e7aae4 Fixes #1027 Backwards compatibility fix for IE11 2018-03-02 15:54:28 +01:00
Christoph Scholz
2195e8de7e send emojis as unicode also in MUCs 2018-03-02 15:45:36 +01:00
Weblate
c8c74b172e Merge remote-tracking branch 'origin/master' 2018-03-02 12:36:35 +01:00
JC Brand
34ac7e99ab Fixes #1024
Use sizzle, otherwise we sometimes get null returned.
2018-03-02 12:36:08 +01:00
Weblate
7c42f9daf8 Merge remote-tracking branch 'origin/master' 2018-03-02 12:12:19 +01:00
Тони
e049cbb155 Translated using Weblate (Bulgarian)
Currently translated at 40.3% (117 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/bg/
2018-03-02 12:12:18 +01:00
JC Brand
860befcab9 Fixes #1025
Rename icon to avoid confusion. Add back the OTR status text.
2018-03-02 12:11:47 +01:00
JC Brand
e630339a69 Update spec to test sent out stanza as well 2018-03-02 11:59:25 +01:00
Тони
980a981091 Added translation using Weblate (Bulgarian) 2018-03-01 03:37:06 +01:00
anonymous
ba353f4d28 Translated using Weblate (German)
Currently translated at 98.9% (287 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-02-28 17:37:04 +01:00
Allan Nordhøy
df9d364664 Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.1% (273 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2018-02-27 20:39:26 +01:00
Lyn
f73032c342 Translated using Weblate (German)
Currently translated at 98.6% (286 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-02-27 16:58:13 +01:00
JC Brand
877b5ca082 Tweak roster contacts spacing 2018-02-25 17:54:55 +01:00
JC Brand
c655781bc9 More login form improvements and also update registration form 2018-02-24 19:59:25 +01:00
JC Brand
e1d1bac790 Update the login form with markup from bootstrap mockup 2018-02-24 18:43:32 +01:00
JC Brand
3b22f918fa More work on the user profile modal 2018-02-23 23:10:46 +01:00
JC Brand
0bd96bbcfb Bugfix. Don't set xmppstatus' jid to null 2018-02-23 22:19:24 +01:00
JC Brand
5278e4fe79 Add outline for a user profile modal 2018-02-23 16:33:10 +01:00
JC Brand
66e6ae2eed Increase fade transition, to work around timing bug
in bootstrap.native.

https://github.com/thednp/bootstrap.native/issues/192
2018-02-23 16:33:10 +01:00
JC Brand
e344bf769a New modal for adding contacts.
Remove the xhr_user_search and xhr_user_search_url options
Lazily create modals
2018-02-23 16:33:09 +01:00
JC Brand
b3409fd01b Move common modal view code into a base class 2018-02-22 18:41:01 +01:00
JC Brand
7e6cc86c94 CSS tweaks 2018-02-22 17:47:18 +01:00
JC Brand
249ee2b5ca Bugfix. Method wasn't called 2018-02-22 17:47:08 +01:00
JC Brand
4e508cfe88 Add a modal to list rooms 2018-02-22 17:40:01 +01:00
JC Brand
e143c88475 More work on the "add chatroom" modal. Working now. 2018-02-22 15:58:23 +01:00
JC Brand
224e1eee29 Merge branch 'master' into bootstrap4 2018-02-22 14:39:20 +01:00
Weblate
d99d718836 Merge remote-tracking branch 'origin/master' 2018-02-22 13:56:45 +01:00
JC Brand
1e5b6243be Don't show bookmark toggles when PEP bookmarking not supported by the XMPP server 2018-02-22 13:55:17 +01:00
JC Brand
5e320d031d Don't remove the minimized chats element upon logout 2018-02-22 13:35:05 +01:00
JC Brand
33cfe07331 Recreate promises upon logout. 2018-02-22 13:35:05 +01:00
JC Brand
68b839d0d1 Add onMultipleEvents utility method.
And use it instead of listening to multiple Promises.

Promises get resolved once, which means using them doesn't work for
cases where the user logs out, and then in again (because the handlers
don't get called upon 2nd login).
2018-02-22 13:35:05 +01:00
JC Brand
a5513229de Work on showing auto_joined chatrooms 2018-02-22 11:49:59 +01:00
JC Brand
1ce46a84ae Make sure that statusInitialized is always called
regardless of wether it's a connection or reconnection event.

We can then only listen for `statusInitialized` to handle both cases.
2018-02-22 11:20:26 +01:00
JC Brand
5968eec783 Set backbone.nativeview as dependency for backbone.vdomview 2018-02-22 10:49:22 +01:00
JC Brand
47aad31899 Tricky refactoring.
Removed `_converse.chatboxviews.showChat` and trying to simplify how
chats are created and when they're shown.

Prompted by the work to split the MUC views into a separate plugin
2018-02-21 23:47:02 +01:00
JC Brand
d1d43edf52 Move MUC views into a new plugin 2018-02-21 22:40:30 +01:00
JC Brand
d9709af7cf Initial work on the new chatroom modal 2018-02-21 16:59:16 +01:00
JC Brand
b5812e257d Work on the status modal 2018-02-21 16:17:57 +01:00
JC Brand
ec2bda338b Refactor XMPPStatus.
- Remove undocumented and unused event `update-status-ui`
- Remove xhr_custom_status and xhr_custom_status_url options
- Use default value
- Remove unnecessary getter and setter
2018-02-21 14:41:54 +01:00
JC Brand
ad01ab3041 Add status modal 2018-02-21 14:03:07 +01:00
JC Brand
18dd3f0ca2 Merge branch 'master' into bootstrap4 2018-02-21 11:03:12 +01:00
Weblate
2a96a8fd56 Merge remote-tracking branch 'origin/master' 2018-02-21 10:42:21 +01:00
JC Brand
a7fa06c12c Remove ancient screencasts. Add chat badge. 2018-02-21 10:41:57 +01:00
Weblate
d7cfaec244 Merge remote-tracking branch 'origin/master' 2018-02-21 10:29:26 +01:00
JC Brand
9ca04a42ef Update licenses page 2018-02-21 10:29:11 +01:00
Weblate
c2034c20da Merge remote-tracking branch 'origin/master' 2018-02-21 10:09:08 +01:00
gnunicode
23c5312642 LibreJS support (#1001)
* Update jslicenses-inverse.html

* Update inverse.html

* Update index.html

* Update mobile.html

* Update anonymous.html

* Update CHANGES.md
2018-02-21 10:09:04 +01:00
JC Brand
1470b86896 Fix logout 2018-02-20 16:51:59 +01:00
JC Brand
21556832f8 Update chatbox headers and buttons 2018-02-20 16:48:01 +01:00
JC Brand
33595e9e01 Update af translations 2018-02-20 16:37:36 +01:00
JC Brand
83e9395868 Highlight info icon when room info is shown 2018-02-20 16:00:23 +01:00
JC Brand
2b935fa57b Show subdued grey for icons (and darker when hovering) 2018-02-20 15:57:01 +01:00
JC Brand
6b89a6c106 Only show img tag if we have image data 2018-02-20 15:56:58 +01:00
JC Brand
5e6860754f Update chatbox head with new markup 2018-02-19 22:36:37 +01:00
JC Brand
d8f80bc0e6 Merge branch 'master' into bootstrap4 2018-02-19 22:13:01 +01:00
JC Brand
c4367e7a0a Show own avatar 2018-02-19 22:12:50 +01:00
Weblate
ca9ed3785b Merge remote-tracking branch 'origin/master' 2018-02-19 21:33:48 +01:00
JC Brand
745b821848 Bugfix. Avatars weren't being shown 2018-02-19 21:33:27 +01:00
JC Brand
c12e361ebe Remove unused method 2018-02-19 21:03:16 +01:00
JC Brand
08c016da0e Get ancestor element via selector 2018-02-19 20:54:58 +01:00
JC Brand
658c27730c Fix showing of room info in rooms list 2018-02-19 18:11:02 +01:00
JC Brand
6cdaa47493 Fix roster filter functionality 2018-02-19 17:37:47 +01:00
JC Brand
493ecb2e4f Update markup for the roster filter 2018-02-19 16:08:54 +01:00
JC Brand
2fa8304945 Improve and update roster markup 2018-02-19 15:01:02 +01:00
JC Brand
e6fdcc610f Merge branch 'master' into bootstrap4 2018-02-19 14:28:46 +01:00
Weblate
387df5b85d Merge remote-tracking branch 'origin/master' 2018-02-19 11:08:42 +01:00
JC Brand
fa6569352c Don't use _.template for variable interpolation
It depends on `eval` which is unsafe.
2018-02-19 11:08:32 +01:00
JC Brand
4d34952eae Consider elements with class hidden as invisible 2018-02-19 10:35:42 +01:00
JC Brand
48c806c9d0 Shorten utils to u 2018-02-19 10:34:52 +01:00
Emmanuel Gil Peyrot
fadad9bbdb Translated using Weblate (French)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-02-17 18:06:47 +01:00
Iru Cai (vimacs)
6a3f326b0d Translated using Weblate (Chinese (Simplified))
Currently translated at 30.3% (88 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2018-02-16 15:35:06 +01:00
JC Brand
650ed22da7 Update requesting contacts and tweak bookmark icons 2018-02-16 15:24:17 +01:00
JC Brand
c4a99c7f29 Render rooms and bookmarks lists according to mockups 2018-02-16 15:08:16 +01:00
JC Brand
ede21e7c32 Remove controlbox tabs and show rooms and contacts panels together 2018-02-16 14:16:55 +01:00
monolifed
cf8df136bb Translated using Weblate (Turkish)
Currently translated at 0.3% (1 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2018-02-15 19:40:00 +01:00
JC Brand
b6501bcf09 Render .row inside #conversejs element 2018-02-15 15:50:37 +01:00
JC Brand
5401998558 Don't put #chatrooms inside #converse-roster and remove users id 2018-02-15 15:49:16 +01:00
JC Brand
1405884c59 Reset user agent styles. Fix login form margin and height 2018-02-15 14:38:10 +01:00
JC Brand
617019af0e Merge remote-tracking branch 'origin' into bootstrap4 2018-02-15 14:15:04 +01:00
Nathan Follens
b4826a56f7 Translated using Weblate (Dutch)
Currently translated at 100.0% (290 of 290 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/
2018-02-14 18:41:17 +01:00
Weblate
4dd9054354 Merge remote-tracking branch 'origin/master' 2018-02-14 16:53:49 +01:00
JC Brand
db85cb7f1d Release 3.3.3 2018-02-14 16:53:07 +01:00
JC Brand
d8f2a1eb57 In embedded mode, allow fetching of rooms from sessionStorage
Otherwise we lose the MUC session upon reload.
2018-02-14 15:50:47 +01:00
Weblate
3e4b59ccce Merge remote-tracking branch 'origin/master' 2018-02-14 14:01:54 +01:00
JC Brand
732c923324 Bugfix. Don't show hidden MUCs when new message received. 2018-02-14 13:44:17 +01:00
Weblate
f250c9a9b8 Merge remote-tracking branch 'origin/master' 2018-02-14 12:30:47 +01:00
JC Brand
fc560bf8ac Use this.content instead of ev.target, which is null
when using converse.js inside a webcomponent
2018-02-14 12:30:30 +01:00
Weblate
7becc1588c Merge remote-tracking branch 'origin/master' 2018-02-14 12:20:26 +01:00
Weblate push user
4a21d09a24 Update from Weblate. (#1019)
* Translated using Weblate (German)

Currently translated at 94.0% (268 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 35.7% (102 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/

* Translated using Weblate (German)

Currently translated at 98.9% (282 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Russian)

Currently translated at 60.3% (172 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

* Translated using Weblate (French)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Russian)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 90.5% (258 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 91.2% (260 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Russian)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/

* Translated using Weblate (Ukrainian)

Currently translated at 60.3% (172 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2018-02-14 12:20:21 +01:00
Ömer ÇAKIR
2dd9e673f5 Added translation using Weblate (Turkish) 2018-02-14 12:12:21 +01:00
Weblate
eb54b8dafd Merge remote-tracking branch 'origin/master' 2018-02-14 02:46:20 +01:00
JC Brand
9edcea1181 Include converse-muc-embedded in main build 2018-02-14 02:40:56 +01:00
Weblate
4c8ec6aa2f Merge remote-tracking branch 'origin/master' 2018-02-14 02:16:04 +01:00
JC Brand
08a76d8a6b Merge branch 'webcomponent-embedded' 2018-02-14 02:15:49 +01:00
JC Brand
2a2e4688a7 Update version number for CDN files in quickstart 2018-02-14 02:05:53 +01:00
JC Brand
c39c5df2db Merge branch 'master' of github.com:jcbrand/converse.js 2018-02-14 01:51:38 +01:00
Weblate
e361081d6f Merge remote-tracking branch 'origin/master' 2018-02-14 00:43:37 +01:00
linkmauve
af6867e638 improve @title on roster item (#1013) 2018-02-14 00:43:33 +01:00
Weblate
4e87fa104f Merge remote-tracking branch 'origin/master' 2018-02-14 00:40:00 +01:00
Senya
2b8f6c4363 Add backbone.overview as a dependency for chatboxes (#1016) 2018-02-14 00:39:56 +01:00
Weblate
1546851096 Merge remote-tracking branch 'origin/master' 2018-02-14 00:39:18 +01:00
Senya
6d3114b5d8 PR template: Changes.md is not in the docs directory (#1018) 2018-02-14 00:39:14 +01:00
Максим Якимчук
fe243408f6 Translated using Weblate (Ukrainian)
Currently translated at 60.3% (172 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2018-02-13 20:39:46 +01:00
Alexandre Thadeu Clemente Bass
e7d17a8a7e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-02-10 19:39:10 +01:00
JC Brand
4e599600e4 Drop the .js 2018-02-10 19:06:40 +01:00
Translator
8ca7ef6c18 Translated using Weblate (Russian)
Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2018-02-10 16:39:31 +01:00
Seve
e47bc5eff3 Get files from CDN (#1015) 2018-02-10 16:30:08 +01:00
Alexandre Thadeu Clemente Bass
e395ea865b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-02-09 19:31:55 +01:00
anonymous
4888472b39 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.2% (260 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-02-09 19:24:57 +01:00
Alexandre Thadeu Clemente Bass
d4ac6f0fd2 Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.5% (258 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2018-02-09 19:24:31 +01:00
JC Brand
e8dd75a126 Add dist/converse-muc-embedded.js 2018-02-09 17:22:28 +01:00
JC Brand
2d746d2a1e Make converse-muc-embedded a core plugin.
1. Add a new `view_mode` value: `embedded`.

   This value is used to determine wether the `converse-muc-embedded`
   plugin is active or not.

2. Remove the need for the #converse-embedded-chat element.

   Instead we reuse the #conversejs element and embed inside that.

3. Removed the need to manually blacklist core plugins

   This is now done automatically if `view_mode` is set to `embedded`.
   Perhaps eventually we don't blacklist at all and instead use the
   `enable` plugin method. For some that probably won't work, like
   `converse-chatview`, which we still need to be active.
2018-02-09 16:37:55 +01:00
JC Brand
56aa45b1d3 Set auto_reconnect to true by default. 2018-02-09 16:37:55 +01:00
JC Brand
ba9c3b01ed Set converse on the window and trigger an event after loaded.
Setting it on `window` is necessary to have it available inside a
webcomponent.

Triggering an event is necessary so that we don't call
`converse.initialize` too early.
2018-02-09 16:37:55 +01:00
JC Brand
03371c1815 Add css file with only fonts.
Needed when converse.js is included inside a webcomponent.
The fonts.css file is then copied over to the host DOM.

Necessary due to this bug:
  https://bugs.chromium.org/p/chromium/issues/detail?id=336876
2018-02-09 16:37:55 +01:00
Translator
588d30b317 Translated using Weblate (Russian)
Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2018-02-09 16:21:19 +01:00
JC Brand
5517e3554c Add a new configuration setting: root 2018-02-09 16:08:39 +01:00
JC Brand
50f03c90e1 Write "chat room" as "chatroom" and "chat box" as chatbox"
We have bedroom, bathroom, classroom and boardroom as one word.
Living room is spelled separately because of the present participle (+ing) in living.

With "chatbox" it's a bit more subjective.
We have chatbot as one word (but litter box as two).
For consistency with chatroom, I'll go with one word.
2018-02-09 12:13:11 +01:00
Weblate
828258fb6d Merge remote-tracking branch 'origin/master' 2018-02-09 11:41:47 +01:00
JC Brand
055a854891 We no longer have a separate mobile build 2018-02-09 11:41:29 +01:00
Weblate
5bbe67fc36 Merge remote-tracking branch 'origin/master' 2018-02-08 17:48:26 +01:00
JC Brand
03b9447f1d Asynchronously render spoiler button only if all clients support it 2018-02-08 17:48:15 +01:00
JC Brand
680f30412a Bugfix. Object values for defaults passed-by-reference 2018-02-08 17:06:36 +01:00
JC Brand
055c4d2104 New config setting allow_public_bookmarks 2018-02-08 15:39:27 +01:00
Weblate
75cf81db2d Merge remote-tracking branch 'origin/master' 2018-02-08 09:51:22 +01:00
JC Brand
4d77d0c0b3 Update changelog 2018-02-08 09:51:16 +01:00
Weblate
28fbf90c8e Merge remote-tracking branch 'origin/master' 2018-02-08 09:49:31 +01:00
JC Brand
ba09996998 Don't allow PEP bookmarks if #publish-options is not advertised 2018-02-08 09:49:05 +01:00
Weblate
9d031d6fce Merge remote-tracking branch 'origin/master' 2018-02-07 22:00:10 +01:00
JC Brand
fbef370b65 Listen for new room bookmarks pushed from the user's PEP service 2018-02-07 21:59:45 +01:00
Emmanuel Gil Peyrot
6269729ab8 Translated using Weblate (French)
Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-02-07 21:36:23 +01:00
JC Brand
5f3761dc7f Only initialize bookmarks and show icon if PEP is supported
which we check by checking if the PEP identity is provided.
https://xmpp.org/extensions/xep-0163.html#support
2018-02-07 21:05:38 +01:00
JC Brand
bbe47b465d Looks like this ain't necessary
Also, the condition was the opposite of what it should have been.
2018-02-07 17:26:09 +01:00
JC Brand
1759cc1672 Advertise support for spoilers 2018-02-07 17:25:49 +01:00
JC Brand
d4ceb6d340 Add the ability to query for a disco identity 2018-02-07 17:24:25 +01:00
JC Brand
2f19fd983f Fix mastodon logo for firefox 2018-02-07 15:51:14 +01:00
JC Brand
3a743dd974 Update docs concerning XEP-0382 2018-02-07 15:32:32 +01:00
JC Brand
4732f315ed Use "hidden message" instead of spoiler 2018-02-07 14:39:45 +01:00
JC Brand
f267ee5ae0 Looks like new messages can have an archive_id 2018-02-07 14:28:35 +01:00
JC Brand
4742e66b69 Fix linting errors and failing tests 2018-02-07 14:21:46 +01:00
JC Brand
e7aed050b4 Move test pages into the tests folder 2018-02-07 13:26:39 +01:00
JC Brand
9c3e9233e4 Test that the spoiler button is hidden when OTR is active 2018-02-07 13:16:34 +01:00
JC Brand
0031938b97 Make the toolbar a little lighter 2018-02-07 13:16:34 +01:00
JC Brand
aab957b0b8 Show only icon for OTR button 2018-02-07 11:16:24 +01:00
JC Brand
86a962bee2 Don't render message form via separate Backbone.View
Appeared to only complicate things...
2018-02-07 11:16:24 +01:00
JC Brand
cc4d4a6f40 Properly configure visibility of spoiler toolbar button 2018-02-07 10:32:21 +01:00
JC Brand
e34fa5d635 Style the spoiler 2018-02-07 10:30:06 +01:00
JC Brand
20706cb617 Expand the spoiler tests 2018-02-06 21:21:21 +01:00
JC Brand
f6db2a9167 Use template to render the spoiler message. 2018-02-06 18:58:06 +01:00
JC Brand
3b850c77ea Move focus method into ChatBoxMessageForm 2018-02-06 18:05:12 +01:00
JC Brand
7ee0b19409 Move code to chatview 2018-02-06 18:05:12 +01:00
JC Brand
253c4d736e Focus the textarea after toggling between spoiler or not 2018-02-06 18:05:12 +01:00
JC Brand
19d9e281ae Update css and keep input and textarea values across toggles 2018-02-06 18:05:12 +01:00
JC Brand
d5348ea899 Render the message form via VDOMView 2018-02-06 18:05:12 +01:00
JC Brand
4e077aac08 Start moving code from the plugin to converse-chatview 2018-02-06 18:05:12 +01:00
JC Brand
400bdf775d More refactoring of spoilers code 2018-02-06 18:05:12 +01:00
JC Brand
fa06b528e1 Also show spoiler for sent messages. 2018-02-06 18:05:12 +01:00
JC Brand
d6da643a7f Add an (incomplete) test for a received spoiler message 2018-02-06 18:05:12 +01:00
JC Brand
b1ffb34b76 Add docstrings 2018-02-06 18:05:12 +01:00
JC Brand
7870fc53ca Refactor adding of spoiler stanza element into separate method 2018-02-06 18:05:12 +01:00
JC Brand
293ca2c75c Let the OTR code for adding a button mirror the spoiler way 2018-02-06 18:05:12 +01:00
JC Brand
7bf157d9b2 Refactor code that adds button into new method. 2018-02-06 18:05:12 +01:00
JC Brand
7f9f62476d Render spoiler button as a template 2018-02-06 18:05:12 +01:00
JC Brand
ed33d4e53d Add spec for spoilers, clean up linting errors 2018-02-06 18:05:12 +01:00
Seve
be8b9edf2a Remove tabs 2018-02-06 18:05:12 +01:00
Seve
41bbf653b9 Handle cases where hint is not supplied. 2018-02-06 18:05:12 +01:00
Seve
934e5ad421 Display images inside spoilers. Emojis not handled properly 2018-02-06 18:05:12 +01:00
Seve
1a1a7a4b27 Add event and logic to display spoiler messages 2018-02-06 18:05:12 +01:00
Seve
808cc385a5 Refactor to remove jQuery syntax 2018-02-06 18:05:12 +01:00
Seve
093fd7a283 Start overriding renderMessage() properly 2018-02-06 18:05:12 +01:00
Seve
226df674ae Start message rendering 2018-02-06 18:05:12 +01:00
Seve
4451a7c813 Use events in a less obscure manner 2018-02-06 18:05:12 +01:00
Seve
affd08bdaa Send user's hint if any 2018-02-06 18:05:12 +01:00
Seve
98fe606222 Send hints 2018-02-06 18:05:12 +01:00
Seve
26c579e326 Start with sending stanza with spoiler 2018-02-06 18:05:12 +01:00
Seve
a2b2291ef6 Initial concept for spoilers editor 2018-02-06 18:05:12 +01:00
JC Brand
3eb3668bef Small fixes 2018-02-06 18:05:12 +01:00
Seve
94830c8520 Setting up plugin development 2018-02-06 18:05:12 +01:00
Seve
a866c17414 Initial example plugin 2018-02-06 18:05:12 +01:00
Weblate
8b9338edb9 Merge remote-tracking branch 'origin/master' 2018-02-06 18:02:13 +01:00
JC Brand
c5d4d421a4 Updated dependencies
Use fork of otr.js (with updated webworker-threads) and use original snabbdom again
2018-02-06 18:02:03 +01:00
Timur Koltcov
3da5eca93a Translated using Weblate (Russian)
Currently translated at 60.3% (172 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2018-02-05 09:40:28 +01:00
ChaosKid42
1da20577e1 make locales_url relative (#1012) 2018-02-04 09:19:08 +01:00
ChaosKid42
c354dfde80 fix image rendering in IE11 (#1011) 2018-02-04 09:18:42 +01:00
Andreas Kleinert
1c30492dd9 Translated using Weblate (German)
Currently translated at 98.9% (282 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-02-02 19:36:49 +01:00
ezjerry liao
a80ddee339 Translated using Weblate (Chinese (Traditional))
Currently translated at 35.7% (102 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hant/
2018-02-02 02:35:12 +01:00
ChaosKid42
17be388585 Translated using Weblate (German)
Currently translated at 94.0% (268 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2018-02-01 13:37:21 +01:00
JC Brand
a6b0d09d8e Add badge for the XMPP chat room 2018-01-31 17:04:52 +01:00
JC Brand
62ad605bec Bugfix. Attribute error when empty IQ stanza is returned for vCard query 2018-01-30 10:25:08 +01:00
JC Brand
1da5592607 We need NPM dependencies to generate CSS 2018-01-29 17:05:23 +01:00
JC Brand
6b644d6d11 Release 3.3.2 2018-01-29 16:48:54 +01:00
JC Brand
31449aa3d6 Restore previous logo 2018-01-29 16:16:57 +01:00
JC Brand
b8d89a1ebe Mention donations on readme 2018-01-29 16:12:41 +01:00
JC Brand
585a182145 Bugfix in the URL regex 2018-01-29 15:35:36 +01:00
JC Brand
682312a1f3 Bump versions for backbone.overview and backbone.vdomview 2018-01-29 15:29:12 +01:00
JC Brand
34b592be09 Fixes #921 2018-01-29 15:16:44 +01:00
JC Brand
edc4c1f158 Fixes #878. Ending slash in link not recognized 2018-01-29 15:12:49 +01:00
JC Brand
2c8c872a65 Fixes #959 2018-01-29 15:06:27 +01:00
JC Brand
37e4ed6fe8 Avoid false headline message positive for node-less MUC JIDs 2018-01-29 15:00:11 +01:00
JC Brand
479d657001 Fixes #999 2018-01-29 15:00:02 +01:00
JC Brand
852e9b5c85 Updates #1003. Handle bare MUC room JIDs 2018-01-29 14:51:49 +01:00
JC Brand
6dfd2f8855 Remove npm as dependency. Updates #884 2018-01-29 14:42:10 +01:00
JC Brand
476e1d79cd IE11 fixes 2018-01-29 14:40:45 +01:00
JC Brand
f724f49087 Add ability to run tests for transpiled code 2018-01-29 14:14:56 +01:00
JC Brand
e5006b0004 Fixes #1000. Scroll down when maximizing a chat room 2018-01-29 11:40:42 +01:00
Weblate push user
0c7b616860 Update from Weblate. (#1006)
* Translated using Weblate (Japanese)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (Ukrainian)

Currently translated at 53.3% (152 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ja/

* Translated using Weblate (French)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nl/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 95.7% (273 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

* Translated using Weblate (French)

Currently translated at 100.0% (285 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Ukrainian)

Currently translated at 53.6% (153 of 285 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2018-01-29 11:21:14 +01:00
JC Brand
d2a44c4c18 Fixes #1003 Don't list MUC domain in rooms list. 2018-01-29 11:17:54 +01:00
JC Brand
3d32f69548 console.trace is only shown when showing VERBOSEly
So use `console.error` instead, which is shown when the console settings
is set to something less verbose.
2018-01-29 11:17:54 +01:00
linkmauve
4dc5e01d76 Replace tabs with spaces in source files. (#1005) 2018-01-27 16:20:35 +01:00
JC Brand
0436a36169 Various smaller css fixes 2018-01-27 11:18:06 +01:00
JC Brand
c385674665 For some reason everything is 0.5em to the right 2018-01-26 21:05:04 +01:00
JC Brand
53adebb780 Fix sidebar in responsive mode 2018-01-26 20:50:11 +01:00
JC Brand
b5a43f8177 Fix issues around chatroom textarea height and responsiveness 2018-01-26 20:25:38 +01:00
JC Brand
d1b1433e69 Don't set min width since the chatbox is now reponsive 2018-01-26 19:52:32 +01:00
JC Brand
0c3e93db9d Using .form-group for toolbar and textarea appears unnecessary
and adds unwanted bottom margin.
2018-01-26 19:43:36 +01:00
JC Brand
5a9fd6c28d Minor improvements on the minimized chat toggle. 2018-01-26 19:34:24 +01:00
JC Brand
24afd73842 Various tweaks (margins and otherwise) around responsiveness 2018-01-26 15:32:31 +01:00
JC Brand
808155bc3c Place chat boxes inside bootstrap rows
instead of the other way around.
2018-01-26 14:41:50 +01:00
JC Brand
7f8b42faf0 Some work on bundling bootstrap within the css files.
Will likely later have to create versions which exclude bootstrap
2018-01-25 16:52:01 +01:00
JC Brand
799b53c098 Fix chatbox width for narrower viewports 2018-01-25 16:33:08 +01:00
JC Brand
3cee6a5650 mockup.css is no more. 2018-01-25 16:11:48 +01:00
JC Brand
4609f72f16 Link to Mastodon account 2018-01-25 15:27:17 +01:00
JC Brand
97e3199508 Start moving media queries to sass files 2018-01-25 12:28:24 +01:00
JC Brand
6914ec61dd Move fullscreen styles from mockup.css to sass files 2018-01-25 12:14:20 +01:00
JC Brand
5568ac5a30 Remove pure.css 2018-01-23 20:55:00 +01:00
JC Brand
221693b2b5 Take .fullscreen class into consideration in css 2018-01-23 20:50:28 +01:00
JC Brand
834866bd84 Add fullscreen class when applicable 2018-01-23 14:47:46 +01:00
JC Brand
e6d5631452 Start moving css from mockup.css into the core sass files 2018-01-23 14:34:05 +01:00
JC Brand
90035a3c68 Remove old mockups and move bootstrap mockups into mockup dir 2018-01-23 09:50:54 +01:00
JC Brand
6f59114989 Drop jquery and use native bootstrap 2018-01-23 09:49:13 +01:00
JC Brand
d51d2beac2 Work on replacing PHP with JS 2018-01-23 09:49:13 +01:00
JC Brand
4b64522c18 Fixes #993. 2018-01-22 12:41:45 +01:00
JC Brand
c012351df2 Updates #994. may not be defined 2018-01-22 12:37:29 +01:00
JC Brand
972e682e75 Update backbone.overview to 1.0.1
Fixes bug whereby `replaceWith` for HTMLElements not supported in IE or Safari

Refs #995
2018-01-22 12:00:21 +01:00
JC Brand
bee51b8c50 Mention wikisuite.org as sponsor 2018-01-22 11:46:42 +01:00
JC Brand
c1322f3c92 or should be and 2018-01-22 10:41:13 +01:00
JC Brand
12af9d5cbd Tying some loose ends 2018-01-22 09:53:35 +01:00
JC Brand
4c76370819 Bugfix. Could not register on Ejabberd 18 2018-01-22 09:50:24 +01:00
JC Brand
7d7b4c7e75 Updated npm 2018-01-22 09:38:24 +01:00
JC Brand
294be90a02 Merge branch 'bootstrap4-mockups' of https://github.com/pom2ter/converse.js into pom2ter-bootstrap4-mockups 2018-01-22 06:38:48 +01:00
JC Brand
bf97ffd381 Check JIDs of archived MAM messages 2018-01-21 22:02:12 +01:00
JC Brand
cac04d076a Remove jquery as a dependency in MAM spec 2018-01-21 19:50:19 +01:00
JC Brand
ccf5ce2ae5 New release 3.3.1 2018-01-18 14:48:32 +01:00
JC Brand
db8fd5c018 Turn off message animations by default 2018-01-18 11:41:47 +01:00
JC Brand
db1c9c38d7 Add a link to weblate on inverse landing page 2018-01-18 11:14:06 +01:00
JC Brand
026cce3ada Rename zh to zh_TW and add Simplified Chinese as zh_CN 2018-01-18 11:02:44 +01:00
JC Brand
bc7b70732e Add support for simplified Chinese 2018-01-18 10:44:24 +01:00
JC Brand
0ec745392a Merge remote-tracking branch 'weblate/master' 2018-01-18 10:34:26 +01:00
JC Brand
a5359694ae Update bootstrap.py 2018-01-17 20:38:33 +01:00
JC Brand
8f455cf902 Release 3.3.0 2018-01-17 19:45:33 +01:00
Weblate
1dc6442f29 Merge remote-tracking branch 'origin/master' 2018-01-17 19:29:45 +01:00
JC Brand
210a75b02f Scroll down again after all images have been loaded. 2018-01-17 19:29:11 +01:00
Weblate
924fcca208 Merge remote-tracking branch 'origin/master' 2018-01-17 17:03:26 +01:00
ChaosKid42
115b887802 Send emojis as unicode (#977)
* render the shortnames as unicode when sending a message

* updated CHANGES.md
2018-01-17 17:03:23 +01:00
Weblate
7a7fb883e4 Merge remote-tracking branch 'origin/master' 2018-01-17 17:02:56 +01:00
linkmauve
561bdbba35 Always use formatting inside translatable strings (#983)
This helps translators reorder words in the string.
2018-01-17 17:02:51 +01:00
Weblate
9596f657a3 Merge remote-tracking branch 'origin/master' 2018-01-16 17:08:53 +01:00
JC Brand
9231781ab4 Reduce message padding somewhat 2018-01-16 17:08:44 +01:00
Weblate
e5d1111263 Merge remote-tracking branch 'origin/master' 2018-01-16 16:55:51 +01:00
JC Brand
e2a545a849 No need for animations during testing 2018-01-16 16:55:38 +01:00
Weblate
0f4b60de5f Merge remote-tracking branch 'origin/master' 2018-01-16 16:37:17 +01:00
JC Brand
8997af7890 Updates #984 Add color-fadein animation for messages 2018-01-16 16:36:23 +01:00
Weblate
26d3455fa5 Merge remote-tracking branch 'origin/master' 2018-01-16 15:38:38 +01:00
JC Brand
2cb4a36a6b Updates #984: Remember scroll position when using infinite scroll. 2018-01-16 15:38:08 +01:00
JC Brand
95bf69b8a9 Maintain simplicity by using only one variable instead of two 2018-01-16 14:56:58 +01:00
JC Brand
f1c8de15d1 Make DOM traversal methods more generic and move to utils. 2018-01-16 14:56:23 +01:00
JC Brand
93da96ad91 converse-mam: Use API internally 2018-01-16 12:20:18 +01:00
Weblate
dcf8736889 Merge remote-tracking branch 'origin/master' 2018-01-15 22:03:39 +01:00
JC Brand
a1767ffecd Make sure rooms and bookmarks lists are recreated and shown after reconnect 2018-01-15 22:03:31 +01:00
JC Brand
c389b50044 Remove unused/dead code 2018-01-15 22:03:31 +01:00
Weblate
b209c999fc Merge remote-tracking branch 'origin/master' 2018-01-15 21:25:46 +01:00
Senya
ff0f1d698d Fix mistyped example (#991)
was open instead of get in the example for get
2018-01-15 20:25:43 +00:00
Weblate
203b6d7104 Merge remote-tracking branch 'origin/master' 2018-01-15 21:24:30 +01:00
JC Brand
59c11526f2 Use latest releases and update test for travis 2018-01-15 21:24:08 +01:00
Weblate
c25c8eabfe Merge remote-tracking branch 'origin/master' 2018-01-15 20:33:10 +01:00
JC Brand
9b3c6d1a3a Fixes #985 Give help messages a "message" class and isodate data attr. 2018-01-15 20:32:24 +01:00
Weblate
2c049a53bb Merge remote-tracking branch 'origin/master' 2018-01-15 20:13:28 +01:00
JC Brand
fc17550d0c Trying to get tests to pass on travis 2018-01-15 20:13:12 +01:00
Weblate
6a851b5d86 Merge remote-tracking branch 'origin/master' 2018-01-15 19:04:58 +01:00
Jean-Baptiste
ddc570d478 Translated using Weblate (French)
Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-01-15 19:04:57 +01:00
JC Brand
8c616f0edd Test breaks when run in a different timezone 2018-01-15 19:03:08 +01:00
JC Brand
e9bba77b36 Add test for /help command in private chats 2018-01-15 18:41:04 +01:00
JC Brand
35275c8add Lazily show spinner at the last moment 2018-01-15 18:40:35 +01:00
Weblate
a1f68ff47e Merge remote-tracking branch 'origin/master' 2018-01-11 23:48:52 +01:00
Carlos Olite
e5c5ea10c5 Translated using Weblate (Spanish)
Currently translated at 51.7% (147 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2018-01-11 23:48:52 +01:00
JC Brand
f8bcdad8ea Use newest pluggable.js 2018-01-11 22:48:26 +00:00
JC Brand
fdf1a977eb Bugfix. Fall back to normal query when no messages 2018-01-11 22:48:18 +00:00
JC Brand
76170427ec Bugfix. Exclude chat events when looking for first/last/prev message
Also, don't clear events in `renderMessage`, try to keep it free from
side-effects.
2018-01-11 22:47:37 +00:00
Weblate
ab02bb8366 Merge remote-tracking branch 'origin/master' 2018-01-10 14:27:36 +01:00
JC Brand
8d999b2802 Explicit plugin dependencies. Make hide_open_bookmarks false by default 2018-01-10 13:26:50 +00:00
Weblate
1bb400a41d Merge remote-tracking branch 'origin/master' 2018-01-10 14:17:51 +01:00
JC Brand
c22aff9b13 Use newest pluggable.js.
`optional_dependencies` is now called `dependencies`
2018-01-10 13:13:26 +00:00
Weblate
a4edd622f3 Merge remote-tracking branch 'origin/master' 2018-01-10 13:45:40 +01:00
JC Brand
4f227b467b Take all messages except chat events into consideration
when determining where to insert new messages
2018-01-10 12:45:12 +00:00
Weblate
508b802c0a Merge remote-tracking branch 'origin/master' 2018-01-10 13:29:12 +01:00
JC Brand
e5b256e45e Fix broken tests 2018-01-10 12:27:46 +00:00
Weblate
4d5a87c45b Merge remote-tracking branch 'origin/master' 2018-01-09 23:07:12 +01:00
JC Brand
31e884f79a Add code to check for duplicates 2018-01-09 22:06:53 +00:00
JC Brand
6414981012 Need to only fetch newer messages after cached messages 2018-01-09 22:05:02 +00:00
Weblate
52110a2536 Merge remote-tracking branch 'origin/master' 2018-01-09 15:52:52 +01:00
JC Brand
bcc367ef5b Mention the headless build 2018-01-09 14:52:36 +00:00
Weblate
6c35544c8a Merge remote-tracking branch 'origin/master' 2018-01-09 15:02:13 +01:00
JC Brand
5a7ce787c3 Renaming of template 2018-01-09 14:02:01 +00:00
Weblate
f431bce2dc Merge remote-tracking branch 'origin/master' 2018-01-09 14:52:48 +01:00
JC Brand
d7a113e081 Fix transcripts code. 2018-01-09 13:52:27 +00:00
Weblate
fc2dfa8fd1 Merge remote-tracking branch 'origin/master' 2018-01-09 14:40:47 +01:00
JC Brand
da1f103532 Bugfix. Don't include .chat-events, to avoid null reference 2018-01-09 13:40:32 +00:00
JC Brand
2c7a942fbc Remove unused declaration 2018-01-09 13:40:32 +00:00
Weblate
1006678571 Merge remote-tracking branch 'origin/master' 2018-01-06 22:33:01 +01:00
happy-dev
787a2a71f9 Typos ? (#981) 2018-01-06 21:32:57 +00:00
Weblate
0d2b5bf1c2 Merge remote-tracking branch 'origin/master' 2018-01-06 21:49:40 +01:00
JC Brand
96742a6684 Also make the open rooms list an OrderedListView 2018-01-06 20:42:46 +00:00
JC Brand
a91e9216e6 No need to manually remove. Gets done in the OrderedListView 2018-01-06 20:42:46 +00:00
JC Brand
fc631e7f8c Minor refactoring 2018-01-06 19:02:50 +00:00
Weblate
4effc662c3 Merge remote-tracking branch 'origin/master' 2018-01-05 17:57:36 +01:00
JC Brand
27c59cfe6c Update plugin docs prose a bit 2018-01-05 16:57:28 +00:00
Weblate
303265e8e9 Merge remote-tracking branch 'origin/master' 2018-01-05 12:57:20 +01:00
JC Brand
00b7c4adf4 Remove greenkeeper 2018-01-05 11:57:20 +00:00
Weblate
dea8c09042 Merge remote-tracking branch 'origin/master' 2018-01-05 12:48:07 +01:00
JC Brand
b47ecb7ccf Fix to work with Jed 1.1 2018-01-05 11:47:50 +00:00
Weblate
a1d7cc739f Merge remote-tracking branch 'origin/master' 2018-01-05 12:24:24 +01:00
greenkeeper[bot]
247148648e Update dependencies to enable Greenkeeper 🌴 (#877)
* chore(package): update dependencies
* docs(readme): add Greenkeeper badge
2018-01-05 11:24:20 +00:00
Weblate
ef9d8b4663 Merge remote-tracking branch 'origin/master' 2018-01-04 22:51:58 +01:00
JC Brand
5ea1b07b6b Use an OrderedListView to render the bookmarks list 2018-01-04 21:51:42 +00:00
Weblate
63b306ae8e Merge remote-tracking branch 'origin/master' 2018-01-04 18:17:29 +01:00
JC Brand
1d2bc11840 Fix build scripts 2018-01-04 17:17:17 +00:00
JC Brand
71bdf08c25 Fix the no-dependencies demo 2018-01-04 17:02:29 +00:00
Weblate
beab9094ea Merge remote-tracking branch 'origin/master' 2018-01-04 17:28:33 +01:00
JC Brand
6739b508c3 Small css and text fixes 2018-01-04 16:27:56 +00:00
Weblate
7831be8f5e Merge remote-tracking branch 'origin/master' 2018-01-04 17:12:17 +01:00
JC Brand
f7cf1fb70d Fix broken tests 2018-01-04 16:12:09 +00:00
Weblate
29386dd289 Merge remote-tracking branch 'origin/master' 2018-01-04 14:22:01 +01:00
JC Brand
16b8946dd9 Updates #978: Use moment and generate date in correct format 2018-01-04 13:11:51 +00:00
JC Brand
ee751ec58e Update jquery and sizzle and fix/improve some tests
Fixes #825
2018-01-04 13:11:50 +00:00
Weblate
8179543674 Merge remote-tracking branch 'origin/master' 2018-01-04 13:11:13 +01:00
JC Brand
cdfd1e2d42 Add units (webkit fix) 2018-01-04 12:11:03 +00:00
JC Brand
199e2e7e27 The refreshWebkit hack appears to no longer be necessary 2018-01-04 12:11:03 +00:00
JC Brand
4652385bb4 Remove jQuery from non-tests config 2018-01-04 12:11:03 +00:00
Weblate
78b9bf2138 Merge remote-tracking branch 'origin/master' 2018-01-04 12:31:13 +01:00
JC Brand
7cf9c9ef8f Fix linting error 2018-01-04 11:31:04 +00:00
Weblate
3f39418a67 Merge remote-tracking branch 'origin/master' 2018-01-03 21:41:31 +01:00
JC Brand
671691353a Use Backbone.NativeView instead of Backbone.View 2018-01-03 20:41:03 +00:00
Weblate
566a388197 Merge remote-tracking branch 'origin/master' 2018-01-03 17:53:17 +01:00
JC Brand
ccb97eb7fd Remove jquery from converse-controlbox 2018-01-03 16:49:08 +00:00
Weblate
7985b92d87 Merge remote-tracking branch 'origin/master' 2018-01-03 17:10:17 +01:00
JC Brand
29b5c3e3c3 Remove jquery from converse-dragresize 2018-01-03 16:08:45 +00:00
JC Brand
f1820e5fcd Set dependencies for chatview and muc 2018-01-03 16:08:30 +00:00
Weblate
95ac01b860 Merge remote-tracking branch 'origin/master' 2018-01-03 16:50:39 +01:00
JC Brand
8bdaa410db Also take delayed messages into account when checking if new 2018-01-03 15:50:02 +00:00
JC Brand
3a6f7ed109 Remove jquery from converse-minimize 2018-01-03 14:20:10 +00:00
Weblate
3a0dac3ada Merge remote-tracking branch 'origin/master' 2018-01-03 14:37:36 +01:00
JC Brand
da3670d9f0 MUC Join/Leave messages now also show a new day indicator 2018-01-03 13:37:25 +00:00
JC Brand
46e54667c3 Simplify insertDayIndicator method 2018-01-03 13:37:25 +00:00
JC Brand
cc29d16929 Simplify message insertion into the chat area 2018-01-03 13:37:25 +00:00
Weblate
d0e116a05c Merge remote-tracking branch 'origin/master' 2018-01-03 12:44:14 +01:00
Mako N
314bd1ad7c Updated Japanese translation (#980) 2018-01-03 11:44:10 +00:00
Weblate
ae502a53c2 Merge remote-tracking branch 'origin/master' 2018-01-02 22:53:07 +01:00
JC Brand
e360d9eead Removed jquery from converse-chatview 2018-01-02 21:52:55 +00:00
Weblate
98923bd2d1 Merge remote-tracking branch 'origin/master' 2018-01-02 21:25:48 +01:00
JC Brand
ee15e9e331 Fix and test message ordering 2018-01-02 20:25:30 +00:00
Weblate
b90a516d8e Merge remote-tracking branch 'origin/master' 2018-01-02 15:03:17 +01:00
Cindy Dallaire
9a452aff5d Translated using Weblate (French)
Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2018-01-02 15:03:17 +01:00
gensitu
ad7be52ac7 Translated using Weblate (Chinese (Simplified))
Currently translated at 29.9% (85 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/zh_Hans/
2018-01-02 15:03:15 +01:00
JC Brand
393d2fbacb Add logo and sponsor-link for diasporing.ch 2018-01-02 14:02:31 +00:00
gensitu
a809baa955 Added translation using Weblate (Chinese (Simplified)) 2017-12-28 02:46:35 +01:00
Weblate
5a272fa358 Merge remote-tracking branch 'origin/master' 2017-12-25 13:00:07 +01:00
JC Brand
21a46a15ae Bugfix. markScrolled wasn't debounced for MUC. 2017-12-25 11:59:54 +00:00
JC Brand
308cbf5fb7 Call canPlayType as documented on MDN 2017-12-25 11:59:54 +00:00
Weblate
c553150645 Merge remote-tracking branch 'origin/master' 2017-12-25 11:46:27 +01:00
linkmauve
1d14bdb005 Simplify the SVG logo (#974)
The changes are:
- Removal of useless metadata.
- Simplification of shapes.
- Simplification of coordinates.
- Addition of a white background, to make the logo look correct on dark
  backgrounds.
2017-12-25 10:46:24 +00:00
Weblate
3bd166436e Merge remote-tracking branch 'origin/master' 2017-12-25 11:45:27 +01:00
Weblate push user
713522953e Update from Weblate. (#973)
* Translated using Weblate (French)

Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-12-25 10:45:23 +00:00
Weblate
4140e5446b Merge remote-tracking branch 'origin/master' 2017-12-25 10:46:37 +01:00
JC Brand
91526c3a46 Bugfix. Query all messages 2017-12-25 09:46:13 +00:00
Weblate
5a3bb1e3f1 Merge remote-tracking branch 'origin/master' 2017-12-24 18:43:55 +01:00
JC Brand
d327da68ea Also check out vdomview via https 2017-12-24 17:43:48 +00:00
Weblate
3563db17e9 Merge remote-tracking branch 'origin/master' 2017-12-24 18:35:47 +01:00
JC Brand
f0c97ee3aa Use https instead of ssh 2017-12-24 17:35:35 +00:00
Weblate
3973018238 Merge remote-tracking branch 'origin/master' 2017-12-24 18:15:21 +01:00
JC Brand
1e41785c72 Make sure master of backbone.overview is checked out 2017-12-24 17:15:12 +00:00
Weblate
3b15844485 Merge remote-tracking branch 'origin/master' 2017-12-24 18:09:58 +01:00
JC Brand
1e1aa1d9c9 Some refactoring while removing jquery 2017-12-24 17:09:49 +00:00
JC Brand
334a24c938 Use template to render .chat-info messages
Also did some work on removing jQuery from converse-chatview
2017-12-24 17:09:49 +00:00
Weblate
8b757c6d6c Merge remote-tracking branch 'origin/master' 2017-12-24 18:05:06 +01:00
Emmanuel Gil Peyrot
f2ecf3c010 Remove executable bit from files which don’t need it 2017-12-24 17:05:01 +00:00
Weblate
1062ae4667 Merge remote-tracking branch 'origin/master' 2017-12-24 11:27:47 +01:00
Emmanuel Gil Peyrot
45c22b20c9 Translated using Weblate (French)
Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-12-24 11:27:46 +01:00
JC Brand
a6d4419c04 Remove jQuery from converse-bookmarks 2017-12-23 20:56:20 +00:00
JC Brand
f84c443bd2 Remove jQuery from converse-muc.js 2017-12-23 20:29:20 +00:00
anonymous
18401a1000 Translated using Weblate (French)
Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-12-23 15:41:54 +01:00
Emmanuel Gil Peyrot
1f5e105b9b Translated using Weblate (French)
Currently translated at 100.0% (284 of 284 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-12-23 15:41:10 +01:00
JC Brand
0eee445822 Remove jquery as dependency for converse-otr 2017-12-22 21:38:36 +00:00
JC Brand
7c782ed6a4 Fix failing test 2017-12-22 21:24:45 +00:00
JC Brand
aa7483a881 Initial work on allowing a headless build 2017-12-22 21:24:15 +00:00
JC Brand
3cf7fefaa8 Make the :last-child selector more specific
otherwise deeper leaf-nodes get returned
2017-12-22 20:49:10 +00:00
JC Brand
49addedd1f Update babel version and use transpiled dist files 2017-12-22 20:35:58 +00:00
JC Brand
cacba4e6b0 Add test for contacts changing their groups
and fix the resulting fallout
2017-12-22 16:58:48 +00:00
JC Brand
f36b069e5d Add missing spec/roster.js 2017-12-22 15:55:03 +00:00
JC Brand
c6d2108024 Let RosterView also be an OrderedListView 2017-12-22 15:53:03 +00:00
JC Brand
a3b80eeb6e Move RosterView after RosterGroupView 2017-12-22 14:40:58 +00:00
JC Brand
b5e7bd5605 Move roster tests into their own module 2017-12-22 14:39:29 +00:00
JC Brand
f59048061f Simplify by removing need to override createItemView 2017-12-22 13:38:20 +00:00
JC Brand
1178badec8 Role was wrongly set to 'occupant' instead of 'participant' 2017-12-22 12:02:24 +00:00
JC Brand
ac643ae63f Refactor views to use Backbone.OrderedListView 2017-12-22 12:02:18 +00:00
JC Brand
102f39ed41 Regenerate po, pot and json 2017-12-20 17:08:08 +00:00
Emmanuel Gil Peyrot
b306e0dcb0 Fix typography in French translation 2017-12-20 17:06:38 +00:00
Emmanuel Gil Peyrot
50e373fc67 Fix mistranslated French translation 2017-12-20 17:06:38 +00:00
Emmanuel Gil Peyrot
d391098a2d Fix inverted French translation (copy/paste typo) 2017-12-20 17:06:38 +00:00
Emmanuel Gil Peyrot
bf2f32a523 Fix fuzzy French translations 2017-12-20 17:06:38 +00:00
JC Brand
0b857011f3 Use "No Password" instead of "Unsecured" 2017-12-20 16:59:17 +00:00
JC Brand
ce1954a9f7 Improved roster performance.
Don't sort the roster group for each `chat_status` change. Instead batch
every 500ms.
2017-12-20 16:59:17 +00:00
JC Brand
fb35ed844a Avoid flashing when opening chat room. 2017-12-20 11:02:46 +00:00
JC Brand
3f94028377 Speed up rendering of chat boxes by lazily rendering the emoji picker 2017-12-20 11:02:46 +00:00
JC Brand
19979c4840 Listen to animationend event instead of using setTimeout 2017-12-20 11:02:46 +00:00
Andreas Kleinert
d1fe6595b8 Translated using Weblate (German)
Currently translated at 100.0% (280 of 280 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2017-12-20 11:02:46 +00:00
Andreas Kleinert
a076fbef7e Translated using Weblate (German)
Currently translated at 100.0% (280 of 280 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2017-12-20 11:02:46 +00:00
Justin Hornosty (jjrh)
075b1842a2 Option to use RVM for ruby 2017-12-20 11:02:46 +00:00
JC Brand
32621b8327 Clear chat_state timer when closing chat 2017-12-19 19:17:38 +00:00
JC Brand
6c6ef1f1f9 Refactoring of the roster view.
* Removed the dependency on jQuery
* Contacts are now shown inside a group element, simplifying the code
2017-12-19 18:44:31 +00:00
JC Brand
a0ba972468 Handle case where <set> element is not returned 2017-12-19 16:32:23 +00:00
JC Brand
21241c5cff Fixes #967. Rooms list not shown when server doesn't support bookmarks 2017-12-19 16:32:23 +00:00
JC Brand
349d097e0a Update slideIn and slideOut to use requestAnimationFrame
For smoother animations.
2017-12-19 16:32:23 +00:00
JC Brand
7ae735c4d0 Better naming and wrap lines 2017-12-18 12:20:39 +00:00
JC Brand
8dae284e6f Log reason when catching errors 2017-12-18 12:20:39 +00:00
JC Brand
bc81a3d680 Specify dependencies, so that their initialize methods get called first 2017-12-17 15:01:45 +00:00
JC Brand
de864bd6f9 Improve slideOut and add more utility methods. 2017-12-17 14:57:07 +00:00
pom2ter
1e023912d7 fixing some last minute bugs 2017-12-16 00:40:42 -05:00
pom2ter
9fd2ffe400 bootstrap 4 mockups 2017-12-16 00:20:59 -05:00
JC Brand
bc6a484467 Remove more jQuery-dependent code from converse-muc 2017-12-15 21:52:14 +00:00
JC Brand
fbc81d30ec Add and document bring_to_foreground option to rooms API 2017-12-15 20:51:07 +00:00
JC Brand
3c7454c4c1 Document a better way to open a room from a plugin 2017-12-15 20:17:31 +00:00
JC Brand
f9343594bf Collapse multiple, consecutive join/leave messages 2017-12-15 16:24:30 +00:00
JC Brand
c874efeb79 Sort chatroom occupants alphabetically and according to role 2017-12-14 18:07:40 +00:00
JC Brand
00708dcfbf Bugfix. Occupants sidebar was toggled incorrectly 2017-12-14 17:30:05 +00:00
JC Brand
23e2aceaca Indicate visitors by making them lighter grey 2017-12-14 13:45:14 +00:00
JC Brand
a68cb85969 Add a test case for the /op and /deop commands 2017-12-14 13:23:14 +00:00
JC Brand
dc16930464 Test the /voice command and fix a bug 2017-12-14 13:07:39 +00:00
JC Brand
5eabf4008e Render "create account" link via a VDOMView and hide when connecting 2017-12-14 12:30:50 +00:00
JC Brand
9fca25b6a9 Use snabbdom via backbone.vdomview 2017-12-13 22:04:58 +00:00
JC Brand
bd5a49da3f Show an info message when a MUC occupant is muted. 2017-12-07 07:05:37 +01:00
JC Brand
e34d62287b Test that headlines box doesn't show an avatar 2017-12-07 06:35:28 +01:00
JC Brand
2b6db9d50b Test /help, /kick and /mute commands 2017-12-06 22:11:53 +01:00
JC Brand
031d640438 Don't render avatar for headlines chatbox 2017-12-06 22:10:21 +01:00
JC Brand
8cd75aa09c Move ChatBox, Message and Messages to converse-chatboxes 2017-12-06 22:09:46 +01:00
JC Brand
a4a1c80b5b Bugfix. In a MUC the /help command didn't render properly 2017-12-06 17:01:17 +01:00
JC Brand
41ca34a051 Fixes #953 MUC "Features" displayed when exiting configuration 2017-12-06 16:39:29 +01:00
JC Brand
85bea60066 Some of refactoring to avoid code duplication and jQuery 2017-12-06 16:26:53 +01:00
JC Brand
292a75d301 Mention liberapay 2017-12-06 11:45:40 +01:00
Justin Hornosty (jjrh)
a0ed8dee8d allow use of alternative port to for HTTPSERVE ( HTTPSERVE_PORT ) 2017-12-06 10:10:30 +01:00
JC Brand
7dc1b3767b Mention patreon 2017-12-05 14:12:17 +01:00
Stefano Boldrin
f953df9621 Fixed error building DOM toggle_chats.html span.unread-message-count class attribute (#960)
* Added missing " on class attribute

* Added changelog for prev commit "Added missing " on class attribute"
2017-12-04 20:44:54 +01:00
JC Brand
c95a9d2728 Generate dist files with changes so far. 2017-12-04 12:29:46 +01:00
JC Brand
1adc4938a8 Fetch VCard when starting a chat with someone not in the user's roster 2017-12-03 20:50:13 +01:00
JC Brand
d331594225 Various small fixes based on real-world usage 2017-12-03 19:18:25 +01:00
JC Brand
79fd27ce58 Remove interpolation markup from yeoman 2017-12-03 18:52:32 +01:00
JC Brand
fc94127014 Fix failing tests 2017-12-03 18:49:53 +01:00
JC Brand
393bbe020e Check disco before fetching own vcard. 2017-12-03 11:10:59 +01:00
JC Brand
e701305d05 Bugfix. Avatar wasn't being shown 2017-12-02 18:07:31 +01:00
JC Brand
8662f751e3 Refactor converse-vcard and add API method to fetch a VCard 2017-12-02 18:01:56 +01:00
JC Brand
063908e032 Append spinner when fetching newer messages 2017-12-02 15:09:04 +01:00
JC Brand
4df61cc496 After reconnection, fetch new messages for private chats 2017-12-02 14:26:28 +01:00
JC Brand
c26ccf5e01 Remove jQuery as dependency for converse-mam.
Also, if a message has no `archive_id` attribute, then do a time-based MAM query.
2017-12-02 14:26:28 +01:00
JC Brand
d420a35e91 Merge remote-tracking branch 'weblate/master' 2017-11-23 15:23:06 +01:00
JC Brand
3de8e6c0ac Regenerated po and pot files 2017-11-23 12:10:40 +01:00
JC Brand
fa7ca46d12 Text fixes based on feedback from translator 2017-11-23 12:10:40 +01:00
Allan Nordhøy
8d4bdd6d3a Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.5% (276 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2017-11-20 05:47:52 +01:00
Weblate
c063c90d41 Merge remote-tracking branch 'origin/master' 2017-11-17 19:20:46 +01:00
Taylor SaBell
adc4e6ebbc Changed connection manager URL (#955) 2017-11-17 19:20:42 +01:00
Weblate
dec4677a87 Merge remote-tracking branch 'origin/master' 2017-11-17 14:42:20 +01:00
JC Brand
5939f11192 Some work on removing jquery from the controlbox code 2017-11-17 14:42:09 +01:00
JC Brand
141eaa6a39 Fix rendering of heading for headlines boxes 2017-11-17 14:41:54 +01:00
Weblate
394cd2bca1 Merge remote-tracking branch 'origin/master' 2017-11-17 14:21:20 +01:00
JC Brand
9aefd2739f Remove jquery as dependency for converse-profile.js 2017-11-17 14:21:18 +01:00
JC Brand
9d1c6236ac Move the xmpp status (e.g. profile) view into separate plugin 2017-11-17 13:32:03 +01:00
JC Brand
d395387861 25% rounded avatars for all 2017-11-17 13:31:56 +01:00
JC Brand
ca0cbb1c31 Use an img tag instead of canvas for rendering avatars 2017-11-17 13:19:21 +01:00
Weblate
d0d5f7c800 Merge remote-tracking branch 'origin/master' 2017-11-17 12:59:13 +01:00
JC Brand
bac1d22205 Fix: In chatbox heading two avatars sometimes get rendered 2017-11-17 12:50:16 +01:00
Weblate
74e2a77091 Merge remote-tracking branch 'origin/master' 2017-11-17 11:31:04 +01:00
JC Brand
250b06475e Bugfix. Disappearing contacts filter when changing the type 2017-11-17 11:30:50 +01:00
Weblate
58bd0c551e Merge remote-tracking branch 'origin/master' 2017-11-17 11:13:31 +01:00
JC Brand
d5e2aa5992 Fix failing test 2017-11-17 11:13:27 +01:00
JC Brand
124a45026f Upgrade to latest babel 2017-11-17 11:03:58 +01:00
JC Brand
0acef8b49d Transpile backbone.vdomview 2017-11-17 11:02:55 +01:00
Weblate
b0ad6a23fd Merge remote-tracking branch 'origin/master' 2017-11-12 20:55:13 +01:00
JC Brand
adb92a2eda Two small UX fixes
- Don't close the emojis panel after inserting an emoji.
- Focus the message textarea when the emojis panel is opened or closed.
2017-11-12 20:08:37 +01:00
Weblate
02539317f9 Merge remote-tracking branch 'origin/master' 2017-11-11 09:16:55 +01:00
JC Brand
691c48468f Hide the roster filter by default. Updates #949
- Also, use a virtual-dom view for rendering the roster filter.
2017-11-11 09:16:45 +01:00
Weblate
7e0e109fc5 Merge remote-tracking branch 'origin/master' 2017-11-10 22:01:56 +01:00
JC Brand
cfd5dad9c5 Use [backbone.vdomview](https://github.com/jcbrand/backbone.vdomview)
For the MUCJoinView and the LoginPanel
2017-11-10 22:01:36 +01:00
JC Brand
ed4c393a9d Create separate view for the MUC join form 2017-11-10 21:37:35 +01:00
JC Brand
a6f2877ed9 Disco API refactoring
This came out of the desire to let `converse-muc` use the API to
determine whether MUC is supported. However, we don't know the entity
JID before hand and I couldn't think of a good way to query all current
and future entities for a feature.

So `converse-muc` still does it's own thing without the API, but some
refactoring came as a result of attempting.
2017-11-10 21:37:35 +01:00
JC Brand
87213bf90a Rename getPromiseWrapper to getResolveablePromise
Let a promise be returned instead of a wrapper, but glue the `resolve`
and `reject` methods onto it
2017-11-10 21:37:35 +01:00
Weblate
9f523d70b6 Merge remote-tracking branch 'origin/master' 2017-11-09 10:25:15 +01:00
Reventl0v
695e8f5cf2 IM is not a french word / « ouvrir » means « to open » (#948) 2017-11-09 10:25:07 +01:00
Weblate
8e73e820e5 Merge remote-tracking branch 'origin/master' 2017-11-05 21:19:10 +01:00
JC Brand
8a4aa4efdd Use a named variable for _.template
This removes the need for `switch (obj)` in the template which is not
allowed in strict mode.

Additionally using a named variable speeds up rendering.
2017-11-05 18:59:29 +01:00
JC Brand
62cb65a94f Update the pluggable.js 1.0.1 2017-11-05 17:24:05 +01:00
Weblate
bc4fbde91d Merge remote-tracking branch 'origin/master' 2017-11-03 09:16:00 +01:00
JC Brand
4d06228d89 Various changes around making builds.
- Update build scripts to use transpiled versions of newly added modules
- Stop building locales.js and remove locales stuff from build scripts
- No need for Grunt anymore since we don't need to make locales.js
2017-11-03 08:45:47 +01:00
Weblate
c6dc730b7a Merge remote-tracking branch 'origin/master' 2017-11-02 23:23:55 +01:00
JC Brand
042a26d05d New API method _converse.disco.supports
to check whether a certain service discovery feature is supported by an entity.
2017-11-02 23:23:01 +01:00
Weblate
584598fd59 Merge remote-tracking branch 'origin/master' 2017-11-02 17:30:32 +01:00
JC Brand
305f8d2499 Use latest pluggable.js 2017-11-02 17:30:24 +01:00
Weblate
42b442f142 Merge remote-tracking branch 'origin/master' 2017-11-02 16:41:43 +01:00
JC Brand
007e608f32 More work on combining the inverse/converse builds
- Use `enabled` method for plugins
- Rename `converse-inverse.js` to `converse-fullscreen.js` and make it a
  core plugin.
- We're no longer making separate mobile and inverse builds

No longer a need to whitelist/blacklist plugins for inverse to work.
2017-11-02 16:41:06 +01:00
JC Brand
754ad7a027 Initial work on combining the converse and inverse modes
- Adds new config setting: `view_mode`
- `converse-singleton` is now a core plugin and its behavior depends on `view_mode`.
2017-11-02 14:21:29 +01:00
Weblate
ff45c9b697 Merge remote-tracking branch 'origin/master' 2017-10-31 23:13:57 +01:00
JC Brand
221798e6e1 Merge branch 'open-room-via-url' 2017-10-31 23:11:37 +01:00
JC Brand
3514d6d56b fixes #316
- Also allow private chats to be opened via URL fragment.
- Make sure to clear the URL fragment when the relevant chat is closed.
2017-10-31 23:11:27 +01:00
JC Brand
985cf6c294 Use global router to open chat rooms 2017-10-31 22:08:06 +01:00
JC Brand
35db952e71 Make openChatRoom a closured function 2017-10-31 22:07:40 +01:00
JC Brand
46ca6c7de2 Make the router global and clear login/register fragments
upon login or after registering.
2017-10-31 21:47:27 +01:00
JC Brand
61ed55dbaa Rename login and register urls 2017-10-31 20:39:44 +01:00
JC Brand
ad0e457486 Update API documentation to mention promises to wait for 2017-10-31 20:38:52 +01:00
JC Brand
523c84a254 Log as warning instead of error 2017-10-31 20:38:52 +01:00
JC Brand
e8e20fbf93 Make sure to emit upon reconnection 2017-10-31 20:38:52 +01:00
JC Brand
2d747bb287 Various changes. See below.
* Update localisation/translation documentation due to recent changes.
* Remove `moment_locales.js` and instead load the moment locales in `src/i18n.js`
* Mention how to load the fullscreen version. Refs #939
2017-10-31 20:38:51 +01:00
Weblate push user
2f0a91ffde Update from Weblate. (#938)
* Translated using Weblate (German)

Currently translated at 98.4% (260 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 99.6% (263 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Indonesian)

Currently translated at 36.3% (97 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 34.0% (91 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 33.7% (90 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (German)

Currently translated at 98.1% (262 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 72.6% (194 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

* Translated using Weblate (German)

Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (German)

Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 92.2% (261 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 92.5% (262 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 95.7% (271 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 96.1% (272 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 70.3% (199 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2017-10-31 20:38:51 +01:00
JC Brand
9862d747a9 Refetch the roster from the server after reconnection.
From the perspective of the XMPP server, this is an entirely new login,
and therefore as per RFC-6121 the roster SHOULD be queried, making the
client an "interested resource".

https://tools.ietf.org/html/rfc6121#section-2
2017-10-31 20:38:51 +01:00
JC Brand
0a7c20a1e2 Log incoming and outgoing XML stanzas in different colors 2017-10-31 20:38:51 +01:00
JC Brand
4dad60c8d6 Include timestamps in debug logs 2017-10-31 20:38:51 +01:00
JC Brand
05c3a5cad6 Move translation machinery into a separate module 2017-10-31 20:38:51 +01:00
JC Brand
bb0e4d26ec Throw more helpful error when there's no connection 2017-10-31 20:38:51 +01:00
JC Brand
c789af346f Add another example to the section about dealing with async 2017-10-31 20:38:51 +01:00
Giuseppe Pignataro
207d134eff Updated italian translation (#932) 2017-10-31 20:38:51 +01:00
Weblate
d6de627fa3 Merge remote-tracking branch 'origin/master' 2017-10-31 18:07:31 +01:00
JC Brand
d3fb9d81c8 Update API documentation to mention promises to wait for 2017-10-31 18:07:03 +01:00
JC Brand
0acaaeb2a0 Log as warning instead of error 2017-10-31 18:06:39 +01:00
JC Brand
098c8e545c Make sure to emit upon reconnection 2017-10-31 18:06:28 +01:00
Weblate
7ea09337a7 Merge remote-tracking branch 'origin/master' 2017-10-30 10:44:10 +01:00
JC Brand
2bce9e7272 Various changes. See below.
* Update localisation/translation documentation due to recent changes.
* Remove `moment_locales.js` and instead load the moment locales in `src/i18n.js`
* Mention how to load the fullscreen version. Refs #939
2017-10-30 10:44:00 +01:00
Weblate
ade8e227b3 Merge remote-tracking branch 'origin/master' 2017-10-27 11:21:29 +02:00
Weblate push user
b686fa1672 Update from Weblate. (#938)
* Translated using Weblate (German)

Currently translated at 98.4% (260 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 99.6% (263 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Indonesian)

Currently translated at 36.3% (97 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 34.0% (91 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 33.7% (90 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (German)

Currently translated at 98.1% (262 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 72.6% (194 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/

* Translated using Weblate (German)

Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (German)

Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 92.2% (261 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 92.5% (262 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 95.7% (271 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 96.1% (272 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 70.3% (199 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2017-10-27 11:21:22 +02:00
Weblate
a5503de530 Merge remote-tracking branch 'origin/master' 2017-10-27 11:00:20 +02:00
JC Brand
4f8a09b019 Refetch the roster from the server after reconnection.
From the perspective of the XMPP server, this is an entirely new login,
and therefore as per RFC-6121 the roster SHOULD be queried, making the
client an "interested resource".

https://tools.ietf.org/html/rfc6121#section-2
2017-10-27 10:59:58 +02:00
Weblate
7aa6286e7f Merge remote-tracking branch 'origin/master' 2017-10-26 15:48:36 +02:00
JC Brand
0a3e31dda4 Log incoming and outgoing XML stanzas in different colors 2017-10-26 15:47:49 +02:00
Weblate
e786af725d Merge remote-tracking branch 'origin/master' 2017-10-25 17:11:49 +02:00
JC Brand
00f111498d Include timestamps in debug logs 2017-10-25 17:11:34 +02:00
Weblate
6c2f7c8745 Merge remote-tracking branch 'origin/master' 2017-10-24 12:56:47 +02:00
JC Brand
f73075d20a Move translation machinery into a separate module 2017-10-24 12:56:35 +02:00
JC Brand
20f3172f5e Add fixme note 2017-10-24 11:07:58 +02:00
Weblate
15430a159f Merge remote-tracking branch 'origin/master' 2017-10-23 14:18:14 +02:00
JC Brand
dffc6fbb50 Throw more helpful error when there's no connection 2017-10-23 12:18:00 +00:00
JC Brand
71440fe2e0 Add another example to the section about dealing with async 2017-10-23 12:15:57 +00:00
Allan Nordhøy
6392b11cce Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.3% (199 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2017-10-18 00:47:44 +02:00
Weblate
7368900112 Merge remote-tracking branch 'origin/master' 2017-10-15 11:42:47 +02:00
Giuseppe Pignataro
d5ac15319c Updated italian translation (#932) 2017-10-15 11:42:41 +02:00
Jean-Baptiste
ddac7658ab Translated using Weblate (French)
Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-10-05 12:10:40 +02:00
anonymous
fca70a4b9e Translated using Weblate (French)
Currently translated at 96.1% (272 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-10-05 12:07:06 +02:00
Jean-Baptiste
c9945145a4 Translated using Weblate (French)
Currently translated at 95.7% (271 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-10-05 12:06:23 +02:00
anonymous
60a1a802cf Translated using Weblate (French)
Currently translated at 92.5% (262 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-10-05 12:00:11 +02:00
Jean-Baptiste
c3992d1d57 Translated using Weblate (French)
Currently translated at 92.2% (261 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-10-05 11:59:54 +02:00
Andreas Kleinert
a37e5ccb66 Translated using Weblate (German)
Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2017-09-30 21:46:13 +02:00
Andreas Kleinert
057af85a6d Translated using Weblate (German)
Currently translated at 100.0% (283 of 283 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2017-09-29 20:17:58 +02:00
JC Brand
724e66d0e5 Initial code for opening a room via URL 2017-09-29 00:07:16 +02:00
Weblate
f54516aa2c Merge remote-tracking branch 'origin/master' 2017-09-28 23:31:04 +02:00
JC Brand
79080b3569 Routing fixes
* Check if `Backbone.history.start()` has been called before.
* Only call it after routes have been registered.
* Use route for switching between login and register forms
2017-09-28 23:29:37 +02:00
Weblate
89ec9a6d0f Merge remote-tracking branch 'origin/master' 2017-09-28 21:26:37 +02:00
JC Brand
79412215b5 Fix smooth scroll code for the website 2017-09-28 21:26:11 +02:00
Weblate
4cc3aa178c Merge remote-tracking branch 'origin/master' 2017-09-27 00:36:28 +02:00
JC Brand
5ac1e00cdb Don't add fade-in to controlbox. Causes flashes 2017-09-27 00:36:19 +02:00
Weblate
44d1d2c0bf Merge remote-tracking branch 'origin/master' 2017-09-27 00:34:45 +02:00
JC Brand
50064ec1fd Translation bugfix. Wait until after locales attribute is there 2017-09-27 00:33:58 +02:00
Weblate
24e4dac2b8 Merge remote-tracking branch 'origin/master' 2017-09-26 23:24:05 +02:00
JC Brand
80b3692131 More work in removing locales from builds 2017-09-26 18:27:41 +02:00
Weblate
2d7e326dbe Merge remote-tracking branch 'origin/master' 2017-09-25 13:55:45 +02:00
JC Brand
74b91faf9a Use browser-based "constraint validation"
to validate required fields, instead of doing it manually.

All supported browsers have this feature.
2017-09-25 13:55:17 +02:00
JC Brand
f0debc61ab Refactor i18n so that only relevant translations are fetched
instead of bundling all translations in the dist file.
2017-09-25 12:49:10 +02:00
JC Brand
9375e382b8 Regenerated po and json files 2017-09-24 11:03:47 +02:00
JC Brand
9a8db618d3 More user-friendly phrasing 2017-09-24 11:03:27 +02:00
JC Brand
b4b50049e1 Some margin tweaking 2017-09-24 11:03:00 +02:00
JC Brand
85078b403b Use change event instead of blur.
This solves a bug whereby switching to the register form doesn't happen because
validation gets triggered which somehow prevents it.
2017-09-24 10:21:14 +02:00
JC Brand
f1519bed1e Generate new po files 2017-09-24 00:33:15 +02:00
JC Brand
3d53943f49 Generate pot file from the converse-no-dependencies build
This is a workaround for the fact that getttext doesn't support ES2015 template
literals and it also allows us to scan for translateable strings in our HTML
templates.
2017-09-24 00:30:43 +02:00
JC Brand
92af05d510 Some more refactoring now that we use a vdom for the login panel
We can now simply call `render` whenever we want to show an error or
notification message.

The flip side is that the template is now larger and contains more login.
2017-09-24 00:30:43 +02:00
JC Brand
be7f8ab4c4 Use a virtual dom to render the login form 2017-09-24 00:30:43 +02:00
JC Brand
2203e9505a Set autofocus on inputs 2017-09-24 00:30:43 +02:00
JC Brand
937b310733 Refactor login form to make it more reactive. 2017-09-24 00:30:43 +02:00
JC Brand
f827979000 converse-register: render the buttons as part of the template
instead of manually
2017-09-24 00:30:43 +02:00
JC Brand
33cc72829b converse-register: 2 changes.
* Use declarative events instead of `addEventListener`.
* Remove the jquery dependency in this module
2017-09-24 00:30:43 +02:00
JC Brand
4063bbfc1c converse-register: Consolidate validation and error reporting 2017-09-24 00:30:43 +02:00
JC Brand
7cfe81ea1f Fix failing tests.
Somehow the tests are flaky when the router sets a URL fragment for login or
registration, so I've now added an event handler which does the work without
setting the URL fragment.

The router is still there so that one can manually link to a URL that has the
registration form open. (Issue #828)
2017-09-24 00:30:43 +02:00
JC Brand
2bb6565168 Fix unnecessary scrolling on login/register panes 2017-09-24 00:30:43 +02:00
JC Brand
a9b74ca9b5 converse-register: refactor in order to simplify. 2017-09-24 00:30:43 +02:00
JC Brand
ce1e29e4f2 Bugfix. Fields weren't being marked as required. 2017-09-24 00:30:43 +02:00
JC Brand
9cdb0dde8c Various changes
* In certain places, use native methods instead of jQuery
* Nicer rendering of registration forms
* Use CSS3 fade-in animations.
2017-09-24 00:30:43 +02:00
JC Brand
43bbae9006 Don't require auto_login to be true when using the API to log in 2017-09-24 00:30:43 +02:00
JC Brand
57d2f9bce8 Add validation message for an invalid JID in the login form 2017-09-24 00:30:43 +02:00
JC Brand
158acbf1d7 Fixes #828 Add routing for login and register URL fragments 2017-09-24 00:30:43 +02:00
JC Brand
7e4fb52f8d Render register and login forms via links 2017-09-24 00:30:43 +02:00
JC Brand
37fcc6b70e Hide connection feedback parent element 2017-09-24 00:30:43 +02:00
JC Brand
140946a34b Add brand headings 2017-09-24 00:30:43 +02:00
JC Brand
99581b8300 Update fonticons to remove unused smileys and add social icons 2017-09-24 00:30:43 +02:00
JC Brand
1613c0d7de Styling changes now that we don't have tabs. 2017-09-24 00:30:43 +02:00
JC Brand
196a42dc50 Make sure strings get translated and that interpolation is safe 2017-09-24 00:30:43 +02:00
JC Brand
ce56e0d858 We no longer have login and register tabs 2017-09-24 00:30:42 +02:00
JC Brand
681245584e Remove Login and Registration tabs and consolidate into one panel 2017-09-24 00:30:42 +02:00
Weblate
3e869c0fe1 Merge remote-tracking branch 'origin/master' 2017-09-24 00:28:43 +02:00
Weblate push user
c4f4213bc7 Update from Weblate. (#927)
* Translated using Weblate (German)

Currently translated at 98.4% (260 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 99.6% (263 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/

* Translated using Weblate (Indonesian)

Currently translated at 36.3% (97 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 34.0% (91 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (Indonesian)

Currently translated at 33.7% (90 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/

* Translated using Weblate (German)

Currently translated at 98.1% (262 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 72.6% (194 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2017-09-24 00:28:40 +02:00
Allan Nordhøy
2368d8b790 Translated using Weblate (Norwegian Bokmål)
Currently translated at 72.6% (194 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb/
2017-09-18 01:07:57 +02:00
Murgl Gurgl
66fb20a0e5 Translated using Weblate (German)
Currently translated at 98.1% (262 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2017-09-16 00:46:12 +02:00
Weblate
6b974449fd Merge remote-tracking branch 'origin/master' 2017-09-13 11:15:11 +02:00
JC Brand
6a4b62de0e Fix links 2017-09-13 11:14:58 +02:00
Weblate
7cdb0df4e9 Merge remote-tracking branch 'origin/master' 2017-09-13 11:12:35 +02:00
JC Brand
8d0cf8fa8c Update setup and integration docs 2017-09-13 11:12:15 +02:00
Weblate
ceaab522ee Merge remote-tracking branch 'origin/master' 2017-09-08 18:19:04 +02:00
JC Brand
f908463ab9 Clear connection feedback after login 2017-09-08 18:18:55 +02:00
Weblate
b13f467e80 Merge remote-tracking branch 'origin/master' 2017-09-08 14:24:50 +02:00
Theodore Fabian Rudy
eb67e92845 Translated using Weblate (Indonesian)
Currently translated at 33.7% (90 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2017-09-08 14:24:50 +02:00
JC Brand
bd913734e4 Don't hang indefinitely + nicer error messages
when a connection can't be established.
2017-09-08 14:24:38 +02:00
Imam Ilham Khawarizma
078b75ad12 Translated using Weblate (Indonesian)
Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2017-09-07 12:46:26 +02:00
Weblate
36c1f9351d Merge remote-tracking branch 'origin/master' 2017-09-05 13:21:20 +02:00
JC Brand
f120103c55 Remove never used sphinx options 2017-09-05 13:21:06 +02:00
Weblate
0bf29a1989 Merge remote-tracking branch 'origin/master' 2017-09-05 09:28:26 +02:00
Marc Laporte
e11be0016b Tiki Wiki CMS Groupware now bundles ConverseJS (#919)
In Tiki, features are built-in (but optional) to avoid http://pluginproblems.com/
2017-09-05 09:28:22 +02:00
Weblate
53443461d6 Merge remote-tracking branch 'origin/master' 2017-09-04 16:19:37 +02:00
Theodore Fabian Rudy
b888ba2004 Translated using Weblate (Indonesian)
Currently translated at 32.9% (88 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2017-09-04 16:19:36 +02:00
JC Brand
66ef67a589 Add setup diagram to docs 2017-09-04 16:19:12 +02:00
Weblate
a934179a09 Merge remote-tracking branch 'origin/master' 2017-09-04 11:50:31 +02:00
JC Brand
9008a1d4d4 Move license to repo root 2017-09-04 11:50:15 +02:00
Weblate
310c193672 Merge remote-tracking branch 'origin/master' 2017-09-04 09:54:39 +02:00
JC Brand
36e02fb30b Add doc section on dealing with asynchronicity in plugins 2017-09-04 09:54:18 +02:00
Weblate
c41d4e7c00 Merge remote-tracking branch 'origin/master' 2017-09-04 09:25:20 +02:00
JC Brand
c6839479c3 Mention plugin arch in readme.
Also, turn the sections about the fiddle example and the generator into notes.
2017-09-04 09:24:38 +02:00
Weblate
50f6b323e9 Merge remote-tracking branch 'origin/master' 2017-09-04 09:13:34 +02:00
JC Brand
8416143c65 Height fix for document sidebar 2017-09-04 09:13:23 +02:00
Weblate
da41441ae9 Merge remote-tracking branch 'origin/master' 2017-09-04 09:10:06 +02:00
JC Brand
3d0f2ce645 Use CDN to serve scripts 2017-09-04 09:09:48 +02:00
JC Brand
e9c1d175d8 Merge branch 'master' of github.com:jcbrand/converse.js 2017-09-04 08:52:40 +02:00
Weblate
f7d1d5c784 Merge remote-tracking branch 'origin/master' 2017-09-04 07:51:20 +02:00
JC Brand
38e6012f06 Mention the Yeoman plugin generator 2017-09-04 07:51:02 +02:00
JC Brand
061832df41 Show documentation TOC in a left sidebar 2017-09-04 07:28:47 +02:00
Weblate
97ccb6c4e8 Merge remote-tracking branch 'origin/master' 2017-09-03 22:13:04 +02:00
Imam Ilham Khawarizma
c6c9bb3fe9 Translated using Weblate (Indonesian)
Currently translated at 34.0% (91 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2017-09-03 22:13:04 +02:00
JC Brand
462a489058 Don't unnecessarily load CSS 2017-09-03 22:12:42 +02:00
JC Brand
11ff072366 Properly captitalize JavaScript 2017-09-03 22:12:17 +02:00
JC Brand
f668f2981a Update plugin example with code from the yeoman generator
Also improve the introductory text.
2017-09-03 22:10:45 +02:00
Weblate
455712f8cc Merge remote-tracking branch 'origin/master' 2017-09-02 20:00:52 +02:00
JC Brand
4104dec89b Fix emoji height (broken in Chromium 60) 2017-09-02 19:59:48 +02:00
Imam Ilham Khawarizma
ef318149c1 Translated using Weblate (Indonesian)
Currently translated at 36.3% (97 of 267 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/id/
2017-09-02 09:46:48 +02:00
JC Brand
6786d1b77d Merge branch 'master' of github.com:jcbrand/converse.js 2017-08-29 14:16:42 +02:00
Weblate
7216fae51f Merge remote-tracking branch 'origin/master' 2017-08-29 13:28:58 +02:00
JC Brand
34e214d0df New release 3.2.1 2017-08-29 13:28:34 +02:00
Weblate
2e07ec9f73 Merge remote-tracking branch 'origin/master' 2017-08-29 12:30:15 +02:00
JC Brand
c9913bf6ac Fix failing tests 2017-08-29 12:29:56 +02:00
JC Brand
e6e0fc9070 minimize: Don't trim chats prematurely.
Also, the minimized chats view now gets rendered after chat boxes are fetched,
so we need to make it check for already added and minimized chats.
2017-08-29 12:29:56 +02:00
JC Brand
b9b9689668 Fixes #912 maximize method in converse-minimize fails...
if the `controlbox` is not there.

Also, make `converse-controlbox` and `converse-muc` optional dependencies of
`converse-minimize`.
2017-08-29 12:21:53 +02:00
JC Brand
734991f1ce Fixes #907: unnecessary validation error 2017-08-29 10:32:44 +02:00
JC Brand
4da4131003 Fixes #908: narrow inVerse login form when allow_registration is false. 2017-08-29 10:23:03 +02:00
Weblate
da2502ca17 Merge remote-tracking branch 'origin/master' 2017-08-28 09:28:02 +02:00
lduburas
eef483cb4d Fix regarding ChatRoomView.getDefaultNickName() and muc_nickname_from_jid (#911)
* ChatRoomView.getDefaultNickName() when muc_nickname_from_jid  is used

Allows to overridde nickname by plugins when muc_nickname_from_jid is used.

* CHANGES.md updated
2017-08-28 09:27:59 +02:00
Weblate
b69f23512c Merge remote-tracking branch 'origin/master' 2017-08-23 12:02:24 +02:00
JC Brand
979d486935 Regenerate pot, po and json files.
Refs #909
2017-08-23 12:00:49 +02:00
JC Brand
32d574039d Translateable strings must not be template literals
xgettext doesn't support them yet, which causes errors in the pot/po files.

https://savannah.gnu.org/bugs/?50920

updates #909
2017-08-23 12:00:49 +02:00
JC Brand
6ba923223a No apparent need to use python as gettext langauage fallback 2017-08-23 11:56:40 +02:00
JC Brand
6c6b85347a Move functions out to make containing function smaller 2017-08-23 11:54:19 +02:00
Weblate
41c141e8fe Merge remote-tracking branch 'origin/master' 2017-08-23 11:05:15 +02:00
Weblate push user
b31cdd7754 Update from Weblate. (#910)
* Translated using Weblate (German and French)

Currently translated at 98.4% (260 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/

* Translated using Weblate (French)

Currently translated at 99.6% (263 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-08-23 11:05:11 +02:00
Jean-Baptiste
fa5da1ee8c Translated using Weblate (French)
Currently translated at 99.6% (263 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2017-08-23 11:02:52 +02:00
Weblate
4e331df4cb Merge remote-tracking branch 'origin/master' 2017-08-21 15:45:56 +02:00
JC Brand
ab0ec7301f Various fixes for browser that don't support ES2015
Specifically for IE11.

* Add a polyfill for String.prototype.includes
* Make sure all bundled code is transpiled
* Add IE specific fix in converse-otr.js
2017-08-21 15:43:36 +02:00
Weblate
4439fd06e1 Merge remote-tracking branch 'origin/master' 2017-08-21 12:53:22 +02:00
JC Brand
75301d2875 Bugfix. info called on object that doesn't implement interface Console 2017-08-21 12:52:18 +02:00
Weblate
b386179242 Merge remote-tracking branch 'origin/master' 2017-08-21 11:29:18 +02:00
JC Brand
016bca74b8 console.warn is not supported on FF < 52 2017-08-21 11:29:06 +02:00
Weblate
2e85bb361d Merge remote-tracking branch 'origin/master' 2017-08-16 16:32:33 +02:00
JC Brand
d70746d6ef Fix linting error 2017-08-16 16:32:25 +02:00
Weblate
ebc2995643 Merge remote-tracking branch 'origin/master' 2017-08-16 16:01:40 +02:00
JC Brand
9e8c034b42 Handle cases where Jed and/or Strophe.disco aren't available 2017-08-16 16:01:31 +02:00
Weblate
1d03e38657 Merge remote-tracking branch 'origin/master' 2017-08-16 15:19:54 +02:00
JC Brand
56c5a9c8d0 Move form utilities to form-utils.js 2017-08-16 15:19:41 +02:00
Weblate
6b09416ba6 Merge remote-tracking branch 'origin/master' 2017-08-16 15:03:58 +02:00
JC Brand
3b8c2d1b00 Various bug and timing fixes due to the previous refactoring 2017-08-16 14:16:24 +02:00
JC Brand
694eabfc0e Use promises to determine when to create the controlbox 2017-08-16 13:22:18 +02:00
JC Brand
956340aa8c Make initialized a promise and use it in the controlbox 2017-08-16 12:32:15 +02:00
JC Brand
bc6b5ca930 controlbox: Set connected immediately 2017-08-16 12:32:15 +02:00
JC Brand
273da9e876 Move chatboxes collection and overview into separate plugin 2017-08-16 12:32:15 +02:00
Weblate
d00412e120 Merge remote-tracking branch 'origin/master' 2017-08-16 10:10:50 +02:00
JC Brand
ad695c253d Trying to fix timing bug in tests (for Travis) 2017-08-16 10:10:38 +02:00
Weblate
9eaf970e8e Merge remote-tracking branch 'origin/master' 2017-08-16 09:53:47 +02:00
JC Brand
4938621048 Nicer CSS and markup for room configuration forms. 2017-08-16 09:39:13 +02:00
JC Brand
add3b8efb3 utils now no longer depends on jquery. 2017-08-16 09:05:15 +02:00
Weblate
7fcc698e4a Merge remote-tracking branch 'origin/master' 2017-08-15 21:52:19 +02:00
JC Brand
6c3aa34c23 Some work on removing jquery from converse-bookmarks 2017-08-15 21:47:06 +02:00
JC Brand
1c80fa41c8 Improved CSS for the registration form. 2017-08-15 21:46:47 +02:00
Weblate
2b64f7352f Merge remote-tracking branch 'origin/master' 2017-08-15 16:47:10 +02:00
JC Brand
3afe5eb8f3 Run the lodash converter only once. 2017-08-15 16:46:55 +02:00
Weblate
aec471f8fb Merge remote-tracking branch 'origin/master' 2017-08-15 16:37:11 +02:00
JC Brand
e4d95eb794 Don't load lodash.fp in converse-core. It's not being used there. 2017-08-15 16:36:43 +02:00
Weblate
0c70ca83ff Merge remote-tracking branch 'origin/master' 2017-08-15 10:25:11 +02:00
JC Brand
bfeb297ffc Clarify usage of locked_domain.
Also, declare it in the controlbox plugin, not in core, where it's not used.
2017-08-15 10:23:57 +02:00
flobee
ee2ab56f10 Translated using Weblate (German)
Currently translated at 98.4% (260 of 264 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/de/
2017-08-13 21:45:24 +02:00
JC Brand
f07f6e7bb7 Fix output files. 2017-08-09 18:43:05 +02:00
JC Brand
779ce605af Merge branch 'master' of github.com:jcbrand/converse.js 2017-08-09 18:24:57 +02:00
JC Brand
d6784201eb Bugfix. Uglify can't handle emojis 2017-08-09 18:24:20 +02:00
JC Brand
a717481b2c Merge branch 'master' of github.com:jcbrand/converse.js 2017-08-09 18:13:24 +02:00
JC Brand
1f0fa06ac4 New release v3.1.1
-----BEGIN PGP SIGNATURE-----
 
 iQEcBAABAgAGBQJZZoyUAAoJEKA7hNiGb/6kh7YIAOEX1Z5W5SOc5cd7hzAKQYhR
 auiOFPXHa83qbp0TtajJsKNgWzjFcPafaDv7iJuC6l+zrBRNGFvgudBX+bKiaETr
 pyqACoJPZqgpn1RSj2YkyLt4N9pQuL40B6f1n8vT0bXSQ3bWywn2mrIHOOiGsHC+
 xf72Ico4bTIX8tRQ/qStWmctLmBXEsvv8NSH046OS0RVjxUZdAB+1C9JEuM68RNr
 MoTlWLBp5O/p7CA0QQBjrlc8hOXzvaoVyNrS2RTWiIlzo55FQ4h0a0NhSyNlfQjc
 N6m2ulbeHTRQn4vA5ZM4ljVeeboNLgdNh3cNlpi0ZqqQuI3bqovZV3g6HlkK6cI=
 =KzsX
 -----END PGP SIGNATURE-----

Merge tag 'v3.1.1'

New release v3.1.1
2017-07-12 23:06:15 +02:00
966 changed files with 248272 additions and 336441 deletions

View File

@ -1,9 +0,0 @@
{
"presets": [
["env", {
"targets": {
"browsers": ["last 2 versions", "safari >= 10", "IE 11"]
}
}]
]
}

View File

@ -1,37 +1,35 @@
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6
"ecmaVersion": 2020,
"sourceType": "module",
"allowImportExportEverywhere": true
},
"env": {
"browser": true,
"jasmine": true
"jasmine": true,
"es6": true
},
"plugins": ["lodash"],
"extends": ["eslint:recommended", "plugin:lodash/canonical"],
"plugins": ["@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"globals": {
"window": true,
"sinon": true,
"Uint8Array": true,
"Promise": true,
"define": true,
"require": true
"require": true,
"sinon": true,
"window": true
},
"rules": {
"lodash/prefer-lodash-method": [2, {
"ignoreMethods": [
"find", "endsWith", "startsWith", "filter", "reduce",
"map", "replace", "toLower", "split", "trim", "forEach", "toUpperCase"
]
}],
"lodash/prefer-startswith": "off",
"lodash/prefer-constant": "off",
"lodash/prefer-noop": "off",
"lodash/prefer-lodash-typecheck": "off",
"lodash/preferred-alias": "off",
"lodash/prefer-get": "off",
"accessor-pairs": "error",
"array-bracket-spacing": "off",
"array-callback-return": "error",
"arrow-body-style": "error",
"arrow-parens": "error",
"arrow-body-style": "off",
"arrow-parens": "off",
"arrow-spacing": "error",
"block-scoped-var": "off",
"block-spacing": "off",
@ -57,7 +55,7 @@
"property"
],
"dot-notation": [
"error",
"off",
{
"allowKeywords": true
}
@ -66,6 +64,7 @@
"eqeqeq": "off",
"func-call-spacing": "off",
"no-spaced-func": "off",
"no-redeclare": "off",
"func-name-matching": "error",
"func-names": "off",
"func-style": "off",
@ -91,7 +90,7 @@
"max-depth": "error",
"max-len": "off",
"max-lines": "off",
"max-nested-callbacks": "error",
"max-nested-callbacks": "off",
"max-params": "off",
"max-statements": "off",
"max-statements-per-line": "off",
@ -102,16 +101,16 @@
"newline-per-chained-call": "off",
"no-alert": "off",
"no-array-constructor": "error",
"no-await-in-loop": "error",
"no-await-in-loop": "off",
"no-bitwise": "off",
"no-caller": "error",
"no-console": "off",
"no-catch-shadow": "error",
"no-catch-shadow": "off",
"no-cond-assign": [
"error",
"off",
"except-parens"
],
"no-confusing-arrow": "error",
"no-confusing-arrow": "off",
"no-continue": "off",
"no-div-regex": "error",
"no-duplicate-imports": "error",
@ -149,7 +148,7 @@
"no-negated-condition": "off",
"no-negated-in-lhs": "error",
"no-nested-ternary": "off",
"no-new": "error",
"no-new": "off",
"no-new-func": "error",
"no-new-object": "error",
"no-new-require": "error",
@ -158,7 +157,7 @@
"no-param-reassign": "off",
"no-path-concat": "error",
"no-plusplus": "off",
"no-process-env": "error",
"no-process-env": "off",
"no-process-exit": "error",
"no-proto": "error",
"no-prototype-builtins": "error",
@ -185,12 +184,13 @@
"no-underscore-dangle": "off",
"no-unmodified-loop-condition": "error",
"no-unneeded-ternary": "off",
"no-unused-vars": "off",
"no-unused-vars": "error",
"no-unused-expressions": "off",
"no-use-before-define": "off",
"no-useless-call": "error",
"no-useless-catch": "off",
"no-useless-computed-key": "error",
"no-useless-concat": "error",
"no-useless-concat": "off",
"no-useless-constructor": "error",
"no-useless-escape": "off",
"no-useless-rename": "error",
@ -203,7 +203,7 @@
"object-curly-newline": "off",
"object-curly-spacing": "off",
"object-property-newline": [
"error",
"off",
{
"allowMultiplePropertiesPerLine": true
}
@ -212,10 +212,7 @@
"one-var": "off",
"one-var-declaration-per-line": "off",
"operator-assignment": "off",
"operator-linebreak": [
"error",
"after"
],
"operator-linebreak": "off",
"padded-blocks": "off",
"prefer-arrow-callback": "off",
"prefer-const": "error",
@ -227,7 +224,7 @@
}
],
"prefer-numeric-literals": "error",
"prefer-promise-reject-errors": "error",
"prefer-promise-reject-errors": "off",
"prefer-reflect": "off",
"prefer-rest-params": "off",
"prefer-spread": "off",
@ -238,12 +235,13 @@
"error",
"always"
],
"require-atomic-updates": "off",
"require-await": "error",
"require-jsdoc": "off",
"rest-spread-spacing": "error",
"semi": "off",
"semi-spacing": "off",
"sort-imports": "error",
"sort-imports": "off",
"sort-keys": "off",
"sort-vars": "off",
"space-before-blocks": "off",
@ -254,7 +252,7 @@
"spaced-comment": "off",
"strict": "off",
"symbol-description": "error",
"template-curly-spacing": "error",
"template-curly-spacing": "off",
"unicode-bom": [
"error",
"never"

28
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,28 @@
# Contribution Guidelines
Thanks for contributing to [Converse.js](https://conversejs.org)
## Support questions
The Github issue tracker is used for bug reports and feature requests, not for general tech support.
For support, you can join our [XMPP webchat](https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org).
Instead of the webchat, you can also open the room in your XMPP client, [click here](xmpp://discuss@conference.conversejs.org?join).
You can also ask questions on [StackOverflow](https://stackoverflow.com/questions/tagged/converse.js)
## Contributing Code
Please follow the usual Github workflow. Create a fork of this repository, make your changes and then submit a pull request.
### Before submitting a pull request
Please read the [style guide](https://conversejs.org/docs/html/style_guide.html) and make sure that your code follows it.
### Add tests for your bugfix or feature
Add a test for any bug fixed or feature added.
Tests can be found in various `./tests` folders in the Converse source code.
To run the tests, you can run `make check` on Linux and Mac, or `./node_modules/bin/karma start karma.conf` on Windows.

View File

@ -1,37 +0,0 @@
=======================
Contribution Guidelines
=======================
Thanks for contributing to `Converse.js <http://conversejs.org>`_.
Support questions
=================
Please ask support and setup questions on the mailing list: conversejs@librelist.com
The issue tracker is only for bugs (i.e. issues) and feature requests.
Contributing Code
=================
Please follow the usual github workflow. Create your own local fork of this repository,
make your changes and then submit a pull request.
Before submitting a pull request
--------------------------------
Please read the `style guide <https://conversejs.org/docs/html/style_guide.html>`_ and make sure that your code follows it.
Add tests for your bugfix or feature
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a test for any bug fixed or feature added. We use Jasmine
for testing.
Take a look at `tests.html <https://github.com/jcbrand/converse.js/blob/master/tests.html>`_
and the `spec files <https://github.com/jcbrand/converse.js/blob/master/tests.html>`_
to see how tests are implemented.
Check that the tests pass
~~~~~~~~~~~~~~~~~~~~~~~~~
Check that all tests complete sucessfully.
Run ``make check`` in your terminal or open `tests.html <https://github.com/jcbrand/converse.js/blob/master/tests.html>`_
in your browser.

4
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,4 @@
# These are supported funding model platforms
patreon: jcbrand
liberapay: jcbrand

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Environment (please complete the following information):**
- Desktop or Mobile?
- Browser [e.g. Chrome, Firefox]
- Converse.js version [e.g. 4.2.0]
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -2,7 +2,7 @@ Thanks for making a pull request to converse.js!
Before submitting your request, please make sure the following conditions are met:
- [ ] Add a changelog entry for your change in `docs/CHANGES.md`
- [ ] Add a changelog entry for your change in `CHANGES.md`
- [ ] When adding a configuration variable, please make sure to
document it in `docs/source/configuration.rst`
- [ ] Please add a test for your change. Tests can be run in the commandline

2
.github/codeql-config.yml vendored Normal file
View File

@ -0,0 +1,2 @@
paths-ignore:
- '**/tests/*.js'

61
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,61 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
ignore:
- dependency-name: mini-css-extract-plugin
versions:
- 1.3.5
- 1.3.6
- 1.3.7
- 1.3.8
- 1.3.9
- 1.4.0
- 1.4.1
- 1.5.0
- dependency-name: css-loader
versions:
- 5.0.1
- 5.0.2
- 5.1.0
- 5.1.1
- 5.1.2
- 5.1.3
- 5.2.0
- 5.2.1
- dependency-name: y18n
versions:
- 4.0.2
- dependency-name: sinon
versions:
- 10.0.0
- 9.2.4
- dependency-name: bootstrap
versions:
- 4.6.0
- dependency-name: "@babel/plugin-proposal-nullish-coalescing-operator"
versions:
- 7.12.1
- 7.12.13
- 7.13.0
- 7.13.8
- dependency-name: webpack-cli
versions:
- 4.4.0
- 4.5.0
- dependency-name: webpack-merge
versions:
- 5.7.3
- dependency-name: xmldom
versions:
- 0.5.0
- dependency-name: urijs
versions:
- 1.19.4
- 1.19.6
- dependency-name: sass-loader
versions:
- 10.1.1

43
.github/workflows/codeql.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: "CodeQL"
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
schedule:
- cron: "11 18 * * 6"
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ javascript ]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
config-file: ./.github/codeql-config.yml
languages: ${{ matrix.language }}
queries: +security-and-quality
- name: Autobuild
uses: github/codeql-action/autobuild@v2
if: ${{ matrix.language == 'javascript' }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{ matrix.language }}"

34
.github/workflows/karma-tests.yml vendored Normal file
View File

@ -0,0 +1,34 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: CI Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
env:
DISPLAY: :99.0
strategy:
matrix:
node-version: [18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Run Karma tests
uses: GabrielBB/xvfb-action@v1
with:
run: make check ARGS=--single-run

47
.gitignore vendored
View File

@ -1,9 +1,16 @@
# Distribution directory
dist
# conversejs/media repo checkout
media
# Editor fluff
*~
.sw?
*.mo
*.kpf
.*.sw?
.*.cfg
.hg/
.bzr/
.svn/
@ -11,34 +18,38 @@
.pydevproject
.idea
.su?
builds/*
.sass-cache
pip-selfcheck.json
3rdparty/libsignal-protocol-javascript/
*.map
locale.zip
sounds.zip
analytics.js
inverse-analytics.js
# python/buildout
# virtualenv/python/buildout
.*.cfg
eggs
.Python
build
share
parts
*.pyc
*.egg-info
lib
lib64
include
bin
develop-eggs
pyvenv.cfg
dev-jc.html
inverse-dev.html
inverse-dev-jc.html
converse-logs/*.html
# Ruby/Sass/Bundler
.bundle
.sass-cache
ruby
bourbon
Backbone.Overview
tags
stamp-npm
stamp-bundler
transpile
# Sphinx
docs/html
@ -47,12 +58,6 @@ docs/doctrees
# Node.js
node_modules
# Virtualenv/Buildout
lib
include
bin
develop-eggs
# OSX
.DS_Store

1
.nvmrc Normal file
View File

@ -0,0 +1 @@
v18.15.0

7
.prettierrc Normal file
View File

@ -0,0 +1,7 @@
{
"printWidth": 120,
"quoteProps": "preserve",
"singleQuote": true,
"spaceBeforeFunctionParen": true,
"tabWidth": 4
}

View File

@ -1,13 +0,0 @@
dist: trusty
language: node_js
cache:
directories:
- node_modules
addons:
chrome: stable
node_js:
- 6
install: make stamp-npm
before_script: make serve_bg
script: make check
sudo: false

1708
3rdparty/bigint.js vendored

File diff suppressed because it is too large Load Diff

36541
3rdparty/libsignal-protocol.js vendored Normal file

File diff suppressed because one or more lines are too long

1
3rdparty/libsignal-protocol.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1042
3rdparty/lodash.fp.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,32 +0,0 @@
/*
* This file specifies the supported locales for moment.js.
*
* Translations take up a lot of space and you are therefore advised to remove
* from here any languages that you don't need.
*
* See also src/locales.js
*/
(function (root, factory) {
define("moment_with_locales", [
'moment', // Everything below can be removed except for moment itself.
'moment/locale/af',
'moment/locale/de',
'moment/locale/es',
'moment/locale/fr',
'moment/locale/he',
'moment/locale/hu',
'moment/locale/id',
'moment/locale/it',
'moment/locale/ja',
'moment/locale/nb',
'moment/locale/nl',
'moment/locale/pl',
'moment/locale/pt-br',
'moment/locale/ru',
'moment/locale/uk',
// 'moment/locale/zh' (No longer in locales, now only with
// country codes, e.g. zh-cn.js zh-hk.js zh-tw.js).
], function (moment) {
return moment;
});
})(this);

1025
CHANGES.md Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@
*
* An XMPP chat client that runs in the browser.
*
* Version: 3.2.0-rc
* Version: 10.1.6
*
* Copyright: JC Brand 2012-2017
* Copyright: JC Brand 2013-2018
* Except for 3rd party dependencies.
* Please refer to the unminified version of this file for details.
*
* You can download it at: https://github.com/jcbrand/converse.js/releases
* You can download it at: https://github.com/conversejs/converse.js/releases
*/

View File

@ -1,2 +0,0 @@
source 'https://rubygems.org'
gem 'sass', '~> 3.3'

View File

@ -1,13 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
sass (3.4.14)
PLATFORMS
ruby
DEPENDENCIES
sass (~> 3.3)
BUNDLED WITH
1.10.3

View File

@ -1,18 +0,0 @@
module.exports = function(grunt) {
grunt.initConfig({
json: {
main: {
options: {
namespace: 'locales',
includePath: true,
processName: function(filename) {
return filename.toLowerCase().match(/^locale\/(.*)\/lc_messages/)[1];
}
},
src: ['locale/**/LC_MESSAGES/*.json'],
dest: 'dist/locales.js'
}
}
});
grunt.loadNpmTasks('grunt-json');
};

357
Makefile
View File

@ -1,266 +1,269 @@
# You can set these variables from the command line.
UGLIFYJS ?= node_modules/.bin/uglifyjs
BABEL ?= node_modules/.bin/babel
BOURBON_TEMPLATES = ./node_modules/bourbon/app/assets/stylesheets/
BOOTSTRAP = ./node_modules/
BUILDDIR = ./docs
BUNDLE ?= ./.bundle/bin/bundle
CHROMIUM ?= ./node_modules/.bin/run-headless-chromium
CLEANCSS ?= ./node_modules/clean-css-cli/bin/cleancss --skip-rebase
ESLINT ?= ./node_modules/.bin/eslint
GRUNT ?= ./node_modules/.bin/grunt
KARMA ?= ./node_modules/.bin/karma
CLEANCSS ?= ./node_modules/clean-css-cli/bin/cleancss
HTTPSERVE ?= ./node_modules/.bin/http-server
HTTPSERVE_PORT ?= 8000
INKSCAPE ?= inkscape
INSTALL ?= install
JSDOC ?= ./node_modules/.bin/jsdoc
OXIPNG ?= oxipng
PAPER =
PO2JSON ?= ./node_modules/.bin/po2json
RJS ?= ./node_modules/.bin/r.js
SASS ?= ./.bundle/bin/sass
SPHINXBUILD ?= ./bin/sphinx-build
NPX ?= ./node_modules/.bin/npx
SASS ?= ./node_modules/.bin/sass
SED ?= sed
SPHINXBUILD ?= ./bin/sphinx-build
SPHINXOPTS =
XGETTEXT = xgettext
# Internal variables.
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) ./docs/source
VERSION_FORMAT = [0-9]+\.[0-9]+\.[0-9]+
.PHONY: all
all: dev dist
all: node_modules dist
.PHONY: help
help:
@echo "Please use \`make <target>' where <target> is one of the following:"
@echo ""
@echo " all A synonym for 'make dev'."
@echo " build Create minified builds of converse.js and all its dependencies."
@echo " changes Make an overview of all changed/added/deprecated items added to the documentation."
@echo " clean Remove downloaded the stamp-* guard files as well as all NPM and Ruby packages."
@echo " css Generate CSS from the Sass files."
@echo " dev Set up the development environment. To force a fresh start, run 'make clean' first."
@echo " epub Export the documentation to epub."
@echo " html Make standalone HTML files of the documentation."
@echo " doc Same as "doc". Make standalone HTML files of the documentation."
@echo " linkcheck Check all documentation external links for integrity."
@echo " all Set up dev environment and create all builds"
@echo " dist Create minified builds of converse.js and all its dependencies."
@echo " clean Remove all NPM packages."
@echo " check Run all tests."
@echo " dev Set up the development environment and build unminified resources. To force a fresh start, run 'make clean' first."
@echo " devserver Set up the development environment and start the webpack dev server."
@echo " doc Make standalone HTML files of the documentation."
@echo " po Generate gettext PO files for each i18n language."
@echo " po2json Generate JSON files from the language PO files."
@echo " pot Generate a gettext POT file to be used for translations."
@echo " release Prepare a new release of converse.js. E.g. make release VERSION=0.9.5"
@echo " serve Serve this directory via a webserver on port 8000."
@echo " stamp-npm Install NPM dependencies and create the guard file stamp-npm which will prevent those dependencies from being installed again."
@echo " stamp-bundler Install Bundler (Ruby) dependencies and create the guard file stamp-bundler which will prevent those dependencies from being installed again."
@echo " watch Tells Sass to watch the .scss files for changes and then automatically update the CSS files."
@echo " serve_bg Same as \"serve\", but do it in the background"
@echo " node_modules Install NPM dependencies"
@echo " watch Watch for changes on JS and scss files and automatically update the generated files."
@echo " logo Generate PNG logos of multiple sizes."
########################################################################
## Miscellaneous
.PHONY: serve
serve: dev
$(HTTPSERVE) -p 8000 -c-1
serve: node_modules dist
$(HTTPSERVE) -p $(HTTPSERVE_PORT) -c-1
.PHONY: serve_bg
serve_bg: dev
$(HTTPSERVE) -p 8000 -c-1 -s &
serve_bg: node_modules
$(HTTPSERVE) -p $(HTTPSERVE_PORT) -c-1 -s &
certs:
mkdir certs
cd certs && openssl req -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out chat.example.org.crt -keyout chat.example.org.key
########################################################################
## Translation machinery
GETTEXT = xgettext --keyword=__ --keyword=___ --from-code=UTF-8 --output=locale/converse.pot src/*.js --package-name=Converse.js --copyright-holder="Jan-Carel Brand" --package-version=3.2.0-rc -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=10.1.6 dist/converse-no-dependencies.js -c
src/i18n/converse.pot: dist/converse-no-dependencies.js
$(GETTEXT) 2>&1 > /dev/null; exit $$?;
rm dist/converse-no-dependencies.js
rm dist/tmp.css
.PHONY: pot
pot:
$(GETTEXT) --language="javascript" 2>&1 > /dev/null; test $$? -eq 0 && exit 0 || $(GETTEXT) --language="python" && exit $$?;
pot: src/i18n/converse.pot
.PHONY: po
po:
find ./locale -maxdepth 1 -mindepth 1 -type d -exec msgmerge {}/LC_MESSAGES/converse.po ./locale/converse.pot -U \;
.PHONY: po2json
po2json:
find ./locale -maxdepth 1 -mindepth 1 -type d -exec $(PO2JSON) -p -f jed -d converse {}/LC_MESSAGES/converse.po {}/LC_MESSAGES/converse.json \;
find ./src/i18n -maxdepth 1 -mindepth 1 -type d -exec msgmerge {}/LC_MESSAGES/converse.po ./src/i18n/converse.pot -U \;
########################################################################
## Release management
.PHONY: release
release:
$(SED) -ri s/Version:\ [0-9]\+\.[0-9]\+\.[0-9]\+/Version:\ $(VERSION)/ COPYRIGHT
$(SED) -ri s/Version:\ [0-9]\+\.[0-9]\+\.[0-9]\+/Version:\ $(VERSION)/ src/start.frag
$(SED) -ri s/Project-Id-Version:\ Converse\.js\ [0-9]\+\.[0-9]\+\.[0-9]\+/Project-Id-Version:\ Converse.js\ $(VERSION)/ locale/converse.pot
$(SED) -ri s/\"version\":\ \"[0-9]\+\.[0-9]\+\.[0-9]\+\"/\"version\":\ \"$(VERSION)\"/ bower.json
$(SED) -ri s/\"version\":\ \"[0-9]\+\.[0-9]\+\.[0-9]\+\"/\"version\":\ \"$(VERSION)\"/ package.json
$(SED) -ri s/--package-version=[0-9]\+\.[0-9]\+\.[0-9]\+/--package-version=$(VERSION)/ Makefile
$(SED) -ri s/v[0-9]\+\.[0-9]\+\.[0-9]\+\.zip/v$(VERSION)\.zip/ index.html
$(SED) -ri s/v[0-9]\+\.[0-9]\+\.[0-9]\+\.tar\.gz/v$(VERSION)\.tar\.gz/ index.html
$(SED) -ri s/version\ =\ \'[0-9]\+\.[0-9]\+\.[0-9]\+\'/version\ =\ \'$(VERSION)\'/ docs/source/conf.py
$(SED) -ri s/release\ =\ \'[0-9]\+\.[0-9]\+\.[0-9]\+\'/release\ =\ \'$(VERSION)\'/ docs/source/conf.py
$(SED) -ri "s/(Unreleased)/`date +%Y-%m-%d`/" CHANGES.md
.PHONY: version
version:
$(SED) -i '/^export const VERSION_NAME =/s/=.*/= "v$(VERSION)";/' src/headless/shared/constants.js
$(SED) -i '/Version:/s/:.*/: $(VERSION)/' COPYRIGHT
$(SED) -i '/Project-Id-Version:/s/:.*/: Converse.js $(VERSION)\n"/' src/i18n/converse.pot
$(SED) -i '/"version":/s/:.*/: "$(VERSION)",/' manifest.json
$(SED) -i '/"version":/s/:.*/: "$(VERSION)",/' package.json
$(SED) -i '/"version":/s/:.*/: "$(VERSION)",/' src/headless/package.json
$(SED) -ri 's/--package-version=$(VERSION_FORMAT)/--package-version=$(VERSION)/' Makefile
$(SED) -i -e "/version =/s/=.*/= '$(VERSION)'/" -e "/release =/s/=.*/= '$(VERSION)'/" docs/source/conf.py
$(SED) -i "s/[Uu]nreleased/`date +%Y-%m-%d`/" CHANGES.md
$(SED) -ri 's,cdn.conversejs.org/$(VERSION_FORMAT),cdn.conversejs.org/$(VERSION),' docs/source/quickstart.rst
$(SED) -ri 's,cdn.conversejs.org/$(VERSION_FORMAT),cdn.conversejs.org/$(VERSION),' *.html
$(SED) -ri 's,cdn.conversejs.org/$(VERSION_FORMAT),cdn.conversejs.org/$(VERSION),' demo/*.html
make pot
make po
make po2json
make build
make dist
release-checkout:
git clone git@github.com:conversejs/converse.js.git --depth 1 --branch $(BRANCH) release-$(BRANCH)
cd release-$(BRANCH) && make dist
.PHONY: publish
publish:
make release-checkout
cd release-$(BRANCH) && npm pack && npm publish
cd release-$(BRANCH)/src/headless && npm pack && npm publish
find ./release-$(BRANCH)/ -name "converse.js-*.tgz" -exec mv {} . \;
find ./release-$(BRANCH)/src/headless -name "converse-headless-*.tgz" -exec mv {} . \;
rm -rf release-$(BRANCH)
.PHONY: postrelease
postrelease:
$(SED) -i '/^export const VERSION_NAME =/s/=.*/= "v$(VERSION)dev";/' src/headless/shared/constants.js
.PHONY: deploy
deploy:
git clone --branch v$(VERSION) git@github.com:conversejs/converse.js.git --depth 1 $(VERSION)
cd $(VERSION) && make node && ASSET_PATH=https://cdn.conversejs.org/$(VERSION)/dist/ make dist && make doc
cd .. && git pull && make node && ASSET_PATH=https://cdn.conversejs.org/dist/ make dist && make doc
########################################################################
## Install dependencies
stamp-npm: package.json
npm install && touch stamp-npm
${NVM_DIR}/nvm.sh:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
source ~/.bashrc
stamp-bundler: Gemfile
mkdir -p .bundle
gem install --user bundler --bindir .bundle/bin
$(BUNDLE) install --path .bundle --binstubs .bundle/bin
touch stamp-bundler
.PHONY: nvm
nvm: ${NVM_DIR}/nvm.sh
.PHONY: node
node: .nvmrc
. $(HOME)/.nvm/nvm.sh && nvm install
node_modules: package.json src/headless/package.json
npm install
.PHONY: clean
clean:
-rm -f stamp-npm stamp-bundler package-lock.json
-rm -rf node_modules .bundle
npm run clean
rm -rf lib bin include parts
.PHONY: dev
dev: stamp-bundler stamp-npm
dev: node_modules
npm run dev
.PHONY: devserver
devserver: node_modules
npm run serve
########################################################################
## Builds
.PHONY: css
css: sass/*.scss css/converse.css css/converse.min.css css/mobile.min.css css/theme.min.css css/converse-muc-embedded.min.css css/inverse.css css/inverse.min.css
dist/converse-no-dependencies.js: src webpack/webpack.common.js webpack/webpack.nodeps.js @converse/headless node_modules
npm run nodeps
css/inverse.css:: stamp-bundler sass sass/*
$(SASS) -I $(BOURBON_TEMPLATES) sass/inverse/inverse.scss css/inverse.css
dist/converse.js:: node_modules
npm run build
css/inverse.min.css:: css/inverse.css
$(CLEANCSS) css/inverse.css > css/inverse.min.css
dist/converse.css:: node_modules
npm run build
css/converse-muc-embedded.css:: stamp-bundler sass/*
$(SASS) -I $(BOURBON_TEMPLATES) sass/_muc_embedded.scss css/converse-muc-embedded.css
dist/website.css:: node_modules src/shared/styles/website.scss
$(SASS) --load-path=$(BOOTSTRAP) src/shared/styles/website.scss $@
css/converse-muc-embedded.min.css:: stamp-bundler sass css/converse-muc-embedded.css
$(CLEANCSS) css/converse-muc-embedded.css > css/converse-muc-embedded.min.css
css/converse.css:: stamp-bundler sass/*
$(SASS) -I $(BOURBON_TEMPLATES) sass/converse/converse.scss css/converse.css
css/converse.min.css:: css/converse.css
$(CLEANCSS) css/converse.css > css/converse.min.css
css/theme.min.css:: stamp-npm css/theme.css
$(CLEANCSS) css/theme.css > css/theme.min.css
css/mobile.min.css:: stamp-npm sass/*
$(CLEANCSS) css/mobile.css > css/mobile.min.css
dist/website.min.css:: node_modules dist/website.css
$(CLEANCSS) dist/website.css > $@
.PHONY: watch
watch: stamp-bundler
$(SASS) --watch -I ./node_modules/bourbon/app/assets/stylesheets/ sass/converse/converse.scss:css/converse.css sass/_muc_embedded.scss:css/converse-muc-embedded.css sass/inverse/inverse.scss:css/inverse.css
watch: node_modules
npm run watch
.PHONY: watchjs
watchjs: stamp-npm
$(BABEL) --source-maps --watch=./src --out-dir=./builds
.PHONY: logo
logo: logo/conversejs-transparent16.png \
logo/conversejs-transparent19.png \
logo/conversejs-transparent48.png \
logo/conversejs-transparent128.png \
logo/conversejs-transparent512.png \
logo/conversejs-filled16.png \
logo/conversejs-filled19.png \
logo/conversejs-filled48.png \
logo/conversejs-filled128.png \
logo/conversejs-filled512.png \
.PHONY: transpile
transpile: stamp-npm
$(BABEL) --source-maps --out-dir=./builds ./src
logo/conversejs-transparent%.png:: logo/conversejs-transparent.svg
$(INKSCAPE) -e $@ -w $* $<
$(OXIPNG) $@
BUILDS = dist/converse.js \
dist/converse.min.js \
dist/converse-esnext.js \
dist/converse-esnext.min.js \
dist/inverse.js \
dist/inverse.min.js \
dist/converse-mobile.js \
dist/converse-mobile.min.js \
dist/converse-muc-embedded.js \
dist/converse-muc-embedded.min.js \
dist/converse-no-jquery.js \
dist/converse-no-jquery.min.js \
dist/converse-no-dependencies.min.js \
dist/converse-no-dependencies.js
logo/conversejs-filled%.png:: logo/conversejs-filled.svg
$(INKSCAPE) -e $@ -w $* $<
$(OXIPNG) $@
dist/converse.js: transpile src locale node_modules *.js
$(RJS) -o src/build.js include=converse out=dist/converse.js optimize=none
dist/converse.min.js: src locale node_modules *.js
$(UGLIFYJS) --verbose dist/converse.js -o dist/converse.min.js
cat COPYRIGHT > tmpfile && cat dist/converse.min.js >> tmpfile && mv tmpfile dist/converse.min.js
dist/converse-esnext.js: src locale node_modules *.js transpile
$(RJS) -o src/build-esnext.js include=converse out=dist/converse-esnext.js optimize=none
dist/converse-esnext.min.js: src locale node_modules *.js transpile
$(UGLIFYJS) --verbose dist/converse-esnext.js -o dist/converse-esnext.min.js
cat COPYRIGHT > tmpfile && cat dist/converse-esnext.min.js >> tmpfile && mv tmpfile dist/converse-esnext.min.js
dist/inverse.js: transpile src locale node_modules *.js
$(RJS) -o src/build-inverse.js include=inverse out=dist/inverse.js optimize=none
dist/inverse.min.js: src locale node_modules *.js
$(UGLIFYJS) --verbose dist/inverse.js -o dist/inverse.min.js
cat COPYRIGHT > tmpfile && cat dist/inverse.min.js >> tmpfile && mv tmpfile dist/inverse.min.js
dist/converse-no-jquery.js: transpile src locale node_modules *.js
$(RJS) -o src/build.js include=converse wrap.endFile=end-no-jquery.frag exclude=jquery exclude=jquery.noconflict out=dist/converse-no-jquery.js optimize=none
dist/converse-no-jquery.min.js: src locale node_modules *.js transpile
$(UGLIFYJS) --verbose dist/converse-no-jquery.js -o dist/converse-no-jquery.min.js
cat COPYRIGHT > tmpfile && cat dist/converse-no-jquery.min.js >> tmpfile && mv tmpfile dist/converse-no-jquery.min.js
dist/converse-no-dependencies.js: transpile src locale node_modules *.js
$(RJS) -o src/build-no-dependencies.js optimize=none out=dist/converse-no-dependencies.js
dist/converse-no-dependencies.min.js: src locale node_modules *.js
$(UGLIFYJS) --verbose dist/converse-no-dependencies.js -o dist/converse-no-dependencies.min.js
cat COPYRIGHT > tmpfile && cat dist/converse-no-dependencies.min.js >> tmpfile && mv tmpfile dist/converse-no-dependencies.min.js
dist/converse-mobile.js: transpile src locale node_modules *.js
$(RJS) -o src/build.js paths.converse=src/converse-mobile include=converse out=dist/converse-mobile.js optimize=none
dist/converse-mobile.min.js: src locale node_modules *.js
$(UGLIFYJS) --verbose dist/converse-mobile.js -o dist/converse-mobile.min.js
cat COPYRIGHT > tmpfile && cat dist/converse-mobile.min.js >> tmpfile && mv tmpfile dist/converse-mobile.min.js
dist/converse-muc-embedded.js: transpile src locale node_modules *.js
$(RJS) -o src/build.js paths.converse=src/converse-embedded include=converse out=dist/converse-muc-embedded.js optimize=none
dist/converse-muc-embedded.min.js: src locale node_modules *.js
$(UGLIFYJS) --verbose dist/converse-muc-embedded.js -o dist/converse-muc-embedded.min.js
cat COPYRIGHT > tmpfile && cat dist/converse-muc-embedded.min.js >> tmpfile && mv tmpfile dist/converse-muc-embedded.min.js
@converse/headless: src/headless
.PHONY: jsmin
jsmin: $(BUILDS)
src/headless/dist/converse-headless.js: src webpack/webpack.common.js node_modules @converse/headless
npm run headless-dev
.PHONY: dist
dist:: build
src/headless/dist/converse-headless.min.js: src webpack/webpack.common.js node_modules @converse/headless
npm run headless
.PHONY: build
build:: dev css transpile
$(GRUNT) json
make jsmin
dist:: node_modules src/* | dist/website.css dist/website.min.css
npm run headless
# Ideally this should just be `npm run build`.
# The additional steps are necessary to properly generate JSON chunk files
# from the .po files. The nodeps config uses preset-env with IE11.
# Somehow this is necessary.
npm run nodeps
$(eval TMPD := $(shell mktemp -d))
mv dist/locales $(TMPD) && \
npm run build && \
mv $(TMPD)/locales/*-po.js dist/locales/ && \
rm -rf $(TMPD)
.PHONY: install
install:: dist
.PHONY: cdn
cdn:: node_modules
npm run cdn
.PHONY: types
types:: node_modules
npm run types
########################################################################
## Tests
.PHONY: eslint
eslint: stamp-npm
$(ESLINT) src/
$(ESLINT) spec/
eslint: node_modules
npm run lint
.PHONY: check
check: eslint
LOG_CR_VERBOSITY=INFO $(CHROMIUM) http://localhost:8000/tests.html
check: eslint | dist/converse.js dist/converse.css
npm run test -- $(ARGS)
.PHONY: test
test:
npm run test -- $(ARGS)
########################################################################
## Documentation
./bin/activate:
python3 -m venv .
.PHONY: docsdev
docsdev: ./bin/activate requirements.txt
./bin/pip install --upgrade pip==21.3.1
./bin/pip install -r requirements.txt
.PHONY: html
html:
html: doc
.PHONY: doc
doc: node_modules docsdev apidoc
rm -rf $(BUILDDIR)/html
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
make apidoc
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
.PHONY: html
doc: html
.PHONY: epub
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
.PHONY: changes
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
.PHONY: linkcheck
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
PHONY: apidoc
apidoc:
find ./src -type d -name node_modules -prune -false -o -name "*.js" | xargs $(JSDOC) --private --readme docs/source/jsdoc_intro.md -c docs/source/conf.json -d docs/html/api

View File

@ -1,71 +0,0 @@
# You can set these variables from the command line.
GRUNT ?= node_modules\.bin\grunt.cmd
BOWER ?= node_modules\.bin\bower.cmd
PHANTOMJS ?= node_modules\.bin\phantomjs.cmd
RJS ?= ./node_modules/.bin/r.js.cmd
SASS ?= sass
RMRF ?= rmdir /q /s
RMF ?= del /q
HTTPSERVE ?= ./node_modules/.bin/http-server.cmd
.PHONY: all help clean css minjs build
all: dev
help:
@echo "Please use \`make <target>' where <target> is one of the following"
@echo " dev to set up the development environment"
@echo " build create minified builds containing converse.js and all its dependencies"
@echo " serve to serve this directory via a webserver on port 8000"
########################################################################
## Miscellaneous
serve:
$(HTTPSERVE) -p 8000
########################################################################
## Install dependencies
stamp-npm: package.json
npm install
$(GRUNT) touch:npm
stamp-bower: stamp-npm bower.json
$(BOWER) install
$(GRUNT) touch:bower
clean::
@if EXIST stamp-npm $(RMF) stamp-npm
@if EXIST stamp-bower $(RMF) stamp-bower
@if EXIST node_modules\. $(RMRF) node_modules
@if EXIST components\. $(RMRF) components
dev: clean
npm install
$(BOWER) update
bundler install --path=.
########################################################################
## Builds
css::
$(SASS) sass/converse.scss > css/converse.css
.PHONY: build
build:: stamp-npm
$(GRUNT) jst
$(GRUNT) cssmin
$(RJS) -o src/build.js
$(RJS) -o src/build.js optimize=none out=dist/converse.js
$(RJS) -o src/build-no-jquery.js
$(RJS) -o src/build-no-jquery.js optimize=none out=dist/converse.nojquery.js
$(RJS) -o src/build-no-dependencies.js
$(RJS) -o src/build-no-dependencies.js optimize=none out=dist/converse-no-dependencies.js
########################################################################
## Tests
check:: stamp-npm
$(PHANTOMJS) node_modules/phantom-jasmine/lib/run_jasmine_test.coffee tests.html

17
README.chapril.md Normal file
View File

@ -0,0 +1,17 @@
# Construire une version Chapril de ConverseJS
```
cd .../conversejs
# La première fois, installer nvm (attention, ça va modifier le .bashrc, entre autres choses)
make nvm
export V=7.0.4
git rebase v${V?}
# [... Résoudre les conflits]
git checkout -b v${V?}-chapril
nvm install
make dist
# [... Tester les livrables présents dans dist/, et si tout est ok :]
make version VERSION=${V?}-chapril
rsync -av dist/ chapril-xmpp:/var/www/xmpp.chapril.org/public_html/dist-custom-chapril-${V?}/
```

205
README.md
View File

@ -1,33 +1,32 @@
# converse.js
<h2 align="center">
<a href="https://conversejs.org" target="_blank" rel="noopener">
<img alt="Converse.js" src="https://github.com/conversejs/converse.js/blob/master/logo/readme.png" width="480">
</a>
</h2>
[![Travis](https://api.travis-ci.org/jcbrand/converse.js.png?branch=master)](https://travis-ci.org/jcbrand/converse.js)
[![XMPP Chat](https://conference.conversejs.org/muc_badge/discuss@conference.conversejs.org)](https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org)
[![CI Tests](https://github.com/conversejs/converse.js/actions/workflows/karma-tests.yml/badge.svg)](https://github.com/conversejs/converse.js/actions/workflows/karma-tests.yml)
[![Bountysource bounties](https://img.shields.io/bountysource/team/converse.js/activity.svg?maxAge=2592000)](https://www.bountysource.com/teams/converse.js/issues?tracker_ids=194169)
[![Translation status](https://hosted.weblate.org/widgets/conversejs/-/svg-badge.svg)](https://hosted.weblate.org/engage/conversejs/?utm_source=widget)
[Converse.js](https://conversejs.org) is a web based [XMPP/Jabber](http://xmpp.org) instant messaging client.
[Converse](https://conversejs.org) is a web based [XMPP/Jabber](https://xmpp.org) chat client.
It enables you to add chat functionality to your website, independent of
any specific backend. You will however need an XMPP server to connect
to, either your own, or a public one.
You can either use it as a webchat app, or you can integrate it into your own website.
It's 100% client-side JavaScript, HTML and CSS and the only backend required
is a modern XMPP server.
Please support this project via [Patreon](https://www.patreon.com/jcbrand) or [Liberapay](https://liberapay.com/jcbrand)
## Demo
Converse.js is hosted and can be used at [https://conversejs.org](https://conversejs.org).
Converse is hosted and can be used at [https://conversejs.org](https://conversejs.org).
A demo showing anonymous login is available at [https://conversejs.org/demo/anonymous.html](https://conversejs.org/demo/anonymous.html)
and a demo which shows how you can embed a single chat room into a page is
avialable at [https://conversejs.org/demo/embedded.html](https://conversejs.org/demo/embedded.html).
### Converse.js: As seen on the conversejs.org website
![Screenshot of Converse.js](https://opkode.com/img/converse-screenshot.png)
### inVerse: a fullscreen version of converse.js
Converse.js is also available in a fullscreen version, called [inVerse](https://inverse.chat)
![Screenshot of inVerse](https://opkode.com/img/inverse-screenshot.png)
## Documentation
The developer/integrator documentation can be found at [https://conversejs.org/docs/html](https://conversejs.org/docs/html).
@ -35,65 +34,155 @@ The developer/integrator documentation can be found at [https://conversejs.org/d
You'll probably want to begin with the [quickstart guide](https://conversejs.org/docs/html/quickstart.html),
which shows you how to use the CDN (content delivery network) to quickly get a demo up and running.
## Features
## Converse modes
- Single-user chat
- Contacts and groups
- Multi-user chat rooms [XEP 45](http://xmpp.org/extensions/xep-0045.html)
- Direct invitations to chat rooms [XEP 249](http://xmpp.org/extensions/xep-0249.html)
- vCard support [XEP 54](http://xmpp.org/extensions/xep-0054.html)
- Service discovery [XEP 30](http://xmpp.org/extensions/xep-0030.html)
- In-band registration [XEP 77](http://xmpp.org/extensions/xep-0077.html)
- Chat room bookmarks [XEP 48](http://xmpp.org/extensions/xep-0048.html)
- Roster item exchange [XEP 144](http://xmpp.org/extensions/tmp/xep-0144-1.1.html)
- Chat statuses (online, busy, away, offline)
### Overlay
In overlay mode, Converse appears overlayed chats on top of the website.
![Screenshot of Converse in overlay mode](https://conversejs.org/screenshots/Converse-overlayed.png)
### Fullpage
In fullpage mode, Converse behaves like a single-page app that covers the whole browser viewport.
![Screenshot of Converse 9.0.0 in fullpage mode](https://conversejs.org/screenshots/Converse-fullscreen.png)
### Dark mode
![Screenshot of Converse 9.1.0 with a dark theme](https://conversejs.org/screenshots/Converse-Dracula-Theme.png)
### Embedded
In embedded mode, Converse can be embedded into an element in the DOM.
![Screenshot of Converse in embedded mode](https://conversejs.org/screenshots/Converse-embedded.png)
## Features
- Available as overlayed chat boxes or as a fullscreen application. See [inverse.chat](https://inverse.chat) for the fullscreen version.
- Custom status messages
- Desktop notifications
- Typing and state notifications [XEP 85](http://xmpp.org/extensions/xep-0085.html)
- Messages appear in all connnected chat clients [XEP 280](http://xmpp.org/extensions/xep-0280.html)
- Third person "/me" messages [XEP 245](http://xmpp.org/extensions/xep-0245.html)
- XMPP Ping [XEP 199](http://xmpp.org/extensions/xep-0199.html)
- Server-side archiving of messages [XEP 313](http://xmpp.org/extensions/xep-0313.html)
- Client state indication [XEP 352](http://xmpp.org/extensions/xep-0352.html)
- Off-the-record encryption
- Translated into 16 languages
- A [plugin architecture](https://conversejs.org/docs/html/plugin_development.html) based on [pluggable.js](https://conversejs.github.io/pluggable.js/)
- Chat statuses (online, busy, away, offline)
- Anonymous logins, see the [anonymous login demo](https://conversejs.org/demo/anonymous.html)
- URL Previews (requires server support, for example [mod_ogp](https://modules.prosody.im/mod_ogp.html)
- Translated into over 30 languages
## Integration into other frameworks
### Supported XMPP Extensions
- **[Ruby on Rails](http://rubyonrails.org)**: [conversejs-rails](https://github.com/mikemarsian/conversejs-rails)
- **[Django](http://www.djangoproject.com)**: [django-conversejs](https://pypi.python.org/pypi/django-conversejs) or [django-xmpp](https://github.com/fpytloun/django-xmpp)
- **[Plone](http://plone.com)**: [collective.xmpp.chat](http://github.com/collective/collective.xmpp.chat)
- **[Roundcube](http://roundcube.net)**: [roundcube-converse.js-xmpp-plugin](https://github.com/devurandom/roundcube-converse.js-xmpp-plugin)
- **[Wordpress](http://wordpress.org)**: [ConverseJS](http://wordpress.org/plugins/conversejs)
- [RFC-7395](https://tools.ietf.org/html/rfc7395) XMPP Subprotocol support for WebSocket
- [XEP-0004](https://xmpp.org/extensions/xep-0004.html) Data Forms
- [XEP-0030](https://xmpp.org/extensions/xep-0030.html) Service discovery
- [XEP-0045](https://xmpp.org/extensions/xep-0045.html) Multi-user chat rooms
- [XEP-0048](https://xmpp.org/extensions/xep-0048.html) Bookmarks
- [XEP-0050](https://xmpp.org/extensions/xep-0050.html) Ad-Hoc Commands
- [XEP-0054](https://xmpp.org/extensions/xep-0054.html) VCard-temp
- [XEP-0059](https://xmpp.org/extensions/xep-0059.html) Result Set Management
- [XEP-0060](https://xmpp.org/extensions/xep-0060.html) Publish-Subscribe (limited support)
- [XEP-0066](https://xmpp.org/extensions/xep-0066.html) Out of Band Data
- [XEP-0077](https://xmpp.org/extensions/xep-0077.html) In-band registration
- [XEP-0085](https://xmpp.org/extensions/xep-0085.html) Chat State Notifications
- [XEP-0115](https://xmpp.org/extensions/xep-0115.html) Entity Capabilities
- [XEP-0124](https://xmpp.org/extensions/xep-0124.html) Bidirectional-streams Over Synchronous HTTP (BOSH)
- [XEP-0144](https://xmpp.org/extensions/xep-0144.html) Roster item exchange
- [XEP-0156](https://xmpp.org/extensions/xep-0156.html) Discovering Alternative XMPP Connection Methods
- [XEP-0163](https://xmpp.org/extensions/xep-0163.html) Personal Eventing Protocol (limited support)
- [XEP-0184](https://xmpp.org/extensions/xep-0184.html) Message Receipt
- [XEP-0198](https://xmpp.org/extensions/xep-0198.html) Stream Management
- [XEP-0199](https://xmpp.org/extensions/xep-0199.html) XMPP Ping
- [XEP-0203](https://xmpp.org/extensions/xep-0203.html) Delayed Delivery
- [XEP-0206](https://xmpp.org/extensions/xep-0206.html) XMPP Over BOSH
- [XEP-0245](https://xmpp.org/extensions/xep-0245.html) The /me Command
- [XEP-0249](https://xmpp.org/extensions/xep-0249.html) Direct MUC Invitations
- [XEP-0280](https://xmpp.org/extensions/xep-0280.html) Message Carbons
- [XEP-0297](https://xmpp.org/extensions/xep-0297.html) Stanza Forwarding (limited support)
- [XEP-0308](https://xmpp.org/extensions/xep-0308.html) Last Message Correction
- [XEP-0313](https://xmpp.org/extensions/xep-0313.html) Message Archive Management
- [XEP-0316](https://xmpp.org/extensions/xep-0316.html) MUC Eventing protocol (limited support)
- [XEP-0317](https://xmpp.org/extensions/xep-0317.html) Hats (limited support)
- [XEP-0333](https://xmpp.org/extensions/xep-0333.html) Chat Markers (limited support)
- [XEP-0352](https://xmpp.org/extensions/xep-0352.html) Client State Indication
- [XEP-0357](https://xmpp.org/extensions/xep-0357.html) Push Notifications
- [XEP-0359](https://xmpp.org/extensions/xep-0359.html) Unique and Stable Stanza IDs
- [XEP-0363](https://xmpp.org/extensions/xep-0363.html) HTTP File Upload
- [XEP-0372](https://xmpp.org/extensions/xep-0372.html) References
- [XEP-0382](https://xmpp.org/extensions/xep-0382.html) Spoiler messages
- [XEP-0384](https://xmpp.org/extensions/xep-0384.html) OMEMO Encryption
- [XEP-0393](https://xmpp.org/extensions/xep-0393.html) Message styling
- [XEP-0422](https://xmpp.org/extensions/xep-0422.html) Message Fastening (limited support)
- [XEP-0424](https://xmpp.org/extensions/xep-0424.html) Message Retractions
- [XEP-0425](https://xmpp.org/extensions/xep-0425.html) Message Moderation
- [XEP-0437](https://xmpp.org/extensions/xep-0437.html) Room Activity Indicators
- [XEP-0453](https://xmpp.org/extensions/xep-0453.html) DOAP Usage in XMPP
- [XEP-0454](https://xmpp.org/extensions/xep-0454.html) OMEMO Media sharing
## Integration into other servers and frameworks
### XMPP servers
- **[Openfire](https://www.igniterealtime.org/projects/openfire/index.jsp)**: [inverse.jar](https://www.igniterealtime.org/projects/openfire/plugins.jsp)
- **[Prosody](https://prosody.im/)**: [mod_conversejs](https://modules.prosody.im/mod_conversejs.html)
- **[Ejabberd](https://ejabberd.im/)**: [mod-conversejs](https://docs.ejabberd.im/admin/configuration/modules/#mod-conversejs)
### Other
- **[Alfresco](https://www.alfresco.com)**: [alfresco-js-chat-share](https://github.com/keensoft/alfresco-js-chat-share)
- **[Django](https://www.djangoproject.com)**: [django-conversejs](https://pypi.python.org/pypi/django-conversejs) or [django-xmpp](https://github.com/fpytloun/django-xmpp)
- **[Elgg](https://elgg.org)**: [plugin](https://elgg.org/plugins/2997196)
- **[Friendica](https://friendi.ca)**: [converse](https://github.com/friendica/friendica-addons/tree/master/xmpp/converse)
- **[Patternslib](http://patternslib.com)**: [patterns.converse](https://github.com/jcbrand/patterns.converse)
- **[Alfresco](http://www.alfresco.com)**: [alfresco-js-chat-share](https://github.com/keensoft/alfresco-js-chat-share)
- **[Friendica](http://friendica.com)**: [converse](https://github.com/friendica/friendica-addons/tree/master/xmpp/converse)
- **[Plone](https://plone.com)**: [collective.converse](https://github.com/collective/collective.converse)
- **[Pàdé](https://www.igniterealtime.org/projects/pade/index.jsp)**: [Pàdé](https://www.igniterealtime.org/projects/pade/index.jsp)
- **[Roundcube](https://roundcube.net)**: [roundcube-converse.js-xmpp-plugin](https://github.com/devurandom/roundcube-converse.js-xmpp-plugin)
- **[Ruby on Rails](https://rubyonrails.org)**: [conversejs-rails](https://github.com/mikemarsian/conversejs-rails)
- **[Tiki Wiki CMS Groupware](https://tiki.org)**: [built-in optional feature](https://doc.tiki.org/XMPP)
- **[Wordpress](https://wordpress.org)**: [ConverseJS](https://wordpress.org/plugins/conversejs/)
## Screencasts
*Note: These screencasts are already quite old! Converse.js has grown and evolved further since then.*
- [In a static HTML page](http://opkode.com/media/blog/2013/04/02/converse.js-xmpp-instant-messaging-with-javascript).
Here we chat to external XMPP accounts on Jabber.org and Gmail.
- [Integrated into a Plone site](http://opkode.com/media/blog/instant-messaging-for-plone-with-javascript-and-xmpp)
via collective.xmpp.chat.
- [Off-the-record encryption](https://opkode.com/media/blog/2013/11/11/conversejs-otr-support)
in Converse 0.7.
## Tests
We use behavior-driven tests written with [jasmine.js](https://jasmine.github.io/).
Open [tests.html](https://github.com/jcbrand/converse.js/blob/master/tests.html) in your browser, and the tests will run automatically.
Run `make check` to execute all the tests.
## Licence
`Converse.js` is released under the [Mozilla Public License (MPL)](https://www.mozilla.org/MPL/2.0/index.txt).
## Attribution
Emoji images are courtesy of [Twemoji](https://emojitwo.github.io/).
## Support
For support queries and discussions, please join the mailing list: <conversejs@librelist.com>
Issues can be logged on the [Github issue tracker](https://github.com/conversejs/converse.js/issues).
Also take a look at the [mailing list archives](http://librelist.com/browser/conversejs).
## Donations
Issues can be logged on the [Github issue tracker](https://github.com/jcbrand/converse.js/issues).
A heartfelt thanks for everyone who has supported this project over the years.
Many people have contributed testing, bugfixes, features and corrections.
We accept donations via [Patreon](https://www.patreon.com/jcbrand) and [Liberapay](https://liberapay.com/jcbrand).
## Sponsors
<p>
<a href="https://bairesdev.com/sponsoring-open-source-projects/?utm_source=conversejs" target="_blank" rel="noopener">
<img alt="BairesDev" src="https://raw.githubusercontent.com/conversejs/media/main/logos/bairesdev-primary.png" width="200">
</a>
</p>
<p>
<a href="https://blokt.com?utm_source=conversejs" target="_blank" rel="noopener">
<img alt="Blokt Crypto & Privacy" src="https://raw.githubusercontent.com/conversejs/converse.js/541613d1fea8aef364af00180f60e959162e5e4b/logo/blokt.png" width="200">
</a>
</p>
<p>
<a href="https://primesound.org/?utm_source=conversejs" target="_blank" rel="noopener">
<img alt="Prime Sound" src="https://raw.githubusercontent.com/conversejs/media/main/logos/primesound.png" width="200">
</a>
</p>
<p>
<a href="https://www.keycdn.com?utm_source=conversejs" target="_blank" rel="noopener">
<img alt="KeyCDN" src="https://raw.githubusercontent.com/conversejs/converse.js/541613d1fea8aef364af00180f60e959162e5e4b/logo/keycdn.png" width="200">
</a>
</p>

View File

@ -1,18 +1,18 @@
# Release checklist
1. Run `make check` to check that all tests pass.
2. Decide on a version number, e.g. 2.0.5
3. Run `make release VERSION=2.0.5`
1. Merge weblate translations: https://hosted.weblate.org/projects/conversejs/translations/#repository
2. Run `make check` to check that all tests pass.
3. Run `make version VERSION=10.1.6`
4. Do a `git diff` to check if things look sane.
5. Do a quick manual test with the `dist` files (via `index.html`)
6. `git commit -am "New release 2.0.5"`
7. `git tag -s v2.0.5
8. Run `git push && git push --tags`
9. Update http://conversejs.org
10. Create `2.0.5` directory for the CDN.
* Create a new version for the CDN by copying
* Check out the correct tag
* Update `index.html` to point to that version of the CDN
* Run `make dist`
* Do the same for the root dir
11. Run `npm publish`
6. `git commit -am "Release 10.1.6"`
7. `git tag -s v10.1.6 -m "Release 10.1.6"`
8. `git push && git push origin v10.1.6`
9. `make publish BRANCH=v10.1.6`
10. Update release page on Github
* Upload tar files
11. Update https://conversejs.org
* `cd /home/conversejs/converse.js`
* `make deploy VERSION=10.1.6`
12. Update the repository on weblate
13. Decide on next release number and run `make postrelease VERSION=10.1.7`

10
babel.config.json Normal file
View File

@ -0,0 +1,10 @@
{
"presets": [
["@babel/preset-env", {
"targets": {
"browsers": [">1%", "not ie 11", "not op_mini all", "not dead"]
}
}]
],
"plugins": []
}

View File

@ -1,260 +0,0 @@
##############################################################################
#
# Copyright (c) 2006 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Bootstrap a buildout-based project
Simply run this script in a directory containing a buildout.cfg.
The script accepts buildout command-line options, so you can
use the -c option to specify an alternate configuration file.
"""
import os, shutil, sys, tempfile, textwrap, urllib, urllib2, subprocess
from optparse import OptionParser
if sys.platform == 'win32':
def quote(c):
if ' ' in c:
return '"%s"' % c # work around spawn lamosity on windows
else:
return c
else:
quote = str
# See zc.buildout.easy_install._has_broken_dash_S for motivation and comments.
stdout, stderr = subprocess.Popen(
[sys.executable, '-Sc',
'try:\n'
' import ConfigParser\n'
'except ImportError:\n'
' print 1\n'
'else:\n'
' print 0\n'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
has_broken_dash_S = bool(int(stdout.strip()))
# In order to be more robust in the face of system Pythons, we want to
# run without site-packages loaded. This is somewhat tricky, in
# particular because Python 2.6's distutils imports site, so starting
# with the -S flag is not sufficient. However, we'll start with that:
if not has_broken_dash_S and 'site' in sys.modules:
# We will restart with python -S.
args = sys.argv[:]
args[0:0] = [sys.executable, '-S']
args = map(quote, args)
os.execv(sys.executable, args)
# Now we are running with -S. We'll get the clean sys.path, import site
# because distutils will do it later, and then reset the path and clean
# out any namespace packages from site-packages that might have been
# loaded by .pth files.
clean_path = sys.path[:]
import site
sys.path[:] = clean_path
for k, v in sys.modules.items():
if k in ('setuptools', 'pkg_resources') or (
hasattr(v, '__path__') and
len(v.__path__)==1 and
not os.path.exists(os.path.join(v.__path__[0],'__init__.py'))):
# This is a namespace package. Remove it.
sys.modules.pop(k)
is_jython = sys.platform.startswith('java')
setuptools_source = 'http://peak.telecommunity.com/dist/ez_setup.py'
distribute_source = 'http://python-distribute.org/distribute_setup.py'
# parsing arguments
def normalize_to_url(option, opt_str, value, parser):
if value:
if '://' not in value: # It doesn't smell like a URL.
value = 'file://%s' % (
urllib.pathname2url(
os.path.abspath(os.path.expanduser(value))),)
if opt_str == '--download-base' and not value.endswith('/'):
# Download base needs a trailing slash to make the world happy.
value += '/'
else:
value = None
name = opt_str[2:].replace('-', '_')
setattr(parser.values, name, value)
usage = '''\
[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
Bootstraps a buildout-based project.
Simply run this script in a directory containing a buildout.cfg, using the
Python that you want bin/buildout to use.
Note that by using --setup-source and --download-base to point to
local resources, you can keep this script from going over the network.
'''
parser = OptionParser(usage=usage)
parser.add_option("-v", "--version", dest="version",
help="use a specific zc.buildout version")
parser.add_option("-d", "--distribute",
action="store_true", dest="use_distribute", default=False,
help="Use Distribute rather than Setuptools.")
parser.add_option("--setup-source", action="callback", dest="setup_source",
callback=normalize_to_url, nargs=1, type="string",
help=("Specify a URL or file location for the setup file. "
"If you use Setuptools, this will default to " +
setuptools_source + "; if you use Distribute, this "
"will default to " + distribute_source +"."))
parser.add_option("--download-base", action="callback", dest="download_base",
callback=normalize_to_url, nargs=1, type="string",
help=("Specify a URL or directory for downloading "
"zc.buildout and either Setuptools or Distribute. "
"Defaults to PyPI."))
parser.add_option("--eggs",
help=("Specify a directory for storing eggs. Defaults to "
"a temporary directory that is deleted when the "
"bootstrap script completes."))
parser.add_option("-t", "--accept-buildout-test-releases",
dest='accept_buildout_test_releases',
action="store_true", default=False,
help=("Normally, if you do not specify a --version, the "
"bootstrap script and buildout gets the newest "
"*final* versions of zc.buildout and its recipes and "
"extensions for you. If you use this flag, "
"bootstrap and buildout will get the newest releases "
"even if they are alphas or betas."))
parser.add_option("-c", None, action="store", dest="config_file",
help=("Specify the path to the buildout configuration "
"file to be used."))
options, args = parser.parse_args()
# if -c was provided, we push it back into args for buildout's main function
if options.config_file is not None:
args += ['-c', options.config_file]
if options.eggs:
eggs_dir = os.path.abspath(os.path.expanduser(options.eggs))
else:
eggs_dir = tempfile.mkdtemp()
if options.setup_source is None:
if options.use_distribute:
options.setup_source = distribute_source
else:
options.setup_source = setuptools_source
if options.accept_buildout_test_releases:
args.append('buildout:accept-buildout-test-releases=true')
args.append('bootstrap')
try:
import pkg_resources
import setuptools # A flag. Sometimes pkg_resources is installed alone.
if not hasattr(pkg_resources, '_distribute'):
raise ImportError
except ImportError:
ez_code = urllib2.urlopen(
options.setup_source).read().replace('\r\n', '\n')
ez = {}
exec ez_code in ez
setup_args = dict(to_dir=eggs_dir, download_delay=0)
if options.download_base:
setup_args['download_base'] = options.download_base
if options.use_distribute:
setup_args['no_fake'] = True
ez['use_setuptools'](**setup_args)
if 'pkg_resources' in sys.modules:
reload(sys.modules['pkg_resources'])
import pkg_resources
# This does not (always?) update the default working set. We will
# do it.
for path in sys.path:
if path not in pkg_resources.working_set.entries:
pkg_resources.working_set.add_entry(path)
cmd = [quote(sys.executable),
'-c',
quote('from setuptools.command.easy_install import main; main()'),
'-mqNxd',
quote(eggs_dir)]
if not has_broken_dash_S:
cmd.insert(1, '-S')
find_links = options.download_base
if not find_links:
find_links = os.environ.get('bootstrap-testing-find-links')
if find_links:
cmd.extend(['-f', quote(find_links)])
if options.use_distribute:
setup_requirement = 'distribute'
else:
setup_requirement = 'setuptools'
ws = pkg_resources.working_set
setup_requirement_path = ws.find(
pkg_resources.Requirement.parse(setup_requirement)).location
env = dict(
os.environ,
PYTHONPATH=setup_requirement_path)
requirement = 'zc.buildout'
version = options.version
if version is None and not options.accept_buildout_test_releases:
# Figure out the most recent final version of zc.buildout.
import setuptools.package_index
_final_parts = '*final-', '*final'
def _final_version(parsed_version):
for part in parsed_version:
if (part[:1] == '*') and (part not in _final_parts):
return False
return True
index = setuptools.package_index.PackageIndex(
search_path=[setup_requirement_path])
if find_links:
index.add_find_links((find_links,))
req = pkg_resources.Requirement.parse(requirement)
if index.obtain(req) is not None:
best = []
bestv = None
for dist in index[req.project_name]:
distv = dist.parsed_version
if _final_version(distv):
if bestv is None or distv > bestv:
best = [dist]
bestv = distv
elif distv == bestv:
best.append(dist)
if best:
best.sort()
version = best[-1].version
if version:
requirement = '=='.join((requirement, version))
cmd.append(requirement)
if is_jython:
import subprocess
exitcode = subprocess.Popen(cmd, env=env).wait()
else: # Windows prefers this, apparently; otherwise we would prefer subprocess
exitcode = os.spawnle(*([os.P_WAIT, sys.executable] + cmd + [env]))
if exitcode != 0:
sys.stdout.flush()
sys.stderr.flush()
print ("An error occurred when trying to install zc.buildout. "
"Look above this message for any errors that "
"were output by easy_install.")
sys.exit(exitcode)
ws.add_entry(eggs_dir)
ws.require(requirement)
import zc.buildout.buildout
zc.buildout.buildout.main(args)
if not options.eggs: # clean up temporary egg directory
shutil.rmtree(eggs_dir)

View File

@ -1,22 +0,0 @@
[buildout]
parts =
sphinx
versions = versions
[sphinx]
recipe = zc.recipe.egg
eggs =
Sphinx
sphinx-bootstrap-theme
[versions]
docutils = 0.13.1
Jinja2 = 2.9.5
MarkupSafe = 0.23
Pygments = 2.2.0
six = 1.10.0
setuptools = 28.6.1
Sphinx = 1.5.2
z3c.recipe.egg = 2.0.3
zc.buildout = 2.5.3

View File

@ -1,3 +0,0 @@
This directory exists as a location for intermediate files generated by the
Babel compiler, before they're bundled into distribution bundles in the
`./dist/` directory.

View File

@ -4,7 +4,7 @@
"type": "library",
"license": "MPL-2.0",
"minimum-stability": "stable",
"homepage": "http://conversejs.org/",
"homepage": "https://conversejs.org/",
"keywords": ["xmpp", "messaging", "chat", "presence"],
"require": {}
}

View File

@ -1,23 +0,0 @@
# How to use saved Chrome/Chromium logs to replay events
**NOTE**: This feature is very experimental and in many cases doesn't work
without data massaging and ugly hacks.
It's possible to save the log output from Chrome/Chromium (I haven't tried this
yet with any other browser) and then to replay that log output in the browser.
This can be a very helpful technique to track down bugs.
To do this, follow the following steps:
1. Save the log file (right click and then click "Save as" in the browser's console).
2. Rename the log file, making sure it ends in `.html`
3. Move the log file to the `converse-logs` directory in the converse.js repo.
4. Add `<log>` to the top of the log file and `</log>` to the bottom of the log file.
5. In `converse-logs/converse-logs.js`, add a new entry for the log file (don't
include the `.html` part of the file name.
6. Make sure that `spec/transcripts` is "required"-ed in `tests/main.js`
6. Open `tests.html` in your browser.
Your logs will run first, and then all the other tests will run afterwards.

View File

@ -1,5 +0,0 @@
define("transcripts", [
"tpl!converse-logs/double_logins",
], function () {
return arguments;
});

293
conversejs.doap Normal file
View File

@ -0,0 +1,293 @@
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:doap="http://usefulinc.com/ns/doap#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xmpp="https://linkmauve.fr/ns/xmpp-doap#" xmlns:schema="https://schema.org/" xml:lang="en">
<Project xmlns="http://usefulinc.com/ns/doap#">
<name>Converse.js</name>
<shortdesc>Browser based XMPP chat client</shortdesc>
<homepage rdf:resource="https://conversejs.org/"/>
<bug-database rdf:resource="https://github.com/conversejs/converse.js/issues"/>
<developer-forum rdf:resource="xmpp:discuss@conference.conversejs.org?join"/>
<support-forum rdf:resource="xmpp:discuss@conference.conversejs.org?join"/>
<category rdf:resource="https://linkmauve.fr/ns/xmpp-doap#category-client"/>
<programming-language>JavaScript</programming-language>
<os>Browser</os>
<os>Linux</os>
<os>macOS</os>
<os>Windows</os>
<schema:logo rdf:resource="https://raw.githubusercontent.com/conversejs/converse.js/master/logo/conversejs-filled.svg"/>
<repository>
<GitRepository>
<browse rdf:resource="https://github.com/conversejs/converse.js"/>
<location rdf:resource="https://github.com/conversejs/converse.js.git"/>
</GitRepository>
</repository>
<implements rdf:resource="https://www.rfc-editor.org/info/rfc6120"/>
<implements rdf:resource="https://www.rfc-editor.org/info/rfc6121"/>
<implements rdf:resource="https://www.rfc-editor.org/info/rfc6122"/>
<implements rdf:resource="https://www.rfc-editor.org/info/rfc7395"/>
<implements rdf:resource="https://www.rfc-editor.org/info/rfc7590"/>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0004.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0030.html"/>
<xmpp:since>0.8.2</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0045.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0048.html"/>
<xmpp:since>2.0.1</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0050.html"/>
<xmpp:since>7.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0054.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0059.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0060.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0066.html"/>
<xmpp:since>4.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0077.html"/>
<xmpp:since>0.8.5</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0085.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0115.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:note>advertises caps but no caching</xmpp:note>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0122.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:note>basic string field sub-type usage</xmpp:note>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0124.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0144.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0156.html"/>
<xmpp:since>6.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0163.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0184.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0198.html"/>
<xmpp:since>5.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0199.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0203.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0206.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0245.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0249.html"/>
<xmpp:since>0.8.2</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0280.html"/>
<xmpp:since>0.8.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0297.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0308.html"/>
<xmpp:since>4.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0313.html"/>
<xmpp:since>0.9.5</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0317.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0319.html"/>
<xmpp:since>4.0.5</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0333.html"/>
<xmpp:since>4.1.1</xmpp:since>
<xmpp:status>partial</xmpp:status>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0352.html"/>
<xmpp:since>0.9.4</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0357.html"/>
<xmpp:since>4.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0359.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0363.html"/>
<xmpp:since>4.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0371.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0372.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0382.html"/>
<xmpp:since>3.3.3</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0384.html"/>
<xmpp:since>4.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0393.html"/>
<xmpp:since>8.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0410.html"/>
<xmpp:since>5.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0421.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0422.html"/>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0424.html"/>
<xmpp:since>6.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0425.html"/>
<xmpp:since>6.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0437.html"/>
<xmpp:since>8.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0454.html"/>
<xmpp:since>8.0.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
</Project>
</rdf:RDF>

File diff suppressed because one or more lines are too long

View File

@ -1,66 +0,0 @@
/*
Color scheme helpers:
https://coolors.co/app/264653-2a9d8f-e9c46a-f4a261-e76f51
http://paletton.com/#uid=70a0u0kkNs+b4JOgryLpxqpsbkI
*/
#converse-embedded-chat {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
bottom: auto;
right: auto;
position: relative;
width: 100%; }
#converse-embedded-chat *, #converse-embedded-chat *:before, #converse-embedded-chat *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
#converse-embedded-chat form.pure-form.converse-centered-form {
position: absolute;
top: 30%;
transform: translateY(-50%); }
#converse-embedded-chat .chatroom {
width: auto; }
#converse-embedded-chat .flyout {
bottom: auto;
display: block;
position: relative; }
#converse-embedded-chat .chatbox {
float: none; }
#converse-embedded-chat .chatbox .box-flyout {
box-shadow: none; }
#converse-embedded-chat .chatbox .chat-title {
padding: 0.3em;
font-size: 120%; }
#converse-embedded-chat .chatbox-btn {
display: none; }
#converse-embedded-chat .chatroom .box-flyout {
min-width: auto;
width: 100%;
height: 55vh; }
#converse-embedded-chat .chatroom .box-flyout .chat-body {
height: -webkit-calc(100% - 55px);
height: calc(100% - 55px); }
#converse-embedded-chat .chatroom .box-flyout .occupants-heading {
font-size: 120%; }
#converse-embedded-chat .chatroom .box-flyout .chat-content {
height: calc(100% - 97px); }
#converse-embedded-chat .chatroom .box-flyout .chat-content .chat-message {
margin: 0.5em;
font-size: 120%; }
#converse-embedded-chat .chatroom .box-flyout .sendXMPPMessage .chat-textarea {
padding: 0.5em;
font-size: 110%; }
#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container {
font-size: 180%;
float: left;
height: 100%;
position: relative; }
#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container input {
font-size: 60%; }
#converse-embedded-chat .chatroom .box-flyout .occupants .occupant-list {
padding-left: 0.3em; }
#converse-embedded-chat .chatroom .box-flyout .occupants .occupant-list li.occupant {
font-size: 120%; }
/*# sourceMappingURL=converse-muc-embedded.css.map */

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="12px" viewBox="0 0 24 12" zoomAndPan="disable">
<line x1="0" y1="0" x2="12" y2="12" style="stroke:#ccc;stroke-width:1.5" />
<line x1="24" y1="0" x2="12" y2="12" style="stroke:#ccc;stroke-width:1.5" />
</svg>

Before

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="12px" viewBox="0 0 24 12" zoomAndPan="disable">
<line x1="0" y1="0" x2="12" y2="12" style="stroke:rgba(255,255,255,0.65);stroke-width:1" />
<line x1="24" y1="0" x2="12" y2="12" style="stroke:rgba(255,255,255,0.65);stroke-width:1" />
</svg>

Before

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,82 +0,0 @@
body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; }
#HTMLReporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: goldenrod; }
#HTMLReporter a { text-decoration: none; }
#HTMLReporter a:hover { text-decoration: underline; }
#HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 { margin: 0; line-height: 14px; }
#HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace { padding-left: 9px; padding-right: 9px; }
#HTMLReporter #jasmine_content { position: fixed; right: 100%; }
#HTMLReporter .version { color: #aaaaaa; }
#HTMLReporter .banner { margin-top: 14px; }
#HTMLReporter .duration { color: #aaaaaa; float: right; }
#HTMLReporter .symbolSummary { overflow: hidden; *zoom: 1; margin: 14px 0; }
#HTMLReporter .symbolSummary li { display: block; float: left; height: 7px; width: 14px; margin-bottom: 7px; font-size: 16px; }
#HTMLReporter .symbolSummary li.passed { font-size: 14px; }
#HTMLReporter .symbolSummary li.passed:before { color: lightgreen; content: "\02022"; }
#HTMLReporter .symbolSummary li.failed { line-height: 9px; }
#HTMLReporter .symbolSummary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; }
#HTMLReporter .symbolSummary li.skipped { font-size: 14px; }
#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; }
#HTMLReporter .symbolSummary li.pending { line-height: 11px; }
#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; }
#HTMLReporter .exceptions { color: #fff; float: right; margin-top: 5px; margin-right: 5px; }
#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; }
#HTMLReporter .runningAlert { background-color: #666666; }
#HTMLReporter .skippedAlert { background-color: #aaaaaa; }
#HTMLReporter .skippedAlert:first-child { background-color: #333333; }
#HTMLReporter .skippedAlert:hover { text-decoration: none; color: white; text-decoration: underline; }
#HTMLReporter .passingAlert { background-color: #a6b779; }
#HTMLReporter .passingAlert:first-child { background-color: lightgreen; }
#HTMLReporter .failingAlert { background-color: #cf867e; }
#HTMLReporter .failingAlert:first-child { background-color: #b03911; }
#HTMLReporter .results { margin-top: 14px; }
#HTMLReporter #details { display: none; }
#HTMLReporter .resultsMenu, #HTMLReporter .resultsMenu a { background-color: #fff; color: goldenrod; }
#HTMLReporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; }
#HTMLReporter.showDetails .summaryMenuItem:hover { text-decoration: underline; }
#HTMLReporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; }
#HTMLReporter.showDetails .summary { display: none; }
#HTMLReporter.showDetails #details { display: block; }
#HTMLReporter .summaryMenuItem { font-weight: bold; text-decoration: underline; }
#HTMLReporter .summary { margin-top: 14px; }
#HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary { margin-left: 14px; }
#HTMLReporter .summary .specSummary.passed a { color: lightgreen; }
#HTMLReporter .summary .specSummary.failed a { color: #b03911; }
#HTMLReporter .description + .suite { margin-top: 0; }
#HTMLReporter .suite { margin-top: 14px; }
#HTMLReporter .suite a { color: goldenrod; }
#HTMLReporter #details .specDetail { margin-bottom: 28px; }
#HTMLReporter #details .specDetail .description { display: block; color: white; background-color: #b03911; }
#HTMLReporter .resultMessage { padding-top: 14px; color: goldenrod; }
#HTMLReporter .resultMessage span.result { display: block; }
#HTMLReporter .stackTrace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; }
#TrivialReporter { padding: 8px 13px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow-y: scroll; background-color: white; font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; /*.resultMessage {*/ /*white-space: pre;*/ /*}*/ }
#TrivialReporter a:visited, #TrivialReporter a { color: #303; }
#TrivialReporter a:hover, #TrivialReporter a:active { color: blue; }
#TrivialReporter .run_spec { float: right; padding-right: 5px; font-size: .8em; text-decoration: none; }
#TrivialReporter .banner { color: #303; background-color: #fef; padding: 5px; }
#TrivialReporter .logo { float: left; font-size: 1.1em; padding-left: 5px; }
#TrivialReporter .logo .version { font-size: .6em; padding-left: 1em; }
#TrivialReporter .runner.running { background-color: yellow; }
#TrivialReporter .options { text-align: right; font-size: .8em; }
#TrivialReporter .suite { border: 1px outset gray; margin: 5px 0; padding-left: 1em; }
#TrivialReporter .suite .suite { margin: 5px; }
#TrivialReporter .suite.passed { background-color: #dfd; }
#TrivialReporter .suite.failed { background-color: #fdd; }
#TrivialReporter .spec { margin: 5px; padding-left: 1em; clear: both; }
#TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped { padding-bottom: 5px; border: 1px solid gray; }
#TrivialReporter .spec.failed { background-color: #fbb; border-color: red; }
#TrivialReporter .spec.passed { background-color: #bfb; border-color: green; }
#TrivialReporter .spec.skipped { background-color: #bbb; }
#TrivialReporter .messages { border-left: 1px dashed gray; padding-left: 1em; padding-right: 1em; }
#TrivialReporter .passed { background-color: #cfc; display: none; }
#TrivialReporter .failed { background-color: #fbb; }
#TrivialReporter .skipped { color: #777; background-color: #eee; display: none; }
#TrivialReporter .resultMessage span.result { display: block; line-height: 2em; color: black; }
#TrivialReporter .resultMessage .mismatch { color: black; }
#TrivialReporter .stackTrace { white-space: pre; font-size: .8em; margin-left: 10px; max-height: 5em; overflow: auto; border: 1px inset red; padding: 1em; background: #eef; }
#TrivialReporter .finished-at { padding-left: 1em; font-size: .6em; }
#TrivialReporter.show-passed .passed, #TrivialReporter.show-skipped .skipped { display: block; }
#TrivialReporter #jasmine_content { position: fixed; right: 100%; }
#TrivialReporter .runner { border: 1px solid gray; display: block; margin: 5px 0; padding: 2px 0 2px 10px; }

View File

@ -1,11 +0,0 @@
#conversejs {
left: 0px;
right: 0px;
}
.converse-chatroom {
font-size: 14px;
}
.intro {
padding: 0;
height: 100vh;
}

View File

@ -1,348 +0,0 @@
body {
width: 100%;
height: 100%;
font-family: "Lora", "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #ffffff;
background-color: #211018;
}
html {
width: 100%;
height: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0 0 35px;
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 700;
letter-spacing: 1px;
}
h1 {
text-transform: uppercase;
}
p {
margin: 0 0 25px;
font-size: 18px;
line-height: 1.5;
}
@media (min-width: 767px) {
p {
margin: 0 0 35px;
font-size: 20px;
line-height: 1.6;
}
}
a {
color: #82B397;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
a:hover,
a:focus {
text-decoration: none;
color: #00aaff;
}
.light {
font-weight: 400;
}
.navbar {
margin-bottom: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
text-transform: uppercase;
font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
background-color: #211018;
}
.navbar-brand {
font-weight: 700;
}
.navbar-brand:focus {
outline: none;
}
.navbar-custom a {
color: #ffffff;
}
.navbar-custom .nav li a {
-webkit-transition: background 0.3s ease-in-out;
-moz-transition: background 0.3s ease-in-out;
transition: background 0.3s ease-in-out;
}
.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus,
.navbar-custom .nav li.active {
outline: none;
background-color: rgba(255, 255, 255, 0.2);
}
.navbar-toggle {
padding: 4px 6px;
font-size: 16px;
color: #ffffff;
}
.navbar-toggle:focus,
.navbar-toggle:active {
outline: none;
}
@media (min-width: 767px) {
.navbar {
padding: 20px 0;
border-bottom: none;
letter-spacing: 1px;
background: transparent;
-webkit-transition: background 0.5s ease-in-out, padding 0.5s ease-in-out;
-moz-transition: background 0.5s ease-in-out, padding 0.5s ease-in-out;
transition: background 0.5s ease-in-out, padding 0.5s ease-in-out;
}
.top-nav-collapse {
padding: 0;
background-color: #211018;
}
.navbar-custom.top-nav-collapse {
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
}
@media (max-width: 480px) {
.navbar {
display: none;
}
}
.features-section,
.outro,
.intro {
width: 100%;
padding: 100px 0;
text-align: center;
color: #fff;
}
.intro {
background: url(images/header.jpg) no-repeat bottom center scroll;
background-color: #211018;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
.features-section {
background: url('images/bgtr.svg') top right no-repeat, url('images/bgbl.svg') bottom left no-repeat, url('images/bgbl.svg') bottom left no-repeat, url('images/overlay.png'), linear-gradient(45deg, #85505f, #384955, #655361);
}
.features-section a {
color: #82B397;
}
.outro {
background: url('images/bgtr.svg') top right no-repeat, url('images/bgbl.svg') bottom left no-repeat, url('images/overlay.png'), linear-gradient(45deg, #384955, #655361, #85505f);
}
.brand-heading {
font-size: 2em;
text-align: center;
margin-top: 3em;
}
.brand-heading-embedded {
margin-top: 1.5em;
}
.intro-text {
font-size: 18px;
}
@media (min-width: 767px) {
.intro {
height: 100%;
padding: 0;
}
.brand-heading {
font-size: 80px;
}
.intro-text {
font-size: 25px;
}
}
.btn-circle {
width: 70px;
height: 70px;
margin-top: 15px;
padding: 7px 16px;
border: 2px solid #ffffff;
border-radius: 35px;
font-size: 40px;
color: #ffffff;
background: transparent;
-webkit-transition: background 0.3s ease-in-out;
-moz-transition: background 0.3s ease-in-out;
transition: background 0.3s ease-in-out;
}
.btn-circle:hover,
.btn-circle:focus {
outline: none;
color: #ffffff;
background: rgba(255, 255, 255, 0.1);
}
.page-scroll .btn-circle i.animated {
-webkit-transition-property: -webkit-transform;
-webkit-transition-duration: 1s;
-moz-transition-property: -moz-transform;
-moz-transition-duration: 1s;
}
.page-scroll .btn-circle:hover i.animated {
-webkit-animation-name: pulse;
-moz-animation-name: pulse;
-webkit-animation-duration: 1.5s;
-moz-animation-duration: 1.5s;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-moz-animation-timing-function: linear;
}
/*
@-webkit-keyframes pulse {
0 {
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@-moz-keyframes pulse {
0 {
-moz-transform: scale(1);
transform: scale(1);
}
50% {
-moz-transform: scale(1.2);
transform: scale(1.2);
}
100% {
-moz-transform: scale(1);
transform: scale(1);
}
}
*/
.content-section {
padding-top: 100px;
}
.donate-section {
width: 100%;
padding: 50px 0;
color: #ffffff;
background-color: #211018;
}
.donate-section p.bitcoin-header {
margin: 0 0 5px;
}
@media (min-width: 767px) {
.content-section {
padding-top: 150px;
padding-bottom: 50px;
}
.donate-section {
padding: 100px 0;
}
}
.btn {
text-transform: uppercase;
font-family: FontAwesome;
font-weight: 400;
-webkit-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
.btn-default {
border: 1px solid #82B397;
color: #82B397;
background-color: transparent;
}
.btn-default:hover,
.btn-default:focus {
border: 1px solid #82B397;
outline: none;
color: #211018;
background-color: #82B397;
}
.btn-huge {
padding: 25px;
font-size: 26px;
}
.banner-social-buttons {
padding-top: 7em;
}
::-moz-selection {
text-shadow: none;
background: #fcfcfc;
background: rgba(255, 255, 255, 0.2);
}
::selection {
text-shadow: none;
background: #fcfcfc;
background: rgba(255, 255, 255, 0.2);
}
img::selection {
background: transparent;
}
img::-moz-selection {
background: transparent;
}
body {
webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
}
ul.contact,
ul.integration,
ul.screencasts,
ul.features {
text-align: left;
font-size: 19px;
}
.feature-icon {
display: inline-block;
position: relative;
padding-bottom: 5em;
margin-bottom: 2.75em;
cursor: default;
color: #fff;
}
.feature-icon .fa {
display: inline-block;
width: 2em;
height: 2em;
font-size: 4em;
border-radius: 100%;
box-shadow: inset 0 0 0 1px white;
color: white;
line-height: 2.1em;
}
.feature-icon:before {
content: '';
background: white;
position: absolute;
bottom: 0;
left: 50%;
margin-left: -0.325em;
width: 0.65em;
height: 0.65em;
display: block;
border-radius: 100%;
}
.feature-icon:after {
content: '';
position: absolute;
left: 50%;
bottom: 0.65em;
width: 1px;
height: 4.35em;
background: white;
margin-left: -0.5px;
}
.row {
margin-left: 0;
margin-right: 0;
}
.sponsors {
clear: both;
font-size: 1.1em;
padding: 2em 0 7em 0;
}

View File

@ -1,55 +1,103 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Converse.js</title>
<title>Converse - Anonymous login demo</title>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Converse.js: A free chat client for your website" />
<meta name="description" content="Converse XMPP/Jabber Chat"/>
<meta name="author" content="JC Brand" />
<meta name="keywords" content="xmpp chat webchat converse.js" />
<link rel="shortcut icon" type="image/ico" href="../css/images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="node_modules/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="node_modules/font-awesome/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/css/theme.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/css/converse.min.css" />
<script type="text/javascript" src="../analytics.js"></script>
<meta name="keywords" content="xmpp chat webchat converse.js Converse" />
<!-- These files are NOT needed when using converse.js in your own project. -->
<link rel="shortcut icon" type="image/ico" href="/dist/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="/dist/website.min.css" />
<noscript><p><img src="//stats.opkode.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<![if gte IE 9]>
<script src="https://cdn.conversejs.org/dist/converse.min.js"></script>
<![endif]>
<script type="text/javascript" src="analytics.js"></script>
<!-- *********************************************************************** -->
<link rel="manifest" href="/manifest.json">
<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="/dist/converse.min.js"></script>
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
<nav class="navbar navbar-custom navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
<i class="fa fa-bars"></i>
</button>
</div>
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav"><li> <a href="/docs/html/index.html">Documentation</a> </li>
</ul>
</div>
<body id="page-top" data-spy="scroll" class="converse-website">
<section class="section-wrapper">
<nav class="navbar sticky-top navbar-expand-lg" role="navigation">
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<span class="page-scroll">
<a class="navbar-brand" href="/"><span class="converse-brand-heading">Home</span></a>
<a class="navbar-brand" href="/demo"><span class="converse-brand-heading">Demos</span></a>
</span>
</div>
</nav>
<section class="intro">
<div class="intro-body">
<div class="container">
<section id="intro" class="intro" class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h1 class="brand-heading"><i class="icon-conversejs"></i>Converse.js</h1>
<div class="col-md-12 col-md-offset-2">
<h1 class="brand-heading fade-in">
<svg class="converse-svg-logo"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 364 364">
<title>Converse</title>
<g class="cls-1" id="g904">
<g data-name="Layer 2">
<g data-name="Layer 7">
<path
class="cls-3"
d="M221.46,103.71c0,18.83-29.36,18.83-29.12,0C192.1,84.88,221.46,84.88,221.46,103.71Z" />
<path
class="cls-4"
d="M179.9,4.15A175.48,175.48,0,1,0,355.38,179.63,175.48,175.48,0,0,0,179.9,4.15Zm-40.79,264.5c-.23-17.82,27.58-17.82,27.58,0S138.88,286.48,139.11,268.65ZM218.6,168.24A79.65,79.65,0,0,1,205.15,174a12.76,12.76,0,0,0-6.29,4.65L167.54,222a1.36,1.36,0,0,1-2.46-.8v-35.8a2.58,2.58,0,0,0-3.06-2.53c-15.43,3-30.23,7.7-42.73,19.94-38.8,38-29.42,105.69,16.09,133.16a162.25,162.25,0,0,1-91.47-67.27C-3.86,182.26,34.5,47.25,138.37,25.66c46.89-9.75,118.25,5.16,123.73,62.83C265.15,120.64,246.56,152.89,218.6,168.24Z" />
</g>
</g>
</g>
</svg>
<span class="brand-heading__text">
<span>converse<span class="subdued">.js</span></span>
<p class="byline">messaging freedom</p>
</span>
</h1>
<p class="intro-text">Anonymous login demo</p>
</div>
</div>
</div>
</div>
</section>
</section>
</body>
<script>
/*
@licstart
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
@licend
*/
converse.initialize({
allow_logout: false, // No point in logging out when we have auto_login as true.
allow_muc_invitations: false, // Doesn't make sense to allow because only

View File

@ -1,2 +0,0 @@
config.baseUrl = '..';
require.config(config);

View File

@ -1,97 +1,103 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Converse.js</title>
<title>Converse - Anonymous login demo</title>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Converse.js: A free chat client for your website" />
<meta name="description" content="Converse XMPP/Jabber Chat"/>
<meta name="author" content="JC Brand" />
<meta name="keywords" content="xmpp chat webchat converse.js" />
<link rel="shortcut icon" type="image/ico" href="../css/images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="../node_modules/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="../node_modules/font-awesome/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/css/theme.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/css/converse.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="https://cdn.conversejs.org/css/converse-muc-embedded.min.css" />
<script type="text/javascript" src="../analytics.js"></script>
<noscript><p><img src="//stats.opkode.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<![if gte IE 9]>
<script src="../dist/converse-muc-embedded.min.js"></script>
<![endif]>
<meta name="keywords" content="xmpp chat webchat converse.js Converse" />
<!-- These files are NOT needed when using converse.js in your own project. -->
<link rel="shortcut icon" type="image/ico" href="../dist/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="../dist/website.min.css" />
<noscript><p><img src="https://stats.opkode.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<script type="text/javascript" src="/analytics.js"></script>
<!-- *********************************************************************** -->
<link rel="manifest" href="../manifest.json">
<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="../dist/converse.min.js"></script>
<style>
.converse-container {
height: 50vh;
}
</style>
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
<nav class="navbar navbar-custom navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
<i class="fa fa-bars"></i>
</button>
</div>
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav"><li> <a href="/docs/html/index.html">Documentation</a> </li>
</ul>
</div>
<body id="page-top" data-spy="scroll" class="converse-website">
<section class="section-wrapper">
<nav class="navbar sticky-top navbar-expand-lg" role="navigation">
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<span class="page-scroll">
<a class="navbar-brand" href="/"><span class="converse-brand-heading">Home</span></a>
<a class="navbar-brand" href="/demo"><span class="converse-brand-heading">Demos</span></a>
</span>
</div>
</nav>
<section class="intro">
<div class="intro-body">
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h1 class="brand-heading brand-heading-embedded"><a style="color: white;" href="/"><i class="icon-conversejs"></i>Converse.js</a></h1>
<p class="intro-text">Embedded MUC chat demo</p>
<div class="col-md-12">
<h1 class="brand-heading fade-in" style="margin: 1.5em 0 0 0">
<svg class="converse-svg-logo"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 364 364">
<div id="converse-embedded-chat"></div>
<title>Home</title>
<g class="cls-1" id="g904">
<g data-name="Layer 2">
<g data-name="Layer 7">
<path
class="cls-3"
d="M221.46,103.71c0,18.83-29.36,18.83-29.12,0C192.1,84.88,221.46,84.88,221.46,103.71Z" />
<path
class="cls-4"
d="M179.9,4.15A175.48,175.48,0,1,0,355.38,179.63,175.48,175.48,0,0,0,179.9,4.15Zm-40.79,264.5c-.23-17.82,27.58-17.82,27.58,0S138.88,286.48,139.11,268.65ZM218.6,168.24A79.65,79.65,0,0,1,205.15,174a12.76,12.76,0,0,0-6.29,4.65L167.54,222a1.36,1.36,0,0,1-2.46-.8v-35.8a2.58,2.58,0,0,0-3.06-2.53c-15.43,3-30.23,7.7-42.73,19.94-38.8,38-29.42,105.69,16.09,133.16a162.25,162.25,0,0,1-91.47-67.27C-3.86,182.26,34.5,47.25,138.37,25.66c46.89-9.75,118.25,5.16,123.73,62.83C265.15,120.64,246.56,152.89,218.6,168.24Z" />
</g>
</g>
</g>
</svg>
<span class="brand-heading__text">
<span>converse<span class="subdued">.js</span></span>
<p class="byline">messaging freedom</p>
</span>
</h1>
<p class="intro-text">Embedded MUC chat demo</p>
<div class="converse-container">
<converse-root></converse-root>
</div>
</div>
</div>
</div>
</div>
</section>
</section>
</body>
<script>
converse.initialize({
allow_logout: false, // No point in logging out when we have auto_login as true.
allow_muc_invitations: false, // Doesn't make sense to allow because only
// roster contacts can be invited
allow_contact_requests: false, // Contacts from other servers cannot,
// be added and anonymous users don't
// know one another's JIDs, so disabling.
auto_reconnect: true,
authentication: 'anonymous',
auto_login: true,
auto_join_rooms: [
'anonymous@conference.nomnom.im',
],
// Whitelist non-core plugins that we need
whitelisted_plugins: ['converse-muc-embedded'],
// Blacklist plugins which aren't included in the build file,
// so that other code cannot register their own plugins under
// those names.
blacklisted_plugins: [
"converse-bookmarks",
"converse-controlbox",
"converse-dragresize",
"converse-headline",
"converse-minimize",
"converse-otr",
"converse-register",
"converse-vcard",
],
notify_all_room_messages: [
'anonymous@conference.nomnom.im',
],
bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes
jid: 'nomnom.im', // XMPP server which allows anonymous login (doesn't
// allow chatting with other XMPP servers).
keepalive: true,
hide_muc_server: true, // Federation is disabled, so no use in
// showing the MUC server.
play_sounds: true,
strict_plugin_dependencies: false
notify_all_room_messages: [
'anonymous@conference.nomnom.im',
],
singleton: true,
locales_url: "../locale/{{{locale}}}/LC_MESSAGES/converse.json",
view_mode: 'embedded',
});
</script>
</html>

View File

@ -1,130 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Converse.js</title>
<title>Converse Demos</title>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Converse.js: A free chat client for your website" />
<meta name="description" content="Converse XMPP/Jabber Chat"/>
<meta name="author" content="JC Brand" />
<meta name="keywords" content="xmpp chat webchat converse.js" />
<link rel="shortcut icon" type="image/ico" href="css/images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="/node_modules/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="/node_modules/font-awesome/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="/css/theme.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="/css/converse.min.css" />
<script type="text/javascript" src="analytics.js"></script>
<meta name="keywords" content="xmpp chat webchat converse.js Converse" />
<!-- These files are NOT needed when using converse.js in your own project. -->
<link rel="shortcut icon" type="image/ico" href="/dist/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="/dist/website.min.css" />
<noscript><p><img src="//stats.opkode.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<![if gte IE 9]>
<script type="text/javascript" src="analytics.js"></script>
<!-- *********************************************************************** -->
<link rel="manifest" href="/manifest.json">
<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="/dist/converse.min.js"></script>
<![endif]>
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
<nav class="navbar navbar-custom navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
<i class="fa fa-bars"></i>
</button>
<a class="navbar-brand" href="/#page-top">
<i class="fa fa-play-circle"></i> <span class="light">Home</span>
</a>
<body id="page-top" data-spy="scroll" class="converse-website">
<section class="section-wrapper">
<nav class="navbar sticky-top navbar-expand-lg" role="navigation">
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<span class="page-scroll">
<a class="navbar-brand" href="/"><span class="converse-brand-heading">Home</span></a>
</span>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav">
<!-- Hidden li included to remove active class from about link when scrolled up past about section -->
<li class="hidden">
<a href="#page-top"></a>
</li>
<li class="page-scroll">
<a href="#about">About</a>
</li>
<li class="page-scroll">
<a href="#features">Features</a>
</li>
<li class="page-scroll">
<a href="#contact">Contact</a>
</li>
<li>
<a href="/docs/html/manual.html">User Manual</a>
</li>
<li>
<a href="/docs/html/index.html">Documentation</a>
</li>
<li>
<a href="https://github.com/jcbrand/converse.js/releases" class="button" target="_blank">Download</a>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<section class="intro" class="container">
<section id="intro" class="intro" class="container">
<div class="row">
<h1 class="brand-heading"><i class="icon-conversejs"></i> Converse.js</h1>
<div class="col-md-8 col-md-offset-2">
<div class="col-md-12 col-md-offset-2">
<h1 class="brand-heading fade-in">
<svg class="converse-svg-logo"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 364 364">
<title>Home</title>
<g class="cls-1" id="g904">
<g data-name="Layer 2">
<g data-name="Layer 7">
<path
class="cls-3"
d="M221.46,103.71c0,18.83-29.36,18.83-29.12,0C192.1,84.88,221.46,84.88,221.46,103.71Z" />
<path
class="cls-4"
d="M179.9,4.15A175.48,175.48,0,1,0,355.38,179.63,175.48,175.48,0,0,0,179.9,4.15Zm-40.79,264.5c-.23-17.82,27.58-17.82,27.58,0S138.88,286.48,139.11,268.65ZM218.6,168.24A79.65,79.65,0,0,1,205.15,174a12.76,12.76,0,0,0-6.29,4.65L167.54,222a1.36,1.36,0,0,1-2.46-.8v-35.8a2.58,2.58,0,0,0-3.06-2.53c-15.43,3-30.23,7.7-42.73,19.94-38.8,38-29.42,105.69,16.09,133.16a162.25,162.25,0,0,1-91.47-67.27C-3.86,182.26,34.5,47.25,138.37,25.66c46.89-9.75,118.25,5.16,123.73,62.83C265.15,120.64,246.56,152.89,218.6,168.24Z" />
</g>
</g>
</g>
</svg>
<span class="brand-heading__text">
<span>converse<span class="subdued">.js</span></span>
<p class="byline">messaging freedom</p>
</span>
</h1>
<p class="intro-text">Demos:</p>
<p class="intro-text">
<ul style="list-style: none; font-size: 22px;">
<li><a href="https://inverse.chat" target="_blank" rel="noopener">As a fullscreen application</a></li>
<li><a href="/fullscreen.html">As a fullscreen application</a></li>
<li><a href="/demo/anonymous.html">Anonymous login</a></li>
<li><a href="/demo/embedded.html">Single MUC chatroom embedded into the page</a></li>
<li><a href="/demo/without_bundled_dependencies.html">Dependencies loaded externally as &lt;script&gt; tags</a></li>
</ul>
</p>
</div>
</div>
</section>
</section>
</section>
</body>
<script>
require(['converse'], function (converse) {
(function () {
/* XXX: This function initializes jquery.easing for the https://conversejs.org
* website. This code is only useful in the context of the converse.js
* website and converse.js itself is NOT dependent on it.
*/
var $ = converse.env.jQuery;
$.extend( $.easing, {
easeInOutExpo: function (x, t, b, c, d) {
if (t==0) return b;
if (t==d) return b+c;
if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
},
});
/*
@licstart
This is free and unencumbered software released into the public domain.
$(window).scroll(function() {
if ($(".navbar").offset().top > 50) {
$(".navbar-fixed-top").addClass("top-nav-collapse");
} else {
$(".navbar-fixed-top").removeClass("top-nav-collapse");
}
});
//jQuery for page scrolling feature - requires jQuery Easing plugin
$('.page-scroll a').bind('click', function(event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 700, 'easeInOutExpo');
event.preventDefault();
});
})();
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <https://unlicense.org/>
@licend
*/
converse.initialize({
// Please use this connection manager only for testing purposes
bosh_service_url: 'https://conversejs.org/http-bind/',
keepalive: true,
message_carbons: true,
play_sounds: true,
roster_groups: true,
show_controlbox_by_default: true,
});
bosh_service_url: 'https://conversejs.org/http-bind/'
});
</script>
</html>

View File

@ -1,94 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Converse.js (Non-AMD Example)</title>
<meta charset='utf-8' />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Converse.js: A free chat client for your website" />
<meta name="author" content="JC Brand" />
<link rel="shortcut icon" type="image/ico" href="../css/images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="../node_modules/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="../node_modules/font-awesome/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="../css/theme.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="../css/converse.min.css" />
<!-- BEGIN JQUERY -->
<script type="text/javascript" src="../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../node_modules/jquery.browser/dist/jquery.browser.js"></script>
<!-- END JQUERY -->
<!-- BEGIN OTR: Off-the-record encryption stuff. Can be omitted if OTR is not used. -->
<script type="text/javascript" src="../node_modules/otr/build/dep/crypto.js"></script>
<script type="text/javascript" src="../node_modules/otr/build/dep/salsa20.js"></script>
<script type="text/javascript" src="../node_modules/otr/build/dep/bigint.js"></script>
<script type="text/javascript" src="../node_modules/otr/build/dep/eventemitter.js"></script>
<script type="text/javascript" src="../node_modules/otr/build/otr.js"></script>
<!-- END OTR -->
<!-- BEGIN STROPHE -->
<script type="text/javascript" src="../node_modules/strophe.js/strophe.js"></script>
<script type="text/javascript" src="../node_modules/strophejs-plugin-vcard/strophe.vcard.js"></script>
<script type="text/javascript" src="../node_modules/strophejs-plugin-disco/strophe.disco.js"></script>
<script type="text/javascript" src="../node_modules/strophejs-plugin-rsm/strophe.rsm.js"></script>
<script type="text/javascript" src="../node_modules/strophejs-plugin-ping/strophe.ping.js"></script>
<!-- END STROPHE -->
<!-- BEGIN BACKBONE -->
<script type="text/javascript" src="../node_modules/lodash/lodash.js"></script>
<script type="text/javascript" src="../node_modules/backbone//backbone.js"></script>
<script type="text/javascript" src="../node_modules/backbone.browserStorage/backbone.browserStorage.js"></script>
<script type="text/javascript" src="../node_modules/backbone.overview/backbone.overview.js"></script>
<!-- END BACKBONE -->
<!-- BEGIN I18N -->
<!-- These files can be removed if you don't want to include any
translations for converse.js.
If you want to modify which translations are included, you can modify
src/locales.js to remove those you don't need, and then run `make
build` to generates a new dist/locales.js file.
-->
<script type="text/javascript" src="../node_modules/jed/jed.js"></script>
<script type="text/javascript" src="../dist/locales.js"></script>
<!-- END I18N -->
<script type="text/javascript" src="../node_modules/awesomplete-avoid-xss/awesomplete.js"></script>
<script type="text/javascript" src="../node_modules/moment/min/moment-with-locales.js"></script>
<script type="text/javascript" src="../3rdparty/lodash.fp.js"></script>
<script src="../dist/converse-no-dependencies.js"></script>
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
<section class="intro">
<div class="intro-body">
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h1 class="brand-heading"><i class="icon-conversejs"></i>Converse.js</h1>
<p class="intro-text">An example page where external dependencies are loaded seperately and not within the converse.js bundle.</p>
<p class="intro-text">Look at the page source for details.</p>
<p class="intro-text">For this page to work, you'll need to
<a href="https://conversejs.org/docs/html/developer_guidelines.html#installing-the-development-and-front-end-dependencies">
install the 3rd party dependencies</a> of converse.js.
</p>
<div class="page-scroll">
</div>
</div>
</div>
</div>
</div>
</section>
</body>
<script>
converse.initialize({
bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes
i18n: locales.en, // Refer to ./locale/locales.js to see which locales are supported
prebind: false,
show_controlbox_by_default: true,
debug: true,
roster_groups: true,
keepalive: true
});
</script>
</html>

View File

@ -1,77 +1,50 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Converse.js</title>
<title>Converse</title>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Converse.js: A free chat client for your website" />
<meta name="description" content="Converse XMPP/Jabber Chat" />
<meta name="author" content="JC Brand" />
<meta name="keywords" content="xmpp chat webchat converse.js" />
<link rel="shortcut icon" type="image/ico" href="css/images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="node_modules/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="node_modules/font-awesome/css/font-awesome.min.css" />
<link type="text/css" rel="stylesheet" media="screen" href="css/theme.css" />
<link type="text/css" rel="stylesheet" media="screen" href="css/converse.css" />
<script src="node_modules/requirejs/require.js"></script>
<script src="src/config.js"></script>
<link rel="manifest" href="./manifest.json">
<link rel="shortcut icon" type="image/ico" href="images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="dist/website.css" />
<link type="text/css" rel="stylesheet" media="screen" href="dist/converse.css" />
<script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script>
<script src="dist/converse.js"></script>
</head>
<body id="page-top" data-spy="scroll" data-target=".navbar-custom">
<nav class="navbar navbar-custom navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
<i class="fa fa-bars"></i>
</button>
</div>
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav"><li> <a href="/docs/html/index.html">Documentation</a> </li>
</ul>
</div>
</div>
</nav>
<section class="intro">
<div class="intro-body">
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h1 class="brand-heading"><i class="icon-conversejs"></i>Converse.js</h1>
<p class="intro-text">Developer page.</p>
<p class="intro-text">
Converse.js will only work on this page if you have
<a href="https://conversejs.org/docs/html/development.html">set up the development environment</a>.
</p>
</div>
</div>
</div>
</div>
</section>
</body>
<body class="reset" style="background-color: var(--global-background-color)">
<div id="conversejs-bg"></div>
<script>
require(['converse'], function (converse) {
converse.initialize({
auto_away: 300,
i18n: 'en',
// auto_join_rooms: [
// 'discuss@conference.conversejs.org',
// 'prosody@conference.prosody.im',
// 'jdev@conference.jabber.org'
// ],
notify_all_room_messages: [
'discuss@conference.conversejs.org'
],
auto_reconnect: true,
bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes
message_archiving: 'always',
show_controlbox_by_default: true,
strict_plugin_dependencies: false,
chatstate_notification_blacklist: ['mulles@movim.eu'],
xhr_user_search: false,
debug: true
converse.plugins.add('converse-debug', {
initialize () {
const { _converse } = this;
window._converse = _converse;
}
});
converse.initialize({
i18n: 'af',
theme: 'dracula',
auto_away: 300,
enable_smacks: true,
loglevel: 'debug',
reuse_scram_keys: true,
prune_messages_above: 100,
message_archiving: 'always',
muc_respect_autojoin: true,
muc_show_logs_before_join: true,
notify_all_room_messages: ['discuss@conference.conversejs.org'],
view_mode: 'fullscreen',
// websocket_url: 'wss://conversejs.org/xmpp-websocket',
websocket_url: 'ws://chat.example.org:5380/xmpp-websocket',
whitelisted_plugins: ['converse-debug'],
// connection_options: { worker: '/dist/shared-connection-worker.js' }
});
</script>
</body>
</html>

71594
dist/converse-mobile.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

72683
dist/converse.js vendored

File diff suppressed because one or more lines are too long

72001
dist/inverse.js vendored

File diff suppressed because one or more lines are too long

18
dist/locales.js vendored

File diff suppressed because one or more lines are too long

1
docs/.gitattributes vendored
View File

@ -1 +0,0 @@
CHANGES.rst merge=union

View File

@ -1,59 +0,0 @@
Subscription flow
=================
Happy flow
----------
Contact1 makes a presence subscription request to contact2.
::
<presence type="subscribe" to="contact2@localhost"/>
Contact1 receives a roster update
::
<iq type="set" to="contact1@localhost">
<query xmlns="jabber:iq:roster">
<item jid="contact2@localhost" ask="subscribe" subscription="none"></item>
</query>
</iq>
Contact2 receives the presence subscription, but no
roster update. We create a roster item manually in
handleIncomingSubscription and add the 'requesting'
property to indicate that this is an incoming request.
Contact2 clicks "Accept". This confirms the
subscription and subscribes back.
::
<presence type="subscribed" to="contact1@localhost"/>
<presence type="subscribe" to="contact1@localhost"/>
IF Contact1 is still online and likewise subscribes back, Contact2 will receive a roster update
::
<iq type="set" to="contact2@localhost">
<query xmlns="jabber:iq:roster">
<item jid="contact1@localhost" ask="subscribe" subscription="from"></item>
</query>
</iq>
ELSE, Contact 2 will receive a roster update (but not an IQ stanza)
::
ask = null
subscription = "from"
Contact1's converse.js client will automatically
approve.
Contact2 receives a roster update (as does contact1).
::
<iq type="set" to="contact2@localhost">
<query xmlns="jabber:iq:roster">
<item jid="contact1@localhost" subscription="both"></item>
</query>
</iq>

View File

@ -0,0 +1,48 @@
.brand-heading {
display: flex;
}
.brand-heading__text {
font-size: 6rem;
margin-left: 1rem;
margin-top: -1rem;
}
.subdued {
color: darkgray;
}
.byline {
font-size: 30%;
margin-top: 0;
}
section h1 {
margin-left: 0;
}
h2 {
font-size: 40px;
}
h3 {
font-size: 30px;
}
h4 {
font-size: 25px;
margin-top: 40px;
}
p {
font-size: 1.2rem;
}
.details {
margin-bottom: 20px;
}
.prettyprint code {
padding: 8px 12px;
font-family: courier;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -28,6 +28,63 @@ h5 {
margin-right: 0.5em;
}
.nav-header {
font-weight: bold;
font-size: 110%;
}
.sidebar-title {
padding-left: 15px;
color: #716b7a;
}
.sponsors-list {
overflow-y: auto !important;
overflow-x: hidden;
}
.bs-sidenav .sponsors-list li a:hover {
background-color: transparent;
border: none;
}
.sponsors-list li {
padding: 0.5em 0;
}
.sponsors-list li a {
background-color: transparent;
text-align: center;
}
.centered-text-container {
display: block;
width: 100%;
text-align: center;
}
.patreon-link-container {
margin: 0.5em 0 1em 0;
padding: 0;
}
.patreon-link-container a {
font-size: 85%;
}
#sidebar > .nav-list {
max-height: 35vh;
overflow-y: auto;
}
.bs-sidenav .nav .nav > li > a {
font-size: 100%;
}
.bs-sidenav .nav .nav .nav > li > a {
font-size: 90%;
color: gray;
}
/*
Copyright (c) 2012 Terrence Ryan

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Converse.js API Documentation <?js= title ?></title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<script src="./analytics.js"></script>
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
<link type="text/css" rel="stylesheet" href="/docs/source/_static/api.css">
<link rel="shortcut icon" href="/images/favicon.ico"/>
</head>
<body>
<div id="main">
<h1 class="brand-heading fade-in">
<svg
style="height: 8rem"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 364 364">
<title>Converse</title>
<g class="cls-1" id="g904">
<g data-name="Layer 2">
<g data-name="Layer 7">
<path
class="cls-3"
d="M221.46,103.71c0,18.83-29.36,18.83-29.12,0C192.1,84.88,221.46,84.88,221.46,103.71Z" />
<path
class="cls-4"
d="M179.9,4.15A175.48,175.48,0,1,0,355.38,179.63,175.48,175.48,0,0,0,179.9,4.15Zm-40.79,264.5c-.23-17.82,27.58-17.82,27.58,0S138.88,286.48,139.11,268.65ZM218.6,168.24A79.65,79.65,0,0,1,205.15,174a12.76,12.76,0,0,0-6.29,4.65L167.54,222a1.36,1.36,0,0,1-2.46-.8v-35.8a2.58,2.58,0,0,0-3.06-2.53c-15.43,3-30.23,7.7-42.73,19.94-38.8,38-29.42,105.69,16.09,133.16a162.25,162.25,0,0,1-91.47-67.27C-3.86,182.26,34.5,47.25,138.37,25.66c46.89-9.75,118.25,5.16,123.73,62.83C265.15,120.64,246.56,152.89,218.6,168.24Z" />
</g>
</g>
</g>
</svg>
<span class="brand-heading__text">
<span>converse<span class="subdued">.js</span></span>
<p class="byline">API Documentation</p>
</span>
</h1>
<h1 class="page-title"><?js= title ?></h1>
<?js= content ?>
</div>
<nav>
<h2><a href="/docs/html/index.html">Docs Entrypoint</a></h2>
<?js= this.nav ?>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc <?js= env.version.number ?></a><?js if(env.conf.templates && env.conf.templates.default && env.conf.templates.default.includeDate !== false) { ?> on <?js= (new Date()) ?><?js } ?>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

View File

@ -2,17 +2,12 @@
{% extends "!layout.html" %}
{# Custom CSS overrides #}
{% set css_files = css_files + ['_static/style.css', "../../css/converse.min.css"] %}
{% set script_files = script_files + ["../../dist/converse.min.js", "../../analytics.js"] %}
{% set css_files = css_files + ['_static/style.css'] %}
{% set script_files = script_files + ["../../analytics.js"] %}
{# Add some extra stuff before and use existing with 'super()' call. #}
{% block footer %}
{{ super() }}
<script>
converse.initialize({
bosh_service_url: 'https://conversejs.org/http-bind/',
});
</script>
{% endblock %}

View File

@ -0,0 +1,13 @@
{#
basic/localtoc.html
~~~~~~~~~~~~~~~~~~~
Sphinx sidebar template: local table of contents.
:copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
#}
{%- if display_toc %}
<h3 class="sidebar-title"><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
{{ toc }}
{%- endif %}

View File

@ -0,0 +1,22 @@
<span class="centered-text-container">
<h4 class="sidebar-title">Sponsored by</h4>
</span>
<ul class="sponsors-list">
<li><a href="https://bairesdev.com/sponsoring-open-source-projects/?utm_source=conversejs" target="_blank" rel="noopener">
<img style="width: 10em" src="/media/logos/bairesdev-primary.png" alt="BairesDev">
</a>
</li>
<li><a href="https://blokt.com/?utm_source=conversejs" target="_blank" rel="noopener">
<img style="width: 9em" src="/logo/blokt.png" alt="Blokt Crypto & Privacy">
</a>
</li>
<li><a href="https://primesound.org/?utm_source=conversejs" target="_blank" rel="noopener">
<img style="width: 9em" src="/media/logos/primesound.png" alt="Prime Sound">
</a>
</li>
<li><a href="https://www.keycdn.com/?utm_source=conversejs" target="_blank" rel="noopener">
<img style="height: 2.5em" src="/logo/keycdn.png" alt="KeyCDN">
</a>
</li>
</ul>
<span class="centered-text-container patreon-link-container"><a href="https://conversejs.org#sponsors">Become a sponsor</a></span>

12
docs/source/api/index.rst Normal file
View File

@ -0,0 +1,12 @@
.. raw:: html
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/api/index.rst">Edit me on GitHub</a></div>
============================================
The API documentation (generated with JSDoc)
============================================
This document is a stub. It shouldn't show at all, instead it's a hack in order
to link to the JSDoc output.
See https://stackoverflow.com/questions/27979803/external-relative-link-in-sphinx-toctree-directive

View File

@ -5,9 +5,9 @@
.. _builds:
===============
Creating builds
===============
=================
Generating builds
=================
.. contents:: Table of Contents
:depth: 3
@ -15,72 +15,52 @@ Creating builds
.. warning:: There current documentation in this section does not adequately
explain how to create custom builds.
explain how to create custom bundles.
.. note:: Please make sure to read the section :doc:`development` and that you have installed
.. Note:: Please make sure to read the section :doc:`development` and that you have installed
all development dependencies (long story short, you should be able to just run ``make dev``)
Creating builds and distribution files
======================================
.. _creating_builds:
Converse.js uses `AMD (Asynchronous Modules Definition) <http://requirejs.org/docs/whyamd.html#amd>`_
to define modules and their dependencies.
Creating JavaScript and CSS bundles and distribution files
==========================================================
Dependencies can then be loaded on-the-fly with `require.js <http://requirejs.org>`_.
This is very useful during development, but when it comes to
deployement you'll usually want to create a single, minified distribution build.
Converse uses `webpack <https://webpack.js.org/>`_ to create the final JavaScript and CSS distribution files.
For this, the `r.js optimizer <http://requirejs.org/docs/optimization.html>`_
is used together with `almond.js <https://github.com/requirejs/almond>`_, which
is a smaller and minimal AMD API implementation that replaces require.js in builds.
The generated distribution files are all placed in the ``./dist`` directory.
The Converse repository does not include ``dist`` directory by default.
To create the distribution builds, simply run::
To generate the ``./dist`` directory and all CSS and JavaScript bundles, simply run ``make dist``.
make dist
When you're developing, and constantly changing code, you can run ``make watch``
to let the bundles be automatically generated as soon as you edit a file.
This command does the following:
.. note::
* It creates different builds of Converse.js in the ``./dist/`` directory.
If you're on Windows or don't have GNU Make installed, you can run ``npm build``
to build all the distribution files.
* It bundles all the translation files in ``./locale/`` into a single file ``locales.js``.
This file can then be included via the ``<script>`` tag. See for example the ``non_amd.html`` example page.
* Also, the CSS files in the ``./css`` directory will be minified.
Creating custom bundles
=======================
The Javascript build files are contained in the ``./dist`` directory:
.. code-block:: bash
jc@conversejs:~/converse.js (master)$ ls dist/
converse-mobile.js converse.min.js
converse-mobile.min.js converse.nojquery.js
converse-no-dependencies.js converse.nojquery.min.js
converse-no-dependencies.min.js locales.js
converse.js
.. _`minification`:
Creating custom builds
----------------------
One reason you might want to create your own builds, is because you want to
remove some of the core plugins of converse.js, or perhaps you want to include
One reason you might want to create your own bundles, is because you want to
remove some of the core plugins of Converse, or perhaps you want to include
your own.
To add or remove plugins from the build, you need to modify the
``src/converse.js`` file.
`src/converse.js <https://github.com/conversejs/converse.js/blob/master/src/converse.js>`_ file.
You'll find a section marked ``/* START: Removable components`` and
``/* END: Removable components */``.
In this section is listed all the converse.js plugins that will make up a
build.
In this section is listed the Converse plugins that will make up a bundle.
You could for example decide to disable the ControlBox altogether by removing
the ``converse-controlbox`` plugin.
After doing so, you need to run ``make dist`` again in the root or your
converse.js repository, in order to generate the new build.
Converse repository, in order to generate the new build.
Be aware that some plugins might have dependencies on other plugins, so if you
remove a certain plugin but other included plugins still depend on it, then it
@ -91,12 +71,37 @@ text editor and look at the list specified as the second parameter to the
``define`` call, near the top of the file. This list specifies the dependencies
of that plugin.
Minifying the CSS
-----------------
Besides the standard build, the Converse repository includes configuration
for certain other non-standard builds, which we'll now mention below.
To only minify the CSS files, nothing else, run the following command::
Excluding all 3rd party dependencies
------------------------------------
make cssmin
The ``dist/converse-no-dependencies.js`` bundle contains only the core Converse
code and none of the 3rd party dependencies. This might be useful if you need
to load the dependencies separately.
The CSS files are minified via `cssmin <https://github.com/gruntjs/grunt-contrib-cssmin>`_.
To generate this bundle, you can run:
::
make dist/converse-no-dependencies.js
make dist/converse-no-dependencies.min.js
Headless build
--------------
Converse also has a special build called the `headless build`.
You can generate it by running ``make dist/converse-headless.js``
The headless build is a bundle of all the non-UI parts of Converse, and its aim
is to provide you with an XMPP library (and application) on which you can build
your own UI.
It's also installable as `@converse/headless <https://www.npmjs.com/package/@converse/headless>`_.
The main distribution of Converse relies on the headless build.
The file `src/headless/headless.js <https://github.com/jcbrand/converse.js/blob/master/src/headless/headless.js>`_
is used to determine which plugins are included in the build.

8
docs/source/conf.json Normal file
View File

@ -0,0 +1,8 @@
{
"plugins": ["plugins/markdown"],
"templates": {
"default": {
"layoutFile": "_templates/jsdoc_layout.tmpl"
}
}
}

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Converse.js documentation build configuration file, created by
# Converse documentation build configuration file, created by
# sphinx-quickstart on Fri Apr 26 20:48:03 2013.
#
# This file is execfile()d with the current directory set to its containing dir.
@ -40,17 +40,17 @@ source_suffix = '.rst'
master_doc = 'index'
# General information about the project.
project = u'Converse.js'
copyright = u'2014, JC Brand'
project = u'Converse'
copyright = u'2018, JC Brand'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '3.2.0-rc'
version = '10.1.6'
# The full version, including alpha/beta/rc tags.
release = '3.2.0-rc'
release = '10.1.6'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@ -102,13 +102,13 @@ html_static_path = ['_static']
# (Optional) Logo. Should be small enough to fit the navbar (ideally 24x24).
# Path should be relative to the ``_static`` files directory.
html_logo = "_static/conversejs_small.png"
html_logo = "_static/logo.svg"
# Theme options are theme-specific and customize the look and feel of a
# theme further.
html_theme_options = {
# Navigation bar title. (Default: ``project`` value)
'navbar_title': "Converse.js",
'navbar_title': "Converse",
# Tab name for entire site. (Default: "Site")
'navbar_site_name': "Table of Contents",
# A list of tuples containing pages or urls to link to.
@ -177,7 +177,7 @@ html_favicon = "_static/favicon.ico"
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
html_sidebars = {'**': ['sponsors.html', 'localtoc.html', 'sourcelink.html', 'searchbox.html']}
# Additional templates that should be rendered to pages, maps page names to
# template names.
@ -229,7 +229,7 @@ latex_elements = {
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Conversejs.tex', u'Converse.js Documentation',
('index', 'Conversejs.tex', u'Converse Documentation',
u'JC Brand', 'manual'),
]
@ -259,7 +259,7 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'conversejs', u'Converse.js Documentation',
('index', 'conversejs', u'Converse Documentation',
[u'JC Brand'], 1)
]
@ -273,8 +273,8 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Conversejs', u'Converse.js Documentation',
u'JC Brand', 'Conversejs', 'Open Source XMPP webchat',
('index', 'Conversejs', u'Converse Documentation',
u'JC Brand', 'Converse', 'Open Source XMPP webchat',
'Miscellaneous'),
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,139 @@
.. raw:: html
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/dependencies.rst">Edit me on GitHub</a></div>
.. _`development`:
============================
Setting up a dev environment
============================
Installing the 3rd party dependencies
=====================================
To develop and customize Converse, you'll first need to check out Converse's Git
repository:
::
git clone https://github.com/conversejs/converse.js.git
cd converse.js
We use development tools which depend on Node.js and NPM (the Node package manager).
It's recommended that you use `NVM <https://github.com/nvm-sh/nvm>`_ (the Node version manager)
to make sure you have the right version of Node.
Refer to the `NVM Github page <https://github.com/nvm-sh/nvm#install--update-script>`_ for instructions on how to install it.
Once NVM is installed, you can run the following inside your checkout of the Converse Git repository:
::
nvm install
.. note::
You will always have to first run ``nvm install`` in a new terminal session before working on Converse.
To set up the Converse development environment, you now run ``make dev``.
::
make dev
Alternatively, if you're using Windows, or don't have GNU Make installed, you can run the
following:
::
npm install
npm run lerna
This will install the Node development tools and Converse's dependencies.
The front-end dependencies are those JavaScript files on which
Converse directly depends and which will be loaded in the browser as part of
the bundle in ``dist/converse.js`` (or ``dist/converse.min.js``).
To see the 3rd party dependencies (not just the front-end dependencies, but
also ones necessary for development tasks like making builds), take a look at
the list under the ``devDependencies`` in `package.json <https://github.com/jcbrand/converse.js/blob/master/package.json>`_.
.. note::
After running ```make dev```, you should now have a new *node_modules* directory
which contains all the external dependencies of Converse.
If this directory does NOT exist, something must have gone wrong.
Double-check the output of ```make dev``` to see if there are any errors
listed. For support, you can ask in our chatroom: `dicuss@conference.conversejs.org <xmpp:discuss@conference.conversejs.org>`_.
If you don't have an XMPP client installed, follow this link to
`conversejs.org <https://conversejs.org/fullscreen#converse/room?jid=discuss@conference.conversejs.org>`_
where you can log in and be taken directly to the chatroom.
.. _`dependency-libsignal`:
Libsignal
---------
If you want OMEMO encryption, you need to load `libsignal <https://github.com/signalapp/libsignal-protocol-javascript>`_ separately in your page.
For example::
<script src="3rdparty/libsignal-protocol-javascript/dist/libsignal-protocol.js"></script>
The reason libsignal needs to be loaded separately is because it's released
under the `GPLv3 <https://github.com/signalapp/libsignal-protocol-javascript/blob/master/LICENSE>`_
which requires all other dependent JavaScript code to also be open sourced under the same
license. You might not be willing to adhere to those terms, which is why you
need to decide for yourself whether you're going to load libsignal or not.
.. _`webserver`:
Setting up a webserver
======================
When making changes to Converse, either development or theming changes,
you'll want to preview them in your browser.
For this, you'll need to serve the development files via a web server,
so that you can see your local changes in the browser.
Manually starting a web server
------------------------------
To both set up the development environment and also start up a web browser to
serve the files for you, you can run::
make serve
.. note::
To run the "make" commands, you'll need `GNUMake <https://www.gnu.org/software/make>`_
installed on your computer. If you use GNU/Linux or \*BSD, it should be installed or
available via your package manager. For Mac, you'll need to install XCode and in
Windows you can use `Chocolatey <https://chocolatey.org/>`_.
After running ``make serve`` you can open http://localhost:8000 in your webbrowser to see the Converse website.
When developing or changing the theme, you'll want to load all the
unminified JS and CSS resources as separate files. To do this, open http://localhost:8000/dev.html instead.
You might want to open `dev.html <https://github.com/conversejs/converse.js/blob/master/dev.html>`_ in your text editor or IDE as well, to see
how ``converse.initialize`` is called and to potentially change any of the
settings.
Starting a web server with live reloading
-----------------------------------------
Alternatively, if you want to have live reloading whenever any of the source files change, you
can run ``make devserver`` (which will use `webpack-dev-server <https://github.com/webpack/webpack-dev-server>`_).
Instead of ``dev.html`` being used, `webpack.html <https://github.com/conversejs/converse.js/blob/master/webpack.html>`_
is now being used as the HTML template, and you'll need to modify that file if
you want to change the settings passed to ``converse.initialize``.
If you're running ``make devserver``, you need to open http://localhost:8080.

File diff suppressed because it is too large Load Diff

View File

@ -1,147 +0,0 @@
.. raw:: html
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/theming.rst">Edit me on GitHub</a></div>
Developer guidelines
====================
.. contents:: Table of Contents
:depth: 2
:local:
If you want to work with the non-minified Javascript and CSS files you'll soon
notice that there are references to a missing *node_modules* directory.
Please follow the instructions below to create these directories and fetch Converse's
3rd-party dependencies.
.. note::
Windows environment: We recommend installing the required tools using `Chocolatey <https://chocolatey.org/>`_
You will need Node.js (nodejs.install), Git (git.install) and optionally to build using Makefile, GNU Make (make)
If you have trouble setting up a development environment on Windows,
please read `this post <http://librelist.com/browser//conversejs/2014/11/5/openfire-converse-and-visual-studio-questions/#b28387e7f8f126693b11598a8acbe810>`_
in the mailing list.:
Installing the development and front-end dependencies
-----------------------------------------------------
We use development tools which depend on Node.js and npm (the Node package manager).
If you don't have Node.js installed, you can download and install the latest
version `here <https://nodejs.org/download>`_.
Also make sure you have ``Git`` installed. `Details <http://git-scm.com/book/en/Getting-Started-Installing-Git>`_.
.. note::
Windows users should use Chocolatey as recommended above.
.. note::
Debian & Ubuntu users : apt-get install git npm nodejs-legacy
Once you have *Node.js* and *git* installed, run the following command inside the Converse.js
directory:
::
make dev
On Windows you need to specify Makefile.win to be used by running: ::
make -f Makefile.win dev
Or alternatively, if you don't have GNU Make:
::
npm install
This will install the Node.js development tools and Converse.js's front-end dependencies.
The front-end dependencies are those javascript files on which
Converse.js directly depends and which will be loaded in the browser.
To see the dependencies, take a look at whats under the *devDependencies* key in
`package.json <https://github.com/jcbrand/converse.js/blob/master/package.json>`_.
.. note::
After running ```make dev```, you should now have a new *node_modules* directory
which contains all the external dependencies of Converse.js.
If these directory does NOT exist, something must have gone wrong.
Double-check the output of ```make dev``` to see if there are any errors
listed. For support, you can write to the mailing list: conversejs@librelist.com
Loading converse.js and its dependencies
----------------------------------------
With AMD and require.js (recommended)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Converse.js uses `require.js <http://requirejs.org>`_ to asynchronously load dependencies.
If you want to develop or customize converse.js, you'll want to load the
non-minified javascript files.
Add the following two lines to the *<head>* section of your webpage:
.. code-block:: html
<link rel="stylesheet" type="text/css" media="screen" href="converse.css">
<script data-main="main" src="node_modules/requirejs/require.js"></script>
require.js will then let the main.js file be parsed (because of the *data-main*
attribute on the *script* tag), which will in turn cause converse.js to be
parsed.
Without AMD and require.js
~~~~~~~~~~~~~~~~~~~~~~~~~~
Converse.js can also be used without require.js. If you for some reason prefer
to use it this way, please refer to
`non_amd.html <https://github.com/jcbrand/converse.js/blob/master/non_amd.html>`_
for an example of how and in what order all the Javascript files that converse.js
depends on need to be loaded.
Brief description of converse.js's dependencies
-----------------------------------------------
Converse.js relies on the following dependencies:
* `JQuery <http://jquery.com/>`_ for DOM manipulation and `promises <http://api.jquery.com/promise/>`_.
* `moment.js <http://momentjs.com/>`_ provides a better API for handling dates and times.
* `Strophe.js <http://strophe.im/>`_ maintains the XMPP session, is used to
build XMPP stanzas, to send them, and to register handlers for received stanzas.
* `lodash <https://lodash.com/>`_ provides very useful utility functions.
* `Backbone <http://backbonejs.org/>`_ is used to model the data as Models and
Collections and to create Views that render the UI.
* `backbone.overview <http://github.com/jcbrand/backbone.overview>`_ provides
Overviews, which are to Views as Backbone Collections are to Models.
* `pluggable.js <https://github.com/jcbrand/pluggable.js>`_ is the plugin
architecture for Converse.js. It registers and initializes plugins and
allows existing attributes, functions and objects on converse.js to be
overridden inside plugins.
When submitting a pull request
------------------------------
Please follow the usual github workflow. Create your own local fork of this repository,
make your changes and then submit a pull request.
Follow the programming style guide
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please read the `style guide </docs/html/style_guide.html>`_ and make sure that your code follows it.
Add tests for your bugfix or feature
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a test for any bug fixed or feature added. We use Jasmine
for testing.
Take a look at `tests.html <https://github.com/jcbrand/converse.js/blob/master/tests.html>`_
and the `spec files <https://github.com/jcbrand/converse.js/blob/master/tests.html>`_
to see how tests are implemented.
Check that the tests pass
~~~~~~~~~~~~~~~~~~~~~~~~~
Check that all tests complete sucessfully.
Run ``make check`` in your terminal or open `tests.html <https://github.com/jcbrand/converse.js/blob/master/tests.html>`_
in your browser.

View File

@ -2,27 +2,31 @@
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/development.rst">Edit me on GitHub</a></div>
.. _development:
.. _`development`:
===========
Development
===========
Welcome to the developer documentation of converse.js. Read the documentation
linked to below, if you want to add new features or create your own customized
version of converse.js.
Welcome to the developer documentation of Converse.js.
Here you will learn how to add new features and how you can create your own
customized version of Converse.
Converse is a community project and largely volunteer driven.
We're grateful for your contributions, so please don't hesitate to
make a `Github pull request <https://help.github.com/categories/collaborating-with-issues-and-pull-requests/>`_
to fix a bug or to add new functionality.
Converse.js itself composed of plugins, and exposes an API with which you can
create and register your own plugins. This is the recommended way to customize
or add new functionality to converse.js.
.. toctree::
:maxdepth: 2
developer_guidelines
style_guide
setup_dev_environment
plugin_development
developer_api
events
api/index
testing
other_frameworks
builds
style_guide

View File

@ -6,10 +6,6 @@
Writing Documentation
=====================
.. contents:: Table of Contents
:depth: 2
:local:
.. note:: Contributions to the documentation are much appreciated.
What is used to write the documentation?
@ -34,29 +30,26 @@ under ``docs/source``.
How to generate HTML from the source files?
===========================================
Install Dependencies
--------------------
In order to generate HTML from the source files, you need to have Sphinx and
the `Sphinx Bootstrap Theme <http://ryan-roemer.github.io/sphinx-bootstrap-theme>`_
installed.
We use `zc.buildout <http://www.buildout.org/en/latest/>`_ to install Sphinx
and the theme.
To install Sphinx, do the following::
python bootstrap.py
./bin/buildout
Generate the HTML
-----------------
After installing the dependencies, you can generate the HTML by simply
running::
After installing the dependencies, you can generate the HTML by running::
make html
The HTMl files will be located in ``./docs/html``
What ``make html`` does for you is it installs `zc.buildout <http://www.buildout.org/en/latest/>`_
which is used to install Sphinx and all its dependencies.
You'll need to have Python and `Virtualenv <https://virtualenv.pypa.io/en/latest/>`_ available on your computer.
.. warning:: When contributing, please don't commit any generated html files.
Serving the documentation
-------------------------
To view the generated docs, you can run ``make serve`` and then open
http://localhost:8000/docs/html/index.html in your browser.

View File

@ -1,448 +0,0 @@
.. raw:: html
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/theming.rst">Edit me on GitHub</a></div>
.. _`events-API`:
Events and promises
===================
.. contents:: Table of Contents
:depth: 2
:local:
Converse.js and its plugins emit various events which you can listen to via the
:ref:`listen-grouping`.
Some of these events are also available as `ES2015 Promises <http://es6-features.org/#PromiseUsage>`_,
although not all of them could logically act as promises, since some events
might be fired multpile times whereas promises are to be resolved (or
rejected) only once.
The core events, which are also promises are:
* `cachedRoster`_
* `chatBoxesFetched`_
* `pluginsInitialized`_
* `roster`_
* `rosterContactsFetched`_
* `rosterGroupsFetched`_
* `rosterInitialized`_
* `statusInitialized`_
* `roomsPanelRendered`_ (only via the `converse-muc` plugin)
For more info on how to use (or add promises), you can read the
:ref:`promises-grouping` in the API documentation.
Below we will now list all events and also specify whether they are available
as promises.
List of Events (and promises)
-----------------------------
Hooking into events that Converse.js emits is a great way to extend or
customize its functionality.
From version 3.0.0 and up, it's only possible to register event handlers inside
a plugin, by using the closured ``_converse`` object. When writing a plugin,
remember that it will also have to be whitelisted, before it will be loaded.
Refer to the :ref:`whitelisted_plugins` setting.
Here follows the different events that are emitted:
afterMessagesFetched
~~~~~~~~~~~~~~~~~~~~
Emitted whenever a chat box has fetched its messages from ``sessionStorage`` and
**NOT** from the server.
This event is listened to by the ``converse-mam`` plugin to know when it can
fetch archived messages from the server.
The event handler is passed the ``Backbone.View`` instance of the relevant chat
box.
``_converse.on('afterMessagesFetched', function (chatboxview) { ... });``
.. _`cachedRoster`:
cachedRoster
~~~~~~~~~~~~
The contacts roster has been retrieved from the local cache (`sessionStorage`).
``_converse.on('cachedRoster', function (items) { ... });``
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('cachedRoster').then(function () {
// Your code here...
});
See also the `roster`_ event further down.
callButtonClicked
~~~~~~~~~~~~~~~~~
When a call button (i.e. with class .toggle-call) on a chat box has been clicked.
``_converse.on('callButtonClicked', function (connection, model) { ... });``
.. _`chatBoxesFetched`:
chatBoxesFetched
~~~~~~~~~~~~~~~~
Any open chat boxes (from this current session) has been retrieved from the local cache (`sessionStorage`).
You should wait for this event or promise before attempting to do things
related to open chat boxes.
``_converse.on('chatBoxesFetched', function (items) { ... });``
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('chatBoxesFetched').then(function () {
// Your code here...
});
chatBoxInitialized
~~~~~~~~~~~~~~~~~~
When a chat box has been initialized. Relevant to converse-chatview.js plugin.
``_converse.on('chatBoxInitialized', function (chatbox) { ... });``
chatBoxOpened
~~~~~~~~~~~~~
When a chat box has been opened. Relevant to converse-chatview.js plugin.
``_converse.on('chatBoxOpened', function (chatbox) { ... });``
chatRoomOpened
~~~~~~~~~~~~~~
When a chat room has been opened. Relevant to converse-chatview.js plugin.
``_converse.on('chatRoomOpened', function (chatbox) { ... });``
chatBoxClosed
~~~~~~~~~~~~~
When a chat box has been closed. Relevant to converse-chatview.js plugin.
``_converse.on('chatBoxClosed', function (chatbox) { ... });``
chatBoxFocused
~~~~~~~~~~~~~~
When the focus has been moved to a chat box. Relevant to converse-chatview.js plugin.
``_converse.on('chatBoxFocused', function (chatbox) { ... });``
chatBoxToggled
~~~~~~~~~~~~~~
When a chat box has been minimized or maximized. Relevant to converse-chatview.js plugin.
``_converse.on('chatBoxToggled', function (chatbox) { ... });``
connected
~~~~~~~~~
After connection has been established and converse.js has got all its ducks in a row.
``_converse.on('connected', function () { ... });``
contactRequest
~~~~~~~~~~~~~~
Someone has requested to subscribe to your presence (i.e. to be your contact).
``_converse.on('contactRequest', function (user_data) { ... });``
contactRemoved
~~~~~~~~~~~~~~
The user has removed a contact.
``_converse.on('contactRemoved', function (data) { ... });``
contactStatusChanged
~~~~~~~~~~~~~~~~~~~~
When a chat buddy's chat status has changed.
``_converse.on('contactStatusChanged', function (buddy) { ... });``
contactStatusMessageChanged
~~~~~~~~~~~~~~~~~~~~~~~~~~~
When a chat buddy's custom status message has changed.
``_converse.on('contactStatusMessageChanged', function (data) { ... });``
discoInitialized
~~~~~~~~~~~~~~~~
Emitted once the ``converse-disco`` plugin has been initialized and the
``_converse.disco_entities`` collection will be available and populated with at
least the service discovery features of the user's own server.
``_converse.on('discoInitialized', function () { ... });``
disconnected
~~~~~~~~~~~~
After converse.js has disconnected from the XMPP server.
``_converse.on('disconnected', function () { ... });``
initialized
~~~~~~~~~~~
Once converse.js has been initialized.
``_converse.on('initialized', function () { ... });``
See also `pluginsInitialized`_.
logout
~~~~~~
The user has logged out.
``_converse.on('logout', function () { ... });``
messageAdded
~~~~~~~~~~~~
Once a message has been added to a chat box. The passed in data object contains
a `chatbox` attribute, referring to the chat box receiving the message, as well
as a `message` attribute which refers to the Message model.
.. code-block:: javascript
_converse.on('messageAdded', function (data) {
// The message is at `data.message`
// The original chat box is at `data.chatbox`.
});
messageSend
~~~~~~~~~~~
When a message will be sent out.
``_converse.on('messageSend', function (messageText) { ... });``
noResumeableSession
~~~~~~~~~~~~~~~~~~~
When keepalive=true but there aren't any stored prebind tokens.
``_converse.on('noResumeableSession', function () { ... });``
.. _`pluginsInitialized`:
pluginsInitialized
~~~~~~~~~~~~~~~~~~
Emitted once all plugins have been initialized. This is a useful event if you want to
register event handlers but would like your own handlers to be overridable by
plugins. In that case, you need to first wait until all plugins have been
initialized, so that their overrides are active. One example where this is used
is in `converse-notifications.js <https://github.com/jcbrand/converse.js/blob/master/src/converse-notification.js>`.
``_converse.on('pluginsInitialized', function () { ... });``
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('pluginsInitialized').then(function () {
// Your code here...
});
reconnecting
~~~~~~~~~~~~
Fired once converse.js has determined that it will attempt to reconnect (and
each subsequent time, if it attempts repeatedly).
reconnected
~~~~~~~~~~~
After the connection has dropped and converse.js has reconnected.
Any Strophe stanza handlers (as registered via `converse.listen.stanza`) will
have to be registered anew.
``_converse.on('reconnected', function () { ... });``
roomInviteSent
~~~~~~~~~~~~~~
After the user has sent out a direct invitation, to a roster contact, asking them to join a room.
``_converse.on('roomInvite', function (data) { ... });``
roomInviteReceived
~~~~~~~~~~~~~~~~~~
After the user has sent out a direct invitation, to a roster contact, asking them to join a room.
``_converse.on('roomInvite', function (data) { ... });``
.. _`roomsPanelRendered`:
roomsPanelRendered
~~~~~~~~~~~~~~~~~~
Emitted once the "Rooms" panel in the control box has been rendered.
Used by `converse-bookmarks` and `converse-roomslist` to know when they can
render themselves in that panel.
``_converse.on('roomsPanelRendered', function (data) { ... });``
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('roomsPanelRendered').then(function () {
// Your code here...
});
.. _`roster`:
roster
~~~~~~
When the roster has been received from the XMPP server.
``_converse.on('roster', function (items) { ... });``
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('roster').then(function () {
// Your code here...
});
See also the `cachedRoster` event further up, which gets called instead of
`roster` if its already in `sessionStorage`.
.. _`rosterContactsFetched`:
rosterContactsFetched
~~~~~~~~~~~~~~~~~~~~~
Triggered once roster contacts have been fetched. Used by the
`converse-rosterview.js` plugin to know when it can start to show the roster.
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('rosterContactsFetched').then(function () {
// Your code here...
});
.. _`rosterGroupsFetched`:
rosterGroupsFetched
~~~~~~~~~~~~~~~~~~~
Triggered once roster groups have been fetched. Used by the
`converse-rosterview.js` plugin to know when it can start alphabetically
position roster groups.
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('rosterGroupsFetched').then(function () {
// Your code here...
});
.. _`rosterInitialized`:
rosterInitialized
~~~~~~~~~~~~~~~~~
The Backbone collections `RosterContacts` and `RosterGroups` have been created,
but not yet populated with data.
This event is useful when you want to create views for these collections.
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('rosterInitialized').then(function () {
// Your code here...
});
rosterPush
~~~~~~~~~~
When the roster receives a push event from server. (i.e. New entry in your buddy list)
``_converse.on('rosterPush', function (items) { ... });``
rosterReadyAfterReconnection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Similar to `rosterInitialized`, but instead pertaining to reconnection. This
event indicates that the Backbone collections representing the roster and its
groups are now again available after converse.js has reconnected.
.. _`statusInitialized`:
statusInitialized
~~~~~~~~~~~~~~~~~
When the user's own chat status has been initialized.
``_converse.on('statusInitialized', function (status) { ... });``
Also available as an `ES2015 Promise <http://es6-features.org/#PromiseUsage>`_:
.. code-block:: javascript
_converse.api.waitUntil('statusInitialized').then(function () {
// Your code here...
});
statusChanged
~~~~~~~~~~~~~
When own chat status has changed.
``_converse.on('statusChanged', function (status) { ... });``
statusMessageChanged
~~~~~~~~~~~~~~~~~~~~
When own custom status message has changed.
``_converse.on('statusMessageChanged', function (message) { ... });``
serviceDiscovered
~~~~~~~~~~~~~~~~~
When converse.js has learned of a service provided by the XMPP server. See XEP-0030.
``_converse.on('serviceDiscovered', function (service) { ... });``
windowStateChanged
~~~~~~~~~~~~~~~~~~
When window state has changed. Used to determine when a user left the page and when came back.
``_converse.on('windowStateChanged', function (data) { ... });``

View File

@ -2,47 +2,134 @@
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/features.rst">Edit me on GitHub</a></div>
.. _`features`:
========
Features
========
.. contents:: Table of Contents
:depth: 2
:local:
File sharing (`XEP-0363 HTTP File Upload <https://xmpp.org/extensions/xep-0363.html>`_)
=======================================================================================
Off-the-record encryption
=========================
Converse supports file sharing by first uploading the file to a file server and
then sending the file's URL to the recipient.
Converse.js supports `Off-the-record (OTR) <https://otr.cypherpunks.ca/>`_
encrypted messaging.
The file server that is used is configured by the XMPP server admin, and is not
something that Converse has any control over.
The OTR protocol not only **encrypts your messages**, it provides ways to
**verify the identity** of the person you are talking to,
**plausible deniability** and **perfect forward secrecy** by generating
new encryption keys for each conversation.
Often when people report file sharing not working, it's because the file server
is not configured to allow file uploads from other domains.
In its current state, Javascript cryptography is fraught with dangers and
challenges that make it impossible to reach the same standard of security that
is available with native "desktop" software.
The file server needs to be configured for `Cross-Origin resource sharing <https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS>`_
(known by the acronym CORS). Specifically, it needs to add a
``Access-Control-Allow-Origin`` header which includes the domain hosting
Converse.
This is due to its runtime malleability, the way it is "installed" (e.g.
served) and the browser's lack of cryptographic primitives needed to implement
secure crypto.
.. _`feature-omemo`:
For harsh but fairly valid criticism of Javascript cryptography, read:
`Javascript Cryptography Considered Harmful <http://www.matasano.com/articles/javascript-cryptography/>`_.
End to end message encryption (`XEP-0384 OMEMO <https://xmpp.org/extensions/xep-0384.html>`_)
=============================================================================================
To get an idea on how this applies to OTR support in Converse.js, please read
`my thoughts on it <https://opkode.com/media/blog/2013/11/11/conversejs-otr-support>`_.
.. note::
Converse versions older than 8.0.0 do NOT support encryption or decryption
of uploaded files. Files will be uploaded WITHOUT ENCRYPTION, even when
OMEMO is enabled.
.. note::
For end-to-end encryption via OMEMO, you'll need to load `libsignal-protocol.js
<https://github.com/signalapp/libsignal-protocol-javascript>`_ separately in
your page. Take a look at the section on :ref:`libsignal <dependency-libsignal>` and the
:ref:`security considerations around OMEMO <feature-omemo>`.
Converse supports OMEMO encryption based on the
`Signal Protocol <https://github.com/signalapp/libsignal-protocol-javascript>`_.
The Signal Protocol is session-oriented. Clients establish a session, which is
then used for all subsequent encrypt/decrypt operations. There is no need to
ever tear down a session once one has been established.
This means that a session needs to be stored permanently after logging out.
Converse stores this session information in the browser's `IndexedDB <https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API>`_
or `localStorage <https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage>`_
database, depending on the value provided to :ref:`persistent-store`.
If you've checked the "This is not a trusted device" checkbox when logging in,
then `sessionStorage <https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage>`_
is used instead of localStorage and all data is cleared when you log out.
For this reason, OMEMO is disabled when you've indicated that you're using
an untrusted device. You would in any case not be able to decrypt previously
received OMEMO messages, due to the Signal Protocol's forward secrecy and the
fact that you don't have a pre-existing session.
Security considerations for browser-based crypto
------------------------------------------------
Crypto apps deployed via regular web hosting can be described as relying on
"host-based" security.
Host-based security services require you to trust the host every time you access
it, whereas with installable desktop software you trust the host when you
download/install the software (and whenever it gets updated).
The dynamic nature of "host-based" systems makes it impractical for security
researchers to do security audits because the hosted code can change at any
time.
In such a setup you need to fully trust the host that serves you the JavaScript code.
The host that serves the JavaScript code is not necessarily the same host that
stores and procesess your chat messages. So using OMEMO can still protect your
messages from snooping on the XMPP server where they're stored encrypted.
In other words, you do have to trust the webserver that hosts Converse for you,
but you don't necessarily have to trust the XMPP server (if it's on a different host),
because it never gets hold of your private key.
One way to improve this situation is to host Converse yourself, especially if
you host it locally on your own machine. If you're not able to do that, then
at least make sure you use a reputable host that serves files over HTTPS and
that set `CSP <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy>`_
headers.
Due to these reasons, it's NOT a good idea to use encrypted messaging with a
browser-based solution in life-threatening situations.
Security can be increased by using an installable app (like `Converse Desktop <https://github.com/conversejs/converse-desktop>`_).
For further reading on the challenges of web-based crypto, take a look at these
articles:
* `What's wrong with webcrypto? <https://tonyarcieri.com/whats-wrong-with-webcrypto>`_
* `Heartbleed and JavaScript crypto <https://tankredhase.com/2014/04/13/heartbleed-and-javascript-crypto/>`_
OMEMO in Multi-user chats (MUC)
-------------------------------
Converse supports OMEMO encryption in groupchats, but only if the groupchat is
set to `members only` and `non-anonymous`. This is the same criteria used by
the popular Android XMPP client `Conversations <https://conversations.im/>`_.
If the groupchat is configured properly, you'll see the lock icon in the
toolbar.
Open chats via URL
==================
From version 3.3.0, converse.js now has the ability to open chats (private or
groupchat) based on the URL fragment.
A room (aka groupchat) can be opened with a URL fragment such as `#converse/room?jid=room@domain`
and a private chat with a URL fragment such as
`#converse/chat?jid=user@domain`.
For now, suffice to say that although its useful to have OTR support in
Converse.js in order to avoid most eavesdroppers, if you need serious
communications privacy, then you're much better off using native software.
Notifications
=============
From version 0.8.1 Converse.js can play a sound notification when you receive a
From version 0.8.1 Converse can play a sound notification when you receive a
message.
For more info, refer to the :ref:`play-sounds` configuration setting.
@ -55,16 +142,16 @@ For more info, refer to the :ref:`show-desktop-notifications` configuration sett
Multilingual Support
====================
Converse.js is translated into multiple languages. The default build,
``converse.min.js``, includes all languages.
Converse is translated into over 30 languages. Translations can be added or
updated on `Weblate <https://hosted.weblate.org/projects/conversejs/>`_.
Languages increase the size of the Converse.js significantly.
Translations are supplied in JSON format and are loaded on demand. Converse will expect to find the
translations in the ``/dist/locales`` path of your site. This path can be
changed via the :ref:`assets_path` configuration setting.
If you only need one, or a subset of the available languages, it's better to
make a custom build which includes only those languages that you need.
Moderating chatrooms
=====================
====================
Here are the different commands that may be used to moderate a chatroom:
@ -97,7 +184,7 @@ Here are the different commands that may be used to moderate a chat room:
Passwordless login with client certificates
===========================================
Converse.js supports the SASL-EXTERNAL authentication mechanism, which can be
Converse supports the SASL-EXTERNAL authentication mechanism, which can be
used together with x509 client certificates to enable passwordless login or
even 2-factor authentication.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:55.0) Gecko/20100101 Firefox/55.0" version="7.3.5" editor="www.draw.io" type="device"><diagram name="Page-1" id="e3a06f82-3646-2815-327d-82caf3d4e204">7Vtbc5s4FP41ntl9KKMLuj3GTi8P6Wx28tDuU0cG2abFyAMkcfrrVwJhA8Kxk+Jsmll3xrWOhCS+8+k7R4JM8Gy9/ZjLzeqzjlU6QSDeTvDlBCEREvNtDQ+1gQhQG5Z5EtcmuDfcJD+VMzbNbpNYFZ2GpdZpmWy6xkhnmYrKjk3mub7vNlvotDvqRi6VZ7iJZNpYA7K3f0nicuXskIp9xSeVLFducI5YXTGX0Y9lrm8zN2KmM1XXrGXTjbvLYiVjfd8y4fcTPMu1Lutf6+1MpRbXBrPmuvKhmegET1flOjUFaH5W1R8OXAxPudjcV66ysj3cof6oZDFfYKQAjgVm4B1x0NzJ9LYZoT/k/Sop1c1GRrZ8b7jTncMiSdOZTnVetcbvL+0/a9dZ6VgCQ1Muylz/UE3LCmI8vVN5mRgfXqTJMjPmUm8Gb8sBYZurbcvkbvOj0mtV5g+miaslDS0dm6lw7LjfMwNh12bVIoW51HHS8XG563sPrPnhsD3gNzY2rIvFAkXRUVhNy5jOKaFHsPWAHID7ILYo7GIbNkrRwpaSAWwhx7+O7Y4Lo2EbE8Xj8BRsOZpjelZsGe3zlvq8ZefC1tcH7oE905m5w0IF34sJoqkZfjrPza9lWSFA5dpCkc0L+19+m2VJtrRDZHZu9kbU3EquFXyV/6rnpOKL46viUbGpLnUTACMoD6Ss40FGoedBDAc8iCE/gwcx9TBWsQmcruigqYKfiisIOoAXpcx3yNo6lcXt4ndVlg/OIG9LbUw6L1d6qTOZXmmLcO24noNMNxc26O+nYCwfEntf1RRqBzZhHFX1Boqvrroq/GMLQWiI7wzXKk8MYip3rQ56s9C3eaQOINYkLzJfqsY1tckC9ygFcpXKMrnr5ilD7nSXXuvEzGxHHYp61OEwYEBAgNxXt8N6hq6PHkV2k3oea3yNnaWJcuO0udSsqSs5V+m1LpIy0XZtzXVZ6rXxgSw2dba3SLaWYG1yDS/IwbVr8q6NHXK9XdrsNYiSMk+2QSo35qJvyJcGSqfog0FkatrHduqtOgAonc0GWDnC8kfAUFK0Ph2PcuSnISZB9cWA02CEPMRXA/ZG1OCkpU38lcz+o5UscBBCRriov15uJdPfZCVvYvmKFnGIAwJaH9rxpqDYD+kDEZ0+wpvnL2H+RpbwPqAHzHWxC+pmt3YgpqttUtYXEcBcub4GYOjKz8oDmC8W4oXEgpKuWIS9LuppevLgddTfPDBGA0AoRYLjEJEQnUt1sCcyX7pZvr9PeF3q00x0lD0c7rmBY+HJRcia+N4WDIbGiPrkf2884g0Rhi/qDf8oqPbGjcrvBjbAh6CvUXwK7jtnPQX6SEYr9a2o5zZOPE57d5LXCE+lm2eqFuU4riZ9IWX+1rsxtR0t2BiO9o9Sp3/dfDIWg5DpOTXxKKvCRGqnbEhQ6OiHCTVHD1H+UEm5slQxPJFZLNPqeHq267moQbKBQC9sCFuZavD18/W1vaRy5Z+vjWf3al6xLLHhd7rSefLT0EY2Y/Q5ExkGVIRsSLMzjKEQpEsbwgbOM/FAegd+nTTQF2vnuNepD43fKuxP91JbE8hIi713Cr0rtxc7HdJ1MYbf3syx2i6fFoB08mncFIfT6V5WfDS/dvLYzq9r8o+eT2OBAoEYEUiQUAgAcZcoorf7PjW9Nv12O0I9Io2XUEM/mFxdXlw3kn8RVfAgcJnkZr1rx90X1Ykq5NvPYbGIm9m1EoqeELxccsB4b3M0cC5PB9SC8zGSg4HnwL+7XhDMW3rxzmzA4aENeGurL0LY2+rjI+f3TxUa+HJKw/vPenCPKqdKC4Xdjuj5pGVgs+5R84nPpnmkTns2PeckJODgHnGMrAB2czkxkBXsFuP4z6ZDD9upNEl+Fk+aB59ys0nNnVdy98q23Z3c7hwZG4dd3wzk2efL2JpjkTekwLijwCDgHB0XYIJwV4ABQuMK8MBJar0wRtffsPeWD+c9opysvwgPU/MM+uu/UnHz95UxfFZFYd9xM+ldHq2q/O517f1iWcq5LNQJadxZ9+uM9HZ+1NeREA3pCBlBR7D/Ut5vqiN7TeCkKwkHn76cLggvkH2xsJs0Ef7c7AscINQZnpS8tSgEA0BwJwqZGH48CoH+Ez9MxLhRCPs8ZOcJQgAEvaQTsABCATiBZkcAmrOip9KSsO7LI4zZlQpESDGzpxH8bCR9e4dbIes+LBYncJTTXqYEx2Xo0Eb1TIkS6b+H1GxcnyyVuJco9TOuEVn4tt5VOs6O0b2OGO4rk4ABwYTBEPHq+3kswESciQWmuP9jirr5/q9V8Pt/AQ==</diagram></mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -1,4 +1,4 @@
.. Converse.js documentation master file, created by
.. Converse documentation master file, created by
sphinx-quickstart on Fri Apr 26 20:48:03 2013.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
@ -7,23 +7,21 @@
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/index.rst">Edit me on GitHub</a></div>
=========================
Converse.js Documentation
=========================
======================
Converse Documentation
======================
Preface
=======
This is the official documentation for Converse.js. If you'd like to
This is the official documentation for Converse. If you'd like to
contribute, please read the :doc:`documentation` page.
You might instead be looking for the `User Manual <manual.html>`_.
Introduction
============
Converse.js is a free and open-source `XMPP <http://xmpp.org/about-xmpp/>`_
chat client written in Javascript which can be tightly integrated into any website.
Converse is a free and open-source `XMPP <https://xmpp.org/about-xmpp/>`_
chat client written in JavaScript which can be tightly integrated into any website.
The benefit of using converse.js as opposed to relying on a SaaS
(software-as-a-service) solution, is that your users can have a much more
@ -46,10 +44,11 @@ Table of Contents
quickstart
features
setup
session
configuration
development
security
theming
security
translations
troubleshooting
documentation

View File

@ -0,0 +1,59 @@
# The Converse API documentation
Welcome to the new Converse API documentation, generated with
[JSDoc](http://usejsdoc.org/).
## The public and private API
Converse has a public API and a private API only available to plugins.
The reason we make this distinction between public and private is so that API
methods which could be used to "impersonate" the user, for example by
sending messages on their behalf, are not available to random scripts running
in your website.
The public API is accessible via the [window.converse](/docs/html/api/converse.html)
global and is therefore available to any JavaScript running in the page.
The private API is only accessible to plugins, which have been whitelisted and
registered before [converse.initialize](/docs/html/api/converse.html#.initialize)
(which is a public API method) has been called.
See the [plugin development](/docs/html/plugin_development.html)
section for more info on writing plugins.
Inside a plugin, you can get access to the {@link _converse.api}
object. Note the underscore in front of {@link _converse},
which indicates that this is a private, closured object.
## API Namespaces
The Converse API (private and public) makes use of namespaces to logically
group relevant methods.
So, for example, all the XEP-0030 service discovery methods are under the
{@link \_converse.api.disco} namespace, in the [private API]{@link \_converse.api}.
Which means that you access it via {@link _converse.api.disco}.
### Nested Namespaces
Namespaces can be nested.
{@link _converse.api} is the top-level namespace, of which {@link \_converse.api.disco}
is a nested, child namespace and {@link \_converse.api.disco.own} is nested another
level deeper.
Not all methods are however within a namespace. For example {@link converse.initialize}.
## Stable API versus unstable API
Converse uses [semantic versioning](https://semver.org/) for releases, which means that
we try to maintain a stable API for minor and patch releases and when we do change the
stable API we will make a major release.
In the JSDoc API documentation, all API methods that are **not** marked as *Private*
are considered to be part of the stable API, and you can therefore expect them to
not change between minor and patch releases. If a method is marked as *Private*,
then you could still use it, but we don't provide any guarantee that it won't change
between minor and patch releases.

View File

@ -1,190 +0,0 @@
.. raw:: html
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/manual.rst">Edit me on GitHub</a></div>
===========================
The Converse.js User Manual
===========================
.. |br| raw:: html
<br />
.. contents:: Table of Contents
:depth: 2
:local:
.. figure:: images/homepage.jpg
:align: right
:alt: The converse.js website
The converse.js website
**Welcome to the converse.js user manual**. This manual is very much still a work
in progress and is far from complete. Please bear in mind that it's the work of volunteers.
If you have requests or suggestions on how the manual can be improved or
expanded, then please `contact me <https://opkode.com/contact.html>`_
or create a new ticket on `Github <https://github.com/jcbrand/converse.js/issues>`_.
Although converse.js can be integrated into any website, for this user manual
we'll refer to the canonical version at https://conversejs.org.
This documentation also integrates the converse.js chat client, so you can try
out some of the steps right on this page! Just click the **Toggle chat** button
at the bottom right of the page to open the so-called *control box* of the
converse.js chat client.
Registering a new chat account
==============================
.. figure:: images/register-panel.jpg
:align: left
:alt: The registration panel of the converse.js control box.
The registration panel of converse.js
With converse.js you can register a new XMPP account on any publically available XMPP provider.
To do so, click the **Register** tab on the chat client.
You will then see the *registration panel* as shown in the picture below.
Choosing your provider
----------------------
Converse.js uses a chat protocol called XMPP (also known as Jabber) which allows "federation".
This means that it's similar to email, in the sense that people signed in at
different XMPP chat providers can still chat with one another.
For example, if you have a Yahoo! email account, you can send and receive emails from
a friend with a Google email account. In the same way, if you have a chat
account from **Conversejs.org**, you can send and receive chat messages with a
friend who has an account at `Jappix.com <https://jappix.com>`_.
There are many free providers online which allow you to register a new account.
You can see a list of some of them at `xmpp.net <https://xmpp.net/directory.php>`_.
The `xmpp.net <https://xmpp.net/directory.php>`_ website provides a security grading
for the XMPP servers of the providers, which is very useful. They are however sometimes
slow to add new servers to the list.
A larger list of XMPP providers is also available at `list.jabber.net <https://list.jabber.at/>`_.
You can find the domain name for a server under the *Domain* column at
`xmpp.net <https://xmpp.net/directory.php>`_. or the *Server* column at
`list.jabber.net <https://list.jabber.at/>`_.
Once you know which XMPP provider you'd like to use, you can type its domain
name and click the **Fetch registration form** button.
|br|
.. figure:: images/register-form.jpg
:align: left
:alt: The registration form for an XMPP account at conversejs.org
The registration form
Filling out the registration form
---------------------------------
After you've clicked **Fetch registration form**, the chat client will contact
the chat provider, ask for its registration form and then present it to you.
Different chat providers have different registration forms, but they're all
relatively similar.
Check the security score
~~~~~~~~~~~~~~~~~~~~~~~~
At the top of the form you'll see a colored bar containing the text **xmpp.net score**.
This shows the security score for this server as determined by `xmpp.net <https://xmpp.net>`_
where you can test out a server for yourself. You should generally avoid providers with
a poor security score (colored in red).
Choosing a username
~~~~~~~~~~~~~~~~~~~
As you can see in the registration form, the **username** consists of two
parts separated with an **@** sign, similar to an email address.
The first part is your unique *handle* which you need to choose. The second part
is the domain name of the chat provider, the one which you chose in the previous step
when you fetched the registration form.
When you want to give someone your XMPP chat username, or when you want to add
someone else as a contact, you need to specify it in full, like you would an email address.
Once you've chosen your user name and password, click **Register**. If
Successful, you'll be automatically logged in to your new account.
|br|
.. figure:: images/add-contact.png
:align: left
:alt: Adding a contact in converse.js
The form for adding a new contact
Adding a contact
================
In order to start chatting with someone, you first need to add them as a contact.
To do this, click the **Add a contact** link in the **Contacts** tab. This will
slide open a dropdown in which you can type the username of the person you'd
like to add.
Remember, an XMPP username (also called a JID or Jabber ID) is similar to an
email address, in that you have both the user's *handle* and the *domain name*
of the provider, separated with an **@** sign.
Once you've typed the username and clicked submit, your request will be sent to
this person. If they are online, they will immediately be notified of your
request, otherwise they'll see it next time they come online.
Technically, when you add someone as a contact, you're doing two things. Firstly,
you are adding the contact to your *roster* (think of it as an address book) and secondly
you are asking to be notified whenever that person comes online.
.. figure:: images/pending-contact.jpg
:align: left
:alt: A pending contact
A pending contact
A pending contact
-----------------
The person you are adding as a contact has the option to either accept or decline your request.
Until that decision has been made, they will appear in your roster as a
so-called *pending* contact. In other words, their final status is pending on whether
they accept or decline your request.
.. figure:: images/ungrouped-contact.png
:align: right
:alt: A normal, ungrouped contact
A normal contact
A normal contact
----------------
If the person accepts your contact request, they will get a *chat status
indicator* in your roster and will also become clickable. Clicking on the name
of the user will open a chat box in which you can then start chatting with that
user.
.. figure:: images/remove-contact.png
:align: left
:alt: Removing a contact
Removing a contact
Removing a contact
==================
To remove a contact, hover your mouse over their name and then click on the
trash icon. You will be prompted to confirm, and if you do, the contact will no
longer be visible in your roster.

Some files were not shown because too many files have changed in this diff Show More