dev #56

Merged
richard merged 4 commits from dev into main 2026-08-23 13:09:55 +02:00
Owner

No extension changes — main stays on v1.20.0; nothing to upload to the store.
Deploying this means: website redeploy + one-time redeploy of the
cleanwatch-sync-api container (new endpoint).

New

  • "Current version: vX.Y.Z" under the Get CleanWatch heading, fed by
    website/version.json which the release build now writes in lockstep with the
    zip (served under nginx's no-cache rule, so always fresh)
  • Store review pill: new GET /api/v1/store-version in the sync API fetches the
    Chrome Web Store listing server-side, extracts the version, and caches it for
    30 minutes. While the store lags the shipped version, the green "Available
    now" pill on the store card swaps for an amber "vX in review — store still on
    vY" pill; when versions match, nothing changes. Localized in EN/NL/DE/FR.
    The probe serves the last known value on failure and refuses to guess if the
    listing's version match ever becomes ambiguous.

Docs

  • CLAUDE.md: release routine recorded (changelogs → merge → tag + Forgejo
    release with asset → store upload)
No extension changes — main stays on v1.20.0; nothing to upload to the store. Deploying this means: website redeploy + one-time redeploy of the cleanwatch-sync-api container (new endpoint). New - "Current version: vX.Y.Z" under the Get CleanWatch heading, fed by website/version.json which the release build now writes in lockstep with the zip (served under nginx's no-cache rule, so always fresh) - Store review pill: new GET /api/v1/store-version in the sync API fetches the Chrome Web Store listing server-side, extracts the version, and caches it for 30 minutes. While the store lags the shipped version, the green "Available now" pill on the store card swaps for an amber "vX in review — store still on vY" pill; when versions match, nothing changes. Localized in EN/NL/DE/FR. The probe serves the last known value on failure and refuses to guess if the listing's version match ever becomes ambiguous. Docs - CLAUDE.md: release routine recorded (changelogs → merge → tag + Forgejo release with asset → store upload)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A "Current version: vX.Y.Z" line under "Get CleanWatch", fed by
website/version.json which the release build now writes in lockstep
with the zip. Served under nginx's no-cache rule, so it is always
fresh. Label translated in all four site languages; the badge stays
hidden if the fetch fails.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New GET /api/v1/store-version in the sync API fetches the Chrome Web
Store listing server-side (no CORS in the browser), extracts the single
embedded version string, and caches it for 30 minutes; on probe failure
the last known value is served and the retry comes after 5 minutes. If
the page's version match ever becomes ambiguous, the endpoint refuses
to guess.

The website compares it against version.json: while the store lags the
shipped version, the green "Available now" pill on the store card is
swapped for an amber "vX in review — store still on vY" pill (localized
in all four site languages); otherwise nothing changes. Verified the
extraction against the live listing (exactly one candidate: 1.20.0).

Requires a one-time redeploy of the cleanwatch-sync-api container.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
365DevNet/CleanWatch!56
No description provided.