Commit Graph

1069 Commits

Author SHA1 Message Date
JC Brand
2c44127932 Remove jquery from spec/chatroom.js 2018-10-13 17:47:52 +02:00
JC Brand
d77802da86 Avoid showing notification messages twice
For example `This groupchat is not anonymous`
2018-10-13 14:41:16 +02:00
JC Brand
15579692a9 Some work on removing jQuery from the MUC tests 2018-10-13 14:14:02 +02:00
JC Brand
7b9c97dfd3 Also squash leave/join messages
And fix an HTML rendering bug for info messages and nicks that contain spaces
2018-10-11 19:04:06 +02:00
JC Brand
71cc98d6f6 Reduce join/leave clutter by removing subsequent ones
Previously we checked only if the last message was a join message from
the same person.

Now instead we check the last n messages that are join or leave
notifications.
2018-10-11 15:59:52 +02:00
JC Brand
cf75d37587 join/leave notification fixes.
* Don't show leave notification twice when someone leaves, joins and then leaves again
* Add a test case for a member joining and then leaving
2018-10-11 14:05:52 +02:00
JC Brand
dffcc13dea Fixes #1140 Add support for destroyed chatrooms 2018-10-10 22:57:12 +02:00
JC Brand
7cc59b9ef3 Check in test that headliness box is not created.
Updates #1221
2018-10-10 20:17:56 +02:00
Emmanuel Gil Peyrot
e9007146aa Improve the moderated and not moderated explanations 2018-10-06 19:32:03 +02:00
JC Brand
9bc8bdf34c Test updates after updating to use latest strophe.js
`toLocaleString` now returns element attributes in alphabetical order
(for better cross-browser consistency).

Also, `toLocaleString` is now used in favor of `outerHTML` because
browsers aren't consistent with one another in their output.
2018-10-03 21:11:20 +02:00
JC Brand
defe32d172 Make sure omemo tests pass on Firefox 2018-09-25 14:05:56 +02:00
JC Brand
6f7328a62f Fix failing tests 2018-09-25 10:20:18 +02:00
JC Brand
4129c0ea3b Fix failing test 2018-09-13 17:04:44 +02:00
JC Brand
93c956ba4b Bugfix. Should be && not || 2018-09-13 16:42:54 +02:00
JC Brand
cd05b89726 Fix failing tests due to MUC disco refactoring 2018-09-13 10:52:25 +02:00
JC Brand
603708a9c9 Update test openAndEnterChatRoom to handle re-opening of rooms
in which case a disco query is not sent out again because we still have
it cached.
2018-09-13 09:04:21 +02:00
JC Brand
71370f5b45 Add the /register command for registering yourself 2018-09-12 15:32:37 +02:00
JC Brand
17401cb903 Improvements to automatic nick registrations
Also expand and fix the associated test.
2018-09-12 12:36:25 +02:00
JC Brand
acef8feaaa Refactoring of fetching of reserved nick
- Move `getDefaultNickName` to the model and rename to `getDefaultNick`
- Let `checkForReservedNick` return a promise and save `nick` once received
- Updated `openAndEnterChatRoom` to wait appropriately and remove presence-wrapper
- Update tests to wait appropriately
- Remove presence-wrapper in `getRoomFeatures`
2018-09-12 12:36:13 +02:00
JC Brand
2df9b24211 Add option to auto-register your nickname to a room
See https://xmpp.org/extensions/xep-0045.html#register
2018-09-12 12:36:13 +02:00
JC Brand
764686dd19 Enable push services for a MUC domain
As soon as a chatroom from that domain is opened and if the MUC supports it.
2018-09-11 11:29:02 +02:00
JC Brand
c8eea72831 Fix failing test.
Looks like Chromium strips the forward slash from `<br/>` when printing
innerHTML.
2018-09-10 16:07:06 +02:00
Martin/Geno
dbe88535f1 [BUGFIX] html br 2018-09-10 15:58:17 +02:00
JC Brand
014354d075 Fixes #986 Affiliation changes aren't displayed in the chat 2018-09-07 11:54:29 +02:00
JC Brand
27378068c0 Fixes #1064 /topic without argument sets topic to "undefined" 2018-09-07 10:21:47 +02:00
JC Brand
2acc11f776 Fixes #1158. Fall back to bookmark JID if name is not available 2018-09-06 17:25:10 +02:00
JC Brand
f5d41db18a Fix failing test by using the right API 2018-09-03 09:45:04 +02:00
JC Brand
866f2737da More JSDoc docstrings for API methods 2018-09-02 23:43:39 +02:00
JC Brand
6a061b4525 Use raw key format and not jwk. Set correct key size. 2018-08-31 17:15:03 +02:00
JC Brand
ed9afe9afb Only include key and not whole payload from libsignal 2018-08-31 13:57:49 +02:00
JC Brand
18c7ba4ad8 Bugfix. Need to first create bookmark
Otherwise we don't include it in the stanza.
So if an error occurs, remove the bookmark again.
2018-08-31 11:24:05 +02:00
JC Brand
f72ace506f Replace the onChatBoxAdded override with event handlers 2018-08-28 15:08:38 +02:00
JC Brand
21178add98 Remove converse-otr 2018-08-27 22:09:22 +02:00
JC Brand
1dc1c1f98a Properly generate and render fingerprints 2018-08-27 21:02:31 +02:00
JC Brand
3e7c8655ad Add a <store> hint to OMEMO messages.
updates #497
2018-08-27 16:44:19 +02:00
JC Brand
15a4bcd11e Add method to generate missing prekeys
When receiving a PreKeySignalMessage, then a prekey has been chosen and
should now be removed from the list of available prekeys in the bundle,
so that a different device doesn't choose it as well.

AFAICT, libsignal removes the prekey, so it's then up to us to
regenerate it and republish our bundle.

updates #497
2018-08-27 16:43:58 +02:00
JC Brand
3d015c787f Extract common code into helper functions 2018-08-27 10:41:54 +02:00
JC Brand
ea5144c7e5 Refactor the OMEMOStore to not duplicate prekeys
Before these changes, prekeys were stored in two places, one place that
converse-omemo accessed and one that libsignal accessed and when
libsignal deleted a prekey the other store wasn't updated.

