Add Paste Text feature and restore disabled YouTube UI
FocusFlow Assistant
48c1ea6
Gracefully disable YouTube in Cloud Mode
FocusFlow Assistant
2847ff4
feat: use Invidious API for YouTube transcripts
FocusFlow Assistant
068aa2f
Bypass YouTube CORS/blocking by fetching transcripts through
the public Invidious API server-side.
Changes:
- Added get_youtube_transcript using Invidious to rag_engine.py
- Added /ingest_youtube endpoint to backend/main.py
- Refactored app.py URL parsing to hit backend directly
- Removed browser-side JS component and youtube_transcript.html
feat: browser-side YouTube transcript fetching
FocusFlow Assistant
dcf165e
YouTube transcripts are now fetched from the user's browser via JS,
bypassing HuggingFace Spaces outbound network restrictions.
Changes:
- New: frontend/youtube_transcript.html - browser-side JS component
- New: POST /ingest_text endpoint for raw text ingestion
- New: ingest_text() in rag_engine.py (reuses chunking pipeline)
- Updated: app.py URL section uses browser-side fetch for YouTube
- Removed: _fetch_youtube_transcript() server-side function
- Removed: youtube-transcript-api, google-api-python-client deps
- Simplified: ingest_url() now handles only web pages
fix: pre-download embedding model during Docker build to avoid DNS failures on HF Spaces
FocusFlow Assistant
3c23e28
- Pre-cache sentence-transformers/all-MiniLM-L6-v2 model in Docker image
- Set TRANSFORMERS_OFFLINE=1 and HF_HUB_OFFLINE=1 to prevent runtime downloads
- Add DNS warmup delay in startup script
- Increase health check timeout to 90 seconds
- Add .dockerignore to exclude venv/ and local data dirs
- Update embeddings config with explicit CPU device and normalization
Replace YouTube fetch with timedtext API - no API keys needed, works from any server
FocusFlow Assistant
cecb03b
Add YouTube Data API v3 for cloud-reliable transcript fetching with local fallback
FocusFlow Assistant
f723af8
Add auto-generated caption support for YouTube: multi-priority fetch, shorts URLs, transcript cleanup
FocusFlow Assistant
80a8392
Fix YouTube transcript API: migrate to v1.x instance-based API (fetch + t.text)
FocusFlow Assistant
ec090b6
Add OCR fallback for scanned/image PDFs using pytesseract + pdf2image
FocusFlow Assistant
2c32e38
Fix PDF upload empty embeddings error: add validation for scanned/image-only PDFs
FocusFlow Assistant
4adfbc0
fix: Use langchain_core.documents instead of deprecated langchain.schema
FocusFlow Assistant
6649259
fix: Add robust startup with health checks and error logging
FocusFlow Assistant
76a5867
- Health check loop waits up to 60s for backend
- Logs backend errors if startup fails
- Uses exec for proper signal handling
- Creates logs/ directory for debugging
- Added test_backend.sh for local debugging
fix: Define logger before use in import error handler
FocusFlow Assistant
325edbc
fix: Move youtube-transcript-api imports to top level
FocusFlow Assistant
09826dd
- Fixed ImportError by moving imports to module level
- Added HAS_YOUTUBE_API flag for graceful degradation
- Removed duplicate imports from function
- Better error message if library not installed
feat: Enable YouTube URLs in cloud with youtube-transcript-api
FocusFlow Assistant
d270665
- Added youtube-transcript-api for reliable transcript fetching
- Implemented retry logic with exponential backoff
- Works in both local and cloud (HF Spaces)
- Better error messages for no captions, invalid URLs
- Increased timeout to 120s for YouTube processing
- Removed cloud mode restriction - feature now universal
fix: Add missing os import for environment variable check
- Detect cloud mode via USE_SUPABASE env var
- Show clear warning message about limitation
- Suggest alternatives: upload PDFs, run locally
- Expander label shows disabled status
- Local mode unchanged - full URL support remains
fix: Add logger and fix imports for URL ingestion
FocusFlow Assistant
5b913e8
fix: Add missing logger import
FocusFlow Assistant
78d63c0
fix: Improve URL ingestion error handling and connectivity check
FocusFlow Assistant
19f586f
docs: Add comprehensive architecture guide for beginners
FocusFlow Assistant
37863ba
- Complete system breakdown
- Every technology explained with 'why we chose this'
- Data flow diagrams for all major workflows
- Code examples and traces
- Beginner-friendly language
- Comparison with alternatives
docs: Add comprehensive technical summary in JSON format