fix: crash when removing account while messages are being returned

This commit is contained in:
James Houlahan
2020-05-19 09:04:30 +02:00
parent 4d2baa6b85
commit cb8a15a9fd
8 changed files with 60 additions and 37 deletions

View File

@ -34,7 +34,6 @@ type imapUser struct {
panicHandler panicHandler
backend *imapBackend
user bridgeUser
client pmapi.Client
storeUser storeUserProvider
storeAddress storeAddressProvider
@ -42,6 +41,11 @@ type imapUser struct {
currentAddressLowercase string
}
// This method should eventually no longer be necessary. Everything should go via store.
func (iu *imapUser) client() pmapi.Client {
return iu.user.GetTemporaryPMAPIClient()
}
// newIMAPUser returns struct implementing go-imap/user interface.
func newIMAPUser(
panicHandler panicHandler,
@ -62,13 +66,10 @@ func newIMAPUser(
return nil, err
}
client := user.GetTemporaryPMAPIClient()
return &imapUser{
panicHandler: panicHandler,
backend: backend,
user: user,
client: client,
storeUser: storeUser,
storeAddress: storeAddress,