Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Assets/Plugins/StreamChat/Changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Features:

Fixes:

* Fix the 30-day staleness guard on the reconnect /sync catch-up computing its age backwards (lastEventReceivedAt - now, which is negative for any past timestamp), so the guard never fired and /sync was called even with a LastSyncAt the server rejects. Also removes a dead local that was almost certainly the intended operand.
* TaskUtils.LogIfFailed now logs connectivity/transport failures as warnings instead of errors/exceptions. The SDK fire-and-forgets its connect, reconnect, and state-restore operations through LogIfFailed; when the device is offline these fail with HttpRequestException / WebException / SocketException / IOException / TimeoutException, which the reconnect flow recovers from - so surfacing them at error severity flooded crash/error reporting (Sentry, Bugsnag, etc.) with handled, non-actionable noise. Genuine (non-connectivity) failures still log as exceptions. Complements the connection-attempt-timeout fix from PR #213.

v5.5.0:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -445,10 +445,10 @@ public async Task FetchAndProcessEventsSinceLastReceivedEvent(IEnumerable<string

var lastEventReceivedAt = _disconnectionLastEventReceivedAt.Value;

var currentServerTime = DateTimeOffset.UtcNow.ToOffset(lastEventReceivedAt.Offset);

// Check if less than 30 days
var diff = lastEventReceivedAt - _timeService.Now;
// Check if less than 30 days. Past that the server rejects LastSyncAt, so this only
// skips a request that was certain to fail — it is not a recovery path. The SDK has no
// re-hydrate fallback of its own, so bridging a gap this large is the consumer's job.
TimeSpan diff = _timeService.Now - lastEventReceivedAt;
if (diff.TotalDays > 30)
{
return;
Expand Down
Loading