Now we let the methods called by libsignal store/remove prekeys (and the
signed_prekey) in the same place as used by the code in converse-omemo.
2018-08-25 23:22:18 +02:00
JC Brand
5406e9739c Trying to fix timing issue on Travis 2018-08-25 01:04:17 +02:00
JC Brand
9e240c5647 Increase timeouts to try and avoid timing issues on Travis 2018-08-25 00:43:05 +02:00
JC Brand
fd639e2da6 Remove the active flag for devices.
Instead of setting `active` to `false`, we remove the device entirely
(unless its the current device).

Doing it this way means more fetching of bundles for devices that
disappear and then reappear from a user's devicelist.

However, there might be caching invalidation concerns with just reusing
a cached bundle for a device id that disappeared and then reappears.

Additionally this change simplifies the showing of a contact's device
fingerprints in the modal, since we don't have to take active/inactive
into consideration.

updates #497
2018-08-23 14:02:43 +02:00
JC Brand
5e9d6c3d6a Merge branch 'master' into converse-omemo 2018-08-23 09:45:13 +02:00
JC Brand
9f8d30dde3 Create a new store, _converse.config to store trusted
The `_converse.session` store gets cleared after logout, but we want the
`trusted` flag to persist after logout.

Also update the documentation no that the `storage` config option has
been removed in favor of `trusted`.
2018-08-23 09:41:39 +02:00
JC Brand
62cecbec5f Merge branch 'master' into converse-omemo 2018-08-22 23:41:36 +02:00
JC Brand
9ed2ad631a Store whether this is a trusted device in _converse.session
So that it persists across page loads. Otherwise storage falls back to
the default, causing records to be in both local- and sessionStorage.

Additionally, update singleton models to have the 'id' available as a getter.

Otherwise multiple records gets stored in browserStorage, causing random
results being returned.
2018-08-22 23:36:54 +02:00
JC Brand
fa0e7aeff5 Updated so that own device is properly created and published
Based on live testing. Updated tests accordingly.
2018-08-22 18:16:36 +02:00
JC Brand
3ec426e11d Don't render OMEMO stuff in profile modal if OMEMO's not enabled 2018-08-21 18:03:34 +02:00
JC Brand
e7f211bacf Avoid an unnecessary promise and create message as soon as possible
under non-OMEMO circumstances. Otherwise, when messages are fetched in
bulk via MAM, then a message referring to a previous one (e.g.
a correction) may be processed before the message being referred to has
been created.
2018-08-19 10:32:43 +02:00
JC Brand
9a7f56db7d Fix format of stanza that queries for devices. 2018-08-19 10:09:43 +02:00
JC Brand
4ed43854bd Bugfix. Items need to go inside the list 2018-08-18 18:25:52 +02:00
JC Brand
ca9229a906 createMessage now returns a promise.
Also, fix all broken tests, mostly related to this.
2018-08-18 17:12:22 +02:00
JC Brand
b4110dc162 Merge branch 'master' into converse-omemo 2018-08-18 10:24:55 +02:00
JC Brand
41a42fe2f7 Test for mentions with spaces in them.
Also remove Converse from fullscreen background
2018-08-16 16:02:09 +02:00
JC Brand
2db3db9bab Add support for editing messages containing mentions 2018-08-16 15:17:54 +02:00
JC Brand
d9c5867ff2 Check references when incrementing unread messages counter 2018-08-16 15:17:54 +02:00
JC Brand
b7eb19e225 Render mentions in a message 2018-08-16 15:17:54 +02:00
JC Brand
15df9b8605 Inlcude references in the outgoing XMPP stanza 2018-08-16 15:17:54 +02:00
JC Brand
f2b017ec89 Add method to determine references from message text 2018-08-16 15:17:53 +02:00
JC Brand
e10d9b074e Rearrange: move non-nested tests to top of describe 2018-08-16 15:17:53 +02:00
JC Brand
324ffd5e40 Let @ trigger autocomplete with all possible options shown 2018-08-16 15:17:53 +02:00
JC Brand
cc3a158b57 Initial work on showing all options on @ 2018-08-16 15:17:53 +02:00
JC Brand
13c9612a8a Let an additional tab select the currently highlighted element 2018-08-16 15:17:53 +02:00
JC Brand
2abd1c1db1 Get selection via up/down arrow to work 2018-08-16 15:17:53 +02:00
JC Brand
86fab99c54 Expand test case and improve code. 2018-08-16 15:17:53 +02:00
JC Brand
2a593a03b7 Add a test spec for autocompletion 2018-08-16 15:17:53 +02:00
JC Brand
33cd23c529 Minor idiomatic changes 2018-08-16 15:17:53 +02:00
JC Brand
c25cc4c76b Bugfix. Existing occupants weren't found because query was only by jid
Which meant that occupants were being duplicated.

updates #1146
2018-08-09 15:46:49 +02:00
JC Brand
2d05487862 More code reuse between chatboxview and chatroomview 2018-08-07 15:32:13 +02:00
JC Brand
27bc33ba09 Use nickname from global settings when entering a room 2018-08-07 10:09:35 +02:00
JC Brand
2884549bb3 Test decryption of incoming OMEMO message
updates #497
2018-08-04 23:49:01 +02:00
JC Brand
713f49453f Working example of AES-GCM encryption and decryption
with key import and export.

updates #497
2018-08-04 21:32:08 +02:00
JC Brand
f2c283c907 More work on decrypting messages 2018-08-04 19:41:06 +02:00
JC Brand
be0eaecff9 Parse incoming OMEMO encrypted messages 2018-08-04 09:26:23 +02:00
JC Brand
b273d00412 Fix failing tests due to api refactor (returning promises) 2018-08-04 08:39:14 +02:00
JC Brand
d99c48b868 Fix failing test.
Modal query not specific enough when there are multiple modals
2018-08-04 08:34:13 +02:00
JC Brand
4c3645c559 Merge branch 'master' into converse-omemo 2018-08-03 14:47:20 +02:00
JC Brand
890dbca8b8 Fix tests failing on Travis 2018-08-02 08:30:37 +02:00
JC Brand
f120fbd209 Bugfix. Own groupchat messages weren't being recognized 2018-08-01 18:37:54 +02:00
JC Brand
506aa33131 Wait for promises before opening chats in API methods 2018-08-01 11:12:00 +02:00
JC Brand
1443fdd447 (WIP) Wait for promises before opening chats in API methods 2018-08-01 11:10:43 +02:00
JC Brand
4115461409 Make tests independent of URL at which they're run 2018-07-31 19:13:49 +02:00
JC Brand
e774e9d1af Test that own devices (from other clients) get included
when sending out encrypted messages.

