matevip
0357c9891d
feat(wiki): user-initiated cancel for in-progress raw material processing ( #72 )
2026-05-08 15:03:10 +08:00
matevip
96840b0126
chore: bump version to 1.3.0-SNAPSHOT
2026-05-08 15:02:08 +08:00
matevip
76f5b3ca94
feat(wiki): user-initiated cancel for in-progress raw material processing ( #72 )
2026-05-07 16:32:35 +08:00
matevip
912a6336d3
fix(wiki): also remove the upload file from disk when a raw material is deleted
2026-05-03 09:12:44 +08:00
matevip
b0ca4c06d4
fix(wiki): cascade-delete pages + chunks when a raw material is removed
2026-05-03 09:12:32 +08:00
matevip
29d2d49d25
fix(wiki): widen mime_type to VARCHAR(255) so Office uploads don't blow the column
2026-05-02 23:11:40 +08:00
matevip
44ea8c784b
fix(wiki): skip vision pipeline entirely when wiki.ocr.enabled is off
2026-05-02 19:05:05 +08:00
matevip
f910d762a3
feat(wiki): feature-flag toggle UI + defer extracted_text cache when vision unavailable
2026-05-02 19:04:58 +08:00
matevip
51995275bd
feat(wiki): caption inline PDF images via the vision-in pipeline
2026-05-02 19:04:45 +08:00
matevip
4dc280a3d1
feat(wiki): wire image uploads to vision-in pipeline
2026-05-02 19:04:39 +08:00
matevip
50d9ff2b3d
feat(wiki): PR-1a infra — content hash split, chunk metadata columns, kb-default model
2026-04-25 09:56:17 +08:00
matevip
a171f2ac0e
fix(wiki): recover raw materials stuck in processing on server restart
...
Root cause: recoverOnStartup() only reset mate_wiki_processing_job rows,
not mate_wiki_raw_material. claimForProcessing() only accepts pending,
so restart-orphaned processing rows were permanently stuck — frontend
showed "preparing..." forever.
Fix:
- Add WikiRawMaterialService.recoverStuckRawMaterialsOnStartup():
resets processing→pending, clears progress fields, fires
WikiProcessingEvent when autoProcessOnUpload is enabled
- WikiAutoConfiguration: call raw recovery after job recovery
- Execution order: job table first (queued), then raw table (pending)
Test: WikiRawMaterialRecoveryTest — 4 cases: reset + events, reset
without events (autoProcess=false), noop on empty.
2026-04-19 19:37:50 +08:00
matevip
4700d0312d
fix(wiki): deduplicate raw material uploads across all processing statuses
...
Root cause: addFile()/addText() hash dedup only matched rows with
status=completed, so the same file uploaded while in partial/pending/
processing/failed status would create a duplicate row.
Fix:
- Remove .eq(processingStatus, "completed") from dedup queries — match
any non-deleted row with the same content hash in the KB
- On dedup hit: completed/pending/processing → return as-is;
partial/failed → trigger reprocess (partial enters resume branch)
- Clean up the newly uploaded temp file when dedup discards it
- Frontend: uploadRawFile/addRawText check for existing id in the list
before unshift to prevent visual duplicates
Test: WikiRawMaterialDedupTest — 10 cases covering all 5 statuses,
reprocess triggers for partial/failed, no-op for others, insert only
when no match.
2026-04-19 19:36:13 +08:00
matevip
1fdf87b31e
feat(wiki): semantic hybrid search + chunk persistence + deep research pipeline
2026-04-16 17:11:31 +08:00
matevip
ef8120413c
feat(wiki): real-time SSE progress + parallel page generation + partial-resume; fix concurrent slug collisions; fix skill overwrite + hub retry
2026-04-15 10:34:11 +08:00
matevip
2a2f862257
feat(wiki): per-raw progress bar in raw-material card (RFC-012 M2 v2 UI)
2026-04-14 18:56:45 +08:00
matevip
b9ed8219ba
feat(wiki): parallel processing + resilient LLM retry + hash-based skip (RFC-012 M1)
2026-04-14 15:18:03 +08:00
matevip
d5e3502829
fix(wiki): backend hardening + batch delete UI
2026-04-13 15:37:12 +08:00
matevip
642360a773
feat(wiki): add LLM Wiki knowledge base system
2026-04-08 10:55:50 +08:00