Skip to main content


Development digest #22

Posted in

In the last two weeks we mostly fixed things, and the list of fixes is quite big and important.

We've also updated, fixed and revamped LackMan, our package manager, a lot. Its behavior is now much more consistent, and the UI is much more clear and information-rich. And it became much, much faster on updates. And it finally works on Windows!

Azoth, our IM client, now supports loading messages from history into chat window on demand. And Azoth's history storage module, ChatHistory, finally became able to perform global and per-account searches.

The promised list of fixes as well as improvements follows:

  • Core: store plugin icons on-disk, not in QSettings.
  • Core: support for searching icons in ~/.leechcraft/icons.
  • Core: optional hiding of the tray icon.
  • Core: much nicer settings tab.
  • Core: saner tab recovery policy.
  • Util: better SysInfo data.
  • XSD: fixed segfault when adding LackMan packages.
  • XSD: fixed first start segfault on Windows.
  • Azoth: history scrollback.
  • Azoth: case-insensitive highlight.
  • Azoth: filter by entry ID in console.
  • Azoth: console now shows timings.
  • Azoth: changed alternative nick semantics.
  • Azoth: fixed occasional segfault when hiding offline users.
  • Azoth AdiumStyles: minor theme compatibility issues fixed, themes like Pushpin are now working.
  • Azoth ChatHistory: support per-account and global searching.
  • Azoth Rosenthal: fixed context menu corrections.
  • Azoth Xoox: advertise XEP-0232 info about self.
  • Azoth Xoox: store passwords for password-protected MUCs.
  • Azoth Xoox: kludges for Kopete and Jabber.El detection.
  • Azoth Xoox: self-offline handling fixes.
  • Azoth Xoox: a bunch of other small fixes.
  • Azoth Xoox: caps generation fixes.
  • Azoth Xoox: fixed a couple of logical leaks.
  • BitTorrent: compatibility with libtorrent 0.16.
  • DBusManager: disable notifications by default.
  • Dolozhee: bug link now works.
  • Dolozhee: proper completion method for bug page.
  • Dolozhee: passwords are saved now.
  • LackMan: revamped UI.
  • LackMan: lots of Storage fixes, particularly on package removal.
  • LackMan: async Storage, speeds things up by two orders of magnitude.
  • LackMan: don't request all images on package retrieval.
  • LackMan: keep package if it's removed from repo but is installed.
  • LackMan: fixed Windows issues.
  • LackMan: notifications about number of new/updated packages.
  • Otlozhu: added iCal import/export.
  • TabSessManager: remove duplicate unclose actions.
  • TabSessManager: elided text for actions.

Development digest #21

Posted in

Since previous development digest we've introduced 4 new plugins, and we feel like it's just the time to make another one digest.
One of the new plugins is Otlozhu — a GTD-inspired TODO manager. It won't be an all-in-one PIM/organizer, so don't expect schedules, events, meetings, address books and stuff like that in it. It's point is to be a simple a clean way of keeping tracks of things you've got to do. Like GTD suggests, the less time you spend organizing your organizer, the better. For now it supports tagging items, (optional!) due dates, notifications, percentage of completeness, sorting and filtering by tags.
Other plugin is XProxy which is an advanced proxy configurator, allowing to configure proxies on a per-host and per-port basis.

Two other plugins are rather hidden most of the time. First is Dolozhee which is a bug reporting and feature requesting tool — basically, a client for our issue tracker. The other one is KBCraft which supports keeping track of what keyboard layout is active for which tab, so that different tabs can have different keyboard layouts.

