67 Commits

Author SHA1 Message Date
Matt Walsh
d5b7c6630a re-instate custom text scroll close #186 2026-03-01 10:03:52 -06:00
Matt Walsh
8c83736aba remove rss feeds close #184 2026-02-16 21:30:13 -06:00
Matt Walsh
767bb8f11d gulp now publishes sourcemaps 2025-11-30 04:16:02 +00:00
Matt Walsh
8255efd3f7 add version number to publish task 2025-11-10 04:52:13 +00:00
Matt Walsh
b4de17ccd0 update dependencies 2025-10-02 21:50:28 -05:00
Matt Walsh
093b6ac239 unique version numbers for staging uploads 2025-09-04 21:57:12 -05:00
Matt Walsh
75eb81887f Clean up build around metar parser and locale 2025-08-04 12:03:18 -05:00
Eddy G
10baefc901 Merge remote-tracking branch 'upstream/main' into modernization-and-refactor 2025-07-02 09:08:07 -04:00
Matt Walsh
1120247c99 include custom rss feed in build #57 2025-06-30 23:32:30 -05:00
Eddy G
90c1ab92b4 Merge upstream/main: integrate radar worker removal and improvements
- Remove radar-worker.mjs and integrate functionality into radar-processor.mjs
- Update package.json and gulpfile.mjs with upstream changes
2025-06-27 11:05:32 -04:00
Matt Walsh
efd4e0c66d Remove workers from build processes 2025-06-27 08:56:04 -05:00
Matt Walsh
5a80f43f30 add staging gulp tasks 2025-06-26 22:30:42 -05:00
Eddy G
517cafe40a Refactor data loading: move from inline JSON to client-side fetch
- Remove large JSON data injection from EJS templates
- Add client-side data-loader utility with cache-busting support
- Create server endpoints for JSON data with long-term caching
- Add graceful failure handling if core data fails to load
- Copy JSON data files to dist/data for static hosting
- Update app initialization to load data asynchronously
- Set serverAvailable flag for static builds in gulp task

This reduces HTML payload size and enables better caching strategies
for both server and static deployment modes.
2025-06-26 20:10:15 -04:00
Eddy G
7f7cb96231 Add STATIC environment variable for browser-only deployment mode
Implement STATIC=1 environment variable to enable browser-only deployment
without proxy server infrastructure. Uses WS4KP_SERVER_AVAILABLE flag to
distinguish between server-backed and static deployments for proper URL
rewriting and User-Agent header handling.

- Add STATIC env var to skip proxy route registration at startup
- Inject WS4KP_SERVER_AVAILABLE flag via EJS template based on STATIC mode
- Update fetch.mjs to conditionally send User-Agent headers based on server availability
- Update url-rewrite.mjs to skip proxy rewriting when server is unavailable
- Use renderIndex helper for consistent template data across dev/prod modes
- Improve music playlist logging

Benefits of integrated approach:
- Single environment variable controls both server and client behavior
- Flag injection happens once at render time, not on every request
- No runtime HTML string manipulation overhead
- Clean separation between server-backed and static deployment logic
- Same codebase supports both deployment modes without duplication

Static mode (STATIC=1): Direct API calls to external services, no caching
Server mode (default): Local proxy with caching and API request observability
2025-06-26 20:10:11 -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
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
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
Matt Walsh
3d75384848 build tool cleanup 2025-06-16 16:00:16 -05:00
Matt Walsh
e2e22517b6 fix webpack for new radar-worker 2025-06-13 22:27:36 -05:00
Matt Walsh
1dece10679 cache-busting for radar worker 2025-06-12 12:14:56 -05:00
Matt Walsh
974a061b44 clean up paths for server and server-dist, remove cors #96 2025-06-02 20:59:35 -05:00
Matt Walsh
1609ab3d38 radar host overrides 2025-05-23 22:14:48 -05:00
Matt Walsh
101d0ac9ea page delivery tweaks 2025-05-20 22:10:13 -05:00
Matt Walsh
834d68f9e3 expose invalidate gulp taks 2025-05-20 18:26:50 -05:00
Matt Walsh
5946ee495a initial data and graph 2025-05-15 16:04:57 -05:00
Matt Walsh
93ac03acd4 optimize gulp image uploads 2025-05-15 09:02:49 -05:00
Matt Walsh
468e057c51 clean up gulp dependencies 2025-05-14 14:10:05 -05:00
Matt Walsh
99308155d6 update test to mjs 2025-05-14 09:42:31 -05:00
Matt Walsh
cde7ceda6e update gulp html minifier 2025-05-14 09:02:08 -05:00
Matt Walsh
4cc2312ffd Merge branch 'main' into remove-jquery 2025-05-12 13:35:01 -05:00
Matt Walsh
560b51ccee fix playlist preload 2025-03-27 10:36:28 -05:00
Matt Walsh
46fb40058f gulp publish caching changes 2025-03-27 10:23:27 -05:00
Matt Walsh
e9164d8c36 Updates for default folder 2025-03-24 18:24:49 -05:00
Matt Walsh
dc9a08bdc5 icon toggles 2025-03-22 15:10:06 +01:00
Matt Walsh
c7eb56f60c non-jquery autocomplete, needs more keyboard integration 2024-10-21 23:03:34 -05:00
Matt Walsh
75314d92c9 change gulp to mjs 2024-07-07 22:21:53 -05:00
Matt Walsh
168c0c5caf capture dist 2024-07-07 21:51:15 -05:00
Matt Walsh
934a489340 update dependencies 2024-07-07 21:49:21 -05:00
Matt Walsh
04cc5d4252 fix encoding issue with gulp 5 2024-05-19 23:47:58 -05:00
Matt Walsh
81561f75a1 add gulp task build-dist 2024-01-08 08:49:51 -06:00
Matt Walsh
2c394c2e4a correct gulp build 2022-12-14 16:31:11 -06:00
Matt Walsh
49296e53f0 make gulp output easier to read 2022-12-14 11:22:55 -06:00
Matt Walsh
3078ae6ba1 remove unused code 2022-12-14 08:31:48 -06:00
Matt Walsh
1cf9f41ca0 gulp upload_images 2022-12-09 11:58:47 -06:00
Matt Walsh
1a7734b620 add hourly graph 2022-12-07 15:36:02 -06:00
Matt Walsh
0abdb8ad89 restore gulp upload 2022-12-07 11:04:29 -06:00
Matt Walsh
49cd15a688 webpack 2022-12-07 10:53:18 -06:00
Matt Walsh
cc61d2c6d1 weather displays complete 2022-11-22 16:19:10 -06:00
Matt Walsh
304fa6a6bb build cleanup 2022-11-21 21:54:42 -06:00
Matt Walsh
7755090d32 remove libgif 2022-11-14 14:18:00 -06:00