chore: plan frontend UX improvements — expiry countdown, refresh, CLI tabs, recently viewed, file size
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
17315ad4e9
commit
e3f34016c6
2 changed files with 21 additions and 1 deletions
10
CLAUDE.md
10
CLAUDE.md
|
|
@ -11,7 +11,7 @@ controlled by `CF_WORKER_URL` + `CF_WORKER_SECRET` env vars on the backend.
|
|||
|
||||
- Small config/one-liner fixes → commit directly to main
|
||||
- Any meaningful feature or multi-file change → feature branch → PR → merge
|
||||
- Always reference the GitHub issue number in the commit message (Closes #X)
|
||||
- GitHub issues are for bugs and community contributions only — planned features tracked here and in PROGRESS.md
|
||||
- Commit messages follow conventional commits: `feat:`, `fix:`, `docs:`, `chore:`
|
||||
|
||||
## Backlog (implement when ready, in priority order)
|
||||
|
|
@ -28,6 +28,14 @@ negative cache (60s), dynamic TTL, stale-on-failure, jitter. Verified in product
|
|||
- [x] **README architecture section** — caching layer, `/metrics`, env vars documented.
|
||||
- [ ] **Per-IP / per-product rate limiter** — deferred; revisit after 1 month of production traffic data.
|
||||
|
||||
### Frontend UX improvements (next feature branch)
|
||||
|
||||
- [ ] **Expiry countdown** — parse `se` param from signed URL, show live countdown. Under 6h remaining → show "Refresh links" button.
|
||||
- [ ] **Refresh links** — `?force=true` on `/proxy` bypasses cache, fetches fresh from Microsoft, resets countdown to ~24h.
|
||||
- [ ] **CLI command tabs** — aria2 / wget / curl tabs instead of showing all at once. Persist last selected tab in localStorage. Default: wget.
|
||||
- [ ] **Recently viewed** — localStorage only. Store product_id, name, version, se param. Show on homepage. Active links show countdown, expired links show "Expired" with re-fetch CTA.
|
||||
- [ ] **File size** — verify if Microsoft CDN response includes file size. If yes, show alongside each download link (e.g. `x64 · 5.4 GB`). Research first before implementing.
|
||||
|
||||
### Known bugs / open issues
|
||||
|
||||
- [ ] **`_redirects` Cloudflare Pages** — SPA fallback rule (`/* /index.html 200`) is flagged
|
||||
|
|
|
|||
12
PROGRESS.md
12
PROGRESS.md
|
|
@ -67,6 +67,18 @@ CF Worker ensures Hetzner IP is never exposed to Microsoft — rate-limit block
|
|||
|
||||
---
|
||||
|
||||
## Planned — Frontend UX improvements
|
||||
|
||||
| Feature | Notes |
|
||||
|---|---|
|
||||
| Expiry countdown | Parse `se` param from signed URL, live countdown. Under 6h → show Refresh button |
|
||||
| Refresh links | `?force=true` on `/proxy` bypasses cache, returns fresh URL, resets countdown |
|
||||
| CLI command tabs | aria2 / wget / curl tabs, persist selection in localStorage, default wget |
|
||||
| Recently viewed | localStorage only — active links show countdown, expired show re-fetch CTA |
|
||||
| File size | Research first — verify if Microsoft CDN response includes it |
|
||||
|
||||
---
|
||||
|
||||
## Deferred
|
||||
|
||||
| Item | Notes |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue