Refine school script diagnostics and document-state capture

This commit is contained in:
Codex
2026-10-15 15:15:42 +08:00
parent a4c2df838e
commit 83b0c7e177
16 changed files with 435 additions and 27 deletions
+5 -1
View File
@@ -3,6 +3,8 @@ import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import '../app/app_version.dart';
/// Small, structured breadcrumbs. Never accepts raw URLs, HTML or exceptions.
class DiagnosticLog {
DiagnosticLog({DateTime Function()? clock}) : clock = clock ?? DateTime.now;
@@ -183,7 +185,9 @@ class DiagnosticLog {
_trim();
await flush();
final header =
'TPSchedule diagnostic log\nWindow: last 10 minutes (UTC timestamps)\n'
'TPSchedule diagnostic log\nApp: TPSchedule $appVersion+$appBuildNumber\n'
'Exported at: ${clock().toUtc().toIso8601String()}\n'
'Window: last 10 minutes (UTC timestamps)\n'
'Up to 500 recent events; no passwords, cookies, HTML or feedback text.\n';
return Uint8List.fromList(
utf8.encode('$header${_entries.map(jsonEncode).join('\n')}\n'),