v2.4.6: Streaming Text Stops Scrambling, Images Show Instantly, and macOS Gets Its Desktop App

Share
v2.4.6: Streaming Text Stops Scrambling, Images Show Instantly, and macOS Gets Its Desktop App

Version 2.4.6 is a cleanup release, and a satisfying one. Two chat display bugs that quietly annoyed people are gone, the macOS desktop build is now a click away from your dashboard, and the desktop app finally tells you the truth about what it is doing while it updates.

Here is everything that shipped.

Streaming text stops scrambling itself

If you watched an answer stream in and saw the words arrive in the wrong order, you were not imagining it. While a reply was still being written live, the preview could jumble itself: the opening of the message would end up glued into the middle of a later sentence. One reply might appear to start with "u," while its actual first words sat further down the screen.

The reassuring part is that this was always a live-preview-only problem. A page reload showed the correct text every time, and the stored conversation history was never wrong. Still, watching your AI employee appear to lose its train of thought mid-sentence is not a great look, so we fixed it.

The cause was in how the renderer handled each finished chunk of a message. As one segment was finalized, it tried to hold on to the leftover of the next segment in the live buffer, which then glued a stale fragment onto the following stream. The buffer now clears cleanly on finalization, and the next chunk repopulates it from scratch. Live text matches final text, every time.

Attached images show up instantly

Since we changed how sender avatars work, attaching a photo had an irritating side effect: the text of your message appeared, but the image did not. The picture only showed up after a page refresh, which is exactly the kind of small friction that makes you stop trusting the interface.

Under the hood, the optimistic message (the one drawn immediately, before the server echoes it back) did carry the image. But when the confirmed message returned with a [Message from ...] sender prefix attached, the step responsible for preserving the attachment compared the two versions with a strict, exact match. The prefix made them look different, so the image got dropped.

It now uses the same prefix-tolerant comparison that the rest of the message merge already relies on. The attachment survives the round trip, and your image appears live, no refresh required.

Download the macOS desktop app from your dashboard

The Desktop App dialog now offers a real macOS download where it used to say "coming soon." A new endpoint serves the latest signed .dmg, sitting right alongside the Windows installer that was already there. If you are a Mac user who has been waiting to give your AI employee a proper desktop home, this is your moment.

One small bit of polish came with it: the Desktop App menu entry now hides itself when you are already running inside the desktop app. No more being offered a download for the thing you are currently using.

The desktop app tells you the truth while it updates

Two fixes here, both about honesty.

First, the auto-update download used to sit at 0% behind an indeterminate progress bar, which left you guessing whether anything was happening at all. The update-serving endpoints now send a Content-Length header, so the desktop auto-updater (and any browser, for that matter) can show real, moving download progress.

Second, the desktop-control skill now reports failures on stdout as structured JSON, in the shape { error: { code, message } }, in addition to the usual stderr output. Before this, an error like RATE_LIMITED could be swallowed entirely whenever stderr was suppressed, leaving the employee to fail silently with no explanation. Now the reason for a refused action comes through clearly, so your AI employee can see why something did not work and tell you, instead of going quiet.

The short version

Small release, real quality-of-life wins. Streaming previews behave, attached images show on the first try, Mac users get their desktop app, and the auto-updater stops keeping secrets. If you are running Geta.Team, you already have it.

Want an AI employee that actually ships work, keeps its memory, and runs on your own infrastructure? Take a look at what the team can do at geta.team.

Read more