changeset 3baea8f8173d in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=3baea8f8173d
description: Setting my identity straight
diffstat:
AUTHORS | 2 +-
src/command_system/__init__.py | 2 +-
src/command_system/dispatching.py | 2 +-
src/command_system/errors.py | 2 +-
src/command_system/framework.py | 2 +-
src/command_system/implementation/__init__.py | 2 +-
src/command_system/implementation/custom.py | 2 +-
src/command_system/implementation/hosts.py | 2 +-
src/command_system/implementation/middleware.py | 2 +-
src/command_system/implementation/standard.py | 2 +-
src/command_system/mapping.py | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diffs (104 lines):
diff -r 02af28f35ad5 -r 3baea8f8173d AUTHORS
--- a/AUTHORS Sun Nov 22 20:05:30 2009 +0200
+++ b/AUTHORS Mon Nov 23 16:08:09 2009 +0200
@@ -1,9 +1,9 @@
CURRENT DEVELOPERS:
+Alexander Cherniuk (ts33kr AT gmail.com)
Nikos Kouremenos (kourem AT gmail.com)
Yann Leboulanger (asterix AT lagaule.org)
Julien Pivotto (roidelapluie AT gmail.com)
-red-agent (hell.director AT gmail.com)
Jonathan Schleifer (js-gajim AT webkeks.org)
Travis Shirk (travis AT pobox.com)
Brendan Taylor (whateley AT gmail.com)
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/__init__.py
--- a/src/command_system/__init__.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/__init__.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/dispatching.py
--- a/src/command_system/dispatching.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/dispatching.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/errors.py
--- a/src/command_system/errors.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/errors.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/framework.py
--- a/src/command_system/framework.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/framework.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/implementation/__init__.py
--- a/src/command_system/implementation/__init__.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/implementation/__init__.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/implementation/custom.py
--- a/src/command_system/implementation/custom.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/implementation/custom.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/implementation/hosts.py
--- a/src/command_system/implementation/hosts.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/implementation/hosts.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/implementation/middleware.py
--- a/src/command_system/implementation/middleware.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/implementation/middleware.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/implementation/standard.py
--- a/src/command_system/implementation/standard.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/implementation/standard.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff -r 02af28f35ad5 -r 3baea8f8173d src/command_system/mapping.py
--- a/src/command_system/mapping.py Sun Nov 22 20:05:30 2009 +0200
+++ b/src/command_system/mapping.py Mon Nov 23 16:08:09 2009 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 red-agent <hell.director(a)gmail.com>
+# Copyright (C) 2009 Alexander Cherniuk <ts33kr(a)gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
changeset 3319f8995757 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=3319f8995757
description: Added myself into the annals of history
Sorry for not disclosing my real name to the wide audience. I'm just
that paranoid...
diffstat:
AUTHORS | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diffs (11 lines):
diff -r 190d65f8d94b -r 3319f8995757 AUTHORS
--- a/AUTHORS Fri Nov 20 22:09:05 2009 +0100
+++ b/AUTHORS Sat Nov 21 11:31:49 2009 +0200
@@ -3,6 +3,7 @@
Nikos Kouremenos (kourem AT gmail.com)
Yann Leboulanger (asterix AT lagaule.org)
Julien Pivotto (roidelapluie AT gmail.com)
+red-agent (hell.director AT gmail.com)
Jonathan Schleifer (js-gajim AT webkeks.org)
Travis Shirk (travis AT pobox.com)
Brendan Taylor (whateley AT gmail.com)
changeset 190d65f8d94b in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=190d65f8d94b
description: fix resizing of the MUC occupant treeview when we resize chat window. Fixes #5433
diffstat:
src/groupchat_control.py | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diffs (43 lines):
diff -r dbdc410611bb -r 190d65f8d94b src/groupchat_control.py
--- a/src/groupchat_control.py Fri Nov 20 13:49:56 2009 +0100
+++ b/src/groupchat_control.py Fri Nov 20 22:09:05 2009 +0100
@@ -317,6 +317,7 @@
id_ = self.list_treeview.connect('style-set',
self.on_list_treeview_style_set)
self.handlers[id_] = self.list_treeview
+ self.resize_from_another_muc = False
# we want to know when the the widget resizes, because that is
# an indication that the hpaned has moved...
# FIXME: Find a better indicator that the hpaned has moved.
@@ -446,17 +447,29 @@
menu.show_all()
+ def resize_occupant_treeview(self, position):
+ self.resize_from_another_muc = True
+ self.hpaned.set_position(position)
+ def reset_flag():
+ self.resize_from_another_muc = False
+ # Reset the flag when everything will be redrawn, and in particular when
+ # on_treeview_size_allocate will have been called.
+ gobject.idle_add(reset_flag)
+
def on_treeview_size_allocate(self, widget, allocation):
'''The MUC treeview has resized. Move the hpaned in all tabs to match'''
+ if self.resize_from_another_muc:
+ # Don't send the event to other MUC
+ return
hpaned_position = self.hpaned.get_position()
for account in gajim.gc_connected:
for room_jid in [i for i in gajim.gc_connected[account] if \
- gajim.gc_connected[account][i]]:
+ gajim.gc_connected[account][i] and i != self.room_jid]:
ctrl = gajim.interface.msg_win_mgr.get_gc_control(room_jid, account)
if not ctrl:
ctrl = gajim.interface.minimized_controls[account][room_jid]
if ctrl:
- ctrl.hpaned.set_position(hpaned_position)
+ ctrl.resize_occupant_treeview(hpaned_position)
def iter_contact_rows(self):
'''iterate over all contact rows in the tree model'''
changeset d824969ef13a in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=d824969ef13a
description: fix http message parsing, it may contain \n\n!
diffstat:
src/common/xmpp/transports_nb.py | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
diffs (59 lines):
diff -r 48080bc9e93d -r d824969ef13a src/common/xmpp/transports_nb.py
--- a/src/common/xmpp/transports_nb.py Mon Nov 16 16:42:40 2009 +0100
+++ b/src/common/xmpp/transports_nb.py Wed Nov 18 11:12:06 2009 +0100
@@ -655,7 +655,7 @@
self.recvbuff = '%s%s' % (self.recvbuff or '', data)
statusline, headers, httpbody, buffer_rest = self.parse_http_message(
self.recvbuff)
-
+
if not (statusline and headers and httpbody):
log.debug('Received incomplete HTTP response')
return
@@ -667,12 +667,12 @@
self.expected_length = int(headers['Content-Length'])
if 'Connection' in headers and headers['Connection'].strip()=='close':
self.close_current_connection = True
-
+
if self.expected_length > len(httpbody):
# If we haven't received the whole HTTP mess yet, let's end the thread.
# It will be finnished from one of following recvs on plugged socket.
- log.info('not enough bytes in HTTP response - %d expected, %d got' %
- (self.expected_length, len(self.recvbuff)))
+ log.info('not enough bytes in HTTP response - %d expected, got %d' %
+ (self.expected_length, len(httpbody)))
else:
# First part of buffer has been extraced and is going to be handled,
# remove it from buffer
@@ -724,6 +724,7 @@
http_rest - what is left in the message after a full HTTP header + body
'''
message = message.replace('\r','')
+ message = message.lstrip('\n')
splitted = message.split('\n\n')
if len(splitted) < 2:
# no complete http message. Keep filling the buffer until we find one
@@ -731,9 +732,6 @@
return ('', '', '', buffer_rest)
else:
(header, httpbody) = splitted[:2]
- if httpbody.endswith('\n'):
- httpbody = httpbody[:-1]
- buffer_rest = "\n\n".join(splitted[2:])
header = header.split('\n')
statusline = header[0].split(' ', 2)
header = header[1:]
@@ -741,6 +739,12 @@
for dummy in header:
row = dummy.split(' ', 1)
headers[row[0][:-1]] = row[1]
+ body_size = headers['Content-Length']
+ rest_splitted = splitted[2:]
+ while (len(httpbody) < body_size) and rest_splitted:
+ # Complete httpbody until it has the announced size
+ httpbody = '\n\n'.join([httpbody, rest_splitted.pop(0)])
+ buffer_rest = "\n\n".join(rest_splitted)
return (statusline, headers, httpbody, buffer_rest)
changeset 1f9113798039 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=1f9113798039
description: fix receiving long messages in several parts with BOSH. see #5401
diffstat:
src/common/xmpp/transports_nb.py | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diffs (32 lines):
diff -r 25f6fbcbf106 -r 1f9113798039 src/common/xmpp/transports_nb.py
--- a/src/common/xmpp/transports_nb.py Thu Nov 12 21:42:20 2009 +0100
+++ b/src/common/xmpp/transports_nb.py Thu Nov 12 22:13:11 2009 +0100
@@ -653,7 +653,8 @@
# append currently received data to HTTP msg in buffer
self.recvbuff = '%s%s' % (self.recvbuff or '', data)
- statusline, headers, httpbody, self.recvbuff = self.parse_http_message(self.recvbuff)
+ statusline, headers, httpbody, buffer_rest = self.parse_http_message(
+ self.recvbuff)
if not (statusline and headers and httpbody):
log.debug('Received incomplete HTTP response')
@@ -673,6 +674,10 @@
log.info('not enough bytes in HTTP response - %d expected, %d got' %
(self.expected_length, len(self.recvbuff)))
else:
+ # First part of buffer has been extraced and is going to be handled,
+ # remove it from buffer
+ self.recvbuff = buffer_rest
+
# everything was received
self.expected_length = 0
@@ -716,6 +721,7 @@
headers - dictionary of headers e.g. {'Content-Length': '604',
'Content-Type': 'text/xml; charset=utf-8'},
httpbody - string with http body)
+ http_rest - what is left in the message after a full HTTP header + body
'''
message = message.replace('\r','')
splitted = message.split('\n\n')