Songs of Doom

Archive for the 'Jabber' category

Psi 0.11-RC1 released

11:34 am

It’s release candidate time.
Psi-0.11-RC1 is out there to be tested, please grab your copies from

Source: http://downloads.sourceforge.net/psi/psi-0.11-RC1.tar.bz2
Mac: http://downloads.sourceforge.net/psi/Psi-0.11-RC1.dmg
Windows: http://downloads.sourceforge.net/psi/Psi-0.11-RC1-win32.zip

Please test this to destruction. If no show-stopping bugs are
revealed in the next few weeks, we’ll go gold. The changelog is as
follows:

* Reworked account registration process (including proper support for XEP-0077 (In-band registration))
* Finished support for XEP-0004 (Data Forms) by supporting forms in messages. (thanks to Roelof Naude)
* Added support for JEP-0070 (Verifying HTTP Requests via XMPP).
* Customizable shortcuts (thanks to Ephraim)
* Added spell checking (thanks to Ephraim). Currently only aspell is supported on non-Macs.
* Added option to automatically set the resource (using the hostname)
* Added new default Stellar3 iconset
* Added support for JEP-138 (Stream Compression)
* Added support for using JEP-33 (Extended Stanza Addressing) to multicast messages to multiple users. Use option.enable-multicasting to enable it.
* Added ‘Show status message’ toggle. There is a hidden option to put status messages under the nickname (at the cost of 2 extra pixels when no status message is shown)
* Support for Bookmark Storage (JEP-0048), where bookmarked conferences are auto-joined. No UI is provided for creating bookmarks (yet).
* Better error messages, including error condition mappings (JEP-0086)
* Support dynamically changing priority
* Improved PGP error messages
* Hiding the deprecated protocol selector for service discovery by default. Use option.ui.show-deprecated.service-discovery.protocol-selector to re-enable it.
* New options system (see options.xml)
* Receiving support for vCard-Based Avatars (JEP-0153)
* Support for Multi-User-Chat (JEP-0045)
* Preliminary support for User Nickname (JEP-0172)
* Preliminary support for Roster Item Exchange (JEP-0144)
* Psi now uses the Qt4(>=4.2.3) and QCA2 libraries, replacing the Qt3 and QCA1 requirements.
* “Privacy List” support in the account dialog.
* Support for JEP-0050 (Ad-hoc commands)
* Preliminary support for JEP-0163 (Personal Eventing Protocol)
* Preliminary support for JEP-0146 (Remote Controlling Clients)
* Large parts of the codebase have been restructured.
* Fixed a chat room bug where subject/topic changes were not shown.
* Mac OS X builds are now universal binaries, supporting the new Intel based Macs.
* Support for JEP-85 (Chat State Notifications).
* Support for JEP-0115 (Entity Capabilities).
* There is now a config.xml option to make some windows use the brushed metal theme on Mac OS X.
* Window opacity support is now present for all three supported platforms.
* Fixed Unicode URL opening bug #510
* Auto-reconnect accounts on wakeup
* Copy-pasting with emoticons now works
* Fixed issue #263 where emoticons would disappear in a reply or quote
* History index is rebuilt faster
* Configure toolbars merged into main preferences dialog
* Moving tooltips
* MingW32 compiler support (Coupled with the open source Qt4 Windows library this now allows completely free building of Psi on Windows)

This is also an announcement of a string freeze and a build system freeze (both short of finding errors in the text or the build system) so translators are encouraged to start translating now, and packagers to test their build systems ready for release.

In the development of 0.11 we’re also pleased to have onboard two new developers, Machekku and Textshell, who’ve both already proved themselves invaluable. Welcome to both.

So, go enjoy yourselves.

Psi 0.11-beta4 released

10:42 am

Several issues have been addressed since beta3, including fixing a great many of the connection problems. Also added since beta3 are customisable shortcuts and spell checking support, as well as automatically setting the account resources to the hostname of the system. As such, we’re releasing beta4 into the wild, as always, please go forth and test (and report).
Links first, then an extract from the release notes:

