Eddy G
79de691eef
Augment missing weather data from METAR when possible; use centralized error handling
...
- Add utility function to augment missing weather observation data from METAR
- Switch from json() to safeJson() for centralized error handling
- Data quality validation and age checks
- Add null/undefined value handling for wind direction calculations
2025-06-24 23:05:51 -04:00
Eddy G
ec83c17ae2
Add 'metar-taf-parser' npm dependency
...
- Adds METAR (Meteorological Aerodrome Report) parsing capabilities
- metar-taf-parser has no dependencies, so impact is small
2025-06-24 22:58:51 -04:00
Eddy G
5630067530
Fix auto-refresh to use weather parameters; add timing debug logging
...
- Fixes issue where auto-refresh could fail due to missing weather parameters
2025-06-24 22:56:08 -04:00
Eddy G
506ac1f4df
Add 'start'/'stop' and more files to lint targets
2025-06-24 22:54:37 -04:00
Eddy G
0e0ea3c378
Add debug flag management system
...
- Default debug flags settable by query param or env variable
- Allows comma-separated list of debug flags
- Runtime modification (enable/disable/set) via console
- Support "all" flag for enabling/disabling everything
2025-06-24 22:53:25 -04:00
Eddy G
bf65b8e426
Update VS Code settings
...
- "eslint.validate": [ "javascript" ] is no longer needed
(Modern versions of the ESLint VS Code extensions
automatically validate JavaScript files by default.)
- Configure editor to use tabs instead of spaces per ESLint rules
- Switch to VS Code's built-in HTML formatter
- Add EJS file associations for proper syntax highlighting
- Add recommended extensions for development workflow
2025-06-24 22:52:59 -04:00
Eddy G
ca272de8bf
Replace separate .js data files with server-side JSON injection
...
- Remove need to maintain duplicate .js data files alongside JSON sources
- Load JSON data once at server startup and inject into templates
- Dev and production modes use the same data sources
Removes:
- server/scripts/data/{travelcities,regionalcities,stations}.js
- gulp compressJsData task for bundling data files
2025-06-24 22:51:09 -04:00
Eddy G
65944dc3b5
Add comprehensive responsive scanline scaling system with anti-aliasing
...
- Attempt pixel-perfect scanline rendering for scaled displays and zoom scenarios
- Implement dynamic scanline thickness calculation to prevent sub-pixel rendering issues
- Add enhanced kiosk detection via isKioskLike for better fullscreen optimization
- Optimize scanlines for specific kiosk resolutions (1024x768, 1023x767)
- Add responsive SCSS media queries for different display densities
- Include extensive debugging utilities for scanline troubleshooting
- Improve noSleep error handling with proper promise rejection handling
- Update to modern fullscreen API method names
- Add async/await error handling for fullscreen requests
- Trigger resize after fullscreen engagement to apply optimal scaling
2025-06-24 22:38:25 -04:00
Eddy G
be41d66de9
Improve kiosk mode startup experience
...
- Pass query parameters to EJS template for kiosk mode detection
- Add kiosk class to body when enabled via query parameter
- Simplify kiosk mode CSS to hide all elements except main weather display
- Add null checks for progress object to prevent errors in kiosk mode
- Prevent navigation errors when no suitable displays are available
2025-06-24 22:30:16 -04:00
Eddy G
7a07c67e84
Replace CORS proxy with complete server-side cache
...
- Replace cors/ directory and cors.mjs utility with comprehensive
HTTP caching proxy in proxy/ directory
- Implement RFC-compliant caching with cache-control headers,
conditional requests, and in-flight deduplication
- Centralized error handling with "safe" fetch utilities
- Add unified proxy handlers for weather.gov, SPC, radar, and mesonet APIs
- Include cache management endpoint and extensive diagnostic logging
- Migrate client-side URL rewriting from cors.mjs to url-rewrite.mjs
2025-06-24 20:45:43 -04:00
Matt Walsh
ef0b60a0b8
Merge pull request #117 from rmitchellscott/fix-radar-mime-chrome
...
fix: radar mime-type in chrome in Docker
2025-06-20 21:12:40 -05:00
Mitchell Scott
dc13140cc4
fix: radar mime-type in chrome
2025-06-20 08:40:52 -06:00
Matt Walsh
5414b1f5bc
Merge pull request #116 from arazilsongweaver/bugfix-docker-nginx-config-add-mime-type
...
Docker: Add mime.types To nginx Configuration
2025-06-20 09:20:49 -05:00
Arazil
1fdc3635e6
Docker: Add mime.types To nginx Configuration
...
Explicit configuration of nginx MIME types is required for the proper operation the radar viewer.
2025-06-20 08:06:32 -05:00
Matt Walsh
e2cc86cddd
5.25.3
v5.25.3
2025-06-19 23:30:56 -05:00
Matt Walsh
92181c716d
clean up linking to radar worker
2025-06-19 23:30:44 -05:00
Matt Walsh
208ca3d87f
5.25.2
v5.25.2
2025-06-19 22:50:17 -05:00
Matt Walsh
7167bb18fb
allow one missing valueon current conditoins #94 #114
2025-06-19 22:50:09 -05:00
Matt Walsh
daa81ebf94
Merge branch 'rmitchellscott-static-docker'
2025-06-19 21:57:08 -05:00
Matt Walsh
543a8df9a2
Merge branch 'static-docker' of github.com:rmitchellscott/ws4kp into rmitchellscott-static-docker
2025-06-19 21:56:39 -05:00
Matt Walsh
b1347bcc3c
5.25.1
v5.25.1
2025-06-16 23:10:49 -05:00
Matt Walsh
c7e170b1a3
fix for black radar background on mobile
2025-06-16 23:10:37 -05:00
Matt Walsh
3d75384848
build tool cleanup
2025-06-16 16:00:16 -05:00
Matt Walsh
bf4819b241
5.25.0
v5.25.0
2025-06-16 15:48:20 -05:00
Matt Walsh
7dd6050416
Merge branch 'radar-layers'
2025-06-16 15:47:58 -05:00
Matt Walsh
bb0ad8ff32
radar code cleanup #74 #111
2025-06-16 15:47:24 -05:00
Matt Walsh
9eb192146a
layers as pre-stretched tiles #74 #111
2025-06-16 15:47:23 -05:00
Matt Walsh
1b6e6ad142
lossless radar tiles
2025-06-16 13:39:54 -05:00
Matt Walsh
f0d4a9e6f0
change radar tile sizes
2025-06-16 13:26:35 -05:00
Matt Walsh
a2cbe7f5c8
stretched tiles
2025-06-14 12:11:41 -05:00
Matt Walsh
57395b8dc7
update eslint via compatability layer with airbnb-base
2025-06-14 11:35:33 -05:00
Mitchell Scott
51bb9696b0
add x-weatherstar header for specific 404 detection
2025-06-13 22:14:14 -06:00
Matt Walsh
a11e783cde
5.24.1
v5.24.1
2025-06-13 22:29:35 -05:00
Matt Walsh
e2e22517b6
fix webpack for new radar-worker
2025-06-13 22:27:36 -05:00
Matt Walsh
d8e0399e92
5.24.0
v5.24.0
2025-06-13 22:01:59 -05:00
Matt Walsh
f456897520
use background and foreground tiles for fixed parts of the radar #74 #111
2025-06-13 22:01:06 -05:00
Matt Walsh
9303035bb9
tile position correction
2025-06-13 17:58:05 -05:00
Matt Walsh
3c40219003
tile background created, need to fix shifting of tile
2025-06-13 16:44:53 -05:00
Mitchell Scott
6ff7122844
env workaround for static build
2025-06-13 14:51:06 -06:00
Mitchell Scott
9f94ef83ba
human readable song title
2025-06-13 10:24:03 -06:00
Mitchell Scott
3236b2ecc3
radar fix for static deployment, slight spelling and grammer fixes in readme
2025-06-13 09:04:39 -06:00
Mitchell Scott
2827913d42
add client-side generation for playlist.json for static builds
2025-06-13 08:37:01 -06:00
Mitchell Scott
1ac514293b
create static nginx docker build
2025-06-12 21:35:18 -06:00
Matt Walsh
392b339727
5.23.7
v5.23.7
2025-06-12 20:53:28 -05:00
Matt Walsh
852eff8de6
add basic volume control #109
2025-06-12 20:53:23 -05:00
Matt Walsh
c74a15c40c
5.23.6
v5.23.6
2025-06-12 13:17:26 -05:00
Matt Walsh
5419425834
fix for large font linux/win differences in extended forecast
2025-06-12 13:16:55 -05:00
Matt Walsh
f3a386079b
fix for file didn't load in spc outlook
2025-06-12 13:13:19 -05:00
Matt Walsh
aa43713943
5.23.5
v5.23.5
2025-06-12 12:15:10 -05:00
Matt Walsh
1dece10679
cache-busting for radar worker
2025-06-12 12:14:56 -05:00