Releasing conjoon 1.1.0

Thorsten Suckow-Homberg
4 min readMar 22, 2023

The webmail-client conjoon 1.1.0 has just been released, a feature release that brings a lot of qol-improvements, bug fixes and a major feature to conjoon.

Highlights — extjs-app-localmailaccount

With the new authentication package extjs-app-localmailaccount, you’re now able to store multiple Email-Accounts directly on your computer. While the first major release of conjoon came bundled with extjs-app-imapuser, an auth-package for authorizing against a single IMAP account (that was in particular developed for free email hosters), this package now focuses on custom installations where users maintain their own instances of conjoon.

Enabling extjs-app-localmailaccount — Frontend:

extjs-app-localmailaccount comes bundled with conjoon, so there’s nothing left to do for you except for enabling the package. Use the latest version of create-conjoon to ease the installation process — it allows you to copy an official release to the directory of your previous installation (make sure you read the documentation before you overwrite the directory contents, or if you’d rather get a dev environment for conjoon up and running).

Once you have updated it, open conjoon.conf.json, then look for the section where extjs-app-imapuser is configured. Add a property named disabled (if not already existing) and set this to true.

{
"extjs-app-imapuser": {
"disabled": true
}
}

For extjs-app-localmailaccount, set the property to false:

{
"extjs-app-localmailaccount": {
"disabled": false
}
}

MISSING EXTJS-APP-LOCALMAILACCOUNT CONFIG: In case you have no extjs-app-localmailaccount existing with your conjoon.conf.json, refer to the documentation and utilize the default configuration coming with the package.

Once everything is set and configured, restarting your instance of conjoon should now directly boot to the MailDesktopView. A new button will be available in its toolbar:

Clicking it will open up the MailAccountWizard that lets you choose from a set of pre-configured accounts:

TIP: You can also apply custom mail server information by scrolling down the list and pick the "...other IMAP account"-entry.

Once you have provided the required details, the Email Account will be stored in the Local Storage of your browser. It is always editable afterward by selecting the node representing the Email Account from the MailFolderTree on the left side of the MailDesktopView:

Enabling extjs-app-localmailaccount — Backend:

Please make sure you take a look at the updates that came with the available backends, namely lumen-app-email — you need to update to the latest version to make sure the updated client can properly communicate with the backend. Make sure you apply the proper API-configuration to your backend instance. Upgrading to a new version of lumen-app-email will also update to the latest version of php-lib-conjoon. Needless to say, lumen-app-email is fully backward compatible.

Supporting UI-State-management

I have added support for saving the state of the UI so you do not have to expand/collapse various views once you re-enter the application. This is a small QoL-improvement for now. The initial support for this opens the door for more improvements in this regard.

Other changes

Other notable changes include:

--

--

Thorsten Suckow-Homberg

Full Stack Senior @ eyeworkers GmbH. Working w/ clients across multiple industries and countries, helping to deliver web apps more effectively.