feat(desktop): Setup-Seite zeigt Version und Stand der installierten App
Neues Command get_client_info liefert "Tessera-App X.Y.Z · Stand <sha7>" (ohne Stempel nur die Version); die Setup-Seite blendet die Zeile beim Erststart und unter "Server-Adresse ändern" dezent ein. So ist ohne Adressleiste erkennbar, welcher Client-Stand läuft. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -163,6 +163,19 @@ fn release_labels(current: &Version, release: &Version) -> (String, String) {
|
||||
update_labels(version_changed, &version, commit)
|
||||
}
|
||||
|
||||
/// Beschriftung fuer die Setup-Seite: Version und Commit-Stempel der
|
||||
/// installierten App, damit Anwender sehen, welchen Stand sie fahren
|
||||
/// (Beta-Baue teilen sich die X.Y.Z-Version, nur der Stempel unterscheidet
|
||||
/// sie). Ohne Stempel (lokaler Bau ohne Git) nur die Version.
|
||||
fn client_info_label(version: &str, commit: &str) -> String {
|
||||
let commit = commit.trim();
|
||||
if commit.is_empty() {
|
||||
format!("Tessera-App {version}")
|
||||
} else {
|
||||
format!("Tessera-App {version} · Stand {commit}")
|
||||
}
|
||||
}
|
||||
|
||||
/// Parst eine vom Nutzer eingegebene Server-Adresse und erlaubt nur http/https
|
||||
/// -- dieselben Fehlertexte wie bisher inline in `check_server`. `check_server`,
|
||||
/// `save_server_url` und `open_server` rufen ausschliesslich diesen Helfer;
|
||||
@@ -490,6 +503,12 @@ fn open_server(app: AppHandle) -> Result<(), String> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Version und Commit-Stempel der laufenden App fuer die Setup-Seite.
|
||||
#[tauri::command]
|
||||
fn get_client_info() -> String {
|
||||
client_info_label(env!("CARGO_PKG_VERSION"), env!("APP_COMMIT"))
|
||||
}
|
||||
|
||||
pub fn run() {
|
||||
let app = tauri::Builder::default()
|
||||
.plugin(tauri_plugin_store::Builder::new().build())
|
||||
@@ -505,7 +524,8 @@ pub fn run() {
|
||||
check_server,
|
||||
save_server_url,
|
||||
get_server_url,
|
||||
open_server
|
||||
open_server,
|
||||
get_client_info
|
||||
])
|
||||
.setup(|app| {
|
||||
let server_url = stored_server_url(app.handle());
|
||||
@@ -710,6 +730,20 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn client_info_label_mit_stempel() {
|
||||
assert_eq!(
|
||||
client_info_label("1.2.0", "7479cb4"),
|
||||
"Tessera-App 1.2.0 · Stand 7479cb4"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn client_info_label_ohne_stempel() {
|
||||
assert_eq!(client_info_label("1.2.0", ""), "Tessera-App 1.2.0");
|
||||
assert_eq!(client_info_label("1.2.0", " "), "Tessera-App 1.2.0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn update_labels_bei_gleicher_version_beta_commit() {
|
||||
let (menu_text, body) = update_labels(false, "1.1.0", "abc1234");
|
||||
|
||||
Reference in New Issue
Block a user