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 jabber ❌ data 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
Anshul Singhal
3dd6ff1751
Fixes the duplication bug in adding contact and adds test for the same
2017-03-08 15:33:43 +01:00
JC Brand
f24e7c0905
Remove scrollDownMessageHeight. Fix failing test
2017-03-03 15:12:48 +01:00
JC Brand
c7de70052c
Fix failing test
2017-02-28 07:17:30 +00:00
JC Brand
f2f05ff484
MUC: Don't show duplicate join
messages.
2017-02-28 05:02:36 +00:00
JC Brand
f8d9368163
MUC: only render and listen to 'scroll' event...
...
after the cached messages have been fetched.
2017-02-27 21:09:17 +00:00
JC Brand
946a240080
Make sure to show the invite widget
...
when the room features change.
2017-02-27 17:56:40 +00:00
JC Brand
cfb0cd0970
New defaults
2017-02-27 10:41:46 +00:00
JC Brand
f60b4fc268
auto_away
shouldn't change the user's status if it's set to dnd
...
Fixes #620
2017-02-25 09:52:31 +00:00
JC Brand
0d48929bb3
Show join/leave messages in chat rooms. Updates #365
2017-02-24 17:54:45 +00:00
JC Brand
e140eb84c8
updated to use initConverse
2017-02-24 17:13:38 +00:00
JC Brand
b15c107e4e
Don't show notifications for full JID headline messages if...
...
allow_non_roster_messaging is false.
2017-02-24 17:13:38 +00:00
JC Brand
5c445a0268
Don't show headlines from full JID if allow_non_roster_messaging is false
2017-02-24 17:13:38 +00:00
JC Brand
fe2a925c88
Fix failing test.
2017-02-23 10:25:29 +00:00
JC Brand
8a63813f5e
Add the ability to set the presence priority.
...
Fixes #745
2017-02-22 22:13:23 +01:00
JC Brand
17e0e70e4e
Support for XEP-0203 delayed delivery of presence stanzas
2017-02-21 23:30:11 +01:00
JC Brand
4aa123d557
Add timestamps to resources
...
So that when a higher priority resource goes offline, we can fall back to the
right chat status if at the next priority level there are multiple resources.
789654d54e (comments)
2017-02-21 22:15:08 +01:00
JC Brand
29add969a6
Shut eslint up
2017-02-21 09:00:56 +00:00
JC Brand
7ae2e46925
Expand tests and found a bug in the process.
...
updates #785
2017-02-20 22:37:06 +01:00
JC Brand
789654d54e
Updates #785 and #787
...
Improve upon the previous implementation.
If the resource with the highest priority goes offline or becomes unavailable,
then the chat status of the contact must fall back to that of the resource with
the next highest priority.
In your example from #785 , if the resource with priority 1 goes offline or
becomes unavailable, then in your implementation the chat status would stay at
online, although it must actually go to xa.
The solution is to update the resources attribute on the contact to not just be
an array or strings, but instead to be a map of resources to priorities and
statuses and to use that data structure.
2017-02-20 22:29:13 +01:00
JC Brand
3aa5a83d02
Add a test case based on #785
2017-02-20 20:47:08 +01:00
JC Brand
441f7a2a15
Show the chatroom occupants JID in the tooltip
...
if you're allowed to see it.
2017-02-19 01:08:08 +00:00
JC Brand
10a85336cc
Show the description in the heading, not the subject
2017-02-19 00:20:21 +00:00
JC Brand
51fc401a24
Fix failing tests due to new defaults.
2017-02-17 09:45:34 +00:00
JC Brand
65fa39dd81
Properly fix and test the /me command
2017-02-15 21:03:02 +00:00
JC Brand
a033899946
Fix leaky abstraction of MUC
2017-02-15 20:30:32 +00:00
JC Brand
ba9d3c36d5
Refactored converse-otr.js
...
- Removed password encryption of the key.
It never properly worked and bloated the build through extra dependencies.
- Store the key and instance tag on the ChatBox model.
2017-02-15 11:15:03 +00:00
JC Brand
e52a775430
Bugfix. See below.
...
"TypeError: this.sendConfiguration(...).then is not a function" when a room is created
2017-02-14 16:55:32 +00:00
JC Brand
bc8e3e1a01
Return a Backbone.View object instead of a wrapper
...
When returning chat boxes via the API.
We can do this now because these API methods are only available to
(whitelisted) plugins.
2017-02-14 15:10:46 +00:00
JC Brand
fe6a9ca748
Merge converse-api and converse-core
...
Otherwise `require('converse-core')` can be called, exposing the inner converse
object.
2017-02-14 14:35:52 +00:00
JC Brand
d3bdcd865e
Fix failing test
2017-02-14 13:39:22 +00:00
JC Brand
33fad75154
Workaround to get tests on phantomjs to pass
2017-02-14 12:52:03 +00:00
JC Brand
d2227c8d44
Replace typeahead with awesomplete.
...
Much smaller library.
No dependence on jQuery.
Updates #779
2017-02-14 12:26:56 +01:00
JC Brand
85f6a75fed
Escape user-generated input to avoid injection attacks
2017-02-13 13:41:37 +00:00
JC Brand
6d2a38a7c1
Fixes #486 Update docs and fix failing test.
2017-02-12 19:01:07 +00:00
JC Brand
63888dd454
Fix failing tests
2017-02-02 21:55:05 +00:00
JC Brand
0424df9edc
Rename the closured converse object to _converse
...
to indicate that it's private and to differentiate it from the outer "global"
converse object.
2017-02-02 20:43:48 +00:00
JC Brand
a30cf931b8
Split API into public and private (plugin only) parts.
2017-02-02 20:09:52 +00:00
JC Brand
1476ffeb77
Fix tests failing on phantomjs
2017-02-02 19:28:50 +00:00
JC Brand
83feebb229
Two plugins changes
...
- Remove the `plugins.remove` API method.
- Throw an error when attempting to register multiple plugins with the same name.
2017-02-02 18:54:15 +00:00
JC Brand
b7b9711296
Rename the closured converse object to _converse
...
to indicate that it's private and to differentiate it from the outer "global"
converse object.
2017-02-02 18:34:13 +00:00
JC Brand
4dcb855562
Split API into public and private (plugin only) parts.
2017-02-02 18:30:59 +00:00
JC Brand
3494691286
Fix failing tests
...
after allowing chatting with pending/requesting contacts
2017-02-02 16:37:41 +01:00
JC Brand
bcbeb8da6c
Case-insensitive matching of moderation commands.
...
Also add `/subject` as alias to `/topic`
2017-02-02 14:56:56 +01:00
JC Brand
081f075aa9
Add eslint with lodash checking and apply its suggestions
2017-02-01 14:02:18 +01:00
Richard Icke
343e5777d1
first attempt to replace underscore with lodash
2017-02-01 14:00:38 +01:00
JC Brand
25d9880f9e
Add config setting allow_non_roster_messaging
...
- Add a test case.
- Don't allow passing of `attrs` to `chats.open`. Not sure yet of the
implications of this.
2017-02-01 10:49:13 +00:00
JC Brand
e81eaf323e
Prevent forging of messages via carbons.
2017-02-01 10:49:13 +00:00
JC Brand
0cf9903726
Fix failing tests.
2017-02-01 10:49:13 +00:00
JC Brand
035f5d683a
Add unit tests for how the affiliations delta is computed.
2016-12-08 12:44:18 +00:00
JC Brand
b2240cfe94
Use $.when to keep track of all outgoing promises
...
Now that we are sending multiple IQ stanzas when setting affiliations.
We now again have a sendAffiliation method, so we use that.
2016-12-08 07:34:01 +00:00
JC Brand
54371f0e7d
Remove setAffiliation
and use the more general purpose setAffiliations
2016-12-07 11:45:51 +00:00
JC Brand
77d3e64f42
Specify the reason (if given) when setting someone's affiliation
...
This changed required me to go back to an array of maps instead of a single map
to store jids and affiliations.
2016-12-07 11:45:51 +00:00
JC Brand
c6767bcdaa
Refactor to send out 3 affiliation request stanzas.
...
One for each affiliation (member, owner, admin).
Unfortunately Prosody doesn't give you correct results if you query for all
three affiliations in one stanza.
We'll have to see whether setting all three in one stanza actually works.
2016-12-06 18:34:54 +00:00
JC Brand
6c725409c2
converse-muc: Only send the delta when setting the member list.
...
As required by XEP-0045.
This requires that we first fetch the existing member list, compute the delta
and then send that if there is one.
2016-12-06 15:18:33 +00:00
JC Brand
c877f63bf0
polyfill startsWith, to make the tests pass.
2016-12-05 18:55:11 +00:00
JC Brand
376c50fbc8
When inviting to a members-only room, first add to user to the member-list
2016-12-05 15:06:20 +00:00
JC Brand
7ad39cfdb9
Fetch the room information before opening the room.
2016-12-05 06:07:01 +00:00
JC Brand
67cdf5daf2
converse-muc: Expand the room configuration test
2016-12-04 18:06:11 +00:00
JC Brand
d109ed9416
converse-muc: Fix failing test.
...
No need to manually call `renderChatArea`.
2016-12-04 14:40:50 +01:00
JC Brand
fbf2e56be4
converse-muc: Cache the room configuration on the Backbone.Model object
2016-12-04 14:40:20 +01:00
JC Brand
5e1b094881
Expand upon rooms.open
testcase to test configuration
2016-12-02 21:35:56 +01:00
JC Brand
910e9bddcd
Refactoring in MUC
...
What started as an attempt to fix a bug in parseXUserElement, turned into
another large refactoring of MUC code, and it's not clear how to break this up
into multiple atomic commits. So I'm just pushing it all.
At least there are two new tests added to the suite.
2016-12-02 18:41:05 +01:00
JC Brand
de07b6a529
No need for two AMD-load cycles.
2016-11-30 12:18:58 +00:00
JC Brand
a5f76abcf1
Updates #729 . Minimized chat boxes don't stay hidden
...
Bug got introduced during fix for #677
Eventually had to do a significant refactoring, to more consistently use the
`hidden` class instead of `display: None`. (relevant for #695 )
2016-11-22 17:42:58 +01:00
JC Brand
c3b2a913bb
Don't open the controlbox on requesting contacts.
...
Can get annoying very quickly
2016-11-22 17:41:57 +01:00
JC Brand
c670893058
Bugfix. Arrays in configuration settings were ignored.
2016-11-22 08:55:52 +00:00
JC Brand
5a72466c45
Rename variables to adhere to coding style.
2016-11-22 08:54:17 +00:00
JC Brand
5e9e685219
Mention the actor (if available) when removed from room
2016-11-21 13:10:36 +00:00
JC Brand
e02c044ae4
Refactored notification code
...
responsible for showing messages based on the extended presence information.
- Use DOM API instead of jQuery
- Make info messages overridable (allows also for disabling them)
- Break up large function with inline callbacks into smaller ones
2016-11-21 12:57:22 +00:00
JC Brand
9bf00241de
Updates #721 Restore sessions when logging in anonymously
...
together with keepalive.
2016-11-07 18:48:49 +01:00