Commit graph

396 commits

Author SHA1 Message Date
Matt Walsh
69d2b0f40b
more robust backfilling of current weather properties close #177 2026-02-16 20:40:13 -06:00
Matt Walsh
0d9c445919
Fix hourly graph y axis labels close #176 2026-01-22 22:12:32 -06:00
Matt Walsh
59b10ae222
fix icon parsing close #175 2026-01-17 21:02:26 -06:00
Matt Walsh
320d3139c3
add dewpoint to hourly and expand to 36 hours 2026-01-17 11:42:26 -06:00
Matt Walsh
18633708f9
Slightly denser display of regional cities on map #170 2025-12-09 05:02:58 +00:00
Matt Walsh
6f97e3d2b9
add volume control slider and overhaul settings close #109 2025-11-10 12:54:54 -06:00
Matt Walsh
707b08ee1a
backfill current conditions with the last few observations when needed close #158 2025-11-10 04:06:24 +00:00
Matt Walsh
9b422dd697
expose more data for scroll messages 2025-11-05 05:24:04 +00:00
Matt Walsh
6422589b5c
fix wind speed on hourly close #157 2025-10-22 00:22:29 +00:00
Matt Walsh
807932fe3c
Merge branch 'ios-regex' close #137 2025-10-17 00:49:59 +00:00
Matt Walsh
f4a1a3a1d8
add hazards before custom scroll options close #149 2025-10-17 00:35:26 +00:00
Matt Walsh
77838e1a81
use locally stored weather parameters in spc outlook close #150 2025-10-15 00:29:23 +00:00
Matt Walsh
e27750e915
fix load order on scroll when compiled 2025-09-24 22:33:47 -05:00
Matt Walsh
5117a9d475
move bottom scroll to single div #144 2025-09-24 22:27:31 -05:00
Matt Walsh
e8b8890260
fix full screen centering on chrome #139 2025-09-15 08:54:11 -05:00
Matt Walsh
2a64cda383
Merge branch 'fullscreen-kiosk-sizing' 2025-09-15 08:03:53 -05:00
Matt Walsh
e6e357c51b
separate full screen container and scaling #139 2025-09-15 08:01:28 -05:00
Matt Walsh
24deb4dce4
additional full screen scaling calculation adjustments 2025-09-11 15:34:02 -05:00
Matt Walsh
14b1891efd
direct check of regex lookbehind capability 2025-09-11 08:47:16 -05:00
Matt Walsh
fa16095355
filter for actual alerts (not test) close #141 2025-09-09 22:07:42 -05:00
Matt Walsh
8ee1e954eb
better background and wide screen for hazard displays 2025-09-09 21:35:31 -05:00
Matt Walsh
b43fb32820
Merge branch 'ios-metar-regex' 2025-09-09 20:26:29 -05:00
Matt Walsh
1732a3381f
fix hazards displaying when disabled (sometimes) close #140 2025-09-09 19:36:23 -05:00
Matt Walsh
cc05aafb95
patch for kiosk drawing off screen 2025-09-09 19:22:18 -05:00
Matt Walsh
517c560ef6
don't parse metar for old ios versions 2025-09-03 21:46:48 -05:00
Matt Walsh
13ff0317e6
fix nighttime icons on extended forecast close #134 2025-08-11 22:35:03 -05:00
Matt Walsh
190e50e2f3
add debugging information to forecast info box 2025-08-11 22:15:16 -05:00
Matt Walsh
c8a25e5d9a
Integrate no-data icon close #94 #128 2025-08-10 20:05:07 -05:00
Matt Walsh
75eb81887f Clean up build around metar parser and locale 2025-08-04 12:03:18 -05:00
Matt Walsh
8a22e23d5a
Merge remote-tracking branch 'eddyg/station-name-improvements' into code-refactor 2025-08-03 22:10:17 -05:00
Matt Walsh
d85a5ed3b1
add strings to permalink structure close #129 2025-07-30 22:29:20 -05:00
Matt Walsh
7d50ce28bd
Allow for station data overrides #125 2025-07-15 22:00:33 -05:00
Eddy G
c3d863f89f Fixup mapclick.mjs 2025-07-13 22:45:04 -04:00
Eddy G
996baa78aa Add MapClick adapter and "fallback" logic when observations are stale
- Create utils/mapclick.mjs with centralized MapClick API functionality
- Refactor modules to use the new utility:
  - Current Weather
  - Latest Observations
  - Regional Forecast
