Commit Graph

1814 Commits

Author SHA1 Message Date
JC Brand
e5cfdca30d Move roster models into their own module 2018-05-05 20:16:23 +02:00
JC Brand
09c55ebc28 Remove the use_vcards settings
VCards will now always be used.
2018-05-04 22:50:41 +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
adf34c845c Render chatbox avatar via the vcards collection 2018-05-03 19:01:57 +02:00
JC Brand
71ed5bbdd1 Don't set vcard on the chatbox model 2018-05-03 18:44:02 +02:00
JC Brand
16b2a1b2a9 Avatar/VCard refactoring
- Refer to VCards instead of Avatars where appropriate
- Fetch VCards for non-groupchat messages as well
2018-05-03 18:34:28 +02:00
JC Brand
d5c8acea04 Create avatar objects for all messages, not just groupchat 2018-05-03 18:24:24 +02:00
JC Brand
e77f627432 Remove unused code, fix build path and update package-lock.json 2018-05-03 18:22:54 +02:00
JC Brand
df948a8dd6 Also allow a single-user chat to be embedded into the page 2018-05-03 17:01:17 +02:00
JC Brand
4c15ac2e8c Add new config setting: auto_join_private_chats 2018-05-03 16:36:02 +02:00
JC Brand
3fe2ff234e Fixes #1088
Entity items weren't being fetched from cache.

Apparently this bug only surfaced because with Ejabberd the upload
service is nested one level deeper than with Prosody.
2018-05-03 15:48:32 +02:00
JC Brand
01a88c24a8 Refetch avatar when occupant's photo hash has changed 2018-05-03 14:50:27 +02:00
JC Brand
7660a27682 Store image hash from presence on the occupant 2018-05-03 13:50:30 +02:00
JC Brand
8c3f379d82 Calculate and save avatar hash upon receipt 2018-05-03 13:44:52 +02:00
JC Brand
d49adc9309 Doesn't look like its necessary to call initConnection again 2018-05-03 11:13:08 +02:00
JC Brand
c25de7bd4c Bugfix. initAvatars wasn't being called. 2018-05-03 11:13:00 +02:00
JC Brand
c18eaa3351 pluginsInitialized is too early
we don't yet have a connection then, so listen to
`connectionInitialized` instead.
2018-05-02 16:19:12 +02:00
JC Brand
a52e24adc8 Fixes #1087 2018-05-02 15:40:47 +02:00
JC Brand
cb0d8c7d86 Found more MUC code that should be in the view module 2018-05-02 15:29:06 +02:00
JC Brand
ca0f5fcfef Fix bookmark item markup
so that `hidden` class gets applied to the right element
2018-05-02 15:16:56 +02:00
JC Brand
7eb6b13f10 Don't mark /me messages are followup messages. 2018-05-02 14:55:10 +02:00
JC Brand
911ede2886 Small bugfixes.
- Filter did the opposite of what it was supposed to do
- Wrong bind context
- Should actually be mam:2, issue was server misconfiguration
2018-05-02 14:30:14 +02:00
JC Brand
dd505ad9da More fixes now that we don't store the JID under 'fullname'
if the fullname is not available.
2018-05-01 20:07:56 +02:00
JC Brand
cbc48629f1 Clear canvas before redrawing 2018-05-01 19:55:26 +02:00
JC Brand
afc924fd72 Bugfix. Since refactoring we do want onMessage to handle MAM messages 2018-05-01 19:46:18 +02:00
JC Brand
0e61eda620 Fix typo, fixes MAM again :) 2018-05-01 18:47:43 +02:00
JC Brand
31982aab0b Store MUC avatars globally, not per chatroom
This allows us to cache them for longer.
2018-05-01 18:30:05 +02:00
JC Brand
53f5627b72 Add support for rendering avatars in groupchats 2018-05-01 18:18:02 +02:00
JC Brand
c14ef3bb75 Bugfix. Can't expect fullname to be set anymore. 2018-05-01 15:21:20 +02:00
JC Brand
b5a516e044 Add new api method vcard.update 2018-05-01 14:59:02 +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
54cafb1243 Update vcard.get API method to accept either a JID string or a model 2018-05-01 11:45:12 +02:00
JC Brand
097d992d13 Bugfix, /me message wrongly marked as followup message. 2018-04-30 16:23:52 +02:00
JC Brand
eaf65f4d24 Add missing items-list class (as per mockup) 2018-04-30 15:37:37 +02:00
JC Brand
4f7c08b1da Bail when in a callback for a hanging chatroom 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
60c784a39e Ensure that default image is used for avatars.
By overriding the `set` method.
2018-04-30 15:37:37 +02:00
JC Brand
8fd65487c7 Use safeSave to avoid intermittent test failures
due to asynchronous events.
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
209bac4b5e Use uri.js to identify URLs in message text. 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
36ccb4618f Tweak chatroom headings 2018-04-30 15:37:36 +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
57f7e31aa1 Add a spoiler message to the mockups 2018-04-30 15:37:36 +02:00
JC Brand
aa6a739cfa Initial work on showing avatars in messages.
- Update the mockups to show avatars.
2018-04-30 15:37:36 +02:00
JC Brand
6cce931086 Make sure show is created on all chatbox types 2018-04-24 16:39:39 +02:00
JC Brand
fb11cfe795 Add converse-embedded class without requiring an override 2018-04-24 14:35:47 +02:00
JC Brand
76a47829cd Optimize keyPressed slightly 2018-04-24 14:35:29 +02:00
JC Brand
7807b19905 Debounce show similarly to other methods 2018-04-24 14:34:19 +02:00
JC Brand
71be72b50c Automatically grow/shrink input as text is entered/removed 2018-04-24 14:33:00 +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
9a410c6a96 updates #161 Proper error messages and include server response 2018-04-24 10:09:45 +02:00
JC Brand
e0aaeb66ea updates #161
* Fix typo which broke MUC file upload
* Remove unused method
* Move file input into li element
2018-04-24 07:49:37 +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
aacfe3b66b Don't show MUC CSN if from myself. fixes #1026 2018-04-22 04:26:35 +02:00
JC Brand
74f9952b24 Move sendChatState methods to the models 2018-04-22 04:25:05 +02:00
JC Brand
2850ef0485 Don't show delayed chat state notifications 2018-04-22 04:09:24 +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
db790183d8 Remove unused code 2018-04-17 15:21:38 +02:00
JC Brand
dad8eb2f48 Remove separate file converse-http-file-upload
It contained only `overrides` and some HTTP upload code was in other
modules.