Among other changes:

  • Core: filtering modules in plugin manager widget.
  • Advanced Notifications: support for Organizer event type.
  • Advanced Notifications: possibly fixed fonts generation (once more).
  • Aggregator: added Mark All As Read action.
  • Aggregator: proper indexes are expanded on feed addition, fixes #211.
  • Auscrie: support for making overlay and whole desktop screenshots.
  • Auscrie: fixed uploader.
  • Auscrie: support hiding the dialog.
  • Azoth: plugins now support split build.
  • Azoth: hardlimit for 4 variant icons, fixes #440.
  • Azoth: client icons are properly sorted by priority.
  • Azoth Acetamide: commands 323 and 338 are now supported.
  • Azoth ChatHistory: more clear search match highlights.
  • Azoth Xoox: support for XEP-0232 parsing/generation.
  • Azoth Xoox: handling/displaying XEP-0232 info in Service Discovery.
  • Azoth Xoox: text from muc#roominfo_description is used in SD now.
  • Azoth Xoox: even more efficient vCard requests.
  • Azoth Xoox: remember entered JID/password on in-band account reg.
  • Azoth Xoox: fixed several segfaults.
  • Azoth Xoox: configurable minimum height of message edit field.
  • BitTorrent: torrent icon for items in Summary.

Development digest #20

Posted in

Last couple of weeks we mostly fixed small issues and implemented not-so-big feature requests here or there. There are some changes worth emphasizing, though.

First, Azoth Xoox, our XMPP protocol implementation, now properly caches information about clients' capabilities and doesn't rerequest vCards when they surely haven't been changed. This actually allows conserving bandwidth quite a lot.

Second, tabs unclosing system moved to a separate plugin, TabSessManager, and became global. Support for this system already existed implicitly in Poshuku for some time, and now Azoth also supports it, which means that one can easily unclose a just closed chat. And, well, the Ctrl+Shift+T shortcut is working again!

Third, settings for theme and theme variant in Azoth settings are now separated. So, variants only relevant to currently selected theme are shown in a separate combobox. This allows themes to be much more manageable then it were before.

Azoth Acetamide, the IRC implementation, also got a lot of improvements and fixes for protocol part as well as behavioral changes.

A bit more full list of changes looks like this:

  • Azoth: support tab session management.
  • Azoth: theme and theme variant settings are now separated.
  • Azoth: allow one to reorder bookmarks.
  • Azoth Acetamide: fixed answer on Spy commands.
  • Azoth Acetamide: disconnect on socket error.
  • Azoth Acetamide: proper WHO request after channel joining.
  • Azoth Acetamide: support for server password in bookmarks.
  • Azoth Acetamide: proper SSL errors handling.
  • Azoth AdiumStyles: parse PLists for more info.
  • Azoth Xoox: fixed segfault on going offline.
  • Azoth Xoox: proper gateway login/logout logic.
  • Azoth Xoox: better caching for disco#info.
  • Azoth Xoox: proper support for vcard-update — vCards aren't rerequested in vain any more.
  • Azoth Xoox: caching for avatars in MUCs.
  • Azoth Xoox: support refreshing branches in service discovery.
  • Azoth Xoox: support showing physical addresses in vCards.
  • Azoth Xoox: fixed several rare segfaults.
  • Poshuku CleanWeb: better control for user filters.
  • Poshuku CleanWeb: support pasting/loading user filters from file.
  • TabSessManager: implement a global tabs uncloser.
  • Core: name/shortcut filter in ShortcutManager widget.
  • Core: support setting accept-language.
  • XSD: support for selection event notifications.
  • Overall: some code fixes thanks to static analysis!

LeechCraft 0.5.60 is released!

Posted in

We haven't published any development digests since LeechCraft 0.4.95, and it's time to fill the gap, since the first milestone of the new 0.6.x series, LeechCraft 0.5.60 "Hibernating Reason", is released today!

So, since 0.4.95 we've introduced a bunch of new plugins. Most importantly, the following protocol plugins have been added to Azoth:

  • Astrality, our Telepathy abstraction layer. Particularly, it allows to use protocols provided by libpurple via the telepathy-haze connection manager, like ICQ, AIM, Gadu-gadu, Yahoo and a bunch of others.
  • Vader, an implementation of the Mail.Ru Agent protocol. It currently supports extended statuses, sending SMS, attention requests, user tune, message delivery receipts, mailbox notifications and other features of the protocol.
  • Zheet, for the MSN protocol. It supports pretty much the same features.

The Sidebar plugin has been added. It displays a sidebar with actions for quickly opening new tabs, and it also displays currently opened tabs and allows to switch between them. If there are more than three tabs of some kind (like web browser tabs), they are folded into single action to avoid cluttering up the sidebar. It also incorporates something like a tray area, where other plugins may embed their actions or status icons. It is planned that some day Sidebar would supersede our current tabbar.

One of such plugins that embed actions into Sidebar is our new power manager plugin, Liznoo. It displays battery status in Sidebar's tray, and it also detects when computer goes to sleep or resumes and notifies other plugins about these events. This way Azoth can gracefully close connections to servers on hibernating and resume just as gracefully when returning from sleep. Liznoo also supports displaying history of battery charge and power consumption as well as notifications about low battery charge. It also allows user to make the machine go to sleep mode or hibernation.

Session management is now centralized and performed by the TabSessManager plugin. This means in near future even things like Azoth chat tabs will be recovered on LeechCraft start. Global centralized tab unclose manager is also on its way. TabSessManager also supports explicitly named sessions, so that one can save a bunch of interesting tabs in a named session and restore them later.

NetStoreManager, plugin for management of remote network data storages like Yandex.Disk, has been added. It is modular, and for now only Yandex.Disk is supported. NetStoreManager allows to upload files easily from LeechCraft, it maintains a list of uploaded files and allows to prolongate them (if the service supports it).

Some other important changes:

  • There is an API level check now when loading plugins, so no more segfaults because of plugins for previous LeechCraft versions!
  • Azoth Acetamide, our IRC protocol plugin, plugin got a lot of improvements. Particularly, it now has a menu for CTCP operations, and user info is supported.
  • Azoth Xoox, the XMPP protocol plugin, now allows to add download tasks remotely via the Ad-Hoc Commands XEP. It also got support for message forwarding. It also doesn't request vCards and versions in MUCs via gateways anymore. Support for emails and phones in vCard dialog was also added.
  • Aggregator now updates its feeds in a separate thread. No more freezes on update! Marking whole channels as read or unread is also performed in a separate thread.
  • Added importers from Psi+, Vacuum and Kopete to New Life.
  • A bunch of fixes in Azoth AdiumStyles, so the support for themes is almost fully compliant now. Themes like Renkoo or Satin look really nice!
  • Tabs pinning has been moved to a separate plugin — Pintab.
  • Added GActs, a plugin for global shortcut management, so Azoth now finally has a global shortcut for viewing next unread message.
  • LeechCraft now uses global system iconsets instead of carrying one with it. Oxygen or KFaenza are recommended!

Among other changes:

  • Added Poshuku Pogooglue plugin for quick googling of selected text.
  • Added Azoth Keeso plugin for morphing text InTo soMeTHiNg lIKe ThIS.
  • Caching in the Resource Loader framework, which should dramatically reduce amount of HDD accesses in plugins like Azoth.
  • Azoth now understands protocols where a user may have more than one permission of the same role in a MUC at a time.
  • Azoth Xoox now requests software versions for roster items and MUC participants.
  • A bit reworked UI of Azoth.
  • Shortcuts for quoting and clearing chat window are now exposed.
  • Azoth now has its own fonts configurator.
  • More configurable shortcuts everywhere.
  • A bunch of protocol and behavior fixes in Azoth, Azoth Acetamide and Azoth Xoox.
  • Fixed self-presence and self-PEP-events handling in Azoth Xoox.
  • Fixed auto upload/download in Poshuku OnlineBookmarks.
  • Moved to C++11, so that LeechCraft can only be built now with gcc 4.5 or later or MSVS 2010 (though, the latter doesn't support a couple of plugins). clang isn't supported yet.

You can also check out the roadmap for this version for more bug reports and feature requests that were implemented in this release!

Source tarball is already available on SourceForge. Packages for supported distros will be available soon.

Syndicate content