the old bracket result wins if I release it last
JaneAdams0162 · 27 Jan 2026, 22:26 UTC
18 replies
We had a restart fault that vanished whenever somebody watched it. A small queue in the test let us release each saved event by hand. Much easier to hand over than a suggested delay that only worked on my laptop.
5pointsDoes your queue sit before the real handler? Mine currently bypasses it, which may be why the test looks better than the application
7pointsBefore it. We replaced the source of the events, not the code deciding what they meant.
23pointsWhat actually ties either result to its attempt, Jane? Holding them back won't help if the handler only gets a bracket name.
9pointsAlex, yes, and don't have the test quietly supply an identity the real message lacks. In an inherited application I supported, the fake had a lovely unique number which disappeared at the production boundary. We spent a meeting admiring a solution to a different interface. Jane, save the actual fields before building the queue. You can then say whether the failure is in matching a known attempt or in trying to match something the application cannot identify. Those lead to rather different changes
13pointsReal messages have a saved attempt reference. The handler ignores it when updating the big result tile. The history rows are attached correctly. Alex, it's worse than the bracket-name guess in a particularly boring way
15pointsSo does the tile alone change, or does anything consuming that tile also mark the job done?
18pointsCan you assert the history row, current tile and completion count independently in the same replay? A screenshot would miss a count changing behind a correctly labelled tile.
19pointsTile and count both change. Added Julia's three assertions to the queued replay; old-after-new fails two of them every run now
16pointsReproducibly bad is progress here.
4pointsWho owns the tile and count updates? Our two displays once had separate little fixes, then somebody combined them and brought the fault back.
13pointsSame maintainer, separate callbacks. They're moving both onto the saved attempt state. I asked for the old ordering test to stay, not be rewritten to suit the fix
10pointsInclude two deliveries of the current result as well. Correct ownership alone does not stop a repeated completion increasing its count twice.
16pointsThat caught another one. Current result was counted on each callback. Count now comes from completed attempts; duplicate-current and duplicate-old both pass
22pointsHas the correction survived closing and reopening the application, Jane? The saved rows were right already, so that boundary is worth keeping in the comparison
10pointsAnd reopen with an attempt still unfinished, not just a tidy table full of completed brackets.
7pointsBoth reopen cases pass. Installed replay through the application boundary also keeps the old result on its own row, current tile pending, count unchanged. Thanks, Aisha, the queue made this demonstrable rather than temperamental
10pointsGood. Put the saved event pair with the test name in the handover; the next maintainer can rerun the actual failure instead of trying to recreate your afternoon.
5pointsDiscussion closed
This discussion is closed to new replies after six months without activity. Last activity: .