Archive for the 'Psi' category
Psi 0.11-beta4 released
10:42 amSeveral 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)
Categories: Jabber, Psi
14 Comments »
Psi 0.11-beta3
7:59 pmAs 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)
Categories: Jabber, Psi
7 Comments »
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.
Categories: Jabber, Psi, Research
4 Comments »
It seems I’ve been neglectful again and haven’t reported the outcomes of either the live Dev Chat we held, nor the result of the new RAM I was bought.
Well, first up, the dev chat was a great success, with a very full MUC and well over an hour of questions (there were many we didn’t have time to answer. The abridged transcript is available at http://www.kismith.co.uk/psi/devchat-210606.html and we’re hoping to hold another chat event towards the Autumn, when we’ll have the results of the six Summer of Code projects producing code for Psi (Yes, Machekku couldn’t keep away and has patched Psi as part of his project).
Secondly, the new RAM went in fine and my Mac Mini now lives again. Nightly (universal) Psi builds of the main development branch for OSX are now available from http://www.kismith.co.uk/files/psi/mac/nightlies/. Windows nightlies are somewhat more work to set up on a Mac but I do intend trying to set these up at some point; until then I’ll be uploading builds when I feel like it at http://www.kismith.co.uk/files/psi/windows/.
Categories: Psi
4 Comments »
Hardware donation.
12:27 pmMuch to my suprise, a shadowy anonymous figure in the Psi MUC (who didn’t want to be publically acknowledged) yesterday asked when the Mac nightly builds would be back, as Remko can’t make them anymore, and when I replied that I needed replacement RAM for my mac mini before I could do that bought me some. The generosity was much appreciated and the RAM arrived at work today, so I’ll be attempting to get the nightlies back up (undoubtedly with Remko’s assistance) in the very near future (the box needs a reformat, since the old corrupt RAM wrecked things somewhat).
Hoorah for harware donations to support OSS! (Following this news, Remko’s told me that he wouldn’t say no to an intel mac mini to test universal support on
(come to think of it, I wouldn’t say no to an iMac for the same reason
) ). Somewhat more seriously, this was a very helpful donation that’ll improve the state of Psi by bringing back nightly mac builds and that’s a good thing.
Thank you shadowy anonymous user ![]()
Categories: Psi
1 Comment »
Chat with the Psi devs
8:52 pmRecently a lot’s been happening in the Psi world - we’ve seen several Summer of Code projects come our way, Remko’s blitzed through a muc implementation (finally bringing us up to speed with the rest of the world), plugin support is being developed, ad-hoc commands are showing the future of remote administration of the XMPP world, PEP shall bring us avatars, user tunes, user moods etc. etc. etc.
During recent days we’ve seen a surge in interest in the Psi muc (psi@conference.jabber.ru) from users interested in knowing what’s going on (and helping, which is great). As such we thought it would be an interesting idea to have a question-and-answer session with the Psi devs all in one chat room to outline what we’re doing, where we’re going, what the future brings and so on.
To this end, the first “Psi developers live chat” shall be held in the Psi conference this Wednesday at 7PM, GMT/UTC for an hour. Please come along and ask questions of us, Remko, mblsha and I shall be there, as well as Justin who’s still responsible for the Iris and QCA libraries which Psi uses. (7 GMT is 8 British summer time, midday on the West coast of the states I think).
psi@conference.jabber.ru
Wednesday 21st June 2006
19:00 GMT
Categories: Psi
4 Comments »
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).

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.
Categories: Coding, Jabber, Psi
1 Comment »
URL Watcher Plugin
10:50 pmWell, I read Julian’s blog entry about a link history for im clients, rather like those IRC users have been enjoying for years and I thought “Hey, that’d make a great Psi plugin. Now, if only Psi had plugin support.”. Of course, some moments later I remembered my Summer of Code project to write a plugin interface for Psi. I hastily implemented a few more functions, fixed those I’d recently broken and implemented my first semi-useful Psi plugin. Yes, it’s basic. No you can’t close the window, you’ll never get it back. No, the plugin doesn’t know the user’s display name and just shows the jid. On the other hand though, no, this is not a mockup, it’s working exactly as presented below. So, I give you a screenshot of an early alpha of the URL Watcher plugin for Psi.

Categories: Psi
3 Comments »
Psi and Summer of Code (2006)
1:19 pmThe 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).

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.
Categories: Coding, Jabber, Psi, Research
3 Comments »
You got my bells jingling.
9:46 pmFor 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?
Categories: Jabber, Psi
7 Comments »