- Add staleness checking utility for use by modules
2025-07-13 22:10:41 -04:00
Eddy G
e81c957416 Remove legacy mapclick icon references
- https://api.weather.gov/icons should be the only icons used by api.weather.gov
2025-07-13 19:45:52 -04:00
Eddy G
4b34ffabcb Fix retry count display in doFetch 2025-07-13 19:45:52 -04:00
Matt Walsh
5c7a6ab1a4
fix for rss feed encoding types close #124 2025-07-11 22:36:47 -05:00
Eddy G
804d9e9e33 Centralize icon URL parsing; improve icon error handling
- Move common icon parsing logic into module
- Return a "real" icon value during error handling to avoid downstream
  consumers from trying to use an icon named "false"
- Use named regex to parse icon URLs based on API specification
2025-07-07 12:43:32 -04:00
Eddy G
3e8135a36a Improve settings initialization timing with deferred DOM updates
Defer DOM updates to ensure settings are properly applied
even when read from localStorage before the DOM is available.
2025-07-07 12:43:32 -04:00
Eddy G
9c5ed0dcca Improve error handling to help prevent runtime errors
Adds input validation and safe property access to utility functions
to handle edge cases and invalid arguments gracefully
2025-07-07 12:43:32 -04:00
Eddy G
771ab37eaf Improve cache error handling in various edge cases
- Add null-safe operations and fallbacks for missing properties
- Simplify retry logic and enhance error logging
- Enable default retries and improve timeout handling
2025-07-07 12:43:32 -04:00
Eddy G
2a975d4d6d Fix auto-play logic for sticky kiosk mode
The previous logic only checked URL parameters for kiosk mode,
but sticky kiosk can enable kiosk mode from localStorage without
URL parameters. Now checks actual kiosk setting value.

Fix typo in scan line settings name.
2025-07-04 14:55:57 -04:00
Eddy G
10baefc901 Merge remote-tracking branch 'upstream/main' into modernization-and-refactor 2025-07-02 09:08:07 -04:00
Eddy G
67dfd7ec08 Add "Sticky Kiosk" setting that stores "Kiosk" mode when activate
- This setting is important to allow creation ofa Home Screen app on iOS/iPadOS
- If kiosk mode is accidentally made sticky, it can be cleared by adding '&kiosk=false` to the URL
- Ctrl-K will now also exit kiosk mode

This adds a `stickyRead` parameter to settings, that means "read it if it's there, but don't write it"
2025-07-02 08:11:52 -04:00
Eddy G
13621b6f46 Stop Mobile Safari from trying to auto-fill the location box
This change prevents the "No items to show" popup that obscures the first
couple suggested matches.
2025-07-02 08:11:52 -04:00
Eddy G
b49433f5ff Add responsive scaling; improve scanlines and Mobile Safari support
- Replace CSS zoom with CSS transform scaling for better mobile compatibility
- Implement wrapper-based scaling approach that includes both content and navigation bar
- Replace Almanac layout with CSS Grid for better cross-browser layout
- Greatly improve scanline algorithm to handle a wide variety of displays
- Add setting to override automatic scanlines to user-specified scale factor
- Remove scanline scaling debug functions
- Refactor settings module: initialize settings upfront and improve change handler declarations
- Enhance scanline SCSS with repeating-linear-gradient for better performance
- Add app icon for iOS/iPadOS
- Add 'fullscreen' event listener
- De-bounce 'resize' event listener
- Add 'orientationchange' event listener
- Implement three resize scaling algorithms:
  - Baseline (when no scaling is needed, like on the index page)
  - Mobile scaling (except Mobile Safari kiosk mode)
  - Mobile Safari kiosk mode (using manual offset calculations)
  - Standard fullscreen/kiosk mode (using CSS centering)
2025-07-02 00:22:06 -04:00
Eddy G
cc9e613ba7 Merge remote-tracking branch 'upstream/main' into modernization-and-refactor 2025-06-29 22:42:03 -04:00
Matt Walsh
9f9667c895
add single text scroll option #57 2025-06-28 09:20:36 -05:00
Matt Walsh
fda44e95fc
rss feeds scroll, needs additional testing #57 2025-06-28 00:59:40 -05:00
Matt Walsh
945c12e6c6
parse rss feed #57 2025-06-28 00:29:55 -05:00