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.

Thursday, September 29, 2011

emesene 2.11.9 is out!

Here we come again with a brand new release after a long window of development!
First of all, download links (source) for the impatients: [tarball|zipball] download, extract, run!

Now back on topic, a small list of notable changes:

- Download plugins and themes from within emesene (directly from github)
- A new (and better) Plus! color parser
- A new and improved version of papyon (msn library) inside emesene (with lots of fixes, no more external dependency required)
- A contact management list for the msn protocol (the good ol' Privacy Lists)
- Lots of custom emoticon fixes
- Almost 200 user reported issues were fixed!


Downloads for specific platforms (e.g. Windows, OSX, Linux distros) will come as soon as someone does the dirty work required, as usual...or you can get involved and do the packaging yourself!

Have fun,
-- c10ud


Tuesday, September 13, 2011

to all emesene-git users

From now on, our own version of papyon will live inside emesene tree inside emesene/e3/papylib/papyon

If you're a git user, you won't need to update the papyon submodule anymore, core devs will take care of that if needed.


A quick reminder on how to stay in sync with emesene-git, quoting the wiki:

You’ll want to stay in sync with the upstream master branch on emesene/emesene. The easiest way to do this is by adding it as an remote branch

git remote add upstream git://github.com/emesene/emesene.git (it’s just an alias)
Now, make sure you don’t have uncommitted changes! (git status is your friend)
git pull upstream master will merge the upstream repo into yours. If there are conflicts, solve it or git reset --hard

If you want to contribute fixes/features to our own version of papyon, take a look at https://github.com/emesene/papyon
That's the repo we are using for simple fixes and other stuff, from which we'll backport with straight-copy inside the "real" emesene tree

Have fun,
-- c10ud


Tuesday, August 16, 2011

emesene screencasts to help the new devs

hey!

thanks all the people that joined to the emesene group to start helping with emesene.

as a guide I decided to record some screencasts with some information that will be useful for you.

here are the first two





please provide ideas for future screencasts so I create them and all benefit :)

PS: if the second video doesn't load it's because is still being processed