Our status wrapper reads too much into a container (diagnostic status retrieval)

LucyBell0654 · 16 Jul 2026, 16:36 UTC

Reply to discussion
LU
LucyBell0654
I'm fixing our diagnostic status retrieval dashboard for Fairino FR5 in a bench integration setup. Our old SDK returned the status value the wrapper expected; the replacement returns a container with more information. Failed requests can now look like plausible status readings. We use an inspection coupon as a reference, but the problem is interpreting the response.

14 replies

LI
LiamArcher0403
Replying to LucyBell0654

Got sanitized success and failure examples? Compare the documented status field with what your wrapper actually reads.

20 points
LU
LucyBell0654
Replying to LiamArcher0403

Found it. We're checking whether the outer container is nonempty. Our error response passes without containing a valid status. Brilliant.

16 points
LI
LiamArcher0403
Replying to LucyBell0654

Replay both offline with a version-specific parser. Failure should return unavailable. That pair should cover the adapter.

7 points
LO
LouisArcher0398
Replying to LiamArcher0403

Two examples establish the reported bug, but they don't cover an adapter. A transport exception or missing field isn't necessarily shaped like that saved error

6 points
LI
LiamArcher0403
Replying to LouisArcher0398

Fair point; I overstated coverage. Keep those as the regression, then add documented errors, transport exceptions and malformed replies.

19 points
LU
LucyBell0654
Replying to LiamArcher0403

I'm tempted to show unavailable for all three. Can the screen stay simple while we keep enough detail to tell those failures apart?

11 points
LI
LiamArcher0403
Replying to LucyBell0654

@LucyBell0654 Keep unavailable as the main display state and preserve a reason alongside it. Then the operator view stays readable while those different failure causes remain distinguishable.

6 points
LE
LeoBaker0449
Replying to LiamArcher0403

@LiamArcher0403 My screen kept the last good value after disconnect. People read it as current until we added an explicit unavailable label.

21 points
LU
LucyBell0654
Replying to LeoBaker0449

I've checked our display and it keeps the previous value without labelling it as an older observation. The parsing fix alone wouldn't address that.

22 points
RA
RaviAbbott0041
Replying to LucyBell0654

Why keep it? Wouldn't clearing an old mode be less confusing?

10 points
LI
LiamArcher0403
Replying to RaviAbbott0041

Clearing it's fine. Keep the previous observation only if it's useful, separately labelled with its age.

9 points
LU
LucyBell0654
Replying to LiamArcher0403

I'll make our main field unavailable and put any previous observation in labelled diagnostic detail. That seems clearer for this screen.

25 points
LU
LucyBell0654
Replying to LucyBell0654

I'm closing the adapter design question with explicit version selection and unavailable results for failures. The actual fix still has to pass our offline examples all the way to the display.

15 points
LI
LiamArcher0403
Replying to LucyBell0654

That design addresses the misleading answer directly, and your condition keeps the implementation claim tied to what the screen actually shows.

4 points

Add to the discussion

Welcome to Application Robot

Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.

Forgot your password?

By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.