Current thinking concerning overrides:

Usage of `overrides`, while useful in certain cases, should in general
be discouraged, since it's in essence "monkey patching" which makes it
more difficult to know whats executing at runtime and more difficult to
refactor.

Splitting modules up between XEPs is not always that useful. Some XEPs,
like HTTP Upload (and MAM comes to mind) have their functionality spread
out over single and group chats (and pubsub) and might for practical
purposes be considered "core" enough to not try and keep them in
separate modules (which inevitably requires overrides or a fundamentally
rethinking the architecture).

Where splitting code between modules makes a lot of sense is in keeping
Backbone Models and Views separate (so that alternative view libraries
like Vue could be used) and probably in keeping Single chats, MUC,
PubSub and MIX separate.

updates #161
2018-04-17 15:21:30 +02:00
JC Brand
de6ecbf07a Render messages via a new MessageView view
updates #161
2018-04-17 15:21:26 +02:00
JC Brand
264e6830af Remove references to unused parameters
updates #161
2018-04-17 15:21:21 +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
worlword
3b1d27636d problem fixed, that file-upload would not start. Also did some code cleanup 2018-04-13 11:45:43 +02:00
worlword
ca40cf6541 removed EmptyLines in ChatView.js and Change Lineendings to LF in toolbar_fileUpload.html 2018-04-12 09:37:58 +02:00
worlword
bf3e6f2363 some code-changes to align with the coding standard 2018-04-12 09:24:41 +02:00
worlword
7660dbfb31 merge httpFileUpload-Branch with master 2018-04-12 07:43:39 +02:00
JC Brand
3d29567ab6 Revert "Don't show typing from different device CSN messages"
This reverts commit 7303e96cdb.

Instead of dropping the feature entirely, we can check if the CSN is a
carbon message.
2018-04-11 18:46:50 +02:00
worlword
c9a9d01112 used code from 'http-file-upload' branch. Buttons are now added to the toolbars through converse-http-file-upload.js. 2018-04-11 17:09:32 +02:00
worlword
fa80749658 refactoring based on the review from jcbrand 06.Apr.2018 2018-04-11 15:29:41 +02:00
JC Brand
7303e96cdb Don't show typing from different device CSN messages
To avoid showing them erroneously would mean keeping track of used
message ids which seems like more work than justified by the feature.

Fixes #1026
2018-04-10 20:56:54 +02:00
JC Brand
3d0435a755 Remove hack specific to the soon to be retired Slack XMPP gateway 2018-04-10 20:56:40 +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
Kim Alvefur
a82f950e3c Put timestamp in a <time> tag for better semantics and easier styling 2018-04-07 21:47:22 +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
7839f20846 fixed sendMessage for so that tests will work again 2018-04-05 08:45:58 +02:00
worlword
83c0d42ecf changed line-endings in converse-httpFileUpload.js 2018-04-04 16:03:44 +02:00
worlword
530e7f9d3f fixed file-upload-button in MUC and added changes.md entry 2018-04-03 12:29:12 +02:00
worlword
b23712aec3 added httpFileUpload to converse.js 2018-04-03 11:20:57 +02:00
JC Brand
e31373a6ae Fixes #1055 Wrong paths in build.js 2018-03-31 19:51:55 +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
44a2f7807c Hook in ar and eu locales and document. 2018-03-31 15:45:23 +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
2705ec8193 Let the chatarea expand when the occupants sidebar is collapsed. 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
d90416eae8 Add workaround for apparent Prosody bug
Details here: https://prosody.im/issues/1121
2018-03-30 14:22:53 +02:00
JC Brand
faaaa8139a Properly remove ContactView from the overview 2018-03-30 14:22:53 +02:00
JC Brand
93a20ee4ee Make sure removeFromRoster is called only once 2018-03-30 14:22:53 +02:00
JC Brand
b584f2efb3 Add a new config setting nickname
- for subscription requests
- when entering chat rooms
2018-03-30 14:22:53 +02:00
JC Brand
3354083934 Bugfix. Remove view for contact moved to different group
Otherwise the contact stays visible under "Pending Contacts" although
the subscription request has been accepted.
2018-03-30 14:22:53 +02:00
JC Brand
e8718ec3d3 Bugfix. Make sure group gets inserted
when it's created due to a new contact being added.

