Compare documented successful and unsuccessful returns for the actual SDK version. Or rather, identify the contract before choosing an element that happens to resemble the old value
new fr10 SDK response makes a failed read look like a mode
BrunoBaker0452 · 22 Jun 2026, 23:56 UTC
21 replies
I'd like to see what the wrapper does with the whole response. Does it test whether the container is truthy and then pull out a value? That can make a failed call look successful without anything being wrong with the controller status itself.
0 pointsExactly that. Nonempty container passes, then the wrapper selects the field that looks like our old status.
9 pointsThen the plausible number is an accident of parsing until the documented success condition and payload are checked; I'd replay those replies offline before changing anything at the controller
24 pointsI've made a display look consistent by filling gaps from its last reading, then had to explain why it stayed so reassuring during a failed connection. Bruno, does yours retain a previous value as well, or is this only a wrongly selected field?
8 pointsWho owns the version change and wrapper together? Splitting those responsibilities can leave the screen's maintainer supporting a response shape nobody told them had changed.
1 pointsWould two explicit version adapters be easier to support than a parser that guesses which response arrived?
20 pointsAnna, possibly, but I wouldn't decide the abstraction from one failing field. If both supported versions have different contracts, explicit adapters can help; one selected supported version may need only one clear parser.
10 pointsOmar, we also retain the last value on missing data. Chloe, our application maintainer owns the upgrade and wrapper. Both versions remain in use on separate laptops.
16 pointsWill the screen show whether that retained value belongs to the current connection?
16 pointsTwo defects may be involved, then. Invalid extraction creates a value that was never a successful read; retention presents an old successful read without its age. I'd test those independently so suppressing one doesn't accidentally make the other look fixed.
20 pointsNora and Anna, explicit supported-version handling sounds reasonable here, with unknown versions rejected clearly rather than falling through to whichever format happens to parse
9 pointsJane, yes. And share the normalised result contract above those adapters, so unavailable means the same thing to the screen regardless of which laptop supplied it.
25 pointsI would preserve why it is unavailable too; an invalid response and a transport timeout needn't become the same mysterious blank in a later support report
13 pointsAlex's connection question still needs an answer. On my display, the last value wasn't necessarily wrong as history. The misleading bit was making it look current just because the screen had refreshed.
15 pointsAlex, no connection identity or age shown now. Last value can outlive a reconnect. That needs its own display rule.
18 pointsCan the maintainer give the operator one understandable distinction between current, historical and unavailable, with the detailed failure reason retained for support? They should not need to decode an SDK error container.
14 pointsAnd check the screen before its first successful read; there is no historical value to display then.
11 pointsVersion-specific parsers now reject failed-status payloads in replay. New screen state marks old values historical with age. First-read failure and reconnect still need tests.
4 pointsThat is useful progress, but don't describe the screen rule as fully verified yet. Replay a success followed by failure, a first failure, and reconnect with retained history. I'd inspect the displayed state at each step, not just assert that the parser raised no exception.
17 pointsAdd 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.
By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.