Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core -- much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical.

Journal Entries

Avatar

Release Candidates day today for my packages in gentoo: quassel also got updated. Thanks sputnick for not breaking the ebuild by keeping the old icons around, btw! :) Flameeyes — about 1 year ago

Avatar

Preparing Quassel IRC for its first release candidate... just a few things remain to be done! Sputnick — about 1 year ago

Avatar

Yai! I finally implemented CertFP support in quassel, so I can finally get to connect it to OFTC without explicit identify. Next step: key-based authorisation, akin to SSH authorized_keys. Flameeyes — about 1 year ago

Avatar

Preparing the new ebuild in gentoo for quassel! Flameeyes — about 1 year ago

See All Journal Entries


Ratings & Reviews

Community Rating
4.4/5.0

Based on 5 user ratings.

Your Rating

Click to rate this project.

Links

0 links submitted so far. Submit your own links.

News

Edit RSS feeds.

    Fixing teh bugz: 0.4.1 released

    We have recently tagged a bugfix release for the stable branch, appropriately named 0.4.1. Users of 0.4.0 are heavily recommended to upgrade. Note that no new features have been added; users of the development version from git should not use 0.4.1 as ... [More] it would be a downgrade.

    Some of the bugs fixed include:

    Correctly display images in the web preview in static builds
    Improve selection and multi-line paste behavior
    Fix cert handling for identities
    Create a proper default identity for new networks
    Improve ping timeout detection (don't time out after 30 seconds with a shaky connection)
    Fix bufferview sorting
    Updated and new translations: Slovenian, Russian, French, Czech, German, Turkish
    Improve flood control (avoiding Excess Flood in most cases)
    Various improvements to the build system

    You can grab the new release from our download page; many distributions also have updated packages available already.

    read more [Less]

    Quassel IRC Proudly Presents: 0.4.0!

    After about three months of hard work, the Quassel Team has tagged the brand-new and extra-shiny 0.4.0 release for you! And for extra convenience, we even have updated our downloads page! To reach this important milestone, 432 commits went into Git ... [More] since 0.3.1.

    As usual, you can find most features we have added in the FeatureLog, and if you are really interested, you can peruse the Git history. Let me highlight the most important things right here though.

    read more [Less]

    The World in a Donut

    This was one of the comments our new shiny application icon caused, and it was even suggested as our new tagline. I LOL'd :)

    I would like to thank again Mr. Oxygen Nuno Pinheiro for his terrific artwork for both KDE4 and Quassel. Most of the ... [More] icons you see in Quassel are made by him and the rest of the Oxygen Team. Kudos!

    We have been fading out our old logo, the All-Seeing Eye, during the past few weeks. This was created by John "nox" Hand, who deserves kudos for his work as well, of course. Thank you! Your logo has served us well for a long time, but now it's Oxygen all the way...

    New Quassel artwork coming to a release near you in only a few days!

    read more [Less]

    HOWTO make your app work with Qt 4.5

    With Qt 4.5-rc1 recently released, we've stumbled over a strange issue with Quassel. A binary compiled against Qt 4.4 would completely freeze when used with Qt 4.5. This problem mostly hit users on binary distros trying out Qt 4.5. As it turned out ... [More] , recompiling Quassel against Qt 4.5 magically fixed the problem - but of course, this is not an option for distro packagers, as they will have to provide packages built against 4.4 at least until 4.5 hits their distros proper.

    So we hunted for that bug, to no avail at first, but then EgS stumbled over dug into the strange dungeons of his memory, and there found lurking a blog entry by one of the Trolls:

    Well if you leave the code as it is then you will either get a crash in your code or it will simply cause the application to hang because the QRegExp object passed into QString::indexOf() is no longer modified. The good news is that there is a solution which you can use now even if you are not switching to Qt 4.5 straight away. What you should do is change the calls from QString::indexOf() to QRegExp::indexIn().

    We found one location in our code where we did this, and changed that:

    - matches[i] = str.indexOf(regExp[i], qMax(matchEnd[i], idx));
    matches[i] = regExp[i].indexIn(str, qMax(matchEnd[i], idx));

    This seems to fix the issue, and Quassel binaries built against Qt 4.4 now reportedly work with 4.5.

    What I don't get: I can see how "not modifying the QRegExp object" causes our code to hang here, and why the above makes it work again. But why the fringle does a mere recompile against Qt 4.5 fix that issue as well? Does the regexp magically become modifiable again? Luck? Karma? Voodoo? Anybody can help me out there? ;-)

    read more [Less]

    Embedded Build System Voodoo

    Qt has this nice feature that you can embed arbitrary files into your binary, and access these so called Resources via special paths starting with a colon. For the longest time, Quassel has exclusively relied on resources and embedded all its data ... [More] files, including icons, into the binary. This had the advantage that we could always be sure to find all required files at a certain location and need to provide fallback mechanisms. It also meant that Quassel binaries didn't need to be installed; they were completely standalone and could just be run from any location. Quite nice especially on a platform like Windows that does not have standard locations for all sorts of data files. And on Linux, whose various flavors still do not always agree where stuff should go.

    Now, where's the problem with that approach? For once, the binaries get bigger. Maybe not on the file system (having dozens of small files tends to waste a lot of space due to fragmentation and partial blocks), but certainly in RAM. It also increases loading times a bit. Then there was the issue with translations. We would embed all translations into the binary - obviously a waste of space even though each individual language file is surprisingly small. The LINGUAS variable, restricting the languages to be built, helped a bit, but not much. Distros tend to provide language packs, so support for external files would be needed.
    But the real killer was KDE integration - KIconLoader, for example, wouldn't look into our binary to find an icon, obviously. So for KDE support, we needed to install the icons separately. Consequently, Quassel gained support for that a while ago, complete with some confusing cmake options. Over time, we got more data files, such as .knotifyrc for KDE's notifications, and networks.ini containing predefined network definitions. As it turned out, our build system installed them in locations that would be re-found at run-time only by pure luck, if at all. And it would fail completely on Mac and Windows.

    I have fixed that in the past couple days, and Quassel now has proper data file handling. Read on for more information, in particular if you are a distro packager!

    read more [Less]

Read all Quassel IRC articles…

Download Page
25 downloads

Who uses Quassel IRC?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar

Who contributes to Quassel IRC?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Anon32
I'm a contributor

Who manages Quassel IRC?

Avatar
I'm a manager

Where in the world?




People who use Quassel IRC also use:


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 77,001
Effort (est.) 18 Person Years
Avg. Salary $ year
$ 1,016,918