Tuesday, November 06, 2012

emesene and gtk3

Hello,
as of today emesene-git (today's master) will automatically choose between gtk2 and gtk3 upon launch.
That means that if you have a decent version of gtk3 installed along with the new python bindings, you'll get emesene running with gtk3 (and gstreamer1.0, if you have it).

NOTE TO UBUNTU PRECISE USERS: There's a known bug that prevents gtk3 from working in Ubuntu Precise. However, if you're using the emesene-stable PPA, an update to the light-themes package will fix that issue and you'll be able to run it (from git, PPA still has the good ol' emesene 2.12.9).

This is the result of months of development of Jose 'pepeleproso' Rostagno so big kudos to him for getting this important milestone in emesene development.

We are aware of the recent developments of the Skype-Messenger situation but no worries, emesene fans!
emesene already support XMPP through SleekXMPP (and that means out of the box support for Facebook Chat and GTalk) and QQ through libwebqq.

The emesene roadmap nowadays is something like this (no particular order):
- Complete the port to Gtk3 and remove Gtk2 support.
- Switch to python3.x
- Add support for OAuth so it can be easily used for Messenger-over-XMPP
- Better XMPP support (new networks, new functionalities)
- Improve Qt4 gui and bring it on par with Gtk
- Fix the Ubuntu bugs that are preventing emesene from running in Quantal (unknown causes)
Ofcourse we are open to every kind of contribution, so if you like python and hacking you know where to look at!

That's all for now.
Greetings,

Riccardo (c10ud)

Thursday, September 06, 2012

emesene 2.12.9

After a really hot european summer here comes the new emesene release, with the usual load of new features and bugfixes.


All emesene users stuck with older versions must upgrade!



  • New in-development QQ backend and session through libwebqq (Xiang Wang)
     
  • Updated SleekXMPP for XMPP backend
     
  • Fixed msn transfers
     
  • Improved msn endpoints handling
     
  • Fixed messages not being received or rendered with weird fonts
     
  • Added infrastructure for allowing plugins to hook into events (at the moment only  send and receive message events are handled, we will add hooks on request) with priority lists
     
  • Added new options for exporting conversation history (now HTML, CSV, JSON, XML and TXT are supported)
     
  • Improved history dialog
     
  • Fixed many, many, many bugs in the gtk gui and added a few new features
     
  • Better OSX experience (Josh Fradley)
     
  • Improved Qt4 gui (not suitable for daily usable yet, development only)
     
  • Improved plugins and themes updates
     
  • Updated translations

Note about gtk3:
It's not perfect yet, and there's a blocker bug in Ubuntu Precise 12.04 so this release sticks with gtk2 as the default and only supported gui.
However we're looking forward improving the Qt4 gui since other os-es could be supported easier (e.g. see gtk2/3 bugs in windows/osx).
Any help is appreciated.


Packagers:
If you package emesene for any OS please take a look at the updated requirements (in DEPENDS). Let us know once a package is ready so we can update the download page!

Download:
[ Tarball | Zipball ]

OS-specific packages (windows, osx, linux) coming soon.

 

Tuesday, June 05, 2012

emesene 2.12.5

We're late, but we have a great release:



New features:
  • single window mode, like skypetab-ng, for all your docking needs
  • direct-connect aka fast file transfers are now implemented in msn, 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.
  • Multiple-points-of-presence with msn: connect everywhere and manage all your endpoints
  • SleekXMPP is now the default library for gtalk, facebook and other xmpp services.
  • You can open mail in your desktop client, if you want
 Fixes:
  • Too many to list here, but we fixed all the exceptions that have been reported in the bugtracker. And they're TONS. And of course, not only that.

Future:
  • 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.
  • qt4 ui is broken as a consequence of recent changes/fixes to core.


