FossaMail technical issues

Development discussions for FossaMail
OldCoder

FossaMail technical issues

Unread post by OldCoder » 2015-06-18, 20:59

I'll offer technical remarks in this thread. To start, I was able to build FossaMail git-current on my Linux distro last night.

I used a patch related to arc4random that is needed for Mozilla-based software on distros with older glibc's. I also needed to use these settings in .mozconfig:

Code: Select all

ac_add_options --enable-webm         # Fixes a link-time error related to libogg
ac_add_options --with-system-libvpx  # Allows build on 32-bit systems
I built the FossaMail Lightning extension along with with FossaMail and the resulting XPI file worked correctly.

The most important setup step subsequent to the build was to add the following preference before I created new email accounts. This ensured that Maildir format, which I prefer, would be used:

Code: Select all

user_pref("mail.serverDefaultStoreContractID", "@mozilla.org/msgstore/maildirstore;1");
I encountered one bug, which was left over from Thunderbird 24, and this bug is the primary reason that I joined the forums.

If you rename a local folder in TB24 or FossaMail, or at least in my copies, the messages in the folder disappear. The problem is related to the creation of both .msf and .msf.msf index files for the renamed folder. One workaround is to close the program, delete the index files in question, and restart.

It's a kludge, but it works. If the problem can't be corrected by other means, may I suggest that the "rename" operation be patched so as to delete the index files?

As a separate question, what are the correct CLI commands to clone the FossaMail git sources with the PaleMoon git sources included in the mozilla folder? I cloned both trees and combined them manually but I assume that there is a standard way to do this.

New Tobin Paradigm

Re: FossaMail technical issues

Unread post by New Tobin Paradigm » 2015-06-18, 22:30

The Pale Moon repo is a git submodule to the FossaMail one.. review documentation related to that.

I use SourceTree and it does it automagically :P

As for the bug you are describing.. see if you can find where it was addressed on BMO.. also Why are you compiling media decoders for an email client?

OldCoder

Re: FossaMail technical issues

Unread post by OldCoder » 2015-06-18, 22:47

Matt A Tobin wrote:The Pale Moon repo is a git submodule to the FossaMail one.. Review documentation related to that. I use SourceTree and it does it automagically :P

As for the bug you are describing.. see if you can find where it was addressed on BMO.. also Why are you compiling media decoders for an email client?
1. What is BMO?

2. I don't think that the "rename" bug has been addressed. At least, I haven't found references to it in Bugzilla so far. I do have the work-around that I explained and am wondering if it could be added to FossaMail. It consists simply of deleting the .msf and .msf.msf files that I mentioned before subsequent to a "rename".

3. Is the bug reproducible on your end or is it limited to my copies of TB24 and FossaMail?

4. I don't need media decoders. The media-related switches are there simply because builds fail without them:

(a) If I don't use --enable-webm, builds fail at link time due to a hidden-symbol error
(b) If I don't use --with-system-libvpx, builds fail at compile time due to an instruction-set error

The two issues are probably related, directly or indirectly, to sound support for notifications.

New Tobin Paradigm

Re: FossaMail technical issues

Unread post by New Tobin Paradigm » 2015-06-18, 23:23

If this is Linux.. I will ping Travis to take a peak.. He is our Linux Developer.. I mostly sit on the Windows side of things.

squarefractal

Re: FossaMail technical issues

Unread post by squarefractal » 2015-06-19, 02:44

OldCoder wrote:what are the correct CLI commands to clone the FossaMail git sources with the PaleMoon git sources included in the mozilla folder?
http://stackoverflow.com/questions/3796 ... submodules

Code: Select all

git clone --recursive <URL of remote>
OldCoder wrote:What is BMO?
bugzilla.mozilla.org

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35627
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: FossaMail technical issues

Unread post by Moonchild » 2015-06-19, 09:25

Off-topic:
OldCoder: I do have a kind and unrelated request: please don't make your entire posts a larger size font. If you are having trouble reading the forum, please use the font size widget in the top bar to increase your desired font size. I've reverted the font sizes in your posts to normal.
forum-font-size.png
forum-font-size.png (1.29 KiB) Viewed 3642 times
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
trava90
Contributing developer
Contributing developer
Posts: 1742
Joined: 2013-05-20, 18:19
Location: Somewhere in Sector 001

