Runbox 7 updates August-September 2020: Webmail improvements

Webmail improvements including Saved Searches, which lets you instantly bring up results of previously saved search terms.

  1. New feature (identities): Order From entries by priority
  2. New feature (dkim): Add a note about selector2 and when it will become active
  3. New feature (account security): Improve password validation and error messages on Account Security to avoid confusion
  4. New feature (dialog): Allow submitting dialogs with Enter/Return key
  5. Bugfix (canvastable): Make sort icons show actual sorting direction
  6. New feature (webmail): add a way to save and reuse searches
  7. Visual fix (app): Remove obsolete instances of mat-icons
  8. Bugfix (startdesk): Fix linter and policy errors
  9. Bugfix (folders): Improve folder count reliability in some edge cases

Continue Reading →

Runbox 7 updates August 2020: Performance and Contacts improvements

Improved and more consistent performance, a new menu for marking messages read and flagged, improved Contacts layout, and many other fixes and improvements.

  1. Bugfix (webmail): Update local (non-index) folder counts on refresh
  2. New feature (login): Set inputmode to show email and numeric keyboards on mobile as appropriate
  3. New feature (webmail): Always show popular recipients component if enabled, even with no local index
  4. Bugfix (account): Redirect domain renewals to domain registration app
  5. Bugfix (webmail): Ensure folder counts are updated after read/unread
  6. New feature (webmail): Change icons and tooltips when a message is deleted from trash
  7. New feature (compose): Add debug logs for measuring impact of recipient loading
  8. New feature (folder): Speed up folder size calculations
  9. New feature (webmail): Separate read/unread, flag/unflag in multi-menu
  10. Bugfix (menu): Hide account security until its backend issues are resolved
  11. Bugfix (mailviewer): Load mailpane status (vert/horiz) on page load
  12. Bugfix (compose): Set focus in textarea for replies
  13. Bugfix (contacts-app): Correct filtering options background color
  14. Bugfix (contacts-app): Fix positioning of email contact icon
  15. Bugfix (contacts-app): Make middle column width adjust to its content

Continue Reading →

Runbox 7 updates July 2020: Contacts improvements

