Implement:
Run indexing in background (don’t block UI)
Use 2 SQLite connections (indexing vs search)
Key tradeoff to consider:
One big transaction
→ fastest (SQLite optimized)
→ results visible only after finish
Multiple/batched transactions (e.g. 100 files)
→ partial results visible during indexing
→ slightly slower
Also:
Remove per-file logs
Skip very large files
Optionally skip probeContentType
Implement:
Run indexing in background (don’t block UI)
Use 2 SQLite connections (indexing vs search)
Key tradeoff to consider:
One big transaction
→ fastest (SQLite optimized)
→ results visible only after finish
Multiple/batched transactions (e.g. 100 files)
→ partial results visible during indexing
→ slightly slower
Also:
Remove per-file logs
Skip very large files
Optionally skip probeContentType