17 Commits

Author SHA1 Message Date
d8929d3776 Refactor TFL severity filtering to use Sets
Replace magic numbers with documented static Sets for clarity.
ignoredSeverities and majorSeverities make the filtering logic
self-documenting.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:54:21 +00:00
2860ab0786 Filter out planned and part closures from TFL alerts
Only show active disruptions (delays, suspensions), not planned
closures which aren't relevant for real-time commute decisions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:52:55 +00:00
e15be9ddc4 Add TFL train disruption alerts integration
Query TFL API for Tube and Elizabeth Line status, displaying
disruptions as feed cards. Major disruptions (severity 1-6) appear
as RIGHT_NOW spotlight cards, minor delays (7-9) as FYI items.

- Add TFLDataSource with 2-min cache and severity classification
- Add .transitAlert FeedItemType with 0.85 base weight
- Wire up async fetch in ContextOrchestrator pipeline
- Handle timeout and failure cases gracefully

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:46:23 +00:00
34838f5ae1 Fix Yahoo Finance API: switch from v7 quote to v8 chart endpoint
The v7 /quote endpoint returns 401 Unauthorized as it now requires
cookie-based authentication. The v8 /chart endpoint works without auth.

- Switch to v8/finance/chart/{symbol} endpoint
- Fetch each symbol individually (chart API limitation)
- Update response parsing for chart JSON structure
- Calculate price change from regularMarketPrice - chartPreviousClose

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:16:15 +00:00
b00bf670e6 Add Yahoo Finance stock data integration
- Add StockDataSource to fetch quotes from Yahoo Finance API
- Add StockSettingsStore for persisting user's stock symbols
- Add StockSettingsView with UI to manage symbols (max 5)
- Add STOCK feed item type and ranker weight (0.3)
- Integrate stock fetch into ContextOrchestrator pipeline
- Stock cards appear in FYI bucket and sync to Glass via BLE

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:16:15 +00:00
3b73a092d1 Merge origin/main into feat-spotify
Resolve conflict in ContentView.swift by keeping both TodosView and SettingsView tabs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:05:54 +00:00
89e985fd39 Add UI to configure Spotify Client ID in Settings
- Add expandable Configuration section in Spotify settings
- Store Client ID in UserDefaults
- Show Connect button only when Client ID is configured
- Add helper text pointing to Spotify Developer Dashboard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 20:52:31 +00:00
29a26da043 Merge pull request 'Add todo CRUD tab in companion app' (#2) from kenneth/ari-14-create-todo-tracker-view-in-companion-app into main
Reviewed-on: kennethnym/aris#2
2026-01-10 20:39:30 +00:00
11ee893367 Add Spotify integration with toggleable music source
- Add OAuth 2.0 PKCE authentication for Spotify Web API
- Create SpotifyNowPlayingMonitor for polling current track
- Add Settings tab with music source toggle (Apple Music/Spotify)
- Store tokens securely in Keychain
- Display current track on Glass as NOW_PLAYING card

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 20:27:37 +00:00
5af6d38e0f Add todo CRUD tab in companion app 2026-01-10 20:20:32 +00:00
c28e3ecc4b Move POI alerts to FYI 2026-01-10 19:35:55 +00:00
c13a4f3247 add poi type to feed item shape 2026-01-10 18:50:15 +00:00
4010ba8870 add wifi request ble characteristic 2026-01-10 14:23:39 +00:00
cb6f36924f Improve BLE reconnect and Aris advertising 2026-01-10 01:32:42 +00:00
324b35a464 Refactor data sources and feed model 2026-01-10 00:25:36 +00:00
214af08625 fix(ble): restore peripheral state and keep advertising 2026-01-08 22:27:11 +00:00
d89aedd5af initial commit 2026-01-08 19:16:32 +00:00