- Update navbar brand from "投資組合大擂台" to "智能投組大擂台"
- Update offcanvas title from "投資組合大擂台" to "智能投組大擂台"
- Update footer copyright year from 2023 to 2025
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add validation to check if strategy exists before processing
- Return user-friendly error message and redirect to result page
- Prevents TypeError: 'NoneType' object is not iterable
- Ensures Railway deployment has correct result_view.html template
- Replace role_map[key] with role_map.get(key, key) to prevent KeyError
- Affects result_view and custom routes
- Ensures backward compatibility with old strategy data
- Fixes issue where strategies with unmapped roles cause page crashes
- Split data_tw and data_us loading into separate try-catch blocks
- Add detailed logging for successful loads and errors
- Ensure variables are always initialized to empty dict on failure
- Fix potential None value issue in strategy_tw route
- Modified data_init_tw_v0.py to create database schema if tables don't exist
- Updated both data_init scripts to use centralized config.py for DATABASE_URL support
- Added init_railway_db.py script for one-time Railway database initialization from local machine
This fixes the issue where Railway only runs Flask container, not the data_init container from docker-compose.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed accordion functionality as content became too sparse
- Restored detailed prompt structure from llm_service.py
- Enhanced fallback analysis with comprehensive metrics (VaR, R2, etc)
- Kept popover options for different analysis modes
- Updated max_tokens to 3000 for more detailed responses
- Updated yfinance from 0.2.22 to 0.2.26
- Updated requests from 2.28.2 to 2.31
- Updated numpy constraint to >=1.23.5
- Finalized data_clear&update scripts with proper error handling
- All data initialization scripts now working correctly
- Updated data_clear&update_us_v0.py and data_clear&update_tw_v0.py
- Added proper error handling for empty DataFrames
- Added threads=False parameter to yf.download calls
- Added price column detection (Close vs Adj Close)
- Changed host from 'db' to 'localhost' for local execution
- Fixed float conversion for pandas Series elements
- Successfully updated US stocks (527 tickers) and TW stocks (1865 tickers) to 2025-09-24