Mac OS X universal binary:
http://psi-im.org/files/beta/0.11/beta4/Psi-0.11-beta4.dmg
Win32 build:
http://psi-im.org/files/beta/0.11/beta4/psi-win32-0.11-beta4.zip
Source tarball:
http://psi-im.org/files/beta/0.11/beta4/psi-0.11-beta4.tar.bz2


Known Issues

This is a beta (preview) version of Psi and is not intended to be release
quality or used in production environments. Particularly, the following
issues are known (those issues which are believed to have originated in
external libraries are marked with a *):
– GnuPG is temporarily not supported. *
– Mouse actions on tabbed chat windows may cause ASSERT errors in some versions of Qt. *
– Proxy support is broken in some, if not all, circumstances.
– On Mac, the menubar is only populated when the roster is the current selected window. *
– Roster tooltips are a little ugly currently, more whitespace will be added again later.
– When receiving multiline messages in a chat, sometimes some lines will not be visible until another message is received or sent. *
– Clicking on Psi popups sometimes causes a crash.

Notes

– This beta release includes a patched version of QCA2. Although it is
possible to link against another self-patched QCA2, it is strongly
recommended to use the provided tree, which is now default when
using ./configure on unices, or by default on Windows.

New in 0.11
– Customizable shortcuts (thanks to Ephraim)
– Added spell checking (thanks to Ephraim), currently only aspell is supported.
– Added option to automatically set the resource (using the hostname)
– Added new default Stellar3 iconset (thanks to Jason Kim)
– Added support for JEP-138 (Stream Compression)
– Added support for using JEP-33 (Extended Stanza Addressing) to multicast messages to multiple users. Use option.enable-multicasting to enable it.
– Added ‘Show status message’ toggle. There is a hidden option to put status messages under the nickname (at the cost of 2 extra pixels when no status message is shown)
– Support for Bookmark Storage (JEP-0048), where bookmarked conferences are auto-joined. No UI is provided for creating bookmarks (yet).
– Better error messages, including error condition mappings (JEP-0086)
– Support dynamically changing priority
– Improved PGP error messages
– Hiding the deprecated protocol selector for service discovery by default. Use option.ui.show-deprecated.service-discovery.protocol-selector to re-enable it.
– New options system (see options.xml)
– Receiving support for vCard-Based Avatars (JEP-0153)
– Support for Multi-User-Chat (JEP-0045)
– Preliminary support for User Nickname (JEP-0172)
– Preliminary support for Roster Item Exchange (JEP-0144)
– Psi now uses the Qt4(>=4.2) and QCA2 libraries, replacing the Qt3 and QCA1 requirements.
– “Privacy List” support in the account dialog.
– Support for JEP-0050 (Ad-hoc commands)
– Preliminary support for JEP-0163 (Personal Eventing Protocol)
– Preliminary support for JEP-0146 (Remote Controlling Clients)
– Large parts of the codebase have been restructured.
– Fixed a chat room bug where subject/topic changes were not shown.
– Mac OS X builds are now universal binaries, supporting the new Intel based Macs.
– Support for JEP-85 (Chat State Notifications).
– Support for JEP-0115 (Entity Capabilities).
– There is now a config.xml option to make some windows use the brushed metal theme on Mac OS X.
– Window opacity support is now present for all three supported platforms.
– Fixed Unicode URL opening bug #510
– Auto-reconnect accounts on wakeup
– Copy-pasting with emoticons now works
– Fixed issue #263 where emoticons would disappear in a reply or quote
– History index is rebuilt faster
– Configure toolbars merged into main preferences dialog
– Moving tooltips
– MingW32 compiler support (Coupled with the open source Qt4 Windows library this now allows completely free building of Psi on Windows)

Psi 0.11-beta3

7:59 pm

As we’re still sitting with our hands tied waiting for some of the libraries we depend upon to advance a little before we can really address 0.11 release candidates, we’ve tidied up a few issues and made a new beta release to (approximately) coincide with the release of Qt 4.2, which is now required for Psi builds.
Links first, then an extract from the release notes:

Mac OS X universal binary:
http://psi-im.org/files/beta/0.11/beta3/Psi-0.11-beta3.dmg
Win32 build:
http://psi-im.org/files/beta/0.11/beta3/psi-0.11-beta3-win32.zip
Source tarball:
http://psi-im.org/files/beta/0.11/beta3/psi-0.11-beta3.tar.bz2


