Many imorovments
Build and test / Desktop (Linux) (push) Failing after 1m8s
Build and test / Android (aarch64) (push) Failing after 2s
Build and test / Layer separation (push) Canceled after 23s
Traceability / Requirement traces (push) Failing after 59s

This commit is contained in:
2026-08-12 22:16:15 +02:00
parent fa12afed18
commit 4d78041d1d
24 changed files with 711 additions and 78 deletions
+18
View File
@@ -253,6 +253,24 @@ impl LaunchModel {
};
}
/// TRACES: FR-NC-1
/// Begin a sign-in with an app password the user supplied directly.
///
/// The browser flow is the recommended route because it never exposes a
/// credential to us, but it needs a browser and a round trip through one.
/// An app password is what Nextcloud offers instead: device-scoped,
/// individually revocable, and created by the user under Settings →
/// Security. That makes it the workable option where no browser can
/// complete the handshake.
pub fn begin_direct_sign_in(&mut self, server: impl Into<String>) {
self.server_url = normalise_server(&server.into());
self.error = None;
self.state = LaunchState::Busy {
message: "Checking the credentials…".into(),
session: None,
};
}
pub fn await_approval(&mut self, login_url: impl Into<String>) {
self.status = Some("Approve the sign-in in your browser.".into());
self.state = LaunchState::AwaitingApproval {