Commit Graph

1579 Commits

Author SHA1 Message Date
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
JC Brand
fc631e7f8c Minor refactoring 2018-01-06 19:02:50 +00:00
JC Brand
5ea1b07b6b Use an OrderedListView to render the bookmarks list 2018-01-04 21:51:42 +00:00
JC Brand
1d2bc11840 Fix build scripts 2018-01-04 17:17:17 +00:00
JC Brand
71bdf08c25 Fix the no-dependencies demo 2018-01-04 17:02:29 +00:00
JC Brand
6739b508c3 Small css and text fixes 2018-01-04 16:27:56 +00:00
JC Brand
f7cf1fb70d Fix broken tests 2018-01-04 16:12:09 +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
ee751ec58e Update jquery and sizzle and fix/improve some tests
Fixes #825
2018-01-04 13:11:50 +00:00
JC Brand
199e2e7e27 The refreshWebkit hack appears to no longer be necessary 2018-01-04 12:11:03 +00:00
JC Brand
4652385bb4 Remove jQuery from non-tests config 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
ccb97eb7fd Remove jquery from converse-controlbox 2018-01-03 16:49:08 +00:00
JC Brand
29b5c3e3c3 Remove jquery from converse-dragresize 2018-01-03 16:08:45 +00:00
JC Brand
f1820e5fcd Set dependencies for chatview and muc 2018-01-03 16:08:30 +00:00
JC Brand
8bdaa410db Also take delayed messages into account when checking if new 2018-01-03 15:50:02 +00:00
JC Brand
3a6f7ed109 Remove jquery from converse-minimize 2018-01-03 14:20:10 +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
308cbf5fb7 Call canPlayType as documented on MDN 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
Emmanuel Gil Peyrot
f2ecf3c010 Remove executable bit from files which don’t need it 2017-12-24 17:05:01 +00:00
JC Brand
a6d4419c04 Remove jQuery from converse-bookmarks 2017-12-23 20:56:20 +00:00
JC Brand
f84c443bd2 Remove jQuery from converse-muc.js 2017-12-23 20:29:20 +00:00
JC Brand
0eee445822 Remove jquery as dependency for converse-otr 2017-12-22 21:38:36 +00:00
JC Brand
aa7483a881 Initial work on allowing a headless build 2017-12-22 21:24:15 +00:00
JC Brand
3cf7fefaa8 Make the :last-child selector more specific
otherwise deeper leaf-nodes get returned
2017-12-22 20:49:10 +00:00
JC Brand
49addedd1f Update babel version and use transpiled dist files 2017-12-22 20:35:58 +00:00
JC Brand
cacba4e6b0 Add test for contacts changing their groups
and fix the resulting fallout
2017-12-22 16:58:48 +00:00
JC Brand
c6d2108024 Let RosterView also be an OrderedListView 2017-12-22 15:53:03 +00:00
JC Brand
a3b80eeb6e Move RosterView after RosterGroupView 2017-12-22 14:40:58 +00:00
JC Brand
f59048061f Simplify by removing need to override createItemView 2017-12-22 13:38:20 +00:00
JC Brand
ac643ae63f Refactor views to use Backbone.OrderedListView 2017-12-22 12:02:18 +00:00
JC Brand
0b857011f3 Use "No Password" instead of "Unsecured" 2017-12-20 16:59:17 +00:00
JC Brand
ce1954a9f7 Improved roster performance.
Don't sort the roster group for each `chat_status` change. Instead batch
every 500ms.
2017-12-20 16:59:17 +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
6c6ef1f1f9 Refactoring of the roster view.
* Removed the dependency on jQuery
* Contacts are now shown inside a group element, simplifying the code
2017-12-19 18:44:31 +00:00
JC Brand
a0ba972468 Handle case where <set> element is not returned 2017-12-19 16:32:23 +00:00
JC Brand
21241c5cff Fixes #967. Rooms list not shown when server doesn't support bookmarks 2017-12-19 16:32:23 +00:00
JC Brand
349d097e0a Update slideIn and slideOut to use requestAnimationFrame
For smoother animations.
2017-12-19 16:32:23 +00:00
JC Brand
7ae735c4d0 Better naming and wrap lines 2017-12-18 12:20:39 +00:00
JC Brand
8dae284e6f Log reason when catching errors 2017-12-18 12:20:39 +00:00
JC Brand
bc81a3d680 Specify dependencies, so that their initialize methods get called first 2017-12-17 15:01:45 +00:00
JC Brand
de864bd6f9 Improve slideOut and add more utility methods. 2017-12-17 14:57:07 +00:00
JC Brand
bc6a484467 Remove more jQuery-dependent code from converse-muc 2017-12-15 21:52:14 +00:00
JC Brand
fbc81d30ec Add and document bring_to_foreground option to rooms API 2017-12-15 20:51:07 +00:00
JC Brand
f9343594bf Collapse multiple, consecutive join/leave messages 2017-12-15 16:24:30 +00:00
JC Brand
c874efeb79 Sort chatroom occupants alphabetically and according to role 2017-12-14 18:07:40 +00:00
JC Brand
00708dcfbf Bugfix. Occupants sidebar was toggled incorrectly 2017-12-14 17:30:05 +00:00
JC Brand
23e2aceaca Indicate visitors by making them lighter grey 2017-12-14 13:45:14 +00:00
JC Brand
dc16930464 Test the /voice command and fix a bug 2017-12-14 13:07:39 +00:00
JC Brand
5eabf4008e Render "create account" link via a VDOMView and hide when connecting 2017-12-14 12:30:50 +00:00
JC Brand
9fca25b6a9 Use snabbdom via backbone.vdomview 2017-12-13 22:04:58 +00:00
JC Brand
bd5a49da3f Show an info message when a MUC occupant is muted. 2017-12-07 07:05:37 +01:00
JC Brand
2b6db9d50b Test /help, /kick and /mute commands 2017-12-06 22:11:53 +01:00
JC Brand
031d640438 Don't render avatar for headlines chatbox 2017-12-06 22:10:21 +01:00
JC Brand
8cd75aa09c Move ChatBox, Message and Messages to converse-chatboxes 2017-12-06 22:09:46 +01: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
41ca34a051 Fixes #953 MUC "Features" displayed when exiting configuration 2017-12-06 16:39:29 +01:00
JC Brand
85bea60066 Some of refactoring to avoid code duplication and jQuery 2017-12-06 16:26:53 +01:00
Stefano Boldrin
f953df9621 Fixed error building DOM toggle_chats.html span.unread-message-count class attribute (#960)
* Added missing " on class attribute

* Added changelog for prev commit "Added missing " on class attribute"
2017-12-04 20:44:54 +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
393bbe020e Check disco before fetching own vcard. 2017-12-03 11:10:59 +01:00
JC Brand
e701305d05 Bugfix. Avatar wasn't being shown 2017-12-02 18:07:31 +01:00
JC Brand
8662f751e3 Refactor converse-vcard and add API method to fetch a VCard 2017-12-02 18:01:56 +01:00
JC Brand
063908e032 Append spinner when fetching newer messages 2017-12-02 15:09:04 +01:00
JC Brand
4df61cc496 After reconnection, fetch new messages for private chats 2017-12-02 14:26:28 +01:00
JC Brand
c26ccf5e01 Remove jQuery as dependency for converse-mam.
Also, if a message has no `archive_id` attribute, then do a time-based MAM query.
2017-12-02 14:26:28 +01:00
JC Brand
d420a35e91 Merge remote-tracking branch 'weblate/master' 2017-11-23 15:23:06 +01:00
JC Brand
fa7ca46d12 Text fixes based on feedback from translator 2017-11-23 12:10:40 +01:00
JC Brand
5939f11192 Some work on removing jquery from the controlbox code 2017-11-17 14:42:09 +01:00
JC Brand
141eaa6a39 Fix rendering of heading for headlines boxes 2017-11-17 14:41:54 +01:00
JC Brand
9aefd2739f Remove jquery as dependency for converse-profile.js 2017-11-17 14:21:18 +01:00
JC Brand
9d1c6236ac Move the xmpp status (e.g. profile) view into separate plugin 2017-11-17 13:32:03 +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
250b06475e Bugfix. Disappearing contacts filter when changing the type 2017-11-17 11:30:50 +01:00
JC Brand
0acef8b49d Transpile backbone.vdomview 2017-11-17 11:02:55 +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
691c48468f Hide the roster filter by default. Updates #949
- Also, use a virtual-dom view for rendering the roster filter.
2017-11-11 09:16:45 +01:00
JC Brand
cfd5dad9c5 Use [backbone.vdomview](https://github.com/jcbrand/backbone.vdomview)
For the MUCJoinView and the LoginPanel
2017-11-10 22:01:36 +01:00
JC Brand
ed4c393a9d Create separate view for the MUC join form 2017-11-10 21:37:35 +01:00
JC Brand
a6f2877ed9 Disco API refactoring
This came out of the desire to let `converse-muc` use the API to
determine whether MUC is supported. However, we don't know the entity
JID before hand and I couldn't think of a good way to query all current
and future entities for a feature.

So `converse-muc` still does it's own thing without the API, but some
refactoring came as a result of attempting.
2017-11-10 21:37:35 +01:00
JC Brand
87213bf90a Rename getPromiseWrapper to getResolveablePromise
Let a promise be returned instead of a wrapper, but glue the `resolve`
and `reject` methods onto it
2017-11-10 21:37:35 +01:00
JC Brand
8a4aa4efdd Use a named variable for _.template
This removes the need for `switch (obj)` in the template which is not
allowed in strict mode.

Additionally using a named variable speeds up rendering.
2017-11-05 18:59:29 +01:00
JC Brand
4d06228d89 Various changes around making builds.
- Update build scripts to use transpiled versions of newly added modules
- Stop building locales.js and remove locales stuff from build scripts
- No need for Grunt anymore since we don't need to make locales.js
2017-11-03 08:45:47 +01:00
JC Brand
042a26d05d New API method _converse.disco.supports
to check whether a certain service discovery feature is supported by an entity.
2017-11-02 23:23:01 +01:00
JC Brand
007e608f32 More work on combining the inverse/converse builds
- Use `enabled` method for plugins
- Rename `converse-inverse.js` to `converse-fullscreen.js` and make it a
  core plugin.
- We're no longer making separate mobile and inverse builds

No longer a need to whitelist/blacklist plugins for inverse to work.
2017-11-02 16:41:06 +01:00
JC Brand
754ad7a027 Initial work on combining the converse and inverse modes
- Adds new config setting: `view_mode`
- `converse-singleton` is now a core plugin and its behavior depends on `view_mode`.
2017-11-02 14:21:29 +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
985cf6c294 Use global router to open chat rooms 2017-10-31 22:08:06 +01:00
JC Brand
35db952e71 Make openChatRoom a closured function 2017-10-31 22:07:40 +01:00
JC Brand
46ca6c7de2 Make the router global and clear login/register fragments
upon login or after registering.
2017-10-31 21:47:27 +01:00
JC Brand
61ed55dbaa Rename login and register urls 2017-10-31 20:39:44 +01:00
JC Brand
523c84a254 Log as warning instead of error 2017-10-31 20:38:52 +01:00
JC Brand
e8e20fbf93 Make sure to emit upon reconnection 2017-10-31 20:38:52 +01:00
JC Brand
2d747bb287 Various changes. See below.
* Update localisation/translation documentation due to recent changes.
* Remove `moment_locales.js` and instead load the moment locales in `src/i18n.js`
* Mention how to load the fullscreen version. Refs #939
2017-10-31 20:38:51 +01:00
JC Brand
9862d747a9 Refetch the roster from the server after reconnection.
From the perspective of the XMPP server, this is an entirely new login,
and therefore as per RFC-6121 the roster SHOULD be queried, making the
client an "interested resource".

https://tools.ietf.org/html/rfc6121#section-2
2017-10-31 20:38:51 +01:00
JC Brand
0a7c20a1e2 Log incoming and outgoing XML stanzas in different colors 2017-10-31 20:38:51 +01:00
JC Brand
4dad60c8d6 Include timestamps in debug logs 2017-10-31 20:38:51 +01:00
JC Brand
05c3a5cad6 Move translation machinery into a separate module 2017-10-31 20:38:51 +01:00
JC Brand
bb0e4d26ec Throw more helpful error when there's no connection 2017-10-31 20:38:51 +01:00
JC Brand
20f3172f5e Add fixme note 2017-10-24 11:07:58 +02:00
JC Brand
724e66d0e5 Initial code for opening a room via URL 2017-09-29 00:07:16 +02:00
JC Brand
79080b3569 Routing fixes
* Check if `Backbone.history.start()` has been called before.
* Only call it after routes have been registered.
* Use route for switching between login and register forms
2017-09-28 23:29:37 +02:00
JC Brand
79412215b5 Fix smooth scroll code for the website 2017-09-28 21:26:11 +02:00
JC Brand
5ac1e00cdb Don't add fade-in to controlbox. Causes flashes 2017-09-27 00:36:19 +02:00
JC Brand
50064ec1fd Translation bugfix. Wait until after locales attribute is there 2017-09-27 00:33:58 +02:00
JC Brand
80b3692131 More work in removing locales from builds 2017-09-26 18:27:41 +02:00
JC Brand
74b91faf9a Use browser-based "constraint validation"
to validate required fields, instead of doing it manually.

All supported browsers have this feature.
2017-09-25 13:55:17 +02:00
JC Brand
f0debc61ab Refactor i18n so that only relevant translations are fetched
instead of bundling all translations in the dist file.
2017-09-25 12:49:10 +02:00
JC Brand
9a8db618d3 More user-friendly phrasing 2017-09-24 11:03:27 +02:00
JC Brand
85078b403b Use change event instead of blur.
This solves a bug whereby switching to the register form doesn't happen because
validation gets triggered which somehow prevents it.
2017-09-24 10:21:14 +02:00
JC Brand
3d53943f49 Generate pot file from the converse-no-dependencies build
This is a workaround for the fact that getttext doesn't support ES2015 template
literals and it also allows us to scan for translateable strings in our HTML
templates.
2017-09-24 00:30:43 +02:00
JC Brand
92af05d510 Some more refactoring now that we use a vdom for the login panel
We can now simply call `render` whenever we want to show an error or
notification message.

The flip side is that the template is now larger and contains more login.
2017-09-24 00:30:43 +02:00
JC Brand
be7f8ab4c4 Use a virtual dom to render the login form 2017-09-24 00:30:43 +02:00
JC Brand
2203e9505a Set autofocus on inputs 2017-09-24 00:30:43 +02:00
JC Brand
937b310733 Refactor login form to make it more reactive. 2017-09-24 00:30:43 +02:00
JC Brand
f827979000 converse-register: render the buttons as part of the template
instead of manually
2017-09-24 00:30:43 +02:00
JC Brand
33cc72829b converse-register: 2 changes.
* Use declarative events instead of `addEventListener`.
* Remove the jquery dependency in this module
2017-09-24 00:30:43 +02:00
JC Brand
4063bbfc1c converse-register: Consolidate validation and error reporting 2017-09-24 00:30:43 +02:00
JC Brand
7cfe81ea1f Fix failing tests.
Somehow the tests are flaky when the router sets a URL fragment for login or
registration, so I've now added an event handler which does the work without
setting the URL fragment.

The router is still there so that one can manually link to a URL that has the
registration form open. (Issue #828)
2017-09-24 00:30:43 +02:00
JC Brand
a9b74ca9b5 converse-register: refactor in order to simplify. 2017-09-24 00:30:43 +02:00
JC Brand
ce1e29e4f2 Bugfix. Fields weren't being marked as required. 2017-09-24 00:30:43 +02:00
JC Brand
9cdb0dde8c Various changes
* In certain places, use native methods instead of jQuery
* Nicer rendering of registration forms
* Use CSS3 fade-in animations.
2017-09-24 00:30:43 +02:00
JC Brand
43bbae9006 Don't require auto_login to be true when using the API to log in 2017-09-24 00:30:43 +02:00
JC Brand
57d2f9bce8 Add validation message for an invalid JID in the login form 2017-09-24 00:30:43 +02:00
JC Brand
158acbf1d7 Fixes #828 Add routing for login and register URL fragments 2017-09-24 00:30:43 +02:00
JC Brand
7e4fb52f8d Render register and login forms via links 2017-09-24 00:30:43 +02:00
JC Brand
37fcc6b70e Hide connection feedback parent element 2017-09-24 00:30:43 +02:00
JC Brand
140946a34b Add brand headings 2017-09-24 00:30:43 +02:00
JC Brand
1613c0d7de Styling changes now that we don't have tabs. 2017-09-24 00:30:43 +02:00
JC Brand
196a42dc50 Make sure strings get translated and that interpolation is safe 2017-09-24 00:30:43 +02:00
JC Brand
ce56e0d858 We no longer have login and register tabs 2017-09-24 00:30:42 +02:00
JC Brand
681245584e Remove Login and Registration tabs and consolidate into one panel 2017-09-24 00:30:42 +02:00
JC Brand
f908463ab9 Clear connection feedback after login 2017-09-08 18:18:55 +02:00
JC Brand
bd913734e4 Don't hang indefinitely + nicer error messages
when a connection can't be established.
2017-09-08 14:24:38 +02:00
JC Brand
34e214d0df New release 3.2.1 2017-08-29 13:28:34 +02:00
JC Brand
c9913bf6ac Fix failing tests 2017-08-29 12:29:56 +02:00
JC Brand
e6e0fc9070 minimize: Don't trim chats prematurely.
Also, the minimized chats view now gets rendered after chat boxes are fetched,
so we need to make it check for already added and minimized chats.
2017-08-29 12:29:56 +02: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
734991f1ce Fixes #907: unnecessary validation error 2017-08-29 10:32:44 +02:00
JC Brand
4da4131003 Fixes #908: narrow inVerse login form when allow_registration is false. 2017-08-29 10:23:03 +02:00
lduburas
eef483cb4d Fix regarding ChatRoomView.getDefaultNickName() and muc_nickname_from_jid (#911)
* ChatRoomView.getDefaultNickName() when muc_nickname_from_jid  is used

Allows to overridde nickname by plugins when muc_nickname_from_jid is used.

* CHANGES.md updated
2017-08-28 09:27:59 +02:00
JC Brand
32d574039d Translateable strings must not be template literals
xgettext doesn't support them yet, which causes errors in the pot/po files.

https://savannah.gnu.org/bugs/?50920

updates #909
2017-08-23 12:00:49 +02:00
JC Brand
6c6b85347a Move functions out to make containing function smaller 2017-08-23 11:54:19 +02:00
JC Brand
ab0ec7301f Various fixes for browser that don't support ES2015
Specifically for IE11.

* Add a polyfill for String.prototype.includes
* Make sure all bundled code is transpiled
* Add IE specific fix in converse-otr.js
2017-08-21 15:43:36 +02:00
JC Brand
75301d2875 Bugfix. info called on object that doesn't implement interface Console 2017-08-21 12:52:18 +02:00
JC Brand
016bca74b8 console.warn is not supported on FF < 52 2017-08-21 11:29:06 +02:00
JC Brand
d70746d6ef Fix linting error 2017-08-16 16:32:25 +02:00
JC Brand
9e8c034b42 Handle cases where Jed and/or Strophe.disco aren't available 2017-08-16 16:01:31 +02:00
JC Brand
56c5a9c8d0 Move form utilities to form-utils.js 2017-08-16 15:19:41 +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
694eabfc0e Use promises to determine when to create the controlbox 2017-08-16 13:22:18 +02:00
JC Brand
956340aa8c Make initialized a promise and use it in the controlbox 2017-08-16 12:32:15 +02:00
JC Brand
bc6b5ca930 controlbox: Set connected immediately 2017-08-16 12:32:15 +02:00
JC Brand
273da9e876 Move chatboxes collection and overview into separate plugin 2017-08-16 12:32:15 +02:00
JC Brand
4938621048 Nicer CSS and markup for room configuration forms. 2017-08-16 09:39:13 +02:00
JC Brand
add3b8efb3 utils now no longer depends on jquery. 2017-08-16 09:05:15 +02:00
JC Brand
6c3aa34c23 Some work on removing jquery from converse-bookmarks 2017-08-15 21:47:06 +02:00
JC Brand
3afe5eb8f3 Run the lodash converter only once. 2017-08-15 16:46:55 +02:00
JC Brand
e4d95eb794 Don't load lodash.fp in converse-core. It's not being used there. 2017-08-15 16:36:43 +02:00
JC Brand
bfeb297ffc Clarify usage of locked_domain.
Also, declare it in the controlbox plugin, not in core, where it's not used.
2017-08-15 10:23:57 +02:00
JC Brand
4d2c807cf2 Fixes #220. Enable usage of both _ and fp in non-AMD case 2017-08-09 17:35:48 +02:00
JC Brand
38f8724dd9 roomslist: Add ability to add or remove bookmarks 2017-08-09 15:50:24 +02:00
JC Brand
01888b9ba4 vcard: Properly handle case where FN is empty in VCard 2017-08-09 14:37:33 +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
02a055d31d Bugfix. Query user's JID for mam:2 support, not the domain 2017-08-08 22:09:17 +02:00
JC Brand
805db75e10 Bugfix. Handle case where there's no room data 2017-08-08 16:27:07 +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
8113a14ace Release candicate for 3.2.0 2017-07-22 22:23:44 +02:00
JC Brand
27931d3e37 controlbox: Add JID validation to the login form 2017-07-21 20:14:38 +02:00
JC Brand
631ac6108f controlbox: have only one dropdown menu open at one time. 2017-07-21 20:10:32 +02:00
JC Brand
bfc1e99694 Fix disco test 2017-07-21 20:01:09 +02:00
JC Brand
59edcb2393 muc: Add JID validation to the occupant invite form 2017-07-21 19:53:57 +02:00
JC Brand
b1e5cb26a1 rosterview: When filtering, contacts in closed groups appear. 2017-07-21 18:48:55 +02:00
JC Brand
e59168a360 rosterview: show filter when there are 10 or more contacts
Instead of checking if there's a scrollbar. Otherwise the filter disappears
when all groups are collapsed.
2017-07-21 18:47:43 +02:00
JC Brand
75342b066e css: Titles for available chat rooms were cut off too soon 2017-07-21 18:08:29 +02:00
JC Brand
de7a1f7545 Check specifically for the Slack identity when working around its quirks 2017-07-21 17:58:46 +02:00
JC Brand
9084cdaa57 disco: Don't query for #items on conference components.
We don't need them at that time and we'll query when a chat room gets opened.
2017-07-21 17:46:24 +02:00
JC Brand
439e37feaa disco: Refactor service discovery and add tests.
* `disco#items` are now only fetched when advertised by the entity.
* `identity` information is now also stored on the `DiscoEntity` model.
2017-07-21 17:38:08 +02:00
JC Brand
084d9914b0 muc: Refactored how MAM messages are fetched.
Listen for the `afterMessagesFetched` event.
Wait until `discoInitialized` before fetching.
Add `fetchArchivedMessagesIfNecessary` method(s).
2017-07-21 15:09:50 +02:00
JC Brand
0a47f60f94 Emit new event `afterMessagesFetched` 2017-07-21 15:09:50 +02:00
JC Brand
a9589cba71 Don't expose 'connected' as a promise.
'reconnected' cannot be used as a promise (because it's recurring),
so to avoid confusion let's not have a 'connected' promise either.
2017-07-21 15:09:50 +02:00
JC Brand
7850c38faa disco: Create new plugin converse-disco.
We can now support feature discovery for multiple entities (although we
currently still only query for the user's own XMPP server).
2017-07-21 15:09:50 +02:00
JC Brand
00484280c2 core: Catch and log errors that might happen during initStatus 2017-07-21 15:09:50 +02:00
JC Brand
6ac01ed2ac Bookmark icon shown in open rooms list when allow_bookmarks set to false 2017-07-19 09:28:44 +02:00
JC Brand
0edb38e2c6 Fixes #896 Consistently use XMPP username in user facing text 2017-07-19 09:17:46 +02:00
JC Brand
713e49b095 Fix failing tests 2017-07-19 09:14:02 +02:00
JC Brand
f84790e68c muc: Show JID (instead of only server) in room info
Also made some styling changes and tweaked the room head to better
differentiate between the Name and JID of a room.
2017-07-19 08:30:04 +02:00
JC Brand
c012c2c1af Don't show duplicate sent groupchat messages in Slack chat rooms 2017-07-19 08:28:51 +02:00
JC Brand
d9a61746a2 Bugfix. Server disco features forgotten between logouts. 2017-07-18 10:46:46 +02:00
JC Brand
6fea88fcc3 Add JID validation and error messages to the add contact form 2017-07-17 22:08:15 +02:00
JC Brand
5c487d2faf Refactored the slide methods
so that slider does not have fixed height after being opened and can therefore
shrink or expand appropriately when its children change.
2017-07-17 21:53:33 +02:00
JC Brand
d23046329e Fixed a bug in slideOut where offsetHeight changes after sliding out
As a result we can again show emoji categories and skin tones on the same line
(if there is enough space).
2017-07-17 18:09:14 +02:00
JC Brand
496d2521fc muc: Show room domain in header.
Also make sure room name gets saved once it's been updated.
2017-07-17 18:07:31 +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
1dfdba0db9 muc: Ignore non-MUC (like error) messages
Noticed that Slack sends error messages back in response to chat state
notifications.

We're not doing anything with them currently and they bloat the sessionStorage
2017-07-16 12:51:20 +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
22113a8ccb Expand test for rendering of images (and fix accordingly) 2017-07-16 12:29:08 +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
b85b29bb20 vcard: Bugfix. 'FN' may not be defined. 2017-07-15 17:26:59 +02:00
JC Brand
e6492e286d Don't specify method 2017-07-15 16:00:36 +02:00
JC Brand
0958915021 Refactor slightly to improve readability 2017-07-15 16:00:18 +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
a65b319d57 Improve styling for emoji-picker in the converse theme 2017-07-15 11:51:15 +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
3fabe88970 Updated package-lock. Fix tests. 2017-07-15 07:58:57 +02:00
JC Brand
67578c9747 Merge branch 'master' into emoji 2017-07-15 07:16:37 +02:00
JC Brand
bd38f0d634 Update the website to not use jquery.easing
It will now also no longer be included in the full bundle.
2017-07-14 23:01:09 +02:00
JC Brand
914f739dbc Add slideUp and slideDown methods
And use them in the roomslist plugin instead of the jQuery methods.
ALso removed the jQuery dependency in roomslist.
2017-07-14 10:08:42 +02:00
JC Brand
76cc9642e0 roomslist: replace jQuery methods with native 2017-07-13 23:55:40 +02:00
JC Brand
2fe77b8a5c Don't escape room name.
It's being rendered as a string literal.
2017-07-13 23:55:16 +02:00
JC Brand
dc7249f07d roomslist: Room name wasn't being shown in confirm dialog 2017-07-13 23:54:06 +02:00
JC Brand
27760a7d51 vcard: remove jQuery as dependency 2017-07-13 23:27:24 +02:00