Files
marathon-todo/CHANGELOG.md

3.6 KiB

Changelog

0.5.0 - 2026-03-26

  • Added anonymous backend visit logging in SQLite:
    • New visit_logs table records timestamp, hashed visitor id, and country metadata.
    • New ip_country_cache table caches IP-to-country lookups to reduce external geo requests.
  • Added simple geolocation for public IPs (best-effort) with localhost/private IP fallback labeling.
  • Added localhost-only stats endpoint: GET /stats.
  • /stats response now includes:
    • countries: visit and unique visitor counts grouped by country (last 5 days window).
    • lastHour: total visits and unique visitors in the last 60 minutes.
    • last5Days: daily visits and unique visitors for the last 5 UTC calendar days.
  • Wired visit recording to GET /api/catalog so app opens contribute to stats.

0.1.0 - 2026-03-25

  • Created initial frontend-only React + TypeScript project scaffold with Vite.
  • Added typed Marathon API client for fetching/searching items from /api/items/all.
  • Implemented initial app features:
    • Item search by name.
    • Top 5 relevant search results with icons.
    • Click-to-add items into to-do list.
    • Quantity editing per item.
    • Completed state toggle.
    • Item deletion.
  • Added simple, minimal UI styling.
  • Added README.md documentation and local setup instructions.

0.2.0 - 2026-03-25

  • Fetched faction upgrades data from https://marathondb.gg/js/data/faction-upgrades.js and added it to app data sources.
  • Extended search results with faction upgrades that include salvage requirements in their levels.
  • Added upgrade click behavior: clicking an upgrade adds all mapped salvage items to the to-do list and increases quantity when an item already exists.
  • Added image URL fallback candidates for search/list icons with extension order ending in .webp.

0.3.0 - 2026-03-25

  • Added a local proxy server (proxy/server.js) using Node + SQLite (proxy/catalog.db).
  • Proxy now fetches Marathon items and faction upgrades from source URLs, builds a combined searchable catalog, and serves it at GET /api/catalog.
  • Added automatic catalog refresh every 24 hours and a manual refresh endpoint POST /api/catalog/refresh.
  • Frontend data loading now uses /api/catalog instead of hitting external source endpoints directly.
  • Added Vite dev proxy configuration for /api and /health to http://localhost:8787.
  • Added a right-side faction upgrade tag in search results, using faction color and <faction name> upgrade label text.
  • Added temporary faction-color highlight animation on affected to-do items when clicking an upgrade search result.

0.4.0 - 2026-03-25

  • Reorganized repository into explicit frontend/ and backend/ directories.
  • Moved React app files to frontend/ and proxy API to backend/server.js.
  • Moved SQLite catalog storage path to backend/data/catalog.db.
  • Added backend/references/ for source reference files (api.js, faction upgrades snapshots).
  • Updated scripts/config/docs for the new structure (dev:frontend, dev:backend, Vite root set to frontend).
  • Added dev:all script to start backend and frontend together with one command.
  • Replaced inline dev:all command with scripts/dev-all.mjs for reliable Windows process spawning.
  • Upgrade search results now use faction assets from backend/data/faction-assets/*.png via /api/faction-assets/:file.
  • Upgrade search result rows now have border color based on faction color.
  • Upgrade search results now expose per-level salvage and require clicking a level button (L1, L2, ...) to add items.
  • Faction-color border is now applied around the upgrade icon frame (not the whole search row).