-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make Email Notifications On by Default #8904
Conversation
shamim-emon
commented
Mar 7, 2025
- Fixes E-Mail Notifications should be default-ON #8726
@shamim-emon What are your thoughts on the migration process here? What should happen to users who have not interacted with this setting and are used to notifications being off by default, who would now have it enabled on the upgrade? |
@kewisch how about one time in-app prompt stating the fact that this setting is enabled and an option to turn this setting off? |
I'm a little bit cautious on in-app prompting, it can get in the way and if we have multiple such upgrades to run for e.g. users who haven't updated in a while, we might create a bunch of prompts. If we were to prompt on upgrade, we'd probably need a more elaborate mechanism that will allow us to centrally register migrations the user can decide on, and show that prompt once on upgrade. This would be overkill for just this issue though and we'd need to involve design on how that would look. What about something a little more subtle? Is there any logic we could use that wouldn't be a surprise to users, maybe without a prompt? |
@kewisch how about |
I think it would suffer the same problem: Imagine you did an upgrade after 10 versions and got 11 soft nudges (one because our future selves forgot we already did one that release). It might also be a possibility to do something without user interaction. |
@kewisch How about we make email notification default conditional? Like it'd would depend on secondary flag? That flag would be false by default. It'd be only true if any account goes through on-boarding flow? |
f28d45a
to
56517af
Compare
The least magic approach would be:
The downside here is that with that migration, we have no indicator if they have previously set the notifications or not, so if we later decide to tell users they can enable notifications, we don't know if they made a choice or not. It might be worth looking if there is some indicator we have they went through the QR code import flow, in which case we might want to not set to false explicitly but instead keep the implied true. The next thing I would do (that I have not) would be to determine how they previously ended up with the implicit false choice, and if it would be a surprise for them if notifications were on. We could also consider running an experiment on beta where we just default to true like you have, with no migration, and see what the feedback is. I'm intentionally not making a decision here because I'd like to have your opinion. Given these constraints, what do you think would best serve the user? |
@kewisch IMO |
77f3840
to
2ef5731
Compare
@shamim-emon I might be in over my head on this review. I looked at https://github.com/thunderbird/thunderbird-android/pull/8650/files where a feature flag was added and there are a few more changes to ensure the flag is enabled on daily+debug, in our case should also be enabled on beta, but disabled on release. Would we need something like that as well? |
@kewisch just did this in this PR . Will also do it here. I have created another PR aiming to add more flexibility around feature flag handling. Once there's a decision on it, I will be able to move forward with your suggestion here. |
d0a5977
to
6fd22a8
Compare
6fd22a8
to
0eaf16b
Compare
Thanks @shamim-emon ! Wolf will take a look soon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, I propose a different approach instead of including the feature flags in the account object.
legacy/account/src/main/java/app/k9mail/legacy/account/Account.kt
Outdated
Show resolved
Hide resolved
legacy/account/src/main/java/app/k9mail/legacy/account/Account.kt
Outdated
Show resolved
Hide resolved
legacy/account/src/main/java/app/k9mail/legacy/account/Account.kt
Outdated
Show resolved
Hide resolved
legacy/core/src/main/java/com/fsck/k9/AccountPreferenceSerializer.kt
Outdated
Show resolved
Hide resolved
legacy/core/src/main/java/com/fsck/k9/AccountPreferenceSerializer.kt
Outdated
Show resolved
Hide resolved
64d0d1a
to
0068ffc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Just two minor changes.
0068ffc
to
adbf298
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
adbf298
to
803e895
Compare
3891672
to
3bbf8cf
Compare
3bbf8cf
to
acecfdc
Compare
Thanks for your contribution! Your pull request has been merged and will be part of Thunderbird 11. We appreciate the time and effort you put into improving Thunderbird. If you haven’t already, you’re welcome to join our Matrix chat for contributors. It’s where we discuss development and help each other out. https://matrix.to/#/#tb-android-dev:mozilla.org |