tipitaka / webapp /tipitaka-api

Commit History

  1. Implement expandable volume breakdown with page chips in search panel Running

    c1f9028
  2. Fix Volume Breakdown query expansion discrepancy in SearchService

    8c12cef
  3. Implement hot-reloaded search rules config file for monk prefixes

    7fd2d51
  4. Fix synonym highlighting in snippet and reader panel, and fix health diagnostics 500 error

    f33f622
  5. Add health diag endpoint for troubleshooting vector search

    aeed839

  1. Implement synonym and related words highlighting in search results and reader panel

    12b4775
  2. Fix write permissions crash on Hugging Face Spaces by configuring paths before downloading and adding a writability check on /data

    e99cf6e
  3. Fix AI search by appending query expansions instead of replacing the original query

    f955da2
  4. fix: pass task='retrieval.query' to SentenceTransformers encode when using Jina or fine-tuned embedding models to prevent Task missing error

    308d07e
  5. fix: add peft to requirements.txt to support loading fine-tuned LoRA models in SentenceTransformers

    4ffb8ff
  6. feat: support Hugging Face persistent storage at /data and local Docker volumes for persisting SQLite database (search logs/cache) across container rebuilds

    3dc49f8
  7. feat: FTS5-first + AI button search with split button mode selector⁠

    5e37f3b

  1. fix: update QWEN_MODEL_ID default to 1.5B in main.py (missed in previous commit)

    d5c52d4
  2. chore: upgrade Qwen model default from 0.5B to 1.5B Instruct

    ff9cfda

  1. feat: complete turbovec search backend integration, ignore tvim file in git, and stabilize mobile UI transitions

    603ead8
  2. feat: add Google-style breadcrumb navigation to search results⁠

    5c4239f
  3. fix: resolve critical vector embedding bug and refine query transform prompt for prefix word matching

    b00bdb2
  4. fix: serialize concurrent thread access to in-memory SQLite connection to prevent race conditions and deadlocks

    de8a899
  5. Implement SQLite FTS5 prefix matching to support partial Thai word search and resolve segmentation tokenization issues

    4c554ad
  6. Swap default Query-Transform LLM to Qwen2.5-0.5B-Instruct to significantly reduce memory footprint and CPU generation latency on Hugging Face free tier

    82e5f43
  7. Optimize PyTorch resource usage: set CPU threads to 1 to prevent health check timeouts and reduce max generation tokens to 45

    68c0ac1
  8. Optimize backend preloading: preload Qwen & Jina-v5 at startup, cache Qwen in QueryTransformService class attributes, and bypass Ollama connection attempts when not ready

    029c891
  9. fix: optimize local mode Qdrant restore by replacing server snapshots with pre-packaged SQLite databases

    cdcdbbf
  10. docs: add SEARCH_ARCHITECTURE_V3 spec and include helper scripts for reindexing and RAG query testing

    7805140

  1. fix: increase Ollama HTTP client timeout to 30.0s to handle model cold starts resiliently

    f1d32da
  2. fix: implement query_batch_points and sequential fallback in SearchService, and raise 404 on page not found in pages router

    3670990
  3. feat: implement Search Architecture V3 (Hybrid search with Qwen query transformation, batch embeddings, batch Qdrant searches, and optimized CPU reranking)

    c6f014f

  1. fix: add Cache-Control headers to static files — no-cache for root icons, immutable for hashed assets

    ed6d275
  2. fix: serve all root-level static files (icons, favicon.svg, apple-touch-icons)

    faab8c8

  1. perf: skip LLM/RAG imports in abbrev lookup, query DB directly⁠

    b8531b2
  2. fix: use _default marker_id for non-numeric abbrev ids, skip RAG init⁠

    f417652
  3. refactor: disable LLM fallback for (ย่อ), fix JSON string array parsing⁠

    efc32dd

  1. fix: add อนุ. วิ. ปฏิ. dialogue markers to split formatting⁠

    9babb2f
  2. fix: exclude '.' from marker normalization preceding char⁠

    70f46ee
  3. fix: merge adjacent <B> headings with <I> footnote refs, fix marker normalization exclusion list⁠

    6b67cae
  4. feat: normalize reference extraction and popup UI

    165565d
  5. feat: enhance footnote extraction and display at bottom of page

    23b4d13
  6. feat: implement Reference Lookup API and ReferencePopup integration

    b1f23a6
  7. feat: migrate jina v5, refine AI popup, add reference popup UI

    d2c65ec

  1. feat: add sentence-transformers fallback for embedding when Ollama unavailable

    abb8b56

  1. fix: cleanup stale Qdrant lock on startup to prevent health alert

    e04d706
  2. fix: extract end markers from raw <B> tags instead of sections (works per-page, not proximity guess)

    bf53ae4
  3. fix: end markers only show for nearby sections (page proximity filter)

    cfd4523
  4. feat: first-page reader layout (centered homage, split volume title) + clean section range markers

    ef0ec43
  5. feat: use contents table for reader section hierarchy (L0+L1)⁠

    575f508
  6. feat: use contents table for full section hierarchy in reader (sections array instead of single title)

    c9166a1
  7. feat: markdown rendering for AI responses

    0f2c05e
  8. refactor: clean legacy, sync deps, add embedding cache, split RAGService, split search_service, add tests⁠

    cb7868a

  1. Refactor: Make app settings cloud-compatible by removing hardcoded Windows paths

    f50c177
  2. Refactor: Remove remaining hardcoded Windows paths and improve settings flexibility in RAGService

    0860ede