mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-18 08:06:59 +00:00
fix(BRIDGE-90): disable repair button when bridge cannot connect to proton servers; bump GPA
This commit is contained in:
2
go.mod
2
go.mod
@ -9,7 +9,7 @@ require (
|
|||||||
github.com/Masterminds/semver/v3 v3.2.0
|
github.com/Masterminds/semver/v3 v3.2.0
|
||||||
github.com/ProtonMail/gluon v0.17.1-0.20240514133734-79cdd0fec41c
|
github.com/ProtonMail/gluon v0.17.1-0.20240514133734-79cdd0fec41c
|
||||||
github.com/ProtonMail/go-autostart v0.0.0-20210130080809-00ed301c8e9a
|
github.com/ProtonMail/go-autostart v0.0.0-20210130080809-00ed301c8e9a
|
||||||
github.com/ProtonMail/go-proton-api v0.4.1-0.20240423123404-a6163268401c
|
github.com/ProtonMail/go-proton-api v0.4.1-0.20240605113119-1a81ec7dc72d
|
||||||
github.com/ProtonMail/gopenpgp/v2 v2.7.4-proton
|
github.com/ProtonMail/gopenpgp/v2 v2.7.4-proton
|
||||||
github.com/PuerkitoBio/goquery v1.8.1
|
github.com/PuerkitoBio/goquery v1.8.1
|
||||||
github.com/abiosoft/ishell v2.0.0+incompatible
|
github.com/abiosoft/ishell v2.0.0+incompatible
|
||||||
|
|||||||
2
go.sum
2
go.sum
@ -42,6 +42,8 @@ github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f h1:tCbYj7/299ek
|
|||||||
github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f/go.mod h1:gcr0kNtGBqin9zDW9GOHcVntrwnjrK+qdJ06mWYBybw=
|
github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f/go.mod h1:gcr0kNtGBqin9zDW9GOHcVntrwnjrK+qdJ06mWYBybw=
|
||||||
github.com/ProtonMail/go-proton-api v0.4.1-0.20240423123404-a6163268401c h1:3U245DPGyL+LeAcJzFSg+E2lShXx+z/lBHM2v9P5mEg=
|
github.com/ProtonMail/go-proton-api v0.4.1-0.20240423123404-a6163268401c h1:3U245DPGyL+LeAcJzFSg+E2lShXx+z/lBHM2v9P5mEg=
|
||||||
github.com/ProtonMail/go-proton-api v0.4.1-0.20240423123404-a6163268401c/go.mod h1:3A0cpdo0BIenIPjTG6u8EbzJ8uuJy7rVvM/NaynjCKA=
|
github.com/ProtonMail/go-proton-api v0.4.1-0.20240423123404-a6163268401c/go.mod h1:3A0cpdo0BIenIPjTG6u8EbzJ8uuJy7rVvM/NaynjCKA=
|
||||||
|
github.com/ProtonMail/go-proton-api v0.4.1-0.20240605113119-1a81ec7dc72d h1:B9/ZLubPWIY4uvATviFoCUoLauq98C3Bbt4v0A2VEdU=
|
||||||
|
github.com/ProtonMail/go-proton-api v0.4.1-0.20240605113119-1a81ec7dc72d/go.mod h1:3A0cpdo0BIenIPjTG6u8EbzJ8uuJy7rVvM/NaynjCKA=
|
||||||
github.com/ProtonMail/go-smtp v0.0.0-20231109081432-2b3d50599865 h1:EP1gnxLL5Z7xBSymE9nSTM27nRYINuvssAtDmG0suD8=
|
github.com/ProtonMail/go-smtp v0.0.0-20231109081432-2b3d50599865 h1:EP1gnxLL5Z7xBSymE9nSTM27nRYINuvssAtDmG0suD8=
|
||||||
github.com/ProtonMail/go-smtp v0.0.0-20231109081432-2b3d50599865/go.mod h1:qm27SGYgoIPRot6ubfQ/GpiPy/g3PaZAVRxiO/sDUgQ=
|
github.com/ProtonMail/go-smtp v0.0.0-20231109081432-2b3d50599865/go.mod h1:qm27SGYgoIPRot6ubfQ/GpiPy/g3PaZAVRxiO/sDUgQ=
|
||||||
github.com/ProtonMail/go-srp v0.0.7 h1:Sos3Qk+th4tQR64vsxGIxYpN3rdnG9Wf9K4ZloC1JrI=
|
github.com/ProtonMail/go-srp v0.0.7 h1:Sos3Qk+th4tQR64vsxGIxYpN3rdnG9Wf9K4ZloC1JrI=
|
||||||
|
|||||||
@ -515,7 +515,6 @@ func (bridge *Bridge) remWatcher(watcher *watcher.Watcher[events.Event]) {
|
|||||||
|
|
||||||
func (bridge *Bridge) onStatusUp(_ context.Context) {
|
func (bridge *Bridge) onStatusUp(_ context.Context) {
|
||||||
logPkg.Info("Handling API status up")
|
logPkg.Info("Handling API status up")
|
||||||
|
|
||||||
bridge.goLoad()
|
bridge.goLoad()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -601,3 +600,7 @@ func min(a, b time.Duration) time.Duration {
|
|||||||
|
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bridge *Bridge) HasAPIConnection() bool {
|
||||||
|
return bridge.api.GetStatus() == proton.StatusUp
|
||||||
|
}
|
||||||
|
|||||||
@ -22,6 +22,7 @@ SettingsView {
|
|||||||
property bool _isAdvancedShown: false
|
property bool _isAdvancedShown: false
|
||||||
property var notifications
|
property var notifications
|
||||||
property var allUsersLoaded: false
|
property var allUsersLoaded: false
|
||||||
|
property var hasInternetConnection: true
|
||||||
|
|
||||||
fillHeight: false
|
fillHeight: false
|
||||||
|
|
||||||
@ -229,13 +230,22 @@ SettingsView {
|
|||||||
text: qsTr("Repair Bridge")
|
text: qsTr("Repair Bridge")
|
||||||
type: SettingsItem.Button
|
type: SettingsItem.Button
|
||||||
visible: root._isAdvancedShown
|
visible: root._isAdvancedShown
|
||||||
enabled: root.allUsersLoaded && Backend.users.count
|
enabled: root.allUsersLoaded && Backend.users.count && root.hasInternetConnection
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
root.notifications.askRepairBridge();
|
root.notifications.askRepairBridge();
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
|
function onInternetOff() {
|
||||||
|
root.hasInternetConnection = false;
|
||||||
|
repair.description = qsTr("This feature requires internet access to the Proton servers.")
|
||||||
|
|
||||||
|
}
|
||||||
|
function onInternetOn() {
|
||||||
|
root.hasInternetConnection = true;
|
||||||
|
repair.description = qsTr("Reload all accounts, cached data, and download all emails again. Email clients stay connected to Bridge.")
|
||||||
|
}
|
||||||
function onAllUsersLoaded() {
|
function onAllUsersLoaded() {
|
||||||
root.allUsersLoaded = true;
|
root.allUsersLoaded = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -361,7 +361,11 @@ func (f *frontendCLI) isFile(location string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (f *frontendCLI) repair(_ *ishell.Context) {
|
func (f *frontendCLI) repair(_ *ishell.Context) {
|
||||||
|
if f.bridge.HasAPIConnection() {
|
||||||
if f.yesNoQuestion("Are you sure you want to initialize a repair, this may take a while") {
|
if f.yesNoQuestion("Are you sure you want to initialize a repair, this may take a while") {
|
||||||
f.bridge.Repair()
|
f.bridge.Repair()
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
f.Println("Bridge cannot connect to the Proton servers. A connection is required to utilize this feature.")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user