Some checks failed
Redeploy Docker Compose / redeploy (push) Failing after 2s
4.1 KiB
4.1 KiB
Changelog
0.5.1 - 2026-03-26
- Added Gitea Actions workflow for automatic Docker Compose redeploy on
mainupdates:- New workflow file:
.gitea/workflows/redeploy-compose.yml. - Uses SSH to connect to deployment host and run
git pull+docker compose up -d --build --remove-orphans. - Supports optional
DEPLOY_PORTsecret (defaults to22).
- New workflow file:
- Updated
README.mdwith Gitea deployment workflow setup and required secrets.
0.5.0 - 2026-03-26
- Added anonymous backend visit logging in SQLite:
- New
visit_logstable records timestamp, hashed visitor id, and country metadata. - New
ip_country_cachetable caches IP-to-country lookups to reduce external geo requests.
- New
- Added simple geolocation for public IPs (best-effort) with localhost/private IP fallback labeling.
- Added localhost-only stats endpoint:
GET /stats. /statsresponse 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/catalogso app opens contribute to stats. - Updated
/statsaccess 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.mddocumentation and local setup instructions.
0.2.0 - 2026-03-25
- Fetched faction upgrades data from
https://marathondb.gg/js/data/faction-upgrades.jsand 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/cataloginstead of hitting external source endpoints directly. - Added Vite dev proxy configuration for
/apiand/healthtohttp://localhost:8787. - Added a right-side faction upgrade tag in search results, using faction color and
<faction name> upgradelabel 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/andbackend/directories. - Moved React app files to
frontend/and proxy API tobackend/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 tofrontend). - Added
dev:allscript to start backend and frontend together with one command. - Replaced inline
dev:allcommand withscripts/dev-all.mjsfor reliable Windows process spawning. - Upgrade search results now use faction assets from
backend/data/faction-assets/*.pngvia/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).