56 lines
3.7 KiB
Markdown
56 lines
3.7 KiB
Markdown
# 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.
|
|
- Updated `/stats` access control to allow localhost and LAN/private IP clients, while still blocking public internet IPs.
|
|
|
|
## 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).
|