Commit Graph

3012 Commits

Author SHA1 Message Date
JC Brand
9a6d6ddd1f muc-views: don't assume we already have the occcupant 2020-04-07 13:07:16 +02:00
JC Brand
8c5e4b95d0 Updates #1939: Enable smooth scrolling for short distances 2020-04-07 13:06:37 +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
3e27a5ec81 Template fix. Don't render boolean value 2020-04-07 10:29:28 +02:00
JC Brand
e18fe5e212 Use the getHeadingButtons hook instead of overrides 2020-04-07 10:20:43 +02:00
JC Brand
75d64c04d9 Add a hooks API
for triggering interceptable events with the goal of modifying data.
2020-04-06 17:22:06 +02:00
JC Brand
121a3f9bed minimize: Use events instead of overriding initialize methods 2020-04-06 17:22:06 +02:00
JC Brand
531ebf335c Properly test and fix show/hide of MUC topic 2020-04-06 15:27:32 +02:00
Dele Olajide
10da630d8a
fix #1937 - Editing a message removes the mentions highlight (#1938)
* Fixes #1937 Editing a message removes the mentions highlight
2020-04-02 11:45:04 +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
e498657323 Add API for setting and accessing user settings 2020-03-31 15:01:02 +02:00
JC Brand
6391cc0803 Rename applyUserSettings to applySiteSettings 2020-03-31 14:08:34 +02:00
JC Brand
030c26a8ab Use api shortcut instead of _converse.api 2020-03-31 13:16:24 +02:00
JC Brand
d057177f1b core: Further cleanup and refactoring 2020-03-31 12:51:30 +02:00
JC Brand
8b1d4e0e9d core: refactor initialize method to make it as small as possible 2020-03-31 12:28:11 +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
8d81637388 Bugfix. Make sure empty history feedback message gets removed
when messages appear
2020-03-30 05:34:47 +02:00
JC Brand
095a1bc56b Fixes #1490. Don't reconnect if were weren't auth'd to begin with. 2020-03-30 05:29:21 +02:00
JC Brand
690ff1fba1 Fixes #1860 2020-03-30 04:13:46 +02:00
Holger Weiß
63b1886f50
Add missing space left to "Open Groupchats" label (#1925) 2020-03-26 11:30:40 +01: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
e363c02041 CSS: display rendered images as blocks 2020-03-25 10:39:41 +01:00
JC Brand
42235167f8 Bugfix. Fall back to JID if nick is not set 2020-03-25 09:02:31 +01: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
dc2eb30120 Bugfix 2020-03-24 12:49:35 +01:00
JC Brand
967154d314 Use optional chaining instead of lodash.get 2020-03-24 12:30:45 +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
4727f3b3bb Add support for optional chaining and nullish coalascing 2020-03-24 09:38:32 +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
00cac6d250 Add the ability to filter the results in the modtools modal 2020-03-23 14:34:19 +01:00
JC Brand
b5d57f0ef8 Handle and render chat state notifications separately from messages 2020-03-21 17:21:53 +01:00
JC Brand
283a810d6b Use lit-html to render chatbox outlines 2020-03-21 17:21:53 +01:00
Rémy Grünblatt
bf063d4df7
Fix oauth provider template (#1916) 2020-03-20 11:31:35 +01:00
JC Brand
ca012d4479 Update to newer Skeletor.js
`.forEach` on a Collection no longer returns the models, so need to
update some tests.
2020-03-12 15:24:29 +01:00
JC Brand
89795504a2 Add support for rendering images from Twitter 2020-03-10 12:08:07 +01:00
JC Brand
6fe802a96b Replace lodash methods with native ones 2020-03-06 15:49:48 +01:00
JC Brand
91243f64af Replace lodash methods with native ones. 2020-03-06 14:42:05 +01:00
JC Brand
b6b00887e4 Export BootstrapModal 2020-03-06 12:24:23 +01:00
JC Brand
c9f29f76e5 Use lit-html to render URLs 2020-03-06 12:24:23 +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
Lance Stout
a6aaf3f595 Update chat state notifications when message is edited. 2020-03-03 15:24:15 +01:00
JC Brand
831e59c1a7 controlbox: Wait when saving while closing
Otherwise we run into race conditions while testing
2020-03-03 14:38:29 +01:00
JC Brand
8aaa1a6417 core: Make clearSession a synchronous event
In order to give plugins time to properly clear data from the browser storage.
2020-03-03 10:23:46 +01:00
JC Brand
9295850789 controlbox Only call show/hide callback when the action was actually done 2020-03-03 08:21:55 +01:00
Dele Olajide
5a9f8218c8
Fix issue 1896 (#1897)
* fix issue https://github.com/conversejs/converse.js/issues/1896

* Added issue to CHANGES.md
2020-02-28 11:24:25 +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
804c78de81 Prevent # being added to URL when minimizing 2020-02-27 11:16:45 +01:00
JC Brand
2af93f4492 modtools: settings for which roles/affiliations may be queried or assigned 2020-02-22 23:16:22 +01:00
JC Brand
e5341d54a9 Bugfix. Dangling moderation messages not applied 2020-02-22 22:59:30 +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
7dc0b7bb13 Handle case where we don't have the occupant
It can now happen because we also auto-complete for nicks based on
messages in the chat
2020-02-21 17:33:46 +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
2c5cde050e CSS: fix bookmark indicator color and add title 2020-02-21 15:30:28 +01:00
JC Brand
c69a2abc45 modtools: Replace Backbone.View events with lit-html events 2020-02-21 15:25:57 +01:00
JC Brand
d07b9510a2 modtools: Show affiliations tab first 2020-02-21 15:01:19 +01:00
JC Brand
a1a2b501ee modools: Restrict which affiliations and roles can be set
bsaed on `muc_disable_slash_commands`
2020-02-21 13:21:25 +01:00
JC Brand
cd442f27c4 modtools: Remove duplicate roles in dropdown 2020-02-21 13:06:15 +01:00
JC Brand
3c9ec96350 MUC: create references for nicks gathered from messages 2020-02-21 12:30:40 +01:00
JC Brand
2ac33c77b3 Fix linting errors 2020-02-20 19:18:06 +01:00
JC Brand
d361d1d0a3 MUC: Include nicks from messages in the mentions auto-complete list 2020-02-20 19:14:34 +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
c7e57936fb Bugfix. Handle empty content 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
ce08819a43 Retracted moderated sent message should not be editable. 2020-02-18 16:47:52 +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
JC Brand
004d2b7f23 Fix method name in log 2020-02-18 15:45:55 +01:00
JC Brand
bcbde04530 Copy sounds dir to dist and use assets_path for sounds_path 2020-02-16 12:30:25 +01:00
JC Brand
f564a1edaf Show reason and actor for ban/kick events 2020-02-14 13:19:12 +01:00
JC Brand
39d140005e Change when/how chats are shown
Goal is to fix a timing bug that results in `show` being triggered
before the `ChatBoxView` has been initialized, which means that 1:1
chats aren't opened when you reload the page.
2020-02-14 11:06:04 +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
ed411c226d Avoid creating Message objects for empty messages 2020-02-13 16:31:13 +01:00
JC Brand
181d18fcfe Translation and undefined variable fixes 2020-02-11 10:13:23 +01:00
JC Brand
64f5bfa09f Don't gatekeep rendering of the chatroom heading 2020-02-10 23:21:35 +01:00
JC Brand
faa02b058d Make sure messages Collection exists when we receive an error message 2020-02-10 18:41:32 +01:00
JC Brand
893ef10563 Use lit-html to render chat head 2020-02-07 16:09:12 +01:00
JC Brand
2235d4c432 Use lit-html to render MUC heading 2020-02-07 14:58:26 +01:00
JC Brand
15f15e9a09 Bugfix. Declare parameter 2020-02-07 13:34:22 +01:00
JC Brand
7d91b17552 Rename methods to clarify their purpose 2020-02-07 12:42:19 +01:00
JC Brand
fb9fe280ac Updates to how dupes are detected.
- Collapse 3 different loops into one.
- Check all saved stanza ids in the parsed attrs, not just the archive id
- Remove check for archive id in converse-mam since it just duplicates what's now being done in converse-chat
- Don't use disco to check for support, XEP-359 mandates that services SHOULD advertise support,
  which is not a strong enough guarantee that they do.

updates #1856
2020-02-07 12:35:45 +01:00
JC Brand
746fe441e2 Updates the message parsing.
Only set `id` once we've actually parsed the sender attributes,
otherwise `attrs.from` is `undefined`.

Use `Array.prototype.reduce` to generate stanza_ids attributes map.

Add `from_muc` attribute which contains the MUC JID
2020-02-07 12:12:38 +01:00
JC Brand
d2b6b41128 emoji-picker: Make sure that emojis as images are rendered properly 2020-02-06 16:27:44 +01:00
JC Brand
976c3d6006 Remove the formdata and promise polyfills 2020-02-06 15:20:29 +01:00
JC Brand
a1670462ca Remove jquery and undersscore shims 2020-02-06 14:51:50 +01:00
JC Brand
9b279ad39d Various emoji-picker fixes after recent refactoring
- Fix choosing of a categoy
- Make the highlight color darker (more visible)
2020-02-05 23:20:51 +01:00
JC Brand
9e86b5e8df emoji-picker: Disable using the right arrow to initiate keyboard nav 2020-02-05 18:05:32 +01:00
JC Brand
4b3d330190 Avoid sending blur event when navigating the emoji picker
Also, listen to the `focusin` and `focusout` events, since they bubble,
allowing us to listen on the chatbox itself.
2020-02-05 16:08:54 +01:00
JC Brand
f854e477b7 Add placeholder to MUC invite modal input 2020-02-03 23:24:44 +01:00
JC Brand
7279f08a34 Update to newer skeletor which can return a promise on create 2020-02-03 23:24:44 +01:00
JC Brand
7d7c41a135 OMEMO: fix timing errors
- Use async/await
- Wait for devices to be created before continuing
2020-02-03 23:24:44 +01:00
JC Brand
f78837cbc5 Refactor identification of duplicates...
to rely on the parsed stanza attributes

This was to fix a bug whereby a full stanza was used to query for 1:1
messages with a full JID when the bare JID is stored.

We now are sure that the attributes we're using to query for duplicates
are the same attributes that get saved for a messages.
2020-02-03 23:24:44 +01:00
JC Brand
6430691c22 Fix template condition 2020-01-31 22:50:13 +01:00