Run classification previews in the background with live progress
The preview endpoint held one HTTP request open while classifying serially at three-second pacing, so any real range meant minutes of a grayed-out button and per-row errors were invisible until the loop ended. Analyse now starts a single background run against its own snapshot; a progress endpoint reports analysed counts, proposed changes and errors as they happen, and the page polls it with a progress bar, pace-based estimate and a Stop button. Navigating away no longer orphans the run: the page re-attaches to it on return. A run that has produced no successful proposal and fails three times in a row with the identical error stops early and reports that error, so a wrong key or unsupported model surfaces in seconds instead of repeating across the whole paced range. Also normalize a null settings.private_names, which crashed the whole UI on a workspace that had never saved preferences.
This commit is contained in:
+8
-1
@@ -673,7 +673,14 @@ canonical data and the index error is surfaced rather than serving stale totals.
|
||||
Reclassification
|
||||
----------------
|
||||
AI / Classification: choose dates, model and independent Merchant/Category/Tags
|
||||
fields. Analyse produces a read-only preview. Apply all/selected writes all
|
||||
fields. Analyse starts a background run and reports live progress: analysed
|
||||
count, proposed changes, and per-transaction errors as they happen. Requests
|
||||
stay paced seconds apart, so a large range takes minutes; the page may be left
|
||||
and revisited, and Stop abandons the run without writing anything. A run that
|
||||
has produced no successful proposal and fails three times in a row with the
|
||||
same error stops early and reports that error instead of repeating it across
|
||||
the whole range. Only one run exists at a time.
|
||||
The finished run is a read-only preview. Apply all/selected writes all
|
||||
selected changes in one canonical commit; financial facts never change. A
|
||||
manual edit, external journal change or taxonomy change invalidates old previews.
|
||||
Previews are kept in memory for up to one hour and disappear on restart. Cancel
|
||||
|
||||
Reference in New Issue
Block a user