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
@@ -12,6 +12,7 @@ import 'page_probe.dart';
import 'timetable_adapter.dart';
import 'exam_adapter.dart';
import '../school_browser.dart';
import '../school_browser_diagnostics.dart';
class UndergraduateSession extends ChangeNotifier {
UndergraduateSession({this.configureBrowser = configureSchoolBrowser});
@@ -138,7 +139,18 @@ class UndergraduateSession extends ChangeNotifier {
_emit();
}
},
onPageFinished: _loaded,
onPageFinished: (url) {
final generation = _generation, document = _document;
unawaited(
recordSchoolPageDiagnostics(
web,
'undergraduate',
url,
isCurrent: () => _valid(generation) && document == _document,
),
);
unawaited(_loaded(url));
},
onWebResourceError: (error) async {
DiagnosticLog.instance.resourceFailure(
'undergraduate',