Known Issues

This is a beta (preview) version of Psi and is not intended to be release
quality or used in production environments. Particularly, the following
issues are known (those issues which are believed to have originated in
external libraries are marked with a *):
– GnuPG is temporarily not supported. *
– Mouse actions on tabbed chat windows have been temporarily disabled.
– Proxy support is broken in some, if not all, circumstances.
– On Mac, the menubar is only populated when the roster is the current
selected window. *
– Roster tooltips are a little ugly currently, more whitespace will be
added again later.
– When receiving multiline messages in a chat, sometimes some lines will
not be visible until another message is received or sent. *
– Clicking on Psi popups sometimes causes a crash.

Notes

– This beta release includes a patched version of QCA2. Although it is
possible to link against another self-patched QCA2, it is strongly
recommended to use the provided tree, which is now default when
using ./configure on unices, or by default on Windows.

New in 0.11

– Added new default Stellar3 iconset
– Added support for JEP-138 (Stream Compression)
– Added support for using JEP-33 (Extended Stanza Addressing) to multicast messages to multiple users. Use option.enable-multicasting to enable it.
– Added ‘Show status message’ toggle. There is a hidden option to put status messages under the nickname (at the cost of 2 extra pixels when no status message is shown)
– Support for Bookmark Storage (JEP-0048), where bookmarked conferences are auto-joined. No UI is provided for creating bookmarks (yet).
– Better error messages, including error condition mappings (JEP-0086)
– Support dynamically changing priority
– Improved PGP error messages
– Hiding the deprecated protocol selector for service discovery by default.
Use option.ui.show-deprecated.service-discovery.protocol-selector to re-enable it.
– New options system (see options.xml)
– Receiving support for vCard-Based Avatars (JEP-0153)
– Support for Multi-User-Chat (JEP-0045)
– Preliminary support for User Nickname (JEP-0172)
– Preliminary support for Roster Item Exchange (JEP-0144)
– Psi now uses the Qt4(>=4.2) and QCA2 libraries, replacing the Qt3 and QCA1 requirements.
– “Privacy List” support in the account dialog.
– Support for JEP-0050 (Ad-hoc commands)
– Preliminary support for JEP-0163 (Personal Eventing Protocol)
– Preliminary support for JEP-0146 (Remote Controlling Clients)
– Large parts of the codebase have been restructured.
– Fixed a chat room bug where subject/topic changes were not shown.
– Mac OS X builds are now universal binaries, supporting the new Intel based Macs.
– Support for JEP-85 (Chat State Notifications).
– Support for JEP-0115 (Entity Capabilities).
– There is now a config.xml option to make some windows use the brushed metal theme on Mac OS X.
– Window opacity support is now present for all three supported platforms.
– Fixed Unicode URL opening bug #510
– Auto-reconnect accounts on wakeup
– Copy-pasting with emoticons now works
– Fixed issue #263 where emoticons would disappear in a reply or quote
– History index is rebuilt faster
– Configure toolbars merged into main preferences dialog
– Moving tooltips
– MingW32 compiler support (Coupled with the open source Qt4 Windows library this now allows completely free building of Psi on Windows)

Nightlies for Windows / OSX and Plugin progress

1:57 pm

I don’t know if anyone here has ever tried cross compiling Qt4 apps for Windows on OSX for PPC but my attempts at persuading Google to divulge the vital information failed, so I suspect not. I recently announced that there were now official nightly builds of Psi for OSX available at http://kismith.co.uk/files/psi/mac/nightlies. As these were due to a donation from a user of some RAM to fix up my mini, I felt compelled to try and maximise the return on investment and try to get win32 builds going. It turns out that running a virtual host for Windows and compiling them natively wasn’t going to happen so I had a go at cross compiling them; I had something of a fight with my Mac Mini on the issue but, eventually, the mini lost the will to resist and we now have nightly builds of the Psi mainline for win32 available at http://kismith.co.uk/files/psi/windows/nightlies. Of course, as with all builds of mainline there’s no guarantees and it’s likely (certain at the moment) that there are an assortment of crashes just waiting to happen but there seems to be a lot of demand for crashes so we’re happy to oblige :) .

