Merge #2207
2207: [SFTP Server] downgrading log message severity. r=townsend2010 a=surahman
**_Issue #2203:_**
I have downgraded the severity of the log messages to `trace` for any message which is also forwarded to the `sftp_client`.
The following log messages have been left as-is because they do not forward a message to the `Client` and I believe, given the severity of the issues, that their log levels are justified:
https://github.com/canonical/multipass/blob/69aeaebc1ace1506c5e88e4fa0a86cab1907c79b/src/sshfs_mount/sftp_server.cpp#L401
https://github.com/canonical/multipass/blob/69aeaebc1ace1506c5e88e4fa0a86cab1907c79b/src/sshfs_mount/sftp_server.cpp#L429-L430
https://github.com/canonical/multipass/blob/69aeaebc1ace1506c5e88e4fa0a86cab1907c79b/src/sshfs_mount/sftp_server.cpp#L581
Co-authored-by: Saad Ur Rahman <email address hidden>
Merge #2193
2193: [gui] Update available multiple msgs bugfix r=ricab a=surahman
**_Issue #2188:_**
Introducing a check for signal connection to the GUI when an update is available.
We could also, potentially, do the following and move the `disconnect` from the `else` statement out to before the update check - which is what you suggested. It is the same code as the original, but just refactored:
```c++
void cmd::GuiCmd::update_about_menu()
{
auto reply = version_future.result();
about_client_version.setText("multipass version: " + QString::fromStdString(multipass::version_string));
about_daemon_version.setText("multipassd version: " + QString::fromStdString(reply.version()));
QObject::disconnect(&tray_icon, &QSystemTrayIcon::messageClicked, 0, 0);
tray_icon_menu.removeAction(&update_action);
if (update_available(reply.update_info()))
{
update_action.setIcon(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation));
update_action.setWhatsThis(QString::fromStdString(reply.update_info().url()));
QObject::connect(&tray_icon, &QSystemTrayIcon::messageClicked,
[this] { QDesktopServices::openUrl(QUrl(update_action.whatsThis())); });
tray_icon_menu.insertAction(about_menu.menuAction(), &update_action);
tray_icon.showMessage(QString::fromStdString(reply.update_info().title()),
QString("%1\n\nClick here for more information.")
.arg(QString::fromStdString(reply.update_info().description())));
}
}
```
My rationale for performing the check to see if there is a connected signal is because it might be more efficient than a potentially needless attempt to disconnect. I am open to suggestions and the above code is sitting on the `dev` branch waiting to be merged if required.
Co-authored-by: Saad Ur Rahman <email address hidden>