A brand new Contacts interface, one-click view all email by recipient, contact avatar support, and many other improvements and bug fixes.

  1. New feature (app): Implement indicators for multipart background activities
  2. New feature (contacts): Add background activity indicator
  3. Bugfix (mailviewer): React to avatar settings as soon as they change
  4. New feature (contacts): Add a tooltip to picture upload button if gravatars are disabled
  5. Bugfix (contacts): Hide pictures in contact details if they’re disabled
  6. Bugfix (identitys): make main identity email field read only
  7. New feature (contacts): Add avatar settings to Contacts settings
  8. Visual fix (compose): Show suggested recipients with light gray background. (#693)
  9. Bugfix (webmail): Redraw folders properly after new item completed.
  10. Bugfix (contacts): Scroll details to top when new contact is selected
  11. New feature (contacts): Add settings to adjust avatar use in the app
  12. New feature (mailviewer): Use pictures from contacts when available
  13. New feature (contacts): Allow uploading/deleting contact pictures
  14. New feature (contacts): Show pictures/gravatars on contact details page
  15. New feature (mailviewer): Show gravatars when available
  16. Visual fix (webmail): Add a tooltip for webmail settings button
  17. Bugfix (webmail): Make sure we can still use saved searches when no folder is selected
  18. Bugfix (contacts): Make contacts draggable again
  19. Bugfix (webmail): Fix switching folders not working in some cases
  20. New feature (contacts): Add hints to columns indicating what they’re for when they’re empty
  21. Visual fix (contacts): Minor layout fixes to contactlist
  22. Visual fix (contacts): Make the 3-column layout more rigid
  23. Bugfix (contacts): Fix a template crash when deleted contacts exist as group members
  24. Visual fix (calendar-app): Side-nav menu styles fix
  25. Visual fix (contacts-app): Side-nav menu styles fix
  26. Bugfix (contacts): Make contactlist scroll independently of contact details
  27. New feature (webmail): Show folder count for drafts
  28. New feature (webmail): Add webmail settings, allowing the disabling of popular recipients
  29. Visual fix (webmail): Move message action menu to middle column
  30. Visual fix (compose): Differentiate “Recently used” from recipients
  31. Visual fix (compose): Differentiate “Recently used” from recipients
  32. Bugfix (compose): From-specific reply-to addresses saved/stored if setup
  33. New feature (contacts): Add a way to edit group members from the group page in mobile view

Continue Reading →

Runbox 7 updates June-July 2020: Webmail and Compose improvements

New features such as listing messages by recipient, recently used recipients on Compose, and several other improvements.

  1. New feature (compose): Compose now accepts pasting email lists recipients
  2. Bug fixes (common): Fix edge-case email address (list) parsing
  3. Bug fixes (compose): Different positions for action buttons for mobile and desktop
  4. Bug fixes (compose): Push draft action buttons further apart
  5. Bug fixes (webmail): Only recount folder unread counts after content change
  6. New feature (webmail): Reset search when switching folders
  7. Bug fixes (compose): Make layout more responsive
  8. New feature (webmail): Add a list of popular email recipients to the sidebar
  9. Bug fixes (compose): Update recipient suggests whenever searchindex is updated
  10. New feature (multiple_msg_unread): Replace endpoint that marks multiple messages as unread/unflag
  11. Bug fixes (compose): Update angular deprecated recommendations
  12. Bug fixes (mark_multiple_msgs): Update before the request is completed
  13. Bug fixes (mark_multiple_messages): Try to use messageFlagChangeSubject.next to fix e2e errors
  14. Bug fixes (compose): Make sure suggested contacts are shown with their names
  15. Bug fixes (compose): Make sure we can still drag and drop suggestions to CC/BCC and have them show up
  16. Bug fixes (compose): Reload CC and BCC contents properly
  17. New feature (compose): Allow drag-and-drop for suggested contacts
  18. New feature (compose): Keep feeding the suggestion list after some contacts are selected
  19. Bug fixes (webmail): Make switching to the current folder a no-op
  20. Bug fixes (compose): Show only one suggestions bar per compose window
  21. Bug fixes (compose): Make sure profiles are loaded correctly regardless of races
  22. Bug fixes (compose): Cope with reply-to field in new TO format
  23. Bug fixes (compose): Ensure we cope with CC/BCC emails containing a comma
  24. Bug fixes (compose): Re-add code lost in cherry picking/merging
  25. Bug fixes (compose): Cope with replying to emails where From name contains a comma

Continue Reading →

Runbox 7 updates June 2020: Webmail and Contacts improvements

  1. Bugfix (webmail): Make sure the URL fragment updates after closing an email
  2. Bugfix (webmail): Prefer contact recipients over searchindex recipients
  3. Bugfix (webmail): Visually scroll the message list when using the up/down keys
  4. Bugfix (contacts): Contact updates now appear in compose window directly after update/addition
  5. Bugfix (webmail): Update contacts cache separately from search index contacts
  6. Refactor (compose): Remove dead code / simplify code
  7. Test (e2e): Ensure localSearchPromptDisplayed is set upon closing the dialog
  8. Test (webmail): Adapt test to new structure. Prefer contacts over searchindex

Continue Reading →

Runbox 7 updates May-June 2020: Webmail improvements and bug fixes

Runbox 7 enhancements and bug fixes, including better navigation, improved message handling, and a Welcome Desk with common tasks for new and existing users

A full changelog can be seen directly in the app at Runbox 7.

  1. New feature (webmail): Highlight currently “opened” email in mail list
  2. Bugfix (webmail): Fix up/down navigation in maillist
  3. Bugfix (webmail): Close mailviewer when email is deleted via multi-select operation
  4. Bugfix (webmail): Don’t “check” emails in folder view unless actually clicking on the checkbox
  5. Bugfix (webmail): Display selected-mail operations whenever more than one message is selected
  6. Bugfix (messagetable): Display time instead of the date for messages received after midnight
  7. Bugfix (mailviewer): Store message list view settings in browser
  8. Bugfix (mailviewer): Grow HTML view to proper size right away
  9. Bugfix (contacts): Make sure we’re not adding duplicate contacts to groups
  10. Visual fix (mailviewer): Increase the minimal width of canvastable columns
  11. Visual fix (welcome): Add note about how to return to Welcome Desk.
  12. Visual fix (welcome): Make Welcome Desk a flexbox. Use routerlinks where applicable.
  13. Visual fix (mailviewer): Increase the minimal width of canvastable columns
  14. Bugfix (styling): Fix breakpoints for iPad Pro
  15. Bugfix (compose): Ensure we can forward emails with no To or Subject
  16. New feature (login): Add password reset link to login window
  17. Bugfix (canvastable): Make it possible to open email from the bottom of the screen
  18. New feature (login): Add password reset link to login window
  19. Visual fix (login): More modern look to the login window

Continue Reading →

Runbox 7 Calendar now in beta

We are extremely pleased to be able to announce that the Runbox 7 Calendar is now in beta test.

You may be aware that Runbox for a while has provided a calendar (CalDAV) service for calendar clients such as Outlook, Thunderbird Lightning, and macOS Calendar.

If you’ve previously used our CalDAV server you’ll be pleased to be able to finally use it through the web interface, not needing a separate program anymore.

Runbox 7 Calendar

Calendar features

The Runbox 7 Calendar currently offers month, week, and day views, you may add and edit events, and perform other basic actions.

It can also be synchronized with your other programs and devices by setting them up with our CalDAV service.

As this is still a Beta, not everything that your own calendar program can do will be available in the Runbox 7 Calendar quite yet. One notable missing feature is Tasks (TODOs) support – this will be coming later on as a separate feature.

We invite you to try it out by logging into Runbox 7 and clicking Calendar in the main menu.

And let us know what you think over in the Runbox 7 Forum!

Continue Reading →

Introducing Runbox 7 Contacts

It is our pleasure to announce that the new Runbox 7 Contacts is available in open beta test!

If you’re already using Runbox 7 you may have noticed them already, and if you aren’t — here’s another reason to try it: Runbox 7 Contacts combines the best of the Runbox 7 web interface with the world of email clients.

Modern user interface

The first thing you’ll notice after clicking Contacts in the main menu in Runbox 7 is the beautiful and smooth user interface.

Runbox 7 Contacts is built with the same Angular framework that powers the Runbox 7 Webmail, and you will recognize its design components and interactive functionality.

Runbox 7 Contacts
Runbox 7 Contacts

New Contacts storage (CardDAV)

One of the key parts of the new Contacts is how we store your contacts on the servers. So far they’ve been stored in a proprietary database, with no other way to access them than through the Runbox 6 web interface.

This has been an annoyance to those of you who would like to use your contacts across many different apps and devices.

From now on in the new Runbox 7, all contacts will be stored on a CardDAV server – an open standard for sharing contacts and address books between different devices.

The advantages of Runbox 7 Contacts

If you know what CardDAV is, chances are you were eagerly awaiting this and need no further encouragement to use it. If you’ve never heard of it before, here are two key benefits it has over the existing system

First of all, Runbox 7 uses the standard vCard for representing the contacts. You may have heard the name before — if you ever sent a contact to someone over an SMS for example, it was a vCard. Using vCards in Runbox 7 Contacts means that much more flexibility when it comes to the information you can store.

vCards in Runbox 7 and CardDAV can store everything Runbox 6 can, and more — as many emails, phones and addresses as you desire, all categorized. Pictures, links to social media accounts, messengers, public keys for encryption; whatever you can think of, it’s probably there.

Second, you can access your Runbox 7 Contacts everywhere. No need to even use the Runbox 7 app — you can use any email client, any contacts app on your computer or your phone, and you’ll have access to the same contacts everywhere.

Add them on your phone, edit them on your laptop, and then they’ll still be available Runbox 7 when you compose a new email. Runbox 7 Contacts contains all the information that you need to set up any other apps that you use.

Using Runbox 7 Contacts

Until you migrate your contacts they will not be available for synchronization yet. Migrating them will move them over to CardDAV and give you all the glorious new features of Runbox 7 Contacts.

2019-04-01-121407_456x120_scrot

Try out the new Runbox 7 Contacts by logging into Runbox 7 and clicking Contacts in the main menu.

And let us know what you think over in the Runbox 7 Forum!

Continue Reading →

Runbox 7 Feature and Bug Bounty Program

The Runbox 7 project represents an ambitious plan to revolutionize the world of webmail services, and with the Runbox 7 open source launch on https://github.com/runbox/runbox7 we have invited skilled developers to join us in this quest.

Now we are excited to announce a bounty program to accelerate development further. The program is two-fold and introduces bounties for both features and bugs.


Feature bounties

We encourage you to contribute to Runbox 7 with your skill and talent by adding new functionality that all Runbox 7 users can enjoy.

All contributions must include tests and documentation in order to be accepted.

Gold – $1,000 reward

Gold bounties are rewarded for contributing major new features that involve substantial additions to the Runbox 7 code base.

Examples of such features can be found on the Runbox 7 Roadmap and include complete, new screens for Account, Files, or Manager with REST endpoint specifications.

Other examples are significant optimizations of the code that improve performance or substantially restructures or refactors the code base.

Silver – $500 reward

Silver bounties are given for contributions of medium-sized new features or additions of new functionality that improves existing features.

Examples of such features can be found on the Runbox 7 Roadmap and include new screens for sections under Account, Files, or Manager with REST endpoint specifications.

Bronze – $100 reward

Smaller features or functionality that extends or improves existing features.

Examples include those listed on Github as Runbox 7 enhancement issues (urgent and critical).

Iron – $10 reward

Minor features or functionality that extends or improves existing features.

Examples include those listed on Github as Runbox 7 enhancement issues (trivial, low, and medium).

Bug bounties

Integrity and reliability is paramount to our operations and although we take all reasonable precautions to prevent bugs, all open source software benefits from thorough reviews from the community.

Therefore we provide bug bounties for reports regarding errors or vulnerabilities that are currently unknown to Runbox, with an emphasis on problems that could impact the integrity of our services.

Note: Any action that harms or deteriorates our services such as generating excessive traffic to our servers is illegal and unacceptable.

High – $1,000 reward

Reporting severe errors that could lead to elevated privileges, significant data compromise, or service downtime.

To be eligible for this bounty:

  • You must not publicly disclose your finding.
  • You must never exploit any found vulnerability.
  • You must never impact our services with excessive traffic.
  • You must send a detailed explanation with steps to reproduce the bug.
  • You may submit a patch that fixes the issue for a double bounty!

Examples include issues listed on Github as Runbox 7 bug issues (critical).

Medium – $500 reward

Reporting vulnerabilities that provide limited access and that could result in denial of service, manipulation of individual accounts, or temporary problems that affect limited data sets.

To be eligible for this bounty:

  • You must not publicly disclose your finding.
  • You must never exploit any found vulnerability.
  • You must never impact our services with excessive traffic.
  • You must send a detailed explanation with steps to reproduce the bug.
  • You may submit a patch that fixes the issue for a double bounty!

Examples include issues listed on Github as Runbox 7 bug issues (critical).

Low – $100 reward

Vulnerabilities that have a low impact on our operations or that require significant knowledge about our systems.

Examples include issues listed on Github as Runbox 7 bug issues (urgent).

Trivial – $10 reward

Minor bugs that are annoyances rather than vulnerabilities, and that don’t affect the integrity or reliability of our services.

Examples include those listed on Github as Runbox 7 bug issues (trivial, low, and medium).

How to get started

To get started with our bounty program, have a look at our Runbox 7 GitHub repository at https://github.com/runbox/runbox7.

We are marking issues that are suitable for new contributors with “good first issue“.

Then review our contribution guidelines and follow the instructions there: https://github.com/runbox/runbox7/blob/master/CONTRIBUTING.md


Continue Reading →

The secret behind Runbox 7’s speed

Runbox 7 SpeedRunbox 7 Webmail recently entered open beta, and if you haven’t tried it yet you are missing out!

When you log into Runbox 7 the first thing you’ll notice — aside from its beautiful design — is the speed.

Your folders and messages will load instantly, and no matter how many messages you have the message list will scroll without delay and without any limit.

Gone are the days of waiting for the next screen-full of messages to load, or having to click to navigate between pages. Switching between folders, sorting the message list, and moving messages — any action you perform is executed instantly.

And the message search is lightning fast — results will show up immediately while you type into the search field. Combined with message threading and inline message previews, this makes email management extremely efficient with Runbox 7.

Under the hood

WebAssembly LogoWe have modified Xapian by porting Xapian to WebAssembly using the C to WebAssembly compiler from emscripten, which lets it run both in NodeJS on the server and in the browser. Our fork of Xapian will be merged into Xapian’s repository on Github so that it will become available for others to use.

Xapian logoThis is accomplished by utilizing a custom version of the open source Xapian email indexer. We have always been impressed with Xapian’s processing speed, reliability, and adaptability, and it’s ability to index large amounts of messages.

The Runbox 7 Webmail App is open source and is available in our main repo at https://github.com/runbox/runbox7. We encourage you to check out our code base, and invite you to join the Runbox revolution by getting involved in our growing community at https://community.runbox.com!

A separate repo at https://github.com/runbox/runbox-searchindex generates the xapian.wasm module in WebAssembly in C++.

The Xapian database is stored in the browser using IndexedDB, which is available through the IDBFS file system of emscripten.

Combined with a central message database and the use of websockets, this allows the indices to stay in sync when new email arrives on the server and when changes are made locally.

The user interface

The power of the WebAssembly Xapian port is matched by the message listing which is written in HTML5 Canvas. This makes it possible to handle large tables and quick re-rendering, and provides good control of the rendering process.

Ordinary HTML tables would suffer slowdown penalties on sorting, filtering, and resizing, and would require pagination, and would not be efficient enough for our needs.

The Canvas element is wrapped in a  user interface written in HTML/Typescript using Angular 2+, and is built using UI elements from https://material.angular.io/.

Mail parsing is done using the HTML parser from Andris Reinmann which is written for NodeJS and can be found here: https://github.com/andris9/mailparser.

Continue Reading →