As for the progress of my SoC project, I’m pleased to say that I’ve been making progress, albeit slowly, on the Python scripting plugin and the general infrastructure of plugins. Fritzy’s even been able to write a short script which parses incoming messages to extract the elements. It’s been suggested that it’d be ‘cool’ to have Psi flash the keyboard toggle/status lights when there’s an incoming message – if anyone can post how to do this in Python, I’ll even throw up a quick script for Psi to do this and commit it to mainline. I’m very near the stage now where ‘all’ that’s left is the biggest task; the plugin API and the associated glue. My next step is some sort of outgoing event hooks and probably writing an ‘echo’ plugin to test them. At that stage it’s possible to write some (pretty basic) useful plugins and I hope filling in the rest of the (large) blanks will result in an SoC project everyone can consider a success.

Oh, and my thesis? The deadlines are getting tight, very tight indeed.

First new options, then Windows Snarls at me

5:14 pm

Two bits of news for Psi, both hot off the SoC2006 press.

Firstly, I’ve implemented (most of) the new options system we’ve been talking about for so long and pushed it to mainline. It’s all dynamic, which means there’s no more editing common.h to add a new option, then editing the profiles code to set a default and copy/pasting some code to save and load the option; it’s all dynamic. To add a new option now, all we need to do is set it in the code with PsiOptions::instance()->setOption( "options.appearance.emoticons.use", true);, for example. Of course, options are very little use without defaults and this is now handled much more conveniently. When the Psi exectutable is built, an options-default.xml file is saved within the binary with the application defaults (this means that if you’re building your own Psi, you can change the defaults trivially). On top of this, your system administrator may install a system-wide defaults file to override this – and to make this even better, it can be a partial config, so if the only thing your admin wants to change is to make the roster pink in the default profiles, they can. Additionally, unrecognised options are now handled gracefully, no more of the problems of losing configs when reverting to previous Psi versions. The last bit of candy so far is that it’s all saved the moment the data structure is changed in memory: no more losing options during an unclean termination.
It’ll take us some time to move all the old options across to the new system but it’s something to look forward too.

The second, and probably more interesting, piece of news is that I found (Jason in the Psi muc told me about) Snarl, which aims to be a Growl-alike system for Windows. Since I want plenty of plugins to test the interface while I’m working on it, I implemented a Snarl plugin for windows for prettier notifications (since the plugin interface is completely unfinished, this only works for the single plugin method I’ve implemented, incoming messages, but its pretty enough).
Snarl plugin for Psi

The Google Summer of Code is turning out to be a fantastic opportunity to work on some things I wouldn’t have had time to work on otherwise and I’m very grateful to both Google for putting up the money, and the JSF council for choosing my proposal.

Psi and Summer of Code (2006)

1:19 pm

The second Summer of Code is upon us and it’s a good year for Jabber projects and for Psi in particular (this year’s projects are listed here: JSF SoC 2006 Projects). Of these 10 projects, 4 are aimed at directly at Psi, with a 5th hanging in the balance for the client to be used.

My own project is among those chosen (for which I’m obviously delighted). This project is to add plugin and (Python) scripting support to Psi, something which should be a great benefit to Psi users and also to people wishing to implement new protocol features, who will be able to build upon the Psi codebase to quickly prototype them in Python.

Anyone interested in tracking my progress should keep an eye on my previously mentioned project page on the JSF wiki (unless Peter Saint-Andre comes up with some other tracking system).

Just to prove I haven’t been idle, here’s a quick preview of the early plugins work (no, it’s not faked, these are real (although non-functional) plugins being found).
Early version of the Psi plugins options dialog

Oh, and my PhD/thesis? Things are finally looking up again after a stressful period of fear, uncertainty and doubt. I’m constantly amazed by the emotional effects being near the end of a PhD seems to have and I’m extremely grateful to have Cath around to help me stay sane.

You got my bells jingling.

9:46 pm

For those of you who remember way back into the mists of time, last December we released an experimental Psi branch with voice calling thanks to the libjingle library from Google. Well, while no less experimental, I’ve now ported the libjingle support from the psi-jingle branch to Qt4 and have now merged it into mainline, taking the opportunity to also port to the newest version of libjingle.