updates #497
2018-07-28 16:36:56 +02:00
JC Brand
a3593dbc7d Implement and test sending of encrypted messages
updates #497
2018-07-28 15:37:36 +02:00
JC Brand
f40e4b4dbb Merge branch 'master' into converse-omemo 2018-07-25 12:06:42 +02:00
JC Brand
4cefc7cdf9 Fix failing tests due to renames 2018-07-25 12:05:09 +02:00
JC Brand
bcd6845756 Show fingerprints in the user details modal
updates #497
2018-07-25 11:33:16 +02:00
JC Brand
114e46dfab Fix broken test and refactor slightly. updates #497 2018-07-22 10:33:57 +02:00
JC Brand
b80a77a21c Include signedPreKeySignature in published bundle
updates #497
2018-07-21 21:53:31 +02:00
JC Brand
bf13927946 Merge branch 'master' into converse-omemo 2018-07-21 11:34:51 +02:00
JC Brand
87406f5f93 Allow messages to be edited by clicking a pencil icon
updates #421
2018-07-21 10:41:10 +02:00
JC Brand
6a790916d3 Only own messages should be editable.
Fixes #1139
2018-07-21 08:12:33 +02:00
JC Brand
acd9a18696 Update with new message markup 2018-07-21 07:34:03 +02:00
JC Brand
bb5dff9a74 Merge branch 'better-chat_status' of https://github.com/linkmauve/converse.js into linkmauve-better-chat_status 2018-07-16 01:05:45 +02:00
JC Brand
6717315d05 Add support for message corrections in MUC. 2018-07-16 00:49:00 +02:00
Emmanuel Gil Peyrot
d518596a2e Add missing closing quote in label_download. 2018-07-14 18:27:25 +02:00
JC Brand
b4d2007972 Allow any earlier message to be edited.
updates #421
2018-07-08 15:20:58 +02:00
JC Brand
84a10d77d9 Cancel message correction by pressing the down arrow
Also, add a class `correcting` to the message being corrected, to
provide a visual cue.

updates #421
2018-07-08 11:30:15 +02:00
JC Brand
2929647e16 Add support for correcting the last message sent
fixes #421
2018-07-08 00:39:28 +02:00
JC Brand
be58e2b9c8 Add test for groupchat message corrections 2018-07-07 14:20:49 +02:00
JC Brand
f3f58a8da4 Test multiple corrections of the same message 2018-07-06 01:51:27 +02:00
JC Brand
19b9aeadfd Show an indicator that the message has been edited 2018-07-06 01:18:03 +02:00
JC Brand
9f42f09d1e Get the first message correction test to pass 2018-07-06 01:04:34 +02:00
JC Brand
461cebfed5 Add test for receiving message corrections 2018-07-06 00:43:47 +02:00
JC Brand
7b86e24b9a Add missing CSS class to bookmark list item and fix test
updates #1069
2018-07-04 11:24:02 +02:00
JC Brand
58ee1460fe Updates #1069
Highlight the currently open groupchat in the sidebar (in singleton mode).
2018-07-02 23:29:57 +02:00
JC Brand
e64edf19b4 Use "Groupchat" instead of "Chatroom" 2018-07-02 16:27:58 +02:00
JC Brand
4331f920cf Fix failing tests 2018-07-02 15:23:49 +02:00
JC Brand
1880b3f209 Nicer rendering of MUC disconnection messages 2018-07-02 12:52:19 +02:00
JC Brand
4127d1126b fixup 2018-07-01 12:03:55 +02:00
JC Brand
6785eff4a7 Merge branch 'master' into converse-omemo 2018-07-01 11:44:04 +02:00
JC Brand
e5c030c15a Render max 2 newlines 2018-06-30 16:15:27 +02:00
JC Brand
4361d0d66a Fix failing tests due to time tag 2018-06-30 15:25:25 +02:00
JC Brand
b5a27b34a1 Render newlines 2018-06-30 15:07:30 +02:00
JC Brand
cc98cea009 Fix failing tests by waiting appropriately 2018-06-30 14:01:47 +02:00
JC Brand
7b19483271 Rename push_services to push_app_servers to avoid confusion 2018-06-11 14:17:34 +02:00
JC Brand
a09333f82c Allow multiple push services to be enabled and also allow disabling 2018-06-07 16:25:59 +02:00
JC Brand
5954cd8f29 Avoid duplicating entities 2018-06-07 15:27:11 +02:00
JC Brand
083f191ead Consider delayed, non-archived messages as "new"
New in the sense that we haven't seen them before
2018-06-07 13:06:32 +02:00
JC Brand
7ee71b0132 Add a plugin for XEP-0357
Currently only allows enabling an "App Service", based on pass-in
configuration values.
2018-06-06 14:00:52 +02:00
JC Brand
78d6d493d6 Add info icon in room header and show room details in modal 2018-06-04 19:54:11 +02:00
JC Brand
f7c3351e2b Merge branch 'master' into webpack 2018-06-04 13:46:27 +02:00
JC Brand
bc872ee2cb Fix various failing tests and update Makefile 2018-06-04 11:20:34 +02:00
JC Brand
596082eecc Get tests to run agains the webpack build 2018-06-03 16:40:20 +02:00
JC Brand
8c983ab2a3 Use different icon for adding a groupchat
Fixes #1072
2018-05-30 16:38:51 +02:00
JC Brand
bb95375f9c Support for roster versioning
fixes #1106
2018-05-28 13:59:11 +02:00
JC Brand
e8a26eb185 Store the roster version
updates #1106
2018-05-28 10:31:52 +02:00
JC Brand
dd5f6f1025 Show join/leave notifications for members who go offline
updates #1094
2018-05-24 09:48:01 +02:00
JC Brand
d484320c09 Test that bundles can be updated via PEP
Fix bugs in the process

