GODT-1657: More stable sync, with some tests

This commit is contained in:
James Houlahan
2022-10-09 23:05:52 +02:00
parent e7526f2e78
commit 509a767e50
41 changed files with 883 additions and 779 deletions

View File

@ -6,7 +6,9 @@ import (
"errors"
"fmt"
"io/fs"
"net"
"os"
"strconv"
"github.com/Masterminds/semver/v3"
"github.com/ProtonMail/gluon"
@ -33,6 +35,22 @@ func (bridge *Bridge) serveIMAP() error {
return fmt.Errorf("failed to serve IMAP: %w", err)
}
_, port, err := net.SplitHostPort(imapListener.Addr().String())
if err != nil {
return fmt.Errorf("failed to get IMAP listener address: %w", err)
}
portInt, err := strconv.Atoi(port)
if err != nil {
return fmt.Errorf("failed to convert IMAP listener port to int: %w", err)
}
if portInt != bridge.vault.GetIMAPPort() {
if err := bridge.vault.SetIMAPPort(portInt); err != nil {
return fmt.Errorf("failed to update IMAP port in vault: %w", err)
}
}
go func() {
for err := range bridge.imapServer.GetErrorCh() {
logrus.WithError(err).Error("IMAP server error")