Repository navigation
Releases: ZaB0oo/tracker
Releases · ZaB0oo/tracker
Release list
1.38.0
Country #1 history
- New "Resniped" chip on the country tab. Click it to cycle: off shows every lost #1, on shows the ones you took back, and struck through in red shows the ones not taken back yet.
Leaderboard checks
- Held country #1s and held global top-100 positions are now re-checked every 7 days by default instead of every 48 hours.
- A delay you already set in the settings is kept.
Accuracy by difficulty
- The star rating axis now stops at 10 stars.
1.37.0
History
- Country #1 history: a lost #1 that you took back later now shows "resniped" next to the sniper's name, with the retake date in a tooltip.
- Each loss is matched with its own retake, so a map lost and retaken twice shows two resnipes, and a loss not yet retaken shows nothing.
1.36.0
Metrics
- A countdown ("to fix") metric no longer measures progress against the whole map pool. Its denominator is now the highest count that metric ever reached on the current map selection, so a list barely started no longer reads as almost complete.
Discord
- "Country #1 lost" and "Global top lost" notifications show the map cover as a large image below the text, like the new best notifications, instead of a small thumbnail.
1.35.0
Security
- Every API route now checks the request: the Host must be localhost or an IP address (DNS rebinding is refused) and any non-GET request must come from the app itself, so a web page cannot post to the tracker. Command-line tools, the desktop shell and OBS overlay reads keep working.
- Database export is only served on the loopback address.
- The osu! login carries a random state that the callback verifies.
Sync and checks
- A new score queues both the country and the global check once, whatever the score's age. A best fetched by the backfill weeks later used to never get its global check.
- An empty leaderboard answer on a held country #1 or held global rank is retried at most five times in a row, then the check is parked with the held state kept until the regular re-check. No more endless request loop on a delisted map and no false "lost" notification.
- The startup country requeue and two dead requeue paths were removed.
Data
- A map's best is the passed score with the highest standardised total score. It used to be picked by classic score, which is not monotone under Strict Tracking. Affected maps are re-pointed once at startup.
- The mod multiplier stored on scores now rounds exactly like the live calculation and is recomputed once at startup. A new test keeps the two in step.
- A recorded country #1 or global tier change refreshes the timeline and the time machine immediately instead of waiting for the next score.
- Metric filters and breakdown buckets on star rating and max combo use the convert's own values outside osu!standard, as the dashboard already did.
Discord
- A milestone crossed during the 30-minute cooldown is posted at the next poll instead of being lost.
- Deleting a metric also removes its milestone state.
- The preview avatar pointed at a missing image.
Desktop
- On quit the app asks the server to checkpoint and close the database before exiting, so no journal files are left behind.
UI
- The manual set import message shows the real number of new difficulties (it always said 0).
- The stat strip no longer re-renders on every time machine tick.
- A stale value saved in the browser can no longer blank a view.
Housekeeping
- Unused react-table dependency removed, rosu-pp-js pinned exactly.
- Project notes and README brought back in line with the code.
1.34.0
Dashboard
- New "Avg global top" tile in the stat strip: your mean global
position across every checked map of the current scope
Sync
- The high-priority catch-up lanes now also run every half hour on
their own schedule: a fresh play whose position the leaderboard had
not computed yet shows up within the half hour instead of waiting
for the next 6-hour maintenance pass.
Fixes
- The maps table no longer garbles a row when a new play reorders the
list between two page loads (duplicate row overlap).
1.33.0
Sync internals
- The country/global check machinery was consolidated into one clear
pipeline: requeue what deserves a re-check, run one high-priority
fast lane per side over the actual data holes, then let the
background sweeps handle the rest. Four overlapping catch-up passes
became two, a redundant requeue rule was removed, and two real gaps
were closed along the way: a rank recorded as "no position" could
become permanently stale, and country checks stamped right after a
fresh score were never re-verified after a restart. - All catch-up rules now scope to ranked, approved and loved maps, and
leftover state rows from maps excluded by older versions (graveyard
diffs) are cleaned up at startup instead of being retried forever.
1.32.0
Data completeness
- New background pass computes the modded star rating of every best,
not just the rows that happened to be displayed somewhere. Existing
gaps fill themselves over a few hours after the update, at a pace
that does not disturb syncing. - Self-healing for maps the pipelines never touched: a played map whose
score import never ran is fetched directly at the next maintenance
tick, and a best that never got a single global position check jumps
ahead of the sweep queue.
1.31.0
Filters
- The country #1 filter now cycles through three states: off, maps where
you hold the country #1, and played maps where you do not.
Charts
- Zooming a metric evolution chart now rescales the y axis to the
visible window instead of keeping the 0 baseline, so a flat-looking
recent stretch becomes readable.
1.30.2
v1.30.2
- Global ranks that recently dropped to "unknown" and country #1s lost to
nobody are re-checked directly at high priority, about a minute after
startup, instead of queueing behind pending checks.
1.30.1
v1.30.1
- False "Global top lost" notifications: an osu! response that carries
the score but no computed position (their leaderboard hiccup) is no
longer read as "outside top 100". A real drop always comes back as a
number, so real losses still notify. - Same guard on country #1s: an empty leaderboard on a held #1 is never
a real snipe and no longer records or notifies one. - A periodic healing pass re-checks positions that recently dropped to
"unknown" and country losses with no sniper attached, so past false
losses repair themselves.