Ability to register new incoming network events (based on exisiting one) added. Modify-only network events are possible (eg. add some text each message, but don't create any new global event). Events creation can be chained.
Examples of new network events classes are in New Events Example plugin.
Events from src/gajim.py now all go through Global Events Dispatcher and only through it (easy to modify, in chain, data passed with them).
derived (was plugged to NonBlockingClient which made it unusable for BOSH)
- Fixed HTTP CONNECT proxy socket
- Implemented workaround for the bug with insecure-connection warning dialog
(unfortunately, this is not over - I just forbid the transport to send
BOSH empty bodies until auth module is plugged, which is wrong and will
break if user will wait more than "inactivity" (usualy thirty) seconds
before clicking the dialog.
This workaround works with ejb and opf, and also breaks connection with
both of them if delay is too long.
- Implemented basic TLS over BOSH. It works only with OPF and poorly.
* Added NS_RECEIPTS to protocol namespace list.
* Show our support of XEP-0184 in caps.
* Added a big, fat warning to get_contact as this does not work as
expected.
* There was some strangeness in our XEP-0022, it added an id tag to
the x tag, which isn't mentioned anywhere in the XEP. And for some
strange reason, that id even was the same all the time.
* Fixed a typo.
Sorry, it just wasn't maintainable. The problem is the current libotr
API. I'm sick of working around the strange libotr API, sick of getting
HTML messages, sick of losing messages. The final argument for
completely removing it was that we can't get the message ID of a sent
msg anymore - which we need. I tried to work around this as well, but
there seems to be no way to wait for a signal in glib the way I would
need it for the workaround (I wanted to emit a signal in inject_message
and then wait for it after the call to otr_message_fragment_and_send
so the signal can pass us the message id). And the last reason is that
we're heading towards a new release and thus want to stabilize the code,
thus don't have time to work around even more libotr API strangeness.
I will give feedback to the libotr developers, who are currently
planning a new API, so that we can hopefully see OTR support once again
as soon as libotr4 is released.
Kjell already announced that he will continue his branch:
https://code.launchpad.net/~afflux/gajim/otr
I really hope the libotr devs will provide a sane API with libotr4 so
we can integrate OTR support again.
Oh, and I added one more try/except block for OS X.
TODO:
* Implement section 5.
* Think of a way to show in GUI
Possible way: Grey out the sent msg until we receive a <received/>,
but only if we know the other end supports XEP-0184.
* Maybe implement section 6?
disconnection or exit. Previous version seemed perfect, but if server don't have the
same exact time than us (always), lots of messages can be logged twice. Here we will
lost log for messages that were sent beetween we lost connection and we see it. But that
seems better for me. For previous version, see [9516].