Skip to content

fix: do not save queueFlushedData on failed responses #96059

Description

@mountiny

Problem

SequentialQueue's process() function commits queueFlushedData (which writes HAS_LOADED_APP to Onyx) whenever a queued request resolves, regardless of the response's jsonCode. Because HttpUtils.xhr resolves application-level failures instead of rejecting them, a failed-but-resolved OpenApp or ReconnectApp request still committed HAS_LOADED_APP: true. Once that happens, the next app boot runs ReconnectApp only and can no longer retry a full OpenApp to recover from a stuck loading state.

Solution

Gate queueFlushedData commits in SequentialQueue.process() so they only run when the response's jsonCode is CONST.JSON_CODE.SUCCESS. A failed-but-resolved request no longer marks the app as loaded, preserving self-healing on the next boot. Added unit tests and updated SEQUENTIAL_QUEUE.md to document the behavior.

PR

#96041

Issue OwnerCurrent Issue Owner: @BartekObudzinski

Metadata

Metadata

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions