Catch up on merges the bus announced and never handed over (hq issue 266)

The controller acted only on what its events consumer handed it, so a merge
the bus skipped left modules behind with nothing said. The stream is now read
back every five minutes on a single-filter consumer, and any merge that would
still move a module after ten minutes is said and acted on.
This commit is contained in:
jochen
2026-10-06 01:29:21 +02:00
parent ede9bce6ef
commit 59f4d486b1
5 changed files with 451 additions and 28 deletions
+3
View File
@@ -127,6 +127,9 @@ func serve(ctx context.Context) error {
if err := server.Follows(following{open}); err != nil {
return err
}
// And the merges the bus announced and never handed over, read back on a timer and acted on late
// rather than never (novox/hq issue 266).
go catchingUpOnMerges(ctx, open, server)
// And a catalogue that has just started, asking for what it missed. The same type answers
// both: what a build meant and what the builds were are two questions about one record.
if err := server.Answers(following{open}); err != nil {