feat(audit): free-text search, JSONL export of the view, labeled dev reset
Some checks failed
Security / Security check (push) Failing after 1s
Some checks failed
Security / Security check (push) Failing after 1s
- search field over flow/step/module/error/detail/project/id backs
the list and the export ('current view' semantics); match logic
is a top-level function with unit tests
- export writes one JSON object per line via the save dialog; the
CLI stays the canonical WORM-grade export
- the bare trash icon on the audit toolbar read as 'delete
evidence' (security-auditor finding) — the dev-only reset now
sits in a labeled overflow menu next to the export action
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
0e53572589
commit
5aa69104e7
7 changed files with 273 additions and 7 deletions
|
|
@ -561,6 +561,13 @@
|
|||
"auditFilterModule": "Modul",
|
||||
"auditFilterTooltip": "Ereignisse filtern",
|
||||
"auditClearLogTooltip": "Protokoll löschen (nur local/dev Kanal)",
|
||||
"auditMoreTooltip": "Weitere Aktionen",
|
||||
"auditSearchHint": "Ereignisse durchsuchen (Flow, Schritt, Modul, Fehlertext …)",
|
||||
"auditExportAction": "Aktuelle Ansicht als JSONL exportieren …",
|
||||
"auditExportNothing": "Keine Ereignisse in der aktuellen Ansicht — nichts zu exportieren.",
|
||||
"auditExportSaved": "{n} Ereignisse exportiert nach {path}",
|
||||
"@auditExportSaved": {"placeholders": {"n": {"type": "int"}, "path": {"type": "String"}}},
|
||||
"auditDevResetAction": "Entwicklungs-Reset: Protokoll löschen … (nur local/dev)",
|
||||
"auditClearedToast": "{n} Ereignisse auf Kanal „{channel}\" gelöscht. Kette mit Marker neu geseedet.",
|
||||
"@auditClearedToast": {
|
||||
"placeholders": {
|
||||
|
|
|
|||
|
|
@ -579,6 +579,13 @@
|
|||
"auditFilterModule": "module",
|
||||
"auditFilterTooltip": "Filter events",
|
||||
"auditClearLogTooltip": "Clear log (local/dev channels only)",
|
||||
"auditMoreTooltip": "More actions",
|
||||
"auditSearchHint": "Search events (flow, step, module, error text …)",
|
||||
"auditExportAction": "Export current view as JSONL …",
|
||||
"auditExportNothing": "No events in the current view — nothing to export.",
|
||||
"auditExportSaved": "Exported {n} events to {path}",
|
||||
"@auditExportSaved": {"placeholders": {"n": {"type": "int"}, "path": {"type": "String"}}},
|
||||
"auditDevResetAction": "Development reset: clear log … (local/dev only)",
|
||||
"auditClearedToast": "Cleared {n} events on channel \"{channel}\". Chain reseeded with marker.",
|
||||
"@auditClearedToast": {
|
||||
"placeholders": {
|
||||
|
|
|
|||
|
|
@ -2126,6 +2126,42 @@ abstract class AppLocalizations {
|
|||
/// **'Clear log (local/dev channels only)'**
|
||||
String get auditClearLogTooltip;
|
||||
|
||||
/// No description provided for @auditMoreTooltip.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'More actions'**
|
||||
String get auditMoreTooltip;
|
||||
|
||||
/// No description provided for @auditSearchHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Search events (flow, step, module, error text …)'**
|
||||
String get auditSearchHint;
|
||||
|
||||
/// No description provided for @auditExportAction.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Export current view as JSONL …'**
|
||||
String get auditExportAction;
|
||||
|
||||
/// No description provided for @auditExportNothing.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No events in the current view — nothing to export.'**
|
||||
String get auditExportNothing;
|
||||
|
||||
/// No description provided for @auditExportSaved.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Exported {n} events to {path}'**
|
||||
String auditExportSaved(int n, String path);
|
||||
|
||||
/// No description provided for @auditDevResetAction.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Development reset: clear log … (local/dev only)'**
|
||||
String get auditDevResetAction;
|
||||
|
||||
/// No description provided for @auditClearedToast.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -1181,6 +1181,29 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get auditClearLogTooltip => 'Protokoll löschen (nur local/dev Kanal)';
|
||||
|
||||
@override
|
||||
String get auditMoreTooltip => 'Weitere Aktionen';
|
||||
|
||||
@override
|
||||
String get auditSearchHint =>
|
||||
'Ereignisse durchsuchen (Flow, Schritt, Modul, Fehlertext …)';
|
||||
|
||||
@override
|
||||
String get auditExportAction => 'Aktuelle Ansicht als JSONL exportieren …';
|
||||
|
||||
@override
|
||||
String get auditExportNothing =>
|
||||
'Keine Ereignisse in der aktuellen Ansicht — nichts zu exportieren.';
|
||||
|
||||
@override
|
||||
String auditExportSaved(int n, String path) {
|
||||
return '$n Ereignisse exportiert nach $path';
|
||||
}
|
||||
|
||||
@override
|
||||
String get auditDevResetAction =>
|
||||
'Entwicklungs-Reset: Protokoll löschen … (nur local/dev)';
|
||||
|
||||
@override
|
||||
String auditClearedToast(int n, String channel) {
|
||||
return '$n Ereignisse auf Kanal „$channel\" gelöscht. Kette mit Marker neu geseedet.';
|
||||
|
|
|
|||
|
|
@ -1198,6 +1198,29 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get auditClearLogTooltip => 'Clear log (local/dev channels only)';
|
||||
|
||||
@override
|
||||
String get auditMoreTooltip => 'More actions';
|
||||
|
||||
@override
|
||||
String get auditSearchHint =>
|
||||
'Search events (flow, step, module, error text …)';
|
||||
|
||||
@override
|
||||
String get auditExportAction => 'Export current view as JSONL …';
|
||||
|
||||
@override
|
||||
String get auditExportNothing =>
|
||||
'No events in the current view — nothing to export.';
|
||||
|
||||
@override
|
||||
String auditExportSaved(int n, String path) {
|
||||
return 'Exported $n events to $path';
|
||||
}
|
||||
|
||||
@override
|
||||
String get auditDevResetAction =>
|
||||
'Development reset: clear log … (local/dev only)';
|
||||
|
||||
@override
|
||||
String auditClearedToast(int n, String channel) {
|
||||
return 'Cleared $n events on channel \"$channel\". Chain reseeded with marker.';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue