소스 검색

Merge branch '0.6.x'

Conflicts:
	Makefile
	converse.css
	converse.min.css
	converse.min.js
	docs/doctrees/index.doctree
	docs/html/index.html
	docs/html/searchindex.js
JC Brand 11 년 전
부모
커밋
b6a6562de9
19개의 변경된 파일78개의 추가작업 그리고 63개의 파일을 삭제
  1. 6 1
      CHANGES.rst
  2. 2 4
      Makefile
  3. 1 1
      bower.json
  4. 6 2
      converse.css
  5. 18 24
      converse.js
  6. 0 0
      converse.min.css
  7. 0 0
      converse.min.js
  8. BIN
      docs/doctrees/index.doctree
  9. 1 1
      docs/html/.buildinfo
  10. 7 0
      docs/html/_sources/index.txt
  11. 5 5
      docs/html/genindex.html
  12. 20 13
      docs/html/index.html
  13. 1 1
      docs/html/objects.inv
  14. 5 5
      docs/html/search.html
  15. 0 0
      docs/html/searchindex.js
  16. 2 2
      docs/source/conf.py
  17. 2 2
      index.html
  18. 1 1
      mockup.html
  19. 1 1
      package.json

+ 6 - 1
CHANGES.rst

@@ -1,7 +1,12 @@
 Changelog
 =========
 
-0.6.5 (Unreleased)
+0.6.6 (2013-10-08)
+------------------
+
+* Bugfix: Presence stanza sent out before roster has been initialized [jcbrand]
+
+0.6.5 (2013-10-08)
 ------------------
 
 * Fetch vCards asynchronously once a roster contact is added [jcbrand]

+ 2 - 4
Makefile

@@ -43,7 +43,7 @@ merge:
 po2json:
 	find ./locale -maxdepth 1 -mindepth 1 -type d -exec po2json {}/LC_MESSAGES/converse.po {}/LC_MESSAGES/converse.json \;
 
-bump:
+release:
 	sed -i s/\"version\":\ \"[0-9]\.[0-9]\.[0-9]\"/\"version\":\ \"$(VERSION)\"/ bower.json
 	sed -i s/\"version\":\ \"[0-9]\.[0-9]\.[0-9]\"/\"version\":\ \"$(VERSION)\"/ package.json
 	sed -i s/v[0-9]\.[0-9]\.[0-9]\.zip/v$(VERSION)\.zip/ index.html
@@ -51,9 +51,7 @@ bump:
 	sed -i s/version\ =\ \'[0-9]\.[0-9]\.[0-9]\'/version\ =\ \'$(VERSION)\'/ docs/source/conf.py
 	sed -i s/release\ =\ \'[0-9]\.[0-9]\.[0-9]\'/release\ =\ \'$(VERSION)\'/ docs/source/conf.py
 	sed -i "s/(Unreleased)/(`date +%Y-%m-%d`)/" CHANGES.rst
