JC Brand
51f2ab9100
Fixes #1196 . Use alternative connection method upon connfail
2019-06-04 15:11:32 +02:00
JC Brand
297f3d9efb
The list of core plugins doesn't have to be an attribute of _converse
2019-06-04 14:27:25 +02:00
JC Brand
b128286410
Don't disconnect MUC on unload when using SMACKS
...
updates #1111
2019-06-04 11:12:22 +02:00
JC Brand
1d9bbb8ddd
Message display improvements
...
* Checkmark and edit modal button are now on the right
* Instead of showing checkmarks for MUC messages,
we now show them as light grey before MUC reflection
* Simplify message markup by requiring less `if` statements
2019-06-04 11:12:22 +02:00
JC Brand
f2ac9ef4d7
converse-muc: Support for XEP-0410 to check whether we're joined
2019-06-03 11:41:34 +02:00
JC Brand
68d4a71c75
Fix _converse.api.user.login
to handle auto_login case
...
Also, set the resource in `setUserJID`
2019-06-03 11:40:26 +02:00
JC Brand
3c6a17f85c
Update to latest Strophe commit with explicit bind support
2019-06-03 10:02:57 +02:00
JC Brand
699fe0df63
Initial support for the CredentialsContainer web API
2019-06-03 09:43:24 +02:00
JC Brand
737e27c726
Use shakespearean character names in tests
2019-06-03 09:43:24 +02:00
JC Brand
5738b3748a
Use getDisplayName
for roster contacts
2019-06-03 09:43:24 +02:00
JC Brand
1fb5378524
Throw error on parser error in toStanza
2019-06-03 09:43:24 +02:00
JC Brand
f30d415f76
Refactor reconnection
2019-06-03 09:43:24 +02:00
JC Brand
55cffab594
Destroy session objects in clearSession
, not in tearDown
2019-06-03 09:43:24 +02:00
JC Brand
dc58e6d47f
Make teardown a function
2019-06-03 09:43:24 +02:00
JC Brand
7b11d85503
Add support for XEP-0198 Stream Management
...
- New plugin `converse-smacks`
- New config option `enable_smacks`
- Rename session cache id from `converse.bosh-session` to `converse.session`
- Refactor logout and login as consistently used api methods
- Refactor session cache to store per JID
Fixes #316
2019-06-03 09:43:12 +02:00
JC Brand
7c7002ebf9
Add _converse.default_connection_options
...
So that we can specify defaults
2019-06-03 09:41:29 +02:00
JC Brand
24956d8dca
Execute manual resource binding if necessary
2019-06-03 09:41:29 +02:00
JC Brand
0688907e0d
Allow events to be synchronous
...
When a synchronous event is fired, Converse will wait for all
promises returned by the event's handlers to finish before continuing.
2019-06-03 09:41:29 +02:00
JC Brand
267fb38e0c
Remove the forward_messages
config option
2019-05-31 16:07:51 +02:00
JC Brand
aece956281
Refactor strophe usage
...
- Upgrade to latest commit in Strophe
- Import individual Strophe dependencies
- Replace strophe plugins with code in Converse
2019-05-29 18:27:34 +02:00
JC Brand
7a18f59f8f
Simplify rendering of trimmed chats
...
Also fix issue where trimmed headline chatboxes don't show the proper
color
2019-05-29 13:28:45 +02:00
JC Brand
da713f3162
Improve chatroom name rendering
...
- Take locked_muc_domain into consideration in chatroom display name
- Use getDisplayName when rendering the heading name
- Give preference to bookmark name if it exists
2019-05-29 13:27:41 +02:00
JC Brand
2834e8d678
Bugfix. Single emoji messages don't display larger when restored from cache
2019-05-28 15:38:55 +02:00
JC Brand
7511d8c35e
Always clear messages and occupants cache before (re)entering a room
2019-05-28 14:30:55 +02:00
JC Brand
e053b97043
Set room `connection_status' to DISCONNECTED...
...
when receiving an `unavailable` presence for ourselves.
2019-05-28 14:30:55 +02:00
JC Brand
be0274f1f0
Fixes #1586 . Not possible to kick someone with space in nick
...
Refactored moderation by moving certain methods to the model and
consolidating setting of roles and affiliations into new methods.
2019-05-27 12:27:12 +02:00
JC Brand
5e6c2b9982
Move role modifying method to the model
...
and also first check whether we have an occupant with that nickname.
Since roles are session based, it doesn't make any sense to try to
modify the role for a user not in the room.
2019-05-27 12:27:03 +02:00
JC Brand
22e3c49660
Terminology fix
2019-05-26 11:20:31 +02:00
JC Brand
f387c947f5
Allow the full app to be embedded.
...
- new config option `singleton`.
- new plugin `converse-uniview`
- removed `converse-embedded`.
- various CSS changes, to properly render an embedded full app
- don't re-open cached and non-autojoined chats in singleton mode
The goal here is to extend the `embedded` `view_mode` so that the full app can
also be embedded, not just a single MUC or private chat.
To do this, we'll need to differentiate between multi and singleton chat apps.
* A singleton chat app contains only a single chat.
* A multi-chat app can contain zero or more chats
So we introduce a new config option, `singleton`, which when used with
`view_mode` set to `embedded` will determine whether a single chat or the full
app is embedded.
Similarly, in `overlayed`, `fullscreen` and `mobile` view modes, `singleton`
set to true will allow only one chat within the parameters of that view mode.
We're appropriating the word `singleton` and introducing the concepts of
`uniview` and `multiview` (see a785ca8) to cover what was
previously meant with `singleton`.
updates #1297
2019-05-24 20:39:19 +02:00
JC Brand
1ef29bee4e
Use composition instead of overrides
2019-05-24 16:02:07 +02:00
JC Brand
f0a680e492
Remove animate
config settings.
...
Also update tests
2019-05-23 22:02:08 +02:00
JC Brand
04af3eb029
Always try to reserve nickname when entering room
...
Allows for simpler code, especially making `getReservedNick` easier to override
2019-05-23 16:04:55 +02:00
JC Brand
b876500865
Update to latest backbone.overview
2019-05-23 14:44:10 +02:00
JC Brand
7032ded53f
cleanup
2019-05-22 19:45:00 +02:00
JC Brand
a1c33d2140
No need to explicitly call refreshFeatures
...
`initializeDisco` already gets called upon reconnection which
accomplishes this.
2019-05-22 19:30:22 +02:00
JC Brand
429c320a79
Also clear MUC occupants upon reconnection
2019-05-22 19:27:53 +02:00
JC Brand
7ab59ad63e
Refactor MAM and clear private chats upon reconnection
...
- Add `onReconnected` method for chatboxes to clear messages
- Move MAM models to headless build.
- New event `onChatReconnected`
2019-05-22 14:10:19 +02:00
JC Brand
271c79eae8
Refactor message corrections
...
- Save date for older message versions and display it in the modal
- Properly handle the correction being received *before* the corrected message
2019-05-22 13:26:46 +02:00
JC Brand
53520317fc
Move locked_muc_domain
and muc_domain
to model
2019-05-21 13:05:58 +02:00
JC Brand
1269d53e02
Move enterRoom
method to the model
2019-05-21 12:04:55 +02:00
JC Brand
4c924a66df
Split bookmarks plugin into headless and views
...
Fixes #1577
2019-05-21 11:35:00 +02:00
JC Brand
0e49ebf695
Rename method to clarify that it's not simply an accessor
2019-05-21 11:33:01 +02:00
JC Brand
d1d81bf933
Bugfix. Remove condition before fetching members
2019-05-21 11:33:01 +02:00
JC Brand
bb0c0fcd81
Remove message views when messages get reset
2019-05-21 09:56:27 +02:00
JC Brand
b4b7fedf0f
Bugfix. Add id to outgoing MUC messages
2019-05-20 17:16:16 +02:00
JC Brand
5f04176929
Clear messages when converse reconnects
2019-05-20 17:10:34 +02:00
JC Brand
886ff1bd19
Don't debounce reconnect
on leading edge
...
Otherwise we can get into a situation where Converse stops trying to
reconnect.
2019-05-20 15:16:36 +02:00
JC Brand
7e515dd4b1
Move all MUC joining logic to the model
2019-05-20 10:06:37 +02:00
JC Brand
39363d495f
Fetch messages in MUC model
2019-05-20 09:25:11 +02:00
JC Brand
46fef28601
Clear messages when closing a chat
2019-05-19 22:11:37 +02:00
JC Brand
3085c5d408
Catch errors when destroy
is called for already removed message
2019-05-19 21:43:03 +02:00
JC Brand
84bde6e766
Move some close
logic to the model
2019-05-18 07:09:53 +02:00
JC Brand
0426898c23
Store chat messages in sessionStorage
...
so that they're cleared when the last tab closes
2019-05-18 06:57:48 +02:00
JC Brand
f7b19053ec
Use origin_id
as id
for outgoing messages as well
2019-05-18 05:32:04 +02:00
JC Brand
a0f1a5cfaf
Fetch chat messages in the model, not the view
2019-05-17 14:45:37 +02:00
Christoph Scholz
038359c74f
fix foreach in fileupload
2019-05-16 15:22:35 +02:00
JC Brand
9a94e5b47e
Bugfixes in fetching of occupants
2019-05-15 14:30:43 +02:00
JC Brand
385a82f432
Bump strophe.js to 1.3.3
2019-05-15 09:50:17 +02:00
JC Brand
1bc425e596
Fetch cached occupants in the model instead of the view
2019-05-15 09:34:52 +02:00
supun19
dd0821076d
Groupchat auto-configuration now supports list-multi fields
2019-05-14 15:28:06 +02:00
JC Brand
6193a9dc80
Replace lodash methods with native ones and remove lodash.fp
2019-05-14 12:41:47 +02:00
JC Brand
d98b33de0a
Trigger will-connect
event inside reconnect
method.
...
Also add docstrings.
2019-05-14 10:31:41 +02:00
JC Brand
4f705369bd
Replace _.each and _.map with native methods
2019-05-13 20:16:39 +02:00
JC Brand
ca5b6f9fde
Add class on MUC message to indicate author's role
2019-05-13 20:10:48 +02:00
JC Brand
d91a5ca6de
Remove alias for xss
. Upgrade pluggable.js to version 2.0.1
2019-05-13 18:54:00 +02:00
JC Brand
7a990ae0b9
Fixes #1558 , this.get
is not a function
2019-05-13 14:37:48 +02:00
JC Brand
84472ab752
Bugfix. npm install converse.js
failed
...
because @converse-headless wasn't available
2019-05-10 15:26:50 +02:00
JC Brand
587dddd81d
Update to latest version of Strophe
...
which logs less on the INFO loglevel
2019-05-10 13:26:30 +02:00
JC Brand
0e7d64818d
Add NPM scripts so that we can build dist files
2019-05-10 12:57:30 +02:00
JC Brand
145ee88213
Start handling error presences in MUC model
2019-05-09 12:18:36 +02:00
JC Brand
2526d80464
Change api.disco.supports
to resolve to a Boolean
...
Also add a new API method `api.disco.features.get` for the use-case
where you still want the feature object to be returned.
2019-05-07 10:27:25 +02:00
JC Brand
c3dac272f8
Replace moment with DayJS
2019-05-06 14:27:18 +02:00
JC Brand
9528276be2
Use native Date methods instead of moment
...
- Use native `getTime` method instead of moment's `valueOf`
- Use toISOString() instead of moment().format()
This makes the code timezone independent since we're now globally using UTC.
2019-05-06 10:28:03 +02:00
laszlovl
565f7d9f74
Make sure the time attribute for MAM message is parsed through moment
...
Messages (received directly or via MAM) are stored in a backbone
collection that's kept sorted by the message's "time" attribute.
Various parts of the codebase rely on this behavior.
For regular messages, the time attribute is generated by
`moment().format()`, which generates a timestamp in the browser's
local timezone, for example "...+02:00".
For MAM messages, we would previously copy the "delay.stamp" value
into the "time" attribute verbatim. However, that value is generated
by the server and is unlikely to be in the same timezone locale.
ISO timestamps expressed in different timezones cannot be sorted
lexicographically, breaking the premise of keeping the messages
collection sorted by time.
2019-05-05 15:44:20 +02:00
JC Brand
15b2273631
_converse.api.archive.query
now returns a Promise
...
instead of accepting a callback functions.
2019-05-03 19:47:49 +02:00
JC Brand
8bb852b139
Updates #1554
...
Room auto-configuration broke if the config form contained fields with type `fixed`
2019-05-03 18:04:03 +02:00
JC Brand
346baa686f
Refactor room auto-configuration
2019-05-03 18:01:07 +02:00
JC Brand
273b9584c0
Refactor onMessage to use const
instead of let
2019-05-03 14:12:26 +02:00
JC Brand
52ea8d5ab6
Fixes #1550
...
Legitimate carbons messages blocked due to erroneous forgery check
2019-05-03 14:11:29 +02:00
supun19
eec51f9d62
Doc rooms api ( #1551 )
...
* Rooms Api
number of parameters in the documentation was made 2 from 3 as api which is used to open a room with default configuration has only 2 parameters.
2019-05-03 11:38:05 +02:00
JC Brand
d868b9a9f7
Continuously retry to fetch login credentials
2019-05-02 14:53:42 +02:00
JC Brand
ba6de8844e
Use Object.keys instead of _.keys
2019-04-29 09:29:40 +02:00
JC Brand
34469425d6
Use Object.assign instead of _.extend
2019-04-29 09:07:15 +02:00
JC Brand
51d0dc8d23
No such method disconnect
2019-04-27 18:09:59 +02:00
JC Brand
b9e5658112
Message deduplication bugfixes and improvements.
...
- Add a new method to check for dupes based on the message text.
- When checking for dupes based on origin_id, no need to restrict to
only our own.
2019-04-27 18:09:58 +02:00
JC Brand
66adf03557
Bugfix. Order of operations.
2019-04-24 10:05:18 +02:00
JC Brand
e189acc8c9
Returning nick with credentials_url complicates things too much
2019-04-23 14:53:48 +02:00
JC Brand
741be5cc04
converse-muc: Handle VCards not being available
2019-04-23 12:32:59 +02:00
JC Brand
624cf4f435
Allow nickname
to be provided by the credentials_url
2019-04-23 12:06:40 +02:00
JC Brand
cf75946e7b
Make fetchLoginCredentials a function
2019-04-23 10:50:48 +02:00
JC Brand
5ead9796cc
Set the JID in the session
2019-04-22 14:44:40 +02:00
JC Brand
25a0a898f2
Don't restore a BOSH session without knowing the JID
2019-04-22 14:33:49 +02:00
JC Brand
f8fcdc7eb8
Explicitly log out after each test.
2019-04-22 14:04:21 +02:00
JC Brand
cf32119c53
Make browserStorage key more readable
2019-04-19 11:18:34 +02:00
JC Brand
8bc3aaa224
Upgrade to Webpack 4.28.1
2019-04-18 16:14:51 +02:00
JC Brand
725a382e3b
Refactor initialization and defaults for chat boxes
...
- Let box_id start with char for valid HTML.
- No need to use SHA1 for box id
- No need for the user_id attribute.
- Set nickname when we set the roster contact.
Also...
- _converse.api.contacts.get is now async
- _converse.api.chats.create is now async
2019-04-18 16:14:51 +02:00
JC Brand
d2166ce3dd
Remove deprecated API methods
...
since the next release will be a major one.
2019-04-16 16:57:55 +02:00
JC Brand
ee78ec1333
Add force
parameter to _converse.chats.open
...
This changes the API method's current behavior by not automatically
maximizing (in `overlayed` view mode) or bringing a background chat into
foreground (in `fullscreen` view mode). Instead `force` needs to be set
to `true` for that to happen.
2019-04-16 16:42:15 +02:00
JC Brand
3c988240d1
Don't check for debug mode too early
...
Otherwise we can't enable it during operation
2019-04-16 13:59:04 +02:00
JC Brand
4eb6df92c6
Bugfix. Controlbox closed state not remembered
...
in overlay view mode.
Also refactored a bit to put the method, which determines whether a
chatbox may be shown, on the chatbox itself.
2019-04-16 13:38:46 +02:00
JC Brand
1dd2c4ce7b
Reconnect if we can't send a message due to dropped connection
2019-04-16 13:01:47 +02:00
JC Brand
b593b8deb6
Fixes #1533
...
Users can only be muted in moderated rooms
2019-04-11 23:10:57 +02:00
JC Brand
76a7c3fa9b
Bugfix. Update to new function which has been renamed.
2019-04-11 20:08:53 +02:00
JC Brand
f84c201437
Hide the textarea when a user is muted in a groupchat
2019-04-11 01:40:16 +02:00
JC Brand
aa90ebd7f0
Bugfix. Don't delete JID or resource...
...
when an affiliation change presence is received.
2019-04-11 01:39:06 +02:00
JC Brand
234556793f
Provide a more user-friendly error message to muted users
2019-04-10 22:03:00 +02:00
JC Brand
f1899d0977
Looser coupling with converse-vcard
...
To make it easier to remove it without breaking stuff.
2019-04-10 19:35:35 +02:00
JC Brand
d3a80e804f
Move converse-caps into the headless build
2019-04-10 19:22:11 +02:00
JC Brand
a75c118a2c
Prioritize roster nickname as message and chatbox display name
...
Set reference to roster contact on the message and chatbox object and
listen for changes to the nickname.
Currently, because chat boxes are fetched and initialized before the
roster, messages and chats are repainted with the correct display name
only later, causing a "flash" effect.
Ideally we would only initialize the chat boxes after the roster
contacts have been fetched, but this is currently not easily possible
because we need the control box to render before everything else.
2019-04-09 17:20:41 +02:00
JC Brand
d450ab5868
For a message, get VCard based on bare jid of sender
2019-04-09 13:54:55 +02:00
JC Brand
5532a9ec63
Remove jquery from tests
2019-04-08 21:45:09 +02:00
JC Brand
e987214555
For roomspanel, don't set muc_domain
if its locked
2019-04-05 13:14:57 +02:00
JC Brand
acab0339f1
New release 4.2.0
2019-04-04 12:33:08 +02:00
JC Brand
77241bf5fe
Single emoji rendering fixes.
...
* Make the emoji a little bit smaller
* Avoid scrollbar appearing for single emoji messages
* Also identify single sent emojis
2019-03-31 20:46:49 +02:00
JC Brand
21ca33ec29
Bugfix. Create device based on prekey message for from
JID
...
Otherwise for sent carbons we created it for the wrong user.
2019-03-31 19:36:04 +02:00
JC Brand
97400ed568
Also identify sent carbons as such.
2019-03-31 19:16:40 +02:00
JC Brand
f0201e236d
Set default value of 'status' to undefined
.
...
When no status message is in a presence stanza, the value gets set to
undefined, so we might as well make this the default value to avoid
unnecessarily triggering change events.
2019-03-31 13:05:13 +02:00
JC Brand
a45bd8d14b
Convert older docstrings to JSDoc syntax
2019-03-30 12:54:56 +01:00
JC Brand
63a0c63927
Fix bugs with moving events
2019-03-29 21:56:56 +01:00
JC Brand
f897703565
Rename emit
to trigger
for consistency with Backbone.Events
2019-03-29 21:56:56 +01:00
JC Brand
f6335dcabe
Document fired events with JSDoc
2019-03-29 21:04:33 +01:00
JC Brand
d41a7a14c3
Use API to emit and listen to events
2019-03-29 14:16:07 +01:00
JC Brand
d300be58cc
Fixes #144 . Fall back to JID if name is not available
2019-03-28 15:37:01 +01:00
JC Brand
cc865de0f0
Add new config setting autocomplete_add_contact
...
Determines whether search suggestions are shown in the "Add Contact" modal.
2019-03-28 14:34:12 +01:00
JC Brand
42128e051d
Regenerate headless build
2019-03-28 12:43:34 +01:00
JC Brand
225312694f
Two small updates
...
* Ensure that outgoing messages are also marked as single emojis
* Also set msgid to origin-id for sent groupchat messages
2019-03-26 22:03:56 +01:00
JC Brand
9f290dab25
New config setting locked_muc_nickname
...
When set, the "Nickname" field won't be shown in the "Add groupchat"
modal and instead the nickname will be automatically set (based on other
config settings).
2019-03-26 13:29:33 +01:00
JC Brand
a9ce9acff2
Make sure nickname
config option takes precedence
...
above other nickname sources.
2019-03-26 11:31:11 +01:00
JC Brand
e0cb3c34bb
Bugfix. Don't extend chatbox attributes
...
when creating attributes for outgoing message.
Otherwise `id` is the same for all messages.
2019-03-25 23:04:39 +01:00
Christoph Scholz
10da92ec5b
fix LMC with Conversations
2019-03-22 17:37:28 +02:00
JC Brand
56bee63ed1
Start documenting events with JSDoc
2019-03-22 15:21:51 +01:00
JC Brand
27557d6a04
Document _converse.ChatBox.prototype.sendMessage
as an API method
...
Until now, we've only been explicitly documenting the `_converse.api`
namespace and only considered the methods under it as forming the API
contract (which determines how we do semver releases).
It appears as if we've reached a point where trying to keep everything
under the `_converse.api` namespace no longer makes sense. Certain
methods are applicable to particular models and trying to shoehorn them
into the `_converse.api` namespace seems clunky and non-intuitive.
I've therefore decided to slightly refactor `sendMessage` to let it take
two simple parameters and to document it with JSDoc so that it's
presented as an API method, albeit only available on a chat model.
updates #1496
updates #1504
2019-03-21 21:03:02 +01:00
JC Brand
675692df74
Use _converse.api.send
to forward messages
2019-03-21 20:54:23 +01:00
JC Brand
d87551328d
Upgrade to Strophe 1.3.2
2019-03-21 07:28:37 +01:00
JC Brand
4c50ac23e7
Add Jed as dependency of @converse/headless
...
fixes #1352
2019-03-15 15:49:12 +01:00
JC Brand
c0f3096216
Move MAM view overrides and view-based code out of @converse/headless
...
updates #1352
2019-03-15 15:49:12 +01:00
JC Brand
11c1b01692
Add converse-headless.js dist file and recipes
...
updates #1352
2019-03-15 10:24:39 +01:00
JC Brand
d919e81216
Set up XML logging before emitting connectionInitialized
2019-03-15 10:24:15 +01:00
JC Brand
5b4ce87a4d
Don't send out receipts or markers for MAM messages
...
Eventually we need to add better support for receipts and markers of MAM
messages.
We'll need to do the following:
* First check whether the MAM page already contains the receipts or markers, to avoid duplication
* Only ever in catchup mode
* Only after full catchup to ensure that the receipt is not in a different page than the message
2019-03-12 13:02:10 +01:00
JC Brand
ebd1797991
Call save
only once when updating a cached message
2019-03-07 17:38:07 +01:00
Axel Viala
b51d98d6d1
Fix #1327 : Refusing url and email as mentions
...
Before the function `extractReference` in
`/src/headless/converse-muc.js` matched url and email.
Fix: https://github.com/conversejs/converse.js/issues/1327
2019-03-07 16:53:27 +01:00
JC Brand
33600eeece
No need for a separate archive_id
value.
...
With MAM2 we can just use stanza-id
2019-03-07 16:45:00 +01:00
JC Brand
be6a5d9c37
Reuse XEP-359 unique and stable stanza ids for Message id
.
...
This helps us to avoid duplicates by relying on the fact that Backbone
models have unique ids.
2019-03-07 08:56:17 +01:00
JC Brand
0ebfc3fce8
Let converse-autocomplete also be triggered with backspace
2019-03-05 17:59:22 +01:00
Emmanuel Gil Peyrot
3aa9ee1ba0
Replace http: with https: in xmpp.org links
2019-03-04 17:49:44 +01:00
Emmanuel Gil Peyrot
b7ae9f212c
Replace http: with https: in conversejs.org links
2019-03-04 17:47:45 +01:00
JC Brand
b15ebdde40
Update to Backbone 1.4.0 and use fork of Backbone.NativeView
...
with `_setElement` fix.
See https://github.com/akre54/Backbone.NativeView/pull/29
2019-03-01 11:56:22 +01:00
JC Brand
c26dde34f9
Allow setting of debug mode via URL with /#converse?debug=true
2019-02-27 16:28:30 +01:00
JC Brand
49da581d14
Fixes #1400 . When chat message is only an emoji, enlarge it
2019-02-27 10:34:47 +01:00
JC Brand
d3a4555165
Re-add support for muc_domain
and add locked_muc_domain
.
...
updates #1373
2019-02-26 11:58:01 +01:00
JC Brand
59c43a23f0
Two changes, see below
...
* Add new test helper to create contacts via IQ exchange
* Use roster nickname to set message fullname
2019-02-24 20:27:41 +01:00
JC Brand
5afb3051cc
New release v4.1.2
2019-02-22 16:49:45 +01:00
JC Brand
a8e05dae36
Fall back to chatbox JID if the stanza has no from
2019-02-21 09:21:18 +01:00
JC Brand
f123f483ae
Fixes #1406
2019-02-21 09:19:02 +01:00
JC Brand
253958ed93
Prevent duplicate messages by comparing MAM archive id to XEP-0359 stanza ids
2019-02-19 23:08:29 +01:00
JC Brand
e389d77107
New release 4.1.1
2019-02-18 20:40:55 +01:00
André Berenguel
8dcb327ead
Update contact nickname when receive a roster push
2019-02-18 20:23:20 +01:00
JC Brand
c026dc8a86
New copyright year
2019-02-18 20:23:18 +01:00
JC Brand
9233087548
Don't hash web storage ids.
...
Makes debugging more difficult and uses up extra CPU cycles for no real security benefit.
2019-02-18 20:23:18 +01:00
JC Brand
d830bc1250
Also check for duplicates in one-on-one messages
2019-02-14 15:17:49 +01:00
JC Brand
7e34a462c1
Add support for handling multiple stanza-id
elements
2019-02-14 12:13:07 +01:00
JC Brand
8d00294681
Use origin-id
to check for reflected messages.
...
Also, store the returned `stanza-id` on the message.
2019-02-14 11:33:28 +01:00
JC Brand
6eb05be4be
XEP-0359: Better usage of stanza-id
to check for dupes
2019-02-13 22:14:58 +01:00
JC Brand
5b25d5daaa
Don't send markers to someone not on your roster
...
Updates #324
2019-02-13 19:32:02 +01:00
JC Brand
370c4c84d9
Use async/await instead of explicit promises
2019-02-13 15:49:51 +01:00
JC Brand
4c83a23382
Revert "Reject the waitUntilFeaturesDiscovered
promise if query failed"
...
This reverts commit 01f0a65209
.
Updates #1410
2019-02-13 15:44:17 +01:00
JC Brand
2c9c11e971
onMessage
improvements.
...
Don't check for older messages with same msgid
we can't rely on a message's `id` attribute being unique.
Also, remove `createMessage` in favour of calling `messages.create` directly.
2019-02-13 15:24:02 +01:00
JC Brand
0169d86b11
Re-add check for allow_non_roster_messaging
2019-02-13 15:21:41 +01:00
JC Brand
dfe9d301c6
Test that roster groups are fetched before contacts
...
updates #1405
2019-02-13 11:20:49 +01:00
laszlovl
b172861d2c
Dont run fetchRosterContacts async, to prevent processing presence before contacts are created
...
Fixes #1405
2019-02-13 09:13:45 +01:00
JC Brand
4a5603ab2e
More specific selector for markers and another test
...
Updates #1442
2019-02-13 08:58:27 +01:00
JC Brand
dbcf6002ff
Fixes #1442
2019-02-12 19:10:46 +01:00
JC Brand
9f5031c278
Make converse.initialize
an async
function
...
- Combine all test init functions into `initConverse`
- Use `async` functions in more tests
- Replace `var` with `let` and `const` in more tests
- New utils method `toStanza` which converts a string to a Node
2019-02-12 15:34:50 +01:00
JC Brand
7100681496
Use devDependencies consistently
...
'dependencies' in package.json get installed as well when installing
converse.js or @converse/headless in a 3rd party project, which is
unnecessary.
2019-02-11 19:34:21 +01:00
JC Brand
aa64df35ee
converse-core is not a plugin
2019-02-11 14:45:16 +01:00
Johan Oudinet
a7386200f7
Makefile: Simplify sed commands
...
And fix an extra space added by mistake by the sed command on
_converse.VERSION_NAME in converse-core.js.
2019-02-11 04:45:35 -07:00
JC Brand
abe21dce66
Include origin-id
in outgoing messages
2019-02-08 15:34:16 -07:00
laszlovl
590d8769a9
Prevent duplicate messages on MUC join
...
Fixes #1414
2019-02-08 15:32:21 -07:00
JC Brand
004519931c
Upgrade babel and lodash
2019-02-05 13:02:36 -07:00
JC Brand
e1f8d53c46
Initial support for chat markers. Updates #324
2019-02-01 15:05:13 +01:00
JC Brand
4c964c56c0
Filter out undefined
2019-02-01 15:05:13 +01:00
JC Brand
1ca7d34c25
Ignore (and destroy) archived/delayed messages with no body to show
2019-01-31 16:11:17 +01:00
JC Brand
4150a3a70b
Add Esperanto as supported language
2019-01-29 05:40:34 +01:00
JC Brand
3cbc99a3f2
Roster fixes related to reconnecting
...
Avoid `An 'url' property must be specified` error by properly clearing
presence data upon teardown and then resetting the browserStorage upon
reconnection.
Store contact resources in a Backbone collection
2019-01-28 13:30:47 +01:00
JC Brand
4e9e532a06
Use async/await in populateRoster
2019-01-28 13:27:25 +01:00
JC Brand
374260242c
Variable interpolation bugfix
2019-01-28 13:27:25 +01:00
JC Brand
3c0e3d3fab
Refactor out createMessage
.
...
Changes:
* Avoids leaky abstraction of MUC code into converse-chatboxes
* Avoid creating unnecessary message objects (e.g. without <body)
* Add fix for #1369 .
* Rename spec/chatroom.js to spec/muc.js
2019-01-28 13:27:25 +01:00
Christoph Scholz
9eee13e192
fix direct invite for membersonly room
2019-01-22 10:41:59 +01:00
JC Brand
a2f42d27a2
New release 4.1.0
2019-01-11 18:49:37 +01:00
Lynesth
df7d663b1d
Force avatar refetch if new hash received
...
Fixes #1334
2019-01-11 17:39:49 +01:00
Lynesth
7e370c1b81
Fix send_chat_state_notifications option for MUCs
...
Fixes half of #1337 .
2019-01-11 17:32:23 +01:00
JC Brand
dc07440de8
Bugfix. Don't create chats for messages without body
2019-01-10 21:47:50 +01:00
JC Brand
58c29ea26b
Bugfix. Make sure to refresh
...
Otherwise we get an empty collection of features (due to features being
queried for a non-existent MUC)
2019-01-10 13:22:15 +01:00
JC Brand
01f0a65209
Reject the waitUntilFeaturesDiscovered
promise if query failed
...
No code relies on this currently, but it's seems the right thing to do
2019-01-10 13:21:06 +01:00
JC Brand
96f38150f9
Use async/await and don't swallow errors.
...
Also, handle the error in `getRoomFeatures`
2019-01-10 13:16:08 +01:00
JC Brand
a4d608dcdf
Save room features in separate model
...
As a namespacing mechanism to avoid clashes.
Fixes bug where two chats are shown as currently being active in the rooms list.
2019-01-10 12:15:59 +01:00
JC Brand
e6c66cfebd
Ability to republish if publish-options precondition not met
2018-12-21 06:29:22 +01:00
JC Brand
d051085626
Only clear textarea once message was sent
...
This now requires `sendMessage` to return a boolean to indicate success.
Disable the textarea while message is being sent.
2018-12-21 05:58:22 +01:00
JC Brand
0b25800392
Add converse-pubsub.js
2018-12-20 21:51:16 +01:00
JC Brand
f64fdb8088
Render the OMEMO lock icon in MUC toolbars as well
...
updates #1180
2018-12-20 21:51:16 +01:00
JC Brand
4a65e39804
Set default to avoid includes
being called on undefined
2018-12-17 15:29:21 +01:00
Christoph Scholz
d2d64952a0
set store hint on receipts and type='chat'
2018-12-17 15:20:21 +01:00
JC Brand
82bfe66cac
Simplify setting of MUC features.
...
We don't need an event handler that sets the "opposite" features to
false if we set all features properly in getFeatures
2018-12-17 15:18:20 +01:00
JC Brand
94bcba741b
Handle non-elements, like text nodes
2018-12-17 15:17:53 +01:00
JC Brand
9c812157ee
Use async/await
2018-12-17 15:16:43 +01:00
JC Brand
aed1c60e86
Still trying to fix travis issue.
...
Stop listening on the _converse obj sooner
2018-12-17 12:09:56 +01:00
JC Brand
49efe390f9
Fix typo
2018-12-17 11:42:43 +01:00
JC Brand
d5e89655dc
Still check the view mode since the trimChats method is debounced
2018-12-16 11:32:19 +01:00
JC Brand
a389f52adb
Fixes #1353 Don't expect delivery receipts to have type chat
2018-12-16 11:22:13 +01:00
Christoph Scholz
216a684904
prevent message delivery receipts for carbons and own
2018-12-15 20:04:31 +01:00
JC Brand
6ec183451d
Remove global event listener when appropriate.
...
Otherwise trimChats called in `fullscreen` tests (due to being
registered in a previous test)
2018-12-15 20:01:19 +01:00
JC Brand
9ff505fd66
Add unregisterGlobalEventHandlers method
...
And call it when `converse.initialize` gets called again
2018-12-15 20:00:36 +01:00
JC Brand
003af0c438
visibilitychange
is supported by all browsers we support
...
So simplify the code that saves the window state
2018-12-15 19:59:30 +01:00
JC Brand
d5485d09ae
Always render the OMEMO lock icon
...
When OMEMO isn't possible, render it as grey.
This change makes OMEMO for MUCs easier, since there I anticipate that
OMEMO support might change dynamically based on who enters/exits the
room.
updates #1180
2018-12-14 11:25:57 +01:00
JC Brand
5dacb96b78
Don't try to create ChatBox from controlbox data in embedded mode
...
updates #1374
2018-12-12 18:52:41 +01:00
JC Brand
e38daf34f7
Remove coupling between converse-chatboxes and converse-roster
...
In embedded mode (singleton) we don't need or want the roster, so we
should be able to disable it.
updates #1374
2018-12-12 18:52:40 +01:00
JC Brand
02c907128c
Fix regex for setting the version number.
...
updates #1366
2018-12-07 13:55:41 +01:00
JC Brand
384f1d7977
New release 4.0.6
2018-12-07 12:40:02 +01:00
JC Brand
5f00987578
Bugfix. Pass original_stanza to isDuplicate
2018-12-06 13:10:33 +01:00
JC Brand
79bfb45639
Use async/await in MAM code and tests
2018-12-06 13:10:33 +01:00
JC Brand
118bc20478
Rename isSingleton
to isUniView
...
We distinguish between UniView and MultiView instances.
UniView means that only one chat is visible, even though there might be multiple ongoing chats.
MultiView means that multiple chats may be visible simultaneously.
2018-12-04 13:50:15 +01:00
JC Brand
f051ff283b
Don't store vcards globally to all accounts.
2018-11-30 19:43:40 +01:00
JC Brand
6358fd7c97
Use finally
2018-11-29 10:41:46 +01:00
Christoph Scholz
267d91a4f3
don't send receipt requests in MUCs
2018-11-20 17:38:59 +01:00
JC Brand
d341c6a13b
Revert "Use getter to lazily create Strophe.Connection"
...
This reverts commit 7af73c3471
.
Doesn't look like the right approach for adding support for XEP-0156.
Work on that will continue in a branch in the meantime.
2018-11-20 17:31:53 +01:00
JC Brand
7af73c3471
Use getter to lazily create Strophe.Connection
2018-11-18 18:05:47 +01:00
JC Brand
c46d937ea4
Fix null check
2018-11-18 15:16:40 +01:00
JC Brand
67958bba40
Check xmlns
2018-11-17 18:58:23 +01:00
Christoph Scholz
8524ff3b99
Fix missing checkmarks in old muc messages
2018-11-17 18:52:52 +01:00
Emmanuel Gil Peyrot
223deaa782
Log the actual error on MAM error
2018-11-17 18:39:28 +01:00
JC Brand
d3a684a57d
Move some functions outside of the initialize
closure
2018-11-15 23:10:40 +01:00
JC Brand
588b015e62
Release v4.0.5
2018-11-15 13:24:22 +01:00
JC Brand
5109c845ef
Add language support for Galician
2018-11-15 12:25:31 +01:00
JC Brand
35a1693ade
Use es2015 module imports in i18n.js
2018-11-15 11:51:43 +01:00
JC Brand
01c3d35db2
Remove unnecessary webpack aliases
2018-11-15 11:29:28 +01:00
JC Brand
82a97fdcb0
Add padding to receipt checkmark
2018-11-15 10:50:25 +01:00
Emmanuel Gil Peyrot
339d8a8f92
Add XHTML compatibility
...
This is mainly a testing tool, which makes a mode where all HTML bugs
which could slightly mess up the rendering will trigger proper errors in
the browser.
Fixes #1131 .
2018-11-14 22:08:12 +01:00
JC Brand
067d87a73e
Fix failing test
2018-11-14 15:15:29 +01:00
JC Brand
7cb889b065
Fixes #1317 Don't show errors for CSI messages
2018-11-14 14:34:23 +01:00
JC Brand
1e7247b4d2
Add client info modal showing name and version number
2018-11-14 12:01:27 +01:00
Christoph Scholz
9a307da808
show version info in login dialog
2018-11-13 21:12:24 +01:00
Christoph Scholz
12b7687a89
Implement sending presences according to XEP-0319: Last User Interaction in Presence
2018-11-13 18:39:13 +01:00
Christoph Scholz
da5ca0b585
implement XEP-0184: Message Delivery Receipts
2018-11-13 17:13:35 +01:00
JC Brand
10415c252d
Remove duplicate import and make new build
2018-11-13 13:15:54 +01:00
JC Brand
b85c5b5b0e
Remove backbone.noconflict wrapper
2018-11-12 21:05:30 +01:00
JC Brand
3f751b3af4
Add guard for non-existing chat_state
value
2018-11-12 20:59:43 +01:00
JC Brand
75b923b580
Bump MAM timeout to 20 secs
2018-11-12 20:29:55 +01:00
JC Brand
9d0cfe8f43
Presence subscription bugfixes.
...
* Return the promise, so that we can wait.
* `sendContactAddIQ` now returns a promise and doesn't take a callback
* Don't call `destroy` on a contact that's already been removed.
2018-11-10 19:09:51 +01:00
JC Brand
d9093c09ee
Fixes #1312
2018-11-07 12:11:22 +01:00
JC Brand
2179255d0a
Add button for resyncing roster contacts
2018-11-07 11:12:04 +01:00
JC Brand
cc3735ff08
Use async/await
2018-11-05 21:12:12 +01:00
Emmanuel Gil Peyrot
5cd7ccb3ef
Correctly display error when HTTP File Upload isn’t supported by the server.
2018-11-03 00:55:18 +01:00
JC Brand
f974c79acf
Bugfix. Declare converse-modal as a dependency of converse-message-view
...
Otherwise we get `TypeError: Cannot read property 'extend' of undefined`
when attempting to extend `BootstrapModal`.
2018-11-02 11:59:56 +01:00
JC Brand
f471dd2474
Release 4.0.4
2018-10-29 22:28:28 +01:00
JC Brand
6bab16d834
New patreon backers
2018-10-29 11:44:25 +01:00
Emmanuel Gil Peyrot
8c61922d7f
Replace the default avatar with a SVG version.
...
This is both lighter, looks better when rendered at arbitrary
resolutions (as there is no scaling being done), and actually editable
for different deployments.
This image has been hand-drawn using the PNG as a background.
2018-10-28 23:51:00 +01:00
JC Brand
fd41994672
Pin to latest backbone.browserStorage, then make clean && make dist
2018-10-28 18:23:05 +01:00
JC Brand
6a87caad6e
Don't use template literals for translated strings
2018-10-27 23:12:17 +02:00
JC Brand
20098c08fd
Restrict whitelist for headless only to the relevant plugins
2018-10-26 16:09:45 +02:00
JC Brand
0a02b62cd8
Update build docs on converse-headless and add README
2018-10-26 16:07:37 +02:00
JC Brand
2f9089ee10
Updates #1261 More file upload fixes
2018-10-26 14:45:36 +02:00
JC Brand
6519083414
Revert to explicit Promise-based code.
...
* src/converse-controlbox.js
async/await causes many tests here to fail due to the controlbox toggle
now apparently showing up a little later (and the tests don't wait for
it to happen).
* src/converse-minimize.js
We get timeout issues in tests.
* src/headless/converse-chatboxes.js
We get a stack overflow while running tests.
2018-10-26 12:53:01 +02:00
JC Brand
7a1f62d34a
Move isVisible
from core utils to html utils
2018-10-26 10:15:36 +02:00
JC Brand
d5b5bac5d4
Bugfix. Filter step was removed when converting to async/await
2018-10-25 23:08:19 +02:00
JC Brand
55fce912df
Merge branch 'master' into async-await
2018-10-25 18:36:04 +02:00
JC Brand
c583678c86
Use _coverse.api.sendIQ
instead of _converse.connection.sendIQ
...
So that we know an event will be emitted when the stanza is sent.
2018-10-25 18:29:29 +02:00
JC Brand
0715476862
Add package-log.json for headless build. Set to 4.0.4
...
This is probably fine as a patch release. Even tough files have been
moved around, the API is still the same.
2018-10-25 08:01:47 +02:00
JC Brand
fe00fd4f47
Emit an event when sending a stanza
2018-10-25 08:01:46 +02:00
JC Brand
e0f0617629
Don't store the File
object in browserStorage
...
With the recent fixes in backbone.browserStorage, the 'file' attributes
gets persisted to browserStorage before Converse tries to upload the
file.
The File object can't actually be serialized, so an empty map gets
stored and then returned together with a 'change' event.
Instead, store the file as a direct attribute on the message object.
Fixes #1261
2018-10-24 22:59:43 +02:00
Emmanuel Gil Peyrot
35b7dbe389
Convert a few functions to async/await.
2018-10-24 21:23:32 +02:00
JC Brand
7b2d64b066
Use _converse.api.send
instead of _converse.connection.send
...
so that we can emit an event when sending a stanza.
2018-10-23 16:06:43 +02:00
JC Brand
a3040a45fc
Move the converse-roster
plugin to the @converse/headless build
2018-10-23 15:40:06 +02:00
JC Brand
a20fd39313
Upgrade NPM and avoid duplicate deps
2018-10-23 15:08:53 +02:00
JC Brand
6904f9a897
Use es2015 modules instead of UMD
2018-10-23 12:25:58 +02:00
JC Brand
3a33d6f99b
Fix linting errors
2018-10-23 12:25:35 +02:00
JC Brand
3f7ffd025a
Remove Backbone.View related dependencies from headless package
2018-10-22 14:06:03 +02:00
JC Brand
7590a030b0
Move unnecessary templates in headless package to main package
2018-10-22 13:59:06 +02:00
JC Brand
18024b8bd2
Store lerna packages in the src
directory
...
- Also update versions in package.json
- Update Makefile
2018-10-22 13:29:25 +02:00