-
-
Notifications
You must be signed in to change notification settings - Fork 2
Prevent duplicate startup work scheduling #217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevent duplicate startup work scheduling #217
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Codex Review: Here are some suggestions.
Reply with @codex fix comments to fix any unresolved comments.
About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you open a pull request for review, mark a draft as ready, or comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex fix this CI failure" or "@codex address that feedback".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P1] Guard boolean before enqueue causes permanent skip on failure
The new HAS_SCHEDULED.compareAndSet(false, true) runs before WorkManager.getInstance(context).enqueueUniqueWork(...). If getInstance throws (e.g. WorkManager not yet initialized in this process, a documented possibility) the method exits with the flag stuck at true. Subsequent retries in the same process will return immediately without scheduling the startup work, so initialization never happens. Consider setting the flag only after the enqueue succeeds or resetting it in a catch block to preserve retry behaviour when the first attempt fails.
Useful? React with 👍 / 👎.
d557c4b
into
main
Summary
StartupInitializer.scheduleso startup work only enqueues once per app launchTesting
https://chatgpt.com/codex/tasks/task_e_68c976429144832d99e05802da6b1aec