diff options
-rw-r--r-- | .travis.yml | 3 | ||||
-rw-r--r-- | LICENSE | 1 | ||||
-rw-r--r-- | Vagrantfile | 2 | ||||
-rw-r--r-- | devbox/index.html | 14 | ||||
-rw-r--r-- | devbox/nginx-default.conf | 4 | ||||
-rw-r--r-- | devbox/provisioning.sh | 11 | ||||
-rw-r--r-- | res/default.css | 1 | ||||
-rwxr-xr-x | setup.sh | 1 | ||||
-rw-r--r-- | src/candy.js | 1 | ||||
-rw-r--r-- | src/core.js | 1 | ||||
-rw-r--r-- | src/core/action.js | 1 | ||||
-rw-r--r-- | src/core/chatRoom.js | 1 | ||||
-rw-r--r-- | src/core/chatRoster.js | 1 | ||||
-rw-r--r-- | src/core/chatUser.js | 1 | ||||
-rw-r--r-- | src/core/contact.js | 8 | ||||
-rw-r--r-- | src/core/event.js | 1 | ||||
-rw-r--r-- | src/util.js | 1 | ||||
-rw-r--r-- | src/view.js | 1 | ||||
-rw-r--r-- | src/view/observer.js | 1 | ||||
-rw-r--r-- | src/view/pane/chat.js | 1 | ||||
-rw-r--r-- | src/view/pane/message.js | 1 | ||||
-rw-r--r-- | src/view/pane/privateRoom.js | 1 | ||||
-rw-r--r-- | src/view/pane/room.js | 4 | ||||
-rw-r--r-- | src/view/pane/roster.js | 1 | ||||
-rw-r--r-- | src/view/pane/window.js | 1 | ||||
-rw-r--r-- | src/view/template.js | 1 | ||||
-rw-r--r-- | src/view/translation.js | 1 | ||||
-rw-r--r-- | tests/candy/unit/core/contact.js | 16 |
28 files changed, 67 insertions, 15 deletions
diff --git a/.travis.yml b/.travis.yml index e8b54cf..b4b016c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,9 +11,8 @@ before_script: - sudo apt-get install -y nginx - sudo mkdir -p /usr/share/nginx/html - sudo cp ${TRAVIS_BUILD_DIR}/devbox/nginx-default.conf /etc/nginx/sites-available/default +- sudo sed --in-place 's|{{ROOT_DIR}}|'"$TRAVIS_BUILD_DIR"'|g' /etc/nginx/sites-available/default - sudo /etc/init.d/nginx restart -- sudo ln -fs ${TRAVIS_BUILD_DIR} /usr/share/nginx/html/candy -- sudo ln -fs ${TRAVIS_BUILD_DIR}/devbox/index.html /usr/share/nginx/html/index.html - sudo apt-get install -y naturaldocs - npm install -g grunt-cli bower - npm install @@ -1,5 +1,6 @@ Copyright (c) 2011 Amiado Group AG Copyright (c) 2012-2014 Patrick Stadler & Michael Weibel +Copyright (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/Vagrantfile b/Vagrantfile index 8f277b1..8682f53 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -13,6 +13,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision :shell, :path => "devbox/provisioning.sh" + config.vm.synced_folder ".", "/vagrant", type: "nfs" + config.vm.provider "virtualbox" do |v| v.name = "candy" v.customize ["modifyvm", :id, "--memory", 768] diff --git a/devbox/index.html b/devbox/index.html index 0881df5..3e8de12 100644 --- a/devbox/index.html +++ b/devbox/index.html @@ -3,16 +3,16 @@ <head> <meta charset="utf-8"> <title>Candy - Chats are not dead yet</title> - <link rel="shortcut icon" href="candy/res/img/favicon.png" type="image/gif" /> - <link rel="stylesheet" type="text/css" href="candy/res/default.css" /> + <link rel="shortcut icon" href="res/img/favicon.png" type="image/gif" /> + <link rel="stylesheet" type="text/css" href="res/default.css" /> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js"></script> - <script type="text/javascript" src="candy/libs.bundle.js"></script> - <script type="text/javascript" src="candy/candy.bundle.js"></script> + <script type="text/javascript" src="libs.bundle.js"></script> + <script type="text/javascript" src="candy.bundle.js"></script> <script type="text/javascript"> $(document).ready(function() { - //Candy.init('/http-bind/', { // uncomment & comment next line if you'd like to use BOSH - Candy.init('ws://localhost:5280/xmpp-websocket/', { + Candy.init('/http-bind/', { // uncomment & comment next line if you'd like to use BOSH + // Candy.init('ws://localhost:5280/xmpp-websocket/', { core: { // only set this to true if developing / debugging errors debug: true, @@ -23,7 +23,7 @@ // -> array of rooms to join after connecting autojoin: ['test@conference.localhost'] }, - view: { assets: 'candy/res/' } + view: { assets: 'res/' } }); Candy.Core.connect('localhost'); diff --git a/devbox/nginx-default.conf b/devbox/nginx-default.conf index 6bad803..a5d0eda 100644 --- a/devbox/nginx-default.conf +++ b/devbox/nginx-default.conf @@ -1,6 +1,6 @@ server { - root /usr/share/nginx/html; - index index.html; + root {{ROOT_DIR}}; + index devbox/index.html; charset utf-8; diff --git a/devbox/provisioning.sh b/devbox/provisioning.sh index 309050b..33479db 100644 --- a/devbox/provisioning.sh +++ b/devbox/provisioning.sh @@ -3,6 +3,7 @@ # Vagrant provisioning script # # Copyright 2014 Michael Weibel <michael.weibel@gmail.com> +# Copyright 2015 Adhearsion Foundation Inc <info@adhearsion.com> # License: MIT # @@ -15,6 +16,12 @@ apt-get update apt-get install -y liblua5.1-bitop prosody lua-event +# Install Websockets module +wget -O /usr/lib/prosody/modules/mod_websocket.lua http://prosody-modules.googlecode.com/hg/mod_websocket/mod_websocket.lua + +# Install Carbons module +wget -O /usr/lib/prosody/modules/mod_websocket.lua http://prosody-modules.googlecode.com/hg/mod_carbons/mod_carbons.lua + # Place config cp /vagrant/devbox/prosody.cfg.lua /etc/prosody/prosody.cfg.lua @@ -25,11 +32,9 @@ cp /vagrant/devbox/prosody.cfg.lua /etc/prosody/prosody.cfg.lua # apt-get install -y nginx cp /vagrant/devbox/nginx-default.conf /etc/nginx/sites-available/default +sed --in-place 's|{{ROOT_DIR}}|/vagrant|g' /etc/nginx/sites-available/default/nginx-default.conf /etc/init.d/nginx restart -ln -fs /vagrant /usr/share/nginx/html/candy -ln -fs /vagrant/devbox/index.html /usr/share/nginx/html/index.html - # # Candy development dependencies # diff --git a/res/default.css b/res/default.css index 22f4ac9..b0d6e3d 100644 --- a/res/default.css +++ b/res/default.css @@ -6,6 +6,7 @@ * @copyright 2011 Amiado Group AG, All rights reserved. * @copyright 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * @copyright 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ html, body { margin: 0; @@ -3,6 +3,7 @@ # Easy installation for contributing to candy # # Copyright 2014 Michael Weibel <michael.weibel@gmail.com> +# Copyright 2015 Adhearsion Foundation Inc <info@adhearsion.com> # License: MIT # diff --git a/src/candy.js b/src/candy.js index 2ec7011..a6eb041 100644 --- a/src/candy.js +++ b/src/candy.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/core.js b/src/core.js index 2296205..f1ac386 100644 --- a/src/core.js +++ b/src/core.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/core/action.js b/src/core/action.js index b72a946..04d7725 100644 --- a/src/core/action.js +++ b/src/core/action.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/core/chatRoom.js b/src/core/chatRoom.js index 2d842bd..2068342 100644 --- a/src/core/chatRoom.js +++ b/src/core/chatRoom.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/core/chatRoster.js b/src/core/chatRoster.js index 777ef2f..6c53f6e 100644 --- a/src/core/chatRoster.js +++ b/src/core/chatRoster.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/core/chatUser.js b/src/core/chatUser.js index 5067afb..3015e09 100644 --- a/src/core/chatUser.js +++ b/src/core/chatUser.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/core/contact.js b/src/core/contact.js index 04c3cf5..0f56ca9 100644 --- a/src/core/contact.js +++ b/src/core/contact.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; @@ -112,7 +113,12 @@ Candy.Core.Contact.prototype.getStatus = function() { highestResourcePriority; $.each(this.data.resources, function(resource, obj) { - var resourcePriority = parseInt(obj.priority, 10); + var resourcePriority; + if (obj.priority === undefined || obj.priority === '') { + resourcePriority = 0; + } else { + resourcePriority = parseInt(obj.priority, 10); + } if (obj.show === '' || obj.show === null || obj.show === undefined) { // TODO: Submit this as a bugfix to strophejs-plugins' roster plugin diff --git a/src/core/event.js b/src/core/event.js index 48e18b0..3376be1 100644 --- a/src/core/event.js +++ b/src/core/event.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/util.js b/src/util.js index dfcf613..6a81f03 100644 --- a/src/util.js +++ b/src/util.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view.js b/src/view.js index ade660d..0f1988d 100644 --- a/src/view.js +++ b/src/view.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/observer.js b/src/view/observer.js index a2afcbc..25c301b 100644 --- a/src/view/observer.js +++ b/src/view/observer.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/pane/chat.js b/src/view/pane/chat.js index e12665e..31d5984 100644 --- a/src/view/pane/chat.js +++ b/src/view/pane/chat.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/pane/message.js b/src/view/pane/message.js index b4bcbb6..3198835 100644 --- a/src/view/pane/message.js +++ b/src/view/pane/message.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/pane/privateRoom.js b/src/view/pane/privateRoom.js index 67ef58d..7e04005 100644 --- a/src/view/pane/privateRoom.js +++ b/src/view/pane/privateRoom.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/pane/room.js b/src/view/pane/room.js index bfb95f0..eeb2860 100644 --- a/src/view/pane/room.js +++ b/src/view/pane/room.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; @@ -127,6 +128,7 @@ Candy.View.Pane = (function(self, $) { var elem = $(this); evtData = { 'roomJid': elem.attr('data-roomjid'), + 'type': elem.attr('data-roomtype'), 'element' : elem }; @@ -144,6 +146,7 @@ Candy.View.Pane = (function(self, $) { * * Parameters: * (String) roomJid - Room JID + * (String) type - Room Type * (jQuery.Element) element - Room element */ $(Candy).triggerHandler('candy:view.room.after-show', evtData); @@ -156,6 +159,7 @@ Candy.View.Pane = (function(self, $) { * * Parameters: * (String) roomJid - Room JID + * (String) type - Room Type * (jQuery.Element) element - Room element */ $(Candy).triggerHandler('candy:view.room.after-hide', evtData); diff --git a/src/view/pane/roster.js b/src/view/pane/roster.js index 077ae50..344f0d1 100644 --- a/src/view/pane/roster.js +++ b/src/view/pane/roster.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/pane/window.js b/src/view/pane/window.js index b6bb489..9acd8d9 100644 --- a/src/view/pane/window.js +++ b/src/view/pane/window.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/template.js b/src/view/template.js index d116709..5a30fe9 100644 --- a/src/view/template.js +++ b/src/view/template.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/src/view/translation.js b/src/view/translation.js index c346234..89f33d8 100644 --- a/src/view/translation.js +++ b/src/view/translation.js @@ -8,6 +8,7 @@ * Copyright: * (c) 2011 Amiado Group AG. All rights reserved. * (c) 2012-2014 Patrick Stadler & Michael Weibel. All rights reserved. + * (c) 2015 Adhearsion Foundation Inc <info@adhearsion.com>. All rights reserved. */ 'use strict'; diff --git a/tests/candy/unit/core/contact.js b/tests/candy/unit/core/contact.js index 2059630..2e926dc 100644 --- a/tests/candy/unit/core/contact.js +++ b/tests/candy/unit/core/contact.js @@ -47,6 +47,22 @@ define([ expect(contact.getGroups()).to.eql(['Friends']); }); + bdd.it('defaults the priority to 0 when not defined', function() { + contact.data.resources = { + 'resource1': { + show: 'away', + status: 'Hanging out', + priority: 0 + }, + 'resource2': { + show: 'available', + status: 'Not Hanging out', + priority: "" + } + }; + expect(contact.getStatus()).to.eql('available'); + }); + bdd.describe('aggregate status', function () { bdd.describe('when there are no online resources', function () { bdd.it('is unavailable when there are no online resources', function () { |