yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] mkasimd:
Question: how does this option react with malicious zip bombs?

To be fair, there are good reasons why many companies have a "we do not open and look into ZIP files" policy. Zip bombs being one of them. Sure, being able to see the contents is a great thing, as in it makes it easier if the contents are malicious.

But if it's a zip bomb, 10 MB of zipped data can mean more than 280 TB of data (see here). On Android, probably just the app would crash and not the system as a whole. But some user opening the same mail over and over again just to see what it's contents are would think "this app crashes each time I open this one mail, it's the email client's fault!"

It's an edge case, and it should happen highly rarely, but if it's somehow possible to catch such a situation without you requiring to invest too many hours in it, I highly advise to do so.
[Android Apps and Games] M66B:
Android's native unzip is being used. I am pretty sure Google fixed this vulnerability. For the rest I already checked all known zip vulnerabilities, most of them are buffer overflows and developers not handling file names properly. I think zip is old enough to assume it is safe. You can disable this feature in the settings if you are concerned.

Edit: this feature will be disabled by default.
[Android Apps and Games] mkasimd:
Can you send me a test version if you have an APK already available, I'll test if Android's native unzip library catches the two methods of zip bombs. For backward compatibility, I'll test on my old Android 9 device instead. If it works, everything's already fine. Then, you can also enable this option by default, too. If not, I'll let you know what went wrong.

Enabling by default has a positive side effect: people won't have to manually look into the settings but see the nice option right away. Also, it's not a big change as in nothing they used to do will be affected. So it's fair to enable it by default for as long as some concerns are already addressed.
[Android Apps and Games] M66B:
I am currently looking to use:

Commons Compress – Overview

So, that it will work the same on all Android versions (including security fixes!) and gzip, etc can be supported too.

Can you please send me the zip bombs (never though I would ask for this!) to me for testing?

FairCode - contact

FairEmail, NetGuard, XPrivacyLua support

contact.faircode.eu

I would like to enable this by default, not only because it will be easier, but also because external apps are not always that privacy friendly.
[Android Apps and Games] mkasimd:
Google blocks it with the following message

552-5.7.0 This message was blocked because its content presents a potential
552-5.7.0 security issue. Please visit 552-5.7.0
https://support.google.com/mail/?p=BlockedMessage to review our 552 5.7.0
message content and attachment content guidelines.

So, I've sent you the links to the zip bombs instead.
[Android Apps and Games] M66B:
@mathers06 can you please try to set the number of preview lines in the display settings to one?
[Android Apps and Games] M66B:
What I have done is that zip files containing more than 20 files or containing files larger than 1 MB won't be displayed. Also, there is a hard limit of 1 MB when extracting a file, so even when the directory of the zip file lies, no harm will be done under any circumstance.
[Android Apps and Games] mathers06:
I had the message previews disabled up to now, I tried to enable them with 1 line but it doesn't seem to make a difference.

For what it's worth I've been using FairEmail as my primary mail app for a few weeks and the scrolling issue doesn't bother me as much now, I took the habit of scrolling by increments.
[Android Apps and Games] M66B:
Version 1.1855 is available on GitHub now.

Changelog/download:

https://github.com/M66B/FairEmail/releases

The main addition is showing the content of ZIP files.
[Android Apps and Games] giandal:
First, thanks M66B. This has been my email app since I moved to android. I am currently on lineageos 18.1 on a oneplus 9 pro and using xperia home as launcher. The IsBadgeWorking apk works as expected, but fairemail keeps showing only a dot instead... I activated all notifications and followed your faq. am I missing something?
[Android Apps and Games] M66B:
FairEmail can send the right info only, and it is up to your home screen launcher app to show a badge with a count.

Most home screen apps do not support this though, and that's obviously not something FairEmail can change. So, please make sure you are using a home screen app which supports this.
[Android Apps and Games] mrrocketdog:
hello marcel , i hope you and yours are happy and healthy. i know you've spent more than a gabillion hours working and thinking on FairEmail.

just a question you've probably already thought of and/or tried, but what about an opening sentence like "Before you post questions or bad reviews" as an opening statement under "READ MORE"?

love this app :) ,

dave
[Android Apps and Games] M66B:
Version 1.1856 is available on GitHub now and in the Play store test program after Google's approval.

Changelog/download:

