ADFA-5155 feat(clone): wait for services before Home on receive success - #417
Merged
luisguzman-adfa merged 2 commits intoAug 15, 2026
Merged
Conversation
luisguzman-adfa
deleted the
fix/ADFA-5155-clone-receive-wait-for-services
branch
August 15, 2026 18:37
Replace the fixed-3s redirect after a successful receive with a readiness wait, so a slow boot never lands on a dead Home and a timer never condemns a good transfer. On success, releaseCloneEnv boots the environment and a background apiReady poll starts (the SetupProgressActivity pattern). A "Copy complete" pop-up confirms; OK does not navigate — it lands on receive step 2, where a status band shows the phase: "Starting services…" → (if slow, ~30s) a non-destructive "Rescan from the other phone" / "Keep waiting" offer → once apiReady answers, an "Opening your library in 3s…" countdown → the library. Redirect fires only once services are truly up (acknowledged AND ready); no timeout ever routes to recovery. Poll and countdown are torn down in onDestroyView, on rescan, and on manual exit. Adds four exit-status strings (base + 33 locales); reuses the existing starting-service and copy-complete strings. Drops the old receiveExiting fixed-timer redirect.
Replace the fixed-3s redirect after a successful receive with a readiness
wait, so a slow boot never lands on a dead Home and a timer never condemns a
good transfer.
On success, releaseCloneEnv boots the environment and a background apiReady
poll starts (the SetupProgressActivity pattern). A "Copy complete" pop-up
confirms; OK does not navigate — it lands on receive step 2, where a status
band shows the phase: "Starting services…" → (if slow, ~30s) a non-destructive
"Rescan from the other phone" / "Keep waiting" offer → once apiReady answers,
an "Opening your library in 3s…" countdown → the library. Redirect fires only
once services are truly up (acknowledged AND ready); no timeout ever routes to
recovery. Poll and countdown are torn down in onDestroyView, on rescan, and on
manual exit.
Adds four exit-status strings (base + 33 locales); reuses the existing
starting-service and copy-complete strings. Drops the old receiveExiting
fixed-timer redirect.
Also removes a design-leftover subcaption on the Send/Copy page ("The copy
begins when they scan this one.") and its now-unused string in every locale.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace the fixed-3s redirect after a successful receive with a readiness wait, so a slow boot never lands on a dead Home and a timer never condemns a good transfer.
On success, releaseCloneEnv boots the environment and a background apiReady poll starts (the SetupProgressActivity pattern). A "Copy complete" pop-up confirms; OK does not navigate — it lands on receive step 2, where a status band shows the phase: "Starting services…" → (if slow, ~30s) a non-destructive "Rescan from the other phone" / "Keep waiting" offer → once apiReady answers, an "Opening your library in 3s…" countdown → the library. Redirect fires only once services are truly up (acknowledged AND ready); no timeout ever routes to recovery. Poll and countdown are torn down in onDestroyView, on rescan, and on manual exit.
Adds four exit-status strings (base + 33 locales); reuses the existing starting-service and copy-complete strings. Drops the old receiveExiting fixed-timer redirect.