Was previously in the wrong place.
2018-03-30 14:22:52 +02:00
JC Brand
1029aae215 Write out map when calling create 2018-03-30 14:22:52 +02:00
JC Brand
c8f72b350b Disable vcard plugin is use_vcard is false 2018-03-30 14:22:52 +02:00
JC Brand
535fc7bc8d Use strings for map keys 2018-03-30 14:22:52 +02:00
JC Brand
9799ecce10 Focus inputs inside modals 2018-03-30 14:22:52 +02:00
JC Brand
0173d28f48 Clear "add contact" form after submission. 2018-03-30 14:22:52 +02:00
JC Brand
b9cdf6b71f Make sure relevant roster group gets inserted when a new contact gets added
by calling `sortAndPositionAllItems`.

Particularly relevant to the "Pending Contacts" group.
2018-03-30 14:22:52 +02:00
JC Brand
e1995c6d4e Focus input when showing the add contact modal 2018-03-30 14:22:51 +02:00
JC Brand
4f2b040f22 Allow setting a nickname when adding a roster contact 2018-03-30 14:22:51 +02:00
JC Brand
5e8843e8bd xhr_user_search_url fixes after some real world testing 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
7a254a56e0 Pad the toggle and rename to "Chat Contacts"
to make it clearer that this toggle relates to chatting.
2018-03-30 14:16:07 +02:00
JC Brand
ea4337da51 Set column width for chatbox buttons in the sass file 2018-03-30 14:16:07 +02:00
JC Brand
2580cafa76 Bugfix. Fix selector 2018-03-30 14:16:07 +02:00
JC Brand
deff6e071c Remove the clear button. It was pretty useless
because it didn't actually clear anything permanently and upon page
reload the messages were there again.
2018-03-30 14:16:06 +02:00
JC Brand
516352c413 Disable emoji images by default 2018-03-30 14:16:06 +02:00
JC Brand
f260fd87e5 Don't close all chatboxes when reconnecting 2018-03-30 14:16:06 +02:00
JC Brand
6f67e3c721 Don't wrap the build in an anonymous define.
This cause the error "Mismatched anonymous define" when loading the
bundle in Plone.

