Commit Graph

546 Commits

Author SHA1 Message Date
JC Brand
441f7a2a15 Show the chatroom occupants JID in the tooltip
if you're allowed to see it.
2017-02-19 01:08:08 +00:00
JC Brand
a6ca5aad35 Show room features in the sidebar. 2017-02-19 00:39:08 +00:00
JC Brand
10a85336cc Show the description in the heading, not the subject 2017-02-19 00:20:21 +00:00
JC Brand
fddcd1c6cf Improved roster filter UX.
Keep the focus in the input after filtering.
Prevent form submission from reloading the page.
2017-02-13 15:07:46 +00:00
JC Brand
fd2f1c22e4 Fixes #775 2017-02-13 14:26:59 +00:00
JC Brand
85f6a75fed Escape user-generated input to avoid injection attacks 2017-02-13 13:41:37 +00:00
JC Brand
bfd3e7f0b6 Bugfix. Show custom status, not chat status. 2017-02-13 12:00:46 +00:00
JC Brand
890d87c980 Add initial demo of embedded MUC chat 2017-02-02 21:55:05 +00:00
JC Brand
910e9bddcd Refactoring in MUC
What started as an attempt to fix a bug in parseXUserElement, turned into
another large refactoring of MUC code, and it's not clear how to break this up
into multiple atomic commits. So I'm just pushing it all.

