Feature/adsb live feed and mobile fixes#91
Open
razorsec wants to merge 3 commits intocalesthio:masterfrom
Open
Feature/adsb live feed and mobile fixes#91razorsec wants to merge 3 commits intocalesthio:masterfrom
razorsec wants to merge 3 commits intocalesthio:masterfrom
Conversation
added 3 commits
April 11, 2026 03:14
Split the monolithic jarvis.html (1782 lines) into three focused files: - dashboard/public/app.css — all styles - dashboard/public/app.js — all application logic - dashboard/public/jarvis.html — lean HTML shell (~75 lines) Benefits: faster iteration on styles/logic, easier diffs, browser caches CSS/JS independently of the data-injected HTML shell.
- Guard against missing loading.html with existsSync before sendFile - Catch sendFile errors and return 503 text if headers not yet sent - Prevents unhandled crashes on first-run or clean installs where loading.html may not be present Also fixes in app.js and app.css (already staged in prior commit): - Remove D3 zoom .tapLength() call — method does not exist, crashed the flat map on every mobile load - Remove touch-action:none on SVG which blocked mobile page scroll - Add touch-action:manipulation to buttons/links — removes 300ms iOS tap delay - Guard ACLED data with availability flag — show UNAVAILABLE state instead of silent zeros when API is down - Handle sweep delta no-baseline and degraded states explicitly - Fix direction:'baseline' missing from dirEmoji/dirClass maps - Sanitize space signal text with cleanUiText() — strips «» chars that were rendering as raw garbage in the UI
Adds a live aircraft toggle to the map powered by the ADS-B Exchange public API, proxied server-side to avoid CORS restrictions. Features: - Toggle button on map (bottom-right controls) — activates/deactivates - Server-side /api/adsb proxy endpoint with 30s cache (adsb.lol) - Renders on both 3D globe and flat map modes - Military detection via ICAO hex prefix table + callsign patterns (dbFlags & 1 from adsb.lol also used where available) - Altitude-corrected globe points (adsb.lol reports feet, not meters) - Civil aircraft capped at 4000 to prevent map saturation; all military always shown regardless of total count - Flat map: 1.8px civilian dots, 3.5px military dots, 800 civil cap - ADS-B panel card in left rail shows live counts (airborne / mil / civ) and replaces the formerly empty Conflict Events row - Auto-refreshes every 30 seconds while active - Hides flight corridor arcs while ADS-B is active to reduce clutter - Restores flight corridors on deactivation API: GET /api/adsb → proxies https://api.adsb.lol/v2/lat/0/lon/0/dist/99999 No API key required. Global coverage. 30s server-side cache.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Describe what changed.
Why
Explain the problem being solved.
Scope
Validation
List the commands, checks, or manual validation you performed.
Screenshots
If the dashboard or any visible output changed, add screenshots.
Config and Docs
.env.exampleupdated if neededREADME.mdupdated if behavior changedSource Additions
If this PR adds a new source, explain:
apis/briefing.mjsanddashboard/inject.mjsChecklist