Developer postOriginal post (opens in a new tab)

Version 1.12.4

An update about staying out of your way. VK connects again, Rutube finds a live stream from a channel link, and there is a new platform — w.tv. Speech stopped reading routine noise out loud, and your chosen voice no longer disappears on its own. The floods of error windows that could bring a machine to its knees are gone. An update no longer lands on top of a running app — it closes itself, and other installations are left alone. And paid features no longer vanish from the interface without explanation: they are shown greyed out with a note.

Connecting to platforms
VK connects again. Signing in was broken, including for accounts on the .ru domain. Both domains now work.
Channels no longer get stuck "checking". A single failed check used to be remembered forever: until a restart the app stopped contacting the platform and kept showing the same result, even once the stream was already live. Now a failure is not remembered, and waiting for an answer is time-limited.
You can tell what actually went wrong. VK failures all used to look the same; the app now distinguishes a bad link, no live stream, an unresponsive platform and a required sign-in — and says so plainly.
Rutube finds a live stream from a channel link. It used to answer "the channel is not streaming" while the stream was running. A live broadcast is now looked up several ways, and links like /live/video/… and /u/ are understood as they are. Failure messages stopped claiming things the app never checked.
A new platform — w.tv. Chat connects without signing in; events and labels are the same as on other platforms.
Trovo. The platform has shut down, so we removed support for it.
Connecting to platforms (continued)
Messages written while the connection was down are no longer lost on Kick and VK: after an automatic reconnect what was missed arrives exactly once, without being read aloud a second time.

Speech
Routine events are no longer read aloud. Channel connection notices and "joined / left the chat" messages were spoken out loud and turned into a constant stream on a busy broadcast. They now have their own "Do not speak" switch, enabled by default; if you did want them spoken, one checkbox brings it back. Display and logging are unchanged.
Your chosen voice no longer disappears. When the voice list on the server was updated, your chosen voice could silently switch to another one. The choice is now kept, and a voice that is gone from the list is marked unavailable with a note on what to do.
Remaining quota is reported honestly. While the data is still being fetched you see "Checking remaining quota…" instead of a blank; on a connection failure the app says so and retries by itself.
Repeated channel status messages are no longer duplicated — instead of a run of identical lines you get one.
Updates and installation
An update no longer lands on top of a running app. Updating over a running app could previously run into files being in use. The app now closes itself before files are replaced — and it is exactly the one being updated that closes: other installations on the same computer, including a copy from Steam, are left untouched.
File verification and repair behave the same way. If verification found damaged files and you agreed to repair them, the app closes first. Verification without repair closes nothing.
Steam users can see the update centre. The menu item was hidden specifically for them, even though checking for updates manually did work.
No more "update to the same version" offers. A Steam installation did not know its own build number, so the app sometimes offered an update from nothing in particular.
Clear states in the update window. "You are on the latest version", "this channel has no releases", a malformed server response and an already-downloaded update are now each described plainly — the last one used to look like "you are up to date" and never installed.
Paid features and interface
Paid features no longer vanish without explanation. Notification services, some channel events and the neural voices simply disappeared from the settings on a free account — which looked like a malfunction. They are now shown greyed out, marked "in the paid version", with an explanation of what they do. Access to the features themselves is unchanged.
The tab describing the paid version opens again and explains what the subscription includes.
The chat window logo has its own switch now — it used to be tied to a different setting; the default behaviour is unchanged. The note about advertising is shown again to the people it is meant for.
Saving settings to a file always answers — on success and on failure, with a reason; a failure used to do nothing at all.
The interface font is no longer swapped out on a slow connection — on a weak connection some windows could be drawn in the wrong font.

Stability
A flood of error windows is now impossible. A single repeating error could open a dozen identical windows in a row, fill the log with hundreds of megabytes a minute and lock the machine up so hard that the app could only be killed. Identical errors now collapse into a single window with a clear restart button, and the log no longer grows without bound: repeats are folded together and the folder size is capped.
The first error of a session is kept separately. Even if a storm followed, the very first one — the one that started it all — stays in the log in full and reaches the support archive. That file used to be deleted on every log cleanup, so the mechanism did not actually work.
The app keeps writing its log even if system output goes away — that alone used to become a source of endless errors.
Settings and data
A channel from a discontinued platform survives saving. Such an entry could silently disappear on an ordinary "Apply" — along with the channel picked for polls and giveaways and the emoji-set settings.
Dropdowns no longer slide to the first value. If the saved option is gone from the list, the app no longer silently substitutes whatever comes first.
The widget header setting stopped toggling itself. A disabled header sometimes came back enabled after saving.
Outdated entries in the settings file are cleaned up on update, without getting in the way of anything new.


1.12.4 has been rolled out to all update channels at once — just launch sheepChat and it will offer the update itself. An update no longer lands on top of a running app: it closes itself neatly and comes back updated.

A reminder about the Steam update channels: Default — the stable version for everyone (currently 1.12.4); Beta — early testing (currently 1.12.4); Nightly — the freshest builds (currently 1.12.4). This time all three are the same.

How to switch: Steam → right-click sheepChat → Properties → Betas → pick a channel from the list.

Thank you for being with us! If something behaves oddly, let us know: we read every report, and a lot of this release grew straight out of yours.