https://github.com/M66B/FairEmail/releases

I like to hear feedback about the new link click anaimation.
[Android Apps and Games] beeshyams:
What's supposed to happen when I click on a link? I don't see any change.

Thanks

Edit : I am probably goofing but sent you a bug report anyway
[Android Apps and Games] M66B:
There will be a little bubble (ripple effect) at the location you tap the link, before the link confirmation dialog appears. This is more visible for links which don't need to be confirmed (so, no link confirmation dialog) and was added because there is often a delay between the tap and the browser (or other app) opening the link.
[Android Apps and Games] beeshyams:
Thanks for clarifying but I see no such thing. Maybe the bug report sent earlier can help?

To clarify, I mailed myself a link to cleck both as link copy pasted and as a proper link
[Android Apps and Games] M66B:
It is a pretty subtle effect, so maybe you missed it?
[Android Apps and Games] M66B:
To keep things simple, setting a custom right swipe target will be removed in the next version and the old behavior of moving to trash when no archive folder has been set will be restored.
[Android Apps and Games] m0d:
A little too hasty.

To handle no folder, can't you check for

swipeTarget = -1;

If swipeTarget == -1 call onMenuSwipeTarget();

https://github.com/M66B/open-source.../eu/faircode/email/FragmentMessages.java#L754

The problem was you did not handle the exception here:

args.putLong("swipeTarget", swipeTarget);

https://github.com/M66B/open-source.../eu/faircode/email/FragmentMessages.java#L319

As the if exception is or ||:

