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