udpates #497
2018-05-23 12:51:01 +02:00
JC Brand
ddd0ef8e20 Test that device lists can get updated via PEP
Fix various bugs in the process.

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
f906761dc0 Initial work on sending a different stanza for OMEMO messages
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
a99e7a317e Change lock icon when clicking the toggle
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
61dcebbbf6 When generating a device id, check whether it already exists
and if so, generate a new one.

To do so we have to change the order of events.

1. first we fetch our device list
2. then we generate our bundle info (if necessary)
3. then we update our device list (if necessary)
4. then we publish our bundle

updates #497
2018-05-23 12:51:01 +02:00
JC Brand
fd3bb570cd Add an omemo_active flag on the chatbox
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
9645641505 Add own device to the server-stored devicelist
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
281865d9b1 Based on feedback from @iNPUTmice, no need to check for PEP support
Since you can still start OMEMO sessions with contacts without it, they
just can't create sessions with you.
2018-05-23 12:51:01 +02:00
JC Brand
09eb1731b5 Add code to generate and publish our bundle and update the test
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
6042c233bc Add test that the OMEMO toolbar button renders
Fix and improve accordingly. updates #497
2018-05-23 12:51:01 +02:00
JC Brand
9500900f22 Make sure bookmarks are cleared before re-initializing
Otherwise subtle, hard-to-reproduce bugs happen while testing.

Also, don't unnecessarily call `delegateEvents`, it also causes
heisen-breakage.
2018-05-22 21:59:17 +02:00
JC Brand
36fd859a88 Store presence info in a separate collection
So that we can cache roster data for longer and presence data for
shorter.
2018-05-22 21:09:43 +02:00
JC Brand
c920725832 Add a clearSession event to avoid using overrides. 2018-05-18 15:44:42 +02:00
JC Brand
2508ef0e9e Make the default value for the 'trusted' checkbox configurable
Also remove the `message_storage` setting.
2018-05-18 15:44:42 +02:00
JC Brand
59535656b6 Add checkbox to indicate whether this is a trusted device 2018-05-18 15:44:42 +02:00
JC Brand
38499917a9 updates #194
Include entity capabilities hash in outgoing presences

Also, started some work on using jsdoc for rendering API documentation.
Ideally that would go into a separate commit but that would take ages to
untangle.
2018-05-11 13:35:27 +02:00
JC Brand
527555badf Add missing spec file 2018-05-10 23:24:43 +02:00
JC Brand
270c9b7c0e Bump timeouts in a desperate attempt to appease the CI gods 2018-05-09 15:42:57 +02:00
JC Brand
71c12c385a Fix failing test 2018-05-09 15:02:10 +02:00
JC Brand
859bc0616e Fixes #1094
- Show users who are registered on the different members lists
- Show badges indicating user's roles and affiliations
2018-05-09 12:28:34 +02:00
JC Brand
b6692b17a2 Show roles from VCard next to name in messages 2018-05-08 19:51:56 +02:00
JC Brand
8bd968a03b Also use the VCard cache for the user's own status 2018-05-08 19:24:50 +02:00
JC Brand
5136b0c1dd Fix two failing tests (and a bug) 2018-05-07 14:31:02 +02:00
JC Brand
b8679063c5 Use the VCards collection for roster contacts
Instead of saving the vcard data on the contact model itself
2018-05-05 20:51:14 +02:00
JC Brand
6ac1df43e1 Render chat state notifications on the message view
and not via the chatbox view (fixes some failing tests also).
2018-05-04 17:26:43 +02:00
JC Brand
99915a26f4 Use vcard from the collection for rendering messages 2018-05-03 20:05:45 +02:00
JC Brand
7eb6b13f10 Don't mark /me messages are followup messages. 2018-05-02 14:55:10 +02:00
JC Brand
f9aa75b69e Refactored message attributes and rendering.
- set `username` on the message object,
  instead of always using `fullname` with fallback to `jid`.
- Distinguish better between `groupchat` messages and normal
  messages in `getMessageAttributesFromStanza`
2018-05-01 12:30:58 +02:00
JC Brand
62cdd03562 Make sure to enter chatroom in test 2018-05-01 09:47:45 +02:00
JC Brand
097d992d13 Bugfix, /me message wrongly marked as followup message. 2018-04-30 16:23:52 +02:00
JC Brand
9f48b5cf51 Clean up the chatroom spec a bit 2018-04-30 15:37:37 +02:00
JC Brand
4bcf8e7bc3 Mark followup messags so that they can be styled differently 2018-04-30 15:37:37 +02:00
JC Brand
1873c43956 Move message-related tests into their own file 2018-04-30 15:37:37 +02:00
JC Brand
876a07b3de Fix the failing tests 2018-04-30 15:37:37 +02:00
JC Brand
1405d9cb49 Also style file upload and action messages. 2018-04-30 15:37:37 +02:00
JC Brand
5ffb09bd15 Updates #161: Treat sent files also as oob messages 2018-04-30 15:37:37 +02:00
JC Brand
56e4e8b8ee Fix rendering of headline messages.
Also, add urijs to more intelligently handle URIs
2018-04-30 15:37:36 +02:00
JC Brand
3d42425083 Some UI improvements
- Render images as thumbnails
- Use the image.html template when rendering images from pasted URLs
- Update message and spoiler markup to render avatars
- Use the default avatar as fallback when user doesn't have one
- Instead of 'me' render own name or JID
2018-04-30 15:37:36 +02:00
JC Brand
59a72efe1b Refactor MUC message sending
To make it more similar to how messages are sent in private chats and to
reuse methods as far as possible.

Removed `sendChatRoomMessage` and `clearChatRoomMessages`
2018-04-24 11:09:36 +02:00
JC Brand
8a862e27c5 Catch and log errors inside promises 2018-04-24 11:07:32 +02:00
JC Brand
a15c9e54d0 Also test for when XEP-0363 is not supported
Updates #161
2018-04-22 17:47:34 +02:00
JC Brand
d73394fa37 Add tests for XEP-0363 for MUC
Update #161
2018-04-22 17:30:49 +02:00
JC Brand
f785c2df0a Fix linting errors 2018-04-18 17:29:51 +02:00
JC Brand
a19e7aeffe Add support for XEP-0066 Out of band data 2018-04-18 16:58:52 +02:00
JC Brand
d048cff9a8 Provide metadata of file being uploaded.
updates #161
2018-04-18 11:49:53 +02:00
JC Brand
133df99aec Honor the filesize restrictions of the XMPP server
updates #161
2018-04-18 11:35:33 +02:00
JC Brand
076ace3fad Parse and save jabberdata formdata from a disco#info result 2018-04-17 16:42:20 +02:00
JC Brand
c01e9f8265 Move methods from chatbox view to message view
Specifically the methods related to requesting an upload slot and uploading a file.
Also show a progress indicator while a file is being uploaded.