if (swipeTarget < 0 || direction == ItemTouchHelper.LEFT) {...
Else...

So if direction is right it automatically goes to else part regardless if swipeTarget is < 0 or not

https://github.com/M66B/open-source...rcode/email/FragmentMessages.java#L339..#L352
[Android Apps and Games] M66B:
The code worked as intended. Anyway, it will be removed in the next release.

If you need to bulk move to another than the archive folder, you can always change the archive folder temporarily in the account setup.
[Android Apps and Games] m0d:
to solve error:

if (swipeTarget < 0 ) onMenuSwipeTarget();
Else if ( direction == ItemTouchHelper.LEFT)...
Else...

But, your idea to use swipe for Multiple select alternative was a good idea.

This easily solves the error, by making sure a folder is selected, either original archive or selecting one.

Here again you are adding then removing too quickly, instead of seeing if it can work with some solution.

Like navigation buttons, where you found an alternative that I guess works.

Edit:

https://github.com/M66B/open-source.../eu/faircode/email/FragmentMessages.java#L776

when no folder is set,

OnswipeTarget() will generate menu list to select which folder (just like clicking it on menu item, no?
[Android Apps and Games] M66B:
This would result in a popup menu when no swipe target was set and thus not using the default swipe to archive/trash.

Moreover, the swipe target cannot be set for the unified inbox because cross account moving is not possible.

The devil is in the details.

The problem was something else: you didn't have set an archive folder. The next version will move to trash again in this case.

The idea of setting a swipe target was nice, but I think it is better to keep FairEmail simple, also to reduce the number of questions.
[Android Apps and Games] m0d:
Does this mean swipe to archive does not handle "null" at the moment?

Never tested because do not use archive (having ability to change it to junk would have been great).

Anyway, Null case should be handled when swipe target is not set, as gmail does not have archive folder. So if user does not use it and mistakenly swipes to right while trying to open drawer it will cause error.
[Android Apps and Games] M66B:
Gmail certainly has a specialized archive (=all messages) folder. Other providers might not have a system archive folder, but nothing is withholding you to set any folder as archive folder.

Note that an archive folder where all your handled messages are stored is handy if you want to search messages.
[Android Apps and Games] m0d:
https://github.com/M66B/open-source.../eu/faircode/email/FragmentMessages.java#L332

if (direction == ItemTouchHelper.RIGHT)
target = db.folder().getFolderByType(message.account, EntityFolder.ARCHIVE);
if (direction == ItemTouchHelper.LEFT || target == null)
target = db.folder().getFolderByType(message.account, EntityFolder.TRASH);
if (target == null)
target = db.folder().getFolderByType(message.account, EntityFolder.INBOX);

Shouldn't target == null be checked first?

As there might be an error if not set.

Also, how come it is not in switch case or if else, the three if statements
[Android Apps and Games] M66B:
The code is correct and does what it should do. It will take too much time to explain why the code is as it is.

If it doesn't work as intended, you can always tell and I will look into it.

Edit:

In short for once:

on right swipe get the archive folder

on left swipe or if the archive folder was not found get the trash folder

if everything fails, get the inbox folder

The inbox folder always exists, so the message goes somewhere always, which is important as a swipe cannot be undone and it is too expensive (response times) to determine if a swipe action is allowed for individual messages (which would be needed in the unified inbox).
[Android Apps and Games] fraschi51:
After clicking on the widget, the number of new mails displayed on it does not go back to zero.
[Android Apps and Games] M66B:
I am not sure if that should happen.

Any opinions on this?
[Android Apps and Games] fraschi51:
Then it should not go to 0, if any of the new mails are opened ...
[Android Apps and Games] M66B:
I am not sure if I understand what you mean.
[Android Apps and Games] fraschi51:
If one of the 7 new mails displayed for example is opened, the number displayed in the widget goes back to zero.

---------- Post added at 02:51 PM ---------- Previous post was at 02:44 PM ----------

I'm afraid the widget doesn't show the number of new mails, but the number of unread mails ....
[Android Apps and Games] M66B:
I have just tested this and opening one email decreases the number in the widget by one. It does not reset to zero.
[Android Apps and Games] M66B:
The widget shows exactly the same number of messages as the new message notification(s).
[Android Apps and Games] fraschi51:
Ah, and if the notification is wiped out, the number also goes to zero.
[Android Apps and Games] simondavies315:
Re: Not working with justhost.

Please see the screenshot attached.

See setup guide: https://my.justhost.com/hosting/help/email-application-setup

This account works fine when I set it up on my iPhone but doesn't work with FairEmail on my Android. I'm a pro user.
[Android Apps and Games] M66B:
FairEmail doesn't allow insecure connections. The problem here is that the domain name connected to and the domain name in the security certificate are not the same. Accepting this connection would allow man-in-the-middle attacks.

tl;dr; ask your provider to properly configure the email server.

Edit: there is a possibility of a man-in-the-middle attack as well ...
[Android Apps and Games] simondavies315:
It's justhost who aren't the smartest .

Is there a workaround? I need this email account setup in FairEmail as it's my company email.
[Android Apps and Games] M66B:
In the next version it will be possible to mark reply templates as a 'snippet' (text fragment). You will be able to insert a snippet by long pressing on an open space. This requires Android 6 or later.
[Android Apps and Games] fraschi51:
But this gives the same result as inserting the template via the three-point menu, doesn't it?
[Android Apps and Games] M66B:
There is some extra logic to add/removes spaces and new lines, but generally, yes, it is the same. For me this is more convenient though because I don't have to look through my many templates to insert a few sentences (explaining where to find settings, etc).
[Android Apps and Games] fraschi51:
For everyone else, of course, it is also easier ... Thanks for the explanations.
[Android Apps and Games] M66B:
Test version:

https://bitbucket.org/M66B/fairemail-test/downloads/FairEmail-v1.1856b-github-xda-release.apk
[Android Apps and Games] fraschi51:
Thanks, but if you insert the template the new way as a snippet, unlike inserting it via three-point menu, the placeholders are not replaced.
[Android Apps and Games] M66B:
That's correct and this cannot be changed easily and it is also not the purpose of snippets. I will add this to the FAQ.

https://github.com/M66B/FairEmail/blob/master/FAQ.md#user-content-faq179
[Android Apps and Games] fraschi51:
Ah, o.k., thanks for the clarification ... then for my use case it will probably remain with the insertion via three-point menu. No problem ...
[Android Apps and Games] EngineerMind:
Feature suggestion...

I know that I can lock my phone with a PIN so ALL apps *should* be secured on the phone, and I know that I can specify a PIN in fairemail to lock the app itself. But this causes fairemail to lock whenever the screen turns off or when the app is left, which will then require me to enter the PIN very often if I check my email often.

So, I have an idea that won't require me to enter a pin very often, but yet give me extra security when needed.

Since the "Reset Password" feature of many websites use emails to complete the process, this idea could allow for some extra protection to prevent an unauthorized person to intercept those reset emails.

First, the user will set a PIN for Fairemail (as it does now), but it will allow this PIN to be set *without* auto-locking when the screen turns off or when leaving the app.

Then the app will allow the user to specify a special "lock phrase". So, when fairemail does it's regular auto-refreshes to download new emails, if it ever sees this "lock phrase" in the subject, it will then lock down fairemail with the pre-set PIN.

This way, if I misplace my phone, I can make sure no one can read my emails by simply sending an email to myself (from anyones account) with that lock phrase in the subject.
[Android Apps and Games] M66B:
Recently a remote wipe with a similar idea was added, see the privacy settings.
[Android Apps and Games] EngineerMind:
I'm using version 1.1851a from the playstore (3/10/22), but I am not seeing any "wipe" feature.
[Android Apps and Games] M66B:
That's correct, this is not available in the Play store version yet.

So, use the latest GitHub version instead.
[Android Apps and Games] M66B:
@fraschi51 this test version supports placeholders in snippets too:

https://bitbucket.org/M66B/fairemail-test/downloads/FairEmail-v1.1856c-github-xda-release.apk
[Android Apps and Games] fraschi51:
Wow, that's great how you always manage ... thank you .... so you have to change the FAQ again ... ;-)
[Android Apps and Games] M66B:
Already done ;-)
[Android Apps and Games] mathers06:
Good news @M66B , I just updated to MIUI 13 / Android 12 and the scrolling issue is completely gone !
[Android Apps and Games] M66B:
So, it was indeed an Android problem. Which Android version were you using before?
[Android Apps and Games] mathers06:
Android 11 (not sure the exact build)
[Android Apps and Games] M66B:
"Proof" that FairEmail comes before Gmail, LOL:

Supported Email Platforms

amp.dev

(expand "Email clients")
[Android Apps and Games] M66B:
Version 1.1857 is available on GitHub now.

Changelog/download:

https://github.com/M66B/FairEmail/releases
[Android Apps and Games] M66B:
A new Play store voting round would be appreciated to let unfair reviews sink.

If you think a review is unfair, please vote with the thumb down, if you think a review is inappropriate, please report it as spam.

FairEmail, privacy aware email - Apps on Google Play

Fully featured, privacy oriented email app

play.google.com
[Android Apps and Games] La_Globule:
Done! Here, in France, your app has a global 4.8.

No worries, Marcel :) !
[Android Apps and Games] mkasimd:
Done.

