Skip to content

LabLink 2.3.2

Latest

Choose a tag to compare

@X9X0 X9X0 released this 15 Sep 21:50
· 153 commits to main since this release

馃悰 Fixed

  • After a server update the client had to be restarted before equipment
    showed as connected.
    Refreshing waited on a single-flight guard: a boolean
    set before the request and cleared in a finally. qasync destroys pending
    tasks when the event loop is disturbed -- which a server update does by
    definition, since the server goes away mid-request -- and a task destroyed
    mid-await never runs its finally. The flag stayed set for the life of the
    process, so every later refresh returned at the guard and the list could
    never update again. The guard now records when the work started rather than
    that it is happening, and a slot still held long past any plausible round
    trip is taken anyway: the worst case is one overlapping refresh instead of a
    frozen panel. Applied to the equipment list, the Control tab's list, and the
    readings request, where a destroyed task would have stopped the numbers with
    nothing on screen to say why.