Help needed:
  • We need Windows developers in order to improve the build, since there're some Windows-specific bugs (Windows 7 x64 in particular)
  • We need someone capable of updating the emesene-team ppa for Ubuntu (it's stuck with 2.12.1)
  • Ofcourse any developer/packager is welcomed, help us mantain the greatest opensource im client!
Packagers:
If you package emesene for any OS please take a look at the updated requirements (in DEPENDS).

We strongly recommend to users stuck with older versions to upgrade.

Download:
[ Tarball | Zipball ]

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.

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

Monday, August 08, 2011

call for wannabe developers

hey! I'm talking to you, you think "I would really like to contribute to emesene, but I don't know python/programming that well".

yeah, you!




we get lot of comments like this, we know you are there and that you want to help us.

did you know that I started emesene to learn python?

do you know that the first two developers learned python while fixing bugs on emesene?

did you know that one of them was 14 years old when he started?

did you know that he became the Benevolent Dictator of emesene for more than a year before our mighty cloud replaced him?

did you know that one of those developers now works full time with python and the other is studying computer science?

did you know that almost all actual developers learned python while helping emesene?

did you know that they starting "fixing bugs here and there" and now are full time contributors?

did you know that we also learned a lot about english, open source, licences, project managment and software in general?

now you can't say that we are all python ninjas that were born knowing python, almost 100% of us learned python hacking emesene.

this should give you the idea that yes, you can learn and you can contribute.

if you know some programming/python and want to help then join!

if you always wanted to contribute to an open source project then join!

if you know someone with the above conditions you can help by making him read this!

how to start?

join the emesene users group in google groups, present yourself, from where you are, which is your level in programming and python (it doesn't matter if the answer is almost none, it's just to see how we can start helping you) and let's start hacking!



see you there

Sunday, July 31, 2011

emesene 2.11.7

Another month has passed (actually two, but who cares), so here we are with the new release: emesene 2.11.7!

A new version of course bring a new set of features, so here's a list of the most important ones:

- Plugins and themes can be loaded from ~/.config/emesene2/[plugins|themes]
- Avatars for Google talk and Facebook
- Mail access in Google talk
- A new Windows installer
- Unity launcher support
- Fully supported Adium theme set. All the themes are now Adium style
- Conversations don't close when the user is disconnected
- Updated translations
- Again, more than 100 user reported issues were closed

Thanks again to everyone who helped making this release possible, being it by contributing a huge amount of code, or by simply submitting a bug report. Every contribution helps to make emesene better.

Of course we can always use some extra people that help develop emesene. You might think it too hard for you, but if I may take myself as an example: about half a year ago I didn't even know python yet, and here I am writing you about the new emesene release. It's not that hard really, but coding still takes time, which is not something we have a lot of. That's why we need you.

Now, to download emesene 2.11.7, the source is available as a zipball or tarball. Just extract and run!

Other packages should be available soon. Just watch the download page.

Tuesday, June 21, 2011

do you use mac os x? want to help emesene? want to be the creator of a plugin? here is some help

itunes needs a "currently playing" plugin

let's do this, I give you almost the complete recipe, you build it as a plugin and everyone is happy

on the shell:

sudo pip install appscript
python

now on the python shell:

>>> import appscript
>>> itunes = appscript.app('iTunes')
>>> current_track = itunes.current_track
>>> current_track.name.get()
u'Temporary Like Achilles'
>>> current_track.artist.get()
u'Bob Dylan'
>>> current_track.album.get()
u'Blonde on Blonde'

now fetch emesene's code, see how the other "current playing" plugins are made, create the itunes version and send us a pull request!

Friday, June 10, 2011

a place for emesene users to meet

hi!

for some time users have been asking where was the forum and which was the replacemente for the forum.

since maintaining all the infrastructure by ourselves was taking a lot of times for the contributors of the project and we had several "entry points" to the project we decided to consolidate.

the result is the blog as a place to be up to date on what's happening with the project, get information, downloads, links etc.

and github for development, issue tracker, wiki etc.

all this is working really nice, except for the fact that there is no place for end users to interact with eachother.

after some discussion we decided to open the emesene users group on google groups

the idea of the group is to discuss/share things like plugins/themes and maybe small problems/fixes/workarounds.

we would also like to use that channel as a way to expose tasks that don't require lot of expertise, like translations, documentation, small bug fixes, improvement on code quality etc.

the rules are simple:

  • the channel is to talk about emesene, stay on topic
    • mark [OT] on the subject if you really think an off topic post should go to the list, to make it easy for people to filter those messages
  • english is preferred, that way we reach more people
    • if you really don't know anything about english mark your topic with the language ([es], [it], [pr]) so other people can filter those topics
  • be nice
  • help move common knowledge to the wiki or to a FAQ to point repeated questions there
  • help us promote interested people to developers

so, come over and let's talk about emesene

http://groups.google.com/group/emesene

this is all for now, I may expand this post as we go