Launcher, app/base, sentry, update service

This commit is contained in:
James Houlahan
2020-11-23 11:56:57 +01:00
parent 6fffb460b8
commit dc3f61acee
164 changed files with 5368 additions and 4039 deletions

View File

@ -24,7 +24,7 @@ import (
"time"
imapID "github.com/ProtonMail/go-imap-id"
"github.com/ProtonMail/proton-bridge/pkg/constants"
"github.com/ProtonMail/proton-bridge/internal/constants"
"github.com/ProtonMail/proton-bridge/pkg/pmapi"
"github.com/emersion/go-imap"
imapClient "github.com/emersion/go-imap/client"

View File

@ -27,7 +27,6 @@ import (
// PMAPIProvider implements import and export to/from ProtonMail server.
type PMAPIProvider struct {
clientConfig *pmapi.ClientConfig
clientManager ClientManager
userID string
addressID string
@ -40,9 +39,8 @@ type PMAPIProvider struct {
}
// NewPMAPIProvider returns new PMAPIProvider.
func NewPMAPIProvider(config *pmapi.ClientConfig, clientManager ClientManager, userID, addressID string) (*PMAPIProvider, error) {
func NewPMAPIProvider(clientManager ClientManager, userID, addressID string) (*PMAPIProvider, error) {
provider := &PMAPIProvider{
clientConfig: config,
clientManager: clientManager,
userID: userID,
addressID: addressID,

View File

@ -26,7 +26,6 @@ import (
pkgMessage "github.com/ProtonMail/proton-bridge/pkg/message"
"github.com/ProtonMail/proton-bridge/pkg/pmapi"
"github.com/ProtonMail/proton-bridge/pkg/sentry"
"github.com/pkg/errors"
)
@ -247,22 +246,6 @@ func (p *PMAPIProvider) generateImportMsgReq(rules transferRules, progress *Prog
func (p *PMAPIProvider) parseMessage(msg Message) (m *pmapi.Message, r []io.Reader, err error) {
p.timeIt.start("parse", msg.ID)
defer p.timeIt.stop("parse", msg.ID)
// Old message parser is panicking in some cases.
// Instead of crashing we try to convert to regular error.
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("panic while parse: %v", r)
if sentryErr := sentry.ReportSentryCrash(
p.clientConfig.ClientID,
p.clientConfig.AppVersion,
p.clientConfig.UserAgent,
err,
); sentryErr != nil {
log.Error("Sentry crash report failed: ", sentryErr)
}
}
}()
message, _, _, attachmentReaders, err := pkgMessage.Parse(bytes.NewBuffer(msg.Body))
return message, attachmentReaders, err
}

View File

@ -33,7 +33,7 @@ func TestPMAPIProviderMailboxes(t *testing.T) {
defer m.ctrl.Finish()
setupPMAPIClientExpectationForExport(&m)
provider, err := NewPMAPIProvider(m.pmapiConfig, m.clientManager, "user", "addressID")
provider, err := NewPMAPIProvider(m.clientManager, "user", "addressID")
r.NoError(t, err)
tests := []struct {
@ -78,7 +78,7 @@ func TestPMAPIProviderTransferTo(t *testing.T) {
defer m.ctrl.Finish()
setupPMAPIClientExpectationForExport(&m)
provider, err := NewPMAPIProvider(m.pmapiConfig, m.clientManager, "user", "addressID")
provider, err := NewPMAPIProvider(m.clientManager, "user", "addressID")
r.NoError(t, err)
rules, rulesClose := newTestRules(t)
@ -96,7 +96,7 @@ func TestPMAPIProviderTransferFrom(t *testing.T) {
defer m.ctrl.Finish()
setupPMAPIClientExpectationForImport(&m)
provider, err := NewPMAPIProvider(m.pmapiConfig, m.clientManager, "user", "addressID")
provider, err := NewPMAPIProvider(m.clientManager, "user", "addressID")
r.NoError(t, err)
rules, rulesClose := newTestRules(t)
@ -114,7 +114,7 @@ func TestPMAPIProviderTransferFromDraft(t *testing.T) {
defer m.ctrl.Finish()
setupPMAPIClientExpectationForImportDraft(&m)
provider, err := NewPMAPIProvider(m.pmapiConfig, m.clientManager, "user", "addressID")
provider, err := NewPMAPIProvider(m.clientManager, "user", "addressID")
r.NoError(t, err)
rules, rulesClose := newTestRules(t)
@ -133,9 +133,9 @@ func TestPMAPIProviderTransferFromTo(t *testing.T) {
setupPMAPIClientExpectationForExport(&m)
setupPMAPIClientExpectationForImport(&m)
source, err := NewPMAPIProvider(m.pmapiConfig, m.clientManager, "user", "addressID")
source, err := NewPMAPIProvider(m.clientManager, "user", "addressID")
r.NoError(t, err)
target, err := NewPMAPIProvider(m.pmapiConfig, m.clientManager, "user", "addressID")
target, err := NewPMAPIProvider(m.clientManager, "user", "addressID")
r.NoError(t, err)
rules, rulesClose := newTestRules(t)