-
-release: 
-	r.js -o build.js && grunt cssmin
+	grunt minify
 
 clean:
 	-rm -rf $(BUILDDIR)/*

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
   "name": "converse",
-  "version": "0.6.4",
+  "version": "0.6.5",
   "devDependencies": {
     "jasmine": "https://github.com/jcbrand/jasmine.git#1_3_x"
   },

+ 6 - 2
converse.css

@@ -480,12 +480,16 @@ a.close-chatbox-button:active {
     margin-top: 0.5em;
 }
 
-#available-chatrooms dd {
+#chatpanel dd.available-chatroom {
     overflow-x: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     display: inline-block;
-    width: 165px;
+    width: 175px;
+}
+
+#chatpanel dd.available-chatroom a.open-room {
+    width: 148px;
 }
 
 #available-chatrooms dt,

+ 18 - 24
converse.js

@@ -2477,12 +2477,8 @@
                 return (Strophe.getBareJidFromJid(jid) === Strophe.getBareJidFromJid(converse.connection.jid));
             },
 
-            getItem: function (id) {
-                return Backbone.Collection.prototype.get.call(this, id);
-            },
-
             addResource: function (bare_jid, resource) {
-                var item = this.getItem(bare_jid),
+                var item = this.get(bare_jid),
                     resources;
                 if (item) {
                     resources = item.get('resources');
@@ -2498,7 +2494,7 @@
             },
 
             removeResource: function (bare_jid, resource) {
-                var item = this.getItem(bare_jid),
+                var item = this.get(bare_jid),
                     resources,
                     idx;
                 if (item) {
@@ -2567,16 +2563,27 @@
                 for (i=0; i < this.models.length; ++i) {
                     id = this.models[i].get('id');
                     if (_.indexOf(roster_ids, id) === -1) {
-                        this.getItem(id).destroy();
+                        this.get(id).destroy();
                     }
                 }
             },
 
             rosterHandler: function (items) {
+                if ((items.length === 0) || (items.length === _.where(items, {subscription:'none'}).length)) {
+                    // The presence stanza is sent out once all
+                    // roster contacts have been added and rendered.
+                    // See RosterView's render method.
+                    //
+                    // If there aren't any roster contacts, we still
+                    // want to send a presence stanza, so we do it here.
+                    converse.xmppstatus.sendPresence();
+                    return true;
+                }
+
                 this.cleanCache(items);
                 _.each(items, function (item, index, items) {
                     if (this.isSelf(item.jid)) { return; }
-                    var model = this.getItem(item.jid);
+                    var model = this.get(item.jid);
                     if (!model) {
                         is_last = false;
                         if (index === (items.length-1)) { is_last = true; }
@@ -2603,7 +2610,7 @@
 
             handleIncomingSubscription: function (jid) {
                 var bare_jid = Strophe.getBareJidFromJid(jid);
-                var item = this.getItem(bare_jid);
+                var item = this.get(bare_jid);
 
                 if (!converse.allow_contact_requests) {
                     converse.connection.roster.unauthorize(bare_jid);
@@ -2677,7 +2684,7 @@
                 } else if (($presence.find('x').attr('xmlns') || '').indexOf(Strophe.NS.MUC) === 0) {
                     return true; // Ignore MUC
                 }
-                item = this.getItem(bare_jid);
+                item = this.get(bare_jid);
                 if (item && (status_message.text() != item.get('status'))) {
                     item.save({'status': status_message.text()});
                 }
@@ -2742,20 +2749,7 @@
                 }
                 this.$el.hide().html(roster_markup);
 
-                this.model.fetch({
-                    add: true,
-                    success: function (model, resp, options) {
-                        if (resp.length === 0) {
-                            // The presence stanza is sent out once all
-                            // roster contacts have been added and rendered.
-                            // See RosterView's render method.
-                            //
-                            // If there aren't any roster contacts, we still
-                            // want to send a presence stanza, so we do it here.
-                            converse.xmppstatus.sendPresence();
-                        }
-                    }
-                }); // Get the cached roster items from localstorage
+                this.model.fetch({add: true}); // Get the cached roster items from localstorage
             },
 
             updateChatBox: function (item, changed) {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
converse.min.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
converse.min.js


BIN
docs/doctrees/index.doctree


+ 1 - 1
docs/html/.buildinfo

@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 3cbbfab63ff6ab75d6a8455d9c72e0ee
+config: 083755f35f9ab853ad615aefaae02f0e
 tags: fbb0d17656682115ca4d033fb2f83ba1

+ 7 - 0
docs/html/_sources/index.txt

@@ -581,6 +581,13 @@ the page with class *toggle-online-users*.
 If this options is set to true, the controlbox will by default be shown upon
 page load.
 
+show_only_online_users
+----------------------
+
+Default = ``false``
+
+If set to ``true``, only online users will be shown in the contacts roster.
+Users with any other status (e.g. away, busy etc.) will not be shown.
 
 xhr_user_search
 ---------------

+ 5 - 5
docs/html/genindex.html

@@ -9,7 +9,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Index &mdash; Converse.js 0.6.4 documentation</title>
+    <title>Index &mdash; Converse.js 0.6.5 documentation</title>
     
     <link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -17,7 +17,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '',
-        VERSION:     '0.6.4',
+        VERSION:     '0.6.5',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -26,7 +26,7 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="Converse.js 0.6.4 documentation" href="index.html" /> 
+    <link rel="top" title="Converse.js 0.6.5 documentation" href="index.html" /> 
   </head>
   <body>
     <div id="header_wrap" class="outer">
@@ -51,7 +51,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="#" title="General Index"
              accesskey="I">index</a></li>
-        <li><a href="index.html">Converse.js 0.6.4 documentation</a> &raquo;</li> 
+        <li><a href="index.html">Converse.js 0.6.5 documentation</a> &raquo;</li> 
       </ul>
     </div>
 <section id="main_content" class="inner">  
@@ -80,7 +80,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="#" title="General Index"
              >index</a></li>
-        <li><a href="index.html">Converse.js 0.6.4 documentation</a> &raquo;</li> 
+        <li><a href="index.html">Converse.js 0.6.5 documentation</a> &raquo;</li> 
       </ul>
     </div>
 </div>

+ 20 - 13
docs/html/index.html

@@ -7,7 +7,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Quickstart (to get a demo up and running) &mdash; Converse.js 0.6.4 documentation</title>
+    <title>Quickstart (to get a demo up and running) &mdash; Converse.js 0.6.5 documentation</title>
     
     <link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '',
-        VERSION:     '0.6.4',
+        VERSION:     '0.6.5',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -24,7 +24,7 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="Converse.js 0.6.4 documentation" href="#" /> 
+    <link rel="top" title="Converse.js 0.6.5 documentation" href="#" /> 
   </head>
   <body>
     <div id="header_wrap" class="outer">
@@ -49,7 +49,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              accesskey="I">index</a></li>
-        <li><a href="#">Converse.js 0.6.4 documentation</a> &raquo;</li> 
+        <li><a href="#">Converse.js 0.6.5 documentation</a> &raquo;</li> 
       </ul>
     </div>
 <section id="main_content" class="inner">  
@@ -107,16 +107,17 @@
 <li><a class="reference internal" href="#i18n" id="id31">i18n</a></li>
 <li><a class="reference internal" href="#prebind" id="id32">prebind</a></li>
 <li><a class="reference internal" href="#show-controlbox-by-default" id="id33">show_controlbox_by_default</a></li>
-<li><a class="reference internal" href="#xhr-user-search" id="id34">xhr_user_search</a></li>
+<li><a class="reference internal" href="#show-only-online-users" id="id34">show_only_online_users</a></li>
+<li><a class="reference internal" href="#xhr-user-search" id="id35">xhr_user_search</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#minification" id="id35">Minification</a><ul>
-<li><a class="reference internal" href="#minifying-javascript-and-css" id="id36">Minifying Javascript and CSS</a></li>
+<li><a class="reference internal" href="#minification" id="id36">Minification</a><ul>
+<li><a class="reference internal" href="#minifying-javascript-and-css" id="id37">Minifying Javascript and CSS</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#translations" id="id37">Translations</a></li>
+<li><a class="reference internal" href="#translations" id="id38">Translations</a></li>
 </ul>
 </div>
 <div class="section" id="quickstart-to-get-a-demo-up-and-running">
@@ -540,8 +541,14 @@ the page with class <em>toggle-online-users</em>.</p>
 <p>If this options is set to true, the controlbox will by default be shown upon
 page load.</p>
 </div>
+<div class="section" id="show-only-online-users">
+<h3><a class="toc-backref" href="#id34">show_only_online_users</a><a class="headerlink" href="#show-only-online-users" title="Permalink to this headline">¶</a></h3>
+<p>Default = <tt class="docutils literal"><span class="pre">false</span></tt></p>
+<p>If set to <tt class="docutils literal"><span class="pre">true</span></tt>, only online users will be shown in the contacts roster.
+Users with any other status (e.g. away, busy etc.) will not be shown.</p>
+</div>
 <div class="section" id="xhr-user-search">
-<h3><a class="toc-backref" href="#id34">xhr_user_search</a><a class="headerlink" href="#xhr-user-search" title="Permalink to this headline">¶</a></h3>
+<h3><a class="toc-backref" href="#id35">xhr_user_search</a><a class="headerlink" href="#xhr-user-search" title="Permalink to this headline">¶</a></h3>
 <p>Default = <tt class="docutils literal"><span class="pre">false</span></tt></p>
 <p>There are two ways to add users.</p>
 <ul class="simple">
@@ -554,9 +561,9 @@ be used.</p>
 </div>
 </div>
 <div class="section" id="minification">
-<h1><a class="toc-backref" href="#id35">Minification</a><a class="headerlink" href="#minification" title="Permalink to this headline">¶</a></h1>
+<h1><a class="toc-backref" href="#id36">Minification</a><a class="headerlink" href="#minification" title="Permalink to this headline">¶</a></h1>
 <div class="section" id="minifying-javascript-and-css">
-<h2><a class="toc-backref" href="#id36">Minifying Javascript and CSS</a><a class="headerlink" href="#minifying-javascript-and-css" title="Permalink to this headline">¶</a></h2>
+<h2><a class="toc-backref" href="#id37">Minifying Javascript and CSS</a><a class="headerlink" href="#minifying-javascript-and-css" title="Permalink to this headline">¶</a></h2>
 <p>Please make sure to read the section <a class="reference internal" href="#development">Development</a> and that you have installed
 all development dependencies (long story short, you can run <tt class="docutils literal"><span class="pre">npm</span> <span class="pre">install</span></tt>
 and then <tt class="docutils literal"><span class="pre">grunt</span> <span class="pre">fetch</span></tt>).</p>
@@ -573,7 +580,7 @@ using <a class="reference external" href="https://github.com/jrburke/almond">alm
 </div>
 </div>
 <div class="section" id="translations">
-<h1><a class="toc-backref" href="#id37">Translations</a><a class="headerlink" href="#translations" title="Permalink to this headline">¶</a></h1>
+<h1><a class="toc-backref" href="#id38">Translations</a><a class="headerlink" href="#translations" title="Permalink to this headline">¶</a></h1>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
 <p class="last">Translations take up a lot of space and will bloat your minified file.
@@ -662,7 +669,7 @@ those hoops you had to jump through.</p>
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              >index</a></li>
-        <li><a href="#">Converse.js 0.6.4 documentation</a> &raquo;</li> 
+        <li><a href="#">Converse.js 0.6.5 documentation</a> &raquo;</li> 
       </ul>
     </div>
 </div>

+ 1 - 1
docs/html/objects.inv

@@ -1,6 +1,6 @@
 # Sphinx inventory version 2
 # Project: Converse.js
-# Version: 0.6.4
+# Version: 0.6.5
 # The remainder of this file is compressed using zlib.
 xÚmÎÁ
 à à{Ÿ"°³ƒ]÷;

+ 5 - 5
docs/html/search.html

@@ -7,7 +7,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Search &mdash; Converse.js 0.6.4 documentation</title>
+    <title>Search &mdash; Converse.js 0.6.5 documentation</title>
     
     <link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '',
-        VERSION:     '0.6.4',
+        VERSION:     '0.6.5',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="_static/searchtools.js"></script>
-    <link rel="top" title="Converse.js 0.6.4 documentation" href="index.html" />
+    <link rel="top" title="Converse.js 0.6.5 documentation" href="index.html" />
   <script type="text/javascript">
     jQuery(function() { Search.loadIndex("searchindex.js"); });
   </script>
@@ -55,7 +55,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              accesskey="I">index</a></li>
-        <li><a href="index.html">Converse.js 0.6.4 documentation</a> &raquo;</li> 
+        <li><a href="index.html">Converse.js 0.6.5 documentation</a> &raquo;</li> 
       </ul>
     </div>
 <section id="main_content" class="inner">  
@@ -100,7 +100,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              >index</a></li>
-        <li><a href="index.html">Converse.js 0.6.4 documentation</a> &raquo;</li> 
+        <li><a href="index.html">Converse.js 0.6.5 documentation</a> &raquo;</li> 
       </ul>
     </div>
 </div>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
docs/html/searchindex.js


+ 2 - 2
docs/source/conf.py

@@ -48,9 +48,9 @@ copyright = u'2013, JC Brand'
 # built documents.
 #
 # The short X.Y version.
-version = '0.6.4'
+version = '0.6.5'
 # The full version, including alpha/beta/rc tags.
-release = '0.6.4'
+release = '0.6.5'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.

+ 2 - 2
index.html

@@ -19,8 +19,8 @@
         <h1 id="project_title"><a href="http://conversejs.org">Converse.js</a></h1>
         <h2 id="project_tagline">An XMPP chat client for your website</h2>
         <section id="downloads">
-            <a class="zip_download_link" href="https://github.com/jcbrand/converse.js/archive/v0.6.4.zip">Download the latest release as a .zip file</a>
-            <a class="tar_download_link" href="https://github.com/jcbrand/converse.js/archive/v0.6.4.tar.gz">Download the latest release as a tar.gz file</a>
+            <a class="zip_download_link" href="https://github.com/jcbrand/converse.js/archive/v0.6.5.zip">Download the latest release as a .zip file</a>
+            <a class="tar_download_link" href="https://github.com/jcbrand/converse.js/archive/v0.6.5.tar.gz">Download the latest release as a tar.gz file</a>
         </section>
     </header>
     </div>

+ 1 - 1
mockup.html

@@ -167,7 +167,7 @@
                 <dd class="available-chatroom">
                     <a class="open-room" 
                         data-room-jid="converse.js@conference.opkode.im"
-                        title="Click to open this room" href="#">converse.js (2)</a>
+                        title="Click to open this room" href="#">Special chatroom with a long name (2)</a>
                     <a class="room-info icon-room-info" 
                         data-room-jid="converse.js@conference.opkode.im" 
                         title="Show more information on this room" href="#">&nbsp;</a>

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "converse.js",
-  "version": "0.6.4",
+  "version": "0.6.5",
   "description": "Browser based XMPP instant messaging client",
   "main": "main.js",
   "directories": {

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.