Friday, May 25, 2012

towards a new release

Some news directly from emesene git master:


  • emesene now features an optional single window mode, like skypetab-ng, for all your docking needs
  • direct-connect aka fast file transfers are now implemented in papyon, emesene will listen on 6891 (and subsequent, if needed) when receiving and will try to fallback gracefully to slow file transfers in case the bridge fails. Please remember this feature is tied to your network configuration, so if it works or not it doesn't depend entirely on emesene.
  • SleekXMPP is now the default library for gtalk, facebook and other xmpp services.
  • gtk3 support is now fully in place however some nasty bugs in ubuntu's pygobject prevent us from improving it further. gtk2 will remain the default ui for now.
  • updated DEPENDS for packagers: if you package emesene for any OS please take a look at the updated requirements
  • some minor new handy features, bugfixes.


We need YOU for testing these features, we'd like to release a new version soon.
And also we need YOU for updating translations so users can enjoy the new emesene in their own language.
If you know python and are willing to help, please fix one issue ;)


Wednesday, May 09, 2012

emesene development strikes back

Hello there, long time no blog!

Since the lightning-fast 2.12.3 release, the emesene team has been busy fixing bugs and cooking up new features.

Thanks to our friend Jose "pepeleproso" Rostagno you can now enjoy a fully-featured emesene in gtk3 which blends seamlessly in all the bleeding-edge Operative Systems such as Ubuntu 12.04 and Arch.
You just need some gobject-introspection packages (gir-1.2-*, usually installed by default) and if such conditions are met you will get the new gtk3 user interface automagically (and hopefully won't notice anything different from the old one ;)). Please note that gtk3 does NOT mean python3: you still need python2.

Other than that, I integrated and fixed an old patch from Louis-Francis Ratté-Boulianne which should enable direct file transfers in emesene. Yeah, fast file transfers as in direct connection between you and your buddy.
This is still early stage and tested only in a pretty restricted environment such as "local transfer between emesene and emesene", but the more you test it the better it will become (hopefully, thanks to the feedbacks).

We also have the usual load of bugfixes (msn protocol, gui, facebook..), but this post is more a call for developers and testers to try and partecipate to the development version so we can make the next release better.

As an example, we're looking forward replacing xmpppy with SleekXMPP for the jabber backend. This way we can use a nice and actively mantained fully-featured library for all your GTalk, Facebook and MSN-XMPP (!) needs. Some work has already been done but since we're short on manpower you know what to do: check out the emesene/sleekxmpp branch and start hacking!

Also, the Qt4 user interface has been fixed so it can run but it still isn't on par with the gtk{2,3} one. If you're interested in fixing it so it becomes as awesome as gtks the code lives in the main emesene branch.

If you have any question, just use the usual channels such as mailing lists, google groups, github issues, irc.

That would be all!
Oh, if you only want to test the development version and don't know anything about git, etc. just download a snapshot from HERE

-- Riccardo (c10ud)

Monday, April 02, 2012

emesene 2.12.3

Hello there emesene fans!

This is a lightning-fast release because we're in a hurry, so here's what you need to know:

Brief changelog (you can see a complete one with `git log v2.12.3 v2.12.1`) :
- better plugin handling and fixes
- typing notifications fixed
- bugfixes to the msn backend
- bugfixes/improvements to the facebook backend
- bugfixes/improvements to adium output
- middle click closes tabs (gtk)
- prevent hanging/crashes with newer versions of openssl
- improved single-instance code
- code-style improvements
- updated translations

Source code download (for packagers or other brave people out there):
[ tarball | zipball ]

Platform specific packages will follow as soon as the people working on them have some time to upgrade, sort things out and prepare them.
Make sure to check the downloads page once a while so you can stay up-to-date.

Have fun,
Riccardo (c10ud)

Monday, January 23, 2012

emesene in the frontpage of sourceforge


help us to make it to the front page of the new york times! (?)

Friday, January 13, 2012

Calling all OS X users!

A new build is ready for you to test. This build no longer uses
gtkredirect.pth, instead using sys.path within python itself. This
means no need for the gtk installer.

I know this build works on Lion, so the main focus is for Snow Leopard
users.

Please run the uninstaller before installing this version.

Get it here

Monday, January 02, 2012

emesene 2.12.1

New year, new release!

If you already have emesene installed and don't want to wait until a package for your OS is available (or maybe YOU are the packager!), just grab the archive here [zipball|tarball] extract and run the emesene script.

There have been many changes and lots of bugfixing but they're just too much and quite boring to list all of them here so..

Brief changelog since 2.11.11:
  • Revamped contact list search
  • Fixed conversations with Yahoo users
  • Fixed some problems with messages not being received/sent
  • Implemented plugin updates
  • Updated default Adium conversation theme
  • Lots of bugfixing both in library and gui
  • Tighter Facebook integration in Facebook session
  • Updated translations

Known issues:
  • the last said plugin breaks the conversation, just don't use it for now
  • adium output is broken in windows 7 because no dev has this os
As usual, the download page will be updated as soon as packagers will show up.
Thanks to everyone involved in this new-year release and happy 2012 from the emesene team.

-- c10ud

Monday, December 19, 2011

I want to connect emesene to msn through the new xmpp service howto

Actually, things are quite simple! [1] And no, before you continue
reading, this is NOT working as you could expect.
After reading this [2] i've seen you don't need to provide a secret
key in order to authenticate with the live xmpp server so i registered
the "emesene" app in windows live and set the "mobile" flag.

If you'd like to try playing a bit with it just grab this emesene
branch [3] and follow the instructions below:

You can now use the client_id i obtained
"client_id": "000000004C070D1E",
in order to do an oauth2-auth with your favourite browser (remember:
this is a quick and dirty howto, it's not meant for everyday msn
users!).
Just navigate to:
https://oauth.live.com/authorize?client_id=000000004C070D1E&redirect_uri=https://oauth.live.com/desktop&response_type=token&scope=wl.messenger
wl.offline_access
(yes, space included..not sure if wl.basic or whatever else is needed
too) and after being prompted for your user/pass you'll see the url
just changed to something like
https://oauth.live.com/desktop#access_token=YOUR_ACCESS_TOKEN&token_type=bearer&expires_in=3600&scope=wl.offline_access%20wl.messenger


Note down the access token thing and run the emesene branch i told you
about before

Now, providing you already have some sort of live id (note: i tried
this only with an @hotmail.com address), say YOUR_USER at whatever.com,
you select msn-xmpp from the service's dropdown menu and put
YOUR_USER at messenger.live.com as user, and the previously-noted-down
long and ugly access_token as password.
Click connect and after a few seconds you shall see some of your
contacts (and some nice exception infinite loop in console, yay)

I included the latest xmpppy available in that branch so it can be
easily tested..but i added a really tiny modification to sasl auth in
order to support msnxmpp's
elif "PLAIN" in mecs:
sasl_data='%s\x00%s\x00%s'%(self.username+'@'+self._owner.Server,self.username,self.password)
node=Node('auth',attrs={'xmlns':NS_SASL,'mechanism':'PLAIN'},payload=[base64.encodestring(sasl_data).replace('\r','').replace('\n','')])
else:
becomes
elif "PLAIN" in mecs:
sasl_data='%s\x00%s\x00%s'%(self.username+'@'+self._owner.Server,self.username,self.password)
node=Node('auth',attrs={'xmlns':NS_SASL,'mechanism':'PLAIN'},payload=[base64.encodestring(sasl_data).replace('\r','').replace('\n','')])
elif "X-MESSENGER-OAUTH2" in mecs:
sasl_data='%s'%(self.password)
node=Node('auth',attrs={'xmlns':NS_SASL,'mechanism':'X-MESSENGER-OAUTH2'},payload=sasl_data)
else:

I don't plan to work on it, i just wanted to see if there was
something that could be done with minimal effort so feel free to try,
improve and why not completely integrate (e.g. in-emesene oauth2 with
some sort of webview, fix xmpppy with msnxmppy etc.) it in upstream
emesene!

I forgot to add: if you'd like to start some xmpp hacking with python,
i asked around and people have been recommending SleekXMPP

website: https://github.com/fritzy/SleekXMPP

real world example usage: http://poezio.eu/en/index.php

if someone is interested you could write an extension just like
"emesene/e3/jabber" and maybe supersede xmpp usage


tl;dr: msn supporting xmpp is really nice, but having it 100% working
is not so easy

Have fun,
Riccardo (c10ud)

___

[1] - which doesn't mean you'll have it working 100%
[2] - http://blogs.gnome.org/xclaesse/2011/12/19/updates-on-xmpp-support-in-msn/
[3] - https://github.com/c10ud/emesene/tree/msn-xmpp

Thursday, December 08, 2011

Emesene meets social networks

Hi all,

as you can see from the last work, a new interaction with Facebook has been made. Now you can receive you Facebook messages directly from your Facebook session in Emesene and clicking on the email icon you can access them.. This opens a lot of new possibilities to extend Emesene, making a full integration between Emesene, Google+ and Facebook, using the relative APIs written in Python, for example we can write a plugin for fetching events on social networks, take further info on our contacts and showing them in the profile box, set our social avatar as Emesene's avatar etc... Well, this post is for all developers interested in helping to grow up Emesene in this direction, so if you're one of them please join us. Here it is a screenshot of the last work:


This shows the login procedure for acquiring the token to get messages. This procedure is generic for every Facebook application, let's going to see how to do it :)

An introduction for developers

In this section I will explain how I developed the Facebook part, so you can see how to create your Facebook application and integrate it in Emesene easily. I' ve never worked with Google+ APIs, but should be something similar.

To use Facebook APIs you need to get a token from Facebook, logging in with your account. Before continue reading, I advice to read some doc about Facebook auth: http://developers.facebook.com/docs/authentication/ .

1. First of all we need Facebook APIs written in Python, I choosed pyfacebook and modified it. You can find them in /emesene/e3/jabber/pyfacebook.

2. Once you've get the API KEY and SECRET KEY from Facebook, you can use pyfacebook in this way:
client = Facebook(API_KEY, SECRET_KEY, oauth2 = True, app_id = API_KEY)
connection_url = client.login(REDIRECT_URL, required_permissions="read_mailbox, offline_access")
Specifying a REDIRECT_URL where you will be redirect when process finish its work and all permission our application needs.

3. Instead of using the default web browser, I created a customized web view that is able to intercept all the urls, so parsing them we can receive our token to use APIs. You can use it in this way:
dialog = extension.get_default('dialog')
dialog.web_window(title_string, connection_url , url_receive_callback)
where url_receive_callback is your function parsing every url searching for the token. Have a look at the method _on_social_request in /emesene/gui/gtkui/MainWindow.py

4. We can finally store the token in the user's configuration. I did this
self.session.config.facebook_token = token_found
5. Now it's time to develop a method to remove the token and restart the auth process.

That's is just an introduction, some modification on this component may happen, but won't interest the whole structure. We are waiting for your help dudes :)

