Runbox 7 Webmail Changelog

Changes after 12.12.2018 found on https://github.com/runbox/runbox7/commits/master.

10 Dec, 2018
Updated name in license from “Runbox 7 App” to “Runbox 7”.
Renamed from “Runbox 7 App” to “Runbox 7” [in open source documentation]. Removed information about RMM6 development.
Upgraded login screen with header, footer, links, etc.

09 Dec, 2018
Issue #957: Fix for table mousewheel scrolling in firefox. The standard onwheel enforced by Angular events works in all browsers and does not require a specific handler for Firefox.

06 Dec, 2018
Added header, footer, and links to signup and more information [to login page].
Upgrade to Angular 7.

04 Dec, 2018
Compose #950: List folder preference from-addresses only.
Compose #950: Use new REST endpoint for default profile. List aliases with the default profile as name,and also list the default profile entry.

01 Dec, 2018
Documents outlining how to contribute to Runbox 7 App.

30 Nov, 2018
RMM6 websocket search #925: Added help button.

28 Nov, 2018
Removed section about creating the tunnel [from README]. Not needed now that we have appdev script and proxy.

26 Nov, 2018
Handle connection errors in polling loop.
#938: Disable pulldown refresh on Android. Also set the PWA back to standalone (want to see the time, coverage etc in the top).

25 Nov, 2018
Copyright notice and GPLv3 license.

23 Nov, 2018
Hotfix: Runbox7 messages not displaying after SQL-injection fixes.
Improved layout of search bar and buttons, and added tooltips. Added intro text and link to forum. Removed spinner when opening HTML messages.

21 Nov, 2018
Issue #925: RMM6 integration for search expression builder.
Issue #925: Added expression tools for subject/from/to.
Issue #925: Search expression builder with support for folder and date.
Issue #925: Updated README about generating components.
Issue #933: Absolute position the app page contents to avoid top of the page to move above screen after viewing a message.
Issue #935: Preview from the bottom as default. Remember last setting on device.
Properly update seen/unseen folder stats when user reads an email, or marks as unseen.

19 Nov, 2018
Issue #943 (messages not opening): Found that looping on a CC field that was not an array but an empty string failed. Fix by skipping looping through CC/TO if an empty string.

18 Nov, 2018
Issue #928: Don’t decrement msg_new less than zero.

17 Nov 2018
Update REST API to correctly increment/decrement unseen messages badges.
Issue #928: Update folders.msg_new when messages are marked as read/unread and check if seen_flag == 0 before updating folder counter.

14 Nov, 2018
Added open source license file.
Issue #935: Allow vertical preview on mobile screens, and use full width.
Issue #933: Search field pushed down, and changed PWA to fullscreen (hide status bar). Popup notifications for new messages in Inbox only.

12 Nov, 2018
Only decrease top padding of inline message previews when not in row wrap mode.
Decreased top padding of inline message previews.
Added icons to tableview options menu. Added left padding to inline message previews.

08 Nov, 2018
Folderlist missing bugfix: Handle that some accounts does not have folders of type trash or spam.

07 Nov, 2018
Server side indexer #924: Updated mailparser to handle “Write after end error” seen in the logs.

06 Nov, 2018
Server side indexer: Don’t try sending web push if there’s no subscriptions.

05 Nov, 2018
Server side Indexer priority: Only index accounts with quotas.counter > 0.
Reverted using index_queue for pritoritizing accounts to index.
Issue #903: Previews in row wrapped (narrow) mode.
Issue #903: Toggle checkbox for inline message preview. Organized table view options in popup menu.
Issue #903: Showing textcontent inline,
Issue #903: Fixed preloading of message contents.

  • Use asyncsubject to avoid concurrent fetching of the same message from server.
  • Use throttle instead of debounce since canvas table paint events occur too often for debounce.

02 Nov, 2018
Fix for new message notifications after page load.
Skip notifications on new messages just after page load and download index.

01 Nov, 2018
Web push: Added cpan dependency Crypt::Perl::ECDSA::Generate.
#927: Count total number of messages from partition map instead of adding to count when visiting partitions which missed the first partition in some cases.
Issue #904: Check for error after subscription file copy.

31 Oct, 2018
Issue #919: Also delete from index messages dragged/moved to trash/spam.
Issue #919: Use spam and trash folder names from user settings.

