Up to Scribe...
About
Final Changes:
- Updated the German translation.
- Fixed the escaping of special characters when writing to the ini format options file.
- Possibly stopped the help openning when typing characters in the 'From' item filter field.
- Fixed a crash when using the keyboard to finish dialogs over the main window. (In the mean time try and use the mouse to avoid crashes).
- Updated the German, Polish and Portuguese translations. Waiting on a few others before release.
- Fixed some nasty and annoying issues in the GnuPG plugins.
- Fixed being able to save previously composed messages and replies.
- Fixed a crash when restoring from the system tray with the root node selected.
- Fixed numeric entity conversion in the HTML->Text code.
- Updated the Dutch, Serbian and Lithuanian translations.
- Added groups to the "Add Contact" window listing.
- Added some basic customization to the main window toolbar. You can now switch off buttons and / or the text labels by right click on the toolbar. It's not uber configurable but it works for most of the 2% of the population that customize toolbars. The other 3 of you can just deal with it ;) The default is all button visible.
- [i.Scribe] Fixed it using old identity fields that no longer exist in the UI. This would cause replies to incomming emails to have out of date information in the from/replyto fields.
- Added code to the group UI to resolve names to email's where possible when you save the group. The group should be a list of email addresses, but while your editing the contents of the group it will allow names to be used. Previously this would mean SMTP errors when you try and send to the group.
- Added support for the double HTML charset decoding madness to the HTML->Text converter.
- Fixed a crash when browsing from a folder to the root node and back to a folder with the item filter switched on. The root node displays the summary information.
- Added a relitive description to date in the calendar entries on the root node summary page. I.e. "Today", "Tomorrow", "This Wednesday", "Next Sunday" etc. Up till 2 weeks away and then it just shows the date.
- Added support for dropping contacts from the list view straight into a group window. This automates adding lots of contacts in one hit so you don't have to type out each name. Nice.
- Updated the help entry for contact groups to reflect the new object and UI.
- Fixed up some spelling mistakes in the UI and help.
- Fixed images not appearing again in HTML email when reselecting the message in the list.
- Added a "delete duplicates" command to the tools menu. It uses the message-id header to determine whether a message is a dupelicate or not, for better or worse.
- Fixed the HTML control to handle more of that busted crap malformed broken HTML that companies abuse us with.
- Made the URL's double clickable in the calendar event notes area.
- Made the quoted printable decode work with large attachments at a reasonable speed.
- Fixed emails without recipients showing the wrong address in the to field on the main window listing.
- Fixed the store2 code (that reads/writes mail2 files) to use a fixed amount of memory for copying objects around during the compact operation instead of enough ram to hold each object in it's entirity. This means that for some folders with very large objects Scribe will now be able to compact those folders. For most users you won't even notice a difference as most objects are smaller than the 1mb buffer.
- Fixed crash when using the enter key to save a contact.
- Fixed some brokeness in the vCard import/export so that fields don't get mucked up and Scribe interoperates with other applications. Added support for the work/home URL fields in the vCard code.
- Fixed the crash in the IMAP(fetch) connect.
- Fixed IMAP(full) folders having the wrong unread count sometimes.
- Added a new option to set the folder that you start in.
- Added support for background images in the title.html shown at the root node.
- Deferred loading the spam word lists until they are needed which speeds up load time.
- Fixed loading plugins when the path to Scribe has accents in it.
- Fixed scrolling up in the HTML control by clicking and dragging the mouse outside the top of the control. Previously it would scroll the wrong direction.
- Added a new translation into farsi.
- Added the path to the groups folder into the sub folders dialog.
- Changed the default folder paths to be stored into the options file so that if you change languages it can still find the folders.
- Fixed the timezone field in the date header of outgoing mail where in negitive timezones with fractional hours the minutes section would have a minus sign. Doh! i.e. -0330 would come out as -03-30... which I'm sure had some other mail client author scratching his head. I noticed this when a Scribe user emailed me from that timezone and the message was sent from the future. Which I thought was a bit funny... not only do I have to support all the Scribe users in the present but now users that are going to use Scribe sometime in the future get support from me now. ;)
- Fixed some input dialogs being too small when viewed with large window borders (ala WinXP Luna, but the fix works on Linux too).
- Fixed the HTML control so that it copes with the zany HTML companies sometimes send out, including some seriously mixed up table,tr,td tags.
- Added support for dropping contacts onto the recipient list on the mail window to add those contacts as recipients of the email. But if you drop the contacts outside the recipients list of the email window they attach to the email as vCard files.
- Converted all the signatures and reply/forward formats to be edited in Scribe and stored in the options file. This stops people losing external files and getting the charset wrong.
- The 'To' field of an email in the list view now displays more than one recipient.
- The systems folders (inbox, outbox, sent etc) don't reset their column widths on startup anymore.
- Some unnecessary saving of folders objects on exit was stopped.
- When a text pipe modifies a HTML message the HTML overrides the new version of the text body, so Scribe now deletes the HTML part of the message so that the modified text is shown properly.
- Fixed processing of percentage values in the CSS property 'font-size'.
- Fixed ctrl-arrow (word skip) in the text control when there are accented characters in the word.
- Fixed uudecoding on inline attachments.
- [Linux] Converted most of the icons to pixmaps for faster drawing.
- [Linux] Fixed multi-page printing (postscript output).
- Fixed some memory leaks.
- [Win32] Fixed a HMENU GDI handle leak.
- Fixed Scribe saving the contents of the recipient entry box into the recipient list after a while.
- Moved the Logout menu item so thats it's next to the Security Settings in the file menu as they are related.
- Fixed logging for POP3 'retr' command errors.
- Fixed a retr error from blocking other email from being downloaded.
- [Linux] Optimized the display of HTML that uses the fixed width font by caching the face settings read in from the OS.
- It seems that spammers have taken to sending NULL (0x00) bytes in their messages in what might be an attempt to frig with mail filters. And it well... er... causes Scribe to hang while downloading mail. So colourful language aside, Scribe now removes these as soon as they get read off the socket so that the rest of the system will work as before.
- [InScribe] Added some more keys to the fraud (banned) list, made the key check code a little more robust.
- Changed the behaviour of the Pop Account preview to ignore errors when retreiving headers and just display an error line in the preview window. This allows you to delete the offending message on the server.
- [Linux] Fixed popup's getting 2 mouse clicks. This stuffed up navigation in the date drop down of the calendar event window.
- Fixed events that start before the current view in the calendar not appearing.
- Fixed HTML code showing up in bounced messages.
- Fixed a crash in the HTML->Text converter. (Fixed the bayesian rebuild and reply/forward function on HTML email).
- [Linux] Added socket errors to the account log tab to help in debugging connections.
- Fixed Scribe using all the CPU when "load images" is switched on in the HTML control.
- Fixed the mail window not using the translated version of the "Mail Message" string in the title bar.
- Fixed a hang in the signature file processing (creating a new email), when the signature file had the wrong charset (i.e. NOT utf-8).
- Fixed mail window plugins (gpg, spell check) to handle content from the HTML control.
- Fixed the missing help file error message showing up when the help file is actually present.
- Fixed the HTML control to show HTML that specified a non-existant charset.
- Added some more icons to the menus.
- Cleaned up the Help menu.
- Added some more strings to the resource file for translation.
- Fixed the hang in the print code.
- Added proper entity support to the HtmlToText code.
- Added pre tag support to the HtmlToText code.
- [Win32] Fixed some issues when running on multi-byte charset windows (japanese in particular).
- [Win32] Fixed hang in the printing code. Btw was caused by another royal screw up in the Win32 API.
- Fixed more things to support >2gb mail folders. In particular attachments not being sent, when they were stored beyond the 2gb offset.
- Fixed a double encoding issue with HTML in email. Html has 2 charsets, 1 in the headers of the email, and 1 in the META tag of the HTML itself. If both of these are set then I need to decode the text twice to get the right characters. I couldn't believe email could be this dumb but there you are. Why not just set 1 of the charsets and be done with it?
- [Win32] Fixed crash when hitting enter on the email field on the contact window.
- Fixed the 'display' tick in the calendar config.
- Fixed the 'mark read after 5 seconds' option.
- [InScribe] Fixed the reply-to header not being updated when selecting a different address using the from drop down on the mail window. I've also made sure that the Message-Id is now generated off the domain of the new from address as well.
- Added a right click menu to the Contact Group object.
- [Win32] Updated the exception handling code to be faster and more descriptive than before. It also puts useful error messages when the required DLL is missing and when the library can't be initialized. Finally it outputs raw addresses instead of nothing in the case that the dbghelp dll fails.
- Fixed typing in the compose control with the caps lock on.
- Fixed Scribe's mail folder code to write >2gb files. It should now support up to 4gb of mail.
- Added optional loading of images in the HTML control... something I've been resisting for a long time now. And I almost loath myself for caving in and implementing it. Damn me, Scribe will die a long slow death from featuritis.
- Fixed the Rfc2047 encoding to use underscores for spaces.
- Fixed the Mail->New From Templates submenu (maybe?).
- Fixed a crash in the "delete all attachments in this folder" command.
- Fixed some attachments showing up without a name.
- [Linux/KDE] Stopped the (completely crap) KDE system tray applet from reparenting the tray icon onto the desktop. Instead of using the "standard" KDE have to do their own little thing. Dumb KDE. *kick* KDE.
- [Win32] Fixed embedded images when importing/exporting with Outlook/MAPI. Yes yes the Content-Id header field has a PR_ATTACH_CONTENT_ID field in Outlook that I needed to propagate when converting attachments.
- Fixed the "Set Read" button in the account preview to be enabled when the listing is done.
- Fixed sorting on the account preview items so that it doesn't interfer with the actual actions applied to the account. Sorting the entries used to bork up the way downloads and deletes were applied.
- [Win32] Fixed the menu shortcuts.
- Fixed Rfc2047 encoding of question marks and equals signs in quoted printable form for headers.
- [Linux] Converted the socket code to use the re-enterant form of gethostbyname (gethostbyname_r) so that GSocket's can be used safely in threads.
- [Linux] Changed some things in the win32 code so that Scribe would run nicely in Wine. They don't seem to make any difference under windows but they certainly work around some bugs in Wine. I'm not that impressed with Wine actually, but whatever.
- [InScribe] Fixed the mail send/receive/preview sub menus.
- [Win32] Fixed accents in the tray icon tooltip.
- Fixed the encoding of international text in the Reply-To header.
- Added a keyboard shortcut (Delete) for deleting attachments in the mail window attachments list.
- Updated the dutch translation.
- Added some hardcoded strings to the resource file for translation.
- Setup some default charsets in the lr8 file (under IDS_DEFAULT_CHARSET) that are used to configure the prefered charsets in the sending options depending on what language you select. If your adding a new language you should set your prefered charsets in this string.
- Fixed a Html to Text parsing bug when the symbol '&' appears in the HTML without being an entity.
- Fixed some of the message loop stalls when receiving mail.
- Yes, yes, I've implemented a "Just Folders and List" layout mode for all those who don't use the preview window. Happy now?
- I'm trying to navigate all the various scribe windows and they all have the same flaming icon. So now the calendar view and calandar event windows have different icons to the main window. Now works in Linux too.
- Added a little green arrow in the list view to any message you bounce. Same as the reply/forward flag that has been there forever.
- [Linux] Added incremental clipboard transfer.
- Rewrote the HTML table layout code to "Not Suck(tm)".
- Rewrote the printing code to layout the text of the message using the page width for wrapping instead of wrapping at a given column and hoping it fits. Your welcome.
- Fixed messages being corrupted if they were received with a non-default code page and you open in the mail window and print the message. When you reopen the message it's codepage is stuffed and the utf-8 text is interpreted in the original charset of the message. Which obvious looks bad.
- Made the attachments list in the mail window and the add contact window automatically resize their list columns to the size of the content they display. Most of the time this should make it easier to read because none of the entries will be truncated because of columns that are too thin.
- Fixed the HTML control's 'view in default browser' to not include any content from the previous time that command was used by setting the temp file's size to 0 before populating it with HTML.
- Fixed the help buttons not finding the help files occasionally.
- [Linux] Fixed the UI being locked while folders load.
- Added code to move the selected item to the first of the group when resorting the columns in the main window. So if you have an email from "Matthew Allen" selected and sort on the from field it selects the first email from "Matthew Allen". Previously it left the selection alone, which when sorted could even scroll right off the visible portion of the list.
- [InScribe] Fixed error message when hitting receive all with an account with only a sending server. It would warn that one or more accounts have no receive server. This is not really an error.
- [Win32] Fixed a crash in the Outlook [MAPI] import code. Added support for HTML import in Outlook messages.
- Fixed the right click on account menu item 'send'.
- [Win32] Added code to import the HTML version of the Outlook (Mapi) mail store message body. Outlook seems to store the HTML is various different places, sometimes encoded as RTF or tucked away in different tags depending on which version of Outlook your running.
- Finished off the mail merge feature. It allows you to send customized messages to a folder of contacts. You can merge from a template or a email in a file. If you use the file option you can even mail merge HTML email, if you know how to edit .eml files directly.
- Implemented the backend code for the bayesian filtering whitelist.
- Changed the Uuencode decoder to remove the encoded data from the message.
- Added a tool to create contacts from all the from addresses in a folder of mail.
- Fixed a update bug in the text compose control where it wouldn't update the screen when deleting characters that cause the document to reflow.
- Fixed the mapping from received mail back to the account that it was received on so that when you mark something as spam and you have "leave on server" switched on it reliably marks the message to be deleted on the next connection to that server. I was trying to do that via email addresses but I eventually realised that it was error prone and was never going to be perfect so now I just assign a 32 bit integer ID to each account and then tag the email when it's received with the ID of the account it was received on.
- Changed the preview window from a fold out panel into part of the splitter view. There are 2 layout options, "folders on the right" and "preview on the bottom". If it doesn't make sense now, just wait for the release and try the Tools->Layout menu.
- Added some existing icons to the main window's menu. If there are already in the distro why not use them?
- Made selecting the last character in a line in the HTML control a bit easier.
- Made the HTML control scroll when selected text and the mouse moves off the edge of the window.
- [Linux] Fixed some URL's not being passed correctly to the default browser via the command line. I had to escape a few more characters.
- [Linux] Hopefully fixed some windows not laying out their various controls into place when first shown. Resizing the window would always cause it to work but it's annoying having to do that everytime you open a new window.
- Fixed a bug in the text encoding of email that would trucate the message at the first blank line when exporting the message to a file.
- Added 'iso-8859-13' support.
- Fixed one cause of the dreaded "Write Error" when sending email. Bascially the mail connection thread was breaking one of the internal rules about what it can modify and so I've stopped it doing that. The storage code nicely prevented any folder corruption by not allowing the client code to write past the end of the object in the folders.mail2 file but the individual mail object would not be completely written to disk, thus leaving it in a partial state. Not the end of the world but not up snuff either.
- Fixed another, separate, cause of write errors. However this time it meant more invasive code changes so I'll push the release back till I get some solid testing in.
- [InScribe] Fixed/improved the "From" identity selector in the mail window.
- Added support for the charset preferences for the subject and from headers as well as the body.
- Fixed the preview window not showing the current email when the list selection changed from multiple item selected to a single item selected.
- Fixed the selection in the main body area of the mail window being propagated from mail to mail as the next/prev buttons are pressed. It now clears the selection.
- [InScribe] Fixed your own email address appearing in the recipients of a reply to all.
- The editors "Fixed Width Font" setting is now stored in the mail object so that next time you open the mail it appears in the same type of font as you left it.
- Fixed the copy command in the HTML control when displayed as the preview pane of the main window.
- [Linux] Added drag and drop cursors (on Lgi windows at least).
- [Linux] Fixed double clicking a URL with an '&' trucating all text after the '&' by the time it gets to the browser.
- Fixed the main window list control not selecting the next item when you delete something.
- [Win32] Fixed the cursor disappearing over links in windows version before Win2k.
- Fixed the homepage link in the help.
- Added code to discard deliberately incorrect codepages in headers. Which fixes the bayesian spam filter so that it correctly classifies email with incorrect codepages.
- Fixed a memory corruption issue in the built in HTML control. This manifested as a crash on the email AFTER the one that corrupted the memory. The corruption would occur when the HTML control was asked to render text and it goes into a different parsing mode.
- Stopping scanning the folders under /Spam when rebuilding the bayesian word lists.
- [Linux] Converted over to kprinter for printing instead of calling CUPS directly.
- Added the "Bounce" to the mail right click menu and the mail window.
- Added "Delete As Spam" command to the mail window.
- Fixed the folder loading progress bar showing up at old times. i.e. for folders other than the current one loading due to some command.
- Added the strings used in the dialog that appears when you move a folder into the resource file. I've also changed the wording a bit to correctly describe the option the user has, which is to attach the folder is a sub-folder or as the next folder at the same level.
- Fixed the GPreviewPanel::OnThing() crash that just appeared recently. Basically Outlook sends this tag in HTML that looks like a peice of dynamic content, but doesn't have the right ending syntax. And the code didn't handle that case.
- Added a "Sort Sub Folders" command on the folder right click menu.
- Updated Portugese and Dutch translations.
- Fixed a crash when double clicking the edge of a list column heading. It's supposed to resize to content when you do that but I borked it up.
- Rewrote the import/export dialogs to be a bit more obvious. The new UI shows both the source and destination and allows you to edit both before starting the procedure.
- Changed the control used to render a HTML only email when the default alternative setting is set to 'text/plain' from the text control to the HTML control.
- Added option to set the default font used by the HTML control to the appearence tab of the settings.
- [Win32] Fixed dropping a file with accents onto a mail window.
- Fixed the "Copy URL" not appearing in the right click menu on the HTML control when the anchor has sub tags and you click on them.
- [Linux] Tooltips! w00t!
- Added a title page that is displayed when the root Mailbox node is selected. This page is a file in the Scribe directory 'title.html' and includes a summary of folder content and some links to various things. I'm not sure how useful it'll be but it's there and people can customise it. So I'm interested in what people do with it. The content displayed on that page is dynamic in the sense that you can include various data from the Scribe DOM using active scripting style syntax (i.e. ?>). The value returned by the DOM variable is inserted as HTML into the document, allowing complex expansions with styling and so on. I added a few interesting DOM fields to make the page useful and the default product will ship with a simple active page.
- [Win32] Fixed the window not appearing from being minimized to tray, or appearing really small in the top left corner.
- Fixed parsing of timezone's in incomming mail, and the adjusting to local time.
- Due to a bug in Outlook Express I've had to rewrite the Rfc2047 encoding of things in the outgoing headers to encode the whole content instead of just the words with 8-bit characters. This is sub optimal size wise, and against the rfc's intention but unlikely to break anything. Thanks M$ you suck!
- Fixed the account preview crashing if you hit cancel.
- Fixed a stack of memory leaks. Some of which were really blowing out the memory footprint over time. Anything that leaks during the normal looping of the application can really add up over time. But things that leak during initialization are not so critical. I'm going to keep a close eye on the memory usage over time for the next week or so to isolate where I can improve memory handling.
- Fixed the download size limit in the accounts options to actually work.
- Fixed display of the pre tag in the HTML control to use the new line characters in the source HTML instead of just wrapping everything in the one paragraph.
- Changed the threading setting to be saved on a per folder basis rather than a global setting.
- After chasing down yet another ESMTP problem it occured to me that my interpretation of the RFC wasn't really that accurate. I've been using the "user name" as the argument to the EHLO command, which should actually be the domain of the computer sending the email. Which is different to the actual username used in the AUTH command. So servers that have a stringent check on the EHLO argument were telling Scribe to bugger off. Yes I'm a dill. Ok so to start with I've separated the existing username field into separate username and domain fields. This will at least allow you to configure Scribe to work with more (if not all?) ESMTP servers if you know the right things to put in these fields. And then in the meantime I'll work on some code to "guess" the value to put in the domain field. And thus prepopulate it with something useful. So that the average user doesn't need to know what to put there.
- [Win32] Fixed copying multi-byte utf-8 to the clipboard from the HTML control.
- Fixed span tags emitting new line chars in the HTML to Text code (they shouldn't, I was just getting them mixed up with div tags).
- Improved the whitespace handling in the HTML to Text code.
- Completed the contact groups implementation enough so that you can send to a group of contacts.
- Added the field 'Size' to the mail object DOM.
- Fixed not being able to select a one of the fields in the filter condition user interface.
- Updated Spanish and Dutch translations.
- Fixed ghost messages appearing in the outbox when you use the threaded message view.
- Tweaked the font sizes in the HTML control up a bit to be more readable.
- Possible fix for the 100% CPU bug. I've changed some of the thread initialization code to timeout in the case that the Win32 API function "ResumeThread" actually starts the thread but returns as error code to the caller. Which confuses the code to such a point that the thread sits there in an infinite loop waiting for the calling thread to tell it to "go". So if this starts working then it's technically a bug in the Win32 API not my code, however I should gracefully handle that case and not hang.
- Looks for scribe.ini and if present used that for the options file.
- Removed the auto option for language selection. It's not useful anyway.
- Fixed a memory corruption error in the HtmlToText code used to display Html messages in replies and message previews.
- Fixed another memory corruption issue in the HTML control when a html entity appears at the end of a run of text, the code would run off the end of the string and corrupt memory. But no more!
- Fixed mailto: parsing to handle multiple headers after the address. Supports 'Subject', 'Body' and 'To'.
- Fixed processing of email with a blank charset specified. This manifested at runtime as a blank reply with none of the source text quoted in the compose control.
- Fixed positioning of the cursor in the compose control with the tag in the reply and forward XML when there is accents in the text.
- [Linux] Fixed weird error on startup when running on Fedora 1.
- Added some more error checking and recovery code to the folder storage code. This catches some inconsistancies on the fly and fixes them there and then. This includes, out of whack child counts and broken tree structures that form circular references.
- Fixed the sorting of the text columns in the receive account preview window.
- Fixed a silly mistake that resends all messages sent in previous connects to the SMTP server every time.
- May have fixed the mail getting downloaded but not put in the folders.
- [InScribe] Option to force sending email under a given identity with the associated send account.
- Fixed parsing of To/From fields in email to cope with single quotes in the name part.
- Fixed some NULL terminated string overruns in the HTML control and the MIME parser.
- Fixed the Imap(Full) implementation not to write copies of the messages into the folder when they change. Also fixed the parsing of Imap fetch responses to be follow the syntax correctly and not drop the body of the message.
- Added 2 new filter actions, "Save Attachment(s)" and "Delete Attachment(s)" to allow filters to modify the attachment list of incomming email. They both use a file name pattern to match selected attachments in the form "*.gif *.png *.bmp" etc. The save function also takes a directory parameter to output to.
- Fixed the crash when deleting or moving a folder.
- Added parameter to the DELETE filter action to mark the message to be deleted from the server next time the client connects.
- Fixed the server's UID being saved with the message so that any later request after a restart can delete from the mail from the server. (Which requires the server's UID for the message).
- Improved the date header parsing to handle badly misformed input. It now assumes no order at all and guesses what each component is by it's content. The only thing that might not work is guessing where 2 digits is a day number or a year.
- Fixed some spelling mistakes in the English version of the UI.
- Added code to flush changed items to disk in idle time. Currently this is implemented as a list of dirty "things" that is processed during the timer that runs every second. Any dirty objects in the list are written until the list is empty or 100ms passes. This way it shouldn't have much impact on the performance of the software. Especially when you are interacting with the UI. Obviously if anyone finds it a problem let me know and I'll tweak it. The main benifit of this is if the client or OS crashes then there is a minimum amount of data that hasn't been written to disk. Things will no longer lie around in memory waiting to be written to disk on exit.
- And speaking of data loss, I've also added another little thing to try and avoid losing important data. When your composing a long email, the last thing you want is the client to crash (heaven forbid!) before you save or the power to go out or whatever. So while the compose window is open Scribe now saves the message to the outbox, as a draft, every minute. If for whatever reason Scribe doesn't get to save the email then you should be able to recover the composition from the Outbox folder.
- Added items to the right click menu of an email's recipients, allowing you to change between a contact's multiple email addresses. (finally).
- Fixed a crash trying to print from a new mail window that hasn't been saved yet.
- Added a filter action to forward email messages onto a new recipient. There is an option to forward attachments as well or not. Use the "..." button to set the attachment option.
- Added a filter action to reply to email messages. It takes a email from the templates folder as an argument, which allows you to customise the format of the response using the DOM fields built into Scribe. To insert a field into the body of the template use the syntax:
field ?>
- Fixed the new mail sound happening twice.
- Fixed a crash closing windows with tree controls.
- Updated Portugese translation.
- Fixed some bugs stopping you from creating calendar entries on a shared calendar.
- Fixed the 'stuck accounts' bug!!!!!!
- [Linux] Fixed a bug copying URLs from the text control.
- Made the delete and download column headings in the account preview function to select or deselect all the checkboxes in the column.
- Changed the plugins API to properly parent dialogs that plugins might want to show. This fixes a crash on Linux but also fixes some other things on both platforms. You will definately need to update any plugins that you use when getting this build.
- Implementated Page Up/Down, Home and End keys in the Tree control.
- Added help buttons on the settings and account windows that jump straight to the relevant sections in the help files. Yay usability. I'll go through the rest of the product and find other areas to sprinkle with "help" buttons later.
- Fixed not being able to send and receive on the same account at the same time.
- Fixed the receive timeout not being reset if the account finished it's connection in under a second.
- Fixed xml namespace tags appearing in the HTML control. Yes only M$ email is that lame, but it was a one line change.
- Added support for header tags in the HTML control.
- Fixed some font size problems in the rendering of HTML. Now supports percentages, 'pt' and HTML absolute values properly.
- Fixed the inheritance of font properties in the HTML control.
- [Linux] Fixed a crash caused by a buffer overflow when you have a longish font name as default.
- [Linux] Fixed windows not laying out their contents?
- Fixed IMAP folders with spaces in their names not appearing in IMAP(full).
- [Win32] Fixed accented chars in the command line getting corrupted.
- Fixed percents in the folders names when creating the folders.mail2 file.
- Fixed the send and receive toolbar buttons being disabled after creating a folders.mail2 file.
- [Linux] Changed mouse click processing to consider 2 clicks more than 4 pixels away from each other but under the double click timeout to NOT be a double click. Generally the user doesn't mean double click unless the mouse is relitively still.
- Calendar now remembers the last view you used.
- Scribe will no longer use 'us-ascii' as the outgoing message's charset if there are 8-bit characters. What was happening is that Scribe was deciding that some messages actually fit into the extended us-ascii charset and thus sending them as such. But some mailers don't honour the extended part of the us-ascii table (128-255) or don't render it correctly so it's safer to use iso-8859-1 or something.
- [Linux] Fixed colours in 16bbp mode.
- The username field in the SMTP options was renamed to "domain".
- Fixed a crash in the shared calendaring connection code after the connection was finished.
- [Win32] Added '-noreg' option to disable Scribe writing to the registry. This also disables using it as the default email client in windows, but it's useful for public computers.
- Fixed a crash when deleting an account that is currently online.
- Fixed the cancel button on the preview account window.
- Fixed some of the download mail logic to prevent mail getting lost if the destination folder is missing. Now it either it gets put into the main Inbox or failing that it gets left on the server.
- Fixed a crash in the find window.
- Fixed the tree control flickering when dragging something over it. Made the invalidate not update immediately, thus improving the latency of the control.
- [Linux] Made the selection a nice shade of blue instead of boring grey.
- Fixed some issues with the Contact window's email address entry boxes. Esp in Linux, but probably helps in windows as well.
- [Win32] Fixed the menu background colour in Windows XP's "Silver" theme.. again... and for 'real' this time ;)
- [Linux] Fixed the attendee's tab being a top level window.
- Fixed overlapping calendar events to draw in sub day columns in the week view of the calendar, instead of totally obscuring each other. Handy eh?
- Added an option to set the default recipient type (ie To/Cc/Bcc) when "Replying All" to a message.
- [Linux] Fixed the vertical scroll bar on the HTML control.
- Fixed folders not remembering their column sizes sometimes.
- Added optional skinning library. Remove by deleting lgiskin.dll.
- Cleaned up the ESMTP auth usage so that it doesn't try and authenticate when the server doesn't respond with that functionality in the response to the EHLO command. Instead now the code drops back to the normal SMTP signon. This is more correct according to my understanding of the RFC's. People may find this is not the case in the real world though. As always let me know if you have issues.
- Fixed IMAP message bodies not being returned on Mailtraq servers. They don't support RFC822.TEXT as a FETCH argument.
- Fixed IMAP hanging Scribe if you select a folder before it's finished enumerating the folders on startup.
- Made Scribe look for new mail in a folder each time you select it, and then asyncronously download it and add it to the folder.
- Cleaned up some of the folder/account security code. It now ignores security settings if there is no user level password set, as opposed to just not letting you into the resource. And there is now also a warning when you remove the user password that security has been disabled.
- [Linux] Shaved some time off the startup. Mainly by removing the need to run other processes to return information about the system. I've been able to get that information in other ways. This should also prevent the startup from "hang" temporarily when the system is under load and can't run processes quickly. In an idle system the time to run a simple process is about 120ms on my machine, not bad in of itself but do that a few times and it quickly starts to get old. Better if you can look in a file or do a syscall, which usually takes < 10ms.
- Fixed a bug in the Message-ID creation.
- Fixed crash when openning the preview account window.
- [Linux] Fixed opening https links.
- Fixed the HTML control's processing of whitespace.
- Added a new "Pre Send" event for plugins attached to the mail window. This is used by the spell check plugin to optionally check the email for spelling.
- Added a bit more lee way when importing MBOX files. Now allows for a few more optional tokens on the 'From ' line.
- Added some more notes to the bayesian filtering help.
- Clarified some things in the installation help.
- [Linux] Fixed cancelling a menu with the right mouse button stopping new menus openning.
- Fixed the shutdown process to wait for accounts to close their connections.
- Fixed some accented chars not showing up in the mail preview lines.
- Fixed unicode byte ordering marks appearing in signatures.
- Cleaned up some of the logic surrounding the print setup and print dialogs.
- Added some stats to the bayesian filtering. This can be viewed in the bayes setup dialog, and is only updated when you rebuild the word db. Counts are maintained from mail received by this version forward. Existing mail doesn't count towards the counts because I no longer know whether the filter classified the email as spam or not. And that information is required to know whether the email is a false positive or negitive.
- [Win32] Fixed the window not being at the front after clicking the tray icon.
- Fixed the wrong part of the account being displayed in the account status panel. i.e. a receive was the last action and the send information is displayed.
- [Linux] Fixed text being pasted from LGI applications (like Scribe) having a NULL char on the end (shows up as a box in the destination application).
- Fixed setting the flags on multiple email using the properties dialog.
- [Linux] Fixed a keyboard navigation issue with the down arrow in the tree control. It would get stuck on certain items.
- [Linux] Fixed the main window losing activation when a menu is open.
- Added alternate emails to the preview view of a contact.
- Fixed HTML entities inserting spaces into the rendered HTML.
- [Linux] Implemented auto-repeat on the scroll bar control when you hold the mouse down over the arrows.
- [Win32] Fixed the Add Contact window crashing if you double clicked a contact or hit return.
- Fixed importing of Eudora MBOX files, by adding code to work around the broken encoding that Eudora uses.
- [Linux] Fixed window invalidates comming from the non GUI thread corrupting memory.
- Added override for deleting folders. Press shift when right clicking on the folder and you can delete system folders if you need to. This is helpful if for some reason you end up with 2 copies of the same folder.
- [Linux] Fixed the scheduling tab in the calendar event window.
- Revamped, rewrote and extended the help files to be much more complete, easier to navigate. Updated all the information to match the current feature set of Scribe. Now uses CSS throughout to maintain a consistant look and feel and cut down on HTML layout tricks. Added sections for calendaring, filtering, plugins and import/export. Extended the information on email and contacts. Updated the feature set page. Removed all the images, to make space in the download for all the extra help and translations. They wern't that great anyway.
- Added a Veitnamese translation.
- Updated the Portuguese translation.
- Imap connections now obscure the passwork in the connection log.
- Fixed Ctrl-C/V shortcuts when the preview window has focus.
- [Linux] Added code to auto-detect the KDE language setting.
- Fixed signatures to use utf-8 instead of us-ascii (again).
- Fixed the format of the initial "From" line of each message in an MBOX export.
- Fixed MBOX imported mail having an extra "F" on the last line of the message.
- Fixed some of the problems with copying text out of the HTML control.
- [Linux] Cleaned up some problems with Scrollbars, esp when both the horizontal and vertical scroll bars are visible.
- [InScribe] Fixed the selected identity setting being lost between sessions.
- Fixed the account protocol drop down box missing the "POP3" option.
- Fixed a crash in the vCard parsing.
- Fixed the parenting of the folder password input window.
- [Linux] Fixed a crash when dragging items from the find window onto a folder.
- [Linux] Added code to the tray icon to re-dock itself when the tray applet loses the plot and reparents Scribe's tray icon to the desktop. Dumb tray applet.
- Added proper quoting support to the find tool. If multiple words aren't quoted then each individual word is searched for, with the default operator being 'OR'. But by quoting you can search for multi word strings.
- Added option to insert arbitary headers into every outgoing email.
- Fixed crash when deleting "Missing Parent" entry in the threaded view.
- Changed the item sorting in the folder compact code to run about 800% faster, esp on larger folders.
- CSV Contacts import now auto maps fields of the same name, so that importing contacts exported from Scribe requires no mapping at all.
- Fixed parsing of the Date field of incomming mail that has no seconds in the time part of the field.
- [Linux] Fixed a small bug where the global application would be used to open a file of a certain mime type instead of the users preference.
- Fixed a tr tag rowspan rendering bug in the HTML control.
- Add code to automatically prune unloadable attachment objects from the object storage. No point keeping them around.
- [Linux] Added middle click support to all the text controls to paste the current selection.
- Fixed Scribe recreating all the system folders if you exit the app before it's fully loaded the folders at startup.
- [Win32] Fixed Scribe when started with "minimize" not showing the main window when you click the tray icon.
- Fixed the folder permissions not being honoured after logging out.
- Fixed a hang when shutting down by closing the main window and item windows are still open.
- Optimized the list sorting routine to use less memory alloc's and free's and less function calls in the general case of unsorted input. But I've also added some optimizations for partially or even fully sorted input that really make a big difference. The underlying algorithm for sorting is a binary tree, and in the case that the input is mostly or completely sorted it degenerates into a O(n^2) algorithm, as opposed to the general case O(n*log(n)). By keep a min and max node, I can quickly, i.e. O(1) insert the node, reducing the complexity to O(n) for a already sorted list. Even in a partially sorted list this makes a difference. You notice this in Scribe when clicking a folder that has already been loaded and sorted. The time to display is drastically shorter. My test folder containing 5547 spams, initially sorted in 4200ms. After optimizing the general case it dropped to 3700ms and then with min/max as well it dropped down to 1000ms. However when reselecting the already sorted folder the sort time went out to 7400ms (because of the O(n^2) complexity). With the min/max optimization it came down to somewhere between 10 and 600ms. A very noticable improvement in responsiveness on large folders.
- Added code to remember the calendar view's position.
- [Linux] Fixed at least one of the problems causes some controls to get confused as to whether they have the focus or not. And then paint some of the control with focus and some without.
- Added grouping to the tray icon right click menu's Contacts if they will spill off the screen. Contacts are grouped by the first letter of the first name (or surname if no first exists). Otherwise a large collection of contacts in the Address Book is very hard to navigate and the exit menu a long scroll away.
- Fixed pressing 'c' on the main window triggering the send command.
- [Win32] Changed the radio group + button, checkbox and text label to be cross platform owner-drawn controls instead of Win32 controls so that they'd work with unicode correctly on older Windows versions (pre XP).
- Added Japanese and Chinese traditional translations.