urbit/pkg/arvo/sys/vane
Philip Monk 2140e07a99
gall: properly track remote acknowledgments
outstanding.agents.state is a queue of what sort of message we sent to a
foreign app.  We use it so that when the acknowledgment comes back we
know whether to treat it as a watch-ack, poke-ack, or neither.  We used
to put this info in the wire, but this gave us a different ames flow,
which meant %leave and %watch didn't get associated (causing #2079).

The error was that when when retrieving the item from the queue, we put
the new 1-item-shorter queue back in outstanding.agents.state at a
different wire than it came from, so the queues never actually got
shorter, and acknowledgments of the wrong sort were commonly produced.
This caused problems mainly in situations where we poke and peer on the
same wire, and possibly when a subscription was cancelled.

Possibly related to #2206 and #2176.  I would expect this bug to cause
those issues, but I haven't verified the converse.  Also possibly
related to #2153 and #2079.
2020-02-13 15:12:07 -08:00
..
ames.hoon ames: make routing simpler 2020-02-10 17:49:18 -08:00
behn.hoon /sys: use +harden on vane tasks 2020-01-27 09:53:53 +04:00
clay.hoon /sys: use +harden on vane tasks 2020-01-27 09:53:53 +04:00
dill.hoon /sys: use +harden on vane tasks 2020-01-27 09:53:53 +04:00
eyre.hoon /sys: use +harden on vane tasks 2020-01-27 09:53:53 +04:00
ford.hoon ford: ignore spurious clay responses 2020-01-29 15:11:36 +04:00
gall.hoon gall: properly track remote acknowledgments 2020-02-13 15:12:07 -08:00
iris.hoon /sys: use +harden on vane tasks 2020-01-27 09:53:53 +04:00
jael.hoon /sys: use +harden on vane tasks 2020-01-27 09:53:53 +04:00