JC Brand
7a590f7c22
Stop using certain lodash methods.
...
* _.isNil
* _.noop
* _.isNull
2019-08-05 10:56:22 +02:00
JC Brand
c7b6bb4773
Only clear messages when clear_messages_on_reconnection
is true
2019-08-03 21:43:06 +02:00
JC Brand
cd392bb197
Fixes #1561 Don't clear localStorage and sessionStorage
2019-08-01 11:34:14 +02:00
JC Brand
1eb2364336
Let sendMessage
return the message model, not just the text
2019-07-30 16:15:47 +02:00
JC Brand
c4ad02d4e3
New config setting: muc_fetch_members
2019-07-26 13:32:21 +02:00
JC Brand
9be43ccea7
Don't inform of role change which accompanies an affiliation change
...
given that it's implicit and can cause confusion
2019-07-22 18:45:30 +02:00
JC Brand
a1630b5c1f
Replace wait-until-promise with utility method
...
and bump default timeout
Also let `_converse.api.waitUntil` use it if a function is passed in.
2019-07-11 23:34:27 +02:00
JC Brand
8a98ef87fe
Various small fixes. (Unused imports, unused vars etc).
2019-07-11 12:37:17 +02:00
JC Brand
8a405ee88c
Various bugfixes based on the previous refactoring.
...
These two commit should ideally be one, but I inadvertently pushed to
remote too early.
2019-07-10 16:55:55 +02:00
JC Brand
ded9945ed9
MUC: Don't send XEP-0085 CSNs when we don't have voice
...
Includes some refactoring:
- Don't send an `active` chat state notification when entering a MUC
I can't think of a good reason why this might be necessary or desired.
- Move `setChatState` form the view to the model
- Remove unused method `handleChatStateNotification`
- Don't store `role` and `affiliation` for the current user on the
ChatRoom object, but instead on the ChatRoomOccupant object representing
the user.
2019-07-10 14:24:00 +02:00
JC Brand
e5188d8b10
Bugfix. Remove affiliation based on updated members lists
2019-07-04 08:28:12 +02:00
JC Brand
1a3526f537
Update openAndEnterChatRoom
to take JID
2019-07-04 08:28:12 +02:00
JC Brand
67bcc00f10
Associate ChatRoomOccupant
to ChatRoomMessage
...
and use promises to indicate when an occupant or contact has been set
2019-07-04 08:28:12 +02:00
JC Brand
bb94891621
Only remove non-members when reconnecting to a MUC
...
to avoid unnecessarily destroying and then recreating ChatRoomOccupant
instances for room members.
2019-07-01 09:16:15 +02:00
JC Brand
98215deb21
Update to latest backbone.overview which debounces sorting on add
event
2019-06-27 13:15:55 +02:00
JC Brand
9ee0b68133
Fix failing test
2019-06-26 17:31:53 +02:00
JC Brand
e83b0ff39e
Update wording to clarify what /revoke means
2019-06-25 16:59:00 +02:00
JC Brand
40469a9787
MUC: Refresh room features when re-entering a cached room
...
Only fetch messages after we have the latest room features
Otherwise we run into race conditions where MAM messages are fetched
before we know whether (updated) the room supports MAM or not.
2019-06-20 14:04:46 +02:00
JC Brand
36549bf61d
Revert flexbox
, column-reverse
changes
...
Unfortunately this doesn't work on Firefox and there's no proper
workaround. https://github.com/philipwalton/flexbugs/issues/108
Reverts:
Revert "Bugfix. Properly insert error messages and spinner"
This reverts commit 6a419cc145
.
Revert "Use flexbox to keep the chat scrolled down"
This reverts commit dd91d3cc55
.
2019-06-19 11:45:54 +02:00
JC Brand
4f67f352f5
Fix /${command}
parsing bug
2019-06-18 13:01:38 +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
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
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
737e27c726
Use shakespearean character names in tests
2019-06-03 09:43:24 +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
e053b97043
Set room `connection_status' to DISCONNECTED...
...
when receiving an `unavailable` presence for ourselves.
2019-05-28 14:30:55 +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
e1762a1bb5
Rename key event handler methods to avoid confusion
2019-05-26 11:09:43 +02:00
JC Brand
9cb9151265
Add test to check that #1577 is resolved
2019-05-21 12:05:47 +02:00
JC Brand
d1d81bf933
Bugfix. Remove condition before fetching members
2019-05-21 11:33:01 +02:00
JC Brand
a95bb5b26a
Refactor tests so that IQ_ids always contains only XML stanzas
2019-05-20 14:37:29 +02:00
JC Brand
7e515dd4b1
Move all MUC joining logic to the model
2019-05-20 10:06:37 +02:00
JC Brand
46fef28601
Clear messages when closing a chat
2019-05-19 22:11:37 +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
ceb9d12957
Don't store ChatRoomOccupants on ChatRoomView
...
Helps with enforcing discipline of keeping them separate
2019-05-15 15:55:47 +02:00
supun19
dd0821076d
Groupchat auto-configuration now supports list-multi fields
2019-05-14 15:28:06 +02:00
JC Brand
d0ddda8244
New config option muc_show_disconnection_status
2019-05-14 13:29:43 +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
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
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
b593b8deb6
Fixes #1533
...
Users can only be muted in moderated rooms
2019-04-11 23:10:57 +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
5532a9ec63
Remove jquery from tests
2019-04-08 21:45:09 +02:00
JC Brand
f897703565
Rename emit
to trigger
for consistency with Backbone.Events
2019-03-29 21:56:56 +01:00
JC Brand
ab76a905f9
Remove more traces of awesomplete
2019-03-28 15:07:06 +01:00
JC Brand
b726a2353c
Remove Awesomeplete in favor of _converse.AutoComplete
2019-03-28 12:43:34 +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
JC Brand
dbccc08cf6
Trying to avoid intermittent failure on Travis
2019-03-22 15:53:03 +01:00
JC Brand
49d04bef83
Remove check that passes locally but fails on Travis
2019-03-05 18:11:14 +01:00
Emmanuel Gil Peyrot
3aa9ee1ba0
Replace http: with https: in xmpp.org links
2019-03-04 17:49:44 +01:00
JC Brand
7dd21880ed
Fix failing tests
...
Don't assume order of CSN messages, since `getLastMessageDate` ignores
CSN messages, they sometimes get add above one another.
2019-03-01 12:58:49 +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
36b912f052
Reorganize tests.
...
* CSN tests don't belong under "Groupchats" section tests.
* Move modal tests to their own grouping
2019-02-25 18:57:09 +01:00
JC Brand
0fc5112000
Found one more occurance of the word room
2019-02-22 21:44:03 +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
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
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
c023bd1d47
Fix test failures on Chrome 72
2019-02-01 21:37:29 +01:00
Christoph Scholz
b667eae1c8
muc moderator commands can be disabled selectively
2019-01-30 03:42:12 +01:00
JC Brand
d97deaea80
Fixes #1369
...
* Add test and changelog entry
* Also show message subject if available
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