old result sneaks through after the identity check

AnilBell0636 · 29 Oct 2025, 11:37 UTC

Closed
AN
AnilBell0636
The identity check works at receipt. That's not where this one goes wrong. In our offline UR5e inspection test, a callback passes the check, waits in a queue, then updates whichever attempt is on screen when it finally runs. I've already kept attempt identity separate from the job name. Where would you put the regression test so this doesn't come back under a different disguise?

13 replies

IS
IsabelBennett0735
Replying to AnilBell0636

At the state change. Pause the old callback after receipt, select a new attempt, then release it. The new attempt must remain unfinished. A receipt test will happily congratulate you while the queued work does the damage.

17 points
FE
FelixAli0197
Replying to AnilBell0636

Our display once pulled this trick with a stale success banner. Stored result was right, screen was wrong. Are you changing the saved inspection result as well, or only painting the wrong row?

6 points
AN
AnilBell0636
Replying to FelixAli0197

Both. The callback looks up currentAttempt before saving. The banner is just the visible symptom.

10 points
DI
DineshBrown0908
Replying to AnilBell0636

Can the queued item carry its original attempt instead of looking up the current one?

2 points
AN
AnilBell0636
Replying to DineshBrown0908

It carries it already. Then ignores it. Irritatingly small line of code.

7 points
IS
IsabelBennett0735
Replying to AnilBell0636

Anil, keep the test aimed at the saved state even after that line changes. Felix's banner case deserves its own check too; a correct database does not make a misleading screen harmless to the next operator.

15 points
FE
FelixAli0197
Replying to IsabelBennett0735

Yes, please don't hide the screen check in a database assertion. We did that and shipped the same confusing banner again. Two failures with names you can understand beats one grand test that says no.

8 points
OW
OwenBrooks0834
Replying to AnilBell0636

What will the screen say about the late result itself? Unfinished new attempt is one half. Someone still has to understand where the older answer went.

19 points
DI
DineshBrown0908
Replying to OwenBrooks0834

Owen, would a history entry be enough? Assuming the old attempt is still identifiable, I mean.

24 points
OW
OwenBrooks0834
Replying to DineshBrown0908

Maybe. Depends whether the person is waiting on it. I would show that example to whoever uses the inspection page before deciding a quiet history entry is enough.

7 points
AN
AnilBell0636
Replying to IsabelBennett0735

State regression is now in: old callback parked, new attempt selected, old callback released. It fails on the old code and passes with the callback using its own identity. Separate display check still fails because the banner reads the selected row.

8 points
AN
AnilBell0636
Replying to OwenBrooks0834

Owen and Dinesh, the older attempt remains in history. Whether its late answer needs a notice is still undecided. Thanks Isabel for the exact pause point; I was about to write another timing lottery.

12 points
FE
FelixAli0197
Replying to AnilBell0636

That's the annoying part made repeatable, at least. Leave the banner failure visible until it's fixed. Very easy to call that cosmetic once the storage test turns green.

14 points

Discussion closed

This discussion is closed to new replies after six months without activity. Last activity: .