Skip to content

v2.0.3

Choose a tag to compare

@github-actions github-actions released this 26 Oct 23:42
· 31 commits to main since this release
v2.0.3

TickTune v2.0.3 — the API rate limit

A maintenance release for the server side. Nothing you do in the app
changes, unless you send YouTube lookups faster than a person can.

Why

  • The site's documentation had promised a limit of 60 requests a
    minute per address on its YouTube lookups since the first YouTube
    release. Measured on 2026-10-27, it was never switched on: 75 rapid
    calls to the live site all went through. The link-length lookup had
    its own limit; the title lookup had none.

What changed for you

  • Nothing in normal use. Pasting 50 links makes 51 lookups, one at a
    time, and fits inside the limit. Past it, a link is kept and marked
    "Could not check — will retry when you start", as before.

Under the hood

  • Every /api/ request now spends from a per-address budget of 60 a
    minute, kept in Cloudflare's memory for that minute and never
    logged. It is declared in wrangler.jsonc as a Workers rate limit, so
    it holds on every host the Worker serves.
  • The pages themselves are not limited, on purpose: Cloudflare serves
    them before the Worker runs, free and unmetered, and putting the
    Worker in front would log every page view.
  • The Privacy Policy's rate-limit line now names the title lookup as
    well. It is the same count, kept the same way, so you are not asked
    to accept the documents again.

Full notes: docs/16-ROADMAP.md, "v2.0.3 — the rate limit that was never there".


Measured after release (2026-10-27). On the live site the Worker's per-address budget is best-effort only: Cloudflare's machines in one location do not share its counts quickly enough, and in our tests it refused nothing — 300 calls in 73 seconds from one address all went through. What does enforce is a Cloudflare zone rule added the same day: 60 requests per 10 seconds per address on /api/, blocked for 10 seconds. The numbers are in docs/10-CLOUDFLARE-SETUP.md §6.