29 Oct, 2018
Issue #919: Delete messages instead of changing folder when the destination folder is Spam or Trash.

28 Oct, 2018
Issue #904 Web push: Indexer prioritizing recent messages before accounts hat have not been updated for a long time.
Issue #904 Webpush: Update server rxjs lib to v6.

27 Oct, 2018
Issue #904 web push: Notifications via the indexer.

25 Oct, 2018
Issue #904 Web push: Command line arguments.

24 Oct, 2018
Issue #904 Web push: REST endpoint for posting subscriptions.
Issue #904 Web push: REST endpoint for getting VAPID keys.
Issue #904 Web push: Get vapid keys from REST server and also post subscription back to server.

23 Oct, 2018
Issue #904: Web push

  • JS and PERL scripts for generating VAPID keys
  • NodeJS example of sending push message from server

22 Oct, 2018
WIP (#904): Subscribe to web push notifications from serviceworker.

20 Oct, 2018
Improved layout of attachment area in Compose.

19 Oct, 2018
Spacing between recipient addresses. Added timezone to headers in message view (#907).
Improved 2FA screen for smaller mobile phones. Smaller buttons, scrollbar if necessary. Improved descriptions.

17 Oct, 2018
#769: Added toggle for full/less headers
#796: Added link button for viewing source.
Updated mailparser which contains a fix for handling call-stack exceeded.

16 Oct, 2018
Added unit test to ensure that forwarded header contains at least mail subject
Mailviewer/Compose: Fixed broken forwarding of message header
#900: Use reply-to header instead of from when replying (if available).
Adjusted row height and font size in row wrap mode.
Replaced message height icon to not be confused with message header expansion panel.
Increased visibility of HTML view warning.

15 Oct, 2018
Improved layout and formatting for mobile phones (smaller buttons and larger text in list).
Expand/collapse message headers; hidden by default on small screens.
Increased width of scrollbar.

12 Oct, 2018
Added message list checkboxes when local index is active in portrait view.
Improved Compose screen layout.
Set input type for correct keyboard selection.
Added checkboxes and improved layout for mobile portrait view.
Removed tip about dragging messages in mobile view.

11 Oct, 2018
Fixed message action buttons order.
Fixed mobile sidenav so clicking header closes menu.
Improved layout of 2FA screen.
Issue #901: Fade in column dividers on hover.

09 Oct, 2018
Autofocus on Username field on login screen.
Improved layout of Compose screen.
New PWA logo and icons.
Reordered and removed orange background colors on message action buttons.
Issue #896: Fixed drag & drop from subject when in compact list view.
Decreased unread count badge size and changed colors.
Decreased vertical spacing on Compose.

08 Oct, 2018
Issue #795: Switched to using REST api for trashing / deleting messages.

04 Oct, 2018
Prevent indexer hanging:

  • Timeout indexer after 5 hours.
  • If lockfile is older than 6 hours - force full reindex of account.
  • Output logfiles of ongoing indexers to /tmp.
  • Keep logfiles of failing indexing attempts.

03 Oct, 2018
Setup for publishing runbox7lib to npmjs. Separate readme for library (also published in the lib package).
Server side indexer: using the new runbox7lib published on npmjs.

02 Oct, 2018
Library setup for generating library for code to be reused on the server

01 Oct, 2018
Fixed unit testing setup and some tests.

30 Sep, 2018
Issue #829: Closing of mailviewer after moving message.

28 Sep, 2018
Remember expanded folders.

23 Sep, 2018
Fixed immediate moving to subfolders by replacing separator / with .
Folder tree: Remember expand/collapse state after drag&drop to folder.
Folder tree: Expand nodes when dragging over.

22 Sep, 2018
Applied folder operations to collapsible folders:

  • drag & drop
  • buttons for rename / delete
  • message count
    Collapsible folders: Switched to using material tree.

18 Sep, 2018
Issue #887: Navigate to Compose immediately after preparing reply. Added progress spinner for forward as this takes some time to prepare.

14 Sep, 2018
Local index: Reduce crashes on iOS. Patched Emscripten MEMFS filestorage to use native arrays instead of JS arrays. Also less aggressive on array expand size.

13 Sep, 2018
REST API: Prevent caching of static served search index files.
Issue #714: Load and show first index partition before loading the rest.
Also fixed so that indexeddb persistance is ONE transaction.

12 Sep, 2018
Local index: Avoid locking of UI on persisting local index to disk. Done by patching emscripten IDBFS to convert array in smaller chunks.

11 Sep, 2018
Fix that perl doesn’t initialize local variables as uninitialized, but keep a previous value.

10 Sep, 2018
Fixed missing default mail address (compose, welcome).
Scroll to top when changing viewed message (#879).
Added download button for attachments.

07 Sep, 2018
Changed from /ajax/me to /rest/v1/me cause of caching issues with older devices (ipad2).

06 Sep, 2018
Issue #714: Don’t crash on failing webassembly support.
Issue #714 (7): Skip showing db message list first. Load Xapian before login. Reduction of Xapian binary size.
Issue #714: Don’t crash on failing webassembly support.
Issue #820: Delete messages instantly from local index before updating server.

05 Sep, 2018
Indexer: Updated to runbox-mailparser library.

04 Sep, 2018
Close sidemenu on mobile UI when selecting a folder.
Issue #852: Use raw text for reply instead of text converted to html.

30 Aug, 2018
Fix for message list disappearing when scrolling on iOS.

29 Aug, 2018
Issue #767: Skip timeout waiting for CSS transition on mailviewer close so that we get faster to compose on reply/forward.
Fix for messagelist disappearing after canceling reply/forward. Fixed by not selecting the drafts folder from the folderlist when invoking Compose.

28 Aug, 2018
Issue #864: View as grid list and click on entire grid tile to open attachment. Open attachment in browser if supported, otherwise download. Prevent opening of html and javascript in the browser as these could be dangerous when served from the same domain (runbox.com).

27 Aug, 2018
Issue #864: Thumbnail of attached images and buttons to open in new tab or download.
Issue #769 added method to get raw email.

26 Aug, 2018
Issue #767, return to tables if canceling reply/forward. Also insert reply-to ids in message.

25 Aug, 2018
Xapian: Now supporting flintlock.

22 Aug, 2018
Show to column also for subfolders of Sent folder.
Issue #861: Material “remove” event was changed to “removed”. Used for removal of recipients in compose.

21 Aug, 2018
Updated Xapian compiled with latest emscripten (1.38.11).

20 Aug, 2018
Compose should be child of appcomponent so that folder list is shown when in draftdesk.

18 Aug, 2018
Limit max recipient length to 200. Xapian crashes on terms more than 245 chars.
Use npm run appdev to be able to access Runbox 7 dev from https://yourvm/appdev/ (replacement for systemjs/jspm based development).

16 Aug, 2018
New PWA Icons.
Snackbar about offline editing not available yet.
Fixed send mail to contact by adding router support to compose.
Draftdesk is now connected to the /compose route and will also accept queryParameters for “to” or “new” for creating drafts.

15 Aug, 2018
PWA: Separate groups with different limits for caching login info and email.
Setup routerLinks between webmail and contacts.
Initial testing of Progressive Web App.
Upgraded to Angular 6.
Fixed logout issue by redirecting to /LOGOUT. Issue was caused by pending responses with auth cookies concurrently with the logout request.

11 Aug, 2018
Issue #853: More consistent column widths.

  • Disabled measuring of column widths from contents since this caused different widths per folder.
  • Store original widths of columns before reducing cause of screen width.
  • Restore original widths when screen widths allow it.
  • Reactivated saving / restoring of column widths in browser local storage.

10 Aug, 2018
Issue #853: Adjust column widths on column configuration change. Also disabled sort button for To column in sent folder
Issue #853: Compensate for scrollbar width when auto-adjusting column widths.
Issue #853: Setting a default width on sidemenu to get smoother transations when switching folders. Prevents sidenav from changing width when switching folder which also would trigger column resizing.

07 Aug, 2018
Issue #736 and #823: updated Xapian binaries.

06 Aug, 2018
Issue #823: Use recipients for compose email address lookup. Use string filtering for finding search substring in recipient.

05 Aug, 2018
Issue #736 and #823: Automatically re-index messages in Sent folder with missing recipient term

04 Aug, 2018
Issue #736 and #823: Added full recipient as term to Xapian index. Use the new term to display recipient instead of sender when viewing Sent folder.

03 Aug, 2018
Decreased width of scrollbar in message list.
Added right margin of message action buttons.
Added tooltips to vertical/horizontal preview pane buttons.

31 Jul, 2018
Issue #824: Forwarding of attachments, and embedding of images (if relevant).
Issue #824: Added REST service for copying attachments from emails to draft uploads.

30 Jul, 2018
Issue #841, skip own address on reply to all.
Also fixed index.html so that it contains all the lookup style elements for canvas table.

25 Jul, 2018
Translated error message on rmm7 invalid folder names creation.

10 Jul, 2018
New font face Avenir Next Pro Regular/Medium.
Only color/bold on From and Subject in message list.
Reordered message buttons, and added color for Spam and Trash buttons.
Added Close Draft button to new drafts (Compose).
Cleaned up Show HTML checkbox area.

01 Jul, 2018
Corrected vertcal scrollbar height calculation so that scrollbar always is visible if possible to scroll.
Fix so that full table height is restored when exiting mailviewer docked to bottom.

30 Jun, 2018
New and more legible font face (Avenir).

29 Jun, 2018
Fix of bug that caused show HTML button to appear in reply
RMM7 Issue #745: Show snackbar tip about dragging subject to folder first time a message is clicked.

28 Jun, 2018
Issue #623: Fix of automatic moving buttons to more after new font
New fonts, Symlink from /app/_css to /_css
Issue #623: Automatically move buttons to more popup menu depending on available width
Issue #623: Warning button next to html checkbox instead of popup. Option to manually toggle or always show html.

26 Jun, 2018
Thinner font face. Simplified message header area. Bold folder names when unread messages.

21 Jun, 2018
Issue #623 More options deciding for showing html. Drop-down menu for mail-viewer buttons.
Fix for column widths bouncing back, if reducing it so that horiz scrollbar disappears

18 Jun, 2018
Fixed problems displaying embedded images as reported here: https://forum.runbox.com/showthread.php?tid=118&pid=670#pid670

17 Jun, 2018
Updated mailparser to be able to parse base64 encoded html content.

16 Jun, 2018
Canvastable: Fixed Retina scaling which was broken after flicker/resize fix

15 Jun, 2018
RMM7 canvastable: Fixed ipad scaling. Auto-resizing only on table width change.

13 Jun, 2018
Index syncing: Reverted hiding of messages with deleted_flag!=0
Display folder column when viewing the messages in a conversation
Issue #821: Avoid flickering on resizing table. Also keep vertical preview pane size stable when changing messages.

11 Jun, 2018
Thinner borders between panes.

08 Jun, 2018
Issue #822. Cache parsed emails into json files in the user home folder.
Issue #822. Cache downloaded messages, and download visible messages in the background

05 Jun, 2018
Because of content-security policy in prod, use canvas instead of image as drag image.
Fixed that chrome didn’t show correct rows on drag/drop.
Mobile mode should always display message preview below the list.
Show sync progress indicator only if more than 10 messages to be synced.
Build timestamp in the bottom of the left side menu.
Fixed drag and drop image for Safari and also improved in Chrome / Firefox.

31 May, 2018
Issue #681: Server side index catching up with deleted messages. Sync progress snackbar

29 May, 2018
Issue #757: Remember HTML view when changing orientation.
Moved header toolbar outside main router outlet.
Issue #757: Buttons for switching mailviewer orientation.

26 May, 2018
Issue #757: Message viewer on the right side for wide screens.

22 May, 2018
Issue #681: Client index reports the messages it sees back to REST service which updates changed_date / deleted if mismatch

16 May, 2018
Issue #675, Toggle flagged status from mailviewer.
Issue #675: Added button and functionality for toggling flagged status on selected messages.

11 May, 2018
RMM7 Issue #763: indication of attachments and reply/flag status when using local index

09 May, 2018
RMM6: Update changed_date field in db when flagging and replying
RMM7 webmail: Fixed hanging logout, new bundles

08 May, 2018
RMM7/Webmail issue #596: show folder column when searching local index
Xapian: delete_document lead to corrupt index on “nobody” account. Replace with empty doc instead.

05 May, 2018
Server side indexer: Add last partition to download map also when there were no more old messages left to add
Server side indexer: Last partition also needs syncing of changed messages. Fix to migrate to writable partitions for account without reindexing.

01 May, 2018
Issue #702 and #615 - fixed that folder-pane scrolling was broken on touch devices because of resizer.

30 Apr, 2018
Issue #702 and #615, support touch devices for resizing of sidenav/preview.
#791 set after scroll speed decrease back to 90% per frame.
Issue #702 and #615 resizable sidenav and message preview.

27 Apr, 2018
Local index: Go into polling loop also if there are no partitions.

26 Apr, 2018
Decrease after-scroll slowdown on touch devices (#791). Increase size of Send button (#802) and move it to the far right.
Fixes #723 - Print button does nothing in Firefox, Opera and Chrome.

24 Apr, 2018
Search index: create writable partitions, so that also older messages can be changed/deleted.
Some code formatting.
Apache vhost config: Web assembly MIME types (support streaming and compression).
#795 Read from deleted messages table and delete from local index.

23 Apr, 2018
Disabled workaround for issue #708. Delete messages from local index instead of just creating empty content (#795).
Xapian: Tests for NodeJS. Fixed Xapian revision save.

20 Apr, 2018
Xapian: Detect node and don’t apply the version query string then.
Add query string to xapian binary to ensure latest version.
Testing on modifying compact db partitions.
Unit tests for Xapian: adding, moving and deleting messages.

18 Apr, 2018
Updated to emscripten 1.37.37, Xapian 1.5 (from git).
Server side indexer: Also delete downloadable partition files on reindex ( xapianglass_x.gz ).
Issue #791 - Added after scroll effect for touch devices.

17 Apr, 2018
Show correct spam training feedback message.
Update messageactions.ts interface.
Add spam button functionality to messageActionsHandler.
Always execute searchService.updateIndexWithNewChanges() after clicking the report spam button.

16 Apr, 2018
Frontend functionality to train spam from RMM7.
Included the move_message method that goes together with report spam functionality.
New Angular bundles (contextToolButtons up to 150px).
Moved floating buttons when selected messages up to 75 px.
Issue #762: Must have the correct font for measuring text.

15 Apr, 2018
#796 implements functionality/endpoint for Report Spam and Not Spam buttons

12 Apr, 2018
RMM7 issue #795 and #772: Workaround for handle deleted flag by overwriting index record with an empty document.

11 Apr, 2018
Angular CLI bundles must include material icons
Reverted fix for issue #736 that caused problems when trying to view sent folder in synchronized mode.

10 Apr, 2018
Move message action buttons further down.

09 Apr, 2018
Fix for moving messages being broken.
Emergency fix, send confirmation message was broken. Added snackbar popup if from address not set. Also fixed text field autofocus.

08 Apr, 2018
Issue #642: Resize handle moves along with mouse pointer on y-axis.

07 Apr, 2018
Issue #642: Column separators pop up on mouseover, and possible to resize.
Moved message action buttons to top (#765).

06 Apr, 2018
Server side indexer: Ignore lockfile if it’s older than one hour. On index rebuild set last checktime to now so that recent messages aren’t indexed separately.

05 Apr, 2018
RMM7/Webmail: Always download at least one partition before prompting for rest
Server side index: Xapian index updates were not committed - and could leave a corrupt index

03 Apr, 2018
Server side indexer: Mailparser that supports disabling text to html conversion
Server-side indexer: Remove partitions dir when reindexing
Server side indexer: Fix for totalcount reporting double amount when there are new messages

28 Mar, 2018
Server side indexer: Support nodejs_index.reindex db flag for triggering rebuilding index.

25 Mar, 2018
Server side indexer: When creating new main partition, use a different folder than previous. Instead rename to the same folder name as the previous after the recent messages are added.

24 Mar, 2018
Server side indexer: Updated create index bundle for (not) handling deleted messages.

23 Mar, 2018
Local indexer: Skip adding messages that are marked for deletion.
Issue #775: Added interceptor to http requests to redirect to login page if expired session.

21 Mar, 2018
Issue #736: Use DB message list when viewing Sent folder so that the “to” address is showed instead of “from”.
Issue #759: Changed to programmatic setting of focus instead of HTML5 autofocus which didn’t work with Firefox.

16 Mar, 2018
Serverside indexer: Also compact main partition for recent messages
Serverside indexer: Handle if there are no more older messages to add to the index.
Server side index: Workaround since Xapian compactDatabase currently crashes if run twice in the same process.
Server side index: Don’t index the same recent and old messages twice. Updated prod bundles.
Server side indexer: Make sure to move to the correct partition after indexing recent messages

15 Mar, 2018
Serverside indexing: Fixed stack overflow when chaining observables, and also added feature for concurrent parsing of messages.
Server side indexer: Separate indexing of recent and old messages.

13 Mar, 2018
Modification: Improved display of check boxes (#770).
Place cursor before quoted text in replies/forwards (#759).

12 Mar, 2018
Issue #611: Deselect all visible rows if all are selected
Issue #611: Select all visible rows
Issue #611: Rectangular checkboxes
Issue #762: Don’t adjust column widths when there are no rows.

10 Mar, 2018
Compose: Focus on recipient field if empty, otherwise focus on message text area (#759).

06 Mar, 2018
Theme: Fixed SCSS import error
Issue #738: Use HTML mode when replying to HTML message. Also small fixes on draft desk cards layout.
Indexer (Issue #772): Handle message deleted_flag also when viewing database message list
Indexer (Issue #772): Handle message deleted_flag and delete from local index if this is seen
Mailviewer: Show plain text message if the user has chosen not to show HTML content.

04 Mar, 2018
Improved in-message notifications about message content.

28 Feb, 2018
Column widths (Issue #762): Adjust columns both in local index mode and remote. Changed mobile portrait mode wrapping column to after the from name.
Issue #762: If column widths go outside screen width, reduce size to fit.

27 Feb, 2018
Issue #762: Copied in code for auto adjusting column widths
Compose: Issue #683. Support sending inline images
Compose: TinyMCE image plugin. Update available images after uploading attachments.
Mailviewer issue #683: Show attached images inline by replacing cid url with download attachment url.
Issue #683: Download link for draft attachments. Use of TinyMCE image plugin to embed uploaded image attachments.
Endpoint for downloading draft attachments.

25 Feb, 2018
Server side indexer: Added error handler for mailparser

24 Feb, 2018
Xapian: Added serviceworker to avoid that cache is serving older version of xapian webassembly binary.

23 Feb, 2018
Issue #708: Also reopen partitions when reloading Xapian database. And avoid crash on clearValueRange.

16 Feb, 2018
Issue #708: Workaround to fix issue with empty date/size columns for newly added messages. Fixed by closing and reopening Xapian database after messages are added to the index.

15 Feb, 2018
Issue #623: If we have sent email to the sender always trust and show HTML.
Issue #623: In REST service check if email comes from someone we’ve sent mail to (in order to trust HTML by default)

12 Feb, 2018
Combine SystemJS/JSPM setup with CLI, updated Angular bundles
Issue #716 - Count exact number of messages in a thread asynchrounously and only for the visible thread
Deploy webassembly modules in Angular CLI
Set up for Angular CLI and local development
Fix for http error 408 (timeout) problem. Skip content if no local index. Don’t ask for more than 100 drafts (was 1000). When no local index just poll for messages after current time (not since 0).

08 Feb, 2018
Fixed AOT compilation error
Index Issue #744 Use router authguard to redirect to login page so that app component is not displayed before login.

06 Feb, 2018
Improved vertical spacing of Compose rows.

02 Feb, 2018
Threaded view: Fixes #717, when selecting folder after viewing a single conversation go back to threaded view.
Removed button tag from sync list item

01 Feb, 2018
Added support for forwarding HTML mail
Issue #710: Don’t append to previously fetched folder lists when selecting a folder - start with a fresh.

31 Jan, 2018
Aliases: Issue #709 replace $runbox_domain with domain name from site configuration.
Moved synchronization controls to bottom of folder pane. Improved index sync text strings. Fixed folder pane tooltips. Don’t show folder rename/delete buttons on hover.

29 Jan, 2018
Issue #709: Added name to first address in compose from dropdown.

27 Jan, 2018
Replace slash with dot instead of the opposite in sub-folder notation.

24 Jan, 2018
Changed index synchronization text strings.
Issue #714 and #692: Don’t prompt for additional data download if there are no partitions
Issue #714 and #692: No progress spinner on starting/reloading xapian
Issue #714 and #692: Prevent UI from accessing xapian when delete is in progress.
Issue #714 and #692 Fully delete indexeddb database. Prevent simultaneous persistence of index.
Issue #714 and #692: Restore/reload partitions on page reload
Local index: Show total number of messages and search result count
Issue #714: Delete local search index partitions when disabling “synchronizing”

23 Jan, 2018
Issue #714: Partition downloading right after index download (with prompting user about amount of data to be downloaded).
Server side indexer: Auto adjust thread pool to capacity, and also configurable how many processes per CPU (default is 5).

19 Jan, 2018
Improved initial welcome prompt and changed order of buttons.
Websocket search: Must have rxjs version 5.5.6
Sidenav autosize (Issue #695). Switched to autosize option for sidenavs. Also replaced media query code with example from material.angular.io. Adjusted max query to 1023 so that the top banner would not dissapear in ipad landscape mode.

18 Jan, 2018
Enable gzip compression in nginx.

17 Jan, 2018
Use WebAssembly instead of asm.js
Local search partitions (Issue #692): Show download progress for partitions
Local search partitions (Issue #692): Allow memory growth for Xapian
Local search partitions (Issue #692): Functionality for downloading xapian partitions from server and loading them into Xapian (in memory)
Partitions support (Issue #692): Server side endpoints for listing and downloading Xapian partition files
Search index partitions (Issue #692): Websocket (server side) delay of 100 seconds between adding each partition for faster startup.
Search index partitions (Issue #692): Websocket (server side) search now searching all partitions.

16 Jan, 2018
Server side indexer: Use more CPU
Server side indexer: Only create index for accounts with status = 0. Require less capacity to start.

15 Jan, 2018
Show explanation for text version of message not being available.
Server side indexer: Always prioritize indexing accounts that have the longest time since last update attempt.

12 Jan, 2018
Show database message list while downloading search index.

11 Jan, 2018
Local search/issue #714: Remember local index prompt selection. Don’t display prompt before login. Introduced rxjs 5.5 lettable operators

07 Jan, 2018
Local Index: Load Trash/Spam folder lists from server also when local index is enabled.
Delete messages: Fixed that wrong message ids were passed when having a local index and deleting messages using selected checkbox and delete FAB button

05 Jan, 2018
Improved 2FA login screen.
Updated HTML message version prompt text.
Mobile portrait view: Horizontal scrolling of button toolbar in mailviewer. Don’t show column names that are not sortable.
ReplyToAll: Fix for #704. Reply to All was broken after introducing server side mailparser.
Websocket search: Fix for #703, set sort column to date field and descending
Split up message preview icons. Replaced “move to folder” icon. Sort remote search results by date.

04 Jan, 2018
Drag image visible on chrome for up to 2 rows.
Local search: Automatically delete local index if corrupt (don’t crash), don’t crash on failed date fields. Fix for #699 so that app doesn’t need reload after deleting local index.
Websocket search: Fixed search results disappeared when bluring search field (e.g. opening email). Fixed clear search text button for websocket search.

03 Jan, 2018
Websocket search: Progress bar while waiting for search results, and proper error message (snackbar) if index does not exist
Show progress when creating/updating local index
Don’t query folder list from server when local search index is enabled.

02 Jan, 2018
Local index: Need to commit Xapian updates before persisting locally. (otherwise might store corrupt index)
Update changed_date field when sending messages (otherwise sent messages were not indexed)
Fixed #696 -validation errors on empty email-addresses
Auto-Poll for new messages when not having a local index. Persistence after first index download fix.
Fixed wrong message ids being passed when moving to folders from local index message list.
Local search index: Firefox doesn’t persist index on browser unload, changed to persisting when there are changes.

01.01.2018
Server side indexer: Use free to get available memory instead of free memory (that may show too low because of OS disk cache)
Fixed that drag & drop to folders didn’t work when xapian was not enabled. Updated to latest CSS bundle (main menu icons).
Websocketserver: Needs to be started in same directory as js bundles ( since a new process is started from each ws connection )

Changes prior to 01.01.2018 not included here.