Re: FossaMail technical issues

Unread post by trava90 » 2015-06-19, 20:05

OldCoder wrote:I used a patch related to arc4random that is needed for Mozilla-based software on distros with older glibc's.
Which distro are you using?
OldCoder wrote:I also needed to use these settings in .mozconfig:

Code: Select all

ac_add_options --enable-webm         # Fixes a link-time error related to libogg
ac_add_options --with-system-libvpx  # Allows build on 32-bit systems
I don't need to use either of those options when building the release builds of FossaMail in CentOS 6 (both x64 & x86).
OldCoder wrote:I encountered one bug, which was left over from Thunderbird 24, and this bug is the primary reason that I joined the forums.

If you rename a local folder in TB24 or FossaMail, or at least in my copies, the messages in the folder disappear. The problem is related to the creation of both .msf and .msf.msf index files for the renamed folder. One workaround is to close the program, delete the index files in question, and restart.
If I rename a local folder, the messages DO disappear, however if I open a different folder (i.e. Inbox), then go back to the folder I renamed, the messages appear normally. I'm using the standard build of 25.1.5 (which should be the same as the current git master). When I have time I'll see if I can find anything on BMO.

OldCoder

Re: FossaMail technical issues

Unread post by OldCoder » 2015-06-21, 00:02

trava90 wrote:Which distro are you using?
My own distro. I've been working on the project for about 20 years. The history and purpose of the distro are discussed at:

http://oldcoder.org/distro/distrohistory.html

An unbranded "build" of FossaMail will most likely become the distro's new official email client software, though I might try Evolution later on.

Claws-Mail and other lightweight email clients aren't good choices for users with large amounts of email. IMAP-only clients are too limited; POP3 support is needed. Mutt is powerful, but most users prefer GUIs. The post-24 Thunderbird codebase is fragile; I've encountered multiple showstopper bugs. They bit off more than they could chew given the resources available. And Thunderbird 24 isn't going to be maintained.

So, FossaMail is probably the best choice, or one of the best choices, in the email client category. Note: I'll probably include Mutt as a fallback for power users.

I've talked to one of the lead packagers at Gentoo about this. He's not a fan of TB3x and is inclined to stay with TB24 for now. If FossaMail is maintained, it's possible that it might supersede TB24 at Gentoo.
trava90 wrote:I don't need to use either of those options when building the release builds of FossaMail in CentOS 6 (both x64 & x86),
The settings have been listed here for the benefit of others who may encounter similar "build" problems. If you'd like to increase the chances of widespread adoption, I'd suggest encouraging others to share their "build" tips and tricks as well. Fixes such as the one that I propose below will help.
trava90 wrote:If I rename a local folder, the messages DO disappear, however if I open a different folder (i.e. Inbox), then go back to the folder I renamed, the messages appear normally. I'm using the standard build of 25.1.5 (which should be the same as the current git master). When I have time I'll see if I can find anything on BMO.
So, the problem is confirmed. Note that this is a TB24 issue and not a FossaMail issue per se. Regarding BMO, I haven't seen anything there about the issue. However, a simple fix would be to delete the .msf and .msf.msf files associated with a renamed folder subsequent to the operation.

If you're able to comment on where in the code the latter two files are created, I'll see if I can produce a patch myself.
trava90 wrote:I've reverted the font sizes in your posts to normal.
If you don't feel that visitors should use the font-size feature, one approach might be to disable it. It feels odd to be told that it's wrong to use a feature of the system.

Your remarks regarding what to do if I'm having "having trouble reading the forum" are noted. However, I've been using web browsers and their predecessors for 30 years. I have some familiarity with their operation.

As the author of a post, one intended to be helpful, I used a feature of the system that's right there in the middle of the control bar to select a style that I considered to be appropriate. It's actually the largest control on the bar. Note: I'm not a fan of tiny, faint fonts. It's not clear why they became so popular.

User avatar
trava90
Contributing developer
Contributing developer
Posts: 1742
Joined: 2013-05-20, 18:19
Location: Somewhere in Sector 001

Re: FossaMail technical issues

Unread post by trava90 » 2015-06-21, 04:13

Off-topic:
OldCoder wrote:My own distro. I've been working on the project for about 20 years. The history and purpose of the distro are discussed at:

http://oldcoder.org/distro/distrohistory.html
Thanks for that! I really enjoy reading the history behind someone's projects. I'm going to have a look at some of the other sections of your site. :)
OldCoder wrote:I used a patch related to arc4random that is needed for Mozilla-based software on distros with older glibc's.
I see on your distro package list that you have glib 2.32.0 included. FossaMail should run with glib 2.28.8 without needing a patch?
OldCoder wrote:The settings have been listed here for the benefit of others who may encounter similar "build" problems. If you'd like to increase the chances of widespread adoption, I'd suggest encouraging others to share their "build" tips and tricks as well.
I agree 100%! I apologize if I sounded a little arrogant in my post, it was not my intention at all (I was pressed for time when writing).
OldCoder wrote:So, the problem is confirmed. Note that this is a TB24 issue and not a FossaMail issue per se. Regarding BMO, I haven't seen anything there about the issue. However, a simple fix would be to delete the .msf and .msf.msf files associated with a renamed folder subsequent to the operation.

If you're able to comment on where in the code the latter two files are created, I'll see if I can produce a patch myself.
That would be great and appreciated! I'm not sure where the code is located off the top of my head, but I'll have a look and see if I can find it .

EDIT: I believe it is here: https://github.com/MoonchildProductions/FossaMail/blob/master/mailnews/base/util/nsMsgDBFolder.cpp

OldCoder

Re: FossaMail technical issues

Unread post by OldCoder » 2015-06-21, 07:21

trava90 wrote:
OldCoder wrote:I used a patch related to arc4random that is needed for Mozilla-based software on distros with older glibc's.
I see on your distro package list that you have glib 2.32.0 included. FossaMail should run with glib 2.28.8 without needing a patch?
My arc4random patch is related to a glibc (system library) issue as opposed to a glib (GNOME) issue.

The docs on oldcoder.org are outdated. I have glib (GNOME) 2.44.1 now. Note: I've also got both Gtk+ 2.24.8 and Gtk+ 3.16.4. But my glibc (system library) is relatively old; I'm using glibc 2.14.1. The reason is that glibc updates tend to break things.

I've considered switching to musl, a lightweight alternative to glibc, but I think that glibc will always be needed for some packages.

=====================================================================
trava90 wrote:Thanks for that! I really enjoy reading the history behind someone's projects. I'm going to have a look at some of the other sections of your site. :)
You're welcome. Note: For fun, try the following Google search: recursive math parser

For most people, I show up in the first few hits, above Wikipedia. The domain name might be helping; I'm perlcoder.net as well as oldcoder.org.

Feel free to review the resume on the site and the LinkedIn profile listed below as well. I'm finishing a remote Point of Sale SQL job and am looking for work.

http://linkedin.oldcoder.org/

This is actually how FossaMail came up for me. I needed to organize my business email and tried TB3x. There was a showstopper bug that I couldn't fix. I became involved in a related BMO discussion, but stopped work on TB3x because it struck me as a dead end. I reviewed the alternatives and settled on TB24. Subsequently, I learned that Pale Moon, which I'd discussed with the group at Freenode, had FossaMail as a related project and I decided to try it.

Note: You can find me in #palemoon some days under the OldCoder nick.

The move from TB24 to FossaMail went well. I needed to debug the minor compile-time and link-time issues mentioned previously. I also needed to build a new profile directory tree to get things to work; I used Perl scripts for that. But things have been operating without a hitch for days now and my old mail is accessible and organized.

BTW I was pleased to see that the Lightning XPI file could be rebuilt completely. One requirement for most packages in my distro is that components such as this need to be rebuildable.

=====================================================================

I'm glad to see FossaMail appear. Pale Moon is likely to prove worthwhile, but FossaMail might turn out to be indispensable for some purposes.

One recommendation is that 32-bit support be retained and tested periodically even if 64-bit support is one focus. For FossaMail to become a new standard, it needs to continue to work in different environments.

Let's list some of the options that I alluded to originally. Note: I'll update this list if people suggest additions or corrections:

Thunderbird 24.8.1 - A standard in the past. FOSS, GUI, IMAP, POP3, and Calendar. Numerous extensions for features such as deleting duplicate messages and encrypting email. The data gets corrupted at times, but if you store mail in Maildir format (recommended) and back-up at least the password DB files and prefs.js, repairs are straight-forward for power users. Does not require GNOME 3 or KDE. Runs on most distros that can handle Firefox.

