Releases: 1broseidon/hotline
Releases · 1broseidon/hotline
Release list
desktop-v0.31.1
Added
- Teammates know whether you are writing from the desktop app or your phone,
without it showing in the conversation, and act on it: at the desktop,
"open it in my browser" opens your own default browser; from the phone,
browsing happens on the teammate's computer and comes back as a link,
screenshot or file. - A teammate can have its own voice for direct calls, picked on its card from
the voices the desk speaks with. The teammate pane's header is now one card
with the picture, name, goal and voice.
Changed
- A direct call answers at once, in the teammate's own first-person voice,
while the teammate does the work in its session. Asking how it is going is
answered from the conversation without interrupting the teammate, and the
finished reply is told in the teammate's words rather than cut to its first
two sentences. - A call points to a list, table, file or link in the chat instead of reading
it out, says a link as its site's name rather than spelling the address,
speaks long replies in pieces, and does not repeat a bare acknowledgement.
Fixed
- Grok live transcription connects again; calls using it no longer report
that live voice input is busy. - The first Grok speech clip plays before a full second is buffered.
- Talking over a direct call's reply frees the call for your next turn.
desktop-v0.31.0
Added
- Call a teammate directly through their existing conversation, session and
permissions. The call stays with the chosen desk and teammate; only replies
belonging to that call are spoken. Hold, interrupt and hangup stop speech
without canceling teammate work already accepted. Call the desk remains
the primary entry point. - Desktop and server support for finalized on-device phone transcripts.
Compatible companion builds with native speech recognition can send text
without a remote transcription provider or transcription charge. Older
clients keep the recorded-audio path; the desktop update does not install
the phone's native module. - Native Grok speech through an xAI API key, with live transcription and
streamed speech. Experimental Grok subscription speech uses the existing
sign-in and must be selected explicitly in Settings > Providers > Use for.
It is never chosen automatically or switched to paid API speech on failure.
Access depends on provider entitlement and limits; subscription speech adds
no estimated API speech spend, while dispatcher and agent costs still apply. - Mermaid diagrams render inside messages, with a source toggle. Diagrams,
sent pictures and computer captures open in the window's own viewer, where
they can be shown at full size. - Agents the ACP registry ships as prebuilt archives can be teammates. The
first start downloads the archive for this computer and checks its published
SHA-256 when one is provided. Later starts reuse the installed version;
unsupported platforms show why the agent is unavailable. - Grok draws. Connect xAI with a key or sign in with your Grok subscription
and teammates can make and edit images with Grok Imagine (up to five
reference images). A key is charged within the spending cap; the
subscription draws on your plan.
Changed
- Calls can play speech as playable chunks arrive instead of waiting for the
complete reply. Supported providers also receive microphone audio while
you talk; other providers retain whole clips. - An empty message input offers a waveform button to call that teammate.
A draft switches it to Send; Stop stays separate while work is running. - A subagent a teammate has running shows in the conversation's header, so
you no longer scroll back to find it. Pressing one opens its task, steps
and replies in the work card. The header clears when the run finishes;
its line in the conversation keeps the result and still opens the run. - ACP teammates, including Claude and Codex, can show subagents as separate
runs when their adapter accepts and reports ACP's draft subagent capability.
Adapters that do not report subagent sessions keep showing their work as
tool calls on the teammate's turn. - A teammate's face in the rail turns a ring while something is on its way:
its session starting, which can take a while when an agent is first
downloaded, or its picture being drawn. - A ChatGPT or Grok subscription is now the first choice for images when
you haven't picked one, ahead of paid keys, rather than needing to be
picked by hand. A subscription that fails can fall back to another
subscription, never to a paid API. - Default avatars, including setup, are drawn as the Hotline crew: a matte
collectible bust with cream eye domes and slot pupils, varied head shapes
and the teammate's own colour. Custom subjects and themes bypass the crew
preset, and a photo can be used directly. Existing avatars and protection
for pictures chosen by the person are unchanged. - The website has a refreshed introduction, current desktop and phone
screenshots, and a clearer explanation of a teammate's own computer.
Fixed
- Voice detection gives an established utterance a quieter continuation
threshold and 1.2 seconds to pause. Brief noises must contribute enough
measured speech time to start a turn, and missing meter samples no longer
end one early. - Direct teammate calls remain available when speech is configured but the
desk dispatcher is unavailable, including text calls without remote STT. - Pasted pictures become attachments in the message input, including on
WebKitGTK desktops where the image is only available from the system clipboard. - Reactions under message bubbles are no longer clipped by the row layout.
- Removing an MCP server clears its stale missing rows from the tools list.
- A picture a teammate made showed twice in the conversation when it then
sent the same file. Sending a picture just posted bygenerate_imageis
now answered without posting it again. - OAuth MCP sign-in on a server desk can finish from the desktop by pasting
the browser's final redirect address. Only that sign-in's own callback is
accepted; a wrong address leaves it waiting (BRO-154). - Unavailable harnesses explain when the CLI is installed for another account
or off the desk's PATH, instead of only saying "Not installed". Reasons
remain visible only to the owner (BRO-139). - A first server installation runs the desk as the person installing it,
including throughsudo, so it can find their harnesses and logins.
Root-only installs choose the single person's account or a dedicated service
account.--user NAMEchooses explicitly; the desk never runs as root and
upgrades preserve the existing service user (BRO-139).
Full changelog: desktop-v0.30.0...desktop-v0.31.0
desktop-v0.30.0
What's Changed
- ChatGPT Refresh asks as the installed Codex version (BRO-162) by @1broseidon in #110
- Prepare remote admission, Rustls and HTTPS hardening for 0.30 by @1broseidon in #111
- A long turn keeps its last message in the tape window and roster preview by @1broseidon in #112
- Group consecutive scheduled runs into one transcript row by @1broseidon in #113
- CI can run on GitHub's runners when grizzly is busy (CI_RUNNERS=hosted) by @1broseidon in #119
- The setup screen offers Connect to a server beside creating a first teammate (BRO-151) by @1broseidon in #114
hotline pairfinds the served room without HOTLINE_DATA_DIR (BRO-152) by @1broseidon in #115- Add opt-in Codex subscription image generation by @1broseidon in #120
- Release 0.30.0: voice calls, image generation, avatars, and Use for in Providers by @1broseidon in #121
- Talk to the desk: voice calls on the desk and the desktop (BRO-146, BRO-168, BRO-170) by @1broseidon in #118
Full Changelog: desktop-v0.29.0...desktop-v0.30.0
desktop-v0.29.0
What's Changed
- Desktop as a client of remote desks (BRO-145), part 1: pairing, bridges, multi-desk window by @1broseidon in #99
- Desktop as a client of remote desks (BRO-145), part 2: parity on a server desk by @1broseidon in #102
- A paired desk whose bridge won't start stays in the window and keeps trying (BRO-147) by @1broseidon in #103
- The computer viewer asks for a one-time token and never holds the owner's (BRO-148) by @1broseidon in #104
- The starter card stays gone once a teammate has a history by @1broseidon in #106
- A full context mid-turn keeps the chapter open (BRO-150) by @1broseidon in #108
- Release 0.29.0 by @1broseidon in #105
- Core tests pass on macOS, and pull requests run them there by @1broseidon in #109
- A desk not on screen counts its open teammate's new lines as unread by @1broseidon in #107
Full Changelog: desktop-v0.28.1...desktop-v0.29.0
desktop-v0.28.1
What's Changed
- Open a teammate on its last lines; load older history on demand by @1broseidon in #100
- Release 0.28.1 by @1broseidon in #101
Full Changelog: desktop-v0.28.0...desktop-v0.28.1
desktop-v0.28.0
What's Changed
- Faster releases: build once per platform, Intel Macs on Apple silicon by @1broseidon in #88
- Installer checks the desk as the user its unit runs as by @1broseidon in #89
- Keep the window responsive while a teammate streams into a long chapter by @1broseidon in #91
- Quick wins from the inefficiency review by @1broseidon in #92
- A theme choice in Settings: System, Light or Dark by @1broseidon in #90
- The window's chrome follows the theme picked in Settings by @1broseidon in #93
- Round 2: search that doesn't slow with history, a cheaper roster, and launch without waiting on the shell by @1broseidon in #94
- React, reply and copy on every bubble, on hover and right-click by @1broseidon in #95
- Release 0.28.0 by @1broseidon in #96
- Fix the macOS PATH test for restore(root) by @1broseidon in #97
- PR CI compiles the macOS code by @1broseidon in #98
Full Changelog: desktop-v0.27.0...desktop-v0.28.0
desktop-v0.27.0
What's Changed
- hotline.dev/install: one command for the desktop app and the headless desk by @1broseidon in #77
- A harness teammate's reply to its own background work reaches the chat when it arrives by @1broseidon in #79
- The owner phone changes a teammate's access and background work by @1broseidon in #80
- Fix a race in the ACP stop test by @1broseidon in #83
- BRO-144: Safe server updates and existing-install detection by @1broseidon in #82
- Windows: stop the terminal-window loop, and launch on a clean install by @1broseidon in #78
- Green UI check: type mobile.persona_access and declare happy-dom by @1broseidon in #84
- CI on every PR, on grizzly's runners for our own branches by @1broseidon in #81
- Computer resource limits and owner-phone controls (BRO-140) by @1broseidon in #85
- Memory and CPU sliders for a teammate's computer on the desktop by @1broseidon in #86
- Release 0.27.0 by @1broseidon in #87
Full Changelog: desktop-v0.26.0...desktop-v0.27.0
desktop-v0.26.0
What's Changed
- A harness that lost its own sign-in says so, instead of 'Agent connection failed' by @1broseidon in #68
- BRO-132: Recover an ACP harness sign-in from the desktop failure card by @1broseidon in #70
- hotline serve: the desk with no window, a file-backed store, and a clean stop (BRO-113) by @1broseidon in #69
- BRO-114: Explicit pairing and sealed channels for a served desk by @1broseidon in #71
- Docs: Hotline on a server by @1broseidon in #72
- Release 0.26.0 by @1broseidon in #73
- Fix clippy result_large_err on current stable by @1broseidon in #74
- Run the serve test on Unix only by @1broseidon in #75
- Build the hotline binary for Unix only; fix a flaky installer test by @1broseidon in #76
Full Changelog: desktop-v0.25.0...desktop-v0.26.0
desktop-v0.25.0
What's Changed
- The phone may rename a teammate, change what it's for, or delete it by @1broseidon in #67
Full Changelog: desktop-v0.24.0...desktop-v0.25.0
desktop-v0.24.0
What's Changed
- BRO-129: delivery lines read as part of the conversation by @1broseidon in #64
- BRO-128: Keep exchange controls and human-gated replies recoverable by @1broseidon in #65
- The phone can add a teammate (BRO-127, desk) by @1broseidon in #66
Full Changelog: desktop-v0.23.0...desktop-v0.24.0