Releases: carlosjdelgado/GnomeFootball
Releases · carlosjdelgado/GnomeFootball
v2.0.4
Fixed
- A finished match no longer fires a stale full-time notification after the
computer has been off. If you were watching a match when you shut down or
suspended, its in-progress snapshot was kept on disk and — because the
scoreboard fetch spans the local day ±1 — the same match was seen again the
next day already finished, producing a full-time notification for a match
that ended long ago. The poller now discards stale snapshots when it loads
them (before detection), so a match seen again after a long downtime is
treated as a cold start and its catch-up events are suppressed, matching how
the extension already handles matches that were already in progress when it
started watching.
v2.0.3
Added
- Open a match's ESPN page from the calendar panel. Each match's score (or
kick-off time for upcoming matches) in the calendar panel is now clickable —
it underlines on hover and opens that match's page in your browser, the same
destination as clicking its notification. Reuses the existing
open-match-page-on-clicktoggle (on by default), so turning it off
disables the link in both places. Translated into all bundled locales.
v2.0.2
Added
- Kabyle translation (86%) - thanks to @athmanemokraoui for your contribution
v2.0.1
Fixed
- Calendar match panel now lists matches that kicked off in the early hours
of your local day. A match starting after midnight local time (e.g. a
04:00 kick-off in Europe/Madrid) falls in ESPN's previous UTC day, so the
panel's "today" fetch was filing it under yesterday and leaving it out of
today's list — even when it had already finished. The poller now fetches
the full UTC range that covers the local day, matching the logic the
calendar already used for other days, so an early-morning match shows up
alongside the day's upcoming fixtures under its competition.
v2.0.0
Added
- Calendar match panel. A new section in the GNOME calendar (the top-bar
date menu) lists your subscribed matches for the selected day, grouped by
competition. It is date-aware — browse past, current and upcoming days from
the calendar — and shows each match's crests, score or kick-off time, and
the live minute for matches in play. Controlled by the new
show-today-paneltoggle (on by default) under General → Calendar
panel in preferences. - Per-match mute. Each match notification carries a Mute match action,
and every row in the calendar panel has a bell toggle, so you can silence a
noisy fixture without unsubscribing from its league. A muted match is
suppressed entirely (including full-time) and the mute auto-expires once the
match finishes. - Per-day mute. A Mute all / Un-mute all button in the calendar panel
bulk-mutes (or restores) every match currently listed for the selected day. - Mute matches by default. New
mute-matches-by-defaulttoggle
(off by default) under General → Notifications — when on, no match
notifies until you un-mute it from the calendar panel, turning the extension
into an opt-in tracker. - All new strings translated into every bundled locale (de, es, fr, it, pt).
v1.2.0
Added
- Pre-match reminder. New
event-match-remindertoggle, off by default —
enable it in preferences to receive a heads-up notification before a
subscribed match kicks off. A companionreminder-lead-minutessetting
controls how far ahead it fires (default 30 minutes, range 5–180). The
notification shows the teams, competition and local kick-off time, and
fires once per match. Translated into all bundled locales (de, es, fr,
it, pt). - 7 new competitions across 3 new catalog groups:
- Mexico: Liga MX, Liga de Expansión MX.
- Colombia: Categoría Primera A, Categoría Primera B, Copa Colombia.
- Chile: Primera División, Copa Chile.
- Clicking a notification opens that match's page (ESPN gamecast) in the
default browser. Works for every event type; the notification stays in the
tray after the click. Controlled by the newopen-match-page-on-click
toggle (on by default) under General → Notifications in preferences,
so it can be turned off. Translated into all bundled locales (de, es, fr,
it, pt).
v1.1.2
Added
- Dark-mode logo selection. Notification crest and league logos now follow
the active GNOME color scheme: the dark logo variant is used under
prefer-darkand the default (light) variant otherwise, falling back to
the default whenever a competition ships no dark variant. Cache keys are
scoped by theme so switching appearance resolves the matching variant on
the next notification.
Changed
- Crest and league logos are now fetched at 150 × 150 px through the ESPN
combiner endpoint instead of the 500 × 500 originals, cutting the
download and on-disk cache size by ~91 %. At 150 px the image still
covers 3× HiDPI; the rewrite is isolated tolib/crest-cache.jsand
only touchesa.espncdn.com/i/…URLs — any other URL passes through
unchanged. No user-facing changes.
v1.1.1
Changed
- Replaced the JSON fixture replay harness with an interactive E2E test
runner (tests/e2e/run.sh). Fixture files placed under
~/.local/share/gnomefootball/fixtures/<slug>/are picked up
automatically by the extension (disk-first lookup insports-api.js)
without any special mode being active. No user-facing changes.
v1.1.0
Added
- Substitution notifications. New
event-substitutiontoggle, off by
default — enable it in preferences to receive a notification each time
a player swap happens (X replaces Y • minute • team • score). - VAR goal-disallowed notifications. When a previously notified goal is
overturned (the play vanishes from the upstream feed and the team's
score drops), a follow-up notification fires with the original scorer
and the corrected score. Gated by the existingevent-goaltoggle —
no extra switch. - 13 new competitions and 5 new catalog groups:
- Brazil: Brasileirão Série A, Brasileirão Série B, Copa do Brasil.
- Argentina: Liga Profesional, Copa Argentina.
- United States: Major League Soccer, US Open Cup.
- CONMEBOL: Copa Libertadores, Copa Sudamericana, Recopa
Sudamericana (club competitions only). - CONCACAF: CONCACAF Champions Cup, Leagues Cup
(conditional — only visible during its summer window). - FIFA: Club World Cup added alongside the World Cup, both
conditional.
Changed
- Preferences "Competitions" page reworked so it no longer overwhelms with
the larger catalog. Each country/federation is now a collapsible row
with anX/Y enabledsubtitle counter; the league subscription, mode
switch ("Specific teams only") and the team list are folded into a
single nested row so subscribing to a few teams takes fewer clicks. - Catalog refresh in preferences now shows a live progress indicator —
a spinner replaces the "Refresh now" button while loading, the status
row title becomes "Loading catalog…", and the subtitle counts leagues
as they arrive (Fetching leagues and teams (12 / 42)). The previous
silent refresh on prefs open made the window look frozen for the
~30 seconds the upstream calls take.
Fixed
- Preferences chevrons of nested
AdwExpanderRowrows (e.g. team
selectors) no longer get stuck pointing up and tinted with the accent
colour when their parent row is expanded. This was already present in
1.0.0 — a libadwaita CSS specificity issue that propagated the parent's
:checkedstyling down to descendant chevrons. Worked around with a
scoped CSS override that re-asserts the collapsed state on nested rows. - Preferences chevrons are now hidden entirely on rows whose expansion is
locked (e.g. an unsubscribed league), removing a misleading affordance.
v1.0.0
Initial release, published on extensions.gnome.org.
Added
- One notification per real event: kickoff, goals, yellow/red cards,
half-time, second-half start, full-time, extra time, penalty shootout. - Per-competition subscriptions with two modes: all matches in a
league, or specific teams within a league. - 28 leagues and cups across Spain, England, Italy, France, Portugal,
Germany, UEFA and FIFA. Team rosters discovered live and cached for
7 days. - Crest icons on notifications, with on-disk caching.
- Cold-start protection: past events of an in-progress match are absorbed
silently instead of producing catch-up notifications. - Configurable polling interval (1–30 minutes, default 5).
- Translations: English, Spanish, Portuguese, Italian, German, French.
- Replay/test harness driven by JSON fixtures, no network required.