mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2026-02-04 08:18:34 +00:00
Adding GUI troubleshoot popup GODT-554 GODT-583
This commit is contained in:
15
Changelog.md
15
Changelog.md
@ -4,21 +4,10 @@ Changelog [format](http://keepachangelog.com/en/1.0.0/)
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
### Added
|
## [v1.3.x] Emma (beta since 2020-08-05)
|
||||||
* GODT-582 Detect "bad certificate" TLS error.
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
* GODT-409 Set flags have to replace all flags.
|
|
||||||
* GODT-531 Better way to add trusted certificate in macOS.
|
|
||||||
* Bumped golangci-lint to v1.29.0
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
* GODT-454 Fix send on closed channel when receiving unencrypted send confirmation from GUI.
|
|
||||||
|
|
||||||
|
|
||||||
## [v1.3.x] Emma (beta 2020-07-XXX)
|
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
* GODT-554 Detect and notify about "bad certificate" IMAP TLS error.
|
||||||
* IMAP mailbox info update when new mailbox is created.
|
* IMAP mailbox info update when new mailbox is created.
|
||||||
* GODT-72 Use ISO-8859-1 encoding if charset is not specified and it isn't UTF-8.
|
* GODT-72 Use ISO-8859-1 encoding if charset is not specified and it isn't UTF-8.
|
||||||
|
|
||||||
|
|||||||
@ -40,6 +40,7 @@ const (
|
|||||||
NoActiveKeyForRecipientEvent = "noActiveKeyForRecipient"
|
NoActiveKeyForRecipientEvent = "noActiveKeyForRecipient"
|
||||||
UpgradeApplicationEvent = "upgradeApplication"
|
UpgradeApplicationEvent = "upgradeApplication"
|
||||||
TLSCertIssue = "tlsCertPinningIssue"
|
TLSCertIssue = "tlsCertPinningIssue"
|
||||||
|
IMAPTLSBadCert = "imapTLSBadCert"
|
||||||
|
|
||||||
// LogoutEventTimeout is the minimum time to permit between logout events being sent.
|
// LogoutEventTimeout is the minimum time to permit between logout events being sent.
|
||||||
LogoutEventTimeout = 3 * time.Minute
|
LogoutEventTimeout = 3 * time.Minute
|
||||||
|
|||||||
@ -237,6 +237,14 @@ Item {
|
|||||||
winMain.tlsBarState="notOK"
|
winMain.tlsBarState="notOK"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onShowIMAPCertTroubleshoot : {
|
||||||
|
go.notifyBubble(1, qsTr(
|
||||||
|
"Bridge was unable to establish a connection with your Email client. <br> <a href=\"https://protonmail.com/support/knowledge-base/bridge-ssl-connection-issue\">Learn more</a> <br>",
|
||||||
|
"notification message"
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
|
|||||||
@ -110,7 +110,7 @@ Window {
|
|||||||
ListElement { title: "Internet off" }
|
ListElement { title: "Internet off" }
|
||||||
ListElement { title: "NeedUpdate" }
|
ListElement { title: "NeedUpdate" }
|
||||||
ListElement { title: "UpToDate" }
|
ListElement { title: "UpToDate" }
|
||||||
ListElement { title: "ForceUpdate" }
|
ListElement { title: "ForceUpdate" }
|
||||||
ListElement { title: "Linux" }
|
ListElement { title: "Linux" }
|
||||||
ListElement { title: "Windows" }
|
ListElement { title: "Windows" }
|
||||||
ListElement { title: "Macos" }
|
ListElement { title: "Macos" }
|
||||||
@ -122,6 +122,7 @@ Window {
|
|||||||
ListElement { title: "Minimize this" }
|
ListElement { title: "Minimize this" }
|
||||||
ListElement { title: "SendAlertPopup" }
|
ListElement { title: "SendAlertPopup" }
|
||||||
ListElement { title: "TLSCertError" }
|
ListElement { title: "TLSCertError" }
|
||||||
|
ListElement { title: "IMAPCertError" }
|
||||||
}
|
}
|
||||||
|
|
||||||
ListView {
|
ListView {
|
||||||
@ -208,6 +209,9 @@ Window {
|
|||||||
case "TLSCertError" :
|
case "TLSCertError" :
|
||||||
go.showCertIssue()
|
go.showCertIssue()
|
||||||
break;
|
break;
|
||||||
|
case "IMAPCertError" :
|
||||||
|
go.showIMAPCertTroubleshoot()
|
||||||
|
break;
|
||||||
default :
|
default :
|
||||||
console.log("Not implemented " + data)
|
console.log("Not implemented " + data)
|
||||||
}
|
}
|
||||||
@ -310,6 +314,7 @@ Window {
|
|||||||
signal failedAutostartCode(string code)
|
signal failedAutostartCode(string code)
|
||||||
|
|
||||||
signal showCertIssue()
|
signal showCertIssue()
|
||||||
|
signal showIMAPCertTroubleshoot()
|
||||||
|
|
||||||
signal updateFinished(bool hasError)
|
signal updateFinished(bool hasError)
|
||||||
|
|
||||||
|
|||||||
@ -188,6 +188,7 @@ func (s *FrontendQt) watchEvents() {
|
|||||||
updateApplicationCh := s.getEventChannel(events.UpgradeApplicationEvent)
|
updateApplicationCh := s.getEventChannel(events.UpgradeApplicationEvent)
|
||||||
newUserCh := s.getEventChannel(events.UserRefreshEvent)
|
newUserCh := s.getEventChannel(events.UserRefreshEvent)
|
||||||
certIssue := s.getEventChannel(events.TLSCertIssue)
|
certIssue := s.getEventChannel(events.TLSCertIssue)
|
||||||
|
imapCertIssue := s.getEventChannel(events.IMAPTLSBadCert)
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case errorDetails := <-errorCh:
|
case errorDetails := <-errorCh:
|
||||||
@ -227,6 +228,8 @@ func (s *FrontendQt) watchEvents() {
|
|||||||
s.Qml.LoadAccounts()
|
s.Qml.LoadAccounts()
|
||||||
case <-certIssue:
|
case <-certIssue:
|
||||||
s.Qml.ShowCertIssue()
|
s.Qml.ShowCertIssue()
|
||||||
|
case <-imapCertIssue:
|
||||||
|
s.Qml.ShowIMAPCertTroubleshoot()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -135,6 +135,7 @@ type GoQMLInterface struct {
|
|||||||
_ func(x, y float32) `slot:"saveOutgoingNoEncPopupCoord"`
|
_ func(x, y float32) `slot:"saveOutgoingNoEncPopupCoord"`
|
||||||
_ func(recipient string) `signal:"showNoActiveKeyForRecipient"`
|
_ func(recipient string) `signal:"showNoActiveKeyForRecipient"`
|
||||||
_ func() `signal:"showCertIssue"`
|
_ func() `signal:"showCertIssue"`
|
||||||
|
_ func() `signal:"ShowIMAPCertTroubleshoot"`
|
||||||
|
|
||||||
_ func() `slot:"startUpdate"`
|
_ func() `slot:"startUpdate"`
|
||||||
_ func(hasError bool) `signal:"updateFinished"`
|
_ func(hasError bool) `signal:"updateFinished"`
|
||||||
|
|||||||
@ -225,6 +225,6 @@ func (ib *imapBackend) upgradeError(err error) {
|
|||||||
logrus.WithError(err).Error("IMAP connection couldn't be upgraded to TLS during STARTTLS")
|
logrus.WithError(err).Error("IMAP connection couldn't be upgraded to TLS during STARTTLS")
|
||||||
|
|
||||||
if strings.Contains(err.Error(), "remote error: tls: bad certificate") {
|
if strings.Contains(err.Error(), "remote error: tls: bad certificate") {
|
||||||
logrus.Info("TODO: Show troubleshooting popup")
|
ib.eventListener.Emit(events.IMAPTLSBadCert, err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user