-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
fix(avatar): add missing storage migration to prepopulate the avatar monogram #9332
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
fix(avatar): add missing storage migration to prepopulate the avatar monogram #9332
Conversation
d5c9a25
to
107740f
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.
The application also crashes when trying to access the General Settings from an Account.
Steps to reproduce:
- Clear the app's storage, or uninstall and reinstall it.
- Sign in with any email provider
- Navigate to Account Settings
- Tap on General Settings
Screen recording:
Screen.Recording.2025-06-16.at.3.23.21.PM.mp4
Stack trace:
E FATAL EXCEPTION: main
Process: com.fsck.k9.debug, PID: 3247
java.lang.IllegalArgumentException: Monogram value is required
at net.thunderbird.feature.account.storage.legacy.mapper.DefaultAccountAvatarDataMapper.toDomain(DefaultAccountAvatarDataMapper.kt:13)
at net.thunderbird.feature.account.storage.legacy.mapper.DefaultAccountAvatarDataMapper.toDomain(DefaultAccountAvatarDataMapper.kt:8)
at net.thunderbird.feature.account.storage.legacy.mapper.DefaultAccountProfileDataMapper.toDomain(DefaultAccountProfileDataMapper.kt:16)
at net.thunderbird.feature.account.storage.legacy.mapper.DefaultAccountProfileDataMapper.toDomain(DefaultAccountProfileDataMapper.kt:8)
at net.thunderbird.app.common.account.data.DefaultAccountProfileLocalDataSource$getById-8irbSJM$$inlined$map$1$2.emit(Emitters.kt:52)
at net.thunderbird.app.common.account.data.DefaultLegacyAccountWrapperManager$getById-8irbSJM$$inlined$map$1$2.emit(Emitters.kt:50)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:33)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.access$emitAllImpl$FlowKt__ChannelsKt(Channels.kt:1)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Unknown Source:14)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8756)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:601)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:962)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@85f6f04, Dispatchers.Main.immediate]
Oh, there where too many changes in the previous pull-request and I moved the related changes into the follow-up branch. But this leaves the current main broken, I'll cherry-pick that one. |
107740f
to
dacb5e2
Compare
Was a bit more than cherry-picking so I included the avatar module split too. |
Fixes #9330
The storage migration was missing, so the new fields couldn't be prepopulated as expected.