At least there are two new tests added to the suite.
2016-12-02 18:41:05 +01:00
JC Brand
06cbd5cdd0 Use the chats_panel.html template in converse-minimize.js
To which it's actually applicable (instead of core).
2016-11-22 17:39:36 +01:00
JC Brand
0c2c7be467 Close the controlbox when logging out...
and don't show the online count in the toggle.
2016-11-03 13:59:05 +00:00
JC Brand
d3090f80bc Remember which panel was open when reloading the page. 2016-11-02 22:08: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
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
1de2f7145c Let bookmarks list use same markup/css as the available rooms list 2016-10-18 11:34:46 +02:00
JC Brand
b832285d93 Markup fix to allow bigger chatview avatar 2016-10-15 00:02:22 +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
0020be34d7 Show a list of current bookmarks in the "Rooms" panel 2016-10-06 12:05:25 +02:00
JC Brand
052dd19252 Initial work on adding chatroom bookmarks. 2016-10-05 23:15:42 +02:00
Mathias Ertl
1ba68dc8b2 Csp compat (#695)
* Remove some inline CSS style to improve CSP compatibility

* update changelog
2016-10-03 19:45:06 +02:00
JC Brand
90d1071df0 Load templates in the respective plugins 2016-09-23 12:35:01 +02:00
JC Brand
713922a9e1 Update to Strophe 1.2.8 and add support for SASL-EXTERNAL auth 2016-09-16 13:06:52 +02:00
JC Brand
a2ba3ccd4c Fixed chat state value, should be chat not chatty. 2016-08-23 08:43:20 +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
0f3526c570 Bugfix. Still render server input field, just make it hidden. 2016-07-26 08:30:26 +00:00
JC Brand
172ce7e0ce Remove the members-list work and keep the nickname form stuff
It's not stable yet and XMPP server support is very patchy.
However, the nickname form work can be merged into master.
2016-07-26 07:14:22 +00:00
JC Brand
be47ceaab5 In case of a nickname conflict, enable the user to choose a new one 2016-07-26 07:12:56 +00:00
JC Brand
cd75b2efab Let the user choose their nick after opening a chat room
This change is with an eye on supporting reserved nicknames, in which case the
user who has a reserved nickname won't have to choose a nick upon joining a
room.
2016-07-26 07:12:56 +00:00
JC Brand
93a8dfc024 Indicate whether a room occupant is online or not. 2016-07-26 07:12:56 +00:00
JC Brand
60f433d12e Initial work on managing a room's member's list. 2016-07-26 07:12:56 +00:00
JC Brand
854633089d Add config setting to disable MUC direct invites. 2016-06-10 14:17:10 +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
8e0f8f0a6d Add the ability to filter contacts by chat state.
The roster filter is now also remembered across page loads.
2016-04-02 11:30:54 +00:00
JC Brand
ea9665df4b Add the option sticky_controlbox, to disable closing it.
updates #622
2016-03-31 09:17:32 +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
df99fa8c0d Use rel=noopener with links that contain target=_blank...
to prevent potential phishing attacks.

More info here: https://mathiasbynens.github.io/rel-noopener
2016-03-16 08:52:45 +00:00
JC Brand
a1b31cd1ed Initial work on adding support for headline messages. 2016-03-14 14:04:31 +00:00
JC Brand
e27dfa060a Add a new template for OTR-related toolbar buttons
The OTR functionality is now fully decoupled and can be removed entirely
without breakage.
2016-02-16 07:47:16 +00:00
JC Brand
9eba9989dc OTR stuff has been moved to a component/plugin in src/converse-otr.js
Also fixed errors with converse obj not being defined in the MUC plugin.
2016-02-16 07:47:16 +00:00
JC Brand
dcf09ee924 Add new option include_offline_state which is by default false
We remove the offline state as a choice in the dropdown because
'offline' is not a valid XMPP state and it doesn't propagate across tabs.

Updates: #547
2016-01-18 10:40:59 +00:00
JC Brand
d36775fe91 Fixes around resizing of chats.
- The .box-flyout container also needs it's width set upon page load.
- Remove custom height/width upon viewport change (if viewport is small enough).
2015-11-05 10:02:23 +00:00
JC Brand
341d5e746d Update styling for the status change form. 2015-11-03 17:14:13 +00:00
JC Brand
66c029ed3e More CSS and markup fixes after looking in FF.
Changed the icon-* selector to apply only to :before (fixes ugly font rendering in FF).
2015-11-02 00:11:00 +00:00
JC Brand
80d8b89797 Remove the VCard rendering code.
Probably won't make it in next release.
2015-11-01 23:26:24 +00:00
JC Brand
43b9fa0fc8 Initial work on rendering VCard info in chat box 2015-11-01 02:31:59 +00:00
JC Brand
9436f6ed2f Initial updates to the chat head look.
- Round buttons
- Make the head taller
- Wrap name
- Add "view" button for viewing vcard data (needs JS code still).
2015-10-31 18:29:43 +00:00
JC Brand
89c7276d6d Add more sass variables for color variations. 2015-10-31 17:04:54 +00:00
JC Brand
dfcebeb621 Rename participants to occupants. 2015-10-31 16:48:50 +00:00
JC Brand
35a4f9bd7e Update the JS to better render the chatroom config form.
Other small tweaks as well.
2015-10-31 16:18:31 +00:00
JC Brand
4a8b5da197 Some work on nicer rendering of chat room form.
Still needs more work. Needs <fieldset> tags.
2015-10-31 13:02:47 +00:00
JC Brand
bf3891569e Various small CSS fixes and improvements. 2015-10-30 18:47:13 +00:00
JC Brand
6d356817cb Found another form that's not a pure-form yet.
The add contact form.
2015-10-30 17:40:11 +00:00
JC Brand
4619d886ad Add .pure-form to more forms. 2015-10-29 17:17:03 +00:00
JC Brand
e1f41777a4 Updated button styles and update buttons all over the place. 2015-10-29 09:57:52 +00:00
JC Brand
f37fadc318 Added a new color scheme. 2015-10-29 09:29:01 +00:00
JC Brand
aaa8ea36ee Fix CSS for minimized chats (broken after recent refactoring) 2015-10-29 08:12:40 +00:00
JC Brand
8fd20f3ac9 More CSS/styling updates
- Remove currently unused pure modules (forms and menus)
- Update forms (not all yet) markup and css
- Move all controlbox mockups to mockup/controlbox.html

Forms look much better now in mockups but JS and templates still needs updating.
2015-10-29 07:28:09 +00:00
JC Brand
8708b68577 Include CSS from pure.css and update styles and markup a bit. 2015-10-28 20:31:24 +00:00
JC Brand
a89659425d Add new css chat-msg-author as base class. 2015-10-28 09:03:37 +00:00
JC Brand
7ad3c385aa Rename chat-message-* class to chat-msg-* 2015-10-28 08:52:19 +00:00
JC Brand
ca2b40f79c More css refactoring. 2015-10-28 08:49:28 +00:00
JC Brand
ee9f73ab50 Move more Sass out of core into separate files. 2015-10-28 07:33:50 +00:00
JC Brand
37c6925e9c More refactoring of css/sass.
- All chats (boxes and rooms) should now have .chatbox class (for base styles)
- Move specific stuff to new sass files (fonts, chatbox, normalize)
2015-10-27 10:22:19 +00:00
JC Brand
ff2910b9ce Fix CSS and horizontal dragresize for chat rooms.
- Rename .chat-body to .chatroom-body
- Upate SASS for chat rooms
- Hide the room occupants view by toggling the class "hidden"
- The chatroom chat area and occupants list are now shown as table cells.
2015-10-24 20:46:58 +00:00
JC Brand
07985ccf54 Fix CSS for the minimized chats toggle. 2015-10-24 20:46:58 +00:00
JC Brand
c421c0fef3 Add .flyout class to templates. Declare more vars in Sass. 2015-10-24 20:46:58 +00:00
JC Brand
74aa6021f4 Enable diagonal and horizontal drag-resizing.
Only leftward resizing is allowed since there's no space for boxes to expand on the right.
Text area of chat boxes don't yet resize properly.
Didn't test at all on chat rooms.
2015-10-24 20:46:57 +00:00
Christoph
e20018961f Fix outgoing chat messages not having a msgid when being put into sessionStorage, fixes #467 2015-10-12 11:06:12 +02:00
JC Brand
414265299a Drop dragresize-tm class. Don't set height if not available 2015-09-24 13:55:48 +00:00
Christoph
19ef0f8c71 Fix #461: MUC working with spaces etc. in room names 2015-09-03 16:19:06 +02:00
JC Brand
e8fba4a7d0 Refactored showNewDay to indicate day changes between messages.
updates #306
2015-07-19 13:43:26 +02:00
JC Brand
3ba12580c4 Store the isodate on chat messages in the DOM.
This will be useful later when we want to better place messages in the right
order.
2015-07-19 12:21:49 +02:00
thierrytiti
479bab2ce4 Enhancement #394 Option to allow chatting with pending contacts 2015-06-18 16:31:30 +02:00
Christoph
8f7f3e323c Hide server label in room panel when input is hidden by hide_muc_server=true config 2015-06-11 15:06:11 +02:00
thierrytiti
7a359562ad Add placeholder for 'Insert a smiley' 2015-05-15 12:01:29 +02:00
Guillermo Bonvehí
70191eac00 Added login-panel placeholder and roster-item Name translations
This will allow to translate 'user@server' and 'password' in the login
screen and also in the roster-item tooltip, there's 'Name:' which can
now be translated
2015-05-08 14:08:09 -03:00
JC Brand
c2be6019f7 Remove type="email" from JID input. 2015-04-25 23:34:52 +02:00
JC Brand
6dc355a02a Show the domain when rendering a legacy registration form.
Also updated the changelog with #377
2015-04-21 17:21:26 +02:00
JC Brand
a2be2567d2 Allow auto_login also with a provided jid and password.
* Update the docs to mention the new ``authentication`` option.
* Update failing tests due to ``prebind`` being replaced with ``authentication``.
* Rename 'manual' value for authentication to 'login' since it's used in both manual and auto cases.
2015-04-02 13:07:59 +02:00
JC Brand
b2b2b2bbc0 Enable automatic anonymous login. 2015-03-22 13:20:24 +01:00
JC Brand
4d3b4380dd Add support for anonymous login. 2015-03-22 12:14:45 +01:00
pzia
a629e0cc61 Hide 'Server' Label when hiding server input 2015-03-17 11:27:43 +01:00
JC Brand
90e4d6cba6 Add new configuration setting "allow_contact_removal". 2015-03-09 19:47:24 +01:00
camaran
c6c48e297f tipe email, more mobile firendly 2015-03-09 16:09:47 +01:00
JC Brand
f73b74a8e3 CSS tweaks. 2015-03-06 12:01:56 +01:00
JC Brand
5ed0e75ee5 Fix some style issues on the controlbox. 2015-01-16 22:56:23 +01:00
Guillermo Bonvehi
4843f7efc2 Add fullname and jid to contact's tooltip in roster
It seems title attributes are limited to 512 chars, we will have
to live with that unless a custom tooltip is used.
2015-01-05 03:43:53 -03:00
JC Brand
3de79ba607 Don't render input inside label 2014-12-13 03:23:49 +01:00
JC Brand
2066cdce31 Nicer display of roster filter and add labels to chatrooms form 2014-12-13 00:15:19 +01:00
JC Brand
e4307f7ab8 See below
* Fix login panel rendering bug
* Make registration form i18n aware.
* Make providers link configurable.
2014-12-06 18:58:14 +01:00
JC Brand
03ec659b50 Add another test and another template. refs #117 2014-12-01 20:31:01 +01:00
JC Brand
444734a802 Add form_username.html (should have been added in earlier commit) 2014-11-27 10:41:58 +01:00
JC Brand
67418b3036 Let href point to panel id
so that it properly gets hidden by switchTab
2014-11-27 10:40:50 +01:00
JC Brand
7125bd1d67 Render form captcha. updates #117 2014-11-24 20:35:00 +01:00
JC Brand
923056925f Show hardcoded urls. Some css width tweaks. updates #117 2014-11-23 22:26:38 +01:00
JC Brand
3dbcdd6171 More work on XEP-0077. updates #117
* On the registration form, show the xmpp.net badge for XMPP provider.
* More CSS and form improvements.
* New template registration_form.html
2014-11-20 11:51:12 +01:00
JC Brand
bfab4fb803 Better error handling, some handling of legacy forms and css fixes.
updates #117
2014-11-19 21:20:36 +01:00
JC Brand
f4096ea9fb More form handling code. updates #117 2014-11-17 13:55:52 +01:00
JC Brand
e9638e70c7 Initial work on allowing in band registrations. XEP 077 2014-11-16 22:16:42 +01:00
Guillermo Bonvehí
69ccdc9a85 Add more field types to MUC config
Added support for fixed, jid-multi and list-multi types.
2014-11-13 18:18:32 -03:00
JC Brand
55e32c735d Fix tests 2014-10-27 23:06:11 +01:00
JC Brand
2f968f7095 More optimizations.
Don't sort the global ContactRosters collection (we only need to sort the
individual groups).
Only add the roster to the DOM once the users have been added.
2014-10-25 12:33:24 +02:00
Sergey Fedoseev
ea641607e3 templates: close li tags 2014-10-10 14:35:14 +06:00
Sergey Fedoseev
642302ad60 login_panel.html: remove useless quote character 2014-10-08 01:04:51 +06:00
JC Brand
46400efa97 Markup fix 2014-09-22 13:16:43 +02:00
JC Brand
e860343eb2 Bugfix. The chatroom was being joined twice, causing duplication. 2014-09-21 00:19:59 +02:00
JC Brand
0babac2b17 More fixes to properly tear down session after logout.
Fixed problem with Strophe handlers zombies.
Remove zombie handlers for minimized chats (caused duplicate minimized chats).
2014-09-20 15:08:53 +02:00
JC Brand
785919a019 Make login method post.
Avoids username and pw inadvertently being added to the URL if the submit event
handler for some reason fails (which shouldn't happen of course).
2014-09-18 18:49:37 +02:00
JC Brand
450ce04fd9 Refactor chat rooms.
When re-attaching to an existing session, chat rooms are fetched from
sessionStorage and we join them again.

However, unless we send a presence of type unavailable before reloading the
page, from the XMPP server's perspective we never left the chat room.

It therefore doesn't send us again the room occupants or room messages.

To send a presence of type unavailable is a hack and not desireable. Rather, we
want to stay in the room and just re-attach to it upon page reload.
In order to do this, we need some new functionality.

* Refactor the chat room sidebar into a new Backbone Model/View combo. (done).
* Store/fetch room occupants in/from sessionStorage (done).
* Store/fetch room messages in/from sessionStorage (not yet done).
* Instead of re-joining a chat room which we never left, just register the event handlers again. (not yet done).
2014-09-12 15:30:28 +02:00
JC Brand
e59071aeea Add the ability to log out of a session. updates #80 2014-09-07 13:18:36 +02:00
JC Brand
e64153b83f Implement the participants show/hide feature. 2014-09-03 20:04:32 +02:00
JC Brand
67c00d779d Tweak invite widget style and make the placeholder text translateable.
updates #215
2014-08-31 21:29:47 +02:00
JC Brand
84c2242c91 Enable typeahead on the input and style the suggestions dropdown. updates #215 2014-08-27 11:16:29 +02:00
JC Brand
f1555774f0 Add typeahead.js as dependency and integrate. updates #215. 2014-08-26 19:59:48 +02:00
JC Brand
1299a1d4ba Add support for filtering by group. update #212 2014-08-11 21:48:48 +02:00
JC Brand
1441f4ab64 Add text input to act as live filter. updates #212 2014-08-07 21:33:19 +02:00
JC Brand
539bd2db10 Fixed some problems with rendering roster contacts 2014-08-03 23:55:20 +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
482d09777c Fix width for pending and requesting contacts 2014-07-23 18:25:26 +02:00
JC Brand
e1a19678ad Allow group headings to be toggleable. updates #83 2014-07-20 19:11:34 +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
a338ede0d1 Replace accept/decline buttons with font icons 2014-07-19 14:50:25 +02:00
JC Brand
6bded11304 Add connection feedback on the controlbox.
Now that the toggle is hidden when the controlbox is visible.
2014-07-14 20:41:26 +02:00
JC Brand
166b3bd003 Increase the clickable area for restoring a minimized chat 2014-07-06 12:40:50 +02:00
JC Brand
27cce2c229 Refactor to store number of unread messages 2014-06-29 15:59:39 +02:00
JC Brand
0d3977d3d4 Remember the state of the minimized chats toggle 2014-06-14 20:32:45 +02:00
JC Brand
7d6595435e Add the logic for toggling minimized chats 2014-06-11 22:01:18 +02:00
JC Brand
ef9fd9617d Fix rendering of minimized chatrooms 2014-06-02 04:47:23 +02:00
JC Brand
afcb49b6b6 Show the consolidation in the mockup. 2014-06-01 20:56:58 +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
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
JC Brand
c05c2ee991 Add trimmed chats to templates 2014-05-13 09:26:13 +02:00
JC Brand
0b10ad00fd Some initial work on adding trimmed chat functionality 2014-05-11 20:45:28 +02:00
JC Brand
9b3601314e Add a new toolbar button to clear chat messages
Configuration options have changed a bit.

show_emoticons and show_call_button are now removed. Instead the toolbar is
configured via a new config option: "visible_toolbar_buttons".
2014-04-24 18:10:04 +02:00
JC Brand
909f78503e Show "refresh" instead of "start" when already encrypted. 2014-03-09 13:31: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
4f2125c20e Simplified by setting height via template, not JS
Also dropped the minimum height restriction
2014-03-01 01:57:20 +02:00
JC Brand
7d58d856b8 Save chat box's toggle state between page loads. 2014-03-01 01:57:20 +02:00
JC Brand
12fc286ca6 Various changes, see below:
- disable drag resizing when chatboxes are minimized.
- refactored chat box and chat room markup so that they are more similar.
- don't make the chat box title clickable if no vcard URL is available
- make only the title text clickable, not the whitespace
- fixed toggling of resized chats
2014-01-27 02:26:55 +02:00
JC Brand
62f6997a25 Chat boxes and rooms can now be resized vertically
The new size is not stored/persisted.
2014-01-23 00:55:52 +02:00
JC Brand
d2358a6a93 Controlbox and its toggle are now mutually exclusive.
When the one is visible, the other is hidden and vice versa.
2014-01-22 23:19:45 +02:00
JC Brand
0bc40eed25 Start updating the templates with the new markup 2014-01-22 20:44:47 +02:00
JC Brand
18cacdc94b More templates refactored into separate files. 2014-01-19 11:22:56 +02:00
JC Brand
feb81a02f3 Move more templates out into separate files. 2014-01-19 06:37:55 +02:00
JC Brand
55b9a4e568 Initial support for external HTMl templates. Updates #77 2013-12-31 01:07:11 +02:00