Updates #161
2018-04-17 15:21:38 +02:00
JC Brand
de6ecbf07a Render messages via a new MessageView view
updates #161
2018-04-17 15:21:26 +02:00
JC Brand
6cab7fcc41 Fix failing tests due to refactoring
updates #161
2018-04-17 15:21:16 +02:00
JC Brand
584f293d05 Updated and refactored the work from @worlword
* Use Promises instead of callbacks
* Update to latest (Last Call) version of XEP-0363
* Move non-view specific methods to models instead
* Add more tests

updates #161
2018-04-17 15:21:09 +02:00
JC Brand
9c2a5bd3b8 Merge branch 'worlword-httpFileUpload' into http-file-upload 2018-04-14 07:50:29 +02:00
JC Brand
042c1947ed Add file-upload button 2018-04-14 07:40:07 +02:00
JC Brand
a9d2881888 Fix disco hierarchy
Previously we kept all entities and their items (which are also
instances of _converse.DiscoEntity) in a flat array.

Instead, we should have a tree-like structure where items are stored
on the relevant entity (and recursively on other items).
2018-04-14 07:36:24 +02:00
JC Brand
77a51cc2a6 Initial work on XEP-0363: HTTP File Upload 2018-04-14 07:36:24 +02:00
JC Brand
d278a02778 General cleanup 2018-04-14 07:34:50 +02:00
worlword
7660dbfb31 merge httpFileUpload-Branch with master 2018-04-12 07:43:39 +02:00
worlword
fa80749658 refactoring based on the review from jcbrand 06.Apr.2018 2018-04-11 15:29:41 +02:00
worlword
fa101d05c3 added tests from http-file-upload-Branch 2018-04-11 07:52:53 +02:00
JC Brand
9528d81c00 Move various MUC methods onto the Backbone.Model
To more cleanly separate views and models and to make MUC in headless
mode more viable.

