fix(doctor): honest module count, temp-path audit warning, connection line
Some checks are pending
Security / Security check (push) Waiting to run
Some checks are pending
Security / Security check (push) Waiting to run
Three doctor-page findings from the usertest panel: - Module tile no longer counts the hub's built-in 'system' pseudo-module — a fresh hub shows 0 modules, matching the welcome checklist's definition of an install. Counting is a top-level function with unit tests. - When the audit DB lives in an OS-cleanable temp directory (/var/folders, /tmp, Windows Temp), the daemon-files panel says so instead of presenting the state as healthy. The classifier is a top-level function with unit tests. - The daemon card states who-talks-to-whom-how in one line: endpoint, transport security (TLS / unencrypted-local / unencrypted), and whether a bearer token is attached (length only) — the auditor's baseline the green dot cannot answer. Also syncs pubspec.yaml (0.70.0 -> 0.72.0) with kStudioVersion, which had drifted to 0.71.0 while pubspec stayed behind. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
afa3fa7eae
commit
703d961cec
10 changed files with 303 additions and 3 deletions
|
|
@ -1267,6 +1267,25 @@
|
|||
"doctorPillStopped": "gestoppt",
|
||||
"doctorDaemonControlHint": "Studio ruft das Platform-Binary auf — entspricht chain daemon …, sodass CLI und UI im Gleichschritt bleiben.",
|
||||
"doctorDaemonControlWorking": "Wird ausgeführt…",
|
||||
"doctorConnLine": "Verbindung: {endpoint} · {transport} · {auth}",
|
||||
"@doctorConnLine": {
|
||||
"placeholders": {
|
||||
"endpoint": {"type": "String"},
|
||||
"transport": {"type": "String"},
|
||||
"auth": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"doctorConnTls": "TLS-verschlüsselt",
|
||||
"doctorConnPlainLocal": "unverschlüsselt (bleibt auf diesem Rechner)",
|
||||
"doctorConnPlainRemote": "unverschlüsselt",
|
||||
"doctorConnToken": "Token gesetzt ({count} Zeichen)",
|
||||
"@doctorConnToken": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
}
|
||||
},
|
||||
"doctorConnAnonymous": "ohne Token (anonym)",
|
||||
"doctorDbVolatileWarning": "Die Audit-Datenbank liegt in einem temporären Ordner, den das Betriebssystem jederzeit aufräumen kann. Für belastbare Nachweise gehört das Datenverzeichnis des Hubs an einen dauerhaften Ort.",
|
||||
"doctorPathLog": "Log",
|
||||
"doctorPathConfig": "Konfig",
|
||||
"doctorPathDb": "Audit-DB",
|
||||
|
|
|
|||
|
|
@ -1291,6 +1291,25 @@
|
|||
"doctorPillStopped": "stopped",
|
||||
"doctorDaemonControlHint": "Studio shells out to the platform binary — mirrors chain daemon … exactly so the CLI and UI stay in lockstep.",
|
||||
"doctorDaemonControlWorking": "Working…",
|
||||
"doctorConnLine": "Connection: {endpoint} · {transport} · {auth}",
|
||||
"@doctorConnLine": {
|
||||
"placeholders": {
|
||||
"endpoint": {"type": "String"},
|
||||
"transport": {"type": "String"},
|
||||
"auth": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"doctorConnTls": "TLS-encrypted",
|
||||
"doctorConnPlainLocal": "unencrypted (stays on this machine)",
|
||||
"doctorConnPlainRemote": "unencrypted",
|
||||
"doctorConnToken": "token configured ({count} characters)",
|
||||
"@doctorConnToken": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
}
|
||||
},
|
||||
"doctorConnAnonymous": "no token (anonymous)",
|
||||
"doctorDbVolatileWarning": "The audit database is stored in a temporary folder the operating system may clean up at any time. For real evidence, move the hub's data directory to a permanent location.",
|
||||
"doctorPathLog": "Log",
|
||||
"doctorPathConfig": "Config",
|
||||
"doctorPathDb": "Audit DB",
|
||||
|
|
|
|||
|
|
@ -3836,6 +3836,48 @@ abstract class AppLocalizations {
|
|||
/// **'Working…'**
|
||||
String get doctorDaemonControlWorking;
|
||||
|
||||
/// No description provided for @doctorConnLine.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Connection: {endpoint} · {transport} · {auth}'**
|
||||
String doctorConnLine(String endpoint, String transport, String auth);
|
||||
|
||||
/// No description provided for @doctorConnTls.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'TLS-encrypted'**
|
||||
String get doctorConnTls;
|
||||
|
||||
/// No description provided for @doctorConnPlainLocal.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'unencrypted (stays on this machine)'**
|
||||
String get doctorConnPlainLocal;
|
||||
|
||||
/// No description provided for @doctorConnPlainRemote.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'unencrypted'**
|
||||
String get doctorConnPlainRemote;
|
||||
|
||||
/// No description provided for @doctorConnToken.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'token configured ({count} characters)'**
|
||||
String doctorConnToken(int count);
|
||||
|
||||
/// No description provided for @doctorConnAnonymous.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'no token (anonymous)'**
|
||||
String get doctorConnAnonymous;
|
||||
|
||||
/// No description provided for @doctorDbVolatileWarning.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The audit database is stored in a temporary folder the operating system may clean up at any time. For real evidence, move the hub\'s data directory to a permanent location.'**
|
||||
String get doctorDbVolatileWarning;
|
||||
|
||||
/// No description provided for @doctorPathLog.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -2255,6 +2255,33 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get doctorDaemonControlWorking => 'Wird ausgeführt…';
|
||||
|
||||
@override
|
||||
String doctorConnLine(String endpoint, String transport, String auth) {
|
||||
return 'Verbindung: $endpoint · $transport · $auth';
|
||||
}
|
||||
|
||||
@override
|
||||
String get doctorConnTls => 'TLS-verschlüsselt';
|
||||
|
||||
@override
|
||||
String get doctorConnPlainLocal =>
|
||||
'unverschlüsselt (bleibt auf diesem Rechner)';
|
||||
|
||||
@override
|
||||
String get doctorConnPlainRemote => 'unverschlüsselt';
|
||||
|
||||
@override
|
||||
String doctorConnToken(int count) {
|
||||
return 'Token gesetzt ($count Zeichen)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get doctorConnAnonymous => 'ohne Token (anonym)';
|
||||
|
||||
@override
|
||||
String get doctorDbVolatileWarning =>
|
||||
'Die Audit-Datenbank liegt in einem temporären Ordner, den das Betriebssystem jederzeit aufräumen kann. Für belastbare Nachweise gehört das Datenverzeichnis des Hubs an einen dauerhaften Ort.';
|
||||
|
||||
@override
|
||||
String get doctorPathLog => 'Log';
|
||||
|
||||
|
|
|
|||
|
|
@ -2261,6 +2261,32 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get doctorDaemonControlWorking => 'Working…';
|
||||
|
||||
@override
|
||||
String doctorConnLine(String endpoint, String transport, String auth) {
|
||||
return 'Connection: $endpoint · $transport · $auth';
|
||||
}
|
||||
|
||||
@override
|
||||
String get doctorConnTls => 'TLS-encrypted';
|
||||
|
||||
@override
|
||||
String get doctorConnPlainLocal => 'unencrypted (stays on this machine)';
|
||||
|
||||
@override
|
||||
String get doctorConnPlainRemote => 'unencrypted';
|
||||
|
||||
@override
|
||||
String doctorConnToken(int count) {
|
||||
return 'token configured ($count characters)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get doctorConnAnonymous => 'no token (anonymous)';
|
||||
|
||||
@override
|
||||
String get doctorDbVolatileWarning =>
|
||||
'The audit database is stored in a temporary folder the operating system may clean up at any time. For real evidence, move the hub\'s data directory to a permanent location.';
|
||||
|
||||
@override
|
||||
String get doctorPathLog => 'Log';
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue