Skip to content

Releases: d4vid87/stormdesk

StormDesk v4.3.4

Choose a tag to compare

@github-actions github-actions released this 15 Sep 22:23

Download the installer for your OS below. See the README for first-run notes (the apps are unsigned).

Fixed

  • Let the Docker container initialize root-owned bind mounts before dropping privileges, so the archive opens and station observations can be stored.
  • Keep the Docker build and runtime on Debian Bookworm to avoid GLIBC version mismatches.

StormDesk v4.3.3

Choose a tag to compare

@github-actions github-actions released this 12 Sep 01:10

Changed

  • Open the full nine-gauge dashboard on every launch in the website and desktop app.
  • Default gauge rows: Rain, Lightning, Wind; WBGT, UV Index, Wet Bulb; Pressure, Humidity, Dew Point. Saved custom arrangements remain available.

Fixed

  • Let mouse and touch tile dragging control visual placement, preserving the new order across reloads.
  • Prevent a touch drag from opening the tile's detail view when released.

Downloads

Choose the installer for your platform below. SHA256SUMS.txt contains download checksums.

The optional Linux natural male voice installer is also attached. With uv installed, run python3 install-natural-voice.py, then restart StormDesk and select Enable / Test voice. Existing voice installations continue to work.

StormDesk v4.3.2

Choose a tag to compare

@github-actions github-actions released this 12 Sep 00:13

What changed

  • Optional natural male voice (Kokoro Michael) for Linux warnings, watches, and weather briefings. Speech runs locally without cloud services.
  • A verified voice installer and an engine label beside Enable / Test voice.
  • Reliable local AppImage builds using Ubuntu 22.04, avoiding Arch GTK loader and strip incompatibilities.

Natural male voice on Linux

Install uv, download install-natural-voice.py below, and run:

python3 install-natural-voice.py

The first setup downloads roughly 350 MB of model data and a Python runtime with its dependencies. A PipeWire, PulseAudio, or ALSA player (pw-play, paplay, or aplay) is required. Restart StormDesk, then select Settings → Enable / Test voice. The label should read Natural male voice · local.

Without the optional voice, Linux retains the existing system/eSpeak voice. Web browsers still use their available system voices. This release does not add cloud speech.

Downloads

Choose the installer for your platform below. SHA256SUMS.txt contains download checksums. Desktop installers are unsigned; automatic update artifacts have StormDesk's updater signatures.

StormDesk v4.3.1

Choose a tag to compare

@github-actions github-actions released this 11 Sep 23:19

Download the installer for your OS below. See the README for first-run notes (the apps are unsigned).

Fixed

  • Read all official watches and warnings aloud, including Moderate-severity events, while keeping routine advisories silent.
  • Keep simultaneous and failed announcements pending independently of banner deduplication. Expired alerts and previous locations are discarded; emergencies and severity increases can announce again.
  • Add Enable / Test voice, visible playback status, delayed-voice handling, and explicit retry after browser playback errors or a ten-second startup timeout.
  • Add a local Linux espeak-ng fallback when browser speech cannot start. Debian and Arch packages require espeak-ng; AppImage users install it through their package manager.

Notes

  • Speech requires an open dashboard. Browser playback may require a tap and an installed system voice. The voice test does not send push notifications.

StormDesk v4.3.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 20:59

Download the installer for your OS below. See the README for first-run notes (the apps are unsigned).

Changed

  • Introduced the Midnight Glass Desk with a bold live clock, watches/warnings/advisories banner, and six instrument gauges including wet-bulb temperature and lightning distance.
  • Refreshed the StormDesk screenshots and product previews on GitHub and HookEcho.

Fixed

  • Kept controls visible and browser history correct in the Android app.
  • Reduced renderer load on Samsung Family Hub browsers by using lightweight radar.
  • Fixed the embedded radar repeatedly zooming back out during zoom-in gestures. HookEcho now distinguishes its own saved URL updates from incoming navigation, preventing an older camera position from being reapplied. The shared viewer update is delivered through hookecho.pages.dev; see HookEcho #320.

StormDesk v4.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 02:29

Download the installer for your OS below. See the README for first-run notes (the apps are unsigned).

Changed

  • Redesigned Desk, Timeline, Radar, Local Signals, Data, and Settings with a consistent dark layout and streamlined navigation.
  • Simplified the forecast outlook and progressive detail panels.
  • Updated StormDesk branding across desktop, Android, web, and installer icons.
  • Refreshed documentation, screenshots, and animated product previews.
  • Matched the container build image to its Debian Bookworm runtime to avoid glibc compatibility failures.

StormDesk v4.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 00:37
5abd4d6

Download the installer for your OS below. See the README for first-run notes (the apps are unsigned).

Changed

  • Rebranded the complete project as StormDesk: GitHub repository, desktop and mobile apps,
    package IDs, container, Flatpak, MQTT topics, documentation, updater, and HookEcho integration.
  • Reworked the Desk into a streamlined OLED-black layout with neon-green data, a modern compact
    navigation bar, concise gauges, four-day forecast rail, and expandable expert detail.
  • Moved official alerts into a scrolling hero banner and added an actionable current-plus-next
    weather summary while keeping the animated sun, moon, and weather art.
  • Simplified Settings into Basics, Appearance, and Advanced views.
  • Expanded Local Signals with live status, atmospheric trend, storm proximity, the next six hours,
    an outdoor-window recommendation, and quick notification controls.
  • Restyled Timeline and Data to match the OLED interface, made Dark Streets the radar default,
    and gave forecast models distinct blue, green, lime, and red lines.

