Highlights
- Price alerts now honor the per-alert push notification setting. The iOS app has always sent
push_enabled, but the column did not exist, so the value was discarded and every triggered alert pushed regardless of the user's choice. - Added ProjectX order history import support.
- Aligned IBKR Flex sync with the current IBKR API documentation.
- Routed journal analysis through the Ollama v1 API and normalized local AI endpoint handling.
Data and configuration
- Added migration 238, which adds
price_alerts.push_enabled(defaulting to TRUE, so existing alerts keep their current behavior) and relaxesprice_alerts_notification_check. The original constraint predates push notifications and accepted only email or browser, which would have rejected a push-only alert. - Updated both backend and frontend packages to 2.9.1.
Upgrade note
Apply migration 238 before deploying alongside TradeTally iOS 1.1.8. That build writes push_enabled when creating a price alert, so against a database without the column, alert creation fails. The read path degrades safely; the write path does not.
Verification
node --checkpassed on the modified controller and service.- Migration follows the existing DROP/ADD CONSTRAINT pattern used by migration 235; it has not yet been run against a database.
- The backend and frontend test suites were not run for this release.
Full Changelog: v2.9.0...v2.9.1