Commit Graph

3252 Commits

Author SHA1 Message Date
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
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
JC Brand
1419b4fc96 MUC: Add support for status code 333 2020-07-22 10:11:05 +02:00
JC Brand
cb50de16e2 Update 3rd party dependencies 2020-07-20 13:19:12 +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
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
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
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
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
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
JC Brand
061142e0c3 Bugfix. Don't scroll down if the user had manually scrolled up 2020-06-29 14:56:27 +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
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
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