sillsdev / sillsdev/languageforge-lexbox

FwLite push listener doesn't recover after network loss / OS suspend; project-open can crash ('SendCoreAsync … not active')

Open
#2,331 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

💻 FW Lite
Dominant language
C#
Stars
9
Forks
8
Avg merge
2d 13h
Merged PRs (30d)
49

Description

After network turbulence or an OS-frozen app (Android Doze), FwLite''s SignalR push listener can end up dead-but-cached:

  • Opening a project intermittently fails with InvalidOperationException: The 'SendCoreAsync' method cannot be called if the connection is not active (seen in production logs; recurs after connectivity loss followed by a few minutes of idle).
  • More commonly the failure is silent: push notifications (auto-download of other users'' changes) stop and don''t recover until a manual sync or app restart. FwLiteWeb has no recovery trigger at all once the initial listener start fails. Likely overlaps the long-standing "auto-download stops" report (internal lb-8mg).

Log analysis of the crash: the cached HubConnection was stuck in Reconnecting (infinite retry, up to 60s between attempts); HTTP connectivity recovered before the next retry tick, so user actions raced ahead of the listener — the crash landed 76 ms after the first successful HTTP request post-outage. The same stuck state explains the silent variant.

Fixed by #2317 (signalr-retry-improvements-v2). Depends on the #2306 fix (#2308) landing first: the listener''s logout detection consumes auth state that was unreliable before it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the FwLite SignalR push listener and project-open path, then read the fixes in #2317 and its dependency chain through #2306/#2308. Done means the listener recovers after network loss or OS suspend, push notifications resume, and project opening no longer raises the inactive SendCoreAsync error.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
mobile-dev, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.