I also just noticed something. I had to send 33 images via email. So I attached them as attachments (not using the image button). Well, I got to over 180 MB while my mail server allows around 50 MB only. So I had to manually delete all images and add again using the image button. Then it worked as that one removes some data as well as resizes images.

So I was wondering. Is it possible to add a checkmark "mark all" then press "delete" to delete all attachments at once?

As this was necessary only once in years for me, I would say it's a low priority suggestion. But if it won't be too many hours of work, probably worth adding to your to do list. But of course, if you would need to work multiple hours on it, just discard my suggestion please. Then it's probably not worth the effort after all.
[Android Apps and Games] fraschi51:
Done. Also in the german playstore the app has 4,8.
[Android Apps and Games] M66B:
A "remove all attachments" button is on my to do list now ;-)

Edit: this will be in the next version:

https://github.com/M66B/FairEmail/commit/3f043372ec4570a21d6e1474eddf9198581c28dd
[Android Apps and Games] M66B:
Version 1.1858 is available on GitHub now and in the Play store test program after Google's approval.

Download/changelog:

https://github.com/M66B/FairEmail/releases
[Android Apps and Games] O_DoC:
Hi,

Done
[Android Apps and Games] M66B:
Still harsh 1 star reviews like this are pretty demotivating:

It could have been 3 stars too because it isn't that the app doesn't work.

Anyway, I will prepare the app for Android 13 and keep improving small things. For the rest it is more than good enough IMHO.

Also, check the NetGuard XDA thread for an example what I am facing on a daily basis.
[Android Apps and Games] Giocarro:
Done! Italian Store is covered.
[Android Apps and Games] M66B:
After today's 1 and 2 star ratings the average rating is down to exactly 4.800, which means it will soon drop below it.

The problem is that too few happy people rate the app positive, which means that there is an emphasis on negative reviews.

