JC Brand
303a8b63af
Fixes #1495 . Mentions should always include a URI attribute
2019-06-19 09:35:39 +02:00
JC Brand
7455ce1b07
Fixes #1579 and fixes #1538
2019-06-19 09:24:44 +02:00
JC Brand
30d110434f
Bugfix. Properly resize textarea when text gets removed.
2019-06-19 09:03:52 +02:00
JC Brand
9750dcf3a8
Fixes #1142 . Show confirmation dialog for editing messages
...
when the textarea contains an unsent message
2019-06-19 08:43:42 +02:00
JC Brand
1dc73c1c31
For chatboxes, use the web storage determined by _converse.trusted
2019-06-18 16:46:55 +02:00
JC Brand
b2553a44e1
New configuration setting: auto_focus
2019-06-18 14:04:26 +02:00
JC Brand
536b42697c
Manually scroll down when switching fullscreen chats
2019-06-18 13:59:55 +02:00
JC Brand
4f67f352f5
Fix /${command}
parsing bug
2019-06-18 13:01:38 +02:00
JC Brand
6a419cc145
Bugfix. Properly insert error messages and spinner
...
now that messages appear in reverse order due to flexbox
2019-06-18 12:35:58 +02:00
JC Brand
dd91d3cc55
Use flexbox to keep the chat scrolled down
...
By using `display: flex` and `flex-direction: column-reverse`, the chat
now automatically scrolls down when loaded, without requiring any
extra JavaScript.
We still need to scroll down with JavaScript when sending a message.
By using `column-reverse`, the messages container now works in reverse.
So the newest message is the first element in the container and the
oldest message is the last. This is the reverse of before.
Due to this, this change will likely break some plugins.
2019-06-18 11:37:07 +02:00
JC Brand
21b0f2464d
Clear received
field for corrected messages
...
It gets populated again upon MUC reflection or chat marker
2019-06-17 12:14:31 +02:00
JC Brand
9c66302c4a
Bugfix. Error responses weren't being shown for corrections
2019-06-17 12:07:33 +02:00
JC Brand
19f6bce246
Message correction improvements. Updates #1142
...
Up and down arrows only serve as message correction shortcuts if the
textarea is empty.
This means that:
- Up arrow doesn't start correction of previous message if we're currently writing a message
- Down arrow doesn't erase currently written message
This is based on user-feedback and is also how Slack handles these
shortcuts.
2019-06-17 09:04:03 +02:00
JC Brand
38d0d8360b
New config setting message_limit
...
for limiting messages to a certain number of characters.
2019-06-16 21:52:56 +02:00
JC Brand
de3099a9d8
converse-muc: Show <text>
content of error presences
2019-06-16 12:14:32 +02:00
JC Brand
1d6ee5bf58
No need to mention 'permanent'
2019-06-16 11:23:36 +02:00
JC Brand
a19e35d101
Use setTimeout instead of listening for animationend
...
For some reason the latter causes extreme lag when switching rooms
2019-06-14 13:46:53 +02:00
JC Brand
83201e7c02
Reconnection fixes.
...
When reconnecting with a new transport, we call setUserJID
so that a new resource is generated, to avoid multiple
server-side sessions with the same resource.
We also call `_proto._doDisconnect` so that connection event handlers
for the old transport are removed.
2019-06-14 12:00:49 +02:00
JC Brand
9635f53dad
converse-smacks: 2 bugfixes.
...
- Don't ever resume SMACKS stream when using BOSH
- Clear SMACKS session data when using BOSH
2019-06-14 12:00:49 +02:00
JC Brand
d3692755d0
Consolidate changed event handler that renders MUC heading
2019-06-14 09:27:10 +02:00
JC Brand
946394928b
Fixes #1601 Message corrections should get their own origin id
2019-06-13 16:31:02 +02:00
JC Brand
22bdccc775
Bugfix.
...
https://xmpp.org/extensions/xep-0198.html#resumption
The <resume/> element MUST include a 'previd' attribute whose value
is the SM-ID of the former stream and MUST include an 'h' attribute
that identifies the sequence number of the last handled stanza sent
over the former stream from the server to the client.
2019-06-13 13:54:58 +02:00
JC Brand
f3c4dbc344
Avoid unnecessarily sending out a presence stanza
...
- Set roster_fetched flag when we get an empty IQ[type="result"] stanza
- Set `restored` flag when resuming in converse-smacks
- Don't trigger change event when fetching xmppstatus values
- Removed two events, since we can just listen to `change` on `_converse.xmppstatus`.
2019-06-13 13:33:01 +02:00
JC Brand
ba9d28b5c2
Two MUC tests
...
- Test for info message indicating a configuration change
- Test that the MUC reconnects when a `not-acceptable` error is returned
2019-06-12 18:39:24 +02:00
JC Brand
ca4b509d87
Log MUC connection status
2019-06-12 10:55:01 +02:00
JC Brand
5362156731
While connecting, treat "modify" error as a disconnection event
2019-06-12 10:15:55 +02:00
JC Brand
73fd3d6a5f
Fade out ephemeral messages
2019-06-12 07:09:22 +02:00
JC Brand
9d3dfa831a
Fixes #1599
2019-06-12 06:40:53 +02:00
JC Brand
e1ca02d94a
converse-disco: don't call onInfo on undefined
2019-06-12 06:27:07 +02:00
JC Brand
bbe2a62295
converse-muc: Create info
and error
messages on the model
...
instead of on the view.
2019-06-12 06:27:07 +02:00
JC Brand
970ba96ce1
Bugfix. Only create VCards for chat
and groupchat
messages
...
Other types of messages such as `error` don't necessarily have a JID
tied to them.
2019-06-11 14:05:30 +02:00
JC Brand
a0f0240b92
Don't set nick before confirmation that it was successful
2019-06-11 14:05:30 +02:00
JC Brand
d385452a7d
Use _converse.getDefaultMUCNickname
2019-06-11 14:05:30 +02:00
JC Brand
599f7596f6
Show policy violation errors to the user and make them ephemeral
...
Also, remove ephemeral messages after 10 seconds, not 20
2019-06-11 14:05:07 +02:00
JC Brand
3cc1b40aad
Apparently no model triggers showHelpMessages
anymore
2019-06-11 10:34:23 +02:00
JC Brand
dc0085bff3
All received MUC messages are "received" by definition
2019-06-06 16:17:51 +02:00
JC Brand
690052e1c2
Call setUserJID
when we get JID from credentials_url
2019-06-06 13:41:52 +02:00
JC Brand
789b47ddb3
Bugfix. Don't create view for chat which fails validation
...
Use-case is when an invalid MUC gets opened in singleton mode.
Without this fix a new chat with spinner appears, even though it
shouldn't.
2019-06-06 08:34:56 +02:00
JC Brand
a656750459
Only fetch presences when we're resuming an existing session.
...
updates #555
2019-06-05 11:47:23 +02:00
JC Brand
a7184fab41
Bugfix. Need to wait for setUserJID
2019-06-05 11:38:14 +02:00
JC Brand
38a232fd45
Move BOSH code into a plugin
...
- Remove the `keepalive` configuration setting. It is now always implicitly `true`.
- Remove the `expose_rid_and_sid` configuration setting.
- A `prebind_url` is now mandatory when setting `authentication` to `prebind`.
- It's no longer possible to pass in `rid` and `sid` values to `converse.initialize.
2019-06-05 11:35:48 +02:00
JC Brand
01fce55733
Add prettierx and tentatively use it for some formatting
...
I'm using prettierx, which is a fork of prettier so that we can have
spaces before the brackets in a function declaration.
I don't like how restrictive prettier is concerning its configuration
and formatting.
- it messes up some indentation in specs/
- it removes a second newline when I specifically want to have two
- it doesn't allow spaces before brackets in function declarations (hence prettierx)
- it adds spaces for function parameters with default values
None of this is configurable.
So auto-formatting is not turned on by default, but it might be a useful
tool in some cases.
Fixes an issue where indentation was off in converse-core.js, causing
vim-sleuth to wrongly indent by three spaces only.
2019-06-05 10:25:31 +02:00
JC Brand
085a4c6535
Small config fixes
...
- fix import path
- remove unnecessary lines in webpack config
- remove unused file
2019-06-04 20:35:09 +02:00
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
b57e3e49c1
Fixes #1330 . Missing room name in MUC invitation popup
2019-06-04 12:08:14 +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
a46ee4dfe1
Buttons aren't always there
2019-06-03 09:41:29 +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
eafe995f95
Rename variable for clarity
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
6dea4eabe7
Ensure nickname form is rendered across page loads
...
if the page is reloaded while the nickname form is shown
2019-06-01 16:16:34 +02:00
JC Brand
267fb38e0c
Remove the forward_messages
config option
2019-05-31 16:07:51 +02:00
JC Brand
e362776b9f
converse-muc-views: Don't prematurely insert MUC into the DOM
2019-05-31 09:14:42 +02:00
JC Brand
d86a657a66
converse-controlbox: No need anymore to override insertIntoDOM
...
We now use CSS to make sure that the controlbox and toggle is always on the far right.
2019-05-31 09:14:07 +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
85c4d144ed
Only show mention autocomplete suggestions for MUC occupants with nicks
2019-05-27 22:45:54 +02:00
JC Brand
fcc9e8c31b
Also allow @
in moderator commands
2019-05-27 12:27:24 +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
f20aee6906
Fixes #1576
...
When using `auto_login` and logging out, Converse gets stucks with an infinite spinner.
2019-05-26 15:30:15 +02:00
JC Brand
22e3c49660
Terminology fix
2019-05-26 11:20:31 +02:00
JC Brand
e1762a1bb5
Rename key event handler methods to avoid confusion
2019-05-26 11:09:43 +02:00
JC Brand
5054ecca08
Check whether controlbox exists before assigning
2019-05-24 20:50:30 +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
2d507c68c9
Always debounce trimChats
2019-05-24 16:02:07 +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
9167128d8e
Bugfix.
2019-05-22 19:28:09 +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
7950f7c2ac
Change muc_show_disconnection_status
to muc_show_join_leave_status
2019-05-18 06:34:29 +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
JC Brand
e7ceb22a56
Avoid duplication by keeping track of message views
2019-05-17 14:45:37 +02:00
JC Brand
0fa6bcdcc2
Reduce debounce time for scrolling down.
2019-05-17 14:45:37 +02:00
JC Brand
bad9b08b61
disable_mam
should now be set on the model
2019-05-17 13:53:31 +02:00
Christoph Scholz
038359c74f
fix foreach in fileupload
2019-05-16 15:22:35 +02:00
JC Brand
16db6195d3
Move MAM methods to the model
2019-05-16 12:01:46 +02:00
JC Brand
94bea16cc4
Remove chatBoxOpened
event
2019-05-16 11:54:42 +02:00
supun19
d1572f3506
iOS viewport was less than 100vh so had to redefine vh units
...
fixes #1571
2019-05-15 18:32:11 +02:00
JC Brand
ceb9d12957
Don't store ChatRoomOccupants on ChatRoomView
...
Helps with enforcing discipline of keeping them separate
2019-05-15 15:55:47 +02:00
JC Brand
7cd69726a8
Loosen coupling between ChatRoomOccupantsView and ChatRoomView
...
Hide/show the sidebar based on state and not imperatively in ChatRoomView
2019-05-15 14:50:12 +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
JC Brand
69e8b071d8
Minor cleanups
2019-05-14 20:31:43 +02:00
JC Brand
12989ab241
New event: chatBoxBlurred
2019-05-14 16:26:25 +02:00
JC Brand
86f3399dc0
Also trigger 'chatboxFocused' when user manually focuses
2019-05-14 16:24:16 +02:00
supun19
dd0821076d
Groupchat auto-configuration now supports list-multi fields
2019-05-14 15:28:06 +02:00
JC Brand
1d9e1a62df
Only show new moderator status when not already admin or owner
2019-05-14 13:55:19 +02:00
JC Brand
14708af715
Refactor callback method into instance method
2019-05-14 13:54:19 +02:00
JC Brand
d0ddda8244
New config option muc_show_disconnection_status
2019-05-14 13:29:43 +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
c520a4e39b
Trim nickname
2019-05-08 21:37:47 +02:00
JC Brand
77e58bff5f
Test that MAM messages are fetched when a chatbox is opened
...
This is a precursor to also testing (and implementing) that a chat pages
through MAM results (see #1549 )
Remove unused method.
2019-05-07 10:27:51 +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
9c4f8aef23
Bugfix. Call _converse.reconnect regardless
...
it is debounced and otherwise we might enter a state where reconnection
no longer happens.
2019-05-02 16:50:58 +02:00
JC Brand
d868b9a9f7
Continuously retry to fetch login credentials
2019-05-02 14:53:42 +02:00
JC Brand
3290d6659f
Bugfix. validation message should be set on the model
2019-05-02 14:53:07 +02:00
JC Brand
969f902d4a
Playing around with removing more lodash calls
2019-04-29 09:47:46 +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
dedede56f8
Rename muc_disable_moderator_commands
to muc_disable_slash_commands
...
Since those commands aren't only about moderation
2019-04-25 11:32:07 +02:00
JC Brand
c72dc74022
In the menu, only show allowed commands
2019-04-25 10:48:33 +02:00
JC Brand
3bd9e09fd7
Don't wipe the nickname value when rerendering the form
...
Ideally Snabbdom wouldn't completely replace the input when we add the
`error` class, because that's what's causing the input value to be
cleared.
2019-04-25 08:35:44 +02:00
JC Brand
3ad93b56b3
Clicking the wrench icon again closes the config form
2019-04-24 14:51:12 +02:00
JC Brand
d311e14013
Render MUC forms with Backbone.VDOMView
...
That way we don't lose the user's input values, we avoid flashing and we
avoid unnecessary rendering.
In the process, fixed an annoying issue where Chrome auto-completes
what it thinks is the username into the "Language Tag" field of the MUC
config form.
Instead we tell Chrome that the MUC JID is the username, thereby also
letting it save the password to to that JID.
2019-04-24 14:51:12 +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
e9e17cb293
Fixes #1543
2019-04-23 10:47:17 +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
0288ef437e
Fixes #1542
2019-04-19 10:55:06 +02:00
JC Brand
1251f395b1
Use webpack to generate css/converse.css
2019-04-18 17:50:05 +02:00
JC Brand
e1392895b0
Fix: when closing a modal the overlay doesn't get removed
...
Looks like the `webkitTransitionEnd` event doesn't fire because `fade`
is already on the modal, so there's no transition, which means that in
bootstrap.native the event doesn't get fired to remove the overlay.
2019-04-18 16:14:51 +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
1328168d1e
Fixes #1532 Converse reloads on enter pressed in the filter box
2019-04-11 23:44:16 +02:00
JC Brand
06f53e7f18
Add some padding to form error message
2019-04-11 23:42:19 +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
36761f290e
Don't show checkmark for /me messages
2019-04-10 19:34:31 +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
87337eaeef
Bugfix. Modal auto-closes when you open it a second time
2019-04-08 21:45:09 +02:00
JC Brand
5532a9ec63
Remove jquery from tests
2019-04-08 21:45:09 +02:00
JC Brand
487114568a
OAuth is not a core plugin
2019-04-05 14:04:50 +02:00
JC Brand
eb67f10371
Handle case where there isn't a MUC close button
2019-04-05 14:04:00 +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
b8107afa0e
Bugfix. Remove highlight from roster item when chatbox is closed.
2019-03-31 13:05:51 +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
337e267594
Don't trigger OMEMOInitialized
if something went wrong.
2019-03-31 12:01:19 +02:00
JC Brand
dd0c0b6c56
Add a new active
flag for OMEMO devices.
...
Instead of deleting devices that are not returned in the device list,
set an `active` flag, so that we don't remove the trust setting.
Set deactivated devices to `active` when a receive an OMEMO message from
it.
Also, set omemo_supported to true when we've succesfully decrypted a
message.
2019-03-31 11:33:31 +02:00
JC Brand
c32ecb7e82
Refactor fetchDevices
to make it smaller and simpler to read
2019-03-30 17:01:50 +01:00
JC Brand
1b08df89bb
Don't send OMEMO message when we don't have any devices for contact
2019-03-30 16:32:47 +01:00
JC Brand
1a2e7b235a
OMEMO bugfix. Store prekey as boolean and handle '1' and 'true'
2019-03-30 15:57:36 +01:00
JC Brand
1dfdb36d20
Don't filter out own device when sending OMEMO message
2019-03-30 13:55:25 +01: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
7481643453
Validation error when trying to add an already existing contact
2019-03-28 15:54:47 +01:00
JC Brand
be1abdb5ff
Add classes for easy styling
2019-03-28 15:43:29 +01:00
Christoph Scholz
dde815e0a8
Allow manual entry of jid with xhr_user_search_url
2019-03-28 15:38:56 +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
34b8cd2ee6
Prevent user from adding themselves as contact
2019-03-28 15:36:08 +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
b726a2353c
Remove Awesomeplete in favor of _converse.AutoComplete
2019-03-28 12:43:34 +01:00
JC Brand
8d385487c9
Remove unused element attributes
2019-03-28 12:35:19 +01:00
JC Brand
75ae76ad93
Use _converse.AutoComplete
in "Add Contact" modal
2019-03-28 10:47:14 +01:00
JC Brand
616731b323
Don't show MUC domain if locked_muc_domain
is set to 'hidden'
2019-03-27 13:13:07 +01:00
JC Brand
03f9eb95da
Fixes #1467 . Fix rendering of URLs enclosed with sharp brackets
...
such as <https://example.org >
2019-03-27 11:24:55 +01:00
JC Brand
18ad34e194
Show emoji shortname in tooltip
2019-03-27 08:41:32 +01:00
JC Brand
6cbdaa0f4f
Bugfix. Bookmarks list didn't remember toggle state
...
We need to wait for the state to be fetched from storage before
rendering the list.
2019-03-27 08:34:58 +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
3ce3d661bc
Make sure required registration fields have "required" attribute
2019-03-26 14:52:26 +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
32f0eb5488
Fixes #1407 . Don't allow empty value for MUC nickname
2019-03-26 13:03:42 +01:00
JC Brand
a9ce9acff2
Make sure nickname
config option takes precedence
...
above other nickname sources.
2019-03-26 11:31:11 +01:00
Guus der Kinderen
bde1b9529b
Minimized bookmarked chatboxes should not be always maximized after page reload
...
This is a fix for https://github.com/conversejs/converse.js/issues/1508
2019-03-26 11:06:32 +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
fa85fc71b9
Use async/await
2019-03-22 15:49:44 +01: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
Christoph Scholz
0957b7086f
Don't prompt for reason if auto_join_on_invite
2019-03-19 22:26:42 +02: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
Meitar M
76bff83ca3
Allow http:
image URLs if Converse.js is loaded on an insecure origin.
...
Currently, in order for Converse.js to recognize a pasted URL as an
image, it must be an URL whose protocol is `https:` (`https` in the
URI.js library's notation). This is sensible, but means that any
non-HTTPS image URL is not recognized as a valid URL (and thus will not
be rendered inline, even if `show_images_inline` is set to `true`).
It is important to always check for HTTPS URLs when in a secure context
(i.e., the initial page load was requested via HTTPS) in order to ensure
that non-secured content does not mix with secured content. However, the
inverse is not true: if the original page was loaded over HTTP, then
enforcing HTTPS for images adds arguably no meaningful protection while
also breaking the `show_images_inline` feature for the edge cases where
Converse.js is deployed without HTTPS and a user pastes an HTTP URL.
This patch changes the behavior of the `isImageURL` method such that the
requirement for the pasted URL's protocol to be `https:` is enforced
only when the `window.location.protocol` itself is also `https:`. By
doing this, we ensure that secure origins (i.e., when Converse.js is
loaded over HTTPS initially) are still secured and cannot have non-HTTPS
content introduced to the page via a pasted non-HTTPS URL, however it
also allows non-HTTPS origins to render both HTTP and HTTPS image URLs.
2019-03-09 14:15:22 +02:00
Christoph Scholz
ed9d2a2526
make it configurable whether to respect autojoin
2019-03-09 14:10:40 +02:00
JC Brand
143d44c3f6
Avoid horizontal scrolling on the fullscreen login page
2019-03-07 17:47:30 +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
Holger Weiss
a15aec3519
Assume "text-single" as default form field type
...
As per XEP-0004, the default "type" of data form fields is
"text-single", so a missing "type" attribute should not be treated
differently.
This fixes handling of CAPTCHAs offered by ejabberd.
2019-03-06 15:08:41 +01:00
Christoph Scholz
37800d92d3
allow drag & drop also in MUCs
2019-03-05 18:21:07 +01:00
JC Brand
0ebfc3fce8
Let converse-autocomplete also be triggered with backspace
2019-03-05 17:59:22 +01:00
JC Brand
7910447cf6
Use ev.key
instead of ev.keyCode
...
Removes the need for maintaining a map of keycodes to keys
2019-03-05 17:59:22 +01:00
JC Brand
f8e31a7b49
Update converse-autocomplete to make it more flexible
...
* Accepts other triggers besides tab or @
* More finegrained control over whether the triggering char is
included in the returned value or not.
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
310b2c723b
Fixes #1149
...
With xhr_user_search_url, contact requests are not being sent out
2019-03-01 11:56:22 +01:00
JC Brand
d4fbdf5629
Fixes #1213 . Switch roster filter input and icons
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
61a0e1bb16
New config setting show_client_info
...
Determines whether we show the icon for opening the client's "About" modal.
2019-02-27 14:42:27 +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
519bd54acb
Fixes #1457 . Wrong tooltip shown for "unbookmark" icon
2019-02-26 12:08:48 +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
2ddd918f6a
Fixes #1437 . List of groupchats doesn't scroll
2019-02-26 11:57:36 +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
0ee08ee622
Use async/await for enterRoom
2019-02-22 23:14:35 +01:00
JC Brand
9b0e23dcc6
Ensure new contact is attached to existing chatbox
...
When a new contact is added, check if we already have a chatbox open for it,
and if so attach it to the chatbox.
2019-02-22 23:05:03 +01:00
JC Brand
bfaa7e47f2
Add roomviews.get API method
2019-02-22 21:44:03 +01:00
JC Brand
0fc5112000
Found one more occurance of the word room
2019-02-22 21:44:03 +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
ce2ae87df2
Bugfix. Open groupchats not shown when logging in after disconnection
...
* Replace `tearDown` overrides with event handlers.
* Move presence listeners to `connected` event handler, otherwise they
don't get called when logging in again after disconnection.
* Add `clearSession` listeners to clean up upon disconnection.
* Use `Promise.all` instead of listening for multiple events.
2019-02-20 23:08:27 +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
4463b44773
Use "XMPP address" instead of "XMPP username"
2019-02-19 15:00:38 +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
af0093bd39
Bugfix: MUC invite form not shown
2019-02-18 15:42:56 +01:00
JC Brand
d830bc1250
Also check for duplicates in one-on-one messages
2019-02-14 15:17:49 +01:00
JC Brand
d08f738656
Bugfix: Restore textarea size after sending message
2019-02-14 13:21:26 +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