mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-17 23:56:56 +00:00
feat(BRIDGE-271): report to sentry when version file check fails
This commit is contained in:
@ -50,6 +50,7 @@ import (
|
|||||||
"github.com/ProtonMail/proton-bridge/v3/internal/services/syncservice"
|
"github.com/ProtonMail/proton-bridge/v3/internal/services/syncservice"
|
||||||
"github.com/ProtonMail/proton-bridge/v3/internal/telemetry"
|
"github.com/ProtonMail/proton-bridge/v3/internal/telemetry"
|
||||||
"github.com/ProtonMail/proton-bridge/v3/internal/unleash"
|
"github.com/ProtonMail/proton-bridge/v3/internal/unleash"
|
||||||
|
"github.com/ProtonMail/proton-bridge/v3/internal/updater"
|
||||||
"github.com/ProtonMail/proton-bridge/v3/internal/user"
|
"github.com/ProtonMail/proton-bridge/v3/internal/user"
|
||||||
"github.com/ProtonMail/proton-bridge/v3/internal/vault"
|
"github.com/ProtonMail/proton-bridge/v3/internal/vault"
|
||||||
"github.com/ProtonMail/proton-bridge/v3/pkg/keychain"
|
"github.com/ProtonMail/proton-bridge/v3/pkg/keychain"
|
||||||
@ -439,6 +440,15 @@ func (bridge *Bridge) init(tlsReporter TLSReporter) error {
|
|||||||
version, err := bridge.updater.GetVersionInfo(ctx, bridge.api, bridge.vault.GetUpdateChannel())
|
version, err := bridge.updater.GetVersionInfo(ctx, bridge.api, bridge.vault.GetUpdateChannel())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
bridge.publish(events.UpdateCheckFailed{Error: err})
|
bridge.publish(events.UpdateCheckFailed{Error: err})
|
||||||
|
if errors.Is(err, updater.ErrVersionFileDownloadOrVerify) {
|
||||||
|
logPkg.WithError(err).Error("Cannot download or verify the version file")
|
||||||
|
if reporterErr := bridge.reporter.ReportMessageWithContext(
|
||||||
|
"Cannot download or verify the version file",
|
||||||
|
reporter.Context{"error": err},
|
||||||
|
); reporterErr != nil {
|
||||||
|
logPkg.WithError(reporterErr).Error("Failed to report version file check error")
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
bridge.handleUpdate(version)
|
bridge.handleUpdate(version)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,6 +35,7 @@ var (
|
|||||||
ErrDownloadVerify = errors.New("failed to download or verify the update")
|
ErrDownloadVerify = errors.New("failed to download or verify the update")
|
||||||
ErrInstall = errors.New("failed to install the update")
|
ErrInstall = errors.New("failed to install the update")
|
||||||
ErrUpdateAlreadyInstalled = errors.New("update is already installed")
|
ErrUpdateAlreadyInstalled = errors.New("update is already installed")
|
||||||
|
ErrVersionFileDownloadOrVerify = errors.New("failed to download or verify the version file")
|
||||||
)
|
)
|
||||||
|
|
||||||
type Downloader interface {
|
type Downloader interface {
|
||||||
@ -72,7 +73,7 @@ func (u *Updater) GetVersionInfo(ctx context.Context, downloader Downloader, cha
|
|||||||
u.getVersionFileURL()+".sig",
|
u.getVersionFileURL()+".sig",
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return VersionInfo{}, err
|
return VersionInfo{}, fmt.Errorf("%w: %w", ErrVersionFileDownloadOrVerify, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var versionMap VersionMap
|
var versionMap VersionMap
|
||||||
|
|||||||
Reference in New Issue
Block a user