AquaMail Forum
English - Android => Development builds => Topic started by: Kostya Vasilyev on August 11, 2016, 02:30:35 am
-
https://www.aqua-mail.com/download/AquaMail-market-1.6.4-dev1.apk
https://www.aqua-mail.com/download/AquaMail-market-1.6.4-dev1.1.apk
^^^ Fixed notifications not showing
Exchange mail:
- When you bring up "other folders" or "move to folder", the list of folders is now synced incrementally, only changes since last time. Faster, lower battery and traffic usage.
( "options and folders" -> "folders", aka "manage folders" still does a full sync, in case there are any issues with incremental sync )
- Exchange accounts now support a date-range-based "messages to sync", e.g. "last 10 days" or "last 30 days", etc.
The default for new Exchange accounts is now "sync last 14 days".
This sync algorithm is incremental too. May take some time for the initial sync (just how Exchange is...) but after that it will only get changes since last time. Faster sync, lower battery and traffic usage.
- If you use the old "sync N most recent messages", the app is now able to quickly detect, per folder, when there are no changes since last time. Faster, lower battery and traffic usage.
- Push mail for Exchange.
Requires Google Play Services (Google Cloud Messaging).
In Pro version only.
Uses a "cloud server", does not compromise on privacy, let's call it "cloud assisted" not "cloud based".
The "cloud" has no technical capability to access your emails, does not know your account's password or the account's email identity, not even temporarily.
The only information that "passes through" this "cloud server" and then Google's servers is made of abstract identifiers, like this:
Folder e5ad981e09408394ae18363147c6ea7a5b664997 just had a change
It belongs to AquaMail on device ab9fcfa3e001c73f2c1d118bb1daa597e64bffec
Whose Google identifier is:
cmSMMz3InWA:APA91bFRy_XTSWvqSMctWF70LAPDtR8BYZ0gjjG6YPvJdbaOAcNxntGqvYuSB9E90tCKkyzk9EaoOMZp5JSCjbh1NcclWEKMz6NGV8fMz-7Ktz7huxKOcq19QrYrRjcfcbsPnU9wO7V3
This is broadly the same approach as used in Signal messenger by Whisper Systems:
http://support.whispersystems.org/hc/en-us/articles/213190817-Why-do-I-need-Google-Play-installed-to-use-Signal-
IMAP:
- A few changes / fixes / improvements (hopefully) to push mail too, esp. on Android 6.0+.
- The "Push mail on Wifi only" setting has been moved from app settings to per-account "options and folders" -> "account options".
Translations:
- There is aboout a dozen new items. Let's wait a little for the dust to settle just in case there are more UI changes.
Почта Exchange:
- При вызове списка папок для "перемещения сообщения" или чтобы "открыть другую папку", синхронизация списка папок с сервером теперь только получает изменения "с прошлого раза". Быстрее, меньшее потребление батараейки и сетевого трафика.
( если вызывать экран "доп. настройки и папки", он же "управление папками", то будет выполнена полная синхронизация списка папок, на всякий случай )
- В учётках Exchange теперь есть "загрузка по интервалу времени", то есть "10 дней", "30 день" сообщений, и т.д.
По умолчанию для новых учёток Exchange используется "14 дней".
Алгоритм синхронизации "по интервалу времени" получает только изменения. Первая проверка почты может занять какое-то время (особенность Exchange...), после этого будет заметно быстрее чем раньше. Быстрее, меньшее потреблением батарейки и трафика.
- Если Вы будете продолжать использовать "загружать N сообщений" (по количеству, а не по интервалу времени), то программа теперь может определять папки где не было изменений и пропускать их. Быстрее, меньшее потребление батарейки и трафика.
- Пуш почта для Exchange
Требуются Google Play Services (Google Cloud Messaging)
Только в полной версии программы.
Использует "облачный сервер", но не компрометирует личные данные, пусть называется "воспомогательной облачной технологией".
Эта "воспомогательная облачная технология" не имеет технической возможности доступа к Вашим письмам, не знает ни пароля ни даже адреса Вашей учётной записи, даже временно.
Через сервер (и затем через Google) проходят только абстрактные идентфикаторы, примерно вот так:
В папке e5ad981e09408394ae18363147c6ea7a5b664997 что-то поменялось
Эта папка принадлежит устройству ab9fcfa3e001c73f2c1d118bb1daa597e64bffec
А Google-идентификатор этого устройства вот такой:
cmSMMz3InWA:APA91bFRy_XTSWvqSMctWF70LAPDtR8BYZ0gjjG6YPvJdbaOAcNxntGqvYuSB9E90tCKkyzk9EaoOMZp5JSCjbh1NcclWEKMz6NGV8fMz-7Ktz7huxKOcq19QrYrRjcfcbsPnU9wO7V3
Это примерно та же архитектура, что используется в мессенджере Signal компании Whisper Systems:
http://support.whispersystems.org/hc/en-us/articles/213190817-Why-do-I-need-Google-Play-installed-to-use-Signal-
IMAP:
- Несколько изменений / исправлений / улучшений (надеюсь) в пуш-почте, особенно для Андроида 6.0+.
- Настройка "пуш почта только через WiFi" переместилась из настроек программы на уровень учётной записи, "доп. настройки и папки" - "доп. настройки"
-
Does this sync contacts?
I cant get anything to show up in my inbox....just see the Load 90 more days message
-
Re: So this only has push when we are on WIFI?
Not at all.
There was an app level setting to only use push mail on WiFi connections -- for users who want this -- and this setting has moved to account level "options and folders".
That's it.
This setting is off by default (i.e. "push mail is enabled on any connection type").
-
oops sorry, see above
-
Just tried, it is pushing fine but I don't get notification at all. For instance, I have the widget setup on the home screen, and I sent myself an email, I can see aquamail syncing icon running in the background, and new email would show up in the widget, but just no system notification on the new email. Hope this makes sense.
-
Just tried, it is pushing fine but I don't get notification at all. For instance, I have the widget setup on the home screen, and I sent myself an email, I can see aquamail syncing icon running in the background, and new email would show up in the widget, but just no system notification on the new email. Hope this makes sense.
Ditto for me. Push works fine, but no notifications at all. Interestingly, Notification is still working for my IMAP account (Gmail), but not the exchange account.
-
Just tried, it is pushing fine but I don't get notification at all. For instance, I have the widget setup on the home screen, and I sent myself an email, I can see aquamail syncing icon running in the background, and new email would show up in the widget, but just no system notification on the new email. Hope this makes sense.
I have the same problem. No notifications. But when I open the app, the new mail is already there,which means that "push" works fine.
-
Just tried, it is pushing fine but I don't get notification at all. For instance, I have the widget setup on the home screen, and I sent myself an email, I can see aquamail syncing icon running in the background, and new email would show up in the widget, but just no system notification on the new email. Hope this makes sense.
I have the same problem. No notifications. But when I open the app, the new mail is already there,which means that "push" works fine.
No Sound notification, no light, no vibrate. I've tried turning Notifications off and then on again, but there's no change. Push seems to be working well!
-
I also noticed that the AM is not as fast now just for the exchange account. When deleting an email from the list, the message list takes about 1-2 seconds to refresh. Same when opening to the Inbox. This doesn't happen with my Gmail account or pop account on AM and didn't happen with the exchange account prior to this dev version.
-
Push email is not working for me at the moment. Just so my understanding is clear, does Push email work with an Exchange account configured via EWS? If yes, what are the proper settings to enable Push email? My current settings are illustrated in the pictures below. Thanks in advance to anyone offering suggestions and/or assistance.
-
Re: Ditto for me. Push works fine, but no notifications at all
I will be taking a look tonight.
Re: Push email is not working for me at the moment
Yes, EWS, and your settings are good, the "procedure" is same as for IMAP -- long pressing the account -> options and folders -> enabling "Push mail".
I checked my server logs and have an idea, but would need a client (AquaMail) debug log please.
Please see the link in my signature below, just enable logging and then:
toggle the push mail setting off, back out to the app's main screen
come back to the account's "options and folders", turn push mail back on
leave the logging enabled for an hour or so
finally send me the log file
Thanks.
-
Re: Push email is not working for me at the moment
Yes, EWS, and your settings are good, the "procedure" is same as for IMAP -- long pressing the account -> options and folders -> enabling "Push mail".....
Just started the logging process, will let it run for 1 hour and send per instructions in link from your post above. Thanks for your quick reply to my post.
-
Log emailed as requested... Thanks.
-
@dcortez - got it, thanks.
-
-dev1.1, in the topic's header, should fix notifications.
-
It's OK now.. Thanks dev
-
Notifications now work. Thanks
There's still about a 2 second delay in displaying the message list when opening AM. The screen is blank for the 2 seconds until the messages are displayed. I compacted the database after installing the update, but it made no difference. This is a new behavior with this Push update.
-
@stevealb
What is the size of Messages.sqldb in Menu -> About?
What's the phone make / model / Android version?
-
@stevealb
What is the size of Messages.sqldb in Menu -> About?
What's the phone make / model / Android version?
Messages.sqldb=368MB+512K
Phone: Samsung S7 Edge running Android 6.01
-
@dcortez - got it, thanks.
hi, i responded to your email and made the suggested settings changes. At this point, however, push still not working. Email only received during defined 15 minute interval. Will email log later. Thanks.
-
Does this sync contacts?
I cant get anything to show up in my inbox....just see the Load 90 more days message
-
Re: Messages.sqldb=368MB+512K
This is insanely large.
The difference with this version is that, when you use "sync N days" (as opposed to "N messages") which Exchange push requires --
-- the "messages to cache" is how many messages to cache *in addition to* those "N days", since, unlike with "sync N messages", there is no way to know how many messages those "N days" have.
In other words, please review the account level "messages to cache" and make it let's say 100 -- the app will not remove the "N days" which is the "sync" setting.
It also may be that the default "14 days" might, for you, be *a lot* of messages. If so, you may want to change to "last 10 days" or "7 days".
And then, after making those two changes, you will want to "compact the database" again. The database's size should reduce and things should be faster again.
-
Re: Does this sync contacts?
Not with system Contacts yet, sorry.
Re: I cant get anything to show up in my inbox....just see the Load 90 more days message
And there are messages dated from last 90 days or less?
Could you please capture this in the app's debug log, please see a link in my signature below.
After enabling logging, you will want to star / unstar a recent message in web mail, or to send yourself a test message -- some sort of change on the server -- and then refresh in the app to capture the app's communication with the mail server.
Then send me the log please.
-
Re: Messages.sqldb=368MB+512K
This is insanely large.
The difference with this version is that, when you use "sync N days" (as opposed to "N messages") which Exchange push requires --
-- the "messages to cache" is how many messages to cache *in addition to* those "N days", since, unlike with "sync N messages", there is no way to know how many messages those "N days" have.
In other words, please review the account level "messages to cache" and make it let's say 100 -- the app will not remove the "N days" which is the "sync" setting.
It also may be that the default "14 days" might, for you, be *a lot* of messages. If so, you may want to change to "last 10 days" or "7 days".
And then, after making those two changes, you will want to "compact the database" again. The database's size should reduce and things should be faster again.
I'll try those steps, but I do get about 100 emails per day and may keep some unread for weeks to keep on my radar. If I then read it on my desktop, but AM is only set to sync the last 14 days, but the email is 6 weeks old, will it mark it as "read" on AM?
-
100 messages per day * 14 days -- a lot of messages.
Exchange has two-way read / unread sync, and AquaMail has always done / used this, just like it always did for IMAP.
The only way to mark read / unread in the app completely separately from the mail server is to use POP3, which does not have read / unread sync.
-
I want AM and the desktop to be in sync. Maybe I don't understand. AM is set to sync the last 14 days. If I have an email that's 21 days old and "unread", and then today I read that email on my Desktop. Will that email in AM sync and get marked as "read" to match the desktop? That's what I want to happen.
-
Re: Will that email in AM sync and get marked as "read" to match the desktop?
It won't be visible in the app unless you "scroll down to see more messages" -- since 21 days is beyond your 14 days setting.
But the unread count will adjust to reflect this change.
-
Re: Messages.sqldb=368MB+512K
This is insanely large.
The difference with this version is that, when you use "sync N days" (as opposed to "N messages") which Exchange push requires --
-- the "messages to cache" is how many messages to cache *in addition to* those "N days", since, unlike with "sync N messages", there is no way to know how many messages those "N days" have.
In other words, please review the account level "messages to cache" and make it let's say 100 -- the app will not remove the "N days" which is the "sync" setting.
...
Kostya,
Thanks for your detailed explanation.
Could it make sense - in this context -, to add the options 'messages to sync' / 'messages to cache' to the accounts "Special settings": > section 'Mail, receiving'
This would allow to define different settings for exchange, imap, pop3.
-
Per-account "messages to sync" / "messages to cache" have been available forever -- historically, however, under "options and folders" -> account options.
-
Per-account "messages to sync" / "messages to cache" have been available forever -- historically, however, under "options and folders" -> account options.
Kostya,
Thanks for your feedback. I just looked at the wrong place in the account settings.
Therefore it might be more consistent to bunch together the (account specific) "Mail, receiving" settings under the "per account" section "Special settings" > "Mail, receiving"
or
to move the (account specific) "Special settings" > 'Mail check interval' and 'Custom check interval' to the section "Options and folders" > "Account options"
-
Re: Messages.sqldb=368MB+512K
This is insanely large.
The difference with this version is that, when you use "sync N days" (as opposed to "N messages") which Exchange push requires --
-- the "messages to cache" is how many messages to cache *in addition to* those "N days", since, unlike with "sync N messages", there is no way to know how many messages those "N days" have.
In other words, please review the account level "messages to cache" and make it let's say 100 -- the app will not remove the "N days" which is the "sync" setting.
It also may be that the default "14 days" might, for you, be *a lot* of messages. If so, you may want to change to "last 10 days" or "7 days".
And then, after making those two changes, you will want to "compact the database" again. The database's size should reduce and things should be faster again.
I've been experimenting, and here's the maximum settings that work for me:
Days to sync: 60
messages to cache: 250
This results in:
Messages.sqldb=297MB+512K
And the message list is still responsive.
-
Largely, no --
"options and folders" work *together* with app level settings (e.g. "push mail" has to be enabled in both places)
"special settings" are used *instead of* app level settings (e.g. "how often to check mail" -- *instead* of app setting)
Yes there is an inconsistency with "messages to sync" / "messages to cache", but like I said, it's "historical".
-
Very cool to see this being worked on! I have always used IMAP for my work accounts and have been happy with that but I've recently set up as Exchange at my new job and was able to sync my work calendar, which I really liked. While I liked that, having push email was more important to me so I've since reverted back to IMAP set up for this account. If it is helpful, I wouldn't mind downloading the above APK to test. If you already have enough testers, I assume that if everything is well, you'll push the update through for the regular paid app.
Thank you for continuing to support this great app! I've had it since 2013 and absolutely love it.
-
Kostya,
http://www.androidpolice.com/2016/03/18/android-n-feature-spotlight-apps-can-now-include-a-settings-link-on-the-app-info-screen/
-
@dcortez - got it, thanks.
hi, i responded to your email and made the suggested settings changes. At this point, however, push still not working. Email only received during defined 15 minute interval. Will email log later. Thanks.
Looks like company IT policies are keeping push sync from working visa EWS.... Will stick with 15 minute intervals because I do not want them to access/control my device.
-
Hello Kostya,
I am very happy to use this new version. I moved the calendar sync from Nine Folders app to Aquamail, Aquamail works better because categories are synced "natively".
I am going to install this version on my wife's phone. Best regards.
-
Hello Kostya, I do not know if Aquamail can fix this on Exchange sync. When I have a provisional status appointment, if I make the appointment on Outlook app, the phone shows a busy status, but if I make the appointment on the phone, Outook shows correctly the provisional status.
Can you help me on this? Regards.
-
Re: Kostya, http://www.androidpolice.com
Done, thanks.
Re: Looks like company IT policies are keeping push sync from working visa EWS
Um, did you ask them about it and this is what they said? And how is this related to access / control of your phone?
I *think* that your Exchange server may have something called "push subscriptions" turned off, this is a feature of Exchange that Aqua requires (for push mail).
But so far we (you and I) have not been able to collect a debug log that would give me enough information to know for sure.
If you're still interested in tracking it down, feel free to email me.e
-
Hello Kostya, I do not know if Aquamail can fix this on Exchange sync. When I have a provisional status appointment, if I make the appointment on Outlook app, the phone shows a busy status, but if I make the appointment on the phone, Outook shows correctly the provisional status
Outlook for Windows? Outlook for Android?
"Provisional" -- "tentative" (as Exchange calls it)?
"Make appointment on the phone" -- in the Calendar app, in an account that's handled by AquaMail?
Do you have access to some other (third) way to look at your calendar, perhaps web mail / calendar?
If so could you please cross-check for what shows there?
-
It is a tentative appointment. When it is set as tentative appointment on Outlook for Windows, the appointment is set to busy on the phone instead of tentative.
I am using Calengoo calendar on the phone. I noticed that the native android calendar app has just 2 options: busy or free. But Calengoo has 3 options for Exchange (busy, free, tentative), if I change the appointment to tentative on Calengoo, it is changed to tentative on Outlook for Windows however the native android calendar is still set to busy.
-
I forgot to write that I am using Office 365. Regards.
-
@hzamoza -- I just checked Google Calendar on my S6, yes, I also get free or busy there too.
Dunny. I'll try something here, but you didn't answer about what you see in web calendar immediately after you've created the event (in Outlook) and it's synced there (to web), i.e. before you've done any editing on Android.
Since it's Office 365, this should be easy to check.
-
Re: tentative
Fixed, I think...
Look for it in the next -dev build.
PS - even though I'm back, I've got a bad flu (I think that's what it is), so things are a bit difficult and slow right now...
-
Re: Fixed, I think...
OK, I should elaborate a bit.
With the just made fix, AquaMail will properly record the event as "tentative".
But Google Calendar, it seems, still only understands "free" and "busy".
-
Thanks Kostya.
When I create an appointment on Calengoo as tentative, it is created as tentative on the web calendar that uses Office 365. It works fine.
I will wait for you new version, then I will change my comment to 6 stars for Aquamail. :)
As I wrote, Google Calendar just uses "free" and "busy", but Calengoo has the "alternative" option for Exchange sync.
Best regards.
-
https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html
Does this apply for AquaMail?
-
Re: Does this apply for AquaMail
I think it might.
BUT! WHAT! THE! FUCK!
1 - When it's a @gmail account NOT present in system settings --> the user has to enter a password anyway, since the account is NOT in system settings, the user is not signed into it, Android is not aware of the account.
--> No benefit from the change
2 - When it's @gmail account which IS present in system settings -> I have a checkbox to still use "web based login" because Google Play Services assisted OAUTH sometimes, for some users, gives network errors on mobile networks.
--> No benefit, may make the "web based login" workaround impossible -> users get network errors from Google Play Services -> nobody's going to fix those
3 - And when it's an account present in system settings -> the user does not select "use web based login", so it's the default flow -> it authenticates via Google Play Services, with no need to enter the password
--> No benefit
But hey look at those enthusiastic comments!
"the outdated method of using embedded browsers for OAuth"
Simple as that. Just use the word "outdated" -> magic!
-
Kostya,
Please excuse me for providing my amateur-ish thoughts about this.
I was reading that news a few hours ago, and was thinking about it.
I have very mixed feelings. I immediately understood that most likely it would affect (break) Aquamail, which was unpleasant. So, I understand your reaction.
My other thought was that Google is making sure people are entering all their google accounts into the device, so that it is easier for Google to cross-track multiple accounts.
As for people's reaction and sentiments, I think it is all about who (and how) people trust.
Some (many?) people trust Google unconditionally and without limits. (I've always been surprised by that.) So, [at least] for [some of] them, OAUTH is the way to authenticate with Google in the apps without giving the app their credentials. I might be wrong, but I think their are grossly misguided: that is a false "security". Either you trust an app (taking into account the permissions it has, especially on pre-5.x Android where you have no selection of the permissions you allow or don't allow), and then you install it, or you don't trust it, and you shouldn't install it at all.
E.g. if the app has "access to accounts on the device", my understanding that it can do a bunch of things on behalf of those accounts (is this right?), - even those that it didn't create in the first place.
If the app can "draw over the screen/other apps", it can easily spoof other apps' dialogues, and snatch authentication credentials.
So, the argument that an app can, in principle, intercept the web-view-based window is probably correct (?), but that app is likely able to do other malicious things.
In my opinion, the overall security design in Android is broken, where users have to allow the apps "all [what is requested] or nothing". It would've been ok in 90's. But today, I would think a much more secure design would be to run apps in their own "jails"/"sandboxes". I understand that it would've made coding apps (and Android itself) more difficult. But it would've improved the security of the devices that we trust with our private communication, banking, etc. But I digress. :)
-
StR:
Yes, "either you trust the app or not" -- I suppose they're trying to prevent apps from stealing passwords right from the login page, this would be bad, providing access to all of user's data, and not just the requested "scopes" (with OAUTH, you get fine-grained access just to certain things).
But you're right, a malicious email app could do all kinds of bad things if its developer wanted to... This one doesn't, but it's technically possible.
Then again, email apps are not really their most common use case -- it's mostly for apps that need access to basic info (user's email and name maybe), think of "login with Google" into all kinds of apps / web sites.
And then it's strange, since for those, there are Google Play assisted APIs / functions which don't use a WebView at all and are fully integrated with system accounts, i.e. the user doesn't need to re-enter the password, and the user's "main Gmail account" should be just fine.
On the technical side, not all Android devices have Chrome installed (one of those new preferred methods is using Chrome Tabs, where you can run a Chrome tab / window inside your own app's UI). Amazon tablets, maybe Xiaomi devices, etc. I think Chrome is pre-installed only since 4.4 or so and maybe can't be installed on lower Android versions (AquaMail supports 4.0.3+).
So this is going to leave a fairly large number of users not able to add @gmail accounts which don't already exist in system settings.
In a broader context, I think Google's "losing it" maybe for the last 1-2 years.
My impression, from the outside, is a lot of times there are groups each with its own agendas, surfacing, struggling for power, advancing those agendas and ignoring the context and the impact. Think Material Design, Doze Mode, now this.
But then again, look at Yahoo.
They've recently started blocking password-based login (for email), the preferred way is OAUTH2, OK, fine, I'll be happy to implement, but...
... there is NO WAY to register an OAUTH app (with Yahoo) and include "email access" in its OAUTH scopes.
Already a few messages on their developer forums, still no response and no solution.
This one is a different kind of screw-up though, people just not dotting the i's and not even aware of it, a more typical corporate screw-up I suppose. Still, not good.
-
Yahoo seems to be falling apart.
That's a pity. It was a good company in the early days. I used to know some developers from there.
-
If only they would just fall apart and stop breaking more things!
Just look at all the mail app developers ready to add OAUTH (since it's now required) and not able to:
https://developer.yahoo.com/forums/#/categories/oauth-and-openid
-
The same for me...
Push email is not working for me at the moment. Just so my understanding is clear, does Push email work with an Exchange account configured via EWS? If yes, what are the proper settings to enable Push email? My current settings are illustrated in the pictures below. Thanks in advance to anyone offering suggestions and/or assistance.
-
@Finferlo
To enable, long press the account -> options and folders -> enable "Push mail".
This will switch the "messages to sync" to "14 days" (it has to be a "days" value if you use push).
If still not working:
I'd need to see a debug log. Please see the link in my signature for instructions and be sure to enable "raw session data".
Then leave the log enabled for 1-2 hours and send me the fine.
-
.
Re: Looks like company IT policies are keeping push sync from working visa EWS
Um, did you ask them about it and this is what they said? And how is this related to access / control of your phone?
I *think* that your Exchange server may have something called "push subscriptions" turned off, this is a feature of Exchange that Aqua requires (for push mail).
By IT policies, I meant internal company policies and procedures not MS Exchange (software policies). My employer requires installation of third-party software that validates the device meets internal IT policies. If the third-party software is installed and your device complies with internal policies, push e-mail works. Regarding access to my phone, with the third-party software installed, my employer can wipe my phone (including all internal and SD card data) and block access. Will maintain status quo, e.g., use Aqua Mail to check via 15 minute intervals. Not pushing my luck.
Sent from my SM-N930F using Tapatalk
-
Re: By IT policies, I meant internal company policies and procedures
Got it. Thanks.
You should still be able to benefit from my recent Exchange work if you leave the "messages to sync" setting at a "number of DAYS" type value -- this uses "incremental" sync, just the changes every time, faster, lower traffic and battery use compared to the older AquaMail versions.