Commit Graph

265 Commits

Author SHA1 Message Date
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
bf4b3efa5b Import _converse and api 2020-05-18 10:54:37 +02:00
JC Brand
35cde98e71 Fix i18n string parsing error 2020-05-14 11:18:13 +02:00
JC Brand
b8f2db6e33 Move ModeratorToolsModal to separate file 2020-05-13 15:16:46 +02:00
Dele Olajide
cae5e9c875 Updates #1999 - Demarcate first unread message 2020-05-13 13:39:33 +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
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
d49b630bdc Enable sending of MUC presence probes 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
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
958379682a muc: Render role change messages as ephemeral notifications 2020-04-23 15:11:36 +02:00
JC Brand
7e2552bd8c core: Allow multiple imports 2020-04-23 13:50:35 +02:00
JC Brand
c1efb0d2b4 Add an external API for sending presences 2020-04-19 09:41:38 +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
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
08b402a9c1 MUC: check for author to avoid "cleared" message for empty subject 2020-04-10 20:47:07 +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
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
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
030c26a8ab Use api shortcut instead of _converse.api 2020-03-31 13:16:24 +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
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
967154d314 Use optional chaining instead of lodash.get 2020-03-24 12:30:45 +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
b5d57f0ef8 Handle and render chat state notifications separately from messages 2020-03-21 17:21:53 +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
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
e5341d54a9 Bugfix. Dangling moderation messages not applied 2020-02-22 22:59:30 +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
3c9ec96350 MUC: create references for nicks gathered from messages 2020-02-21 12:30:40 +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
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
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
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