Repository navigation
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".