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.