After the recent change to presence management code Spark is setting priority to -2 when going Idle. Which results in messages being stored as offline, until the client goes Online again. Although the client is technically online (just Away for a long time). E.g. a user might be away and then disconnect his laptop and go to other place without connecting to the network and in this case he won't see latest messages, which should be received while he was away.