Skip to content

ZComms 0.1.12

Choose a tag to compare

@iamfatness iamfatness released this 02 Sep 21:23
· 28 commits to main since this release
cae8822

LATCH on an extern feed now works. So do the feed gain keys, the remove key, and every chip in EDIT TALENT — none of which had ever worked.

The panel rebuilt its buttons out from under your finger

The verbs were never at fault: POSTing feed latch 4 on straight at the control server logs feed CH 5 LATCHED and the feed latches. The panel was destroying the button between the press and the release.

renderFeeds() and the edit-talent list both did innerHTML='' and rebuilt every row on every state frame — ten times a second. A click is only synthesised when mousedown and mouseup land on the same element, and a human click takes 80–150 ms. The row was replaced mid-press, mouseup landed on a brand-new button occupying the same pixels, and no click ever fired. Not flaky — reliably dead, which is how it was reported.

Measured against a faithful reproduction at the real cadence: before, the button identity changed during a 120 ms press and zero actions fired; after, the element is stable across 106 rebuilds and the click emits feed latch 4 on. Feed rows now rebuild only when their structure changes and update the dot, gain and latch state in place; the talent list is gated on a roster/assignment signature. This is the pattern the desk grid always used — buildGrid() is signature-gated, which is the only reason talk keys work.

This revises v0.1.11's claim that assignment was "never broken, only hidden". Half right: the chips that were drawn could not be clicked either.

The desk grid no longer says READY to someone who cannot hear you

A person could render as two cells — one of them READY while nothing reached them. Reachable when someone assigned on the desktop app rejoins on web and IsSupportTalkback flips while the channel keeps their label. The channel cell now wins and wears the truth. Web-client cells read no talkback · web and carry the fix in the tooltip.

Diagnostics

The drop-not-block property that prevents the v0.1.10 hang is now pinned by a test that wedges a consumer forever and asserts 100k pushes still return — mutation-verified by making the enqueue blocking and watching the suite wedge. Log rotation's wrap is proven end-to-end, and fixed a note that pointed at a part number which never exists. The heartbeat was in-meeting-only, so the join card — exactly where v0.1.10 hung — logged nothing; it is app-lifetime now, and a wedged console reports how many lines it dropped.

93 tests, green.

Install

ZComms-Setup-0.1.12.exe — per-user, no UAC. Zoom SDK ships inside. Still unsigned; SmartScreen will warn.

Full changelog: v0.1.11...v0.1.12