Refs #1032
2018-04-10 18:59:02 +02:00
JC Brand
9a526d4194 Refactoring of the XEP-0085 Chat State Notifications code
* Distinguish between CSN messages and other types of messages
* Properly clear previous notifications
* Better handling of notifications from multiple users (in MUC)
* Rename methods to make clarify intent
2018-04-06 17:02:28 +02:00
worlword
76d6b94703 changed testcase for toolbar. now expects 3 buttons instead of 2 2018-04-04 16:41:20 +02:00
ChaosKid42
fce9ee0db9 replace geoURIs (e.g. from Convesations) by links to openstreetmap (#1054)
* replace geoURIs by link to openstreetmap

* Added testcase
2018-03-31 18:29:01 +02:00
JC Brand
6381128a5f Test was failing due to file rename 2018-03-30 15:41:09 +02:00
JC Brand
b39429b229 Bump timeouts to try and avoid unnecessary test failures on Travis 2018-03-30 15:25:31 +02:00
JC Brand
ebfd0a8f77 Move various funcitons related to MUC member lists to utils
and out of the MUC views plugin.

Refs #1032
2018-03-30 14:23:39 +02:00
JC Brand
06141b3212 Move methods from MUC view to model
* checkForReservedNick
* parseRoomFeatures
* sendConfiguration

Refs #1032
2018-03-30 14:23:39 +02:00
JC Brand
6a12a96e85 Fixes #1043 Parsing of bookmarks fail with missing nick element. 2018-03-30 14:23:39 +02:00
JC Brand
ce849aaffc Fix failing tests 2018-03-30 14:23:39 +02:00
JC Brand
4f2b040f22 Allow setting a nickname when adding a roster contact 2018-03-30 14:22:51 +02:00
JC Brand
95406a149d Re-add xhr_user_search_url and autocomplete when adding contacts 2018-03-30 14:22:51 +02:00
JC Brand
1e927294e0 Fix failing test 2018-03-30 14:22:50 +02:00
JC Brand
b6d0f87129 Remove invalid test 2018-03-30 14:22:50 +02:00
JC Brand
2977643bf7 Fix failing tests 2018-03-18 03:35:34 +00:00
JC Brand
11f02f78fe Fix more failing tests 2018-03-17 18:54:19 +00:00
JC Brand
cb0b99ac37 Bugfix. Show message author in spoiler messages 2018-03-17 14:39:30 +00:00
JC Brand
850c6aa2bd Fix more failing tests 2018-03-16 23:37:52 +00:00
JC Brand
56e28070b2 Fix failing test 2018-03-16 19:48:31 +00:00
JC Brand
7b8a244163 Fix failing bookmarks tests 2018-03-16 11:49:39 +00:00
JC Brand
2f46bb8ce7 Fix failing tests 2018-03-14 23:10:31 +00:00
JC Brand
1565decfc0 Add identifiable class name 2018-03-14 18:25:33 +00:00
JC Brand
2ff18c2cfb Fix emoji test (now that bootstrap dropdown is used) 2018-03-14 17:32:01 +00:00
JC Brand
044907e4fa Looks like focus parameter was never used. 2018-03-14 13:27:36 +00:00
JC Brand
03d7f07a4c Bugfix. Chat wasn't being opened when receiving a message. 2018-03-13 19:11:49 +01:00
JC Brand
ca141401a0 Fix failing tests 2018-03-13 13:42:00 +01:00
JC Brand
c4c154cfa1 Fixes #1022 Include stored status message in presences. 2018-03-02 19:35:06 +01:00
JC Brand
34ac7e99ab Fixes #1024
Use sizzle, otherwise we sometimes get null returned.
2018-03-02 12:36:08 +01:00
JC Brand
e630339a69 Update spec to test sent out stanza as well 2018-03-02 11:59:25 +01:00
JC Brand
03b9447f1d Asynchronously render spoiler button only if all clients support it 2018-02-08 17:48:15 +01:00
JC Brand
ba09996998 Don't allow PEP bookmarks if #publish-options is not advertised 2018-02-08 09:49:05 +01:00
JC Brand
fbef370b65 Listen for new room bookmarks pushed from the user's PEP service 2018-02-07 21:59:45 +01:00
JC Brand
5f3761dc7f Only initialize bookmarks and show icon if PEP is supported
which we check by checking if the PEP identity is provided.
https://xmpp.org/extensions/xep-0163.html#support
2018-02-07 21:05:38 +01:00
JC Brand
4732f315ed Use "hidden message" instead of spoiler 2018-02-07 14:39:45 +01:00
JC Brand
4742e66b69 Fix linting errors and failing tests 2018-02-07 14:21:46 +01:00
JC Brand
9c3e9233e4 Test that the spoiler button is hidden when OTR is active 2018-02-07 13:16:34 +01:00
JC Brand
20706cb617 Expand the spoiler tests 2018-02-06 21:21:21 +01:00
JC Brand
d6da643a7f Add an (incomplete) test for a received spoiler message 2018-02-06 18:05:12 +01:00
JC Brand
ed33d4e53d Add spec for spoilers, clean up linting errors 2018-02-06 18:05:12 +01:00
JC Brand
bf97ffd381 Check JIDs of archived MAM messages 2018-01-21 22:02:12 +01:00
JC Brand
cac04d076a Remove jquery as a dependency in MAM spec 2018-01-21 19:50:19 +01:00
JC Brand
210a75b02f Scroll down again after all images have been loaded. 2018-01-17 19:29:11 +01:00
JC Brand
59c11526f2 Use latest releases and update test for travis 2018-01-15 21:24:08 +01:00
JC Brand
9b3c6d1a3a Fixes #985 Give help messages a "message" class and isodate data attr. 2018-01-15 20:32:24 +01:00
JC Brand
8c616f0edd Test breaks when run in a different timezone 2018-01-15 19:03:08 +01:00
JC Brand
e9bba77b36 Add test for /help command in private chats 2018-01-15 18:41:04 +01:00
JC Brand
4f227b467b Take all messages except chat events into consideration
when determining where to insert new messages
2018-01-10 12:45:12 +00:00
JC Brand
e5b256e45e Fix broken tests 2018-01-10 12:27:46 +00:00
JC Brand
31e884f79a Add code to check for duplicates 2018-01-09 22:06:53 +00:00
JC Brand
d7a113e081 Fix transcripts code. 2018-01-09 13:52:27 +00:00
JC Brand
da1f103532 Bugfix. Don't include .chat-events, to avoid null reference 2018-01-09 13:40:32 +00:00
JC Brand
96742a6684 Also make the open rooms list an OrderedListView 2018-01-06 20:42:46 +00:00
JC Brand
5ea1b07b6b Use an OrderedListView to render the bookmarks list 2018-01-04 21:51:42 +00:00
JC Brand
f7cf1fb70d Fix broken tests 2018-01-04 16:12:09 +00:00
JC Brand
ee751ec58e Update jquery and sizzle and fix/improve some tests
Fixes #825
2018-01-04 13:11:50 +00:00
JC Brand
4652385bb4 Remove jQuery from non-tests config 2018-01-04 12:11:03 +00:00
JC Brand
7cf9c9ef8f Fix linting error 2018-01-04 11:31:04 +00:00
JC Brand
671691353a Use Backbone.NativeView instead of Backbone.View 2018-01-03 20:41:03 +00:00
JC Brand
3a6f7ed109 Remove jquery from converse-minimize 2018-01-03 14:20:10 +00:00
JC Brand
da3670d9f0 MUC Join/Leave messages now also show a new day indicator 2018-01-03 13:37:25 +00:00
JC Brand
46e54667c3 Simplify insertDayIndicator method 2018-01-03 13:37:25 +00:00
JC Brand
e360d9eead Removed jquery from converse-chatview 2018-01-02 21:52:55 +00:00
JC Brand
ee15e9e331 Fix and test message ordering 2018-01-02 20:25:30 +00:00
JC Brand
334a24c938 Use template to render .chat-info messages
Also did some work on removing jQuery from converse-chatview
2017-12-24 17:09:49 +00:00
JC Brand
a6d4419c04 Remove jQuery from converse-bookmarks 2017-12-23 20:56:20 +00:00
JC Brand
f84c443bd2 Remove jQuery from converse-muc.js 2017-12-23 20:29:20 +00:00
JC Brand
7c782ed6a4 Fix failing test 2017-12-22 21:24:45 +00:00
JC Brand
cacba4e6b0 Add test for contacts changing their groups
and fix the resulting fallout
2017-12-22 16:58:48 +00:00
JC Brand
f36b069e5d Add missing spec/roster.js 2017-12-22 15:55:03 +00:00
JC Brand
c6d2108024 Let RosterView also be an OrderedListView 2017-12-22 15:53:03 +00:00
JC Brand
b5e7bd5605 Move roster tests into their own module 2017-12-22 14:39:29 +00:00
JC Brand
1178badec8 Role was wrongly set to 'occupant' instead of 'participant' 2017-12-22 12:02:24 +00:00
JC Brand
ac643ae63f Refactor views to use Backbone.OrderedListView 2017-12-22 12:02:18 +00:00
JC Brand
ce1954a9f7 Improved roster performance.
Don't sort the roster group for each `chat_status` change. Instead batch
every 500ms.
2017-12-20 16:59:17 +00:00
JC Brand
19979c4840 Listen to animationend event instead of using setTimeout 2017-12-20 11:02:46 +00:00
JC Brand
32621b8327 Clear chat_state timer when closing chat 2017-12-19 19:17:38 +00:00
JC Brand
6c6ef1f1f9 Refactoring of the roster view.
* Removed the dependency on jQuery
* Contacts are now shown inside a group element, simplifying the code
2017-12-19 18:44:31 +00:00
JC Brand
f9343594bf Collapse multiple, consecutive join/leave messages 2017-12-15 16:24:30 +00:00
JC Brand
c874efeb79 Sort chatroom occupants alphabetically and according to role 2017-12-14 18:07:40 +00:00
JC Brand
a68cb85969 Add a test case for the /op and /deop commands 2017-12-14 13:23:14 +00:00
JC Brand
dc16930464 Test the /voice command and fix a bug 2017-12-14 13:07:39 +00:00
JC Brand
bd5a49da3f Show an info message when a MUC occupant is muted. 2017-12-07 07:05:37 +01:00
JC Brand
e34d62287b Test that headlines box doesn't show an avatar 2017-12-07 06:35:28 +01:00
JC Brand
2b6db9d50b Test /help, /kick and /mute commands 2017-12-06 22:11:53 +01:00
JC Brand
85bea60066 Some of refactoring to avoid code duplication and jQuery 2017-12-06 16:26:53 +01:00
JC Brand
1adc4938a8 Fetch VCard when starting a chat with someone not in the user's roster 2017-12-03 20:50:13 +01:00
JC Brand
fc94127014 Fix failing tests 2017-12-03 18:49:53 +01:00
JC Brand
8662f751e3 Refactor converse-vcard and add API method to fetch a VCard 2017-12-02 18:01:56 +01:00
JC Brand
d5e2aa5992 Fix failing test 2017-11-17 11:13:27 +01:00
JC Brand
8a4aa4efdd Use a named variable for _.template
This removes the need for `switch (obj)` in the template which is not
allowed in strict mode.

Additionally using a named variable speeds up rendering.
2017-11-05 18:59:29 +01:00
JC Brand
754ad7a027 Initial work on combining the converse and inverse modes
- Adds new config setting: `view_mode`
- `converse-singleton` is now a core plugin and its behavior depends on `view_mode`.
2017-11-02 14:21:29 +01:00
JC Brand
79080b3569 Routing fixes
* Check if `Backbone.history.start()` has been called before.
* Only call it after routes have been registered.
* Use route for switching between login and register forms
2017-09-28 23:29:37 +02:00
JC Brand
74b91faf9a Use browser-based "constraint validation"
to validate required fields, instead of doing it manually.

All supported browsers have this feature.
2017-09-25 13:55:17 +02:00
JC Brand
f0debc61ab Refactor i18n so that only relevant translations are fetched
instead of bundling all translations in the dist file.
2017-09-25 12:49:10 +02:00
JC Brand
7cfe81ea1f Fix failing tests.
Somehow the tests are flaky when the router sets a URL fragment for login or
registration, so I've now added an event handler which does the work without
setting the URL fragment.

The router is still there so that one can manually link to a URL that has the
registration form open. (Issue #828)
2017-09-24 00:30:43 +02:00
JC Brand
c9913bf6ac Fix failing tests 2017-08-29 12:29:56 +02:00
JC Brand
3b8c2d1b00 Various bug and timing fixes due to the previous refactoring 2017-08-16 14:16:24 +02:00
JC Brand
694eabfc0e Use promises to determine when to create the controlbox 2017-08-16 13:22:18 +02:00
JC Brand
ad695c253d Trying to fix timing bug in tests (for Travis) 2017-08-16 10:10:38 +02:00
JC Brand
add3b8efb3 utils now no longer depends on jquery. 2017-08-16 09:05:15 +02:00
JC Brand
6c3aa34c23 Some work on removing jquery from converse-bookmarks 2017-08-15 21:47:06 +02:00
JC Brand
eed936ff64 Trying to fix timing/heisenbugs on Travis 2017-08-09 14:21:24 +02:00
JC Brand
02a055d31d Bugfix. Query user's JID for mam:2 support, not the domain 2017-08-08 22:09:17 +02:00
JC Brand
bfc1e99694 Fix disco test 2017-07-21 20:01:09 +02:00
JC Brand
439e37feaa disco: Refactor service discovery and add tests.
* `disco#items` are now only fetched when advertised by the entity.
* `identity` information is now also stored on the `DiscoEntity` model.
2017-07-21 17:38:08 +02:00
JC Brand
7850c38faa disco: Create new plugin converse-disco.
We can now support feature discovery for multiple entities (although we
currently still only query for the user's own XMPP server).
2017-07-21 15:09:50 +02:00
JC Brand
713e49b095 Fix failing tests 2017-07-19 09:14:02 +02:00
JC Brand
22113a8ccb Expand test for rendering of images (and fix accordingly) 2017-07-16 12:29:08 +02:00
JC Brand
972c31be1d emoji: Allow the option of using emojione (now that we sanitize) 2017-07-16 12:29:02 +02:00
JC Brand
cf1e8f2921 Fix failing test for emoji picker 2017-07-15 15:16:38 +02:00
JC Brand
4ea50de927 Use emoji instead of emoticon 2017-07-15 15:14:47 +02:00
JC Brand
3fabe88970 Updated package-lock. Fix tests. 2017-07-15 07:58:57 +02:00
JC Brand
67578c9747 Merge branch 'master' into emoji 2017-07-15 07:16:37 +02:00
JC Brand
dc7249f07d roomslist: Room name wasn't being shown in confirm dialog 2017-07-13 23:54:06 +02:00
JC Brand
397927b189 Fix broken tests and update changelog 2017-07-12 09:58:14 +02:00
JC Brand
6af029048d Replace $.Deferred with ES2015 promises 2017-07-11 17:21:13 +02:00
JC Brand
16d62bf9e4 Fix broken tests due to using ES2015 promises 2017-07-11 17:05:02 +02:00
JC Brand
6ef0536e31 Some work on using es6 promises 2017-07-10 21:14:48 +02:00
JC Brand
40e7ee1ae6 Initial stab at using ES2015
Mostly replaced ``var`` with ``let`` and ``const``.
Also added a few arrow functions.
2017-07-10 12:49:20 +02:00
JC Brand
a36e8a63ce Fix test when not running on localhost 2017-07-05 09:55:40 +00:00
JC Brand
5ab1693136 logging: Add deprecation warning for updateSettings
and also use the Strophe.LogLevel levels for logging in general.
2017-07-05 11:33:55 +02:00
JC Brand
f81a94baf1 Move updateSettings to the private API.
Also add an API method for exposing new promises.

Update the plugin and API documentation, specifically concerning the above
changes.
2017-07-05 11:03:13 +02:00
JC Brand
70f56b31f4 Merge branch 'master' into emoji 2017-06-24 11:04:19 +02:00
JC Brand
095e7add86 mam: Upgrade MAM support to version 2 2017-06-23 22:58:47 +02:00
JC Brand
47cf5c1910 Fixup 2017-06-23 20:18:57 +02:00
JC Brand
02e5921415 Fix problem of stuck/hanging tests on TravisCI 2017-06-19 15:05:22 +02:00
JC Brand
ca53a8d8ef Add support for Emojis 2017-06-17 01:01:52 +02:00
JC Brand
fb69106352 Fixes #887 Enclose embedded images in URLs 2017-06-16 15:11:19 +02:00
JC Brand
6c262f7213 Various small changes to reduce (non-critical) errors during testing 2017-06-14 20:14:45 +02:00
JC Brand
8191d5e83a muc: Rename `createChatRoom to openChatRoom`
It doesn't always create a new room.
2017-06-13 18:22:19 +02:00
JC Brand
a128a70d41 Discriminate between which unread messages to indicate per tab 2017-06-07 00:55:57 +02:00
JC Brand
f897fbb7c0 Show number of unread mesages on the "Contacts" tab 2017-06-05 21:42:25 +02:00
JC Brand
5949ca9e36 Show number of unread messages on the "Rooms" tab 2017-06-05 14:52:24 +02:00
JC Brand
ebc8d243fa roomslist: also test that indicators are removed upon maximization 2017-05-24 09:07:07 +02:00
JC Brand
c83026e5a8 muc: Differentiate between generally unread messages and unread mentions 2017-05-24 08:40:09 +02:00
JC Brand
3e5beaaf64 Add test to check that the open rooms list shows unread messages 2017-05-23 20:42:12 +02:00
JC Brand
a4284e48f7 Use proper message handler. Fix typo 2017-05-23 18:49:04 +02:00
JC Brand
bae06922fc fixup 2017-05-23 18:40:55 +02:00
JC Brand
184f08157c Test the hide_open_bookmarks setting. 2017-05-23 14:59:37 +02:00
JC Brand
67257b0ae4 Test that room can be closed from rooms' list 2017-05-23 14:39:35 +02:00
JC Brand
6b2ca629cc roomslist: expand tests 2017-05-22 13:40:07 +02:00
JC Brand
095606a824 roomslist: Add initial test spec for converse-roomslist. 2017-05-16 12:00:43 +02:00
JC Brand
e49fbc457d bookmarks: Don't duplicate bookmarks in list. 2017-05-15 18:04:28 +02:00
JC Brand
0c61a5d791 core: Refactor common code into restoreBOSHSession 2017-05-11 10:42:10 +02:00
JC Brand
d50992b130 bookmarks: Fix remaining broken tests. 2017-05-09 09:45:12 +02:00
JC Brand
07dbf14a7d bookmarks: enable registration of spy on the mock connection during init
We need this because when the plugin listens to a promise, we can't trigger it
again later (after adding our spy), we instead need to add the spy beforehand.
2017-05-08 21:28:56 +02:00
JC Brand
b32a8c5391 Update and simplify HTML/CSS for choosing status
Should also fix some of the issues mentioned in #847
2017-05-08 21:25:22 +02:00
Novokreshchenov Konstantin
7c057910a8 Inconsistent unread messages count updating #873 (#874)
* Consistent unread messages count updating on ChatBoxView, Minimized ChatBoxView, RosterView and page's title

* Add tests for checking unread messages count updates in different GUI parts

* Update docs/CHANGES.md

* document windowStateChanged event in events.rst
2017-05-03 09:06:28 +02:00
Novokreshchenov Konstantin
4b46ec3f8c #591 Unread message counter is reset when the chatbox is closed (#867)
* chatview: disable handling onMessageAdded when fetching messages during initialization

* update CHANGES.md
2017-05-01 13:05:58 +02:00
JC Brand
c81599931c Fix failing tests based on recent unread message changes 2017-04-24 15:57:22 +02:00
Novokreshchenov Konstantin
bf1e612768 support opening chat in minimized mode initially (#855) 2017-04-23 15:38:48 +02:00
JC Brand
6af4480c14 Render disconnect message via template and add padding. 2017-04-21 18:26:59 +02:00
JC Brand
f3373c44fd Fixes #850. .where method doesn't match numbers. 2017-04-21 18:06:28 +02:00
JC Brand
ee8f37b4fc Bump waiting time to avoid test failures 2017-04-19 14:41:42 +02:00
JC Brand
d2eadbdce4 Use classList API 2017-04-06 23:21:52 +02:00
JC Brand
0c43e4b87c Upgrade to Jasmine 2.5.3 2017-04-06 11:31:05 +02:00
JC Brand
ecdb3a12be Merge image loading tests. Updates #814 2017-04-04 14:06:24 +00:00
Novokreshchenov Konstantin
0b50c0c8c8 Fix #814: Images from URLs with query strings aren't being rendered. (#832)
* unescape html characters in URL before checking whether it targets to image

* update docs/CHANGES.md

* test image's URL with query string which contains html-escaped characters

* utils.js: following code conventions

* split test url with query string to separate test
2017-04-04 16:05:50 +02:00
JC Brand
9fc61d9302 Bugfix. Endless spinner when trying to log in
after rendering the registration form.
2017-03-31 01:54:42 +00:00
JC Brand
6e94e11dcc Fixes #820. Inconsistency in displaying room features 2017-03-19 18:23:02 +00:00
Soumit Bose
c976f3f079 Fixed typing status for typing from different devices (#802) 2017-03-16 16:28:59 +01:00
JC Brand
a2cea678fe Shut eslint up and fix test 2017-03-15 12:41:04 +00:00
Soumit Bose
2c5ecd7120 Make messages' time format configurable (#797)
Fixes #675 

* Made time format configurable

* Made changes to values of time_format

* Removed user restrictions on time format

* Added documentation for time-format config

* Edited changes.md

* Edited config doc

* Modified time-format explanation

* Added link to moment

* Added test to check rendered time

* Edited CHANGES and removeunncessary lines from time format checking spec

* Removed unncessary spaces
2017-03-12 11:32:38 +01:00
Anshul Singhal
40da1d688e Fixes #628. Bug in displaying chat status during private chat with carbons. (PR #801)
* Fixes the bug in displaying chat status during private chat(message carbons)

* Adds fix#628 to ChangeLog

* Changes Log added to version 3.0.1

* Makes the string alphanumeric

* Orders the logs with ticket number
2017-03-09 12:38:54 +01:00