The primary negative with Thunderbird 24.8.1 is that the package is no longer maintained. Distros such as Debian may add patches in the future, but formal maintenance has largely ceased.

Thunderbird 3x and up - Fragile codebase. Debian's copies seem to work. But distro maintainers are going to have trouble with this series. The developers are doing more with internationalization at a low level and things break a lot. Even if the program is stabilized, it's going to be harder for people to work with the code now.

Additionally, it appears that funding for Thunderbird has been reduced. If this is true, FossaMail might do better, even with a smaller team, by focusing on stability. Email is not an area where users like to see a lot of corruption and crashes.

Evolution - This is one of relatively few workable Linux FOSS options for MS-Exchange users. However, it's slow and buggy. This client is also less customizable than Thunderbird. Additionally, Evolution might be too tightly integrated with GNOME 3 to work well in other environments.

KMail - Requires KDE. This rules KMail out as a general-purpose email client for multiple environments.

SeaMonkey - SeaMonkey supports email, but the feature set is limited compared to Thunderbird.

Mutt - A good choice for developers who like the combination of light-weight operation and power. Mutt has some limitations, but it can do a great deal. However, it's not a good choice for ordinary users or developers who are not experienced with email technical issues.

Claws Mail - This was my distro's former standard email client. It isn't in the same class as most of the others. It's got a place in small distros, and I recommend it in this context, but people who have a lot of email will be happier with a higher-tier program.

Sylpheed Claws - This is an alternate version of Claws Mail.

Icedove 24 and 3x - Essentially the same thing as TB24 and TB3x.

Geary - IMAP only and therefore not an option. May also be too dependent on GNOME 3.

FossaMail - A maintained fork of Thunderbird 24.8.1. It works largely the same as Thunderbird, but speaking as a distro developer I can already see differences. I had less trouble porting FossaMail and getting it to work than I did with Thunderbird 24 or 3x.

If FossaMail continues to support both 32-bit and 64-bit systems, and it can be built easily for a number of different environments, it will be the most logical choice for those seeking a portable and powerful FOSS GUI IMAP and POP3 email client.

User avatar
trava90
Contributing developer
Contributing developer
Posts: 1742
Joined: 2013-05-20, 18:19
Location: Somewhere in Sector 001

Re: FossaMail technical issues

Unread post by trava90 » 2015-06-22, 13:57

OldCoder wrote: My arc4random patch is related to a glibc (system library) issue as opposed to a glib (GNOME) issue.
Ah, you're right. It was late when I was looking at it, and apparently my eyes were placing "c"s in places were there weren't any.
OldCoder wrote:Note: You can find me in #palemoon some days under the OldCoder nick.
I'll have to watch for you. :)
OldCoder wrote:The move from TB24 to FossaMail went well. I needed to debug the minor compile-time and link-time issues mentioned previously. I also needed to build a new profile directory tree to get things to work; I used Perl scripts for that. But things have been operating without a hitch for days now and my old mail is accessible and organized.

BTW I was pleased to see that the Lightning XPI file could be rebuilt completely. One requirement for most packages in my distro is that components such as this need to be rebuildable.
Awesome! :thumbup:
OldCoder wrote:One recommendation is that 32-bit support be retained and tested periodically even if 64-bit support is one focus. For FossaMail to become a new standard, it needs to continue to work in different environments.
While I use the 64bit version for my daily use, I do personally test the 32bit version prior to each release. Granted, I usually give 64bit more focus, but I always make sure I use the 32bit as well when testing.
OldCoder wrote:Let's list some of the options that I alluded to originally. Note: I'll update this list if people suggest additions or corrections:
Thanks for that list! I too had stability issues and crashes with Thunderbird 3x before using FossaMail. Prior to that I used Evolution for a while, but never really liked it. As you said, it is slow and buggy.

KNTRO

Re: FossaMail technical issues

Unread post by KNTRO » 2015-06-22, 23:30

OldCoder wrote:I'll update this list if people suggest additions or corrections
Hi OldCoder.

Don't know if it's offtopic, it happened that I just updated the email clients based on Thunderbird at mozillaZine's wiki. But you probably know them all already. ;)

Best.

Locked