Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 00:05
· 55 commits to main since this release
v2.0.0

TickTune v2.0.0 — every post-1.1 direction

The whole post-1.1 backlog in one release. Three spikes decided three
features before any of their code was written: the crossfade (S4b) and
the finish notification (S5) shipped; loudness normalization (S6) did not.

New

  • Crossfade: local tracks fade into each other over 0–5 s (2 s by
    default, 0 for a straight cut), and a single track can loop by fading
    into itself. Skips and pauses now ramp instead of cutting, so they no
    longer click.
  • A finish notification (opt in, Settings → Countdown): the countdown's
    own worker shows a system notification at zero while the tab is in the
    background. Generic text, never a track name; nothing is pushed or sent
    anywhere.
  • YouTube link lengths, from the YouTube Data API through this site's
    server, which sends Google only the video IDs — so "Match queue length"
    now works for links.
  • Installable, and it starts offline: /app/ installs as an app and, once
    visited, opens without a network. Local files play as ever; YouTube
    needs a connection.
  • Settings as a file: export them, import them on another machine.
  • A light "LCD" theme for the app, and a 14-segment clock face beside the
    7-segment one.
  • Japanese: the app, the landing page and the 404.
  • Legal 2.0: the terms and the privacy policy cover all of the above, and
    the EULA names the law of Viet Nam. Everyone is asked to agree once more.

Fixes

  • YouTube: the player is no longer asked for its time, video or volume
    before it is ready (the console errors after Start), and a track opened
    before then is the one that plays.
  • Files whose headers carry no length — a VBR MP3 without a Xing header,
    raw AAC — get their exact length at import, so the 10:02 limit and the
    crossfade judge them correctly.
  • The visualizer's canvas is capped at 1440p's pixel count, so a large
    screen drawing without a GPU keeps its frame rate.
  • The legal pages no longer shift as their fonts arrive.

Under the hood

  • Lighthouse CI, visual regression in a pinned Playwright image and a
    render-cost probe run on every pull request.
  • The spike harnesses are no longer built into production.
  • img-src no longer allows i.ytimg.com — measured unused.
  • The October dependency updates; the vulnerable versions inside the
    dev-only @lhci/cli are overridden.

Full notes: docs/16-ROADMAP.md, "v2.0 — every post-1.1 direction".