Skip to content

Football match notifications & schedule (v1.0.2) - #3

Merged
quangptt0910 merged 4 commits into
developfrom
feature/football
Aug 22, 2026
Merged

quangptt0910 merged 4 commits into
developfrom
feature/football

Conversation

@quangptt0910

Copy link
Copy Markdown
Contributor

Summary

  • ⚽ Football tab: 7-day fixture schedule, favorites (keyless via bundled big-clubs), pinned fixtures
  • Fixture notifications (Reminder / Kickoff / Full-time) as corner popups only — OS notifications fully deprecated
  • Hybrid data source: football-data.org v4 (primary, free key) + ESPN Live Boost (keyless)
  • Adaptive throttling per official football-data.org policy headers (X-RequestsAvailable / X-RequestCounter-Reset), bounded retry on 429
  • Tray: next/live watched fixture tooltip; unified History with stream/fixture badges; football theme tokens in all 5 themes

Release prep included

  • CHANGELOG.md created; package.json bumped to 1.0.2; release.yml dispatch default updated to v1.0.2
  • Local tag \�1.0.2\ exists — do NOT push tags until this merges and develop → main is ready (tag push triggers release.yml)

Tests

95/95 passing (
pm test)

…PN Live Boost)

- Deep modules: footballManager (pure logic), football.js provider seam (fd.org primary + keyless ESPN Live Boost), footballMonitor (6h sweeper / 75s watcher, Reminder-Kickoff-Fulltime event machine with dedup + match history)
- Wiring: guarded football IPC ({disabled:true} when off), tray tooltip + Next line, corner-popup-only notifications for watched fixtures
- UI: 6th Football tab (date-grouped Matches, Favorites & Setup sub-tabs), football theme tokens in all 5 themes, SVG icons, unified History with type badges, popup football variant
- Keyless favoriting via bundled big-clubs list; pinned fixtures; Big Match flame heuristic
- Tests: 47 new (92 total passing); TDD at provider/monitor/manager seams
- Gate requests on official X-RequestsAvailable / X-RequestCounter-Reset response headers
- Honor reset window on HTTP 429 and retry once (bounded ~60s default backoff)
- Map EXTRA_TIME / PENALTY_SHOOTOUT -> live, AWARDED -> finished per status enum
- Injected sleepFn in tests; suite back under 1s (95/95)
@quangptt0910
quangptt0910 requested a balanced review from Copilot August 22, 2026 18:11

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@quangptt0910
quangptt0910 merged commit bf0a985 into develop Aug 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants