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: add 'Search' option to selection popup so users can search highlighted text directly in the database

    b1e4620
  7. fix: resolve pythainlp and huggingface_hub Permission Denied errors by setting HOME and HF_HOME env variables, and add 'Try searching with AI' button to empty search state

    0b8155d
  8. fix: change ownership of /app to UID 1000 in Dockerfile to prevent sqlite3.OperationalError read-only database error

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

    3dc49f8
  10. fix: extract and highlight individual matched words from snippets in both AI and FTS modes

    f8a3980
  11. fix: reset totalPages to 0 on volume change to prevent stale totalPages capping target page number

    8a30eb3
  12. fix: highlight matching keywords when jumping from volume breakdown bars

    f3b0a8e
  13. fix: highlight not showing - set highlightQuery after setVolume not before

    5df7ed5
  14. feat: highlight search keywords on reader page with auto-scroll to first match

    05b80f3
  15. 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: update technology badge in NavDrawer overview tab to Turbovec + Reranker

    40fe0ea
  2. docs: align README.md with Turbovec architecture and link new documents

    894a4c0
  3. docs: add Turbovec-specific architecture and tech stack documents

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

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

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

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

    de8a899
  8. docs: update SEARCH_ARCHITECTURE_V3.md to compare Qwen2.5-0.5B-Instruct and Qwen3.5-0.8B and specify prefix matching

    d154b99
  9. fix: change search result card div to button to fix touch/click event bubbling on iOS Safari

    8adbcb3
  10. Implement SQLite FTS5 prefix matching to support partial Thai word search and resolve segmentation tokenization issues

    4c554ad
  11. 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
  12. Optimize PyTorch resource usage: set CPU threads to 1 to prevent health check timeouts and reduce max generation tokens to 45

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

    029c891
  14. ux: optimize mobile search result tap responsiveness and drawer closing animation smoothness

    0761dec
  15. fix: optimize local mode Qdrant restore by replacing server snapshots with pre-packaged SQLite databases

    cdcdbbf
  16. chore: untrack and ignore SEARCH_ARCHITECTURE_V3.md spec

    f50b0fd
  17. 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. ux(ai): move clear history button from header to settings bar to prevent accidental taps on mobile

    806f16f
  2. fix(reader): use theme-aware muted color for footnote text instead of hardcoded text-white/50

    1e5e585
  3. design(ai): align disclaimer position below buttons in Answer Card and optimize bottom spacing

    c0bdcad
  4. fix(ai): resolve disclaimer text overlapping in header by relocating to footer

    51c011a
  5. design(ai): enhance speed dial labels clarity and implement responsive positioning clamping

    789d216
  6. feat(ai): update AI Chat color scheme to modern Zen Teal & Emerald palette

    8ae844b
  7. docs: update arch doc to v2.4.0 and move maximize button to bottom-right

    1d46bea
  8. feat(ai): enable full screen focus mode for individual chat history messages

    f11cd44