The MiniMax provider defaulted to a superseded model and did not expose
the current MiniMax-M3 model. Default to MiniMax-M3 while keeping the
MINIMAX_MODEL override, and update the tests that pinned the old default.
- Fix mojibake emoji sequences (⚠️) in console.warn messages on lines 41 and 71
- Ensure UTF-8 encoding is preserved for all unicode characters
- Addresses CodeRabbit feedback on emoji rendering in logs
These changes ensure warning messages display correctly in logs when email
credentials are not configured. The emoji was previously double-encoded,
displaying as 'âš ï¸' instead of the proper '⚠️' warning symbol.
Resolves: Open-Dev-Society/OpenStock#37
- Create MARKET_SUPPORT.md with comprehensive guide to supported exchanges
- Document TradingView and Finnhub API limitations
- Add troubleshooting section for 'symbol only available on TradingView' error
- Update README.md table of contents with new Market Support section
- Addresses issue #83 by clearly explaining why NSE and other markets may have limitations
- Add PasswordRequirements component showing rules with live checkmarks
- Add PASSWORD_RULES and PASSWORD_VALIDATION constants
- Update sign-up and reset-password forms to show requirements
Expand formatSymbolForTradingView to map 40+ Finnhub exchange suffixes
to their TradingView prefix equivalents. Previously only .SS, .SZ, and
.HK were handled, causing international symbols like 2330.TW to fail
on the stock details page.
Add comprehensive test suite for utility functions including
formatSymbolForTradingView, formatMarketCapValue, formatChangePercent,
getChangeColorClass, and calculateNewsDistribution.
Closes#24
Introduce a configurable AI provider system (lib/ai-provider.ts) that
supports Gemini (default), MiniMax, and Siray.ai with automatic
fallback. The AI_PROVIDER env var selects the primary provider, and
on failure the system falls back to a secondary provider automatically.
- MiniMax M2.7 via OpenAI-compatible API (api.minimax.io/v1)
- Provider abstraction replaces hardcoded Gemini + Siray fallback
- 24 unit tests + 3 integration tests (vitest)