mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-10-17 05:14:19 +02:00
On ZIMs that pack one logical article as several sub-pages (e.g. iFixit), iterByPath yields more entries passing our isArticleEntry() filter than archive.articleCount reports. The inter-batch progress used nextOffset / articleCount, so the numerator outran the denominator, the ratio overflowed past 100%, and the UI (which clamps at 99%) pinned the file at 99% for the entire remaining tail, making it look hung. Grow the denominator to max(articleCount, nextOffset + ZIM_BATCH_SIZE) once we pass the reported article count, so progress keeps creeping forward monotonically instead of freezing, and clamp to 99% so only the genuinely-final batch reports 100%. This is a graceful heuristic, not exact progress (true accuracy would require a pre-scan to count isArticleEntry matches up front); it removes the user-visible "stuck at 99%" symptom with no change to batch semantics. Closes #903 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| bin | ||
| commands | ||
| config | ||
| constants | ||
| database | ||
| docs | ||
| inertia | ||
| providers | ||
| public | ||
| resources | ||
| scripts | ||
| start | ||
| tests | ||
| types | ||
| util | ||
| views | ||
| .editorconfig | ||
| .env.example | ||
| ace.js | ||
| adonisrc.ts | ||
| eslint.config.js | ||
| package-lock.json | ||
| package.json | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
| vite.config.ts | ||