JC Brand
e9bba77b36
Add test for /help
command in private chats
2018-01-15 18:41:04 +01: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
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
16b8946dd9
Updates #978 : Use moment and generate date in correct format
2018-01-04 13:11:51 +00:00
JC Brand
199e2e7e27
The refreshWebkit
hack appears to no longer be necessary
2018-01-04 12:11:03 +00:00
JC Brand
671691353a
Use Backbone.NativeView instead of Backbone.View
2018-01-03 20:41:03 +00:00
JC Brand
f1820e5fcd
Set dependencies for chatview and muc
2018-01-03 16:08:30 +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
cc29d16929
Simplify message insertion into the chat area
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
21a46a15ae
Bugfix. markScrolled
wasn't debounced for MUC.
2017-12-25 11:59:54 +00:00
JC Brand
91526c3a46
Bugfix. Query all messages
2017-12-25 09:46:13 +00:00
JC Brand
1e1aa1d9c9
Some refactoring while removing jquery
2017-12-24 17:09:49 +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
fb35ed844a
Avoid flashing when opening chat room.
2017-12-20 11:02:46 +00:00
JC Brand
3f94028377
Speed up rendering of chat boxes by lazily rendering the emoji picker
2017-12-20 11:02:46 +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
a4a1c80b5b
Bugfix. In a MUC the /help
command didn't render properly
2017-12-06 17:01:17 +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
e701305d05
Bugfix. Avatar wasn't being shown
2017-12-02 18:07:31 +01:00
JC Brand
063908e032
Append spinner when fetching newer messages
2017-12-02 15:09:04 +01:00
JC Brand
fa7ca46d12
Text fixes based on feedback from translator
2017-11-23 12:10:40 +01:00
JC Brand
141eaa6a39
Fix rendering of heading for headlines boxes
2017-11-17 14:41:54 +01:00
JC Brand
ca0cbb1c31
Use an img tag instead of canvas for rendering avatars
2017-11-17 13:19:21 +01:00
JC Brand
bac1d22205
Fix: In chatbox heading two avatars sometimes get rendered
2017-11-17 12:50:16 +01:00
JC Brand
adb92a2eda
Two small UX fixes
...
- Don't close the emojis panel after inserting an emoji.
- Focus the message textarea when the emojis panel is opened or closed.
2017-11-12 20:08:37 +01:00
JC Brand
3514d6d56b
fixes #316
...
- Also allow private chats to be opened via URL fragment.
- Make sure to clear the URL fragment when the relevant chat is closed.
2017-10-31 23:11:27 +01:00
JC Brand
b9b9689668
Fixes #912 maximize
method in converse-minimize
fails...
...
if the `controlbox` is not there.
Also, make `converse-controlbox` and `converse-muc` optional dependencies of
`converse-minimize`.
2017-08-29 12:21:53 +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
273da9e876
Move chatboxes collection and overview into separate plugin
2017-08-16 12:32:15 +02:00
JC Brand
eed936ff64
Trying to fix timing/heisenbugs on Travis
2017-08-09 14:21:24 +02:00
JC Brand
5a67d985dc
emoji: Render shortname in textarea, not unicode.
2017-08-09 12:33:00 +02:00
JC Brand
a9d1e5c235
Don't use forEach
on nodeList objects (not supported by all browsers).
2017-08-08 15:32:53 +02:00
JC Brand
0a47f60f94
Emit new event `afterMessagesFetched
`
2017-07-21 15:09:50 +02:00
JC Brand
e4ebcc8f71
emoji: various css and html changes to improve ui/ux in converse and inverse
2017-07-16 15:04:54 +02:00
JC Brand
ffdd4e25f3
emoji: remember category and skin tone selection
2017-07-16 14:12:17 +02:00
JC Brand
8c4f6ffe03
emoji: Listen for clicks on a larger surface area
2017-07-16 13:41:01 +02:00
JC Brand
e3d2abf0ec
emoji: Make sure emojis are also rendered for ascii emoticons
2017-07-16 12:50:59 +02:00
JC Brand
49f26d8e49
emoji: Allow the assets path of Emojione to be overridden
2017-07-16 12:30:40 +02:00
JC Brand
f8c6467feb
emoji: Show only one skin-tone at a time (including the "neutral" one)
2017-07-16 12:29:09 +02:00
JC Brand
3ebe41384d
emoji: Remember scroll position when rerendering the emoji picker
2017-07-16 12:29:09 +02:00
JC Brand
9a5f2fce61
emoji: Add a skin-tone picker to the emoji toolbar
2017-07-16 12:29:09 +02:00
JC Brand
12510a9689
emoji: Fix rendering of emojione images
2017-07-16 12:29:05 +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
284e884766
Add js-xss
and use it to sanitize message HTML
2017-07-15 19:15:48 +02:00
JC Brand
f69e39dc8b
Reuse code for submitting a message
2017-07-15 15:58:11 +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
b2a118ca9e
Refactor slide methods in utils and use them for toolbar menus
2017-07-15 11:03:22 +02:00
JC Brand
ce2548c838
Remove the visible_toolbar_buttons.emoticons
config option
...
in favor of `visible_toolbar_buttons.emoji`.
2017-07-15 08:17:41 +02:00
JC Brand
67578c9747
Merge branch 'master' into emoji
2017-07-15 07:16:37 +02:00
JC Brand
6ef0536e31
Some work on using es6 promises
2017-07-10 21:14:48 +02:00
JC Brand
9a9eae3fcf
Use esnext to auto-generate es2015 syntax
2017-07-10 17:46:22 +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
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
4e467044d3
Some usability fixes around the toolbar and emojis
2017-06-24 11:34:01 +02:00
JC Brand
70f56b31f4
Merge branch 'master' into emoji
2017-06-24 11:04:19 +02:00
JC Brand
36e078c9f6
utils: Rename saveWithFallback
to safeSave
2017-06-23 20:17:58 +02:00
JC Brand
3e8e770517
chatview: use utils.isPersistableModel
2017-06-23 18:19:20 +02:00
JC Brand
02e5921415
Fix problem of stuck/hanging tests on TravisCI
2017-06-19 15:05:22 +02:00
JC Brand
10ae9a5ea4
Remove the ability to use emojione for rendering emoji
...
Creates an XSS opening.
2017-06-17 01:01:52 +02:00
JC Brand
ca53a8d8ef
Add support for Emojis
2017-06-17 01:01:52 +02:00
JC Brand
076af0970f
Make spinner into a template
2017-06-14 19:43:02 +02:00
JC Brand
e1dace59ae
Bugfix. Don't scroll down on archived messages
...
when already scrolled up.
2017-06-14 19:43:02 +02:00
JC Brand
0d22f5c33c
Bugfix. Make sure to only append after a single message.
2017-06-14 19:43:02 +02:00
JC Brand
fcbeff4c72
Better check to know whether we can save the model
2017-06-06 22:12:54 +02:00
JC Brand
4f94a1f193
Refactor code that increments unread messages counter
...
Removed the "fetching_messages" hack.
2017-05-16 11:18:58 +02:00
JC Brand
c5383ac22f
chatview: trigger 'add' event when fetching messages
...
Otherwise they don't appear when reloading the page.
I'm not completely happy with the resulting workaround to avoid that messages
restored from sessionStorage increment the unread messages counter, but it'll
have to do for now.
2017-05-15 18:37:54 +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
f3d29e016e
Show unread messages counter next to roster contacts
2017-04-24 15:57:22 +02:00
JC Brand
0bab19fafd
Render help messages via templates.
2017-04-21 18:35:34 +02:00
JC Brand
3ea43c6a0f
Use noConflict
to avoid polluting globale namespace
...
with lodash and Backbone.
2017-04-21 18:06:27 +02:00
JC Brand
1a40b7aefb
TypeError: converse.log is not a function
2017-04-20 08:55:51 +02:00
JC Brand
1e100a67e3
Catch error when destroying
2017-04-19 15:40:27 +02:00
JC Brand
de2f33f333
Send button must be translateable and should type "submit"
2017-04-11 07:32:17 +00:00
JC Brand
9ecb3e227f
Bugfix. Better check to see if spinner is already active
2017-04-04 11:21:25 +00:00
JC Brand
09251f32c8
Remove the english translation files. No need for them.
2017-03-31 02:26:35 +00:00
JC Brand
a4be25e05c
Fix time format to show seconds instead of month
2017-03-31 02:01:53 +00:00
Anshul Singhal
99647438ac
Adds the send button at bottom of chatbox ( #796 )
...
Fixes #796 New config option: `show_send_button`
* Adds show_send_button setting to docs
* Change log updated
* Improves send button CSS, style fixes and documentation corrections
* Adds missing setting in rendering template for headlines
2017-03-30 12:40:17 +02:00
Soumit Bose
c976f3f079
Fixed typing status for typing from different devices ( #802 )
2017-03-16 16:28:59 +01: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
JC Brand
f24e7c0905
Remove scrollDownMessageHeight. Fix failing test
2017-03-03 15:12:48 +01:00
JC Brand
0bc0072fea
chatview: Mark whether scrolling was automatic
...
so that we don't confuse it with the case where it was manual.
2017-03-03 14:55:03 +01:00
JC Brand
2c88545b28
Fix edge case with /me messages. Show in italics.
2017-02-28 07:58:17 +00:00
JC Brand
21fbb7b7ac
Fix failing test by making sure chatroom gets destroyed
2017-02-27 21:21:38 +00:00
JC Brand
08fc0823de
More scrolling improvements
2017-02-25 22:26:54 +00:00
JC Brand
2998ef818a
Chat rooms weren't being scrolled down after page reload
2017-02-25 07:48:28 +00:00
JC Brand
9817aedea7
No need to set templates on the _converse object.
...
If it's needed in another plugin, it can simply be `require`'d.
2017-02-19 11:12:26 +01:00
JC Brand
f83043e5ab
Fix reference to missing parameter.
2017-02-17 22:07:11 +01: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
70d385bc28
Use AMD-aware cryptojs from NPM. Update to 0.2.16
2017-02-15 10:02:15 +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
f73a1d3fc0
Don't name the modules.
...
According to the require.js docs this shouldn't be done.
http://requirejs.org/docs/whyamd.html#namedmodules
2017-02-13 14:37:17 +00:00
JC Brand
5f67797202
Fixes #749
2017-02-13 14:00:05 +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
9b48b2d6bd
Update plugins to not depend on converse-core
...
To illustrate that this is not necessary (and also not possible with
non-bundled plugins).
2017-02-02 18:34:13 +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
8d69357b52
Debounce scrollDown
2017-02-02 16:06:49 +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
JC Brand
7ad39cfdb9
Fetch the room information before opening the room.
2016-12-05 06:07:01 +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
02864fd175
Don't assume the parent is the top-level message element.
2016-11-02 13:42:20 +00:00
JC Brand
151a476084
Find more cases of children
that should be find
.
2016-11-02 13:38:42 +00:00
JC Brand
ed01081240
Use $.find instead of $.children
...
To allow for better template customization.
2016-11-02 13:33:20 +00:00
JC Brand
0d4993ef86
Merge branch 'master' of github.com:jcbrand/converse.js
2016-11-02 13:13:34 +00:00
JC Brand
ec9ed96568
Remove {{message}}
interpolation.
...
It's not used and confuses people. Instead the message gets inserted via
`$.text`, to avoid injection attacks.
2016-11-02 11:10:07 +00:00
JC Brand
b6c88b92fd
Don't listen exclusively for keypress in a textarea
...
Could be a different element as well.
2016-10-28 13:32:35 +00:00
JC Brand
6f1ac50893
Move leaky MUC abstractions out of converse-chatview.js
...
In the process also updated `updateSettings` to allow merging.
2016-10-27 14:56:31 +02:00
JC Brand
01c3a50cc2
Add code to generically and recursively update user settings.
...
Also moved chatview specific settings.
2016-10-26 14:14:49 +02:00
JC Brand
2d6d4df1f1
Use requestAnimationFrame instead of setTimeout
...
For better performance.
2016-10-17 13:16:41 +02:00
JC Brand
862af642ff
Move avatar markup to a template and make size configurable
2016-10-14 23:42:54 +02:00
JC Brand
90d1071df0
Load templates in the respective plugins
2016-09-23 12:35:01 +02:00
JC Brand
600f98afcb
Attempt to mitigate against performance degrading attacks.
2016-09-12 13:13:57 +02:00
JC Brand
89e5bd7c54
Update to pluggable.js 0.0.2
2016-08-31 10:39:11 +00:00
JC Brand
31f0e069ab
Decided to use 30secs instead of 20.
2016-08-18 10:19:43 +00:00
JC Brand
4d28ae3c11
Tweak timeouts regarding status notifications.
...
Send a <paused/> notification after 10 seconds, instead of 20.
Auto-remove a typing notification in the chat box after 20 secs instead of 10.
This is to avoid situations where the status notification gets
auto-removed while the typer keeps on typing without long enough breaks in
between for <pause/> states, thereby causing the recipient to not be aware that
they're still typing.
2016-08-18 09:28:48 +00:00
JC Brand
6ac4f2601d
Fixes #677 Chatbox does not open after close
...
Problem was a race condition between hide and show methods.
Solution was to not hide the chat box during the initialize method.
2016-08-12 20:38:39 +00:00
JC Brand
fe46f2ee77
Chat state notifications are now also sent out from chat rooms.
2016-08-12 12:52:33 +00:00
JC Brand
a1e24c95c9
Add nickname to chat message when clicking on room occupant.
...
Allows you to easily mention someone in your message.
2016-07-26 09:31:23 +00:00
JC Brand
d6ef4fc5ca
Add method hook for adding more attrs to send to the message template
2016-07-01 14:27:26 +02:00
JC Brand
be122af3ed
Add tests for rendering of error messages.
2016-06-23 08:56:15 +02:00
JC Brand
e06a34a905
Some initial work on show messages with type "error"
2016-06-22 18:47:07 +02:00
JC Brand
9e8674ef55
Rename ChatBoxView.insertIntoPage
to ChatBoxView.insertIntoDOM
...
to ensure naming consistency, we have the same method on `ChatRoomView`.
2016-06-22 15:54:22 +02:00
JC Brand
b90ad3aa6e
Don't check visibility before hiding.
...
In some cases the element is not visible,but we want to set 'display: None'
regardless, for example in cases where you only want one single chat of
multiple to be visible at any one time, while hiding it behind a sidebar.
2016-06-17 17:43:09 +02:00
JC Brand
705c043852
Fixes concerning tab visibility
2016-06-17 09:30:47 +00:00
JC Brand
249fb0fec5
Don't increment messages counter for MAM messages.
2016-06-16 10:39:08 +02:00
JC Brand
62c170273e
Allow plugins to have optional dependencies.
...
This change refactors out the plugin code from converse-core into
src/converse-puggable.js
Additionally, plugins now have an optional attribute `optional_dependencies`
which is an array of dependencies which are "nice-to-have" but not essential.
Work has also been done to ensure that a plugins' dependencies are first loaded
before the plugin itself.
2016-06-10 08:26:29 +00:00
JC Brand
2b88db812d
Don't show "new messages" indicator for archived messages
2016-05-30 17:18:07 +00:00
JC Brand
a050015e61
Add processing hints to chat state notifications
...
So that they're not stored in MAM.
2016-05-30 16:53:31 +00:00
JC Brand
128317692d
Wasn't explicitly scrolling down if the chat was already visible.
2016-05-30 14:32:05 +00:00
JC Brand
848126638e
Make the new msg indicator clickable
2016-05-28 12:25:44 +00:00
JC Brand
c738d085c4
Indicate to the user when there are unread messages
...
further down in the chat box.
2016-05-28 10:07:11 +00:00
JC Brand
032fe0d417
always scroll down when user sends a message
2016-05-27 12:42:31 +00:00
JC Brand
bbc23764e7
Initial work on keeping track whether the user scrolled
...
so that we don't scroll down while the user is reading messages further up.
2016-05-27 10:07:43 +00:00
JC Brand
aaaacf2513
Also show the day for the first received messages.
...
Until now, new days were only indicated for messages received on different days
*after* the day's messages.
2016-05-25 06:24:42 +00:00
JC Brand
a6c3b46237
Move the drag-resize code into a separate component.
2016-04-01 12:46:19 +00:00
JC Brand
1c375d5821
Cleaner separation between converse-mam and converse-chatview
...
Also add the ability to disable MAM for certain chats (such as the headlines chat).
2016-03-31 09:17:39 +00:00
JC Brand
4c6bd1f49c
Cleaner separation between minimize/trimming feature and core
...
One visible effect is that when this component is now removed,
minimize buttons are not visible on the chat boxes.
updates #622
2016-03-31 08:40:25 +00:00
JC Brand
8e3c97ae61
Some fixes to minimization of chats. Updates #622
...
Don't call trimChats in onChatBoxAdded event. Reduntant because it will be
called after maximization and after being shown.
Add new method getShownChats and don't trim if only one or zero chats are being
shown.
Don't trim chats when in responsive mode.
Don't call trimChats unnecessarily in the render method of the trimmed chats
thingy.
2016-03-30 12:18:45 +00:00
JC Brand
2869485c1e
Fixes to trimming of chats.
...
- Don't trim if not connected.
- Move trimChats call to converse-minimized
- Immediately hide view to avoid race conditions.
2016-03-28 14:59:23 +00:00
JC Brand
8f601e8c94
Found more stuff in core that should go to converse-minimize
2016-03-28 14:08:50 +00:00
JC Brand
ed4b9a85cc
Remove ChatBox views when they get closed.
...
Previously views were only hidden, but not removed. This was an unnecessary
"optimization" which introduced unnecessary complexity.
Problem solved was that closing minimized chats didn't dereference the model
for hidden "normal" chat views, causing an exception to be raised when trying
to log out.
2016-03-28 12:23:36 +00:00
JC Brand
2d846961c2
Use 'type' = 'chatroom' instead of 'chatroom' boolean.
2016-03-21 10:00:15 +00:00
JC Brand
8e18d736b4
fixed indentation of comments
2016-03-19 22:16:00 +00:00
JC Brand
fa69bb1b0a
trimChats called in converse-minimize. Return the view.
2016-03-19 21:56:55 +00:00
JC Brand
08222182c5
Move VCard functionality into separate plugin
2016-03-16 11:21:27 +00:00
JC Brand
fe47773c7f
Move ChatView into separate plugin.
2016-03-14 14:04:36 +00:00