JC Brand
286ab1ad83
Fixes #2633 .
2021-09-06 21:56:56 +02:00
JC Brand
8854f67c20
Bugfix: Image previews not loading when not serving Converse locally
...
Fixes #2634
2021-09-06 20:00:01 +02:00
JC Brand
9b4ce0011e
Postrelease
2021-09-04 09:42:45 +02:00
JC Brand
c03bc7d600
Prepare release 8.0.0
2021-09-03 15:40:11 +02:00
JC Brand
353a90788c
Make IndexedDB
the default persistent store
2021-08-31 12:11:27 +02:00
JC Brand
90ea092e4d
Register a XEP-0316 MEP handler
...
Add caps element to the MUC join presence, so that the MUC MEP node can
know whether we're interested in receiving MEP messages.
Create info messages for any `conference-info` tags that contain `activity` tags.
Check for both `headline` and `normal` MEP messages (even though the XEP
only show `headline` examples), since `normal` messages can be archived
in MAM, but `headline` ones not.
Update the XEP-0372 reference-parsing code to take the `anchor`
attribute into consideration, specifically to check which text element
the reference applies to.
Add support for rendering XEP-0372 mentions in "info" messages and for
triggering HTML5 Desktop notifications for such mentions.
Background:
-----------
XEP-0316 describes a way for a MUC to send out PEP-like messages to MUC
participants. This feature can be used to describe custom activity happening
in the MUC.
2021-08-31 11:23:49 +02:00
JC Brand
7e88ffd098
Move MUC functions to utils
2021-08-31 11:23:49 +02:00
JC Brand
9edab0729f
Bump localforage
2021-08-26 06:30:39 +02:00
JC Brand
df53282b6e
Bump dayjs
2021-08-25 14:32:34 +02:00
JC Brand
f739b9d37d
Fix encrypted images not showing inline.
...
Updates #1182 #2554
2021-08-24 20:03:04 +02:00
JC Brand
95fbd55a19
Fixes #2583
2021-07-30 09:58:35 +02:00
JC Brand
d0627f800c
Clear unread message counters when chat becomes visible
2021-07-30 09:56:17 +02:00
JC Brand
0242fdb020
Extract moderator tools functionality and put it in a component
...
This makes it easier for 3rd parties to embed it in other modals (besides the bootstrap modal).
2021-07-27 12:53:39 +02:00
JC Brand
0ccf25d986
Add support for controlling (e.g. pausing, looping) gifs
...
- Create new component `converse-gif`
- Draw gif in canvas and add controlls
2021-07-23 19:31:43 +02:00
JC Brand
60826ac6c6
Move functions out of core.js
2021-07-19 16:40:40 +02:00
JC Brand
8931c61876
Prevent attribute error on timeout
2021-07-19 16:40:40 +02:00
JC Brand
d1abf3a04e
Wait for roster to be initialized
2021-07-19 16:40:40 +02:00
JC Brand
2bdea0dd18
Move settings API from core.js to own file
...
Move CORE_PLUGINS to `constants.js`
2021-07-19 15:50:50 +02:00
JC Brand
c209b9e2b9
Bump urijs to 1.19.7
2021-07-15 14:18:51 +02:00
JC Brand
2bcf01f5ab
Use DOMPurify instead of XSS.js
...
Remove exports-loader, which is therefore no longer necessary
2021-07-15 14:16:41 +02:00
JC Brand
3c0a621b47
Bump various dependencies
2021-07-15 11:54:55 +02:00
JC Brand
fe3650d766
Bugfix. XEP-0198 stream management not working when using IndexedDB
...
The issue was that batched writing was incorrectly also being applied
for sessionStorage stores, so when the `active` flag in
`_converse.session` was being set to `false` on window unload, the
change wasn't persisted before the window was unloaded.
This caused a new session to be created upon reload, thereby losing the
SMACKS data.
We already solved this for persistent stores by flushing them, and
doing so for the session stores would also work, but session stores
don't have to be batched in the first place, so we turn that off.
2021-07-08 15:57:06 +02:00
JC Brand
46201613a6
Bump skeletor to 0.0.5
2021-07-08 10:33:35 +02:00
JC Brand
f2aa39e1c3
Identify media URLs during message parsing
2021-07-06 13:35:22 +02:00
JC Brand
b90a435833
Move url related utility methods to @converse/headless
2021-07-05 18:35:58 +02:00
JC Brand
bff714f24c
OMEMO: Include XEP-0380 EME tag in encrypted messages
2021-07-05 18:35:58 +02:00
JC Brand
01efb02f9e
Make sure XEP-0363 urls are also OMEMO encrypted
...
by re-using `ChatBox.prototype.sendMessage`.
updates #1182
2021-07-03 00:22:03 +02:00
JC Brand
e675c853f3
Add XEP-0454 support for encrypting files
...
Fixes #1182
2021-07-01 14:35:48 +02:00
JC Brand
6665bef76c
Fix failing tests
...
Handle missing message model (happens during tests)
2021-06-29 16:00:10 +02:00
JC Brand
956a890b94
Don't reject on error in sendTimedMessage
...
It's the only way I could get a failing test (due to the Jasmine upgrade AFAIK) to pass.
I don't understand why this happens, given that the promise has a
`catch` clause in `retractOwnMessage`, but for some reason the promise
rejection gets caught by Jasmine, causing the test to fail.
2021-06-29 15:59:49 +02:00
JC Brand
767d5ec91d
fix failing test
2021-06-29 15:59:49 +02:00
JC Brand
335a491e0d
Stop using the Jasmine "done" callback
2021-06-29 15:59:49 +02:00
JC Brand
3e9f028bf4
Update more 3rd party deps
2021-06-29 13:00:36 +02:00
JC Brand
be329a2d10
Don't subclass the chatbox for the controlbox model
2021-06-29 12:55:29 +02:00
JC Brand
46f567d0d1
Fix memory leak in sessionStorage
...
The disco entities collection gets recreated and repopulated every time
the connection is re-established or after the user logs in again after
having logged out.
The old disco entities weren't being removed, due to an erroneous
`shouldClearCache` call (not applicable to sessionStorage data).
In addition we need a handler to fire and clear the entities cache when
Converse is going to restart.
2021-06-29 11:20:50 +02:00
JC Brand
14020125b9
Remove sinon and bump npm
2021-06-25 11:21:17 +02:00
JC Brand
7848d8cb2f
Add support for decrypting XEP-0454 OMEMO media
2021-06-25 09:24:18 +02:00
JC Brand
2c0fbec43c
Move arraybuffer utility methods into their own file
2021-06-24 18:57:32 +02:00
JC Brand
e00bf3da36
Make sure unread messages are cleared when showing a chat
2021-06-23 17:18:32 +02:00
JC Brand
522998bade
converse-roster: dedupe group names
2021-06-23 12:02:47 +02:00
JC Brand
629f382642
converse-roster: Move functions to utils
2021-06-23 12:02:47 +02:00
JC Brand
ad96db994e
Fix failing tests on Travis
2021-06-23 10:52:32 +02:00
JC Brand
cf11f2588c
Rename method
2021-06-18 11:35:38 +02:00
JC Brand
bb60f8cff4
Move trigger out of while loop
2021-06-18 10:21:03 +02:00
JC Brand
42b15497fc
New event historyPruned
2021-06-18 10:07:30 +02:00
JC Brand
b6f2662ad7
Set 'scrolled'
flag on model.ui
...
This prevents it from being persisted across page loads and makes more
sense logically.
Also move markScrolled to utils and MUC unread messages indicator to bottom panel.
2021-06-17 11:39:20 +02:00
JC Brand
5ea9564cc3
Add new configuration setting prune_messages_above
...
If set to a positive integer, the chat history will be kept to that size
by removing older messages.
This happens as new messages come in (as long as the chat isn't scrolled up)
and when the user scrolls down.
Also add the `pruning_behavior` setting
2021-06-17 11:39:20 +02:00
JC Brand
85a651ae79
Move functions to utils
2021-06-17 11:35:06 +02:00
JC Brand
dc711d494f
Add a placeholder to indicate a gap in the message history
...
The user can click the placeholder to fill in the gap.
2021-06-17 11:35:06 +02:00
JC Brand
14f0ed43c5
Add dayjs as dependency to @converse/headless
2021-06-16 14:47:34 +02:00
JC Brand
6f318bc86d
Fix reference error
2021-06-16 14:47:34 +02:00
JC Brand
543cf9066a
Bugfix. TypeError: cannot read property 'length' of undefined
2021-06-14 10:50:58 +02:00
JC Brand
bccd4a81b8
Add missing test file
2021-06-11 16:55:37 +02:00
JC Brand
17d9d2766d
BUgfix. undefined
used as store prefix
2021-06-11 16:53:19 +02:00
JC Brand
ff1b6d3adf
MUC: Don't first check if we're registered before unregistering
...
The IQ stanza being sent to check was in any case incorrect and it
doesn't seem necessary.
2021-06-10 10:40:45 +02:00
JC Brand
9e4a4ba2ff
Add example for retractOtherMessage
2021-06-07 10:10:19 +02:00
JC Brand
ff233a5b1c
Merge branch 'jcbrand/declarative-scrolling'
2021-06-04 12:59:52 +02:00
JC Brand
f3efbba26c
Create converse-message-form
component
...
More work on making bottom panel sub-components declarative
- Handle auto-completion in the converse-muc-message-form element
- Make message limit indicator a component
- Rename template
2021-06-04 12:53:03 +02:00
ubermanu
2f7dcb6bbc
Move decodeHTMLEntities util into headless
2021-06-03 19:23:49 +02:00
JC Brand
58d96c8594
Use intersection observer to remember scrolling position
2021-06-03 18:24:55 +02:00
Christoph Scholz
8701708b53
fix /nick command not working
2021-06-03 17:29:45 +02:00
JC Brand
fe3e63d8c5
Declarative scrolling and rendering new messages indicator
...
- Increment `num_unread` when new messages appear while scrolled up
- Set scrolling state in model code (as opposed to view)
2021-06-03 14:16:03 +02:00
JC Brand
ec93e2fff3
Render chat messages loading spinner declaratively
...
instead of imperatively.
Add new non-persisted UI model for rendering UI changes. Currently only
being used for rendering the spinner
2021-06-03 00:02:33 +02:00
JC Brand
59d55b3526
Add option to deregister nickname when closing a MUC
...
By setting `auto_register_muc_nickname` to `'unregister'`
2021-06-02 22:06:57 +02:00
JC Brand
0756af2b30
Refactor chat close
methods
...
- Remove the shared base-class method.
- Trigger `chatBoxClosed` on the model
- Send CSN from the model, not the view
2021-06-02 17:55:52 +02:00
JC Brand
994e528b45
Bugfix. Properly escape | character in mentioned nicknames
2021-05-19 14:47:20 +02:00
JC Brand
06f03fc884
MUC: Store disconnection data on the session
2021-05-13 15:45:12 +02:00
JC Brand
698f3a7b15
Bugfix. Can't call tagName
on a Strophe.Builder object
2021-05-13 14:41:44 +02:00
JC Brand
c0c8fbac38
Wrongly passed data to the context parameter in hook
...
Causes `undefined` to be returned from `constructPresence` when `converse-caps` is not enabled
2021-05-13 12:15:39 +02:00
JC Brand
19b34231d4
JSDoc improvements
2021-05-13 11:44:19 +02:00
JC Brand
2b12f8e257
Use lodash-es everywhere
2021-05-12 12:14:28 +02:00
JC Brand
9e81fa495e
Upgrade pluggable.js and skeletor
2021-05-12 12:13:10 +02:00
JC Brand
f40bbbf145
Turn status plugin into folder
...
Remove the use of an override and add a hook `presenceConstructed` instead
2021-05-11 17:04:15 +02:00
JC Brand
1fc44b9d8e
Turn caps plugin into folder.
...
Move more test files to plugins
2021-05-11 16:18:34 +02:00
JC Brand
7bd0d9a83f
Bugfix. Don't re-init bookmarks on reconnection
...
This causes an empty bookmarks list in the controlbox, because the
collection gets cleared (and then asynchronousy repopulated) while the
`bookmarksInitialized` promise stays `true` (resulting in a race
condition).
Alternative fix could be to clear the bookmarks and recreate the promise
before reconnecting but doesn't seem necessary to do all that work.
2021-05-07 12:27:29 +02:00
JC Brand
c8f0406c84
Refactor bookmark plugins
...
Mainly moving functions and methods to utils
2021-05-07 12:27:29 +02:00
JC Brand
dd609c1cec
Get the webpack dev server to work again
...
This required triggering the `converse-loaded` event in the entry.js
file, which means it won't be triggered for `@converse/headless` when
used in isolation.
Not ideal, but probably ok because consumers of `@converse/headless`
should probably import it into their own project in any case.
2021-05-06 12:07:44 +02:00
JC Brand
8966290369
Don't make bundled dependencies devDependencies
...
Otherwise you need to manually include them in downstream consumer projects
2021-04-30 14:17:46 +02:00
Shaun Wu
9ea8653ef7
Upgrade to Webpack 3
...
Had to make various other changes due to incompatibilities.
- Use the new `lit` package instead of `lit-html` or `lit-element`
- Drop `haunted` since it breaks the rules by specifying `type: module`
but then doesn't import with file extensions
- Use Sass Dart instead of node-sass (fixes #2445 )
- Upgrade Karma
2021-04-30 13:50:50 +02:00
Shaun Wu
1cb2b1f7a9
Adding configurable url history changing
2021-04-29 11:59:28 +02:00
JC Brand
754f1fcb25
Split smacks plugin up into multiple files
2021-04-28 18:50:54 +02:00
JC Brand
3d58b67517
Use @converse/openpromise
2021-04-28 18:35:08 +02:00
JC Brand
57ccf4c20e
Batched writes to IndexedDB
...
- Update to the latest @converse/skeletor (which uses mergebounce to batch writes)
- Flush storage before logging out
- Flush when reloading the tab
- Create initStorage method
2021-04-28 16:53:50 +02:00
JC Brand
4c804fcf2d
Wait on chatBoxesFetched
in API
...
Otherwise we can run into race conditions when using IndexedDB with
mergebounce
2021-04-28 12:05:40 +02:00
JC Brand
d86f3094b9
Fix failing test
2021-04-23 12:05:30 +02:00
JC Brand
4b737c1c93
Disable interval handler when running tests
2021-04-23 12:00:29 +02:00
JC Brand
ff14a706cf
Fix parameters signature for onDiscoInfoRequest
2021-04-23 11:49:45 +02:00
JC Brand
db12e8a1e6
ping: use setInterval
to continuously send out pings
2021-04-22 16:27:19 +02:00
JC Brand
7b49296a24
Bugfix. Avoid creating an undefined store
2021-04-22 14:47:01 +02:00
JC Brand
a4b90e3ab2
Move tests to headless plugin
2021-04-21 12:25:28 +02:00
JC Brand
458c51b32d
Move tests for message image rendering to new file
2021-04-21 12:06:10 +02:00
JC Brand
6af9142810
Move ping plugin into folder
2021-04-21 11:18:48 +02:00
JC Brand
7b7ec45db8
Move disco plugin into folder and import lodash utilities separately
2021-04-21 11:03:22 +02:00
JC Brand
b2f09f64c3
Use API to get room
2021-04-19 15:23:58 +02:00
JC Brand
fdde708327
Add a new MUC room state: converse.ROOMSTATUS.BANNED
...
This makes it easier to distinguish between being banned from a room, or
being disconnected for other reasons.
2021-04-15 12:34:00 +02:00
JC Brand
b439ae1cc4
Bugfix. Don't set fake nick...
...
when creating occupant from affiliation change stanza.
This means that when a presence for that occupant arrives, a duplicate
occupant is created (presumably because the original can't be find due
to the wrong nick being set).
2021-04-14 18:02:41 +02:00
JC Brand
cd9977c94e
Add an API for setting affiliations
...
This allows us to set affiliations in MUCs without having to first enter
the MUC in order to create a `ChatRoom` instance.
2021-04-14 10:44:31 +02:00
JC Brand
383f5c1d60
Extract affiliation-related methods out of the ChatRoom model
...
and put them together in a utils file
2021-04-14 10:44:31 +02:00
JC Brand
ccd60f76c3
Cleanup
...
- Move top-level functinos to utils files
- Get rid of unused/obsolete overrides
- Only import components there where they're used
- Bump version in package.json
2021-03-26 10:58:51 +01:00
ubermanu
3bfd60a3df
Move the httpToGeoUri util into core
2021-03-25 09:08:39 +01:00
JC Brand
3c99f1f840
Fixes #2348
...
Don't automatically hide the first MUC opened in uni-view
2021-03-22 11:39:17 +01:00
JC Brand
3bdae848b3
Fix this
binding bug
2021-03-19 13:02:56 +01:00
JC Brand
9d5d94a8f4
Update to latest Skeletor with localforage-setitems optimization
2021-03-18 16:21:15 +01:00
JC Brand
05abb1dae9
Move method from view to model
2021-03-17 11:27:13 +01:00
JC Brand
d548180f20
Add support for more languages, 'da', 'sw', 'th'
2021-03-17 10:20:19 +01:00
JC Brand
fff431737b
Add support for new languages 'fa', 'el', 'lt'
2021-03-17 09:41:58 +01:00
JC Brand
dde3ef206d
Update to Strophe with a SASL fix
2021-03-16 15:10:09 +01:00
JC Brand
c7c077074f
Chat: Move two methdos from component to the model
2021-03-16 11:01:10 +01:00
JC Brand
d8daedea0d
Render the MUC view component declaratively
2021-03-15 12:34:56 +01:00
JC Brand
4ca30c4b93
Create converse-muc-chatarea
component
2021-03-11 10:26:09 +01:00
JC Brand
4fd848ff3e
Bugfix. Use init settings to check for test env
2021-03-10 12:39:17 +01:00
JC Brand
d3ab68011a
Split core.js file into multiple smaller ones
...
Update storing of app settings. Store settings in a closured
`app_settings` object inside `@converse/headless/shared/settings`
Remove the `_converse.settings` object.
2021-03-09 14:11:28 +01:00
JC Brand
a24aa1487e
Add mailbox.org as sponsor
2021-03-05 15:28:23 +01:00
JC Brand
541613d1fe
Add more OGP metadata attributes to save
2021-03-04 17:56:24 +01:00
JC Brand
3e5bd34141
Fixes #2381
2021-03-03 22:25:04 +01:00
JC Brand
1bd4572957
Restrict unfurl description to message_limit
setting
2021-03-02 11:03:35 +01:00
JC Brand
8dd8c7d1dd
Don't show unfurl card if there's nothing to show
2021-03-02 11:03:35 +01:00
JC Brand
64fd0ebcf6
Unfurls: Remove URL check
...
Url parameters mean that we don't get a match even when the URLs
actually match.
Could potentially use URI.js but gets cumbersome and since we restrict
to metadata coming from the MUC service (which we trust) I think it's OK
to remove it.
2021-03-02 11:03:35 +01:00
JC Brand
9bac86fe1a
Don't add the same OGP metadata multiple times
2021-03-01 21:31:57 +01:00
JC Brand
16e1f95790
New config setting: muc_show_ogp_unfurls
2021-03-01 14:00:28 +01:00
JC Brand
426bf1d631
Tighten up security around unfurls
...
Dont render OGP metadata:
- for URLs not actually found in the original message
- from MUC participants (only from the MUC itself)
2021-03-01 11:35:12 +01:00
JC Brand
ce1c5ec7f6
Updates #2413
...
Wrap `history.start` in try/catch clause.
2021-02-24 15:48:11 +01:00
JC Brand
5cab477bf4
fixes #2396 : @converse/headless wrongly depends on CustomElement
from the view layer
2021-02-24 07:36:10 +01:00
JC Brand
ccfa00d7b8
mod_ogp now sends messages with type="groupchat"
2021-02-23 11:07:00 +01:00
JC Brand
f158a996f4
Turn converse-chatboxes plugin into folder
2021-02-22 21:07:54 +01:00
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
JC Brand
01e03fc677
Bump to Strophe 1.4.1
2020-12-04 14:06:04 +01:00
JC Brand
824bf2ed30
Move all plugin files to ./plugin folders
...
Rename converse-core.js to core.js
2020-12-03 16:41:15 +01:00
Xavi Ferrer
f4b6b93b8b
update info messages visibility
2020-12-03 11:45:25 +01:00
JC Brand
21dfd8a325
Bugfix: Set protocol after discovering connection methods
...
Otherwise if an endpoint was passed in with `converse.initialize`, then
that endpoint's protocol is (wrongly) used.
2020-11-30 18:21:33 +01:00
JC Brand
c608958eb3
Handle special case of two @
signs preceding a nickname
2020-11-27 22:06:22 +01:00
JC Brand
f86efca9a6
autocomplete: Use regex instead of hardcoded list...
...
to determine valid characters to form a boundary before an `@` mention
Also fixed an issue with mentions looking like they're part of URLs, by
first processing mentions separately.
2020-11-27 22:06:22 +01:00
Xavi Ferrer
8b9c97745f
Allow selected characters to precede a mention
2020-11-27 14:12:29 +01:00
JC Brand
30e784b8ec
Fix: use_system_emojis
was false
but unicode emojis shown in picker
2020-11-27 10:26:06 +01:00
JC Brand
33f62bb93c
Update changelog for previous revert and add title
for img emoji
2020-11-26 14:25:54 +01:00
JC Brand
f9650f33be
Add support for XEP-0393 message styling
...
Fixes #1083
Directives are rendered as templates and their bodies are MessageText instances.
We thereby achieve the necessary nesting of directives (and other rich
elements inside directives) by letting each directive
body render itself similarly to how the whole message body is rendered.
2020-11-24 16:06:48 +01:00
JC Brand
357b6406e2
Postrelease
2020-11-23 10:29:42 +01:00
JC Brand
db1905fdb6
Release 7.0.2
2020-11-23 10:18:35 +01:00
JC Brand
4e3a81d697
Fixes #2337
...
Newly opened headline chat isn't hidden by default in fullscreen view
Also include some CSS fixes for fullscreen headlines boxes
2020-11-19 13:20:02 +01:00
JC Brand
4520a04be9
Postrelease
2020-11-19 11:37:56 +01:00
JC Brand
85375842a8
Release 7.0.1
2020-11-19 11:23:04 +01:00
JC Brand
76aa1ef3ec
make postrelease
2020-11-18 13:07:51 +01:00
JC Brand
357cad8a49
Release 7.0.0
2020-11-18 12:10:32 +01:00
JC Brand
74ee783685
Fixes #1471
...
Wait when fetching config, otherwise default of `true` for `trusted` is used erroneously.
2020-11-18 11:43:53 +01:00
JC Brand
8a857e39f4
Move tab update to notification plugin
...
Updating tab notifications is not something that should be done in the headless part of Converse.
Don't update the tab title, having a favicon is enough.
2020-11-18 10:42:31 +01:00
Ariel Fuggini
6de07c5c29
Adds setting to toggle showing unread message counter in page title
2020-11-05 14:27:10 +01:00
JC Brand
cf94a5193a
Move dependency to headless package.json
2020-11-05 14:26:04 +01:00
Dele Olajide
9f548ae8de
fix #1250 ( #2323 )
...
Fixes #1250 Change favicon color when unread messages
2020-11-02 09:10:07 +01:00
Dele Olajide
285bbbc2f1
fix #2321 ( #2322 )
...
When Converse runs inside a browser extension, enable browser sync and local storage for persistent storage
2020-10-30 12:51:55 +01:00
JC Brand
4f7ff1f3cf
headlines-view: Update to match changes to the normal chat view
2020-10-29 11:10:55 +01:00
JC Brand
fbc4adff99
Remove updateAfterMessagesFetched
method
...
In MUCs, messages are fetched too late in order for it to be practical
to wait for messages before rendering various parts of the MUC view.
Previously there was a bug, in the sense that `messages.fetched` was
`undefined` when being `await`ed in `updateAfterMessagesFetched`.
Once this was fixed, this issue became clear.
2020-10-29 10:37:29 +01:00
JC Brand
59e216ad34
muc: no need for message_queue
...
...
since we create the `fetched` promise earlier
2020-10-29 10:36:28 +01:00
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
c08ee00fcd
Enforce uni-view in headless code
...
When we're showing only one chat at a time, we want to make sure that
all other chats have their `hidden` flag set to `true`.
Previously this was done in chatboxviews, but given that we want to
render UI based on state, this should be done in the headless part of
Converse.
As a result of the changes, the `beforeShowingChatView` has been
removed.
2020-10-27 13:00:43 +01:00
JC Brand
00466cd550
Let the converse-loaded
event conform to the CustomEvent spec
...
https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
2020-10-26 13:09:15 +01:00
JC Brand
5a2d361c81
Fixes #2293 : Message carbons not re-enabled when reconnecting
2020-10-23 21:58:47 +02:00
JC Brand
4252a17f62
Fixes #1642 Add option to hide participant list by default
...
In the process, turn it into a component
2020-10-23 21:18:05 +02:00
JC Brand
8c1e886af9
Fixes #2302 Bookmarks get duplicated on server push
2020-10-23 16:22:40 +02:00
Xavi
15f5b185c3
Fix message reorder issue after edit ( #2300 )
...
* keep message in place after edition by assigning previous message original timestamp
* update time displayed to keep current behaviour
* add test to check a message remains in the same position of the history after being edited
* briefly describe pr changes in changelog
2020-10-23 15:07:56 +02:00
Dele Olajide
646542602f
fix #2304 - Custom emojis (stickers) images not shown
2020-10-21 11:01:08 +02:00
JC Brand
7803fd2335
Clear chat boxes when clearing cache
2020-10-20 14:28:09 +02:00
JC Brand
19dc66900d
Split the trusted
setting into two new ones:
...
- `allow_user_trust_override`
- `clear_cache_on_logout`
The `persistent_store` setting can now also be set to `sessionStorage`
The `trusted` settings was in effect playing the role of two separate settings
and implicitly affecting a third ('persistent_store').
By breaking it up, we make things more explicit and allow for new
configurations. For example, clearing the cache on logout, while using
some kind of persistent store.
2020-10-20 11:29:03 +02:00
JC Brand
5341a1ea49
MUC: warn instead of error when we're no longer connected
2020-10-19 12:07:28 +02: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
48f119b673
MAM: use bare JID as by
attribute for archive-id
...
in 1:1 chats.
See: https://xmpp.org/extensions/xep-0313.html#archives_id
2020-10-13 04:48:21 +02:00
JC Brand
fb773d5d9b
smacks: Unregister smack stanza handlers on disconnect
2020-10-09 15:26:29 +02:00
JC Brand
ab0521ebfb
smacks: move functions out of plugin's initialize
method
2020-10-09 14:52:56 +02:00
ChaosKid42
c9ba42d0a0
regression of #1317 : Don't show errors for CSI messages ( #2276 )
...
* regression of #1317 : Don't show errors for CSI messages
* fix failing tests
2020-10-08 12:13:04 +02:00
JC Brand
af4fd3b0c2
MUC: connect with stored password, if available
2020-10-07 15:42:17 +02:00
JC Brand
7aee9c4432
muc: simplify api.rooms
methods.
...
- Let `api.rooms.open` call `api.rooms.get` directly, instead of indirectly via `api.rooms.create`
- Remove the `createChatRoom` function
- Also strip URI parts from JID in `api.rooms.get` and use utility method for doing so
2020-10-07 15:31:13 +02:00
Xavi
86c04b876b
Allow mention autocomplete to trigger right after a new line ( #2267 )
...
* catch all whitespace characters instead of just new line
2020-10-07 11:05:18 +02:00
Christoph Scholz
f68eb65cd7
check against own jid when detecting forged mam messages
2020-10-06 20:30:40 +02:00
JC Brand
30d550596b
Remove converse-rsm as whitelisted plugin and dependency
2020-10-05 21:09:02 +02:00
JC Brand
8ef3b10d39
Don't hide chats when singleton
is true
2020-10-01 13:43:42 +02:00
JC Brand
6d9752645f
Replace lodash methods with native ones
...
filter
find
has
isEmpty
isString
isUndefined
noop
reject
uniq
2020-10-01 12:56:00 +02:00
JC Brand
e761923cc9
Bump @converse/skeletor and localForage
2020-09-30 18:51:21 +02:00
JC Brand
02a9126ab6
Log errors when failing to save a message to storage
2020-09-30 18:51:21 +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
Christoph Scholz
ff5a046922
Revert "fix i18n of label group name"
...
This reverts commit 5a874a4956
.
2020-09-30 10:59:39 +02:00
Christoph Scholz
5ea2ccfc17
fixes #2238 i18n not working reliably
2020-09-28 13:31:19 +02:00
Kim Alvefur
76b488a672
Bugfix. Promise.resolve is not a constructor
2020-09-28 10:49:14 +02:00
JC Brand
0ca2e5ae08
Remove need for lodash templates in headless build
2020-09-26 09:58:34 +02:00
JC Brand
3fc6f7fa23
Fixes #1924
2020-09-25 18:46:45 +02:00
JC Brand
3a88831b9d
Bugfix. MUC tries multiple times to register nick
2020-09-25 15:30:53 +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
78f8f73fea
Get rid of converse-uniview
plugin
...
Instead of overriding createChatBox, set 'hidden' flag via defaults
2020-09-21 18:08:48 +02:00
Christoph Scholz
5a874a4956
fix i18n of label group name
2020-09-18 21:13:08 +02:00
JC Brand
0a7dff442c
Fixes #2235
2020-09-18 15:09:55 +02:00
JC Brand
7330530d13
omemo: better error handling when some bundles can't be fetched
2020-09-18 15:09:55 +02:00
JC Brand
32847e860f
pubsub: await IQ response when publishing
2020-09-18 15:09:23 +02:00
JC Brand
2e393d260b
Update to @converse/skeletor 0.0.2
2020-09-18 11:34:14 +02:00
JC Brand
5162f3f674
connection: Fix typo
...
This fixes anonymous logins
2020-09-18 11:34:03 +02:00
JC Brand
a0ae8135ce
Fixes #1481
...
For OMEMO in MUC, use the real JID of the user, not the MUC JID
2020-09-17 17:12:06 +02:00
JC Brand
ccbf049000
emoji: raise an error if getShortnameReferences
is called too soon
2020-09-17 12:24:18 +02:00
JC Brand
49cda74971
Update package-lock
2020-09-17 10:42:57 +02:00
JC Brand
0a82a177c4
OMEMO: ensure reflected encrypted MUC messages are identified
2020-09-17 10:37:09 +02:00
JC Brand
9fe7bfcd64
Include chatbox
in 'message' event data
2020-09-16 19:08:56 +02:00
dependabot[bot]
522e7706c1
Bump lodash from 4.17.15 to 4.17.19
...
Bumps [lodash](https://github.com/lodash/lodash ) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-09-15 15:43:41 +02:00
JC Brand
8d3cd687e7
Pass chatbox or _converse as context
2020-09-11 16:44:28 +02:00
JC Brand
bbcfc9f998
Bugfix. 2nd parameter for api.hook
is the context
2020-09-11 16:23:51 +02:00
JC Brand
71cfc7aba1
Bugfix. Include model when manually triggering change event
2020-09-11 16:01:15 +02:00