-
-
Notifications
You must be signed in to change notification settings - Fork 114
feat: default bcc_self to 0 for new accounts #7446
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
Conversation
80a3dcf to
81653df
Compare
src/config.rs
Outdated
| /// | ||
| /// Should be enabled for multidevice setups. | ||
| /// Default is 0 for chatmail accounts, 1 otherwise. | ||
| /// The default is only used for old accounts. |
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.
It's better to change the default to 0 then and add a db migration for old accounts which sets 1 for non-chatmail. We always did it this way before. This way if it's set to 1, we know it's set by us, not by the user (EDIT: probably):
- Either by the migration
- Or by the multi-device detection logic.
And if it's set to 0 explicitly (not to None), that's definitely done by the user.
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.
Knowing whether the user has ever changing the setting manually looks like future-proofing for a never happening future. We already don't know if it was set to 1 by the user because we set it automatically. And we don't need to know if it was set to 0 by the user, we still want to set it to 1 when setting up a second device regardless of whether the user has ever turned it off.
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.
And we don't need to know if it was set to 0 by the user, we still want to set it to 1 when setting up a second device regardless of whether the user has ever turned it off.
True, but changing a user-modified setting from version to version silently isn't what a software normally does. Usually it's suggested to merge the config or at least to review the new settings.
0dfe74a to
db1b82d
Compare
cf207f4 to
35bd1d3
Compare
a67ae78 to
cd9e464
Compare
|
As for changing the default and migration for old accounts vs setting the new default in configure(), migrations have many problems:
I think we need to write down something regarding avoiding SQL migrations when possible in STYLE.md. I have added a migration to this PR now to get rid of complicated logic in the default that depends on But I still need to test the migration manually for chatmail and non-chatmail before merging, I think so far it was not executed at all by anyone because CI is not testing it. |
|
I did some manual tests.
At this point REPL said "Config set from QR code, you can now call 'configure'", but the account is already configured at this point. (opened #7450 )
Version is 139 in the "info" output.
Version is 139.
Configured mailo.com again, checked the database version is 138, ran
|
|
On Sun, Nov 16, 2025 at 10:54 -0800, iequidoo wrote:
@iequidoo commented on this pull request.
> @@ -146,6 +146,9 @@ pub enum Config {
///
/// Should be enabled for multidevice setups.
/// Default is 0 for chatmail accounts, 1 otherwise.
+ /// The default is only used for old accounts.
> And we don't need to know if it was set to 0 by the user, we still want to set it to 1 when setting up a second device regardless of whether the user has ever turned it off.
True, but changing a user-modified setting from version to version _silently_ isn't what a software normally does. Usually it's suggested to merge the config or at least to review the new settings.
"multi-device" setting is at best something we don't even offer in UI. It should just work.
Asking users to "merge the config" and "review new settings" might be fine for linux-distro level things
but it's certainly not what happens for users of instant messengers like Whatsapp or Signal.
Talking about "a software" is a much too broad focus for discussing the issue at hand.
|
It's not fine even for Linux distro, I don't like that maintainers ship default configs in the same location as production configs instead of some examples directory and I have to merge them manually each time I update. This might have been fine when updates were received on CDs every few years or if you never update to the next major release. |
|
With "review new settings" i meant adding a device message like |
This is part of #7357 needed to get rid of is_chatmail distinction between profiles. Previously the setting was default to 1 for non-chatmail and 0 for chatmail.
See also previous PR #7440