fix(network): raise the remaining short limits for slow links (1.0.5, versionCode 7) #28
Open
james.maes
wants to merge 1 commits from
fix/slow-link-timeouts into main
pull from: fix/slow-link-timeouts
merge into: QRun-IO:main
QRun-IO:main
QRun-IO:feat/session-user-activity
QRun-IO:feat/e2e-scan-base64-extra
QRun-IO:fix/signout-idp-session
QRun-IO:fix/metadata-load-timeout
QRun-IO:ci/release-gates
QRun-IO:fix/widget-icon-string-main
QRun-IO:fix/restore-main-tree
QRun-IO:fix/widget-icon-string
QRun-IO:release/scanner-1.0.2-notes
QRun-IO:release/scanner-1.0.2
QRun-IO:fix/refresh-device-versions
QRun-IO:fix/company-signout-before-session-end
QRun-IO:test/available-scanner-photo-policy
QRun-IO:feature/gs1-record-photos
QRun-IO:docs/scanner-preview-publication
QRun-IO:feature/mobile-scanner-host
QRun-IO:feature/echo-scanner-presentation
QRun-IO:ci/qrun-android-publisher-main-20261102
QRun-IO:ci-proof/cache-interface-20261102
QRun-IO:ci-proof/android-shared-20261102
QRun-IO:archive/qrun-github-cutover-20261101/c55d3002b0d9/feature/echo-scanner-presentation
QRun-IO:migration/github-cutoff-reconcile-20261101
QRun-IO:archive/qrun-github-cutover-20261101/625a275de334/feature/mobile-scanner-host
QRun-IO:feature/orb-0.8-track
QRun-IO:feature/orb-0.7.17
QRun-IO:feature/orb-0712-stable-gate
QRun-IO:fix/package-token-0710
QRun-IO:fix/shared-publisher-context
QRun-IO:fix/current-registry
QRun-IO:feature/central-ci
No Reviewers
Labels
Clear labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
This will not be worked on
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: QRun-IO/qqq-android#28
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why
1.0.4 gave the metadata load 60 seconds. Every other call still had a 5 second call limit or OkHttp's 10 second defaults, so a slow warehouse link can still fail at start-up ("Unable to check QQQ UI API compatibility"), at enrollment or on a process step. This prepares 1.0.5 (versionCode 7). It is not signed, tagged or published.
What changes
All limits now come from one set,
NetworkTimeouts(core), applied with two small builder helpers. Nothing else changes./qqq/v1/versionHostRuntime)Not touched: the 3 second coroutine bounds around sign-out, and the 30 second photo transfer limit in
RecordFilesApi.Trade-off to know about: on a link that goes silent without closing the connection, the footer can take up to 30 seconds (was 5) to show "Disconnected", and an ordinary call up to 30 seconds (was 10) to report failure.
Tests
NetworkTimeoutsTest(core): the constants, the helpers, and the connect, read, write and call limits of the version-discovery client and of the repository's ordinary, process and metadata clients.SlowLinkTimeoutsTest(scanner-host): the limits of the branding/reachability client, the device client, the heartbeat client and the best-effort client.NetworkQQQRepositoryTest: the test that pinned the 10 second default now expects an ordinary call to survive a server that answers after 12 seconds.Docs
CHANGELOG 1.0.5 candidate entry.
RELEASING.md,INSTALLATION.md,SESSION-STATE.mdandTODO.mdnow record the published 1.0.4 (scanner-v1.0.4) and the 1.0.5 release steps.Verification (local, at this commit)
Run on Windows with the Gradle wrapper, Java 21, at commit
b1912cf:node scripts/ci/check-source-standards.mjsnode --test scripts/ci/scanner-echo-guards.test.mjs./gradlew testDebugUnitTest :scanner-host:lintDebug :scanner-host:assembleDebug(CI line 1)./gradlew -PscannerTestBuildType=qa :scanner-host:assembleQa :scanner-host:assembleQaAndroidTest(CI line 2)./gradlew --no-daemon :scanner-host:lintRelease :scanner-host:assembleRelease -PscannerVersionName=1.0.5 -PscannerVersionCode=7F33DCB760191AB952DC79A201A6A5EBE173E31023C7BA8192BDCF21057D3DAFBconnectedDebugAndroidTest(CI emulator step)NoSuchMethodException: android.hardware.input.InputManager.getInstance, and the build stops there. Not compared againstmain. The hosted emulator step cannot run either until the runners get/dev/kvmNot done: no signing, no tag, no release, no device install.
🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.