Commit Graph

878 Commits

Author SHA1 Message Date
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
9ce4092a7c Turn the bottom panel into a custom element 2021-02-12 14:32:55 +01:00
JC Brand
8b052e20b9 Fix tests by pinning to latest @converse/skeletor 2021-02-10 16:14:34 +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
790caf9f5a Render converse-chat-content declaratively 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
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
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
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
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
7f851208aa Move converse-roster plugin into folder and split up 2021-01-26 14:34:36 +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
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
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
9a2ded5a9a Remove global lodash 2020-12-29 15:12:45 +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
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
c0fafcec70 Move converse-muc into a 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
e3ebde9741 Move converse-chat plugin into folder 2020-12-07 16:30:11 +01:00