Commit Graph

4 Commits

Author SHA1 Message Date
Casey Judice 3eff9e5b02 Guard full-app-only DOM bindings so the static dashboard build can't throw
The static docs/ dashboard ships a trimmed index.html (monthly + hourly
only), but docs/app.js is a copy of the full local app and unconditionally
bound elements that exist only in the full UI — #auto, #settingsBtn,
#closeSettings, #saveSettings in wire(), and #positions/#ibkrSetup in
applyChrome(). The first missing one ($("auto")) threw, aborting wire()
before the initial load() ran, leaving the page stuck at "connecting…".
Guard each optional binding so a trimmed HTML degrades gracefully. Bump
?v= so phones pull the fixed assets.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 10:11:21 -04:00
Casey Judice c9c9b867c9 Harden dashboard init so mobile failures are visible, not a stuck "connecting…"
The static dashboard left #meta frozen at its initial "connecting…" text
whenever init threw before load()'s try block (e.g. applyChrome, or any
missing element in renderHead/wire) — invisible on mobile where there's no
console. Add window error/unhandledrejection handlers + a try/catch around
the init chain that surface the message in #meta. Also fix the malformed
double-? fetch URL (endpoint() already cache-busts) and bump ?v= on the
app.js/style.css tags so phones pull the fresh assets instead of stale cache.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 08:56:12 -04:00
Casey Judice 757d0cb55d Distinguish NO POLY / NO KALSHI from generic NO DATA
calc.evaluate now reports NO POLY when the Kalshi side has data but the
Polymarket slug doesn't resolve (the common case: Polymarket renamed/
dropped a market while Kalshi still trades it). NO KALSHI is the reverse,
NO DATA only when both are missing. User caught this looking at BTC <70k
May: 20 of 118 pairs were silently NO-DATA when the real cause was Poly-
side absence — now visible as a dedicated NO POLY chip + filter button.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 17:06:43 -04:00
Casey Judice 5e6889ec7b Static dashboard via GitHub Pages (docs/) + GHA snapshot writes
Adds a phone-friendly public dashboard served from docs/ via GitHub Pages:
- docs/index.html, app.js, style.css: monthly + hourly tabs only, no
  positions/settings (positions stay on the local Mac UI). Reads
  ./data/scan.json and ./data/hourly.json instead of /api endpoints.
- gha_alerts.py also writes both snapshots to docs/data/ each cron tick.
- Workflow now commits docs/data/ alongside alerts_state.json.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 22:13:47 -04:00