The original reason for adding `start.frag` was to wrap the bundle in a
closure to not pollute the global namespace (e.g. overriding global
`define` and `require` with Almond`s versions) and secondarily to allow
people to load the bundle via require.js.

The second usecase should now probably be done via a shim in the
require.js config.
2018-03-30 14:16:06 +02:00
JC Brand
8fda25c997 Honor the allow_logout setting 2018-03-30 14:16:05 +02:00
JC Brand
69172af4d0 Make sure to use transpiled modules 2018-03-30 14:16:05 +02:00
JC Brand
81fb2f443d Bugfix. Make sure roster is re-inserted after reconnection 2018-03-30 14:16:04 +02:00
JC Brand
f90ca8f7f4 Remove unused class 2018-03-30 14:16:04 +02: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
f0ae8c44ff Show caret for room, bookmark and group toggles 2018-03-17 11:42:17 +00:00
JC Brand
850c6aa2bd Fix more failing tests 2018-03-16 23:37:52 +00:00
JC Brand
7b8a244163 Fix failing bookmarks tests 2018-03-16 11:49:39 +00:00
JC Brand
39e427bca9 There's no longer a dropdown to set the status 2018-03-16 11:49:31 +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
c219d37083 Bugfix. Handle attrs not being defined 2018-03-14 18:25:19 +00:00
JC Brand
2ff18c2cfb Fix emoji test (now that bootstrap dropdown is used) 2018-03-14 17:32:01 +00:00
JC Brand
2045741fbe Add api.chatviews.get method 2018-03-14 13:27:36 +00:00
JC Brand
044907e4fa Looks like focus parameter was never used. 2018-03-14 13:27:36 +00:00
JC Brand
401513e695 Set fullname from roster contact 2018-03-14 13:02:08 +00:00
JC Brand
05e7cc8529 Let api.contacts.get return the RosterContact model 2018-03-14 13:01:29 +00:00
JC Brand
daff088c97 Don't set fullname in getChatBox, it's too generic
Instead do it in `_api.chats.create` which is specifically for private chats.
2018-03-14 12:06:38 +00:00
JC Brand
c621732f2f Bugfix. Get JID from presence 2018-03-14 11:54:22 +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
c958a1822c Remove unused code (due to bootstrap dropdowns) 2018-03-11 12:12:15 +01:00
JC Brand
9c80ab5d43 Use bootstrap button markup 2018-03-11 12:07:36 +01:00
JC Brand
d7de739001 Add close button for controlbox in overlay view mode 2018-03-09 23:53:05 +01:00
JC Brand
a1145140c3 Various small tweaks
- Style room invite
- Remove old border-radius
- Show close icon for minimized chats
2018-03-09 23:27:12 +01:00
JC Brand
591e794f69 chat head: Show minimize icon and hide for now the vcard icon 2018-03-09 23:20:14 +01:00
JC Brand
c10a2596e3 Eagerly render emoji picker and avoid overflow in overlay view 2018-03-09 23:16:53 +01:00
JC Brand
986921c630 Small fixes for minimized chats toggle 2018-03-09 23:14:08 +01:00
JC Brand
392a7e8ab3 Don't use the bootstrap responsive grid for chats in overlay mode 2018-03-09 23:06:41 +01:00
JC Brand
849d6b2612 Update the minimized chats widget 2018-03-09 18:14:18 +01:00
JC Brand
9c0b7c71cd Render OTR menu as a bootstrap dropdown 2018-03-09 17:30:42 +01:00
JC Brand
9825d6e777 Use bootstrap dropdown to render the emoji picker 2018-03-09 14:51:24 +01:00
JC Brand
8bddd0d7f4 Some work on showing emoji in a dropdown 2018-03-09 11:46:50 +01:00
JC Brand
40f4555419 Only show controlbox head when logging in, in overlayed view mode 2018-03-09 11:46:23 +01:00
JC Brand
251c023b15 Remove the ability to resize horizontally 2018-03-09 11:02:15 +01:00
JC Brand
914a55707d Replace col- classes with Sass mixins 2018-03-09 10:12:05 +01:00
JC Brand
db44a4f44d Update the login form for the overlayed view mode 2018-03-07 21:40:55 +01:00
JC Brand
d72463c939 Make more semantic by putting login/register column info in css 2018-03-07 18:06:02 +01:00
JC Brand
b3f2fafeea Various smaller fixes and improvements 2018-03-07 14:36:19 +01:00
JC Brand
21e1b2694f Bugfix from master. 2018-03-07 11:06:11 +01:00
JC Brand
2db4550b13 Update chat events markup. 2018-03-07 11:02:12 +01:00
JC Brand
0d8d99b850 Bugfix. vcard doesn't necessarily have jid 2018-03-07 10:31:33 +01:00
JC Brand
e3350ab79f Update chat head markup 2018-03-06 19:03:32 +01:00
JC Brand
0d3cdf12c8 Bugfix. Don't query on non-existent class 2018-03-06 19:03:23 +01:00
JC Brand
d04a7df295 Update room features markup to use font awesome 2018-03-06 18:33:59 +01:00
JC Brand
181b1836b0 Update and further style toolbars 2018-03-06 15:26:05 +01:00
JC Brand
6bdf204be4 Show occupants sidebar again 2018-03-05 16:58:31 +01:00
JC Brand
076265f108 Listen for click in the bookmarks view 2018-03-05 16:51:51 +01:00
JC Brand
d4d3d4c838 Merge branch 'split-muc' into bootstrap4 2018-03-05 16:51:33 +01:00
JC Brand
0013ee5506 Split MUC views into separate file/plugin 2018-03-05 16:32:13 +01:00
JC Brand
8211ed8f70 Release 3.3.4 2018-03-05 14:43:53 +01:00
JC Brand
1a2c1441a1 Updates #1021 Fix TypeError: Cannot read property 'firstChild' of null 2018-03-05 14:29:49 +01:00
JC Brand
983c94a619 converse-fullscreen not relevant to mobile view mode 2018-03-05 14:20:32 +01:00
JC Brand
dcc6244fc2 Don't overwrite default avatar with undefined 2018-03-04 07:29:24 +01:00
JC Brand
759603eea5 Hook in bg and tr locales 2018-03-04 06:11:18 +01:00
JC Brand
3c182b5a26 Server field in Rooms tab showed MUC supporting clients 2018-03-03 11:45:57 +01:00
JC Brand
c4c154cfa1 Fixes #1022 Include stored status message in presences. 2018-03-02 19:35:06 +01:00
JC Brand
38dfc7b65b Hook in turkish as locale, update changelog. 2018-03-02 16:30:00 +01:00
JC Brand
ca0bd1c50e
Merge branch 'master' into send_emojis_as_unicode_muc 2018-03-02 15:55:59 +01:00
JC Brand
0a28e7aae4 Fixes #1027 Backwards compatibility fix for IE11 2018-03-02 15:54:28 +01:00
Christoph Scholz
2195e8de7e send emojis as unicode also in MUCs 2018-03-02 15:45:36 +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
860befcab9 Fixes #1025
Rename icon to avoid confusion. Add back the OTR status text.
2018-03-02 12:11:47 +01:00
JC Brand
c655781bc9 More login form improvements and also update registration form 2018-02-24 19:59:25 +01:00
JC Brand
e1d1bac790 Update the login form with markup from bootstrap mockup 2018-02-24 18:43:32 +01:00
JC Brand
3b22f918fa More work on the user profile modal 2018-02-23 23:10:46 +01:00
JC Brand
0bd96bbcfb Bugfix. Don't set xmppstatus' jid to null 2018-02-23 22:19:24 +01:00
JC Brand
5278e4fe79 Add outline for a user profile modal 2018-02-23 16:33:10 +01:00
JC Brand
e344bf769a New modal for adding contacts.
Remove the xhr_user_search and xhr_user_search_url options
Lazily create modals
2018-02-23 16:33:09 +01:00
JC Brand
b3409fd01b Move common modal view code into a base class 2018-02-22 18:41:01 +01:00
JC Brand
249ee2b5ca Bugfix. Method wasn't called 2018-02-22 17:47:08 +01:00
JC Brand
4e508cfe88 Add a modal to list rooms 2018-02-22 17:40:01 +01:00
JC Brand
e143c88475 More work on the "add chatroom" modal. Working now. 2018-02-22 15:58:23 +01:00
JC Brand
224e1eee29 Merge branch 'master' into bootstrap4 2018-02-22 14:39:20 +01:00
JC Brand
1e5b6243be Don't show bookmark toggles when PEP bookmarking not supported by the XMPP server 2018-02-22 13:55:17 +01:00
JC Brand
5e320d031d Don't remove the minimized chats element upon logout 2018-02-22 13:35:05 +01:00
JC Brand
33cfe07331 Recreate promises upon logout. 2018-02-22 13:35:05 +01:00
JC Brand
68b839d0d1 Add onMultipleEvents utility method.
And use it instead of listening to multiple Promises.

Promises get resolved once, which means using them doesn't work for
cases where the user logs out, and then in again (because the handlers
don't get called upon 2nd login).
2018-02-22 13:35:05 +01:00
JC Brand
a5513229de Work on showing auto_joined chatrooms 2018-02-22 11:49:59 +01:00
JC Brand
1ce46a84ae Make sure that statusInitialized is always called
regardless of wether it's a connection or reconnection event.

We can then only listen for `statusInitialized` to handle both cases.
2018-02-22 11:20:26 +01:00
JC Brand
5968eec783 Set backbone.nativeview as dependency for backbone.vdomview 2018-02-22 10:49:22 +01:00
JC Brand
47aad31899 Tricky refactoring.
Removed `_converse.chatboxviews.showChat` and trying to simplify how
chats are created and when they're shown.

Prompted by the work to split the MUC views into a separate plugin
2018-02-21 23:47:02 +01:00
JC Brand
d1d43edf52 Move MUC views into a new plugin 2018-02-21 22:40:30 +01:00
JC Brand
d9709af7cf Initial work on the new chatroom modal 2018-02-21 16:59:16 +01:00
JC Brand
b5812e257d Work on the status modal 2018-02-21 16:17:57 +01:00
JC Brand
ec2bda338b Refactor XMPPStatus.
- Remove undocumented and unused event `update-status-ui`
- Remove xhr_custom_status and xhr_custom_status_url options
- Use default value
- Remove unnecessary getter and setter
2018-02-21 14:41:54 +01:00
JC Brand
ad01ab3041 Add status modal 2018-02-21 14:03:07 +01:00
JC Brand
1470b86896 Fix logout 2018-02-20 16:51:59 +01:00
JC Brand
21556832f8 Update chatbox headers and buttons 2018-02-20 16:48:01 +01:00
JC Brand
83e9395868 Highlight info icon when room info is shown 2018-02-20 16:00:23 +01:00
JC Brand
2b935fa57b Show subdued grey for icons (and darker when hovering) 2018-02-20 15:57:01 +01:00
JC Brand
6b89a6c106 Only show img tag if we have image data 2018-02-20 15:56:58 +01:00
JC Brand
5e6860754f Update chatbox head with new markup 2018-02-19 22:36:37 +01:00
JC Brand
d8f80bc0e6 Merge branch 'master' into bootstrap4 2018-02-19 22:13:01 +01:00
JC Brand
c4367e7a0a Show own avatar 2018-02-19 22:12:50 +01:00
JC Brand
745b821848 Bugfix. Avatars weren't being shown 2018-02-19 21:33:27 +01:00
JC Brand
c12e361ebe Remove unused method 2018-02-19 21:03:16 +01:00
JC Brand
08c016da0e Get ancestor element via selector 2018-02-19 20:54:58 +01:00
JC Brand
658c27730c Fix showing of room info in rooms list 2018-02-19 18:11:02 +01:00
JC Brand
6cdaa47493 Fix roster filter functionality 2018-02-19 17:37:47 +01:00
JC Brand
493ecb2e4f Update markup for the roster filter 2018-02-19 16:08:54 +01:00
JC Brand
2fa8304945 Improve and update roster markup 2018-02-19 15:01:02 +01:00
JC Brand
e6fdcc610f Merge branch 'master' into bootstrap4 2018-02-19 14:28:46 +01:00
JC Brand
fa6569352c Don't use _.template for variable interpolation
It depends on `eval` which is unsafe.
2018-02-19 11:08:32 +01:00
JC Brand
4d34952eae Consider elements with class hidden as invisible 2018-02-19 10:35:42 +01:00
JC Brand
48c806c9d0 Shorten utils to u 2018-02-19 10:34:52 +01:00
JC Brand
650ed22da7 Update requesting contacts and tweak bookmark icons 2018-02-16 15:24:17 +01:00
JC Brand
c4a99c7f29 Render rooms and bookmarks lists according to mockups 2018-02-16 15:08:16 +01:00
JC Brand
ede21e7c32 Remove controlbox tabs and show rooms and contacts panels together 2018-02-16 14:16:55 +01:00
JC Brand
b6501bcf09 Render .row inside #conversejs element 2018-02-15 15:50:37 +01:00
JC Brand
617019af0e Merge remote-tracking branch 'origin' into bootstrap4 2018-02-15 14:15:04 +01:00
JC Brand
db85cb7f1d Release 3.3.3 2018-02-14 16:53:07 +01:00
JC Brand
d8f2a1eb57 In embedded mode, allow fetching of rooms from sessionStorage
Otherwise we lose the MUC session upon reload.
2018-02-14 15:50:47 +01:00
JC Brand
732c923324 Bugfix. Don't show hidden MUCs when new message received. 2018-02-14 13:44:17 +01:00
JC Brand
fc560bf8ac Use this.content instead of ev.target, which is null
when using converse.js inside a webcomponent
2018-02-14 12:30:30 +01:00
JC Brand
9edcea1181 Include converse-muc-embedded in main build 2018-02-14 02:40:56 +01:00
JC Brand
08a76d8a6b Merge branch 'webcomponent-embedded' 2018-02-14 02:15:49 +01:00
linkmauve
af6867e638 improve @title on roster item (#1013) 2018-02-14 00:43:33 +01:00
Senya
2b8f6c4363 Add backbone.overview as a dependency for chatboxes (#1016) 2018-02-14 00:39:56 +01:00
JC Brand
2d746d2a1e Make converse-muc-embedded a core plugin.
1. Add a new `view_mode` value: `embedded`.

   This value is used to determine wether the `converse-muc-embedded`
   plugin is active or not.

2. Remove the need for the #converse-embedded-chat element.

   Instead we reuse the #conversejs element and embed inside that.

3. Removed the need to manually blacklist core plugins

   This is now done automatically if `view_mode` is set to `embedded`.
   Perhaps eventually we don't blacklist at all and instead use the
   `enable` plugin method. For some that probably won't work, like
   `converse-chatview`, which we still need to be active.
2018-02-09 16:37:55 +01:00
JC Brand
56aa45b1d3 Set auto_reconnect to true by default. 2018-02-09 16:37:55 +01:00
JC Brand
ba9c3b01ed Set converse on the window and trigger an event after loaded.
Setting it on `window` is necessary to have it available inside a
webcomponent.

Triggering an event is necessary so that we don't call
`converse.initialize` too early.
2018-02-09 16:37:55 +01:00
JC Brand
5517e3554c Add a new configuration setting: root 2018-02-09 16:08:39 +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
680f30412a Bugfix. Object values for defaults passed-by-reference 2018-02-08 17:06:36 +01:00
JC Brand
055c4d2104 New config setting allow_public_bookmarks 2018-02-08 15:39:27 +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
bbe47b465d Looks like this ain't necessary
Also, the condition was the opposite of what it should have been.
2018-02-07 17:26:09 +01:00
JC Brand
1759cc1672 Advertise support for spoilers 2018-02-07 17:25:49 +01:00
JC Brand
d4ceb6d340 Add the ability to query for a disco identity 2018-02-07 17:24:25 +01:00
JC Brand
4732f315ed Use "hidden message" instead of spoiler 2018-02-07 14:39:45 +01:00
JC Brand
f267ee5ae0 Looks like new messages can have an archive_id 2018-02-07 14:28:35 +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
aab957b0b8 Show only icon for OTR button 2018-02-07 11:16:24 +01:00
JC Brand
86a962bee2 Don't render message form via separate Backbone.View
Appeared to only complicate things...
2018-02-07 11:16:24 +01:00
JC Brand
cc4d4a6f40 Properly configure visibility of spoiler toolbar button 2018-02-07 10:32:21 +01:00
JC Brand
e34fa5d635 Style the spoiler 2018-02-07 10:30:06 +01:00
JC Brand
20706cb617 Expand the spoiler tests 2018-02-06 21:21:21 +01:00
JC Brand
f6db2a9167 Use template to render the spoiler message. 2018-02-06 18:58:06 +01:00
JC Brand
3b850c77ea Move focus method into ChatBoxMessageForm 2018-02-06 18:05:12 +01:00
JC Brand
7ee0b19409 Move code to chatview 2018-02-06 18:05:12 +01:00
JC Brand
253c4d736e Focus the textarea after toggling between spoiler or not 2018-02-06 18:05:12 +01:00
JC Brand
19d9e281ae Update css and keep input and textarea values across toggles 2018-02-06 18:05:12 +01:00
JC Brand
d5348ea899 Render the message form via VDOMView 2018-02-06 18:05:12 +01:00
JC Brand
4e077aac08 Start moving code from the plugin to converse-chatview 2018-02-06 18:05:12 +01:00
JC Brand
400bdf775d More refactoring of spoilers code 2018-02-06 18:05:12 +01:00
JC Brand
fa06b528e1 Also show spoiler for sent messages. 2018-02-06 18:05:12 +01:00
JC Brand
d6da643a7f Add an (incomplete) test for a received spoiler message 2018-02-06 18:05:12 +01:00
JC Brand
b1ffb34b76 Add docstrings 2018-02-06 18:05:12 +01:00
JC Brand
7870fc53ca Refactor adding of spoiler stanza element into separate method 2018-02-06 18:05:12 +01:00
JC Brand
293ca2c75c Let the OTR code for adding a button mirror the spoiler way 2018-02-06 18:05:12 +01:00
JC Brand
7bf157d9b2 Refactor code that adds button into new method. 2018-02-06 18:05:12 +01:00
JC Brand
7f9f62476d Render spoiler button as a template 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
Seve
be8b9edf2a Remove tabs 2018-02-06 18:05:12 +01:00
Seve
41bbf653b9 Handle cases where hint is not supplied. 2018-02-06 18:05:12 +01:00
Seve
934e5ad421 Display images inside spoilers. Emojis not handled properly 2018-02-06 18:05:12 +01:00
Seve
1a1a7a4b27 Add event and logic to display spoiler messages 2018-02-06 18:05:12 +01:00
Seve
808cc385a5 Refactor to remove jQuery syntax 2018-02-06 18:05:12 +01:00
Seve
093fd7a283 Start overriding renderMessage() properly 2018-02-06 18:05:12 +01:00
Seve
226df674ae Start message rendering 2018-02-06 18:05:12 +01:00
Seve
4451a7c813 Use events in a less obscure manner 2018-02-06 18:05:12 +01:00
Seve
affd08bdaa Send user's hint if any 2018-02-06 18:05:12 +01:00
Seve
98fe606222 Send hints 2018-02-06 18:05:12 +01:00
Seve
26c579e326 Start with sending stanza with spoiler 2018-02-06 18:05:12 +01:00
Seve
a2b2291ef6 Initial concept for spoilers editor 2018-02-06 18:05:12 +01:00
JC Brand
3eb3668bef Small fixes 2018-02-06 18:05:12 +01:00
Seve
94830c8520 Setting up plugin development 2018-02-06 18:05:12 +01:00
Seve
a866c17414 Initial example plugin 2018-02-06 18:05:12 +01:00
ChaosKid42
1da20577e1 make locales_url relative (#1012) 2018-02-04 09:19:08 +01:00
JC Brand
62ad605bec Bugfix. Attribute error when empty IQ stanza is returned for vCard query 2018-01-30 10:25:08 +01:00
JC Brand
6b644d6d11 Release 3.3.2 2018-01-29 16:48:54 +01:00
JC Brand
585a182145 Bugfix in the URL regex 2018-01-29 15:35:36 +01:00
JC Brand
34b592be09 Fixes #921 2018-01-29 15:16:44 +01:00
JC Brand
edc4c1f158 Fixes #878. Ending slash in link not recognized 2018-01-29 15:12:49 +01:00
JC Brand
37e4ed6fe8 Avoid false headline message positive for node-less MUC JIDs 2018-01-29 15:00:11 +01:00
JC Brand
479d657001 Fixes #999 2018-01-29 15:00:02 +01:00
JC Brand
852e9b5c85 Updates #1003. Handle bare MUC room JIDs 2018-01-29 14:51:49 +01:00
JC Brand
476e1d79cd IE11 fixes 2018-01-29 14:40:45 +01:00
JC Brand
f724f49087 Add ability to run tests for transpiled code 2018-01-29 14:14:56 +01:00
JC Brand
e5006b0004 Fixes #1000. Scroll down when maximizing a chat room 2018-01-29 11:40:42 +01:00
JC Brand
d2a44c4c18 Fixes #1003 Don't list MUC domain in rooms list. 2018-01-29 11:17:54 +01:00
JC Brand
3d32f69548 console.trace is only shown when showing VERBOSEly
So use `console.error` instead, which is shown when the console settings
is set to something less verbose.
2018-01-29 11:17:54 +01:00
linkmauve
4dc5e01d76 Replace tabs with spaces in source files. (#1005) 2018-01-27 16:20:35 +01:00
JC Brand
834866bd84 Add fullscreen class when applicable 2018-01-23 14:47:46 +01:00
JC Brand
e6d5631452 Start moving css from mockup.css into the core sass files 2018-01-23 14:34:05 +01:00
JC Brand
4b64522c18 Fixes #993. 2018-01-22 12:41:45 +01:00
JC Brand
c012351df2 Updates #994. may not be defined 2018-01-22 12:37:29 +01:00
JC Brand
c1322f3c92 or should be and 2018-01-22 10:41:13 +01:00
JC Brand
12af9d5cbd Tying some loose ends 2018-01-22 09:53:35 +01:00
JC Brand
4c76370819 Bugfix. Could not register on Ejabberd 18 2018-01-22 09:50:24 +01:00
JC Brand
bf97ffd381 Check JIDs of archived MAM messages 2018-01-21 22:02:12 +01:00
JC Brand
ccf5ce2ae5 New release 3.3.1 2018-01-18 14:48:32 +01:00
JC Brand
db8fd5c018 Turn off message animations by default 2018-01-18 11:41:47 +01:00
JC Brand
db1c9c38d7 Add a link to weblate on inverse landing page 2018-01-18 11:14:06 +01:00
JC Brand
026cce3ada Rename zh to zh_TW and add Simplified Chinese as zh_CN 2018-01-18 11:02:44 +01:00
JC Brand
bc7b70732e Add support for simplified Chinese 2018-01-18 10:44:24 +01:00
JC Brand
8f455cf902 Release 3.3.0 2018-01-17 19:45:33 +01:00
JC Brand
210a75b02f Scroll down again after all images have been loaded. 2018-01-17 19:29:11 +01:00
ChaosKid42
115b887802 Send emojis as unicode (#977)
* render the shortnames as unicode when sending a message

* updated CHANGES.md
2018-01-17 17:03:23 +01:00
linkmauve
561bdbba35 Always use formatting inside translatable strings (#983)
This helps translators reorder words in the string.
2018-01-17 17:02:51 +01:00
JC Brand
e2a545a849 No need for animations during testing 2018-01-16 16:55:38 +01:00
JC Brand
8997af7890 Updates #984 Add color-fadein animation for messages 2018-01-16 16:36:23 +01:00
JC Brand
2cb4a36a6b Updates #984: Remember scroll position when using infinite scroll. 2018-01-16 15:38:08 +01:00
JC Brand
95bf69b8a9 Maintain simplicity by using only one variable instead of two 2018-01-16 14:56:58 +01:00
JC Brand
f1c8de15d1 Make DOM traversal methods more generic and move to utils. 2018-01-16 14:56:23 +01:00
JC Brand
93da96ad91 converse-mam: Use API internally 2018-01-16 12:20:18 +01:00
JC Brand
a1767ffecd Make sure rooms and bookmarks lists are recreated and shown after reconnect 2018-01-15 22:03:31 +01:00
JC Brand
c389b50044 Remove unused/dead code 2018-01-15 22:03:31 +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
e9bba77b36 Add test for /help command in private chats 2018-01-15 18:41:04 +01:00
JC Brand
35275c8add Lazily show spinner at the last moment 2018-01-15 18:40:35 +01:00
JC Brand
fdf1a977eb Bugfix. Fall back to normal query when no messages 2018-01-11 22:48:18 +00:00
JC Brand
76170427ec Bugfix. Exclude chat events when looking for first/last/prev message
Also, don't clear events in `renderMessage`, try to keep it free from
side-effects.
2018-01-11 22:47:37 +00:00
JC Brand
8d999b2802 Explicit plugin dependencies. Make hide_open_bookmarks false by default 2018-01-10 13:26:50 +00:00
JC Brand
c22aff9b13 Use newest pluggable.js.
`optional_dependencies` is now called `dependencies`
2018-01-10 13:13:26 +00: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
31e884f79a Add code to check for duplicates 2018-01-09 22:06:53 +00:00
JC Brand
6414981012 Need to only fetch newer messages after cached messages 2018-01-09 22:05:02 +00:00
JC Brand
5a7ce787c3 Renaming of template 2018-01-09 14:02:01 +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
2c7a942fbc Remove unused declaration 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
a91e9216e6 No need to manually remove. Gets done in the OrderedListView 2018-01-06 20:42:46 +00:00