Commit Graph

152 Commits

Author SHA1 Message Date
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
d8852c6260 Fix race conditions in tests 2020-10-27 12:16:28 +01: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
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
JC Brand
5dac2d8873 muc-views: Use lit-html instead of lodash templates 2020-09-27 10:31:32 +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
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
c41bdac6c8 Some work on componentizing the minimized chats UI 2020-09-03 13:06:17 +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
1898e7865d Move the MUC list modal to its own file 2020-07-28 13:07:33 +02:00
JC Brand
1419b4fc96 MUC: Add support for status code 333 2020-07-22 10:11: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
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
6ad76c14ef Fix test failure on travis 2020-06-05 16:02:23 +02:00
JC Brand
279a6e6cb8 Increase test timeouts 2020-06-03 09:15:35 +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
e67230633f Add test for muc_send_probe setting 2020-05-07 10:54:03 +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
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
958379682a muc: Render role change messages as ephemeral notifications 2020-04-23 15:11:36 +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
8a7b25584d Show error messages via objects
Instead of injecting them directly into the DOM.
2020-04-19 08:03:44 +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
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
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
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
531ebf335c Properly test and fix show/hide of MUC topic 2020-04-06 15:27:32 +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
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
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
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
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
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
62ef18a027 muc_fetch_members now accepts an array of affiliations 2020-02-20 18:39:56 +01:00
JC Brand
49817a850f MUC: Queue messages received before we're ready 2020-02-20 07:13:04 +01:00
JC Brand
f564a1edaf Show reason and actor for ban/kick events 2020-02-14 13:19:12 +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
0653505a40 tests: Use u.getUniqueId instead of time for message ids 2020-02-07 12:35:54 +01:00
JC Brand
6e8a987694 Fix failing test (when run in isolation) 2020-02-04 13:46:43 +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
d32c4c1f61 muc-views: replace VDOMView with HTMLView 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
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
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