- Add GET /api/v1/indicators endpoint computing MACD (12/26/9) and Bollinger
Bands (20,2) via pandas-ta, aligned with chart candles
- Extract shared candle-fetching into gemini.fetch_stock_history_rows used by
both stockHistory and the indicators endpoint
- Add MACD/BB toggles to Technical Overlays toolbar
- Render Bollinger Bands on main chart and MACD as separate pane with histogram
- Enrich chart data with indicator series aligned by epoch timestamp (ts)
- Surface MACD/BB active indicators to AI analyst chat context
fix: remove unused onnx_sessions import in metadata endpoint
Frontend (LandingPage):
- Swap 'Market Movers' and 'The Stack' positions in the header navigation bar
- Add anchor redirection IDs (#market-movers and #news) for smooth scroll navigation
- Remove 'Live feed · updates every 5 min' indicator from the Financial Feed section
- Set header z-index to z-20 to ensure all Reach Us dropdown links are fully clickable
Backend Telemetry (Prometheus & FastAPI Instrumentator):
- Initialize prometheus-fastapi-instrumentator to expose HTTP and latency metrics at /metrics
- Create metrics.py configuration file defining custom collectors for LLM tokens, ReAct agent reasoning steps, execution latencies, and tool call success rates
- Instrument gemini.py to extract token counts from usage metadata, track reasoning turns, and trace tool execution
- Instrument endpoints.py to collect statistics on processed Razorpay webhook captures by package
- Instrument schema.py to monitor active stock-tick streaming clients, compute ingestion delays, and log yfinance A…
feat: add live Market Movers section (Top Gainers, Top Losers, Most Active)
- endpoints.py: add stocks/trending endpoint fetching live quotes and sorting by highest absolute change percent
- TrendingHub.tsx: fetch stocks/trending on mount and refresh active stock cards every 60 seconds
feat: supply live stock price and calculated indicator coordinates to Chatbot context
- StockChart.tsx: compute live SMA 20, EMA 20, and RSI 14 values and pass to ChartChatbot
- ChartChatbot.tsx: add liveData prop and include values in /analyst/chat POST request body
- endpoints.py: extract live indicators and append to Gemini system instructions context
feat: add strict entry/exit plan formatting guidelines to AI Analyst system prompt
- Database: Add subscription_tier, messages_remaining, monthly_messages_used, and last_billing_date to User model
- Migration: Generate and apply Alembic migration with server_defaults for existing rows
- Backend: Enforce bearer token authorization and message limits on /analyst/chat endpoint
- Backend: Map Razorpay webhook payment capture to user subscription tiers and credit allocations
- Frontend: Implement live ticking 3-day countdown timer for Pro pack discount (₹10k vs ₹15k)
- Frontend: Show real-time remaining quota badge in Chatbot header and lock chat input when limit is reached
feat: add drag-to-zoom support for maximized stock chart
- StockChart.tsx: Import ReferenceArea from recharts and define index-based zoom states.
- StockChart.tsx: Slice processedData and rsiData dynamically based on zoomIndex selection bounds.
- StockChart.tsx: Bind onMouseDown, onMouseMove, and onMouseUp gesture listeners to ComposedChart with type guards.
- StockChart.tsx: Add floating glassmorphic Reset Zoom button overlay.
feat: add off-topic prompt restrictions to Quant AI Advisor
- endpoints.py: Add Guideline 6 to chat_with_analyst system instructions to strictly restrict responses to trading/crypto/markets, politely rejecting off-topic queries.
feat: add comprehensive layman strategies and ML probability coordination
- endpoints.py: Calculate technical/ML bullish probability score based on indicator status.
- endpoints.py: Update system guidelines to command detailed, beginner-friendly advice, appending a synchronized Probability Prediction Score at the end of each response.
feat: implement maximized chart interactive AI chatbot sidebar
- endpoints.py: Add /analyst/chat POST route to feed user workspace details (markers, indicators) to Gemini models.
- ChartChatbot.tsx: Create new glassmorphic sidebar panel with input locks and free trial validation rules.
- StockChart.tsx: Integrate ChartChatbot and split layout horizontally when chart is maximized.
- Dashboard.tsx: Pass down user state to StockChart.
feat: integrate live Yahoo Finance news feed proxy in TrendingHub
- endpoints.py: Add /stocks/news endpoint to query real-time market search feeds and compute relative post ages.
- TrendingHub.tsx: Implement useEffect fetch listener to load live articles, support clicking news cards to open target links, and use mock stories as fallbacks.
feat: add global indices endpoint with 60-second caching