Full deployment history for this project.
chore: merge open PRs into main
chore: merge open PRs into main
Merge PR #192: 🎨 Palette: Enhance spectator control accessibility and screen reader feedback
Palette: Spectator camera and target switch accessibility (#221) Add explicit ARIA labels to spectator mode camera controls, target cycling, and HUD Battle Royale target switch button. Introduce polite aria-live announcements for spectator target and camera mode shifts.
⚡ Bolt: replace Math.hypot with Math.sqrt in utility AI evaluation
⚡ Bolt: optimize AI decision evaluation and soak loops - Replace Math.hypot in utilityAI.ts with zero-allocation squared comparisons and standard Math.sqrt - Replace Math.hypot in aiSoak.ts with standard Math.sqrt - Eliminates dynamic scaling overhead on hot AI simulation pathways
Palette: Spectator camera and target switch accessibility Add explicit ARIA labels to spectator mode camera controls, target cycling, and HUD Battle Royale target switch button. Introduce polite aria-live announcements for spectator target and camera mode shifts.
Fix duplicate headers in vercel.json and add contract validation test
⚡ Bolt: replace remaining Math.hypot calls in physicsRuntime.ts with Math.sqrt
⚡ Bolt: optimize AI decision evaluation and prop targeting routines
⚡ Bolt: replace Math.hypot with Math.sqrt in HUD component (#216)
fix(security): sanitize X-Forwarded-Host proxy chain parsing in route compliance handler (#217) Extract primary host from X-Forwarded-Host header using .split(',')[0].trim() before domain verification to prevent host header injection and domain validation bypasses via proxy chains. Add corresponding unit test.
fix(security): sanitize X-Forwarded-Host proxy chain parsing in route compliance handler Extract primary host from X-Forwarded-Host header using .split(',')[0].trim() before domain verification to prevent host header injection and domain validation bypasses via proxy chains. Add corresponding unit test.
⚡ Bolt: replace Math.hypot with Math.sqrt in HUD component
⚡ Bolt: Replace remaining Math.hypot calls in physicsRuntime.ts with Math.sqrt or squared comparisons
🎨 Palette: Add explicit aria-label to target switch button Add aria-label="Switch target wrestler" to the target-switch button in HUD.tsx so screen readers announce clear action intent rather than raw concatenated shortcut markup.
🛡️ Sentinel: Sanitize X-Forwarded-Host header processing in route compliance handler - Split `X-Forwarded-Host` by comma before stripping port numbers to correctly parse client domains in multi-hop proxy chains (CWE-290 / CWE-346). - Add unit test coverage in `server/src/tests/routeCompliance.test.ts` for comma-separated `X-Forwarded-Host` headers. - Update Sentinel's journal (`.jules/sentinel.md`).
⚡ Bolt: optimize ControlDeck vector distance and magnitude checks Replace slow Math.hypot calls in ControlDeck.tsx with zero-allocation squared-magnitude comparisons to eliminate unnecessary square root calculations on UI render passes.
⚡ Bolt: Optimize vector math in ControlDeck UI rendering - Replaced slow Math.hypot calls with zero-allocation squared-magnitude comparisons and direct Math.sqrt calculations. - Prevents CPU overhead and dynamic scaling checks on UI control deck render passes.
🎨 Palette: Improve accessibility and live announcements for spectator camera controls - Add explicit aria-label attributes to spectator camera mode and target cycle buttons with keyboard shortcuts. - Add visually hidden aria-live="polite" region announcing dynamic target and camera mode updates to screen reader users. - Add unit tests verifying spectator accessibility features.
⚡ Bolt: optimize Math.hypot calls in ControlDeck UI rendering
fix(security): prevent X-Forwarded-Host domain bypass in route compliance Sanitize and isolate the client host from comma-separated X-Forwarded-Host header values prior to port stripping and domain whitelist validation (CWE-290/CWE-346).
chore: auto-close PR #175 via merge path
chore: auto-close PR #171 via merge path
chore: auto-close PR #167 via merge path
chore: auto-close PR #165 via merge path
chore: auto-close PR #159 via merge path
chore: auto-close PR #152 via merge path
chore: auto-close PR #150 via merge path
chore: auto-close PR #149 via merge path
chore: auto-close PR #148 via merge path
chore: auto-close PR #146 via merge path
chore: auto-close PR #145 via merge path
chore: stack PR #171
chore: stack PR #165
chore: stack PR #159
chore: stack PR #152
chore: stack PR #150
chore: stack PR #149
chore: stack PR #148
chore: stack PR #146
chore: stack PR #145
Merge pull request #143 from mbarbine/consolidate/frwf-resolve-20260811-042242 chore: consolidate all open pull requests
Merge pull request #68 from mbarbine/sentinel-rate-limit-protection-14973550982184489559 🛡️ Sentinel: Add defensive rate limiting on Express HTTP endpoints
Merge pull request #64 from mbarbine/jules-12690263242802371780-727ba685 sentinel: implement secure error handling and JSON-RPC batch limits
Merge pull request #62 from mbarbine/jules-11272526317109714085-28b9826b ⚡ Bolt: Optimize high-frequency Math.hypot checks in physicsRuntime.ts
Merge pull request #61 from mbarbine/palette/ux-accessibility-enhancements-278954902126670547 🎨 Palette: [UX improvement]
Resolve remaining platphorm pull request Merged remaining PRs: #59