Commit Graph

1597 Commits

Author SHA1 Message Date
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
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