Regards,

=.4.S.= Andrea Stagi

Saturday, November 12, 2011

emesene 2.11.11

Hey everyone,

Almost 2 months have passed again, so it was time for a new release. The release is a bit earlier than planned, because of some problems with the msn protocol. All problems related to this should be fixed in this new release.

The source can be found at [tarball | zipball]. Just download, extract and run! The new version for Ubuntu will be available in a few hours in our ppa. Downloads for other platforms should also be available soon.

Now let's see what new features there are in this release:

- Connection issues with the msn protocol are fixed
- Better google talk and facebook support (you'll need to have python-xmpp installed to see it)
- A more stable plugin/theme download system
- Unity launcher support for Oneiric
- Settings are also saved when you log out of your desktop account
- A working Windows installer (again)
- Updated translations

The aforementioned Facebook support improvements include an experimental method for Facebook mail support. This method will be improved in the next emesene version.

Thanks to everyone who contributed, be it in the form of code, translations, packages, bug reports, or just keeping us awake in the irc channel. For everyone who wants to help with translating emesene, the translations can be found at launchpad. The template will be updated every Saturday, meaning that there could be new strings to translate every week. All translations you make will be included in the next release.

So have fun with the new release, and if you happen to find any bugs, please report them.

Regards,

Sven

Tuesday, November 08, 2011

emesene is unable to connect

There have been some changes in Live Messenger servers which broke most of unofficial Live Messenger clients.

We are currently investigating the issue and provided a temporary workaround that seems to be working for most of the people.

Just download this archive HERE, extract and run the emesene script inside.

It is a development version of emesene, it won't touch anything/no need to install it. Just download, extract, run and see if it works for you.

Once we will be 100% sure that the fix works we will release a new version of emesene.

Stay tuned.