JC Brand
6a82c087c3
Refactor to eventually allow buddies to belong to multiple groups.
...
In order to make group values non-distinct, (i.e. buddies can be in multiple
groups), we can't assume there's one view per roster item.
This means we cannot manage the rosterview as an overview (since it makes this
assumption).
2014-07-31 21:50:34 +02:00
JC Brand
d0f07f26a5
Check that users are sorted per group and that groups are in the correct order.
...
updates #83
2014-07-31 20:52:38 +02:00
JC Brand
64580bfd3d
Refactor to make more manageable
2014-07-31 18:20:20 +02:00
JC Brand
9b65b57024
Ensure that group headings appear in alphabetical order.
...
updates #83
2014-07-30 19:20:38 +02:00
JC Brand
303041a980
Test for more variance within group names. updates #83
2014-07-30 09:11:28 +02:00
JC Brand
3984aadb9f
More work (with tests) on showing roster items under groups.
...
updates #83
2014-07-29 19:53:57 +02:00
JC Brand
be76156292
All tests pass \o/
2014-07-25 10:18:59 +02:00
JC Brand
cfa55896a5
Trying to use a document fragment for the roster view
2014-07-25 09:58:42 +02:00
JC Brand
0640dd5ae5
Clean up the initialize method of RosterView
...
by moving event handers out
2014-07-25 08:59:38 +02:00
JC Brand
434e21d046
Some sorting optimizations
...
* Differentiate between adding new roster items and rendering existing ones.
* Also, only sort pending and requesting contacts once they've all been added
(similar to what was already being done with existing contacts)
2014-07-24 20:48:52 +02:00
JC Brand
ce617f1f31
Some refactoring of RosterView and skeleton for groups test
2014-07-20 22:44:50 +02:00
JC Brand
0f6d1f9edb
Add tests for toggleable headings. updates #83
2014-07-20 20:45:59 +02:00
JC Brand
3236d251e5
JShint doesn't like functions inside loops
2014-07-20 19:36:53 +02:00
JC Brand
04d2b3aefd
Some initial refactoring to support roster groups. updates #83
...
Made sure that the non-group usecase is still covered.
2014-07-19 23:45:21 +02:00
JC Brand
0be33b81ef
Fix tests
2014-07-19 15:26:30 +02:00
JC Brand
df91f17894
Fix tests. Emitted events weren't yet renamed in the tests.
2014-07-14 23:29:08 +02:00
JC Brand
38b26784b6
trimmed views are minimized by default
2014-07-06 11:00:43 +02:00
JC Brand
c25f33b181
Add proper separation between controlbox tests
2014-07-04 21:18:28 +02:00
JC Brand
5034ae33f2
Work on getting proper separation between tests.
2014-06-30 20:26:45 +02:00
JC Brand
718f75a464
Make sure sessionStorage is cleared
2014-06-30 19:55:26 +02:00
JC Brand
4950bb9120
Fixing tests after latest refactoring
2014-06-30 19:21:16 +02:00
JC Brand
75a94fb2b7
Merge branch 'master' of https://github.com/derek-wangpch/converse.js into derek-wangpch-master
2014-06-30 18:59:49 +02:00
JC Brand
180d175e54
Fix tests. Make sure the min chats toggle gets updated
2014-06-29 18:30:01 +02:00
JC Brand
27cce2c229
Refactor to store number of unread messages
2014-06-29 15:59:39 +02:00
JC Brand
4b8196cd7e
Add more tests around minimized chats.
2014-06-21 23:01:56 +02:00
JC Brand
c3dcbbc660
Fix last failing tests.
2014-06-21 11:46:23 +02:00
JC Brand
f0091c9c9c
Control box toggle's class has been changed.
2014-06-21 11:32:05 +02:00
JC Brand
1bea7a1a97
Fix trimming/minimize tests broken after recent refactor
2014-06-16 00:03:34 +02:00
JC Brand
c9d7e17a10
Fix test failures due to previous commit
2014-06-14 22:03:04 +02:00
JC Brand
e2d494f0ad
Unread chat messages now appear on the minimized chat view.
2014-06-04 09:32:40 +02:00
JC Brand
0d3c101cbf
Start fixing message count bugs
2014-06-02 21:51:30 +02:00
JC Brand
c6a32b847e
Fix chatroom tests
2014-06-02 05:13:53 +02:00
JC Brand
6e5bf44ada
This branch marks the start of a significant conceptual change.
...
Instead of differentiating between trimmed chats and minimized chats, the two
are now combined into the same thing.
This commit contains some initial work, but functionality is still impaired.
2014-06-01 20:09:09 +02:00
JC Brand
88d20d0372
Add test for restoring of trimmed chats
2014-06-01 18:16:32 +02:00
JC Brand
c594e5a1e9
Add new test for trimmed chats
2014-06-01 17:57:03 +02:00
JC Brand
eb424a9dbe
Check that chat boxes are created to the right
...
of any existing ones, but left of the control box.
2014-06-01 16:26:51 +02:00
JC Brand
b84fb41341
Trimmed chats can now be restored.
2014-05-27 22:51:11 +02:00
JC Brand
38e0668372
Fix tests.
2014-05-27 19:18:02 +02:00
JC Brand
ad51e1c0f7
More working on trimming chats. (still very buggy)
...
More flesh on the view and superview for trimmed chats.
Add event handlers.
Renamed some methods to make them shorter, more consistent.
2014-05-27 18:34:22 +02:00
Derek Wang
fffc0213c4
Fix format
2014-05-19 22:12:55 +08:00
Derek Wang
f0bb123e7f
Fix a bug that emoticon of '<3' and '>:)' cannot be displayed correctly in the message
2014-05-19 22:06:11 +08:00
JC Brand
aa52ba5b94
Add method trimOpenChats. Updates #61
2014-04-26 06:55:52 +02:00
JC Brand
b307d5170b
Date handling is now done with moment.js
2014-04-25 23:44:10 +02:00
JC Brand
dec674fae2
Bugfix. Opened chatboxes weren't focused...
...
...when clicking on a contact in the roster
2014-04-24 20:55:07 +02:00
JC Brand
4937fafea4
Add tests for new "clear" button.
2014-04-24 19:21:38 +02:00
JC Brand
14d90bc99c
Upgrade dependencies to their latest versions
2014-04-19 05:12:24 +02:00
JC Brand
bf6474ff6d
Upgrade jquery to 1.11.0 and add jquery.browser
2014-04-19 01:52:44 +02:00
JC Brand
7d472eb26d
Add new dependency moment.js
...
Use it to better compare dates when trying to determine whether a message falls
on a different day.
Also upgraded some dependencies' versions.
2014-04-19 01:30:48 +02:00
JC Brand
b88113c246
Fixed some failing tests.
...
Some of the tests were failing because they didn't expect the controlbox to be
returned from localStorage.
It's too long ago that I've looked at this branch for me to say whether this is
a legitimate bug or not.
Will have to investigate further.
2014-04-18 17:42:35 +02:00
JC Brand
3cfcb2ae34
2 controlbox bugfixes and spec typo.
...
* Save controlbox to containing collection
* Call refreshWebkit after closing controlbox
2014-03-15 05:52:00 +02:00
JC Brand
6290f954a7
Add toggle test for chatrooms
2014-03-14 21:35:43 +02:00
JC Brand
bb0f49cf4d
Add a counter to show unread msgs when chat is minimized
2014-03-09 13:31:01 +02:00
JC Brand
9849daacf9
Merge branch 'master' into 0.8
...
Conflicts:
bower.json
converse.js
docs/CHANGES.rst
spec/chatbox.js
tests/utils.js
tests_main.js
2014-03-09 08:18:00 +02:00
JC Brand
8001444a1c
Add another URL test with double quotes.
2014-03-09 05:51:21 +02:00
JC Brand
74779afd66
Ensure that URLs in messages are properly escaped
2014-03-05 08:03:52 +02:00
JC Brand
34fa05888d
Add (currently still disabled) test for...
...
message counter for minimized chats
2014-03-05 02:10:29 +02:00
JC Brand
25cc229019
Refactor message handling
...
- use the same method for both normal and OTR messages
- fix /me actions for OTR messages
- rename messaging methods to minimize ambiguity
Conflicts:
converse.js
tests/utils.js
2014-03-05 01:46:19 +02:00
JC Brand
317ab95cd8
Refactor message handling
...
- use the same method for both normal and OTR messages
- fix /me actions for OTR messages
- rename messaging methods to minimize ambiguity
2014-03-05 01:23:45 +02:00
JC Brand
c2b7caaedf
Add a test for chatbox toggling.
2014-03-04 20:16:39 +02:00
JC Brand
b14538b441
Rename ChatBoxesView to ChatBoxViews
2014-03-04 15:54:36 +02:00
JC Brand
1567b212c3
Add closure get/set methods for rosteritem views
2014-03-04 15:49:02 +02:00
JC Brand
d20ca10638
Add closured get/set methods for views from chatboxesview
2014-03-04 15:09:16 +02:00
JC Brand
ac0042fdf9
Extend the "close chat" test with a normal chatbox usecase
2014-03-04 13:22:49 +02:00
JC Brand
11b59b31d3
Fix tests after all the refactoring...
2014-03-01 01:57:20 +02:00
JC Brand
1ce7620b88
Merge remote-tracking branch 'origin' into 0.8
...
Conflicts:
converse.js
docs/CHANGES.rst
index.html
2014-02-23 02:54:35 +02:00
JC Brand
18d6a91881
Add API method to retrieve the SID. Fixes #93
2014-02-12 12:37:39 +02:00
JC Brand
30f3114c7c
Add method to get the latest RID. Updates #93
2014-02-12 12:19:12 +02:00
JC Brand
62d59ff3e4
Refactor some OTR code into a Backbone model and adapt tests.
2014-02-12 07:12:00 +02:00
JC Brand
398142c7de
Add a test for the passphrase storage. Updates #111
2014-02-12 02:02:45 +02:00
JC Brand
e3b8a8f9dd
Move event emitter tests out into their own spec
2014-02-12 02:02:25 +02:00
JC Brand
18cacdc94b
More templates refactored into separate files.
2014-01-19 11:22:56 +02:00
JC Brand
4e9dc08b0b
Clean up after running tests, by closing chatboxes.
2014-01-19 07:02:18 +02:00
Pete Nicholls
6002e0fdf9
Use converse.emit to dispatch call button event
2013-12-19 12:26:11 +13:00
Pete Nicholls
db60894834
Add optional call button to chat box toolbar
2013-12-19 12:26:07 +13:00
JC Brand
4186bf3ca3
Throw event onRosterViewUpdated whenever the roster HTML changes. Fixes #101
2013-12-18 16:30:19 +02:00
JC Brand
8633d23738
Sanitize text messages to disable Javascript injection attacks.
...
Thanks to hejsan.
2013-12-18 13:51:59 +02:00
JC Brand
c8bf0491c8
Add new spec to test converse.js's API. Fixes #48
2013-12-16 20:00:21 +02:00
JC Brand
326e5a188b
Rename the spec files
2013-12-16 20:00:15 +02:00
JC Brand
d1bf5b8466
Add event emitter tests for chatrooms. Updates #48
2013-12-16 19:19:25 +02:00
JC Brand
cdc350f592
Add more tests for events emitting. Updates #48
2013-12-16 15:27:07 +02:00
JC Brand
1939ddac23
Test events emitted when own status or status message is changed. Updates #48
2013-12-15 18:13:39 +02:00
JC Brand
7a5bc7fe65
'ask' attribute of 'subscribe' is only for 'pending out' requests.
...
Did more investigation with regards to subscription requests.
As far as I can tell, roster updates will only show ask='request' for 'pending
out' requests.
For 'pending in' requests (what converse.js calls requesting contacts), roster
updates are not used and instead a presence stanza with type 'subscribe' is
used.
This makes sense. When sending a presence with type 'subscribe', we need a way
to keep track of our outgoing subscriptions. The XMPP server helps us do this by
adding a user to our roster with ask='request' and subscription='none'.
When our contact receives our presence with type 'subscribe', they have the
information they need. If they go offline and online again, the XMPP server
will resend the presence with type 'subscribe'. So a roster item is not needed.
In convere.js's internal representation of the roster (via the RosterItems backbone
object) we need to add roster items for 'pending in' contacts so that we can
render them and we need to know whether they are 'pending in' or 'pending out'.
We already know they're 'pending out' when ask='subscribe' and
subscription='none'. For 'pending in', since these roster items are only stored
locally and not on the XMPP server (because 'pending in' requests are handled
via <presence> stanzas and not the roster) we add a special attribute
'requesting'.
2013-11-06 09:54:58 +02:00
JC Brand
fb8e2cde72
Roster item 'ask' property is always 'subscribe' for subscription requests
...
* 'pending' state is denoted by subscription='none', ask='subscribe'
* 'requesting' state is denoted by subscription='from', ask='subscribe'
Reference: http://xmpp.org/rfcs/rfc3921.html#int
I'm not yet 100% sure with regards to the 'requesting' state, I can't find
anything about it in the above mentioned reference, but apparantly that's what
prosody's roster response looks like (e.g. <item jid='XYZ' ask='subscribe'
subscription='from'/> ).
With ejabberd I haven't yet received such a roster response and contact
requests are always handled via presence stanzas.
updates #81
2013-11-06 09:04:44 +02:00
JC Brand
fc3a08400e
Add tests for the chat toolbar.
...
Including the emoticon menu and the OTR menu.
More tests needed for OTR in particular.
2013-11-03 22:28:44 +02:00
JC Brand
00e0782576
Add a test that checks for delayed messages. Fixes #76
...
Messages older than one day do indicate it.
2013-11-03 13:24:18 +02:00
JC Brand
d7d8948eba
Refactor ChatRoom tests (move code to utils.js)
2013-11-03 12:02:25 +02:00
JC Brand
13babe4fae
Refactored chatbox tests to be run independently
2013-11-03 11:38:48 +02:00
JC Brand
44fe406a34
Refactored tests.
...
Split MainSpec out into ChatBoxSpec and ControlBoxSpec.
Part of trying to have looser coupling between tests so that they can be run
independently.
2013-11-02 13:37:38 +02:00
JC Brand
b0f12d0f79
$.proxy can be used to pass in extra args, no need for fn.bind
2013-11-02 12:03:57 +02:00
JC Brand
ff345dcf51
Move mock.js to tests dir. Add utils.js
...
Both changes from tests-refactor branch
2013-11-02 11:32:52 +02:00
JC Brand
38c26013d0
Simplify the boilerplate HTML require even more.
...
Use id 'conversejs' instead of 'chatpanel'.
The controlbox toggle is now generated via a backbone view, you don't need to
manually include it in your markup.
2013-10-20 22:42:34 +02:00
JC Brand
0deb8be9e7
Fix tests. sendPresence is now sent out at a different place
2013-10-15 21:05:07 +02:00
JC Brand
e883d137fc
Bugfixes. RosterItemView didn't rebind events. Undefined vars in onConnect.
...
When using show_only_online_users, roster item DOM elements are removed from
the DOM if their status changed from 'online' to something else.
When their status changed to 'online' again, they were re-added.
Their views (RosterItemView) instances however didn't listen to events anymore.
Calling delegateEvents on the view after calling $.remove() fixed this.
2013-10-07 09:16:26 +02:00
JC Brand
6d026f010e
Fix tests that were broken after vCard changes
...
Conflicts:
tests_main.js
2013-10-03 13:51:29 +02:00
JC Brand
7f4bdb4098
Don't use id for controlbox panes
2013-10-03 13:45:50 +02:00
JC Brand
be66284748
Add a test for /clear functionality
2013-09-13 12:18:49 +02:00
JC Brand
cc37d6a183
The xa chat state wasn't being handled properly
2013-09-13 10:57:53 +02:00
JC Brand
b34a706132
We didn't have an icon for unavailable state.
...
Also, the status description was not translation aware
2013-09-13 10:35:37 +02:00
JC Brand
0a1a837391
Three more tests for pending contacts.
...
Trying to flesh out the bug where in certain instances the 'pending contacts'
header doesn't get removed after the last pending contact is removed.
2013-08-24 15:33:06 +02:00
JC Brand
bc0e200cee
Fixed tests
2013-08-24 03:13:25 +02:00