Commit graph

17 commits

Author SHA1 Message Date
Erik
c03b1c19f2 feat: combat stats backend + frontend (Mag-Tools style)
Backend:
- db_async.py: new combat_stats + combat_stats_sessions tables
- main.py: combat_stats message handler with DB upsert (lifetime +
  session snapshots), in-memory live_combat_stats dict, broadcast
  to browser clients.
- REST: GET /combat-stats and GET /combat-stats/{character_name}

Frontend:
- index.html: new "Combat Stats" sidebar link
- script.js: full Combat Stats window with two panels:
  - Top: monster list (name, kills, dmg recv, dmg given) with
    clickable rows and "All" aggregate, matching CombatTrackerGUI.cs
  - Bottom: damage breakdown grid matching CombatTrackerGUIInfo.cs
    layout — element × attack type matrix (Mel/Msl + Magic columns),
    Attacks (hit%), Evades (%), Resists (%), A.Surges (%), C.Surges (%),
    normal Avg/Max, Crits (%), Crit Avg/Max, Total Damage.
  - Session / Lifetime toggle button
- style.css: combat-stats-toggle styles

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:42:11 +02:00
Erik
6e090eb4dc Fix bcrypt incompatibility: replace passlib with direct bcrypt 5.x API 2026-04-10 19:55:55 +02:00
Erik
b09169ade2 feat: add app-level authentication with login, session cookies, and admin panel
Replace Nginx basic auth with proper user accounts:
- Session cookies via itsdangerous (30-day expiry, httponly, secure)
- Password hashing with bcrypt via passlib
- Login page with AC-themed UI
- Admin page for user management (CRUD)
- AuthMiddleware exempts plugin WS and browser WS endpoints
- Issues/comments author auto-populated from session
- Sidebar shows logged-in username, admin link, and logout
- Seed users: erik (admin), alex, lundberg
- SECRET_KEY env var for cookie signing
2026-04-10 19:45:08 +02:00
erik
ab9f86d7a6 Add character_stats table for persistent character data storage
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 14:59:49 +00:00
erik
6adb88e0b1 fixed DB issue 2025-09-25 19:32:59 +00:00
erik
7ff94b59a8 fixed portals 2025-06-24 19:13:31 +00:00
erik
dffd295091 added portals, quest tracking, discord monitor etc etc 2025-06-23 19:26:44 +00:00
erik
ca12f4807b added server tracking plus server metrics 2025-06-20 07:17:01 +00:00
erik
f218350959 Major overhaul of db -> hypertable conversion, updated GUI, added inventory 2025-06-08 20:51:06 +00:00
erik
4de85b8db4 fixed CPU logging from db 2025-05-26 21:35:22 +00:00
erik
7845570819 Johan review 2025-05-25 22:12:08 +00:00
erik
d9b3b403da fixed crash and autorestart 2025-05-25 19:33:48 +00:00
erik
09404da121 new comments 2025-05-24 18:33:03 +00:00
erik
b2f649a489 New version with grafana 2025-05-23 08:11:11 +00:00
erik
f86ad9a542 fixed rares event 2025-05-22 16:29:05 +00:00
erik
c418221575 Working version with new streaming and DB 2025-05-22 15:30:45 +00:00
erik
c20d54d037 Refactor to async TimescaleDB backend & add Alembic migrations 2025-05-18 19:07:23 +00:00