All notable changes to this project are documented in this file.
- feat: Sync user preferences on login and add
Preferencesbutton in header ([client/src/pages/HomePage.jsx]) - fix: Send Authorization header from
NewsCardwhen calling AI summarizer ([client/src/components/NewsCard.jsx]) - feat: AI fallback in server
aiController.js— try Gemini, then OpenAI, then a local extractive summarizer fallback ([server/controllers/aiController.js]) - perf: Compact
NewsCardlayout and move Summarize button to image overlay; tightened paddings and reduced image height ([client/src/components/NewsCard.jsx], [client/src/components/NewsCard.css]) - deps: added
openaito server dependencies to enable OpenAI fallback (optional)
- To use external AI providers, set
GEMINI_API_KEYorOPENAI_API_KEYinserver/.env. - Server caching with Upstash Redis is optional and controlled via
ENABLE_REDISand Upstash env vars.