StormDesk v4.0.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 01:44
b05d4f6

Download the installer for your OS below. See the README for first-run notes (the apps are unsigned).

Added

  • Weather Timeline. A compact Desk strip and a full Timeline tab combine the past 24 hours
    with the next 48: rain windows and the 15-minute nowcast, thunder, snow and ice, freezes,
    heat index, strong wind, unhealthy air, rapid station changes, official alerts and sun times.
    Adjacent hours become one event, quiet one-hour forecast noise is suppressed, and a click opens
    the underlying observation detail. Thresholds and categories are configurable in Settings.
  • Plain-language confidence. Forecast events say High, Medium, Low or Unavailable and why,
    using the existing GFS, ECMWF, ICON, GEM and HRRR guidance. Exact contributing values and data
    age stay behind an expander.
  • Health Center. Browser, server, ingest, forecast, alert, radar and archive checks are shown
    together with safe actions: retry, clear stale caches, use still radar, checkpoint SQLite,
    save the Safe renderer or open the LAN dashboard. A copyable support report excludes secrets
    and location.
  • Complete .wdbak backup and restore. One portable SQLite file carries history, settings,
    layouts, rules and metadata. Restore is staged, inspected and confirmed; corrupt, incomplete or
    newer formats are rejected before live data changes. Applying it keeps a pre-restore recovery
    bundle and rolls back failures.
  • Browser fallback. --browser runs the server and opens the dashboard without a webview.
    On Linux, a native window that never becomes ready automatically opens that same dashboard in
    the system browser after 20 seconds, so the Chromebook EGL failure no longer strands the app.
  • First-run setup now shows explicit station, first-reading and forecast verification progress.

Changed

  • /health exposes redacted server and archive status; /health/action accepts only fixed safe
    actions. /backup.wdbak, /restore/inspect and /restore/apply form the recovery interface.
  • Open-Meteo forecast hours now retain relative humidity so heat events use heat index rather
    than air temperature alone.

StormDesk v4.0.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Sep 15:53
b05d4f6

Beta preview of StormDesk 4.0. Adds the 72-hour Weather Timeline and plain-language confidence, guided Health Center, complete .wdbak backup and validated restore, guided first-run verification, and automatic browser fallback when the Linux webview cannot draw.\n\nTest this build on desktop/AppImage, Chromebook, G Pad, and S24 Ultra before stable promotion. Back up first; restore keeps a pre-restore recovery bundle.

StormDesk v3.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 00:19
ffb9bae

Download the installer for your OS below. See the README for first-run notes (the apps are unsigned).

Fixed

  • Blank window on Linux. The AppImage always runs under XWayland, and there an Intel iGPU
    (a Chromebook's UHD 600) painted nothing at all even with the DMABUF renderer off. Rendering is
    now a setting — Settings → Window rendering, Auto / Safe / GPU — overridable per launch
    with WD_RENDER=safe or --render safe, and Auto turns software compositing on for exactly
    that combination. The app prints one line at startup saying what it picked. Because the setting
    syncs from any browser on the LAN, a machine showing a blank window can be fixed from a phone.

Added

  • Continuous integration. cargo test and a headless-browser run of the whole site — three
    motion levels by three screen sizes, failing on any self-check — now run on every pull request,
    with a screenshot of each combination kept as an artifact. bash .github/ci/selftest.sh runs
    the same thing locally.
  • A one-column phone pass. Held upright, the tabs and the settings gear move to the bottom of
    the screen where a thumb reaches them, every control is at least 44 px tall, text inputs no
    longer zoom the page when focused, and Save stays pinned to the bottom of the drawer.
  • The overnight dim follows the sun. It now ramps over the hour after sunset and the hour
    before sunrise, a minute at a time, instead of stepping to 45% at some point in the next quarter
    of an hour.
  • Tap the hero icon to hear the day — the current reading, the high and low, the 24-hour story
    and the alert state, read aloud. Settings → Kiosk can also schedule one spoken briefing a day at
    a fixed time.
  • Rate-of-change and forecast alert rules. Seven new metrics to build rules on: temperature,
    pressure and humidity change over the last hour, and the forecast low over 18 hours, rain chance
    over six, peak gust over a day and tomorrow's high. A forecast rule is evaluated the moment a
    new forecast lands rather than waiting for the next station report.
  • Click a point on a chart on the Boards or in the almanac explorer to open the detail panel
    on that moment, not on the last 48 hours.
  • A still radar image on weak hardware. Anything running Lite motion or eco mode gets one
    radar PNG every five minutes instead of the live wasm viewer; tapping it opens the full map.
    Motion → Full puts the live map back.
  • US Drought Monitor on the Fire card: the county's class and how much of it is in that class,
    fetched by the app's own server (neither the Drought Monitor nor the county lookup it needs
    serves CORS headers).
  • Archive retention. Settings → Keep history for: forever (the default), or 1, 2, 5 or 10
    years. Deletion runs hourly, a week at a time, so it never blocks an incoming reading.
  • /history/tuples accepts from and to as well as hours.

Changed

  • The rain and lightning counters survive a restart. They are stored alongside every reading,
    so rain that fell while the app was down is scored once when it comes back — unless it was down
    more than a day, in which case the counter is started cold rather than trusted.
  • /history/daily no longer rescans the whole archive per request. Everything before today is
    aggregated once and cached; only today's rows, an index range, are recomputed.