Edit: below 4.8 is a fact. Still good, but for some reason the average rating is going down fast :-(
[Android Apps and Games] pardub:
Done from Google Play Store Ukraine!
[Android Apps and Games] mrrocketdog:
done.
[Android Apps and Games] heinhuiz:
@M66B , would it be hard to port your app to Linux? I'd love to replace Thunderbird with it, because it's so much easier to configure (although I would miss the calendar).
[Android Apps and Games] maybeme2:
US users must be smart. It was hard to find any 1-2 stars to downgrade!
[Android Apps and Games] fraschi51:
You can switch the view so that only the critical ratings are displayed.
[Android Apps and Games] M66B:
There will be new features

It will about 5,000-7,000 hours of work, so unfeasible.
[Android Apps and Games] topcaser:
Hi, this problem is probably not related to fairmail but maybe you have a tip: I own an Oppo Find X2 Pro and got the update to android 12 yesterday. In fairmail I have activated to use biometric data to start the app. In android 11, the fingerprint was asked for. Now, in 12 the phone wants to only scan the face. Is there a way to control this?
[Android Apps and Games] M66B:
I have never used face unlocking, so I don't know. sorry.
[Android Apps and Games] topcaser:
Me too for fairmail. I want to use fingerprint. But probably you will manage this via an android api and can't do anything, isn't it?
[Android Apps and Games] M66B:
Please contact me via here (or another way) because there might be a way:

FairCode - contact

FairEmail, NetGuard, XPrivacyLua support

contact.faircode.eu
[Android Apps and Games] M66B:
It took a while, but I have just added importing custom provider profiles for this (and other) use cases.

If you wish, you (anybody) can contact me for a test version and instructions.

FairCode - contact

FairEmail, NetGuard, XPrivacyLua support

contact.faircode.eu

@starrynightspy
[Android Apps and Games] M66B:
Version 1.1859 is available on GitHub now and in the Play store test program after Google's approval.

Download/changelog:

https://github.com/M66B/FairEmail/releases
[Android Apps and Games] maybeme2:
Thanks. All done.
[Android Apps and Games] M66B:
For people interested in custom OAuth, this FAQ has been updated with information about this:

https://github.com/M66B/FairEmail/blob/master/FAQ.md#user-content-faq111
[Android Apps and Games] M66B:
The Play store developer console says that a lot of bad reviews are coming from people with a device with Android 5 (2014), 6 (2015) and 7 (2016).

So, I am considering to drop support for at least Android versions 5 and 6. Any objections?

Edit: this will apply to Play store releases only.
[Android Apps and Games] Zilla0617:
None here, thank you for your dedication to always improving the app.
[Android Apps and Games] mrrocketdog:
+1
[Android Apps and Games] Zilla0617:
Randomly at times my emails are delayed. I'm running the newest GitHub version on Pixel 6 Pro rooted with March update. I recently decided to have persistent notification in status bar hoping to mitigate delayed emails, but it has not helped. Any suggestions? Thanks
[Android Apps and Games] M66B:
Please send me the debug info by long pressing Support in the navigation menu.
[Android Apps and Games] nadir husain:
Can you pl share the reason for this on this forum. I also notice this sometimes but not often enough to bother me.
[Android Apps and Games] M66B:
In most cases connectivity issues are the underlying problem. For example many email servers refuse IP addresses of VPNs because somebody else misused them.

This FAQ described what happens in such cases:

FairEmail/FAQ.md at master · M66B/FairEmail

Fully featured, open source, privacy friendly email app for Android - M66B/FairEmail

github.com

It works like this because endlessly retrying will drain the battery and besides that email servers might permanently block accounts when there are too many failures in a too short time.
[Android Apps and Games] Zilla0617:
Sent. Thank you
[Android Apps and Games] M66B:
Checked. All settings seems fine to me and in the last 12 hours there were no delays, correct?
[Android Apps and Games] Zilla0617:
No there were delays that occurred several hours ago. I had to manually refresh for the emails to come through
[Android Apps and Games] Zilla0617:
I received an email 9:36pm est but fairemail did not retrieve until I manually refreshed around 11pm est. I am running a VPN, should I whitelist the app?
[Android Apps and Games] M66B:
Please send me the debug info again later after another delay, but please include a short problem description, so I know what it is about.
[Android Apps and Games] Zilla0617:
Ok the next time it occurs I'll follow up with debug.