Commit Graph

3603 Commits

Author SHA1 Message Date
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
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
14c9b2f4ae Clear message cache when closing a MUC 2020-12-11 13:57:16 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2e393d260b Update to @converse/skeletor 0.0.2 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
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
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
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
Ariel Fuggini
3535d05ff5 Removes query params from urls as set in config 2020-09-01 07:12:52 +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
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
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
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