Tags

Tags give the ability to mark specific points in history as being important
  • v0.1.0-alpha.1

    protected Release: lunardesk 0.1.0-alpha.1
    October 2026
    
    lunardesk is the Linux desktop client for a self-hosted LunarWing gateway.
    The official product name is **lunardesk**; the repository, Debian package
    (`lunar-wing`), and installed executable (`/usr/bin/lunarwing2desktop`) keep
    the `lunarwing2desktop` identity.
    
    This is the first release: version 0.1.0-alpha.1, the first signed alpha
    of 0.1.0 (an installable artifact for the operator and invited testers, not
    a public launch — see `docs/ops/ALPHA_RELEASE_PLAN.md`).
    
    - **Authenticated gateway chat** — connect one LunarWing gateway with a URL
      and bearer token. The token is held in the OS credential store (Secret
      Service on Linux); the Rust layer owns HTTP and SSE transport, redacts
      credentials from logs, and cancels in-flight work when the configuration
      changes. Streamed thinking, tool activity, and final responses are
      reconciled against canonical history, with bounded automatic reconnect
      after gateway or network interruptions.
    - **Conversation navigation** — pinned assistant thread, ordered thread list,
      new-thread action, and backward pagination of history.
    - **Agent activity and tool approvals** — bounded thinking/status updates and
      tool-call display without exposing raw protocol payloads, with Approve /
      Always approve / Deny controls for tool requests.
    - **Steering and interrupt** — `/interrupt` and `/steer <note>` controls while
      a turn is in flight.
    - **Voice** (requires a voice-enabled gateway) — push-to-talk recording button
      that transcribes through the gateway voice API, shows an editable
      transcript, and requires an explicit send; the serving STT model is surfaced
      from the gateway (whisper or other ONNX sherpa runtimes such as
      paraformer). Completed agent replies can be spoken aloud, with stop,
      replay, and disable controls. The gateway holds the LunarVoice sidecar
      credential; lunardesk never sees it.
    - **File attachments** — picked, pasted, or dragged images are validated
      against the gateway caps (5 images, 5 MB each) and render as a removable
      thumbnail preview strip above the composer before they are sent with the
      message. Dragging image files from the OS file manager onto the
      conversation pane stages them through the same path as the picker.
    - **Mascot** — a movable, hideable mascot overlay inside chat, driven only by
      real connection, working, response, and error events.
    - **Settings menu** — a settings menu in the sidebar footer with a Lunar
      mascot on/off toggle, disabled by default and persisted across launches.
    - **Color themes, custom accent, and font size** — six color themes (Lunar
      blue default, AMOLED black, Purple, Mint, Sunset, and High contrast), a
      custom accent color picker that overrides the active theme's accent
      family, and a Small/Medium/Large font size control, all in the settings
      menu and persisted across launches.
    - **Code block copying** — every fenced code block in the transcript
      carries a one-click copy button (with a fallback for non-secure
      contexts); the copied code preserves the original content byte-exact.
    - **Button animations and lunar iconography** — spring-eased button motion
      (press collapse, focus halo, accent glow), a crescent shimmer on the Send
      button while the gateway has not yet accepted the send, a breathing
      crescent rim on the brand mark, and a crescent-moon new-conversation
      glyph. Every animation collapses to a static state when the system
      requests reduced motion.
    - **Blue theme and splash screen** — the desktop matches the LunarWing web
      gateway color scheme and shows a first-paint splash while the app loads.
    - **Reliability fixes since the last review** — a mid-turn canonical-history
      reconcile no longer flashes a false agent-failure banner, spoken replies
      fire only for the selected conversation, and Wayland sessions
      automatically apply the WebKitGTK DMA-BUF renderer workaround so the app
      launches reliably on Wayland desktops.
    
    - **Debian 12 (bookworm) and Ubuntu 24.04 LTS (x86_64)**: signed,
      reproducible `.deb` package (`lunar-wing`). Install with
      `sudo apt-get install ./LunarWing_0.1.0~alpha.1_amd64.deb`, then launch
      `lunarwing2desktop`. The release bundle carries the `.deb`, its SHA-256
      checksum, the detached GPG signature, and these notes.
    - **Gentoo (rolling, x86_64)**: Portage overlay ebuild
      `gui-apps/lunarwing2desktop` (keyword-masked `~amd64`) under
      `packaging/gentoo/`; see `docs/ops/GENTOO.md`.
    - Signing keys, verification, install/upgrade/rollback/uninstall flows, and
      the operator test matrix: `docs/ops/RELEASE.md`.
    
    - Linux desktop with WebKitGTK 4.1 (provided by the supported distributions
      above).
    - A LunarWing gateway with a bearer token for this client, reachable over
      HTTPS, loopback, or a private overlay network. Plain HTTP outside loopback
      sends the token unencrypted: lunardesk shows an explicit warning and
      requires a second confirmation before connecting.
    - Voice features require a gateway with the voice API and LunarVoice sidecar
      enabled.
    
    - macOS and Windows ports are feasibility-checked only; they are not shipped
      in this release.
    - One gateway profile only; multi-account support, tray/menubar quick-ask,
      background notifications, and app-store distribution are deferred.
    - AppImage is not produced; the `.deb` covers the supported Debian/Ubuntu
      targets.
    
    Build instructions, configuration, repository layout, and the full feature
    reference are in `README.md`. The execution roadmap behind this release is
    `docs/ops/AGENT_GOALS_0.1.0.0.md`.
    
    License: AGPL-3.0-or-later, matching LunarWing core.