This means that if you’re the adventurous type, you can now build Psi with voice calling support, and that this will be compatible with Google Talk clients and any other projects which utilise the libjingle code. We’ll be providing (experimental, no support, no warranties and with a very real danger that they’ll eat your pet hippo and kangaroo) builds for Windows and Mac OSX just as soon as we can get support for those platforms working (expect an announcement about OSX from Remko very soon indeed). The code is, as I am repeating far too often, still considered alpha-quality, however, once everything stabalises a bit more we’ll be able to start including support ‘officially’ and hopefully pretty soon, official Psi builds for future versions will be voice-capable.

I hear the sound of bells in the distance, could they be…….jingling?

Psi-0.11-beta1 released

11:30 pm

Over the last couple of months (since long before 0.10 was released) we’ve been working on the Qt4 port of Psi, working towards the 0.11 release. It’s pretty usable on a day-to-day basis now and so I’m releasing a first beta release (note that this is not the test1 release candidate).

Those interested in the cutting edge and helping is towards 0.11 with testing, please grab the appropriate file from http://psi-im.org/files/beta/ and start reporting bugs to the mailing list(and ideally fixing them too :) ). Build instructions are available at http://psi-im.org/wiki/Build_Instructions_Qt4

Please consider this a preview release, several things aren’t finished yet (most notably advanced tab actions like drag and drop, and gpg functions) and there are glitches with some of what we’ve done so far (and more glitches in Qt4 itself which is still rather young).

A list of known issues can be found in the wiki at http://psi-im.org/wiki/Qt4_Issues

We’re currently working hard in parallel to try and get both 0.11 and the subsequent 0.12 completed and ready for you as soon as possible, so please feel free to muck in in any way you can.

/K

More Qt pies

4:46 pm

More branch news:

Further to Remko’s post where he announced the opening of our Qt4 development branch, we’ve now merged the Qt4 port into our mainline branch. While there are still some unresolved issues, as listed at http://psi-im.org/wiki/Qt4_Issues, several of us are now using this just fine for our day to day IM.

Our progress towards 0.11 can be seen at our bug tracker progress page at http://psi-im.org/flyspray/?do=roadmap which is Hal and Tony’s new toy.

Lastly we’ve released yet another development branch of Psi in a darcs repo at http://dev.psi-im.org/darcs/psi-ng. The purpose of this branch is to allow us to develop features due in a future version which won’t be in the next release. Since our next planned release is 0.11, which is purely a Qt4 port, all new features we work on before the release of 0.11 will be going into the psi-ng repo. We’ll then be able to easily bring these features back into mainline after 0.11 has been released. The first new feature in the psi-ng branch is ad-hoc commands and remote-control, great features that Jabber has over other networks, and particularly timely as more Jabber servers are having ad-hoc admin interfaces added.

Release of Psi-0.10

8:17 pm

The Psi team is proud to announce the release of Psi-0.10.

First off, here are the download links

Mac binary
Source tarball
Windows binary (with installer)
Windows binary (zipped)

New in 0.10
- Psi will now sign out before Windows or Mac OS X machines go to ‘sleep’
- The default text input line in the chat dialogs starts at one line tall, and grows as necessary.
- The Roster can now be automatically resized to fit all contacts.
- The Roster now has a menu bar available on Windows and Linux
- Chat windows can be collected together using tabs
- On Windows and Mac OS X, selected text may be automatically copied to the clipboard.
- Mac OS X builds now enjoy Growl(.info) support
- Photos are now available in the VCard dialog
- New default colour scheme
- Roster and chat dialog opacity is now configurable on Windows and Mac OS X
- The colour scheme is now slightly more configurable
- Assorted minor feature additions and bug fixes
- Number of unread messages is now visible in the dock on Mac OS X
- GPG passphrases are now cached during the entire Psi session
- ‘Authorization received’ messages can now be ignored
- Roster and chat windows can be made transparent

Thanks to all those who have contributed either code or support for this release and here’s looking forward to more Psi in the new year.

Bad Behavior has blocked 97 access attempts in the last 7 days.