Skip to content

Releases: ZaB0oo/tracker

1.38.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 07:14

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

Choose a tag to compare

@github-actions github-actions released this 19 Sep 10:53

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

Choose a tag to compare

@github-actions github-actions released this 16 Sep 12:05

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

Choose a tag to compare

@github-actions github-actions released this 14 Sep 13:23

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

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:37

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

Choose a tag to compare

@github-actions github-actions released this 11 Sep 19:42

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

Choose a tag to compare

@github-actions github-actions released this 11 Sep 18:47

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

Choose a tag to compare

@github-actions github-actions released this 11 Sep 12:12

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

Choose a tag to compare

@github-actions github-actions released this 05 Sep 14:58

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

Choose a tag to compare

@github-actions github-actions released this 05 Sep 08:46

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.