uwarp-space
2026-02-27
Security hardening pass, SysOp API added to CF Worker, worker entry decomposed, and warp animation implemented
476 files · 19,668+ · 74,787-
Security hardening across auth, seed, and protocol layers
3 files changed
auth.pyTiming-safe auth comparisons; invite token expirylogin.pyHardcoded admin password removed; game password stripdo_store.pyAtomic seed transaction; sector upsert safety
- Removed hardcoded admin password and added JSON protocol auth
harden
behavioral
2 files
login.pysession.py
- Required admin auth on maintenance-tick and maintenance-status endpoints
harden
internal
1 file
app.py
- Added timing-safe auth comparisons, invite token expiry, and atomic seed transactions
harden
internal
2 files
auth.pydo_store.py
- Atomic seed transaction, password strip, player delete guard, and prompt cap
harden
behavioral
2 files
do_store.py_login_creation.py
- Fixed metrics routing, invite code timing, animation default, and DELETE routing
remediate
behavioral
1 file
config.py
- Four correctness/security issues resolved from code review
remediate
internal
1 file
service.py
- Three security/correctness issues resolved from code review
remediate
internal
1 file
session.py
SysOp REST API on CF Worker Durable Object
2 files changed
fetch_router.pyREST API endpoints wired on Durable Object (/api/v1/*)worker_sysop.pyWorker sysop CLI commands for DO management
- Added SysOp REST API to CF Worker Durable Object (/api/v1/*)
interface
behavioral
2 files
fetch_router.pycommand.py
- Added teleport and reset-password action endpoints to sysop API
interface
behavioral
1 file
config.py
- Added worker sysop CLI commands for DO management
instantiate
behavioral
2 files
worker_sysop.pyworker.py
- Served sysop UI, persisted auth tokens, renamed galaxy.html
decouple
behavioral
1 file
sysop.html
Worker entry.py decomposed into focused modules
4 files changed
entry.pyEntry module decomposed (-1456 lines)adapter.pyGame state adapter extractedpersistence.pyGame state persistence extractedwrapper.pyGame state wrapper extracted
- Extracted worker entry.py into focused modules (-1456 lines)
decouple
internal
4 files
entry.pyadapter.pypersistence.pywrapper.py
- Split all files over 500 LOC into focused sub-modules
decouple
internal
4 files
_display_player.py_display_sector.py_trading_display.py_trading_rob.py
- Moved sysop_metrics.py to sysop/metrics.py
decouple
internal
1 file
metrics.py
- Split sysop_router and session_bridge into per-resource modules
decouple
internal
3 files
session_bridge.pymenu_handler.pyprompt_handler.py
- Resolved worker dev server startup failures after entry.py refactor
remediate
internal
1 file
entry.py
Warp progress-bar animation
1 file changed
_warp_animation.pyWarp progress-bar animation module
- Added warp progress-bar animation
instantiate
behavioral
1 file
_warp_animation.py
- Warp animation now fires — send_fn carried through prompt reply chain
remediate
internal
2 files
game_loop.pyprompt_handler.py
- Captured start_sector before autopilot loop in cmd_move
remediate
internal
1 file
movement.py
Gameplay and protocol fixes from code review
3 files changed
combat.pyCombat persistence and flee logic fixestrading.pyTrade direction guard and price prorationmovement.pyMovement and encounter gap fixes
- Fixed auth bypass, encounter gaps, flee logic, and combat persistence
remediate
internal
2 files
combat.pyalien_encounter.py
- Resolved double turn deduction, missing player fields, and security gaps
remediate
internal
2 files
context.pyengine.py
- Wired JSON protocol persistence, config-driven player creation, and unified autopilot
remediate
internal
2 files
session.py_login_creation.py
- Persisted respawn/transwarp-lock, fixed disconnect in menus, added config defaults
remediate
internal
2 files
login.py_login_settings.py
- Fixed dual-import fallbacks, game password strip, and trade price proration
remediate
internal
1 file
trading.py
- Removed dead seed_universe, fixed sector upsert, added password guards
deprecate
internal
1 file
_seed_universe.py
- Fixed metrics None guard, constant-time auth, 204 body, autopilot delay, seed transaction, and player patch allowlist
remediate
internal
1 file
service.py
- Corrected token cache TTL, trade direction guard, and stats capacity
remediate
internal
2 files
auth.pytrading.py
- Removed bundled universe_data.py; seed exclusively from R2
deprecate
internal
1 file
_seed_defaults.py
- Added send_raw to MockSession stubs
qualify
internal
1 file
server_fixtures.py
- Applied linter formatting across codebase
baseline
errata
1 file
__init__.py